diff options
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | blurb | 13 | ||||
-rw-r--r-- | data/README | 7 | ||||
-rwxr-xr-x | data/fcvt | 2 | ||||
-rw-r--r-- | data/fcvt.awk | 94 | ||||
-rw-r--r-- | data/fontdefs.ld | 1040 | ||||
-rw-r--r-- | data/latin2.ld | 1056 | ||||
-rw-r--r-- | data/standard.ld | 60 | ||||
-rw-r--r-- | doc/design/README | 2 | ||||
-rw-r--r-- | doc/design/outfile.ps | 3466 | ||||
-rw-r--r-- | doc/expert/README | 2 | ||||
-rw-r--r-- | doc/expert/all | 4 | ||||
-rw-r--r-- | doc/expert/outfile.ps | 12782 | ||||
-rw-r--r-- | doc/expert/pre_font | 90 | ||||
-rw-r--r-- | doc/expert/pre_head | 22 | ||||
-rw-r--r-- | doc/expert/pre_incl | 4 | ||||
-rw-r--r-- | doc/expert/preface | 6 | ||||
-rw-r--r-- | doc/slides/README | 2 | ||||
-rw-r--r-- | doc/slides/outfile.ps | 1356 | ||||
-rw-r--r-- | doc/user/README | 2 | ||||
-rw-r--r-- | doc/user/all | 4 | ||||
-rw-r--r-- | doc/user/bas_lang | 19 | ||||
-rw-r--r-- | doc/user/fmt_head | 8 | ||||
-rw-r--r-- | doc/user/fmt_marg | 30 | ||||
-rw-r--r-- | doc/user/fmt_setu | 9 | ||||
-rw-r--r-- | doc/user/letterbook | 2 | ||||
-rw-r--r-- | doc/user/preface | 12 | ||||
-rw-r--r-- | doc/user/prg | 3 | ||||
-rw-r--r-- | doc/user/prg_chan | 28 | ||||
-rw-r--r-- | doc/user/prg_comm | 6 | ||||
-rw-r--r-- | doc/user/prg_erro | 2 | ||||
-rw-r--r-- | doc/user/prg_form | 54 | ||||
-rw-r--r-- | doc/user/prg_lone | 4 | ||||
-rw-r--r-- | doc/user/prg_opti | 5 | ||||
-rw-r--r-- | doc/user/prg_perl | 62 | ||||
-rw-r--r-- | doc/user/prg_pipe | 6 | ||||
-rw-r--r-- | doc/user/prg_prog | 4 | ||||
-rw-r--r-- | doc/user/prg_tabs | 14 | ||||
-rw-r--r-- | doc/user/str_marg | 26 | ||||
-rw-r--r-- | doc/user/tbl_intr | 7 | ||||
-rw-r--r-- | doc/user/typ_repo | 10 | ||||
-rw-r--r-- | doc/user/user.ps | 2234 | ||||
-rw-r--r-- | doc/user/vprg | 2 | ||||
-rw-r--r-- | externs.h | 119 | ||||
-rw-r--r-- | font/00README | 20 | ||||
-rw-r--r-- | font/AG-Bd+ | 44 | ||||
-rw-r--r-- | font/AG-BdO+ | 44 | ||||
-rw-r--r-- | font/AG-Bk+ | 44 | ||||
-rw-r--r-- | font/AG-BkO+ | 44 | ||||
-rw-r--r-- | font/AG-CnBd+ | 44 | ||||
-rw-r--r-- | font/AG-CnBk+ | 44 | ||||
-rw-r--r-- | font/AG-CnDm+ | 44 | ||||
-rw-r--r-- | font/AG-CnMd+ | 44 | ||||
-rw-r--r-- | font/AG-Dm+ | 44 | ||||
-rw-r--r-- | font/AG-DmO+ | 44 | ||||
-rw-r--r-- | font/AG-ExLt+ | 44 | ||||
-rw-r--r-- | font/AG-ExLtO+ | 44 | ||||
-rw-r--r-- | font/AG-Md+ | 44 | ||||
-rw-r--r-- | font/AG-MdO+ | 44 | ||||
-rw-r--r-- | font/Bk-Bd+ | 44 | ||||
-rw-r--r-- | font/Bk-BdIt+ | 44 | ||||
-rw-r--r-- | font/Bk-Dm+ | 44 | ||||
-rw-r--r-- | font/Bk-DmIt+ | 44 | ||||
-rw-r--r-- | font/Bk-Lt+ | 44 | ||||
-rw-r--r-- | font/Bk-LtIt+ | 44 | ||||
-rw-r--r-- | font/Bk-Md+ | 44 | ||||
-rw-r--r-- | font/Bk-MdIt+ | 44 | ||||
-rw-r--r-- | font/Cr+ | 44 | ||||
-rw-r--r-- | font/Cr-Bd+ | 44 | ||||
-rw-r--r-- | font/Cr-BdO+ | 44 | ||||
-rw-r--r-- | font/Cr-O+ | 44 | ||||
-rw-r--r-- | font/He+ | 44 | ||||
-rw-r--r-- | font/He-Bd+ | 44 | ||||
-rw-r--r-- | font/He-BdO+ | 44 | ||||
-rw-r--r-- | font/He-Bl+ | 44 | ||||
-rw-r--r-- | font/He-BlO+ | 44 | ||||
-rw-r--r-- | font/He-Cm+ | 44 | ||||
-rw-r--r-- | font/He-Cn+ | 44 | ||||
-rw-r--r-- | font/He-CnBd+ | 44 | ||||
-rw-r--r-- | font/He-CnBdO+ | 44 | ||||
-rw-r--r-- | font/He-CnBl+ | 44 | ||||
-rw-r--r-- | font/He-CnBlO+ | 44 | ||||
-rw-r--r-- | font/He-CnLi+ | 44 | ||||
-rw-r--r-- | font/He-CnLiO+ | 44 | ||||
-rw-r--r-- | font/He-CnO+ | 44 | ||||
-rw-r--r-- | font/He-ExtC+ | 44 | ||||
-rw-r--r-- | font/He-Lt+ | 44 | ||||
-rw-r--r-- | font/He-LtO+ | 44 | ||||
-rw-r--r-- | font/He-Nr+ | 44 | ||||
-rw-r--r-- | font/He-NrBd+ | 44 | ||||
-rw-r--r-- | font/He-NrBdO+ | 44 | ||||
-rw-r--r-- | font/He-NrO+ | 44 | ||||
-rw-r--r-- | font/He-O+ | 44 | ||||
-rw-r--r-- | font/He-UlCm+ | 44 | ||||
-rw-r--r-- | font/NCS-Bd+ | 44 | ||||
-rw-r--r-- | font/NCS-BdIt+ | 44 | ||||
-rw-r--r-- | font/NCS-It+ | 44 | ||||
-rw-r--r-- | font/NCS-Rm+ | 44 | ||||
-rw-r--r-- | font/Pa-Bd+ | 44 | ||||
-rw-r--r-- | font/Pa-BdF+ | 44 | ||||
-rw-r--r-- | font/Pa-BdIt+ | 44 | ||||
-rw-r--r-- | font/Pa-BdItF+ | 44 | ||||
-rw-r--r-- | font/Pa-It+ | 44 | ||||
-rw-r--r-- | font/Pa-ItF+ | 44 | ||||
-rw-r--r-- | font/Pa-Rm+ | 44 | ||||
-rw-r--r-- | font/Pa-SC+ | 44 | ||||
-rw-r--r-- | font/Ti-Bd+ | 44 | ||||
-rw-r--r-- | font/Ti-BdIt+ | 44 | ||||
-rw-r--r-- | font/Ti-BdItF+ | 44 | ||||
-rw-r--r-- | font/Ti-BdSC+ | 44 | ||||
-rw-r--r-- | font/Ti-ExBd+ | 44 | ||||
-rw-r--r-- | font/Ti-It+ | 44 | ||||
-rw-r--r-- | font/Ti-ItF+ | 44 | ||||
-rw-r--r-- | font/Ti-Rm+ | 44 | ||||
-rw-r--r-- | font/Ti-RmSC+ | 44 | ||||
-rw-r--r-- | font/Ti-Sm+ | 44 | ||||
-rw-r--r-- | font/Ti-SmIt+ | 44 | ||||
-rw-r--r-- | font/ZC-Bd+ | 44 | ||||
-rw-r--r-- | font/ZC-Dm+ | 44 | ||||
-rw-r--r-- | font/ZC-It+ | 44 | ||||
-rw-r--r-- | font/ZC-Lt+ | 44 | ||||
-rw-r--r-- | font/ZC-LtIt+ | 44 | ||||
-rw-r--r-- | font/ZC-MdIt+ | 44 | ||||
-rw-r--r-- | font/ZC-Rm+ | 44 | ||||
-rw-r--r-- | hyph/README | 4 | ||||
-rw-r--r-- | include/README | 1 | ||||
-rw-r--r-- | include/blue | 9 | ||||
-rw-r--r-- | include/bluef | 50 | ||||
-rw-r--r-- | include/book | 7 | ||||
-rw-r--r-- | include/cprint | 11 | ||||
-rw-r--r-- | include/cprintf | 50 | ||||
-rw-r--r-- | include/doc | 7 | ||||
-rw-r--r-- | include/dsf | 178 | ||||
-rw-r--r-- | include/eiffel | 7 | ||||
-rw-r--r-- | include/eiffelf | 46 | ||||
-rw-r--r-- | include/init | 3 | ||||
-rw-r--r-- | include/latin2 | 2 | ||||
-rw-r--r-- | include/old.fd (renamed from include/fontdefs) | 0 | ||||
-rw-r--r-- | include/perl | 29 | ||||
-rw-r--r-- | include/perlf | 50 | ||||
-rw-r--r-- | include/picture | 7 | ||||
-rw-r--r-- | include/pod | 16 | ||||
-rw-r--r-- | include/podf | 51 | ||||
-rw-r--r-- | include/report | 9 | ||||
-rw-r--r-- | include/reportf | 2 | ||||
-rw-r--r-- | include/slides | 7 | ||||
-rw-r--r-- | include/tblf | 20 | ||||
-rw-r--r-- | include/ts | 3 | ||||
-rw-r--r-- | makefile | 29 | ||||
-rw-r--r-- | man/prg2lout.1 | 6 | ||||
-rw-r--r-- | man/prg2lout.txt | 6 | ||||
-rw-r--r-- | prg2lout.c | 1460 | ||||
-rw-r--r-- | software/lout.russian | 2 | ||||
-rw-r--r-- | whatsnew | 23 | ||||
-rw-r--r-- | z01.c | 12 | ||||
-rw-r--r-- | z02.c | 2 | ||||
-rw-r--r-- | z03.c | 2 | ||||
-rw-r--r-- | z04.c | 2 | ||||
-rw-r--r-- | z05.c | 60 | ||||
-rw-r--r-- | z06.c | 4 | ||||
-rw-r--r-- | z07.c | 2 | ||||
-rw-r--r-- | z08.c | 2 | ||||
-rw-r--r-- | z09.c | 2 | ||||
-rw-r--r-- | z10.c | 8 | ||||
-rw-r--r-- | z11.c | 2 | ||||
-rw-r--r-- | z12.c | 45 | ||||
-rw-r--r-- | z13.c | 50 | ||||
-rw-r--r-- | z14.c | 2 | ||||
-rw-r--r-- | z15.c | 2 | ||||
-rw-r--r-- | z16.c | 2 | ||||
-rw-r--r-- | z17.c | 2 | ||||
-rw-r--r-- | z18.c | 2 | ||||
-rw-r--r-- | z19.c | 2 | ||||
-rw-r--r-- | z20.c | 2 | ||||
-rw-r--r-- | z21.c | 31 | ||||
-rw-r--r-- | z22.c | 4 | ||||
-rw-r--r-- | z23.c | 4 | ||||
-rw-r--r-- | z24.c | 154 | ||||
-rw-r--r-- | z25.c | 2 | ||||
-rw-r--r-- | z26.c | 2 | ||||
-rw-r--r-- | z27.c | 2 | ||||
-rw-r--r-- | z28.c | 2 | ||||
-rw-r--r-- | z29.c | 70 | ||||
-rw-r--r-- | z30.c | 2 | ||||
-rw-r--r-- | z31.c | 3 | ||||
-rw-r--r-- | z32.c | 2 | ||||
-rw-r--r-- | z33.c | 12 | ||||
-rw-r--r-- | z34.c | 2 | ||||
-rw-r--r-- | z35.c | 2 | ||||
-rw-r--r-- | z36.c | 2 | ||||
-rw-r--r-- | z37.c | 1398 | ||||
-rw-r--r-- | z38.c | 107 | ||||
-rw-r--r-- | z39.c | 22 | ||||
-rw-r--r-- | z40.c | 15 | ||||
-rw-r--r-- | z41.c | 2 | ||||
-rw-r--r-- | z42.c | 2 | ||||
-rw-r--r-- | z43.c | 2 | ||||
-rw-r--r-- | z44.c | 2 | ||||
-rw-r--r-- | z45.c | 2 | ||||
-rw-r--r-- | z46.c | 2 | ||||
-rw-r--r-- | z47.c | 8 | ||||
-rw-r--r-- | z48.c | 2 |
202 files changed, 20731 insertions, 9609 deletions
@@ -1,4 +1,4 @@ -THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.19) +THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) BASSER LOUT VERSION 3 COPYRIGHT (C) 1994, 2000 Jeffrey H. Kingston Jeffrey H. Kingston @@ -1,7 +1,7 @@ - THE LOUT DOCUMENT FORMATTING SYSTEM, VERSION 3.20 + THE LOUT DOCUMENT FORMATTING SYSTEM, VERSION 3.21 -Version 3.20 of the Lout document formatting system is now available +Version 3.21 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. @@ -21,9 +21,9 @@ 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: - ftp://ftp.cs.usyd.edu.au/jeff/lout/lout-3.20.tar.gz + ftp://ftp.cs.usyd.edu.au/jeff/lout/lout-3.21.tar.gz -In other words, in a gzipped tar file called "lout-3.20.tar.gz" in the +In other words, in a gzipped tar file called "lout-3.21.tar.gz" in the "jeff/lout" subdirectory of the home directory of "ftp ftp.cs.usyd.edu.au" with login name "ftp" or "anonymous" using any non-empty password. The distribution contains @@ -33,7 +33,8 @@ distribution contains * Standard library packages of definitions for ordinary documents, technical reports, books, overhead transparencies, stand-alone illustrations, plain text documents, equations, tables, diagrams, - graphs, C and C++ program formatting, and Pascal + graphs, program formatting (C, C++, Eiffel, Blue, Perl, Pod, Pascal, + and Modula - other languages are easy to add) * Complete documentation for all these features consisting of a User's Guide plus an Expert's Guide @@ -43,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.cs.usyd.edu.au/jeff/lout/lout-3.20.user.ps.gz + ftp://ftp.cs.usyd.edu.au/jeff/lout/lout-3.21.user.ps.gz Lout was designed and implemented by Jeffrey H. Kingston (jeff@cs.usyd.edu.au) of the Basser Department of Computer Science at the University of Sydney. diff --git a/data/README b/data/README index c498f16..1aa70e2 100644 --- a/data/README +++ b/data/README @@ -2,6 +2,8 @@ Directory lout/data This directory contains Lout database files: + fontdefs.ld Font database + latin2.ld Latin2 font database loutrefs.ld References used in the Lout documentation oldrefs.ld More references used in the Lout documentation refstyle.ld Standard reference printing styles @@ -10,5 +12,8 @@ This directory contains Lout database files: Corresponding .li files will be created during the initializing "lout -x" run, or else the first time each database is accessed. +There are also two files, fcvt and fcvt.awk, which are useful for +converting old fontdefs files into new font database files. + Jeffrey H. Kingston -9 March 2000 +10 May 2000 diff --git a/data/fcvt b/data/fcvt new file mode 100755 index 0000000..10b8b07 --- /dev/null +++ b/data/fcvt @@ -0,0 +1,2 @@ +( echo NO_EXTRAS; cat ../include/old.fd ) | awk -f fcvt.awk > fontdefs.ld +( echo EXTRAS; cat ../include/latin2.fd ) | awk -f fcvt.awk > latin2.ld diff --git a/data/fcvt.awk b/data/fcvt.awk new file mode 100644 index 0000000..bb39390 --- /dev/null +++ b/data/fcvt.awk @@ -0,0 +1,94 @@ +# convert old fontdefs file to new font database +NR==1 { +print "###########################################################################" +print "# #" + + # first line must be either EXTRAS or NO_EXTRAS + if( $0 == "EXTRAS" ) + { +print "# Font definitions database (created by fcvt, with @ExtraMetrics) #" + extra_metrics = 1 + } + else if( $0 == "NO_EXTRAS" ) + { +print "# Font definitions database (created by fcvt, without @ExtraMetrics) #" + extra_metrics = 0 + } + else + { +print "# Font definitions database ERRONEOUS FIRST LINE NEEDS INVESTIGATION #" + } +print "# #" +print "# Each entry defines one font. The fields and their meanings are: #" +print "# #" +print "# Name Compulsory Meaning #" +print "# --------------------------------------------------------------- #" +print "# @Tag Yes Must equal @Family-@Face #" +print "# @Family Yes Font family name #" +print "# @Face Yes Font face name #" +print "# @Name Yes PostScript name as in @Metrics file #" +print "# @Metrics Yes Adobe font metrics file of this font #" +print "# @ExtraMetrics No Extra metrics #" +print "# @Mapping Yes .LCM (Lout Character Mapping) file #" +print "# @Recode No Recode or not (Yes or No, default Yes) #" +print "# #" +print "# Jeffrey H. Kingston #" +print "# 6 May 20000 #" +print "# #" +print "###########################################################################" + } + +$0~/^#/ { + # comment line, skip it + next; + } + + { + # a real line + # can't get split to work, so using this + j = 1 + for(i = 1; i < NF; i++ ) + { + if( $1 != "" ) + { + field[j++] = $i + } + } + + # now print the lot + if( j == 1 ) + { + # empty line, echo it + print "" + } + else if( j != 9 ) + { + print "# error, " j " fields: " $0 + } + else + { + family = field[2] + face = field[3] + name = field[5] + afmfile = field[6] + lcmfile = field[7] + recode = field[8] + if( used[family "-" face] == "" ) + { + used[family "-" face] = "used" + print "{ @FontDef" + print " @Tag { " family "-" face " }" + print " @Family { " family " }" + print " @Face { " face " }" + print " @Name { " name " }" + print " @Metrics { " afmfile " }" + if( extra_metrics == 1 ) + print " @ExtraMetrics { " afmfile "+ }" + print " @Mapping { " lcmfile " }" + if( recode == "NoRecode" ) + print " @Recode { No }" + print "}" + print "" + } + } + } diff --git a/data/fontdefs.ld b/data/fontdefs.ld new file mode 100644 index 0000000..415341e --- /dev/null +++ b/data/fontdefs.ld @@ -0,0 +1,1040 @@ +########################################################################### +# # +# Font definitions database (created by fcvt, without @ExtraMetrics) # +# # +# Each entry defines one font. The fields and their meanings are: # +# # +# Name Compulsory Meaning # +# --------------------------------------------------------------- # +# @Tag Yes Must equal @Family-@Face # +# @Family Yes Font family name # +# @Face Yes Font face name # +# @Name Yes PostScript name as in @Metrics file # +# @Metrics Yes Adobe font metrics file of this font # +# @ExtraMetrics No Extra metrics # +# @Mapping Yes .LCM (Lout Character Mapping) file # +# @Recode No Recode or not (Yes or No, default Yes) # +# # +# Jeffrey H. Kingston # +# 6 May 20000 # +# # +########################################################################### + + + +{ @FontDef + @Tag { AvantGarde-Base } + @Family { AvantGarde } + @Face { Base } + @Name { AvantGarde-Medium } + @Metrics { AG-Md } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-Slope } + @Family { AvantGarde } + @Face { Slope } + @Name { AvantGarde-MediumObl } + @Metrics { AG-MdO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-Bold } + @Family { AvantGarde } + @Face { Bold } + @Name { AvantGarde-Bold } + @Metrics { AG-Bd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-BoldSlope } + @Family { AvantGarde } + @Face { BoldSlope } + @Name { AvantGarde-BoldObl } + @Metrics { AG-BdO } + @Mapping { LtLatin1.LCM } +} + + +{ @FontDef + @Tag { AvantGarde-BoldObl } + @Family { AvantGarde } + @Face { BoldObl } + @Name { AvantGarde-BoldObl } + @Metrics { AG-BdO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-Book } + @Family { AvantGarde } + @Face { Book } + @Name { AvantGarde-Book } + @Metrics { AG-Bk } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-BookOblique } + @Family { AvantGarde } + @Face { BookOblique } + @Name { AvantGarde-BookOblique } + @Metrics { AG-BkO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-CondBold } + @Family { AvantGarde } + @Face { CondBold } + @Name { AvantGarde-CondBold } + @Metrics { AG-CnBd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-CondBook } + @Family { AvantGarde } + @Face { CondBook } + @Name { AvantGarde-CondBook } + @Metrics { AG-CnBk } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-CondDemi } + @Family { AvantGarde } + @Face { CondDemi } + @Name { AvantGarde-CondDemi } + @Metrics { AG-CnDm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-CondMedium } + @Family { AvantGarde } + @Face { CondMedium } + @Name { AvantGarde-CondMedium } + @Metrics { AG-CnMd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-Demi } + @Family { AvantGarde } + @Face { Demi } + @Name { AvantGarde-Demi } + @Metrics { AG-Dm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-DemiOblique } + @Family { AvantGarde } + @Face { DemiOblique } + @Name { AvantGarde-DemiOblique } + @Metrics { AG-DmO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-ExtraLight } + @Family { AvantGarde } + @Face { ExtraLight } + @Name { AvantGarde-ExtraLight } + @Metrics { AG-ExLt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-ExtraLightObl } + @Family { AvantGarde } + @Face { ExtraLightObl } + @Name { AvantGarde-ExtraLightObl } + @Metrics { AG-ExLtO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-Medium } + @Family { AvantGarde } + @Face { Medium } + @Name { AvantGarde-Medium } + @Metrics { AG-Md } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { AvantGarde-MediumObl } + @Family { AvantGarde } + @Face { MediumObl } + @Name { AvantGarde-MediumObl } + @Metrics { AG-MdO } + @Mapping { LtLatin1.LCM } +} + + + +{ @FontDef + @Tag { Bookman-Base } + @Family { Bookman } + @Face { Base } + @Name { Bookman-Medium } + @Metrics { Bk-Md } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Bookman-Slope } + @Family { Bookman } + @Face { Slope } + @Name { Bookman-MediumItalic } + @Metrics { Bk-MdIt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Bookman-Bold } + @Family { Bookman } + @Face { Bold } + @Name { Bookman-Bold } + @Metrics { Bk-Bd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Bookman-BoldSlope } + @Family { Bookman } + @Face { BoldSlope } + @Name { Bookman-BoldItalic } + @Metrics { Bk-BdIt } + @Mapping { LtLatin1.LCM } +} + + +{ @FontDef + @Tag { Bookman-BoldItalic } + @Family { Bookman } + @Face { BoldItalic } + @Name { Bookman-BoldItalic } + @Metrics { Bk-BdIt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Bookman-Demi } + @Family { Bookman } + @Face { Demi } + @Name { Bookman-Demi } + @Metrics { Bk-Dm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Bookman-DemiItalic } + @Family { Bookman } + @Face { DemiItalic } + @Name { Bookman-DemiItalic } + @Metrics { Bk-DmIt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Bookman-Light } + @Family { Bookman } + @Face { Light } + @Name { Bookman-Light } + @Metrics { Bk-Lt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Bookman-LightItalic } + @Family { Bookman } + @Face { LightItalic } + @Name { Bookman-LightItalic } + @Metrics { Bk-LtIt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Bookman-Medium } + @Family { Bookman } + @Face { Medium } + @Name { Bookman-Medium } + @Metrics { Bk-Md } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Bookman-MediumItalic } + @Family { Bookman } + @Face { MediumItalic } + @Name { Bookman-MediumItalic } + @Metrics { Bk-MdIt } + @Mapping { LtLatin1.LCM } +} + + + +{ @FontDef + @Tag { Courier-Base } + @Family { Courier } + @Face { Base } + @Name { Courier } + @Metrics { Cr } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Courier-Slope } + @Family { Courier } + @Face { Slope } + @Name { Courier-Oblique } + @Metrics { Cr-O } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Courier-Bold } + @Family { Courier } + @Face { Bold } + @Name { Courier-Bold } + @Metrics { Cr-Bd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Courier-BoldSlope } + @Family { Courier } + @Face { BoldSlope } + @Name { Courier-BoldOblique } + @Metrics { Cr-BdO } + @Mapping { LtLatin1.LCM } +} + + +{ @FontDef + @Tag { Courier-BoldOblique } + @Family { Courier } + @Face { BoldOblique } + @Name { Courier-BoldOblique } + @Metrics { Cr-BdO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Courier-Oblique } + @Family { Courier } + @Face { Oblique } + @Name { Courier-Oblique } + @Metrics { Cr-O } + @Mapping { LtLatin1.LCM } +} + + + +{ @FontDef + @Tag { Helvetica-Base } + @Family { Helvetica } + @Face { Base } + @Name { Helvetica } + @Metrics { He } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-Slope } + @Family { Helvetica } + @Face { Slope } + @Name { Helvetica-Oblique } + @Metrics { He-O } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-Bold } + @Family { Helvetica } + @Face { Bold } + @Name { Helvetica-Bold } + @Metrics { He-Bd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-BoldSlope } + @Family { Helvetica } + @Face { BoldSlope } + @Name { Helvetica-BoldOblique } + @Metrics { He-BdO } + @Mapping { LtLatin1.LCM } +} + + +{ @FontDef + @Tag { Helvetica-Black } + @Family { Helvetica } + @Face { Black } + @Name { Helvetica-Black } + @Metrics { He-Bl } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-BlackOblique } + @Family { Helvetica } + @Face { BlackOblique } + @Name { Helvetica-BlackOblique } + @Metrics { He-BlO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-BoldOblique } + @Family { Helvetica } + @Face { BoldOblique } + @Name { Helvetica-BoldOblique } + @Metrics { He-BdO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-Compressed } + @Family { Helvetica } + @Face { Compressed } + @Name { Helvetica-Compressed } + @Metrics { He-Cm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-Cond } + @Family { Helvetica } + @Face { Cond } + @Name { Helvetica-Condensed } + @Metrics { He-Cn } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-CondBlack } + @Family { Helvetica } + @Face { CondBlack } + @Name { Helvetica-Condensed-Black } + @Metrics { He-CnBl } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-CondBlackObl } + @Family { Helvetica } + @Face { CondBlackObl } + @Name { Helvetica-Condensed-BlackObl } + @Metrics { He-CnBlO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-CondBold } + @Family { Helvetica } + @Face { CondBold } + @Name { Helvetica-Condensed-Bold } + @Metrics { He-CnBd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-CondBoldObl } + @Family { Helvetica } + @Face { CondBoldObl } + @Name { Helvetica-Condensed-BoldObl } + @Metrics { He-CnBdO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-CondLight } + @Family { Helvetica } + @Face { CondLight } + @Name { Helvetica-Condensed-Light } + @Metrics { He-CnLi } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-CondLightObl } + @Family { Helvetica } + @Face { CondLightObl } + @Name { Helvetica-Condensed-LightObl } + @Metrics { He-CnLiO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-CondOblique } + @Family { Helvetica } + @Face { CondOblique } + @Name { Helvetica-Condensed-Oblique } + @Metrics { He-CnO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-ExtraCompressed } + @Family { Helvetica } + @Face { ExtraCompressed } + @Name { Helvetica-ExtraCompressed } + @Metrics { He-ExtC } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-Light } + @Family { Helvetica } + @Face { Light } + @Name { Helvetica-Light } + @Metrics { He-Lt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-LightOblique } + @Family { Helvetica } + @Face { LightOblique } + @Name { Helvetica-LightOblique } + @Metrics { He-LtO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-Narrow } + @Family { Helvetica } + @Face { Narrow } + @Name { Helvetica-Narrow } + @Metrics { He-Nr } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-NarrowBold } + @Family { Helvetica } + @Face { NarrowBold } + @Name { Helvetica-Narrow-Bold } + @Metrics { He-NrBd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-NarrowBoldObl } + @Family { Helvetica } + @Face { NarrowBoldObl } + @Name { Helvetica-Narrow-BoldOblique } + @Metrics { He-NrBdO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-NarrowObl } + @Family { Helvetica } + @Face { NarrowObl } + @Name { Helvetica-Narrow-Oblique } + @Metrics { He-NrO } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-Oblique } + @Family { Helvetica } + @Face { Oblique } + @Name { Helvetica-Oblique } + @Metrics { He-O } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Helvetica-UltraCompressed } + @Family { Helvetica } + @Face { UltraCompressed } + @Name { Helvetica-UltraCompressed } + @Metrics { He-UlCm } + @Mapping { LtLatin1.LCM } +} + + + +{ @FontDef + @Tag { Schoolbook-Base } + @Family { Schoolbook } + @Face { Base } + @Name { NewCenturySchlbk-Roman } + @Metrics { NCS-Rm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Schoolbook-Slope } + @Family { Schoolbook } + @Face { Slope } + @Name { NewCenturySchlbk-Italic } + @Metrics { NCS-It } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Schoolbook-Bold } + @Family { Schoolbook } + @Face { Bold } + @Name { NewCenturySchlbk-Bold } + @Metrics { NCS-Bd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Schoolbook-BoldSlope } + @Family { Schoolbook } + @Face { BoldSlope } + @Name { NewCenturySchlbk-BoldItalic } + @Metrics { NCS-BdIt } + @Mapping { LtLatin1.LCM } +} + + +{ @FontDef + @Tag { Schoolbook-BoldItalic } + @Family { Schoolbook } + @Face { BoldItalic } + @Name { NewCenturySchlbk-BoldItalic } + @Metrics { NCS-BdIt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Schoolbook-Italic } + @Family { Schoolbook } + @Face { Italic } + @Name { NewCenturySchlbk-Italic } + @Metrics { NCS-It } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Schoolbook-Roman } + @Family { Schoolbook } + @Face { Roman } + @Name { NewCenturySchlbk-Roman } + @Metrics { NCS-Rm } + @Mapping { LtLatin1.LCM } +} + + + +{ @FontDef + @Tag { Palatino-Base } + @Family { Palatino } + @Face { Base } + @Name { Palatino-Roman } + @Metrics { Pa-Rm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Palatino-Slope } + @Family { Palatino } + @Face { Slope } + @Name { Palatino-Italic } + @Metrics { Pa-It } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Palatino-Bold } + @Family { Palatino } + @Face { Bold } + @Name { Palatino-Bold } + @Metrics { Pa-Bd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Palatino-BoldSlope } + @Family { Palatino } + @Face { BoldSlope } + @Name { Palatino-BoldItalic } + @Metrics { Pa-BdIt } + @Mapping { LtLatin1.LCM } +} + + +{ @FontDef + @Tag { Palatino-BoldItalic } + @Family { Palatino } + @Face { BoldItalic } + @Name { Palatino-BoldItalic } + @Metrics { Pa-BdIt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Palatino-BoldItalicOsF } + @Family { Palatino } + @Face { BoldItalicOsF } + @Name { Palatino-BoldItalicOsF } + @Metrics { Pa-BdItF } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Palatino-BoldOsF } + @Family { Palatino } + @Face { BoldOsF } + @Name { Palatino-BoldOsF } + @Metrics { Pa-BdF } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Palatino-Italic } + @Family { Palatino } + @Face { Italic } + @Name { Palatino-Italic } + @Metrics { Pa-It } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Palatino-ItalicOsF } + @Family { Palatino } + @Face { ItalicOsF } + @Name { Palatino-ItalicOsF } + @Metrics { Pa-ItF } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Palatino-Roman } + @Family { Palatino } + @Face { Roman } + @Name { Palatino-Roman } + @Metrics { Pa-Rm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Palatino-SC } + @Family { Palatino } + @Face { SC } + @Name { Palatino-SC } + @Metrics { Pa-SC } + @Mapping { LtLatin1.LCM } +} + + + +{ @FontDef + @Tag { Symbol-Base } + @Family { Symbol } + @Face { Base } + @Name { Symbol } + @Metrics { Symbol } + @Mapping { Symb.LCM } + @Recode { No } +} + +{ @FontDef + @Tag { Symbol-Slope } + @Family { Symbol } + @Face { Slope } + @Name { Symbol } + @Metrics { Symbol } + @Mapping { Symb.LCM } + @Recode { No } +} + +{ @FontDef + @Tag { Symbol-Bold } + @Family { Symbol } + @Face { Bold } + @Name { Symbol } + @Metrics { Symbol } + @Mapping { Symb.LCM } + @Recode { No } +} + +{ @FontDef + @Tag { Symbol-BoldSlope } + @Family { Symbol } + @Face { BoldSlope } + @Name { Symbol } + @Metrics { Symbol } + @Mapping { Symb.LCM } + @Recode { No } +} + + + +{ @FontDef + @Tag { Times-Base } + @Family { Times } + @Face { Base } + @Name { Times-Roman } + @Metrics { Ti-Rm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-Slope } + @Family { Times } + @Face { Slope } + @Name { Times-Italic } + @Metrics { Ti-It } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-Bold } + @Family { Times } + @Face { Bold } + @Name { Times-Bold } + @Metrics { Ti-Bd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-BoldSlope } + @Family { Times } + @Face { BoldSlope } + @Name { Times-BoldItalic } + @Metrics { Ti-BdIt } + @Mapping { LtLatin1.LCM } +} + + +{ @FontDef + @Tag { Times-BoldItalic } + @Family { Times } + @Face { BoldItalic } + @Name { Times-BoldItalic } + @Metrics { Ti-BdIt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-BoldItalicOsF } + @Family { Times } + @Face { BoldItalicOsF } + @Name { Times-BoldItalicOsF } + @Metrics { Ti-BdItF } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-BoldSC } + @Family { Times } + @Face { BoldSC } + @Name { Times-BoldSC } + @Metrics { Ti-BdSC } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-ExtraBold } + @Family { Times } + @Face { ExtraBold } + @Name { Times-ExtraBold } + @Metrics { Ti-ExBd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-Italic } + @Family { Times } + @Face { Italic } + @Name { Times-Italic } + @Metrics { Ti-It } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-ItalicOsF } + @Family { Times } + @Face { ItalicOsF } + @Name { Times-ItalicOsF } + @Metrics { Ti-ItF } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-Roman } + @Family { Times } + @Face { Roman } + @Name { Times-Roman } + @Metrics { Ti-Rm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-RomanSC } + @Family { Times } + @Face { RomanSC } + @Name { Times-RomanSC } + @Metrics { Ti-RmSC } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-Semibold } + @Family { Times } + @Face { Semibold } + @Name { Times-Semibold } + @Metrics { Ti-Sm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Times-SemiboldItalic } + @Family { Times } + @Face { SemiboldItalic } + @Name { Times-SemiboldItalic } + @Metrics { Ti-SmIt } + @Mapping { LtLatin1.LCM } +} + + + +{ @FontDef + @Tag { Chancery-Base } + @Family { Chancery } + @Face { Base } + @Name { ZapfChancery-Roman } + @Metrics { ZC-Rm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Chancery-Slope } + @Family { Chancery } + @Face { Slope } + @Name { ZapfChancery-Italic } + @Metrics { ZC-It } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Chancery-Bold } + @Family { Chancery } + @Face { Bold } + @Name { ZapfChancery-Bold } + @Metrics { ZC-Bd } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Chancery-BoldSlope } + @Family { Chancery } + @Face { BoldSlope } + @Name { ZapfChancery-MediumItalic } + @Metrics { ZC-MdIt } + @Mapping { LtLatin1.LCM } +} + + +{ @FontDef + @Tag { Chancery-Roman } + @Family { Chancery } + @Face { Roman } + @Name { ZapfChancery-Roman } + @Metrics { ZC-Rm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Chancery-Italic } + @Family { Chancery } + @Face { Italic } + @Name { ZapfChancery-Italic } + @Metrics { ZC-It } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Chancery-Light } + @Family { Chancery } + @Face { Light } + @Name { ZapfChancery-Light } + @Metrics { ZC-Lt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Chancery-Demi } + @Family { Chancery } + @Face { Demi } + @Name { ZapfChancery-Demi } + @Metrics { ZC-Dm } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Chancery-LightItalic } + @Family { Chancery } + @Face { LightItalic } + @Name { ZapfChancery-LightItalic } + @Metrics { ZC-LtIt } + @Mapping { LtLatin1.LCM } +} + +{ @FontDef + @Tag { Chancery-MediumItalic } + @Family { Chancery } + @Face { MediumItalic } + @Name { ZapfChancery-MediumItalic } + @Metrics { ZC-MdIt } + @Mapping { LtLatin1.LCM } +} + + + +{ @FontDef + @Tag { Dingbats-Base } + @Family { Dingbats } + @Face { Base } + @Name { ZapfDingbats } + @Metrics { ZD } + @Mapping { Ding.LCM } + @Recode { No } +} + +{ @FontDef + @Tag { Dingbats-Slope } + @Family { Dingbats } + @Face { Slope } + @Name { ZapfDingbats } + @Metrics { ZD } + @Mapping { Ding.LCM } + @Recode { No } +} + +{ @FontDef + @Tag { Dingbats-Bold } + @Family { Dingbats } + @Face { Bold } + @Name { ZapfDingbats } + @Metrics { ZD } + @Mapping { Ding.LCM } + @Recode { No } +} + +{ @FontDef + @Tag { Dingbats-BoldSlope } + @Family { Dingbats } + @Face { BoldSlope } + @Name { ZapfDingbats } + @Metrics { ZD } + @Mapping { Ding.LCM } + @Recode { No } +} + + diff --git a/data/latin2.ld b/data/latin2.ld new file mode 100644 index 0000000..7f437d4 --- /dev/null +++ b/data/latin2.ld @@ -0,0 +1,1056 @@ +########################################################################### +# # +# Font definitions database (created by fcvt, with @ExtraMetrics) # +# # +# Each entry defines one font. The fields and their meanings are: # +# # +# Name Compulsory Meaning # +# --------------------------------------------------------------- # +# @Tag Yes Must equal @Family-@Face # +# @Family Yes Font family name # +# @Face Yes Font face name # +# @Name Yes PostScript name as in @Metrics file # +# @Metrics Yes Adobe font metrics file of this font # +# @ExtraMetrics No Extra metrics # +# @Mapping Yes .LCM (Lout Character Mapping) file # +# @Recode No Recode or not (Yes or No, default Yes) # +# # +# Jeffrey H. Kingston # +# 6 May 20000 # +# # +########################################################################### + + + +{ @FontDef + @Tag { AvantGardeCE-Base } + @Family { AvantGardeCE } + @Face { Base } + @Name { AvantGarde-Medium } + @Metrics { AG-Md } + @ExtraMetrics { AG-Md+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-Slope } + @Family { AvantGardeCE } + @Face { Slope } + @Name { AvantGarde-MediumObl } + @Metrics { AG-MdO } + @ExtraMetrics { AG-MdO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-Bold } + @Family { AvantGardeCE } + @Face { Bold } + @Name { AvantGarde-Bold } + @Metrics { AG-Bd } + @ExtraMetrics { AG-Bd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-BoldSlope } + @Family { AvantGardeCE } + @Face { BoldSlope } + @Name { AvantGarde-BoldObl } + @Metrics { AG-BdO } + @ExtraMetrics { AG-BdO+ } + @Mapping { LtLatin2.LCM } +} + + +{ @FontDef + @Tag { AvantGardeCE-BoldObl } + @Family { AvantGardeCE } + @Face { BoldObl } + @Name { AvantGarde-BoldObl } + @Metrics { AG-BdO } + @ExtraMetrics { AG-BdO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-Book } + @Family { AvantGardeCE } + @Face { Book } + @Name { AvantGarde-Book } + @Metrics { AG-Bk } + @ExtraMetrics { AG-Bk+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-BookOblique } + @Family { AvantGardeCE } + @Face { BookOblique } + @Name { AvantGarde-BookOblique } + @Metrics { AG-BkO } + @ExtraMetrics { AG-BkO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-CondBold } + @Family { AvantGardeCE } + @Face { CondBold } + @Name { AvantGarde-CondBold } + @Metrics { AG-CnBd } + @ExtraMetrics { AG-CnBd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-CondBook } + @Family { AvantGardeCE } + @Face { CondBook } + @Name { AvantGarde-CondBook } + @Metrics { AG-CnBk } + @ExtraMetrics { AG-CnBk+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-CondDemi } + @Family { AvantGardeCE } + @Face { CondDemi } + @Name { AvantGarde-CondDemi } + @Metrics { AG-CnDm } + @ExtraMetrics { AG-CnDm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-CondMedium } + @Family { AvantGardeCE } + @Face { CondMedium } + @Name { AvantGarde-CondMedium } + @Metrics { AG-CnMd } + @ExtraMetrics { AG-CnMd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-Demi } + @Family { AvantGardeCE } + @Face { Demi } + @Name { AvantGarde-Demi } + @Metrics { AG-Dm } + @ExtraMetrics { AG-Dm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-DemiOblique } + @Family { AvantGardeCE } + @Face { DemiOblique } + @Name { AvantGarde-DemiOblique } + @Metrics { AG-DmO } + @ExtraMetrics { AG-DmO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-ExtraLight } + @Family { AvantGardeCE } + @Face { ExtraLight } + @Name { AvantGarde-ExtraLight } + @Metrics { AG-ExLt } + @ExtraMetrics { AG-ExLt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-ExtraLightObl } + @Family { AvantGardeCE } + @Face { ExtraLightObl } + @Name { AvantGarde-ExtraLightObl } + @Metrics { AG-ExLtO } + @ExtraMetrics { AG-ExLtO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-Medium } + @Family { AvantGardeCE } + @Face { Medium } + @Name { AvantGarde-Medium } + @Metrics { AG-Md } + @ExtraMetrics { AG-Md+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { AvantGardeCE-MediumObl } + @Family { AvantGardeCE } + @Face { MediumObl } + @Name { AvantGarde-MediumObl } + @Metrics { AG-MdO } + @ExtraMetrics { AG-MdO+ } + @Mapping { LtLatin2.LCM } +} + + + +{ @FontDef + @Tag { BookmanCE-Base } + @Family { BookmanCE } + @Face { Base } + @Name { Bookman-Medium } + @Metrics { Bk-Md } + @ExtraMetrics { Bk-Md+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { BookmanCE-Slope } + @Family { BookmanCE } + @Face { Slope } + @Name { Bookman-MediumItalic } + @Metrics { Bk-MdIt } + @ExtraMetrics { Bk-MdIt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { BookmanCE-Bold } + @Family { BookmanCE } + @Face { Bold } + @Name { Bookman-Bold } + @Metrics { Bk-Bd } + @ExtraMetrics { Bk-Bd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { BookmanCE-BoldSlope } + @Family { BookmanCE } + @Face { BoldSlope } + @Name { Bookman-BoldItalic } + @Metrics { Bk-BdIt } + @ExtraMetrics { Bk-BdIt+ } + @Mapping { LtLatin2.LCM } +} + + +{ @FontDef + @Tag { BookmanCE-BoldItalic } + @Family { BookmanCE } + @Face { BoldItalic } + @Name { Bookman-BoldItalic } + @Metrics { Bk-BdIt } + @ExtraMetrics { Bk-BdIt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { BookmanCE-Demi } + @Family { BookmanCE } + @Face { Demi } + @Name { Bookman-Demi } + @Metrics { Bk-Dm } + @ExtraMetrics { Bk-Dm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { BookmanCE-DemiItalic } + @Family { BookmanCE } + @Face { DemiItalic } + @Name { Bookman-DemiItalic } + @Metrics { Bk-DmIt } + @ExtraMetrics { Bk-DmIt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { BookmanCE-Light } + @Family { BookmanCE } + @Face { Light } + @Name { Bookman-Light } + @Metrics { Bk-Lt } + @ExtraMetrics { Bk-Lt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { BookmanCE-LightItalic } + @Family { BookmanCE } + @Face { LightItalic } + @Name { Bookman-LightItalic } + @Metrics { Bk-LtIt } + @ExtraMetrics { Bk-LtIt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { BookmanCE-Medium } + @Family { BookmanCE } + @Face { Medium } + @Name { Bookman-Medium } + @Metrics { Bk-Md } + @ExtraMetrics { Bk-Md+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { BookmanCE-MediumItalic } + @Family { BookmanCE } + @Face { MediumItalic } + @Name { Bookman-MediumItalic } + @Metrics { Bk-MdIt } + @ExtraMetrics { Bk-MdIt+ } + @Mapping { LtLatin2.LCM } +} + + + +{ @FontDef + @Tag { CourierCE-Base } + @Family { CourierCE } + @Face { Base } + @Name { Courier } + @Metrics { Cr } + @ExtraMetrics { Cr+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { CourierCE-Slope } + @Family { CourierCE } + @Face { Slope } + @Name { Courier-Oblique } + @Metrics { Cr-O } + @ExtraMetrics { Cr-O+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { CourierCE-Bold } + @Family { CourierCE } + @Face { Bold } + @Name { Courier-Bold } + @Metrics { Cr-Bd } + @ExtraMetrics { Cr-Bd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { CourierCE-BoldSlope } + @Family { CourierCE } + @Face { BoldSlope } + @Name { Courier-BoldOblique } + @Metrics { Cr-BdO } + @ExtraMetrics { Cr-BdO+ } + @Mapping { LtLatin2.LCM } +} + + +{ @FontDef + @Tag { CourierCE-BoldOblique } + @Family { CourierCE } + @Face { BoldOblique } + @Name { Courier-BoldOblique } + @Metrics { Cr-BdO } + @ExtraMetrics { Cr-BdO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { CourierCE-Oblique } + @Family { CourierCE } + @Face { Oblique } + @Name { Courier-Oblique } + @Metrics { Cr-O } + @ExtraMetrics { Cr-O+ } + @Mapping { LtLatin2.LCM } +} + + + +{ @FontDef + @Tag { HelveticaCE-Base } + @Family { HelveticaCE } + @Face { Base } + @Name { Helvetica } + @Metrics { He } + @ExtraMetrics { He+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-Slope } + @Family { HelveticaCE } + @Face { Slope } + @Name { Helvetica-Oblique } + @Metrics { He-O } + @ExtraMetrics { He-O+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-Bold } + @Family { HelveticaCE } + @Face { Bold } + @Name { Helvetica-Bold } + @Metrics { He-Bd } + @ExtraMetrics { He-Bd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-BoldSlope } + @Family { HelveticaCE } + @Face { BoldSlope } + @Name { Helvetica-BoldOblique } + @Metrics { He-BdO } + @ExtraMetrics { He-BdO+ } + @Mapping { LtLatin2.LCM } +} + + +{ @FontDef + @Tag { HelveticaCE-Black } + @Family { HelveticaCE } + @Face { Black } + @Name { Helvetica-Black } + @Metrics { He-Bl } + @ExtraMetrics { He-Bl+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-BlackOblique } + @Family { HelveticaCE } + @Face { BlackOblique } + @Name { Helvetica-BlackOblique } + @Metrics { He-BlO } + @ExtraMetrics { He-BlO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-BoldOblique } + @Family { HelveticaCE } + @Face { BoldOblique } + @Name { Helvetica-BoldOblique } + @Metrics { He-BdO } + @ExtraMetrics { He-BdO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-Compressed } + @Family { HelveticaCE } + @Face { Compressed } + @Name { Helvetica-Compressed } + @Metrics { He-Cm } + @ExtraMetrics { He-Cm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-Cond } + @Family { HelveticaCE } + @Face { Cond } + @Name { Helvetica-Condensed } + @Metrics { He-Cn } + @ExtraMetrics { He-Cn+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-CondBlack } + @Family { HelveticaCE } + @Face { CondBlack } + @Name { Helvetica-Condensed-Black } + @Metrics { He-CnBl } + @ExtraMetrics { He-CnBl+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-CondBlackObl } + @Family { HelveticaCE } + @Face { CondBlackObl } + @Name { Helvetica-Condensed-BlackObl } + @Metrics { He-CnBlO } + @ExtraMetrics { He-CnBlO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-CondBold } + @Family { HelveticaCE } + @Face { CondBold } + @Name { Helvetica-Condensed-Bold } + @Metrics { He-CnBd } + @ExtraMetrics { He-CnBd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-CondBoldObl } + @Family { HelveticaCE } + @Face { CondBoldObl } + @Name { Helvetica-Condensed-BoldObl } + @Metrics { He-CnBdO } + @ExtraMetrics { He-CnBdO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-CondLight } + @Family { HelveticaCE } + @Face { CondLight } + @Name { Helvetica-Condensed-Light } + @Metrics { He-CnLi } + @ExtraMetrics { He-CnLi+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-CondLightObl } + @Family { HelveticaCE } + @Face { CondLightObl } + @Name { Helvetica-Condensed-LightObl } + @Metrics { He-CnLiO } + @ExtraMetrics { He-CnLiO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-CondOblique } + @Family { HelveticaCE } + @Face { CondOblique } + @Name { Helvetica-Condensed-Oblique } + @Metrics { He-CnO } + @ExtraMetrics { He-CnO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-ExtraCompressed } + @Family { HelveticaCE } + @Face { ExtraCompressed } + @Name { Helvetica-ExtraCompressed } + @Metrics { He-ExtC } + @ExtraMetrics { He-ExtC+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-Light } + @Family { HelveticaCE } + @Face { Light } + @Name { Helvetica-Light } + @Metrics { He-Lt } + @ExtraMetrics { He-Lt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-LightOblique } + @Family { HelveticaCE } + @Face { LightOblique } + @Name { Helvetica-LightOblique } + @Metrics { He-LtO } + @ExtraMetrics { He-LtO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-Narrow } + @Family { HelveticaCE } + @Face { Narrow } + @Name { Helvetica-Narrow } + @Metrics { He-Nr } + @ExtraMetrics { He-Nr+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-NarrowBold } + @Family { HelveticaCE } + @Face { NarrowBold } + @Name { Helvetica-Narrow-Bold } + @Metrics { He-NrBd } + @ExtraMetrics { He-NrBd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-NarrowBoldObl } + @Family { HelveticaCE } + @Face { NarrowBoldObl } + @Name { Helvetica-Narrow-BoldOblique } + @Metrics { He-NrBdO } + @ExtraMetrics { He-NrBdO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-NarrowObl } + @Family { HelveticaCE } + @Face { NarrowObl } + @Name { Helvetica-Narrow-Oblique } + @Metrics { He-NrO } + @ExtraMetrics { He-NrO+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-Oblique } + @Family { HelveticaCE } + @Face { Oblique } + @Name { Helvetica-Oblique } + @Metrics { He-O } + @ExtraMetrics { He-O+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { HelveticaCE-UltraCompressed } + @Family { HelveticaCE } + @Face { UltraCompressed } + @Name { Helvetica-UltraCompressed } + @Metrics { He-UlCm } + @ExtraMetrics { He-UlCm+ } + @Mapping { LtLatin2.LCM } +} + + + +{ @FontDef + @Tag { SchoolbookCE-Base } + @Family { SchoolbookCE } + @Face { Base } + @Name { NewCenturySchlbk-Roman } + @Metrics { NCS-Rm } + @ExtraMetrics { NCS-Rm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { SchoolbookCE-Slope } + @Family { SchoolbookCE } + @Face { Slope } + @Name { NewCenturySchlbk-Italic } + @Metrics { NCS-It } + @ExtraMetrics { NCS-It+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { SchoolbookCE-Bold } + @Family { SchoolbookCE } + @Face { Bold } + @Name { NewCenturySchlbk-Bold } + @Metrics { NCS-Bd } + @ExtraMetrics { NCS-Bd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { SchoolbookCE-BoldSlope } + @Family { SchoolbookCE } + @Face { BoldSlope } + @Name { NewCenturySchlbk-BoldItalic } + @Metrics { NCS-BdIt } + @ExtraMetrics { NCS-BdIt+ } + @Mapping { LtLatin2.LCM } +} + + +{ @FontDef + @Tag { SchoolbookCE-BoldItalic } + @Family { SchoolbookCE } + @Face { BoldItalic } + @Name { NewCenturySchlbk-BoldItalic } + @Metrics { NCS-BdIt } + @ExtraMetrics { NCS-BdIt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { SchoolbookCE-Italic } + @Family { SchoolbookCE } + @Face { Italic } + @Name { NewCenturySchlbk-Italic } + @Metrics { NCS-It } + @ExtraMetrics { NCS-It+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { SchoolbookCE-Roman } + @Family { SchoolbookCE } + @Face { Roman } + @Name { NewCenturySchlbk-Roman } + @Metrics { NCS-Rm } + @ExtraMetrics { NCS-Rm+ } + @Mapping { LtLatin2.LCM } +} + + + +{ @FontDef + @Tag { PalatinoCE-Base } + @Family { PalatinoCE } + @Face { Base } + @Name { Palatino-Roman } + @Metrics { Pa-Rm } + @ExtraMetrics { Pa-Rm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { PalatinoCE-Slope } + @Family { PalatinoCE } + @Face { Slope } + @Name { Palatino-Italic } + @Metrics { Pa-It } + @ExtraMetrics { Pa-It+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { PalatinoCE-Bold } + @Family { PalatinoCE } + @Face { Bold } + @Name { Palatino-Bold } + @Metrics { Pa-Bd } + @ExtraMetrics { Pa-Bd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { PalatinoCE-BoldSlope } + @Family { PalatinoCE } + @Face { BoldSlope } + @Name { Palatino-BoldItalic } + @Metrics { Pa-BdIt } + @ExtraMetrics { Pa-BdIt+ } + @Mapping { LtLatin2.LCM } +} + + +{ @FontDef + @Tag { PalatinoCE-BoldItalic } + @Family { PalatinoCE } + @Face { BoldItalic } + @Name { Palatino-BoldItalic } + @Metrics { Pa-BdIt } + @ExtraMetrics { Pa-BdIt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { PalatinoCE-BoldItalicOsF } + @Family { PalatinoCE } + @Face { BoldItalicOsF } + @Name { Palatino-BoldItalicOsF } + @Metrics { Pa-BdItF } + @ExtraMetrics { Pa-BdItF+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { PalatinoCE-BoldOsF } + @Family { PalatinoCE } + @Face { BoldOsF } + @Name { Palatino-BoldOsF } + @Metrics { Pa-BdF } + @ExtraMetrics { Pa-BdF+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { PalatinoCE-Italic } + @Family { PalatinoCE } + @Face { Italic } + @Name { Palatino-Italic } + @Metrics { Pa-It } + @ExtraMetrics { Pa-It+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { PalatinoCE-ItalicOsF } + @Family { PalatinoCE } + @Face { ItalicOsF } + @Name { Palatino-ItalicOsF } + @Metrics { Pa-ItF } + @ExtraMetrics { Pa-ItF+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { PalatinoCE-Roman } + @Family { PalatinoCE } + @Face { Roman } + @Name { Palatino-Roman } + @Metrics { Pa-Rm } + @ExtraMetrics { Pa-Rm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { PalatinoCE-SC } + @Family { PalatinoCE } + @Face { SC } + @Name { Palatino-SC } + @Metrics { Pa-SC } + @ExtraMetrics { Pa-SC+ } + @Mapping { LtLatin2.LCM } +} + + + +{ @FontDef + @Tag { TimesCE-Base } + @Family { TimesCE } + @Face { Base } + @Name { Times-Roman } + @Metrics { Ti-Rm } + @ExtraMetrics { Ti-Rm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-Slope } + @Family { TimesCE } + @Face { Slope } + @Name { Times-Italic } + @Metrics { Ti-It } + @ExtraMetrics { Ti-It+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-Bold } + @Family { TimesCE } + @Face { Bold } + @Name { Times-Bold } + @Metrics { Ti-Bd } + @ExtraMetrics { Ti-Bd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-BoldSlope } + @Family { TimesCE } + @Face { BoldSlope } + @Name { Times-BoldItalic } + @Metrics { Ti-BdIt } + @ExtraMetrics { Ti-BdIt+ } + @Mapping { LtLatin2.LCM } +} + + +{ @FontDef + @Tag { TimesCE-BoldItalic } + @Family { TimesCE } + @Face { BoldItalic } + @Name { Times-BoldItalic } + @Metrics { Ti-BdIt } + @ExtraMetrics { Ti-BdIt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-BoldItalicOsF } + @Family { TimesCE } + @Face { BoldItalicOsF } + @Name { Times-BoldItalicOsF } + @Metrics { Ti-BdItF } + @ExtraMetrics { Ti-BdItF+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-BoldSC } + @Family { TimesCE } + @Face { BoldSC } + @Name { Times-BoldSC } + @Metrics { Ti-BdSC } + @ExtraMetrics { Ti-BdSC+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-ExtraBold } + @Family { TimesCE } + @Face { ExtraBold } + @Name { Times-ExtraBold } + @Metrics { Ti-ExBd } + @ExtraMetrics { Ti-ExBd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-Italic } + @Family { TimesCE } + @Face { Italic } + @Name { Times-Italic } + @Metrics { Ti-It } + @ExtraMetrics { Ti-It+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-ItalicOsF } + @Family { TimesCE } + @Face { ItalicOsF } + @Name { Times-ItalicOsF } + @Metrics { Ti-ItF } + @ExtraMetrics { Ti-ItF+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-Roman } + @Family { TimesCE } + @Face { Roman } + @Name { Times-Roman } + @Metrics { Ti-Rm } + @ExtraMetrics { Ti-Rm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-RomanSC } + @Family { TimesCE } + @Face { RomanSC } + @Name { Times-RomanSC } + @Metrics { Ti-RmSC } + @ExtraMetrics { Ti-RmSC+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-Semibold } + @Family { TimesCE } + @Face { Semibold } + @Name { Times-Semibold } + @Metrics { Ti-Sm } + @ExtraMetrics { Ti-Sm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { TimesCE-SemiboldItalic } + @Family { TimesCE } + @Face { SemiboldItalic } + @Name { Times-SemiboldItalic } + @Metrics { Ti-SmIt } + @ExtraMetrics { Ti-SmIt+ } + @Mapping { LtLatin2.LCM } +} + + + +{ @FontDef + @Tag { ChanceryCE-Base } + @Family { ChanceryCE } + @Face { Base } + @Name { ZapfChancery-Roman } + @Metrics { ZC-Rm } + @ExtraMetrics { ZC-Rm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { ChanceryCE-Slope } + @Family { ChanceryCE } + @Face { Slope } + @Name { ZapfChancery-Italic } + @Metrics { ZC-It } + @ExtraMetrics { ZC-It+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { ChanceryCE-Bold } + @Family { ChanceryCE } + @Face { Bold } + @Name { ZapfChancery-Bold } + @Metrics { ZC-Bd } + @ExtraMetrics { ZC-Bd+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { ChanceryCE-BoldSlope } + @Family { ChanceryCE } + @Face { BoldSlope } + @Name { ZapfChancery-MediumItalic } + @Metrics { ZC-MdIt } + @ExtraMetrics { ZC-MdIt+ } + @Mapping { LtLatin2.LCM } +} + + +{ @FontDef + @Tag { ChanceryCE-Roman } + @Family { ChanceryCE } + @Face { Roman } + @Name { ZapfChancery-Roman } + @Metrics { ZC-Rm } + @ExtraMetrics { ZC-Rm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { ChanceryCE-Italic } + @Family { ChanceryCE } + @Face { Italic } + @Name { ZapfChancery-Italic } + @Metrics { ZC-It } + @ExtraMetrics { ZC-It+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { ChanceryCE-Light } + @Family { ChanceryCE } + @Face { Light } + @Name { ZapfChancery-Light } + @Metrics { ZC-Lt } + @ExtraMetrics { ZC-Lt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { ChanceryCE-Demi } + @Family { ChanceryCE } + @Face { Demi } + @Name { ZapfChancery-Demi } + @Metrics { ZC-Dm } + @ExtraMetrics { ZC-Dm+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { ChanceryCE-LightItalic } + @Family { ChanceryCE } + @Face { LightItalic } + @Name { ZapfChancery-LightItalic } + @Metrics { ZC-LtIt } + @ExtraMetrics { ZC-LtIt+ } + @Mapping { LtLatin2.LCM } +} + +{ @FontDef + @Tag { ChanceryCE-MediumItalic } + @Family { ChanceryCE } + @Face { MediumItalic } + @Name { ZapfChancery-MediumItalic } + @Metrics { ZC-MdIt } + @ExtraMetrics { ZC-MdIt+ } + @Mapping { LtLatin2.LCM } +} + diff --git a/data/standard.ld b/data/standard.ld index e56d469..fd033c8 100644 --- a/data/standard.ld +++ b/data/standard.ld @@ -108,7 +108,7 @@ } { figurelist @Word @CurrLang @Case { - Czech @Yield { ?? } + Czech @Yield { Seznam obr{@Char aacute}zk{@Char uring} } Danish @Yield { Figurliste } Dutch @Yield { ?? } English @Yield { List of Figures } @@ -381,7 +381,7 @@ } { abbreviations @Word @CurrLang @Case { - Czech @Yield { ?? } + Czech @Yield { Zkratky } Danish @Yield { ?? } Dutch @Yield { ?? } English @Yield { Abbreviations } @@ -465,7 +465,7 @@ } { lecture @Word @CurrLang @Case { - Czech @Yield { Lecture } + Czech @Yield { P{@Char rcaron}edn{@Char aacute}{@Char scaron}ka } Danish @Yield { Lecture } Dutch @Yield { Lecture } English @Yield { Lecture } @@ -486,7 +486,7 @@ } { index @Word @CurrLang @Case { - Czech @Yield { Index } + Czech @Yield { Rejst{@Char rcaron}{@Char iacute}k } Danish @Yield { Indeks } Dutch @Yield { Index } English @Yield { Index } @@ -570,7 +570,7 @@ } { nopublisher @Word @CurrLang @Case { - Czech @Yield { Bez vydavatele } + Czech @Yield { Vydavatel neuveden } Danish @Yield { Intet forlag } Dutch @Yield { Ongepubliceerd } # or {Zonder uitgever} English @Yield { No publisher } @@ -677,7 +677,7 @@ } { continued @Word @CurrLang @Case { - Czech @Yield { ?? } + Czech @Yield { pokra{@Char ccaron}ov{@Char aacute}n{@Char iacute} } Danish @Yield { ?? } Dutch @Yield { ?? } English @Yield { ctd. } @@ -1365,7 +1365,7 @@ { 1 @Months @CurrLang @Case { - Czech @Yield { leden } + Czech @Yield { ledna } Danish @Yield { januar } Dutch @Yield { januari } English @Yield { January } @@ -1385,7 +1385,7 @@ } } { 2 @Months @CurrLang @Case { - Czech @Yield { {@Char uacute}nor } + Czech @Yield { {@Char uacute}nora } Danish @Yield { februar } Dutch @Yield { februari } English @Yield { February } @@ -1405,7 +1405,7 @@ } } { 3 @Months @CurrLang @Case { - Czech @Yield { b{@Char rcaron}ezen } + Czech @Yield { b{@Char rcaron}ezna } Danish @Yield { marts } Dutch @Yield { maart } English @Yield { March } @@ -1425,7 +1425,7 @@ } } { 4 @Months @CurrLang @Case { - Czech @Yield { duben } + Czech @Yield { dubna } Danish @Yield { april } Dutch @Yield { april } English @Yield { April } @@ -1445,7 +1445,7 @@ } } { 5 @Months @CurrLang @Case { - Czech @Yield { kv{@Char ecaron}ten } + Czech @Yield { kv{@Char ecaron}tna } Danish @Yield { maj } Dutch @Yield { mei } English @Yield { May } @@ -1465,7 +1465,7 @@ } } { 6 @Months @CurrLang @Case { - Czech @Yield { {@Char ccaron}erven } + Czech @Yield { {@Char ccaron}ervna } Danish @Yield { juni } Dutch @Yield { juni } English @Yield { June } @@ -1486,7 +1486,7 @@ { 7 @Months @CurrLang @Case { - Czech @Yield { {@Char ccaron}ervenec } + Czech @Yield { {@Char ccaron}ervence } Danish @Yield { juli } Dutch @Yield { juli } English @Yield { July } @@ -1506,7 +1506,7 @@ } } { 8 @Months @CurrLang @Case { - Czech @Yield { srpen } + Czech @Yield { srpna } Danish @Yield { august } Dutch @Yield { augustus } English @Yield { August } @@ -1546,7 +1546,7 @@ } } { 10 @Months @CurrLang @Case { - Czech @Yield { {@Char rcaron}{@Char iacute}jen } + Czech @Yield { {@Char rcaron}{@Char iacute}jna } Danish @Yield { oktober } Dutch @Yield { oktober } English @Yield { October } @@ -1566,7 +1566,7 @@ } } { 11 @Months @CurrLang @Case { - Czech @Yield { listopad } + Czech @Yield { listopadu } Danish @Yield { november } Dutch @Yield { november } English @Yield { November } @@ -1586,7 +1586,7 @@ } } { 12 @Months @CurrLang @Case { - Czech @Yield { prosinec } + Czech @Yield { prosince } Danish @Yield { december } Dutch @Yield { december } English @Yield { December } @@ -1607,7 +1607,7 @@ { 1 @ShortMonths @CurrLang @Case { - Czech @Yield { leden } + Czech @Yield { ledna } Danish @Yield { jan } Dutch @Yield { jan } English @Yield { Jan } @@ -1627,7 +1627,7 @@ } } { 2 @ShortMonths @CurrLang @Case { - Czech @Yield { {@Char uacute}nor } + Czech @Yield { {@Char uacute}nora } Danish @Yield { feb } Dutch @Yield { feb } English @Yield { Feb } @@ -1647,7 +1647,7 @@ } } { 3 @ShortMonths @CurrLang @Case { - Czech @Yield { b{@Char rcaron}ezen } + Czech @Yield { b{@Char rcaron}ezna } Danish @Yield { mar } Dutch @Yield { mrt } English @Yield { Mar } @@ -1667,7 +1667,7 @@ } } { 4 @ShortMonths @CurrLang @Case { - Czech @Yield { duben } + Czech @Yield @Yield { dubna } Danish @Yield { apr } Dutch @Yield { apr } English @Yield { Apr } @@ -1687,7 +1687,7 @@ } } { 5 @ShortMonths @CurrLang @Case { - Czech @Yield { kv{@Char ecaron}ten } + Czech @Yield { kv{@Char ecaron}tna } Danish @Yield { maj } Dutch @Yield { mei } English @Yield { May } @@ -1707,7 +1707,7 @@ } } { 6 @ShortMonths @CurrLang @Case { - Czech @Yield { {@Char ccaron}erven } + Czech @Yield { {@Char ccaron}ervna } Danish @Yield { jun } Dutch @Yield { jun } English @Yield { Jun } @@ -1727,7 +1727,7 @@ } } { 7 @ShortMonths @CurrLang @Case { - Czech @Yield { {@Char ccaron}ervenec } + Czech @Yield { {@Char ccaron}ervence } Danish @Yield { jul } Dutch @Yield { jul } English @Yield { Jul } @@ -1747,7 +1747,7 @@ } } { 8 @ShortMonths @CurrLang @Case { - Czech @Yield { srpen } + Czech @Yield { srpna } Danish @Yield { aug } Dutch @Yield { aug } English @Yield { Aug } @@ -1787,7 +1787,7 @@ } } { 10 @ShortMonths @CurrLang @Case { - Czech @Yield { {@Char rcaron}{@Char iacute}jen } + Czech @Yield { {@Char rcaron}{@Char iacute}jna } Danish @Yield { okt } Dutch @Yield { okt } English @Yield { Oct } @@ -1807,7 +1807,7 @@ } } { 11 @ShortMonths @CurrLang @Case { - Czech @Yield { listopad } + Czech @Yield { listopadu } Danish @Yield { nov } Dutch @Yield { nov } English @Yield { Nov } @@ -1827,7 +1827,7 @@ } } { 12 @ShortMonths @CurrLang @Case { - Czech @Yield { prosinec } + Czech @Yield { prosince } Danish @Yield { dec } Dutch @Yield { dec } English @Yield { Dec } @@ -1868,7 +1868,7 @@ } } { 2 @WeekDays @CurrLang @Case { - Czech @Yield { pon{@Char ecaron}l{@Char iacute} } + Czech @Yield { pond{@Char ecaron}l{@Char iacute} } Danish @Yield { mandag } Dutch @Yield { maandag } English @Yield { Monday } @@ -2255,7 +2255,7 @@ } { time @DateTimeFormat @Value { @CurrLang @Case { - Czech @Yield { @ShortHour "hodin" @Minute "minut" } + Czech @Yield { @ShortHour:@Minute } Danish @Yield { @ShortHour.@Minute } Dutch @Yield { @ShortHour.@Minute } English @Yield { @TwelveHour.@Minute @MeriDiem } diff --git a/doc/design/README b/doc/design/README index 87c660d..7f68f91 100644 --- a/doc/design/README +++ b/doc/design/README @@ -22,4 +22,4 @@ messages (although changing the paper size might produce one or two benign ones). Jeffrey H. Kingston -8 April 2000 +10 May 2000 diff --git a/doc/design/outfile.ps b/doc/design/outfile.ps index 904d913..6566ade 100644 --- a/doc/design/outfile.ps +++ b/doc/design/outfile.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 -%%Creator: Basser Lout Version 3.20 (April 2000) -%%CreationDate: Sat Apr 8 14:53:13 2000 +%%Creator: Basser Lout Version 3.21 (May 2000) +%%CreationDate: Thu May 11 10:53:39 2000 %%DocumentData: Binary %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) @@ -12,12 +12,20 @@ %%BeginProlog %%BeginResource: procset LoutStartUp +/save_cp { currentpoint /cp_y exch def /cp_x exch def } def +/restore_cp { cp_x cp_y moveto } 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 -/mo { 3 1 roll moveto true charpath stroke } bind def +/mo { 3 1 roll moveto outline } bind def /s { exch currentpoint exch pop moveto show } bind def -/so { exch currentpoint exch pop moveto true charpath stroke } bind def +/so { exch currentpoint exch pop moveto outline } bind def /k { exch neg 0 rmoveto show } bind def -/ko { exch neg 0 rmoveto true charpath stroke } bind def +/ko { exch neg 0 rmoveto outline } bind def +/r { exch 0 rmoveto show } bind def +/ro { exch 0 rmoveto outline } bind def +/c { gsave 3 1 roll rmoveto show grestore } bind def +/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 @@ -78,43 +86,6 @@ } bind def %%EndResource -%%BeginResource: encoding vec2 -/vec2 [ -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash -/zero /one /two /three /four /five /six /seven -/eight /nine /colon /semicolon /less /equal /greater /question -/at /A /B /C /D /E /F /G -/H /I /J /K /L /M /N /O -/P /Q /R /S /T /U /V /W -/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore -/quoteleft /a /b /c /d /e /f /g -/h /i /j /k /l /m /n /o -/p /q /r /s /t /u /v /w -/x /y /z /braceleft /bar /braceright /asciitilde /.notdef -/quotesinglbase /quotedblbase /ellipsis /OE /oe /quotedblleft /quotedblright /fi -/fl /endash /emdash /bullet /dagger /daggerdbl /florin /fraction -/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent -/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section -/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron -/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered -/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown -/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis -/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply -/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls -/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla -/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide -/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis -] def -%%EndResource - %%BeginResource: procset LoutTabPrependGraphic % @PrependGraphic file /export/home/6monthspace/jeff/lout.lib/include/tabf.lpg %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1382,14 +1353,51 @@ end %%BeginSetup %%IncludeResource: font Times-Roman -/Times-Romanfnt82 vec2 /Times-Roman LoutRecode -/fnt82 { /Times-Romanfnt82 LoutFont } def +%%BeginResource: encoding vec2 +/vec2 [ +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +/zero /one /two /three /four /five /six /seven +/eight /nine /colon /semicolon /less /equal /greater /question +/at /A /B /C /D /E /F /G +/H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W +/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore +/quoteleft /a /b /c /d /e /f /g +/h /i /j /k /l /m /n /o +/p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef +/quotesinglbase /quotedblbase /ellipsis /OE /oe /quotedblleft /quotedblright /fi +/fl /endash /emdash /bullet /dagger /daggerdbl /florin /fraction +/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent +/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron +/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered +/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown +/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis +/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply +/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls +/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla +/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide +/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis +] def +%%EndResource + +/Times-Romanfnt1 vec2 /Times-Roman LoutRecode +/fnt1 { /Times-Romanfnt1 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt2 vec2 /Times-Bold LoutRecode +/fnt2 { /Times-Boldfnt2 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt3 vec2 /Times-Italic LoutRecode +/fnt3 { /Times-Italicfnt3 LoutFont } def %%EndSetup %%Page: i 1 @@ -1403,7 +1411,7 @@ end gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore @@ -1413,14 +1421,14 @@ gsave 9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -240 fnt84 2897 12401(The)m 3352(Design)s 4099(and)s 4540(Implementation)s +240 fnt2 2897 12401(The)m 3352(Design)s 4099(and)s 4540(Implementation)s 4239 11998(of)m 4511(the)s 2589 11595(Lout)m 3141(Document)s 4250(F)s 6(ormatting)k -5468(Language)s 240 fnt83 3630 11097(J)m 6(ef)k 4(fr)k 8(e)k 7(y)k -4310(H.)s 4577(Kingston)s 240 fnt82 2551 10596(Basser)m 3248(Department)s +5468(Language)s 240 fnt3 3630 11097(J)m 6(ef)k 4(fr)k 8(e)k 7(y)k +4310(H.)s 4577(Kingston)s 240 fnt1 2551 10596(Basser)m 3248(Department)s 4436(of)s 4707(Computer)s 5724(Science,)s 3007 10308(The)m 3435(Uni)s 6(v)k 3(ersity)k 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 fnt84 -0 8775(SUMMAR)m 8(Y)k 240 fnt82 0 8320(Lout)m 543(is)s +3739 9568(27)m 4027(January)s 15(,)k 4863(1993)s 240 fnt2 +3901 8775(SUMMAR)m 8(Y)k 240 fnt1 0 8320(Lout)m 543(is)s 784(a)s 982(high-le)s 6(v)k 3(el)k 2028(language)s 2979(for)s 3349(document)s 4384(formatting,)s 5530(whose)s 6230(ease)s 6728(of)s 7030(use)s 7437(has)s 7838(permitted)s 8843(an)s @@ -1433,8 +1441,13 @@ grestore 7897(mid-1984)s 8887(to)s 0 7456(public)m 672(release)s 1412(in)s 1677(October)s 2529(1991.)s 3194(It)s 3421(includes)s 4291(e)s 3(xtensi)k 6(v)k 3(e)k 5260(discussions)s 6422(of)s 6715(remaining)s 7759(problems)s 8722(and)s -0 7168(possible)m 840(solutions.)s 240 fnt84 0 6664(K)m 6(eyw)k 2(ords)k -240 fnt82 1143 6665(document)m 2147(formatting)s 3208(typesetting)s +0 7168(possible)m 840(solutions.)s 240 fnt2 0 6664(K)m 6(eyw)k 2(ords)k +240 fnt1 1143 6665(document)m 2147(formatting)s 3208(typesetting)s +grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + grestore grestore @@ -1454,7 +1467,7 @@ showpage %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore @@ -1464,14 +1477,14 @@ gsave 9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -240 fnt84 2897 12401(The)m 3352(Design)s 4099(and)s 4540(Implementation)s +240 fnt2 2897 12401(The)m 3352(Design)s 4099(and)s 4540(Implementation)s 4239 11998(of)m 4511(the)s 2589 11595(Lout)m 3141(Document)s 4250(F)s 6(ormatting)k -5468(Language)s 240 fnt83 3630 11097(J)m 6(ef)k 4(fr)k 8(e)k 7(y)k -4310(H.)s 4577(Kingston)s 240 fnt82 2551 10596(Basser)m 3248(Department)s +5468(Language)s 240 fnt3 3630 11097(J)m 6(ef)k 4(fr)k 8(e)k 7(y)k +4310(H.)s 4577(Kingston)s 240 fnt1 2551 10596(Basser)m 3248(Department)s 4436(of)s 4707(Computer)s 5724(Science,)s 3007 10308(The)m 3435(Uni)s 6(v)k 3(ersity)k 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 fnt84 -0 8926(1.)m 291(Intr)s 4(oduction)k 240 fnt82 480 8495(Lout)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 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 7136(and)s 7533(implemented)s 8832(by)s 0 8207(the)m 341(author)s 13(.)k @@ -1479,9 +1492,9 @@ grestore 4057(Basser)s 4747(Lout,)s 5299(is)s 5502(a)s 5661(fully)s 6159(operational)s 7282(production)s 8368(v)s 3(ersion)k 0 7919(written)m 736(in)s 983(C)s 1198(for)s 1540(the)s 1891(Unix)s -2429(operating)s 3389(system,)s 153 fnt82 4100 8008(1)m 240 fnt82 +2429(operating)s 3389(system,)s 153 fnt1 4100 8008(1)m 240 fnt1 4223 7919(which)m 4869(translates)s 5824(Lout)s 6340(source)s 7023(code)s -7535(into)s 7964(PostScript,)s 153 fnt82 8993 8008(2)m 240 fnt82 +7535(into)s 7964(PostScript,)s 153 fnt1 8993 8008(2)m 240 fnt1 0 7631(a)m 201(de)s 6(vice-independent)k 2164(graphics)s 3061(rendering)s 4066(language)s 5021(accepted)s 5951(by)s 6281(man)s 3(y)k 6900(high-resolution)s 8454(output)s 0 7343(de)m 6(vices,)k 833(including)s @@ -1555,12 +1568,17 @@ grestore grestore grestore -122 fnt82 0 379(1)m 192 fnt82 58 309(Unix)m 485(is)s +122 fnt1 0 379(1)m 192 fnt1 58 309(Unix)m 485(is)s 653(a)s 786(trademark)s 1609(of)s 1825(A)s 21(T&T)k -2370(Bell)s 2733(Laboratories.)s 122 fnt82 0 112(2)m 192 fnt82 +2370(Bell)s 2733(Laboratories.)s 122 fnt1 0 112(2)m 192 fnt1 67 42(PostScript)m 900(is)s 1068(a)s 1201(trademark)s 2024(of)s 2240(Adobe)s 2796(Systems,)s 3519(Incorporated.)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -1578,26 +1596,26 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5765 -1579(-)m 5893(2)s 6067(-)s 9066 13419 0 13310 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4348 13844(-)m 4476(2)s 4650(-)s 0 13256(further)m 709(impro)s 3(v)k 3(ement.)k -240 fnt84 0 12463(2.)m 291(Objects)s 240 fnt82 480 11987(The)m +0 13256(further)m 709(impro)s 3(v)k 3(ement.)k +240 fnt2 0 12463(2.)m 291(Objects)s 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 4669(is)s 4895(the)s 5258(introduction)s 6500(of)s 6786(some)s @@ -1619,30 +1637,30 @@ grestore 6846(paragraphs,)s 7994(b)s 4(ut)k 8348(also)s 8778(the)s 0 10547(alignment)m 1016(of)s 1287(columns)s 2149(in)s 2392(tables,)s 3056(and)s 3460(the)s 3808(comple)s 3(x)k 4684(nested)s -5353(structures)s 6332(of)s 6603(equations.)s 240 fnt84 0 9898(2.1.)m +5353(structures)s 6332(of)s 6603(equations.)s 240 fnt2 0 9898(2.1.)m 471(The)s 926(genesis)s 1697(of)s 1969(the)s 2343(object)s -3026(abstraction)s 240 fnt82 480 9421(When)m 1163(one)s 1620(e)s 3(xamines)k +3026(abstraction)s 240 fnt1 480 9421(When)m 1163(one)s 1620(e)s 3(xamines)k 2626(pre)s 6(vious)k 3549(document)s 4608(formatting)s 5724(systems)s 6587([4])s 6958(looking)s 7798(for)s 8191(ideas)s 8788(for)s 0 9133(abstractions,)m 1245(as)s 1492(the)s 1837(author)s 2505(did)s 2866(in)s 3106(1984,)s 3690(the)s 4035(Eqn)s 4475(formatting)s 5533(language)s 6450([5])s 6764(stands)s 7410(out)s 7773(lik)s 2(e)k 8182(a)s 8344(beacon.)s 0 8845(In)m 256(Eqn,)s 749(a)s -915(mathematical)s 2256(formula)s 3072(such)s 3568(as)s 168 fnt78 -586 8390(2)m 240 fnt83 480 8330(x)m 240 fnt78 738 8322(+)m +915(mathematical)s 2256(formula)s 3072(such)s 3568(as)s 168 fnt4 +586 8390(2)m 240 fnt3 480 8330(x)m 240 fnt4 738 8322(+)m 939(1)s gsave 480 8274 translate -240 fnt83 553 0 0 0 240 288 12 LoutGraphic +240 fnt3 553 0 0 0 240 288 12 LoutGraphic gsave 0 0 moveto xsize 0 lineto 0.05 ft setlinewidth stroke grestore grestore -700 8046(4)m 240 fnt82 0 7535(is)m 210(produced)s -1159(by)s 1453(typing)s 220 fnt35 480 7037({ x sup 2 + 1 } o)m 3(v)k 5(er 4)k -240 fnt82 0 6541(in)m 261(the)s 627(input)s 1197(\207le;)s -220 fnt35 1632 6538(sup)m 240 fnt82 2056 6541(and)m 220 fnt35 -2478 6538(o)m 3(v)k 5(er)k 240 fnt82 2975 6541(are)m +700 8046(4)m 240 fnt1 0 7535(is)m 210(produced)s +1159(by)s 1453(typing)s 220 fnt5 480 7037({ x sup 2 + 1 } o)m 3(v)k 5(er 4)k +240 fnt1 0 6541(in)m 261(the)s 627(input)s 1197(\207le;)s +220 fnt5 1632 6538(sup)m 240 fnt1 2056 6541(and)m 220 fnt5 +2478 6538(o)m 3(v)k 5(er)k 240 fnt1 2975 6541(are)m 3340(binary)s 4023(operators,)s 5037(and)s 5459(braces)s 6138(are)s 6503(used)s 7018(for)s 7374(grouping.)s 8421(This)s 8916(is)s 0 6253(document)m 1017(formatting)s 2091(at)s 2337(a)s 2516(v)s 3(ery)k @@ -1652,8 +1670,8 @@ grestore 1182(font)s 1627(changes)s 2449(and)s 2853(spacing)s 3637(suppressed.)s 480 5591(Eqn)m 916(pro)s 3(vides)k 1780(a)s 1938(single)s 2557(data)s 3008(type)s 3468(\(let)s 3837(us)s 4093(call)s -4485(it)s 4669(the)s 240 fnt83 5009 5593(e)m 4(xpr)k 8(ession)k -240 fnt82 6014 5591(\),)m 6192(b)s 4(uilt)k 6679(up)s +4485(it)s 4669(the)s 240 fnt3 5009 5593(e)m 4(xpr)k 8(ession)k +240 fnt1 6014 5591(\),)m 6192(b)s 4(uilt)k 6679(up)s 6964(recursi)s 6(v)k 3(ely)k 8062(in)s 8297(conte)s 3(xt-)k 0 5303(free)m 457(style:)s 1106(where)s 1778(one)s 2212(e)s 3(xpression)k 3321(may)s 3819(appear)s 9(,)k 4586(an)s 3(y)k @@ -1667,8 +1685,8 @@ grestore 6578(its)s 6853(utility)s 7476(in)s 7718(document)s 8720(for)s 8998(-)s 0 4439(matting.)m 480 4065(Each)m 1015(e)s 3(xpression)k 2092(is)s 2302(treated)s 3009(by)s 3304(Eqn)s 3747(as)s -3997(a)s 4163(rectangle)s 5094(with)s 5577(a)s 240 fnt83 -5743 4067(horizontal)m 6787(axis)s 240 fnt82 7167 4065(,)m 7274(used)s +3997(a)s 4163(rectangle)s 5094(with)s 5577(a)s 240 fnt3 +5743 4067(horizontal)m 6787(axis)s 240 fnt1 7167 4065(,)m 7274(used)s 7771(for)s 8110(alignment)s 0 3777(with)m 482(adjacent)s 1338(e)s 3(xpressions:)k 553 519 0 288 240 288 60 480 2918 LoutGr2 grestore save gsave 200 dict begin lfigdict begin @@ -1687,10 +1705,10 @@ grestore ] lfigdopath pop pop grestore -168 fnt78 106 404(2)m 240 fnt83 0 344(x)m 240 fnt78 +168 fnt4 106 404(2)m 240 fnt3 0 344(x)m 240 fnt4 258 336(+)m 459(1)s gsave 0 288 translate -240 fnt83 553 0 0 0 240 288 12 LoutGraphic +240 fnt3 553 0 0 0 240 288 12 LoutGraphic gsave 0 0 moveto xsize 0 lineto 0.05 ft setlinewidth stroke grestore @@ -1727,6 +1745,11 @@ grestore 6323(object)s 7004(is)s 7251(treated)s 7995(by)s 8326(Lout)s 8876(as)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -1744,25 +1767,25 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5770 -1579(-)m 5898(3)s 6062(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4353 13844(-)m 4481(3)s 4645(-)s 0 13253(a)m 166(rectangle:)s +0 13253(a)m 166(rectangle:)s 1701 453 567 198 240 288 60 480 12460 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore @@ -1792,10 +1815,10 @@ grestore end end restore grestore 0 12007(The)m 442(horizontal)s 1481(axis,)s 1987(called)s 2630(a)s -240 fnt83 2810 12009(r)m 10(ow)k 3244(mark)s 240 fnt82 +240 fnt3 2810 12009(r)m 10(ow)k 3244(mark)s 240 fnt1 3814 12007(in)m 4072(Lout,)s 4645(has)s 5030(a)s 5210(v)s 3(ertical)k -5992(analogue)s 6926(called)s 7569(a)s 240 fnt83 7749 12009(column)m -8523(mark)s 240 fnt82 9019 12007(,)m 0 11719(creating)m 822(a)s +5992(analogue)s 6926(called)s 7569(a)s 240 fnt3 7749 12009(column)m +8523(mark)s 240 fnt1 9019 12007(,)m 0 11719(creating)m 822(a)s 988(v)s 6(aluable)k 1848(symmetry)s 2857(between)s 3711(horizontal)s 4735(and)s 5139(v)s 3(ertical.)k 6014(Multiple)s 6893(column)s 7668(and)s 8072(ro)s 6(w)k 8491(marks)s 0 11431(are)m @@ -1928,36 +1951,41 @@ grestore 3221(dra)s 3(wing)k 4059([6].)s 4506(An)s 4860(abstraction)s 5969(closer)s 6603(to)s 6846(h)s 1(yperte)k 3(xt)k 7809(might)s 8431(form)s 8960(a)s 0 5823(more)m 547(uni\207ed)s -1270(basis)s 1799(for)s 2137(these)s 2684(features.)s 240 fnt84 +1270(basis)s 1799(for)s 2137(these)s 2684(features.)s 240 fnt2 0 5224(2.2.)m 471(Grammatical)s 1893(and)s 2334(lexical)s 3039(structur)s 4(e)k -240 fnt82 480 4792(If)m 700(objects)s 1418(are)s 1755(to)s +240 fnt1 480 4792(If)m 700(objects)s 1418(are)s 1755(to)s 1984(be)s 2256(constructed)s 3406(lik)s 2(e)k 3807(mathematical)s 5138(e)s 3(xpressions,)k 6348(the)s 6686(natural)s 7394(notation)s 8225(is)s 8425(a)s 8580(func)s 8998(-)s 0 4504(tional)m 599(language)s 1519(based)s 2122(on)s 2419(operators,)s 3415(as)s 3665(in)s 3908(Eqn.)s 4458(The)s 4886(grammar)s 5808(of)s -6079(Lout)s 6591(objects)s 7319(is)s 7529(accordingly)s 240 fnt78 +6079(Lout)s 6591(objects)s 7319(is)s 7529(accordingly)s 240 fnt4 1332 3945(\256)m 1332 3612(\256)m 1332 3279(\256)m 1332 2995(\256)m 1332 2662(\256)m -1332 2368(\256)m 1332 2035(\256)m 1332 1751(\256)m 240 fnt83 480 3953(object)m +1332 2368(\256)m 1332 2035(\256)m 1332 1751(\256)m 240 fnt3 480 3953(object)m 1826(object)s 2498(in\207xop)s 3227(object)s 1826 3620(pr)m 8(e\207xop)k 2680(object)s 1826 3287(object)m 2498(post\207xop)s 1826 3003(nopar)m 2(sop)k -1826 2670(liter)m 3(alwor)k 8(d)k 220 fnt35 1826 2371({)m -240 fnt83 1974 2376(object)m 220 fnt35 2646 2371(})m 240 fnt83 -1826 2043(object)m 2498(object)s 240 fnt82 0 1248(where)m 240 fnt83 -640 1250(in\207xop)m 240 fnt82 1285 1248(,)m 240 fnt83 1391 1250(pr)m 8(e\207xop)k -240 fnt82 2161 1248(,)m 240 fnt83 2267 1250(post\207xop)m 240 fnt82 -3125 1248(,)m 3232(and)s 240 fnt83 3635 1250(nopar)m 2(sop)k -240 fnt82 4591 1248(are)m 4938(identi\207ers)s 5943(naming)s 6713(operators)s +1826 2670(liter)m 3(alwor)k 8(d)k 220 fnt5 1826 2371({)m +240 fnt3 1974 2376(object)m 220 fnt5 2646 2371(})m 240 fnt3 +1826 2043(object)m 2498(object)s 240 fnt1 0 1248(where)m 240 fnt3 +640 1250(in\207xop)m 240 fnt1 1285 1248(,)m 240 fnt3 1391 1250(pr)m 8(e\207xop)k +240 fnt1 2161 1248(,)m 240 fnt3 2267 1250(post\207xop)m 240 fnt1 +3125 1248(,)m 3232(and)s 240 fnt3 3635 1250(nopar)m 2(sop)k +240 fnt1 4591 1248(are)m 4938(identi\207ers)s 5943(naming)s 6713(operators)s 7653(which)s 8294(tak)s 2(e)k 8745(0,)s 8971(1)s 0 960(or)m 255(2)s 424(parameters,)s 1573(as)s 1819(sho)s 6(wn,)k -2541(and)s 240 fnt83 2940 962(liter)m 3(alwor)k 8(d)k -240 fnt82 4067 960(is)m 4272(a)s 4433(sequence)s 5362(of)s +2541(and)s 240 fnt3 2940 962(liter)m 3(alwor)k 8(d)k +240 fnt1 4067 960(is)m 4272(a)s 4433(sequence)s 5362(of)s 5628(non-space)s 6649(characters,)s 7719(or)s 7973(an)s 8251(arbitrary)s 0 672(sequence)m 969(of)s 1276(characters)s 2330(enclosed)s 3262(in)s 3541(double)s 4285(quotes.)s 5110(Ambiguities)s 6380(are)s 6763(resolv)s 3(ed)k 7664(by)s 7995(precedence)s 0 384(and)m 404(associati)s 6(vity)k 15(.)k grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -1974,37 +2002,37 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5765 -1579(-)m 5893(4)s 6067(-)s 9066 13419 0 13310 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4348 13844(-)m 4476(4)s 4650(-)s 480 13256(The)m 941(last)s +480 13256(The)m 941(last)s 1366(production)s 2494(allo)s 6(ws)k 3197(a)s 3397(meaning)s 4307(for)s 4679(e)s 3(xpressions)k 5877(such)s 6407(as)s -220 fnt35 6691 13253({})m 240 fnt82 6828 13256(,)m 6968(in)s +220 fnt5 6691 13253({})m 240 fnt1 6828 13256(,)m 6968(in)s 7245(which)s 7921(an)s 8238(object)s 8916(is)s 0 12968(missing.)m 907(The)s 1333(v)s 6(alue)k 1899(of)s 2168(this)s -240 fnt83 2562 12970(empty)m 3187(object)s 240 fnt82 3833 12968(is)m +240 fnt3 2562 12970(empty)m 3187(object)s 240 fnt1 3833 12968(is)m 4041(a)s 4205(rectangle)s 5135(of)s 5404(size)s 5829(0)s 6002(by)s 6294(0,)s 6519(with)s 6999(one)s 7399(column)s 8172(mark)s 8722(and)s 0 12680(one)m 402(ro)s 6(w)k 822(mark,)s 1420(that)s 1838(prints)s 2433(as)s 2683(nothing.)s 480 12306(The)m 938(second-last)s 2103(production)s 3227(generates)s 4210(sequences)s 5261(of)s 5562(arbitrary)s 6467(objects)s 7225(separated)s 8215(by)s -8539(white)s 0 12018(space,)m 671(called)s 240 fnt83 1333 12020(par)m 3(a)k 2(gr)k 3(aphs)k -240 fnt82 2439 12018(.)m 2636(Ignoring)s 3547(paragraph)s 4593(breaking)s +8539(white)s 0 12018(space,)m 671(called)s 240 fnt3 1333 12020(par)m 3(a)k 2(gr)k 3(aphs)k +240 fnt1 2439 12018(.)m 2636(Ignoring)s 3547(paragraph)s 4593(breaking)s 5517(for)s 5888(no)s 6(w)k 15(,)k 6421(the)s 6802(natural)s 7554(meaning)s 8464(is)s 8708(that)s 0 11730(the)m 361(tw)s 2(o)k 784(objects)s 1525(should)s 2235(appear)s @@ -2055,25 +2083,25 @@ grestore 5047(possible)s 5887(for)s 6225(identi\207ers)s 7231(without)s 8022(`@'.)s 480 7440(Equation)m 1418(formatting)s 2496(also)s 2951(demands)s 3871(symbols)s 4737(made)s 5328(from)s 5869(punctuation)s 7074(characters,)s 8165(such)s -8678(as)s 220 fnt35 8946 7437(+)m 240 fnt82 0 7152(and)m -220 fnt35 404 7149(<=)m 240 fnt82 652 7152(.)m 816(It)s +8678(as)s 220 fnt5 8946 7437(+)m 240 fnt1 0 7152(and)m +220 fnt5 404 7149(<=)m 240 fnt1 652 7152(.)m 816(It)s 1021(is)s 1231(traditional)s 2267(to)s 2506(allo)s 6(w)k 3085(such)s 3581(symbols)s 4430(to)s 4669(be)s 4951(juxtaposed,)s 6095(which)s 6737(means)s 7399(that)s 7817(the)s 8165(input)s -220 fnt35 480 6702(<=++)m 240 fnt82 0 6251(for)m 354(e)s 3(xample)k +220 fnt5 480 6702(<=++)m 240 fnt1 0 6251(for)m 354(e)s 3(xample)k 1234(must)s 1776(be)s 2075(interpreted)s 3184(within)s 3869(the)s 4234(le)s 3(xical)k 4939(analyser)s 5812(by)s 6123(searching)s 7109(the)s 7474(symbol)s 8251(table)s 8788(for)s 0 5963(its)m 306(pre\207x)s 3(es)k 1142(in)s 1416(the)s 1795(order)s -220 fnt35 2390 5960(<=++)m 240 fnt82 2894 5963(,)m 220 fnt35 -3032 5960(<=+)m 240 fnt82 3408 5963(,)m 220 fnt35 3546 5960(<=)m -240 fnt82 3794 5963(.)m 3988(Although)s 4981(this)s 5408(tak)s 2(es)k +220 fnt5 2390 5960(<=++)m 240 fnt1 2894 5963(,)m 220 fnt5 +3032 5960(<=+)m 240 fnt1 3408 5963(,)m 220 fnt5 3546 5960(<=)m +240 fnt1 3794 5963(.)m 3988(Although)s 4981(this)s 5408(tak)s 2(es)k 5979(quadratic)s 6952(time,)s 7514(in)s 7788(practice)s 8630(such)s 0 5675(sequences)m 1021(are)s 1368(too)s 1727(short)s 2265(to)s 2504(mak)s 2(e)k 3076(a)s 3242(more)s 3789(sophisticated)s 5095(linear)s 5698(method)s 6474(lik)s 2(e)k 6886(tries)s -7347(w)s 2(orthwhile.)k 240 fnt84 0 5026(2.3.)m 471(Basic)s -1073(structural)s 2149(operators)s 240 fnt82 480 4549(A)m 696(programming)s +7347(w)s 2(orthwhile.)k 240 fnt2 0 5026(2.3.)m 471(Basic)s +1073(structural)s 2149(operators)s 240 fnt1 480 4549(A)m 696(programming)s 2036(language)s 2941(may)s 3393(be)s 3660(considered)s 4739(complete)s 5656(when)s 6218(it)s 6395(attains)s 7054(the)s 7388(po)s 6(wer)k 8025(of)s 8281(a)s 8432(T)s 10(uring)k 0 4261(machine,)m @@ -2116,9 +2144,14 @@ grestore 4971(kinds)s 5541(of)s 5812(objects.)s 480 547(The)m 906(simplest)s 1759(objects)s 2485(are)s 2829(empty)s 3479(objects)s 4204(and)s 4605(literal)s 5213(w)s 2(ords)k 5844(lik)s 2(e)k -220 fnt35 6254 544(metempsychosis)m 240 fnt82 7882 547(,)m 7986(which)s +220 fnt5 6254 544(metempsychosis)m 240 fnt1 7882 547(,)m 7986(which)s 8625(ha)s 4(v)k 3(e)k grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -2135,91 +2168,91 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5769 -1582(-)m 5897(5)s 6063(-)s 9066 13413 0 13413 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4352 13841(-)m 4480(5)s 4646(-)s 240 fnt83 266 13217(object)m -220 fnt35 974 13212(/)m 240 fnt83 1038 13217(gap)m 1511(object)s -240 fnt82 3816 13215(V)m 26(ertical)k 4613(concatenation)s 5998(with)s -6480(mark)s 7032(alignment)s 240 fnt83 266 12929(object)m 220 fnt35 -974 12924(//)m 240 fnt83 1099 12929(gap)m 1572(object)s 240 fnt82 +240 fnt3 266 13217(object)m +220 fnt5 974 13212(/)m 240 fnt3 1038 13217(gap)m 1511(object)s +240 fnt1 3816 13215(V)m 26(ertical)k 4613(concatenation)s 5998(with)s +6480(mark)s 7032(alignment)s 240 fnt3 266 12929(object)m 220 fnt5 +974 12924(//)m 240 fnt3 1099 12929(gap)m 1572(object)s 240 fnt1 3816 12927(V)m 26(ertical)k 4613(concatenation)s 5998(with)s 6480(left)s -6857(justi\207cation)s 240 fnt83 266 12641(object)m 220 fnt35 974 12636(|)m -240 fnt83 1011 12641(gap)m 1484(object)s 240 fnt82 3816 12639(Horizontal)m -4893(concatenation)s 6278(with)s 6760(mark)s 7312(alignment)s 240 fnt83 -266 12353(object)m 220 fnt35 974 12348(||)m 240 fnt83 1068 12353(gap)m -1541(object)s 240 fnt82 3816 12351(Horizontal)m 4893(concatenation)s 6278(with)s -6760(top-justi\207cation)s 240 fnt83 266 12065(object)m 220 fnt35 974 12060(&)m -240 fnt83 1116 12065(gap)m 1589(object)s 240 fnt82 3816 12063(Horizontal)m -4893(concatenation)s 6278(within)s 6946(paragraphs)s 220 fnt35 266 11772(@OneCol)m -240 fnt83 1338 11777(object)m 240 fnt82 3816 11775(Hide)m 4337(all)s +6857(justi\207cation)s 240 fnt3 266 12641(object)m 220 fnt5 974 12636(|)m +240 fnt3 1011 12641(gap)m 1484(object)s 240 fnt1 3816 12639(Horizontal)m +4893(concatenation)s 6278(with)s 6760(mark)s 7312(alignment)s 240 fnt3 +266 12353(object)m 220 fnt5 974 12348(||)m 240 fnt3 1068 12353(gap)m +1541(object)s 240 fnt1 3816 12351(Horizontal)m 4893(concatenation)s 6278(with)s +6760(top-justi\207cation)s 240 fnt3 266 12065(object)m 220 fnt5 974 12060(&)m +240 fnt3 1116 12065(gap)m 1589(object)s 240 fnt1 3816 12063(Horizontal)m +4893(concatenation)s 6278(within)s 6946(paragraphs)s 220 fnt5 266 11772(@OneCol)m +240 fnt3 1338 11777(object)m 240 fnt1 3816 11775(Hide)m 4337(all)s 4630(b)s 4(ut)k 4992(one)s 5394(column)s 6169(mark)s -6721(of)s 240 fnt83 6992 11777(object)m 220 fnt35 266 11484(@OneRo)m 3(w)k -240 fnt83 1457 11489(object)m 240 fnt82 3816 11487(Hide)m 4337(all)s +6721(of)s 240 fnt3 6992 11777(object)m 220 fnt5 266 11484(@OneRo)m 3(w)k +240 fnt3 1457 11489(object)m 240 fnt1 3816 11487(Hide)m 4337(all)s 4630(b)s 4(ut)k 4992(one)s 5394(ro)s 6(w)k -5814(mark)s 6366(of)s 240 fnt83 6637 11489(object)m 266 11201(font)m -220 fnt35 762 11196(@F)m 6(ont)k 240 fnt83 1534 11201(object)m -240 fnt82 3816 11199(Render)m 240 fnt83 4567 11201(object)m 240 fnt82 -5215 11199(in)m 5458(nominated)s 6526(font)s 240 fnt83 266 10913(br)m 8(eakstyle)k -220 fnt35 1353 10908(@Break)m 240 fnt83 2269 10913(object)m 240 fnt82 -3816 10911(Break)m 4448(paragraphs)s 5548(of)s 240 fnt83 5819 10913(object)m -240 fnt82 6467 10911(in)m 6710(nominated)s 7778(style)s 240 fnt83 -266 10625(spacestyle)m 220 fnt35 1361 10620(@Space)m 240 fnt83 2318 10625(object)m -240 fnt82 3816 10623(Render)m 4567(spaces)s 5242(between)s 6096(w)s 2(ords)k -6730(in)s 6973(nominated)s 8041(style)s 240 fnt83 266 10337(length)m -220 fnt35 979 10332(@Wide)m 240 fnt83 1813 10337(object)m 240 fnt82 -3816 10335(Render)m 240 fnt83 4567 10337(object)m 240 fnt82 5215 10335(to)m -5454(width)s 240 fnt83 6056 10337(length)m 266 10049(length)m 220 fnt35 -979 10044(@High)m 240 fnt83 1758 10049(object)m 240 fnt82 3816 10047(Render)m -240 fnt83 4567 10049(object)m 240 fnt82 5215 10047(to)m 5454(height)s -240 fnt83 6112 10049(length)m 220 fnt35 266 9756(@HExpand)m 240 fnt83 -1499 9761(object)m 240 fnt82 3816 9759(Expand)m 4606(horizontal)s 5630(g)s 1(aps)k +5814(mark)s 6366(of)s 240 fnt3 6637 11489(object)m 266 11201(font)m +220 fnt5 762 11196(@F)m 6(ont)k 240 fnt3 1534 11201(object)m +240 fnt1 3816 11199(Render)m 240 fnt3 4567 11201(object)m 240 fnt1 +5215 11199(in)m 5458(nominated)s 6526(font)s 240 fnt3 266 10913(br)m 8(eakstyle)k +220 fnt5 1353 10908(@Break)m 240 fnt3 2269 10913(object)m 240 fnt1 +3816 10911(Break)m 4448(paragraphs)s 5548(of)s 240 fnt3 5819 10913(object)m +240 fnt1 6467 10911(in)m 6710(nominated)s 7778(style)s 240 fnt3 +266 10625(spacestyle)m 220 fnt5 1361 10620(@Space)m 240 fnt3 2318 10625(object)m +240 fnt1 3816 10623(Render)m 4567(spaces)s 5242(between)s 6096(w)s 2(ords)k +6730(in)s 6973(nominated)s 8041(style)s 240 fnt3 266 10337(length)m +220 fnt5 979 10332(@Wide)m 240 fnt3 1813 10337(object)m 240 fnt1 +3816 10335(Render)m 240 fnt3 4567 10337(object)m 240 fnt1 5215 10335(to)m +5454(width)s 240 fnt3 6056 10337(length)m 266 10049(length)m 220 fnt5 +979 10044(@High)m 240 fnt3 1758 10049(object)m 240 fnt1 3816 10047(Render)m +240 fnt3 4567 10049(object)m 240 fnt1 5215 10047(to)m 5454(height)s +240 fnt3 6112 10049(length)m 220 fnt5 266 9756(@HExpand)m 240 fnt3 +1499 9761(object)m 240 fnt1 3816 9759(Expand)m 4606(horizontal)s 5630(g)s 1(aps)k 6119(to)s 6358(\207ll)s 6678(a)s 4(v)k 6(ailable)k -7586(space)s 220 fnt35 266 9468(@VExpand)m 240 fnt83 1487 9473(object)m -240 fnt82 3816 9471(Expand)m 4606(v)s 3(ertical)k 5373(g)s 1(aps)k +7586(space)s 220 fnt5 266 9468(@VExpand)m 240 fnt3 1487 9473(object)m +240 fnt1 3816 9471(Expand)m 4606(v)s 3(ertical)k 5373(g)s 1(aps)k 5862(to)s 6101(\207ll)s 6421(a)s 4(v)k 6(ailable)k -7329(space)s 220 fnt35 266 9180(@HScale)m 240 fnt83 1307 9185(object)m -240 fnt82 3816 9183(Horizontal)m 4893(geometrical)s 6075(scaling)s 6805(to)s +7329(space)s 220 fnt5 266 9180(@HScale)m 240 fnt3 1307 9185(object)m +240 fnt1 3816 9183(Horizontal)m 4893(geometrical)s 6075(scaling)s 6805(to)s 7044(\207ll)s 7364(a)s 4(v)k 6(ailable)k 8272(space)s -220 fnt35 266 8892(@VScale)m 240 fnt83 1295 8897(object)m 240 fnt82 +220 fnt5 266 8892(@VScale)m 240 fnt3 1295 8897(object)m 240 fnt1 3816 8895(V)m 26(ertical)k 4613(geometrical)s 5795(scaling)s 6525(to)s 6764(\207ll)s 7084(a)s 4(v)k 6(ailable)k 7992(space)s -240 fnt83 266 8609(angle)m 220 fnt35 911 8604(@Rotate)m 240 fnt83 -1892 8609(object)m 240 fnt82 3816 8607(Rotate)m 240 fnt83 4496 8609(object)m -240 fnt82 5144 8607(by)m 240 fnt83 5438 8609(angle)m 266 8321(P)m 19(ostScript)k -220 fnt35 1367 8316(@Gr)m 2(aphic)k 240 fnt83 2471 8321(object)m -240 fnt82 3816 8319(Escape)m 4549(to)s 4788(graphics)s 5649(language)s -220 fnt35 266 8028(@Ne)m 6(xt)k 240 fnt83 1050 8033(object)m -240 fnt82 3816 8031(Add)m 4287(1)s 4442(to)s 4681(an)s -4964(object)s 5608(denoting)s 6499(a)s 6665(number)s 240 fnt83 -266 7745(object)m 220 fnt35 974 7740(@Case)m 240 fnt83 1821 7745(alternatives)m -240 fnt82 3816 7743(Select)m 4459(from)s 4983(a)s 5149(set)s +240 fnt3 266 8609(angle)m 220 fnt5 911 8604(@Rotate)m 240 fnt3 +1892 8609(object)m 240 fnt1 3816 8607(Rotate)m 240 fnt3 4496 8609(object)m +240 fnt1 5144 8607(by)m 240 fnt3 5438 8609(angle)m 266 8321(P)m 19(ostScript)k +220 fnt5 1367 8316(@Gr)m 2(aphic)k 240 fnt3 2471 8321(object)m +240 fnt1 3816 8319(Escape)m 4549(to)s 4788(graphics)s 5649(language)s +220 fnt5 266 8028(@Ne)m 6(xt)k 240 fnt3 1050 8033(object)m +240 fnt1 3816 8031(Add)m 4287(1)s 4442(to)s 4681(an)s +4964(object)s 5608(denoting)s 6499(a)s 6665(number)s 240 fnt3 +266 7745(object)m 220 fnt5 974 7740(@Case)m 240 fnt3 1821 7745(alternatives)m +240 fnt1 3816 7743(Select)m 4459(from)s 4983(a)s 5149(set)s 5474(of)s 5745(alternati)s 6(v)k 3(e)k 6799(objects)s -240 fnt83 266 7457(identi\207er)m 220 fnt35 1254 7452(&&)m 240 fnt83 -1662 7457(object)m 240 fnt82 3816 7455(Cross)m 4412(reference)s 240 fnt83 -266 7169(cr)m 10(oss-r)k 8(efer)k 8(ence)k 220 fnt35 -1839 7164(@Open)m 240 fnt83 2705 7169(object)m 240 fnt82 3816 7167(Retrie)m 6(v)k 3(e)k +240 fnt3 266 7457(identi\207er)m 220 fnt5 1254 7452(&&)m 240 fnt3 +1662 7457(object)m 240 fnt1 3816 7455(Cross)m 4412(reference)s 240 fnt3 +266 7169(cr)m 10(oss-r)k 8(efer)k 8(ence)k 220 fnt5 +1839 7164(@Open)m 240 fnt3 2705 7169(object)m 240 fnt1 3816 7167(Retrie)m 6(v)k 3(e)k 4672(v)s 6(alue)k 5240(from)s 5764(cross)s 6306(reference)s -240 fnt83 266 6881(cr)m 10(oss-r)k 8(efer)k 8(ence)k -220 fnt35 1839 6876(@T)m 26(agged)k 240 fnt83 2888 6881(object)m -240 fnt82 3816 6879(Attach)m 4510(cross)s 5052(referencing)s 6192(tag)s -6537(to)s 6776(object)s 200 fnt84 1346 6226(Figur)m 3(e)k -1954(1.)s 200 fnt82 2196 6227(The)m 2552(23)s 2789(primiti)s 5(v)k 3(e)k +240 fnt3 266 6881(cr)m 10(oss-r)k 8(efer)k 8(ence)k +220 fnt5 1839 6876(@T)m 26(agged)k 240 fnt3 2888 6881(object)m +240 fnt1 3816 6879(Attach)m 4510(cross)s 5052(referencing)s 6192(tag)s +6537(to)s 6776(object)s 200 fnt2 1346 6226(Figur)m 3(e)k +1954(1.)s 200 fnt1 2196 6227(The)m 2552(23)s 2789(primiti)s 5(v)k 3(e)k 3556(operators)s 4338(of)s 4564(Lout,)s 5030(in)s 5232(order)s -5702(of)s 5928(increasing)s 6789(precedence.)s 240 fnt82 0 5596(one)m +5702(of)s 5928(increasing)s 6789(precedence.)s 240 fnt1 0 5596(one)m 402(column)s 1177(mark)s 1729(and)s 2133(one)s 2535(ro)s 6(w)k 2955(mark:)s 1572 215 0 106 240 288 60 480 5090 LoutGr2 grestore save gsave 200 dict begin lfigdict begin @@ -2247,10 +2280,10 @@ grestore 0 4639(T)m 19(o)k 337(place)s 934(tw)s 2(o)k 1381(arbitrary)s 2294(objects)s 3059(side)s 3537(by)s 3868(side,)s 4398(we)s 4770(use)s 5182(the)s -5567(in\207x)s 6099(operator)s 220 fnt35 6992 4636(|)m 240 fnt82 +5567(in\207x)s 6099(operator)s 220 fnt5 6992 4636(|)m 240 fnt1 7029 4639(,)m 7173(denoting)s 8102(horizontal)s 0 4351(concatenation.)m 1492(F)s 3(or)k -1881(e)s 3(xample,)k 220 fnt35 480 3850(USA |0.2i A)m 6(ustr)k 2(alia)k -240 fnt82 0 3395(produces)m 915(the)s 1263(object)s 476 166 0 57 240 288 60 480 2889 LoutGr2 +1881(e)s 3(xample,)k 220 fnt5 480 3850(USA |0.2i A)m 6(ustr)k 2(alia)k +240 fnt1 0 3395(produces)m 915(the)s 1263(object)s 476 166 0 57 240 288 60 480 2889 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 476 165 0 57 240 288 60 0 0 LoutGr2 @@ -2303,7 +2336,7 @@ grestore 6205(of)s 6491(the)s 6855(objects)s 7598(relati)s 6(v)k 3(e)k 8376(to)s 8631(each)s 0 2150(other;)m 611(their)s 1116(horizontal)s 2148(separation)s 3196(is)s 3414(determined)s 4555(by)s 4857(the)s -240 fnt83 5214 2152(gap)m 240 fnt82 5635 2150(attached)m 6497(to)s +240 fnt3 5214 2152(gap)m 240 fnt1 5635 2150(attached)m 6497(to)s 6744(the)s 7101(operator)s 9(,)k 8003(in)s 8254(this)s 8659(case)s 0 1862(0.2)m 361(inches.)s 1143(W)s 19(e)k 1519(think)s 2080(of)s 2358(the)s 2713(g)s 1(ap)k @@ -2311,12 +2344,17 @@ grestore 5349(although)s 6251(strictly)s 6974(it)s 7174(is)s 7391(a)s 7564(third)s 8081(parameter)s 13(.)k 0 1574(It)m 205(may)s 671(be)s 953(omitted,)s 1790(def)s 2(aulting)k 2810(to)s -220 fnt35 3049 1571(0i)m 240 fnt82 3205 1574(.)m 240 fnt83 -480 1202(V)m 26(ertical)k 1294(concatenation)s 240 fnt82 2644 1200(,)m +220 fnt5 3049 1571(0i)m 240 fnt1 3205 1574(.)m 240 fnt3 +480 1202(V)m 26(ertical)k 1294(concatenation)s 240 fnt1 2644 1200(,)m 2762(denoted)s 3590(by)s 3895(the)s 4254(in\207x)s 4760(operator)s -220 fnt35 5627 1197(/)m 240 fnt82 5691 1200(,)m 5809(is)s +220 fnt5 5627 1197(/)m 240 fnt1 5691 1200(,)m 5809(is)s 6031(the)s 6390(same)s 6948(apart)s 7497(from)s 8032(the)s -8392(change)s 0 912(of)m 271(direction:)s 220 fnt35 480 461(A)m 6(ustr)k 2(alia /0.1i USA)k +8392(change)s 0 912(of)m 271(direction:)s 220 fnt5 480 461(A)m 6(ustr)k 2(alia /0.1i USA)k + +grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore grestore @@ -2334,23 +2372,23 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5765 -1581(-)m 5893(6)s 6066(-)s 9066 13414 0 13305 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4348 13842(-)m 4476(6)s 4649(-)s 0 13251(produces)m 915(the)s +0 13251(produces)m 915(the)s 1263(object)s 875 165 0 56 240 288 60 480 12746 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore @@ -2402,11 +2440,11 @@ grestore 3233(0.1)s 3568(inch)s 4037(g)s 1(ap.)k 480 11612(Consider)m 1404(no)s 6(w)k 1865(what)s 2390(happens)s 3226(when)s 3802(horizontal)s 4826(and)s 5230(v)s 3(ertical)k 5997(are)s -6344(combined:)s 220 fnt35 1000 11111({)m 1186(USA)s 2442(|0.2i)s +6344(combined:)s 220 fnt5 1000 11111({)m 1186(USA)s 2442(|0.2i)s 2958(A)s 6(ustr)k 2(alia)k 3919(})s 480 10823(/0.1i)m 1000({)s 1186(W)s 8(ashington)k 2442(|)s 2958(Canberr)s 2(a)k -3987(})s 240 fnt82 0 10324(The)m 445(tw)s 2(o)k -872(parameters)s 1987(of)s 220 fnt35 2275 10321(/)m 240 fnt82 +3987(})s 240 fnt1 0 10324(The)m 445(tw)s 2(o)k +872(parameters)s 1987(of)s 220 fnt5 2275 10321(/)m 240 fnt1 2416 10324(no)m 6(w)k 2895(ha)s 4(v)k 3(e)k 3413(tw)s 2(o)k 3840(column)s 4632(marks)s 5284(each,)s 5846(and)s 6268(the)s 3(y)k 6748(will)s 7191(be)s @@ -2510,12 +2548,12 @@ grestore grestore end end restore grestore -0 8720(The)m 220 fnt35 -425 8717(0.2i)m 240 fnt82 821 8720(g)m 1(ap)k 1216(separates)s +0 8720(The)m 220 fnt5 +425 8717(0.2i)m 240 fnt1 821 8720(g)m 1(ap)k 1216(separates)s 2139(columns,)s 3054(not)s 3416(indi)s 6(vidual)k 4432(items)s 4997(in)s 5237(columns,)s 6152(so)s 6414(a)s 6577(g)s 1(ap)k -6972(attached)s 7823(to)s 8059(the)s 8403(second)s 220 fnt35 -0 8429(|)m 240 fnt82 96 8432(w)m 2(ould)k 749(serv)s 3(e)k +6972(attached)s 7823(to)s 8059(the)s 8403(second)s 220 fnt5 +0 8429(|)m 240 fnt1 96 8432(w)m 2(ould)k 749(serv)s 3(e)k 1304(no)s 1595(purpose;)s 2464(an)s 3(y)k 2859(such)s 3353(g)s 1(ap)k 3749(is)s 3957(ignored.)s 4851(If)s 5079(the)s 5425(number)s 6214(of)s 6484(marks)s 7117(to)s @@ -2527,9 +2565,9 @@ grestore 959(all)s 1263(a)s 4(v)k 6(ailable)k 2182(for)s 2531(mer)s 4(ging)k 3389(with)s 3882(neighbouring)s 5223(marks)s 5869(by)s 6174(other)s 6736(concatenation)s 8133(operators.)s 0 7568(The)m -428(precedence)s 1559(of)s 220 fnt35 1830 7565(|)m 240 fnt82 +428(precedence)s 1559(of)s 220 fnt5 1830 7565(|)m 240 fnt1 1927 7568(is)m 2137(higher)s 2808(than)s 3277(the)s 3625(precedence)s -4756(of)s 220 fnt35 5027 7565(/)m 240 fnt82 5091 7568(,)m +4756(of)s 220 fnt5 5027 7565(/)m 240 fnt1 5091 7568(,)m 5198(so)s 5464(the)s 5812(braces)s 6473(could)s 7063(be)s 7345(omitted.)s 480 7194(When)m 1131(lines)s 1656(of)s 1950(te)s 3(xt)k 2387(are)s 2757(concatenated,)s 4135(it)s 4349(is)s 4582(con)s 9(v)k 3(entional)k @@ -2542,20 +2580,20 @@ grestore 2417(for)s 2743(measurement)s 4065(e)s 6(v)k 4(olv)k 3(ed)k 4855(o)s 3(v)k 3(er)k 5322(the)s 5658(years)s 6200(into)s 6613(a)s 6767(system)s 7478(of)s 7737(six)s -240 fnt83 8059 6620(gap)m 8459(modes)s 240 fnt82 0 6330(\(Figure)m +240 fnt3 8059 6620(gap)m 8459(modes)s 240 fnt1 0 6330(\(Figure)m 769(2\),)s 1085(e)s 3(xpressed)k 2094(by)s 2398(appending)s 3460(a)s 3636(letter)s 4195(to)s 4445(the)s 4803(length.)s -5576(F)s 3(or)k 5975(e)s 3(xample,)k 220 fnt35 -6899 6327(|0.2i)m 240 fnt82 7366 6330(is)m 7586(an)s 7880(abbre)s 6(viation)k -0 6042(for)m 220 fnt35 377 6039(|0.2ie)m 240 fnt82 901 6042(,)m +5576(F)s 3(or)k 5975(e)s 3(xample,)k 220 fnt5 +6899 6327(|0.2i)m 240 fnt1 7366 6330(is)m 7586(an)s 7880(abbre)s 6(viation)k +0 6042(for)m 220 fnt5 377 6039(|0.2ie)m 240 fnt1 901 6042(,)m 1047(meaning)s 1963(0.2)s 2356(inches)s 3057(measured)s 4070(from)s -4633(edge)s 5180(to)s 5458(edge;)s 220 fnt35 6061 6039(|0.3ix)m -240 fnt82 6678 6042(produces)m 7632(a)s 7837(0.3)s 8220(inch)s +4633(edge)s 5180(to)s 5458(edge;)s 220 fnt5 6061 6039(|0.3ix)m +240 fnt1 6678 6042(produces)m 7632(a)s 7837(0.3)s 8220(inch)s 8728(g)s 1(ap)k 0 5754(measured)m 972(from)s 1493(mark)s 2043(to)s 2279(mark)s 2829(and)s 3230(widened)s 4097(if)s 4311(necessary)s 5292(to)s 5528(pre)s 6(v)k 3(ent)k -6294(o)s 3(v)k 3(erstriking;)k 7552(and)s 220 fnt35 -7954 5751(|2.5it)m 240 fnt82 8478 5754(places)m 0 5466(its)m 273(right)s +6294(o)s 3(v)k 3(erstriking;)k 7552(and)s 220 fnt5 +7954 5751(|2.5it)m 240 fnt1 8478 5754(places)m 0 5466(its)m 273(right)s 781(parameter)s 1792(2.5)s 2135(inches)s 2794(from)s 3314(the)s 3659(current)s 4392(left)s 4766(mar)s 4(gin,)k 5543(irrespecti)s 6(v)k 3(e)k 6699(of)s 6967(the)s 7312(position)s 8137(of)s 8405(the)s @@ -2564,15 +2602,15 @@ grestore 4098(units)s 4606(of)s 4870(measurement)s 6197(\(inches,)s 6987(centimetres,)s 8186(multiples)s 0 4890(of)m 288(the)s 654(current)s 1407(font)s 1870(size,)s 2365(etc.\),)s 2907(the)s 3272(most)s 3815(interesting)s -4894(being)s 5496(the)s 220 fnt35 5862 4887(r)m 240 fnt82 -6012 4890(unit:)m 6568(one)s 220 fnt35 6987 4887(r)m 240 fnt82 +4894(being)s 5496(the)s 220 fnt5 5862 4887(r)m 240 fnt1 +6012 4890(unit:)m 6568(one)s 220 fnt5 6987 4887(r)m 240 fnt1 7138 4890(is)m 7365(the)s 7731(column)s 8524(width)s 0 4602(minus)m 635(the)s 982(width)s 1583(of)s 1852(the)s 2199(follo)s 6(wing)k -3175(object,)s 3864(so)s 4129(that)s 220 fnt35 4546 4599(|1r)m -8(t)k -240 fnt82 4921 4602(produces)m 5835(suf\207cient)s 6783(space)s 7368(to)s +3175(object,)s 3864(so)s 4129(that)s 220 fnt5 4546 4599(|1r)m -8(t)k +240 fnt1 4921 4602(produces)m 5835(suf\207cient)s 6783(space)s 7368(to)s 7606(right)s 8116(justify)s 8778(the)s 0 4314(follo)m 6(wing)k -987(object,)s 1688(and)s 220 fnt35 2103 4311(|0.5r)m -8(t)k -240 fnt82 2673 4314(to)m 2923(center)s 3576(it.)s 3883(These)s +987(object,)s 1688(and)s 220 fnt5 2103 4311(|0.5r)m -8(t)k +240 fnt1 2673 4314(to)m 2923(center)s 3576(it.)s 3883(These)s 4520(features)s 5337(implement)s 6429(spacings)s 7315(needed)s 8061(in)s 8315(practice)s 0 4026(rather)m 608(than)s 1069(suggested)s 2063(by)s 2349(theory)s 15(.)k 3101(The)s 3(y)k 3636(w)s 2(ork)k @@ -2584,7 +2622,7 @@ grestore 7567(only)s 8051(the)s 8403(second)s 0 3076(should)m 697(be)s 979(visible)s 1672(outside)s 2419(the)s 2767(object:)s gsave 480 2245 translate -240 fnt83 156 491 0 288 240 288 12 LoutGraphic +240 fnt3 156 491 0 288 240 288 12 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -2615,8 +2653,8 @@ grestore end end restore grestore 0 1794(This)m 493(is)s 721(a)s 905(common)s -1817(problem,)s 2739(and)s 3161(accordingly)s 4361(a)s 220 fnt35 -4545 1791(@OneRo)m 3(w)k 240 fnt82 5694 1794(operator)m 6567(w)s 2(as)k +1817(problem,)s 2739(and)s 3161(accordingly)s 4361(a)s 220 fnt5 +4545 1791(@OneRo)m 3(w)k 240 fnt1 5694 1794(operator)m 6567(w)s 2(as)k 7006(introduced)s 8105(for)s 8461(hiding)s 0 1506(all)m 291(b)s 4(ut)k 650(one)s 1050(of)s 1318(the)s 1663(ro)s 6(w)k 2081(marks)s 2713(of)s 2981(its)s 3255(parameter)s 13(.)k @@ -2624,8 +2662,13 @@ grestore 6686(is)s 6893(the)s 7238(survi)s 6(v)k 4(or)k 9(,)k 8121(b)s 4(ut)k 8480(a)s 8643(later)s 0 1218(mark)m 552(can)s 941(be)s 1223(chosen)s 1945(by)s 2239(pre\207xing)s -220 fnt35 3156 1215(^)m 240 fnt82 3322 1218(to)m 3561(the)s -3909(preceding)s 4905(concatenation)s 6290(operator:)s 220 fnt35 480 717(@OneRo)m 3(w { X ^/2p @HLine /2p )k 19(Y })k +220 fnt5 3156 1215(^)m 240 fnt1 3322 1218(to)m 3561(the)s +3909(preceding)s 4905(concatenation)s 6290(operator:)s 220 fnt5 480 717(@OneRo)m 3(w { X ^/2p @HLine /2p )k 19(Y })k + +grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore grestore @@ -2645,40 +2688,40 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5768 -1575(-)m 5896(7)s 6064(-)s 9066 13422 0 13422 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4351 13848(-)m 4479(7)s 4647(-)s 6693 8221 0 8221 240 288 60 1186 5201 LoutGr2 +6693 8221 0 8221 240 288 60 1186 5201 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore -0 7447(Edge-to-edge)m 220 fnt35 -1786 7444(|)m 240 fnt83 1843 7449(length)m 220 fnt35 2456 7444(e)m -240 fnt82 0 6238(Hyphenation)m 220 fnt35 1786 6235(|)m 240 fnt83 -1843 6240(length)m 220 fnt35 2456 6235(h)m 240 fnt82 0 5029(Ov)m 3(erstrik)k 2(e)k -220 fnt35 1786 5026(|)m 240 fnt83 1843 5031(length)m 220 fnt35 -2456 5026(o)m 240 fnt82 0 3820(Mark-to-mark)m 220 fnt35 1786 3817(|)m -240 fnt83 1843 3822(length)m 220 fnt35 2456 3817(x)m 240 fnt82 -0 2611(K)m 6(erning)k 220 fnt35 1786 2608(|)m 240 fnt83 -1843 2613(length)m 220 fnt35 2456 2608(k)m 240 fnt82 0 1402(T)m 19(ab)k 4(ulation)k -220 fnt35 1786 1399(|)m 240 fnt83 1843 1404(length)m 220 fnt35 +0 7447(Edge-to-edge)m 220 fnt5 +1786 7444(|)m 240 fnt3 1843 7449(length)m 220 fnt5 2456 7444(e)m +240 fnt1 0 6238(Hyphenation)m 220 fnt5 1786 6235(|)m 240 fnt3 +1843 6240(length)m 220 fnt5 2456 6235(h)m 240 fnt1 0 5029(Ov)m 3(erstrik)k 2(e)k +220 fnt5 1786 5026(|)m 240 fnt3 1843 5031(length)m 220 fnt5 +2456 5026(o)m 240 fnt1 0 3820(Mark-to-mark)m 220 fnt5 1786 3817(|)m +240 fnt3 1843 3822(length)m 220 fnt5 2456 3817(x)m 240 fnt1 +0 2611(K)m 6(erning)k 220 fnt5 1786 2608(|)m 240 fnt3 +1843 2613(length)m 220 fnt5 2456 2608(k)m 240 fnt1 0 1402(T)m 19(ab)k 4(ulation)k +220 fnt5 1786 1399(|)m 240 fnt3 1843 1404(length)m 220 fnt5 2456 1399(t)m gsave 3291 0 translate -240 fnt82 3402 8221 0 8221 240 288 60 LoutGraphic +240 fnt1 3402 8221 0 8221 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -2687,7 +2730,7 @@ pop pop grestore gsave 567 7485 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -2697,7 +2740,7 @@ grestore grestore gsave 680 7371 translate -180 fnt82 2722 567 0 567 180 288 45 LoutGraphic +180 fnt1 2722 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -2705,7 +2748,7 @@ grestore grestore gsave 2268 7485 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -2715,7 +2758,7 @@ grestore grestore gsave 2551 7371 translate -180 fnt82 851 567 0 567 180 288 45 LoutGraphic +180 fnt1 851 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -2729,7 +2772,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2739,7 +2782,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 1020 0 0 0 180 288 45 LoutGraphic +180 fnt1 1020 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2750,7 +2793,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2765,7 +2808,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2775,7 +2818,7 @@ grestore grestore gsave 1247 7395 translate -180 fnt82 1020 0 0 0 180 288 45 LoutGraphic +180 fnt1 1020 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2786,7 +2829,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2794,9 +2837,9 @@ grestore grestore grestore -180 fnt83 1534 7192(length)m gsave +180 fnt3 1534 7192(length)m gsave 567 6304 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -2806,7 +2849,7 @@ grestore grestore gsave 680 6190 translate -180 fnt82 2722 567 0 567 180 288 45 LoutGraphic +180 fnt1 2722 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -2814,7 +2857,7 @@ grestore grestore gsave 2268 6304 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -2824,7 +2867,7 @@ grestore grestore gsave 2551 6190 translate -180 fnt82 851 567 0 567 180 288 45 LoutGraphic +180 fnt1 851 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -2838,7 +2881,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2848,7 +2891,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 1020 0 0 0 180 288 45 LoutGraphic +180 fnt1 1020 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2859,7 +2902,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2874,7 +2917,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2884,7 +2927,7 @@ grestore grestore gsave 1247 6214 translate -180 fnt82 1020 0 0 0 180 288 45 LoutGraphic +180 fnt1 1020 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2895,7 +2938,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2905,7 +2948,7 @@ grestore grestore 1534 6011(length)m gsave 567 5123 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -2915,7 +2958,7 @@ grestore grestore gsave 680 5009 translate -180 fnt82 2722 567 0 567 180 288 45 LoutGraphic +180 fnt1 2722 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -2923,7 +2966,7 @@ grestore grestore gsave 2268 5123 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -2933,7 +2976,7 @@ grestore grestore gsave 2551 5009 translate -180 fnt82 851 567 0 567 180 288 45 LoutGraphic +180 fnt1 851 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -2947,7 +2990,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2957,7 +3000,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2968,7 +3011,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2983,7 +3026,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -2993,7 +3036,7 @@ grestore grestore gsave 680 4976 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3004,7 +3047,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3015,7 +3058,7 @@ grestore 1392 4774(length)m gsave 567 3886 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -3025,7 +3068,7 @@ grestore grestore gsave 680 3772 translate -180 fnt82 2722 567 0 567 180 288 45 LoutGraphic +180 fnt1 2722 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -3033,7 +3076,7 @@ grestore grestore gsave 2268 3886 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -3043,7 +3086,7 @@ grestore grestore gsave 2551 3772 translate -180 fnt82 851 567 0 567 180 288 45 LoutGraphic +180 fnt1 851 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -3057,7 +3100,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3067,7 +3110,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3078,7 +3121,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3093,7 +3136,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3103,7 +3146,7 @@ grestore grestore gsave 680 3739 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3114,7 +3157,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3122,9 +3165,9 @@ grestore grestore grestore -180 fnt82 941 3536(max)m 180 fnt78 1256 3531(\()m 180 fnt83 -1319 3537(length)m 180 fnt78 1774 3531(,)m 180 fnt83 1854 3537(a)m -180 fnt78 1994 3531(+)m 180 fnt83 2145 3537(b)m 180 fnt78 +180 fnt1 941 3536(max)m 180 fnt4 1256 3531(\()m 180 fnt3 +1319 3537(length)m 180 fnt4 1774 3531(,)m 180 fnt3 1854 3537(a)m +180 fnt4 1994 3531(+)m 180 fnt3 2145 3537(b)m 180 fnt4 2240 3531(\))m gsave 1247 4363 translate 180.0000 rotate @@ -3133,7 +3176,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3143,7 +3186,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 567 0 0 0 180 288 45 LoutGraphic +180 fnt1 567 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3154,7 +3197,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3169,7 +3212,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3179,7 +3222,7 @@ grestore grestore gsave 680 4363 translate -180 fnt82 567 0 0 0 180 288 45 LoutGraphic +180 fnt1 567 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3190,7 +3233,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3198,7 +3241,7 @@ grestore grestore grestore -180 fnt83 920 4431(a)m gsave +180 fnt3 920 4431(a)m gsave 2551 4363 translate 180.0000 rotate gsave @@ -3206,7 +3249,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3216,7 +3259,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 283 0 0 0 180 288 45 LoutGraphic +180 fnt1 283 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3227,7 +3270,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3242,7 +3285,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3252,7 +3295,7 @@ grestore grestore gsave 2268 4363 translate -180 fnt82 283 0 0 0 180 288 45 LoutGraphic +180 fnt1 283 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3263,7 +3306,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3273,7 +3316,7 @@ grestore grestore 2366 4387(b)m gsave 567 2590 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -3283,7 +3326,7 @@ grestore grestore gsave 680 2476 translate -180 fnt82 2722 567 0 567 180 288 45 LoutGraphic +180 fnt1 2722 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -3291,7 +3334,7 @@ grestore grestore gsave 2268 2590 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -3301,7 +3344,7 @@ grestore grestore gsave 2551 2476 translate -180 fnt82 851 567 0 567 180 288 45 LoutGraphic +180 fnt1 851 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -3315,7 +3358,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3325,7 +3368,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3336,7 +3379,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3351,7 +3394,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3361,7 +3404,7 @@ grestore grestore gsave 680 2443 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3372,7 +3415,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3380,10 +3423,10 @@ grestore grestore grestore -180 fnt82 -999 2240(max)m 180 fnt78 1314 2235(\()m 180 fnt83 1377 2241(length)m -180 fnt78 1832 2235(,)m 180 fnt83 1912 2241(a)m 180 fnt78 -2007 2235(,)m 180 fnt83 2087 2241(b)m 180 fnt78 2182 2235(\))m +180 fnt1 +999 2240(max)m 180 fnt4 1314 2235(\()m 180 fnt3 1377 2241(length)m +180 fnt4 1832 2235(,)m 180 fnt3 1912 2241(a)m 180 fnt4 +2007 2235(,)m 180 fnt3 2087 2241(b)m 180 fnt4 2182 2235(\))m gsave 1247 3067 translate 180.0000 rotate @@ -3392,7 +3435,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3402,7 +3445,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 567 0 0 0 180 288 45 LoutGraphic +180 fnt1 567 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3413,7 +3456,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3428,7 +3471,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3438,7 +3481,7 @@ grestore grestore gsave 680 3067 translate -180 fnt82 567 0 0 0 180 288 45 LoutGraphic +180 fnt1 567 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3449,7 +3492,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3457,7 +3500,7 @@ grestore grestore grestore -180 fnt83 920 3135(a)m gsave +180 fnt3 920 3135(a)m gsave 2551 3067 translate 180.0000 rotate gsave @@ -3465,7 +3508,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3475,7 +3518,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 283 0 0 0 180 288 45 LoutGraphic +180 fnt1 283 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3486,7 +3529,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3501,7 +3544,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3511,7 +3554,7 @@ grestore grestore gsave 2268 3067 translate -180 fnt82 283 0 0 0 180 288 45 LoutGraphic +180 fnt1 283 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3522,7 +3565,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3532,7 +3575,7 @@ grestore grestore 2366 3091(b)m gsave 567 1438 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -3542,7 +3585,7 @@ grestore grestore gsave 680 1324 translate -180 fnt82 2722 567 0 567 180 288 45 LoutGraphic +180 fnt1 2722 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -3550,7 +3593,7 @@ grestore grestore gsave 2268 1438 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -3560,7 +3603,7 @@ grestore grestore gsave 2551 1324 translate -180 fnt82 851 567 0 567 180 288 45 LoutGraphic +180 fnt1 851 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -3574,7 +3617,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3584,7 +3627,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 2268 0 0 0 180 288 45 LoutGraphic +180 fnt1 2268 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3595,7 +3638,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3610,7 +3653,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3620,7 +3663,7 @@ grestore grestore gsave 0 1234 translate -180 fnt82 2268 0 0 0 180 288 45 LoutGraphic +180 fnt1 2268 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3631,7 +3674,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3647,7 +3690,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3657,7 +3700,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 3402 0 0 0 180 288 45 LoutGraphic +180 fnt1 3402 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3668,7 +3711,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3683,7 +3726,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3693,7 +3736,7 @@ grestore grestore gsave 0 734 translate -180 fnt82 3402 0 0 0 180 288 45 LoutGraphic +180 fnt1 3402 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3704,7 +3747,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3717,30 +3760,35 @@ grestore grestore end end restore grestore -200 fnt84 180 4638(Figur)m 3(e)k 788(2.)s -200 fnt82 1030 4639(The)m 1386(six)s 1664(g)s 1(ap)k -1995(modes)s 2557(\()s 200 fnt83 2618 4640(length)m 200 fnt82 +200 fnt2 180 4638(Figur)m 3(e)k 788(2.)s +200 fnt1 1030 4639(The)m 1386(six)s 1664(g)s 1(ap)k +1995(modes)s 2557(\()s 200 fnt3 2618 4640(length)m 200 fnt1 3162 4639(is)m 3336(an)s 3(y)k 3666(length\).)s 4367(Hyphenation)s 5444(mode)s 5933(has)s 6240(an)s 6475(e)s 3(xtra)k 6919(property)s 7639(not)s 7944(sho)s 5(wn)k 8507(here.)s -240 fnt82 0 4008(has)m 396(the)s 770(desired)s 1545(result,)s -2208(where)s 220 fnt35 2874 4005(2p)m 240 fnt82 3197 4008(is)m -3433(tw)s 2(o)k 3870(points)s 4532(and)s 220 fnt35 -4962 4005(@HLine)m 240 fnt82 5836 4008(is)m 6072(an)s 6381(easy)s +240 fnt1 0 4008(has)m 396(the)s 770(desired)s 1545(result,)s +2208(where)s 220 fnt5 2874 4005(2p)m 240 fnt1 3197 4008(is)m +3433(tw)s 2(o)k 3870(points)s 4532(and)s 220 fnt5 +4962 4005(@HLine)m 240 fnt1 5836 4008(is)m 6072(an)s 6381(easy)s 6887(combination)s 8166(of)s 8464(Lout')s 13(s)k 0 3720(graphics)m 861(operators.)s 1914(A)s 2144(similar)s 2866(operator)s 9(,)k -220 fnt35 3760 3717(@OneCol)m 240 fnt82 4712 3720(,)m 4819(hides)s +220 fnt5 3760 3717(@OneCol)m 240 fnt1 4712 3720(,)m 4819(hides)s 5375(column)s 6150(marks.)s 480 3346(A)m 728(v)s 6(ariant)k -1463(of)s 220 fnt35 1753 3343(/)m 240 fnt82 1895 3346(called)m -220 fnt35 2542 3343(//)m 240 fnt82 2745 3346(is)m 2974(pro)s 3(vided)k +1463(of)s 220 fnt5 1753 3343(/)m 240 fnt1 1895 3346(called)m +220 fnt5 2542 3343(//)m 240 fnt1 2745 3346(is)m 2974(pro)s 3(vided)k 3898(which)s 4558(performs)s 5490(v)s 3(ertical)k 6275(concatenation)s 7679(b)s 4(ut)k 8059(ignores)s 8833(all)s 0 3058(column)m 775(marks)s 1410(and)s 1814(simply)s 2519(left-justi\207es)s 3709(its)s -3985(tw)s 2(o)k 4395(parameters:)s 220 fnt35 480 2557(Heading //0.1i)m -480 2269(A |0.2i B /0.1i)m 480 1981(C | D)m 240 fnt82 0 1526(has)m 370(result)s +3985(tw)s 2(o)k 4395(parameters:)s 220 fnt5 480 2557(Heading //0.1i)m +480 2269(A |0.2i B /0.1i)m 480 1981(C | D)m 240 fnt1 0 1526(has)m 370(result)s 480 1073(Heading)m 480 716(A)m 938(B)s 480 410(C)m 938(D)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -3758,100 +3806,100 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5768 -1579(-)m 5896(8)s 6063(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4351 13844(-)m 4479(8)s 4646(-)s 0 13253(sho)m 6(wing)k +0 13253(sho)m 6(wing)k 883(that)s 1325(spanning)s 2267(columns)s 3153(in)s 3420(tables)s 4052(moti)s 6(v)k 6(ate)k 4956(the)s 5328(inclusion)s 6286(of)s 6581(this)s 7001(operator)s 13(.)k 7972(There)s -8609(is)s 8843(an)s 0 12965(analogous)m 220 fnt35 1029 12962(||)m -240 fnt82 1191 12965(operator)m 13(.)k 2145(The)s 2581(author)s +8609(is)s 8843(an)s 0 12965(analogous)m 220 fnt5 1029 12962(||)m +240 fnt1 1191 12965(operator)m 13(.)k 2145(The)s 2581(author)s 3259(w)s 2(ould)k 3922(ha)s 4(v)k 3(e)k 4430(preferred)s 5370(to)s 5616(lea)s 4(v)k 3(e)k 6177(out)s 6550(these)s 7105(operators,)s 8108(since)s 8663(the)s 3(y)k 0 12677(complicate)m 1104(the)s 1452(implementation,)s 3059(and)s 3463(it)s 3655(is)s 3865(interesting)s 4926(to)s 5165(e)s 3(xamine)k 6028(the)s 6376(prospects)s 7330(of)s 7601(doing)s 8200(so.)s -480 12303(The)m 220 fnt35 953 12300(//)m 240 fnt82 1184 12303(operator)m +480 12303(The)m 220 fnt5 953 12300(//)m 240 fnt1 1184 12303(operator)m 2086(is)s 2342(formally)s 3263(redundant,)s 4373(because)s 5232(in)s -5521(general)s 6324(the)s 6718(e)s 3(xpression)k 220 fnt35 -7841 12300(x // y)m 240 fnt82 8409 12303(can)m 8844(be)s 0 12015(replaced)m -867(by)s 220 fnt35 480 11514(@OneCol { | x } /)m 480 11226(@OneCol { | y })m 240 fnt82 -0 10728(for)m 338(an)s 3(y)k 734(objects)s 220 fnt35 -1462 10725(x)m 240 fnt82 1629 10728(and)m 220 fnt35 2032 10725(y)m -240 fnt82 2140 10728(.)m 2304(By)s 2637(concatenating)s 4017(an)s +5521(general)s 6324(the)s 6718(e)s 3(xpression)k 220 fnt5 +7841 12300(x // y)m 240 fnt1 8409 12303(can)m 8844(be)s 0 12015(replaced)m +867(by)s 220 fnt5 480 11514(@OneCol { | x } /)m 480 11226(@OneCol { | y })m 240 fnt1 +0 10728(for)m 338(an)s 3(y)k 734(objects)s 220 fnt5 +1462 10725(x)m 240 fnt1 1629 10728(and)m 220 fnt5 2032 10725(y)m +240 fnt1 2140 10728(.)m 2304(By)s 2637(concatenating)s 4017(an)s 4300(empty)s 4951(object)s 5594(at)s 5826(the)s 6173(left)s -6549(of)s 220 fnt35 6820 10725(x)m 240 fnt82 6987 10728(and)m +6549(of)s 220 fnt5 6820 10725(x)m 240 fnt1 6987 10728(and)m 7390(hiding)s 8055(all)s 8347(b)s 4(ut)k 8708(that)s 0 10440(empty)m 641(object')s 13(s)k 1423(column)s 2186(mark,)s 2772(we)s 3095(ef)s 6(fecti)k 6(v)k 3(ely)k -4143(shift)s 220 fnt35 4615 10437(x)m 240 fnt82 4723 10440(')m 13(s)k +4143(shift)s 220 fnt5 4615 10437(x)m 240 fnt1 4723 10440(')m 13(s)k 4921(column)s 5684(mark)s 6224(to)s 6452(its)s 6716(left)s 7081(edge.)s 7685(The)s 8101(same)s 8636(goes)s 0 10152(for)m -220 fnt35 349 10149(y)m 240 fnt82 457 10152(,)m 575(so)s -852(the)s 220 fnt35 1211 10149(/)m 240 fnt82 1347 10152(operator)m +220 fnt5 349 10149(y)m 240 fnt1 457 10152(,)m 575(so)s +852(the)s 220 fnt5 1211 10149(/)m 240 fnt1 1347 10152(operator)m 2214(has)s 2595(just)s 3011(one)s 3424(column)s 4211(mark)s 4774(to)s 5024(mer)s 4(ge,)k 5735(at)s 5978(the)s 6338(e)s 3(xtreme)k 7171(left,)s 7606(and)s 8021(its)s 8308(ef)s 6(fect)k 8916(is)s 0 9864(indistinguishable)m 1690(from)s -220 fnt35 2214 9861(//)m 240 fnt82 2339 9864(.)m 480 9490(Unfortunately)m 15(,)k -1915(if)s 220 fnt35 2134 9487(y)m 240 fnt82 2304 9490(consists)m +220 fnt5 2214 9861(//)m 240 fnt1 2339 9864(.)m 480 9490(Unfortunately)m 15(,)k +1915(if)s 220 fnt5 2134 9487(y)m 240 fnt1 2304 9490(consists)m 3114(of)s 3387(tw)s 2(o)k 3799(ro)s 6(ws)k -4311(separated)s 5274(by)s 220 fnt35 5570 9487(/)m 240 fnt82 +4311(separated)s 5274(by)s 220 fnt5 5570 9487(/)m 240 fnt1 5634 9490(,)m 5743(as)s 5995(in)s 6240(the)s 6590(e)s 3(xample)k 7455(abo)s 3(v)k 3(e,)k 8130(both)s 8616(ro)s 6(ws)k 0 9202(must)m 533(be)s 823(placed)s 1513(inside)s 2148(the)s -220 fnt35 2504 9199(@OneCol)m 240 fnt82 3456 9202(,)m 3571(and)s +220 fnt5 2504 9199(@OneCol)m 240 fnt1 3456 9202(,)m 3571(and)s 3983(the)s 4340(table)s 4868(cannot)s 5574(be)s 5864(entered)s 6633(in)s 6884(the)s 7240(simple)s 7942(ro)s 6(w-by-ro)k 6(w)k 0 8914(manner)m 777(that)s 1194(non-e)s 3(xpert)k 2287(users)s 2828(naturally)s 3731(e)s 3(xpect.)k 4515(Another)s 5359(adv)s 6(antage)k -6378(of)s 220 fnt35 6649 8911(//)m 240 fnt82 6833 8914(is)m +6378(of)s 220 fnt5 6649 8911(//)m 240 fnt1 6833 8914(is)m 7043(that)s 7460(its)s 7736(left)s 8112(parameter)s 0 8626(can)m 382(be)s 657(printed)s 1385(before)s 2044(its)s 2313(right)s 2817(parameter)s 3824(is)s 4027(kno)s 6(wn;)k 4779(this)s 5168(is)s 5371(important)s 6353(when)s 6922(the)s 7263(left)s 7633(parameter)s 8640(is)s 8843(an)s 0 8338(entire)m 599(page.)s 480 7964(The)m 960(\207fth)s 1468(and)s 1924(\207nal)s 2457(concatenation)s -3895(operator)s 9(,)k 220 fnt35 4841 7961(&)m 240 fnt82 +3895(operator)s 9(,)k 220 fnt5 4841 7961(&)m 240 fnt1 4983 7964(,)m 5143(is)s 5405(an)s 5741(e)s 3(xplicit)k 6567(v)s 3(ersion)k 7377(of)s 7701(the)s 8102(horizontal)s 0 7676(concatenation)m 1402(operator)s 2275(interpolated)s 3492(when)s 4085(objects)s 4830(are)s 5195(separated)s 6172(by)s 6483(white)s 7088(space.)s 7800(It)s 8022(is)s 8250(formally)s 0 7388(identical)m 907(to)s -220 fnt35 1177 7385(|)m 240 fnt82 1305 7388(e)m 3(xcept)k +220 fnt5 1177 7385(|)m 240 fnt1 1305 7388(e)m 3(xcept)k 2017(for)s 2386(taking)s 3068(higher)s 3770(precedence)s 4932(and)s 5367(being)s 5983(subject)s 6751(to)s 7021(replacement)s 8279(by)s -220 fnt35 8604 7385(//1vx)m 240 fnt82 0 7100(during)m 678(paragraph)s -1691(breaking)s 2581(\(Section)s 3434(2.5\).)s 240 fnt84 0 6451(2.4.)m +220 fnt5 8604 7385(//1vx)m 240 fnt1 0 7100(during)m 678(paragraph)s +1691(breaking)s 2581(\(Section)s 3434(2.5\).)s 240 fnt2 0 6451(2.4.)m 471(Implementation)s 2159(of)s 2431(objects)s 3201(and)s 3642(concatenation)s -240 fnt82 480 5974(In)m 738(this)s 1136(section)s 1872(we)s +240 fnt1 480 5974(In)m 738(this)s 1136(section)s 1872(we)s 2210(discuss)s 2954(the)s 3304(implementation)s 4863(of)s 5137(objects)s 5867(and)s 6273(concatenation,)s 7710(and)s 8117(especially)s 0 5686(mark)m 552(alignment.)s 1672(The)s 2100(\207rst)s 2531(step)s 2969(is)s 3179(to)s 3418(use)s 3793(an)s 4076(operator)s 4932(precedence)s 6063(parser)s 6706(to)s 6945(con)s 9(v)k 3(ert)k -7710(input)s 8262(such)s 8758(as)s 220 fnt35 480 5185(a |0.5i b /0.2i c | d)m -240 fnt82 0 4730(into)m 425(parse)s 985(trees)s 1486(such)s +7710(input)s 8262(such)s 8758(as)s 220 fnt5 480 5185(a |0.5i b /0.2i c | d)m +240 fnt1 0 4730(into)m 425(parse)s 985(trees)s 1486(such)s 1982(as)s gsave 480 3036 translate -240 fnt83 3396 1354 0 1298 240 288 12 LoutGraphic +240 fnt3 3396 1354 0 1298 240 288 12 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -3864,7 +3912,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 136 106(\244)m +192 fnt4 136 106(\244)m grestore (T) lfigpromotelabels grestore @@ -3880,7 +3928,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 156 121(|)m +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels @@ -3897,7 +3945,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore @@ -3924,8 +3972,8 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt78 56 105(0)m 192 fnt83 -195 111(.)m 192 fnt78 270 105(5)m 192 fnt83 404 111(i)m +192 fnt4 56 105(0)m 192 fnt3 +195 111(.)m 192 fnt4 270 105(5)m 192 fnt3 404 111(i)m grestore (T) lfigpromotelabels @@ -3953,7 +4001,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 105(b)m +192 fnt3 123 105(b)m grestore (T) lfigpromotelabels grestore @@ -3991,8 +4039,8 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt78 56 105(0)m 192 fnt83 -195 111(.)m 192 fnt78 270 105(2)m 192 fnt83 410 111(i)m +192 fnt4 56 105(0)m 192 fnt3 +195 111(.)m 192 fnt4 270 105(2)m 192 fnt3 410 111(i)m grestore (T) lfigpromotelabels @@ -4020,7 +4068,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 156 121(|)m +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels grestore @@ -4036,7 +4084,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 128 128(c)m +192 fnt3 128 128(c)m grestore (T) lfigpromotelabels grestore @@ -4090,7 +4138,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 118 105(d)m grestore (T) lfigpromotelabels @@ -4124,7 +4172,7 @@ grestore 6419(of)s 6745(concatenation)s 8186(operators)s 0 2297(are)m 347(consolidated:)s gsave 480 648 translate -240 fnt83 2492 1359 0 1298 240 288 12 LoutGraphic +240 fnt3 2492 1359 0 1298 240 288 12 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -4137,7 +4185,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 156 121(|)m +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels grestore @@ -4153,7 +4201,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore @@ -4180,9 +4228,9 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt78 -56 105(0)m 192 fnt83 195 111(.)m 192 fnt78 270 105(2)m -192 fnt83 410 111(i)m +192 fnt4 +56 105(0)m 192 fnt3 195 111(.)m 192 fnt4 270 105(2)m +192 fnt3 410 111(i)m grestore (T) lfigpromotelabels grestore @@ -4209,7 +4257,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 156 121(|)m +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels grestore @@ -4225,7 +4273,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 128 128(c)m grestore (T) lfigpromotelabels @@ -4253,8 +4301,8 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt78 56 105(0)m 192 fnt83 195 111(.)m -192 fnt78 270 105(3)m 192 fnt83 402 111(i)m +192 fnt4 56 105(0)m 192 fnt3 195 111(.)m +192 fnt4 270 105(3)m 192 fnt3 402 111(i)m grestore (T) lfigpromotelabels grestore @@ -4281,7 +4329,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 118 105(d)m grestore (T) lfigpromotelabels @@ -4310,9 +4358,9 @@ grestore grestore end end restore grestore -240 fnt78 3284 1886(\336)m gsave +240 fnt4 3284 1886(\336)m gsave 3825 648 translate -240 fnt83 2492 1359 0 1298 240 288 12 LoutGraphic +240 fnt3 2492 1359 0 1298 240 288 12 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -4325,7 +4373,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 156 121(|)m +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels @@ -4342,7 +4390,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore @@ -4369,8 +4417,8 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt78 56 105(0)m 192 fnt83 -195 111(.)m 192 fnt78 270 105(2)m 192 fnt83 410 111(i)m +192 fnt4 56 105(0)m 192 fnt3 +195 111(.)m 192 fnt4 270 105(2)m 192 fnt3 410 111(i)m grestore (T) lfigpromotelabels @@ -4398,7 +4446,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 128 128(c)m +192 fnt3 128 128(c)m grestore (T) lfigpromotelabels grestore @@ -4425,8 +4473,8 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt78 56 105(0)m 192 fnt83 -195 111(.)m 192 fnt78 270 105(3)m 192 fnt83 402 111(i)m +192 fnt4 56 105(0)m 192 fnt3 +195 111(.)m 192 fnt4 270 105(3)m 192 fnt3 402 111(i)m grestore (T) lfigpromotelabels @@ -4454,7 +4502,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 118 105(d)m +192 fnt3 118 105(d)m grestore (T) lfigpromotelabels grestore @@ -4473,6 +4521,11 @@ end end restore grestore grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -4489,25 +4542,25 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5766 -1579(-)m 5894(9)s 6065(-)s 9066 13414 0 13305 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4349 13844(-)m 4477(9)s 4648(-)s 0 13251(to)m 239(mak)s 2(e)k +0 13251(to)m 239(mak)s 2(e)k 811(manifest)s 1693(their)s 2190(associati)s 6(vity)k 3432(and)s 3836(reduce)s 4529(the)s 4877(depth)s 5466(of)s 5737(the)s 6085(tree)s 6498(for)s 6836(ef\207cienc)s 3(y)k 7829(later)s 13(.)k @@ -4529,86 +4582,86 @@ grestore 7674(tables.)s 8392(F)s 3(or)k 8778(the)s 0 11351(higher)m 678(le)s 6(v)k 3(els)k 1285(we)s 1628(apply)s 2222(recursi)s 6(v)k 3(e)k 3152(rules.)s 3788(Suppose)s -4664(that)s 240 fnt83 5090 11353(hgap)m 240 fnt78 5583 11345(\()m -240 fnt83 5675 11353(x)m 240 fnt78 5801 11345(,)m 240 fnt83 -5932 11353(g)m 240 fnt78 6066 11345(,)m 240 fnt83 6197 11353(y)m -240 fnt78 6319 11345(\))m 240 fnt82 6453 11351(returns)m 7175(the)s +4664(that)s 240 fnt3 5090 11353(hgap)m 240 fnt4 5583 11345(\()m +240 fnt3 5675 11353(x)m 240 fnt4 5801 11345(,)m 240 fnt3 +5932 11353(g)m 240 fnt4 6066 11345(,)m 240 fnt3 6197 11353(y)m +240 fnt4 6319 11345(\))m 240 fnt1 6453 11351(returns)m 7175(the)s 7531(desired)s 8287(distance)s 0 11063(between)m 846(the)s 1186(column)s -1952(marks)s 2579(of)s 2841(objects)s 240 fnt83 3561 11065(x)m -240 fnt82 3719 11063(and)m 240 fnt83 4114 11065(y)m 240 fnt82 +1952(marks)s 2579(of)s 2841(objects)s 240 fnt3 3561 11065(x)m +240 fnt1 3719 11063(and)m 240 fnt3 4114 11065(y)m 240 fnt1 4268 11063(when)m 4835(the)s 3(y)k 5290(are)s 5629(separated)s -6580(by)s 6866(g)s 1(ap)k 240 fnt83 7255 11065(g)m -240 fnt82 7369 11063(:)m 240 fnt83 7527 11065(right)m 240 fnt78 -8000 11057(\()m 240 fnt83 8075 11065(x)m 240 fnt78 8185 11057(\))m -8298(+)s 240 fnt83 8473 11065(length)m 240 fnt78 0 10769(\()m -240 fnt83 89 10777(g)m 240 fnt78 221 10769(\))m 376(+)s -240 fnt83 594 10777(left)m 240 fnt78 920 10769(\()m 240 fnt83 -1009 10777(y)m 240 fnt78 1129 10769(\))m 240 fnt82 1261 10775(when)m +6580(by)s 6866(g)s 1(ap)k 240 fnt3 7255 11065(g)m +240 fnt1 7369 11063(:)m 240 fnt3 7527 11065(right)m 240 fnt4 +8000 11057(\()m 240 fnt3 8075 11065(x)m 240 fnt4 8185 11057(\))m +8298(+)s 240 fnt3 8473 11065(length)m 240 fnt4 0 10769(\()m +240 fnt3 89 10777(g)m 240 fnt4 221 10769(\))m 376(+)s +240 fnt3 594 10777(left)m 240 fnt4 920 10769(\()m 240 fnt3 +1009 10777(y)m 240 fnt4 1129 10769(\))m 240 fnt1 1261 10775(when)m 1842(the)s 2196(g)s 1(ap)k 2600(mode)s 3193(is)s 3409(edge-to-edge,)s 4770(the)s 5124(lar)s 4(ger)k 5741(of)s -240 fnt83 6018 10777(length)m 240 fnt78 6629 10769(\()m 240 fnt83 -6718 10777(g)m 240 fnt78 6850 10769(\))m 240 fnt82 6982 10775(and)m -240 fnt83 7391 10777(right)m 240 fnt78 7878 10769(\()m 240 fnt83 -7968 10777(x)m 240 fnt78 8091 10769(\))m 8246(+)s 240 fnt83 -8464 10777(left)m 240 fnt78 8790 10769(\()m 240 fnt83 8880 10777(y)m -240 fnt78 9000 10769(\))m 240 fnt82 0 10487(when)m 576(the)s +240 fnt3 6018 10777(length)m 240 fnt4 6629 10769(\()m 240 fnt3 +6718 10777(g)m 240 fnt4 6850 10769(\))m 240 fnt1 6982 10775(and)m +240 fnt3 7391 10777(right)m 240 fnt4 7878 10769(\()m 240 fnt3 +7968 10777(x)m 240 fnt4 8091 10769(\))m 8246(+)s 240 fnt3 +8464 10777(left)m 240 fnt4 8790 10769(\()m 240 fnt3 8880 10777(y)m +240 fnt4 9000 10769(\))m 240 fnt1 0 10487(when)m 576(the)s 924(mode)s 1512(is)s 1722(mark-to-mark,)s 3155(and)s 3559(so)s 3825(on.)s 4229(Gi)s 6(v)k 3(en)k 4862(an)s -5145(object)s 240 fnt83 480 9992(X)m 240 fnt78 720 9984(=)m -240 fnt83 933 9992(x)m 168 fnt78 1039 9899(1)m 240 fnt78 -1249 9984(|)m 240 fnt83 1294 9992(g)m 168 fnt78 1405 9899(1)m -240 fnt78 1615 9984(\274)m 200 fnt83 1973 10000(^)m 240 fnt78 -2069 9984(|)m 240 fnt83 2114 9992(g)m 168 fnt83 2225 9905(i)m -168 fnt78 2291 9899(-)m 2403(1)s 240 fnt83 2613 9992(x)m -168 fnt83 2719 9905(i)m 240 fnt78 2907 9984(\274)m 3265(|)s -240 fnt83 3310 9992(g)m 168 fnt83 3421 9905(n)m 168 fnt78 -3523 9899(-)m 3635(1)s 240 fnt83 3845 9992(x)m 168 fnt83 -3951 9905(n)m 240 fnt82 0 9448(we)m 335(may)s 801(calculate)s +5145(object)s 240 fnt3 480 9992(X)m 240 fnt4 720 9984(=)m +240 fnt3 933 9992(x)m 168 fnt4 1039 9899(1)m 240 fnt4 +1249 9984(|)m 240 fnt3 1294 9992(g)m 168 fnt4 1405 9899(1)m +240 fnt4 1615 9984(\274)m 200 fnt3 1973 10000(^)m 240 fnt4 +2069 9984(|)m 240 fnt3 2114 9992(g)m 168 fnt3 2225 9905(i)m +168 fnt4 2291 9899(-)m 2403(1)s 240 fnt3 2613 9992(x)m +168 fnt3 2719 9905(i)m 240 fnt4 2907 9984(\274)m 3265(|)s +240 fnt3 3310 9992(g)m 168 fnt3 3421 9905(n)m 168 fnt4 +3523 9899(-)m 3635(1)s 240 fnt3 3845 9992(x)m 168 fnt3 +3951 9905(n)m 240 fnt1 0 9448(we)m 335(may)s 801(calculate)s 1705(its)s 1981(size)s 2408(as)s 2658(follo)s 6(ws:)k -240 fnt83 740 8945(left)m 240 fnt78 1060 8937(\()m 240 fnt83 -1144 8945(X)m 240 fnt78 1312 8937(\))m 1474(=)s 240 fnt83 -1687 8945(left)m 240 fnt78 2007 8937(\()m 240 fnt83 2091 8945(x)m -168 fnt78 2197 8852(1)m 240 fnt78 2275 8937(\))m 2413(+)s -240 fnt83 2614 8945(hgap)m 240 fnt78 3099 8937(\()m 240 fnt83 -3183 8945(x)m 168 fnt78 3289 8852(1)m 240 fnt78 3367 8937(,)m -240 fnt83 3474 8945(g)m 168 fnt78 3585 8852(1)m 240 fnt78 -3663 8937(,)m 240 fnt83 3770 8945(x)m 168 fnt78 3876 8852(2)m -240 fnt78 3968 8937(\))m 4106(+)s 4307(\274)s 4593(+)s -240 fnt83 4794 8945(hgap)m 240 fnt78 5279 8937(\()m 240 fnt83 -5363 8945(x)m 168 fnt83 5469 8858(i)m 168 fnt78 5535 8852(-)m -5647(1)s 240 fnt78 5725 8937(,)m 240 fnt83 5832 8945(g)m -168 fnt83 5943 8858(i)m 168 fnt78 6009 8852(-)m 6121(1)s -240 fnt78 6199 8937(,)m 240 fnt83 6306 8945(x)m 168 fnt83 -6412 8858(i)m 240 fnt78 6468 8937(\))m 240 fnt83 579 8542(right)m -240 fnt78 1060 8534(\()m 240 fnt83 1144 8542(X)m 240 fnt78 -1312 8534(\))m 1474(=)s 240 fnt83 1687 8542(hgap)m 240 fnt78 -2172 8534(\()m 240 fnt83 2256 8542(x)m 168 fnt83 2362 8455(i)m -240 fnt78 2418 8534(,)m 240 fnt83 2525 8542(g)m 168 fnt83 -2636 8455(i)m 240 fnt78 2692 8534(,)m 240 fnt83 2799 8542(x)m -168 fnt83 2905 8455(i)m 168 fnt78 2971 8449(+)m 3084(1)s -240 fnt78 3162 8534(\))m 3300(+)s 3501(\274)s 3787(+)s -240 fnt83 3988 8542(hgap)m 240 fnt78 4473 8534(\()m 240 fnt83 -4557 8542(x)m 168 fnt83 4663 8455(n)m 168 fnt78 4765 8449(-)m -4877(1)s 240 fnt78 4955 8534(,)m 240 fnt83 5062 8542(g)m -168 fnt83 5173 8455(n)m 168 fnt78 5275 8449(-)m 5387(1)s -240 fnt78 5465 8534(,)m 240 fnt83 5572 8542(x)m 168 fnt83 -5678 8455(n)m 240 fnt78 5770 8534(\))m 5908(+)s 240 fnt83 -6109 8542(right)m 240 fnt78 6590 8534(\()m 240 fnt83 6674 8542(x)m -168 fnt83 6780 8455(n)m 240 fnt78 6872 8534(\))m 240 fnt83 -485 8139(abo)m 2(ve)k 240 fnt78 1060 8131(\()m 240 fnt83 -1144 8139(X)m 240 fnt78 1312 8131(\))m 1474(=)s 240 fnt83 -1687 8139(abo)m 2(ve)k 240 fnt78 2262 8131(\()m 240 fnt83 -2346 8139(x)m 168 fnt78 2452 8044(1)m 240 fnt78 2530 8131(\))m -2680(\255)s 2901(\274)s 3199(\255)s 240 fnt83 3420 8139(abo)m 2(ve)k -240 fnt78 3995 8131(\()m 240 fnt83 4079 8139(x)m 168 fnt83 -4185 8050(n)m 240 fnt78 4277 8131(\))m 240 fnt83 480 7736(below)m -240 fnt78 1060 7728(\()m 240 fnt83 1144 7736(X)m 240 fnt78 -1312 7728(\))m 1474(=)s 240 fnt83 1687 7736(below)m 240 fnt78 -2267 7728(\()m 240 fnt83 2351 7736(x)m 168 fnt78 2457 7641(1)m -240 fnt78 2535 7728(\))m 2685(\255)s 2906(\274)s 3204(\255)s -240 fnt83 3425 7736(below)m 240 fnt78 4005 7728(\()m 240 fnt83 -4089 7736(x)m 168 fnt83 4195 7647(n)m 240 fnt78 4287 7728(\))m -240 fnt82 0 7141(where)m 240 fnt78 693 7135(\255)m 240 fnt82 +240 fnt3 740 8945(left)m 240 fnt4 1060 8937(\()m 240 fnt3 +1144 8945(X)m 240 fnt4 1312 8937(\))m 1474(=)s 240 fnt3 +1687 8945(left)m 240 fnt4 2007 8937(\()m 240 fnt3 2091 8945(x)m +168 fnt4 2197 8852(1)m 240 fnt4 2275 8937(\))m 2413(+)s +240 fnt3 2614 8945(hgap)m 240 fnt4 3099 8937(\()m 240 fnt3 +3183 8945(x)m 168 fnt4 3289 8852(1)m 240 fnt4 3367 8937(,)m +240 fnt3 3474 8945(g)m 168 fnt4 3585 8852(1)m 240 fnt4 +3663 8937(,)m 240 fnt3 3770 8945(x)m 168 fnt4 3876 8852(2)m +240 fnt4 3968 8937(\))m 4106(+)s 4307(\274)s 4593(+)s +240 fnt3 4794 8945(hgap)m 240 fnt4 5279 8937(\()m 240 fnt3 +5363 8945(x)m 168 fnt3 5469 8858(i)m 168 fnt4 5535 8852(-)m +5647(1)s 240 fnt4 5725 8937(,)m 240 fnt3 5832 8945(g)m +168 fnt3 5943 8858(i)m 168 fnt4 6009 8852(-)m 6121(1)s +240 fnt4 6199 8937(,)m 240 fnt3 6306 8945(x)m 168 fnt3 +6412 8858(i)m 240 fnt4 6468 8937(\))m 240 fnt3 579 8542(right)m +240 fnt4 1060 8534(\()m 240 fnt3 1144 8542(X)m 240 fnt4 +1312 8534(\))m 1474(=)s 240 fnt3 1687 8542(hgap)m 240 fnt4 +2172 8534(\()m 240 fnt3 2256 8542(x)m 168 fnt3 2362 8455(i)m +240 fnt4 2418 8534(,)m 240 fnt3 2525 8542(g)m 168 fnt3 +2636 8455(i)m 240 fnt4 2692 8534(,)m 240 fnt3 2799 8542(x)m +168 fnt3 2905 8455(i)m 168 fnt4 2971 8449(+)m 3084(1)s +240 fnt4 3162 8534(\))m 3300(+)s 3501(\274)s 3787(+)s +240 fnt3 3988 8542(hgap)m 240 fnt4 4473 8534(\()m 240 fnt3 +4557 8542(x)m 168 fnt3 4663 8455(n)m 168 fnt4 4765 8449(-)m +4877(1)s 240 fnt4 4955 8534(,)m 240 fnt3 5062 8542(g)m +168 fnt3 5173 8455(n)m 168 fnt4 5275 8449(-)m 5387(1)s +240 fnt4 5465 8534(,)m 240 fnt3 5572 8542(x)m 168 fnt3 +5678 8455(n)m 240 fnt4 5770 8534(\))m 5908(+)s 240 fnt3 +6109 8542(right)m 240 fnt4 6590 8534(\()m 240 fnt3 6674 8542(x)m +168 fnt3 6780 8455(n)m 240 fnt4 6872 8534(\))m 240 fnt3 +485 8139(abo)m 2(ve)k 240 fnt4 1060 8131(\()m 240 fnt3 +1144 8139(X)m 240 fnt4 1312 8131(\))m 1474(=)s 240 fnt3 +1687 8139(abo)m 2(ve)k 240 fnt4 2262 8131(\()m 240 fnt3 +2346 8139(x)m 168 fnt4 2452 8044(1)m 240 fnt4 2530 8131(\))m +2680(\255)s 2901(\274)s 3199(\255)s 240 fnt3 3420 8139(abo)m 2(ve)k +240 fnt4 3995 8131(\()m 240 fnt3 4079 8139(x)m 168 fnt3 +4185 8050(n)m 240 fnt4 4277 8131(\))m 240 fnt3 480 7736(below)m +240 fnt4 1060 7728(\()m 240 fnt3 1144 7736(X)m 240 fnt4 +1312 7728(\))m 1474(=)s 240 fnt3 1687 7736(below)m 240 fnt4 +2267 7728(\()m 240 fnt3 2351 7736(x)m 168 fnt4 2457 7641(1)m +240 fnt4 2535 7728(\))m 2685(\255)s 2906(\274)s 3204(\255)s +240 fnt3 3425 7736(below)m 240 fnt4 4005 7728(\()m 240 fnt3 +4089 7736(x)m 168 fnt3 4195 7647(n)m 240 fnt4 4287 7728(\))m +240 fnt1 0 7141(where)m 240 fnt4 693 7135(\255)m 240 fnt1 943 7141(returns)m 1678(the)s 2046(lar)s 4(ger)k 2679(of)s 2971(its)s 3267(tw)s 2(o)k 3698(parameters.)s 4930(Similar)s 5712(formulas)s 6633(are)s 7001(easily)s 7632(deri)s 6(v)k 3(ed)k @@ -4616,8 +4669,8 @@ grestore 866(purposes)s 1765(of)s 2033(e)s 3(xposition)k 3081(we)s 3412(will)s 3835(no)s 6(w)k 4293(mak)s 2(e)k 4862(the)s 5207(simplifying)s 6358(assumptions)s 7589(that)s 8004(all)s -8294(g)s 1(aps)k 8779(are)s 220 fnt35 0 6188(0i)m -240 fnt82 156 6191(,)m 248(all)s 525(column)s 1285(marks)s +8294(g)s 1(aps)k 8779(are)s 220 fnt5 0 6188(0i)m +240 fnt1 156 6191(,)m 248(all)s 525(column)s 1285(marks)s 1904(lie)s 2183(at)s 2399(the)s 2732(left)s 3093(edge,)s 3637(and)s 4025(all)s 4303(ro)s 6(w)k 4707(marks)s 5327(lie)s 5605(at)s 5822(the)s 6154(top)s 6498(edge.)s @@ -4625,47 +4678,47 @@ grestore 0 5903(object)m 644(can)s 1033(be)s 1315(e)s 3(xpressed)k 2313(by)s 2607(just)s 3012(tw)s 2(o)k 3422(numbers,)s 4353(width)s 4955(and)s 5359(height,)s 6064(and)s 6468(the)s -6816(four)s 7274(formulas)s 8174(reduce)s 8867(to)s 240 fnt83 -555 5400(width)m 240 fnt78 1094 5392(\()m 240 fnt83 1178 5400(x)m -168 fnt78 1284 5307(1)m 240 fnt78 1434 5392(|)m 1551(\274)s -1849(|)s 240 fnt83 1966 5400(x)m 168 fnt83 2072 5313(n)m -240 fnt78 2164 5392(\))m 2326(=)s 240 fnt83 2539 5400(width)m -240 fnt78 3078 5392(\()m 240 fnt83 3162 5400(x)m 168 fnt78 -3268 5307(1)m 240 fnt78 3346 5392(\))m 3484(+)s 3685(\274)s -3971(+)s 240 fnt83 4172 5400(width)m 240 fnt78 4711 5392(\()m -240 fnt83 4795 5400(x)m 168 fnt83 4901 5313(n)m 240 fnt78 -4993 5392(\))m 240 fnt83 480 4997(height)m 240 fnt78 1094 4989(\()m -240 fnt83 1178 4997(x)m 168 fnt78 1284 4904(1)m 240 fnt78 -1434 4989(|)m 1551(\274)s 1849(|)s 240 fnt83 1966 4997(x)m -168 fnt83 2072 4910(n)m 240 fnt78 2164 4989(\))m 2326(=)s -240 fnt83 2539 4997(height)m 240 fnt78 3153 4989(\()m 240 fnt83 -3237 4997(x)m 168 fnt78 3343 4904(1)m 240 fnt78 3421 4989(\))m -3571(\255)s 3792(\274)s 4090(\255)s 240 fnt83 4311 4997(height)m -240 fnt78 4925 4989(\()m 240 fnt83 5009 4997(x)m 168 fnt83 -5115 4910(n)m 240 fnt78 5207 4989(\))m 240 fnt82 0 4453(The)m +6816(four)s 7274(formulas)s 8174(reduce)s 8867(to)s 240 fnt3 +555 5400(width)m 240 fnt4 1094 5392(\()m 240 fnt3 1178 5400(x)m +168 fnt4 1284 5307(1)m 240 fnt4 1434 5392(|)m 1551(\274)s +1849(|)s 240 fnt3 1966 5400(x)m 168 fnt3 2072 5313(n)m +240 fnt4 2164 5392(\))m 2326(=)s 240 fnt3 2539 5400(width)m +240 fnt4 3078 5392(\()m 240 fnt3 3162 5400(x)m 168 fnt4 +3268 5307(1)m 240 fnt4 3346 5392(\))m 3484(+)s 3685(\274)s +3971(+)s 240 fnt3 4172 5400(width)m 240 fnt4 4711 5392(\()m +240 fnt3 4795 5400(x)m 168 fnt3 4901 5313(n)m 240 fnt4 +4993 5392(\))m 240 fnt3 480 4997(height)m 240 fnt4 1094 4989(\()m +240 fnt3 1178 4997(x)m 168 fnt4 1284 4904(1)m 240 fnt4 +1434 4989(|)m 1551(\274)s 1849(|)s 240 fnt3 1966 4997(x)m +168 fnt3 2072 4910(n)m 240 fnt4 2164 4989(\))m 2326(=)s +240 fnt3 2539 4997(height)m 240 fnt4 3153 4989(\()m 240 fnt3 +3237 4997(x)m 168 fnt4 3343 4904(1)m 240 fnt4 3421 4989(\))m +3571(\255)s 3792(\274)s 4090(\255)s 240 fnt3 4311 4997(height)m +240 fnt4 4925 4989(\()m 240 fnt3 5009 4997(x)m 168 fnt3 +5115 4910(n)m 240 fnt4 5207 4989(\))m 240 fnt1 0 4453(The)m 428(corresponding)s 1850(formulas)s 2750(for)s 3088(v)s 3(ertical)k -3855(concatenation)s 5240(are)s 240 fnt83 555 3903(width)m 240 fnt78 -1094 3895(\()m 240 fnt83 1178 3903(x)m 168 fnt78 1284 3810(1)m -240 fnt83 1434 3903(/)m 240 fnt78 1609 3895(\274)m 240 fnt83 -1907 3903(/)m 2082(x)s 168 fnt83 2188 3816(n)m 240 fnt78 -2280 3895(\))m 2442(=)s 240 fnt83 2655 3903(width)m 240 fnt78 -3194 3895(\()m 240 fnt83 3278 3903(x)m 168 fnt78 3384 3810(1)m -240 fnt78 3462 3895(\))m 3612(\255)s 3833(\274)s 4131(\255)s -240 fnt83 4352 3903(width)m 240 fnt78 4891 3895(\()m 240 fnt83 -4975 3903(x)m 168 fnt83 5081 3816(n)m 240 fnt78 5173 3895(\))m -240 fnt83 480 3500(height)m 240 fnt78 1094 3492(\()m 240 fnt83 -1178 3500(x)m 168 fnt78 1284 3407(1)m 240 fnt83 1434 3500(/)m -240 fnt78 1609 3492(\274)m 240 fnt83 1907 3500(/)m 2082(x)s -168 fnt83 2188 3413(n)m 240 fnt78 2280 3492(\))m 2442(=)s -240 fnt83 2655 3500(height)m 240 fnt78 3269 3492(\()m 240 fnt83 -3353 3500(x)m 168 fnt78 3459 3407(1)m 240 fnt78 3537 3492(\))m -3675(+)s 3876(\274)s 4162(+)s 240 fnt83 4363 3500(height)m -240 fnt78 4977 3492(\()m 240 fnt83 5061 3500(x)m 168 fnt83 -5167 3413(n)m 240 fnt78 5259 3492(\))m 240 fnt82 0 2956(According)m +3855(concatenation)s 5240(are)s 240 fnt3 555 3903(width)m 240 fnt4 +1094 3895(\()m 240 fnt3 1178 3903(x)m 168 fnt4 1284 3810(1)m +240 fnt3 1434 3903(/)m 240 fnt4 1609 3895(\274)m 240 fnt3 +1907 3903(/)m 2082(x)s 168 fnt3 2188 3816(n)m 240 fnt4 +2280 3895(\))m 2442(=)s 240 fnt3 2655 3903(width)m 240 fnt4 +3194 3895(\()m 240 fnt3 3278 3903(x)m 168 fnt4 3384 3810(1)m +240 fnt4 3462 3895(\))m 3612(\255)s 3833(\274)s 4131(\255)s +240 fnt3 4352 3903(width)m 240 fnt4 4891 3895(\()m 240 fnt3 +4975 3903(x)m 168 fnt3 5081 3816(n)m 240 fnt4 5173 3895(\))m +240 fnt3 480 3500(height)m 240 fnt4 1094 3492(\()m 240 fnt3 +1178 3500(x)m 168 fnt4 1284 3407(1)m 240 fnt3 1434 3500(/)m +240 fnt4 1609 3492(\274)m 240 fnt3 1907 3500(/)m 2082(x)s +168 fnt3 2188 3413(n)m 240 fnt4 2280 3492(\))m 2442(=)s +240 fnt3 2655 3500(height)m 240 fnt4 3269 3492(\()m 240 fnt3 +3353 3500(x)m 168 fnt4 3459 3407(1)m 240 fnt4 3537 3492(\))m +3675(+)s 3876(\274)s 4162(+)s 240 fnt3 4363 3500(height)m +240 fnt4 4977 3492(\()m 240 fnt3 5061 3500(x)m 168 fnt3 +5167 3413(n)m 240 fnt4 5259 3492(\))m 240 fnt1 0 2956(According)m 1063(to)s 1302(these)s 1849(formulas,)s 2805(the)s 3153(height)s 3811(of)s gsave 480 1262 translate -240 fnt83 3044 1354 56 1298 240 288 12 LoutGraphic +240 fnt3 3044 1354 56 1298 240 288 12 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -4684,7 +4737,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore @@ -4699,7 +4752,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 156 121(|)m +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels @@ -4725,7 +4778,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 105(b)m +192 fnt3 123 105(b)m grestore (T) lfigpromotelabels grestore @@ -4751,7 +4804,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 136 106(\244)m +192 fnt4 136 106(\244)m grestore (T) lfigpromotelabels grestore @@ -4779,7 +4832,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 128 128(c)m grestore (T) lfigpromotelabels @@ -4795,7 +4848,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 156 121(|)m +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels grestore @@ -4820,7 +4873,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 118 105(d)m +192 fnt3 118 105(d)m grestore (T) lfigpromotelabels @@ -4851,6 +4904,11 @@ end end restore grestore grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -4866,53 +4924,53 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5704 -1579(-)m 5832(10)s 6127(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4287 13844(-)m 4415(10)s 4710(-)s 0 13253(is)m 240 fnt78 -480 12745([)m 240 fnt83 563 12753(height)m 240 fnt78 1177 12745(\()m -240 fnt83 1261 12753(a)m 240 fnt78 1388 12745(\))m 1538(\255)s -240 fnt83 1759 12753(height)m 240 fnt78 2373 12745(\()m 240 fnt83 -2457 12753(b)m 240 fnt78 2583 12745(\))m 2661(])s 2792(+)s -2993([)s 240 fnt83 3076 12753(height)m 240 fnt78 3690 12745(\()m -240 fnt83 3774 12753(c)m 240 fnt78 3888 12745(\))m 4038(\255)s -240 fnt83 4259 12753(height)m 240 fnt78 4873 12745(\()m 240 fnt83 -4957 12753(d)m 240 fnt78 5095 12745(\))m 5173(])s 240 fnt82 +0 13253(is)m 240 fnt4 +480 12745([)m 240 fnt3 563 12753(height)m 240 fnt4 1177 12745(\()m +240 fnt3 1261 12753(a)m 240 fnt4 1388 12745(\))m 1538(\255)s +240 fnt3 1759 12753(height)m 240 fnt4 2373 12745(\()m 240 fnt3 +2457 12753(b)m 240 fnt4 2583 12745(\))m 2661(])s 2792(+)s +2993([)s 240 fnt3 3076 12753(height)m 240 fnt4 3690 12745(\()m +240 fnt3 3774 12753(c)m 240 fnt4 3888 12745(\))m 4038(\255)s +240 fnt3 4259 12753(height)m 240 fnt4 4873 12745(\()m 240 fnt3 +4957 12753(d)m 240 fnt4 5095 12745(\))m 5173(])s 240 fnt1 0 12249(which)m 642(is)s 852(correct,)s 1621(b)s 4(ut)k 1983(for)s 2321(width)s 2923(the)s 3(y)k 3386(yield)s -240 fnt78 480 11691([)m 240 fnt83 563 11699(width)m 240 fnt78 -1102 11691(\()m 240 fnt83 1186 11699(a)m 240 fnt78 1313 11691(\))m -1451(+)s 240 fnt83 1652 11699(width)m 240 fnt78 2191 11691(\()m -240 fnt83 2275 11699(b)m 240 fnt78 2401 11691(\))m 2479(])s -2622(\255)s 2843([)s 240 fnt83 2926 11699(width)m 240 fnt78 -3465 11691(\()m 240 fnt83 3549 11699(c)m 240 fnt78 3663 11691(\))m -3801(+)s 240 fnt83 4002 11699(width)m 240 fnt78 4541 11691(\()m -240 fnt83 4625 11699(d)m 240 fnt78 4763 11691(\))m 4841(])s -240 fnt82 0 11195(which)m 645(is)s 859(not,)s 1276(since)s +240 fnt4 480 11691([)m 240 fnt3 563 11699(width)m 240 fnt4 +1102 11691(\()m 240 fnt3 1186 11699(a)m 240 fnt4 1313 11691(\))m +1451(+)s 240 fnt3 1652 11699(width)m 240 fnt4 2191 11691(\()m +240 fnt3 2275 11699(b)m 240 fnt4 2401 11691(\))m 2479(])s +2622(\255)s 2843([)s 240 fnt3 2926 11699(width)m 240 fnt4 +3465 11691(\()m 240 fnt3 3549 11699(c)m 240 fnt4 3663 11691(\))m +3801(+)s 240 fnt3 4002 11699(width)m 240 fnt4 4541 11691(\()m +240 fnt3 4625 11699(d)m 240 fnt4 4763 11691(\))m 4841(])s +240 fnt1 0 11195(which)m 645(is)s 859(not,)s 1276(since)s 1827(it)s 2023(does)s 2517(not)s 2887(tak)s 2(e)k 3343(the)s 3694(mer)s 4(ging)k 4544(of)s 4819(column)s 5598(marks)s 6237(into)s 6666(account.)s 7578(The)s 8010(asymmetry)s 0 10907(between)m 874(horizontal)s 1918(and)s 2342(v)s 3(ertical)k 3130(has)s 3520(come)s 4114(about)s 4726(because)s 5560(the)s 5928(ro)s 6(w)k 6368(entries,)s 7131(such)s 7648(as)s -240 fnt83 7918 10909(a)m 240 fnt82 8113 10907(and)m 240 fnt83 -8537 10909(b)m 240 fnt82 8651 10907(,)m 8779(are)s 0 10619(adjacent)m +240 fnt3 7918 10909(a)m 240 fnt1 8113 10907(and)m 240 fnt3 +8537 10909(b)m 240 fnt1 8651 10907(,)m 8779(are)s 0 10619(adjacent)m 849(in)s 1085(the)s 1426(tree,)s 1883(b)s 4(ut)k 2238(the)s 2579(column)s 3346(entries,)s 4082(such)s 4571(as)s -240 fnt83 4814 10621(a)m 240 fnt82 4982 10619(and)m 240 fnt83 -5379 10621(c)m 240 fnt82 5481 10619(,)m 5581(are)s 5920(not.)s +240 fnt3 4814 10621(a)m 240 fnt1 4982 10619(and)m 240 fnt3 +5379 10621(c)m 240 fnt1 5481 10619(,)m 5581(are)s 5920(not.)s 6383(It)s 6581(w)s 2(ould)k 7229(be)s 7504(possible)s 8337(to)s 8568(solv)s 3(e)k 0 10331(this)m 395(cross-linking)s 1694(problem)s 2550(by)s 2842(augmenting)s 4024(the)s 4370(size)s @@ -4923,48 +4981,48 @@ grestore 5078(has)s 5449(preferred)s 6381(the)s 6730(follo)s 6(wing)k 7707(method)s 8484(which)s 0 9755(mak)m 2(es)k 660(structural)s 1616(changes)s 2438(to)s 2677(the)s 3025(tree)s 3438(instead.)s -480 9381(If)m 240 fnt83 715 9383(a)m 240 fnt82 896 9381(and)m -240 fnt83 1305 9383(c)m 240 fnt82 1473 9381(share)m 2038(a)s +480 9381(If)m 240 fnt3 715 9383(a)m 240 fnt1 896 9381(and)m +240 fnt3 1305 9383(c)m 240 fnt1 1473 9381(share)m 2038(a)s 2210(column)s 2990(mark,)s 3594(the)s 3(y)k 4063(each)s 4563(might)s 5187(as)s 5442(well)s 5914(ha)s 4(v)k 3(e)k -6420(width)s 240 fnt83 7028 9383(width)m 240 fnt78 7572 9375(\()m -240 fnt83 7662 9383(a)m 240 fnt78 7795 9375(\))m 7961(\255)s -240 fnt83 8199 9383(width)m 240 fnt78 8743 9375(\()m 240 fnt83 -8833 9383(c)m 240 fnt78 8953 9375(\))m 240 fnt82 9019 9381(,)m +6420(width)s 240 fnt3 7028 9383(width)m 240 fnt4 7572 9375(\()m +240 fnt3 7662 9383(a)m 240 fnt4 7795 9375(\))m 7961(\255)s +240 fnt3 8199 9383(width)m 240 fnt4 8743 9375(\()m 240 fnt3 +8833 9383(c)m 240 fnt4 8953 9375(\))m 240 fnt1 9019 9381(,)m 0 9093(since)m 547(all)s 840(width)s 1442(calculations)s 2635(apply)s 3221(to)s 3460(entire)s 4060(columns.)s 5035(Accordingly)s 15(,)k 6323(we)s 6659(introduce)s 7618(a)s 7784(ne)s 6(w)k -8232(operator)s 9(,)k 240 fnt83 0 8807(COL)m 240 fnt82 -466 8805(,)m 573(de\207ned)s 1336(by)s 240 fnt83 480 8255(width)m -240 fnt78 1019 8247(\()m 240 fnt83 1103 8255(x)m 168 fnt78 -1209 8162(1)m 240 fnt83 1347 8255(COL)m 240 fnt78 1885 8247(\274)m -240 fnt83 2171 8255(COL)m 2709(x)s 168 fnt83 2815 8168(n)m -240 fnt78 2907 8247(\))m 3057(=)s 240 fnt83 3270 8255(width)m -240 fnt78 3809 8247(\()m 240 fnt83 3893 8255(x)m 168 fnt78 -3999 8162(1)m 240 fnt78 4077 8247(\))m 4227(\255)s 4448(\274)s -4746(\255)s 240 fnt83 4967 8255(width)m 240 fnt78 5506 8247(\()m -240 fnt83 5590 8255(x)m 168 fnt83 5696 8168(n)m 240 fnt78 -5788 8247(\))m 240 fnt82 0 7711(and)m 440(replace)s 1221(both)s -240 fnt83 1741 7713(a)m 240 fnt82 1952 7711(and)m 240 fnt83 -2393 7713(c)m 240 fnt82 2591 7711(by)m 240 fnt83 2922 7713(a)m -3218(COL)s 3865(c)s 240 fnt82 3967 7711(.)m 4168(T)s 19(o)k -4504(pre)s 6(v)k 3(ent)k 240 fnt83 5309 7713(COL)m -240 fnt82 5871 7711(operators)m 6848(from)s 7408(disturbing)s 8468(height)s +8232(operator)s 9(,)k 240 fnt3 0 8807(COL)m 240 fnt1 +466 8805(,)m 573(de\207ned)s 1336(by)s 240 fnt3 480 8255(width)m +240 fnt4 1019 8247(\()m 240 fnt3 1103 8255(x)m 168 fnt4 +1209 8162(1)m 240 fnt3 1347 8255(COL)m 240 fnt4 1885 8247(\274)m +240 fnt3 2171 8255(COL)m 2709(x)s 168 fnt3 2815 8168(n)m +240 fnt4 2907 8247(\))m 3057(=)s 240 fnt3 3270 8255(width)m +240 fnt4 3809 8247(\()m 240 fnt3 3893 8255(x)m 168 fnt4 +3999 8162(1)m 240 fnt4 4077 8247(\))m 4227(\255)s 4448(\274)s +4746(\255)s 240 fnt3 4967 8255(width)m 240 fnt4 5506 8247(\()m +240 fnt3 5590 8255(x)m 168 fnt3 5696 8168(n)m 240 fnt4 +5788 8247(\))m 240 fnt1 0 7711(and)m 440(replace)s 1221(both)s +240 fnt3 1741 7713(a)m 240 fnt1 1952 7711(and)m 240 fnt3 +2393 7713(c)m 240 fnt1 2591 7711(by)m 240 fnt3 2922 7713(a)m +3218(COL)s 3865(c)s 240 fnt1 3967 7711(.)m 4168(T)s 19(o)k +4504(pre)s 6(v)k 3(ent)k 240 fnt3 5309 7713(COL)m +240 fnt1 5871 7711(operators)m 6848(from)s 7408(disturbing)s 8468(height)s 0 7423(calculations,)m 1248(we)s 1583(de\207ne)s 2224(a)s 2390(binary)s -3055(operator)s 3911(called)s 240 fnt83 4539 7425(SPLIT)m 240 fnt82 -5228 7423(by)m 240 fnt83 555 6920(width)m 240 fnt78 1094 6912(\()m -240 fnt83 1178 6920(x)m 1356(SPLIT)s 2057(y)s 240 fnt78 -2171 6912(\))m 2333(=)s 240 fnt83 2546 6920(width)m 240 fnt78 -3085 6912(\()m 240 fnt83 3169 6920(x)m 240 fnt78 3287 6912(\))m -240 fnt83 480 6517(height)m 240 fnt78 1094 6509(\()m 240 fnt83 -1178 6517(x)m 1356(SPLIT)s 2057(y)s 240 fnt78 2171 6509(\))m -2333(=)s 240 fnt83 2546 6517(height)m 240 fnt78 3160 6509(\()m -240 fnt83 3244 6517(y)m 240 fnt78 3358 6509(\))m 240 fnt82 +3055(operator)s 3911(called)s 240 fnt3 4539 7425(SPLIT)m 240 fnt1 +5228 7423(by)m 240 fnt3 555 6920(width)m 240 fnt4 1094 6912(\()m +240 fnt3 1178 6920(x)m 1356(SPLIT)s 2057(y)s 240 fnt4 +2171 6912(\))m 2333(=)s 240 fnt3 2546 6920(width)m 240 fnt4 +3085 6912(\()m 240 fnt3 3169 6920(x)m 240 fnt4 3287 6912(\))m +240 fnt3 480 6517(height)m 240 fnt4 1094 6509(\()m 240 fnt3 +1178 6517(x)m 1356(SPLIT)s 2057(y)s 240 fnt4 2171 6509(\))m +2333(=)s 240 fnt3 2546 6517(height)m 240 fnt4 3160 6509(\()m +240 fnt3 3244 6517(y)m 240 fnt4 3358 6509(\))m 240 fnt1 0 6013(which)m 642(switches)s 1516(height)s 2174(and)s 2578(width)s 3180(calculations)s 4372(onto)s 4851(dif)s 6(ferent)k 5726(subtrees.)s 6673(Then)s 7222(the)s 7570(transformation)s gsave 480 4314 translate -240 fnt83 338 1359 56 1298 240 288 12 LoutGraphic +240 fnt3 338 1359 56 1298 240 288 12 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -4977,16 +5035,16 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore end end restore grestore -240 fnt78 1130 5552(\336)m gsave +240 fnt4 1130 5552(\336)m gsave 1671 4314 translate -240 fnt83 2564 1359 56 1298 240 288 12 LoutGraphic +240 fnt3 2564 1359 56 1298 240 288 12 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -5005,7 +5063,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore @@ -5020,7 +5078,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 56 107(COL)m grestore (T) lfigpromotelabels @@ -5046,7 +5104,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 128 128(c)m +192 fnt3 128 128(c)m grestore (T) lfigpromotelabels grestore @@ -5072,7 +5130,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 56 107(SPLIT)m +192 fnt3 56 107(SPLIT)m grestore (T) lfigpromotelabels @@ -5098,7 +5156,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore @@ -5115,24 +5173,24 @@ grestore grestore end end restore grestore -240 fnt82 0 3814(widens)m 240 fnt83 -740 3816(a)m 240 fnt82 926 3814(to)m 240 fnt83 1176 3816(width)m -240 fnt78 1726 3808(\()m 240 fnt83 1821 3816(a)m 240 fnt78 -1959 3808(\))m 2142(\255)s 240 fnt83 2396 3816(width)m 240 fnt78 -2946 3808(\()m 240 fnt83 3041 3816(c)m 240 fnt78 3166 3808(\))m -240 fnt82 3303 3814(without)m 4105(af)s 6(fecting)k 5011(its)s +240 fnt1 0 3814(widens)m 240 fnt3 +740 3816(a)m 240 fnt1 926 3814(to)m 240 fnt3 1176 3816(width)m +240 fnt4 1726 3808(\()m 240 fnt3 1821 3816(a)m 240 fnt4 +1959 3808(\))m 2142(\255)s 240 fnt3 2396 3816(width)m 240 fnt4 +2946 3808(\()m 240 fnt3 3041 3816(c)m 240 fnt4 3166 3808(\))m +240 fnt1 3303 3814(without)m 4105(af)s 6(fecting)k 5011(its)s 5298(height;)s 6019(it)s 6222(is)s 6443(applied)s 7216(to)s 7466(e)s 6(v)k 3(ery)k 8053(object)s 8708(that)s 0 3526(shares)m 638(its)s 904(column)s 1669(mark)s 2211(with)s 2683(at)s 2905(least)s 3392(one)s 3784(other)s 4325(object.)s 5063(A)s 5283(similar)s 5995(transformation)s 7448(in)s 9(v)k 4(olving)k -8396(a)s 240 fnt83 8552 3528(R)m 9(O)k 12(W)k -240 fnt82 0 3238(operator)m 856(deals)s 1398(with)s 1880(shared)s +8396(a)s 240 fnt3 8552 3528(R)m 9(O)k 12(W)k +240 fnt1 0 3238(operator)m 856(deals)s 1398(with)s 1880(shared)s 2562(ro)s 6(w)k 2982(marks.)s 3730(The)s 4158(ef)s 6(fect)k 4754(on)s 5051(our)s 5430(little)s 5922(table)s 6442(is)s 6652(to)s 6891(replace)s gsave 480 1544 translate -240 fnt83 3044 1354 56 1298 240 288 12 LoutGraphic +240 fnt3 3044 1354 56 1298 240 288 12 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -5151,7 +5209,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore @@ -5166,7 +5224,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels @@ -5192,7 +5250,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 105(b)m +192 fnt3 123 105(b)m grestore (T) lfigpromotelabels grestore @@ -5218,7 +5276,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 136 106(\244)m +192 fnt4 136 106(\244)m grestore (T) lfigpromotelabels @@ -5247,7 +5305,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 128 128(c)m +192 fnt3 128 128(c)m grestore (T) lfigpromotelabels grestore @@ -5262,7 +5320,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 156 121(|)m +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels grestore @@ -5287,7 +5345,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 118 105(d)m grestore (T) lfigpromotelabels @@ -5318,6 +5376,11 @@ end end restore grestore 0 1093(by)m grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -5334,27 +5397,27 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5714 -1579(-)m 5842(11)s 6117(-)s 9066 13419 0 13363 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4297 13844(-)m 4425(11)s 4700(-)s gsave +gsave 480 11049 translate -240 fnt83 6248 2370 0 2314 240 288 12 LoutGraphic +240 fnt3 6248 2370 0 2314 240 288 12 LoutGraphic gsave grestore save gsave 70 dict begin lfigdict begin grestore @@ -5367,7 +5430,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 136 106(\244)m +192 fnt4 136 106(\244)m grestore (T) lfigpromotelabels @@ -5384,7 +5447,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 156 121(|)m +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels grestore @@ -5400,7 +5463,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 56 107(SPLIT)m +192 fnt3 56 107(SPLIT)m grestore (T) lfigpromotelabels grestore @@ -5416,7 +5479,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 56 107(COL)m grestore (T) lfigpromotelabels @@ -5433,7 +5496,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore @@ -5460,7 +5523,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 128 128(c)m +192 fnt3 128 128(c)m grestore (T) lfigpromotelabels @@ -5499,7 +5562,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 56 107(R)m 7(O)k 9(W)k +192 fnt3 56 107(R)m 7(O)k 9(W)k grestore (T) lfigpromotelabels grestore @@ -5515,7 +5578,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels @@ -5543,7 +5606,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 105(b)m +192 fnt3 123 105(b)m grestore (T) lfigpromotelabels grestore @@ -5592,7 +5655,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 56 107(SPLIT)m +192 fnt3 56 107(SPLIT)m grestore (T) lfigpromotelabels @@ -5609,7 +5672,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 56 107(COL)m +192 fnt3 56 107(COL)m grestore (T) lfigpromotelabels grestore @@ -5625,7 +5688,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 105(b)m +192 fnt3 123 105(b)m grestore (T) lfigpromotelabels grestore @@ -5652,7 +5715,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 118 105(d)m grestore (T) lfigpromotelabels @@ -5691,7 +5754,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 56 107(R)m 7(O)k 9(W)k +192 fnt3 56 107(R)m 7(O)k 9(W)k grestore (T) lfigpromotelabels @@ -5708,7 +5771,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore @@ -5735,7 +5798,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 105(b)m +192 fnt3 123 105(b)m grestore (T) lfigpromotelabels grestore @@ -5795,7 +5858,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt78 +192 fnt4 156 121(|)m grestore (T) lfigpromotelabels @@ -5812,7 +5875,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 56 107(SPLIT)m +192 fnt3 56 107(SPLIT)m grestore (T) lfigpromotelabels grestore @@ -5828,7 +5891,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 56 107(COL)m +192 fnt3 56 107(COL)m grestore (T) lfigpromotelabels @@ -5845,7 +5908,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (T) lfigpromotelabels grestore @@ -5872,7 +5935,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 128 128(c)m +192 fnt3 128 128(c)m grestore (T) lfigpromotelabels grestore @@ -5910,7 +5973,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 56 107(R)m 7(O)k 9(W)k grestore (T) lfigpromotelabels @@ -5927,7 +5990,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 128 128(c)m +192 fnt3 128 128(c)m grestore (T) lfigpromotelabels @@ -5955,7 +6018,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 118 105(d)m +192 fnt3 118 105(d)m grestore (T) lfigpromotelabels grestore @@ -6004,7 +6067,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 56 107(SPLIT)m +192 fnt3 56 107(SPLIT)m grestore (T) lfigpromotelabels grestore @@ -6020,7 +6083,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 56 107(COL)m grestore (T) lfigpromotelabels @@ -6037,7 +6100,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 105(b)m +192 fnt3 123 105(b)m grestore (T) lfigpromotelabels grestore @@ -6064,7 +6127,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 118 105(d)m +192 fnt3 118 105(d)m grestore (T) lfigpromotelabels @@ -6103,7 +6166,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -192 fnt83 56 107(R)m 7(O)k 9(W)k +192 fnt3 56 107(R)m 7(O)k 9(W)k grestore (T) lfigpromotelabels grestore @@ -6119,7 +6182,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 128 128(c)m grestore (T) lfigpromotelabels @@ -6147,7 +6210,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 118 105(d)m +192 fnt3 118 105(d)m grestore (T) lfigpromotelabels grestore @@ -6204,9 +6267,9 @@ grestore 8469(graph;)s 0 10310(each)m 486(af)s 6(fected)k 1296(leaf)s 1716(has)s 2076(tw)s 2(o)k 2477(parents,)s 3264(one)s 3657(for)s 3985(width)s 4578(and)s 4972(one)s 5365(for)s -5693(height;)s 6394(and)s 6788(each)s 240 fnt83 7274 10312(COL)m -240 fnt82 7790 10310(or)m 240 fnt83 8040 10312(R)m 9(O)k 12(W)k -240 fnt82 8604 10310(node)m 0 10022(has)m 360(one)s 752(parent)s +5693(height;)s 6394(and)s 6788(each)s 240 fnt3 7274 10312(COL)m +240 fnt1 7790 10310(or)m 240 fnt3 8040 10312(R)m 9(O)k 12(W)k +240 fnt1 8604 10310(node)m 0 10022(has)m 360(one)s 752(parent)s 1398(and)s 1792(one)s 2184(child)s 2709(for)s 3037(each)s 3521(object)s 4155(lying)s 4690(on)s 4976(the)s 5314(corresponding)s 6726(mark.)s 7370(The)s 7788(data)s 8235(structure)s 0 9734(roughly)m @@ -6214,11 +6277,11 @@ grestore 3116(occurs)s 3791(only)s 4271(rarely)s 4881(in)s 5124(practice.)s 480 9360(This)m 956(method)s 1732(can)s 2121(cope)s 2629(with)s 3111(an)s 3(y)k 3508(le)s 3(g)k 1(al)k -4023(input,)s 4622(including)s 220 fnt35 480 8859({ a // c | d } | { b / e })m 480 8571(/ { f / i } | { g | h // j })m -240 fnt82 0 8072(which)m 642(produces)s 1557(o)s 3(v)k 3(erlapping)k +4023(input,)s 4622(including)s 220 fnt5 480 8859({ a // c | d } | { b / e })m 480 8571(/ { f / i } | { g | h // j })m +240 fnt1 0 8072(which)m 642(produces)s 1557(o)s 3(v)k 3(erlapping)k 2747(spanning)s 3665(columns:)s gsave 480 5924 translate -240 fnt83 1699 1808 0 1695 240 288 60 LoutGraphic +240 fnt3 1699 1808 0 1695 240 288 60 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -6228,7 +6291,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -230 fnt83 511 178(a)m +230 fnt3 511 178(a)m grestore 566 452 113 339 240 288 60 1133 1356 LoutGr2 @@ -6236,7 +6299,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -230 fnt83 +230 fnt3 228 150(b)m grestore 566 452 113 339 240 288 60 0 904 LoutGr2 @@ -6245,7 +6308,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -230 fnt83 234 178(c)m +230 fnt3 234 178(c)m grestore 566 452 113 339 240 288 60 566 904 LoutGr2 @@ -6253,7 +6316,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -230 fnt83 222 150(d)m +230 fnt3 222 150(d)m grestore 566 452 113 339 240 288 60 1132 904 LoutGr2 @@ -6262,7 +6325,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -230 fnt83 235 178(e)m +230 fnt3 235 178(e)m grestore 566 452 113 339 240 288 60 0 452 LoutGr2 @@ -6270,7 +6333,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -230 fnt83 235 173(f)m +230 fnt3 235 173(f)m grestore 566 452 113 339 240 288 60 566 452 LoutGr2 @@ -6278,7 +6341,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -230 fnt83 +230 fnt3 228 200(g)m grestore 566 452 113 339 240 288 60 1132 452 LoutGr2 @@ -6287,7 +6350,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -230 fnt83 228 149(h)m +230 fnt3 228 149(h)m grestore 566 452 113 339 240 288 60 0 0 LoutGr2 @@ -6295,7 +6358,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -230 fnt83 253 153(i)m +230 fnt3 253 153(i)m grestore 1133 452 113 339 240 288 60 566 0 LoutGr2 @@ -6304,7 +6367,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -230 fnt83 535 176(j)m +230 fnt3 535 176(j)m grestore end end restore grestore @@ -6312,36 +6375,36 @@ grestore 1035(ha)s 4(v)k 3(e)k 1536(been)s 2045(added)s 2675(to)s 2914(clarify)s 3590(the)s 3938(structure.)s 4937(The)s 5365(width)s 5967(of)s 6238(this)s 6634(object)s 7278(is)s -7488(formally)s 240 fnt78 480 4915(\()m 564(\()s 240 fnt83 -648 4923(width)m 240 fnt78 1187 4915(\()m 240 fnt83 1271 4923(a)m -240 fnt78 1398 4915(\))m 1548(\255)s 1769(\()s 240 fnt83 -1853 4923(x)m 240 fnt78 2031 4915(+)m 240 fnt83 2232 4923(y)m -240 fnt78 2346 4915(\))m 2424(\))s 2562(+)s 240 fnt83 -2763 4923(z)m 240 fnt78 2866 4915(\))m 3016(\255)s 3237(\()s -240 fnt83 3321 4923(x)m 240 fnt78 3499 4915(+)m 3700(\()s -3784(\()s 240 fnt83 3868 4923(y)m 240 fnt78 4042 4915(+)m -240 fnt83 4243 4923(z)m 240 fnt78 4346 4915(\))m 4496(\255)s -240 fnt83 4717 4923(width)m 240 fnt78 5256 4915(\()m 240 fnt83 -5340 4923(j)m 240 fnt78 5418 4915(\))m 5496(\))s 5574(\))s -240 fnt82 0 4419(where)m 240 fnt83 480 3918(x)m 240 fnt78 -670 3910(=)m 240 fnt83 883 3918(width)m 240 fnt78 1422 3910(\()m -240 fnt83 1506 3918(c)m 240 fnt78 1620 3910(\))m 1770(\255)s -240 fnt83 1991 3918(width)m 240 fnt78 2530 3910(\()m 240 fnt83 -2662 3918(f)m 240 fnt78 2823 3910(\))m 2973(\255)s 240 fnt83 -3194 3918(width)m 240 fnt78 3733 3910(\()m 240 fnt83 3817 3918(i)m -240 fnt78 3892 3910(\))m 240 fnt83 480 3367(y)m 240 fnt78 -666 3359(=)m 240 fnt83 879 3367(width)m 240 fnt78 1418 3359(\()m -240 fnt83 1502 3367(d)m 240 fnt78 1688 3359(\))m 1838(\255)s -240 fnt83 2059 3367(width)m 240 fnt78 2598 3359(\()m 240 fnt83 -2682 3367(g)m 240 fnt78 2808 3359(\))m 240 fnt83 480 2816(z)m -240 fnt78 655 2808(=)m 240 fnt83 868 2816(width)m 240 fnt78 -1407 2808(\()m 240 fnt83 1491 2816(b)m 240 fnt78 1617 2808(\))m -1767(\255)s 240 fnt83 1988 2816(width)m 240 fnt78 2527 2808(\()m -240 fnt83 2611 2816(e)m 240 fnt78 2722 2808(\))m 2872(\255)s -240 fnt83 3093 2816(width)m 240 fnt78 3632 2808(\()m 240 fnt83 -3716 2816(h)m 240 fnt78 3843 2808(\))m 240 fnt82 0 2312(It)m -224(seems)s 878(clear)s 1420(that)s 240 fnt83 1857 2314(y)m -240 fnt82 2038 2312(at)m 2289(least)s 2805(must)s 3349(appear)s +7488(formally)s 240 fnt4 480 4915(\()m 564(\()s 240 fnt3 +648 4923(width)m 240 fnt4 1187 4915(\()m 240 fnt3 1271 4923(a)m +240 fnt4 1398 4915(\))m 1548(\255)s 1769(\()s 240 fnt3 +1853 4923(x)m 240 fnt4 2031 4915(+)m 240 fnt3 2232 4923(y)m +240 fnt4 2346 4915(\))m 2424(\))s 2562(+)s 240 fnt3 +2763 4923(z)m 240 fnt4 2866 4915(\))m 3016(\255)s 3237(\()s +240 fnt3 3321 4923(x)m 240 fnt4 3499 4915(+)m 3700(\()s +3784(\()s 240 fnt3 3868 4923(y)m 240 fnt4 4042 4915(+)m +240 fnt3 4243 4923(z)m 240 fnt4 4346 4915(\))m 4496(\255)s +240 fnt3 4717 4923(width)m 240 fnt4 5256 4915(\()m 240 fnt3 +5340 4923(j)m 240 fnt4 5418 4915(\))m 5496(\))s 5574(\))s +240 fnt1 0 4419(where)m 240 fnt3 480 3918(x)m 240 fnt4 +670 3910(=)m 240 fnt3 883 3918(width)m 240 fnt4 1422 3910(\()m +240 fnt3 1506 3918(c)m 240 fnt4 1620 3910(\))m 1770(\255)s +240 fnt3 1991 3918(width)m 240 fnt4 2530 3910(\()m 240 fnt3 +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 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 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 +1767(\255)s 240 fnt3 1988 2816(width)m 240 fnt4 2527 2808(\()m +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 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 4065(twice)s 4657(in)s 4919(an)s 3(y)k 5335(e)s 3(xpression)k 6431(for)s 6788(the)s 7155(width)s 7776(of)s 8066(this)s 8482(object)s 0 2024(made)m 602(out)s 997(of)s 1297(simple)s @@ -6352,8 +6415,8 @@ grestore 6556(interpreter)s 7626(actually)s 8453(rejects)s 0 1448(such)m 521(structures,)s 1581(o)s 6(wing)k 2252(to)s 2517(the)s 2890(author')s 13(s)k 3736(doubts)s 4451(about)s 5069(the)s 5442(implementability)s 7153(of)s -240 fnt83 7449 1450(Constr)m 3(ained)k 240 fnt82 8722 1448(and)m -240 fnt83 0 1162(AdjustSize)m 240 fnt82 1049 1160(\(Section)m 1902(5.3\))s +240 fnt3 7449 1450(Constr)m 3(ained)k 240 fnt1 8722 1448(and)m +240 fnt3 0 1162(AdjustSize)m 240 fnt1 1049 1160(\(Section)m 1902(5.3\))s 2330(on)s 2627(them;)s 3217(b)s 4(ut)k 3579(with)s 4061(hindsight)s 5012(this)s 5408(caution)s 6169(w)s 2(as)k 6590(unnecessary)s 15(.)k 480 786(The)m 915(directed)s 1749(ac)s 3(yclic)k @@ -6365,6 +6428,11 @@ grestore 7044(both)s 7519(with)s 7994(and)s 8390(ag)s 1(ainst)k grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -6381,23 +6449,23 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5705 -1579(-)m 5833(12)s 6127(-)s 9066 13419 0 13310 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4288 13844(-)m 4416(12)s 4710(-)s 0 13256(the)m 349(arro)s 6(ws)k +0 13256(the)m 349(arro)s 6(ws)k 1045(are)s 1394(required.)s 2355(After)s 2920(a)s 3087(fe)s 6(w)k 3494(ad-)s 3788(hoc)s 4189(attempts)s 5050(to)s 5291(e)s 3(xtend)k 5985(the)s 6334(usual)s 6896(tree)s 7310(representation)s 8722(had)s @@ -6410,7 +6478,7 @@ grestore 7282(memory)s 8140(consump)s 8998(-)s 0 12392(tion.)m 536(F)s 3(or)k 925(e)s 3(xample,)k gsave 480 10526 translate -240 fnt83 3282 1526 0 1470 240 288 12 LoutGraphic +240 fnt3 3282 1526 0 1470 240 288 12 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -6423,7 +6491,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 123 128(a)m +192 fnt3 123 128(a)m grestore (A) lfigpromotelabels grestore @@ -6436,7 +6504,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 123 105(b)m grestore (B) lfigpromotelabels @@ -6450,7 +6518,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 128 128(c)m +192 fnt3 128 128(c)m grestore (C) lfigpromotelabels grestore @@ -6463,7 +6531,7 @@ grestore 0.15 cm /lfigsolid [ lfigcircle ] lfigdopath pop pop grestore -192 fnt83 118 105(d)m +192 fnt3 118 105(d)m grestore (D) lfigpromotelabels @@ -6505,7 +6573,7 @@ end end restore grestore 0 10075(is)m 210(represented)s 1369(by)s gsave 1135 5559 translate -240 fnt83 6796 4176 0 4120 240 288 12 LoutGraphic +240 fnt3 6796 4176 0 4120 240 288 12 LoutGraphic gsave grestore save gsave 300 dict begin lfigdict begin grestore @@ -6536,7 +6604,7 @@ pop pop grestore gsave 206 150 translate -192 fnt83 39 39 0 39 192 288 48 LoutGraphic +192 fnt3 39 39 0 39 192 288 48 LoutGraphic gsave /lfigblack [ lfigcircle ] gsave lfigpaintpath grestore 0.5 pt setlinewidth lfiground setlinecap @@ -6558,7 +6626,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -192 fnt83 180 128(a)m +192 fnt3 180 128(a)m grestore (BASE) lfigpromotelabels @@ -6592,7 +6660,7 @@ pop pop grestore gsave 206 150 translate -192 fnt83 39 39 0 39 192 288 48 LoutGraphic +192 fnt3 39 39 0 39 192 288 48 LoutGraphic gsave /lfigblack [ lfigcircle ] gsave lfigpaintpath grestore 0.5 pt setlinewidth lfiground setlinecap @@ -6614,7 +6682,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -192 fnt83 180 105(b)m +192 fnt3 180 105(b)m grestore (BASE) lfigpromotelabels grestore @@ -6634,7 +6702,7 @@ pop pop grestore gsave 206 150 translate -192 fnt83 39 39 0 39 192 288 48 LoutGraphic +192 fnt3 39 39 0 39 192 288 48 LoutGraphic gsave /lfigblack [ lfigcircle ] gsave lfigpaintpath grestore 0.5 pt setlinewidth lfiground setlinecap @@ -6658,7 +6726,7 @@ pop pop grestore gsave 206 150 translate -192 fnt83 39 39 0 39 192 288 48 LoutGraphic +192 fnt3 39 39 0 39 192 288 48 LoutGraphic gsave /lfigblack [ lfigcircle ] gsave lfigpaintpath grestore 0.5 pt setlinewidth lfiground setlinecap @@ -6680,7 +6748,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -192 fnt83 104 107(LK)m +192 fnt3 104 107(LK)m grestore (BASE) lfigpromotelabels grestore @@ -6700,7 +6768,7 @@ pop pop grestore gsave 206 150 translate -192 fnt83 39 39 0 39 192 288 48 LoutGraphic +192 fnt3 39 39 0 39 192 288 48 LoutGraphic gsave /lfigblack [ lfigcircle ] gsave lfigpaintpath grestore 0.5 pt setlinewidth lfiground setlinecap @@ -6724,7 +6792,7 @@ pop pop grestore gsave 206 150 translate -192 fnt83 39 39 0 39 192 288 48 LoutGraphic +192 fnt3 39 39 0 39 192 288 48 LoutGraphic gsave /lfigblack [ lfigcircle ] gsave lfigpaintpath grestore 0.5 pt setlinewidth lfiground setlinecap @@ -6746,7 +6814,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -192 fnt83 +192 fnt3 104 107(LK)m grestore (BASE) lfigpromotelabels @@ -6767,7 +6835,7 @@ pop pop grestore gsave 206 150 translate -192 fnt83 39 39 0 39 192 288 48 LoutGraphic +192 fnt3 39 39 0 39 192 288 48 LoutGraphic gsave /lfigblack [ lfigcircle ] gsave lfigpaintpath grestore 0.5 pt setlinewidth lfiground setlinecap @@ -6791,7 +6859,7 @@ pop pop grestore gsave 206 150 translate -192 fnt83 39 39 0 39 192 288 48 LoutGraphic +192 fnt3 39 39 0 39 192 288 48 LoutGraphic gsave /lfigblack [ lfigcircle ] gsave lfigpaintpath grestore 0.5 pt setlinewidth lfiground setlinecap @@ -6813,7 +6881,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -192 fnt83 104 107(LK)m +192 fnt3 104 107(LK)m grestore (BASE) lfigpromotelabels grestore @@ -6833,7 +6901,7 @@ pop pop grestore gsave 206 150 translate -192 fnt83 39 39 0 39 192 288 48 LoutGraphic +192 fnt3 39 39 0 39 192 288 48 LoutGraphic gsave /lfigblack [ lfigcircle ] gsave lfigpaintpath grestore 0.5 pt setlinewidth lfiground setlinecap @@ -6868,7 +6936,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -192 fnt83 185 128(c)m +192 fnt3 185 128(c)m grestore (BASE) lfigpromotelabels @@ -6889,7 +6957,7 @@ pop pop grestore gsave 206 150 translate -192 fnt83 39 39 0 39 192 288 48 LoutGraphic +192 fnt3 39 39 0 39 192 288 48 LoutGraphic gsave /lfigblack [ lfigcircle ] gsave lfigpaintpath grestore 0.5 pt setlinewidth lfiground setlinecap @@ -6924,7 +6992,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -192 fnt83 175 105(d)m +192 fnt3 175 105(d)m grestore (BASE) lfigpromotelabels grestore @@ -7012,8 +7080,8 @@ grestore grestore end end restore grestore -0 5108(where)m 240 fnt83 645 5110(LK)m -240 fnt82 1017 5108(tags)m 1458(a)s 1630(record)s 2304(representing)s +0 5108(where)m 240 fnt3 645 5110(LK)m +240 fnt1 1017 5108(tags)m 1458(a)s 1630(record)s 2304(representing)s 3543(a)s 3715(link.)s 4257(The)s 4690(\207rst)s 5127(list)s 5484(in)s 5732(an)s 3(y)k 6135(node)s 6663(contains)s 7516(all)s 7815(the)s 8169(incoming)s 0 4820(links,)m 577(the)s @@ -7045,14 +7113,19 @@ grestore 6935(could)s 7514(easily)s 8114(halv)s 3(e)k 8674(this,)s 0 2430(b)m 4(ut)k 362(since)s 909(memory)s 1760(is)s 1970(reclaimed)s 2969(after)s 3465(printing)s 4275(each)s 4770(page)s -5278(there)s 5811(is)s 6021(little)s 6513(need.)s 240 fnt84 +5278(there)s 5811(is)s 6021(little)s 6513(need.)s 240 fnt2 0 1781(2.5.)m 471(Context-sensiti)s 2(v)k 2(e)k 2274(attrib)s 4(utes)k -3318(of)s 3590(objects)s 240 fnt82 480 1305(Although)m 1466(we)s +3318(of)s 3590(objects)s 240 fnt1 480 1305(Although)m 1466(we)s 1826(are)s 2198(free)s 2649(to)s 2913(place)s 3498(an)s 3(y)k 3920(object)s 4588(in)s 4856(an)s 3(y)k 5278(conte)s 3(xt,)k 6111(the)s 6484(conte)s 3(xt)k 7270(must)s 7820(in\210uence)s 8778(the)s 0 1017(appearance)m 1131(of)s 1402(the)s 1750(object,)s -2441(since)s 2988(otherwise)s 220 fnt35 480 518(A shor)m -8(t par)k 2(ag)k 2(r)k 2(aph of te)k 6(xt.)k +2441(since)s 2988(otherwise)s 220 fnt5 480 518(A shor)m -8(t par)k 2(ag)k 2(r)k 2(aph of te)k 6(xt.)k + +grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore grestore @@ -7070,23 +7143,23 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5710 -1579(-)m 5838(13)s 6122(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4293 13844(-)m 4421(13)s 4705(-)s 0 13253(could)m 588(not)s +0 13253(could)m 588(not)s 952(appear)s 1647(in)s 1887(a)s 2051(v)s 6(ariety)k 2760(of)s 3028(fonts,)s 3611(column)s 4384(widths,)s 5126(etc.)s 5566(This)s 6040(in\210uence)s 6970(cannot)s 7666(tak)s 2(e)k @@ -7117,13 +7190,13 @@ grestore 8085(to)s 8366(include)s 0 10575(colour)m 671(and)s 1075(te)s 3(xture)k 1791(information.)s 480 10201(The)m 908(w)s 2(ay)k 1359(to)s 1598(deal)s 2051(with)s 2533(fonts)s 3062(at)s 3294(least)s -3791(is)s 4001(v)s 3(ery)k 4477(clear:)s 220 fnt35 +3791(is)s 4001(v)s 3(ery)k 4477(clear:)s 220 fnt5 480 9700({ )m 11(Times Slope 12p } @F)k 6(ont { Hello)k 8(, w)k 2(or)k -3(ld })k -240 fnt82 0 9204(should)m 697(ha)s 4(v)k 3(e)k -1198(result)s 240 fnt83 480 8750(Hello,)m 1104(world)s 240 fnt82 -0 8268(Lout)m 528(also)s 983(pro)s 3(vides)k 220 fnt35 -1872 8265(@Break)m 240 fnt82 2745 8268(and)m 220 fnt35 3166 8265(@Space)m -240 fnt82 4080 8268(symbols)m 4946(for)s 5301(controlling)s 6420(the)s +240 fnt1 0 9204(should)m 697(ha)s 4(v)k 3(e)k +1198(result)s 240 fnt3 480 8750(Hello,)m 1104(world)s 240 fnt1 +0 8268(Lout)m 528(also)s 983(pro)s 3(vides)k 220 fnt5 +1872 8265(@Break)m 240 fnt1 2745 8268(and)m 220 fnt5 3166 8265(@Space)m +240 fnt1 4080 8268(symbols)m 4946(for)s 5301(controlling)s 6420(the)s 6785(paragraph)s 7815(breaking)s 8722(and)s 0 7980(space)m 610(styles)s 1229(mentioned)s 2320(abo)s 3(v)k 3(e.)k 3074(These)s 3724(w)s 2(ork)k 4299(in)s 4565(the)s 4937(same)s @@ -7144,15 +7217,15 @@ grestore 2514(design)s 3242(can)s 3677(be)s 4006(used)s 4549(for)s 4933(a)s 4(v)k 6(ailable)k 5888(width)s 6536(and)s 6986(height,)s 7738(only)s 8264(here)s 8778(the)s 0 6166(implementation)m -1557(is)s 1767(much)s 2356(more)s 2903(demanding:)s 220 fnt35 +1557(is)s 1767(much)s 2356(more)s 2903(demanding:)s 220 fnt5 480 5665(2i @Wide {)m 480 5377(\(1\) |0.1i An e)m 6(xample)k 480 5089(containing a small)m 480 4801(par)m 2(ag)k 2(r)k 2(aph of \207lled te)k 6(xt.)k -480 4513(})m 240 fnt82 0 4019(is)m 210(guaranteed)s 1317(to)s +480 4513(})m 240 fnt1 0 4019(is)m 210(guaranteed)s 1317(to)s 1556(be)s 1838(tw)s 2(o)k 2248(inches)s 2910(wide:)s 480 3516(\(1\))m 891(An)s 1270(e)s 3(xample)k 2162(containing)s 3254(a)s 891 3228(small)m 1504(paragraph)s 2558(of)s 2871(\207lled)s 891 2940(te)m 3(xt.)k 0 2487(One)m 448(must)s 966(calculate)s 1863(that)s 2273(1.9)s 2617(inches)s 3272(minus)s 3900(the)s -4241(width)s 4836(of)s 220 fnt35 5100 2484(\(1\))m 240 fnt82 +4241(width)s 4836(of)s 220 fnt5 5100 2484(\(1\))m 240 fnt1 5406 2487(is)m 5609(a)s 4(v)k 6(ailable)k 6510(to)s 6741(the)s 7082(paragraph,)s 8138(and)s 8534(break)s 0 2199(it)m 186(accordingly;)s 1421(Basser)s 2111(Lout)s 2617(does)s 3100(this)s @@ -7163,9 +7236,9 @@ grestore 4254(which)s 4887(assume)s 5638(that)s 6047(a)s 4(v)k 6(ailable)k 6946(space)s 7524(is)s 7725(in\207nite.)s 8557(If)s 8778(the)s 0 1623(upw)m 2(ard)k 763(mo)s 3(v)k 3(ement)k -1815(reaches)s 2570(a)s 240 fnt83 2724 1625(WIDE)m 240 fnt82 -3375 1623(node,)m 3936(corresponding)s 5346(to)s 5573(a)s 220 fnt35 -5728 1620(@Wide)m 240 fnt82 6490 1623(operator)m 9(,)k 7372(and)s +1815(reaches)s 2570(a)s 240 fnt3 2724 1625(WIDE)m 240 fnt1 +3375 1623(node,)m 3936(corresponding)s 5346(to)s 5573(a)s 220 fnt5 +5728 1620(@Wide)m 240 fnt1 6490 1623(operator)m 9(,)k 7372(and)s 7764(the)s 8100(calculated)s 0 1335(width)m 627(e)s 3(xceeds)k 1457(that)s 1900(allo)s 6(wed,)k 2784(a)s 2975(second,)s 3772(do)s 6(wnw)k 2(ard-mo)k 3(ving)k 5661(stage)s @@ -7173,7 +7246,7 @@ grestore 0 1047(reduce)m 681(the)s 1017(width)s 1606(by)s 1888(\207nding)s 2607(and)s 2999(breaking)s 3877(paragraphs.)s 5077(This)s 5541(second)s 6251(stage)s 6786(is)s 6984(quite)s 7505(routine)s 8226(e)s 3(xcept)k -8894(at)s 220 fnt35 0 756(|)m 240 fnt82 84 759(nodes,)m +8894(at)s 220 fnt5 0 756(|)m 240 fnt1 84 759(nodes,)m 736(whose)s 1390(children)s 2216(are)s 2549(the)s 2883(columns)s 3731(of)s 3988(a)s 4141(table.)s 4755(It)s 4946(is)s 5142(necessary)s 6111(to)s 6336(apportion)s 7296(the)s 7630(a)s 4(v)k 6(ailable)k @@ -7182,6 +7255,11 @@ grestore 5901(lea)s 4(v)k 3(es)k 6554(narro)s 6(w)k 7291(columns)s 8166(unbrok)s 2(en)k grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -7198,25 +7276,25 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5705 -1579(-)m 5833(14)s 6127(-)s 9066 13419 0 13310 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4288 13844(-)m 4416(14)s 4710(-)s 0 13256(and)m 404(breaks)s +0 13256(and)m 404(breaks)s 1079(the)s 1427(remaining)s 2449(columns)s 3311(to)s 3550(equal)s 4123(width,)s 4775(using)s 5347(up)s 5640(all)s 5933(of)s 6204(the)s 6552(a)s 4(v)k 6(ailable)k 7460(space.)s @@ -7228,15 +7306,15 @@ grestore 3842(the)s 4197(object)s 4849(contains)s 5704(constructs)s 6731(that)s 7156(depend)s 7913(on)s 8218(a)s 4(v)k 6(ailable)k 0 12306(space)m 587(\(e.g.)s 1056(right)s 1567(justi\207cation\).)s 2938(F)s 3(or)k -3327(e)s 3(xample,)k 4241(in)s 220 fnt35 480 11805(2i @Wide { Heading // a |1r)m -8(t b })k -240 fnt82 0 11306(it)m 211(seems)s 865(natural)s 1603(to)s +3327(e)s 3(xample,)k 4241(in)s 220 fnt5 480 11805(2i @Wide { Heading // a |1r)m -8(t b })k +240 fnt1 0 11306(it)m 211(seems)s 865(natural)s 1603(to)s 1861(assign)s 2536(a)s 2721(width)s 3342(of)s 3633(tw)s 2(o)k -4062(inches)s 4744(to)s 5002(the)s 5369(subobject)s 220 fnt35 -6366 11303(a |1r)m -8(t b)k 240 fnt82 7124 11306(because)m 7957(of)s +4062(inches)s 4744(to)s 5002(the)s 5369(subobject)s 220 fnt5 +6366 11303(a |1r)m -8(t b)k 240 fnt1 7124 11306(because)m 7957(of)s 8247(the)s 8615(right)s 0 11018(justi\207cation,)m 1270(b)s 4(ut)k 1667(it)s 1895(w)s 2(ould)k 2585(be)s 2903(equally)s 3696(plausible)s 4650(if)s 4903(the)s 5286(width)s 5924(of)s -220 fnt35 6230 11015(Heading)m 240 fnt82 7129 11018(w)m 2(as)k +220 fnt5 6230 11015(Heading)m 240 fnt1 7129 11018(w)m 2(as)k 7586(assigned)s 8503(to)s 8778(the)s 0 10730(subobject)m 989(instead.)s 1843(The)s 2284(author)s 2968(is)s 3191(conscious)s 4199(of)s 4483(ha)s 4(ving)k 5197(f)s 2(ailed)k 5809(to)s @@ -7261,15 +7339,15 @@ grestore 2463(grasped)s 3285(by)s 3598(the)s 3966(author)s 4656(in)s 4919(1985,)s 5525(and)s 5949(he)s 6250(included)s 7152(a)s 7337(b)s 4(uilt-in)k 8113(paragraph)s 0 8628(break)m 2(er)k 9(,)k -818(with)s 1306(the)s 220 fnt35 1660 8625(@Break)m 240 fnt82 +818(with)s 1306(the)s 220 fnt5 1660 8625(@Break)m 240 fnt1 2522 8628(operator)m 3384(selecting)s 4292(from)s 4822(a)s 4995(\207x)s 3(ed)k 5535(set)s 5866(of)s 6143(styles.)s 6857(A)s 7093(much)s 7688(better)s 8298(solution)s 0 8340(based)m 603(on)s 900(g)s 1(alle)k 3(ys)k 1624(will)s 2050(be)s 2332(gi)s 6(v)k 3(en)k 2912(in)s 3155(Section)s 3929(5.5,)s 4336(b)s 4(ut,)k 4745(re)s 3(grettably)k 15(,)k 5868(it)s 6060(is)s -6270(not)s 6636(implemented.)s 240 fnt84 0 7547(3.)m 291(De\207nitions)s -240 fnt82 480 7116(The)m 936(need)s 1474(to)s 1741(pro)s 3(vide)k +6270(not)s 6636(implemented.)s 240 fnt2 0 7547(3.)m 291(De\207nitions)s +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 7855(repeated)s 8751(use)s 0 6828(w)m 2(as)k 440(recognised)s @@ -7281,7 +7359,7 @@ grestore 5874(of)s 6145(users)s 6686(are)s 7033(not)s 7398(programmers)s 8722(and)s 0 6252(do)m 293(not)s 659(understand)s 1767(the)s 2115(code)s 2623(the)s 3(y)k 3086(in)s 9(v)k 4(ok)k 2(e.)k -240 fnt84 0 5603(3.1.)m 471(Operators)s 240 fnt82 480 5126(It)m +240 fnt2 0 5603(3.1.)m 471(Operators)s 240 fnt1 480 5126(It)m 680(is)s 885(e)s 6(vident)k 1637(from)s 2156(the)s 2498(e)s 3(xample)k 3356(of)s 3621(Eqn)s 4059(that)s 4471(user)s 4(-de\207ned)k 5702(operators)s 6636(are)s 6978(needed)s @@ -7290,14 +7368,14 @@ grestore 3328(parameters)s 4434(and)s 4845(returning)s 5781(objects)s 6517(as)s 6774(results.)s 7569(F)s 3(or)k 7965(e)s 3(xample,)k 8887(to)s 0 4550(de\207ne)m 641(a)s 807(superscript)s 1915(operator)s -2771(so)s 3037(that)s 220 fnt35 480 4056(2 sup n)m 240 fnt82 -0 3531(appears)m 781(as)s 168 fnt82 1145 3647(n)m 240 fnt78 -1031 3525(2)m 240 fnt82 1227 3531(,)m 1334(the)s 1682(follo)s 6(wing)k +2771(so)s 3037(that)s 220 fnt5 480 4056(2 sup n)m 240 fnt1 +0 3531(appears)m 781(as)s 168 fnt1 1145 3647(n)m 240 fnt4 +1031 3525(2)m 240 fnt1 1227 3531(,)m 1334(the)s 1682(follo)s 6(wing)k 2659(operator)s 3515(de\207nition)s 4489(may)s 4955(be)s 5237(used:)s -220 fnt35 480 3032(def sup)m 480 2744( precedence 50)m 480 2456( associativity r)m -3(ight)k +220 fnt5 480 3032(def sup)m 480 2744( precedence 50)m 480 2456( associativity r)m -3(ight)k 480 2168( left x)m 480 1880( r)m -3(ight y)k 480 1592({)m 480 1304( @OneRo)m 3(w { | {-2p @F)k 6(ont y} ^/0.5fk x })k -480 1016(})m 240 fnt82 0 520(The)m 220 fnt35 481 517(sup)m -240 fnt82 940 520(operator)m 1850(has)s 2273(precedence)s 3458(50,)s +480 1016(})m 240 fnt1 0 520(The)m 220 fnt5 481 517(sup)m +240 fnt1 940 520(operator)m 1850(has)s 2273(precedence)s 3458(50,)s 3858(is)s 4122(right)s 4686(associati)s 6(v)k 3(e,)k 5886(tak)s 2(es)k 6479(tw)s 2(o)k 6943(objects)s 7724(as)s 8028(parameters)s 0 232(passed)m 720(on)s 1041(the)s @@ -7305,6 +7383,11 @@ grestore 3991(the)s 4363(object)s 5031(between)s 5910(braces)s 6595(as)s 6869(result.)s 7587(This)s 8087(object)s 8756(has)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -7321,26 +7404,26 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5709 -1582(-)m 5837(15)s 6123(-)s 9066 13413 0 13304 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4292 13841(-)m 4420(15)s 4706(-)s 0 13250(the)m 348(structure)s +0 13250(the)m 348(structure)s gsave 608 12769 translate -280 fnt83 128 191 0 123 280 288 70 LoutGraphic +280 fnt3 128 191 0 123 280 288 70 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -7358,7 +7441,7 @@ grestore xmark -0.3 cm xmark ysize 0 0.3 cm lfigpadd ] lfigdopath pop pop grestore -260 fnt35 0 56(y)m +260 fnt5 0 56(y)m grestore grestore @@ -7366,7 +7449,7 @@ end end restore grestore gsave 480 12634 translate -280 fnt83 128 135 0 67 280 288 70 LoutGraphic +280 fnt3 128 135 0 67 280 288 70 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -7384,7 +7467,7 @@ grestore xmark -0.3 cm xmark ysize 0 0.3 cm lfigpadd ] lfigdopath pop pop grestore -260 fnt35 0 0(x)m +260 fnt5 0 0(x)m grestore grestore @@ -7392,26 +7475,26 @@ end end restore grestore 0 12183(b)m 4(ut)k 381(with)s 882(the)s 1249(\207rst)s 1699(ro)s 6(w)k -2138(mark)s 2709(hidden)s 3437(by)s 3751(the)s 220 fnt35 -4118 12180(@OneRo)m 3(w)k 240 fnt82 5268 12183(operator)m 9(,)k -6181(and)s 220 fnt35 6604 12180(y)m 240 fnt82 6791 12183(tw)m 2(o)k +2138(mark)s 2709(hidden)s 3437(by)s 3751(the)s 220 fnt5 +4118 12180(@OneRo)m 3(w)k 240 fnt1 5268 12183(operator)m 9(,)k +6181(and)s 220 fnt5 6604 12180(y)m 240 fnt1 6791 12183(tw)m 2(o)k 7220(points)s 7875(smaller)s 8657(than)s 0 11895(it)m 220(w)s 2(ould)k 904(otherwise)s 1917(ha)s 4(v)k 3(e)k 2447(been.)s -3091(The)s 3548(length)s 220 fnt35 4231 11892(0.5f)m 240 fnt82 +3091(The)s 3548(length)s 220 fnt5 4231 11892(0.5f)m 240 fnt1 4683 11895(speci\207es)m 5585(half)s 6057(the)s 6433(current)s 7198(font)s 7671(size;)s 8243(Figure)s 8952(2)s 0 11607(describes)m 936(the)s -220 fnt35 1280 11604(k)m 240 fnt82 1446 11607(g)m 1(ap)k +220 fnt5 1280 11604(k)m 240 fnt1 1446 11607(g)m 1(ap)k 1840(mode.)s 2532(In)s 2784(the)s 3128(Eq)s 3448(equation)s 4325(formatting)s 5382(package)s 6218([10])s 6651(the)s 6995(equation)s 7872(as)s 8118(a)s 8280(whole)s 8916(is)s 0 11319(set)m -331(in)s 580(italic)s 1116(font,)s 1614(and)s 220 fnt35 -2024 11316(2)m 240 fnt82 2203 11319(is)m 2419(an)s 2709(identi\207er)s +331(in)s 580(italic)s 1116(font,)s 1614(and)s 220 fnt5 +2024 11316(2)m 240 fnt1 2203 11319(is)m 2419(an)s 2709(identi\207er)s 3637(whose)s 4311(body)s 4852(contains)s 5706(a)s 5879(font)s 6330(change)s 7070(back)s 7590(to)s 7835(Roman.)s 8698(The)s -0 11031(digits)m 220 fnt35 586 11028(0)m 240 fnt82 765 11031(to)m -220 fnt35 1009 11028(9)m 240 fnt82 1186 11031(are)m 1538(classed)s -2291(as)s 2546(punctuation)s 3737(characters,)s 4816(permitting)s 220 fnt35 -5869 11028(234)m 240 fnt82 6293 11031(for)m 6635(e)s 3(xample)k +0 11031(digits)m 220 fnt5 586 11028(0)m 240 fnt1 765 11031(to)m +220 fnt5 1009 11028(9)m 240 fnt1 1186 11031(are)m 1538(classed)s +2291(as)s 2546(punctuation)s 3737(characters,)s 4816(permitting)s 220 fnt5 +5869 11028(234)m 240 fnt1 6293 11031(for)m 6635(e)s 3(xample)k 7503(to)s 7747(be)s 8034(interpreted)s 0 10743(as)m 250(a)s 416(sequence)s 1349(of)s 1620(three)s 2153(identi\207ers.)s 480 10369(These)m 1152(de\207nitions)s 2258(are)s 2650(easily)s 3307(implemented)s 4658(by)s @@ -7424,27 +7507,27 @@ grestore 2828(at)s 3069(most)s 3603(tw)s 2(o)k 4022(parameters,)s 5185(left)s 5571(and)s 5984(right,)s 6551(and)s 6964(the)s 7321(parameters)s 8428(cannot)s 0 9131(be)m 282(gi)s 6(v)k 3(en)k -862(def)s 2(ault)k 1583(v)s 6(alues.)k 240 fnt83 -2352 9133(Named)m 240 fnt82 3097 9131(parameters)m 4195(solv)s 3(e)k -4753(both)s 5236(problems:)s 220 fnt35 480 8630(def @Pref)m 6(ace)k +862(def)s 2(ault)k 1583(v)s 6(alues.)k 240 fnt3 +2352 9133(Named)m 240 fnt1 3097 9131(parameters)m 4195(solv)s 3(e)k +4753(both)s 5236(problems:)s 220 fnt5 480 8630(def @Pref)m 6(ace)k 480 8342( named @T)m 26(ag {})k 480 8054( named @Title { Pref)m 6(ace })k 480 7766( r)m -3(ight @Body)k 480 7478({)m 480 7190( Bold @F)m 6(ont @Title)k 480 6902( //0.3v @Body)m 480 6614(})m -240 fnt82 0 6120(The)m 452(def)s 2(ault)k 1197(v)s 6(alue)k +240 fnt1 0 6120(The)m 452(def)s 2(ault)k 1197(v)s 6(alue)k 1789(appears)s 2594(just)s 3023(after)s 3543(the)s 3915(parameter')s 13(s)k 5103(declaration,)s 6295(between)s 7173(braces.)s 7972(In)s 9(v)k 4(ocations)k 0 5832(ha)m 4(v)k 3(e)k 501(a)s 667(natural)s -1385(syntax:)s 220 fnt35 480 5331(@Pref)m 6(ace)k 480 5043( @Title { About this book })m +1385(syntax:)s 220 fnt5 480 5331(@Pref)m 6(ace)k 480 5043( @Title { About this book })m 480 4755({)m 480 4467( F)m 6(e)k 4(w obser)k -6(v)k 5(ers w)k 2(ould ha)k 4(v)k 5(e supposed in 1984, that ...)k -480 4179(})m 240 fnt82 0 3685(with)m 481(the)s 827(actual)s +480 4179(})m 240 fnt1 0 3685(with)m 481(the)s 827(actual)s 1450(named)s 2145(parameters)s 3241(follo)s 6(wing)k 4216(directly)s 4998(after)s 5492(the)s 5838(operator)s 9(,)k 6731(before)s 7395(an)s 3(y)k 7790(right)s 8299(parame)s 8998(-)s 0 3397(ter)m 13(.)k 400(In)s 653(this)s 1046(e)s 3(xample,)k -220 fnt35 1958 3394(@T)m 26(ag)k 240 fnt82 2578 3397(will)m +220 fnt5 1958 3394(@T)m 26(ag)k 240 fnt1 2578 3397(will)m 3001(recei)s 6(v)k 3(e)k 3735(its)s 4008(def)s 2(ault)k 4726(v)s 6(alue,)k 5342(and)s 5744(a)s 5907(less)s 6313(e)s 3(xpert)k 6965(user)s 7420(could)s 8007(safely)s -8628(omit)s 0 3109(the)m 220 fnt35 348 3106(@Title)m 240 fnt82 +8628(omit)s 0 3109(the)m 220 fnt5 348 3106(@Title)m 240 fnt1 1036 3109(parameter)m 2050(as)s 2300(well.)s 480 2735(Lout)m 1007(permits)s 1790(named)s 2502(parameters)s 3616(to)s 3870(ha)s 4(v)k 3(e)k 4387(parameters,)s 5557(a)s 5739(feature)s 6472(with)s 6970(applications)s @@ -7458,14 +7541,19 @@ grestore 0 1871(as)m 250(\207rst-)s 689(class)s 1204(objects,)s 1988(pro)s 3(vided)k 2894(care)s 3347(w)s 2(as)k 3768(tak)s 2(en)k 4341(not)s 4707(to)s 4946(intimidate)s 5970(the)s 6318(non-)s -6746(e)s 3(xpert)k 7400(user)s 13(.)k 240 fnt84 +6746(e)s 3(xpert)k 7400(user)s 13(.)k 240 fnt2 0 1222(3.2.)m 471(Recursion)s 1563(and)s 2004(page)s 2539(lay)s 6(out)k -240 fnt82 480 745(Design)m 1302(and)s 1794(implementation)s 3439(should)s +240 fnt1 480 745(Design)m 1302(and)s 1794(implementation)s 3439(should)s 4223(proceed)s 5126(together)s 6057(in)s 6387(e)s 3(xploratory)k 7628(projects,)s 8579(since)s 0 457(otherwise)m 988(the)s 1340(design)s 2025(too)s 2388(easily)s 3003(becomes)s 3894(unrealistic.)s 5056(Sometimes)s 6173(the)s 6524(implementation)s 8085(does)s 8579(more)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -7480,29 +7568,29 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5705 -1581(-)m 5833(16)s 6126(-)s 9066 13414 0 13305 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4288 13842(-)m 4416(16)s 4709(-)s 0 13251(than)m 469(its)s +0 13251(than)m 469(its)s 745(designer)s 1615(intended.)s 2603(The)s 3031(author)s 3702(wrote)s 4302(the)s 4650(follo)s 6(wing)k 5627(purely)s 6292(as)s -6542(a)s 6708(testing)s 7398(scaf)s 6(fold:)k 220 fnt35 +6542(a)s 6708(testing)s 7398(scaf)s 6(fold:)k 220 fnt5 480 12750(def @P)m 8(age r)k -3(ight x)k 480 12462({)m 480 12174( 8i @Wide 11i @High)m 480 11886( {)m 480 11598( //1i ||1i x ||1i)m 480 11310( //1i)m 480 11022( })m 480 10734(})m -240 fnt82 0 10240(Only)m 518(afterw)s 2(ards)k 1558(did)s +240 fnt1 0 10240(Only)m 518(afterw)s 2(ards)k 1558(did)s 1906(he)s 2172(realize)s 2848(its)s 3108(signi\207cance:)s 4400(the)s 4732(concept)s 5521(of)s 5776(a)s 5926(page)s 6418(had)s 6807(been)s 7300(de\207ned)s 8047(outside)s 8778(the)s 0 9952(implementation,)m @@ -7522,9 +7610,9 @@ grestore 4365(..)s 4649(..)s 4933(..)s 5217(..)s 5501(..)s 5785(..)s 6009(53)s 0 7994(This)m 476(seemed)s 1251(to)s 1490(require)s 2222(recursion,)s 3218(speci\207cally)s 4360(the)s 4708(de\207nition)s -220 fnt35 480 7493(def @Leaders { ..)m 13( @Leaders })k 240 fnt82 0 6999(Note)m -535(that)s 968(both)s 220 fnt35 1465 6996(..)m 240 fnt82 -1643 6999(and)m 220 fnt35 2061 6996(@Leaders)m 240 fnt82 3145 6999(are)m +220 fnt5 480 7493(def @Leaders { ..)m 13( @Leaders })k 240 fnt1 0 6999(Note)m +535(that)s 968(both)s 220 fnt5 1465 6996(..)m 240 fnt1 +1643 6999(and)m 220 fnt5 2061 6996(@Leaders)m 240 fnt1 3145 6999(are)m 3506(objects,)s 4305(so)s 4585(the)s 4948(tw)s 2(o)k 5372(spaces)s 6062(separating)s 7111(them)s 7664(are)s 8026(signi\207cant.)s 0 6711(No)m 361(base)s 858(case)s 1341(is)s 1567(gi)s 6(v)k 3(en,)k @@ -7534,9 +7622,9 @@ grestore 757(it;)s 993(b)s 4(ut)k 1346(we)s 1673(can)s 2053(adopt)s 2637(the)s 2977(implicit)s 3770(base)s 4243(`if)s 4530(space)s 5109(is)s 5311(not)s 5668(suf\207cient,)s 6656(delete)s -220 fnt35 7273 6420(@Leaders)m 240 fnt82 8334 6423(and)m 8729(an)s 3(y)k +220 fnt5 7273 6420(@Leaders)m 240 fnt1 8334 6423(and)m 8729(an)s 3(y)k 0 6135(preceding)m 996(space'.)s 1770(Then)s 2319(the)s 2667(e)s 3(xpression)k -220 fnt35 480 5634(4i @Wide { Chapter 7 @Leaders 53 })m 240 fnt82 0 5138(will)m 417(produce)s +220 fnt5 480 5634(4i @Wide { Chapter 7 @Leaders 53 })m 240 fnt1 0 5138(will)m 417(produce)s 1234(the)s 1572(object)s 2206(sho)s 6(wn)k 2873(abo)s 3(v)k 3(e.)k 3593(It)s 3788(is)s 3988(hard)s 4461(to)s 4691(see)s 5042(ho)s 6(w)k 5493(this)s 5879(base)s 6350(could)s @@ -7544,7 +7632,7 @@ grestore 8998(-)s 0 4850(out)m 348(violating)s 1232(the)s 1561(general)s 2301(principle)s 3187(of)s 3439(k)s 2(eeping)k 4230(all)s 4504(size)s 4912(information)s 6079(internal.)s 6953(In)s 7190(the)s -7519(implementation,)s 220 fnt35 0 4559(@Leaders)m 240 fnt82 1071 4562(remains)m +7519(implementation,)s 220 fnt5 0 4559(@Leaders)m 240 fnt1 1071 4562(remains)m 1881(une)s 3(xpanded)k 3097(while)s 3686(sizes)s 4204(are)s 4554(being)s 5142(calculated;)s 6224(then)s 6696(it)s 6891(is)s 7103(treated)s 7813(similarly)s 8718(to)s 8960(a)s 0 4274(recepti)m 6(v)k 3(e)k @@ -7555,15 +7643,20 @@ grestore 3044(clear)s 3575(ho)s 6(w)k 4044(to)s 4291(de\207ne)s 4940(a)s 5115(document)s 6127(which)s 6777(is)s 6995(a)s 7169(numbered)s 8193(sequence)s 0 3612(of)m 271(pages.)s 980(Let)s -220 fnt35 1358 3609(@Ne)m 6(xt)k 240 fnt82 2082 3612(be)m +220 fnt5 1358 3609(@Ne)m 6(xt)k 240 fnt1 2082 3612(be)m 2364(a)s 2530(pre\207x)s 3143(operator)s 3999(which)s 4641(returns)s 5355(its)s 5631(parameter)s 6645(plus)s 7095(one.)s 7605(Then)s -220 fnt35 480 3111(def @P)m 8(ageList)k 480 2823( r)m -3(ight @P)k 8(ageNum)k +220 fnt5 480 3111(def @P)m 8(ageList)k 480 2823( r)m -3(ight @P)k 8(ageNum)k 480 2535({)m 480 2247( @P)m 8(age {)k 480 1959( |0.5r)m -8(t - @P)k 8(ageNum -)k 480 1671( //1v @T)m 26(e)k 6(xtPlace)k 480 1383( //1r)m -8(t @F)k 6(ootSect)k 480 1095( })m 480 807( //)m 480 519( @P)m 8(ageList @Ne)k 6(xt @P)k 8(ageNum)k 480 231(})m grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -7578,63 +7671,68 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5708 -1579(-)m 5836(17)s 6124(-)s 9066 13418 0 13418 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4291 13844(-)m 4419(17)s 4707(-)s 0 13255(when)m 576(in)s 9(v)k 4(ok)k 2(ed)k -1391(in)s 1634(the)s 1982(e)s 3(xpression)k 220 fnt35 -3059 13252(@P)m 8(ageList 1)k 240 fnt82 4267 13255(,)m 4374(has)s +0 13255(when)m 576(in)s 9(v)k 4(ok)k 2(ed)k +1391(in)s 1634(the)s 1982(e)s 3(xpression)k 220 fnt5 +3059 13252(@P)m 8(ageList 1)k 240 fnt1 4267 13255(,)m 4374(has)s 4744(for)s 5082(its)s 5358(result)s 5948(the)s 6296(potentially)s 7372(in\207nite)s 8105(object)s 1927 2494 0 2494 240 288 60 480 10421 LoutGr2 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt82 845 2216(-)m 931(1)s -1035(-)s 140 fnt35 170 2000(@T)m 16(e)k 4(xtPlace)k +160 fnt1 845 2216(-)m 931(1)s +1035(-)s 140 fnt5 170 2000(@T)m 16(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore 1927 2494 0 2494 240 288 60 480 7927 LoutGr2 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt82 839 2216(-)m 925(2)s -1041(-)s 140 fnt35 170 2000(@T)m 16(e)k 4(xtPlace)k +160 fnt1 839 2216(-)m 925(2)s +1041(-)s 140 fnt5 170 2000(@T)m 16(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore -140 fnt35 480 7712(@P)m 5(ageList 3)k -240 fnt82 0 7230(Similarly)m 15(,)k 980(we)s 1315(may)s -1781(de\207ne)s 220 fnt35 2422 7227(@F)m 6(ootSect)k 240 fnt82 -3573 7230(lik)m 2(e)k 3985(this:)s 220 fnt35 480 6729(def @F)m 6(ootSect)k +140 fnt5 480 7712(@P)m 5(ageList 3)k +240 fnt1 0 7230(Similarly)m 15(,)k 980(we)s 1315(may)s +1781(de\207ne)s 220 fnt5 2422 7227(@F)m 6(ootSect)k 240 fnt1 +3573 7230(lik)m 2(e)k 3985(this:)s 220 fnt5 480 6729(def @F)m 6(ootSect)k 480 6441({)m 480 6153( def @F)m 6(ootList)k 480 5865( r)m -3(ight @Num)k 480 5577( {)m 480 5289( @F)m 6(ootPlace)k 480 5001( //1v)m 480 4713( @F)m 6(ootList @Ne)k 6(xt @Num)k 480 4425( })m 480 3849( 1i @Wide @HLine)m 480 3561( //1v)m 480 3273( @F)m 6(ootList 1)k -480 2985(})m 240 fnt82 0 2491(so)m 266(that)s 684(an)s -967(in)s 9(v)k 4(ocation)k 2021(of)s 220 fnt35 -2292 2488(@F)m 6(ootSect)k 240 fnt82 3443 2491(produces)m gsave +480 2985(})m 240 fnt1 0 2491(so)m 266(that)s 684(an)s +967(in)s 9(v)k 4(ocation)k 2021(of)s 220 fnt5 +2292 2488(@F)m 6(ootSect)k 240 fnt1 3443 2491(produces)m gsave 480 2151 translate -220 fnt35 1440 0 0 0 220 288 61 LoutGraphic +220 fnt5 1440 0 0 0 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore grestore -220 fnt35 +220 fnt5 480 1806(@F)m 6(ootPlace)k 480 1518(@F)m 6(ootPlace)k 480 1230(@F)m 6(ootPlace)k 480 942(...)m grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -7651,31 +7749,31 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5708 -1579(-)m 5836(18)s 6123(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4291 13844(-)m 4419(18)s 4706(-)s 0 13253(The)m 476(e)s 3(xpansion)k +0 13253(The)m 476(e)s 3(xpansion)k 1550(process)s 2367(is)s 2626(v)s 3(ery)k 3150(similar)s 3921(to)s 4209(a)s 4424(BNF)s 4997(deri)s 6(v)k 6(ation,)k 6109(and)s 6562(w)s 2(ould)k 7266(be)s 7597(attempted)s 8646(only)s 0 12965(on)m 297(demand.)s 480 12591(Clearly)m 15(,)k 1276(deciding)s 2154(which)s 2797(e)s 3(xpansions)k 3910(to)s -4150(tak)s 2(e)k 4603(and)s 5008(replacing)s 220 fnt35 -5951 12588(@T)m 26(e)k 6(xtPlace)k 240 fnt82 7170 12591(and)m -220 fnt35 7575 12588(@F)m 6(ootPlace)k 240 fnt82 8832 12591(by)m +4150(tak)s 2(e)k 4603(and)s 5008(replacing)s 220 fnt5 +5951 12588(@T)m 26(e)k 6(xtPlace)k 240 fnt1 7170 12591(and)m +220 fnt5 7575 12588(@F)m 6(ootPlace)k 240 fnt1 8832 12591(by)m 0 12303(the)m 338(appropriate)s 1471(actual)s 2085(te)s 3(xt)k 2489(will)s 2904(not)s 3259(be)s 3530(easy;)s 4056(this)s 4441(is)s 4640(the)s 4977(subject)s 5703(of)s 5963(Section)s @@ -7685,8 +7783,8 @@ grestore 2835(v)s 3(ery)k 3303(simple)s 3989(and)s 4385(\210e)s 3(xible)k 5147(method)s 5916(of)s 6179(specifying)s 7220(the)s 7561(layout)s 8211(of)s 8474(pages,)s 0 11727(which)m 642(requires)s 1462(no)s -1755(specialized)s 2874(language)s 3794(features.)s 240 fnt84 0 11079(3.3.)m -471(Modules)s 240 fnt82 480 10648(It)m 679(is)s 882(well)s +1755(specialized)s 2874(language)s 3794(features.)s 240 fnt2 0 11079(3.3.)m +471(Modules)s 240 fnt1 480 10648(It)m 679(is)s 882(well)s 1342(accepted)s 2229(that)s 2641(the)s 2982(visibility)s 3879(of)s 4143(symbols)s 4986(is)s 5189(not)s 5549(adequately)s 6632(controlled)s 7653(by)s 7940(Algol)s 8533(block)s 0 10360(structure.)m 999(The)s @@ -7699,38 +7797,38 @@ grestore 8647(of)s 8960(a)s 0 9698(document.)m 1108(F)s 3(or)k 1497(e)s 3(xample,)k 2411(we)s 2746(naturally)s 3649(e)s 3(xpect)k 4330(equation)s 5211(formatting)s 6272(to)s 6511(be)s 6793(accomplished)s -8166(lik)s 2(e)k 8578(this:)s 220 fnt35 480 9201(surrounding te)m 6(xt)k +8166(lik)s 2(e)k 8578(this:)s 220 fnt5 480 9201(surrounding te)m 6(xt)k 480 8913(@Eq { {x sup 2 + 1} o)m 3(v)k 5(er 4 })k 480 8625(surrounding te)m 6(xt)k -240 fnt82 0 8126(with)m 482(the)s 830(symbols)s 220 fnt35 -1679 8123(sup)m 240 fnt82 2025 8126(,)m 220 fnt35 2132 8123(o)m 3(v)k 5(er)k -240 fnt82 2551 8126(,)m 2658(etc.,)s 3103(visible)s 3796(only)s +240 fnt1 0 8126(with)m 482(the)s 830(symbols)s 220 fnt5 +1679 8123(sup)m 240 fnt1 2025 8126(,)m 220 fnt5 2132 8123(o)m 3(v)k 5(er)k +240 fnt1 2551 8126(,)m 2658(etc.,)s 3103(visible)s 3796(only)s 4276(within)s 4944(the)s 5292(equation,)s 6223(not)s 6589(in)s 6832(the)s 7180(surrounding)s 8390(te)s 3(xt.)k 480 7752(It)m 695(seems)s 1341(natural)s 2069(to)s 2319(de\207ne)s 2970(these)s -3528(symbols)s 4387(within)s 220 fnt35 5066 7749(@Eq)m 240 fnt82 +3528(symbols)s 4387(within)s 220 fnt5 5066 7749(@Eq)m 240 fnt1 5544 7752(,)m 5661(since)s 6219(the)s 3(y)k 6692(are)s 7050(local)s 7579(to)s 7829(equations.)s 8921(It)s 0 7464(only)m 494(remains)s 1316(then)s 1799(to)s 2053(decree)s 2746(that)s -3179(symbols)s 4043(local)s 4576(to)s 220 fnt35 4830 7461(@Eq)m -240 fnt82 5382 7464(are)m 5744(to)s 5998(be)s 6294(visible)s +3179(symbols)s 4043(local)s 4576(to)s 220 fnt5 4830 7461(@Eq)m +240 fnt1 5382 7464(are)m 5744(to)s 5998(be)s 6294(visible)s 7002(within)s 7684(its)s 7975(actual)s 8615(right)s 0 7176(parameter)m 9(,)k 1052(and)s 1456(this)s 1852(is)s 2062(done)s 2584(by)s 2878(replacing)s 3820(the)s 4168(right)s 4679(formal)s 5370(parameter)s -6384(with)s 6866(a)s 240 fnt83 7032 7178(body)m 240 fnt82 -7554 7176(parameter:)m 220 fnt35 480 6690(e)m 6(xpor)k -8(t sup o)k 3(v)k 5(er)k +6384(with)s 6866(a)s 240 fnt3 7032 7178(body)m 240 fnt1 +7554 7176(parameter:)m 220 fnt5 480 6690(e)m 6(xpor)k -8(t sup o)k 3(v)k 5(er)k 480 6402(def @Eq)m 480 6114( body @Body)m 480 5826({)m 480 5538( def sup ...)m 480 5250( def o)m 3(v)k 5(er ...)k -480 4674( Slope @F)m 6(ont @Body)k 480 4386(})m 240 fnt82 0 3892(The)m -220 fnt35 426 3889(e)m 6(xpor)k -8(t)k 240 fnt82 +480 4674( Slope @F)m 6(ont @Body)k 480 4386(})m 240 fnt1 0 3892(The)m +220 fnt5 426 3889(e)m 6(xpor)k -8(t)k 240 fnt1 1092 3892(clause)m 1743(lists)s 2176(the)s 2522(identi\207ers)s 3526(which)s 4166(are)s 4511(permitted)s 5482(to)s 5719(be)s 5999(visible)s 6690(outside)s 7435(their)s 7930(usual)s 8488(range,)s 0 3604(the)m -359(body)s 905(of)s 220 fnt35 1188 3601(@Eq)m 240 fnt82 -1666 3604(;)m 1790(and)s 2206(the)s 220 fnt35 2566 3601(body)m -240 fnt82 3112 3604(declaration)m 4241(imports)s 5034(them)s 5584(into)s +359(body)s 905(of)s 220 fnt5 1188 3601(@Eq)m 240 fnt1 +1666 3604(;)m 1790(and)s 2206(the)s 220 fnt5 2566 3601(body)m +240 fnt1 3112 3604(declaration)m 4241(imports)s 5034(them)s 5584(into)s 6021(\(mak)s 2(es)k 6772(them)s 7322(visible)s 8027(within\))s 8778(the)s 0 3316(actual)m 614(right)s 1114(parameter)s 2117(of)s 2376(each)s 2860(in)s 9(v)k 4(ocation)k 3903(of)s -220 fnt35 4162 3313(@Eq)m 240 fnt82 4640 3316(.)m 4793(This)s +220 fnt5 4162 3313(@Eq)m 240 fnt1 4640 3316(.)m 4793(This)s 5258(arrangement)s 6500(has)s 6859(pro)s 3(v)k 3(en)k 7564(v)s 3(ery)k 8028(con)s 9(v)k 3(enient)k 0 3028(for)m 338(de\207ning)s 1176(a)s 1342(v)s 6(ariety)k @@ -7748,6 +7846,11 @@ grestore 0 1790(it)m 192(is)s 402(natural)s 1120(to)s 1359(try)s 1678(this:)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -7762,49 +7865,49 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5706 -1579(-)m 5834(19)s 6125(-)s 9066 13414 0 13310 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4289 13844(-)m 4417(19)s 4708(-)s 220 fnt35 480 13253(e)m 6(xpor)k -8(t @Heading @PP ...)k +220 fnt5 480 13253(e)m 6(xpor)k -8(t @Heading @PP ...)k 480 12965(def @BookLa)m 6(y)k 4(out)k 480 12677( named @InitialF)m 6(ont { )k 11(Times Base 12p })k 480 12389( named @InitialBreak { adjust 14p })m 480 12101( named @ColumnWidth { 6i })m 480 11813( ...)m 480 11525({)m 480 11237( def @Heading ...)m -480 10949( def @PP ...)m 480 10661(})m 240 fnt82 0 10167(No)m 6(w)k -220 fnt35 579 10164(@Heading)m 240 fnt82 1732 10167(and)m 220 fnt35 -2202 10164(@PP)m 240 fnt82 2833 10167(may)m 3365(in)s 9(v)k 4(ok)k 2(e)k -220 fnt35 4124 10164(@InitialF)m 6(ont)k 240 fnt82 5411 10167(and)m +480 10949( def @PP ...)m 480 10661(})m 240 fnt1 0 10167(No)m 6(w)k +220 fnt5 579 10164(@Heading)m 240 fnt1 1732 10167(and)m 220 fnt5 +2202 10164(@PP)m 240 fnt1 2833 10167(may)m 3365(in)s 9(v)k 4(ok)k 2(e)k +220 fnt5 4124 10164(@InitialF)m 6(ont)k 240 fnt1 5411 10167(and)m 5881(the)s 6295(other)s 6911(parameters.)s 8188(T)s 19(o)k -8554(mak)s 2(e)k 220 fnt35 0 9876(@Heading)m 240 fnt82 -1100 9879(and)m 220 fnt35 1517 9876(@PP)m 240 fnt82 2096 9879(visible)m +8554(mak)s 2(e)k 220 fnt5 0 9876(@Heading)m 240 fnt1 +1100 9879(and)m 220 fnt5 1517 9876(@PP)m 240 fnt1 2096 9879(visible)m 2802(throughout)s 3926(the)s 4287(document,)s 5352(we)s 5700(need)s 6223(only)s 6716(add)s 7133(a)s 7312(body)s 7859(parameter)s -8887(to)s 220 fnt35 0 9588(@BookLa)m 6(y)k 4(out)k -240 fnt82 1428 9591(and)m 1832(present)s 2582(the)s 2930(entire)s -3529(document)s 4533(as)s 220 fnt35 480 9090(@BookLa)m 6(y)k 4(out)k +8887(to)s 220 fnt5 0 9588(@BookLa)m 6(y)k 4(out)k +240 fnt1 1428 9591(and)m 1832(present)s 2582(the)s 2930(entire)s +3529(document)s 4533(as)s 220 fnt5 480 9090(@BookLa)m 6(y)k 4(out)k 480 8802( @InitialF)m 6(ont { Helv)k 5(etica Base 10p })k 480 8514( @InitialBreak { adjust 12p })m 480 8226({)m -480 7938( )m 11(The document.)k 480 7650(})m 240 fnt82 0 7156(b)m 4(ut)k +480 7938( )m 11(The document.)k 480 7650(})m 240 fnt1 0 7156(b)m 4(ut)k 383(for)s 742(practical)s 1639(reasons)s 2429(gi)s 6(v)k 3(en)k 3030(belo)s 6(w)k 3684(we)s 4040(prefer)s 4691(not)s 5078(to)s 5338(enclose)s 6132(the)s 6502(entire)s 7122(document)s 8147(in)s 8412(braces.)s 0 6868(Instead,)m 797(we)s 1132(write)s -220 fnt35 480 6386(@Use { @BookLa)m 6(y)k 4(out)k 480 6098( @InitialF)m 6(ont { Helv)k 5(etica Base 10p })k -480 5810( @InitialBreak { adjust 12p })m 480 5522(})m 480 5234(The document.)m 240 fnt82 0 4780(which)m +220 fnt5 480 6386(@Use { @BookLa)m 6(y)k 4(out)k 480 6098( @InitialF)m 6(ont { Helv)k 5(etica Base 10p })k +480 5810( @InitialBreak { adjust 12p })m 480 5522(})m 480 5234(The document.)m 240 fnt1 0 4780(which)m 643(has)s 1015(the)s 1365(same)s 1914(ef)s 6(fect:)k -220 fnt35 2617 4777(@Use)m 240 fnt82 3284 4780(mak)m 2(es)k +220 fnt5 2617 4777(@Use)m 240 fnt1 3284 4780(mak)m 2(es)k 3946(the)s 4296(e)s 3(xported)k 5190(symbols)s 6040(of)s -220 fnt35 6313 4777(@BookLa)m 6(y)k 4(out)k 240 fnt82 +220 fnt5 6313 4777(@BookLa)m 6(y)k 4(out)k 240 fnt1 7743 4780(visible)m 8438(for)s 8778(the)s 0 4492(remainder)m 1028(of)s 1299(the)s 1647(document,)s 2698(and)s 3102(is)s 3312(permitted)s 4285(only)s 4765(at)s 4997(the)s 5345(be)s 3(ginning.)k @@ -7812,27 +7915,32 @@ grestore 3319(visibility)s 15(,)k 4278(and)s 4699(which)s 5359(will)s 5802(pro)s 3(v)k 3(e)k 6414(useful)s 7071(for)s 7426(cross)s 7986(referencing)s 0 3830(\(Section)m 851(6.1\),)s 1335(is)s -1543(the)s 220 fnt35 1889 3827(@Open)m 240 fnt82 2693 3830(symbol.)m +1543(the)s 220 fnt5 1889 3827(@Open)m 240 fnt1 2693 3830(symbol.)m 3560(It)s 3763(mak)s 2(es)k 4421(the)s 4767(e)s 3(xported)k 5657(symbols)s 6504(of)s 6773(its)s 7047(left)s 7422(parameter)s 8433(visible)s 0 3542(within)m 668(its)s 944(right)s 1455(parameter)s 9(,)k 2507(and)s 2911(is)s 3121(therefore)s 4038(similar)s 4760(to)s -4999(the)s 5347(P)s 3(ascal)k 220 fnt35 6009 3539(with)m -240 fnt82 6444 3542(statement.)m 480 3168(It)m 698(could)s 1301(be)s +4999(the)s 5347(P)s 3(ascal)k 220 fnt5 6009 3539(with)m +240 fnt1 6444 3542(statement.)m 480 3168(It)m 698(could)s 1301(be)s 1596(ar)s 4(gued)k 2314(that)s 2745(Lout)s 3270(is)s 3493(o)s 3(v)k 3(er)k 4(-supplied)k 4869(with)s 5364(these)s 5924(visibility)s 6840(modifying)s 7903(features:)s 8778(the)s -0 2880(body)m 544(parameter)s 9(,)k 220 fnt35 1606 2877(@Use)m -240 fnt82 2282 2880(and)m 220 fnt35 2696 2877(@Open)m 240 fnt82 +0 2880(body)m 544(parameter)s 9(,)k 220 fnt5 1606 2877(@Use)m +240 fnt1 2282 2880(and)m 220 fnt5 2696 2877(@Open)m 240 fnt1 3513 2880(do)m 3816(not)s 4193(seem)s 4754(suf\207ciently)s 5894(dif)s 6(ferent)k 6779(from)s 7314(each)s 7819(another)s 13(.)k 8698(The)s -220 fnt35 0 2589(@Open)m 240 fnt82 806 2592(symbol)m 1566(is)s +220 fnt5 0 2589(@Open)m 240 fnt1 806 2592(symbol)m 1566(is)s 1776(the)s 2124(most)s 2649(general,)s 3459(being)s 4044(capable)s 4830(of)s 5101(replacing)s 6043(the)s 6391(other)s 6942(tw)s 2(o.)k -7463(F)s 3(or)k 7852(e)s 3(xample,)k 220 fnt35 -480 2091(@Use { x })m 480 1803(@Use { y })m 480 1515(Body of document)m 240 fnt82 0 1017(can)m +7463(F)s 3(or)k 7852(e)s 3(xample,)k 220 fnt5 +480 2091(@Use { x })m 480 1803(@Use { y })m 480 1515(Body of document)m 240 fnt1 0 1017(can)m 389(be)s 671(replaced)s 1538(by)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -7849,36 +7957,36 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5704 -1579(-)m 5832(20)s 6127(-)s 9066 13416 0 13312 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4287 13844(-)m 4415(20)s 4710(-)s 220 fnt35 480 13255(x @Open {)m -480 12967(y @Open {)m 480 12679(Body of document)m 480 12391(}})m 240 fnt82 0 11897(and,)m -453(taking)s 1104(the)s 220 fnt35 1452 11894(@Eq)m 240 fnt82 +220 fnt5 480 13255(x @Open {)m +480 12967(y @Open {)m 480 12679(Body of document)m 480 12391(}})m 240 fnt1 0 11897(and,)m +453(taking)s 1104(the)s 220 fnt5 1452 11894(@Eq)m 240 fnt1 1990 11897(symbol)m 2750(abo)s 3(v)k 3(e)k 3372(as)s 3622(e)s 3(xample,)k 4536(we)s 4871(could)s 5461(eliminate)s 6405(its)s 6681(body)s 7215(parameter)s 9(,)k 8267(add)s -220 fnt35 480 11396(def @Body r)m -3(ight x { Slope @F)k 6(ont x })k 240 fnt82 +220 fnt5 480 11396(def @Body r)m -3(ight x { Slope @F)k 6(ont x })k 240 fnt1 0 10897(to)m 239(the)s 587(e)s 3(xported)k 1479(de\207nitions)s -2540(of)s 220 fnt35 2811 10894(@Eq)m 240 fnt82 3289 10897(,)m -3396(and)s 3800(replace)s 220 fnt35 480 10396(@Eq { object })m 240 fnt82 -0 9899(by)m 220 fnt35 480 9398(@Eq @Open { @Body { object } })m 240 fnt82 0 8898(If)m -220 fnt35 232 8895(@Eq)m 240 fnt82 772 8898(is)m 985(a)s +2540(of)s 220 fnt5 2811 10894(@Eq)m 240 fnt1 3289 10897(,)m +3396(and)s 3800(replace)s 220 fnt5 480 10396(@Eq { object })m 240 fnt1 +0 9899(by)m 220 fnt5 480 9398(@Eq @Open { @Body { object } })m 240 fnt1 0 8898(If)m +220 fnt5 232 8895(@Eq)m 240 fnt1 772 8898(is)m 985(a)s 1153(g)s 1(alle)k 3(y)k 1790(\(Section)s 2645(5.1\),)s -220 fnt35 3133 8895(@Body)m 240 fnt82 3917 8898(must)m 4444(tak)s 2(e)k +220 fnt5 3133 8895(@Body)m 240 fnt1 3917 8898(must)m 4444(tak)s 2(e)k 4899(o)s 3(v)k 3(er)k 5380(that)s 5800(function.)s 6764(But)s 7172(one)s 7577(w)s 2(ould)k 8234(not)s 8603(w)s 2(ant)k 0 8610(to)m 253(write)s 813(these)s @@ -7892,35 +8000,35 @@ grestore 5110(when)s 5676(e)s 3(xpert)k 6319(users)s 6851(wish)s 7350(to)s 7579(de\207ne)s 8210(an)s 8482(object)s 0 7660(or)m 259(operator)s 1115(for)s 1453(repeated)s 2320(use)s 2695(within,)s -3413(say)s 15(,)k 3824(equations:)s 220 fnt35 480 7161(def isum { sum from i=1 to n })m -240 fnt82 0 6667(As)m 338(it)s 551(stands)s 1221(this)s +3413(say)s 15(,)k 3824(equations:)s 220 fnt5 480 7161(def isum { sum from i=1 to n })m +240 fnt1 0 6667(As)m 338(it)s 551(stands)s 1221(this)s 1638(can)s 2048(only)s 2549(be)s 2852(placed)s 3555(within)s -4244(the)s 220 fnt35 4613 6664(@Eq)m 240 fnt82 5172 6667(package)m -6033(itself,)s 6637(where)s 220 fnt35 7298 6664(sum)m 240 fnt82 +4244(the)s 220 fnt5 4613 6664(@Eq)m 240 fnt1 5172 6667(package)m +6033(itself,)s 6637(where)s 220 fnt5 7298 6664(sum)m 240 fnt1 7780 6667(and)m 8205(the)s 8575(other)s 0 6379(symbols)m 841(are)s 1179(visible,)s 1915(b)s 4(ut)k 2268(it)s 2451(is)s 2653(not)s 3010(desirable)s 3919(to)s 4150(modify)s 4886(the)s 5225(source)s 5897(code)s 6396(of)s 6658(a)s 6816(standard)s 7675(package.)s 8614(Lout)s 0 6091(pro)m 3(vides)k 872(an)s -220 fnt35 1155 6088(impor)m -8(t)k 240 fnt82 1828 6091(clause)m +220 fnt5 1155 6088(impor)m -8(t)k 240 fnt1 1828 6091(clause)m 2481(to)s 2720(solv)s 3(e)k 3278(this)s 3674(problem:)s -220 fnt35 480 5590(impor)m -8(t @Eq)k 480 5302(def isum { sum from i=1 to n })m 240 fnt82 -0 4808(may)m 469(appear)s 1169(after)s 220 fnt35 1669 4805(@Eq)m -240 fnt82 2210 4808(is)m 2423(de\207ned,)s 3239(and)s 3646(it)s +220 fnt5 480 5590(impor)m -8(t @Eq)k 480 5302(def isum { sum from i=1 to n })m 240 fnt1 +0 4808(may)m 469(appear)s 1169(after)s 220 fnt5 1669 4805(@Eq)m +240 fnt1 2210 4808(is)m 2423(de\207ned,)s 3239(and)s 3646(it)s 3842(will)s 4271(mak)s 2(e)k 4846(the)s 5198(e)s 3(xported)k -6093(symbols)s 6945(of)s 220 fnt35 7220 4805(@Eq)m 240 fnt82 +6093(symbols)s 6945(of)s 220 fnt5 7220 4805(@Eq)m 240 fnt1 7761 4808(visible)m 8458(within)s 0 4520(the)m 335(body)s 855(of)s -220 fnt35 1112 4517(isum)m 240 fnt82 1561 4520(.)m 1711(This)s +220 fnt5 1112 4517(isum)m 240 fnt1 1561 4520(.)m 1711(This)s 2174(feature)s 2878(complicates)s 4056(the)s 4390(treatment)s 5337(of)s 5595(en)s 9(vironments)k 6925(\(Section)s 7764(3.4\),)s 8236(and)s 8626(e)s 6(v)k 3(en)k 0 4232(introduces)m 1050(an)s -1336(insecurity)s 15(,)k 2373(when)s 220 fnt35 2952 4229(isum)m -240 fnt82 3464 4232(is)m 3677(in)s 9(v)k 4(ok)k 2(ed)k +1336(insecurity)s 15(,)k 2373(when)s 220 fnt5 2952 4229(isum)m +240 fnt1 3464 4232(is)m 3677(in)s 9(v)k 4(ok)k 2(ed)k 4495(outside)s 5245(an)s 5531(equation.)s 6522(A)s 6755(simpler)s 7534(approach)s 8471(w)s 2(ould)k 0 3944(be)m 290(to)s 538(allo)s 6(w)k 1126(only)s 1615(one)s 2026(symbol)s -2795(in)s 3047(an)s 220 fnt35 3339 3941(impor)m -8(t)k -240 fnt82 4020 3944(clause,)m 4733(and)s 5146(treat)s 5638(the)s +2795(in)s 3047(an)s 220 fnt5 3339 3941(impor)m -8(t)k +240 fnt1 4020 3944(clause,)m 4733(and)s 5146(treat)s 5638(the)s 5995(follo)s 6(wing)k 6981(de\207nition)s 7964(e)s 3(xactly)k 8714(lik)s 2(e)k 0 3656(a)m 174(local)s 702(de\207nition)s 1684(of)s 1964(that)s 2390(symbol;)s 3216(b)s 4(ut)k @@ -7928,8 +8036,8 @@ grestore 5303(be)s 5594(possible)s 6442(to)s 6690(de\207ne)s 7339(symbols)s 8197(using)s 8778(the)s 0 3368(resources)m 953(of)s 1224(more)s 1771(than)s 2240(one)s 2642(of)s 2913(the)s 3261(standard)s -4129(packages.)s 240 fnt84 0 2719(3.4.)m 471(Implementation)s 2159(of)s -2431(de\207nitions)s 240 fnt82 480 2242(Input)m 1089(is)s 1343(processed)s +4129(packages.)s 240 fnt2 0 2719(3.4.)m 471(Implementation)s 2159(of)s +2431(de\207nitions)s 240 fnt1 480 2242(Input)m 1089(is)s 1343(processed)s 2388(by)s 2726(a)s 2936(h)s 1(ybrid)k 3663(parser)s 4350(which)s 5036(emplo)s 2(ys)k 5940(operator)s 6840(precedence)s 8015(for)s 8398(objects)s 0 1954(and)m 433(simple)s 1156(recursi)s 6(v)k 3(e)k @@ -7940,13 +8048,13 @@ grestore 3917(for)s 4263(macros)s 5011(which)s 5660(are)s 6014(lists)s 6456(of)s 6734(tok)s 2(ens,)k 7471(and)s 7882(manages)s 8778(the)s 0 1378(usual)m 564(stack)s 1121(of)s 1397(static)s -1958(scopes,)s 2708(accepting)s 240 fnt83 3682 1380(PushScope)m 240 fnt82 -4791 1378(and)m 240 fnt83 5200 1380(P)m 19(opScope)k 240 fnt82 +1958(scopes,)s 2708(accepting)s 240 fnt3 3682 1380(PushScope)m 240 fnt1 +4791 1378(and)m 240 fnt3 5200 1380(P)m 19(opScope)k 240 fnt1 6197 1378(operations)m 7249(as)s 7504(the)s 7857(parser)s 8505(enters)s 0 1090(and)m 447(lea)s 4(v)k 3(es)k 1131(scope)s 1775(re)s 3(gions,)k 2626(including)s 3627(actual)s 4295(body)s 4872(parameters)s 6013(and)s 6461(the)s 6852(right)s 7406(parameter)s -8463(of)s 8778(the)s 220 fnt35 0 799(@Open)m 240 fnt82 +8463(of)s 8778(the)s 220 fnt5 0 799(@Open)m 240 fnt1 806 802(operator)m 13(.)k 480 428(As)m 818(the)s 1187(parse)s 1769(proceeds,)s 2747(a)s 2934(complete)s 3888(call)s 4308(graph)s 4932(is)s 5163(constructed,)s 6393(recording,)s 7438(for)s 7797(each)s @@ -7955,6 +8063,11 @@ grestore 5412(after)s 5898(the)s 6237(last)s 6618(de\207nition)s 7583(is)s 7783(read,)s 8292(the)s 8630(tran)s 8998(-)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -7971,23 +8084,23 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5714 -1579(-)m 5842(21)s 6117(-)s 9066 13419 0 13310 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4297 13844(-)m 4425(21)s 4700(-)s 0 13256(siti)m 6(v)k 3(e)k +0 13256(siti)m 6(v)k 3(e)k 565(closure)s 1312(of)s 1584(the)s 1933(call)s 2334(graph)s 2937(is)s 3148(computed,)s 4200(and)s 4605(used)s 5104(to)s 5344(determine)s 6356(whether)s 7187(each)s 7684(non-)s 8112(parameter)s @@ -8014,7 +8127,7 @@ grestore 3325(parameter)s 4339(v)s 6(alues.)k 480 10780(T)m 19(o)k 780(e)s 6(v)k 6(aluate)k 1620(an)s 1903(unsized)s 2692(object)s 3336(\(pure)s 3896(parse)s 4456(tree\),)s 4999(its)s -240 fnt83 5275 10782(en)m 9(vir)k 10(onment)k 240 fnt82 +240 fnt3 5275 10782(en)m 9(vir)k 10(onment)k 240 fnt1 6456 10780(,)m 6563(the)s 6911(equi)s 6(v)k 6(alent)k 7955(of)s 8226(the)s 8574(stack)s 0 10492(frames)m 728(in)s 999(Algol-lik)s 2(e)k 2064(languages,)s 3156(must)s 3710(be)s @@ -8043,12 +8156,12 @@ grestore 7212(not)s 7566(copied;)s 8303(cop)s 2(ying)k 0 8390(could)m 581(lead)s 1028(to)s 1258(quadratic)s 2191(time)s 2662(comple)s 3(xity)k 15(.)k 3875(Actual)s 4558(parameters)s 5647(of)s 5909(the)s 6248(form)s -220 fnt35 6763 8387(@Ne)m 6(xt)k 240 fnt83 7478 8392(object)m -240 fnt82 8117 8390(recei)m 6(v)k 3(e)k 8843(an)s +220 fnt5 6763 8387(@Ne)m 6(xt)k 240 fnt3 7478 8392(object)m +240 fnt1 8117 8390(recei)m 6(v)k 3(e)k 8843(an)s 0 8102(applicati)m 6(v)k 3(e)k 1105(pre-)s 1478(e)s 6(v)k 6(aluation)k 2529(which)s 3181(pre)s 6(v)k 3(ents)k 4044(long)s -4533(chains)s 5205(of)s 220 fnt35 5486 8099(@Ne)m 6(xt)k -240 fnt82 6221 8102(symbols)m 7080(from)s 7614(forming)s 8448(during)s +4533(chains)s 5205(of)s 220 fnt5 5486 8099(@Ne)m 6(xt)k +240 fnt1 6221 8102(symbols)m 7080(from)s 7614(forming)s 8448(during)s 0 7814(the)m 359(generation)s 1437(of)s 1719(lar)s 4(ge)k 2260(page)s 2779(numbers.)s 3779(Some)s 4391(en)s 9(vironments)k 5747(which)s 6400(pro)s 3(v)k 6(ably)k 7308(contrib)s 4(ute)k @@ -8063,8 +8176,8 @@ grestore 8673(deal)s 0 6950(of)m 271(space)s 858(when)s 1434(objects)s 2162(with)s 2644(en)s 9(vironments)k 3988(are)s 4335(written)s 5068(to)s 5307(auxiliary)s 6210(\207les)s 6659(\(Section)s 7512(6.1\).)s -240 fnt84 0 6157(4.)m 291(Implementation)s 1979(of)s 2251(the)s -2625(functional)s 3715(subset)s 240 fnt82 480 5680(The)m 941(objects)s +240 fnt2 0 6157(4.)m 291(Implementation)s 1979(of)s 2251(the)s +2625(functional)s 3715(subset)s 240 fnt1 480 5680(The)m 941(objects)s 1702(and)s 2139(de\207nitions)s 3233(of)s 3537(Lout)s 4082(are)s 4462(v)s 3(ery)k 4971(similar)s 5726(to)s 5998(those)s 6592(found)s 7242(in)s 7518(other)s 8102(functional)s 0 5392(languages,)m @@ -8098,8 +8211,8 @@ grestore 5418(of)s 5697(the)s 6054(structure)s 6953(from)s 7485(the)s 7841(root)s 8294(do)s 6(wn)k 8887(to)s 0 2628(the)m 348(lea)s 4(v)k 3(es)k 989(and)s 1393(back.)s -240 fnt83 0 2174(1.)m 330(Evaluation)s 1490(of)s 1827(unsized)s -2667(objects.)s 240 fnt82 3554 2172(On)m 3960(the)s 4364(w)s 2(ay)k +240 fnt3 0 2174(1.)m 330(Evaluation)s 1490(of)s 1827(unsized)s +2667(objects.)s 240 fnt1 3554 2172(On)m 3960(the)s 4364(w)s 2(ay)k 4871(do)s 6(wn,)k 5561(calculate)s 6521(en)s 9(vironments)k 7921(and)s 8381(replace)s 0 1884(non-recursi)m 6(v)k 3(e,)k 1404(non-recepti)s 6(v)k 3(e)k 2757(symbols)s 3598(by)s @@ -8108,22 +8221,27 @@ grestore 0 1596(and)m 409(paragraph)s 1427(breaking)s 2322(and)s 2731(spacing)s 3521(styles)s 4121(to)s 4365(the)s 4718(paragraph)s 5736(nodes.)s 6465(On)s 6820(the)s 7173(w)s 2(ay)k 7629(back)s -8147(up,)s 8500(delete)s 240 fnt83 0 1310(FONT)m 240 fnt82 -630 1308(,)m 240 fnt83 737 1310(BREAK)m 240 fnt82 1494 1308(,)m -1601(and)s 240 fnt83 2005 1310(SP)m 21(A)k 7(CE)k -240 fnt82 2760 1308(nodes,)m 3426(and)s 3830(insert)s 240 fnt83 -4420 1310(SPLIT)m 240 fnt82 5049 1308(,)m 240 fnt83 5156 1310(COL)m -240 fnt82 5622 1308(,)m 5729(and)s 240 fnt83 6133 1310(R)m 9(O)k 12(W)k -240 fnt82 6707 1308(nodes)m 7317(\(Section)s 8170(2.3\).)s 240 fnt83 +8147(up,)s 8500(delete)s 240 fnt3 0 1310(FONT)m 240 fnt1 +630 1308(,)m 240 fnt3 737 1310(BREAK)m 240 fnt1 1494 1308(,)m +1601(and)s 240 fnt3 2005 1310(SP)m 21(A)k 7(CE)k +240 fnt1 2760 1308(nodes,)m 3426(and)s 3830(insert)s 240 fnt3 +4420 1310(SPLIT)m 240 fnt1 5049 1308(,)m 240 fnt3 5156 1310(COL)m +240 fnt1 5622 1308(,)m 5729(and)s 240 fnt3 6133 1310(R)m 9(O)k 12(W)k +240 fnt1 6707 1308(nodes)m 7317(\(Section)s 8170(2.3\).)s 240 fnt3 0 815(2.)m 293(W)s 13(idth)k 925(calculations)s 2169(and)s -2614(br)s 8(eaking)k 3(.)k 240 fnt82 3628 813(Calculate)m +2614(br)s 8(eaking)k 3(.)k 240 fnt1 3628 813(Calculate)m 4605(the)s 4973(width)s 5594(of)s 5885(e)s 6(v)k 3(ery)k 6480(subobject)s 7477(from)s 8020(the)s 8388(bottom)s 0 525(up.)m 404(As)s 720(described)s 1693(in)s 1936(Section)s 2709(2.3,)s -240 fnt83 3115 527(WIDE)m 240 fnt82 3777 525(nodes)m 4386(may)s +240 fnt3 3115 527(WIDE)m 240 fnt1 3777 525(nodes)m 4386(may)s 4851(trigger)s 5547(object)s 6190(breaking)s 7079(sub-tra)s 4(v)k 3(ersals)k 8448(during)s 0 237(this)m 396(pass.)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -8140,35 +8258,35 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5705 -1579(-)m 5833(22)s 6127(-)s 9066 13419 0 13308 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4288 13844(-)m 4416(22)s 4710(-)s 240 fnt83 0 13256(3.)m -274(Height)s 989(calculations.)s 240 fnt82 2312 13254(Calculate)m 3270(the)s +240 fnt3 0 13256(3.)m +274(Height)s 989(calculations.)s 240 fnt1 2312 13254(Calculate)m 3270(the)s 3618(height)s 4276(of)s 4547(e)s 6(v)k 3(ery)k 5123(subobject,)s 6147(from)s 6671(the)s 7019(bottom)s 7757(up.)s -240 fnt83 0 12751(4.)m 283(Horizontal)s 1389(coor)s 8(dinates.)k -240 fnt82 2674 12749(Calculate)m 3641(the)s 3998(horizontal)s 5032(coordinate)s +240 fnt3 0 12751(4.)m 283(Horizontal)s 1389(coor)s 8(dinates.)k +240 fnt1 2674 12749(Calculate)m 3641(the)s 3998(horizontal)s 5032(coordinate)s 6106(of)s 6386(each)s 6890(subobject)s 7876(from)s 8409(the)s 8767(top)s 0 12461(do)m 6(wn,)k 634(and)s 1038(store)s 1558(each)s 2053(leaf)s -13(')k 13(s)k 2633(coordinate)s -3698(in)s 3941(the)s 4289(leaf.)s 240 fnt83 0 11977(5.)m +3698(in)s 3941(the)s 4289(leaf.)s 240 fnt3 0 11977(5.)m 295(V)s 26(ertical)k 1119(coor)s 8(dinates)k 2317(and)s 2765(P)s 19(ostScript)k 3827(g)s 2(ener)k 3(ation.)k -240 fnt82 5034 11975(Calculate)m 6013(the)s 6383(v)s 3(ertical)k +240 fnt1 5034 11975(Calculate)m 6013(the)s 6383(v)s 3(ertical)k 7171(coordinate)s 8257(of)s 8550(e)s 6(v)k 3(ery)k 0 11687(subobject)m 981(from)s 1509(the)s 1861(top)s 2224(do)s 6(wn,)k 2862(and)s 3270(at)s 3506(each)s 4005(leaf,)s 4473(retrie)s 6(v)k 3(e)k @@ -8194,8 +8312,8 @@ grestore 2149(that)s 2599(are)s 2978(the)s 3359(principal)s 4295(obstacles)s 5254(in)s 5529(the)s 5909(w)s 2(ay)k 6393(of)s 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 fnt84 0 8338(5.)m -291(Galleys)s 240 fnt82 480 7861(W)m 9(ith)k 1022(objects)s +8952(2)s 0 9082(and)m 404(3.)s 240 fnt2 0 8338(5.)m +291(Galleys)s 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 7570(of)s 7858(getting)s 8592(body)s 0 7573(te)m 3(xt,)k @@ -8208,14 +8326,14 @@ grestore 8444(design)s 0 6997(w)m 2(ork,)k 612(and)s 1031(proceeded)s 2088(approximately)s 3538(as)s 3803(described)s 4793(in)s 5051(Section)s 5840(5.1;)s 6268(the)s 6631(implementation)s 8204(occupied)s 0 6709(the)m -348(years)s 903(1987-89.)s 240 fnt84 0 6060(5.1.)m 471(The)s -926(galley)s 1580(abstraction)s 240 fnt82 480 5583(Let)m 870(us)s +348(years)s 903(1987-89.)s 240 fnt2 0 6060(5.1.)m 471(The)s +926(galley)s 1580(abstraction)s 240 fnt1 480 5583(Let)m 870(us)s 1147(tak)s 2(e)k 1611(the)s 1972(footnote)s 2838(as)s 3100(a)s 3279(representati)s 6(v)k 3(e)k 4677(e)s 3(xample.)k 5661(At)s 5973(some)s 6546(point)s 7111(in)s 7366(the)s 7727(document,)s 8791(we)s 0 5295(wish)m 509(to)s 748(write)s -220 fnt35 480 4847(preceding te)m 6(xt)k 480 4559(@F)m 6(ootNote { f)k 6(ootnote te)k 6(xt })k -480 4271(f)m 6(ollo)k 3(wing te)k 6(xt)k 240 fnt82 +220 fnt5 480 4847(preceding te)m 6(xt)k 480 4559(@F)m 6(ootNote { f)k 6(ootnote te)k 6(xt })k +480 4271(f)m 6(ollo)k 3(wing te)k 6(xt)k 240 fnt1 0 3772(and)m 406(we)s 744(e)s 3(xpect)k 1428(the)s 1779(formatter)s 2729(to)s 2971(remo)s 3(v)k 3(e)k 3741(the)s 4092(footnote)s 4947(from)s 5474(this)s 5873(conte)s 3(xt)k @@ -8256,6 +8374,11 @@ grestore 4838(parameter)s 9(,)k 5904(and)s 6321(it)s 6526(might)s 7157(help)s 7635(with)s 8131(automatic)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -8274,17 +8397,17 @@ showpage %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5710 -1579(-)m 5838(23)s 6122(-)s 9066 13416 0 13416 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4293 13844(-)m 4421(23)s 4705(-)s 1659 13218(1.)m 2163(Initialization)s +1659 13218(1.)m 2163(Initialization)s 7172(200)s 1659 12930(2.)m 2163(Memory)s 3041(allocation,)s 4090(ordered)s 4878(dag)s 5277(operations)s 7172(400)s 1659 12642(3.)m 2163(Le)s 3(xical)k 2931(analysis,)s 3808(macros,)s 4605(\207le)s 4966(handling)s 6992(1,350)s @@ -8297,8 +8420,8 @@ grestore 7172(600)s 1659 11202(8.)m 2163(Cross)s 2759(references)s 3790(and)s 4194(databases)s 6992(1,000)s 1659 10914(9.)m 2163(W)s 9(idth)k 2809(and)s 3213(height)s 3871(calculations,)s 5119(and)s 5523(breaking)s -7172(700)s 1539 10626(10.)m 240 fnt83 2163 10628(Constr)m 3(ained)k -240 fnt82 3410 10626(and)m 240 fnt83 3814 10628(AdjustSize)m 240 fnt82 +7172(700)s 1539 10626(10.)m 240 fnt3 2163 10628(Constr)m 3(ained)k +240 fnt1 3410 10626(and)m 240 fnt3 3814 10628(AdjustSize)m 240 fnt1 7172 10626(700)m 1539 10338(11.)m 2163(T)s 8(ransfer)k 3023(of)s 3294(sized)s 3843(objects)s 4571(into)s 4996(g)s 1(alle)k 3(y)k 5630(tree)s 7172(450)s 1539 10050(12.)m 2163(Galle)s 3(y)k @@ -8310,12 +8433,12 @@ grestore grestore grestore -6872 9074(12,200)m 200 fnt84 41 8421(Figur)m 3(e)k -649(3.)s 200 fnt82 891 8422(Major)m 1427(components)s 2432(of)s +6872 9074(12,200)m 200 fnt2 41 8421(Figur)m 3(e)k +649(3.)s 200 fnt1 891 8422(Major)m 1427(components)s 2432(of)s 2658(the)s 2947(Basser)s 3526(Lout)s 3953(interpreter)s 8(,)k 4861(sho)s 5(wing)k 5576(the)s 5865(approximate)s 6906(number)s 7565(of)s 7791(lines)s 8208(of)s 8434(C)s 8611(code.)s -240 fnt82 0 7791(numbering,)m 1163(since)s 1730(the)s 2097(number)s +240 fnt1 0 7791(numbering,)m 1163(since)s 1730(the)s 2097(number)s 2908(of)s 3198(a)s 3384(footnote)s 4256(is)s 4486(kno)s 6(wn)k 5209(only)s 5709(at)s 5960(the)s 6328(point)s 6899(of)s 7190(appearance;)s 8396(b)s 4(ut)k 8778(the)s 0 7503(implementation)m @@ -8353,7 +8476,7 @@ grestore 6285(only)s 6787(leads)s 7351(to)s 7612(static)s 8190(trees)s 8714(lik)s 2(e)k 0 4825(this)m 396(one:)s gsave 480 2539 translate -240 fnt83 3666 1996 170 1715 240 288 60 LoutGraphic +240 fnt3 3666 1996 170 1715 240 288 60 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -8464,7 +8587,7 @@ grestore 5415(completely)s 6531(dif)s 6(ferent,)k 7453(dynamic)s 8330(tree:)s gsave 480 186 translate -240 fnt83 4663 1274 0 995 240 288 60 LoutGraphic +240 fnt3 4663 1274 0 995 240 288 60 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -8595,6 +8718,11 @@ end end restore grestore grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -8611,23 +8739,23 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5705 -1579(-)m 5833(24)s 6127(-)s 9066 13419 0 13419 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4288 13844(-)m 4416(24)s 4710(-)s 0 13256(The)m 468(tree)s +0 13256(The)m 468(tree)s 921(can)s 1351(be)s 1673(deeper)s 9(,)k 2448(for)s 2827(e)s 3(xample)k 3730(with)s 4253(sections)s 5114(appearing)s 6150(within)s 6859(chapters)s 7746(which)s 8429(appear)s 0 12968(within)m @@ -8649,7 +8777,7 @@ grestore 854(are)s 1206(thus)s 1662(led)s 2017(to)s 2261(propose)s 3081(a)s 3252(second)s 3980(abstraction)s 5091(for)s 5434(document)s 6443(formatting,)s 7564(which)s 8211(we)s 8552(name)s 0 11154(the)m -240 fnt83 371 11156(galle)m 7(y)k 240 fnt82 1028 11154(in)m +240 fnt3 371 11156(galle)m 7(y)k 240 fnt1 1028 11154(in)m 1294(recognition)s 2464(of)s 2759(its)s 3058(similarity)s 4050(to)s 4312(the)s 4684(g)s 1(alle)k 3(ys)k 5432(used)s 5952(in)s 6219(manual)s 7001(typesetting.)s 8238(A)s 8492(g)s 1(alle)k 3(y)k @@ -8665,41 +8793,41 @@ grestore 5671(entire)s 6270(object.)s 480 9916(In)m 736(Lout,)s 1295(a)s 1461(footnote)s 2314(g)s 1(alle)k 3(y)k 2948(and)s 3352(its)s 3628(place)s 4188(of)s 4459(appearance)s 5590(are)s -5937(de\207ned)s 6700(as)s 6950(follo)s 6(ws:)k 220 fnt35 +5937(de\207ned)s 6700(as)s 6950(follo)s 6(ws:)k 220 fnt5 480 9415(def @F)m 6(ootPlace { @Galle)k 4(y })k 480 8839(def @F)m 6(ootNote into { @F)k 6(ootPlace&&f)k 6(ollo)k 3(wing })k -480 8551( r)m -3(ight x)k 480 8263({ x })m 240 fnt82 0 7769(The)m -220 fnt35 445 7766(@F)m 6(ootPlace)k 240 fnt82 1719 7769(symbol)m -2496(contains)s 3362(the)s 3727(special)s 4463(symbol)s 220 fnt35 -5240 7766(@Galle)m 4(y)k 240 fnt82 6078 7769(,)m 6203(indicating)s +480 8551( r)m -3(ight x)k 480 8263({ x })m 240 fnt1 0 7769(The)m +220 fnt5 445 7766(@F)m 6(ootPlace)k 240 fnt1 1719 7769(symbol)m +2496(contains)s 3362(the)s 3727(special)s 4463(symbol)s 220 fnt5 +5240 7766(@Galle)m 4(y)k 240 fnt1 6078 7769(,)m 6203(indicating)s 7229(that)s 7665(it)s 7874(is)s 8102(a)s 8285(point)s 8855(of)s 0 7481(appearance)m 1143(for)s 1493(a)s 1672(g)s 1(alle)k 3(y)k 15(.)k 2413(By)s 2759(placing)s 3529(in)s 9(v)k 4(ocations)k -4682(of)s 220 fnt35 4965 7478(@F)m 6(ootPlace)k 240 fnt82 +4682(of)s 220 fnt5 4965 7478(@F)m 6(ootPlace)k 240 fnt1 6234 7481(at)m 6478(the)s 6838(bottoms)s 7673(of)s 7956(pages,)s 8620(as)s 8883(in)s 0 7193(Section)m 801(3.2,)s 1235(we)s 1597(de\207ne)s 2265(the)s 2640(desired)s 3415(points)s 4078(of)s 4376(appearance)s 5534(for)s 5899(footnotes.)s 6980(Symbols)s 7896(whose)s -8592(body)s 0 6905(contains)m 220 fnt35 863 6902(@Galle)m 4(y)k -240 fnt82 1776 6905(either)m 2394(directly)s 3192(or)s 3466(indirectly)s +8592(body)s 0 6905(contains)m 220 fnt5 863 6902(@Galle)m 4(y)k +240 fnt1 1776 6905(either)m 2394(directly)s 3192(or)s 3466(indirectly)s 4450(are)s 4812(called)s 5455(recepti)s 6(v)k 3(e)k 6392(symbols,)s 7312(meaning)s 8204(recepti)s 6(v)k 3(e)k 0 6617(to)m 239(g)s 1(alle)k 3(ys,)k 1019(and)s 1423(the)s 3(y)k 1886(are)s 2233(e)s 3(xpanded)k 3207(only)s 3687(on)s 3984(demand.)s 4906(The)s 5334(ef)s 6(fect)k -5930(of)s 6202(the)s 220 fnt35 6550 6614(into)m 240 fnt82 +5930(of)s 6202(the)s 220 fnt5 6550 6614(into)m 240 fnt1 6956 6617(clause)m 7609(is)s 7819(to)s 8058(mak)s 2(e)k 8631(each)s 0 6329(in)m 9(v)k 4(ocation)k 1057(of)s -220 fnt35 1332 6326(@F)m 6(ootNote)k 240 fnt82 2506 6329(a)m +220 fnt5 1332 6326(@F)m 6(ootNote)k 240 fnt1 2506 6329(a)m 2676(g)s 1(alle)k 3(y)k 3313(whose)s 3985(object)s 4632(is)s 4846(the)s 5198(result)s 5791(of)s 6066(the)s 6417(in)s 9(v)k 4(ocation)k 7475(in)s 7721(the)s 8073(usual)s 8637(w)s 2(ay)k 15(,)k 0 6041(and)m 406(whose)s 1076(sequence)s 2011(of)s 2285(points)s 2923(of)s 3196(appearance)s 4329(is)s 4542(speci\207ed)s 5452(by)s 5748(the)s -220 fnt35 6098 6038(into)m 240 fnt82 6507 6041(clause;)m 7218(in)s +220 fnt5 6098 6038(into)m 240 fnt1 6507 6041(clause;)m 7218(in)s 7463(this)s 7861(e)s 3(xample,)k 8778(the)s 0 5753(sequence)m -933(of)s 1204(all)s 220 fnt35 1497 5750(@F)m 6(ootPlace)k -240 fnt82 2753 5753(symbols)m 3602(follo)s 6(wing)k 4579(the)s +933(of)s 1204(all)s 220 fnt5 1497 5750(@F)m 6(ootPlace)k +240 fnt1 2753 5753(symbols)m 3602(follo)s 6(wing)k 4579(the)s 4927(in)s 9(v)k 4(ocation)k 5981(point.)s 480 5379(Lout)m 995(permits)s 1766(g)s 1(alle)k 3(ys)k 2494(to)s 2737(be)s 3023(in)s 9(v)k 4(ok)k 2(ed)k @@ -8710,8 +8838,8 @@ grestore 3907(body)s 4454(te)s 3(xt)k 4882(g)s 1(alle)k 3(y)k 15(,)k 5568(for)s 5919(e)s 3(xample,)k 6846(creating)s 7681(arbitrary)s 8570(static)s 0 4803(trees.)m 649(Recepti)s 6(v)k 3(e)k -1688(symbols)s 2573(lik)s 2(e)k 220 fnt35 3021 4800(@F)m 6(ootPlace)k -240 fnt82 4313 4803(may)m 4815(appear)s 5548(within)s 6252(an)s 3(y)k +1688(symbols)s 2573(lik)s 2(e)k 220 fnt5 3021 4800(@F)m 6(ootPlace)k +240 fnt1 4313 4803(may)m 4815(appear)s 5548(within)s 6252(an)s 3(y)k 6685(g)s 1(alle)k 3(y)k 15(,)k 7393(creating)s 8251(arbitrary)s 0 4515(dynamic)m 912(trees)s 1449(as)s 1734(well.)s 2345(The)s 2808(root)s 3289(of)s 3595(the)s 3979(dynamic)s @@ -8722,12 +8850,12 @@ grestore 7604(a)s 7797(g)s 1(alle)k 3(y)k 8458(whose)s 0 3939(point)m 563(of)s 845(appearance)s 1987(is)s 2208(the)s 2567(output)s 3250(\207le.)s 3730(Points)s 4390(of)s 4672(appearance)s -5814(may)s 6291(be)s 220 fnt35 6584 3936(preceding)m 240 fnt82 -7606 3939(or)m 220 fnt35 7876 3936(f)m 6(ollo)k 3(wing)k -240 fnt82 8778 3939(the)m 0 3651(in)m 9(v)k 4(ocation)k +5814(may)s 6291(be)s 220 fnt5 6584 3936(preceding)m 240 fnt1 +7606 3939(or)m 220 fnt5 7876 3936(f)m 6(ollo)k 3(wing)k +240 fnt1 8778 3939(the)m 0 3651(in)m 9(v)k 4(ocation)k 1054(point;)s 1658(entries)s 2345(in)s 2588(tables)s 3196(of)s 3467(contents)s 4315(are)s 4662(the)s 5010(main)s 5545(users)s -6087(of)s 220 fnt35 6358 3648(preceding)m 240 fnt82 7309 3651(.)m +6087(of)s 220 fnt5 6358 3648(preceding)m 240 fnt1 7309 3651(.)m 480 3277(The)m 913(g)s 1(alle)k 3(y)k 1552(abstraction)s 2662(is)s 2877(adequate)s 3788(for)s 4131(all)s 4429(of)s 4706(the)s 5059(applications)s 6270(listed)s 6850(at)s 7087(the)s @@ -8739,8 +8867,8 @@ grestore 715(has)s 1075(been)s 1574(added)s 2194(to)s 2423(Lout)s 2925(as)s 3165(a)s 3321(b)s 4(uilt-in)k 4068(feature,)s 4827(in)s 9(v)k 4(ok)k 2(ed)k 5632(by)s -5916(adding)s 6611(a)s 6767(special)s 220 fnt35 7475 2698(@K)m 8(e)k 4(y)k -240 fnt82 8112 2701(parameter)m 0 2413(to)m 227(the)s 563(g)s 1(alle)k 3(ys,)k +5916(adding)s 6611(a)s 6767(special)s 220 fnt5 7475 2698(@K)m 8(e)k 4(y)k +240 fnt1 8112 2701(parameter)m 0 2413(to)m 227(the)s 563(g)s 1(alle)k 3(ys,)k 1330(and)s 1722(using)s 2281(its)s 2545(v)s 6(alue)k 3100(as)s 3338(the)s 3673(sort)s 4079(k)s 2(e)k 3(y)k 15(.)k 4556(The)s 4972(author)s 5631(w)s 2(as)k 6039(at)s @@ -8749,21 +8877,26 @@ grestore 0 2125(an)m 3(y)k 397(useful)s 1036(generalization)s 2446(of)s 2717(this)s 3113(feature.)s 3939(Its)s 4228(implementation)s 5785(will)s 6211(be)s 6493(discussed)s 7468(in)s 7711(Section)s 8485(6.2.)s -240 fnt84 0 1476(5.2.)m 471(The)s 926(galley)s 1580(\210ushing)s -2447(algorithm)s 240 fnt82 480 999(Galle)m 3(y)k 1177(components)s +240 fnt2 0 1476(5.2.)m 471(The)s 926(galley)s 1580(\210ushing)s +2447(algorithm)s 240 fnt1 480 999(Galle)m 3(y)k 1177(components)s 2395(are)s 2751(promoted)s 3736(one)s 4148(by)s 4451(one)s 4863(into)s 5298(the)s 5655(point)s 6217(of)s 6498(appearance)s 7638(in)s 7891(the)s 8249(dynamic)s 0 711(parent)m 672(g)s 1(alle)k 3(y)k 15(,)k 1359(then)s 1843(carried)s 2579(along)s 3179(with)s 3676(it,)s 3931(ultimately)s 4968(to)s 5222(the)s 5586(root)s 6046(g)s 1(alle)k 3(y)k 6695(and)s 7115(the)s 7478(output)s 8165(\207le.)s 8650(This)s -0 423(process)m 800(is)s 1042(called)s 240 fnt83 1703 425(galle)m 7(y)k -2368(\210ushing)s 240 fnt82 3121 423(:)m 3259(the)s 3640(g)s 1(alle)k 3(ys)k +0 423(process)m 800(is)s 1042(called)s 240 fnt3 1703 425(galle)m 7(y)k +2368(\210ushing)s 240 fnt1 3121 423(:)m 3259(the)s 3640(g)s 1(alle)k 3(ys)k 4396(are)s 4775(ri)s 6(v)k 3(ers)k 5393(running)s 6223(together)s 7098(to)s 7370(the)s 7750(sea,)s 8194(and)s 8631(each)s 0 135(component)m 1124(is)s 1334(a)s 1500(drop)s 1992(of)s 2263(w)s 2(ater)k 13(.)k grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -8779,33 +8912,33 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5709 -1582(-)m 5837(25)s 6123(-)s 9066 13413 0 13304 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4292 13841(-)m 4420(25)s 4706(-)s 480 13250(Here)m 1057(is)s +480 13250(Here)m 1057(is)s 1324(a)s 1547(snapshot)s 2502(of)s 2830(a)s 3053(small)s 3682(dynamic)s 4616(tree,)s 5137(based)s 5797(on)s 6151(the)s -220 fnt35 6556 13247(@P)m 8(ageList)k 240 fnt82 7737 13250(de\207nitions)m +220 fnt5 6556 13247(@P)m 8(ageList)k 240 fnt1 7737 13250(de\207nitions)m 8855(of)s 0 12962(Section)m 774(3.2:)s 6982 3257 0 3257 240 288 60 480 9414 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore -200 fnt83 0 3121(output)m +200 fnt3 0 3121(output)m 563(\207le)s gsave 860 0 translate -240 fnt82 0 3257 0 3165 240 288 60 LoutGraphic +240 fnt1 0 3257 0 3165 240 288 60 LoutGraphic gsave currentdict end 200 dict begin begin grestore @@ -8822,7 +8955,7 @@ grestore 1994(r)s 9(oot)k 2370(galle)s 6(y)k gsave 1994 2967 translate -240 fnt82 1927 0 0 0 240 288 60 LoutGraphic +240 fnt1 1927 0 0 0 240 288 60 LoutGraphic gsave currentdict end 200 dict begin begin grestore @@ -8838,13 +8971,13 @@ grestore grestore gsave 1994 473 translate -240 fnt82 1927 2494 0 2494 240 288 60 LoutGraphic +240 fnt1 1927 2494 0 2494 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt82 845 2216(-)m 931(1)s 1035(-)s 410 2000(A)m -563(small)s 140 fnt35 170 1784(@Galle)m 2(y)k 160 fnt82 +160 fnt1 845 2216(-)m 931(1)s 1035(-)s 410 2000(A)m +563(small)s 140 fnt5 170 1784(@Galle)m 2(y)k 160 fnt1 743(*)s 904 1617 5 1545 160 180 40 853 275 LoutGr2 currentdict end 200 dict begin begin grestore @@ -8858,24 +8991,24 @@ grestore grestore (C) lfigpromotelabels grestore -140 fnt35 170 173(@F)m 4(ootSect)k +140 fnt5 170 173(@F)m 4(ootSect)k grestore gsave 1994 0 translate -240 fnt82 1927 473 170 237 240 288 60 LoutGraphic +240 fnt1 1927 473 170 237 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -140 fnt35 +140 fnt5 170 201(@P)m 5(ageList 2)k grestore 5055 2611(body)m 5490(te)s 4(xt)k gsave 5055 1974 translate -240 fnt82 1927 483 170 240 240 288 60 LoutGraphic +240 fnt1 1927 483 170 240 240 288 60 LoutGraphic gsave currentdict end 200 dict begin begin grestore @@ -8885,36 +9018,36 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -160 fnt82 170 204(paragraph)m +160 fnt1 170 204(paragraph)m grestore (D) lfigpromotelabels grestore gsave 5055 1524 translate -240 fnt82 1927 450 170 207 240 288 60 LoutGraphic +240 fnt1 1927 450 170 207 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -160 fnt82 170 171(of)m 351(te)s 2(xt.)k +160 fnt1 170 171(of)m 351(te)s 2(xt.)k grestore gsave 5055 1034 translate -240 fnt82 1927 490 170 244 240 288 60 LoutGraphic +240 fnt1 1927 490 170 244 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -160 fnt35 170 203(@Input)m +160 fnt5 170 203(@Input)m grestore gsave 0 0 translate -240 fnt82 0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -8928,7 +9061,7 @@ grestore grestore gsave 0 0 translate -240 fnt82 0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -8946,14 +9079,14 @@ grestore 2039(the)s 2431(body)s 3009(te)s 3(xt)k 3468(g)s 1(alle)k 3(y)k 4146(are)s 4537(lines,)s 5139(e)s 3(xcept)k 5864(for)s 6246(the)s 6638(special)s 7400(recepti)s 6(v)k 3(e)k -8366(symbol)s 220 fnt35 0 8672(@Input)m 240 fnt82 759 8675(which)m +8366(symbol)s 220 fnt5 0 8672(@Input)m 240 fnt1 759 8675(which)m 1393(is)s 1595(a)s 1753(placeholder)s 2920(for)s 3249(as)s 3491(yet)s 3835(unread)s 4536(input)s 5080(\(Section)s 5924(5.4\).)s 6459(The)s 6879(components)s 8079(of)s 8342(the)s 8681(root)s 0 8387(g)m 1(alle)k 3(y)k 646(are)s 1006(pages,)s 1671(e)s 3(xcept)k 2364(for)s 2715(the)s 3076(concluding)s 4205(une)s 3(xpanded)k 5431(in)s 9(v)k 4(ocation)k -6498(of)s 220 fnt35 6781 8384(@P)m 8(ageList)k 240 fnt82 +6498(of)s 220 fnt5 6781 8384(@P)m 8(ageList)k 240 fnt1 7845 8387(,)m 7965(which)s 8620(is)s 8843(an)s 0 8099(ine)m 3(xhaustible)k 1328(source)s 2008(of)s 2279(more)s 2826(pages,)s 3478(e)s 3(xpanded)k 4451(on)s 4748(demand.)s 480 7725(The)m 923(concrete)s 1804(data)s @@ -8963,7 +9096,7 @@ grestore 861(the)s 1209(dynamic)s 2086(tree)s 2499(and)s 2903(\207nd)s 3334(signi\207cant)s 4390(features)s 5196(quickly:)s gsave 480 78 translate -200 fnt82 8081 7019 226 7019 200 288 50 LoutGraphic +200 fnt1 8081 7019 226 7019 200 288 50 LoutGraphic gsave grestore save gsave 100 dict begin lfigdict begin grestore @@ -8976,7 +9109,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -200 fnt83 226 226(HEAD)m +200 fnt3 226 226(HEAD)m grestore (A) lfigpromotelabels @@ -8990,7 +9123,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -200 fnt83 226 229(RECEIVING)m 1306(*)s +200 fnt3 226 229(RECEIVING)m 1306(*)s grestore (B) lfigpromotelabels grestore @@ -9014,7 +9147,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -200 fnt83 226 229(RECEPTIVE)m +200 fnt3 226 229(RECEPTIVE)m grestore (C) lfigpromotelabels @@ -9058,7 +9191,7 @@ grestore 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt82 845 2216(-)m 931(1)s 1035(-)s 410 2000(A)m +160 fnt1 845 2216(-)m 931(1)s 1035(-)s 410 2000(A)m 563(small)s 1587 1611 0 1545 160 180 40 170 275 LoutGr2 currentdict end 100 dict begin begin grestore @@ -9068,7 +9201,7 @@ grestore 0.15 cm /lfignoline [ lfigbox ] lfigdopath pop pop grestore -140 fnt35 0 30(@Galle)m 2(y )k +140 fnt5 0 30(@Galle)m 2(y )k grestore (E) lfigpromotelabels grestore @@ -9081,7 +9214,7 @@ grestore 0.15 cm /lfignoline [ lfigbox ] lfigdopath pop pop grestore -140 fnt35 +140 fnt5 0 3(@F)m 4(ootSect )k grestore (F) lfigpromotelabels @@ -9117,7 +9250,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -200 fnt83 226 229(GAP)m +200 fnt3 226 229(GAP)m grestore (C) lfigpromotelabels grestore @@ -9141,7 +9274,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -200 fnt83 +200 fnt3 226 229(RECEPTIVE)m grestore (C) lfigpromotelabels @@ -9166,7 +9299,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -140 fnt35 170 201(@P)m 5(ageList 2)k +140 fnt5 170 201(@P)m 5(ageList 2)k grestore (D) lfigpromotelabels grestore @@ -9200,7 +9333,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -200 fnt83 +200 fnt3 226 226(HEAD)m grestore (A) lfigpromotelabels @@ -9225,7 +9358,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -160 fnt82 170 204(paragraph)m +160 fnt1 170 204(paragraph)m grestore (B) lfigpromotelabels grestore @@ -9249,7 +9382,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -200 fnt83 226 229(GAP)m +200 fnt3 226 229(GAP)m grestore (B) lfigpromotelabels @@ -9274,7 +9407,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -160 fnt82 170 171(of)m 351(te)s 2(xt.)k +160 fnt1 170 171(of)m 351(te)s 2(xt.)k grestore (B) lfigpromotelabels grestore @@ -9298,7 +9431,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -200 fnt83 +200 fnt3 226 229(GAP)m grestore (B) lfigpromotelabels @@ -9323,7 +9456,7 @@ grestore 0.15 cm /lfigsolid [ lfigellipse ] lfigdopath pop pop grestore -200 fnt83 226 229(RECEPTIVE)m +200 fnt3 226 229(RECEPTIVE)m grestore (B) lfigpromotelabels grestore @@ -9347,7 +9480,7 @@ grestore 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -140 fnt35 170 199(@Input)m +140 fnt5 170 199(@Input)m grestore (C) lfigpromotelabels @@ -9377,6 +9510,11 @@ end end restore grestore grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -9392,49 +9530,49 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5705 -1581(-)m 5833(26)s 6126(-)s 9066 13414 0 13414 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4288 13842(-)m 4416(26)s 4709(-)s 0 13251(Each)m 521(g)s 1(alle)k 3(y)k -1140(has)s 1495(a)s 240 fnt83 1647 13253(HEAD)m 240 fnt82 +0 13251(Each)m 521(g)s 1(alle)k 3(y)k +1140(has)s 1495(a)s 240 fnt3 1647 13253(HEAD)m 240 fnt1 2325 13251(node)m 2832(whose)s 3485(children)s 4311(are)s 4643(its)s -4904(component)s 6013(objects,)s 6783(separated)s 7728(by)s 240 fnt83 -8007 13253(GAP)m 240 fnt82 8516 13251(nodes)m 0 12963(recording)m 969(the)s +4904(component)s 6013(objects,)s 6783(separated)s 7728(by)s 240 fnt3 +8007 13253(GAP)m 240 fnt1 8516 13251(nodes)m 0 12963(recording)m 969(the)s 1317(inter)s 4(-component)k 2953(g)s 1(aps.)k 480 12589(Each)m 1026(component)s 2161(is)s 2383(preceded)s 3315(by)s 3621(zero)s -4096(or)s 4367(more)s 240 fnt83 4925 12591(galle)m 7(y)k -5569(inde)s 4(x)k 6155(nodes)s 240 fnt82 6780 12589(of)m +4096(or)s 4367(more)s 240 fnt3 4925 12591(galle)m 7(y)k +5569(inde)s 4(x)k 6155(nodes)s 240 fnt1 6780 12589(of)m 7063(v)s 6(arious)k 7823(types.)s 8504(Ev)s 3(ery)k 0 12301(recepti)m 6(v)k 3(e)k 922(symbol)s 1681(has)s -2051(a)s 240 fnt83 2216 12303(RECEPTIVE)m 240 fnt82 3529 12301(inde)m 3(x)k +2051(a)s 240 fnt3 2216 12303(RECEPTIVE)m 240 fnt1 3529 12301(inde)m 3(x)k 4112(pointing)s 4963(to)s 5201(it,)s 5440(so)s 5705(that)s 6123(it)s 6314(can)s 6703(be)s 6984(found)s 7601(without)s 8391(search)s 8998(-)s 0 12013(ing)m 355(through)s 1152(its)s 1423(component.)s 2646(If)s 2871(the)s 3215(symbol)s 3970(is)s 4175(currently)s 5086(the)s 5429(tar)s 4(get)k 6023(of)s 6290(a)s 6451(g)s 1(alle)k 3(y)k 15(,)k -7118(it)s 7305(has)s 7670(a)s 240 fnt83 7831 12015(RECEIVING)m -240 fnt82 0 11725(inde)m 3(x)k 595(instead)s 1342(which)s +7118(it)s 7305(has)s 7670(a)s 240 fnt3 7831 12015(RECEIVING)m +240 fnt1 0 11725(inde)m 3(x)k 595(instead)s 1342(which)s 1995(is)s 2217(also)s 2667(link)s 2(ed)k 3332(to)s 3583(the)s 3942(incoming)s 4911(g)s 1(alle)k 3(y)k 15(.)k 5652(Galle)s 3(ys)k 6441(that)s 6871(are)s 7229(currently)s 8157(without)s 8960(a)s 0 11437(tar)m 4(get)k 586(are)s 920(link)s 2(ed)k 1560(to)s 1786(the)s 2120(dynamic)s -2984(tree)s 3383(by)s 240 fnt83 3664 11439(UN)m 6(A)k 8(TT)k 12(A)k 7(CHED)k -240 fnt82 5215 11437(g)m 1(alle)k 3(y)k 5836(inde)s 3(x)k 3(es,)k +2984(tree)s 3383(by)s 240 fnt3 3664 11439(UN)m 6(A)k 8(TT)k 12(A)k 7(CHED)k +240 fnt1 5215 11437(g)m 1(alle)k 3(y)k 5836(inde)s 3(x)k 3(es,)k 6654(either)s 7244(just)s 7635(after)s 8118(their)s 8601(most)s 0 11149(recent)m 643(tar)s 4(get)k 1242(if)s 1459(there)s 1992(has)s 2362(been)s 2871(one,)s 3324(or)s 3583(else)s @@ -9467,8 +9605,8 @@ grestore 3389(g)s 1(alle)k 3(y)k 4030(process)s 4805(is)s 5022(either)s 5633(running)s 6438(or)s 6704(else)s 7139(is)s 7356(suspended)s 8419(on)s 8724(one)s 0 8385(of)m 269(its)s -543(o)s 6(wn)k 1005(semaphores.)s 2296(The)s 240 fnt83 -2722 8387(HEAD)m 240 fnt82 3413 8385(node)m 3933(contains)s 4779(a)s +543(o)s 6(wn)k 1005(semaphores.)s 2296(The)s 240 fnt3 +2722 8387(HEAD)m 240 fnt1 3413 8385(node)m 3933(contains)s 4779(a)s 4943(semaphore)s 6033(which)s 6673(is)s 6881(set)s 7204(when)s 7778(the)s 8124(g)s 1(alle)k 3(y)k 8756(has)s 0 8097(tried)m 499(to)s 742(\207nd)s 1177(a)s 1347(tar)s 4(get)k @@ -9481,88 +9619,93 @@ grestore 1994(the)s 2331(snapshot)s 3218(at)s 3439(the)s 3776(be)s 3(ginning)k 4773(of)s 5033(this)s 5418(section,)s 6191(the)s 6528(root)s 6962(g)s 1(alle)k 3(y)k 7585(is)s 7784(suspended)s -8829(on)s 0 7147(the)m 220 fnt35 351 7144(@Galle)m 4(y)k -240 fnt82 1253 7147(symbol,)m 2069(b)s 4(ut)k 2435(the)s +8829(on)s 0 7147(the)m 220 fnt5 351 7144(@Galle)m 4(y)k +240 fnt1 1253 7147(symbol,)m 2069(b)s 4(ut)k 2435(the)s 2787(te)s 3(xt)k 3205(g)s 1(alle)k 3(y)k 3843(is)s 4057(running.)s 4970(It)s 5179(will)s 5608(suspend)s -6442(on)s 6743(the)s 220 fnt35 7095 7144(@Input)m 240 fnt82 +6442(on)s 6743(the)s 220 fnt5 7095 7144(@Input)m 240 fnt1 7866 7147(symbol)m 8630(after)s 0 6859(the)m 348(\207rst)s 779(tw)s 2(o)k 1189(components)s 2397(are)s 2744(promoted.)s 480 6485(Ev)m 3(ery)k -1145(g)s 1(alle)k 3(y)k 240 fnt83 1822 6487(G)m -240 fnt82 1995 6485(,)m 2145(be)s 2470(it)s 2705(a)s +1145(g)s 1(alle)k 3(y)k 240 fnt3 1822 6487(G)m +240 fnt1 1995 6485(,)m 2145(be)s 2470(it)s 2705(a)s 2914(list)s 3308(of)s 3623(pages,)s 4318(body)s 4895(te)s 3(xt,)k 5400(a)s 5609(footnote,)s 6556(or)s 6858(whate)s 6(v)k 3(er)k 9(,)k 7866(e)s 3(x)k 3(ecutes)k 8778(the)s 0 6197(follo)m 6(wing)k 977(algorithm)s 1966(in)s 2209(parallel)s 2979(with)s 3461(e)s 6(v)k 3(ery)k 4037(other)s 4588(g)s 1(alle)k 3(y:)k 0 5694(1.)m -303(Initially)s 240 fnt83 1132 5696(G)m 240 fnt82 1384 5694(is)m +303(Initially)s 240 fnt3 1132 5696(G)m 240 fnt1 1384 5694(is)m 1614(unattached.)s 2834(Search)s 3560(forw)s 2(ards)k 4478(or)s -4756(backw)s 2(ards)k 5848(from)s 6392(its)s 240 fnt83 +4756(backw)s 2(ards)k 5848(from)s 6392(its)s 240 fnt3 6687 5696(UN)m 6(A)k 8(TT)k 12(A)k 7(CHED)k -240 fnt82 8272 5694(inde)m 3(x)k 8876(as)s 0 5406(required,)m +240 fnt1 8272 5694(inde)m 3(x)k 8876(as)s 0 5406(required,)m 903(to)s 1142(\207nd)s 1573(a)s 1739(recepti)s 6(v)k 3(e)k -2661(symbol)s 240 fnt83 3421 5408(S)m 240 fnt82 3602 5406(which)m +2661(symbol)s 240 fnt3 3421 5408(S)m 240 fnt1 3602 5406(which)m 4244(can)s 4633(e)s 3(xpand)k 5380(to)s 5619(re)s 6(v)k 3(eal)k -6248(a)s 6414(tar)s 4(get)k 7013(for)s 240 fnt83 -7351 5408(G)m 240 fnt82 7524 5406(.)m 0 4903(2.)m 284(If)s -514(no)s 240 fnt83 807 4905(S)m 240 fnt82 988 4903(can)m +6248(a)s 6414(tar)s 4(get)k 7013(for)s 240 fnt3 +7351 5408(G)m 240 fnt1 7524 5406(.)m 0 4903(2.)m 284(If)s +514(no)s 240 fnt3 807 4905(S)m 240 fnt1 988 4903(can)m 1377(be)s 1659(found,)s 2325(suspend)s 3155(on)s 3452(the)s 3800(attachment)s 4908(semaphore.)s 6108(Resume)s 6935(later)s 7418(from)s -7942(step)s 8380(1.)s 0 4400(3.)m 281(Expand)s 240 fnt83 -1068 4402(S)m 240 fnt82 1246 4400(to)m 1482(re)s 6(v)k 3(eal)k -2107(the)s 2452(tar)s 4(get)k 3048(of)s 240 fnt83 -3316 4402(G)m 240 fnt82 3489 4400(.)m 3649(Preserv)s 3(e)k -240 fnt83 4521 4402(S)m 240 fnt82 4642 4400(')m 13(s)k +7942(step)s 8380(1.)s 0 4400(3.)m 281(Expand)s 240 fnt3 +1068 4402(S)m 240 fnt1 1246 4400(to)m 1482(re)s 6(v)k 3(eal)k +2107(the)s 2452(tar)s 4(get)k 3048(of)s 240 fnt3 +3316 4402(G)m 240 fnt1 3489 4400(.)m 3649(Preserv)s 3(e)k +240 fnt3 4521 4402(S)m 240 fnt1 4642 4400(')m 13(s)k 4849(semaphore)s 5938(by)s 6229(mo)s 3(ving)k 7007(it)s 7196(to)s 7432(the)s 7777(\207rst)s 8204(recepti)s 6(v)k 3(e)k 0 4112(symbol)m 760(within)s 1428(the)s 1776(e)s 3(xpansion)k -2801(of)s 240 fnt83 3072 4114(S)m 240 fnt82 3193 4112(.)m +2801(of)s 240 fnt3 3072 4114(S)m 240 fnt1 3193 4112(.)m 0 3609(4.)m 295(Calculate)s 1264(the)s 1624(a)s 4(v)k 6(ailable)k 2543(width)s 3156(and)s 3572(height)s 4241(at)s 4484(the)s -4844(tar)s 4(get,)k 5501(and)s 5917(if)s 240 fnt83 -6145 3611(G)m 240 fnt82 6389 3609(is)m 6611(still)s 7034(a)s +4844(tar)s 4(get,)k 5501(and)s 5917(if)s 240 fnt3 +6145 3611(G)m 240 fnt1 6389 3609(is)m 6611(still)s 7034(a)s 7211(pure)s 7704(parse)s 8275(tree,)s 8751(use)s 0 3321(the)m -377(en)s 9(vironment)k 1667(attached)s 2550(to)s 240 fnt83 -2819 3323(G)m 240 fnt82 3081 3321(and)m 3515(the)s 3892(style)s +377(en)s 9(vironment)k 1667(attached)s 2550(to)s 240 fnt3 +2819 3323(G)m 240 fnt1 3081 3321(and)m 3515(the)s 3892(style)s 4429(information)s 5643(from)s 6197(the)s 6574(tar)s 4(get)k -7203(to)s 7471(e)s 6(v)k 6(aluate)k 240 fnt83 -8341 3323(G)m 240 fnt82 8603 3321(as)m 8883(in)s 0 3033(Section)m +7203(to)s 7471(e)s 6(v)k 6(aluate)k 240 fnt3 +8341 3323(G)m 240 fnt1 8603 3321(as)m 8883(in)s 0 3033(Section)m 774(4.)s 0 2577(5.)m 284(Examine)s 1190(the)s 1538(components)s -2746(of)s 240 fnt83 3017 2579(G)m 240 fnt82 3250 2577(one)m +2746(of)s 240 fnt3 3017 2579(G)m 240 fnt1 3250 2577(one)m 3652(by)s 3946(one.)s 4456(F)s 3(or)k 4845(each)s 5340(component)s 6464(there)s 6997(are)s 7344(three)s 7877(possibilities:)s -240 fnt83 480 2205(A)m 7(CCEPT)k 17(.)k 240 fnt82 +240 fnt3 480 2205(A)m 7(CCEPT)k 17(.)k 240 fnt1 1513 2203(If)m 1756(the)s 2116(component)s 3253(\207ts)s 3609(into)s 4046(the)s 4407(a)s 4(v)k 6(ailable)k 5328(space,)s 5978(and)s 6395(has)s 6778(no)s 7083(other)s 7647(problems,)s 8657(then)s 0 1915(promote)m 875(it)s 1090(into)s 1538(the)s 1909(tar)s 4(get.)k 2635(If)s 2888(this)s 3306(is)s 3539(the)s 3910(\207rst)s 4364(component)s 5511(promoted)s 6509(into)s -6956(this)s 7375(tar)s 4(get,)k 8044(and)s 240 fnt83 -8471 1917(G)m 240 fnt82 8727 1915(is)m 8960(a)s 0 1627(forcing)m +6956(this)s 7375(tar)s 4(get,)k 8044(and)s 240 fnt3 +8471 1917(G)m 240 fnt1 8727 1915(is)m 8960(a)s 0 1627(forcing)m 768(g)s 1(alle)k 3(y)k 1428(\(Section)s 2307(5.4\),)s 2819(delete)s 3470(e)s 6(v)k 3(ery)k 4072(recepti)s 6(v)k 3(e)k 5020(symbol)s 5806(preceding)s 6827(the)s 7201(tar)s 4(get)k 7826(in)s 8095(the)s 8469(parent)s 0 1339(g)m 1(alle)k 3(y)k 15(.)k -729(If)s 240 fnt83 959 1341(G)m 240 fnt82 1192 1339(is)m +729(If)s 240 fnt3 959 1341(G)m 240 fnt1 1192 1339(is)m 1402(the)s 1750(root)s 2195(g)s 1(alle)k 3(y)k 15(,)k 2867(render)s 3537(the)s 3885(component)s 5009(on)s 5306(the)s 5654(output)s 6326(\207le)s 6687(and)s 7091(dispose)s 7865(it;)s -240 fnt83 480 967(REJECT)m 17(.)k 240 fnt82 1490 965(If)m +240 fnt3 480 967(REJECT)m 17(.)k 240 fnt1 1490 965(If)m 1756(the)s 2140(component)s 3300(is)s 3546(too)s 3941(lar)s 4(ge)k 4506(for)s 4880(the)s 5264(a)s 4(v)k 6(ailable)k -6208(space,)s 6882(or)s 7177(a)s 240 fnt83 7379 967(FOLLO)m 12(WS)k -240 fnt82 8542 965(inde)m 3(x)k 0 677(\(described)m 1043(belo)s 6(w\))k +6208(space,)s 6882(or)s 7177(a)s 240 fnt3 7379 967(FOLLO)m 12(WS)k +240 fnt1 8542 965(inde)m 3(x)k 0 677(\(described)m 1043(belo)s 6(w\))k 1740(forbids)s 2458(its)s 2723(promotion)s 3767(into)s 4182(this)s -4568(tar)s 4(get,)k 5203(then)s 5662(detach)s 240 fnt83 -6333 679(G)m 240 fnt82 6556 677(from)m 7069(the)s 7407(tar)s 4(get.)k +4568(tar)s 4(get,)k 5203(then)s 5662(detach)s 240 fnt3 +6333 679(G)m 240 fnt1 6556 677(from)m 7069(the)s 7407(tar)s 4(get.)k 8100(If)s 8320(this)s 8705(w)s 2(as)k 0 389(the)m 338(\207rst)s 758(component)s 1872(at)s 2093(this)s 2479(tar)s 4(get,)k -240 fnt83 3114 391(S)m 240 fnt82 3284 389(has)m 3644(been)s +240 fnt3 3114 391(S)m 240 fnt1 3284 389(has)m 3644(been)s 4142(a)s 4298(complete)s 5219(f)s 2(ailure,)k 5936(so)s 6191(undo)s 6713(step)s 7141(3)s 7294(\(Basser)s 8060(Lout)s 8561(is)s 8760(not)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -9578,27 +9721,27 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5708 -1579(-)m 5836(27)s 6124(-)s 9066 13418 0 13309 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4291 13844(-)m 4419(27)s 4707(-)s 0 13255(able)m 454(to)s +0 13255(able)m 454(to)s 693(undo)s 1226(step)s 1664(4\);)s 1975(otherwise)s 2960(delete)s 3586(the)s 3934(tar)s 4(get.)k 4637(Return)s 5345(to)s 5584(step)s 6022(1)s 6177(and)s 6581(continue)s 7461(immediately;)s -240 fnt83 480 12883(SUSPEND.)m 240 fnt82 1685 12881(If)m 1928(the)s +240 fnt3 480 12883(SUSPEND.)m 240 fnt1 1685 12881(If)m 1928(the)s 2289(component)s 3426(contains)s 4287(a)s 4466(recepti)s 6(v)k 3(e)k 5402(symbol,)s 6227(it)s 6432(cannot)s 7143(be)s 7438(promoted)s 8426(yet.)s 8896(If)s 0 12593(this)m 392(symbol)s 1148(is)s @@ -9620,12 +9763,12 @@ grestore 3833(permitting)s 4911(it)s 5134(to)s 5404(resume)s 6180(\210ushing.)s 7147(When)s 7807(this)s 8234(happens,)s 0 10434(Basser)m 701(Lout)s 1218(resumes)s 2057(the)s 2410(parent)s 3071(immediately)s 4324(after)s -240 fnt83 4825 10436(G)m 240 fnt82 5063 10434(suspends)m 5983(or)s +240 fnt3 4825 10436(G)m 240 fnt1 5063 10434(suspends)m 5983(or)s 6247(terminates.)s 7410(Also,)s 7974(whene)s 6(v)k 3(er)k 8960(a)s 0 10146(component)m 1140(is)s 1366(promoted,)s 2406(an)s 3(y)k 2819(child)s 3371(g)s 1(alle)k 3(ys)k 4111(connected)s -5156(to)s 5411(it)s 5619(by)s 240 fnt83 5929 10148(UN)m 6(A)k 8(TT)k 12(A)k 7(CHED)k -240 fnt82 7510 10146(inde)m 3(x)k 3(es)k 8302(must)s +5156(to)s 5411(it)s 5619(by)s 240 fnt3 5929 10148(UN)m 6(A)k 8(TT)k 12(A)k 7(CHED)k +240 fnt1 7510 10146(inde)m 3(x)k 3(es)k 8302(must)s 8844(be)s 0 9858(resumed,)m 918(since)s 1466(these)s 2014(g)s 1(alle)k 3(ys)k 2739(may)s 3206(be)s 3490(able)s 3945(to)s 4185(\207nd)s 4617(a)s 4784(tar)s 4(get)k 5384(no)s 6(w)k 15(.)k @@ -9636,39 +9779,39 @@ grestore 5542(is)s 5740(promoted)s 6703(onto)s 7171(a)s 7325(page.)s 7929(Basser)s 8614(Lout)s 0 9282(gi)m 6(v)k 3(es)k 547(priority)s 1317(to)s 1556(such)s 2052(children,)s 2942(suspending)s -240 fnt83 4073 9284(G)m 240 fnt82 4306 9282(while)m 4893(each)s +240 fnt3 4073 9284(G)m 240 fnt1 4306 9282(while)m 4893(each)s 5388(is)s 5598(gi)s 6(v)k 3(en)k 6178(a)s 6344(chance)s 7064(to)s 7303(\210ush.)s 480 8908(Basser)m 1211(Lout)s 1758(searches)s 2653(for)s 3025(the)s 3408(\207rst)s 3874(tar)s 4(get)k -4507(of)s 240 fnt83 4813 8910(G)m 240 fnt82 5081 8908(only)m +4507(of)s 240 fnt3 4813 8910(G)m 240 fnt1 5081 8908(only)m 5595(in)s 5873(re)s 3(gions)k 6660(of)s 6965(the)s 7348(dynamic)s 8260(tree)s 8708(that)s 0 8620(will)m 437(clearly)s -1152(precede)s 1963(or)s 2233(follo)s 6(w)k 240 fnt83 -2917 8622(G)m 240 fnt82 3090 8620(')m 13(s)k 3312(in)s 9(v)k 4(ocation)k +1152(precede)s 1963(or)s 2233(follo)s 6(w)k 240 fnt3 +2917 8622(G)m 240 fnt1 3090 8620(')m 13(s)k 3312(in)s 9(v)k 4(ocation)k 4378(point)s 4941(in)s 5196(the)s 5556(\207nal)s 6047(printed)s 6794(document,)s 7857(whiche)s 6(v)k 3(er)k 8916(is)s -0 8332(speci\207ed)m 904(in)s 1142(the)s 220 fnt35 1486 8329(into)m -240 fnt82 1887 8332(clause;)m 2591(subsequent)s 3711(tar)s 4(gets)k +0 8332(speci\207ed)m 904(in)s 1142(the)s 220 fnt5 1486 8329(into)m +240 fnt1 1887 8332(clause;)m 2591(subsequent)s 3711(tar)s 4(gets)k 4389(are)s 4731(sought)s 5426(later)s 5904(in)s 6142(the)s 6486(same)s 7028(g)s 1(alle)k 3(y)k 7657(as)s 7903(the)s 8246(\207rst.)s 8776(An)s 0 8044(e)m 3(xception)k 982(to)s 1219(this)s 1613(rule,)s 2089(whose)s 2755(necessity)s 3683(will)s 4107(be)s 4387(made)s 4959(clear)s 5480(later)s 9(,)k -5999(is)s 6207(that)s 6623(a)s 6787(\207rst)s 220 fnt35 -7216 8041(f)m 6(ollo)k 3(wing)k 240 fnt82 8104 8044(tar)m 4(get)k +5999(is)s 6207(that)s 6623(a)s 6787(\207rst)s 220 fnt5 +7216 8041(f)m 6(ollo)k 3(wing)k 240 fnt1 8104 8044(tar)m 4(get)k 8700(will)s 0 7756(be)m 282(sought)s 981(within)s 1649(a)s 1815(dynamic)s 2692(sibling)s 3396(g)s 1(alle)k 3(y)k -4030(preceding)s 240 fnt83 5026 7758(G)m 240 fnt82 5199 7756(')m 13(s)k +4030(preceding)s 240 fnt3 5026 7758(G)m 240 fnt1 5199 7756(')m 13(s)k 5409(in)s 9(v)k 4(ocation)k 6463(point:)s gsave 480 2770 translate -200 fnt82 5379 4646 0 4646 200 288 50 LoutGraphic +200 fnt1 5379 4646 0 4646 200 288 50 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore -200 fnt83 +200 fnt3 0 4510(dynamic)m 722(par)s 7(ent)k gsave 0 1353 translate -200 fnt82 2039 3003 226 2777 200 288 50 LoutGraphic +200 fnt1 2039 3003 226 2777 200 288 50 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -9684,7 +9827,7 @@ grestore 0.15 cm /lfignoline [ lfigbox ] lfigdopath pop pop grestore -180 fnt35 0 40(@XT)m 21(arget)k +180 fnt5 0 40(@XT)m 21(arget)k grestore (A) lfigpromotelabels @@ -9698,16 +9841,16 @@ grestore 0.15 cm /lfignoline [ lfigbox ] lfigdopath pop pop grestore -200 fnt83 0 3(UN)m 5(A)k 7(TT)k 10(A)k 6(CHED)k +200 fnt3 0 3(UN)m 5(A)k 7(TT)k 10(A)k 6(CHED)k grestore (C) lfigpromotelabels grestore -180 fnt35 226 752(@XT)m 21(arget)k +180 fnt5 226 752(@XT)m 21(arget)k grestore gsave 2889 4135 translate -200 fnt82 2490 171 0 86 200 288 50 LoutGraphic +200 fnt1 2490 171 0 86 200 288 50 LoutGraphic gsave currentdict end 200 dict begin begin grestore @@ -9717,25 +9860,25 @@ grestore 0.15 cm /lfignoline [ lfigbox ] lfigdopath pop pop grestore -180 fnt35 0 40(X into { @XT)m 21(arget&&f)k 5(ollo)k 2(wing })k +180 fnt5 0 40(X into { @XT)m 21(arget&&f)k 5(ollo)k 2(wing })k grestore (B) lfigpromotelabels grestore gsave 2889 2720 translate -200 fnt82 2039 1302 226 1076 200 288 50 LoutGraphic +200 fnt1 2039 1302 226 1076 200 288 50 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -180 fnt35 226 492(@GT)m 21(arget)k +180 fnt5 226 492(@GT)m 21(arget)k grestore gsave 2889 1982 translate -200 fnt82 2490 171 0 86 200 288 50 LoutGraphic +200 fnt1 2490 171 0 86 200 288 50 LoutGraphic gsave currentdict end 200 dict begin begin grestore @@ -9745,14 +9888,14 @@ grestore 0.15 cm /lfignoline [ lfigbox ] lfigdopath pop pop grestore -180 fnt35 0 40(G into { @GT)m 21(arget&&f)k 5(ollo)k 2(wing })k +180 fnt5 0 40(G into { @GT)m 21(arget&&f)k 5(ollo)k 2(wing })k grestore (D) lfigpromotelabels grestore gsave 2889 0 translate -200 fnt82 2039 1869 226 1643 200 288 50 LoutGraphic +200 fnt1 2039 1869 226 1643 200 288 50 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -9763,7 +9906,7 @@ grestore grestore gsave 0 0 translate -200 fnt82 0 0 0 0 200 288 50 LoutGraphic +200 fnt1 0 0 0 0 200 288 50 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -9777,7 +9920,7 @@ grestore grestore gsave 0 0 translate -200 fnt82 0 0 0 0 200 288 50 LoutGraphic +200 fnt1 0 0 0 0 200 288 50 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -9791,37 +9934,42 @@ grestore grestore end end restore grestore -0 2319(Here)m 240 fnt83 524 2321(G)m 240 fnt82 762 2319(will)m -1193(\207nd)s 1629(the)s 220 fnt35 1982 2316(@GT)m 26(arget)k -240 fnt82 3045 2319(tar)m 4(get)k 3649(within)s 240 fnt83 -4322 2321(X)m 240 fnt82 4478 2319(.)m 4647(This)s 5128(is)s +0 2319(Here)m 240 fnt3 524 2321(G)m 240 fnt1 762 2319(will)m +1193(\207nd)s 1629(the)s 220 fnt5 1982 2316(@GT)m 26(arget)k +240 fnt1 3045 2319(tar)m 4(get)k 3649(within)s 240 fnt3 +4322 2321(X)m 240 fnt1 4478 2319(.)m 4647(This)s 5128(is)s 5343(dangerous,)s 6439(since)s 6991(if)s 7213(the)s 7566(\207rst)s -8002(component)s 0 2031(of)m 240 fnt83 303 2033(G)m 240 fnt82 -568 2031(is)m 811(then)s 1312(promoted)s 2320(via)s 240 fnt83 -2704 2033(X)m 240 fnt82 2952 2031(into)m 3410(the)s 3790(\207rst)s -220 fnt35 4254 2028(@XT)m 26(arget)k 240 fnt82 5319 2031(rather)m -5967(than)s 6469(into)s 6926(the)s 7307(second,)s 240 fnt83 -8111 2033(G)m 240 fnt82 8284 2031(')m 13(s)k 8527(tar)s 4(get)k +8002(component)s 0 2031(of)m 240 fnt3 303 2033(G)m 240 fnt1 +568 2031(is)m 811(then)s 1312(promoted)s 2320(via)s 240 fnt3 +2704 2033(X)m 240 fnt1 2952 2031(into)m 3410(the)s 3790(\207rst)s +220 fnt5 4254 2028(@XT)m 26(arget)k 240 fnt1 5319 2031(rather)m +5967(than)s 6469(into)s 6926(the)s 7307(second,)s 240 fnt3 +8111 2033(G)m 240 fnt1 8284 2031(')m 13(s)k 8527(tar)s 4(get)k 0 1743(will)m 438(not)s 817(appear)s 1526(later)s 2022(in)s 2277(the)s 2638(\207nal)s 3130(printed)s 3878(document)s 4894(than)s 5376(its)s 5664(in)s 9(v)k 4(ocation)k 6731(point,)s -7342(as)s 7605(required)s 8471(by)s 8778(the)s 220 fnt35 -0 1452(into)m 240 fnt82 406 1455(clause.)m 480 1081(Accordingly)m 15(,)k +7342(as)s 7605(required)s 8471(by)s 8778(the)s 220 fnt5 +0 1452(into)m 240 fnt1 406 1455(clause.)m 480 1081(Accordingly)m 15(,)k 1753(when)s 2313(such)s 2794(a)s 2944(tar)s 4(get)k 3528(is)s 3722(chosen,)s 4478(tw)s 2(o)k 4873(special)s 5575(g)s 1(alle)k 3(y)k 6194(inde)s 3(x)k 3(es)k 6954(are)s 7286(inserted)s 8084(and)s 8472(link)s 2(ed)k -0 793(together:)m 898(a)s 240 fnt83 1074 795(PRECEDES)m 240 fnt82 -2327 793(inde)m 3(x)k 2921(at)s 240 fnt83 3163 795(G)m -240 fnt82 3336 793(')m 13(s)k 3555(in)s 9(v)k 4(ocation)k -4619(point,)s 5227(and)s 5641(a)s 240 fnt83 5817 795(FOLLO)m 12(WS)k -240 fnt82 6952 793(inde)m 3(x)k 7546(at)s 7787(the)s +0 793(together:)m 898(a)s 240 fnt3 1074 795(PRECEDES)m 240 fnt1 +2327 793(inde)m 3(x)k 2921(at)s 240 fnt3 3163 795(G)m +240 fnt1 3336 793(')m 13(s)k 3555(in)s 9(v)k 4(ocation)k +4619(point,)s 5227(and)s 5641(a)s 240 fnt3 5817 795(FOLLO)m 12(WS)k +240 fnt1 6952 793(inde)m 3(x)k 7546(at)s 7787(the)s 8145(\207rst)s 8586(com)s 8998(-)s 0 505(ponent)m 720(of)s -240 fnt83 1000 507(G)m 240 fnt82 1173 505(.)m 1346(The)s +240 fnt3 1000 507(G)m 240 fnt1 1173 505(.)m 1346(The)s 1783(algorithm)s 2781(checks)s 3492(before)s 4167(promoting)s 5226(an)s 3(y)k -240 fnt83 5632 507(FOLLO)m 12(WS)k 240 fnt82 6767 505(inde)m 3(x)k +240 fnt3 5632 507(FOLLO)m 12(WS)k 240 fnt1 6767 505(inde)m 3(x)k 7360(that)s 7787(its)s 8072(promotion)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -9838,78 +9986,78 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5708 -1579(-)m 5836(28)s 6123(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4291 13844(-)m 4419(28)s 4706(-)s 0 13253(w)m 2(ould)k +0 13253(w)m 2(ould)k 661(not)s 1033(place)s 1600(it)s 1798(earlier)s 2472(than)s -2948(the)s 3302(corresponding)s 240 fnt83 4730 13255(PRECEDES)m 240 fnt82 +2948(the)s 3302(corresponding)s 240 fnt3 4730 13255(PRECEDES)m 240 fnt1 5981 13253(inde)m 3(x)k 6571(in)s 6820(the)s 7175(same)s 7728(g)s 1(alle)k 3(y)k 15(,)k 8406(and)s 8817(re)s 8998(-)s 0 12965(jects)m 486(the)s 831(component)s 1952(if)s 2166(it)s 2355(w)s 2(ould.)k 3113(Since)s -240 fnt83 3697 12967(PRECEDES)m 240 fnt82 4939 12965(and)m 240 fnt83 -5340 12967(FOLLO)m 12(WS)k 240 fnt82 6463 12965(inde)m 3(x)k 3(es)k +240 fnt3 3697 12967(PRECEDES)m 240 fnt1 4939 12965(and)m 240 fnt3 +5340 12967(FOLLO)m 12(WS)k 240 fnt1 6463 12965(inde)m 3(x)k 3(es)k 7236(are)s 7580(rarely)s 8187(used,)s 8730(this)s 0 12677(check)m 619(can)s 1008(be)s 1290(implemented)s 2596(by)s 2890(linear)s 3493(search.)s 480 12303(When)m 1114(tw)s 2(o)k 1529(components)s -2742(are)s 3094(separated)s 4060(by)s 220 fnt35 4359 12300(/)m -240 fnt82 4423 12303(,)m 4535(as)s 4790(opposed)s 5652(to)s -5897(the)s 6250(more)s 6802(usual)s 220 fnt35 7367 12300(//)m -240 fnt82 7492 12303(,)m 7604(each)s 8105(in\210uences)s 0 12015(the)m +2742(are)s 3094(separated)s 4060(by)s 220 fnt5 4359 12300(/)m +240 fnt1 4423 12303(,)m 4535(as)s 4790(opposed)s 5652(to)s +5897(the)s 6250(more)s 6802(usual)s 220 fnt5 7367 12300(//)m +240 fnt1 7492 12303(,)m 7604(each)s 8105(in\210uences)s 0 12015(the)m 358(horizontal)s 1393(position)s 2232(of)s 2514(the)s 2872(other)s 13(.)k -3525(Because)s 4389(of)s 4671(this,)s 5133(the)s 240 fnt83 -5492 12017(SUSPEND)m 240 fnt82 6596 12015(action)m 7248(is)s 7468(in)s +3525(Because)s 4389(of)s 4671(this,)s 5133(the)s 240 fnt3 +5492 12017(SUSPEND)m 240 fnt1 6596 12015(action)m 7248(is)s 7468(in)s 7722(f)s 2(act)k 8148(tak)s 2(en)k 8732(if)s 8960(a)s 0 11727(recepti)m 6(v)k 3(e)k 930(symbol)s 1698(occurs)s 2382(in)s 2633(an)s 3(y)k 3039(component)s 4171(separated)s 5140(from)s 5672(the)s 6028(\207rst)s 6468(by)s -220 fnt35 6770 11724(/)m 240 fnt82 6903 11727(operators)m 7851(only)s 15(.)k +220 fnt5 6770 11724(/)m 240 fnt1 6903 11727(operators)m 7851(only)s 15(.)k 8435(Ag)s 1(ain,)k 0 11439(linear)m 603(search)s 1270(forw)s 2(ards)k -2168(to)s 2407(the)s 2755(\207rst)s 220 fnt35 3186 11436(//)m -240 fnt82 3371 11439(suf\207ces)m 4152(for)s 4490(this)s 4886(check.)s +2168(to)s 2407(the)s 2755(\207rst)s 220 fnt5 3186 11436(//)m +240 fnt1 3371 11439(suf\207ces)m 4152(for)s 4490(this)s 4886(check.)s 480 11065(A)m 740(good)s 1308(illustration)s 2430(of)s 2731(these)s 3308(unusual)s 4139(cases)s 4724(is)s 4964(af)s 6(forded)k -5856(by)s 6180(the)s 220 fnt35 6558 11062(@Align)m 240 fnt82 +5856(by)s 6180(the)s 220 fnt5 6558 11062(@Align)m 240 fnt1 7344 11065(symbols)m 8223(from)s 8778(the)s 0 10777(standard)m 867(DocumentLayout)s 2600(package.)s 3546(These)s 4171(are)s 4516(used)s 5012(to)s 5249(produce)s 6074(displayed)s 7047(equations,)s 8069(aligned)s 8829(on)s 0 10489(their)m 497(equals)s 1159(signs)s 1702(despite)s 2435(being)s 3020(separated)s 3980(by)s 4274(arbitrary)s 5149(body)s 5683(te)s 3(xt.)k -480 10115(The)m 220 fnt35 921 10112(@Align)m 240 fnt82 1689 10115(symbols)m +480 10115(The)m 220 fnt5 921 10112(@Align)m 240 fnt1 1689 10115(symbols)m 2551(are)s 2911(packaged)s 3886(neatly)s 4537(for)s 4889(the)s 5250(con)s 9(v)k 3(enience)k 6503(of)s 6787(the)s 7148(non-e)s 3(xpert)k 8254(user)s 9(,)k 8764(b)s 4(ut)k 0 9827(we)m 335(will)s 761(sho)s 6(w)k 1315(just)s 1720(the)s 2067(essence)s 2853(of)s 3124(the)s 3472(implementation)s -5029(here.)s 5603(First,)s 6147(an)s 220 fnt35 6430 9824(@AlignList)m -240 fnt82 7536 9827(g)m 1(alle)k 3(y)k 8170(is)s +5029(here.)s 5603(First,)s 6147(an)s 220 fnt5 6430 9824(@AlignList)m +240 fnt1 7536 9827(g)m 1(alle)k 3(y)k 8170(is)s 8379(created)s 0 9539(which)m 642(contains)s 1490(an)s 1773(in\207nite)s -2506(supply)s 3199(of)s 220 fnt35 3470 9536(@AlignPlace)m 240 fnt82 +2506(supply)s 3199(of)s 220 fnt5 3470 9536(@AlignPlace)m 240 fnt1 4779 9539(recepti)m 6(v)k 3(e)k 5701(symbols)s 6550(separated)s -7510(by)s 220 fnt35 7804 9536(/)m 240 fnt82 7928 9539(operators:)m +7510(by)s 220 fnt5 7804 9536(/)m 240 fnt1 7928 9539(operators:)m 4777 3207 0 3207 240 288 60 480 5992 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore -240 fnt83 0 3044(body)m 522(te)s 4(xt)k 926(galle)s 7(y)k +240 fnt3 0 3044(body)m 522(te)s 4(xt)k 926(galle)s 7(y)k gsave 0 161 translate -240 fnt82 2039 2720 226 2494 240 288 60 LoutGraphic +240 fnt1 2039 2720 226 2494 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -9925,7 +10073,7 @@ grestore 0.15 cm /lfignoline [ lfigbox ] lfigdopath pop pop grestore -220 fnt35 0 47(@Galle)m 4(y)k +220 fnt5 0 47(@Galle)m 4(y)k grestore (A) lfigpromotelabels grestore @@ -9933,7 +10081,7 @@ grestore grestore gsave 2889 1638 translate -240 fnt82 1888 209 0 105 240 288 60 LoutGraphic +240 fnt1 1888 209 0 105 240 288 60 LoutGraphic gsave currentdict end 200 dict begin begin grestore @@ -9943,26 +10091,26 @@ grestore 0.15 cm /lfignoline [ lfigbox ] lfigdopath pop pop grestore -220 fnt35 0 48(@AlignList)m +220 fnt5 0 48(@AlignList)m grestore (B) lfigpromotelabels grestore gsave 2889 0 translate -240 fnt82 1888 1525 226 1195 240 288 60 LoutGraphic +240 fnt1 1888 1525 226 1195 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap 0.15 cm /lfigsolid [ lfigbox ] lfigdopath pop pop grestore -220 fnt35 226 1138(@AlignPlace)m 226 850(@AlignPlace)m 226 562(...)m 226 274(@EndAlignList)m +220 fnt5 226 1138(@AlignPlace)m 226 850(@AlignPlace)m 226 562(...)m 226 274(@EndAlignList)m grestore gsave 0 0 translate -240 fnt82 0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -9993,10 +10141,10 @@ grestore xmark -0.3 cm xmark ysize 0 0.3 cm lfigpadd ] lfigdopath pop pop grestore -240 fnt83 -0 53(f)m 240 fnt78 113 45(\()m 240 fnt83 197 53(x)m -240 fnt78 315 45(\))m 477(=)s 240 fnt83 690 53(g)m -240 fnt78 816 45(\()m 240 fnt83 900 53(x)m 240 fnt78 +240 fnt3 +0 53(f)m 240 fnt4 113 45(\()m 240 fnt3 197 53(x)m +240 fnt4 315 45(\))m 477(=)s 240 fnt3 690 53(g)m +240 fnt4 816 45(\()m 240 fnt3 900 53(x)m 240 fnt4 1018 45(\))m 1156(+)s 1357(2)s grestore @@ -10004,17 +10152,17 @@ grestore end end restore grestore 0 4536(are)m 358(created)s -1117(and)s 1532(sent)s 1989(to)s 220 fnt35 2239 4533(@AlignPlace&&f)m 6(ollo)k 3(wing)k -240 fnt82 4690 4536(tar)m 4(gets.)k 5498(The)s 3(y)k -6052(collect)s 6760(in)s 7014(the)s 220 fnt35 7374 4533(@AlignList)m -240 fnt82 8492 4536(g)m 1(alle)k 3(y)k 0 4248(and)m +1117(and)s 1532(sent)s 1989(to)s 220 fnt5 2239 4533(@AlignPlace&&f)m 6(ollo)k 3(wing)k +240 fnt1 4690 4536(tar)m 4(gets.)k 5498(The)s 3(y)k +6052(collect)s 6760(in)s 7014(the)s 220 fnt5 7374 4533(@AlignList)m +240 fnt1 8492 4536(g)m 1(alle)k 3(y)k 0 4248(and)m 404(are)s 751(aligned)s 1513(there:)s 5836 3212 0 3212 240 288 60 480 696 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore -240 fnt83 0 3049(body)m +240 fnt3 0 3049(body)m 522(te)s 4(xt)k 926(galle)s 7(y)k gsave 0 166 translate -240 fnt82 2039 2720 226 2494 240 288 60 LoutGraphic +240 fnt1 2039 2720 226 2494 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -10030,7 +10178,7 @@ grestore 0.15 cm /lfignoline [ lfigbox ] lfigdopath pop pop grestore -220 fnt35 +220 fnt5 0 47(@Galle)m 4(y)k grestore (A) lfigpromotelabels @@ -10039,7 +10187,7 @@ grestore grestore gsave 2889 1643 translate -240 fnt82 2947 209 0 105 240 288 60 LoutGraphic +240 fnt1 2947 209 0 105 240 288 60 LoutGraphic gsave currentdict end 200 dict begin begin grestore @@ -10049,13 +10197,13 @@ grestore 0.15 cm /lfignoline [ lfigbox ] lfigdopath pop pop grestore -220 fnt35 0 48(@AlignList)m +220 fnt5 0 48(@AlignList)m grestore (B) lfigpromotelabels grestore gsave 2889 0 translate -240 fnt82 2947 1530 1285 1195 240 288 60 LoutGraphic +240 fnt1 2947 1530 1285 1195 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -10069,22 +10217,22 @@ grestore xmark 0 lfigprevious /TO lfigpointdef ] lfigdopath pop pop grestore -240 fnt83 -666 917(f)m 240 fnt78 779 909(\()m 240 fnt83 863 917(x)m -240 fnt78 981 909(\))m 1143(=)s 240 fnt83 1356 917(g)m -240 fnt78 1482 909(\()m 240 fnt83 1566 917(x)m 240 fnt78 -1684 909(\))m 1822(+)s 2023(2)s 240 fnt83 0 629(f)m -240 fnt78 113 621(\()m 240 fnt83 197 629(x)m 240 fnt78 -315 621(\))m 453(-)s 240 fnt83 653 629(g)m 240 fnt78 -779 621(\()m 240 fnt83 863 629(x)m 240 fnt78 981 621(\))m -1143(=)s 1356(2)s 220 fnt35 1059 336(...)m 1059 48(@EndAlignList)m +240 fnt3 +666 917(f)m 240 fnt4 779 909(\()m 240 fnt3 863 917(x)m +240 fnt4 981 909(\))m 1143(=)s 240 fnt3 1356 917(g)m +240 fnt4 1482 909(\()m 240 fnt3 1566 917(x)m 240 fnt4 +1684 909(\))m 1822(+)s 2023(2)s 240 fnt3 0 629(f)m +240 fnt4 113 621(\()m 240 fnt3 197 629(x)m 240 fnt4 +315 621(\))m 453(-)s 240 fnt3 653 629(g)m 240 fnt4 +779 621(\()m 240 fnt3 863 629(x)m 240 fnt4 981 621(\))m +1143(=)s 1356(2)s 220 fnt5 1059 336(...)m 1059 48(@EndAlignList)m grestore grestore gsave 0 0 translate -240 fnt82 0 0 0 0 240 288 60 LoutGraphic +240 fnt1 0 0 0 0 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -10100,6 +10248,11 @@ end end restore grestore grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -10117,39 +10270,39 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5706 -1579(-)m 5834(29)s 6125(-)s 9066 13414 0 13305 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4289 13844(-)m 4417(29)s 4708(-)s 0 13251(The)m 220 fnt35 -450 13248(@AlignList)m 240 fnt82 1579 13251(g)m 1(alle)k 3(y)k +0 13251(The)m 220 fnt5 +450 13248(@AlignList)m 240 fnt1 1579 13251(g)m 1(alle)k 3(y)k 2236(does)s 2749(not)s 3138(\210ush,)s 3734(because)s 4570(its)s 4868(\207rst)s 5322(component)s 6469(is)s 6702(connected)s 7753(to)s 8015(a)s 8204(recepti)s 6(v)k 3(e)k 0 12963(symbol)m -760(by)s 220 fnt35 1054 12960(/)m 240 fnt82 1178 12963(operators.)m +760(by)s 220 fnt5 1054 12960(/)m 240 fnt1 1178 12963(operators.)m 480 12589(After)m 1048(the)s 1402(last)s 1799(equation,)s 2736(an)s 3025(empty)s 3683(forcing)s 4432(g)s 1(alle)k 3(y)k -5072(is)s 5288(sent)s 5739(to)s 220 fnt35 5984 12586(@EndAlignList)m -240 fnt82 7420 12589(,)m 7533(deleting)s 8362(the)s 8716(tw)s 2(o)k +5072(is)s 5288(sent)s 5739(to)s 220 fnt5 5984 12586(@EndAlignList)m +240 fnt1 7420 12589(,)m 7533(deleting)s 8362(the)s 8716(tw)s 2(o)k 0 12301(remaining)m 1028(recepti)s 6(v)k 3(e)k 1957(symbols)s -2813(from)s 3344(the)s 220 fnt35 3699 12298(@AlignList)m 240 fnt82 +2813(from)s 3344(the)s 220 fnt5 3699 12298(@AlignList)m 240 fnt1 4812 12301(g)m 1(alle)k 3(y)k 5452(and)s 5863(permitting)s -6918(it)s 7117(to)s 7363(\210ush.)s 240 fnt83 8000 12303(FOLLO)m 12(WS)k -240 fnt82 0 12013(inde)m 3(x)k 3(es)k 797(ensure)s +6918(it)s 7117(to)s 7363(\210ush.)s 240 fnt3 8000 12303(FOLLO)m 12(WS)k +240 fnt1 0 12013(inde)m 3(x)k 3(es)k 797(ensure)s 1499(that)s 1939(each)s 2456(equation)s 3359(\207nds)s 3898(a)s 4086(tar)s 4(get)k 4707(placed)s 5410(in)s 5675(the)s 6045(body)s 6601(te)s 3(xt)k 7038(just)s 7465(after)s @@ -10177,7 +10330,7 @@ grestore 3374(specify)s 4130(ho)s 6(w)k 4602(breaking)s 5503(decisions)s 6455(are)s 6814(made,)s 7450(be)s 3(yond)k 8222(the)s 8582(basic)s 0 9623(constraints)m 1089(imposed)s 1961(by)s 2258(a)s 4(v)k 6(ailable)k -3169(space)s 3759(and)s 220 fnt35 4166 9620(into)m 240 fnt82 +3169(space)s 3759(and)s 220 fnt5 4166 9620(into)m 240 fnt1 4575 9623(clauses,)m 5375(in)s 5621(principle)s 6529(such)s 7028(high)s 7514(quality)s 8236(breaking)s 0 9335(could)m 592(be)s 877(added)s 1510(to)s 1752(the)s 2102(implementation)s 3662(with)s 4147(no)s @@ -10192,8 +10345,8 @@ grestore 8263(`\210oating)s 0 8471(insertions')m 1041(clearly)s 1744(identi\207able)s 2875(as)s 3125(each)s 3620(page)s 4128(is)s 4338(be)s 3(gun,)k 5028(has)s 5398(the)s 5746(adv)s 6(antage)k 6766(in)s -7009(this)s 7405(respect.)s 240 fnt84 0 7822(5.3.)m 471(Size)s -938(constraints)s 2120(and)s 2561(size)s 2988(adjustments)s 240 fnt82 +7009(this)s 7405(respect.)s 240 fnt2 0 7822(5.3.)m 471(Size)s +938(constraints)s 2120(and)s 2561(size)s 2988(adjustments)s 240 fnt1 480 7346(The)m 893(g)s 1(alle)k 3(y)k 1512(\210ushing)s 2321(algorithm)s 3295(needs)s 3876(to)s 4099(kno)s 6(w)k 4665(the)s 4998(a)s 4(v)k 6(ailable)k 5890(width)s @@ -10208,46 +10361,51 @@ grestore 0 6482(e)m 3(xtracted)k 930(from)s 1454(the)s 1802(tree)s 2215(structure)s 3106(when)s 3682(required.)s 480 6108(F)m 3(or)k 869(e)s 3(xample,)k 1783(consider)s 2653(the)s 3001(object)s -220 fnt35 480 5607(5i @Wide { a / b })m 240 fnt82 0 5113(and)m 406(suppose)s -1236(that)s 1656(the)s 2006(width)s 2610(of)s 220 fnt35 -2883 5110(a)m 240 fnt82 3062 5113(is)m 240 fnt78 3274 5107(1)m -240 fnt83 3382 5115(i)m 240 fnt78 3459 5107(,)m 3572(2)s -240 fnt83 3700 5115(i)m 240 fnt82 3825 5113(\()m 240 fnt78 -3898 5107(1)m 240 fnt83 4006 5115(i)m 240 fnt82 4131 5113(to)m +220 fnt5 480 5607(5i @Wide { a / b })m 240 fnt1 0 5113(and)m 406(suppose)s +1236(that)s 1656(the)s 2006(width)s 2610(of)s 220 fnt5 +2883 5110(a)m 240 fnt1 3062 5113(is)m 240 fnt4 3274 5107(1)m +240 fnt3 3382 5115(i)m 240 fnt4 3459 5107(,)m 3572(2)s +240 fnt3 3700 5115(i)m 240 fnt1 3825 5113(\()m 240 fnt4 +3898 5107(1)m 240 fnt3 4006 5115(i)m 240 fnt1 4131 5113(to)m 4372(the)s 4722(left)s 5101(of)s 5374(the)s 5724(mark,)s -240 fnt78 6324 5107(2)m 240 fnt83 6452 5115(i)m 240 fnt82 +240 fnt4 6324 5107(2)m 240 fnt3 6452 5115(i)m 240 fnt1 6577 5113(to)m 6818(the)s 7168(right\).)s 7864(What)s 8444(then)s 8916(is)s 0 4825(the)m 348(a)s 4(v)k 6(ailable)k -1256(width)s 1858(at)s 220 fnt35 2090 4822(b)m 240 fnt82 +1256(width)s 1858(at)s 220 fnt5 2090 4822(b)m 240 fnt1 2204 4825(?)m 2423(If)s 2653(we)s 2988(let)s 3286(the)s -3634(width)s 4236(of)s 220 fnt35 4507 4822(b)m 240 fnt82 -4681 4825(be)m 240 fnt83 4963 4827(l)m 240 fnt78 5041 4819(,)m -240 fnt83 5148 4827(r)m 240 fnt82 5246 4825(,)m 5353(we)s -5688(must)s 6213(ha)s 4(v)k 3(e)k 240 fnt78 -480 4277(\()m 564(1)s 240 fnt83 670 4285(i)m 240 fnt78 -817 4277(\255)m 240 fnt83 1038 4285(l)m 240 fnt78 1116 4277(\))m -1254(+)s 1455(\()s 1539(2)s 240 fnt83 1665 4285(i)m -240 fnt78 1812 4277(\255)m 240 fnt83 2033 4285(r)m 240 fnt78 -2143 4277(\))m 2293(\243)s 2503(5)s 240 fnt83 2622 4285(i)m -240 fnt82 0 3732(with)m 482(the)s 240 fnt78 842 3726(\255)m -240 fnt82 1051 3732(\(i.e.)m 1466(max\))s 2006(operations)s 3053(arising)s +3634(width)s 4236(of)s 220 fnt5 4507 4822(b)m 240 fnt1 +4681 4825(be)m 240 fnt3 4963 4827(l)m 240 fnt4 5041 4819(,)m +240 fnt3 5148 4827(r)m 240 fnt1 5246 4825(,)m 5353(we)s +5688(must)s 6213(ha)s 4(v)k 3(e)k 240 fnt4 +480 4277(\()m 564(1)s 240 fnt3 670 4285(i)m 240 fnt4 +817 4277(\255)m 240 fnt3 1038 4285(l)m 240 fnt4 1116 4277(\))m +1254(+)s 1455(\()s 1539(2)s 240 fnt3 1665 4285(i)m +240 fnt4 1812 4277(\255)m 240 fnt3 2033 4285(r)m 240 fnt4 +2143 4277(\))m 2293(\243)s 2503(5)s 240 fnt3 2622 4285(i)m +240 fnt1 0 3732(with)m 482(the)s 240 fnt4 842 3726(\255)m +240 fnt1 1051 3732(\(i.e.)m 1466(max\))s 2006(operations)s 3053(arising)s 3756(from)s 4280(mark)s 4832(alignment.)s 5952(Eliminating)s 7133(them)s -7671(gi)s 6(v)k 3(es)k 240 fnt78 480 3180(1)m -240 fnt83 586 3188(i)m 240 fnt78 721 3180(+)m 922(2)s -240 fnt83 1048 3188(i)m 240 fnt78 1207 3180(\243)m 1417(5)s -240 fnt83 1536 3188(i)m 583 2893(l)m 240 fnt78 721 2885(+)m -922(2)s 240 fnt83 1048 2893(i)m 240 fnt78 1207 2885(\243)m -1417(5)s 240 fnt83 1536 2893(i)m 240 fnt78 571 2597(1)m -240 fnt83 677 2605(i)m 240 fnt78 812 2597(+)m 240 fnt83 -1013 2605(r)m 240 fnt78 1207 2597(\243)m 1417(5)s 240 fnt83 -1536 2605(i)m 674 2310(l)m 240 fnt78 812 2302(+)m 240 fnt83 -1013 2310(r)m 240 fnt78 1207 2302(\243)m 1417(5)s 240 fnt83 -1536 2310(i)m 240 fnt82 0 1799(and)m 428(since)s 1000(we)s -1359(assume)s 2144(that)s 220 fnt35 2587 1796(a)m 240 fnt82 +7671(gi)s 6(v)k 3(es)k 240 fnt4 480 3180(1)m +240 fnt3 586 3188(i)m 240 fnt4 721 3180(+)m 922(2)s +240 fnt3 1048 3188(i)m 240 fnt4 1207 3180(\243)m 1417(5)s +240 fnt3 1536 3188(i)m 583 2893(l)m 240 fnt4 721 2885(+)m +922(2)s 240 fnt3 1048 2893(i)m 240 fnt4 1207 2885(\243)m +1417(5)s 240 fnt3 1536 2893(i)m 240 fnt4 571 2597(1)m +240 fnt3 677 2605(i)m 240 fnt4 812 2597(+)m 240 fnt3 +1013 2605(r)m 240 fnt4 1207 2597(\243)m 1417(5)s 240 fnt3 +1536 2605(i)m 674 2310(l)m 240 fnt4 812 2302(+)m 240 fnt3 +1013 2310(r)m 240 fnt4 1207 2302(\243)m 1417(5)s 240 fnt3 +1536 2310(i)m 240 fnt1 0 1799(and)m 428(since)s 1000(we)s +1359(assume)s 2144(that)s 220 fnt5 2587 1796(a)m 240 fnt1 2788 1799(\207ts)m 3156(into)s 3606(the)s 3978(a)s 4(v)k 6(ailable)k 4911(space,)s 5573(the)s 5946(\207rst)s 6402(inequality)s 7436(may)s 7927(be)s 8234(dropped,)s 0 1511(lea)m 4(ving)k grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -10264,96 +10422,96 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5704 -1579(-)m 5832(30)s 6127(-)s 9066 13416 0 12991 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4287 13844(-)m 4415(30)s 4710(-)s 240 fnt83 851 13205(l)m -240 fnt78 1013 13197(\243)m 1223(3)s 240 fnt83 1340 13205(i)m -480 12910(l)m 240 fnt78 618 12902(+)m 240 fnt83 819 12910(r)m -240 fnt78 1013 12902(\243)m 1223(5)s 240 fnt83 1342 12910(i)m -819 12622(r)m 240 fnt78 1013 12614(\243)m 1223(4)s 240 fnt83 -1348 12622(i)m 240 fnt82 0 12113(Object)m 220 fnt35 697 12110(b)m -240 fnt82 871 12113(may)m 1337(ha)s 4(v)k 3(e)k -1838(width)s 240 fnt83 2440 12115(l)m 240 fnt78 2518 12107(,)m -240 fnt83 2625 12115(r)m 240 fnt82 2783 12113(for)m 3121(an)s 3(y)k -240 fnt83 3518 12115(l)m 240 fnt82 3644 12113(and)m 240 fnt83 -4048 12115(r)m 240 fnt82 4206 12113(satisfying)m 5188(these)s 5735(inequalities,)s +240 fnt3 851 13205(l)m +240 fnt4 1013 13197(\243)m 1223(3)s 240 fnt3 1340 13205(i)m +480 12910(l)m 240 fnt4 618 12902(+)m 240 fnt3 819 12910(r)m +240 fnt4 1013 12902(\243)m 1223(5)s 240 fnt3 1342 12910(i)m +819 12622(r)m 240 fnt4 1013 12614(\243)m 1223(4)s 240 fnt3 +1348 12622(i)m 240 fnt1 0 12113(Object)m 220 fnt5 697 12110(b)m +240 fnt1 871 12113(may)m 1337(ha)s 4(v)k 3(e)k +1838(width)s 240 fnt3 2440 12115(l)m 240 fnt4 2518 12107(,)m +240 fnt3 2625 12115(r)m 240 fnt1 2783 12113(for)m 3121(an)s 3(y)k +240 fnt3 3518 12115(l)m 240 fnt1 3644 12113(and)m 240 fnt3 +4048 12115(r)m 240 fnt1 4206 12113(satisfying)m 5188(these)s 5735(inequalities,)s 6943(and)s 7347(no)s 7640(others.)s 480 11739(Here)m 1000(is)s -1210(another)s 1987(e)s 3(xample:)k 220 fnt35 480 11238(5i @High { a /2ix b })m -240 fnt82 0 10737(Assuming)m 1024(that)s 220 fnt35 1442 10734(a)m -240 fnt82 1619 10737(has)m 1989(height)s 240 fnt78 2647 10731(1)m -240 fnt83 2753 10739(i)m 240 fnt78 2828 10731(,)m 2935(1)s -240 fnt83 3041 10739(i)m 240 fnt82 3104 10737(,)m 3211(the)s -3559(height)s 240 fnt83 4217 10739(l)m 240 fnt78 4295 10731(,)m -240 fnt83 4402 10739(r)m 240 fnt82 4560 10737(of)m 220 fnt35 -4831 10734(b)m 240 fnt82 5005 10737(must)m 5530(satisfy)s 240 fnt78 -480 10179(1)m 240 fnt83 586 10187(i)m 240 fnt78 721 10179(+)m -922(\()s 1006(\()s 1090(1)s 240 fnt83 1196 10187(i)m -240 fnt78 1331 10179(+)m 240 fnt83 1532 10187(l)m 240 fnt78 -1610 10179(\))m 1760(\255)s 1981(2)s 240 fnt83 2107 10187(i)m -240 fnt78 2182 10179(\))m 2320(+)s 240 fnt83 2521 10187(r)m -240 fnt78 2703 10179(\243)m 2913(5)s 240 fnt83 3032 10187(i)m -240 fnt82 0 9634(This)m 478(time)s 960(the)s 240 fnt78 -1325 9628(\255)m 240 fnt82 1539 9634(operation)m 2501(arises)s 3098(from)s +1210(another)s 1987(e)s 3(xample:)k 220 fnt5 480 11238(5i @High { a /2ix b })m +240 fnt1 0 10737(Assuming)m 1024(that)s 220 fnt5 1442 10734(a)m +240 fnt1 1619 10737(has)m 1989(height)s 240 fnt4 2647 10731(1)m +240 fnt3 2753 10739(i)m 240 fnt4 2828 10731(,)m 2935(1)s +240 fnt3 3041 10739(i)m 240 fnt1 3104 10737(,)m 3211(the)s +3559(height)s 240 fnt3 4217 10739(l)m 240 fnt4 4295 10731(,)m +240 fnt3 4402 10739(r)m 240 fnt1 4560 10737(of)m 220 fnt5 +4831 10734(b)m 240 fnt1 5005 10737(must)m 5530(satisfy)s 240 fnt4 +480 10179(1)m 240 fnt3 586 10187(i)m 240 fnt4 721 10179(+)m +922(\()s 1006(\()s 1090(1)s 240 fnt3 1196 10187(i)m +240 fnt4 1331 10179(+)m 240 fnt3 1532 10187(l)m 240 fnt4 +1610 10179(\))m 1760(\255)s 1981(2)s 240 fnt3 2107 10187(i)m +240 fnt4 2182 10179(\))m 2320(+)s 240 fnt3 2521 10187(r)m +240 fnt4 2703 10179(\243)m 2913(5)s 240 fnt3 3032 10187(i)m +240 fnt1 0 9634(This)m 478(time)s 960(the)s 240 fnt4 +1325 9628(\255)m 240 fnt1 1539 9634(operation)m 2501(arises)s 3098(from)s 3624(the)s 3975(mark-to-mark)s 5364(g)s 1(ap)k 5765(mode,)s -6406(which)s 7050(will)s 7479(widen)s 8123(the)s 240 fnt78 -8474 9628(2)m 240 fnt83 8602 9636(i)m 240 fnt82 8728 9634(g)m 1(ap)k +6406(which)s 7050(will)s 7479(widen)s 8123(the)s 240 fnt4 +8474 9628(2)m 240 fnt3 8602 9636(i)m 240 fnt1 8728 9634(g)m 1(ap)k 0 9346(if)m 217(necessary)s 1200(to)s 1439(pre)s 6(v)k 3(ent)k -220 fnt35 2207 9343(a)m 240 fnt82 2384 9346(and)m 220 fnt35 -2788 9343(b)m 240 fnt82 2962 9346(from)m 3486(o)s 3(v)k 3(erlapping.)k +220 fnt5 2207 9343(a)m 240 fnt1 2384 9346(and)m 220 fnt5 +2788 9343(b)m 240 fnt1 2962 9346(from)m 3486(o)s 3(v)k 3(erlapping.)k 4787(This)s 5263(inequality)s 6273(can)s 6662(be)s 6944(re)s 6(written)k -7856(as)s 240 fnt83 851 8795(l)m 240 fnt78 1013 8787(\243)m -288 fnt78 1223 8775(\245)m 240 fnt83 480 8504(l)m 240 fnt78 -618 8496(+)m 240 fnt83 819 8504(r)m 240 fnt78 1013 8496(\243)m -1223(3)s 240 fnt83 1340 8504(i)m 819 8216(r)m 240 fnt78 -1013 8208(\243)m 1223(2)s 240 fnt83 1349 8216(i)m 240 fnt82 +7856(as)s 240 fnt3 851 8795(l)m 240 fnt4 1013 8787(\243)m +288 fnt4 1223 8775(\245)m 240 fnt3 480 8504(l)m 240 fnt4 +618 8496(+)m 240 fnt3 819 8504(r)m 240 fnt4 1013 8496(\243)m +1223(3)s 240 fnt3 1340 8504(i)m 819 8216(r)m 240 fnt4 +1013 8208(\243)m 1223(2)s 240 fnt3 1349 8216(i)m 240 fnt1 0 7709(In)m 263(general,)s 1080(Lout)s 1599(is)s 1816(designed)s 2732(so)s 3005(that)s 3430(the)s 3785(a)s 4(v)k 6(ailable)k 4700(width)s 5309(or)s 5575(height)s 6240(at)s 6479(an)s 3(y)k 6883(point)s 7442(can)s 7838(be)s 8128(e)s 3(xpressed)k 0 7421(by)m 294(three)s 827(inequalities)s 1979(of)s 2250(the)s -2598(form)s 240 fnt83 851 6870(l)m 240 fnt78 1013 6862(\243)m -240 fnt83 1223 6870(x)m 480 6579(l)m 240 fnt78 618 6571(+)m -240 fnt83 819 6579(r)m 240 fnt78 1013 6571(\243)m 240 fnt83 -1223 6579(y)m 819 6264(r)m 240 fnt78 1013 6256(\243)m 240 fnt83 -1223 6264(z)m 240 fnt82 0 5743(where)m 240 fnt83 641 5745(x)m -240 fnt82 747 5743(,)m 240 fnt83 855 5745(y)m 240 fnt82 -1018 5743(and)m 240 fnt83 1423 5745(z)m 240 fnt82 1575 5743(may)m -2042(be)s 288 fnt78 2325 5725(\245)m 240 fnt82 2523 5743(.)m +2598(form)s 240 fnt3 851 6870(l)m 240 fnt4 1013 6862(\243)m +240 fnt3 1223 6870(x)m 480 6579(l)m 240 fnt4 618 6571(+)m +240 fnt3 819 6579(r)m 240 fnt4 1013 6571(\243)m 240 fnt3 +1223 6579(y)m 819 6264(r)m 240 fnt4 1013 6256(\243)m 240 fnt3 +1223 6264(z)m 240 fnt1 0 5743(where)m 240 fnt3 641 5745(x)m +240 fnt1 747 5743(,)m 240 fnt3 855 5745(y)m 240 fnt1 +1018 5743(and)m 240 fnt3 1423 5745(z)m 240 fnt1 1575 5743(may)m +2042(be)s 288 fnt4 2325 5725(\245)m 240 fnt1 2523 5743(.)m 2688(W)s 19(e)k 3058(abbre)s 6(viate)k 4104(these)s -4652(three)s 5186(inequalities)s 6339(to)s 240 fnt83 6579 5745(l)m -240 fnt78 6658 5737(,)m 240 fnt83 6768 5745(r)m 240 fnt78 -6953 5737(\243)m 240 fnt83 7166 5745(x)m 240 fnt78 7285 5737(,)m -240 fnt83 7395 5745(y)m 240 fnt78 7510 5737(,)m 240 fnt83 -7620 5745(z)m 240 fnt82 7711 5743(,)m 7819(and)s 8224(we)s -8560(call)s 240 fnt83 8960 5745(x)m 240 fnt78 0 5449(,)m -240 fnt83 107 5457(y)m 240 fnt78 221 5449(,)m 240 fnt83 -328 5457(z)m 240 fnt82 479 5455(a)m 240 fnt83 645 5457(size)m -1056(constr)s 3(aint)k 240 fnt82 2027 5455(.)m 480 5081(The)m +4652(three)s 5186(inequalities)s 6339(to)s 240 fnt3 6579 5745(l)m +240 fnt4 6658 5737(,)m 240 fnt3 6768 5745(r)m 240 fnt4 +6953 5737(\243)m 240 fnt3 7166 5745(x)m 240 fnt4 7285 5737(,)m +240 fnt3 7395 5745(y)m 240 fnt4 7510 5737(,)m 240 fnt3 +7620 5745(z)m 240 fnt1 7711 5743(,)m 7819(and)s 8224(we)s +8560(call)s 240 fnt3 8960 5745(x)m 240 fnt4 0 5449(,)m +240 fnt3 107 5457(y)m 240 fnt4 221 5449(,)m 240 fnt3 +328 5457(z)m 240 fnt1 479 5455(a)m 240 fnt3 645 5457(size)m +1056(constr)s 3(aint)k 240 fnt1 2027 5455(.)m 480 5081(The)m 920(tw)s 2(o)k 1343(e)s 3(xamples)k 2307(abo)s 3(v)k 3(e)k 2942(sho)s 6(wed)k 3739(ho)s 6(w)k 4213(to)s 4465(propag)s 1(ate)k 5475(the)s 5836(size)s 6276(constraint)s -288 fnt78 7291 5063(\245)m 240 fnt78 7514 5075(,)m 7659(5)s -240 fnt83 7791 5083(i)m 240 fnt78 7879 5075(,)m 288 fnt78 -8025 5063(\245)m 240 fnt82 8296 5081(for)m 220 fnt35 8647 5078(a / b)m -240 fnt82 0 4793(do)m 6(wn)k 586(one)s 991(le)s 6(v)k 3(el)k -1504(to)s 1746(the)s 2097(child)s 220 fnt35 2636 4790(b)m -240 fnt82 2750 4793(.)m 2917(Basser)s 3617(Lout)s 4132(contains)s +288 fnt4 7291 5063(\245)m 240 fnt4 7514 5075(,)m 7659(5)s +240 fnt3 7791 5083(i)m 240 fnt4 7879 5075(,)m 288 fnt4 +8025 5063(\245)m 240 fnt1 8296 5081(for)m 220 fnt5 8647 5078(a / b)m +240 fnt1 0 4793(do)m 6(wn)k 586(one)s 991(le)s 6(v)k 3(el)k +1504(to)s 1746(the)s 2097(child)s 220 fnt5 2636 4790(b)m +240 fnt1 2750 4793(.)m 2917(Basser)s 3617(Lout)s 4132(contains)s 4982(a)s 5151(complete)s 6086(set)s 6414(of)s 6688(general)s 7449(rules)s 7967(for)s 8308(all)s 8604(node)s 0 4505(types,)m 627(too)s 1002(complicated)s 2244(to)s 2499(gi)s 6(v)k 3(e)k @@ -10361,48 +10519,53 @@ grestore 5203(just)s 5624(one)s 6042(e)s 3(xample)k 6921(of)s 7208(ho)s 6(w)k 7685(these)s 8248(rules)s 8779(are)s 0 4217(deri)m 6(v)k 3(ed,)k 815(using)s 1387(the)s -1735(object)s 240 fnt83 480 3721(x)m 168 fnt78 586 3628(1)m -220 fnt35 772 3716(/)m 240 fnt83 956 3721(x)m 168 fnt78 -1062 3628(2)m 220 fnt35 1262 3716(/)m 240 fnt83 1446 3721(.)m -1552(.)s 1658(.)s 220 fnt35 1812 3716(/)m 240 fnt83 -1996 3721(x)m 168 fnt83 2102 3634(n)m 240 fnt82 0 3175(where)m -240 fnt83 640 3177(x)m 168 fnt83 746 3090(j)m 240 fnt82 -852 3175(has)m 1222(width)s 240 fnt83 1824 3177(l)m 168 fnt83 -1890 3090(j)m 240 fnt78 1948 3169(,)m 240 fnt83 2055 3177(r)m -168 fnt83 2127 3090(j)m 240 fnt82 2233 3175(for)m 2571(all)s -240 fnt83 2864 3177(j)m 240 fnt82 2930 3175(.)m 480 2801(Suppose)m +1735(object)s 240 fnt3 480 3721(x)m 168 fnt4 586 3628(1)m +220 fnt5 772 3716(/)m 240 fnt3 956 3721(x)m 168 fnt4 +1062 3628(2)m 220 fnt5 1262 3716(/)m 240 fnt3 1446 3721(.)m +1552(.)s 1658(.)s 220 fnt5 1812 3716(/)m 240 fnt3 +1996 3721(x)m 168 fnt3 2102 3634(n)m 240 fnt1 0 3175(where)m +240 fnt3 640 3177(x)m 168 fnt3 746 3090(j)m 240 fnt1 +852 3175(has)m 1222(width)s 240 fnt3 1824 3177(l)m 168 fnt3 +1890 3090(j)m 240 fnt4 1948 3169(,)m 240 fnt3 2055 3177(r)m +168 fnt3 2127 3090(j)m 240 fnt1 2233 3175(for)m 2571(all)s +240 fnt3 2864 3177(j)m 240 fnt1 2930 3175(.)m 480 2801(Suppose)m 1345(the)s 1689(whole)s 2326(object)s 2966(has)s 3333(width)s -3931(constraint)s 240 fnt83 4929 2803(X)m 240 fnt78 5097 2795(,)m -240 fnt83 5204 2803(Y)m 240 fnt78 5367 2795(,)m 240 fnt83 -5474 2803(Z)m 240 fnt82 5619 2801(,)m 5722(and)s 6123(we)s +3931(constraint)s 240 fnt3 4929 2803(X)m 240 fnt4 5097 2795(,)m +240 fnt3 5204 2803(Y)m 240 fnt4 5367 2795(,)m 240 fnt3 +5474 2803(Z)m 240 fnt1 5619 2801(,)m 5722(and)s 6123(we)s 6454(require)s 7182(the)s 7526(width)s 8124(constraint)s 0 2513(of)m -240 fnt83 271 2515(x)m 168 fnt83 377 2428(i)m 240 fnt82 -421 2513(.)m 586(Let)s 240 fnt83 965 2515(L)m 240 fnt78 -1185 2507(=)m 240 fnt82 1401 2513(max)m 168 fnt83 1808 2428(j)m -240 fnt83 1917 2515(l)m 168 fnt83 1983 2428(j)m 240 fnt82 -2090 2513(and)m 240 fnt83 2495 2515(R)m 240 fnt78 2723 2507(=)m -240 fnt82 2939 2513(max)m 168 fnt83 3346 2428(j)m 240 fnt83 -3455 2515(r)m 168 fnt83 3527 2428(j)m 240 fnt82 3573 2513(,)m -3681(so)s 3948(that)s 240 fnt83 4367 2515(L)m 240 fnt78 -4512 2507(,)m 240 fnt83 4619 2515(R)m 240 fnt82 4821 2513(is)m +240 fnt3 271 2515(x)m 168 fnt3 377 2428(i)m 240 fnt1 +421 2513(.)m 586(Let)s 240 fnt3 965 2515(L)m 240 fnt4 +1185 2507(=)m 240 fnt1 1401 2513(max)m 168 fnt3 1808 2428(j)m +240 fnt3 1917 2515(l)m 168 fnt3 1983 2428(j)m 240 fnt1 +2090 2513(and)m 240 fnt3 2495 2515(R)m 240 fnt4 2723 2507(=)m +240 fnt1 2939 2513(max)m 168 fnt3 3346 2428(j)m 240 fnt3 +3455 2515(r)m 168 fnt3 3527 2428(j)m 240 fnt1 3573 2513(,)m +3681(so)s 3948(that)s 240 fnt3 4367 2515(L)m 240 fnt4 +4512 2507(,)m 240 fnt3 4619 2515(R)m 240 fnt1 4821 2513(is)m 5032(the)s 5381(width)s 5984(of)s 6256(the)s 6605(whole)s -7247(object.)s 7996(W)s 19(e)k 8366(assume)s 240 fnt83 -0 2202(L)m 240 fnt78 145 2194(,)m 240 fnt83 252 2202(R)m -240 fnt78 477 2194(\243)m 240 fnt83 687 2202(X)m 240 fnt78 -855 2194(,)m 240 fnt83 962 2202(Y)m 240 fnt78 1125 2194(,)m -240 fnt83 1232 2202(Z)m 240 fnt82 1377 2200(.)m 1541(Then)s -240 fnt83 2090 2202(x)m 168 fnt83 2196 2115(i)m 240 fnt82 +7247(object.)s 7996(W)s 19(e)k 8366(assume)s 240 fnt3 +0 2202(L)m 240 fnt4 145 2194(,)m 240 fnt3 252 2202(R)m +240 fnt4 477 2194(\243)m 240 fnt3 687 2202(X)m 240 fnt4 +855 2194(,)m 240 fnt3 962 2202(Y)m 240 fnt4 1125 2194(,)m +240 fnt3 1232 2202(Z)m 240 fnt1 1377 2200(.)m 1541(Then)s +240 fnt3 2090 2202(x)m 168 fnt3 2196 2115(i)m 240 fnt1 2300 2200(can)m 2689(be)s 2971(enlar)s 4(ged)k 3848(to)s -4087(an)s 3(y)k 4484(size)s 240 fnt83 4911 2202(l)m -168 fnt83 4977 2115(i)m 240 fnt78 5081 2194(,)m 240 fnt83 -5188 2202(r)m 168 fnt83 5260 2115(i)m 240 fnt82 5364 2200(satisfying)m -240 fnt78 480 1607(\()m 240 fnt83 564 1615(l)m 168 fnt83 -630 1528(i)m 240 fnt78 758 1607(\255)m 240 fnt83 979 1615(L)m -240 fnt78 1124 1607(\))m 1202(,)s 1309(\()s 240 fnt83 -1393 1615(r)m 168 fnt83 1465 1528(i)m 240 fnt78 1593 1607(\255)m -240 fnt83 1814 1615(R)m 240 fnt78 1967 1607(\))m 2117(\243)s -240 fnt83 2327 1615(X)m 240 fnt78 2495 1607(,)m 240 fnt83 -2602 1615(Y)m 240 fnt78 2765 1607(,)m 240 fnt83 2872 1615(Z)m +4087(an)s 3(y)k 4484(size)s 240 fnt3 4911 2202(l)m +168 fnt3 4977 2115(i)m 240 fnt4 5081 2194(,)m 240 fnt3 +5188 2202(r)m 168 fnt3 5260 2115(i)m 240 fnt1 5364 2200(satisfying)m +240 fnt4 480 1607(\()m 240 fnt3 564 1615(l)m 168 fnt3 +630 1528(i)m 240 fnt4 758 1607(\255)m 240 fnt3 979 1615(L)m +240 fnt4 1124 1607(\))m 1202(,)s 1309(\()s 240 fnt3 +1393 1615(r)m 168 fnt3 1465 1528(i)m 240 fnt4 1593 1607(\255)m +240 fnt3 1814 1615(R)m 240 fnt4 1967 1607(\))m 2117(\243)s +240 fnt3 2327 1615(X)m 240 fnt4 2495 1607(,)m 240 fnt3 +2602 1615(Y)m 240 fnt4 2765 1607(,)m 240 fnt3 2872 1615(Z)m + +grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore grestore @@ -10422,72 +10585,72 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5714 -1579(-)m 5842(31)s 6117(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4297 13844(-)m 4425(31)s 4700(-)s 0 13253(which)m 642(e)s 3(xpands)k -1475(to)s 1714(eight)s 2252(inequalities:)s 240 fnt83 917 12702(l)m -168 fnt83 983 12615(i)m 240 fnt78 1123 12694(\243)m 240 fnt83 -1333 12702(X)m 894 12338(L)m 240 fnt78 1123 12330(\243)m 240 fnt83 -1333 12338(X)m 528 12047(l)m 168 fnt83 594 11960(i)m 240 fnt78 -710 12039(+)m 240 fnt83 911 12047(r)m 168 fnt83 983 11960(i)m -240 fnt78 1123 12039(\243)m 240 fnt83 1333 12047(Y)m 503 11675(l)m -168 fnt83 569 11588(i)m 240 fnt78 685 11667(+)m 240 fnt83 -886 11675(R)m 240 fnt78 1123 11667(\243)m 240 fnt83 1333 11675(Y)m -505 11311(L)m 240 fnt78 710 11303(+)m 240 fnt83 911 11311(r)m -168 fnt83 983 11224(i)m 240 fnt78 1123 11303(\243)m 240 fnt83 -1333 11311(Y)m 480 10947(L)m 240 fnt78 685 10939(+)m 240 fnt83 -886 10947(R)m 240 fnt78 1123 10939(\243)m 240 fnt83 1333 10947(Y)m -911 10664(r)m 168 fnt83 983 10577(i)m 240 fnt78 1123 10656(\243)m -240 fnt83 1333 10664(Z)m 886 10300(R)m 240 fnt78 1123 10292(\243)m -240 fnt83 1333 10300(Z)m 240 fnt82 0 9793(Three)m 613(are)s +0 13253(which)m 642(e)s 3(xpands)k +1475(to)s 1714(eight)s 2252(inequalities:)s 240 fnt3 917 12702(l)m +168 fnt3 983 12615(i)m 240 fnt4 1123 12694(\243)m 240 fnt3 +1333 12702(X)m 894 12338(L)m 240 fnt4 1123 12330(\243)m 240 fnt3 +1333 12338(X)m 528 12047(l)m 168 fnt3 594 11960(i)m 240 fnt4 +710 12039(+)m 240 fnt3 911 12047(r)m 168 fnt3 983 11960(i)m +240 fnt4 1123 12039(\243)m 240 fnt3 1333 12047(Y)m 503 11675(l)m +168 fnt3 569 11588(i)m 240 fnt4 685 11667(+)m 240 fnt3 +886 11675(R)m 240 fnt4 1123 11667(\243)m 240 fnt3 1333 11675(Y)m +505 11311(L)m 240 fnt4 710 11303(+)m 240 fnt3 911 11311(r)m +168 fnt3 983 11224(i)m 240 fnt4 1123 11303(\243)m 240 fnt3 +1333 11311(Y)m 480 10947(L)m 240 fnt4 685 10939(+)m 240 fnt3 +886 10947(R)m 240 fnt4 1123 10939(\243)m 240 fnt3 1333 10947(Y)m +911 10664(r)m 168 fnt3 983 10577(i)m 240 fnt4 1123 10656(\243)m +240 fnt3 1333 10664(Z)m 886 10300(R)m 240 fnt4 1123 10292(\243)m +240 fnt3 1333 10300(Z)m 240 fnt1 0 9793(Three)m 613(are)s 960(already)s 1717(kno)s 6(wn,)k 2471(and)s 2875(slightly)s 3646(rearranging)s 4800(the)s 5148(others)s 5783(gi)s 6(v)k 3(es)k -240 fnt83 869 9242(l)m 168 fnt83 935 9155(i)m 240 fnt78 -1075 9234(\243)m 240 fnt83 1285 9242(X)m 869 8870(l)m 168 fnt83 -935 8783(i)m 240 fnt78 1075 8862(\243)m 240 fnt83 1285 8870(Y)m -240 fnt78 1508 8862(-)m 240 fnt83 1708 8870(R)m 480 8498(l)m -168 fnt83 546 8411(i)m 240 fnt78 662 8490(+)m 240 fnt83 -863 8498(r)m 168 fnt83 935 8411(i)m 240 fnt78 1075 8490(\243)m -240 fnt83 1285 8498(Y)m 863 8134(r)m 168 fnt83 935 8047(i)m -240 fnt78 1075 8126(\243)m 240 fnt83 1285 8134(Z)m 863 7770(r)m -168 fnt83 935 7683(i)m 240 fnt78 1075 7762(\243)m 240 fnt83 -1285 7770(Y)m 240 fnt78 1508 7762(-)m 240 fnt83 1708 7770(L)m -240 fnt82 0 7182(Therefore)m 997(the)s 1345(width)s 1947(constraint)s -2949(of)s 240 fnt83 3220 7184(x)m 168 fnt83 3326 7097(i)m -240 fnt82 3430 7182(is)m 480 6644(min)m 240 fnt78 861 6638(\()m -240 fnt83 945 6646(X)m 240 fnt78 1113 6638(,)m 240 fnt83 -1220 6646(Y)m 240 fnt78 1443 6638(-)m 240 fnt83 1643 6646(R)m -240 fnt78 1796 6638(\))m 1874(,)s 240 fnt83 1981 6646(Y)m -240 fnt78 2144 6638(,)m 240 fnt82 2251 6644(min)m 240 fnt78 -2632 6638(\()m 240 fnt83 2716 6646(Z)m 240 fnt78 2873 6638(,)m -240 fnt83 2980 6646(Y)m 240 fnt78 3203 6638(-)m 240 fnt83 -3403 6646(L)m 240 fnt78 3548 6638(\))m 240 fnt82 0 6142(The)m +240 fnt3 869 9242(l)m 168 fnt3 935 9155(i)m 240 fnt4 +1075 9234(\243)m 240 fnt3 1285 9242(X)m 869 8870(l)m 168 fnt3 +935 8783(i)m 240 fnt4 1075 8862(\243)m 240 fnt3 1285 8870(Y)m +240 fnt4 1508 8862(-)m 240 fnt3 1708 8870(R)m 480 8498(l)m +168 fnt3 546 8411(i)m 240 fnt4 662 8490(+)m 240 fnt3 +863 8498(r)m 168 fnt3 935 8411(i)m 240 fnt4 1075 8490(\243)m +240 fnt3 1285 8498(Y)m 863 8134(r)m 168 fnt3 935 8047(i)m +240 fnt4 1075 8126(\243)m 240 fnt3 1285 8134(Z)m 863 7770(r)m +168 fnt3 935 7683(i)m 240 fnt4 1075 7762(\243)m 240 fnt3 +1285 7770(Y)m 240 fnt4 1508 7762(-)m 240 fnt3 1708 7770(L)m +240 fnt1 0 7182(Therefore)m 997(the)s 1345(width)s 1947(constraint)s +2949(of)s 240 fnt3 3220 7184(x)m 168 fnt3 3326 7097(i)m +240 fnt1 3430 7182(is)m 480 6644(min)m 240 fnt4 861 6638(\()m +240 fnt3 945 6646(X)m 240 fnt4 1113 6638(,)m 240 fnt3 +1220 6646(Y)m 240 fnt4 1443 6638(-)m 240 fnt3 1643 6646(R)m +240 fnt4 1796 6638(\))m 1874(,)s 240 fnt3 1981 6646(Y)m +240 fnt4 2144 6638(,)m 240 fnt1 2251 6644(min)m 240 fnt4 +2632 6638(\()m 240 fnt3 2716 6646(Z)m 240 fnt4 2873 6638(,)m +240 fnt3 2980 6646(Y)m 240 fnt4 3203 6638(-)m 240 fnt3 +3403 6646(L)m 240 fnt4 3548 6638(\))m 240 fnt1 0 6142(The)m 445(size)s 890(constraint)s 1909(of)s 2198(an)s 3(y)k 2613(node)s 3152(can)s 3559(be)s 3858(found)s 4493(by)s 4805(climbing)s 5725(the)s 6091(tree)s 6521(to)s 6778(a)s -240 fnt83 6962 6144(WIDE)m 240 fnt82 7641 6142(or)m 240 fnt83 -7918 6144(HIGH)m 240 fnt82 8604 6142(node)m 0 5854(where)m 636(the)s +240 fnt3 6962 6144(WIDE)m 240 fnt1 7641 6142(or)m 240 fnt3 +7918 6144(HIGH)m 240 fnt1 8604 6142(node)m 0 5854(where)m 636(the)s 980(constraint)s 1978(is)s 2184(tri)s 6(vial,)k 2850(then)s 3315(propag)s 1(ating)k 4506(it)s 4694(back)s 5203(do)s 6(wn)k 5783(to)s 6018(the)s 6362(node,)s 6931(and)s 7331(this)s 7723(is)s 7929(the)s 8272(function)s 0 5566(of)m 271(procedure)s -240 fnt83 1283 5568(Constr)m 3(ained)k 240 fnt82 2530 5566(in)m +240 fnt3 1283 5568(Constr)m 3(ained)k 240 fnt1 2530 5566(in)m 2773(Basser)s 3470(Lout.)s 480 5192(After)m 1043(some)s 1604(components)s 2813(ha)s 4(v)k 3(e)k 3314(been)s 3824(promoted)s 4799(into)s 5225(a)s 5391(tar)s 4(get,)k 6038(the)s @@ -10500,14 +10663,14 @@ grestore 3481(time,)s 4016(which)s 4662(cease)s 5239(as)s 5492(soon)s 6006(as)s 6260(some)s 6825(ancestor')s 13(s)k 7835(size)s 8266(does)s 8760(not)s 0 4328(change.)m 830(These)s 1445(rules)s -1948(are)s 2283(embodied)s 3273(in)s 3504(procedure)s 240 fnt83 -4504 4330(AdjustSize)m 240 fnt82 5541 4328(of)m 5800(Basser)s 6485(Lout.)s +1948(are)s 2283(embodied)s 3273(in)s 3504(procedure)s 240 fnt3 +4504 4330(AdjustSize)m 240 fnt1 5541 4328(of)m 5800(Basser)s 6485(Lout.)s 7089(The)s 7505(adjustment)s 8601(must)s 0 4040(be)m 282(done)s 804(before)s 1470(relinquishing)s 2785(control)s 3517(to)s 3756(an)s 3(y)k 4153(other)s 4704(g)s 1(alle)k 3(y)k 15(,)k 5376(b)s 4(ut)k 5738(not)s 6104(after)s 6600(e)s 6(v)k 3(ery)k -7176(component.)s 240 fnt84 0 3391(5.4.)m 471(The)s 926(limited)s -1696(lookahead)s 2802(pr)s 4(oblem)k 240 fnt82 480 2914(Basser)m +7176(component.)s 240 fnt2 0 3391(5.4.)m 471(The)s 926(limited)s +1696(lookahead)s 2802(pr)s 4(oblem)k 240 fnt1 480 2914(Basser)m 1189(Lout)s 1714(assumes)s 2575(that)s 3006(there)s 3552(will)s 3991(be)s 4286(enough)s 5062(internal)s 5859(memory)s 6723(to)s 6975(hold)s 7472(the)s 7833(symbol)s 8606(table)s 0 2626(plus)m @@ -10531,16 +10694,21 @@ grestore 4071(the)s 4417(typical)s 5121(e)s 3(xample)k 5982(of)s 6252(a)s 6416(root)s 6860(g)s 1(alle)k 3(y)k 7492(which)s 8133(is)s 8341(a)s 8506(list)s 8855(of)s -0 812(pages,)m 652(a)s 220 fnt35 818 809(@BodyT)m 26(e)k 6(xt)k -240 fnt82 1991 812(g)m 1(alle)k 3(y)k 2625(tar)s 4(geted)k -3448(into)s 3872(the)s 4220(pages,)s 220 fnt35 4872 809(@Chapter)m -240 fnt82 5934 812(g)m 1(alle)k 3(ys)k 6658(tar)s 4(geted)k -7481(into)s 220 fnt35 7905 809(@BodyT)m 26(e)k 6(xt)k -240 fnt82 9019 812(,)m 0 524(and)m 220 fnt35 404 521(@Section)m -240 fnt82 1404 524(g)m 1(alle)k 3(ys)k 2128(tar)s 4(geted)k -2951(into)s 3376(the)s 220 fnt35 3724 521(@Chapter)m 240 fnt82 +0 812(pages,)m 652(a)s 220 fnt5 818 809(@BodyT)m 26(e)k 6(xt)k +240 fnt1 1991 812(g)m 1(alle)k 3(y)k 2625(tar)s 4(geted)k +3448(into)s 3872(the)s 4220(pages,)s 220 fnt5 4872 809(@Chapter)m +240 fnt1 5934 812(g)m 1(alle)k 3(ys)k 6658(tar)s 4(geted)k +7481(into)s 220 fnt5 7905 809(@BodyT)m 26(e)k 6(xt)k +240 fnt1 9019 812(,)m 0 524(and)m 220 fnt5 404 521(@Section)m +240 fnt1 1404 524(g)m 1(alle)k 3(ys)k 2128(tar)s 4(geted)k +2951(into)s 3376(the)s 220 fnt5 3724 521(@Chapter)m 240 fnt1 4787 524(g)m 1(alle)k 3(ys:)k grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -10556,43 +10724,43 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5705 -1579(-)m 5833(32)s 6127(-)s 9066 13416 0 13312 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4288 13844(-)m 4416(32)s 4710(-)s 220 fnt35 480 13255(@P)m 8(ageList)k +220 fnt5 480 13255(@P)m 8(ageList)k 480 12967(//)m 480 12679(@BodyT)m 26(e)k 6(xt)k 480 12391(//)m 480 12103(@Chapter {)m 480 11815( @Section { ...)m 13( })k 480 11527( @Section { ...)m 13( })k 480 11239( ...)m 480 10951( @Section { ...)m 13( })k 480 10663(})m 480 10375(@Chapter {)m -480 10087( ...)m 480 9799(})m 240 fnt82 0 9305(Basser)m 702(Lout)s +480 10087( ...)m 480 9799(})m 240 fnt1 0 9305(Basser)m 702(Lout)s 1220(is)s 1436(able)s 1896(to)s 2141(read)s 2616(and)s 3026(process)s 3800(such)s 4302(g)s 1(alle)k 3(ys)k 5032(one)s 5440(paragraph)s 6459(at)s 6697(a)s 6869(time)s -7355(\(strictly)s 15(,)k 8194(from)s 8724(one)s 220 fnt35 -0 9014(//)m 240 fnt82 185 9017(at)m 417(the)s 765(outer)s +7355(\(strictly)s 15(,)k 8194(from)s 8724(one)s 220 fnt5 +0 9014(//)m 240 fnt1 185 9017(at)m 417(the)s 765(outer)s 1316(le)s 6(v)k 3(el)k 1826(of)s 2097(a)s 2263(g)s 1(alle)k 3(y)k 2897(to)s 3136(the)s 3484(ne)s 3(xt\),)k 4079(as)s 4329(we)s 4664(no)s 6(w)k 5125(describe.)s 480 8643(When)m 1147(the)s 1534(parser)s 2215(encounters)s 3341(the)s 3727(be)s 3(ginning)k 4774(of)s 5083(a)s 5288(g)s 1(alle)k 3(y)k 15(,)k 5998(lik)s 2(e)k -220 fnt35 6449 8640(@Chapter)m 240 fnt82 7550 8643(or)m 220 fnt35 -7848 8640(@Section)m 240 fnt82 8788 8643(,)m 8934(it)s 0 8355(initiates)m +220 fnt5 6449 8640(@Chapter)m 240 fnt1 7550 8643(or)m 220 fnt5 +7848 8640(@Section)m 240 fnt1 8788 8643(,)m 8934(it)s 0 8355(initiates)m 831(a)s 1023(ne)s 6(w)k 1495(g)s 1(alle)k 3(y)k 2155(process.)s 3061(The)s 3515(special)s 4258(recepti)s 6(v)k 3(e)k -5206(symbol)s 220 fnt35 5991 8352(@Input)m 240 fnt82 6784 8355(is)m +5206(symbol)s 220 fnt5 5991 8352(@Input)m 240 fnt1 6784 8355(is)m 7019(substituted)s 8139(for)s 8502(the)s 8876(as)s 0 8067(yet)m 357(unread)s 1071(right)s 1588(parameter)s 2607(of)s 2884(the)s 3237(g)s 1(alle)k 3(y)k 15(.)k 3972(As)s @@ -10600,7 +10768,7 @@ grestore 6960(parameter)s 7979(is)s 8195(read,)s 8718(it)s 8916(is)s 0 7779(deleted)m 763(from)s 1302(the)s 1665(parse)s 2240(tree)s 2668(and)s 3087(injected)s 3916(into)s 4356(the)s 4719(g)s 1(alle)k 3(y')k 13(s)k -220 fnt35 5524 7776(@Input)m 240 fnt82 6231 7779(.)m 6410(The)s +220 fnt5 5524 7776(@Input)m 240 fnt1 6231 7779(.)m 6410(The)s 6853(g)s 1(alle)k 3(y)k 7502(is)s 7727(then)s 8212(resumed.)s 0 7491(The)m 429(parser)s 1074(thus)s 1526(acts)s 1950(as)s 2202(an)s 2487(e)s 3(xtra)k 3022(concurrent)s @@ -10610,7 +10778,7 @@ grestore 1151(is)s 1382(nothing)s 2188(else)s 2636(to)s 2897(do.)s 3322(Since)s 3930(g)s 1(alle)k 3(ys)k 4675(may)s 5162(be)s 5465(nested,)s 6205(a)s 6392(stack)s 6965(of)s -220 fnt35 7257 7200(@Input)m 240 fnt82 8045 7203(symbols)m 8916(is)s +220 fnt5 7257 7200(@Input)m 240 fnt1 8045 7203(symbols)m 8916(is)s 0 6915(needed,)m 781(each)s 1271(with)s 1749(its)s 2020(o)s 6(wn)k 2480(en)s 9(vironment)k 3735(and)s 4135(style.)s 4745(If)s 4971(a)s 5132(g)s 1(alle)k 3(y)k 5762(is)s @@ -10619,9 +10787,9 @@ grestore 3006(footnote,)s 3914(for)s 4257(e)s 3(xample\),)k 5254(it)s 5450(is)s 5664(read)s 6137(in)s 6385(its)s 6665(entirety)s 7452(and)s 7860(hung)s 8397(in)s 8645(pure)s 0 6339(parse)m -551(tree)s 954(form)s 1468(from)s 1983(an)s 240 fnt83 +551(tree)s 954(form)s 1468(from)s 1983(an)s 240 fnt3 2256 6341(UN)m 6(A)k 8(TT)k 12(A)k 7(CHED)k -240 fnt82 3811 6339(inde)m 3(x)k 4386(in)s 4619(the)s +240 fnt1 3811 6339(inde)m 3(x)k 4386(in)s 4619(the)s 4957(usual)s 5508(w)s 2(ay)k 15(,)k 5987(with)s 6459(an)s 6733(en)s 9(vironment)k 7983(b)s 4(ut)k 8335(without)s 0 6051(a)m 166(style.)s 781(It)s 986(will)s @@ -10631,25 +10799,25 @@ grestore 4138(of)s 4407(components)s 5614(from)s 6137(input,)s 6735(we)s 7069(must)s 7593(also)s 8030(ensure)s 8708(that)s 0 5389(recepti)m 6(v)k 3(e)k 928(symbols)s 1783(do)s 2083(not)s 2455(unduly)s 3182(block)s -3781(their)s 4285(promotion.)s 5452(The)s 220 fnt35 5886 5386(@F)m 6(ootSect)k -240 fnt82 7044 5389(symbol)m 7810(at)s 8049(the)s 8403(foot)s +3781(their)s 4285(promotion.)s 5452(The)s 220 fnt5 5886 5386(@F)m 6(ootSect)k +240 fnt1 7044 5389(symbol)m 7810(at)s 8049(the)s 8403(foot)s 8855(of)s 0 5101(each)m 495(page)s 1003(is)s 1213(a)s 1379(typical)s 2084(e)s 3(xample:)k 3057(until)s 3550(it)s 3742(is)s 3952(deleted)s 4700(the)s 5048(page)s 5556(cannot)s 6254(be)s 6536(printed.)s 480 4727(Recepti)m 6(v)k 3(e)k 1501(symbols)s 2368(are)s 2733(e)s 3(xpanded)k 3724(only)s -4222(on)s 4537(demand,)s 5421(so)s 220 fnt35 5705 4724(@F)m 6(ootSect)k -240 fnt82 6874 4727(can)m 7281(be)s 7581(deleted)s 8347(as)s +4222(on)s 4537(demand,)s 5421(so)s 220 fnt5 5705 4724(@F)m 6(ootSect)k +240 fnt1 6874 4727(can)m 7281(be)s 7581(deleted)s 8347(as)s 8616(soon)s 0 4439(as)m 250(we)s 585(can)s 974(pro)s 3(v)k 3(e)k 1570(that)s 1988(it)s 2180(is)s 2390(not)s 2757(w)s 2(anted.)k 3610(The)s 4038(symbol)s 4799(table)s 5319(can)s 5708(tell)s -6067(us)s 6332(that)s 6750(only)s 220 fnt35 7230 4436(@F)m 6(ootNote)k -240 fnt82 8402 4439(g)m 1(alle)k 3(ys)k 0 4151(\(with)m -220 fnt35 555 4148(@F)m 6(ootPlace&&f)k 6(ollo)k 3(wing)k -240 fnt82 2935 4151(tar)m 4(gets\))k 3688(w)s 2(ant)k +6067(us)s 6332(that)s 6750(only)s 220 fnt5 7230 4436(@F)m 6(ootNote)k +240 fnt1 8402 4439(g)m 1(alle)k 3(ys)k 0 4151(\(with)m +220 fnt5 555 4148(@F)m 6(ootPlace&&f)k 6(ollo)k 3(wing)k +240 fnt1 2935 4151(tar)m 4(gets\))k 3688(w)s 2(ant)k 4205(it,)s 4438(so)s 4697(it)s 4883(might)s 5494(be)s -5770(possible)s 6604(to)s 6836(deduce)s 7564(that)s 220 fnt35 -7975 4148(@F)m 6(ootSect)k 240 fnt82 0 3863(may)m 466(be)s +5770(possible)s 6604(to)s 6836(deduce)s 7564(that)s 220 fnt5 +7975 4148(@F)m 6(ootSect)k 240 fnt1 0 3863(may)m 466(be)s 748(deleted)s 1496(as)s 1746(soon)s 2256(as)s 2506(body)s 3040(te)s 3(xt)k 3455(enters)s 4076(the)s 4424(follo)s 6(wing)k 5401(page.)s 480 3489(The)m 904(author)s 1571(w)s 2(as)k @@ -10658,13 +10826,13 @@ grestore 5925(requires)s 6741(the)s 7085(user)s 7538(to)s 7773(identify)s 8565(those)s 0 3201(g)m 1(alle)k 3(ys)k 715(which)s 1348(will)s 1764(carry)s 2299(the)s 2637(b)s 4(ulk)k -3111(of)s 3372(the)s 3711(document)s 4705(\()s 220 fnt35 -4778 3198(@Chapter)m 240 fnt82 5781 3201(,)m 220 fnt35 5879 3198(@Section)m -240 fnt82 6819 3201(,)m 220 fnt35 6916 3198(@BodyT)m 26(e)k 6(xt)k -240 fnt82 8030 3201(\))m 8149(as)s 240 fnt83 8389 3203(for)m 8(cing)k -0 2915(galle)m 7(ys)k 240 fnt82 665 2913(,)m 792(by)s -1107(writing)s 220 fnt35 1871 2910(f)m 6(orce into)k 240 fnt82 -2841 2913(instead)m 3596(of)s 220 fnt35 3888 2910(into)m 240 fnt82 +3111(of)s 3372(the)s 3711(document)s 4705(\()s 220 fnt5 +4778 3198(@Chapter)m 240 fnt1 5781 3201(,)m 220 fnt5 5879 3198(@Section)m +240 fnt1 6819 3201(,)m 220 fnt5 6916 3198(@BodyT)m 26(e)k 6(xt)k +240 fnt1 8030 3201(\))m 8149(as)s 240 fnt3 8389 3203(for)m 8(cing)k +0 2915(galle)m 7(ys)k 240 fnt1 665 2913(,)m 792(by)s +1107(writing)s 220 fnt5 1871 2910(f)m 6(orce into)k 240 fnt1 +2841 2913(instead)m 3596(of)s 220 fnt5 3888 2910(into)m 240 fnt1 4315 2913(in)m 4579(their)s 5097(de\207nitions.)s 6291(As)s 6629(described)s 7624(in)s 7888(the)s 8257(pre)s 6(vious)k 0 2625(section,)m 790(when)s 1373(a)s 1546(forcing)s 2296(g)s 1(alle)k 3(y)k @@ -10676,8 +10844,8 @@ grestore 4614(to)s 4855(\210ushing.)s 5793(F)s 3(or)k 6184(e)s 3(xample,)k 7100(when)s 7678(a)s 7846(forcing)s 8592(body)s 0 2049(te)m 3(xt)k 421(g)s 1(alle)k 3(y)k 1062(enters)s 1690(a)s -1863(ne)s 6(w)k 2317(page,)s 2882(the)s 220 fnt35 -3237 2046(@F)m 6(ootSect)k 240 fnt82 4395 2049(symbol)m 5162(on)s +1863(ne)s 6(w)k 2317(page,)s 2882(the)s 220 fnt5 +3237 2046(@F)m 6(ootSect)k 240 fnt1 4395 2049(symbol)m 5162(on)s 5466(the)s 5820(preceding)s 6823(page)s 7338(will)s 7771(be)s 8060(deleted.)s 8921(It)s 0 1761(seems)m 629(lik)s 2(ely)k 1219(that)s 1631(a)s 1791(system)s 2509(which)s 3145(could)s @@ -10690,17 +10858,22 @@ grestore 2607(are)s 2953(a)s 3118(long)s 3597(w)s 2(ay)k 4047(from)s 4570(their)s 5066(in)s 9(v)k 4(ocation)k 6119(points)s 6755(can)s 7143(be)s 7424(a)s 7589(problem.)s -8549(If)s 8778(the)s 0 811(direction)m 917(is)s 220 fnt35 -1139 808(f)m 6(ollo)k 3(wing)k 240 fnt82 1969 811(,)m +8549(If)s 8778(the)s 0 811(direction)m 917(is)s 220 fnt5 +1139 808(f)m 6(ollo)k 3(wing)k 240 fnt1 1969 811(,)m 2087(such)s 2595(g)s 1(alle)k 3(ys)k 3330(are)s 3689(held)s 4170(in)s 4425(internal)s 5221(memory)s 6083(for)s 6433(a)s 6610(long)s 7101(time,)s 7643(unless)s 8304(the)s 3(y)k 8779(are)s 0 523(to)m 248(be)s 539(sorted.)s 1296(If)s -1535(the)s 1892(direction)s 2807(is)s 220 fnt35 3026 520(preceding)m -240 fnt82 3977 523(,)m 4093(then)s 4571(either)s 5183(the)s +1535(the)s 1892(direction)s 2807(is)s 220 fnt5 3026 520(preceding)m +240 fnt1 3977 523(,)m 4093(then)s 4571(either)s 5183(the)s 5540(entire)s 6148(interv)s 3(ening)k 7296(document)s 8309(must)s 8844(be)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -10717,23 +10890,23 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5710 -1579(-)m 5838(33)s 6122(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4293 13844(-)m 4421(33)s 4705(-)s 0 13253(held)m 466(in)s +0 13253(held)m 466(in)s 704(memory)s 1551(\(pre)s 6(v)k 3(ented)k 2617(by)s 2907(the)s 3250(tar)s 4(get)k 3844(from)s 4364(\210ushing\),)s 5317(or)s 5572(else)s 5994(some)s 6551(forcing)s 7289(g)s 1(alle)k 3(y)k @@ -10764,8 +10937,8 @@ grestore 2024(the)s 2372(auxiliary)s 3275(\207le)s 3636(is)s 3846(check)s 2(ed)k 4686(and)s 5090(an)s 3(y)k 5487(g)s 1(alle)k 3(ys)k 6211(for)s 6549(it)s 6741(are)s 7088(read)s 7557(in)s -7800(and)s 8204(\210ushed.)s 240 fnt84 0 10502(5.5.)m 471(Horizontal)s -1628(galleys)s 240 fnt82 480 10025(There)m 1108(is)s 1333(a)s +7800(and)s 8204(\210ushed.)s 240 fnt2 0 10502(5.5.)m 471(Horizontal)s +1628(galleys)s 240 fnt1 480 10025(There)m 1108(is)s 1333(a)s 1514(strong)s 2180(analogy)s 3007(between)s 3876(breaking)s 4781(a)s 4962(column)s 5752(of)s 6038(te)s 3(xt)k 6468(into)s 6908(page-sized)s 8003(pieces,)s 8722(and)s 0 9737(breaking)m 912(a)s @@ -10774,8 +10947,8 @@ grestore 5946(dif)s 6(fer)k 6552(only)s 7055(in)s 7321(direction:)s 8359(v)s 3(ertical)k 0 9449(for)m 343(body)s 883(te)s 3(xt,)k 1351(horizontal)s 2381(for)s 2724(paragraphs.)s 3943(In)s 4205(this)s -4607(section)s 5347(we)s 5687(de\207ne)s 240 fnt83 6334 9451(horizontal)m -7384(galle)s 7(ys)k 240 fnt82 8049 9449(,)m 8162(and)s +4607(section)s 5347(we)s 5687(de\207ne)s 240 fnt3 6334 9451(horizontal)m +7384(galle)s 7(ys)k 240 fnt1 8049 9449(,)m 8162(and)s 8572(sho)s 6(w)k 0 9161(ho)m 6(w)k 493(the)s 3(y)k 989(pro)s 3(vide)k 1806(an)s 2122(unlimited)s 3129(number)s 3953(of)s 4257(paragraph)s 5302(breaking)s 6225(styles,)s 6909(as)s @@ -10788,17 +10961,17 @@ grestore 4085(are)s 4450(separated)s 5428(by)s 5740(horizontal)s 6782(concatenation)s 8186(operators)s 0 7923(instead)m 725(of)s 986(v)s 3(ertical)k 1742(ones,)s 2278(perhaps)s 3062(indicated)s 3986(by)s 4269(a)s -220 fnt35 4425 7920(hor)m -3(iz)k 3(ontally)k 5582(into)s -240 fnt82 5977 7923(clause.)m 6728(Then)s 7266(all)s 7549(object)s +220 fnt5 4425 7920(hor)m -3(iz)k 3(ontally)k 5582(into)s +240 fnt1 5977 7923(clause.)m 6728(Then)s 7266(all)s 7549(object)s 8182(breaking,)s 0 7635(including)m 957(paragraph)s 1970(breaking,)s 2914(could)s 3504(be)s 3786(replaced)s 4653(by)s 4947(g)s 1(alle)k 3(y)k 5581(component)s 6705(promotion)s 7759(lik)s 2(e)k 8171(this:)s -220 fnt35 480 7134(def @P)m 8(ar)k 2(ag)k 2(r)k 2(aph r)k -3(ight x)k +220 fnt5 480 7134(def @P)m 8(ar)k 2(ag)k 2(r)k 2(aph r)k -3(ight x)k 480 6846({)m 480 6558( def @LinePlace { @Galle)m 4(y })k 480 5982( def @LineList)m 480 5694( {)m 480 5406( @HExpand @LinePlace)m 480 5118( //1vx @LineList)m 480 4830( })m 480 4254( def @P)m 8(ar hor)k -3(iz)k 3(ontally into { @LinePlace&&preceding })k 480 3966( r)m -3(ight x)k 480 3678( { x })m 480 3102( @LineList // @P)m 8(ar { 0.2i @Wide {} &0i x &1r)k -8(t })k -480 2814(})m 240 fnt82 0 2320(The)m 220 fnt35 431 2317(@HExpand)m -240 fnt82 1607 2320(operator)m 9(,)k 2504(which)s 3149(is)s +480 2814(})m 240 fnt1 0 2320(The)m 220 fnt5 431 2317(@HExpand)m +240 fnt1 1607 2320(operator)m 9(,)k 2504(which)s 3149(is)s 3362(a)s 3531(primiti)s 6(v)k 3(e)k 4456(of)s 4730(Basser)s 5430(Lout,)s 5992(horizontally)s 7204(e)s 3(xpands)k 8040(the)s 8391(g)s 1(aps)k 8883(in)s 0 2032(its)m @@ -10807,13 +10980,18 @@ grestore 5028(space,)s 5681(thus)s 6145(implementing)s 7541(line)s 7970(adjustment,)s 0 1744(e)m 3(xcept)k 689(when)s 1274(the)s 1631(parameter)s 2654(contains)s 3511(tab)s 4(ulation)k 4529(g)s 1(aps)k -5027(lik)s 2(e)k 220 fnt35 5447 1741(&1r)m -8(t)k -240 fnt82 5853 1744(,)m 5969(which)s 6620(cause)s 7216(the)s +5027(lik)s 2(e)k 220 fnt5 5447 1741(&1r)m -8(t)k +240 fnt1 5853 1744(,)m 5969(which)s 6620(cause)s 7216(the)s 7573(parameter)s 8596(to)s 8844(be)s 0 1456(already)m 757(e)s 3(xpanded.)k -1836(The)s 2264(result)s 2854(of)s 220 fnt35 480 955(@P)m 8(ar)k 2(ag)k 2(r)k 2(aph { A shor)k -8(t par)k 2(ag)k 2(r)k 2(aph of te)k 6(xt.)k 13( })k -240 fnt82 0 456(w)m 2(ould)k 655(then)s 1124(be)s +1836(The)s 2264(result)s 2854(of)s 220 fnt5 480 955(@P)m 8(ar)k 2(ag)k 2(r)k 2(aph { A shor)k -8(t par)k 2(ag)k 2(r)k 2(aph of te)k 6(xt.)k 13( })k +240 fnt1 0 456(w)m 2(ould)k 655(then)s 1124(be)s 1406(something)s 2456(lik)s 2(e)k grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -10829,23 +11007,23 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5705 -1579(-)m 5833(34)s 6127(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4288 13844(-)m 4416(34)s 4710(-)s 768 13253(A)m 1073(short)s +768 13253(A)m 1073(short)s 1687(paragraph)s 480 12965(of)m 751(te)s 3(xt.)k 0 12512(depending)m 1061(on)s 1368(the)s 1726(a)s 4(v)k 6(ailable)k 2645(horizontal)s 3679(space.)s 4384(An)s 4744(unlimited)s 5729(range)s @@ -10856,7 +11034,7 @@ grestore 2081(indented)s 2992(paragraphs)s 4122(are)s 4499(produced)s 5477(by)s 5801(preceding)s 6827(them)s 7394(with)s 7906(a)s 8102(horizontal)s 0 11562(concatenation)m 1380(operator)s 9(,)k 2269(for)s 2602(e)s 3(xample)k -220 fnt35 3459 11559(|0.5i)m 240 fnt82 3855 11562(.)m 4014(This)s +220 fnt5 3459 11559(|0.5i)m 240 fnt1 3855 11562(.)m 4014(This)s 4485(has)s 4849(the)s 5192(unfortunate)s 6345(ef)s 6(fect)k 6935(of)s 7201(making)s 7967(an)s 8244(indented)s 0 11274(paragraph)m 1007(into)s 1426(a)s 1586(single)s 2207(component)s 3325(of)s @@ -10865,9 +11043,9 @@ grestore 7544(be)s 7820(k)s 2(ept)k 8283(together)s 0 10986(on)m 297(one)s 699(page.)s 1315(Horizontal)s 2392(g)s 1(alle)k 3(ys)k 3116(solv)s 3(e)k 3674(this)s 4070(problem)s 4927(with)s -5409(a)s 5575(simple)s 6268(change)s 7002(to)s 220 fnt35 -7241 10983(@LineList)m 240 fnt82 8215 10986(:)m 220 fnt35 480 10485(def @LineList)m -480 10197({)m 480 9909( |0.5i @HExpand @LinePlace)m 480 9621( //1vx @LineList)m 480 9333(})m 240 fnt82 +5409(a)s 5575(simple)s 6268(change)s 7002(to)s 220 fnt5 +7241 10983(@LineList)m 240 fnt1 8215 10986(:)m 220 fnt5 480 10485(def @LineList)m +480 10197({)m 480 9909( |0.5i @HExpand @LinePlace)m 480 9621( //1vx @LineList)m 480 9333(})m 240 fnt1 0 8839(sho)m 6(wing)k 860(the)s 1210(\210e)s 3(xibility)k 2192(that)s 2611(comes)s 3275(from)s 3801(bringing)s 4666(the)s 5016(full)s 5404(po)s 6(wer)k 6057(of)s 6330(the)s @@ -10889,14 +11067,14 @@ grestore 0 7313(in\207nite)m 733(a)s 4(v)k 6(ailable)k 1641(width,)s 2293(and)s 2697(we)s 3032(could)s 3622(easily)s 4233(produce)s 5060(a)s 5226(\207lled)s 5775(paragraph)s 6788(of)s 7059(footnotes)s -8000(lik)s 2(e)k 8412(this:)s 200 fnt82 480 6838(1)m -240 fnt82 559 6743(See)m 987(Jones)s 1597(and)s 2028(Saunders)s -2983(\(1982\).)s 200 fnt82 3932 6838(2)m 240 fnt82 4027 6743(Or)m -4366(so)s 4659(Jacobsen)s 480 6443(\(1973\))m 1167(asserts.)s 200 fnt82 -2087 6538(3)m 240 fnt83 2174 6445(ibid)m 240 fnt82 2552 6443(,)m +8000(lik)s 2(e)k 8412(this:)s 200 fnt1 480 6838(1)m +240 fnt1 559 6743(See)m 987(Jones)s 1597(and)s 2028(Saunders)s +2983(\(1982\).)s 200 fnt1 3932 6838(2)m 240 fnt1 4027 6743(Or)m +4366(so)s 4659(Jacobsen)s 480 6443(\(1973\))m 1167(asserts.)s 200 fnt1 +2087 6538(3)m 240 fnt3 2174 6445(ibid)m 240 fnt1 2552 6443(,)m 2659(p.)s 2883(327.)s 0 5940(based)m 603(on)s 900(an)s -1183(in\207nite)s 1916(horizontal)s 2940(sequence)s 3873(of)s 220 fnt35 -4144 5937(@F)m 6(ootPlace)k 240 fnt82 5400 5940(symbols)m 6249(inside)s +1183(in\207nite)s 1916(horizontal)s 2940(sequence)s 3873(of)s 220 fnt5 +4144 5937(@F)m 6(ootPlace)k 240 fnt1 5400 5940(symbols)m 6249(inside)s 6876(a)s 7042(horizontal)s 8066(g)s 1(alle)k 3(y)k 15(.)k 480 5566(When)m 1133(body)s 1692(te)s 3(xt)k 2132(is)s 2367(placed)s 3074(on)s 3395(pages,)s 4072(the)s 4445(length)s @@ -10924,8 +11102,8 @@ grestore 4343(horizontal)s 5407(g)s 1(alle)k 3(ys.)k 6284(First,)s 6867(the)s 7255(syntactic)s 8197(o)s 3(v)k 3(erhead)k 0 2802(of)m 319(enclosing)s 1337(each)s 1880(paragraph)s 2941(in)s -220 fnt35 3233 2799(@P)m 8(ar)k 2(ag)k 2(r)k 2(aph { ...)k 13( })k -240 fnt82 5064 2802(or)m 5371(whate)s 6(v)k 3(er)k +220 fnt5 3233 2799(@P)m 8(ar)k 2(ag)k 2(r)k 2(aph { ...)k 13( })k +240 fnt1 5064 2802(or)m 5371(whate)s 6(v)k 3(er)k 6346(is)s 6604(unacceptable.)s 8065(Permitting)s 0 2514(user)m 4(-de\207ned)k 1234(operators)s 2172(to)s 2409(ha)s 4(v)k 3(e)k 2908(lo)s 6(wer)k 3504(precedence)s 4633(than)s 5100(the)s @@ -10947,9 +11125,9 @@ grestore 6372(v)s 3(ertical)k 7143(g)s 1(alle)k 3(ys)k 7871(occurs)s 8550(when)s 0 1074(tw)m 2(o)k 416(recepti)s 6(v)k 3(e)k 1345(symbols)s 2201(compete)s 3074(for)s 3419(v)s 3(ertical)k -4193(space)s 4786(\(e.g.)s 220 fnt35 5262 1071(@T)m 26(e)k 6(xtPlace)k -240 fnt82 6487 1074(and)m 220 fnt35 6898 1071(@F)m 6(ootSect)k -240 fnt82 7989 1074(\),)m 8182(and)s 8593(there)s 0 786(it)m +4193(space)s 4786(\(e.g.)s 220 fnt5 5262 1071(@T)m 26(e)k 6(xtPlace)k +240 fnt1 6487 1074(and)m 220 fnt5 6898 1071(@F)m 6(ootSect)k +240 fnt1 7989 1074(\),)m 8182(and)s 8593(there)s 0 786(it)m 187(is)s 392(con)s 9(v)k 3(entional)k 1666(to)s 1900(grant)s 2446(as)s 2691(much)s 3274(as)s 3519(required)s 4368(to)s 4602(the)s 4945(\207rst)s 5371(arri)s 6(v)k 6(al.)k @@ -10958,6 +11136,11 @@ grestore 547(dif)s 6(ferent)k 1422(approaches)s 2549(can)s 2938(be)s 3220(reconciled.)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -10974,25 +11157,25 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5709 -1582(-)m 5837(35)s 6123(-)s 9066 13413 0 13413 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4292 13841(-)m 4420(35)s 4706(-)s 240 fnt84 0 12672(6.)m +240 fnt2 0 12672(6.)m 291(Cr)s 4(oss)k 926(r)s 4(efer)k 4(ences)k -240 fnt82 480 12240(Cross)m 1064(references,)s 2138(such)s 2622(as)s +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 5871(are)s 6205(a)s 6358(useful)s 6985(b)s 4(ut)k 7334(highly)s 7987(error)s 4(-prone)k @@ -11019,25 +11202,25 @@ grestore 7628(is)s 7872(copied)s 8602(from)s 0 10138(a)m 207(bibliographic)s 1576(database.)s 2604(Making)s 3443(the)s 3832(unity)s 4419(of)s 4731(these)s 5319(applications)s 6566(manifest)s 7489(is)s 7740(an)s -8065(interesting)s 0 9850(language)m 920(design)s 1602(problem.)s 240 fnt84 +8065(interesting)s 0 9850(language)m 920(design)s 1602(problem.)s 240 fnt2 0 9201(6.1.)m 471(The)s 926(cr)s 4(oss)k 1494(r)s 4(efer)k 4(ence)k -2496(abstraction)s 240 fnt82 480 8770(In)m 736(de)s 6(v)k 3(eloping)k +2496(abstraction)s 240 fnt1 480 8770(In)m 736(de)s 6(v)k 3(eloping)k 1844(the)s 2192(cross)s 2734(reference)s 3677(abstraction,)s 4832(it)s 5024(seemed)s 5799(best)s 6244(to)s 6483(be)s 3(gin)k 7069(with)s 7551(the)s 7899(database)s 8779(ap)s 8998(-)s 0 8482(plication,)m 943(since)s 1490(it)s 1682(is)s 1892(the)s 2240(simplest.)s 3200(Database)s 4132(relations)s 5005(are)s 5352(naturally)s -6255(mapped)s 7071(into)s 7496(Lout)s 8008(de\207nitions:)s 220 fnt35 +6255(mapped)s 7071(into)s 7496(Lout)s 8008(de\207nitions:)s 220 fnt5 480 7981(def @Ref)m 6(erence)k 480 7693( named @T)m 26(ag {})k 480 7405( named @A)m 6(uthor {})k -480 7117( named @Title {})m 480 6829( named @Jour)m -5(nal {})k 480 6541({})m 240 fnt82 +480 7117( named @Title {})m 480 6829( named @Jour)m -5(nal {})k 480 6541({})m 240 fnt1 0 6047(The)m 434(set)s 766(of)s 1043(all)s 1343(in)s 9(v)k 4(ocations)k -2490(of)s 220 fnt35 2768 6044(@Ref)m 6(erence)k 240 fnt82 +2490(of)s 220 fnt5 2768 6044(@Ref)m 6(erence)k 240 fnt1 4055 6047(is)m 4272(a)s 4444(relation)s 5237(whose)s 5911(attrib)s 4(utes)k 6853(are)s 7206(the)s 7561(parameters,)s 8722(and)s 0 5759(whose)m 659(tuples)s 1271(are)s 1608(the)s 1946(in)s 9(v)k 4(ocations.)k 3191(T)s 19(o)k 3481(complete)s 4403(the)s 4741(correspondence,)s 6339(we)s 6665(need)s 7165(only)s 7635(declare)s 8370(that)s -8778(the)s 220 fnt35 0 5468(@T)m 26(ag)k 240 fnt82 +8778(the)s 220 fnt5 0 5468(@T)m 26(ag)k 240 fnt1 623 5471(parameter)m 1637(is)s 1847(special,)s 2617(serving)s 3374(as)s 3624(the)s 3972(k)s 2(e)k 3(y)k 4367(attrib)s 4(ute.)k 480 5097(F)m 3(ollo)k 6(wing)k 1508(the)s 1856(database)s @@ -11045,14 +11228,14 @@ grestore 4755(a)s 4921(notation)s 5762(for)s 6100(retrie)s 6(ving)k 7075(the)s 7423(in)s 9(v)k 4(ocation)k 8477(with)s 8960(a)s 0 4809(gi)m 6(v)k 3(en)k 580(tag:)s -220 fnt35 480 4308(@Ref)m 6(erence&&kingston91)k 240 fnt82 0 3809(This)m -240 fnt83 534 3811(cr)m 10(oss)k 1143(r)s 8(efer)k 8(ence)k -240 fnt82 2141 3809(is)m 2410(lik)s 2(e)k 2881(an)s +220 fnt5 480 4308(@Ref)m 6(erence&&kingston91)k 240 fnt1 0 3809(This)m +240 fnt3 534 3811(cr)m 10(oss)k 1143(r)s 8(efer)k 8(ence)k +240 fnt1 2141 3809(is)m 2410(lik)s 2(e)k 2881(an)s 3223(arro)s 6(w)k 3887(pointing)s 4796(to)s 5094(the)s 5501(in)s 9(v)k 4(ocation.)k 6721(T)s 19(o)k 7080(access)s 7800(its)s 8135(attrib)s 4(utes,)k 0 3521(we)m -335(write)s 220 fnt35 480 3069(@Ref)m 6(erence&&kingston91 @Open { @A)k 6(uthor)k 11(, @Title })k -240 fnt82 0 2570(The)m 220 fnt35 484 2567(@Open)m 240 fnt82 +335(write)s 220 fnt5 480 3069(@Ref)m 6(erence&&kingston91 @Open { @A)k 6(uthor)k 11(, @Title })k +240 fnt1 0 2570(The)m 220 fnt5 484 2567(@Open)m 240 fnt1 1347 2570(operator)m 2260(e)s 6(v)k 6(aluates)k 3245(its)s 3578(right)s 4146(parameter)s 5217(in)s 5517(an)s 5857(en)s 9(vironment)k 7174(which)s 7873(includes)s 8778(the)s 0 2282(e)m 3(xported)k @@ -11064,13 +11247,13 @@ grestore 465(used,)s 1043(rather)s 1691(than)s 2192(by)s 2517(its)s 2825(tag.)s 3313(Such)s 3881(proximity)s 4910(is)s 5151(naturally)s 6086(e)s 3(xpressed)k 7116(by)s 7442(tw)s 2(o)k -7884(special)s 8634(tags,)s 220 fnt35 0 1329(preceding)m 240 fnt82 -1049 1332(and)m 220 fnt35 1491 1329(f)m 6(ollo)k 3(wing)k -240 fnt82 2321 1332(;)m 2471(for)s 2848(e)s 3(xample,)k -220 fnt35 3800 1329(@Sym&&f)m 6(ollo)k 3(wing)k 240 fnt82 +7884(special)s 8634(tags,)s 220 fnt5 0 1329(preceding)m 240 fnt1 +1049 1332(and)m 220 fnt5 1491 1329(f)m 6(ollo)k 3(wing)k +240 fnt1 2321 1332(;)m 2471(for)s 2848(e)s 3(xample,)k +220 fnt5 3800 1329(@Sym&&f)m 6(ollo)k 3(wing)k 240 fnt1 5682 1332(will)m 6146(point)s 6737(to)s 7014(the)s 7400(closest)s 8149(follo)s 6(wing)k 0 1044(in)m 9(v)k 4(ocation)k -1083(of)s 220 fnt35 1383 1041(@Sym)m 240 fnt82 2121 1044(in)m +1083(of)s 220 fnt5 1383 1041(@Sym)m 240 fnt1 2121 1044(in)m 2393(the)s 2771(\207nal)s 3280(printed)s 4045(document.)s 5182(This)s 5688(is)s 5927(much)s 6546(simpler)s 7351(conceptually)s 8657(than)s 0 756(reference)m 937(to)s 1169(the)s 1511(internal)s 2288(state)s @@ -11082,6 +11265,11 @@ grestore 5005(cross)s 5554(referencing)s 6701(problems)s 7649(encountered)s 8883(in)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -11097,97 +11285,97 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5705 -1581(-)m 5833(36)s 6126(-)s 9066 13414 0 13305 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4288 13842(-)m 4416(36)s 4709(-)s 0 13251(practice)m 825(e)s 3(xcept)k +0 13251(practice)m 825(e)s 3(xcept)k 1521(one,)s 1988(which)s 2645(may)s 3126(be)s 3422(typi\207ed)s 4226(by)s 4535(the)s 4897(problem)s 5769(of)s 6054(\207nding)s 6801(the)s 7164(number)s 7969(of)s 8255(the)s 8618(page)s 0 12963(on)m 303(which)s 952(the)s 1306(chapter)s 2076(whose)s -2750(tag)s 3102(is)s 220 fnt35 3318 12960(intro)m 240 fnt82 +2750(tag)s 3102(is)s 220 fnt5 3318 12960(intro)m 240 fnt1 3804 12963(be)m 3(gins.)k 4596(T)s 19(w)k 2(o)k 5074(cross)s 5622(referencing)s 6769(steps)s 7304(are)s 7658(needed,)s -8449(\207rst)s 8887(to)s 220 fnt35 0 12672(@Chapter&&intro)m 240 fnt82 +8449(\207rst)s 8887(to)s 220 fnt5 0 12672(@Chapter&&intro)m 240 fnt1 1714 12675(,)m 1821(then)s 2290(from)s 2814(there)s 3347(to)s -220 fnt35 3586 12672(@P)m 8(age&&preceding)k 240 fnt82 5556 12675(,)m +220 fnt5 3586 12672(@P)m 8(age&&preceding)k 240 fnt1 5556 12675(,)m 5663(where)s 6303(the)s 6651(page)s 7159(number)s 7950(is)s 8160(kno)s 6(wn.)k 480 12301(Gi)m 6(v)k 3(en)k 1113(our)s 1492(success)s 2260(so)s 2526(f)s 2(ar)k 9(,)k 2886(this)s 3282(last)s 3673(problem)s 4530(pro)s 3(v)k 3(es)k 5213(to)s 5452(be)s 5734(surprisingly)s 6930(dif\207cult.)s 7850(W)s 19(e)k -8219(\207rst)s 8650(try)s 220 fnt35 480 11800(@Chapter&&intro @Open {)m 480 11512( @P)m 8(age&&preceding @Open { @P)k 8(ageNum })k -480 11224(})m 240 fnt82 0 10730(b)m 4(ut)k 363(this)s -761(f)s 2(ails)k 1222(because)s 220 fnt35 2037 10727(@P)m 8(age&&preceding)k -240 fnt82 4069 10730(is)m 4281(e)s 6(v)k 6(aluated)k +8219(\207rst)s 8650(try)s 220 fnt5 480 11800(@Chapter&&intro @Open {)m 480 11512( @P)m 8(age&&preceding @Open { @P)k 8(ageNum })k +480 11224(})m 240 fnt1 0 10730(b)m 4(ut)k 363(this)s +761(f)s 2(ails)k 1222(because)s 220 fnt5 2037 10727(@P)m 8(age&&preceding)k +240 fnt1 4069 10730(is)m 4281(e)s 6(v)k 6(aluated)k 5245(in)s 5490(the)s 5840(present)s 6592(conte)s 3(xt,)k 7402(not)s 7770(in)s 8015(the)s 8365(conte)s 3(xt)k -0 10442(of)m 220 fnt35 271 10439(@Chapter&&intro)m 240 fnt82 2045 10442(as)m +0 10442(of)m 220 fnt5 271 10439(@Chapter&&intro)m 240 fnt1 2045 10442(as)m 2295(required.)s 3255(So)s 3561(our)s 3940(ne)s 3(xt)k -4409(attempt)s 5185(is)s 220 fnt35 480 9941(def @Chapter)m 480 9653( named @P)m 8(ageNum { @P)k 8(age&&preceding @Open { @P)k 8(ageNum } })k -480 9365( ...)m 240 fnt82 0 8914(with)m 482(the)s 220 fnt35 -830 8911(@P)m 8(age&&preceding)k 240 fnt82 2860 8914(cross)m 3402(reference)s +4409(attempt)s 5185(is)s 220 fnt5 480 9941(def @Chapter)m 480 9653( named @P)m 8(ageNum { @P)k 8(age&&preceding @Open { @P)k 8(ageNum } })k +480 9365( ...)m 240 fnt1 0 8914(with)m 482(the)s 220 fnt5 +830 8911(@P)m 8(age&&preceding)k 240 fnt1 2860 8914(cross)m 3402(reference)s 4345(attached)s 5199(to)s 5438(the)s 5786(chapter;)s 6601(we)s -6936(write)s 220 fnt35 480 8413(@Chapter&&intro @Open { @P)m 8(ageNum })k 240 fnt82 +6936(write)s 220 fnt5 480 8413(@Chapter&&intro @Open { @P)m 8(ageNum })k 240 fnt1 0 7914(This)m 604(also)s 1170(f)s 2(ails,)k 1813(because)s 2754(parameters)s 3980(are)s 4456(e)s 6(v)k 6(aluated)k 5546(after)s 6170(substitution,)s 7521(so)s 7915(once)s 8552(ag)s 1(ain)k -220 fnt35 0 7623(@P)m 8(age&&preceding)k 240 fnt82 2015 7626(is)m +220 fnt5 0 7623(@P)m 8(age&&preceding)k 240 fnt1 2015 7626(is)m 2209(e)s 6(v)k 6(aluated)k 3156(in)s 3383(the)s 3716(wrong)s 4365(conte)s 3(xt.)k 5215(W)s 19(e)k 5568(could)s 6143(of)s 6398(course)s 7063(de\207ne)s 7688(a)s 7839(ne)s 6(w)k 8270(operator)s 0 7338(speci\207cally)m 1142(for)s -1480(this)s 1876(case:)s 220 fnt35 480 6837(@P)m 8(age&&{ @Preceding @Chapter&&intro })k -240 fnt82 0 6338(or)m 267(some)s 836(such.)s 1448(This)s +1480(this)s 1876(case:)s 220 fnt5 480 6837(@P)m 8(age&&{ @Preceding @Chapter&&intro })k +240 fnt1 0 6338(or)m 267(some)s 836(such.)s 1448(This)s 1932(is)s 2151(free)s 2585(of)s 2864(the)s 3221(anno)s 2(ying)k 4172(conte)s 3(xt-sensiti)k 6(vity)k 15(,)k 6029(b)s 4(ut)k 6399(it)s 6599(seems)s 7243(quite)s 7785(comple)s 3(x,)k 8722(and)s 0 6050(the)m 348(e)s 3(xpected)k 1253(cross)s -1795(reference)s 220 fnt35 2738 6047(@P)m 8(age&&preceding)k 240 fnt82 +1795(reference)s 220 fnt5 2738 6047(@P)m 8(age&&preceding)k 240 fnt1 4768 6050(does)m 5258(not)s 5624(appear)s 13(.)k 480 5676(The)m 939(author)s 1642(w)s 2(as)k 2095(lost)s 2532(in)s 2806(these)s 3385(obscurities)s 4503(for)s 4873(some)s 5465(time,)s 6028(and)s 6464(ultimately)s 7518(rescued)s 8338(himself)s 0 5388(by)m 306(looking)s 1103(ahead)s 1731(to)s 1982(the)s 2342(implementation)s -3912(of)s 4195(the)s 220 fnt35 4555 5385(preceding)m 240 fnt82 -5578 5388(and)m 220 fnt35 5994 5385(f)m 6(ollo)k 3(wing)k -240 fnt82 6897 5388(tags,)m 7401(to)s 7652(see)s 8025(if)s +3912(of)s 4195(the)s 220 fnt5 4555 5385(preceding)m 240 fnt1 +5578 5388(and)m 220 fnt5 5994 5385(f)m 6(ollo)k 3(wing)k +240 fnt1 6897 5388(tags,)m 7401(to)s 7652(see)s 8025(if)s 8254(a)s 8433(simple)s 0 5100(e)m 3(xtension)k 971(of)s 1242(it)s 1434(w)s 2(ould)k 2089(solv)s 3(e)k 2647(the)s 2995(problem.)s 3956(This)s 4432(led)s 4782(to)s -5021(the)s 220 fnt35 5369 5097(@T)m 26(agged)k 240 fnt82 -6358 5100(operator:)m 220 fnt35 480 4599(@P)m 8(age&&preceding @T)k 26(agged intro)k -240 fnt82 0 4100(placed)m 686(at)s 922(the)s 1274(be)s 3(ginning)k +5021(the)s 220 fnt5 5369 5097(@T)m 26(agged)k 240 fnt1 +6358 5100(operator:)m 220 fnt5 480 4599(@P)m 8(age&&preceding @T)k 26(agged intro)k +240 fnt1 0 4100(placed)m 686(at)s 922(the)s 1274(be)s 3(ginning)k 2286(of)s 2562(the)s 2914(body)s 3452(of)s 3727(the)s -4079(chapter)s 4847(will)s 5277(attach)s 220 fnt35 5908 4097(intro)m -240 fnt82 6391 4100(as)m 6645(an)s 6933(e)s 3(xtra)k +4079(chapter)s 4847(will)s 5277(attach)s 220 fnt5 5908 4097(intro)m +240 fnt1 6391 4100(as)m 6645(an)s 6933(e)s 3(xtra)k 7471(tag)s 7820(to)s 8063(the)s 8416(closest)s 0 3812(preceding)m -996(in)s 9(v)k 4(ocation)k 2050(of)s 220 fnt35 -2321 3809(@P)m 8(age)k 240 fnt82 3040 3812(,)m 3147(so)s -3413(that)s 220 fnt35 480 3311(@P)m 8(age&&intro @Open { @P)k 8(ageNum })k -240 fnt82 0 2812(yields)m 635(the)s 996(desired)s 1758(page)s +996(in)s 9(v)k 4(ocation)k 2050(of)s 220 fnt5 +2321 3809(@P)m 8(age)k 240 fnt1 3040 3812(,)m 3147(so)s +3413(that)s 220 fnt5 480 3311(@P)m 8(age&&intro @Open { @P)k 8(ageNum })k +240 fnt1 0 2812(yields)m 635(the)s 996(desired)s 1758(page)s 2279(number)s 13(.)k 3174(There)s 3801(is)s 4024(something)s 5087(lo)s 6(w-le)k 6(v)k 3(el)k 6043(and)s -6460(ad)s 6757(hoc)s 7170(about)s 7775(the)s 220 fnt35 -8137 2809(@T)m 26(agged)k 240 fnt82 0 2524(operator)m 9(,)k +6460(ad)s 6757(hoc)s 7170(about)s 7775(the)s 220 fnt5 +8137 2809(@T)m 26(agged)k 240 fnt1 0 2524(operator)m 9(,)k 894(b)s 4(ut)k 1256(the)s 1604(tw)s 2(o)k 2014(cross)s 2556(references)s 3587(do)s 3880(appear)s 4577(naturally)s 15(,)k -5518(and)s 5922(it)s 6114(w)s 2(orks.)k 240 fnt84 +5518(and)s 5922(it)s 6114(w)s 2(orks.)k 240 fnt2 0 1875(6.2.)m 471(Implementation)s 2159(of)s 2431(cr)s 4(oss)k -2999(r)s 4(efer)k 4(ences)k 240 fnt82 480 1398(Before)m +2999(r)s 4(efer)k 4(ences)k 240 fnt1 480 1398(Before)m 1185(an)s 1466(object)s 2109(can)s 2496(be)s 2777(sized)s 3324(and)s 3727(printed,)s 4509(the)s 4855(v)s 6(alues)k 5510(of)s 5779(an)s 3(y)k 6175(cross)s 6715(references)s @@ -11209,6 +11397,11 @@ grestore 6457(the)s 6805(second)s 7527(run,)s 7952(for)s 8289(retrie)s 6(v)k 6(al)k grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -11224,23 +11417,23 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt5 vec2 /Helvetica LoutRecode +/fnt5 { /Helveticafnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5708 -1579(-)m 5836(37)s 6124(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4291 13844(-)m 4419(37)s 4707(-)s 0 13253(on)m 301(the)s +0 13253(on)m 301(the)s 654(third,)s 1217(and)s 1625(so)s 1896(on.)s 2305(Cross)s 2906(references)s 3941(al)s 2(w)k 2(ays)k 4657(lag)s 5007(one)s 5413(run)s 5794(behind)s 6509(the)s 6862(rest)s @@ -11270,16 +11463,16 @@ grestore 4745(in)s 4988(k)s 2(e)k 3(y)k 5383(order)s 13(.)k 480 10777(The)m 905(implementation,)s 2509(which)s 3148(is)s 3354(quite)s 3885(unsophisticated,)s 5477(emplo)s 2(ys)k 6334(one)s 6732(or)s -6988(more)s 7532(ASCII)s 240 fnt83 8208 10779(database)m 0 10491(\207les)m -240 fnt82 380 10489(,)m 485(containing)s 1545(the)s 1891(v)s 6(alues,)k -2600(and)s 3001(one)s 3401(ASCII)s 240 fnt83 4078 10491(inde)m 4(x)k -4650(\207le)s 240 fnt82 4992 10489(per)m 5354(database,)s 6282(containing)s +6988(more)s 7532(ASCII)s 240 fnt3 8208 10779(database)m 0 10491(\207les)m +240 fnt1 380 10489(,)m 485(containing)s 1545(the)s 1891(v)s 6(alues,)k +2600(and)s 3001(one)s 3401(ASCII)s 240 fnt3 4078 10491(inde)m 4(x)k +4650(\207le)s 240 fnt1 4992 10489(per)m 5354(database,)s 6282(containing)s 7342(the)s 7688(k)s 2(e)k 3(ys.)k 8283(T)s 19(o)k 8580(write)s 0 10201(an)m 283(entry)s 15(,)k 866(the)s 1214(v)s 6(alue)k 1782(is)s 1992(\207rst)s 2423(appended)s 3399(to)s 3638(a)s 3804(database)s 4683(\207le,)s 5095(then)s -5564(a)s 5730(line)s 6144(lik)s 2(e)k 220 fnt35 -480 9700(@Chapter&&intro ch1.ld 57)m 240 fnt82 0 9204(is)m 204(appended)s 1174(to)s +5564(a)s 5730(line)s 6144(lik)s 2(e)k 220 fnt5 +480 9700(@Chapter&&intro ch1.ld 57)m 240 fnt1 0 9204(is)m 204(appended)s 1174(to)s 1406(the)s 1748(inde)s 3(x)k 2326(\207le,)s 2731(gi)s 6(ving)k 3384(the)s 3725(\207le)s 4080(and)s 4478(of)s 6(fset)k 5068(where)s 5702(the)s 6043(v)s 6(alue)k 6605(is)s @@ -11303,9 +11496,9 @@ grestore 1935(it)s 2130(cannot)s 2831(\207nd)s 3265(one,)s 3721(and)s 4128(retrie)s 6(v)k 6(als)k 5057(by)s 5354(k)s 2(e)k 3(y)k 5752(proceed)s 6570(as)s 6823(usual.)s 7495(Cross)s 8095(references)s -0 7390(with)m 476(tags)s 906(other)s 1451(than)s 220 fnt35 -1913 7387(preceding)m 240 fnt82 2918 7390(and)m 220 fnt35 3316 7387(f)m 6(ollo)k 3(wing)k -240 fnt82 4200 7390(are)m 4540(treated)s 5241(as)s 5485(described)s +0 7390(with)m 476(tags)s 906(other)s 1451(than)s 220 fnt5 +1913 7387(preceding)m 240 fnt1 2918 7390(and)m 220 fnt5 3316 7387(f)m 6(ollo)k 3(wing)k +240 fnt1 4200 7390(are)m 4540(treated)s 5241(as)s 5485(described)s 6453(abo)s 3(v)k 3(e,)k 7119(by)s 7407(writing)s 8144(all)s 8430(tagged)s 0 7102(in)m 9(v)k 4(ocations)k 1131(\(with)s 1681(en)s 9(vironments\))k 3092(to)s 3320(a)s @@ -11348,21 +11541,21 @@ grestore 3914(for)s 4254(piecemeal)s 5278(formatting,)s 6395(b)s 4(ut)k 6758(e)s 6(v)k 3(entually)k 7801(the)s 8150(\207les)s 8601(must)s 0 4136(all)m 293(be)s 575(formatted)s 1561(together)s 13(.)k -480 3762(When)m 1120(a)s 220 fnt35 1297 3759(preceding)m 240 fnt82 -2319 3762(or)m 220 fnt35 2590 3759(f)m 6(ollo)k 3(wing)k -240 fnt82 3491 3762(cross)m 4044(reference)s 4998(is)s 5220(found,)s +480 3762(When)m 1120(a)s 220 fnt5 1297 3759(preceding)m 240 fnt1 +2319 3762(or)m 220 fnt5 2590 3759(f)m 6(ollo)k 3(wing)k +240 fnt1 3491 3762(cross)m 4044(reference)s 4998(is)s 5220(found,)s 5897(it)s 6100(is)s 6321(attached)s 7187(to)s 7437(a)s 7614(g)s 1(alle)k 3(y)k 8259(inde)s 3(x)k -8855(of)s 0 3474(type)m 240 fnt83 474 3476(CR)m 9(OSS_PREC)k -240 fnt82 1973 3474(or)m 240 fnt83 2238 3476(CR)m 9(OSS_FOLL)k -240 fnt82 3653 3474(,)m 3766(together)s 4615(with)s 5103(an)s +8855(of)s 0 3474(type)m 240 fnt3 474 3476(CR)m 9(OSS_PREC)k +240 fnt1 1973 3474(or)m 240 fnt3 2238 3476(CR)m 9(OSS_FOLL)k +240 fnt1 3653 3474(,)m 3766(together)s 4615(with)s 5103(an)s 5392(automatically)s 6752(generated)s 7745(tag)s 8097(composed)s 0 3186(of)m 258(the)s 593(current)s 1316(\207le)s 1663(name)s 2224(and)s 2615(a)s 2767(sequence)s 3687(number)s 13(.)k 4556(When)s 5172(a)s 5324(tagged)s 6007(in)s 9(v)k 4(ocation)k 7048(is)s 7244(found,)s 7897(it)s 8076(is)s 8272(attached)s -0 2898(to)m 237(a)s 240 fnt83 401 2900(CR)m 9(OSS_T)k 12(ARG)k -240 fnt82 1875 2898(inde)m 3(x.)k 2565(These)s 3190(g)s 1(alle)k 3(y)k +0 2898(to)m 237(a)s 240 fnt3 401 2900(CR)m 9(OSS_T)k 12(ARG)k +240 fnt1 1875 2898(inde)m 3(x.)k 2565(These)s 3190(g)s 1(alle)k 3(y)k 3822(inde)s 3(x)k 3(es)k 4595(are)s 4940(carried)s 5658(along)s 6241(through)s 7040(the)s 7386(dynamic)s 8261(tree,)s 8722(and)s 0 2610(e)m 6(v)k 3(entually)k 1049(pop)s @@ -11380,26 +11573,31 @@ grestore 8832(by)s 0 1746(the)m 344(generated)s 1327(tags)s 1758(of)s 2025(the)s 2369(associated)s 3404(cross)s 3942(references.)s 5082(On)s 5427(the)s 5771(ne)s 3(xt)k 6236(run,)s 6657(when)s -7229(the)s 7573(same)s 220 fnt35 8115 1743(preceding)m 240 fnt82 -0 1458(and)m 220 fnt35 408 1455(f)m 6(ollo)k 3(wing)k -240 fnt82 1302 1458(cross)m 1848(references)s 2883(are)s 3234(found,)s +7229(the)s 7573(same)s 220 fnt5 8115 1743(preceding)m 240 fnt1 +0 1458(and)m 220 fnt5 408 1455(f)m 6(ollo)k 3(wing)k +240 fnt1 1302 1458(cross)m 1848(references)s 2883(are)s 3234(found,)s 3904(chances)s 4716(are)s 5067(good)s 5609(that)s 6031(the)s 6383(same)s 6934(tags)s 7374(will)s 7804(be)s 8090(generated,)s 0 1170(and)m 404(the)s 752(appropriate)s 1896(v)s 6(alues)k 2552(can)s 2941(be)s 3223(retrie)s 6(v)k 3(ed)k 4120(from)s 4644(the)s 4992(database)s 5871(immediately)s 15(.)k 480 796(This)m 982(approach)s 1942(w)s 2(as)k 2389(the)s -2763(genesis)s 3544(of)s 3842(the)s 220 fnt35 4216 793(@T)m 26(agged)k -240 fnt82 5231 796(operator)m 9(,)k 6151(whose)s 6845(implementation)s +2763(genesis)s 3544(of)s 3842(the)s 220 fnt5 4216 793(@T)m 26(agged)k +240 fnt1 5231 796(operator)m 9(,)k 6151(whose)s 6845(implementation)s 8428(is)s 8665(no)s 6(w)k 0 508(immediate:)m 1106(for)s -1436(each)s 220 fnt35 1923 505(@T)m 26(agged)k 240 fnt82 -2903 508(operator)m 3751(we)s 4078(produce)s 4897(one)s 240 fnt83 -5290 510(CR)m 9(OSS_PREC)k 240 fnt82 6775 508(or)m 240 fnt83 -7026 510(CR)m 9(OSS_FOLL)k 240 fnt82 8492 508(g)m 1(alle)k 3(y)k +1436(each)s 220 fnt5 1923 505(@T)m 26(agged)k 240 fnt1 +2903 508(operator)m 3751(we)s 4078(produce)s 4897(one)s 240 fnt3 +5290 510(CR)m 9(OSS_PREC)k 240 fnt1 6775 508(or)m 240 fnt3 +7026 510(CR)m 9(OSS_FOLL)k 240 fnt1 8492 508(g)m 1(alle)k 3(y)k 0 220(inde)m 3(x,)k 645(replacing)s 1596(the)s 1953(generated)s 2949(tag)s 3304(with)s 3795(the)s 4152(right)s 4672(parameter)s -5696(of)s 5976(the)s 220 fnt35 6333 217(@T)m 26(agged)k -240 fnt82 7331 220(operator)m 13(.)k 8288(Nothing)s +5696(of)s 5976(the)s 220 fnt5 6333 217(@T)m 26(agged)k +240 fnt1 7331 220(operator)m 13(.)k 8288(Nothing)s +grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + grestore grestore @@ -11419,18 +11617,18 @@ showpage %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5708 -1579(-)m 5836(38)s 6123(-)s 9066 13416 0 13307 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -4291 13844(-)m 4419(38)s 4706(-)s 0 13253(more)m 547(is)s -757(required.)s 240 fnt84 0 12460(7.)m 291(Conclusion)s 240 fnt82 +0 13253(more)m 547(is)s +757(required.)s 240 fnt2 0 12460(7.)m 291(Conclusion)s 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 7185(been)s 7680(ported)s 8335(without)s @@ -11507,8 +11705,8 @@ grestore 6456(them)s 6978(back.)s 7579(Basser)s 8260(Lout)s 8756(has)s 0 5434(been)m 511(adv)s 3(ertised)k 1550(on)s 1849(the)s 2199(Internet)s 3003(ne)s 6(ws)k 3542(as)s 3794(a)s 4(v)k 6(ailable)k -4704(via)s 5058(anon)s 3(ymous)k 240 fnt83 6213 5436(ftp)m -240 fnt82 6458 5434(,)m 6567(so)s 6835(the)s 7185(e)s 3(xtent)k +4704(via)s 5058(anon)s 3(ymous)k 240 fnt3 6213 5436(ftp)m +240 fnt1 6458 5434(,)m 6567(so)s 6835(the)s 7185(e)s 3(xtent)k 7828(of)s 8101(its)s 8379(outside)s 0 5146(user)m 469(community)s 1624(is)s 1845(hard)s 2339(to)s 2589(g)s 1(auge.)k 3335(About)s 4005(50)s 4311(people)s 5016(ha)s 4(v)k 3(e)k @@ -11541,15 +11739,15 @@ grestore 7628(g)s 1(alle)k 3(ys,)k 8402(includ)s 8998(-)s 0 2468(ing)m 359(the)s 707(e)s 3(xpansion)k 1732(and)s 2136(retraction)s 3107(of)s 3378(recepti)s 6(v)k 3(e)k -4300(symbols.)s 240 fnt84 0 1719(Note.)m 240 fnt82 657 1720(Since)m +4300(symbols.)s 240 fnt2 0 1719(Note.)m 240 fnt1 657 1720(Since)m 1253(the)s 1610(abo)s 3(v)k 3(e)k 2240(w)s 2(as)k 2670(written)s 3412(the)s 3768(author)s 4448(has)s 4827(completed)s 5889(a)s 6064(re)s 6(vised)k 6815(v)s 3(ersion)k 7581(of)s 7861(Basser)s 8567(Lout,)s 0 1432(in)m 243(which)s 885(the)s 1233(problem)s 2090(concerning)s 3206(a)s 4(v)k 6(ailable)k 4114(space)s 4701(mentioned)s 5769(in)s 6012(Section)s 6786(2.5)s -7132(has)s 7502(been)s 8011(resolv)s 3(ed.)k 240 fnt84 -0 683(Ackno)m 2(wledgment.)k 240 fnt82 2027 684(The)m 2534(author)s +7132(has)s 7502(been)s 8011(resolv)s 3(ed.)k 240 fnt2 +0 683(Ackno)m 2(wledgment.)k 240 fnt1 2027 684(The)m 2534(author)s 3283(gratefully)s 4344(ackno)s 6(wledges)k 5824(man)s 3(y)k 6485(v)s 6(aluable)k 7424(discussions)s 8644(with)s 0 396(Douglas)m 862(W)s 22(.)k 1183(Jones,)s 1835(especially)s 2857(during)s @@ -11559,6 +11757,11 @@ grestore 732(comments)s 1766(on)s 2063(presentation)s 3288(by)s 3582(the)s 3930(anon)s 3(ymous)k 5083(referee.)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -11577,18 +11780,18 @@ showpage %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +5706 -1579(-)m 5834(39)s 6125(-)s 9066 13414 0 13414 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -4289 13844(-)m 4417(39)s 4708(-)s 240 fnt84 0 12961(Refer)m 4(ences)k -240 fnt82 0 12507(1.)m 480(Kingston,)s 1501(Jef)s 6(fre)k 3(y)k +240 fnt2 0 12961(Refer)m 4(ences)k +240 fnt1 0 12507(1.)m 480(Kingston,)s 1501(Jef)s 6(fre)k 3(y)k 2244(H..)s 2677(Document)s 3770(F)s 3(ormatting)k 4918(with)s 5436(Lout)s 5888(.)s 6088(T)s 16(ech.)k 6690(Rep.)s 7216(408)s 7659(\(1991\))s 8286(,)s 8429(Basser)s 480 12219(Department)m @@ -11605,26 +11808,26 @@ grestore 5445(F)s 3(ormatter)k 6383(,)s 6516(1991)s 6971(.)s 7161(Computer)s 8204(program;)s 480 10637(V)m 26(ersion)k 1287(2)s 1480(publicly)s 2337(a)s 4(v)k 6(ailable)k 3264(in)s -3526(the)s 240 fnt83 3893 10639(pub)m 240 fnt82 4326 10637(subdirectory)m +3526(the)s 240 fnt3 3893 10639(pub)m 240 fnt1 4326 10637(subdirectory)m 5595(of)s 5885(the)s 6252(home)s 6859(directory)s 7794(of)s -240 fnt83 8084 10639(ftp)m 240 fnt82 8408 10637(to)m 8667(host)s -240 fnt83 480 10351(ftp.cs.su.oz.au)m 240 fnt82 1924 10349(with)m 2439(login)s -3021(name)s 240 fnt83 3628 10351(anonymous)m 240 fnt82 4808 10349(and)m +240 fnt3 8084 10639(ftp)m 240 fnt1 8408 10637(to)m 8667(host)s +240 fnt3 480 10351(ftp.cs.su.oz.au)m 240 fnt1 1924 10349(with)m 2439(login)s +3021(name)s 240 fnt3 3628 10351(anonymous)m 240 fnt1 4808 10349(and)m 5246(no)s 5572(passw)s 2(ord.)k 6671(Distrib)s 4(ution)k 7912(via)s 8297(email)s 8916(is)s 480 10061(a)m 4(v)k 6(ailable)k -1388(for)s 1726(non-)s 240 fnt83 2154 10063(ftp)m 240 fnt82 +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 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 -480 9270(concepts,)m 1424(and)s 1828(issues)s 2390(.)s 240 fnt83 -2554 9272(Computing)m 3673(Surve)s 7(ys)k 240 fnt84 4465 9269(14)m -240 fnt82 4699 9270(,)m 4806(417\211472)s 5700(\(1982\))s 6327(.)s +480 9270(concepts,)m 1424(and)s 1828(issues)s 2390(.)s 240 fnt3 +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 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 fnt83 480 8479(Communications)m 2158(of)s 2439(the)s -2784(A)s 7(CM)k 240 fnt84 3351 8476(18)m 240 fnt82 +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 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 @@ -11636,21 +11839,21 @@ grestore 7939(.)s 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 -7779(.)s 7946(In)s 240 fnt83 8205 7186(Pr)m 10(oceed)k -240 fnt82 8998 7184(-)m 240 fnt83 480 6898(ings)m 935(of)s +7779(.)s 7946(In)s 240 fnt3 8205 7186(Pr)m 10(oceed)k +240 fnt1 8998 7184(-)m 240 fnt3 480 6898(ings)m 935(of)s 1217(the)s 1564(7th)s 1926(Symposium)s 3074(on)s 3370(the)s 3716(Principles)s 4755(of)s 5037(Pr)s 10(o)k 2(gr)k 3(amming)k 6421(Langua)s 2(g)k 2(es)k 7526(\(POPL\),)s 8376(Las)s -8779(V)s 26(e)k 240 fnt82 8998 6896(-)m 240 fnt83 -480 6610(gas)m 868(NV)s 240 fnt82 1192 6608(,)m 1299(pages)s +8779(V)s 26(e)k 240 fnt1 8998 6896(-)m 240 fnt3 +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 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 0 5310(9.)m 480(Knuth,)s 1186(Donald)s -1949(E..)s 240 fnt83 2319 5312(The)m 2731(T)s 2882 5264(E)m -3033 5312(XBook)m 240 fnt82 3675 5310(.)m 3839(Addison-W)s 19(esle)k 3(y)k +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 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 @@ -11676,10 +11879,15 @@ grestore 5985(of)s 6256(Sydne)s 3(y)k 15(,)k 7064(Australia)s 7939(.)s 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 fnt83 5908 2148(IEEE)m -6490(Computer)s 240 fnt82 7453 2146(,)m 7560(7\21119)s 8091(\(1991\))s +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 grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -11689,11 +11897,11 @@ pgsave restore showpage %%Trailer -%%DocumentNeededResources: font Helvetica -%%+ font Symbol -%%+ font Times-Roman -%%+ font Times-Italic +%%DocumentNeededResources: font Times-Roman %%+ font Times-Bold +%%+ font Times-Italic +%%+ font Symbol +%%+ font Helvetica %%DocumentSuppliedResources: procset LoutStartUp %%+ procset LoutTabPrependGraphic %%+ procset LoutFigPrependGraphic diff --git a/doc/expert/README b/doc/expert/README index 8bf70b6..d34da52 100644 --- a/doc/expert/README +++ b/doc/expert/README @@ -16,4 +16,4 @@ copy of the final outfile.ps is included. There should be no warning messages on the fifth run. Jeffrey H. Kingston -8 April 2000 +11 May 2000 diff --git a/doc/expert/all b/doc/expert/all index 84b3ae7..56befe0 100644 --- a/doc/expert/all +++ b/doc/expert/all @@ -10,8 +10,8 @@ Lout Document Formatting System } @Author { Jeffrey H. Kingston } - @Edition { Version 3.20 -April, 2000 } + @Edition { Version 3.21 +May, 2000 } @Publisher { @I { @CopyRight Copyright 1991, 2000, Jeffrey H. Kingston, Basser Department of Computer Science, The University of Sydney 2006, Australia.} } diff --git a/doc/expert/outfile.ps b/doc/expert/outfile.ps index 2f14b30..5039d1f 100644 --- a/doc/expert/outfile.ps +++ b/doc/expert/outfile.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 -%%Creator: Basser Lout Version 3.20 (April 2000) -%%CreationDate: Sat Apr 8 14:58:34 2000 +%%Creator: Basser Lout Version 3.21 (May 2000) +%%CreationDate: Thu May 11 11:21:31 2000 %%DocumentData: Binary %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) @@ -12,12 +12,20 @@ %%BeginProlog %%BeginResource: procset LoutStartUp +/save_cp { currentpoint /cp_y exch def /cp_x exch def } def +/restore_cp { cp_x cp_y moveto } 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 -/mo { 3 1 roll moveto true charpath stroke } bind def +/mo { 3 1 roll moveto outline } bind def /s { exch currentpoint exch pop moveto show } bind def -/so { exch currentpoint exch pop moveto true charpath stroke } bind def +/so { exch currentpoint exch pop moveto outline } bind def /k { exch neg 0 rmoveto show } bind def -/ko { exch neg 0 rmoveto true charpath stroke } bind def +/ko { exch neg 0 rmoveto outline } bind def +/r { exch 0 rmoveto show } bind def +/ro { exch 0 rmoveto outline } bind def +/c { gsave 3 1 roll rmoveto show grestore } bind def +/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 @@ -78,43 +86,6 @@ } bind def %%EndResource -%%BeginResource: encoding vec2 -/vec2 [ -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash -/zero /one /two /three /four /five /six /seven -/eight /nine /colon /semicolon /less /equal /greater /question -/at /A /B /C /D /E /F /G -/H /I /J /K /L /M /N /O -/P /Q /R /S /T /U /V /W -/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore -/quoteleft /a /b /c /d /e /f /g -/h /i /j /k /l /m /n /o -/p /q /r /s /t /u /v /w -/x /y /z /braceleft /bar /braceright /asciitilde /.notdef -/quotesinglbase /quotedblbase /ellipsis /OE /oe /quotedblleft /quotedblright /fi -/fl /endash /emdash /bullet /dagger /daggerdbl /florin /fraction -/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent -/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section -/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron -/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered -/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown -/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis -/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply -/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls -/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla -/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide -/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis -] def -%%EndResource - %%BeginResource: procset LoutTabPrependGraphic % @PrependGraphic file /export/home/6monthspace/jeff/lout.lib/include/tabf.lpg %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1382,16 +1353,53 @@ end %%BeginSetup %%IncludeResource: font Times-Roman -/Times-Romanfnt82 vec2 /Times-Roman LoutRecode -/fnt82 { /Times-Romanfnt82 LoutFont } def +%%BeginResource: encoding vec2 +/vec2 [ +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +/zero /one /two /three /four /five /six /seven +/eight /nine /colon /semicolon /less /equal /greater /question +/at /A /B /C /D /E /F /G +/H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W +/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore +/quoteleft /a /b /c /d /e /f /g +/h /i /j /k /l /m /n /o +/p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef +/quotesinglbase /quotedblbase /ellipsis /OE /oe /quotedblleft /quotedblright /fi +/fl /endash /emdash /bullet /dagger /daggerdbl /florin /fraction +/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent +/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron +/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered +/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown +/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis +/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply +/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls +/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla +/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide +/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis +] def +%%EndResource + +/Times-Romanfnt1 vec2 /Times-Roman LoutRecode +/fnt1 { /Times-Romanfnt1 LoutFont } def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt2 vec2 /Helvetica LoutRecode +/fnt2 { /Helveticafnt2 LoutFont } def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt4 { /Symbol LoutFont } def %%IncludeResource: font Helvetica-Oblique -/Helvetica-Obliquefnt36 vec2 /Helvetica-Oblique LoutRecode -/fnt36 { /Helvetica-Obliquefnt36 LoutFont } def +/Helvetica-Obliquefnt3 vec2 /Helvetica-Oblique LoutRecode +/fnt3 { /Helvetica-Obliquefnt3 LoutFont } def %%EndSetup %%Page: i 1 @@ -1406,7 +1414,7 @@ end gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore @@ -1416,18 +1424,23 @@ gsave 9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -600 fnt35 1355 12125(An)m 2215(Exper)s -24(t')k 30(s)k +600 fnt2 1355 12125(An)m 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 fnt35 -3544 6059(Jeffre)m 4(y)k 4321(H.)s 4606(Kingston)s 3883 4395(V)m 19(ersion)k -4726(3.20)s 3974 4107(Apr)m -3(il,)k 4567(2000)s 240 fnt78 -0 342(\343)m 240 fnt36 315 340(Cop)m 7(yr)k -3(ight)k +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.21)s 4004 4107(Ma)m 7(y)k 24(,)k 4537(2000)s +240 fnt4 0 342(\343)m 240 fnt3 315 340(Cop)m 7(yr)k -3(ight)k 1493(1991,)s 2214(2000,)s 2935(Jeffre)s 4(y)k 3811(H.)s 4173(Kingston,)s 5293(Basser)s 6203(Depar)s -9(tment)k 7619(of)s 7990(Computer)s 0 52(Science)m 3(,)k 966(The)s 1449(Univ)s 6(ersity)k 2583(of)s 2881(Sydne)s 4(y)k 3766(2006,)s 4415(A)s 7(ustr)k 2(alia.)k grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -1442,13 +1455,13 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore @@ -1458,7 +1471,7 @@ gsave 9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -480 fnt84 0 12955(Pr)m 8(eface)k 240 fnt82 540 12095(This)m +480 fnt5 0 12955(Pr)m 8(eface)k 240 fnt1 540 12095(This)m 1016(manual)s 1775(is)s 1984(addressed)s 2985(to)s 3224(those)s 3784(who)s 4250(wish)s 4759(to)s 4997(become)s 5797(e)s 3(xpert)k 6451(users)s 6992(of)s 7263(the)s 7611(Lout)s 8122(document)s @@ -1483,25 +1496,32 @@ grestore 4359(description)s 5484(of)s 5761(each)s 6262(prede\207ned)s 7336(symbol.)s 8211(The)s 8646(\207nal)s 0 9705(chapter)m 763(presents)s 1597(a)s 1763(collection)s 2762(of)s 3033(adv)s 6(anced)k 3989(e)s 3(xamples.)k -480 9331(This)m 971(manual)s 1745(presents)s 2594(V)s 26(ersion)k -3397(3)s 3576(of)s 3862(Basser)s 4574(Lout,)s 5148(publicly)s -6001(released)s 6856(in)s 7114(September)s 8211(1994)s 8760([3)s -8943(].)s 0 9043(This)m 480(manual)s 1243(w)s 2(as)k -1669(rendered)s 2567(into)s 2996(PostScript)s 4043(by)s 4341(V)s 26(ersion)k -5133(3.20)s 5613(of)s 5888(the)s 6240(Basser)s 6942(Lout)s -7458(interpreter)s 9(,)k 8554(using)s 0 8755(the)m 348(symbols)s -1197(described)s 2171(in)s 2414(the)s 2762(User')s 13(s)k -3423(Guide)s 4064([4)s 4257(].)s 240 fnt84 0 8250(Ackno)m 2(wledgment.)k -240 fnt82 1986 8251(V)m 26(ersion)k 2811(3)s 3012(has)s -3419(bene\207ted)s 4391(from)s 4953(hundreds)s 5919(of)s 6227(comments)s -7298(recei)s 6(v)k 3(ed)k 8193(since)s 8778(the)s -0 7963(release)m 726(of)s 1006(V)s 26(ersion)k 1803(1)s -1967(in)s 2219(October)s 3057(1991.)s 3710(Not)s 4138(e)s 6(v)k 3(ery)k -4723(suggestion)s 5813(could)s 6411(be)s 6702(follo)s 6(wed,)k -7662(b)s 4(ut)k 8033(man)s 3(y)k 8625(ha)s 4(v)k 3(e)k +480 9331(This)m 946(manual)s 1695(presents)s 2519(V)s 26(ersion)k +3296(3)s 3450(of)s 3711(Basser)s 4397(Lout,)s 4946(publicly)s +5774(released)s 6604(in)s 6836(September)s 7908(1994)s 8432([3)s +8615(])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 +7568(by)s 7872(V)s 26(ersion)k 8671(3.21)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([4)s +7748(].)s 240 fnt5 0 8250(Ackno)m 2(wledgment.)k 240 fnt1 +1986 8251(V)m 26(ersion)k 2811(3)s 3012(has)s 3419(bene\207ted)s +4391(from)s 4953(hundreds)s 5919(of)s 6227(comments)s 7298(recei)s 6(v)k 3(ed)k +8193(since)s 8778(the)s 0 7963(release)m 726(of)s 1006(V)s 26(ersion)k +1803(1)s 1967(in)s 2219(October)s 3057(1991.)s 3710(Not)s +4138(e)s 6(v)k 3(ery)k 4723(suggestion)s 5813(could)s +6411(be)s 6702(follo)s 6(wed,)k 7662(b)s 4(ut)k +8033(man)s 3(y)k 8625(ha)s 4(v)k 3(e)k 0 7675(been,)m 559(and)s 963(the)s 1311(encouragement)s 2832(w)s 2(as)k 3253(greatly)s 3970(appreciated.)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore + +grestore grestore @@ -1516,13 +1536,13 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore @@ -1532,8 +1552,8 @@ gsave 9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -480 fnt84 0 12955(Contents)m 240 fnt84 0 11982(Chapter)m 908(1)s -240 fnt82 1015 11983(.)m 240 fnt84 1179 11982(Principles)m 240 fnt82 +480 fnt5 0 12955(Contents)m 240 fnt5 0 11982(Chapter)m 908(1)s +240 fnt1 1015 11983(.)m 240 fnt5 1179 11982(Principles)m 240 fnt1 2738 11983(..)m 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 @@ -1554,8 +1574,8 @@ grestore 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 -8955(9)s 240 fnt84 0 9974(Chapter)m 908(2)s 240 fnt82 -1023 9975(.)m 240 fnt84 1187 9974(Details)m 240 fnt82 2394 9975(..)m +8955(9)s 240 fnt5 0 9974(Chapter)m 908(2)s 240 fnt1 +1023 9975(.)m 240 fnt5 1187 9974(Details)m 240 fnt1 2394 9975(..)m 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 @@ -1597,8 +1617,8 @@ grestore 2776(breaking)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 8840(35)s -240 fnt84 0 5896(Chapter)m 908(3)s 240 fnt82 1021 5897(.)m -240 fnt84 1185 5896(Pr)m 4(ede\207ned)k 2338(symbols)s 240 fnt82 +240 fnt5 0 5896(Chapter)m 908(3)s 240 fnt1 1021 5897(.)m +240 fnt5 1185 5896(Pr)m 4(ede\207ned)k 2338(symbols)s 240 fnt1 3426 5897(..)m 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 @@ -1609,8 +1629,8 @@ grestore 8242(..)s 8833(36)s 720 5207(3.2.)m 1184(Concatenation)s 2623(symbols)s 3472(and)s 3876(paragraphs)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s -8242(..)s 8833(36)s 720 4862(3.3.)m 1184(@F)s 3(ont)k -1901(and)s 2305(@Char)s 3426(..)s 3770(..)s 4114(..)s +8242(..)s 8833(36)s 720 4862(3.3.)m 1184(@F)s 3(ont,)k +1948(@Char)s 9(,)k 2732(and)s 3136(@F)s 3(ontDef)k 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s 8831(40)s 720 4517(3.4.)m 1184(@Break)s @@ -1621,7 +1641,7 @@ grestore 1184(@Space)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 8842(43)s +7210(..)s 7554(..)s 7898(..)s 8242(..)s 8832(44)s 720 3827(3.6.)m 1184(@YUnit,)s 2110(@ZUnit,)s 3009(@CurrYUnit,)s 4373(and)s 4777(@CurrZUnit)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s 8832(44)s 720 3482(3.7.)m 1184(@SetColour)s @@ -1662,6 +1682,11 @@ grestore 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s 8835(49)s grestore +0 0 0 0 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore + +grestore grestore @@ -1676,158 +1701,163 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +9066 13415 0 13415 240 288 60 1417 -14832 LoutGr2 0 LoutMargSet grestore -720 13808(3.17.)m 1304(@HScale)s 2271(and)s 2675(@VScale)s 4114(..)s +720 13217(3.17.)m 1304(@HScale)s 2271(and)s 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 8831(50)s 720 13463(3.18.)m 1304(@HCo)s 3(v)k 3(er)k +7898(..)s 8242(..)s 8831(50)s 720 12872(3.18.)m 1304(@HCo)s 3(v)k 3(er)k 2337(and)s 2741(@VCo)s 3(v)k 3(er)k 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 8831(50)s 720 13118(3.19.)m 1304(@StartHSpan,@StartVSpan,)s +7898(..)s 8242(..)s 8831(50)s 720 12527(3.19.)m 1304(@StartHSpan,@StartVSpan,)s 4117(@StartHVSpan,)s 5720(@HSpan,)s 6700(and)s 7104(@VSpan)s 8242(..)s -8851(51)s 720 12773(3.20.)m 1304(@Scale)s 2394(..)s 2738(..)s +8851(51)s 720 12182(3.20.)m 1304(@Scale)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 8832(52)s 720 12428(3.21.)m 1304(@Rotate)s 2394(..)s +8242(..)s 8832(52)s 720 11837(3.21.)m 1304(@Rotate)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 8832(52)s 720 12083(3.22.)m 1304(@Background)s +7898(..)s 8242(..)s 8842(53)s 720 11492(3.22.)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 8842(53)s 720 11738(3.23.)m 1304(@K)s 6(ernShrink)k +8242(..)s 8842(53)s 720 11147(3.23.)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 8842(53)s 720 11393(3.24.)m 1304(@Common,)s 2524(@Rump,)s +8242(..)s 8842(53)s 720 10802(3.24.)m 1304(@Common,)s 2524(@Rump,)s 3438(and)s 3842(@Meld)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s -7898(..)s 8242(..)s 8832(54)s 720 11048(3.25.)m 1304(@Insert)s +7898(..)s 8242(..)s 8832(54)s 720 10457(3.25.)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 8832(54)s 720 10703(3.26.)m +7554(..)s 7898(..)s 8242(..)s 8840(55)s 720 10112(3.26.)m 1304(@OneOf)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 8840(55)s 720 10358(3.27.)m +7554(..)s 7898(..)s 8242(..)s 8840(55)s 720 9767(3.27.)m 1304(@Ne)s 3(xt)k 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 -8833(56)s 720 10013(3.28.)m 1304(@Case)s 2394(..)s 2738(..)s +8833(56)s 720 9422(3.28.)m 1304(@Case)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 8833(56)s 720 9668(3.29.)m 1304(@Moment)s 2738(..)s +8242(..)s 8833(56)s 720 9077(3.29.)m 1304(@Moment)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 8838(57)s 720 9323(3.30.)m 1304(@Null)s 2394(..)s +8242(..)s 8838(57)s 720 8732(3.30.)m 1304(@Null)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 8839(58)s 720 8978(3.31.)m 1304(@Galle)s 3(y)k +7898(..)s 8242(..)s 8839(58)s 720 8387(3.31.)m 1304(@Galle)s 3(y)k 2213(and)s 2617(@F)s 3(orceGalle)k 3(y)k 4458(..)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s -8242(..)s 8839(58)s 720 8633(3.32.)m 1304(@Be)s 3(ginHeaderComponent,)k -4041(@EndHeaderComponent,)s 6596(@SetHeaderCom)s 8278(-)s 1304 8345(ponent,)m 2063(and)s +8242(..)s 8839(58)s 720 8042(3.32.)m 1304(@Be)s 3(ginHeaderComponent,)k +4041(@EndHeaderComponent,)s 6596(@SetHeaderCom)s 8278(-)s 1304 7754(ponent,)m 2063(and)s 2467(@ClearHeaderComponent)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -8839(58)s 720 8000(3.33.)m 1304(@NotRe)s 6(v)k 3(ealed)k +8835(59)s 720 7409(3.33.)m 1304(@NotRe)s 6(v)k 3(ealed)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 8831(60)s 720 7655(3.34.)m 1304(The)s 1732(cross)s +8242(..)s 8831(60)s 720 7064(3.34.)m 1304(The)s 1732(cross)s 2274(reference)s 3217(symbols)s 4066(&&)s 4492(and)s 4896(&&&)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s -7554(..)s 7898(..)s 8242(..)s 8851(61)s 720 7310(3.35.)m +7554(..)s 7898(..)s 8242(..)s 8851(61)s 720 6719(3.35.)m 1304(@T)s 19(agged)k 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 8851(61)s -720 6965(3.36.)m 1304(@Open and @Use)s 3426(..)s 3770(..)s 4114(..)s +7210(..)s 7554(..)s 7898(..)s 8242(..)s 8832(62)s +720 6374(3.36.)m 1304(@Open and @Use)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 8832(62)s 720 6620(3.37.)m 1304(@Database and @SysDatabase)s +7898(..)s 8242(..)s 8832(62)s 720 6029(3.37.)m 1304(@Database and @SysDatabase)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s -8242(..)s 8832(62)s 720 6275(3.38.)m 1304(@Graphic)s 2738(..)s +8242(..)s 8842(63)s 720 5684(3.38.)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 8842(63)s 720 5930(3.39.)m 1304(@PlainGraphic)s 3082(..)s +8242(..)s 8842(63)s 720 5339(3.39.)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 -8838(67)s 720 5585(3.40.)m 1304(@IncludeGraphic)s 3065(and)s 3469(@SysIncludeGraphic)s +8838(67)s 720 4994(3.40.)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 8838(67)s 720 5240(3.41.)m +7554(..)s 7898(..)s 8242(..)s 8838(67)s 720 4649(3.41.)m 1304(@PrependGraphic and @SysPrependGraphic)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s -7554(..)s 7898(..)s 8242(..)s 8838(67)s 720 4895(3.42.)m +7554(..)s 7898(..)s 8242(..)s 8839(68)s 720 4304(3.42.)m 1304(@Include and @SysInclude)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 8839(68)s 720 4550(3.43.)m +7554(..)s 7898(..)s 8242(..)s 8839(68)s 720 3959(3.43.)m 1304(@BackEnd)s 2461(and)s 2865(the)s 3213(PlainT)s 16(e)k 3(xt)k 4183(and)s 4587(PDF)s 5084(back)s 5597(ends)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s -8839(68)s 720 4205(3.44.)m 1304(@V)s 26(erbatim and @Ra)k 3(wV)k 26(erbatim)k +8835(69)s 720 3614(3.44.)m 1304(@V)s 26(erbatim and @Ra)k 3(wV)k 26(erbatim)k 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s 7554(..)s 7898(..)s -8242(..)s 8835(69)s 720 3860(3.45.)m 1304(@Underline)s 2738(..)s +8242(..)s 8831(70)s 720 3269(3.45.)m 1304(@Underline)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 8835(69)s 720 3515(3.46.)m 1304(@P)s 3(ageLabel)k +8242(..)s 8831(70)s 720 2924(3.46.)m 1304(@P)s 3(ageLabel)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 8831(70)s 240 fnt84 0 2886(Chapter)m 908(4)s -240 fnt82 1022 2887(.)m 240 fnt84 1186 2886(Examples)m 240 fnt82 -2738 2887(..)m 3082(..)s 3426(..)s 3770(..)s 4114(..)s +8242(..)s 8851(71)s 240 fnt5 0 2295(Chapter)m 908(4)s +240 fnt1 1022 2296(.)m 240 fnt5 1186 2295(Examples)m 240 fnt1 +2738 2296(..)m 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 8851(71)s 720 2542(4.1.)m 1184(An)s +7898(..)s 8242(..)s 8832(72)s 720 1951(4.1.)m 1184(An)s 1534(equation)s 2415(formatting)s 3476(package)s 4802(..)s 5146(..)s 5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s -7210(..)s 7554(..)s 7898(..)s 8242(..)s 8851(71)s -720 2197(4.2.)m 1184(P)s 3(aragraphs,)k 2350(displays,)s 3241(and)s +7210(..)s 7554(..)s 7898(..)s 8242(..)s 8832(72)s +720 1606(4.2.)m 1184(P)s 3(aragraphs,)k 2350(displays,)s 3241(and)s 3645(lists)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 8842(73)s 720 1852(4.3.)m +7554(..)s 7898(..)s 8242(..)s 8832(74)s 720 1261(4.3.)m 1184(P)s 3(age)k 1702(layout)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 -8838(77)s 720 1507(4.4.)m 1184(Chapters)s 2085(and)s 2489(sections)s +8839(78)s 720 916(4.4.)m 1184(Chapters)s 2085(and)s 2489(sections)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 8832(82)s -720 1162(4.5.)m 1184(Bibliographies)s 3082(..)s 3426(..)s 3770(..)s +7210(..)s 7554(..)s 7898(..)s 8242(..)s 8842(83)s +720 571(4.5.)m 1184(Bibliographies)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 8838(87)s 0 3(i)m 6(v)k +7554(..)s 7898(..)s 8242(..)s 8839(88)s +grestore +0 0 0 0 240 288 60 1417 -14832 LoutGr2 +0 LoutMargSet +grestore grestore +1417 -15420(i)m 6(v)k grestore @@ -1842,36 +1872,41 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +9066 13470 0 13470 240 288 60 1417 -14887 LoutGr2 1 LoutMargSet grestore -240 fnt84 0 13841(Refer)m 4(ences)k 240 fnt82 1362 13842(..)m +240 fnt5 0 13305(Refer)m 4(ences)k 240 fnt1 1362 13306(..)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 -8832(92)s 240 fnt84 0 13215(Index)m 240 fnt82 1018 13216(..)m +8842(93)s 240 fnt5 0 12679(Index)m 240 fnt1 1018 12680(..)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 8842(93)s 8951 3(v)m +8242(..)s 8832(94)s +grestore +0 0 0 0 240 288 60 1417 -14887 LoutGr2 +1 LoutMargSet grestore grestore +10368 -15420(v)m +grestore grestore @@ -1886,20 +1921,25 @@ showpage %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +0 13415 0 13415 240 288 60 1417 -14832 LoutGr2 0 LoutMargSet grestore -0 3(vi)m + +grestore +0 0 0 0 240 288 60 1417 -14832 LoutGr2 +0 LoutMargSet grestore grestore +1417 -15420(vi)m +grestore grestore @@ -1913,43 +1953,48 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +9066 0 0 0 240 288 60 1417 -1417 LoutGr2 +1 LoutMargSet +grestore + +grestore +9066 13450 0 13450 240 288 60 1417 -14867 LoutGr2 1 LoutMargSet grestore -480 fnt84 0 12955(Chapter)m 1819(1.)s 2400(Principles)s 240 fnt82 -0 12004(The)m 414(Lout)s 911(document)s 1900(formatting)s 2946(language)s +480 fnt5 0 12399(Chapter)m 1819(1.)s 2400(Principles)s 240 fnt1 +0 11448(The)m 414(Lout)s 911(document)s 1900(formatting)s 2946(language)s 3852(is)s 4047(based)s 4635(on)s 4917(just)s 5307(four)s 5751(k)s 2(e)k 3(y)k 6131(ideas:)s 6713(objects,)s -7482(de\207nitions,)s 8584(cross)s 0 11716(references,)m 1087(and)s 1491(g)s 1(alle)k 3(ys.)k +7482(de\207nitions,)s 8584(cross)s 0 11160(references,)m 1087(and)s 1491(g)s 1(alle)k 3(ys.)k 2328(This)s 2804(chapter)s 3567(concentrates)s 4812(on)s 5109(them,)s 5694(postponing)s 6812(the)s 7160(ine)s 6(vitable)k 8152(details.)s -240 fnt84 0 10923(1.1.)m 471(Objects)s 240 fnt82 480 10447(Since)m +240 fnt5 0 10367(1.1.)m 471(Objects)s 240 fnt1 480 9891(Since)m 1075(our)s 1462(aim)s 1888(is)s 2106(to)s 2354(produce)s 3189(neatly)s 3835(formatted)s 4829(documents,)s 5981(we)s 6325(should)s 7030(be)s 3(gin)k 7624(by)s 7926(looking)s 8719(at)s -8960(a)s 0 10159(typical)m 705(e)s 3(xample)k 1568(of)s -1839(such)s 2335(a)s 2501(document:)s 1927 2494 0 2494 240 288 60 480 7325 LoutGr2 +8960(a)s 0 9603(typical)m 705(e)s 3(xample)k 1568(of)s +1839(such)s 2335(a)s 2501(document:)s 1927 2494 0 2494 240 288 60 480 6769 LoutGr2 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt84 560 1987(PURCELL)m -128 fnt82 1316 2059(1)m 160 fnt82 170 1695(In)m 395(the)s +160 fnt5 560 1987(PURCELL)m +128 fnt1 1316 2059(1)m 160 fnt1 170 1695(In)m 395(the)s 681(w)s 1(orld)k 1145(of)s 1381(music)s 170 1515(England)m 882(is)s 1163(supposed)s 170 1335(to)m 376(be)s 611(a)s 768(mere)s 1171(pro)s 2(vince.)k 170 1155(If)m 465(she)s @@ -1959,15 +2004,15 @@ grestore grestore grestore -128 fnt82 170 624(1)m 160 fnt82 221 552(Blom,)m 703(Eric.)s -160 fnt83 1133 553(Some)m 170 373(Gr)m 5(eat)k 734(Composer)s 1(s.)k -160 fnt82 170 192(Oxford,)m 703(1944.)s +128 fnt1 170 624(1)m 160 fnt1 221 552(Blom,)m 703(Eric.)s +160 fnt6 1133 553(Some)m 170 373(Gr)m 5(eat)k 734(Composer)s 1(s.)k +160 fnt1 170 192(Oxford,)m 703(1944.)s grestore -1927 2494 0 2494 240 288 60 480 4831 LoutGr2 +1927 2494 0 2494 240 288 60 480 4275 LoutGr2 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt82 170 2161(or)m +160 fnt1 170 2161(or)m 453(performer)s 6(,)k 1267(that)s 1657(is)s 170 1981(re)m 2(garded)k 862(else)s 4(where)k 1630(as)s 170 1801(perfectly)m 905(normal)s 1527(and)s 170 1621(natural;)m 762(b)s 3(ut)k 1078(if)s @@ -1978,40 +2023,45 @@ grestore 957(a)s 1178(freak)s 1657(is)s 170 308(Henry)m 607(Purcell.)s 1170(Y)s 16(et)k 1426(if)s 1574(we)s grestore -1927 2494 0 2494 240 288 60 480 2337 LoutGr2 +1927 2494 0 2494 240 288 60 480 1781 LoutGr2 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt82 +160 fnt1 170 2161(mak)m 1(e)k 565(a)s 690(choice)s 1157(of)s 1352(\207fteen)s 170 1981(of)m 407(the)s 695(w)s 1(orld')k 8(s)k 1264(musical)s 170 1801(classics,)m 740(as)s 918(here,)s 1276(we)s 1510(\207nd)s 170 1621(that)m 464(we)s 703(cannot)s 1185(omit)s 1533(this)s 170 1441(English)m 695(master)s 8(.)k grestore -0 1886(It)m +0 1330(It)m 229(is)s 463(a)s 653(lar)s 4(ge)k 1206(rectangle)s 2161(made)s 2759(from)s 3307(three)s 3864(smaller)s 4651(rectangles)s 5694(\211)s 5898(its)s 6198(pages.)s 6931(Each)s 7490(page)s -8022(is)s 8256(made)s 8855(of)s 0 1598(lines;)m 578(each)s +8022(is)s 8256(made)s 8855(of)s 0 1042(lines;)m 578(each)s 1088(line)s 1517(is)s 1743(made)s 2332(of)s 2618(w)s 2(ords,)k 3324(although)s 4234(it)s 4441(mak)s 2(es)k 5117(sense)s 5706(for)s 6059(an)s 3(y)k 6472(rectangle)s 7418(\(e)s 6(v)k 3(en)k -8012(a)s 8194(complete)s 0 1310(document\))m 1072(to)s 1311(be)s +8012(a)s 8194(complete)s 0 754(document\))m 1072(to)s 1311(be)s 1593(part)s 2024(of)s 2295(a)s 2461(line,)s 2926(pro)s 3(vided)k 3832(it)s 4024(is)s 4234(not)s 4600(too)s 4959(lar)s 4(ge.)k -480 936(Lout)m 995(deals)s 1541(with)s 2027(something)s 3081(a)s +480 380(Lout)m 995(deals)s 1541(with)s 2027(something)s 3081(a)s 3251(little)s 3747(more)s 4298(complicated)s 5528(than)s 6001(rectangles:)s -240 fnt83 7079 938(objects.)m 240 fnt82 7914 936(An)m 8268(object)s -8916(is)s 0 648(a)m 176(rectangle)s 1118(with)s 1611(at)s -1854(least)s 2362(one)s 240 fnt83 2775 650(column)m 3545(mark)s -240 fnt82 4112 648(protruding)m 5186(abo)s 3(v)k 3(e)k +240 fnt6 7079 382(objects.)m 240 fnt1 7914 380(An)m 8268(object)s +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 +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 fnt83 8707 650(r)m 10(ow)k -192 fnt84 4490 0(1)m +7543(at)s 7786(least)s 8294(one)s 240 fnt6 8707 94(r)m 10(ow)k + +grestore +0 0 0 0 240 288 60 1417 -14867 LoutGr2 +1 LoutMargSet grestore grestore +192 fnt5 5907 -15423(1)m +grestore grestore @@ -2026,29 +2076,32 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(2)m 240 fnt6 8382 -1580(Chapter)m 9232(1.)s +9506(Principles)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13257 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(2)m 240 fnt83 6965 13843(Chapter)m 7815(1.)s -8089(Principles)s 0 13205(mark)m 240 fnt82 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 +240 fnt6 0 13205(mark)m 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 7024(lik)s 2(e)k 7438(metempsychosis,)s 0 12915(and)m 404(ha)s 4(v)k 3(e)k 905(one)s 1307(mark)s 1859(of)s 2130(each)s 2625(type:)s 1572 215 0 106 240 288 60 480 12360 LoutGr2 @@ -2089,11 +2142,11 @@ grestore 6352(imagine)s 7178(them.)s 480 10959(T)m 19(o)k 782(place)s 1344(tw)s 2(o)k 1756(objects)s 2487(side)s 2930(by)s 3226(side,)s 3721(we)s 4058(separate)s 4898(them)s 5438(by)s -5735(the)s 6085(symbol)s 220 fnt35 6847 10956(|,)m 240 fnt82 +5735(the)s 6085(symbol)s 220 fnt2 6847 10956(|,)m 240 fnt1 7009 10959(which)m 7653(denotes)s 8437(the)s 8788(act)s 0 10671(of)m -240 fnt83 271 10673(horizontal)m 1315(concatenation)s 240 fnt82 2665 10671(.)m -2829(So,)s 3189(if)s 3406(we)s 3741(write)s 220 fnt35 -480 10189(USA | A)m 6(ustr)k 2(alia)k 240 fnt82 0 9734(the)m +240 fnt6 271 10673(horizontal)m 1315(concatenation)s 240 fnt1 2665 10671(.)m +2829(So,)s 3189(if)s 3406(we)s 3741(write)s 220 fnt2 +480 10189(USA | A)m 6(ustr)k 2(alia)k 240 fnt1 0 9734(the)m 348(result)s 938(will)s 1364(be)s 1646(the)s 1994(object)s 476 165 0 57 240 288 60 480 9228 LoutGr2 grestore save gsave 200 dict begin lfigdict begin @@ -2147,7 +2200,7 @@ grestore 1583(object)s 2253(has)s 2648(tw)s 2(o)k 3084(column)s 3884(marks,)s 4601(b)s 4(ut)k 4988(still)s 5426(only)s 5931(one)s 6359(ro)s 6(w)k 6804(mark,)s 7428(because)s -220 fnt35 8266 8774(|)m 240 fnt82 8389 8777(mer)m 4(ges)k +220 fnt2 8266 8774(|)m 240 fnt1 8389 8777(mer)m 4(ges)k 0 8489(the)m 382(tw)s 2(o)k 827(ro)s 6(w)k 1282(marks)s 1952(together)s 13(.)k 2921(This)s 3431(mer)s 4(ging)k 4312(of)s 4618(ro)s 6(w)k 5073(marks)s 5743(\207x)s 3(es)k @@ -2156,22 +2209,22 @@ grestore 2115(the)s 2467(other)s 9(,)k 3060(b)s 4(ut)k 3425(it)s 3621(does)s 4115(not)s 4485(determine)s 5499(ho)s 6(w)k 5964(f)s 2(ar)k 6290(apart)s 6830(the)s 3(y)k -7297(are.)s 7756(This)s 8236(distance,)s 0 7913(or)m 240 fnt83 -276 7915(gap)m 240 fnt82 629 7913(,)m 753(may)s 1236(be)s +7297(are.)s 7756(This)s 8236(distance,)s 0 7913(or)m 240 fnt6 +276 7915(gap)m 240 fnt1 629 7913(,)m 753(may)s 1236(be)s 1536(gi)s 6(v)k 3(en)k 2133(just)s 2555(after)s -3069(the)s 3434(symbol,)s 4263(as)s 4531(in)s 220 fnt35 -4791 7910(|0.5i)m 240 fnt82 5264 7913(for)m 5620(e)s 3(xample,)k +3069(the)s 3434(symbol,)s 4263(as)s 4531(in)s 220 fnt2 +4791 7910(|0.5i)m 240 fnt1 5264 7913(for)m 5620(e)s 3(xample,)k 6551(which)s 7210(speci\207es)s 8102(horizontal)s 0 7625(concatenation)m 1385(with)s 1867(a)s 2033(g)s 1(ap)k 2431(of)s 2702(half)s 3145(an)s 3428(inch.)s 4004(If)s 4234(no)s 4527(g)s 1(ap)k 4925(is)s 5135(gi)s 6(v)k 3(en,)k 5765(it)s -5957(is)s 6167(assumed)s 7049(to)s 7288(be)s 220 fnt35 -7570 7622(0i)m 240 fnt82 7726 7625(.)m 240 fnt83 480 7253(V)m 26(ertical)k -1283(concatenation)s 240 fnt82 2633 7251(,)m 2740(denoted)s 3556(by)s -220 fnt35 3850 7248(/)m 240 fnt82 3914 7251(,)m 4021(is)s +5957(is)s 6167(assumed)s 7049(to)s 7288(be)s 220 fnt2 +7570 7622(0i)m 240 fnt1 7726 7625(.)m 240 fnt6 480 7253(V)m 26(ertical)k +1283(concatenation)s 240 fnt1 2633 7251(,)m 2740(denoted)s 3556(by)s +220 fnt2 3850 7248(/)m 240 fnt1 3914 7251(,)m 4021(is)s 4231(the)s 4579(same)s 5126(apart)s 5663(from)s 6187(the)s -6535(change)s 7269(of)s 7540(direction:)s 220 fnt35 480 6750(A)m 6(ustr)k 2(alia /0.1i USA)k -240 fnt82 0 6295(has)m 370(result)s 875 165 0 56 240 288 60 480 5840 LoutGr2 +6535(change)s 7269(of)s 7540(direction:)s 220 fnt2 480 6750(A)m 6(ustr)k 2(alia /0.1i USA)k +240 fnt1 0 6295(has)m 370(result)s 875 165 0 56 240 288 60 480 5840 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 875 165 0 56 240 288 60 0 0 LoutGr2 @@ -2225,9 +2278,9 @@ grestore 4793(the)s 5199(g)s 1(ap)k 5654(determines)s 6810(the)s 7215(v)s 3(ertical)k 8040(separation.)s 0 4792(Horizontal)m 1077(and)s 1481(v)s 3(ertical)k 2248(can)s 2637(be)s 2919(combined:)s -220 fnt35 1000 4340(USA)m 2256(|0.2i)s 2772(A)s 6(ustr)k 2(alia)k +220 fnt2 1000 4340(USA)m 2256(|0.2i)s 2772(A)s 6(ustr)k 2(alia)k 480 4052(/0.1i)m 1000(W)s 8(ashington)k 2256(|)s 2772(Canberr)s 2(a)k -240 fnt82 0 3553(has)m 370(result)s 476 165 0 57 240 288 60 480 3097 LoutGr2 +240 fnt1 0 3553(has)m 370(result)s 476 165 0 57 240 288 60 480 3097 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 476 165 0 57 240 288 60 0 0 LoutGr2 @@ -2337,30 +2390,38 @@ grestore 3364(is)s 3565(ignored,)s 4395(so)s 4652(it)s 4836(may)s 5293(be)s 5567(used)s 6055(to)s 6286(lay)s 6623(out)s 6981(the)s 7320(e)s 3(xpression)k 8388(clearly)s 15(.)k -0 1711(The)m 425(symbol)s 220 fnt35 1182 1708(|)m 240 fnt82 +0 1711(The)m 425(symbol)s 220 fnt2 1182 1708(|)m 240 fnt1 1275 1711(tak)m 2(es)k 1812(precedence)s 2940(o)s 3(v)k 3(er)k -220 fnt35 3415 1708(/)m 240 fnt82 3479 1711(,)m 3583(which)s +220 fnt2 3415 1708(/)m 240 fnt1 3479 1711(,)m 3583(which)s 4221(means)s 4880(that)s 5295(the)s 5639(ro)s 6(ws)k 6146(are)s 6490(formed)s 7234(\207rst,)s 7709(then)s 8174(v)s 3(ertically)k -0 1423(concatenated.)m 1420(The)s 1856(symbol)s 220 fnt35 2625 1420(/)m -240 fnt82 2757 1423(will)m 3191(mer)s 4(ge)k 3849(tw)s 2(o)k +0 1423(concatenated.)m 1420(The)s 1856(symbol)s 220 fnt2 2625 1420(/)m +240 fnt1 2757 1423(will)m 3191(mer)s 4(ge)k 3849(tw)s 2(o)k 4267(or)s 4535(more)s 5090(column)s 5873(marks,)s 6573(creating)s -7403(multiple)s 8264(columns)s 0 1135(\(and)m 220 fnt35 484 1132(|)m -240 fnt82 583 1135(will)m 1011(mer)s 4(ge)k 1662(tw)s 2(o)k +7403(multiple)s 8264(columns)s 0 1135(\(and)m 220 fnt2 484 1132(|)m +240 fnt1 583 1135(will)m 1011(mer)s 4(ge)k 1662(tw)s 2(o)k 2073(or)s 2334(more)s 2883(ro)s 6(w)k 3305(marks\).)s 4134(This)s 4611(implies)s 5367(that)s 5787(the)s 6137(g)s 1(ap)k -220 fnt35 6536 1132(0.2i)m 240 fnt82 6937 1135(used)m 7436(abo)s 3(v)k 3(e)k +220 fnt2 6536 1132(0.2i)m 240 fnt1 6937 1135(used)m 7436(abo)s 3(v)k 3(e)k 8060(is)s 8272(between)s 0 847(columns,)m 910(not)s 1268(indi)s 6(vidual)k 2278(items)s 2838(in)s 3072(columns;)s 3987(a)s 4144(g)s 1(ap)k 4534(in)s 4768(the)s 5108(second)s 5822(ro)s 6(w)k 6234(w)s 2(ould)k 6880(therefore)s 7789(be)s 8062(redundant,)s 0 559(and)m 404(so)s 670(is)s 880(omitted.)s 480 185(A)m -710(v)s 6(ariant)k 1427(of)s 220 fnt35 1698 182(/)m -240 fnt82 1822 185(called)m 220 fnt35 2450 182(//)m 240 fnt82 +710(v)s 6(ariant)k 1427(of)s 220 fnt2 1698 182(/)m +240 fnt1 1822 185(called)m 220 fnt2 2450 182(//)m 240 fnt1 2635 185(left-justi\207es)m 3825(tw)s 2(o)k 4235(objects)s 4963(instead)s 5698(of)s 5969(mer)s 4(ging)k 6815(their)s 7312(marks.)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2377,40 +2438,42 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(1.1.)m 1871(Objects)s 240 fnt5 10370 -1583(3)m +gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(1.1.)m 454(Objects)s 240 fnt84 8953 13840(3)m -240 fnt82 480 13205(By)m 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 -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 3976(which)s -4618(the)s 4966(columns)s 5828(are)s 6175(formed)s 6923(\207rst:)s -220 fnt35 996 12416({ USA)m 2089(/0.1i)s 2609(W)s 8(ashington })k -480 12128(|0.2i)m 996({ A)s 6(ustr)k 2(alia)k 2089(/)s -2609(Canberr)s 2(a })k 240 fnt82 0 11634(Braces)m 701(ha)s 4(v)k 3(e)k -1202(no)s 1495(ef)s 6(fect)k 2091(other)s 2642(than)s -3111(to)s 3350(alter)s 3833(the)s 4181(grouping.)s 240 fnt83 -480 11262(P)m 19(ar)k 3(a)k 2(gr)k 3(aph)k -1569(br)s 8(eaking)k 240 fnt82 2476 11260(occurs)m 3160(when)s +480 13205(By)m 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 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 3976(which)s 4618(the)s 4966(columns)s 5828(are)s +6175(formed)s 6923(\207rst:)s 220 fnt2 996 12416({ USA)m 2089(/0.1i)s +2609(W)s 8(ashington })k 480 12128(|0.2i)m 996({ A)s 6(ustr)k 2(alia)k +2089(/)s 2609(Canberr)s 2(a })k 240 fnt1 0 11634(Braces)m +701(ha)s 4(v)k 3(e)k 1202(no)s 1495(ef)s 6(fect)k +2091(other)s 2642(than)s 3111(to)s 3350(alter)s 3833(the)s +4181(grouping.)s 240 fnt6 480 11262(P)m 19(ar)k 3(a)k 2(gr)k 3(aph)k +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 6327(into)s 6762(the)s 7119(space)s 7716(a)s 4(v)k 6(ailable)k 8633(to)s 8882(it;)s @@ -2418,21 +2481,21 @@ grestore 2944(lines,)s 3494(its)s 3762(width)s 4355(is)s 4557(reduced)s 5364(to)s 5595(an)s 5869(acceptable)s 6925(amount.)s 7799(The)s 8218(a)s 4(v)k 6(ailable)k 0 10684(space)m 587(is)s -797(determined)s 1930(by)s 2224(the)s 220 fnt35 2572 10681(@Wide)m -240 fnt82 3346 10684(symbol,)m 4158(whose)s 4826(form)s 5350(is)s -240 fnt83 480 10181(length)m 220 fnt35 1193 10176(@Wide)m 240 fnt83 -2027 10181(object)m 240 fnt82 0 9680(and)m 404(whose)s 1072(result)s +797(determined)s 1930(by)s 2224(the)s 220 fnt2 2572 10681(@Wide)m +240 fnt1 3346 10684(symbol,)m 4158(whose)s 4826(form)s 5350(is)s +240 fnt6 480 10181(length)m 220 fnt2 1193 10176(@Wide)m 240 fnt6 +2027 10181(object)m 240 fnt1 0 9680(and)m 404(whose)s 1072(result)s 1662(is)s 1872(the)s 2220(gi)s 6(v)k 3(en)k 2800(object)s 3444(modi\207ed)s 4353(to)s 4592(ha)s 4(v)k 3(e)k 5093(e)s 3(xactly)k 5834(the)s 6182(gi)s 6(v)k 3(en)k 6762(length.)s 7524(F)s 3(or)k 7913(e)s 3(xample,)k -220 fnt35 480 9179(5i @Wide {)m 480 8891(Macbeth w)m 3(as v)k 5(er)k -6(y ambitious)k 3(.)k 13( )k 11(This led him to wish to become king of)k +220 fnt2 480 9179(5i @Wide {)m 480 8891(Macbeth w)m 3(as v)k 5(er)k -6(y ambitious)k 3(.)k 13( )k 11(This led him to wish to become king of)k 480 8603(Scotland.)m 13( )k 11(The witches told him that this wish of his w)k 2(ould come tr)k -3(ue)k 3(.)k 13( )k 11(The)k 480 8315(king of Scotland at this time w)m 3(as Duncan.)k 13( Encour)k 2(aged b)k 4(y his wif)k 6(e)k 3(, Macbeth)k 480 8027(m)m 2(urdered Duncan.)k 13( He w)k 3(as thus enab)k 4(led to succeed Duncan as king.)k 13( \(51 w)k 2(ords\))k 480 7739(|0.5i)m 480 7451(Encour)m 2(aged b)k 4(y his wif)k 6(e)k 3(, Macbeth achie)k 6(v)k 5(ed his ambition and realiz)k 3(ed the)k 480 7163(prediction of the witches b)m 4(y m)k 2(urder)k -3(ing Duncan and becoming king of Scotland)k 480 6875(in his place)m 3(.)k 13( \(26 w)k 2(ords\))k -480 6587(})m 240 fnt82 0 6093(has)m 370(for)s 708(its)s +480 6587(})m 240 fnt1 0 6093(has)m 370(for)s 708(its)s 984(result)s 1574(the)s 1922(follo)s 6(wing)k 2899(\207v)s 3(e)k 3311(inch)s 3780(wide)s 4301(object)s 4945([7)s 5132(]:)s 480 5590(Macbeth)m 1356(w)s 2(as)k 1758(v)s 3(ery)k @@ -2470,12 +2533,20 @@ grestore 8397(circles,)s 0 1545(and)m 404(so)s 670(on,)s 1017(b)s 4(ut)k 1379(the)s 3(y)k 1842(do)s 2135(not)s 2501(add)s 2905(an)s 3(ything)k 3793(ne)s 6(w)k 4240(in)s -4483(principle.)s 240 fnt84 0 752(1.2.)m 471(De\207nitions)s 240 fnt82 +4483(principle.)s 240 fnt5 0 752(1.2.)m 471(De\207nitions)s 240 fnt1 480 321(The)m 897(features)s 1691(of)s 1950(Lout)s 2451(are)s 2786(v)s 3(ery)k 3250(general.)s 4105(The)s 3(y)k 4637(do)s 4918(not)s 5272(assume)s 6020(that)s 6427(documents)s 7503(are)s 7838(composed)s 8855(of)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2492,37 +2563,40 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(4)m 240 fnt6 8382 -1580(Chapter)m 9232(1.)s +9506(Principles)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13258 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(4)m 240 fnt83 6965 13843(Chapter)m 7815(1.)s -8089(Principles)s 240 fnt82 0 13204(pages,)m 637(nor)s 1001(that)s -1403(there)s 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 fnt83 7037 13206(De\207nitions)m 240 fnt82 -8127 13204(bridge)m 8778(the)s 0 12916(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 4935(features)s 5740(\211)s 5918(footnotes,)s -6913(equations,)s 7936(pages)s 8530(\211)s 8708(that)s 0 12628(particular)m -991(documents)s 2097(require.)s 2954(The)s 3(y)k 3515(hold)s -4017(the)s 4382(instr)s 4806(uct)s 5098(ions)s 5566(for)s -5922(producing)s 6963(these)s 7528(special)s 8264(features,)s 0 12340(con)m 9(v)k 3(eniently)k +0 13204(pages,)m 637(nor)s 1001(that)s 1403(there)s +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 13206(De\207nitions)m 240 fnt1 8127 13204(bridge)m 8778(the)s +0 12916(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 +4935(features)s 5740(\211)s 5918(footnotes,)s 6913(equations,)s 7936(pages)s +8530(\211)s 8708(that)s 0 12628(particular)m 991(documents)s 2097(require.)s +2954(The)s 3(y)k 3515(hold)s 4017(the)s 4382(instr)s +4806(uct)s 5098(ions)s 5566(for)s 5922(producing)s 6963(these)s +7528(special)s 8264(features,)s 0 12340(con)m 9(v)k 3(eniently)k 1278(packaged)s 2240(ready)s 2825(for)s 3163(use.)s 480 11966(F)m 3(or)k 885(e)s 3(xample,)k 1815(consider)s 2701(the)s 3065(challenge)s 4053(posed)s 4686(by)s 4996(`)s 5057(T)s 5153 11918(E)m @@ -2531,77 +2605,85 @@ grestore 0 11678(most)m 525(illustrious)s 1531(ri)s 6(v)k 6(als)k 2100([5)s 2285(].)s 2528(Lout)s 3040(solv)s 3(es)k 3686(it)s 3878(easily)s 4489(enough,)s 5302(lik)s 2(e)k -5714(this:)s 220 fnt35 480 11177(T{ /0.2f)m 6(o E }X)k 240 fnt82 +5714(this:)s 220 fnt2 480 11177(T{ /0.2f)m 6(o E }X)k 240 fnt1 0 10683(b)m 4(ut)k 373(to)s 624(type)s 1103(this)s 1511(e)s 6(v)k 3(ery)k 2098(time)s 2590(T)s 2686 10635(E)m 2794 10683(X)m 3035(is)s 3256(mentioned)s 4336(w)s 2(ould)k 5002(be)s 5296(tedious)s 6050(and)s 6465(error)s 4(-prone.)k 7724(So)s 8041(we)s 8388(place)s 8960(a)s 0 10395(de\207nition)m 974(at)s 1206(the)s 1554(be)s 3(ginning)k 2562(of)s -2833(the)s 3181(document:)s 220 fnt35 480 9894(def @T)m 26(eX { )k 11(T{ /0.2f)k 6(o E }X })k -240 fnt82 0 9400(No)m 6(w)k 220 fnt35 514 9397(@T)m 26(eX)k -240 fnt82 1169 9400(stands)m 1818(for)s 2156(the)s 2504(object)s +2833(the)s 3181(document:)s 220 fnt2 480 9894(def @T)m 26(eX { )k 11(T{ /0.2f)k 6(o E }X })k +240 fnt1 0 9400(No)m 6(w)k 220 fnt2 514 9397(@T)m 26(eX)k +240 fnt1 1169 9400(stands)m 1818(for)s 2156(the)s 2504(object)s 3148(follo)s 6(wing)k 4125(it)s 4317(between)s 5171(braces,)s -5888(and)s 6292(we)s 6627(may)s 7093(write)s 220 fnt35 +5888(and)s 6292(we)s 6627(may)s 7093(write)s 220 fnt2 480 8899(consider)m 1370(the)s 1728(challenge)s 2719(posed)s 3366(b)s 4(y)k -3653(`@T)s 26(eX',)k 4451(\202)s 240 fnt82 0 8400(as)m +3653(`@T)s 26(eX',)k 4451(\202)s 240 fnt1 0 8400(as)m 250(the)s 598(author)s 1269(did)s 1633(earlier)s 2301(in)s -2544(this)s 2940(paragraph.)s 480 8026(A)m 240 fnt83 706 8028(symbol)m -240 fnt82 1440 8026(is)m 1646(a)s 1808(name,)s 2429(lik)s 2(e)k -220 fnt35 2837 8023(@T)m 26(eX)k 240 fnt82 3432 8026(,)m +2544(this)s 2940(paragraph.)s 480 8026(A)m 240 fnt6 706 8028(symbol)m +240 fnt1 1440 8026(is)m 1646(a)s 1808(name,)s 2429(lik)s 2(e)k +220 fnt2 2837 8023(@T)m 26(eX)k 240 fnt1 3432 8026(,)m 3535(which)s 4172(stands)s 4817(for)s 5151(something)s 6197(other)s -6744(than)s 7209(itself.)s 7845(The)s 8269(initial)s 220 fnt35 -8875 8023(@)m 240 fnt82 0 7738(is)m 201(not)s 558(compulsory)s 15(,)k +6744(than)s 7209(itself.)s 7845(The)s 8269(initial)s 220 fnt2 +8875 8023(@)m 240 fnt1 0 7738(is)m 201(not)s 558(compulsory)s 15(,)k 1771(b)s 4(ut)k 2124(it)s 2307(does)s 2788(mak)s 2(e)k 3351(the)s 3690(name)s 4254(stand)s 4808(out)s 5165(clearly)s 15(.)k -5954(A)s 240 fnt83 6175 7740(de\207nition)m 240 fnt82 7124 7738(of)m +5954(A)s 240 fnt6 6175 7740(de\207nition)m 240 fnt1 7124 7738(of)m 7386(a)s 7543(symbol)s 8293(declares)s 0 7450(a)m 164(name)s 736(to)s 973(be)s 1253(a)s 1417(symbol,)s 2227(and)s 2629(says)s 3090(what)s 3613(the)s 3959(symbol)s 4717(stands)s -5364(for)s 13(.)k 5791(The)s 240 fnt83 6217 7452(body)m -240 fnt82 6737 7450(of)m 7006(a)s 7170(de\207nition)s 8142(is)s +5364(for)s 13(.)k 5791(The)s 240 fnt6 6217 7452(body)m +240 fnt1 6737 7450(of)m 7006(a)s 7170(de\207nition)s 8142(is)s 8350(the)s 8695(part)s 0 7162(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 fnt83 4226 7164(in)m 9(vok)k 2(e)k 240 fnt82 +240 fnt6 4226 7164(in)m 9(vok)k 2(e)k 240 fnt1 4892 7162(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 6788(Another)m 1324(e)s 3(xpression)k 2401(ripe)s 2828(for)s 3166(packaging)s 4203(in)s 4446(a)s -4612(de\207nition)s 5586(is)s 220 fnt35 480 6287(@OneRo)m 3(w { | -2p @F)k 6(ont n ^/0.5fk 2 })k -240 fnt82 0 5745(which)m 642(produces)s 200 fnt82 1671 5862(n)m -240 fnt82 1557 5745(2)m 1828(\(see)s 2268(Chapter)s 3085(2\).)s +4612(de\207nition)s 5586(is)s 220 fnt2 480 6287(@OneRo)m 3(w { | -2p @F)k 6(ont n ^/0.5fk 2 })k +240 fnt1 0 5745(which)m 642(produces)s 200 fnt1 1671 5862(n)m +240 fnt1 1557 5745(2)m 1828(\(see)s 2268(Chapter)s 3085(2\).)s 3448(But)s 3854(this)s 4250(time)s 4730(we)s 5065(w)s 2(ould)k 5720(lik)s 2(e)k 6132(to)s 6371(be)s 6653(able)s -7107(to)s 7346(write)s 240 fnt83 480 5242(object)m 220 fnt35 -1188 5237(@Super)m 240 fnt83 2116 5242(object)m 240 fnt82 0 4640(so)m -296(that)s 220 fnt35 745 4637(a)m 953(@Super)s 1853(2)s -240 fnt82 2055 4640(w)m 2(ould)k 2741(come)s 3345(out)s -3742(as)s 200 fnt82 4128 4769(2)m 240 fnt82 4022 4640(a)m +7107(to)s 7346(write)s 240 fnt6 480 5242(object)m 220 fnt2 +1188 5237(@Super)m 240 fnt6 2116 5242(object)m 240 fnt1 0 4640(so)m +296(that)s 220 fnt2 745 4637(a)m 953(@Super)s 1853(2)s +240 fnt1 2055 4640(w)m 2(ould)k 2741(come)s 3345(out)s +3742(as)s 200 fnt1 4128 4769(2)m 240 fnt1 4022 4640(a)m 4223(,)s 4361(and)s 4796(so)s 5092(on,)s 5470(for)s 5838(in)s 6112(this)s 6538(w)s 2(ay)k 7020(the)s 7398(usefulness)s 8476(of)s 8778(the)s 0 4352(de\207nition)m 974(is)s 1184(greatly)s 1901(increased.)s 2967(Here)s 3487(is)s 3697(ho)s 6(w)k -4158(it)s 4350(is)s 4560(done:)s 220 fnt35 480 3851(def @Super)m +4158(it)s 4350(is)s 4560(done:)s 220 fnt2 480 3851(def @Super)m 480 3563( left x)m 480 3275( r)m -3(ight y)k 480 2987({ @OneRo)m 3(w { | -2p @F)k 6(ont y ^/0.5fk x })k -480 2699(})m 240 fnt82 0 2205(This)m 492(de\207nition)s 1483(says)s -1963(that)s 220 fnt35 2398 2202(@Super)m 240 fnt82 3283 2205(has)m -3669(tw)s 2(o)k 240 fnt83 4096 2207(par)m 3(ameter)k 2(s)k -240 fnt82 5176 2205(,)m 220 fnt35 5300 2202(x)m 240 fnt82 -5485 2205(and)m 220 fnt35 5906 2202(y)m 240 fnt82 6014 2205(.)m -6194(When)s 220 fnt35 6840 2202(@Super)m 240 fnt82 7725 2205(is)m +480 2699(})m 240 fnt1 0 2205(This)m 492(de\207nition)s 1483(says)s +1963(that)s 220 fnt2 2398 2202(@Super)m 240 fnt1 3283 2205(has)m +3669(tw)s 2(o)k 240 fnt6 4096 2207(par)m 3(ameter)k 2(s)k +240 fnt1 5176 2205(,)m 220 fnt2 5300 2202(x)m 240 fnt1 +5485 2205(and)m 220 fnt2 5906 2202(y)m 240 fnt1 6014 2205(.)m +6194(When)s 220 fnt2 6840 2202(@Super)m 240 fnt1 7725 2205(is)m 7952(in)s 9(v)k 4(ok)k 2(ed,)k 8833(all)s -0 1917(occurrences)m 1205(of)s 220 fnt35 1490 1914(x)m 240 fnt82 +0 1917(occurrences)m 1205(of)s 220 fnt2 1490 1914(x)m 240 fnt1 1671 1917(in)m 1928(the)s 2289(body)s 2837(will)s 3276(be)s 3572(replaced)s 4452(by)s 4760(the)s 5121(object)s 5779(just)s -6197(to)s 6450(the)s 6811(left)s 7202(of)s 220 fnt35 -7486 1914(@Super)m 240 fnt82 8294 1917(,)m 8415(and)s 8833(all)s -0 1629(occurrences)m 1192(of)s 220 fnt35 1462 1626(y)m 240 fnt82 +6197(to)s 6450(the)s 6811(left)s 7202(of)s 220 fnt2 +7486 1914(@Super)m 240 fnt1 8294 1917(,)m 8415(and)s 8833(all)s +0 1629(occurrences)m 1192(of)s 220 fnt2 1462 1626(y)m 240 fnt1 1630 1629(will)m 2055(be)s 2337(replaced)s 3203(by)s 3496(the)s 3844(object)s 4487(just)s 4892(to)s 5130(the)s 5477(right.)s 6092(So,)s 6451(for)s 6789(e)s 3(xample,)k 7702(the)s -8049(e)s 3(xpression)k 220 fnt35 480 1128(2 @Super { Slope @F)m 6(ont n })k -240 fnt82 0 632(is)m 210(equal)s 783(to)s 220 fnt35 +8049(e)s 3(xpression)k 220 fnt2 480 1128(2 @Super { Slope @F)m 6(ont n })k +240 fnt1 0 632(is)m 210(equal)s 783(to)s 220 fnt2 480 131(@OneRo)m 3(w { | -2p @F)k 6(ont { Slope @F)k 6(ont n } ^/0.5fk 2 })k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2618,66 +2700,68 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1579(1.2.)m 1871(De\207nitions)s 240 fnt5 10370 -1582(5)m +gsave +1417 -15423 translate +240 fnt1 9066 13369 0 13369 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13844(1.2.)m 454(De\207nitions)s 240 fnt84 8953 13841(5)m -240 fnt82 0 13151(and)m 404(so)s 670(comes)s 1332(out)s -1698(as)s 200 fnt83 2062 13281(n)m 240 fnt82 1948 13151(2)m -2157(.)s 480 12777(Lout)m 994(permits)s 1764(de\207nitions)s 2828(to)s -3070(in)s 9(v)k 4(ok)k 2(e)k 3765(themselv)s 3(es,)k -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 12489(by)m 294(the)s -642(name)s 1216(of)s 240 fnt83 1487 12491(r)m 8(ecur)k 2(sion.)k -240 fnt82 2548 12489(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 -5783(de\207nition:)s 220 fnt35 480 11988(def @Leaders { ..)m 13( @Leaders })k 240 fnt82 -0 11494(The)m 418(usual)s 968(rule)s 1384(is)s 1584(that)s -1991(the)s 2329(v)s 6(alue)k 2886(of)s 3147(an)s -3420(in)s 9(v)k 4(ocation)k 4463(of)s 4724(a)s -4879(symbol)s 5629(is)s 5828(a)s 5984(cop)s 2(y)k -6492(of)s 6752(the)s 7090(body)s 7613(of)s 7874(the)s -8211(symbol')s 13(s)k 0 11206(de\207nition,)m 1024(so)s 1290(the)s -1638(v)s 6(alue)k 2206(of)s 220 fnt35 2477 11203(@Leaders)m -240 fnt82 3546 11206(must)m 4071(be)s 220 fnt35 480 10724(..)m 13( @Leaders)k -240 fnt82 0 10269(But)m 406(no)s 6(w)k 867(this)s -1263(rule)s 1690(applies)s 2418(to)s 2657(this)s 3053(ne)s 6(w)k -3500(in)s 9(v)k 4(ocation)k 4554(of)s 220 fnt35 -4825 10266(@Leaders)m 240 fnt82 5834 10269(;)m 5946(substituting)s 7115(its)s -7391(body)s 7925(gi)s 6(v)k 3(es)k 220 fnt35 -480 9768(..)m 13( ..)k 13( @Leaders)k 240 fnt82 0 9313(and)m -408(so)s 679(on)s 980(fore)s 6(v)k 3(er)k 13(.)k +0 13151(and)m 404(so)s 670(comes)s 1332(out)s 1698(as)s +200 fnt6 2062 13281(n)m 240 fnt1 1948 13151(2)m 2157(.)s +480 12777(Lout)m 994(permits)s 1764(de\207nitions)s 2828(to)s 3070(in)s 9(v)k 4(ok)k 2(e)k +3765(themselv)s 3(es,)k 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 12489(by)m 294(the)s 642(name)s 1216(of)s 240 fnt6 +1487 12491(r)m 8(ecur)k 2(sion.)k 240 fnt1 2548 12489(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 5783(de\207nition:)s +220 fnt2 480 11988(def @Leaders { ..)m 13( @Leaders })k 240 fnt1 0 11494(The)m +418(usual)s 968(rule)s 1384(is)s 1584(that)s 1991(the)s +2329(v)s 6(alue)k 2886(of)s 3147(an)s 3420(in)s 9(v)k 4(ocation)k +4463(of)s 4724(a)s 4879(symbol)s 5629(is)s 5828(a)s +5984(cop)s 2(y)k 6492(of)s 6752(the)s 7090(body)s +7613(of)s 7874(the)s 8211(symbol')s 13(s)k 0 11206(de\207nition,)m +1024(so)s 1290(the)s 1638(v)s 6(alue)k 2206(of)s +220 fnt2 2477 11203(@Leaders)m 240 fnt1 3546 11206(must)m 4071(be)s +220 fnt2 480 10724(..)m 13( @Leaders)k 240 fnt1 0 10269(But)m +406(no)s 6(w)k 867(this)s 1263(rule)s 1690(applies)s +2418(to)s 2657(this)s 3053(ne)s 6(w)k 3500(in)s 9(v)k 4(ocation)k +4554(of)s 220 fnt2 4825 10266(@Leaders)m 240 fnt1 5834 10269(;)m +5946(substituting)s 7115(its)s 7391(body)s 7925(gi)s 6(v)k 3(es)k +220 fnt2 480 9768(..)m 13( ..)k 13( @Leaders)k 240 fnt1 +0 9313(and)m 408(so)s 679(on)s 980(fore)s 6(v)k 3(er)k 13(.)k 1816(In)s 2076(order)s 2645(to)s 2888(mak)s 2(e)k 3465(this)s 3865(useful,)s 4561(an)s 4848(in)s 9(v)k 4(ocation)k 5907(of)s 6182(a)s 6353(recursi)s 6(v)k 3(e)k 7279(symbol)s 8044(is)s 8259(replaced)s 0 9025(by)m 294(its)s 570(body)s 1104(only)s 1584(if)s 1801(suf\207cient)s 2750(space)s 3337(is)s 3547(a)s 4(v)k 6(ailable.)k 4563(So,)s -4923(for)s 5261(e)s 3(xample,)k 220 fnt35 480 8524(4i @Wide { Chapter 7 @Leaders 62 })m -240 fnt82 0 8028(has)m 370(for)s 708(its)s 984(result)s +4923(for)s 5261(e)s 3(xample,)k 220 fnt2 480 8524(4i @Wide { Chapter 7 @Leaders 62 })m +240 fnt1 0 8028(has)m 370(for)s 708(its)s 984(result)s 1574(the)s 1922(object)s 480 7524(Chapter)m 1297(7)s 1525(..)s 1809(..)s 2093(..)s 2377(..)s 2661(..)s 2945(..)s 3229(..)s 3513(..)s 3797(..)s 4081(..)s 4365(..)s 4649(..)s 4933(..)s 5217(..)s 5501(..)s 5785(62)s 0 7021(with)m 478(Lout)s 985(checking)s 1897(before)s 2558(each)s -3049(replacement)s 4271(of)s 220 fnt35 4537 7018(@Leaders)m 240 fnt82 -5601 7021(by)m 220 fnt35 5891 7018(..)m 6177(@Leaders)s 240 fnt82 +3049(replacement)s 4271(of)s 220 fnt2 4537 7018(@Leaders)m 240 fnt1 +5601 7021(by)m 220 fnt2 5891 7018(..)m 6177(@Leaders)s 240 fnt1 7241 7021(that)m 7654(the)s 7997(total)s 8471(length)s 0 6733(afterw)m 2(ards,)k 1112(including)s 2069(the)s 2417(other)s 2968(w)s 2(ords,)k 3658(w)s 2(ould)k 4313(not)s 4679(e)s 3(xceed)k @@ -2687,9 +2771,9 @@ grestore 7109(to)s 7341(stop.)s 7898(The)s 8319(ob)s 3(vious)k 0 6071(thing)m 545(to)s 784(do)s 1077(is)s 1287(to)s 1526(replace)s 2271(the)s 2619(last)s 3010(in)s 9(v)k 4(ocation)k -4064(by)s 4358(an)s 4641(empty)s 5293(object:)s 220 fnt35 +4064(by)s 4358(an)s 4641(empty)s 5293(object:)s 220 fnt2 480 5573(..)m 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( {})k -240 fnt82 0 5079(As)m 316(the)s 662(e)s 3(xample)k +240 fnt1 0 5079(As)m 316(the)s 662(e)s 3(xample)k 1524(sho)s 6(ws,)k 2222(this)s 2617(w)s 2(ould)k 3270(lea)s 4(v)k 3(e)k 3822(a)s 3986(small)s 4556(trailing)s 5297(space,)s 5933(which)s 6574(is)s 6782(a)s @@ -2697,34 +2781,42 @@ grestore 517(this)s 930(by)s 1242(replacing)s 2201(the)s 2566(last)s 2975(in)s 9(v)k 4(ocation)k 4046(with)s 4545(a)s 4729(dif)s 6(ferent)k 5621(kind)s 6122(of)s 6411(empty)s -7080(object,)s 7788(called)s 220 fnt35 8434 4788(@Null)m 240 fnt82 +7080(object,)s 7788(called)s 220 fnt2 8434 4788(@Null)m 240 fnt1 9019 4791(,)m 0 4503(whose)m 677(ef)s 6(fect)k 1282(is)s 1501(to)s 1749(mak)s 2(e)k 2330(an)s 2623(adjacent)s 3488(concatenation)s 4882(symbol)s 5651(disappear)s 9(,)k 6674(preferably)s -7718(one)s 8130(preceding)s 0 4215(the)m 220 fnt35 348 4212(@Null)m -240 fnt82 933 4215(.)m 1097(Thus,)s 1683(when)s 2259(Lout)s -2771(replaces)s 220 fnt35 3604 4212(@Leaders)m 240 fnt82 4673 4215(by)m -220 fnt35 4967 4212(@Null)m 240 fnt82 5612 4215(in)m 5855(the)s -6203(e)s 3(xpression)k 220 fnt35 480 3714(..)m 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( @Leaders)k -240 fnt82 0 3259(the)m 348(trailing)s 1089(space,)s 1727(which)s +7718(one)s 8130(preceding)s 0 4215(the)m 220 fnt2 348 4212(@Null)m +240 fnt1 933 4215(.)m 1097(Thus,)s 1683(when)s 2259(Lout)s +2771(replaces)s 220 fnt2 3604 4212(@Leaders)m 240 fnt1 4673 4215(by)m +220 fnt2 4967 4212(@Null)m 240 fnt1 5612 4215(in)m 5855(the)s +6203(e)s 3(xpression)k 220 fnt2 480 3714(..)m 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( ..)k 13( @Leaders)k +240 fnt1 0 3259(the)m 348(trailing)s 1089(space,)s 1727(which)s 2368(is)s 2577(really)s 3174(a)s 3339(horizontal)s 4362(concatenation)s 5747(symbol,)s 6558(disappears)s 7617(as)s 7867(well.)s 8441(This)s 8916(is)s 0 2971(tak)m 2(en)k 573(into)s 998(account)s 1802(when)s 2378(deciding)s 3255(whether)s 4085(there)s 4618(is)s -4828(room)s 5393(to)s 5632(replace)s 220 fnt35 6377 2968(@Leaders)m -240 fnt82 7446 2971(by)m 7740(its)s 8016(body)s 15(.)k +4828(room)s 5393(to)s 5632(replace)s 220 fnt2 6377 2968(@Leaders)m +240 fnt1 7446 2971(by)m 7740(its)s 8016(body)s 15(.)k 480 2597(The)m 903(remainder)s 1926(of)s 2192(this)s 2583(section)s 3312(is)s 3517(de)s 6(v)k 4(oted)k 4318(to)s 4552(sho)s 6(wing)k 5406(ho)s 6(w)k 5862(de\207nitions)s 6918(may)s 7379(be)s 7656(used)s 8148(to)s 8382(specify)s -0 2309(the)m 240 fnt83 348 2311(pa)m 2(g)k 2(e)k -863(layout)s 240 fnt82 1525 2309(of)m 1796(a)s 1962(document.)s +0 2309(the)m 240 fnt6 348 2311(pa)m 2(g)k 2(e)k +863(layout)s 240 fnt1 1525 2309(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 -6527(lik)s 2(e)k 6939(this:)s 220 fnt35 480 1808(def @P)m 8(age)k +6527(lik)s 2(e)k 6939(this:)s 220 fnt2 480 1808(def @P)m 8(age)k 480 1520({)m 480 1232( //1i ||1i)m 480 944( 6i @Wide 9.5i @High)m 480 656( { @T)m 26(e)k 6(xtPlace //1r)k -8(t @F)k 6(ootSect })k 480 368( ||1i //1i)m 480 80(})m grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2742,139 +2834,150 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(6)m 240 fnt6 8382 -1580(Chapter)m 9232(1.)s +9506(Principles)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(6)m 240 fnt83 6965 13843(Chapter)m 7815(1.)s -8089(Principles)s 240 fnt82 0 13205(No)m 6(w)k 220 fnt35 -520 13202(@P)m 8(age)k 240 fnt82 1306 13205(is)m 1523(an)s -1813(eight)s 2358(by)s 2659(ele)s 6(v)k 3(en)k -3338(and)s 3749(a)s 3922(half)s 4371(inch)s 4847(object,)s -5545(with)s 6034(one)s 6443(inch)s 6919(mar)s 4(gins,)k -7799(a)s 7972(place)s 8539(at)s 8778(the)s 0 12917(top)m -367(for)s 713(te)s 3(xt,)k 1183(and)s 1595(a)s -1769(section)s 2511(at)s 2751(the)s 3108(bottom)s 3854(for)s -4200(footnotes)s 5149(\(since)s 220 fnt35 5783 12914(//1r)m -8(t)k -240 fnt82 6233 12917(bottom-justi\207es)m 7792(the)s 8149(follo)s 6(wing)k -0 12629(object\).)m 827(It)s 1032(will)s 1458(be)s 1740(con)s 9(v)k 3(enient)k -2838(for)s 3176(us)s 3440(to)s 3679(sho)s 6(w)k -4233(the)s 4581(ef)s 6(fect)k 5177(of)s 5448(in)s 9(v)k 4(oking)k -220 fnt35 6340 12626(@P)m 8(age)k 240 fnt82 7119 12629(lik)m 2(e)k -7531(this:)s 160 fnt35 480 11528(@P)m 6(age)k 220 fnt78 +0 13205(No)m 6(w)k 220 fnt2 520 13202(@P)m 8(age)k +240 fnt1 1306 13205(is)m 1523(an)s 1813(eight)s 2358(by)s +2659(ele)s 6(v)k 3(en)k 3338(and)s 3749(a)s +3922(half)s 4371(inch)s 4847(object,)s 5545(with)s 6034(one)s +6443(inch)s 6919(mar)s 4(gins,)k 7799(a)s 7972(place)s +8539(at)s 8778(the)s 0 12917(top)m 367(for)s 713(te)s 3(xt,)k +1183(and)s 1595(a)s 1769(section)s 2511(at)s 2751(the)s +3108(bottom)s 3854(for)s 4200(footnotes)s 5149(\(since)s 220 fnt2 +5783 12914(//1r)m -8(t)k 240 fnt1 6233 12917(bottom-justi\207es)m 7792(the)s +8149(follo)s 6(wing)k 0 12629(object\).)m 827(It)s 1032(will)s +1458(be)s 1740(con)s 9(v)k 3(enient)k 2838(for)s +3176(us)s 3440(to)s 3679(sho)s 6(w)k 4233(the)s +4581(ef)s 6(fect)k 5177(of)s 5448(in)s 9(v)k 4(oking)k +220 fnt2 6340 12626(@P)m 8(age)k 240 fnt1 7119 12629(lik)m 2(e)k +7531(this:)s 160 fnt2 480 11528(@P)m 6(age)k 220 fnt4 1240 11514(\336)m gsave 1690 9795 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore -240 fnt82 0 9344(with)m 482(the)s +240 fnt1 0 9344(with)m 482(the)s 830(in)s 9(v)k 4(ok)k 2(ed)k 1645(symbol)s 2405(appearing)s 3401(to)s 3640(the)s 3988(left)s 4365(of)s 4636(the)s 4984(arro)s 6(w)k 15(,)k 5627(and)s 6031(its)s 6307(body)s 6841(to)s 7080(the)s 7428(right.)s 480 8970(The)m 908(de\207nition)s 1882(of)s 2153(a)s 2319(v)s 3(ertical)k 3086(list)s 3437(of)s 3708(pages)s 4304(should)s 5001(come)s -5575(as)s 5825(no)s 6118(surprise:)s 220 fnt35 480 8469(def @P)m 8(ageList)k +5575(as)s 5825(no)s 6118(surprise:)s 220 fnt2 480 8469(def @P)m 8(ageList)k 480 8181({)m 480 7893( @P)m 8(age // @P)k 8(ageList)k 480 7605(})m -240 fnt82 0 7111(This)m 476(allo)s 6(ws)k 1145(in)s 9(v)k 4(ocations)k +240 fnt1 0 7111(This)m 476(allo)s 6(ws)k 1145(in)s 9(v)k 4(ocations)k 2286(lik)s 2(e)k 2698(the)s 3046(follo)s 6(wing:)k gsave 480 0 translate 1.0867 1.0000 scale -160 fnt35 0 6010(@P)m 6(ageList)k 220 fnt78 890 5996(\336)m +160 fnt2 0 6010(@P)m 6(ageList)k 220 fnt4 890 5996(\336)m gsave 1220 4277 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore -160 fnt35 1220 4047(@P)m 6(ageList)k 220 fnt78 3267 5996(\336)m +160 fnt2 1220 4047(@P)m 6(ageList)k 220 fnt4 3267 5996(\336)m gsave 3597 4277 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore gsave 3597 1783 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore -160 fnt35 3597 1553(@P)m 6(ageList)k 220 fnt78 5644 5996(\336)m +160 fnt2 3597 1553(@P)m 6(ageList)k 220 fnt4 5644 5996(\336)m gsave 5974 4277 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore gsave 5974 1783 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore grestore -0 1067(setting)m 220 fnt35 750 1064(@P)m 8(ageList)k 240 fnt82 -1874 1067(to)m 200 fnt35 2113 1069(@Null)m 240 fnt82 2706 1067(on)m +0 1067(setting)m 220 fnt2 750 1064(@P)m 8(ageList)k 240 fnt1 +1874 1067(to)m 200 fnt2 2113 1069(@Null)m 240 fnt1 2706 1067(on)m 3003(the)s 3351(last)s 3742(step.)s 4291(An)s 3(y)k 4755(number)s 5546(of)s 5817(pages)s 6413(can)s 6802(be)s -7084(generated.)s 480 693(A)m 703(de\207nition)s 1669(for)s 220 fnt35 -1999 690(@T)m 26(e)k 6(xtPlace)k 240 fnt82 3209 693(is)m +7084(generated.)s 480 693(A)m 703(de\207nition)s 1669(for)s 220 fnt2 +1999 690(@T)m 26(e)k 6(xtPlace)k 240 fnt1 3209 693(is)m 3411(be)s 3(yond)k 4164(us)s 4420(at)s 4644(present,)s -5433(since)s 220 fnt35 5972 690(@T)m 26(e)k 6(xtPlace)k -240 fnt82 7182 693(must)m 7699(be)s 7973(replaced)s 8832(by)s +5433(since)s 220 fnt2 5972 690(@T)m 26(e)k 6(xtPlace)k +240 fnt1 7182 693(must)m 7699(be)s 7973(replaced)s 8832(by)s 0 405(dif)m 6(ferent)k 877(parts)s 1394(of)s 1667(the)s 2018(te)s 3(xt)k 2435(of)s 2708(the)s 3059(document)s 4065(on)s 4364(dif)s 6(ferent)k 5242(pages.)s 5953(But)s -6361(we)s 6699(can)s 7090(de\207ne)s 220 fnt35 7733 402(@F)m 6(ootSect)k -240 fnt82 8887 405(to)m 0 117(be)m 282(a)s 448(small)s +6361(we)s 6699(can)s 7090(de\207ne)s 220 fnt2 7733 402(@F)m 6(ootSect)k +240 fnt1 8887 405(to)m 0 117(be)m 282(a)s 448(small)s 1020(space)s 1607(follo)s 6(wed)k 2509(by)s 2803(a)s 2969(horizontal)s 3993(line)s 4407(follo)s 6(wed)k 5309(by)s 5603(a)s 5769(list)s 6120(of)s 6391(places)s 7039(where)s 7679(footnotes)s 8620(go:)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2892,52 +2995,55 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1579(1.2.)m 1871(De\207nitions)s 240 fnt5 10368 -1582(7)m +gsave +1417 -15423 translate +240 fnt1 9066 13369 0 13265 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13844(1.2.)m 454(De\207nitions)s 240 fnt84 8951 13841(7)m -220 fnt35 480 13208(def @F)m 6(ootList )k 480 12920({ )m 480 12632( @F)m 6(ootPlace //0.3v @F)k 6(ootList)k +220 fnt2 480 13208(def @F)m 6(ootList )k 480 12920({ )m 480 12632( @F)m 6(ootPlace //0.3v @F)k 6(ootList)k 480 12344(} )m 480 12056( )m 480 11768(def @F)m 6(ootSect)k 480 11480({ )m -480 11192( //0.3v 1i @Wide @HLine)m 480 10904( //0.3v @F)m 6(ootList )k 480 10616(} )m 240 fnt82 -0 10122(assuming)m 950(that)s 220 fnt35 1360 10119(@HLine)m 240 fnt82 +480 11192( //0.3v 1i @Wide @HLine)m 480 10904( //0.3v @F)m 6(ootList )k 480 10616(} )m 240 fnt1 +0 10122(assuming)m 950(that)s 220 fnt2 1360 10119(@HLine)m 240 fnt1 2199 10122(will)m 2617(produce)s 3436(a)s 3594(horizontal)s 4610(line)s 5016(of)s 5279(the)s 5619(indicated)s 6545(width.)s 7246(W)s 9(ith)k 7764(this)s 8152(de\207nition)s 0 9834(we)m 335(can)s 724(generate)s 1589(pages)s 2185(lik)s 2(e)k 2597(this:)s gsave 480 7000 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore -220 fnt78 2647 8719(\336)m gsave +220 fnt4 2647 8719(\336)m gsave 3097 7000 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 567 0 0 0 160 180 44 170 346 LoutGr2 0 0 moveto xsize 0 lineto stroke grestore @@ -2947,12 +3053,12 @@ grestore grestore 5264(\336)s gsave 5714 7000 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 567 0 0 0 160 180 44 170 522 LoutGr2 0 0 moveto xsize 0 lineto stroke grestore @@ -2960,20 +3066,20 @@ grestore grestore 170 349(@F)m 4(ootPlace)k 170 173(@F)m 4(ootList)k grestore -240 fnt82 +240 fnt1 0 6549(and)m 404(so)s 670(on)s 967(for)s 1305(arbitrarily)s 2312(man)s 3(y)k 2895(footnotes.)s 480 6175(W)m 19(e)k 852(will)s 1281(see)s 1646(in)s 1892(the)s 2244(ne)s 3(xt)k 2716(section)s 3454(ho)s 6(w)k 3918(in)s 9(v)k 4(ocations)k -5063(of)s 220 fnt35 5337 6172(@P)m 8(ageList,)k 6511(@F)s 6(ootSect)k -240 fnt82 7665 6175(and)m 220 fnt35 8073 6172(@F)m 6(ootList)k -240 fnt82 0 5887(are)m 356(replaced)s 1232(by)s 1535(their)s +5063(of)s 220 fnt2 5337 6172(@P)m 8(ageList,)k 6511(@F)s 6(ootSect)k +240 fnt1 7665 6175(and)m 220 fnt2 8073 6172(@F)m 6(ootList)k +240 fnt1 0 5887(are)m 356(replaced)s 1232(by)s 1535(their)s 2041(bodies)s 2726(only)s 3216(when)s 3801(the)s 4158(need)s 4677(to)s 4925(insert)s 5524(te)s 3(xt)k 5949(and)s 6362(footnotes)s 7312(obliges)s 8063(Lout)s 8584(to)s 8833(do)s 0 5599(so;)m 352(otherwise)s 1364(the)s 1740(in)s 9(v)k 4(ocations)k -2908(are)s 3283(replaced)s 4177(by)s 220 fnt35 4499 5596(@Null)m -240 fnt82 5084 5599(.)m 5275(In)s 5559(this)s 5982(w)s 2(ay)k 15(,)k +2908(are)s 3283(replaced)s 4177(by)s 220 fnt2 4499 5596(@Null)m +240 fnt1 5084 5599(.)m 5275(In)s 5559(this)s 5982(w)s 2(ay)k 15(,)k 6499(the)s 6874(right)s 7413(number)s 8231(of)s 8530(pages)s 0 5311(is)m 223(made,)s 862(the)s 1224(small)s 1810(line)s 2238(appears)s 3033(only)s 3527(on)s 3838(pages)s 4447(that)s @@ -2985,15 +3091,15 @@ grestore 6932(has)s 7304(made)s 7880(to)s 8122(document)s 0 4361(formatting.)m 1172(It)s 1377(is)s 1587(e)s 3(xtraordinarily)k 3057(\210e)s 3(xible.)k 3935(T)s 19(w)k 2(o-column)k 5207(pages?)s 5971(Use)s -220 fnt35 480 3860({2.8i @Wide @T)m 26(e)k 6(xtPlace} ||0.4i {2.8i @Wide @T)k 26(e)k 6(xtPlace})k -240 fnt82 0 3366(instead)m 768(of)s 220 fnt35 1072 3363(@T)m 26(e)k 6(xtPlace)k -240 fnt82 2230 3366(.)m 2427(F)s 3(ootnotes)k 3452(in)s -3728(smaller)s 4523(type?)s 5187(Use)s 220 fnt35 5648 3363(-2p)m -6051(@F)s 6(ont)k 6797(@F)s 6(ootPlace)k 240 fnt82 -8086 3366(instead)m 8855(of)s 220 fnt35 0 3075(@F)m 6(ootPlace)k -240 fnt82 1196 3078(.)m 1360(And)s 1831(on)s 2128(and)s -2532(on.)s 240 fnt84 0 2330(1.3.)m 471(Cr)s 4(oss)k -1106(r)s 4(efer)k 4(ences)k 240 fnt82 480 1898(A)m +220 fnt2 480 3860({2.8i @Wide @T)m 26(e)k 6(xtPlace} ||0.4i {2.8i @Wide @T)k 26(e)k 6(xtPlace})k +240 fnt1 0 3366(instead)m 768(of)s 220 fnt2 1072 3363(@T)m 26(e)k 6(xtPlace)k +240 fnt1 2230 3366(.)m 2427(F)s 3(ootnotes)k 3452(in)s +3728(smaller)s 4523(type?)s 5187(Use)s 220 fnt2 5648 3363(-2p)m +6051(@F)s 6(ont)k 6797(@F)s 6(ootPlace)k 240 fnt1 +8086 3366(instead)m 8855(of)s 220 fnt2 0 3075(@F)m 6(ootPlace)k +240 fnt1 1196 3078(.)m 1360(And)s 1831(on)s 2128(and)s +2532(on.)s 240 fnt5 0 2330(1.3.)m 471(Cr)s 4(oss)k +1106(r)s 4(efer)k 4(ences)k 240 fnt1 480 1898(A)m 705(cross)s 1241(reference)s 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 @@ -3022,6 +3128,14 @@ grestore 6890(of)s 7154(the)s 7495(names,)s 8206(so)s 8465(that)s 8876(as)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -3038,63 +3152,65 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(8)m 240 fnt6 8382 -1580(Chapter)m 9232(1.)s +9506(Principles)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(8)m 240 fnt83 6965 13843(Chapter)m 7815(1.)s -8089(Principles)s 240 fnt82 0 13205(the)m 342(document)s 1339(is)s -1543(re)s 6(vised,)k 2327(the)s 2669(cross)s 3204(references)s -4229(are)s 4569(k)s 2(ept)k 5033(up)s 5319(to)s -5552(date)s 5999(automatically)s 15(.)k 7442(Lout)s 7947(has)s -8310(adopted)s 0 12917(and)m 404(e)s 3(xtended)k 1323(this)s -1719(scheme.)s 480 12543(In)m 726(Lout,)s 1275(automatic)s 2260(cross)s -2792(referencing)s 3922(w)s 2(orks)k 4546(in)s 4779(the)s -5117(follo)s 6(wing)k 6084(w)s 2(ay)k 15(.)k +0 13205(the)m 342(document)s 1339(is)s 1543(re)s 6(vised,)k +2327(the)s 2669(cross)s 3204(references)s 4229(are)s 4569(k)s 2(ept)k +5033(up)s 5319(to)s 5552(date)s 5999(automatically)s 15(.)k +7442(Lout)s 7947(has)s 8310(adopted)s 0 12917(and)m 404(e)s 3(xtended)k +1323(this)s 1719(scheme.)s 480 12543(In)m 726(Lout,)s 1275(automatic)s +2260(cross)s 2792(referencing)s 3922(w)s 2(orks)k 4546(in)s +4779(the)s 5117(follo)s 6(wing)k 6084(w)s 2(ay)k 15(.)k 6620(First)s 7107(de\207ne)s 7738(a)s 7894(symbol)s 8644(with)s 0 12255(a)m 166(parameter)s 1180(with)s 1662(the)s 2010(special)s -2728(name)s 220 fnt35 3302 12252(@T)m 26(ag:)k 480 11754(def @T)m 26(ab)k 4(le)k +2728(name)s 220 fnt2 3302 12252(@T)m 26(ag:)k 480 11754(def @T)m 26(ab)k 4(le)k 480 11466( left @T)m 26(ag)k 480 11178( r)m -3(ight @V)k 15(alue)k -480 10890({)m 480 10602( ||1i @V)m 15(alue)k 480 10314(})m 240 fnt82 +480 10890({)m 480 10602( ||1i @V)m 15(alue)k 480 10314(})m 240 fnt1 0 9820(When)m 643(this)s 1054(symbol)s 1829(is)s 2054(in)s 9(v)k 4(ok)k 2(ed,)k 2933(the)s 3296(v)s 6(alue)k 3879(gi)s 6(v)k 3(en)k -4474(to)s 220 fnt35 4727 9817(@T)m 26(ag)k 240 fnt82 +4474(to)s 220 fnt2 4727 9817(@T)m 26(ag)k 240 fnt1 5365 9820(should)m 6077(be)s 6374(a)s 6555(simple)s 7263(w)s 2(ord)k -7826(lik)s 2(e)k 220 fnt35 8253 9817(cities)m 240 fnt82 +7826(lik)s 2(e)k 220 fnt2 8253 9817(cities)m 240 fnt1 8745 9820(,)m 8867(or)s 0 9532(se)m 6(v)k 3(eral)k 722(simple)s 1415(w)s 2(ords)k 2049(juxtaposed)s 3144(lik)s 2(e)k -220 fnt35 3556 9529(cities compare)m 240 fnt82 4962 9532(;)m 5074(it)s +220 fnt2 3556 9529(cities compare)m 240 fnt1 4962 9532(;)m 5074(it)s 5266(serv)s 3(es)k 5911(to)s 6150(name)s 6724(the)s -7072(in)s 9(v)k 4(ocation:)k 220 fnt35 480 9031({ cities compare } @T)m 26(ab)k 4(le)k +7072(in)s 9(v)k 4(ocation:)k 220 fnt2 480 9031({ cities compare } @T)m 26(ab)k 4(le)k 480 8743({)m 480 8455( )m 8(W)k 8(ashington |0.5i Canberr)k 2(a)k -480 8167(})m 240 fnt82 0 7673(W)m 19(e)k 410(may)s +480 8167(})m 240 fnt1 0 7673(W)m 19(e)k 410(may)s 917(no)s 6(w)k 1419(refer)s 1969(to)s 2249(this)s 2686(in)s 9(v)k 4(ocation)k 3782(else)s 6(where)k 4828(in)s 5112(the)s 5501(document,)s 6593(using)s 7206(the)s -240 fnt83 7595 7675(cr)m 10(oss)k 8187(r)s 8(efer)k 8(ence)k -220 fnt35 0 7382(@T)m 26(ab)k 4(le&&{ cities compare }.)k 240 fnt82 -2918 7385(Here)m 220 fnt35 3480 7382(&&)m 240 fnt82 3870 7385(is)m -4122(the)s 240 fnt83 4511 7387(cr)m 10(oss)k 5103(r)s 8(efer)k 8(ence)k -6084(symbol)s 240 fnt82 6762 7385(;)m 6916(its)s 7233(left)s +240 fnt6 7595 7675(cr)m 10(oss)k 8187(r)s 8(efer)k 8(ence)k +220 fnt2 0 7382(@T)m 26(ab)k 4(le&&{ cities compare }.)k 240 fnt1 +2918 7385(Here)m 220 fnt2 3480 7382(&&)m 240 fnt1 3870 7385(is)m +4122(the)s 240 fnt6 4511 7387(cr)m 10(oss)k 5103(r)s 8(efer)k 8(ence)k +6084(symbol)s 240 fnt1 6762 7385(;)m 6916(its)s 7233(left)s 7652(parameter)s 8708(is)s 8960(a)s 0 7097(symbol)m 772(and)s 1189(its)s 1478(right)s 2002(parameter)s 3028(is)s 3251(the)s -3612(v)s 6(alue)k 4193(of)s 4476(the)s 220 fnt35 -4837 7094(@T)m 26(ag)k 240 fnt82 5473 7097(parameter)m 6500(of)s +3612(v)s 6(alue)k 4193(of)s 4476(the)s 220 fnt2 +4837 7094(@T)m 26(ag)k 240 fnt1 5473 7097(parameter)m 6500(of)s 6783(some)s 7357(in)s 9(v)k 4(ocation)k 8424(of)s 8708(that)s 0 6809(symbol.)m 869(Of)s 1193(course)s 1873(it')s 13(s)k 2215(simplest)s 3071(if)s 3288(you)s 3703(use)s 4078(just)s @@ -3110,11 +3226,11 @@ grestore 7355(in)s 9(v)k 4(ocation.)k 8513(Three)s 0 5859(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 fnt35 5050 5856(&&)m 240 fnt82 5338 5859(:)m 220 fnt35 -5500 5856(preceding)m 240 fnt82 6451 5859(,)m 220 fnt35 6555 5856(f)m 6(ollo)k 3(wing)k -240 fnt82 7385 5859(,)m 7488(and)s 220 fnt35 7888 5856(f)m 6(oll_or_prec)k -240 fnt82 9022 5859(.)m 0 5571(The)m 467(cross)s 1049(reference)s -220 fnt35 2032 5568(@T)m 26(ab)k 4(le&&preceding)k 240 fnt82 +220 fnt2 5050 5856(&&)m 240 fnt1 5338 5859(:)m 220 fnt2 +5500 5856(preceding)m 240 fnt1 6451 5859(,)m 220 fnt2 6555 5856(f)m 6(ollo)k 3(wing)k +240 fnt1 7385 5859(,)m 7488(and)s 220 fnt2 7888 5856(f)m 6(oll_or_prec)k +240 fnt1 9022 5859(.)m 0 5571(The)m 467(cross)s 1049(reference)s +220 fnt2 2032 5568(@T)m 26(ab)k 4(le&&preceding)k 240 fnt1 4116 5571(points)m 4792(to)s 5071(some)s 5671(table)s 6231(appearing)s 7267(earlier)s 7975(in)s 8258(the)s 8646(\207nal)s 0 5283(printed)m 760(document)s 1790(than)s 2285(itself;)s 2899(that)s 3343(is,)s @@ -3122,16 +3238,16 @@ grestore 6009(to)s 6274(point)s 6852(backw)s 2(ards)k 7950(through)s 8778(the)s 0 4995(document.)m 1108(Usually)s 1907(it)s 2100(points)s 2737(to)s 2977(the)s 3326(nearest)s 4063(preceding)s 5060(in)s 9(v)k 4(ocation.)k -6222(Similarly)s 15(,)k 220 fnt35 7203 4992(@T)m 26(ab)k 4(le&&f)k 6(ollo)k 3(wing)k -240 fnt82 0 4707(points)m 636(forw)s 2(ards,)k 1590(usually)s +6222(Similarly)s 15(,)k 220 fnt2 7203 4992(@T)m 26(ab)k 4(le&&f)k 6(ollo)k 3(wing)k +240 fnt1 0 4707(points)m 636(forw)s 2(ards,)k 1590(usually)s 2335(to)s 2574(the)s 2922(nearest)s 3657(follo)s 6(wing)k -4634(in)s 9(v)k 4(ocation.)k 220 fnt35 5795 4704(@T)m 26(ab)k 4(le&&f)k 6(oll_or_prec)k -240 fnt82 8022 4707(is)m 8232(the)s 8579(same)s 0 4419(as)m -220 fnt35 250 4416(@T)m 26(ab)k 4(le&&f)k 6(ollo)k 3(wing)k -240 fnt82 2173 4419(if)m 2390(it)s 2582(e)s 3(xists,)k +4634(in)s 9(v)k 4(ocation.)k 220 fnt2 5795 4704(@T)m 26(ab)k 4(le&&f)k 6(oll_or_prec)k +240 fnt1 8022 4707(is)m 8232(the)s 8579(same)s 0 4419(as)m +220 fnt2 250 4416(@T)m 26(ab)k 4(le&&f)k 6(ollo)k 3(wing)k +240 fnt1 2173 4419(if)m 2390(it)s 2582(e)s 3(xists,)k 3230(otherwise)s 4215(it)s 4407(is)s 4617(the)s 4965(same)s -5512(as)s 220 fnt35 5762 4416(@T)m 26(ab)k 4(le&&preceding)k -240 fnt82 7746 4419(.)m 480 4045(This)m 962(section)s 1702(has)s +5512(as)s 220 fnt2 5762 4416(@T)m 26(ab)k 4(le&&preceding)k +240 fnt1 7746 4419(.)m 480 4045(This)m 962(section)s 1702(has)s 2079(been)s 2594(concerned)s 3641(with)s 4130(what)s 4661(a)s 4834(cross)s 5382(reference)s 6331(is)s 6548(\211)s 6734(an)s 7023(arro)s 6(w)k 7635(from)s 8165(one)s 8574(point)s @@ -3142,16 +3258,16 @@ grestore 7104(use)s 7478(a)s 7643(cross)s 8183(reference)s 0 3469(is)m 210(to)s 449(put)s 815(it)s 1007(where)s 1647(an)s 1930(object)s 2574(is)s 2784(e)s 3(xpected,)k 3738(lik)s 2(e)k -4150(this:)s 220 fnt35 480 2968(a | @T)m 26(ab)k 4(le&&cities | c)k -240 fnt82 0 2513(In)m 265(this)s 670(case)s 1146(the)s +4150(this:)s 220 fnt2 480 2968(a | @T)m 26(ab)k 4(le&&cities | c)k +240 fnt1 0 2513(In)m 265(this)s 670(case)s 1146(the)s 1504(cross)s 2055(reference)s 3007(will)s 3443(be)s 3734(replaced)s 4610(by)s 4914(a)s 5089(cop)s 2(y)k 5616(of)s 5897(the)s 6254(in)s 9(v)k 4(ocation)k 7317(it)s 7519(points)s 8164(to:)s 8525(in)s 8778(the)s 0 2225(e)m 3(xample)k 866(just)s 1275(gi)s 6(v)k 3(en,)k 1909(a)s -2079(table)s 2603(will)s 3033(appear)s 3734(between)s 220 fnt35 -4591 2222(a)m 240 fnt82 4772 2225(and)m 220 fnt35 5180 2222(c.)m -240 fnt82 5456 2225(Other)m 6064(applications)s 7274(of)s 7549(cross)s +2079(table)s 2603(will)s 3033(appear)s 3734(between)s 220 fnt2 +4591 2222(a)m 240 fnt1 4772 2225(and)m 220 fnt2 5180 2222(c.)m +240 fnt1 5456 2225(Other)m 6064(applications)s 7274(of)s 7549(cross)s 8095(references)s 0 1937(may)m 466(be)s 747(found)s 1364(in)s 1606(Chapter)s 2423(4,)s 2649(including)s 3606(\207nding)s 4337(the)s 4685(number)s 5475(of)s 5746(the)s 6093(page)s 6601(where)s @@ -3165,13 +3281,13 @@ grestore 480 987(The)m 943(implementation)s 2535(of)s 2841(cross)s 3418(referencing)s 4593(copies)s 5290(e)s 6(v)k 3(ery)k 5901(symbol)s 6696(in)s 9(v)k 4(ocation)k 7785(with)s 8302(a)s -220 fnt35 8503 984(@T)m 26(ag)k 240 fnt82 0 699(parameter)m -1008(into)s 1427(the)s 240 fnt83 1768 701(cr)m 10(oss-r)k 8(efer)k 8(ence)k -3275(database)s 240 fnt82 4133 699(,)m 4233(a)s 4393(collection)s +220 fnt2 8503 984(@T)m 26(ag)k 240 fnt1 0 699(parameter)m +1008(into)s 1427(the)s 240 fnt6 1768 701(cr)m 10(oss-r)k 8(efer)k 8(ence)k +3275(database)s 240 fnt1 4133 699(,)m 4233(a)s 4393(collection)s 5385(of)s 5650(\207les)s 6093(whose)s 6754(names)s 7410(end)s -7807(in)s 220 fnt35 8044 696(.ld)m 240 fnt82 8316 699(inde)m 3(x)k 3(ed)k +7807(in)s 220 fnt2 8044 696(.ld)m 240 fnt1 8316 699(inde)m 3(x)k 3(ed)k 0 411(by)m 286(one)s 679(\207le)s 1032(whose)s 1691(name)s -2256(is)s 220 fnt35 2458 408(lout.li)m 240 fnt82 2954 411(.)m +2256(is)s 220 fnt2 2458 408(lout.li)m 240 fnt1 2954 411(.)m 3109(It)s 3306(is)s 3507(generally)s 4441(the)s 4781(case)s 5239(that)s 5649(the)s 5988(b)s 4(ulk)k 6462(content)s 7218(of)s 7480(a)s 7638(symbol)s 8389(such)s 8876(as)s @@ -3181,6 +3297,14 @@ grestore 5825(that)s 6231(this)s 6615(b)s 4(ulk)k 7086(content)s 7838(is)s 8036(not)s 8390(needed)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -3197,56 +3321,59 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1578(1.3.)m 1871(Cr)s 10(oss)k 2475(r)s 8(efer)k 8(ences)k +240 fnt5 10369 -1581(9)m gsave +1417 -15423 translate +240 fnt1 9066 13370 0 13261 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13845(1.3.)m 454(Cr)s 10(oss)k 1058(r)s 8(efer)k 8(ences)k -240 fnt84 8952 13842(9)m 240 fnt82 0 13207(by)m 297(cross)s -843(references)s 1878(to)s 2121(the)s 2472(symbol.)s 3345(Hence,)s -4067(to)s 4310(sa)s 4(v)k 3(e)k 4787(space)s -5378(in)s 5625(the)s 5977(database,)s 6910(Lout)s 7426(replaces)s -8263(the)s 8615(right)s 0 12919(parameter)m 1011(of)s 1279(each)s -1771(symbol)s 2527(it)s 2716(writes)s 3347(into)s 3768(it)s -3957(by)s 4248(the)s 4592(w)s 2(ord)k 5137(???)s -5505(whene)s 6(v)k 3(er)k 6482(the)s 6827(right)s -7335(parameter)s 8345(appears)s 0 12631(to)m 249(be)s 542(lar)s 4(ge.)k -1190(The)s 1629(table)s 2160(abo)s 3(v)k 3(e)k -2792(w)s 2(ould)k 3458(appear)s 4166(as)s 4427(???)s -4809(because)s 5632(of)s 5914(this)s 6321(optimization,)s 7647(and)s -8062(in)s 8316(general,)s 0 12343(the)m 367(user)s 845(must)s -1390(ensure)s 2089(that)s 2527(an)s 3(y)k 2944(content)s -3728(required)s 4601(by)s 4915(cross)s 5477(references)s 6527(is)s -6757(contained)s 7765(in)s 8028(parameters)s 0 12055(other)m 545(than)s -1007(the)s 1348(right)s 1852(or)s 2104(body)s 2631(parameter)s 13(.)k -3729(This)s 4199(optimization)s 5457(does)s 5940(not)s 6299(apply)s -6878(when)s 7447(the)s 7788(symbol)s 8541(being)s 0 11767(written)m -733(into)s 1158(the)s 1506(cross-reference)s 3019(database)s 3898(is)s -4108(a)s 4274(g)s 1(alle)k 3(y)k 15(.)k -240 fnt84 0 10974(1.4.)m 471(Galleys)s 240 fnt82 480 10497(It)m -695(is)s 915(time)s 1406(to)s 1655(pause)s 2267(and)s -2681(ask)s 3072(ourselv)s 3(es)k 4033(ho)s 6(w)k -4505(close)s 5062(we)s 5408(are)s 5765(to)s 6015(achie)s 6(ving)k +0 13207(by)m 297(cross)s 843(references)s +1878(to)s 2121(the)s 2472(symbol.)s 3345(Hence,)s 4067(to)s +4310(sa)s 4(v)k 3(e)k 4787(space)s 5378(in)s +5625(the)s 5977(database,)s 6910(Lout)s 7426(replaces)s 8263(the)s +8615(right)s 0 12919(parameter)m 1011(of)s 1279(each)s 1771(symbol)s +2527(it)s 2716(writes)s 3347(into)s 3768(it)s 3957(by)s +4248(the)s 4592(w)s 2(ord)k 5137(???)s 5505(whene)s 6(v)k 3(er)k +6482(the)s 6827(right)s 7335(parameter)s 8345(appears)s 0 12631(to)m +249(be)s 542(lar)s 4(ge.)k 1190(The)s 1629(table)s +2160(abo)s 3(v)k 3(e)k 2792(w)s 2(ould)k +3458(appear)s 4166(as)s 4427(???)s 4809(because)s 5632(of)s +5914(this)s 6321(optimization,)s 7647(and)s 8062(in)s 8316(general,)s +0 12343(the)m 367(user)s 845(must)s 1390(ensure)s 2089(that)s +2527(an)s 3(y)k 2944(content)s 3728(required)s 4601(by)s +4915(cross)s 5477(references)s 6527(is)s 6757(contained)s 7765(in)s +8028(parameters)s 0 12055(other)m 545(than)s 1007(the)s 1348(right)s +1852(or)s 2104(body)s 2631(parameter)s 13(.)k 3729(This)s +4199(optimization)s 5457(does)s 5940(not)s 6299(apply)s 6878(when)s +7447(the)s 7788(symbol)s 8541(being)s 0 11767(written)m 733(into)s +1158(the)s 1506(cross-reference)s 3019(database)s 3898(is)s 4108(a)s +4274(g)s 1(alle)k 3(y)k 15(.)k 240 fnt5 +0 10974(1.4.)m 471(Galleys)s 240 fnt1 480 10497(It)m 695(is)s +915(time)s 1406(to)s 1655(pause)s 2267(and)s 2681(ask)s +3072(ourselv)s 3(es)k 4033(ho)s 6(w)k 4505(close)s +5062(we)s 5408(are)s 5765(to)s 6015(achie)s 6(ving)k 7002(our)s 7392(aim)s 7820(of)s 8102(producing)s 0 10209(neatly)m 638(formatted)s 1624(documents.)s 2825(W)s 19(e)k 3194(can)s 3583(certainly)s 4472(produce)s 5299(the)s 5647(pieces)s 6295(of)s -6566(a)s 6732(document:)s 160 fnt84 870 9532(PURCELL)m 128 fnt82 -1626 9604(1)m 160 fnt82 480 9240(In)m 705(the)s 991(w)s 1(orld)k +6566(a)s 6732(document:)s 160 fnt5 870 9532(PURCELL)m 128 fnt1 +1626 9604(1)m 160 fnt1 480 9240(In)m 705(the)s 991(w)s 1(orld)k 1455(of)s 1691(music)s 480 9060(England)m 1192(is)s 1473(supposed)s 480 8880(to)m 686(be)s 921(a)s 1078(mere)s 1481(pro)s 2(vince.)k 480 8700(If)m 775(she)s 1166(produces)s 1918(an)s 480 8520(indif)m 4(ferent)k @@ -3264,40 +3391,40 @@ grestore 1005(w)s 1(orld')k 8(s)k 1574(musical)s 480 5947(classics,)m 1050(as)s 1228(here,)s 1586(we)s 1820(\207nd)s 480 5767(that)m 774(we)s 1013(cannot)s 1495(omit)s 1843(this)s 480 5587(English)m -1005(master)s 8(.)k 128 fnt82 2634 9784(1)m 160 fnt82 -2685 9712(Blom,)m 3107(Eric.)s 160 fnt83 3476 9713(Some)m 3852(Gr)s 5(eat)k -2634 9533(Composer)m 1(s.)k 160 fnt82 3728 9532(Oxford,)m 2634 9352(1944.)m +1005(master)s 8(.)k 128 fnt1 2634 9784(1)m 160 fnt1 +2685 9712(Blom,)m 3107(Eric.)s 160 fnt6 3476 9713(Some)m 3852(Gr)s 5(eat)k +2634 9533(Composer)m 1(s.)k 160 fnt1 3728 9532(Oxford,)m 2634 9352(1944.)m gsave 4788 7375 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore gsave 4788 4881 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore gsave 4788 2387 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore -160 fnt35 4788 2157(@P)m 6(ageList)k 240 fnt82 0 1671(b)m 4(ut)k +160 fnt2 4788 2157(@P)m 6(ageList)k 240 fnt1 0 1671(b)m 4(ut)k 362(when)s 938(we)s 1273(try)s 1592(to)s 1831(mer)s 4(ge)k 2480(them)s 3018(together)s 9(,)k 3899(we)s 4234(encounter)s 5237(tw)s 2(o)k 5647(obstacles.)s 480 1297(First,)m 1029(when)s @@ -3307,20 +3434,28 @@ grestore 8518(place.)s 0 1009(But)m 393(a)s 546(footnote)s 1385(is)s 1582(naturally)s 2472(entered)s 3219(immediately)s 4454(after)s 4936(the)s 5271(point)s 5810(it)s 5988(refers)s 6568(to)s 6794(\(`)s -200 fnt82 6934 1018(PURCELL)m 240 fnt82 7819 1009(')m 7917(in)s +200 fnt1 6934 1018(PURCELL)m 240 fnt1 7819 1009(')m 7917(in)s 8147(this)s 8529(case\),)s 0 721(yet)m 352(it)s 544(appears)s 1325(some)s 6(where)k 2464(else:)s 2941(at)s 3173(the)s 3521(bottom)s 4259(of)s 4530(a)s 4696(page.)s 480 347(Second,)m 1285(all)s 1570(our)s 1942(features)s 2740(b)s 4(uild)k 3278(up)s 3564(lar)s 4(ger)k 4168(objects)s 4889(out)s 5247(of)s 5510(smaller)s 6265(ones,)s 6803(b)s 4(ut)k -7158(the)s 200 fnt82 7498 356(PURCELL)m 240 fnt82 8435 347(object,)m +7158(the)s 200 fnt1 7498 356(PURCELL)m 240 fnt1 8435 347(object,)m 0 59(for)m 333(e)s 3(xample,)k 1242(must)s 1762(be)s 2039(brok)s 2(en)k 2753(do)s 6(wn)k 3332(into)s 3752(page-sized)s 4827(pieces.)s 5583(This)s 6053(occurs)s 6723(when)s 7294(the)s 7637(a)s 4(v)k 6(ailable)k 8539(space)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -3337,35 +3472,38 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(10)m 240 fnt6 8382 -1580(Chapter)m 9232(1.)s +9506(Principles)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(10)m 240 fnt83 6965 13843(Chapter)m 7815(1.)s -8089(Principles)s 240 fnt82 0 13205(at)m 230(the)s 575(`some)s 6(where)k +0 13205(at)m 230(the)s 575(`some)s 6(where)k 1790(else')s 2270(is)s 2477(insuf\207cient)s 3610(to)s 3846(hold)s 4327(the)s 4672(entire)s 5268(object,)s 5957(so)s 6220(this)s 6613(second)s 7333(obstacle)s 8169(arises)s 8760(out)s 0 12917(of)m 271(the)s 619(\207rst.)s 480 12543(Lout')m 13(s)k 1135(last)s 1518(major)s 2127(feature,)s 2888(which)s 3523(we)s 3850(introduce)s 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 fnt83 8074 12545(galle)m 7(y)k -240 fnt82 8699 12543(\(the)m 0 12255(name)m 564(is)s 764(borro)s 6(wed)k +6557(obstacles,)s 7532(is)s 7734(the)s 240 fnt6 8074 12545(galle)m 7(y)k +240 fnt1 8699 12543(\(the)m 0 12255(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 6259(g)s 1(alle)k 3(y)k 6882(is)s 7082(an)s @@ -3374,7 +3512,7 @@ grestore 3448(object)s 4092(is)s 4302(to)s 4541(appear)s 13(.)k 5329(The)s 5757(e)s 3(xample)k 6620(abo)s 3(v)k 3(e)k 7242(has)s 7612(three)s 8145(g)s 1(alle)k 3(ys:)k -160 fnt84 870 11234(PURCELL)m 128 fnt82 1626 11306(1)m 160 fnt82 +160 fnt5 870 11234(PURCELL)m 128 fnt1 1626 11306(1)m 160 fnt1 480 10942(In)m 705(the)s 991(w)s 1(orld)k 1455(of)s 1691(music)s 480 10762(England)m 1192(is)s 1473(supposed)s 480 10582(to)m 686(be)s 921(a)s 1078(mere)s 1481(pro)s 2(vince.)k @@ -3401,7 +3539,7 @@ gsave 30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3411,7 +3549,7 @@ grestore grestore gsave 0 0 translate -240 fnt82 1134 0 0 0 240 288 60 LoutGraphic +240 fnt1 1134 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3422,7 +3560,7 @@ gsave -30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3434,35 +3572,35 @@ grestore grestore gsave 3201 9047 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore gsave 3201 6553 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore gsave 3201 4059 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 170 2207(@T)m 19(e)k 4(xtPlace)k +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore -160 fnt35 3201 3829(@P)m 6(ageList)k +160 fnt2 3201 3829(@P)m 6(ageList)k gsave 6688 11541 translate 180.0000 rotate @@ -3471,7 +3609,7 @@ gsave 30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3481,7 +3619,7 @@ grestore grestore gsave 0 0 translate -240 fnt82 1440 0 0 0 240 288 60 LoutGraphic +240 fnt1 1440 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3492,7 +3630,7 @@ gsave -30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3502,12 +3640,12 @@ grestore grestore grestore -200 fnt83 6748 11497(to)m 6947(printer)s gsave +200 fnt6 6748 11497(to)m 6947(printer)s gsave 4335 9295 translate 30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3517,7 +3655,7 @@ grestore grestore gsave 4335 9295 translate -240 fnt82 963 0 0 0 240 288 60 LoutGraphic +240 fnt1 963 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3528,7 +3666,7 @@ gsave -30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3536,10 +3674,10 @@ grestore grestore grestore -128 fnt82 5418 9331(1)m -160 fnt82 5469 9259(Blom,)m 5891(Eric.)s 160 fnt83 6260 9260(Some)m -6636(Gr)s 5(eat)k 5418 9080(Composer)m 1(s.)k 160 fnt82 -6512 9079(Oxford,)m 5418 8899(1944.)m 240 fnt82 0 3343(A)m 229(g)s 1(alle)k 3(y)k +128 fnt1 5418 9331(1)m +160 fnt1 5469 9259(Blom,)m 5891(Eric.)s 160 fnt6 6260 9260(Some)m +6636(Gr)s 5(eat)k 5418 9080(Composer)m 1(s.)k 160 fnt1 +6512 9079(Oxford,)m 5418 8899(1944.)m 240 fnt1 0 3343(A)m 229(g)s 1(alle)k 3(y)k 861(replaces)s 1693(the)s 2039(in)s 9(v)k 4(ocation)k 3091(pointed)s 3866(to)s 4103(by)s 4395(its)s 4670(cross)s 5210(reference.)s 6260(If)s 6488(space)s 7073(is)s 7282(not)s @@ -3556,11 +3694,19 @@ grestore 3684(pages.)s 480 2105(T)m 19(o)k 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 fnt35 5607 2102(into)m 240 fnt82 6013 2105(clause,)m -6717(lik)s 2(e)k 7129(this:)s 220 fnt35 480 1604(def @F)m 6(ootNote into { @F)k 6(ootPlace&&f)k 6(ollo)k 3(wing })k +4889(special)s 220 fnt2 5607 2102(into)m 240 fnt1 6013 2105(clause,)m +6717(lik)s 2(e)k 7129(this:)s 220 fnt2 480 1604(def @F)m 6(ootNote into { @F)k 6(ootPlace&&f)k 6(ollo)k 3(wing })k 480 1316( r)m -3(ight x)k 480 1028({)m 480 740( 8p @F)m 6(ont x)k 480 452(})m grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -3577,86 +3723,89 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(1.4.)m 1871(Galle)s 7(ys)k 240 fnt5 +10256 -1583(11)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(1.4.)m 454(Galle)s 7(ys)k 240 fnt84 -8839 13840(11)m 240 fnt82 0 13205(An)m 343(in)s 9(v)k 4(ocation)k +0 13205(An)m 343(in)s 9(v)k 4(ocation)k 1390(of)s 1654(such)s 2142(a)s 2301(symbol)s 3054(will)s 3473(then)s 3934(be)s 4209(a)s 4368(g)s 1(alle)k 3(y)k 4994(whose)s 5655(object)s 6292(is)s 6495(the)s 6835(result)s 7418(of)s 7682(the)s 8022(in)s 9(v)k 4(ocation,)k 0 12917(and)m 399(whose)s 1062(cross)s 1598(reference)s 2536(is)s 2740(gi)s 6(v)k 3(en)k 3315(by)s 3603(the)s -220 fnt35 3946 12914(into)m 240 fnt82 4347 12917(clause.)m 5102(The)s +220 fnt2 3946 12914(into)m 240 fnt1 4347 12917(clause.)m 5102(The)s 5525(right)s 6030(parameter)s 7039(of)s 7304(the)s 7647(cross)s 8183(reference)s 0 12629(must)m 525(be)s 807(one)s 1209(of)s -220 fnt35 1480 12626(preceding)m 240 fnt82 2431 12629(,)m 220 fnt35 -2538 12626(f)m 6(ollo)k 3(wing)k 240 fnt82 3368 12629(,)m -3475(and)s 220 fnt35 3879 12626(f)m 6(oll_or_prec)k 240 fnt82 +220 fnt2 1480 12626(preceding)m 240 fnt1 2431 12629(,)m 220 fnt2 +2538 12626(f)m 6(ollo)k 3(wing)k 240 fnt1 3368 12629(,)m +3475(and)s 220 fnt2 3879 12626(f)m 6(oll_or_prec)k 240 fnt1 5013 12629(.)m 480 12255(A)m 700(symbol,)s 1502(lik)s 2(e)k -220 fnt35 1903 12252(@F)m 6(ootPlace)k 3(,)k 240 fnt82 -3196 12255(which)m 3827(is)s 4027(the)s 240 fnt83 4364 12257(tar)m 8(g)k 2(et)k -240 fnt82 4979 12255(of)m 5239(a)s 5395(g)s 1(alle)k 3(y)k 15(,)k +220 fnt2 1903 12252(@F)m 6(ootPlace)k 3(,)k 240 fnt1 +3196 12255(which)m 3827(is)s 4027(the)s 240 fnt6 4364 12257(tar)m 8(g)k 2(et)k +240 fnt1 4979 12255(of)m 5239(a)s 5395(g)s 1(alle)k 3(y)k 15(,)k 6056(must)s 6571(contain)s 7321(the)s 7659(special)s 8366(symbol)s -220 fnt35 0 11964(@Galle)m 4(y)k 240 fnt82 898 11967(e)m 3(xactly)k +220 fnt2 0 11964(@Galle)m 4(y)k 240 fnt1 898 11967(e)m 3(xactly)k 1639(once)s 2147(in)s 2390(its)s 2666(body;)s 3258(often)s 3806(this)s 4202(is)s 4412(all)s 4705(that)s 5123(the)s -5471(body)s 6005(contains:)s 220 fnt35 480 11466(def @F)m 6(ootPlace { @Galle)k 4(y })k -240 fnt82 0 10968(It)m 229(is)s 464(this)s 885(special)s +5471(body)s 6005(contains:)s 220 fnt2 480 11466(def @F)m 6(ootPlace { @Galle)k 4(y })k +240 fnt1 0 10968(It)m 229(is)s 464(this)s 885(special)s 1628(symbol)s 2412(that)s 2855(is)s 3090(replaced)s 3982(by)s 4300(the)s 4673(incoming)s 5655(g)s 1(alle)k 3(y)k 15(,)k 6352(in)s 6619(f)s 2(act,)k 7106(not)s 7497(the)s -220 fnt35 7870 10965(@F)m 6(ootPlace)k 240 fnt82 0 10680(symbol)m +220 fnt2 7870 10965(@F)m 6(ootPlace)k 240 fnt1 0 10680(symbol)m 760(as)s 1010(a)s 1176(whole.)s 480 10306(A)m 718(symbol)s -1487(which)s 2138(contains)s 220 fnt35 2994 10303(@Galle)m 4(y)k -240 fnt82 3832 10306(,)m 3948(either)s 4560(directly)s 5351(within)s +1487(which)s 2138(contains)s 220 fnt2 2994 10303(@Galle)m 4(y)k +240 fnt1 3832 10306(,)m 3948(either)s 4560(directly)s 5351(within)s 6028(its)s 6313(body)s 6855(or)s 7123(indirectly)s 8101(within)s 8778(the)s 0 10018(body)m 533(of)s 802(a)s 966(symbol)s 1725(it)s 1915(in)s 9(v)k 4(ok)k 2(es,)k -2750(is)s 2959(called)s 3585(a)s 240 fnt83 3749 10020(r)m 8(eceptive)k -240 fnt82 4668 10018(symbol,)m 5478(meaning)s 6353(recepti)s 6(v)k 3(e)k -7274(to)s 7511(g)s 1(alle)k 3(ys.)k 220 fnt35 -8346 10015(@F)m 6(oot)k 240 fnt82 8998 10018(-)m 220 fnt35 -0 9727(Place)m 240 fnt82 630 9730(is)m 870(recepti)s 6(v)k 3(e,)k -1873(which)s 2545(mak)s 2(es)k 220 fnt35 3235 9727(@F)m 6(ootList,)k -4364(@F)s 6(ootSect)k 240 fnt82 5545 9730(and)m 220 fnt35 -5979 9727(@P)m 8(ageList)k 240 fnt82 7133 9730(recepti)m 6(v)k 3(e)k +2750(is)s 2959(called)s 3585(a)s 240 fnt6 3749 10020(r)m 8(eceptive)k +240 fnt1 4668 10018(symbol,)m 5478(meaning)s 6353(recepti)s 6(v)k 3(e)k +7274(to)s 7511(g)s 1(alle)k 3(ys.)k 220 fnt2 +8346 10015(@F)m 6(oot)k 240 fnt1 8998 10018(-)m 220 fnt2 +0 9727(Place)m 240 fnt1 630 9730(is)m 870(recepti)s 6(v)k 3(e,)k +1873(which)s 2545(mak)s 2(es)k 220 fnt2 3235 9727(@F)m 6(ootList,)k +4364(@F)s 6(ootSect)k 240 fnt1 5545 9730(and)m 220 fnt2 +5979 9727(@P)m 8(ageList)k 240 fnt1 7133 9730(recepti)m 6(v)k 3(e)k 8085(since)s 8663(the)s 3(y)k 0 9442(in)m 9(v)k 4(ok)k 2(e)k -220 fnt35 704 9439(@F)m 6(ootPlace)k 3(.)k 240 fnt82 +220 fnt2 704 9439(@F)m 6(ootPlace)k 3(.)k 240 fnt1 2078 9442(If)m 2319(no)s 2623(g)s 1(alle)k 3(y)k -3268(replaces)s 4112(an)s 3(y)k 220 fnt35 4520 9439(@Galle)m 4(y)k -240 fnt82 5429 9442(within)m 6108(some)s 6680(in)s 9(v)k 4(ocation)k +3268(replaces)s 4112(an)s 3(y)k 220 fnt2 4520 9439(@Galle)m 4(y)k +240 fnt1 5429 9442(within)m 6108(some)s 6680(in)s 9(v)k 4(ocation)k 7745(of)s 8027(a)s 8204(recepti)s 6(v)k 3(e)k 0 9154(symbol,)m 816(that)s 1239(in)s 9(v)k 4(ocation)k -2297(is)s 2512(replaced)s 3383(by)s 220 fnt35 3682 9151(@Null)m -240 fnt82 4267 9154(.)m 4435(The)s 4868(adv)s 6(antages)k +2297(is)s 2512(replaced)s 3383(by)s 220 fnt2 3682 9151(@Null)m +240 fnt1 4267 9154(.)m 4435(The)s 4868(adv)s 6(antages)k 5980(of)s 6256(this)s 6656(rule)s 7088(for)s 7430(page)s 7943(layout)s 8606(were)s 0 8866(e)m 3(xplained)k 985(at)s 1217(the)s 1565(end)s 1969(of)s 2240(Section)s 3014(1.2.)s 480 8492(Let)m 852(us)s 1109(no)s 6(w)k 1563(follo)s 6(w)k 2228(through)s 3023(the)s 3364(construction)s 4596(of)s 4861(our)s 5233(e)s 3(xample)k 6089(document.)s 7190(Initially)s 7992(there)s -8518(is)s 8721(just)s 0 8204(the)m 348(one)s 240 fnt83 -750 8206(r)m 10(oot)k 240 fnt82 1203 8204(g)m 1(alle)k 3(y)k 15(,)k +8518(is)s 8721(just)s 0 8204(the)m 348(one)s 240 fnt6 +750 8206(r)m 10(oot)k 240 fnt1 1203 8204(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 fnt35 5759 8201(@P)m 8(ageList:)k 180 fnt35 +5488(of)s 220 fnt2 5759 8201(@P)m 8(ageList:)k 180 fnt2 3315 7732(@P)m 7(ageList)k gsave 5746 7778 translate 180.0000 rotate @@ -3665,7 +3814,7 @@ gsave 30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3675,7 +3824,7 @@ grestore grestore gsave 0 0 translate -240 fnt82 1440 0 0 0 240 288 60 LoutGraphic +240 fnt1 1440 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3686,7 +3835,7 @@ gsave -30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3696,17 +3845,17 @@ grestore grestore grestore -200 fnt83 5806 7734(to)m 6005(printer)s -240 fnt82 0 7241(Then)m 602(the)s 200 fnt82 1004 7250(PURCELL)m -240 fnt82 2002 7241(g)m 1(alle)k 3(y)k 2690(appears,)s -3580(tar)s 4(geted)k 4457(to)s 4750(a)s 220 fnt35 -4969 7238(@T)m 26(e)k 6(xtPlace)k 3(.)k 240 fnt82 +200 fnt6 5806 7734(to)m 6005(printer)s +240 fnt1 0 7241(Then)m 602(the)s 200 fnt1 1004 7250(PURCELL)m +240 fnt1 2002 7241(g)m 1(alle)k 3(y)k 2690(appears,)s +3580(tar)s 4(geted)k 4457(to)s 4750(a)s 220 fnt2 +4969 7238(@T)m 26(e)k 6(xtPlace)k 3(.)k 240 fnt1 6348 7241(Lout)m 6913(kno)s 6(ws)k 7638(that)s 8109(there)s -8696(is)s 8960(a)s 220 fnt35 0 6950(@T)m 26(e)k 6(xtPlace)k -240 fnt82 1218 6953(hidden)m 1927(inside)s 220 fnt35 2554 6950(@P)m 8(ageList,)k -240 fnt82 3724 6953(so)m 3990(it)s 4182(e)s 3(xpands)k -220 fnt35 5015 6950(@P)m 8(ageList:)k 160 fnt84 870 6220(PURCELL)m -128 fnt82 1626 6292(1)m 160 fnt82 480 5928(In)m 705(the)s +8696(is)s 8960(a)s 220 fnt2 0 6950(@T)m 26(e)k 6(xtPlace)k +240 fnt1 1218 6953(hidden)m 1927(inside)s 220 fnt2 2554 6950(@P)m 8(ageList,)k +240 fnt1 3724 6953(so)m 3990(it)s 4182(e)s 3(xpands)k +220 fnt2 5015 6950(@P)m 8(ageList:)k 160 fnt5 870 6220(PURCELL)m +128 fnt1 1626 6292(1)m 160 fnt1 480 5928(In)m 705(the)s 991(w)s 1(orld)k 1455(of)s 1691(music)s 480 5748(England)m 1192(is)s 1473(supposed)s 480 5568(to)m 686(be)s 921(a)s 1078(mere)s 1481(pro)s 2(vince.)k 480 5388(If)m 775(she)s @@ -3732,7 +3881,7 @@ gsave 30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3742,7 +3891,7 @@ grestore grestore gsave 0 0 translate -240 fnt82 1247 0 0 0 240 288 60 LoutGraphic +240 fnt1 1247 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3753,7 +3902,7 @@ gsave -30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3765,16 +3914,16 @@ grestore grestore gsave 3315 4033 translate -220 fnt35 1927 2494 0 2494 220 288 61 LoutGraphic +220 fnt2 1927 2494 0 2494 220 288 61 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt35 +160 fnt2 170 2207(@T)m 19(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore -160 fnt35 3315 3803(@P)m 6(ageList)k gsave +160 fnt2 3315 3803(@P)m 6(ageList)k gsave 6802 6527 translate 180.0000 rotate gsave @@ -3782,7 +3931,7 @@ gsave 30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3792,7 +3941,7 @@ grestore grestore gsave 0 0 translate -240 fnt82 1440 0 0 0 240 288 60 LoutGraphic +240 fnt1 1440 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3803,7 +3952,7 @@ gsave -30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3813,23 +3962,31 @@ grestore grestore grestore -200 fnt83 6862 6483(to)m -7061(printer)s 240 fnt82 0 1790(After)m 586(promoting)s 1659(the)s -2030(\207rst)s 2484(line)s 2922(into)s 220 fnt35 3370 1787(@T)m 26(e)k 6(xtPlace)k 3(,)k -240 fnt82 4658 1790(the)m 5029(footnote)s 5905(g)s 1(alle)k 3(y)k +200 fnt6 6862 6483(to)m +7061(printer)s 240 fnt1 0 1790(After)m 586(promoting)s 1659(the)s +2030(\207rst)s 2484(line)s 2922(into)s 220 fnt2 3370 1787(@T)m 26(e)k 6(xtPlace)k 3(,)k +240 fnt1 4658 1790(the)m 5029(footnote)s 5905(g)s 1(alle)k 3(y)k 6563(attached)s 7440(to)s 7702(it)s 7917(appears)s 8722(and)s 0 1502(demands)m 938(an)s 1257(in)s 9(v)k 4(ocation)k -2347(of)s 220 fnt35 2654 1499(@F)m 6(ootPlace)k 240 fnt82 +2347(of)s 220 fnt2 2654 1499(@F)m 6(ootPlace)k 240 fnt1 3946 1502(follo)m 6(wing)k 4960(its)s 5272(attachment)s 6416(point)s -7004(\(`)s 200 fnt82 7144 1511(PURCELL)m 240 fnt82 8029 1502('\).)m -8387(Such)s 8960(a)s 220 fnt35 0 1211(@F)m 6(ootPlace)k -240 fnt82 1274 1214(is)m 1502(found)s 2138(at)s 2388(the)s +7004(\(`)s 200 fnt1 7144 1511(PURCELL)m 240 fnt1 8029 1502('\).)m +8387(Such)s 8960(a)s 220 fnt2 0 1211(@F)m 6(ootPlace)k +240 fnt1 1274 1214(is)m 1502(found)s 2138(at)s 2388(the)s 2754(bottom)s 3511(of)s 3800(the)s 4166(\207rst)s 4616(page,)s -5193(inside)s 220 fnt35 5838 1211(@F)m 6(ootSect,)k 240 fnt82 +5193(inside)s 220 fnt2 5838 1211(@F)m 6(ootSect,)k 240 fnt1 7054 1214(which)m 7714(is)s 7943(accordingly)s 0 926(e)m 3(xpanded,)k 1022(and)s 1426(the)s 1774(footnote)s 2627(is)s 2837(promoted)s 3812(onto)s 4291(the)s 4639(page:)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -3846,27 +4003,30 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(12)m 240 fnt6 8382 -1580(Chapter)m 9232(1.)s +9506(Principles)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(12)m 240 fnt83 6965 13843(Chapter)m 7815(1.)s -8089(Principles)s 160 fnt82 480 12579(In)m 705(the)s 991(w)s 1(orld)k +160 fnt1 480 12579(In)m 705(the)s 991(w)s 1(orld)k 1455(of)s 1691(music)s 480 12399(England)m 1192(is)s 1473(supposed)s 480 12219(to)m 686(be)s 921(a)s 1078(mere)s 1481(pro)s 2(vince.)k 480 12039(If)m 775(she)s 1166(produces)s 1918(an)s 480 11859(indif)m 4(ferent)k @@ -3892,7 +4052,7 @@ gsave 30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3902,7 +4062,7 @@ grestore grestore gsave 0 0 translate -240 fnt82 1247 0 0 0 240 288 60 LoutGraphic +240 fnt1 1247 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3913,7 +4073,7 @@ gsave -30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3925,27 +4085,27 @@ grestore grestore gsave 3315 10788 translate -240 fnt82 1927 2494 0 2494 240 288 60 LoutGraphic +240 fnt1 1927 2494 0 2494 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt84 560 1987(PURCELL)m 128 fnt82 -1316 2059(1)m 140 fnt35 170 1807(@T)m 16(e)k 4(xtPlace)k +160 fnt5 560 1987(PURCELL)m 128 fnt1 +1316 2059(1)m 140 fnt2 170 1807(@T)m 16(e)k 4(xtPlace)k gsave 170 924 translate -160 fnt82 567 0 0 0 160 180 40 LoutGraphic +160 fnt1 567 0 0 0 160 180 40 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore grestore -128 fnt82 170 785(1)m 160 fnt82 221 713(Blom,)m 703(Eric.)s -160 fnt83 1133 714(Some)m 170 534(Gr)m 5(eat)k 734(Composer)s 1(s.)k -160 fnt82 170 353(Oxford,)m 703(1944.)s 140 fnt35 170 173(@F)m 4(ootList)k +128 fnt1 170 785(1)m 160 fnt1 221 713(Blom,)m 703(Eric.)s +160 fnt6 1133 714(Some)m 170 534(Gr)m 5(eat)k 734(Composer)s 1(s.)k +160 fnt1 170 353(Oxford,)m 703(1944.)s 140 fnt2 170 173(@F)m 4(ootList)k grestore -140 fnt35 3315 10573(@P)m 5(ageList)k gsave +140 fnt2 3315 10573(@P)m 5(ageList)k gsave 6802 13282 translate 180.0000 rotate gsave @@ -3953,7 +4113,7 @@ gsave 30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3963,7 +4123,7 @@ grestore grestore gsave 0 0 translate -240 fnt82 1440 0 0 0 240 288 60 LoutGraphic +240 fnt1 1440 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3974,7 +4134,7 @@ gsave -30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -3984,17 +4144,17 @@ grestore grestore grestore -200 fnt83 6862 13238(to)m -7061(printer)s 240 fnt82 0 8441(No)m 6(w)k 512(the)s -858(promotion)s 1910(of)s 2179(the)s 200 fnt82 2525 8450(PURCELL)m -240 fnt82 3468 8441(g)m 1(alle)k 3(y)k 4100(resumes.)s +200 fnt6 6862 13238(to)m +7061(printer)s 240 fnt1 0 8441(No)m 6(w)k 512(the)s +858(promotion)s 1910(of)s 2179(the)s 200 fnt1 2525 8450(PURCELL)m +240 fnt1 3468 8441(g)m 1(alle)k 3(y)k 4100(resumes.)s 5045(When)s 5672(the)s 6018(\207rst)s 6447(page)s 6953(is)s 7161(\207lled,)s 7757(Lout)s 8266(searches)s 0 8153(forw)m 2(ards)k -898(for)s 1236(another)s 220 fnt35 2013 8150(@T)m 26(e)k 6(xtPlace)k -240 fnt82 3231 8153(to)m 3470(recei)s 6(v)k 3(e)k +898(for)s 1236(another)s 220 fnt2 2013 8150(@T)m 26(e)k 6(xtPlace)k +240 fnt1 3231 8153(to)m 3470(recei)s 6(v)k 3(e)k 4206(the)s 4554(remainder)s 9(,)k 5620(once)s 6128(ag)s 1(ain)k -6702(e)s 3(xpanding)k 7750(a)s 220 fnt35 7916 8150(@P)m 8(ageList:)k -160 fnt82 480 4955(performer)m 6(,)k 1436(that)s 1967(is)s +6702(e)s 3(xpanding)k 7750(a)s 220 fnt2 7916 8150(@P)m 8(ageList:)k +160 fnt1 480 4955(performer)m 6(,)k 1436(that)s 1967(is)s 480 4775(re)m 2(garded)k 1172(else)s 4(where)k 1940(as)s 480 4595(perfectly)m 1215(normal)s 1837(and)s 480 4415(natural;)m 1072(b)s 3(ut)k 1388(if)s 1608(foreign)s 480 4235(students)m 1215(of)s 1574(musical)s @@ -4015,7 +4175,7 @@ gsave 30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -4025,7 +4185,7 @@ grestore grestore gsave 0 0 translate -240 fnt82 1247 0 0 0 240 288 60 LoutGraphic +240 fnt1 1247 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -4036,7 +4196,7 @@ gsave -30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -4048,13 +4208,13 @@ grestore grestore gsave 3315 5233 translate -240 fnt82 1927 2494 0 2494 240 288 60 LoutGraphic +240 fnt1 1927 2494 0 2494 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -160 fnt84 -560 1987(PURCELL)m 128 fnt82 1316 2059(1)m 160 fnt82 170 1695(In)m +160 fnt5 +560 1987(PURCELL)m 128 fnt1 1316 2059(1)m 160 fnt1 170 1695(In)m 341(the)s 573(w)s 1(orld)k 983(of)s 1164(music)s 170 1515(England)m 741(is)s 881(supposed)s 1515(to)s 170 1335(be)m 358(a)s 469(mere)s 825(pro)s 2(vince.)k 1491(If)s @@ -4064,22 +4224,22 @@ grestore grestore grestore -128 fnt82 170 624(1)m 160 fnt82 -221 552(Blom,)m 703(Eric.)s 160 fnt83 1133 553(Some)m 170 373(Gr)m 5(eat)k -734(Composer)s 1(s.)k 160 fnt82 170 192(Oxford,)m 703(1944.)s +128 fnt1 170 624(1)m 160 fnt1 +221 552(Blom,)m 703(Eric.)s 160 fnt6 1133 553(Some)m 170 373(Gr)m 5(eat)k +734(Composer)s 1(s.)k 160 fnt1 170 192(Oxford,)m 703(1944.)s grestore gsave 3315 2739 translate -240 fnt82 1927 2494 0 2494 240 288 60 LoutGraphic +240 fnt1 1927 2494 0 2494 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore -140 fnt35 170 2222(@T)m 16(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k +140 fnt2 170 2222(@T)m 16(e)k 4(xtPlace)k 170 173(@F)m 4(ootSect)k grestore -140 fnt35 3315 2524(@P)m 5(ageList)k gsave +140 fnt2 3315 2524(@P)m 5(ageList)k gsave 6802 7727 translate 180.0000 rotate gsave @@ -4087,7 +4247,7 @@ gsave 30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -4097,7 +4257,7 @@ grestore grestore gsave 0 0 translate -240 fnt82 1440 0 0 0 240 288 60 LoutGraphic +240 fnt1 1440 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -4108,7 +4268,7 @@ gsave -30.0000 rotate gsave 0 0 translate -240 fnt82 68 0 0 0 240 288 60 LoutGraphic +240 fnt1 68 0 0 0 240 288 60 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -4118,24 +4278,24 @@ grestore grestore grestore -200 fnt83 6862 7683(to)m -7061(printer)s 240 fnt82 0 1717(and)m 404(so)s 671(on.)s +200 fnt6 6862 7683(to)m +7061(printer)s 240 fnt1 0 1717(and)m 404(so)s 671(on.)s 1076(All)s 1437(these)s 1985(e)s 3(xpansions)k 3098(and)s 3503(replacements)s 4814(are)s 5162(done)s 5685(with)s 6168(total)s 6648(inte)s 3(grity)k 15(.)k 7604(F)s 3(or)k 7994(e)s 3(xample,)k 8909(if)s 0 1429(Lout)m 510(\207nds)s -1024(after)s 1517(e)s 3(xpanding)k 220 fnt35 2563 1426(@F)m 6(ootSect)k -240 fnt82 3711 1429(that)m 4126(the)s 4472(page)s 4977(is)s +1024(after)s 1517(e)s 3(xpanding)k 220 fnt2 2563 1426(@F)m 6(ootSect)k +240 fnt1 3711 1429(that)m 4126(the)s 4472(page)s 4977(is)s 5184(too)s 5541(full)s 5924(to)s 6160(accept)s 6828(e)s 6(v)k 3(en)k 7325(the)s 7670(\207rst)s 8099(line)s 8510(of)s 8778(the)s -0 1141(footnote,)m 220 fnt35 915 1138(@F)m 6(ootSect)k 240 fnt82 +0 1141(footnote,)m 220 fnt2 915 1138(@F)m 6(ootSect)k 240 fnt1 2077 1141(is)m 2298(reset)s 2819(to)s 3070(une)s 3(xpanded)k 4294(and)s 4709(the)s 5068(search)s 5746(for)s 6096(a)s 6273(tar)s 4(get)k 6883(for)s 7232(the)s 7591(footnote)s 8456(mo)s 3(v)k 3(es)k 0 853(on.)m 396(And)s -858(the)s 1197(cross)s 1730(reference)s 2664(direction,)s 220 fnt35 -3611 850(preceding)m 240 fnt82 4613 853(or)m 220 fnt35 4864 850(f)m 6(ollo)k 3(wing,)k -240 fnt82 5799 853(is)m 6000(al)s 2(w)k 2(ays)k +858(the)s 1197(cross)s 1730(reference)s 2664(direction,)s 220 fnt2 +3611 850(preceding)m 240 fnt1 4613 853(or)m 220 fnt2 4864 850(f)m 6(ollo)k 3(wing,)k +240 fnt1 5799 853(is)m 6000(al)s 2(w)k 2(ays)k 6702(obe)s 3(yed)k 7440(\(although)s 8405(lack)s 8855(of)s 0 565(space)m 586(sometimes)s 1658(pre)s 6(v)k 3(ents)k 2509(Lout)s 3020(from)s 3543(choosing)s 4460(the)s 4807(nearest)s @@ -4145,6 +4305,14 @@ grestore 4105(b)s 4(ut)k 4467(an)s 3(y)k 4864(g)s 1(alle)k 3(y)k 5498(may)s 5964(contain)s 6725(them.)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -4161,111 +4329,116 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +9066 13448 0 13448 240 288 60 1417 -14865 LoutGr2 1 LoutMargSet grestore -480 fnt84 0 12955(Chapter)m 1819(2.)s 2400(Details)s 240 fnt84 -0 11690(2.1.)m 471(Lexical)s 1270(structur)s 4(e)k 2263(\(w)s 2(ords,)k +480 fnt5 0 12397(Chapter)m 1819(2.)s 2400(Details)s 240 fnt5 +0 11132(2.1.)m 471(Lexical)s 1270(structur)s 4(e)k 2263(\(w)s 2(ords,)k 3079(spaces,)s 3844(symbols\))s 4796(and)s 5237(macr)s 4(os)k -240 fnt82 480 11213(The)m 902(input)s 1447(to)s 1679(Lout)s +240 fnt1 480 10655(The)m 902(input)s 1447(to)s 1679(Lout)s 2184(consists)s 2985(of)s 3249(a)s 3408(sequence)s 4334(of)s -240 fnt83 4598 11215(te)m 4(xtual)k 5297(units)s 240 fnt82 -5757 11213(,)m 5857(which)s 6492(may)s 6951(be)s 7226(either)s -240 fnt83 7822 11215(white)m 8386(spaces)s 240 fnt82 9019 11213(,)m -240 fnt83 0 10927(identi\207er)m 2(s,)k 1047(delimiter)s 2(s,)k -240 fnt82 2093 10925(or)m 240 fnt83 2352 10927(liter)m 3(al)k -2992(wor)s 8(ds)k 240 fnt82 3565 10925(.)m 3729(Each)s -4264(is)s 4474(a)s 4640(sequence)s 5573(of)s 240 fnt83 -5844 10927(c)m 3(har)k 3(acter)k 2(s)k 240 fnt82 -6914 10925(chosen)m 7636(from:)s 480 10387(letter)m 220 fnt35 1934 10384(@ab-zAB-Z_)m -240 fnt82 480 10099(white)m 1067(space)s 240 fnt83 1934 10101(space)m -2592(formfeed)s 3568(tab)s 3988(ne)s 3(wline)k 240 fnt82 -480 9811(quote)m 220 fnt35 1934 9808(")m 240 fnt82 480 9523(escape)m -220 fnt35 1934 9520(\\)m 240 fnt82 480 9235(comment)m 220 fnt35 -1934 9232(#)m 240 fnt82 480 8947(other)m 220 fnt35 1934 8944(!$%&'\(\)*+,-./0123456789:;<=>?[]^`{|}~)m -240 fnt82 0 8406(Notice)m 732(that)s 220 fnt35 1189 8403(@)m -240 fnt82 1480 8406(and)m 220 fnt35 1923 8403(_)m 240 fnt82 -2144 8406(are)m 2531(classed)s 3318(as)s 3608(letters.)s 4393(Basser)s +240 fnt6 4598 10657(te)m 4(xtual)k 5297(units)s 240 fnt1 +5757 10655(,)m 5857(which)s 6492(may)s 6951(be)s 7226(either)s +240 fnt6 7822 10657(white)m 8386(spaces)s 240 fnt1 9019 10655(,)m +240 fnt6 0 10369(identi\207er)m 2(s,)k 1047(delimiter)s 2(s,)k +240 fnt1 2093 10367(or)m 240 fnt6 2352 10369(liter)m 3(al)k +2992(wor)s 8(ds)k 240 fnt1 3565 10367(.)m 3729(Each)s +4264(is)s 4474(a)s 4640(sequence)s 5573(of)s 240 fnt6 +5844 10369(c)m 3(har)k 3(acter)k 2(s)k 240 fnt1 +6914 10367(chosen)m 7636(from:)s 480 9829(letter)m 220 fnt2 1934 9826(@ab-zAB-Z_)m +240 fnt1 480 9541(white)m 1067(space)s 240 fnt6 1934 9543(space)m +2592(formfeed)s 3568(tab)s 3988(ne)s 3(wline)k 240 fnt1 +480 9253(quote)m 220 fnt2 1934 9250(")m 240 fnt1 480 8965(escape)m +220 fnt2 1934 8962(\\)m 240 fnt1 480 8677(comment)m 220 fnt2 +1934 8674(#)m 240 fnt1 480 8389(other)m 220 fnt2 1934 8386(!$%&'\(\)*+,-./0123456789:;<=>?[]^`{|}~)m +240 fnt1 0 7848(Notice)m 732(that)s 220 fnt2 1189 7845(@)m +240 fnt1 1480 7848(and)m 220 fnt2 1923 7845(_)m 240 fnt1 +2144 7848(are)m 2531(classed)s 3318(as)s 3608(letters.)s 4393(Basser)s 5129(Lout)s 5681(accepts)s 6474(the)s 6861(accented)s 7795(letters)s -8467(of)s 8778(the)s 0 8118(ISO-LA)m 26(TIN-1)k 1421(character)s +8467(of)s 8778(the)s 0 7560(ISO-LA)m 26(TIN-1)k 1421(character)s 2388(set)s 2746(\(depending)s 3909(on)s 4238(ho)s 6(w)k 4732(it)s 4957(is)s 5200(installed\),)s 6228(and)s 6664(these)s -7244(are)s 7624(also)s 8095(classed)s 8876(as)s 0 7830(letters.)m +7244(are)s 7624(also)s 8095(classed)s 8876(as)s 0 7272(letters.)m 756(The)s 1195(ten)s 1555(digits)s 2148(are)s 2505(classed)s 3264(as)s 3525(`other')s 4218(characters,)s 5302(and)s 5717(in)s 5971(f)s 2(act)k 6397(the)s 6755(`other')s 7448(class)s -7974(contains)s 8833(all)s 0 7542(8-bit)m 511(characters)s 1529(\(e)s 3(xcept)k +7974(contains)s 8833(all)s 0 6984(8-bit)m 511(characters)s 1529(\(e)s 3(xcept)k 2289(octal)s 2808(0\))s 3056(not)s 3422(assigned)s 4304(to)s -4543(pre)s 6(vious)k 5412(classes.)s 480 7168(A)m 240 fnt83 -698 7170(white)m 1256(space)s 240 fnt82 1841 7168(is)m 2038(a)s +4543(pre)s 6(vious)k 5412(classes.)s 480 6610(A)m 240 fnt6 +698 6612(white)m 1256(space)s 240 fnt1 1841 6610(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 6805(Lout)s 7304(treats)s -7858(the)s 8193(formfeed)s 0 6880(character)m 931(e)s 3(xactly)k +7858(the)s 8193(formfeed)s 0 6322(character)m 931(e)s 3(xactly)k 1668(lik)s 2(e)k 2076(the)s 2420(space)s 3003(character;)s 3985(it)s 4173(is)s 4379(useful)s 5014(for)s 5348(getting)s 6061(page)s 6565(breaks)s 7236(when)s 7808(printing)s 8614(Lout)s -0 6592(source)m 680(code.)s 480 6218(A)m 240 fnt83 709 6220(delimiter)m -240 fnt82 1635 6218(is)m 1844(a)s 2009(sequence)s 2941(of)s +0 6034(source)m 680(code.)s 480 5660(A)m 240 fnt6 709 5662(delimiter)m +240 fnt1 1635 5660(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 6754(is)s 6963(the)s 7310(name)s 7883(of)s -8153(a)s 8317(symbol.)s 0 5930(F)m 3(or)k 417(e)s 3(xample,)k -220 fnt35 1360 5927({)m 240 fnt82 1512 5930(and)m 220 fnt35 -1945 5927(//)m 240 fnt82 2159 5930(are)m 2534(delimiters.)s 3681(When)s +8153(a)s 8317(symbol.)s 0 5372(F)m 3(or)k 417(e)s 3(xample,)k +220 fnt2 1360 5369({)m 240 fnt1 1512 5372(and)m 220 fnt2 +1945 5369(//)m 240 fnt1 2159 5372(are)m 2534(delimiters.)s 3681(When)s 4338(de\207ning)s 5205(a)s 5400(delimiter)s 9(,)k 6387(the)s -6764(name)s 7366(must)s 7920(be)s 8231(enclosed)s 0 5642(in)m -243(quotes:)s 220 fnt35 480 5143(def "^" { {} ^& {} })m 240 fnt82 0 4649(b)m 4(ut)k +6764(name)s 7366(must)s 7920(be)s 8231(enclosed)s 0 5084(in)m +243(quotes:)s 220 fnt2 480 4585(def "^" { {} ^& {} })m 240 fnt1 0 4091(b)m 4(ut)k 361(quotes)s 1036(are)s 1381(not)s 1746(used)s 2242(when)s 2816(the)s 3163(delimiter)s 4082(is)s 4291(in)s 9(v)k 4(ok)k 2(ed.)k 5211(A)s 5439(delimiter)s 6359(may)s 6824(ha)s 4(v)k 3(e)k -7323(delimiters)s 8327(and)s 8729(an)s 3(y)k 0 4361(other)m +7323(delimiters)s 8327(and)s 8729(an)s 3(y)k 0 3803(other)m 558(characters)s 1584(adjacent,)s 2495(whereas)s 3337(identi\207ers)s 4351(may)s 4825(not)s 5199(be)s 5489(adjacent)s 6353(to)s 6600(letters)s -7241(or)s 7508(other)s 8067(identi\207ers.)s 0 4073(The)m 428(complete)s +7241(or)s 7508(other)s 8067(identi\207ers.)s 0 3515(The)m 428(complete)s 1360(list)s 1711(of)s 1982(prede\207ned)s 3050(delimiters)s 4055(is)s -220 fnt35 480 3572(/)m 480 3284(//)m 480 2996(^/)m 480 2708(^//)m -1727 3572(|)m 1727 3284(||)m 1727 2996(^|)m 1727 2708(^||)m 2974 3572(&)m -2974 3284(^&)m 4221 3572(&&)m 4221 3284({)m 4221 2996(})m 240 fnt82 -0 2253(A)m 230(longer)s 901(delimiter)s 1822(lik)s 2(e)k -220 fnt35 2234 2250(<=)m 240 fnt82 2542 2253(will)m 2968(be)s +220 fnt2 480 3014(/)m 480 2726(//)m 480 2438(^/)m 480 2150(^//)m +1727 3014(|)m 1727 2726(||)m 1727 2438(^|)m 1727 2150(^||)m 2974 3014(&)m +2974 2726(^&)m 4221 3014(&&)m 4221 2726({)m 4221 2438(})m 240 fnt1 +0 1695(A)m 230(longer)s 901(delimiter)s 1822(lik)s 2(e)k +220 fnt2 2234 1692(<=)m 240 fnt1 2542 1695(will)m 2968(be)s 3250(recognised)s 4344(in)s 4587(preference)s 5650(to)s 5889(a)s -6055(shorter)s 6778(one)s 7180(lik)s 2(e)k 220 fnt35 -7592 2250(<)m 240 fnt82 7710 2253(.)m 480 1879(An)m 240 fnt83 -855 1881(identi\207er)m 240 fnt82 1808 1879(is)m 2043(a)s 2234(sequence)s +6055(shorter)s 6778(one)s 7180(lik)s 2(e)k 220 fnt2 +7592 1692(<)m 240 fnt1 7710 1695(.)m 480 1321(An)m 240 fnt6 +855 1323(identi\207er)m 240 fnt1 1808 1321(is)m 2043(a)s 2234(sequence)s 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 7791(symbol.)s 8685(It)s 8916(is)s 0 1591(con)m 9(v)k 3(entional)k +7600(a)s 7791(symbol.)s 8685(It)s 8916(is)s 0 1033(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 fnt35 -5436 1588(@)m 240 fnt82 5627 1591(;)m 5829(Basser)s 6556(Lout)s +3272(be)s 3(gin)k 3888(identi\207ers)s 4924(with)s 220 fnt2 +5436 1030(@)m 240 fnt1 5627 1033(;)m 5829(Basser)s 6556(Lout)s 7098(will)s 7554(print)s 8095(a)s 8291(w)s 2(arning)k -0 1303(message)m 865(if)s 1081(it)s 1272(\207nds)s 1788(an)s +0 745(message)m 865(if)s 1081(it)s 1272(\207nds)s 1788(an)s 2070(unquoted)s 3019(literal)s 3628(w)s 2(ord)k 4175(\(see)s 4614(belo)s 6(w\))k 5320(be)s 3(ginning)k 6327(with)s -220 fnt35 6808 1300(@)m 240 fnt82 6999 1303(,)m 7105(since)s -7651(such)s 8146(w)s 2(ords)k 8779(are)s 0 1015(usually)m +220 fnt2 6808 742(@)m 240 fnt1 6999 745(,)m 7105(since)s +7651(such)s 8146(w)s 2(ords)k 8779(are)s 0 457(usually)m 748(misspelt)s 1608(identi\207ers.)s 2730(The)s 3162(ten)s 3515(digits)s 4100(are)s 4451(not)s 4820(letters)s 5457(and)s 5865(may)s 6334(not)s 6704(appear)s 7404(in)s 7651(identi\207ers;)s 8722(and)s -192 fnt84 4440 2(13)m + +grestore +0 0 0 0 240 288 60 1417 -14865 LoutGr2 +1 LoutMargSet grestore grestore +192 fnt5 5857 -15421(13)m +grestore grestore @@ -4280,33 +4453,36 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(14)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(14)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s 240 fnt82 0 13205(although)m 890(the)s 1233(underscore)s -2333(character)s 3262(is)s 3467(a)s 3628(letter)s 4172(and)s -4570(may)s 5031(be)s 5308(used)s 5800(in)s 6038(identi\207ers,)s -7095(it)s 7282(is)s 7487(not)s 7847(con)s 9(v)k 3(entional)k +0 13205(although)m 890(the)s 1233(underscore)s 2333(character)s +3262(is)s 3467(a)s 3628(letter)s 4172(and)s 4570(may)s +5031(be)s 5308(used)s 5800(in)s 6038(identi\207ers,)s 7095(it)s +7282(is)s 7487(not)s 7847(con)s 9(v)k 3(entional)k 0 12917(to)m 239(do)s 532(so.)s 909(The)s 1337(complete)s 2269(list)s 2620(of)s 2891(prede\207ned)s 3959(identi\207ers)s 4965(is)s -220 fnt35 480 12416(@Bac)m 4(kEnd)k 480 12128(@Bac)m 4(kg)k 2(round)k +220 fnt2 480 12416(@Bac)m 4(kEnd)k 480 12128(@Bac)m 4(kg)k 2(round)k 480 11840(@Begin)m 480 11552(@BeginHeaderComponent)m 480 11264(@Break)m 480 10976(@Case)m 480 10688(@ClearHeaderComponent)m 480 10400(@Common)m 480 10112(@Char)m 480 9824(@CurrF)m 11(ace)k 480 9536(@CurrF)m 11(amily)k 480 9248(@CurrLang)m 480 8960(@CurrYUnit)m 480 8672(@CurrZUnit)m 480 8384(@Database)m 480 8096(@End)m @@ -4333,27 +4509,27 @@ grestore 5855 6656(@VContr)m 2(act)k 5855 6368(@VCo)m 3(v)k 5(er)k 5855 6080(@V)m 17(erbatim)k 5855 5792(@VExpand)m 5855 5504(@VLimited)m 5855 5216(@VScale)m 5855 4928(@VShift)m 5855 4640(@VSpan)m 5855 4352(@Wide)m 5855 4064(@Y)m 4(ield)k -5855 3776(@YUnit)m 5855 3488(@ZUnit)m 240 fnt82 0 2745(plus)m 498(the)s +5855 3776(@YUnit)m 5855 3488(@ZUnit)m 240 fnt1 0 2745(plus)m 498(the)s 894(names)s 1605(of)s 1924(the)s 2321(parameters)s 3467(of)s -220 fnt35 3786 2742(@Moment)m 240 fnt82 4798 2745(.)m 5011(The)s -5487(symbols)s 220 fnt35 6385 2742(@LClos)m 240 fnt82 7161 2745(,)m -220 fnt35 7316 2742(@LEn)m 4(v)k 240 fnt82 8034 2745(,)m -220 fnt35 8190 2742(@LInput)m 240 fnt82 9019 2745(,)m 220 fnt35 -0 2454(@L)m 24(Vis)k 240 fnt82 722 2457(and)m 220 fnt35 -1170 2454(@LUse)m 240 fnt82 2001 2457(appear)m 2742(in)s 3029(cross)s +220 fnt2 3786 2742(@Moment)m 240 fnt1 4798 2745(.)m 5011(The)s +5487(symbols)s 220 fnt2 6385 2742(@LClos)m 240 fnt1 7161 2745(,)m +220 fnt2 7316 2742(@LEn)m 4(v)k 240 fnt1 8034 2745(,)m +220 fnt2 8190 2742(@LInput)m 240 fnt1 9019 2745(,)m 220 fnt2 +0 2454(@L)m 24(Vis)k 240 fnt1 722 2457(and)m 220 fnt2 +1170 2454(@LUse)m 240 fnt1 2001 2457(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 2169(use)m 375(else)s 6(where.)k 480 1795(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 1507(by)m 304(def)s 2(ault)k 1036(a)s 240 fnt83 -1213 1509(liter)m 3(al)k 1864(wor)s 8(d)k 240 fnt82 +0 1507(by)m 304(def)s 2(ault)k 1036(a)s 240 fnt6 +1213 1509(liter)m 3(al)k 1864(wor)s 8(d)k 240 fnt1 2355 1507(,)m 2473(which)s 3126(means)s 3799(that)s 4227(it)s 4430(will)s 4867(pass)s 5341(through)s 6154(Lout)s 6677(unchanged.)s 7890(An)s 8251(arbitrary)s 0 1219(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 fnt35 5938 1216("{ }",)m 240 fnt82 +5082(e)s 3(xample)k 220 fnt2 5938 1216("{ }",)m 240 fnt1 6457 1219(is)m 6660(also)s 7091(a)s 7250(literal)s 7853(w)s 2(ord.)k 8499(Space)s 0 931(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 @@ -4362,6 +4538,14 @@ grestore 1334(quotes,)s 2066(for)s 2404(obtaining)s 3361(otherwise)s 4346(inaccessible)s 5556(characters:)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -4378,54 +4562,57 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.1.)m 1871(Le)s 4(xical)k 2630(structur)s 8(e)k +3538(\(wor)s 8(ds,)k 4288(spaces,)s 5019(symbols\))s 5919(and)s +6345(macr)s 10(os)k 240 fnt5 10250 -1583(15)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.1.)m 454(Le)s 4(xical)k 1213(structur)s 8(e)k -2121(\(wor)s 8(ds,)k 2871(spaces,)s 3602(symbols\))s 4502(and)s -4928(macr)s 10(os)k 240 fnt84 8833 13840(15)m 220 fnt35 -480 13167(\\")m 240 fnt82 1235 13170(produces)m 220 fnt35 2150 13167(")m -480 12879(\\\\)m 240 fnt82 1235 12882(\\)m 220 fnt35 480 12591(\\ddd)m -240 fnt82 1235 12594(the)m 1583(character)s 2517(whose)s 3185(ASCII)s +220 fnt2 +480 13167(\\")m 240 fnt1 1235 13170(produces)m 220 fnt2 2150 13167(")m +480 12879(\\\\)m 240 fnt1 1235 12882(\\)m 220 fnt2 480 12591(\\ddd)m +240 fnt1 1235 12594(the)m 1583(character)s 2517(whose)s 3185(ASCII)s 3865(code)s 4373(is)s 1235 12306(the)m 1583(up)s 1876(to)s -2115(three)s 2648(digit)s 3146(octal)s 3665(number)s 220 fnt35 -4456 12303(ddd)m 240 fnt82 0 11765(So,)m 360(for)s 698(e)s 3(xample,)k -220 fnt35 1612 11762("\\"@PP\\"")m 240 fnt82 2606 11765(produces)m 220 fnt35 -3521 11762("@PP")m 240 fnt82 4177 11765(.)m 480 11391(When)m 1106(the)s -1451(comment)s 2398(character)s 220 fnt35 3328 11388(#)m 240 fnt82 +2115(three)s 2648(digit)s 3146(octal)s 3665(number)s 220 fnt2 +4456 12303(ddd)m 240 fnt1 0 11765(So,)m 360(for)s 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 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 8110(end)s 8511(of)s 8778(the)s 0 11103(line)m 414(is)s 624(ignored.)s 1519(This)s 1995(is)s 2205(useful)s 2844(for)s 3182(including)s 4139(reminders)s 5145(to)s 5384(oneself,)s 6181(lik)s 2(e)k -6593(this:)s 220 fnt35 480 10606(# Lout user man)m 2(ual)k 480 10318(# J)m 6(.)k 13( Kingston, J)k 4(une 1989)k -240 fnt82 0 9819(for)m 338(temporarily)s 1506(deleting)s 2329(parts)s +6593(this:)s 220 fnt2 480 10606(# Lout user man)m 2(ual)k 480 10318(# J)m 6(.)k 13( Kingston, J)k 4(une 1989)k +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 fnt83 480 9447(Macr)m 10(os)k 240 fnt82 +5184(on.)s 240 fnt6 480 9447(Macr)m 10(os)k 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 6489(a)s 6667(sequence)s 7612(of)s 7895(te)s 3(xtual)k 8610(units)s 0 9157(rather)m 616(than)s 1085(an)s 1368(object.)s 2116(F)s 3(or)k 2505(e)s 3(xample,)k 3419(the)s -3767(macro)s 4417(de\207nition)s 220 fnt35 480 8656(macro @PP { //1.3vx 2.0f @Wide &0i })m 240 fnt82 +3767(macro)s 4417(de\207nition)s 220 fnt2 480 8656(macro @PP { //1.3vx 2.0f @Wide &0i })m 240 fnt1 0 8162(mak)m 2(es)k 663(Lout)s 1178(replace)s 1926(the)s -2277(symbol)s 220 fnt35 3040 8159(@PP)m 240 fnt82 3609 8162(by)m +2277(symbol)s 220 fnt2 3040 8159(@PP)m 240 fnt1 3609 8162(by)m 3906(the)s 4258(gi)s 6(v)k 3(en)k 4841(te)s 3(xtual)k 5546(units)s 6065(before)s 6734(assembling)s 7866(its)s 8145(input)s 8701(into)s 0 7874(objects.)m 841(A)s 1071(similar)s 1793(macro)s @@ -4435,15 +4622,15 @@ grestore 1442(braces)s 2126(and)s 2552(an)s 3(y)k 2972(spaces)s 3669(adjacent)s 4548(to)s 4809(them)s 5370(are)s 5739(dropped,)s 6654(which)s 7318(can)s 7730(be)s 8034(a)s 8223(problem:)s -220 fnt35 0 7295(@PP2i)m 240 fnt82 731 7298(has)m 1101(result)s -220 fnt35 1691 7295(//1.3vx 2.0f @Wide &0i2i)m 240 fnt82 4141 7298(which)m 4783(is)s +220 fnt2 0 7295(@PP2i)m 240 fnt1 731 7298(has)m 1101(result)s +220 fnt2 1691 7295(//1.3vx 2.0f @Wide &0i2i)m 240 fnt1 4141 7298(which)m 4783(is)s 4993(erroneous.)s 480 6924(The)m 938(meaning)s 1846(of)s 2148(symbols)s 3028(used)s 3556(within)s 4254(the)s 4633(body)s 5198(of)s 5500(a)s 5697(macro)s 6377(is)s 6618(determined)s 7782(by)s 8107(where)s 8778(the)s 0 6636(macro)m 667(is)s 895(de\207ned,)s 1724(not)s 2108(by)s 2419(where)s 3077(it)s 3287(is)s 3514(used.)s 4135(Due)s 4607(to)s 4864(implementation)s 6438(problems,)s -220 fnt35 7453 6633(@Open)m 240 fnt82 8277 6636(symbols)m 0 6348(will)m +220 fnt2 7453 6633(@Open)m 240 fnt1 8277 6636(symbols)m 0 6348(will)m 423(not)s 786(w)s 2(ork)k 1333(within)s 1998(macros.)s 2849(Named)s 3594(and)s 3995(body)s 4525(parameters)s 5620(will)s 6043(w)s 2(ork)k 6590(if)s 6804(the)s 7149(symbol)s @@ -4460,29 +4647,37 @@ grestore 511(The)s 3(y)k 1058(may)s 1528(not)s 1898(ha)s 4(v)k 3(e)k 2403(parameters)s 3504(or)s 3767(nested)s 4440(de\207nitions)s 5505(of)s 5780(their)s 6280(o)s 6(wn,)k 6798(and)s 7206(consequently)s -8527(a)s 8697(pre)s 8998(-)s 0 4822(ceding)m 220 fnt35 -691 4819(e)m 6(xpor)k -8(t)k 240 fnt82 1359 4822(clause)m +8527(a)s 8697(pre)s 8998(-)s 0 4822(ceding)m 220 fnt2 +691 4819(e)m 6(xpor)k -8(t)k 240 fnt1 1359 4822(clause)m 2012(\(Section)s 2865(2.3\))s 3293(w)s 2(ould)k 3948(be)s 4230(pointless;)s 5192(ho)s 6(we)k 6(v)k 3(er)k 9(,)k -6099(an)s 220 fnt35 6382 4819(impor)m -8(t)k 240 fnt82 -7055 4822(clause)m 7708(is)s 7918(permitted.)s 240 fnt84 0 4030(2.2.)m -471(Named)s 1257(parameters)s 240 fnt82 480 3553(In)m 728(addition)s +6099(an)s 220 fnt2 6382 4819(impor)m -8(t)k 240 fnt1 +7055 4822(clause)m 7708(is)s 7918(permitted.)s 240 fnt5 0 4030(2.2.)m +471(Named)s 1257(parameters)s 240 fnt1 480 3553(In)m 728(addition)s 1560(to)s 1790(left)s 2159(and)s 2554(right)s 3056(\(or)s 3386(body\))s 3985(parameters,)s 5130(a)s 5288(symbol)s 6039(may)s 6496(ha)s 4(v)k 3(e)k 6989(an)s 3(y)k -7377(number)s 8159(of)s 240 fnt83 8421 3555(named)m 0 3267(par)m 3(ameter)k 2(s)k -240 fnt82 1080 3265(:)m 220 fnt35 480 2768(def @Chapter)m 480 2480( named @T)m 26(ag {})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 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 fnt82 0 546(Their)m 577(de\207nitions)s 1639(appear)s +480 1040(})m 240 fnt1 0 546(Their)m 577(de\207nitions)s 1639(appear)s 2336(in)s 2580(between)s 3434(those)s 3996(of)s 4267(an)s 3(y)k 4665(left)s 5042(and)s 5447(right)s 5958(parameters,)s 7113(and)s 7517(each)s 8013(is)s 8224(follo)s 6(wed)k 0 258(by)m -293(a)s 240 fnt83 457 260(default)m 1183(value)s 240 fnt82 -1753 258(between)m 2605(braces.)s 3377(When)s 220 fnt35 4004 255(@Chapter)m -240 fnt82 5066 258(is)m 5274(in)s 9(v)k 4(ok)k 2(ed,)k +293(a)s 240 fnt6 457 260(default)m 1183(value)s 240 fnt1 +1753 258(between)m 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 grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -4499,54 +4694,57 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(16)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(16)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s 240 fnt82 0 13205(v)m 6(alues)k 656(in)s -899(the)s 1247(follo)s 6(wing)k 2224(w)s 2(ay:)k -220 fnt35 480 12704(@Chapter)m 480 12416( @T)m 26(ag { intro })k 480 12128( @Title { Introduction })m -480 11840({)m 480 11552( ...)m 480 11264(})m 240 fnt82 0 10770(That)m -485(is,)s 737(a)s 889(list)s 1226(of)s 1483(named)s -2166(parameters)s 3250(appears)s 4017(immediately)s 5251(follo)s 6(wing)k -6214(the)s 6549(symbol,)s 7347(each)s 7828(with)s 8296(its)s -8558(v)s 6(alue)k 0 10482(enclosed)m 900(in)s 1149(braces.)s -1929(An)s 3(y)k 2399(right)s 2916(parameter)s 3936(follo)s 6(ws)k -4704(after)s 5206(them.)s 5854(The)s 3(y)k 6403(do)s -6702(not)s 7074(ha)s 4(v)k 3(e)k 7581(to)s -7826(appear)s 8529(in)s 8778(the)s 0 10194(order)m 558(the)s 3(y)k +0 13205(v)m 6(alues)k 656(in)s 899(the)s +1247(follo)s 6(wing)k 2224(w)s 2(ay:)k 220 fnt2 +480 12704(@Chapter)m 480 12416( @T)m 26(ag { intro })k 480 12128( @Title { Introduction })m 480 11840({)m +480 11552( ...)m 480 11264(})m 240 fnt1 0 10770(That)m 485(is,)s +737(a)s 889(list)s 1226(of)s 1483(named)s 2166(parameters)s +3250(appears)s 4017(immediately)s 5251(follo)s 6(wing)k 6214(the)s +6549(symbol,)s 7347(each)s 7828(with)s 8296(its)s 8558(v)s 6(alue)k +0 10482(enclosed)m 900(in)s 1149(braces.)s 1929(An)s 3(y)k +2399(right)s 2916(parameter)s 3936(follo)s 6(ws)k 4704(after)s +5206(them.)s 5854(The)s 3(y)k 6403(do)s 6702(not)s +7074(ha)s 4(v)k 3(e)k 7581(to)s 7826(appear)s +8529(in)s 8778(the)s 0 10194(order)m 558(the)s 3(y)k 1015(were)s 1529(de\207ned,)s 2334(and)s 2732(the)s 3(y)k 3189(can)s 3571(e)s 6(v)k 3(en)k 4065(be)s 4341(omitted)s 5122(altogether)s 9(,)k 6169(in)s 6406(which)s 7041(case)s 7502(the)s 7844(def)s 2(ault)k 8558(v)s 6(alue)k 0 9906(from)m 524(the)s 872(de\207nition)s 1846(is)s 2056(used)s 2553(instead.)s 480 9532(If)m 699(the)s 1036(k)s 2(e)k 3(yw)k 2(ord)k -220 fnt35 1913 9529(compulsor)m -6(y)k 240 fnt82 3088 9532(appears)m -3858(after)s 220 fnt35 4342 9529(named)m 240 fnt82 5050 9532(and)m +220 fnt2 1913 9529(compulsor)m -6(y)k 240 fnt1 3088 9532(appears)m +3858(after)s 220 fnt2 4342 9529(named)m 240 fnt1 5050 9532(and)m 5442(before)s 6097(the)s 6434(parameter')s 13(s)k 7586(name,)s 8200(Lout)s 8700(will)s 0 9244(print)m 501(a)s 657(w)s 2(arning)k 1481(message)s 2337(whene)s 6(v)k 3(er)k 3307(this)s 3693(parameter)s 4696(is)s 4896(missing.)s 5793(Ho)s 6(we)k 6(v)k 3(er)k 6705(it)s 6886(will)s 7302(still)s 7703(use)s 8068(the)s 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 fnt35 -1424 8579(@T)m 26(ag)k 240 fnt82 2057 8582(parameter)m 3080(does)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 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 7940(instead,)s 8733(if)s 8960(a)s 0 8294(def)m 2(ault)k @@ -4559,39 +4757,47 @@ grestore 3960(of)s 4229(numbered)s 5242(chapters)s 6086(and)s 6488(sections)s 7307(\(Section)s 8158(4.4\).)s 8698(The)s 0 7718(same)m 551(thing)s 1101(occurs)s 1781(if)s 2003(there)s 2541(is)s 2756(a)s -220 fnt35 2927 7715(@T)m 26(ag)k 240 fnt82 3555 7718(parameter)m +220 fnt2 2927 7715(@T)m 26(ag)k 240 fnt1 3555 7718(parameter)m 4574(b)s 4(ut)k 4940(its)s 5221(v)s 6(alue)k 5794(is)s 6009(the)s 6362(empty)s 7019(object:)s 7774(the)s 8127(v)s 6(alue)k 8700(will)s 0 7430(be)m 282(replaced)s 1149(by)s 1443(an)s 1726(in)s 9(v)k 3(ented)k 2596(one.)s 480 7056(Named)m 1229(parameters)s 2327(may)s 2793(ha)s 4(v)k 3(e)k 3294(parameters,)s 4448(as)s 4698(in)s 4941(the)s 5289(follo)s 6(wing)k -6266(de\207nition:)s 220 fnt35 480 6555(def @Str)m 2(ange)k 480 6267( named @F)m 6(or)k -5(mat r)k -3(ight @V)k 15(al { [@V)k 15(al] })k +6266(de\207nition:)s 220 fnt2 480 6555(def @Str)m 2(ange)k 480 6267( named @F)m 6(or)k -5(mat r)k -3(ight @V)k 15(al { [@V)k 15(al] })k 480 5979( r)m -3(ight x)k 480 5691({)m 480 5403( @F)m 6(or)k -5(mat x)k -480 5115(})m 240 fnt82 0 4621(The)m 428(named)s 1125(parameter)s -220 fnt35 2139 4618(@F)m 6(or)k -5(mat)k 240 fnt82 -3113 4621(has)m 3483(right)s 3995(parameter)s 220 fnt35 5010 4618(@V)m 15(al)k -240 fnt82 5520 4621(,)m 5627(and)s 6032(the)s 6380(def)s 2(ault)k -7102(v)s 6(alue)k 7670(of)s 220 fnt35 7942 4618(@F)m 6(or)k -5(mat)k -240 fnt82 8916 4621(is)m 0 4333(this)m 394(parameter)s 1406(enclosed)s -2299(in)s 2539(brack)s 2(ets.)k 3495(When)s 220 fnt35 -4122 4330(@F)m 6(or)k -5(mat)k 240 fnt82 5093 4333(is)m +480 5115(})m 240 fnt1 0 4621(The)m 428(named)s 1125(parameter)s +220 fnt2 2139 4618(@F)m 6(or)k -5(mat)k 240 fnt1 +3113 4621(has)m 3483(right)s 3995(parameter)s 220 fnt2 5010 4618(@V)m 15(al)k +240 fnt1 5520 4621(,)m 5627(and)s 6032(the)s 6380(def)s 2(ault)k +7102(v)s 6(alue)k 7670(of)s 220 fnt2 7942 4618(@F)m 6(or)k -5(mat)k +240 fnt1 8916 4621(is)m 0 4333(this)m 394(parameter)s 1406(enclosed)s +2299(in)s 2539(brack)s 2(ets.)k 3495(When)s 220 fnt2 +4122 4330(@F)m 6(or)k -5(mat)k 240 fnt1 5093 4333(is)m 5300(in)s 9(v)k 4(ok)k 2(ed)k 6113(it)s 6303(must)s 6826(be)s 7105(supplied)s 7972(with)s 8452(a)s 8615(right)s 0 4045(parameter)m 9(,)k 1052(which)s 1694(will)s -2120(replace)s 220 fnt35 2865 4042(@V)m 15(al)k 240 fnt82 -3375 4045(.)m 3539(Thus,)s 220 fnt35 480 3544(@Str)m 2(ange 27)k -240 fnt82 0 3045(equals)m 220 fnt35 662 3042(@F)m 6(or)k -5(mat 27)k -240 fnt82 1937 3045(and)m 2341(so)s 2607(has)s 2977(result)s -480 2543([27])m 0 2055(The)m 220 fnt35 428 2052(@F)m 6(or)k -5(mat)k -240 fnt82 1401 2055(symbol)m 2161(is)s 2371(lik)s 2(e)k +2120(replace)s 220 fnt2 2865 4042(@V)m 15(al)k 240 fnt1 +3375 4045(.)m 3539(Thus,)s 220 fnt2 480 3544(@Str)m 2(ange 27)k +240 fnt1 0 3045(equals)m 220 fnt2 662 3042(@F)m 6(or)k -5(mat 27)k +240 fnt1 1937 3045(and)m 2341(so)s 2607(has)s 2977(result)s +480 2543([27])m 0 2055(The)m 220 fnt2 428 2052(@F)m 6(or)k -5(mat)k +240 fnt1 1401 2055(symbol)m 2161(is)s 2371(lik)s 2(e)k 2783(a)s 2949(de\207nition)s 3923(with)s 4405(parameters)s 5503(whose)s -6171(body)s 6705(can)s 7094(be)s 7376(changed:)s 220 fnt35 +6171(body)s 6705(can)s 7094(be)s 7376(changed:)s 220 fnt2 480 1554(@Str)m 2(ange)k 480 1266( @F)m 6(or)k -5(mat { Slope @F)k 6(ont @V)k 15(al.)k 13( })k -480 978(27)m 240 fnt82 0 527(still)m 412(equals)s 220 fnt35 -1074 524(@F)m 6(or)k -5(mat 27)k 240 fnt82 2289 527(,)m +480 978(27)m 240 fnt1 0 527(still)m 412(equals)s 220 fnt2 +1074 524(@F)m 6(or)k -5(mat 27)k 240 fnt1 2289 527(,)m 2396(b)s 4(ut)k 2758(this)s 3154(time)s 3634(the)s -3982(result)s 4572(is)s 240 fnt83 480 26(27.)m +3982(result)s 4572(is)s 240 fnt6 480 26(27.)m +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -4609,58 +4815,60 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.2.)m 1871(Named)s 2616(par)s 3(ameter)k 2(s)k +240 fnt5 10248 -1583(17)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.2.)m 454(Named)s 1199(par)s 3(ameter)k 2(s)k -240 fnt84 8831 13840(17)m 240 fnt82 0 13205(In)m 252(practice,)s -1110(e)s 3(xamples)k 2057(of)s 2323(named)s 3015(parameters)s -4109(with)s 4586(parameters)s 5680(all)s 5969(ha)s 4(v)k 3(e)k -6466(this)s 6857(\210a)s 4(v)k 4(our)k 7583(of)s -7850(format)s 8541(being)s 0 12917(separated)m 996(from)s 1556(content;)s -2409(running)s 3243(headers)s 4060(\(Section)s 4950(4.3\))s 5414(and)s -5854(printing)s 6701(styles)s 7332(for)s 7707(bibliographies)s 0 12629(\(Section)m -853(4.5\))s 1281(are)s 1628(tw)s 2(o)k 2038(major)s -2655(ones.)s 240 fnt84 0 11836(2.3.)m 471(Nested)s 1216(de\207nitions,)s -2392(body)s 2954(parameters,)s 4236(extend,)s 5027(import,)s 5844(and)s -6285(export)s 240 fnt82 480 11359(A)m 710(de\207nition)s 1684(may)s -2150(contain)s 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 fnt35 480 10858(def @NineSquare)m 480 10570( r)m -3(ight x)k 480 10282({)m -480 9994( def @Three { x |0.2i x |0.2i x })m 480 9418( @Three /0.2i @Three /0.2i @Three)m 480 9130(})m 240 fnt82 0 8636(A)m -227(parameter)s 1238(lik)s 2(e)k 220 fnt35 1646 8633(x)m -240 fnt82 1811 8636(may)m 2274(be)s 2552(in)s 9(v)k 4(ok)k 2(ed)k -3364(an)s 3(ywhere)k 4343(within)s 5008(the)s 5353(body)s -5883(of)s 6151(the)s 6495(symbol)s 7252(it)s 7441(is)s -7647(a)s 7810(parameter)s 8820(of,)s 0 8348(including)m 973(within)s -1657(nested)s 2342(de\207nitions.)s 3532(A)s 3778(nested)s 4463(symbol)s -5239(lik)s 2(e)k 220 fnt35 5667 8345(@Three)m 240 fnt82 -6531 8348(may)m 7013(be)s 7311(in)s 9(v)k 4(ok)k 2(ed)k -8143(an)s 3(ywhere)k 0 8060(from)m 518(the)s 860(be)s 3(ginning)k -1862(of)s 2127(its)s 2397(o)s 6(wn)k 2855(body)s -3383(to)s 3616(the)s 3958(end)s 4355(of)s 4620(the)s -4962(body)s 5490(of)s 5755(the)s 6097(symbol)s 6851(it)s -7037(is)s 7241(de\207ned)s 7998(within.)s 8766(So,)s 0 7772(assuming)m -957(an)s 1240(appropriate)s 2384(de\207nition)s 3358(of)s 220 fnt35 -3629 7769(@Bo)m 6(x)k 240 fnt82 4222 7772(,)m 220 fnt35 -480 7271(@NineSquare @Bo)m 6(x)k 240 fnt82 0 6775(has)m 370(result)s -2796 2796 226 2570 240 288 60 480 3689 LoutGr2 +0 13205(In)m 252(practice,)s 1110(e)s 3(xamples)k +2057(of)s 2323(named)s 3015(parameters)s 4109(with)s 4586(parameters)s +5680(all)s 5969(ha)s 4(v)k 3(e)k 6466(this)s +6857(\210a)s 4(v)k 4(our)k 7583(of)s 7850(format)s +8541(being)s 0 12917(separated)m 996(from)s 1556(content;)s 2409(running)s +3243(headers)s 4060(\(Section)s 4950(4.3\))s 5414(and)s 5854(printing)s +6701(styles)s 7332(for)s 7707(bibliographies)s 0 12629(\(Section)m 853(4.5\))s +1281(are)s 1628(tw)s 2(o)k 2038(major)s 2655(ones.)s +240 fnt5 0 11836(2.3.)m 471(Nested)s 1216(de\207nitions,)s 2392(body)s +2954(parameters,)s 4236(extend,)s 5027(import,)s 5844(and)s 6285(export)s +240 fnt1 480 11359(A)m 710(de\207nition)s 1684(may)s 2150(contain)s +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 480 10282({)m 480 9994( def @Three { x |0.2i x |0.2i x })m 480 9418( @Three /0.2i @Three /0.2i @Three)m +480 9130(})m 240 fnt1 0 8636(A)m 227(parameter)s 1238(lik)s 2(e)k +220 fnt2 1646 8633(x)m 240 fnt1 1811 8636(may)m 2274(be)s +2552(in)s 9(v)k 4(ok)k 2(ed)k 3364(an)s 3(ywhere)k +4343(within)s 5008(the)s 5353(body)s 5883(of)s 6151(the)s +6495(symbol)s 7252(it)s 7441(is)s 7647(a)s 7810(parameter)s +8820(of,)s 0 8348(including)m 973(within)s 1657(nested)s 2342(de\207nitions.)s +3532(A)s 3778(nested)s 4463(symbol)s 5239(lik)s 2(e)k +220 fnt2 5667 8345(@Three)m 240 fnt1 6531 8348(may)m 7013(be)s +7311(in)s 9(v)k 4(ok)k 2(ed)k 8143(an)s 3(ywhere)k +0 8060(from)m 518(the)s 860(be)s 3(ginning)k 1862(of)s +2127(its)s 2397(o)s 6(wn)k 2855(body)s 3383(to)s +3616(the)s 3958(end)s 4355(of)s 4620(the)s 4962(body)s +5490(of)s 5755(the)s 6097(symbol)s 6851(it)s 7037(is)s +7241(de\207ned)s 7998(within.)s 8766(So,)s 0 7772(assuming)m 957(an)s +1240(appropriate)s 2384(de\207nition)s 3358(of)s 220 fnt2 3629 7769(@Bo)m 6(x)k +240 fnt1 4222 7772(,)m 220 fnt2 480 7271(@NineSquare @Bo)m 6(x)k +240 fnt1 0 6775(has)m 370(result)s 2796 2796 226 2570 240 288 60 480 3689 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 740 740 226 514 240 288 60 0 2056 LoutGr2 @@ -4737,18 +4945,18 @@ grestore grestore end end restore grestore -0 3238(Nested)m 722(de\207nitions)s 1783(may)s 2249(themselv)s 3(es)k -3359(contain)s 4120(nested)s 4789(de\207nitions,)s 5906(to)s 6145(arbitrary)s -7020(depth.)s 480 2864(There)m 1100(are)s 1454(three)s 1994(special)s -2719(features)s 3532(which)s 4181(permit)s 4872(a)s 5045(nested)s -5721(symbol)s 6488(or)s 6754(parameter)s 7775(to)s 8021(be)s -8311(in)s 9(v)k 4(ok)k 2(ed)k 0 2576(outside)m -737(its)s 1003(normal)s 1725(range;)s 2358(that)s 2766(is,)s -3022(outside)s 3759(the)s 4096(body)s 4620(of)s 4881(the)s -5219(enclosing)s 6179(symbol.)s 7038(The)s 7456(\207rst)s 7877(and)s -8270(simplest)s 0 2288(of)m 267(these)s 810(features)s 1611(is)s -1817(the)s 240 fnt83 2161 2290(body)m 2678(par)s 3(ameter)k -240 fnt82 3677 2288(,)m 3780(an)s 4059(alternati)s 6(v)k 3(e)k +0 3238(Nested)m 722(de\207nitions)s +1783(may)s 2249(themselv)s 3(es)k 3359(contain)s 4120(nested)s +4789(de\207nitions,)s 5906(to)s 6145(arbitrary)s 7020(depth.)s 480 2864(There)m +1100(are)s 1454(three)s 1994(special)s 2719(features)s 3532(which)s +4181(permit)s 4872(a)s 5045(nested)s 5721(symbol)s 6488(or)s +6754(parameter)s 7775(to)s 8021(be)s 8311(in)s 9(v)k 4(ok)k 2(ed)k +0 2576(outside)m 737(its)s 1003(normal)s 1725(range;)s 2358(that)s +2766(is,)s 3022(outside)s 3759(the)s 4096(body)s 4620(of)s +4881(the)s 5219(enclosing)s 6179(symbol.)s 7038(The)s 7456(\207rst)s +7877(and)s 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 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 1052(package)s 1883([4)s 2076(,)s 2174(Chapter)s 2982(7])s 3211(is)s @@ -4757,6 +4965,14 @@ grestore 7013(parameter)s 13(.)k 8109(In)s 8355(outline,)s 0 1712(it)m 192(looks)s 762(lik)s 2(e)k 1174(this:)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -4774,55 +4990,58 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(18)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13268 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(18)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s 220 fnt35 480 13211(e)m 6(xpor)k -8(t "+" sup o)k 3(v)k 5(er)k +220 fnt2 480 13211(e)m 6(xpor)k -8(t "+" sup o)k 3(v)k 5(er)k 480 12635(def @Eq)m 480 12347( body x)m 480 12059({)m 480 11771( def "+" ...)m 480 11483( def sup ...)m 480 11195( def o)m 3(v)k 5(er ...)k 480 10907( ...)m 480 10331( Slope @F)m 6(ont x)k -480 10043(})m 240 fnt82 0 9549(First)m 518(we)s 874(list)s +480 10043(})m 240 fnt1 0 9549(First)m 518(we)s 874(list)s 1246(those)s 1828(nested)s 2518(symbols)s 3388(and)s 3813(parameters)s 4932(that)s 5371(we)s 5727(intend)s 6404(to)s 6664(refer)s 7194(to)s 7454(outside)s 8222(the)s 8592(body)s 0 9261(of)m -220 fnt35 274 9258(@Eq)m 240 fnt82 815 9261(in)m 1061(an)s -220 fnt35 1347 9258(e)m 6(xpor)k -8(t)k 240 fnt82 +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 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 -817(outside)s 1566(the)s 1916(body)s 2452(of)s 220 fnt35 -2725 8970(@Eq)m 240 fnt82 3203 8973(.)m 3369(The)s 3799(body)s +817(outside)s 1566(the)s 1916(body)s 2452(of)s 220 fnt2 +2725 8970(@Eq)m 240 fnt1 3203 8973(.)m 3369(The)s 3799(body)s 4335(parameter)s 5351(is)s 5563(lik)s 2(e)k 5977(a)s 6145(right)s 6658(parameter)s 7674(e)s 3(xcept)k 8357(that)s 8778(the)s 0 8685(e)m 3(xported)k 892(symbols)s 1741(are)s -2088(visible)s 2781(within)s 3449(it:)s 220 fnt35 480 8184(@Eq { {x sup 2 + y sup 2} o)m 3(v)k 5(er 2 })k -240 fnt82 0 7686(calls)m 488(on)s 785(the)s 1133(nested)s -1802(de\207nitions)s 2863(of)s 220 fnt35 3134 7683(@Eq)m 240 fnt82 -3672 7686(to)m 3911(produce)s 4738(the)s 5086(result)s 168 fnt78 -586 7231(2)m 240 fnt83 480 7171(x)m 240 fnt78 738 7163(+)m -168 fnt78 1041 7231(2)m 240 fnt83 939 7171(y)m 641 0 0 0 240 288 12 480 7073 LoutGr2 +2088(visible)s 2781(within)s 3449(it:)s 220 fnt2 480 8184(@Eq { {x sup 2 + y sup 2} o)m 3(v)k 5(er 2 })k +240 fnt1 0 7686(calls)m 488(on)s 785(the)s 1133(nested)s +1802(de\207nitions)s 2863(of)s 220 fnt2 3134 7683(@Eq)m 240 fnt1 +3672 7686(to)m 3911(produce)s 4738(the)s 5086(result)s 168 fnt4 +586 7231(2)m 240 fnt6 480 7171(x)m 240 fnt4 738 7163(+)m +168 fnt4 1041 7231(2)m 240 fnt6 939 7171(y)m 641 0 0 0 240 288 12 480 7073 LoutGr2 0 0 moveto xsize 0 lineto 0.05 ft setlinewidth stroke grestore grestore -240 fnt78 -743 6845(2)m 240 fnt82 0 6334(The)m 416(body)s 937(parameter')s 13(s)k +240 fnt4 +743 6845(2)m 240 fnt1 0 6334(The)m 416(body)s 937(parameter')s 13(s)k 2089(v)s 6(alue)k 2644(must)s 3156(be)s 3426(enclosed)s 4308(in)s 4539(braces.)s 5300(The)s 5715(term)s 6200(`body)s 6800(parameter')s 7854(is)s 8051(a)s 8204(reminder)s 0 6046(that)m @@ -4836,10 +5055,10 @@ grestore 8646(only)s 0 5384(within)m 656(the)s 991(body)s 1512(of)s 1770(the)s 2105(enclosing)s 3063(symbol,)s 3862(not)s 4215(within)s 4870(an)s 3(y)k 5254(nested)s 5911(de\207nitions.)s 7072(F)s 3(or)k -7448(e)s 3(xample,)k 220 fnt35 8349 5381(x)m 240 fnt82 +7448(e)s 3(xample,)k 220 fnt2 8349 5381(x)m 240 fnt1 8504 5384(abo)m 3(v)k 3(e)k 0 5096(may)m 471(not)s 843(be)s 1131(in)s 9(v)k 4(ok)k 2(ed)k -1952(within)s 220 fnt35 2626 5093(sup)m 240 fnt82 2972 5096(.)m +1952(within)s 220 fnt2 2626 5093(sup)m 240 fnt1 2972 5096(.)m 3141(This)s 3623(restriction)s 4653(is)s 4869(needed)s 5611(to)s 5855(a)s 4(v)k 4(oid)k 6443(the)s 6797(possibility)s 7853(of)s 8130(recursion,)s 0 4808(when)m 585(the)s 943(actual)s @@ -4850,36 +5069,44 @@ grestore 480 4146(The)m 932(second)s 1679(place)s 2263(where)s 2928(e)s 3(xported)k 3844(symbols)s 4717(may)s 5207(be)s 5514(used)s 6035(is)s 6269(in)s 6536(the)s 6909(right)s 7444(parameter)s 8482(of)s -8778(the)s 220 fnt35 0 3855(@Open)m 240 fnt82 806 3858(symbol,)m +8778(the)s 220 fnt2 0 3855(@Open)m 240 fnt1 806 3858(symbol,)m 1618(and)s 2022(follo)s 6(wing)k 2999(its)s 3275(alternati)s 6(v)k 3(e)k -4329(form,)s 220 fnt35 4900 3855(@Use)m 240 fnt82 5565 3858(\(Section)m +4329(form,)s 220 fnt2 4900 3855(@Use)m 240 fnt1 5565 3858(\(Section)m 6418(3.36\).)s 480 3484(Exported)m 1480(nested)s 2214(symbols)s 3128(and)s 3598(parameters)s 4761(may)s 5292(be)s 5639(made)s 6279(visible)s 7037(within)s 7770(a)s 8002(subsequent)s 0 3196(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 fnt35 4130 3193(impor)m -8(t)k 240 fnt82 -4803 3196(clause,)m 5507(lik)s 2(e)k 5919(this:)s 220 fnt35 +3847(an)s 220 fnt2 4130 3193(impor)m -8(t)k 240 fnt1 +4803 3196(clause,)m 5507(lik)s 2(e)k 5919(this:)s 220 fnt2 480 2695(impor)m -8(t @Eq)k 480 2407(def p)m 6(ythag { sqr)k -8(t { x sup 2 + y sup 2 } })k -240 fnt82 0 1908(Note)m 548(ho)s 6(we)k 6(v)k 3(er)k -1444(that)s 220 fnt35 1889 1905(p)m 6(ythag)k 240 fnt82 +240 fnt1 0 1908(Note)m 548(ho)s 6(we)k 6(v)k 3(er)k +1444(that)s 220 fnt2 1889 1905(p)m 6(ythag)k 240 fnt1 2617 1908(can)m 3033(only)s 3540(be)s 3849(used)s 4374(with)s 4883(some)s 5471(in)s 9(v)k 4(ocation)k 6552(of)s -220 fnt35 6850 1905(@Eq)m 240 fnt82 7328 1908(:)m 7521(within)s +220 fnt2 6850 1905(@Eq)m 240 fnt1 7328 1908(:)m 7521(within)s 8216(the)s 8592(body)s 0 1620(parameter)m 1036(of)s 1329(an)s -1635(in)s 9(v)k 4(ocation)k 2711(of)s 220 fnt35 -3005 1617(@Eq)m 240 fnt82 3483 1620(,)m 3612(within)s 4303(the)s -4673(right)s 5207(parameter)s 6243(of)s 6537(an)s 220 fnt35 -6842 1617(@Eq&&tag @Open)m 240 fnt82 8737 1620(,)m 8867(or)s 0 1332(follo)m 6(wing)k -977(a)s 220 fnt35 1143 1329(@Use { @Eq ...)m 13( })k 240 fnt82 +1635(in)s 9(v)k 4(ocation)k 2711(of)s 220 fnt2 +3005 1617(@Eq)m 240 fnt1 3483 1620(,)m 3612(within)s 4303(the)s +4673(right)s 5207(parameter)s 6243(of)s 6537(an)s 220 fnt2 +6842 1617(@Eq&&tag @Open)m 240 fnt1 8737 1620(,)m 8867(or)s 0 1332(follo)m 6(wing)k +977(a)s 220 fnt2 1143 1329(@Use { @Eq ...)m 13( })k 240 fnt1 2798 1332(.)m 2962(There)s 3575(may)s 4041(be)s 4323(se)s 6(v)k 3(eral)k -5045(symbols)s 5894(in)s 6137(the)s 220 fnt35 6485 1329(impor)m -8(t)k -240 fnt82 7158 1332(clause.)m 480 958(In)m 760(a)s 951(similar)s -1698(w)s 2(ay)k 2174(to)s 220 fnt35 2438 955(impor)m -8(t)k -240 fnt82 3051 958(,)m 3183(a)s 3374(de\207nition)s 4373(may)s -4864(be)s 5171(preceded)s 6117(by)s 220 fnt35 6436 955(e)m 6(xtend)k -240 fnt82 7162 958(follo)m 6(wed)k 8089(by)s 8408(a)s +5045(symbols)s 5894(in)s 6137(the)s 220 fnt2 6485 1329(impor)m -8(t)k +240 fnt1 7158 1332(clause.)m 480 958(In)m 760(a)s 951(similar)s +1698(w)s 2(ay)k 2174(to)s 220 fnt2 2438 955(impor)m -8(t)k +240 fnt1 3051 958(,)m 3183(a)s 3374(de\207nition)s 4373(may)s +4864(be)s 5171(preceded)s 6117(by)s 220 fnt2 6436 955(e)m 6(xtend)k +240 fnt1 7162 958(follo)m 6(wed)k 8089(by)s 8408(a)s 8599(sym)s 8998(-)s 0 670(bol)m 361(name:)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -4896,70 +5123,73 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.3.)m 1871(Nested)s 2588(de\207nitions,)s 3678(body)s +4200(par)s 3(ameter)k 2(s,)k 5378(e)s 4(xtend,)k +6091(import,)s 6822(and)s 7248(e)s 4(xport)k 240 fnt5 +10249 -1583(19)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.3.)m 454(Nested)s 1171(de\207nitions,)s 2261(body)s -2783(par)s 3(ameter)k 2(s,)k 3961(e)s 4(xtend,)k -4674(import,)s 5405(and)s 5831(e)s 4(xport)k 240 fnt84 -8832 13840(19)m 220 fnt35 480 13207(e)m 6(xtend @Eq)k 480 12919(def p)m 6(ythag { sqr)k -8(t { x sup 2 + y sup 2 } })k -240 fnt82 0 12420(The)m 418(ef)s 6(fect)k 1003(of)s +220 fnt2 480 13207(e)m 6(xtend @Eq)k 480 12919(def p)m 6(ythag { sqr)k -8(t { x sup 2 + y sup 2 } })k +240 fnt1 0 12420(The)m 418(ef)s 6(fect)k 1003(of)s 1264(this)s 1649(is)s 1849(just)s 2243(as)s 2483(though)s -3195(the)s 3533(de\207nition)s 4496(of)s 220 fnt35 4757 12417(p)m 6(ythag)k -240 fnt82 5447 12420(had)m 5841(occurred)s 6724(directly)s 7497(after)s +3195(the)s 3533(de\207nition)s 4496(of)s 220 fnt2 4757 12417(p)m 6(ythag)k +240 fnt1 5447 12420(had)m 5841(occurred)s 6724(directly)s 7497(after)s 7982(the)s 8319(e)s 3(xisting)k 0 12132(de\207nitions)m 1058(within)s -220 fnt35 1722 12129(@Eq)m 240 fnt82 2200 12132(,)m 2303(with)s -220 fnt35 2782 12129(p)m 6(ythag)k 240 fnt82 3479 12132(added)m -4105(to)s 220 fnt35 4340 12129(@Eq)m 240 fnt82 4818 12132(')m 13(s)k +220 fnt2 1722 12129(@Eq)m 240 fnt1 2200 12132(,)m 2303(with)s +220 fnt2 2782 12129(p)m 6(ythag)k 240 fnt1 3479 12132(added)m +4105(to)s 220 fnt2 4340 12129(@Eq)m 240 fnt1 4818 12132(')m 13(s)k 5025(e)s 3(xport)k 5689(list.)s 6140(This)s 6612(is)s 6819(useful)s 7454(for)s 7788(e)s 3(xtending)k 8778(the)s 0 11844(capabilities)m 1128(of)s 1389(a)s 1545(package)s 2375(of)s -2636(de\207nitions)s 3687(lik)s 2(e)k 220 fnt35 4088 11841(@Eq)m -240 fnt82 4616 11844(without)m 5397(modifying)s 6437(its)s 6703(source)s +2636(de\207nitions)s 3687(lik)s 2(e)k 220 fnt2 4088 11841(@Eq)m +240 fnt1 4616 11844(without)m 5397(modifying)s 6437(its)s 6703(source)s 7373(\207le.)s 7832(The)s 8249(essential)s 0 11556(dif)m 6(ferences)k -1106(to)s 220 fnt35 1346 11553(impor)m -8(t)k 240 fnt82 +1106(to)s 220 fnt2 1346 11553(impor)m -8(t)k 240 fnt1 2020 11556(are)m 2368(that)s 2787(all)s 3081(the)s 3430(symbols)s -4280(of)s 220 fnt35 4552 11553(@Eq)m 240 fnt82 5091 11556(become)m -5892(visible)s 6586(within)s 220 fnt35 7255 11553(p)m 6(ythag)k -240 fnt82 7896 11556(,)m 8004(not)s 8371(just)s 8778(the)s +4280(of)s 220 fnt2 4552 11553(@Eq)m 240 fnt1 5091 11556(become)m +5892(visible)s 6586(within)s 220 fnt2 7255 11553(p)m 6(ythag)k +240 fnt1 7896 11556(,)m 8004(not)s 8371(just)s 8778(the)s 0 11268(e)m 3(xported)k 892(ones,)s 1438(and)s 1842(only)s 2322(one)s 2724(symbol)s 3484(may)s 3950(follo)s 6(w)k -4622(the)s 220 fnt35 4970 11265(e)m 6(xtend)k 240 fnt82 +4622(the)s 220 fnt2 4970 11265(e)m 6(xtend)k 240 fnt1 5671 11268(k)m 2(e)k 3(yw)k 2(ord.)k 480 10894(Actually)m 15(,)k 1399(more)s 1951(than)s 2424(one)s 2831(symbol)s 3595(may)s -4066(follo)s 6(w)k 220 fnt35 4743 10891(e)m 6(xtend)k -240 fnt82 5384 10894(,)m 5495(b)s 4(ut)k 5862(this)s +4066(follo)s 6(w)k 220 fnt2 4743 10891(e)m 6(xtend)k +240 fnt1 5384 10894(,)m 5495(b)s 4(ut)k 5862(this)s 6262(usage)s 6868(indicates)s 7772(a)s 7943(`path)s 8496(name')s 0 10606(of)m 271(the)s 619(symbol.)s 1488(F)s 3(or)k -1877(e)s 3(xample,)k 220 fnt35 480 10105(e)m 6(xtend @DocumentLa)k 6(y)k 4(out @Repor)k -8(tLa)k 6(y)k 4(out)k -480 9817(def @K)m 8(e)k 4(yw)k 2(ords ...)k 240 fnt82 -0 9319(causes)m 676(the)s 1026(de\207nition)s 2002(of)s 220 fnt35 -2275 9316(@K)m 8(e)k 4(yw)k 2(ords)k 240 fnt82 +1877(e)s 3(xample,)k 220 fnt2 480 10105(e)m 6(xtend @DocumentLa)k 6(y)k 4(out @Repor)k -8(tLa)k 6(y)k 4(out)k +480 9817(def @K)m 8(e)k 4(yw)k 2(ords ...)k 240 fnt1 +0 9319(causes)m 676(the)s 1026(de\207nition)s 2002(of)s 220 fnt2 +2275 9316(@K)m 8(e)k 4(yw)k 2(ords)k 240 fnt1 3502 9319(to)m 3743(occur)s 4335(directly)s 5120(after)s 5618(the)s -5968(e)s 3(xisting)k 6777(de\207nitions)s 7840(of)s 220 fnt35 -8113 9316(@Repor)m -8(t)k 240 fnt82 8998 9319(-)m 220 fnt35 -0 9028(La)m 6(y)k 4(out)k 240 fnt82 645 9031(,)m -752(which)s 1394(itself)s 1942(lies)s 2324(within)s 220 fnt35 -2992 9028(@DocumentLa)m 6(y)k 4(out)k 240 fnt82 4860 9031(.)m +5968(e)s 3(xisting)k 6777(de\207nitions)s 7840(of)s 220 fnt2 +8113 9316(@Repor)m -8(t)k 240 fnt1 8998 9319(-)m 220 fnt2 +0 9028(La)m 6(y)k 4(out)k 240 fnt1 645 9031(,)m +752(which)s 1394(itself)s 1942(lies)s 2324(within)s 220 fnt2 +2992 9028(@DocumentLa)m 6(y)k 4(out)k 240 fnt1 4860 9031(.)m 480 8657(A)m 702(named)s 1390(parameter)s 2395(may)s 2853(also)s -3283(be)s 3556(preceded)s 4469(by)s 4754(an)s 220 fnt35 -5029 8654(impor)m -8(t)k 240 fnt82 5694 8657(clause.)m 6386(As)s +3283(be)s 3556(preceded)s 4469(by)s 4754(an)s 220 fnt2 +5029 8654(impor)m -8(t)k 240 fnt1 5694 8657(clause.)m 6386(As)s 6695(usual,)s 7299(the)s 7638(meaning)s 8507(is)s 8708(that)s 0 8369(the)m 336(visible)s 1016(local)s 1522(de\207nitions)s 2570(of)s 2828(the)s 3163(import)s 3847(symbol\(s\))s 4839(are)s 5173(visible)s @@ -4970,18 +5200,18 @@ grestore 7681(all)s 7985(in)s 9(v)k 4(ocations)k 0 7793(of)m 271(the)s 619(parameter)s 13(.)k 1724(F)s 3(or)k 2113(e)s 3(xample,)k 3027(suppose)s 3855(we)s 4190(de\207ne)s -220 fnt35 480 7292(def @Diag)m 480 7004( impor)m -8(t @Algebr)k 2(a named line)k 4(width { 1p })k -480 6716( impor)m -8(t @Algebr)k 2(a named dashlength { 2p })k 480 6428( ...)m 240 fnt82 -0 5977(Then,)m 599(if)s 220 fnt35 816 5974(@Algebr)m 2(a)k -240 fnt82 1847 5977(e)m 3(xports)k 2599(symbols)s 220 fnt35 -3448 5974(+)m 240 fnt82 3568 5977(,)m 220 fnt35 3675 5974(-)m -240 fnt82 3739 5977(,)m 3846(and)s 4250(so)s 4516(on,)s -4863(we)s 5198(may)s 5664(write)s 220 fnt35 480 5476(@Diag)m -480 5188( line)m 4(width { 1f - 2p })k 480 4900( dashlength { 1f + 2p })m 240 fnt82 0 4401(using)m -565(the)s 905(symbols)s 1747(from)s 220 fnt35 2263 4398(@Algebr)m 2(a)k -240 fnt82 3234 4401(.)m 3391(There)s 3996(may)s 4454(be)s +220 fnt2 480 7292(def @Diag)m 480 7004( impor)m -8(t @Algebr)k 2(a named line)k 4(width { 1p })k +480 6716( impor)m -8(t @Algebr)k 2(a named dashlength { 2p })k 480 6428( ...)m 240 fnt1 +0 5977(Then,)m 599(if)s 220 fnt2 816 5974(@Algebr)m 2(a)k +240 fnt1 1847 5977(e)m 3(xports)k 2599(symbols)s 220 fnt2 +3448 5974(+)m 240 fnt1 3568 5977(,)m 220 fnt2 3675 5974(-)m +240 fnt1 3739 5977(,)m 3846(and)s 4250(so)s 4516(on,)s +4863(we)s 5198(may)s 5664(write)s 220 fnt2 480 5476(@Diag)m +480 5188( line)m 4(width { 1f - 2p })k 480 4900( dashlength { 1f + 2p })m 240 fnt1 0 4401(using)m +565(the)s 905(symbols)s 1747(from)s 220 fnt2 2263 4398(@Algebr)m 2(a)k +240 fnt1 3234 4401(.)m 3391(There)s 3996(may)s 4454(be)s 4729(se)s 6(v)k 3(eral)k 5443(symbols)s 6285(after)s -6773(the)s 220 fnt35 7114 4398(impor)m -8(t)k 240 fnt82 +6773(the)s 220 fnt2 7114 4398(impor)m -8(t)k 240 fnt1 7779 4401(k)m 2(e)k 3(yw)k 2(ord.)k 8766(All)s 0 4113(these)m 558(symbols)s 1418(share)s 1990(an)s 2284(important)s 3285(restriction:)s 4429(the)s 3(y)k 4904(may)s 5381(not)s @@ -4995,14 +5225,14 @@ grestore 3183(just)s 3605(gi)s 6(v)k 3(en,)k 4253(a)s 4436(named)s 5150(parameter)s 6181(may)s 6665(import)s 7379(the)s 7745(symbol)s 8522(it)s 8732(is)s 8960(a)s 0 2875(parameter)m -1014(of:)s 220 fnt35 480 2374(e)m 6(xpor)k -8(t @Cell)k +1014(of:)s 220 fnt2 480 2374(e)m 6(xpor)k -8(t @Cell)k 480 2086(def @Tb)m 4(l)k 480 1798( impor)m -8(t @Tb)k 4(l named @F)k 6(or)k -5(mat { ...)k 13( })k -240 fnt82 0 1302(In)m 274(this)s 688(e)s 3(xample)k +240 fnt1 0 1302(In)m 274(this)s 688(e)s 3(xample)k 1569(the)s 1936(e)s 3(xported)k 2846(de\207nitions)s 3925(of)s -220 fnt35 4215 1299(@Tb)m 4(l)k 240 fnt82 4802 1302(\(i.e.)m -220 fnt35 5235 1299(@Cell)m 240 fnt82 5820 1302(\))m 5966(will)s -6411(be)s 6711(visible)s 7422(within)s 220 fnt35 8109 1299(@F)m 6(or)k -5(mat)k -240 fnt82 9022 1302(.)m 0 1014(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k +220 fnt2 4215 1299(@Tb)m 4(l)k 240 fnt1 4802 1302(\(i.e.)m +220 fnt2 5235 1299(@Cell)m 240 fnt1 5820 1302(\))m 5966(will)s +6411(be)s 6711(visible)s 7422(within)s 220 fnt2 8109 1299(@F)m 6(or)k -5(mat)k +240 fnt1 9022 1302(.)m 0 1014(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k 984(the)s 3(y)k 1472(may)s 1963(only)s 2467(be)s 2774(used)s 3296(in)s 3563(actual)s 4213(parameters,)s 5392(not)s 5782(in)s 6050(the)s 6423(def)s 2(ault)k 7168(v)s 6(alue)k @@ -5010,7 +5240,15 @@ grestore 1098(This)s 1567(is)s 1769(o)s 6(wing)k 2408(to)s 2639(implementation)s 4189(problems:)s 5237(at)s 5462(the)s 5803(time)s 6275(the)s 6616(def)s 2(ault)k 7329(v)s 6(alue)k -7890(of)s 220 fnt35 8153 723(@F)m 6(or)k -5(mat)k +7890(of)s 220 fnt2 8153 723(@F)m 6(or)k -5(mat)k + +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore grestore @@ -5029,51 +5267,54 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(20)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(20)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s 240 fnt82 0 13205(is)m 210(read,)s 728(the)s -1076(e)s 3(xported)k 1968(symbols)s 2817(ha)s 4(v)k 3(e)k -3318(not)s 3684(been)s 4193(read)s 4662(and)s 5066(are)s -5413(consequently)s 6730(not)s 7096(kno)s 6(wn.)k 480 12831(Since)m -220 fnt35 1064 12828(@Cell)m 240 fnt82 1706 12831(is)m 1913(nested)s -2579(within)s 220 fnt35 3244 12828(@Tb)m 4(l)k 240 fnt82 -3753 12831(,)m 3857(the)s 4202(v)s 6(alue)k 4766(of)s -5034(an)s 5314(in)s 9(v)k 4(ocation)k 6365(of)s -220 fnt35 6633 12828(@Cell)m 240 fnt82 7275 12831(may)m 7738(depend)s -8485(on)s 8778(the)s 0 12543(v)m 6(alue)k 582(of)s -868(parameters)s 1980(of)s 220 fnt35 2266 12540(@Tb)m 4(l)k -240 fnt82 2775 12543(.)m 2953(If)s 220 fnt35 3198 12540(@Cell)m -240 fnt82 3857 12543(is)m 4082(used)s 4593(within)s 5276(an)s -5573(actual)s 220 fnt35 6213 12540(@F)m 6(or)k -5(mat)k -240 fnt82 7200 12543(parameter)m 9(,)k 8267(its)s 8558(v)s 6(alue)k +0 13205(is)m 210(read,)s 728(the)s 1076(e)s 3(xported)k +1968(symbols)s 2817(ha)s 4(v)k 3(e)k 3318(not)s +3684(been)s 4193(read)s 4662(and)s 5066(are)s 5413(consequently)s +6730(not)s 7096(kno)s 6(wn.)k 480 12831(Since)m 220 fnt2 +1064 12828(@Cell)m 240 fnt1 1706 12831(is)m 1913(nested)s 2579(within)s +220 fnt2 3244 12828(@Tb)m 4(l)k 240 fnt1 3753 12831(,)m +3857(the)s 4202(v)s 6(alue)k 4766(of)s 5034(an)s +5314(in)s 9(v)k 4(ocation)k 6365(of)s 220 fnt2 +6633 12828(@Cell)m 240 fnt1 7275 12831(may)m 7738(depend)s 8485(on)s +8778(the)s 0 12543(v)m 6(alue)k 582(of)s 868(parameters)s +1980(of)s 220 fnt2 2266 12540(@Tb)m 4(l)k 240 fnt1 +2775 12543(.)m 2953(If)s 220 fnt2 3198 12540(@Cell)m 240 fnt1 +3857 12543(is)m 4082(used)s 4593(within)s 5276(an)s 5573(actual)s +220 fnt2 6213 12540(@F)m 6(or)k -5(mat)k 240 fnt1 +7200 12543(parameter)m 9(,)k 8267(its)s 8558(v)s 6(alue)k 0 12255(depends)m 833(on)s 1126(the)s 1471(v)s 6(alue)k 2035(of)s 2303(parameters)s 3397(of)s 3665(the)s 4009(in)s 9(v)k 4(ocation)k -5060(of)s 220 fnt35 5327 12252(@Tb)m 4(l)k 240 fnt82 -5893 12255(of)m 6160(which)s 6799(the)s 220 fnt35 7143 12252(@F)m 6(or)k -5(mat)k -240 fnt82 8112 12255(parameter)m 0 11967(is)m 210(a)s 376(part.)s +5060(of)s 220 fnt2 5327 12252(@Tb)m 4(l)k 240 fnt1 +5893 12255(of)m 6160(which)s 6799(the)s 220 fnt2 7143 12252(@F)m 6(or)k -5(mat)k +240 fnt1 8112 12255(parameter)m 0 11967(is)m 210(a)s 376(part.)s 480 11593(A)m 710(de\207nition,)s 1734(macro,)s 2438(or)s 2697(named)s 3393(parameter)s 4407(may)s 4873(ha)s 4(v)k 3(e)k 5374(se)s 6(v)k 3(eral)k 6096(alternati)s 6(v)k 3(e)k -7150(names,)s 7868(lik)s 2(e)k 8280(this:)s 220 fnt35 -480 11092(macro @CD @CentredDispla)m 6(y @CenteredDispla)k 6(y { ...)k 13( })k 240 fnt82 +7150(names,)s 7868(lik)s 2(e)k 8280(this:)s 220 fnt2 +480 11092(macro @CD @CentredDispla)m 6(y @CenteredDispla)k 6(y { ...)k 13( })k 240 fnt1 0 10594(This)m 489(is)s 713(useful)s 1366(for)s 1718(abbre)s 6(viated)k 2898(and)s 3316(alternati)s 6(v)k 3(e)k 4384(spellings,)s 5355(as)s 5618(sho)s 6(wn.)k 6416(The)s 6858(names)s @@ -5084,60 +5325,68 @@ grestore 4735(or)s 4982(import)s 5666(list,)s 6052(its)s 6316(other)s 6854(names)s 7504(are)s 7838(automaticaly)s 0 9644(included)m 882(as)s 1132(well,)s 1650(and)s 2054(should)s 2751(not)s 3117(also)s -3555(appear)s 4252(in)s 4495(the)s 4843(list.)s 240 fnt84 +3555(appear)s 4252(in)s 4495(the)s 4843(list.)s 240 fnt5 0 8851(2.4.)m 471(Filter)s 4(ed)k 1330(right)s 1894(and)s -2335(body)s 2897(parameters)s 240 fnt82 480 8374(A)m 719(right)s +2335(body)s 2897(parameters)s 240 fnt1 480 8374(A)m 719(right)s 1239(or)s 1507(body)s 2050(parameter)s 3073(may)s 3548(be)s 3839(\207ltered)s 4582(by)s 4885(some)s 5455(other)s 6015(computer)s 6987(program)s 7866(before)s 8541(being)s 0 8086(included)m 882(by)s 1176(Lout.)s 1792(As)s 2109(an)s 2392(e)s 3(xample)k 3255(of)s 3526(such)s 4022(a)s 4188(program)s 5058(we)s -5393(will)s 5819(use)s 6194(the)s 6542(Unix)s 220 fnt35 -7076 8083(sor)m -8(t)k 240 fnt82 7506 8086(command:)m 220 fnt35 -480 7587(sor)m -8(t -o out\207le in\207le)k 240 fnt82 0 7133(This)m 499(causes)s -1198(\207le)s 220 fnt35 1582 7130(out\207le)m 240 fnt82 2243 7133(to)m +5393(will)s 5819(use)s 6194(the)s 6542(Unix)s 220 fnt2 +7076 8083(sor)m -8(t)k 240 fnt1 7506 8086(command:)m 220 fnt2 +480 7587(sor)m -8(t -o out\207le in\207le)k 240 fnt1 0 7133(This)m 499(causes)s +1198(\207le)s 220 fnt2 1582 7130(out\207le)m 240 fnt1 2243 7133(to)m 2505(contain)s 3290(a)s 3480(sorted)s 4145(cop)s 2(y)k -4687(of)s 4981(\207le)s 220 fnt35 5366 7130(in\207le)m 240 fnt82 +4687(of)s 4981(\207le)s 220 fnt2 5366 7130(in\207le)m 240 fnt1 5808 7133(.)m 5996(W)s 19(e)k 6388(incorporate)s 7556(this)s 7975(into)s 8424(a)s 8614(Lout)s 0 6845(de\207nition)m 974(as)s -1224(follo)s 6(ws:)k 220 fnt35 480 6393(def @Sor)m -8(t)k +1224(follo)s 6(ws:)k 220 fnt2 480 6393(def @Sor)m -8(t)k 480 6105( named @Options {})m 480 5817( r)m -3(ight x)k 480 5529({)m 480 5241( def @Filter { sor)m -8(t @Options -o @FilterOut @FilterIn })k -480 4665( lines @Break x)m 480 4377(})m 240 fnt82 0 3883(The)m 440(presence)s -1345(within)s 220 fnt35 2026 3880(@Sor)m -8(t)k 240 fnt82 +480 4665( lines @Break x)m 480 4377(})m 240 fnt1 0 3883(The)m 440(presence)s +1345(within)s 220 fnt2 2026 3880(@Sor)m -8(t)k 240 fnt1 2728 3883(of)m 3012(a)s 3191(de\207nition)s 4178(of)s 4462(a)s -4641(symbol)s 5414(called)s 220 fnt35 6055 3880(@Filter)m 240 fnt82 +4641(symbol)s 5414(called)s 220 fnt2 6055 3880(@Filter)m 240 fnt1 6837 3883(tells)m 7298(Lout)s 7823(that)s 8254(the)s 8615(right)s -0 3595(parameter)m 1057(of)s 220 fnt35 1372 3592(@Sor)m -8(t)k -240 fnt82 2104 3595(is)m 2358(to)s 2640(be)s 2966(\207ltered)s -3743(before)s 4453(inclusion.)s 5537(When)s 220 fnt35 6210 3592(@Sor)m -8(t)k -240 fnt82 6942 3595(is)m 7196(in)s 9(v)k 4(ok)k 2(ed,)k -220 fnt35 8103 3592(@Filter)m 240 fnt82 8916 3595(is)m 0 3307(e)m 6(v)k 6(aluated)k +0 3595(parameter)m 1057(of)s 220 fnt2 1372 3592(@Sor)m -8(t)k +240 fnt1 2104 3595(is)m 2358(to)s 2640(be)s 2966(\207ltered)s +3743(before)s 4453(inclusion.)s 5537(When)s 220 fnt2 6210 3592(@Sor)m -8(t)k +240 fnt1 6942 3595(is)m 7196(in)s 9(v)k 4(ok)k 2(ed,)k +220 fnt2 8103 3592(@Filter)m 240 fnt1 8916 3595(is)m 0 3307(e)m 6(v)k 6(aluated)k 978(and)s 1399(its)s 1692(v)s 6(alue)k 2277(e)s 3(x)k 3(ecuted)k 3196(as)s 3463(a)s 3646(system)s 4387(command.)s 5512(In)s 5785(addition)s 6643(to)s 6899(the)s 7264(symbols)s 8130(ordinarily)s 0 3019(a)m 4(v)k 6(ailable)k 908(within)s 1576(the)s -1924(body)s 2458(of)s 220 fnt35 2729 3016(@Filter)m 240 fnt82 +1924(body)s 2458(of)s 220 fnt2 2729 3016(@Filter)m 240 fnt1 3438 3019(,)m 3545(there)s 4078(are)s 4425(three)s 4958(others:)s -220 fnt35 0 2513(@FilterIn)m 240 fnt82 1920 2516(the)m 2273(name)s +220 fnt2 0 2513(@FilterIn)m 240 fnt1 1920 2516(the)m 2273(name)s 2852(of)s 3128(a)s 3299(\207le)s 3665(which)s 4312(will,)s 4795(at)s 5032(the)s 5385(time)s 5870(the)s 6223(system)s 6952(command)s 7959(is)s 8175(e)s 3(x)k 3(ecuted,)k 1920 2228(contain)m 2726(the)s 3119(actual)s 3789(right)s 4345(or)s 4649(body)s 5228(parameter)s 6287(of)s 6603(the)s 6996(symbol,)s 7853(e)s 3(xactly)k 8639(as)s 8934(it)s 1920 1940(appears)m -2701(in)s 2944(the)s 3292(input)s 3844(\207le;)s 220 fnt35 -0 1434(@FilterOut)m 240 fnt82 1920 1437(the)m 2305(name)s 2916(of)s +2701(in)s 2944(the)s 3292(input)s 3844(\207le;)s 220 fnt2 +0 1434(@FilterOut)m 240 fnt1 1920 1437(the)m 2305(name)s 2916(of)s 3224(a)s 3427(\207le)s 3826(of)s 4134(Lout)s 4683(te)s 3(xt)k 5135(whose)s 5840(contents)s 6726(Lout)s 7275(will)s 7738(read)s 8244(after)s 8778(the)s 1920 1149(system)m 2657(command)s 3673(has)s 4057(\207nished,)s 4936(as)s 5200(a)s 5380(replacement)s 6620(for)s 6972(what)s 7511(w)s 2(as)k 7946(put)s 8326(into)s -8765(\207le)s 220 fnt35 1920 858(@FilterIn)m 240 fnt82 2798 861(;)m -220 fnt35 0 374(@FilterErr)m 240 fnt82 1920 377(the)m 2273(name)s +8765(\207le)s 220 fnt2 1920 858(@FilterIn)m 240 fnt1 2798 861(;)m +220 fnt2 0 374(@FilterErr)m 240 fnt1 1920 377(the)m 2273(name)s 2852(of)s 3129(a)s 3300(\207le)s 3667(that)s 4090(Lout)s 4608(will)s 5039(attempt)s 5820(to)s 6065(read)s 6539(after)s 7041(the)s 7394(system)s 8124(command)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -5154,47 +5403,49 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.4.)m 1871(F)s 10(ilter)k 8(ed)k +2688(right)s 3217(and)s 3643(body)s 4165(par)s 3(ameter)k 2(s)k +240 fnt5 10256 -1583(21)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.4.)m 454(F)s 10(ilter)k 8(ed)k -1271(right)s 1800(and)s 2226(body)s 2748(par)s 3(ameter)k 2(s)k -240 fnt84 8839 13840(21)m 240 fnt82 1920 13205(has)m 2281(\207nished,)s -3137(containing)s 4191(error)s 4705(messages)s 5649(produced)s 6589(by)s -6874(the)s 7213(command)s 8206(that)s 8614(Lout)s 1920 12917(will)m -2346(pass)s 2809(on)s 3106(to)s 3345(the)s 3693(user)s -4151(as)s 4401(non-f)s 2(atal)k 5316(errors.)s 6036(Use)s -6464(of)s 6735(this)s 7131(\207le)s 7492(is)s 7702(optional.)s -0 12414(It)m 205(is)s 415(a)s 581(f)s 2(atal)k -1057(error)s 1580(for)s 1918(the)s 2266(system)s 2990(command)s -3992(to)s 4231(return)s 4858(a)s 5024(non-zero)s 5927(status.)s -480 12040(No)m 6(w)k 1001(the)s 220 fnt35 1356 12037(sor)m -8(t)k -240 fnt82 1793 12040(command)m 2802(has)s 3179(options)s 220 fnt35 -3942 12037(-u)m 240 fnt82 4190 12040(for)m 4535(deleting)s 5365(duplicate)s -6304(lines,)s 6869(and)s 220 fnt35 7280 12037(-r)m 240 fnt82 -7493 12040(for)m 7838(re)s 6(v)k 3(ersing)k 8778(the)s -0 11752(sorting)m 717(order)s 13(.)k 1372(So)s 1678(the)s -2026(result)s 2616(of)s 220 fnt35 480 11251(@Sor)m -8(t)k -480 10963( @Options { -r -u })m 480 10675({)m 480 10387(A)m 6(usten, J)k 4(ane)k -480 10099(Dic)m 4(k)k 4(ens)k 3(, Char)k -3(les)k +1920 13205(has)m 2281(\207nished,)s 3137(containing)s +4191(error)s 4705(messages)s 5649(produced)s 6589(by)s 6874(the)s +7213(command)s 8206(that)s 8614(Lout)s 1920 12917(will)m 2346(pass)s +2809(on)s 3106(to)s 3345(the)s 3693(user)s 4151(as)s +4401(non-f)s 2(atal)k 5316(errors.)s 6036(Use)s 6464(of)s +6735(this)s 7131(\207le)s 7492(is)s 7702(optional.)s 0 12414(It)m +205(is)s 415(a)s 581(f)s 2(atal)k 1057(error)s +1580(for)s 1918(the)s 2266(system)s 2990(command)s 3992(to)s +4231(return)s 4858(a)s 5024(non-zero)s 5927(status.)s 480 12040(No)m 6(w)k +1001(the)s 220 fnt2 1356 12037(sor)m -8(t)k 240 fnt1 +1793 12040(command)m 2802(has)s 3179(options)s 220 fnt2 3942 12037(-u)m +240 fnt1 4190 12040(for)m 4535(deleting)s 5365(duplicate)s 6304(lines,)s +6869(and)s 220 fnt2 7280 12037(-r)m 240 fnt1 7493 12040(for)m +7838(re)s 6(v)k 3(ersing)k 8778(the)s 0 11752(sorting)m +717(order)s 13(.)k 1372(So)s 1678(the)s 2026(result)s +2616(of)s 220 fnt2 480 11251(@Sor)m -8(t)k 480 10963( @Options { -r -u })m +480 10675({)m 480 10387(A)m 6(usten, J)k 4(ane)k 480 10099(Dic)m 4(k)k 4(ens)k 3(, Char)k -3(les)k 480 9811(Eliot, George)m 480 9523(Hardy)m 22(, )k 11(Thomas)k 480 9235(Bront{@Char edieresis}, Char)m -3(lotte)k -480 8947(})m 240 fnt82 0 8453(is)m 480 8000(Hardy)m 15(,)k +480 8947(})m 240 fnt1 0 8453(is)m 480 8000(Hardy)m 15(,)k 1170(Thomas)s 480 7712(Eliot,)m 1051(Geor)s 4(ge)k 480 7424(Dick)m 2(ens,)k 1369(Charles)s 480 7136(Bront\353,)m 1238(Charlotte)s 480 6848(Austen,)m 1265(Jane)s 0 6364(Unlik)m 2(e)k 705(all)s 998(the)s 1347(other)s @@ -5204,7 +5455,7 @@ grestore 8778(the)s 0 6076(ability)m 661(to)s 896(format)s 1588(this)s 1980(manual)s 2735(is)s 2942(not)s 3304(dependent)s 4344(on)s 4637(the)s 4981(e)s 3(xistence)k 5919(of)s 6187(the)s -6531(Unix)s 220 fnt35 7061 6073(sor)m -8(t)k 240 fnt82 +6531(Unix)s 220 fnt2 7061 6073(sor)m -8(t)k 240 fnt1 7487 6076(command,)m 8534(and)s 8934(it)s 0 5788(highlights)m 1008(the)s 1356(f)s 2(act)k 1771(that)s 2189(\207ltered)s 2923(actual)s 3548(parameters)s 4646(are)s 4993(by)s 5287(their)s 5784(nature)s @@ -5220,34 +5471,42 @@ grestore 0 4838(parameter)m 1034(ends,)s 1601(which)s 2263(gi)s 6(v)k 3(es)k 2831(rise)s 3251(to)s 3511(the)s 3879(follo)s 6(wing)k 4877(rules.)s 5525(As)s 5863(with)s 6365(a)s 6552(body)s -7106(parameter)s 9(,)k 8179(a)s 8366(symbol)s 220 fnt35 -0 4547(@Sym)m 240 fnt82 730 4550(with)m 1235(a)s 1423(\207ltered)s +7106(parameter)s 9(,)k 8179(a)s 8366(symbol)s 220 fnt2 +0 4547(@Sym)m 240 fnt1 730 4550(with)m 1235(a)s 1423(\207ltered)s 2180(parameter)s 3217(must)s 3764(be)s 4069(in)s 9(v)k 4(ok)k 2(ed)k -4906(in)s 5172(either)s 5798(the)s 6168(form)s 220 fnt35 -6715 4547(@Sym { ...)m 13( })k 240 fnt82 7949 4550(or)m 8231(the)s -8602(form)s 220 fnt35 0 4259(@Sym @Begin ...)m 13( @End @Sym)k 240 fnt82 +4906(in)s 5172(either)s 5798(the)s 6168(form)s 220 fnt2 +6715 4547(@Sym { ...)m 13( })k 240 fnt1 7949 4550(or)m 8231(the)s +8602(form)s 220 fnt2 0 4259(@Sym @Begin ...)m 13( @End @Sym)k 240 fnt1 3120 4262(,)m 3251(plus)s 3725(options)s 4505(as)s 4779(usual.)s 5472(In)s 5753(the)s 6125(former)s 6858(case,)s 7400(braces)s 8085(within)s 8778(the)s 0 3974(actual)m 625(parameter)s 1639(must)s 2164(match;)s 2860(in)s 3103(the)s 3451(latter)s 4000(case,)s 4518(the)s 4866(actual)s 5491(parameter)s 6505(may)s 6971(not)s -7337(contain)s 220 fnt35 8098 3971(@End)m 240 fnt82 8699 3974(.)m +7337(contain)s 220 fnt2 8098 3971(@End)m 240 fnt1 8699 3974(.)m 480 3600(If)m 725(an)s 1024(actual)s 1664(\207ltered)s 2414(parameter)s -3444(contains)s 220 fnt35 4307 3597(@Include)m 240 fnt82 5229 3600(,)m +3444(contains)s 220 fnt2 4307 3597(@Include)m 240 fnt1 5229 3600(,)m 5352(this)s 5764(is)s 5989(tak)s 2(en)k 6578(to)s -6833(be)s 3(gin)k 7434(a)s 7616(Lout)s 220 fnt35 -8144 3597(@Include)m 240 fnt82 0 3312(directi)m 6(v)k 3(e)k +6833(be)s 3(gin)k 7434(a)s 7616(Lout)s 220 fnt2 +8144 3597(@Include)m 240 fnt1 0 3312(directi)m 6(v)k 3(e)k 882(in)s 1125(the)s 1473(usual)s 2033(form)s 2557(\(Section)s -3410(3.42\):)s 220 fnt35 480 2821(@Sor)m -8(t {)k 480 2533(A)m 6(usten, J)k 4(ane)k +3410(3.42\):)s 220 fnt2 480 2821(@Sor)m -8(t {)k 480 2533(A)m 6(usten, J)k 4(ane)k 480 2245(@Include { authors })m 480 1957(Hardy)m 22(, )k 11(Thomas)k 480 1669(})m -240 fnt82 0 1175(The)m 421(included)s 1296(\207le)s 1649(becomes)s -2530(part)s 2954(of)s 220 fnt35 3217 1172(@FilterIn)m 240 fnt82 +240 fnt1 0 1175(The)m 421(included)s 1296(\207le)s 1649(becomes)s +2530(part)s 2954(of)s 220 fnt2 3217 1172(@FilterIn)m 240 fnt1 4095 1175(,)m 4195(b)s 4(ut)k 4549(an)s 3(y)k -4939(braces,)s 220 fnt35 5649 1172(@Include)m 240 fnt82 6571 1175(,)m -6670(or)s 220 fnt35 6922 1172(@End)m 240 fnt82 7576 1175(within)m +4939(braces,)s 220 fnt2 5649 1172(@Include)m 240 fnt1 6571 1175(,)m +6670(or)s 220 fnt2 6922 1172(@End)m 240 fnt1 7576 1175(within)m 8236(it)s 8421(are)s 8760(not)s 0 887(noticed)m 762(by)s 1056(Lout.)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -5264,87 +5523,90 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(22)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(22)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s 240 fnt82 480 13205(The)m 928(\207rst)s 1380(character)s -2335(of)s 2627(\207le)s 220 fnt35 3009 13202(@FilterIn)m 240 fnt82 -3968 13205(will)m 4415(be)s 4718(the)s 5087(\207rst)s 5539(non-white)s -6586(space)s 7194(character)s 8149(follo)s 6(wing)k 0 12917(the)m -353(opening)s 220 fnt35 1184 12914({)m 240 fnt82 1314 12917(or)m -220 fnt35 1579 12914(@Begin)m 240 fnt82 2348 12917(,)m 2461(or)s -2726(the)s 3080(\207rst)s 3517(character)s 4457(of)s 4734(an)s -5023(included)s 5911(\207le)s 6278(if)s 220 fnt35 6501 12914(@Include)m -240 fnt82 7489 12917(comes)m 8157(\207rst.)s 8698(The)s 0 12629(second-last)m -1146(character)s 2091(of)s 2374(\207le)s 220 fnt35 2746 12626(@FilterIn)m -240 fnt82 3696 12629(will)m 4133(be)s 4427(the)s 4786(last)s -5189(non-white)s 6226(space)s 6825(character)s 7770(preceding)s 8778(the)s -0 12341(closing)m 220 fnt35 745 12338(})m 240 fnt82 871 12341(or)m -220 fnt35 1132 12338(@End @Sym)m 240 fnt82 2454 12341(,)m 2563(or)s -2824(the)s 3174(last)s 3567(character)s 4503(of)s 4775(an)s -5060(included)s 5944(\207le)s 6307(if)s 220 fnt35 6526 12338(@Include)m -240 fnt82 7510 12341(comes)m 8174(last.)s 8671(One)s 0 12053(ne)m 6(wline)k +480 13205(The)m 928(\207rst)s 1380(character)s 2335(of)s +2627(\207le)s 220 fnt2 3009 13202(@FilterIn)m 240 fnt1 3968 13205(will)m +4415(be)s 4718(the)s 5087(\207rst)s 5539(non-white)s 6586(space)s +7194(character)s 8149(follo)s 6(wing)k 0 12917(the)m 353(opening)s +220 fnt2 1184 12914({)m 240 fnt1 1314 12917(or)m 220 fnt2 +1579 12914(@Begin)m 240 fnt1 2348 12917(,)m 2461(or)s 2726(the)s +3080(\207rst)s 3517(character)s 4457(of)s 4734(an)s 5023(included)s +5911(\207le)s 6278(if)s 220 fnt2 6501 12914(@Include)m 240 fnt1 +7489 12917(comes)m 8157(\207rst.)s 8698(The)s 0 12629(second-last)m 1146(character)s +2091(of)s 2374(\207le)s 220 fnt2 2746 12626(@FilterIn)m 240 fnt1 +3696 12629(will)m 4133(be)s 4427(the)s 4786(last)s 5189(non-white)s +6226(space)s 6825(character)s 7770(preceding)s 8778(the)s 0 12341(closing)m +220 fnt2 745 12338(})m 240 fnt1 871 12341(or)m 220 fnt2 +1132 12338(@End @Sym)m 240 fnt1 2454 12341(,)m 2563(or)s 2824(the)s +3174(last)s 3567(character)s 4503(of)s 4775(an)s 5060(included)s +5944(\207le)s 6307(if)s 220 fnt2 6526 12338(@Include)m 240 fnt1 +7510 12341(comes)m 8174(last.)s 8671(One)s 0 12053(ne)m 6(wline)k 833(character)s 1794(is)s 2030(al)s 2(w)k 2(ays)k 2768(appended)s 3770(and)s 4201(is)s 4437(the)s 4812(last)s -5229(character)s 6190(of)s 6487(\207le)s 220 fnt35 6875 12050(@FilterIn)m -240 fnt82 7753 12053(.)m 7943(This)s 8446(ef)s 6(fects)k +5229(character)s 6190(of)s 6487(\207le)s 220 fnt2 6875 12050(@FilterIn)m +240 fnt1 7753 12053(.)m 7943(This)s 8446(ef)s 6(fects)k 0 11765(a)m 206(compromise)s 1484(between)s 2378(the)s 2766(Lout)s 3319(con)s 9(v)k 3(ention,)k 4518(that)s 4976(spaces)s -5691(follo)s 6(wing)k 220 fnt35 6708 11762({)m 240 fnt82 -6873 11765(or)m 7172(preceding)s 220 fnt35 8208 11762(})m 240 fnt82 +5691(follo)s 6(wing)k 220 fnt2 6708 11762({)m 240 fnt1 +6873 11765(or)m 7172(preceding)s 220 fnt2 8208 11762(})m 240 fnt1 8372 11765(are)m 8760(not)s 0 11477(signi\207cant,)m 1103(with)s 1585(the)s 1933(Unix)s 2467(con)s 9(v)k 3(ention)k 3576(that)s 3994(all)s 4287(te)s 3(xt)k 4702(\207les)s 5151(end)s 5555(with)s 6037(a)s 6203(ne)s 6(wline)k 7010(character)s 13(.)k -240 fnt84 0 10684(2.5.)m 471(Pr)s 4(ecedence)k 1677(and)s -2118(associati)s 2(vity)k 3420(of)s 3692(symbols)s 240 fnt82 +240 fnt5 0 10684(2.5.)m 471(Pr)s 4(ecedence)k 1677(and)s +2118(associati)s 2(vity)k 3420(of)s 3692(symbols)s 240 fnt1 480 10207(Ev)m 3(ery)k 1131(symbol)s 1920(in)s 2192(Lout)s -2733(has)s 3132(a)s 240 fnt83 3327 10209(pr)m 8(ecedence)k -240 fnt82 4401 10207(,)m 4538(which)s 5209(is)s 5448(a)s +2733(has)s 3132(a)s 240 fnt6 3327 10209(pr)m 8(ecedence)k +240 fnt1 4401 10207(,)m 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 9919(symbols)m 849(compete)s 1715(for)s 2053(an)s 2336(object,)s 3027(the)s 3375(one)s 3777(with)s 4259(the)s 4607(higher)s 5278(precedence)s 6409(wins)s 6912(it.)s 7208(F)s 3(or)k 7597(e)s 3(xample,)k -220 fnt35 480 9418(a | b / c)m 240 fnt82 0 8963(is)m 210(equi)s 6(v)k 6(alent)k -1253(to)s 220 fnt35 1491 8960({)m 1616(a)s 1794(|)s -1892(b)s 2067(})s 2192(/)s 2317(c)s 240 fnt82 -2482 8963(rather)m 3097(than)s 220 fnt35 3565 8960(a)m 3743(|)s +220 fnt2 480 9418(a | b / c)m 240 fnt1 0 8963(is)m 210(equi)s 6(v)k 6(alent)k +1253(to)s 220 fnt2 1491 8960({)m 1616(a)s 1794(|)s +1892(b)s 2067(})s 2192(/)s 2317(c)s 240 fnt1 +2482 8963(rather)m 3097(than)s 220 fnt2 3565 8960(a)m 3743(|)s 3841({)s 3966(b)s 4141(/)s 4266(c)s 4432(})s -240 fnt82 4496 8963(,)m 4603(because)s 220 fnt35 5415 8960(|)m -240 fnt82 5511 8963(has)m 5881(higher)s 6551(precedence)s 7681(than)s -220 fnt35 8150 8960(/)m 240 fnt82 8273 8963(and)m 8676(thus)s -0 8675(wins)m 503(the)s 220 fnt35 851 8672(b)m 240 fnt82 +240 fnt1 4496 8963(,)m 4603(because)s 220 fnt2 5415 8960(|)m +240 fnt1 5511 8963(has)m 5881(higher)s 6551(precedence)s 7681(than)s +220 fnt2 8150 8960(/)m 240 fnt1 8273 8963(and)m 8676(thus)s +0 8675(wins)m 503(the)s 220 fnt2 851 8672(b)m 240 fnt1 965 8675(.)m 480 8301(When)m 1149(the)s 1538(tw)s 2(o)k 1988(competing)s 3092(symbols)s 3981(ha)s 4(v)k 3(e)k 4523(equal)s 5137(precedence,)s 6359(Lout)s 6912(applies)s 7680(a)s 7887(second)s 8651(rule.)s 0 8013(Each)m 545(symbol)s 1316(is)s -1537(either)s 240 fnt83 2151 8015(left-associative)m 240 fnt82 3659 8013(or)m -240 fnt83 3929 8015(right-associative)m 240 fnt82 5528 8013(.)m 5703(The)s -6142(v)s 6(alue)k 6720(of)s 220 fnt35 7002 8010(a)m -7180(op1)s 7564(b)s 7739(op2)s 8156(c)s 240 fnt82 +1537(either)s 240 fnt6 2151 8015(left-associative)m 240 fnt1 3659 8013(or)m +240 fnt6 3929 8015(right-associative)m 240 fnt1 5528 8013(.)m 5703(The)s +6142(v)s 6(alue)k 6720(of)s 220 fnt2 7002 8010(a)m +7180(op1)s 7564(b)s 7739(op2)s 8156(c)s 240 fnt1 8332 8013(is)m 8553(tak)s 2(en)k 0 7725(to)m 252(be)s -220 fnt35 547 7722({)m 672(a)s 850(op1)s 1234(b)s -1409(})s 1534(op2)s 1951(c)s 240 fnt82 2129 7725(if)m +220 fnt2 547 7722({)m 672(a)s 850(op1)s 1234(b)s +1409(})s 1534(op2)s 1951(c)s 240 fnt1 2129 7725(if)m 2359(the)s 2720(symbols)s 3582(are)s 3942(both)s 4438(left-associati)s 6(v)k 3(e,)k -5993(and)s 220 fnt35 6410 7722(a op1 { b op2 c })m 240 fnt82 8072 7725(if)m +5993(and)s 220 fnt2 6410 7722(a op1 { b op2 c })m 240 fnt1 8072 7725(if)m 8302(the)s 3(y)k 8779(are)s 0 7437(right-associati)m 6(v)k 3(e.)k 1733(In)s 1989(cases)s 2544(not)s 2910(co)s 3(v)k 3(ered)k 3719(by)s 4013(these)s 4560(tw)s 2(o)k 4970(rules,)s @@ -5353,26 +5615,26 @@ grestore 4402(same)s 4935(re)s 3(g)k 1(ardless)k 5937(of)s 6195(ho)s 6(w)k 6642(the)s 6977(e)s 3(xpression)k 8041(is)s 8237(grouped.)s 0 6775(F)m 3(or)k 382(e)s 3(xample,)k -220 fnt35 1289 6772({)m 1414(a)s 1592(|)s 1690(b)s -1865(})s 1990(|)s 2088(c)s 240 fnt82 2246 6775(and)m -220 fnt35 2643 6772(a)m 2821(|)s 2919({)s 3044(b)s -3219(|)s 3317(c)s 3483(})s 240 fnt82 3599 6775(are)m +220 fnt2 1289 6772({)m 1414(a)s 1592(|)s 1690(b)s +1865(})s 1990(|)s 2088(c)s 240 fnt1 2246 6775(and)m +220 fnt2 2643 6772(a)m 2821(|)s 2919({)s 3044(b)s +3219(|)s 3317(c)s 3483(})s 240 fnt1 3599 6775(are)m 3939(al)s 2(w)k 2(ays)k 4643(the)s 4984(same,)s 5575(for)s 5905(an)s 3(y)k 6295(combination)s 7541(of)s 7805(objects,)s 8581(g)s 1(aps,)k 0 6487(and)m 416(v)s 6(ariants)k -1230(of)s 220 fnt35 1513 6484(|)m 240 fnt82 1550 6487(.)m +1230(of)s 220 fnt2 1513 6484(|)m 240 fnt1 1550 6487(.)m 1727(In)s 1995(such)s 2504(cases)s 3071(the)s 3432(symbols)s -4293(are)s 4653(said)s 5108(to)s 5360(be)s 240 fnt83 -5654 6489(associative)m 240 fnt82 6709 6487(,)m 6829(and)s 7245(we)s +4293(are)s 4653(said)s 5108(to)s 5360(be)s 240 fnt6 +5654 6489(associative)m 240 fnt1 6709 6487(,)m 6829(and)s 7245(we)s 7593(can)s 7995(con\207dently)s 0 6199(omit)m 498(the)s 846(braces.)s 480 5825(User)m 4(-de\207ned)k 1769(symbols)s 2618(may)s 3084(be)s 3366(gi)s 6(v)k 3(en)k 3946(a)s 4112(precedence)s -5243(and)s 5647(associati)s 6(vity:)k 220 fnt35 480 5324(def @Super)m +5243(and)s 5647(associati)s 6(vity:)k 220 fnt2 480 5324(def @Super)m 480 5036( precedence 50)m 480 4748( associativity r)m -3(ight)k 480 4460( left x)m 480 4172( r)m -3(ight y)k 480 3884({)m 480 3596( @OneRo)m 3(w { | -2p @F)k 6(ont y ^/0.5fk x })k 480 3308(})m -240 fnt82 0 2814(The)m 3(y)k 541(come)s 1113(just)s -1516(after)s 2010(an)s 3(y)k 220 fnt35 2405 2811(into)m -240 fnt82 2809 2814(clause)m 3460(and)s 3862(before)s 4526(an)s 3(y)k +240 fnt1 0 2814(The)m 3(y)k 541(come)s 1113(just)s +1516(after)s 2010(an)s 3(y)k 220 fnt2 2405 2811(into)m +240 fnt1 2809 2814(clause)m 3460(and)s 3862(before)s 4526(an)s 3(y)k 4921(parameter)s 5933(de\207nitions.)s 7105(The)s 7531(precedence)s 8660(may)s 0 2526(be)m 280(an)s 3(y)k 674(whole)s 1313(number)s 2101(between)s 2952(10)s 3245(and)s 3646(100,)s 4110(and)s @@ -5380,14 +5642,22 @@ grestore 6943(v)s 6(alue)k 7509(100.)s 8030(The)s 8455(higher)s 0 2238(the)m 373(number)s 9(,)k 1227(the)s 1600(higher)s 2296(the)s 2669(precedence.)s 3933(The)s 4386(associati)s 6(vity)k -5654(may)s 6145(be)s 220 fnt35 6452 2235(left)m 240 fnt82 -6825 2238(or)m 220 fnt35 7109 2235(r)m -3(ight)k 240 fnt82 +5654(may)s 6145(be)s 220 fnt2 6452 2235(left)m 240 fnt1 +6825 2238(or)m 220 fnt2 7109 2235(r)m -3(ight)k 240 fnt1 7534 2238(,)m 7666(and)s 8095(if)s 8338(omitted)s 0 1950(def)m 2(aults)k -805(to)s 220 fnt35 1044 1947(r)m -3(ight)k 240 fnt82 +805(to)s 220 fnt2 1044 1947(r)m -3(ight)k 240 fnt1 1469 1950(.)m 1633(Lout')s 13(s)k 2295(symbols)s 3144(ha)s 4(v)k 3(e)k 3645(the)s 3993(follo)s 6(wing)k 4970(precedences)s 6189(and)s 6593(associati)s 6(vities:)k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -5404,46 +5674,49 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.5.)m 1871(Pr)s 8(ecedence)k 3031(and)s +3457(associativity)s 4707(of)s 4988(symbols)s 240 fnt5 10250 -1583(23)m +gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.5.)m 454(Pr)s 8(ecedence)k 1614(and)s -2040(associativity)s 3290(of)s 3571(symbols)s 240 fnt84 8833 13840(23)m -240 fnt82 480 13170(Precedence)m 1904(Associati)s 6(vity)k 3493(Symbols)s -969 12594(5)m 2011(associati)s 6(v)k 3(e)k 220 fnt35 -3493 12591(/ ^/ // ^//)m 240 fnt82 965 12306(6)m 2011(associati)s 6(v)k 3(e)k -220 fnt35 3493 12303(| ^| || ^||)m 240 fnt82 968 12018(7)m 2011(associati)s 6(v)k 3(e)k -220 fnt35 3493 12015(& ^&)m 240 fnt82 968 11730(7)m 2011(associati)s 6(v)k 3(e)k -220 fnt35 3493 11727(&)m 240 fnt82 3695 11730(in)m 3938(the)s +480 13170(Precedence)m 1904(Associati)s 6(vity)k 3493(Symbols)s 969 12594(5)m +2011(associati)s 6(v)k 3(e)k 220 fnt2 3493 12591(/ ^/ // ^//)m +240 fnt1 965 12306(6)m 2011(associati)s 6(v)k 3(e)k +220 fnt2 3493 12303(| ^| || ^||)m 240 fnt1 968 12018(7)m 2011(associati)s 6(v)k 3(e)k +220 fnt2 3493 12015(& ^&)m 240 fnt1 968 11730(7)m 2011(associati)s 6(v)k 3(e)k +220 fnt2 3493 11727(&)m 240 fnt1 3695 11730(in)m 3938(the)s 4286(form)s 4810(of)s 5081(one)s 5483(or)s 5742(more)s -6289(white)s 6876(space)s 7463(characters)s 685 11442(10-100)m 220 fnt35 -2012 11439(left)m 240 fnt82 2360 11442(or)m 220 fnt35 2619 11439(r)m -3(ight)k -240 fnt82 3493 11442(user)m 4(-de\207ned)k 4729(symbols)s 844 11154(100)m -220 fnt35 2316 11151(r)m -3(ight)k 3493(@Wide)s 240 fnt82 -4207 11154(,)m 220 fnt35 4314 11151(@High)m 240 fnt82 4973 11154(,)m -220 fnt35 5080 11151(@Gr)m 2(aphic)k 240 fnt82 6064 11154(,)m -6171(etc.)s 854 10866(101)m 2494(-)s 220 fnt35 3493 10863(&&)m -240 fnt82 845 10578(102)m 2011(associati)s 6(v)k 3(e)k -220 fnt35 3493 10575(&)m 240 fnt82 3695 10578(in)m 3938(the)s +6289(white)s 6876(space)s 7463(characters)s 685 11442(10-100)m 220 fnt2 +2012 11439(left)m 240 fnt1 2360 11442(or)m 220 fnt2 2619 11439(r)m -3(ight)k +240 fnt1 3493 11442(user)m 4(-de\207ned)k 4729(symbols)s 844 11154(100)m +220 fnt2 2316 11151(r)m -3(ight)k 3493(@Wide)s 240 fnt1 +4207 11154(,)m 220 fnt2 4314 11151(@High)m 240 fnt1 4973 11154(,)m +220 fnt2 5080 11151(@Gr)m 2(aphic)k 240 fnt1 6064 11154(,)m +6171(etc.)s 854 10866(101)m 2494(-)s 220 fnt2 3493 10863(&&)m +240 fnt1 845 10578(102)m 2011(associati)s 6(v)k 3(e)k +220 fnt2 3493 10575(&)m 240 fnt1 3695 10578(in)m 3938(the)s 4286(form)s 4810(of)s 5081(0)s 5256(spaces)s 850 10290(103)m 2494(-)s 3493(Body)s 4067(parameters)s 5165(and)s 5569(right)s -6080(parameters)s 7178(of)s 220 fnt35 7449 10287(@Open)m 240 fnt82 +6080(parameters)s 7178(of)s 220 fnt2 7449 10287(@Open)m 240 fnt1 0 9749(Actually)m 883(the)s 1238(precedence)s 2375(of)s 2653(juxtaposition)s 3965(\(tw)s 2(o)k 4461(objects)s 5195(separated)s 6162(by)s 6462(zero)s 6933(spaces\))s 7691(is)s 7908(a)s 8080(little)s @@ -5459,9 +5732,9 @@ grestore 2486(accord)s 3171(better)s 3764(with)s 4235(what)s 4750(people)s 5434(e)s 3(xpect)k 6104(and)s 6498(need)s 6998(in)s 7230(practice)s 8031(than)s 8490(a)s 8645(pure)s 0 8597(precedence)m -1131(rule)s 1558(can)s 1947(do.)s 240 fnt84 0 7804(2.6.)m +1131(rule)s 1558(can)s 1947(do.)s 240 fnt5 0 7804(2.6.)m 471(The)s 926(style)s 1446(and)s 1887(size)s 2314(of)s -2586(objects)s 240 fnt82 480 7327(This)m 944(section)s 1666(e)s 3(xplains)k +2586(objects)s 240 fnt1 480 7327(This)m 944(section)s 1666(e)s 3(xplains)k 2499(ho)s 6(w)k 2948(Lout)s 3448(determines)s 4535(the)s 4870(style)s 5365(and)s 5757(size)s 6172(of)s 6431(each)s 6914(object.)s 7650(T)s 19(ogether)k 9(,)k 8579(these)s @@ -5471,44 +5744,52 @@ grestore 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 fnt35 -5932 6159(f)m 240 fnt82 6050 6162(unit\);)m 0 5659(\213)m 480(Whether)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 0 5659(\213)m 480(Whether)s 1363(small)s 1935(capitals)s 2715(are)s 3062(in)s 3305(ef)s 6(fect)k 3901(or)s 4160(not;)s 0 5156(\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 fnt35 7809 5153(s)m -240 fnt82 7972 5156(unit\);)m 0 4653(\213)m 480(The)s 900(interpretation)s +6106(\(also)s 6623(de\207ning)s 7461(the)s 220 fnt2 7809 5153(s)m +240 fnt1 7972 5156(unit\);)m 0 4653(\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 fnt35 6684 4650(lout)m 240 fnt82 7033 4653(,)m 220 fnt35 -7132 4650(compress)m 240 fnt82 8077 4653(,)m 220 fnt35 8175 4650(separ)m 2(ate)k -240 fnt82 9019 4653(,)m 220 fnt35 480 4362(troff)m 240 fnt82 -855 4365(,)m 962(or)s 220 fnt35 1221 4362(te)m 6(x)k -240 fnt82 1566 4365(as)m 1816(in)s 2059(Section)s 2833(3.5\);)s +220 fnt2 6684 4650(lout)m 240 fnt1 7033 4653(,)m 220 fnt2 +7132 4650(compress)m 240 fnt1 8077 4653(,)m 220 fnt2 8175 4650(separ)m 2(ate)k +240 fnt1 9019 4653(,)m 220 fnt2 480 4362(troff)m 240 fnt1 +855 4365(,)m 962(or)s 220 fnt2 1221 4362(te)m 6(x)k +240 fnt1 1566 4365(as)m 1816(in)s 2059(Section)s 2833(3.5\);)s 0 3871(\213)m 480(The)s 908(current)s 1644(v)s 6(alue)k -2212(of)s 2483(the)s 220 fnt35 2831 3868(y)m 240 fnt82 -2999 3871(and)m 220 fnt35 3403 3868(z)m 240 fnt82 3567 3871(units)m +2212(of)s 2483(the)s 220 fnt2 2831 3868(y)m 240 fnt1 +2999 3871(and)m 220 fnt2 3403 3868(z)m 240 fnt1 3567 3871(units)m 4083(of)s 4354(measurement)s 5688(\(Section)s 6541(3.6\);)s 0 3370(\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 fnt35 -4648 3367(adjust)m 240 fnt82 5229 3370(,)m 220 fnt35 5336 3367(r)m 2(agged)k -240 fnt82 6005 3370(,)m 6112(etc.\))s 0 2867(\213)m 480(What)s +3566(to)s 3805(emplo)s 2(y)k 4575(\()s 220 fnt2 +4648 3367(adjust)m 240 fnt1 5229 3370(,)m 220 fnt2 5336 3367(r)m 2(agged)k +240 fnt1 6005 3370(,)m 6112(etc.\))s 0 2867(\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 fnt35 7063 2864(v)m 240 fnt82 +5877(de\207ning)s 6715(the)s 220 fnt2 7063 2864(v)m 240 fnt1 7232 2867(unit\);)m 0 2364(\213)m 480(Whether)s 1363(to)s 1602(permit)s 2285(h)s 1(yphenation)k 3525(or)s 3784(not;)s 0 1861(\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 0 1358(\213)m 480(Whether)s -220 fnt35 1363 1355(@Outline)m 240 fnt82 2332 1358(is)m 2542(in)s +220 fnt2 1363 1355(@Outline)m 240 fnt1 2332 1358(is)m 2542(in)s 2785(ef)s 6(fect;)k 0 874(\213)m 480(The)s 908(language)s 1828(of)s 2099(the)s 2447(object;)s 0 371(\213)m 480(Whether)s -220 fnt35 1363 368(@V)m 17(Adjust)k 240 fnt82 2320 371(,)m -220 fnt35 2427 368(@HAdjust)m 240 fnt82 3473 371(and)m 220 fnt35 -3877 368(@P)m 26(Adjust)k 240 fnt82 4885 371(are)m 5232(in)s +220 fnt2 1363 368(@V)m 17(Adjust)k 240 fnt1 2320 371(,)m +220 fnt2 2427 368(@HAdjust)m 240 fnt1 3473 371(and)m 220 fnt2 +3877 368(@P)m 26(Adjust)k 240 fnt1 4885 371(are)m 5232(in)s 5475(ef)s 6(fect.)k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -5525,71 +5806,73 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(24)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(24)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s 240 fnt82 0 13205(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 5064(the)s 5407(\207nal)s -5882(document.)s 6984(F)s 3(or)k 7368(e)s 3(xample,)k -8277(the)s 8619(style)s 0 12917(of)m 286(a)s 467(parameter)s -1497(depends)s 2348(on)s 2661(where)s 3316(it)s 3524(is)s -3749(used;)s 4316(the)s 4679(style)s 5201(of)s 5488(a)s -5669(g)s 1(alle)k 3(y)k 6319(is)s 6544(the)s -6908(style)s 7430(of)s 7717(the)s 8080(\207rst)s 8527(tar)s 4(get)k -0 12629(that)m 415(it)s 603(attempts)s 1459(to)s 1695(attach)s -2318(itself)s 2862(to.)s 3208(Of)s 3529(course,)s 4256(the)s -4600(style)s 5103(of)s 5371(an)s 3(y)k 5764(object)s -6404(can)s 6789(be)s 7068(changed)s 7920(by)s 8210(using)s -8778(the)s 220 fnt35 0 12338(@F)m 6(ont)k 240 fnt82 -652 12341(,)m 220 fnt35 759 12338(@Break)m 240 fnt82 1555 12341(,)m -220 fnt35 1662 12338(@Space)m 240 fnt82 2499 12341(,)m 220 fnt35 -2606 12338(@SetColour)m 240 fnt82 3863 12341(or)m 220 fnt35 4122 12338(@SetColor)m -240 fnt82 5197 12341(,)m 220 fnt35 5304 12338(@Outline)m 240 fnt82 -6213 12341(,)m 6320(and)s 220 fnt35 6724 12338(@Language)m 240 fnt82 -7975 12341(symbols.)m 480 11967(There)m 1102(are)s 1459(no)s 1761(standard)s -2639(def)s 2(ault)k 3369(v)s 6(alues)k 4035(for)s -4382(style,)s 4950(e)s 3(xcept)k 5640(that)s 6068(small)s -6649(capitals)s 7439(and)s 7852(outlining)s 8779(are)s 0 11679(initially)m -800(of)s 6(f,)k 1183(the)s 1535(interpretation)s 2882(of)s -3157(white)s 3748(space)s 4339(is)s 4553(initially)s 220 fnt35 -5354 11676(lout)m 240 fnt82 5703 11679(,)m 5814(and)s 6222(the)s -6574(v)s 6(alues)k 7234(of)s 7509(the)s 220 fnt35 -7861 11676(y)m 240 fnt82 8033 11679(and)m 220 fnt35 8441 11676(z)m -240 fnt82 8610 11679(units)m 0 11391(are)m 355(zero.)s 939(Therefore)s -1945(one)s 2356(must)s 2890(ensure)s 3578(that)s 4005(the)s -4362(root)s 4816(g)s 1(alle)k 3(y)k 5459(or)s -5726(each)s 6230(of)s 6510(its)s 6795(components)s 8012(is)s -8231(enclosed)s 0 11103(in)m 220 fnt35 238 11100(@F)m 6(ont)k -240 fnt82 890 11103(,)m 220 fnt35 992 11100(@Break)m 240 fnt82 -1788 11103(,)m 220 fnt35 1890 11100(@SetColour)m 240 fnt82 3142 11103(or)m -220 fnt35 3396 11100(@SetColor)m 240 fnt82 4471 11103(,)m 4573(and)s -220 fnt35 4972 11100(@Language)m 240 fnt82 6218 11103(symbols.)m 7175(From)s +0 13205(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 5064(the)s 5407(\207nal)s 5882(document.)s +6984(F)s 3(or)k 7368(e)s 3(xample,)k 8277(the)s +8619(style)s 0 12917(of)m 286(a)s 467(parameter)s 1497(depends)s +2348(on)s 2661(where)s 3316(it)s 3524(is)s 3749(used;)s +4316(the)s 4679(style)s 5201(of)s 5488(a)s 5669(g)s 1(alle)k 3(y)k +6319(is)s 6544(the)s 6908(style)s 7430(of)s 7717(the)s +8080(\207rst)s 8527(tar)s 4(get)k 0 12629(that)m 415(it)s +603(attempts)s 1459(to)s 1695(attach)s 2318(itself)s 2862(to.)s +3208(Of)s 3529(course,)s 4256(the)s 4600(style)s 5103(of)s +5371(an)s 3(y)k 5764(object)s 6404(can)s 6789(be)s +7068(changed)s 7920(by)s 8210(using)s 8778(the)s 220 fnt2 +0 12338(@F)m 6(ont)k 240 fnt1 652 12341(,)m 220 fnt2 +759 12338(@Break)m 240 fnt1 1555 12341(,)m 220 fnt2 1662 12338(@Space)m +240 fnt1 2499 12341(,)m 220 fnt2 2606 12338(@SetColour)m 240 fnt1 +3863 12341(or)m 220 fnt2 4122 12338(@SetColor)m 240 fnt1 5197 12341(,)m +220 fnt2 5304 12338(@Outline)m 240 fnt1 6213 12341(,)m 6320(and)s +220 fnt2 6724 12338(@Language)m 240 fnt1 7975 12341(symbols.)m 480 11967(There)m +1102(are)s 1459(no)s 1761(standard)s 2639(def)s 2(ault)k +3369(v)s 6(alues)k 4035(for)s 4382(style,)s 4950(e)s 3(xcept)k +5640(that)s 6068(small)s 6649(capitals)s 7439(and)s 7852(outlining)s +8779(are)s 0 11679(initially)m 800(of)s 6(f,)k 1183(the)s +1535(interpretation)s 2882(of)s 3157(white)s 3748(space)s 4339(is)s +4553(initially)s 220 fnt2 5354 11676(lout)m 240 fnt1 5703 11679(,)m +5814(and)s 6222(the)s 6574(v)s 6(alues)k 7234(of)s +7509(the)s 220 fnt2 7861 11676(y)m 240 fnt1 8033 11679(and)m +220 fnt2 8441 11676(z)m 240 fnt1 8610 11679(units)m 0 11391(are)m +355(zero.)s 939(Therefore)s 1945(one)s 2356(must)s 2890(ensure)s +3578(that)s 4005(the)s 4362(root)s 4816(g)s 1(alle)k 3(y)k +5459(or)s 5726(each)s 6230(of)s 6510(its)s 6795(components)s +8012(is)s 8231(enclosed)s 0 11103(in)m 220 fnt2 238 11100(@F)m 6(ont)k +240 fnt1 890 11103(,)m 220 fnt2 992 11100(@Break)m 240 fnt1 +1788 11103(,)m 220 fnt2 1890 11100(@SetColour)m 240 fnt1 3142 11103(or)m +220 fnt2 3396 11100(@SetColor)m 240 fnt1 4471 11103(,)m 4573(and)s +220 fnt2 4972 11100(@Language)m 240 fnt1 6218 11103(symbols.)m 7175(From)s 7748(there)s 8276(the)s 8619(style)s 0 10815(is)m 206(passed)s 897(to)s 1131(incoming)s 2083(g)s 1(alle)k 3(ys)k 2802(and)s 3202(the)s 3545(objects)s 4268(within)s 4931(them.)s -5568(Enclosure)s 6576(in)s 220 fnt35 6814 10812(@Space)m 240 fnt82 +5568(Enclosure)s 6576(in)s 220 fnt2 6814 10812(@Space)m 240 fnt1 7706 10815(is)m 7911(not)s 8272(required)s 0 10527(because)m 813(the)s -220 fnt35 1161 10524(s)m 240 fnt82 1324 10527(unit)m 1756(is)s -1966(also)s 2404(set)s 2729(by)s 220 fnt35 3023 10524(@F)m 6(ont)k -240 fnt82 3735 10527(\(Section)m 4588(3.5\).)s 536 10153(The)m 959(remainder)s +220 fnt2 1161 10524(s)m 240 fnt1 1324 10527(unit)m 1756(is)s +1966(also)s 2404(set)s 2729(by)s 220 fnt2 3023 10524(@F)m 6(ont)k +240 fnt1 3735 10527(\(Section)m 4588(3.5\).)s 536 10153(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 5699(each)s 6189(object)s 6829(\(its)s 7179(width)s 7777(and)s @@ -5605,60 +5888,68 @@ grestore 4768(of)s 5039(an)s 5323(object)s 5967(is)s 6178(as)s 6428(lar)s 4(ge)k 6958(as)s 7208(it)s 7401(possibly)s 8253(could)s 8844(be)s 0 8915(without)m 784(violating)s 1679(a)s -220 fnt35 1837 8912(@Wide)m 240 fnt82 2603 8915(symbol)m 3355(or)s +220 fnt2 1837 8912(@Wide)m 240 fnt1 2603 8915(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 8627(objects.)m 841(As)s 1158(an)s 1441(aid)s 1791(to)s 2030(in)s 9(v)k 3(estig)k 1(ating)k 3305(this)s 3701(rule,)s 4179(we)s 4514(will)s 4940(use)s 5315(the)s -5663(de\207nition)s 220 fnt35 480 8126(def @TightBo)m 6(x r)k -3(ight x)k +5663(de\207nition)s 220 fnt2 480 8126(def @TightBo)m 6(x r)k -3(ight x)k 480 7838({)m 480 7550( "0 0 mo)m 3(v)k 5(eto xsiz)k 3(e 0 lineto xsiz)k 3(e ysiz)k 3(e lineto 0 ysiz)k 3(e lineto closepath strok)k 4(e")k -480 7262( @Gr)m 2(aphic x)k 480 6974(})m 240 fnt82 0 6480(which)m +480 7262( @Gr)m 2(aphic x)k 480 6974(})m 240 fnt1 0 6480(which)m 657(dra)s 3(ws)k 1291(a)s 1472(box)s 1903(around)s 2641(the)s 3004(boundary)s 3978(of)s 4265(its)s 4556(right)s 5082(parameter)s 6111(\(Section)s 6980(3.38\))s 7543(with)s 8040(no)s 8349(mar)s 4(gin.)k 0 6192(The)m 428(result)s 1018(of)s -220 fnt35 480 5741(5c @Wide @TightBo)m 6(x metempsychosis)k 240 fnt82 0 5242(is)m +220 fnt2 480 5741(5c @Wide @TightBo)m 6(x metempsychosis)k 240 fnt1 0 5242(is)m 2835 215 0 106 240 288 60 480 4737 LoutGr2 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore 0 52(metempsychosis)m grestore -0 4286(The)m 432(widest)s 1120(that)s 220 fnt35 -1542 4283(@TightBo)m 6(x metempsychosis)k 240 fnt82 4377 4286(could)m 4971(possibly)s +0 4286(The)m 432(widest)s 1120(that)s 220 fnt2 +1542 4283(@TightBo)m 6(x metempsychosis)k 240 fnt1 4377 4286(could)m 4971(possibly)s 5827(be)s 6113(is)s 6327(\207v)s 3(e)k 6743(centimetres,)s 7954(and)s 8363(accord)s 8998(-)s 0 3998(ingly)m 552(that)s 977(is)s 1194(its)s 1477(width.)s 2193(The)s 2628(same)s -3182(applies)s 3917(to)s 220 fnt35 4163 3995(metempsychosis)m 240 fnt82 +3182(applies)s 3917(to)s 220 fnt2 4163 3995(metempsychosis)m 240 fnt1 5791 3998(,)m 5905(which)s 6554(is)s 6771(\207v)s 3(e)k 7190(centimetres)s 8348(wide)s 8876(as)s 0 3710(well.)m 583(Note)s 1113(carefully)s 2024(that)s 2451(there)s 2992(is)s 3211(no)s 3513(object)s 4166(in)s 4418(this)s 4822(e)s 3(xample)k 5694(whose)s 6371(width)s 6982(is)s 7200(equal)s 7782(to)s 8030(the)s 8387(sum)s 8855(of)s 0 3422(the)m 348(widths)s -1037(of)s 1308(the)s 1656(letters)s 2289(of)s 220 fnt35 -2560 3419(metempsychosis)m 240 fnt82 4188 3422(.)m 480 3048(The)m 903(\207rst)s +1037(of)s 1308(the)s 1656(letters)s 2289(of)s 220 fnt2 +2560 3419(metempsychosis)m 240 fnt1 4188 3422(.)m 480 3048(The)m 903(\207rst)s 1329(of)s 1595(the)s 1938(three)s 2466(e)s 3(xceptions)k 3532(to)s 3766(the)s 4109(`as)s 4433(wide)s 4949(as)s -5194(possible')s 6085(rule)s 6507(is)s 6712(the)s 220 fnt35 -7055 3045(@HContr)m 2(act)k 240 fnt82 8314 3048(symbol,)m 0 2760(which)m +5194(possible')s 6085(rule)s 6507(is)s 6712(the)s 220 fnt2 +7055 3045(@HContr)m 2(act)k 240 fnt1 8314 3048(symbol,)m 0 2760(which)m 644(causes)s 1322(the)s 1672(width)s 2277(of)s 2551(its)s 2829(right)s 3343(parameter)s 4360(to)s 4601(be)s 4886(reduced)s 5703(to)s 5945(a)s 6114(reasonable)s 7194(minimum)s 8187(\(a)s 8435(formal)s 0 2472(de\207nition)m 974(will)s 1400(not)s 1766(be)s -2048(attempted\):)s 220 fnt35 480 1971(5c @Wide @HContr)m 2(act @TightBo)k 6(x metempsychosis)k -240 fnt82 0 1472(produces)m 1572 215 0 106 240 288 60 480 917 LoutGr2 +2048(attempted\):)s 220 fnt2 480 1971(5c @Wide @HContr)m 2(act @TightBo)k 6(x metempsychosis)k +240 fnt1 0 1472(produces)m 1572 215 0 106 240 288 60 480 917 LoutGr2 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore 0 52(metempsychosis)m grestore 0 466(The)m 482(object)s -220 fnt35 1180 463(@HContr)m 2(act @TightBo)k 6(x metempsychosis)k 240 fnt82 +220 fnt2 1180 463(@HContr)m 2(act @TightBo)k 6(x metempsychosis)k 240 fnt1 5334 466(is)m 5598(still)s 6064(\207v)s 3(e)k 6530(centimetres)s 7735(wide,)s 8361(b)s 4(ut)k 8778(the)s 0 178(object)m -220 fnt35 644 175(@TightBo)m 6(x metempsychosis)k 240 fnt82 3475 178(has)m +220 fnt2 644 175(@TightBo)m 6(x metempsychosis)k 240 fnt1 3475 178(has)m 3845(been)s 4354(reduced.)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -5675,35 +5966,38 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.6.)m 1871(The)s 2283(style)s 2773(and)s +3199(size)s 3610(of)s 3891(objects)s 240 fnt5 10250 -1583(25)m +gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.6.)m 454(The)s 866(style)s 1356(and)s -1782(size)s 2193(of)s 2474(objects)s 240 fnt84 8833 13840(25)m -240 fnt82 480 13205(The)m 922(second)s 1659(of)s 1945(the)s -2307(three)s 2855(e)s 3(xceptions)k 3940(is)s 4165(the)s -4527(horizontal)s 5565(concatenation)s 6965(symbol)s 220 fnt35 7739 13202(|)m -240 fnt82 7851 13205(\(and)m 8348(also)s 220 fnt35 8801 13202(&)m -240 fnt82 8943 13205(\).)m 0 12917(Consider)m 924(this)s 1320(e)s 3(xample:)k -220 fnt35 480 12416(5c @Wide @TightBo)m 6(x { A |1c B |1c C })k 240 fnt82 0 11917(As)m +480 13205(The)m 922(second)s 1659(of)s 1945(the)s 2307(three)s +2855(e)s 3(xceptions)k 3940(is)s 4165(the)s 4527(horizontal)s +5565(concatenation)s 6965(symbol)s 220 fnt2 7739 13202(|)m 240 fnt1 +7851 13205(\(and)m 8348(also)s 220 fnt2 8801 13202(&)m 240 fnt1 +8943 13205(\).)m 0 12917(Consider)m 924(this)s 1320(e)s 3(xample:)k +220 fnt2 480 12416(5c @Wide @TightBo)m 6(x { A |1c B |1c C })k 240 fnt1 0 11917(As)m 317(usual,)s 929(the)s 1277(right)s 1788(parameter)s 2802(of)s -220 fnt35 3073 11914(@Wide)m 240 fnt82 3847 11917(is)m 4057(\207v)s 3(e)k +220 fnt2 3073 11914(@Wide)m 240 fnt1 3847 11917(is)m 4057(\207v)s 3(e)k 4469(centimetres)s 5620(wide,)s 6192(and)s 6596(the)s 6944(result)s 7534(looks)s 8104(lik)s 2(e)k 8516(this:)s 2835 165 0 57 240 288 60 480 11412 LoutGr2 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke @@ -5727,12 +6021,12 @@ grestore 6546(required,)s 7450(and)s 7855(each)s 8351(column)s 0 9723(will)m 431(be)s 719(assigned)s 1607(a)s 1779(reasonable)s 2863(minimum)s 3858(size)s 4291(in)s 4540(the)s 4894(manner)s 5677(of)s -220 fnt35 5953 9720(@HContr)m 2(act)k 240 fnt82 7157 9723(,)m +220 fnt2 5953 9720(@HContr)m 2(act)k 240 fnt1 7157 9723(,)m 7270(e)s 3(xcept)k 7957(that)s 8381(the)s 8735(last)s 0 9435(column)m 775(recei)s 6(v)k 3(es)k 1599(all)s 1892(the)s 2240(lefto)s 3(v)k 3(er)k 3036(width.)s -3745(F)s 3(or)k 4134(e)s 3(xample,)k 220 fnt35 -480 8934(5c @Wide { @TightBo)m 6(x A |1c @TightBo)k 6(x B |1c @TightBo)k 6(x C })k 240 fnt82 +3745(F)s 3(or)k 4134(e)s 3(xample,)k 220 fnt2 +480 8934(5c @Wide { @TightBo)m 6(x A |1c @TightBo)k 6(x B |1c @TightBo)k 6(x C })k 240 fnt1 0 8435(has)m 370(result)s 170 165 0 57 240 288 60 480 7980 LoutGr2 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore @@ -5755,22 +6049,22 @@ grestore 6825(into)s 7257(the)s 7612(last)s 8010(column,)s 8843(an)s 0 7241(empty)m 654(column)s 1431(can)s 1822(be)s 2106(appended,)s 3133(or)s 3394(the)s 3744(last)s 4137(column)s 4914(can)s -5305(be)s 5589(enclosed)s 6486(in)s 220 fnt35 6731 7238(@HContr)m 2(act)k -240 fnt82 7935 7241(.)m 8101(T)s 19(w)k 2(o)k +5305(be)s 5589(enclosed)s 6486(in)s 220 fnt2 6731 7238(@HContr)m 2(act)k +240 fnt1 7935 7241(.)m 8101(T)s 19(w)k 2(o)k 8575(other)s 0 6953(w)m 2(ays)k 560(to)s 819(apportion)s 1813(the)s 2181(lefto)s 3(v)k 3(er)k 2997(width)s 3619(are)s 3986(pro)s 3(vided)k 4912(by)s 5226(the)s -220 fnt35 5594 6950(@HExpand)m 240 fnt82 6787 6953(and)m 220 fnt35 -7211 6950(@HAdjust)m 240 fnt82 8277 6953(symbols)m 0 6665(\(Sections)m 940(3.13)s +220 fnt2 5594 6950(@HExpand)m 240 fnt1 6787 6953(and)m 220 fnt2 +7211 6950(@HAdjust)m 240 fnt1 8277 6953(symbols)m 0 6665(\(Sections)m 940(3.13)s 1404(and)s 1808(3.16\).)s 480 6291(The)m 914(third)s 1430(and)s 1841(\207nal)s 2328(e)s 3(xception)k 3319(to)s 3565(the)s 3920(`as)s 4255(wide)s 4783(as)s 5040(possible')s 5943(rule)s 6377(concerns)s 7285(the)s 7640(components)s 8855(of)s 0 6003(the)m 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 4777(in)s 220 fnt35 5020 6000(@HContr)m 2(act)k -240 fnt82 6284 6003(and)m 220 fnt35 6688 6000(@VContr)m 2(act)k -240 fnt82 7940 6003(symbols.)m 480 5629(Up)m 836(to)s 1086(this)s +3882(enclosed)s 4777(in)s 220 fnt2 5020 6000(@HContr)m 2(act)k +240 fnt1 6284 6003(and)m 220 fnt2 6688 6000(@VContr)m 2(act)k +240 fnt1 7940 6003(symbols.)m 480 5629(Up)m 836(to)s 1086(this)s 1493(point)s 2056(we)s 2401(ha)s 4(v)k 3(e)k 2913(treated)s 3631(width)s 4244(as)s 4505(a)s 4681(single)s 5319(quantity)s 15(,)k 6206(b)s 4(ut)k 6579(of)s @@ -5778,8 +6072,8 @@ grestore 8556(parts:)s 0 5341(width)m 602(to)s 841(left)s 1218(and)s 1622(right)s 2133(of)s 2404(the)s 2752(mark.)s 3407(The)s 3835(`as)s 4164(wide)s 4685(as)s 4935(possible')s 5831(rule)s -6258(applies)s 6986(to)s 7225(both)s 7708(directions:)s 220 fnt35 -480 4840(@HContr)m 2(act { @TightBo)k 6(x 953^.05 /0.5c @TightBo)k 6(x 2^.8286 })k 240 fnt82 +6258(applies)s 6986(to)s 7225(both)s 7708(directions:)s 220 fnt2 +480 4840(@HContr)m 2(act { @TightBo)k 6(x 953^.05 /0.5c @TightBo)k 6(x 2^.8286 })k 240 fnt1 0 4341(has)m 370(result)s 877 170 344 59 240 288 60 480 3881 LoutGr2 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath stroke grestore @@ -5797,15 +6091,15 @@ grestore 4856(seen,)s 5379(b)s 4(ut)k 5732(here)s 6190(some)s 6742(width)s 7335(w)s 2(as)k 7747(a)s 4(v)k 6(ailable)k 8646(only)s 0 2692(to)m 239(the)s 587(left)s 964(of)s -220 fnt35 1235 2689(2.8286)m 240 fnt82 1958 2692(o)m 6(wing)k +220 fnt2 1235 2689(2.8286)m 240 fnt1 1958 2692(o)m 6(wing)k 2604(to)s 2843(the)s 3191(column)s 3966(mark)s 4518(alignment.)s -240 fnt84 0 1899(2.7.)m 471(Galleys)s 1282(and)s 1723(tar)s 2(gets)k -240 fnt82 480 1422(The)m 909(beha)s 4(viour)k 1924(of)s +240 fnt5 0 1899(2.7.)m 471(Galleys)s 1282(and)s 1723(tar)s 2(gets)k +240 fnt1 480 1422(The)m 909(beha)s 4(viour)k 1924(of)s 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 6816(1.4,)s 7225(can)s 7616(be)s 7900(summarized)s -0 1134(in)m 243(three)s 776(la)s 3(ws:)k 240 fnt83 -0 682(F)m 10(ir)k 2(st)k 540(Law)s 240 fnt82 +0 1134(in)m 243(three)s 776(la)s 3(ws:)k 240 fnt6 +0 682(F)m 10(ir)k 2(st)k 540(Law)s 240 fnt1 949 680(:)m 1139(The)s 1592(\207rst)s 2047(tar)s 4(get)k 2671(is)s 2905(the)s 3278(closest)s 4012(in)s 9(v)k 4(ocation)k 5091(of)s 5386(the)s 5759(tar)s 4(get)k 6382(symbol,)s @@ -5816,6 +6110,14 @@ grestore 7233(space)s 7814(to)s 8048(recei)s 6(v)k 3(e)k 8778(the)s 0 104(\207rst)m 431(component;)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -5832,42 +6134,45 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(26)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13257 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(26)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s 0 13205(Second)m 773(Law)s 240 fnt82 1182 13203(:)m -1364(Each)s 1915(subsequent)s 3055(tar)s 4(get)k 3670(is)s -3896(the)s 4259(closest)s 4985(in)s 9(v)k 4(ocation)k +240 fnt6 0 13205(Second)m 773(Law)s 240 fnt1 +1182 13203(:)m 1364(Each)s 1915(subsequent)s 3055(tar)s 4(get)k +3670(is)s 3896(the)s 4259(closest)s 4985(in)s 9(v)k 4(ocation)k 6055(of)s 6342(the)s 6706(tar)s 4(get)k 7321(symbol,)s 8149(follo)s 6(wing)k 0 12915(the)m 337(pre)s 6(vious)k 1195(tar)s 4(get)k 1783(and)s 2176(lying)s 2710(within)s 3367(the)s 3704(same)s 4240(g)s 1(alle)k 3(y)k 15(,)k 4901(which)s 5532(has)s 5891(suf\207cient)s 6829(space)s 7405(to)s 7633(recei)s 6(v)k 3(e)k 8358(the)s 8695(\207rst)s -0 12627(remaining)m 1022(component;)s 240 fnt83 0 12124(Thir)m 8(d)k -607(Law)s 240 fnt82 1016 12122(:)m 1199(A)s 1446(recepti)s 6(v)k 3(e)k +0 12627(remaining)m 1022(component;)s 240 fnt6 0 12124(Thir)m 8(d)k +607(Law)s 240 fnt1 1016 12122(:)m 1199(A)s 1446(recepti)s 6(v)k 3(e)k 2385(symbol)s 3162(that)s 3597(does)s 4104(not)s 4487(recei)s 6(v)k 3(e)k 5240(at)s 5489(least)s 6003(one)s 6422(component)s 7563(of)s 7851(an)s 3(y)k 8265(g)s 1(alle)k 3(y)k -8916(is)s 0 11834(replaced)m 867(by)s 220 fnt35 1161 11831(@Null)m -240 fnt82 1746 11834(.)m 0 11331(The)m 436(terms)s 1025(`closest,)s 16(')k +8916(is)s 0 11834(replaced)m 867(by)s 220 fnt2 1161 11831(@Null)m +240 fnt1 1746 11834(.)m 0 11331(The)m 436(terms)s 1025(`closest,)s 16(')k 1918(`preceding,)s 16(')k 3104(and)s 3516(`follo)s 6(wing')k 4639(refer)s 5156(to)s 5403(position)s 6239(in)s 6490(the)s 6846(\207nal)s 7334(printed)s 8078(document.)s 0 11043(This)m 476(section)s @@ -5881,7 +6186,7 @@ grestore 1330(in)s 1572(tw)s 2(o.)k 2091(The)s 2518(object)s 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 10093(a)m 240 fnt83 166 10095(component)m 240 fnt82 1281 10093(of)m +0 10093(a)m 240 fnt6 166 10095(component)m 240 fnt1 1281 10093(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 5975(be)s 6257(split.)s 480 9719(T)m 19(o)k 813(determine)s @@ -5889,12 +6194,12 @@ grestore 4690(e)s 3(xpand)k 5470(all)s 5797(symbols)s 6679(other)s 7264(than)s 7766(recursi)s 6(v)k 3(e)k 8722(and)s 0 9431(recepti)m 6(v)k 3(e)k 909(ones,)s 1442(discard)s -2177(all)s 220 fnt35 2457 9428(@F)m 6(ont)k 240 fnt82 -3109 9431(,)m 220 fnt35 3203 9428(@Break)m 240 fnt82 3999 9431(,)m -220 fnt35 4093 9428(@Space)m 240 fnt82 4930 9431(,)m 220 fnt35 -5024 9428(@SetColor)m 240 fnt82 6099 9431(,)m 220 fnt35 6193 9428(@SetColour)m -240 fnt82 7390 9431(,)m 7484(and)s 220 fnt35 7875 9428(@Language)m -240 fnt82 0 9143(symbols,)m 908(perform)s 1740(paragraph)s 2756(breaking)s +2177(all)s 220 fnt2 2457 9428(@F)m 6(ont)k 240 fnt1 +3109 9431(,)m 220 fnt2 3203 9428(@Break)m 240 fnt1 3999 9431(,)m +220 fnt2 4093 9428(@Space)m 240 fnt1 4930 9431(,)m 220 fnt2 +5024 9428(@SetColor)m 240 fnt1 6099 9431(,)m 220 fnt2 6193 9428(@SetColour)m +240 fnt1 7390 9431(,)m 7484(and)s 220 fnt2 7875 9428(@Language)m +240 fnt1 0 9143(symbols,)m 908(perform)s 1740(paragraph)s 2756(breaking)s 3649(as)s 3902(required,)s 4809(and)s 5216(discard)s 5967(all)s 6263(redundant)s 7283(braces.)s 8060(Then)s 8613(vie)s 6(w)k 0 8855(the)m 367(g)s 1(alle)k 3(y)k 1020(as)s @@ -5907,19 +6212,27 @@ grestore 2853(not)s 3219(eligible)s 3991(to)s 4230(be)s 4512(split)s 4983(points.)s 5732(F)s 3(or)k 6121(e)s 3(xample,)k 7035(gi)s 6(v)k 3(en)k 7615(the)s 7963(de\207nition)s -220 fnt35 480 7778(def @Section into { @SectionPlace&&preceding })m 480 7490( named @Title {})m 480 7202( r)m -3(ight @Body)k +220 fnt2 480 7778(def @Section into { @SectionPlace&&preceding })m 480 7490( named @Title {})m 480 7202( r)m -3(ight @Body)k 480 6914({)m 480 6626( 15p @F)m 6(ont { @Title //0.7f })k 480 6338( //)m 480 6050( @Body)m -480 5762(})m 240 fnt82 0 5268(the)m 348(g)s 1(alle)k 3(y)k -220 fnt35 480 4767(@Section)m 480 4479( @Title { Introduction })m 480 4191({ )m 11(This is a subject that really)k -480 3903(needs no introduction.)m 13( })k 240 fnt82 0 3409(becomes)m 220 fnt35 +480 5762(})m 240 fnt1 0 5268(the)m 348(g)s 1(alle)k 3(y)k +220 fnt2 480 4767(@Section)m 480 4479( @Title { Introduction })m 480 4191({ )m 11(This is a subject that really)k +480 3903(needs no introduction.)m 13( })k 240 fnt1 0 3409(becomes)m 220 fnt2 480 2962(Introduction)m 480 2674(//0.7f)m 480 2386({})m 480 2098(//)m 480 1810(This is a subject that really needs)m -480 1522(//1vx)m 480 1234(no introduction.)m 240 fnt82 0 780(with)m 482(four)s -939(components.)s 2260(If)s 220 fnt35 2489 777(@Body)m 240 fnt82 -3269 780(had)m 3673(been)s 4181(preceded)s 5102(by)s 220 fnt35 -5395 777(|1.0c)m 240 fnt82 5921 780(in)m 6164(the)s 6511(de\207nition,)s +480 1522(//1vx)m 480 1234(no introduction.)m 240 fnt1 0 780(with)m 482(four)s +939(components.)s 2260(If)s 220 fnt2 2489 777(@Body)m 240 fnt1 +3269 780(had)m 3673(been)s 4181(preceded)s 5102(by)s 220 fnt2 +5395 777(|1.0c)m 240 fnt1 5921 780(in)m 6164(the)s 6511(de\207nition,)s 7535(the)s 7882(result)s 8471(w)s 2(ould)k 0 492(ha)m 4(v)k 3(e)k 501(been)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -5937,116 +6250,119 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.7.)m 1871(Galle)s 7(ys)k 2649(and)s +3075(tar)s 8(g)k 2(ets)k 240 fnt5 10248 -1583(27)m +gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13268 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.7.)m 454(Galle)s 7(ys)k 1232(and)s -1658(tar)s 8(g)k 2(ets)k 240 fnt84 8831 13840(27)m -220 fnt35 480 13211(Introduction)m 480 12923(//0.7f)m 480 12635({})m 480 12347(//)m -480 12059(|1.0c { )m 11(This is a subject that really needs //1vx no introduction.)k 13( })k 240 fnt82 0 11561(with)m -220 fnt35 524 11558(//1vx)m 240 fnt82 1089 11561(b)m 4(uried)k +220 fnt2 480 13211(Introduction)m 480 12923(//0.7f)m 480 12635({})m 480 12347(//)m +480 12059(|1.0c { )m 11(This is a subject that really needs //1vx no introduction.)k 13( })k 240 fnt1 0 11561(with)m +220 fnt2 524 11558(//1vx)m 240 fnt1 1089 11561(b)m 4(uried)k 1796(within)s 2507(one)s 2951(component)s 4118(and)s 4564(hence)s 5221(not)s 5629(a)s 5838(potential)s 6771(split)s 7285(point.)s -7983(If)s 220 fnt35 8256 11558(0.7f)m 240 fnt82 8722 11561(had)m -0 11273(been)m 220 fnt35 525 11270(0.7fu)m 240 fnt82 999 11273(,)m +7983(If)s 220 fnt2 8256 11558(0.7f)m 240 fnt1 8722 11561(had)m +0 11273(been)m 220 fnt2 525 11270(0.7fu)m 240 fnt1 999 11273(,)m 1123(the)s 1488(g)s 1(ap)k 1903(w)s 2(ould)k 2575(ha)s 4(v)k 3(e)k 3092(been)s 3618(unbreakable)s -4860(and)s 220 fnt35 5281 11270(//0.7fu)m 240 fnt82 5954 11273(w)m 2(ould)k +4860(and)s 220 fnt2 5281 11270(//0.7fu)m 240 fnt1 5954 11273(w)m 2(ould)k 6625(not)s 7008(ha)s 4(v)k 3(e)k 7526(been)s 8052(a)s 8235(potential)s 0 10985(split)m 471(point.)s 480 10611(V)m 26(ersion)k 1310(3.03)s 1816(has)s 2228(liberalized)s 3335(this)s 3773(some)s 6(what)k 4840(in)s 5125(the)s 5515(follo)s 6(wing)k 6534(w)s 2(ay)k 15(.)k 7122(When)s 7793(a)s 8002(component)s 0 10323(consists)m 808(of)s 1080(a)s 1247(horizontal)s 2271(sequence)s 3205(of)s 3477(tw)s 2(o)k -3887(or)s 4147(more)s 4695(objects)s 240 fnt83 5423 10325(A)m -168 fnt78 5558 10232(1)m 240 fnt78 5637 10317(,)m 5746(\274)s -6046(,)s 240 fnt83 6155 10325(A)m 168 fnt83 6290 10238(n)m -240 fnt82 6431 10323(separated)m 7391(by)s 220 fnt35 7686 10320(|)m -240 fnt82 7784 10323(\(not)m 220 fnt35 8229 10320(||)m 240 fnt82 -8323 10323(,)m 8431(not)s 220 fnt35 8798 10320(&)m 240 fnt82 +3887(or)s 4147(more)s 4695(objects)s 240 fnt6 5423 10325(A)m +168 fnt4 5558 10232(1)m 240 fnt4 5637 10317(,)m 5746(\274)s +6046(,)s 240 fnt6 6155 10325(A)m 168 fnt6 6290 10238(n)m +240 fnt1 6431 10323(separated)m 7391(by)s 220 fnt2 7686 10320(|)m +240 fnt1 7784 10323(\(not)m 220 fnt2 8229 10320(||)m 240 fnt1 +8323 10323(,)m 8431(not)s 220 fnt2 8798 10320(&)m 240 fnt1 8940 10323(\),)m 0 10035(Lout)m 506(will)s 926(in)s 9(v)k 3(estig)k 1(ate)k 1998(the)s 2339(component)s 3457(to)s 3690(see)s 4044(whether)s 4868(it)s 5054(can)s 5436(be)s 5712(brok)s 2(en)k 6426(up.)s 6823(It)s 7022(looks)s 7586(at)s 7811(each)s -240 fnt83 8300 10037(A)m 168 fnt83 8435 9950(i)m 240 fnt82 +240 fnt6 8300 10037(A)m 168 fnt6 8435 9950(i)m 240 fnt1 8533 10035(to)m 8765(see)s 0 9747(whether)m 830(it)s 1023(is)s 1234(a)s 1401(v)s 3(ertical)k 2169(concatenation)s 3555(of)s -3827(objects)s 240 fnt83 4556 9749(A)m 168 fnt83 4691 9662(i)m -168 fnt78 4743 9656(1)m 240 fnt78 4822 9741(,)m 4932(\274)s -5232(,)s 240 fnt83 5342 9749(A)m 168 fnt83 5477 9662(im)m -240 fnt82 5641 9747(;)m 5754(if)s 5972(tw)s 2(o)k -6383(or)s 6643(more)s 7191(of)s 7463(the)s 240 fnt83 -7812 9749(A)m 168 fnt83 7947 9662(i)m 240 fnt82 8052 9747(satisfy)m +3827(objects)s 240 fnt6 4556 9749(A)m 168 fnt6 4691 9662(i)m +168 fnt4 4743 9656(1)m 240 fnt4 4822 9741(,)m 4932(\274)s +5232(,)s 240 fnt6 5342 9749(A)m 168 fnt6 5477 9662(im)m +240 fnt1 5641 9747(;)m 5754(if)s 5972(tw)s 2(o)k +6383(or)s 6643(more)s 7191(of)s 7463(the)s 240 fnt6 +7812 9749(A)m 168 fnt6 7947 9662(i)m 240 fnt1 8052 9747(satisfy)m 8730(this)s 0 9459(condition,)m 1009(the)s 1354(component)s 2475(will)s 2898(not)s 3262(be)s 3541(brok)s 2(en)k 4258(up.)s 4659(So)s 4962(no)s 6(w)k 5421(suppose)s 6246(we)s 6578(ha)s 4(v)k 3(e)k 7076(just)s 7479(one)s -240 fnt83 7878 9461(A)m 168 fnt83 8013 9374(i)m 240 fnt82 +240 fnt6 7878 9461(A)m 168 fnt6 8013 9374(i)m 240 fnt1 8114 9459(which)m 8753(is)s 8960(a)s 0 9171(v)m 3(ertical)k 757(concatenation.)s 2239(Lout)s 2741(will)s 3156(break)s 3738(the)s 4076(component)s 5189(into)s 5604(one)s 5996(component)s 7109(for)s -7437(each)s 7922(of)s 8182(the)s 240 fnt83 8520 9173(A)m -168 fnt83 8655 9086(i)m 168 fnt78 8707 9080(1)m 240 fnt78 -8775 9165(,)m 8851(\274)s 3 8877(,)m 240 fnt83 80 8885(A)m -168 fnt83 215 8798(im)m 240 fnt82 379 8883(,)m 476(pro)s 3(vided)k +7437(each)s 7922(of)s 8182(the)s 240 fnt6 8520 9173(A)m +168 fnt6 8655 9086(i)m 168 fnt4 8707 9080(1)m 240 fnt4 +8775 9165(,)m 8851(\274)s 3 8877(,)m 240 fnt6 80 8885(A)m +168 fnt6 215 8798(im)m 240 fnt1 379 8883(,)m 476(pro)s 3(vided)k 1373(that)s 1781(the)s 3(y)k 2234(are)s 2571(separated)s -3521(by)s 220 fnt35 3806 8880(//)m 240 fnt82 3981 8883(symbols)m -4820(\(not)s 220 fnt35 5255 8880(/)m 240 fnt82 5319 8883(\),)m +3521(by)s 220 fnt2 3806 8880(//)m 240 fnt1 3981 8883(symbols)m +4820(\(not)s 220 fnt2 5255 8880(/)m 240 fnt1 5319 8883(\),)m 5495(and)s 5890(pro)s 3(vided)k 6786(this)s 7172(can)s 7551(be)s 7823(done)s 8335(without)s 0 8595(introducing)m 1155(an)s 3(y)k 1550(apparent)s 2431(change)s 3164(into)s 3587(the)s 3933(appearance)s 5062(of)s 5332(the)s 5678(component)s 6800(\(this)s 7274(second)s 7995(rule)s 8420(will)s 8844(be)s 0 8307(satis\207ed)m 847(if)s -1071(the)s 1426(other)s 240 fnt83 1984 8309(A)m 168 fnt83 -2119 8222(j)m 240 fnt82 2232 8307(are)m 2586(not)s 2959(v)s 3(ery)k +1071(the)s 1426(other)s 240 fnt6 1984 8309(A)m 168 fnt6 +2119 8222(j)m 240 fnt1 2232 8307(are)m 2586(not)s 2959(v)s 3(ery)k 3442(lar)s 4(ge\).)k 4165(The)s 4600(e)s 3(xample)k 5470(abo)s 3(v)k 3(e)k 6099(satis\207es)s 6913(all)s 7213(these)s 7767(rules)s 8289(and)s 8700(will)s 0 7996(be)m 282(brok)s 2(en)k 1002(up)s 1295(into)s 1720(tw)s 2(o)k -2130(components,)s 3394(so)s 3660(the)s 220 fnt35 4008 7993(//1vx)m -240 fnt82 4530 7996(becomes)m 5418(a)s 5584(potential)s 6475(split)s +2130(components,)s 3394(so)s 3660(the)s 220 fnt2 4008 7993(//1vx)m +240 fnt1 4530 7996(becomes)m 5418(a)s 5584(potential)s 6475(split)s 6946(point)s 7498(after)s 7994(all.)s 480 7622(The)m 913(lines)s 1421(of)s 1697(a)s 1869(paragraph)s 2887(become)s 3693(separate)s 4536(components)s 5750(if)s 5972(the)s 6326(paragraph)s 7344(occupies)s 8238(an)s 8527(entire)s 0 7334(component)m 1151(before)s 1844(breaking;)s 2820(otherwise)s 3833(the)s 3(y)k 4323(are)s 4697(enclosed)s -5619(in)s 5890(a)s 220 fnt35 6083 7331(@OneRo)m 3(w)k -240 fnt82 7241 7334(symbol)m 8028(within)s 8724(one)s 0 7046(component.)m +5619(in)s 5890(a)s 220 fnt2 6083 7331(@OneRo)m 3(w)k +240 fnt1 7241 7334(symbol)m 8028(within)s 8724(one)s 0 7046(component.)m 1237(The)s 1675(same)s 2232(is)s 2452(true)s 2888(of)s 3169(incoming)s 4136(components)s 5354(of)s 5635(other)s 6195(g)s 1(alle)k 3(ys.)k -7042(If)s 7282(a)s 220 fnt35 7458 7043(@Galle)m 4(y)k -240 fnt82 8366 7046(symbol)m 0 6758(occupies)m 892(an)s 1180(entire)s +7042(If)s 7282(a)s 220 fnt2 7458 7043(@Galle)m 4(y)k +240 fnt1 8366 7046(symbol)m 0 6758(occupies)m 892(an)s 1180(entire)s 1783(component)s 2912(by)s 3211(the)s 3563(rules)s 4083(abo)s 3(v)k 3(e,)k 4761(then)s 5234(the)s 5587(incoming)s 6549(components)s 7761(that)s 8184(replace)s 8934(it)s 0 6470(become)m 800(components)s 2008(of)s -2279(their)s 2776(ne)s 6(w)k 3223(home:)s 220 fnt35 +2279(their)s 2776(ne)s 6(w)k 3223(home:)s 220 fnt2 480 5916(An e)m 6(xample)k 480 5628(//0.5c)m 480 5340(@Galle)m 4(y)k -480 5052(//0.5c)m 480 4764(@SomethingList)m 240 fnt78 2500 5625(\336)m 220 fnt35 +480 5052(//0.5c)m 480 4764(@SomethingList)m 240 fnt4 2500 5625(\336)m 220 fnt2 3141 5916(An e)m 6(xample)k 3141 5628(//0.5c)m 3141 5340(Incoming components)m 3141 5052(//0.2c)m -3141 4764(from some other galle)m 4(y)k 3141 4476(//0.5c)m 3141 4188(@SomethingList)m 240 fnt82 +3141 4764(from some other galle)m 4(y)k 3141 4476(//0.5c)m 3141 4188(@SomethingList)m 240 fnt1 0 3632(Otherwise)m 1062(the)s 1435(incoming)s 2416(components)s 3649(are)s -4020(grouped)s 4888(within)s 5580(a)s 220 fnt35 5771 3629(@OneRo)m 3(w)k -240 fnt82 6926 3632(symbol)m 7711(and)s 8139(lie)s 8458(within)s +4020(grouped)s 4888(within)s 5580(a)s 220 fnt2 5771 3629(@OneRo)m 3(w)k +240 fnt1 6926 3632(symbol)m 7711(and)s 8139(lie)s 8458(within)s 0 3344(one)m 402(component.)s 480 2970(This)m 985(distinction)s 2080(has)s 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 -7017(symbol)s 220 fnt35 7806 2967(//1.1b)m 240 fnt82 8347 2970(,)m +7017(symbol)s 220 fnt2 7806 2967(//1.1b)m 240 fnt1 8347 2970(,)m 8484(which)s 0 2682(calls)m 509(for)s 868(more)s 1436(space)s 2045(than)s 2535(is)s 2766(a)s 4(v)k 6(ailable)k 3695(\(Section)s 4570(3.2\).)s 5134(There)s 5768(is)s 5999(no)s @@ -6057,12 +6373,20 @@ grestore 6613(But)s 7025(it)s 7223(can)s 7618(be)s 7906(promoted)s 8887(to)s 0 2106(between)m 854(tw)s 2(o)k 1264(components.)s 480 1732(Components)m 1749(may)s 2223(be)s 2513(separated)s 3481(by)s -220 fnt35 3783 1729(/)m 240 fnt82 3914 1732(as)m 4172(well)s -4646(as)s 4904(by)s 220 fnt35 5206 1729(//)m 240 fnt82 +220 fnt2 3783 1729(/)m 240 fnt1 3914 1732(as)m 4172(well)s +4646(as)s 4904(by)s 220 fnt2 5206 1729(//)m 240 fnt1 5331 1732(,)m 5445(gi)s 6(ving)k 6112(rise)s 6520(to)s 6767(column)s 7550(mark)s 8110(alignment)s 0 1444(between)m 854(adjacent)s 1710(components:)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -6079,30 +6403,30 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(28)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(28)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s gsave -480 12008 translate -240 fnt82 1701 1360 567 1360 240 288 60 LoutGraphic -gsave +1701 1360 567 1360 240 288 60 480 12008 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 1701 1360 567 1360 240 288 60 0 0 LoutGr2 @@ -6131,20 +6455,20 @@ grestore grestore end end restore grestore -240 fnt82 0 11557(When)m 688(aligned)s 1509(components)s -2777(are)s 3183(promoted)s 4218(into)s 4702(dif)s 6(ferent)k -5637(tar)s 4(gets,)k 6435(the)s 6843(meaning)s 7779(of)s -8110(alignment)s 0 11269(becomes)m 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 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 10981(what)m 525(if)s -742(one)s 1144(lies)s 1526(within)s 220 fnt35 2194 10978(90d @Rotate)m -240 fnt82 3482 10981(?)m 480 10607(The)m 908(truth)s 1416(is)s -1626(that)s 220 fnt35 2044 10604(/)m 240 fnt82 2168 10607(causes)m -2843(all)s 3136(the)s 3484(objects)s 4212(that)s 4630(share)s -5190(a)s 5356(mark)s 5908(to)s 6147(ha)s 4(v)k 3(e)k -6648(equal)s 7221(width:)s 1701 1360 567 1360 240 288 60 480 8907 LoutGr2 +0 11557(When)m 688(aligned)s 1509(components)s 2777(are)s +3183(promoted)s 4218(into)s 4702(dif)s 6(ferent)k 5637(tar)s 4(gets,)k +6435(the)s 6843(meaning)s 7779(of)s 8110(alignment)s 0 11269(becomes)m +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 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 10981(what)m 525(if)s 742(one)s 1144(lies)s 1526(within)s +220 fnt2 2194 10978(90d @Rotate)m 240 fnt1 3482 10981(?)m 480 10607(The)m +908(truth)s 1416(is)s 1626(that)s 220 fnt2 2044 10604(/)m +240 fnt1 2168 10607(causes)m 2843(all)s 3136(the)s 3484(objects)s +4212(that)s 4630(share)s 5190(a)s 5356(mark)s 5908(to)s +6147(ha)s 4(v)k 3(e)k 6648(equal)s 7221(width:)s +1701 1360 567 1360 240 288 60 480 8907 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 1701 1360 567 1360 240 288 60 0 0 LoutGr2 @@ -6188,44 +6512,43 @@ grestore grestore end end restore grestore -0 8455(This)m 495(is)s 724(a)s -909(consequence)s 2207(of)s 2497(the)s 2864(`as)s 3212(wide)s -3753(as)s 4022(possible')s 4937(rule)s 5383(\(Section)s 6255(2.6\).)s -6817(Mark)s 7415(alignment)s 8451(occurs)s 240 fnt83 0 8169(incidentally)m -240 fnt82 1124 8167(,)m 1231(whene)s 6(v)k 3(er)k -2212(the)s 2560(fragments)s 3566(are)s 3913(placed)s 4595(into)s -5020(similar)s 5742(conte)s 3(xts.)k 480 7793(In)m 723(this)s -1106(connection)s 2200(we)s 2521(must)s 3033(also)s 3458(consider)s -4315(the)s 4649(special)s 5354(case)s 5808(of)s 6066(a)s -220 fnt35 6218 7790(@Galle)m 4(y)k 240 fnt82 7103 7793(symbol)m -7850(which)s 8478(shares)s 0 7505(its)m 276(column)s 1051(mark)s -1603(with)s 2085(some)s 2646(other)s 3197(object:)s 220 fnt35 -480 7004(@Galle)m 4(y)k 480 6716(/0.2c)m 480 6428(@SomethingList)m 240 fnt82 -0 5929(\(The)m 220 fnt35 501 5926(@Galle)m 4(y)k 240 fnt82 -1392 5929(may)m 1851(or)s 2104(may)s 2563(not)s 2922(occup)s 2(y)k -3660(an)s 3936(entire)s 4528(component;)s 5698(that)s 6109(doesn')s 4(t)k -6862(matter)s 7525(here.\))s 8177(If)s 8400(incom)s 8998(-)s -0 5641(ing)m 355(components)s 1559(are)s 1901(separated)s 2857(by)s -220 fnt35 3147 5638(//)m 240 fnt82 3327 5641(rather)m 3939(than)s -4404(by)s 220 fnt35 4693 5638(/)m 240 fnt82 4757 5641(,)m -4860(the)s 5204(meaning)s 6076(is)s 6282(so)s 6544(doubtful)s -7405(that)s 7819(this)s 8211(is)s 8416(forbid)s 8998(-)s -0 5353(den.)m 496(In)s 738(f)s 2(act,)k 1186(a)s -1337(g)s 1(alle)k 3(y)k 1957(whose)s 2611(components)s -3804(replace)s 4535(such)s 5017(a)s 220 fnt35 5168 5350(@Galle)m 4(y)k -240 fnt82 6052 5353(must)m 6563(ha)s 4(v)k 3(e)k -7049(a)s 7201(single)s 7814(column)s 8574(mark)s 0 5065(running)m -783(its)s 1043(full)s 1413(length;)s 2108(that)s 2510(is,)s -2760(its)s 3021(components)s 4213(must)s 4722(all)s 4999(share)s -5544(a)s 5694(single)s 6305(column)s 7065(mark.)s 7704(This)s -8164(mark)s 8700(will)s 0 4777(be)m 281(mer)s 4(ged)k -1050(with)s 1530(the)s 1876(column)s 2649(mark)s 3199(passing)s -3969(through)s 4769(each)s 220 fnt35 5262 4774(@Galle)m 4(y)k -240 fnt82 6158 4777(that)m 6574(these)s 7119(components)s 8325(replace;)s -0 4489(all)m 293(the)s 641(objects)s 1369(on)s 1666(the)s -2014(resulting)s 2903(mer)s 4(ged)k 3674(mark)s 4226(will)s -4652(ha)s 4(v)k 3(e)k 5153(equal)s 5726(width.)s -480 4115(The)m 906(root)s 1348(g)s 1(alle)k 3(y)k 15(,)k +0 8455(This)m 495(is)s 724(a)s 909(consequence)s 2207(of)s +2497(the)s 2864(`as)s 3212(wide)s 3753(as)s 4022(possible')s +4937(rule)s 5383(\(Section)s 6255(2.6\).)s 6817(Mark)s 7415(alignment)s +8451(occurs)s 240 fnt6 0 8169(incidentally)m 240 fnt1 1124 8167(,)m +1231(whene)s 6(v)k 3(er)k 2212(the)s 2560(fragments)s +3566(are)s 3913(placed)s 4595(into)s 5020(similar)s 5742(conte)s 3(xts.)k +480 7793(In)m 723(this)s 1106(connection)s 2200(we)s 2521(must)s +3033(also)s 3458(consider)s 4315(the)s 4649(special)s 5354(case)s +5808(of)s 6066(a)s 220 fnt2 6218 7790(@Galle)m 4(y)k +240 fnt1 7103 7793(symbol)m 7850(which)s 8478(shares)s 0 7505(its)m +276(column)s 1051(mark)s 1603(with)s 2085(some)s 2646(other)s +3197(object:)s 220 fnt2 480 7004(@Galle)m 4(y)k 480 6716(/0.2c)m +480 6428(@SomethingList)m 240 fnt1 0 5929(\(The)m 220 fnt2 501 5926(@Galle)m 4(y)k +240 fnt1 1392 5929(may)m 1851(or)s 2104(may)s 2563(not)s +2922(occup)s 2(y)k 3660(an)s 3936(entire)s 4528(component;)s +5698(that)s 6109(doesn')s 4(t)k 6862(matter)s 7525(here.\))s +8177(If)s 8400(incom)s 8998(-)s 0 5641(ing)m 355(components)s +1559(are)s 1901(separated)s 2857(by)s 220 fnt2 3147 5638(//)m +240 fnt1 3327 5641(rather)m 3939(than)s 4404(by)s 220 fnt2 +4693 5638(/)m 240 fnt1 4757 5641(,)m 4860(the)s 5204(meaning)s +6076(is)s 6282(so)s 6544(doubtful)s 7405(that)s 7819(this)s +8211(is)s 8416(forbid)s 8998(-)s 0 5353(den.)m 496(In)s +738(f)s 2(act,)k 1186(a)s 1337(g)s 1(alle)k 3(y)k +1957(whose)s 2611(components)s 3804(replace)s 4535(such)s 5017(a)s +220 fnt2 5168 5350(@Galle)m 4(y)k 240 fnt1 6052 5353(must)m +6563(ha)s 4(v)k 3(e)k 7049(a)s 7201(single)s +7814(column)s 8574(mark)s 0 5065(running)m 783(its)s 1043(full)s +1413(length;)s 2108(that)s 2510(is,)s 2760(its)s 3021(components)s +4213(must)s 4722(all)s 4999(share)s 5544(a)s 5694(single)s +6305(column)s 7065(mark.)s 7704(This)s 8164(mark)s 8700(will)s +0 4777(be)m 281(mer)s 4(ged)k 1050(with)s 1530(the)s +1876(column)s 2649(mark)s 3199(passing)s 3969(through)s 4769(each)s +220 fnt2 5262 4774(@Galle)m 4(y)k 240 fnt1 6158 4777(that)m +6574(these)s 7119(components)s 8325(replace;)s 0 4489(all)m 293(the)s +641(objects)s 1369(on)s 1666(the)s 2014(resulting)s 2903(mer)s 4(ged)k +3674(mark)s 4226(will)s 4652(ha)s 4(v)k 3(e)k +5153(equal)s 5726(width.)s 480 4115(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 7217(is)s 7424(created)s 8168(automati)s 8998(-)s 0 3827(cally)m 15(,)k @@ -6234,16 +6557,24 @@ grestore 4573(\207le,)s 4984(and)s 5387(its)s 5663(object)s 6306(is)s 6515(the)s 6862(entire)s 7460(input,)s 8058(which)s 8699(typ)s 8998(-)s 0 3539(ically)m 584(looks)s 1154(lik)s 2(e)k -1566(this:)s 220 fnt35 480 3038(@P)m 8(ageList)k 480 2750(//)m +1566(this:)s 220 fnt2 480 3038(@P)m 8(ageList)k 480 2750(//)m 480 2462(@T)m 26(e)k 6(xt {)k 480 2174( Body te)m 6(xt of the document ...)k -480 1886(})m 240 fnt82 0 1392(where)m 220 fnt35 639 1389(@P)m 8(ageList)k -240 fnt82 1761 1392(e)m 3(xpands)k 2592(to)s 2830(a)s -2994(sequence)s 3925(of)s 4195(pages)s 4789(containing)s 220 fnt35 -5850 1389(@T)m 26(e)k 6(xtPlace)k 240 fnt82 7067 1392(symbols)m -7914(\(see)s 8352(Section)s 0 1104(1.2\),)m 486(and)s 220 fnt35 -890 1101(@T)m 26(e)k 6(xt)k 240 fnt82 1564 1104(is)m +480 1886(})m 240 fnt1 0 1392(where)m 220 fnt2 639 1389(@P)m 8(ageList)k +240 fnt1 1761 1392(e)m 3(xpands)k 2592(to)s 2830(a)s +2994(sequence)s 3925(of)s 4195(pages)s 4789(containing)s 220 fnt2 +5850 1389(@T)m 26(e)k 6(xtPlace)k 240 fnt1 7067 1392(symbols)m +7914(\(see)s 8352(Section)s 0 1104(1.2\),)m 486(and)s 220 fnt2 +890 1101(@T)m 26(e)k 6(xt)k 240 fnt1 1564 1104(is)m 1774(a)s 1940(g)s 1(alle)k 3(y:)k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -6260,44 +6591,47 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.7.)m 1871(Galle)s 7(ys)k 2649(and)s +3075(tar)s 8(g)k 2(ets)k 240 fnt5 10249 -1583(29)m +gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.7.)m 454(Galle)s 7(ys)k 1232(and)s -1658(tar)s 8(g)k 2(ets)k 240 fnt84 8832 13840(29)m -220 fnt35 480 13207(def @T)m 26(e)k 6(xtPlace { @Galle)k 4(y })k +220 fnt2 480 13207(def @T)m 26(e)k 6(xtPlace { @Galle)k 4(y })k 480 12631(def @T)m 26(e)k 6(xt into { @T)k 26(e)k 6(xtPlace&&preceding })k 480 12343( r)m -3(ight x)k 480 12055({)m 480 11767( x)m 480 11479(})m -240 fnt82 0 10985(The)m 428(spot)s 886(v)s 6(acated)k +240 fnt1 0 10985(The)m 428(spot)s 886(v)s 6(acated)k 1668(by)s 1961(a)s 2127(g)s 1(alle)k 3(y)k 2760(\211)s 2940(its)s 3215(in)s 9(v)k 4(ocation)k -4268(point)s 4820(\211)s 4999(becomes)s 5887(a)s 220 fnt35 -6052 10982(@Null)m 240 fnt82 6697 10985(object,)m 7387(so)s 7653(this)s +4268(point)s 4820(\211)s 4999(becomes)s 5887(a)s 220 fnt2 +6052 10982(@Null)m 240 fnt1 6697 10985(object,)m 7387(so)s 7653(this)s 8048(root)s 8492(g)s 1(alle)k 3(y)k 0 10697(is)m -210(ef)s 6(fecti)k 6(v)k 3(ely)k 220 fnt35 -1269 10694(@P)m 8(ageList)k 240 fnt82 2393 10697(alone,)m 3018(as)s -3269(required.)s 4229(The)s 220 fnt35 4657 10694(@T)m 26(e)k 6(xt)k -240 fnt82 5331 10697(g)m 1(alle)k 3(y)k 5965(will)s +210(ef)s 6(fecti)k 6(v)k 3(ely)k 220 fnt2 +1269 10694(@P)m 8(ageList)k 240 fnt1 2393 10697(alone,)m 3018(as)s +3269(required.)s 4229(The)s 220 fnt2 4657 10694(@T)m 26(e)k 6(xt)k +240 fnt1 5331 10697(g)m 1(alle)k 3(y)k 5965(will)s 6392(\207nd)s 6823(its)s 7099(\207rst)s 7530(tar)s 4(get)k 8130(preceding)s 0 10409(its)m 276(in)s 9(v)k 4(ocation)k -1330(point,)s 1929(within)s 220 fnt35 2597 10406(@P)m 8(ageList)k -240 fnt82 3661 10409(.)m 480 10035(Printing)m 1308(the)s 1661(root)s +1330(point,)s 1929(within)s 220 fnt2 2597 10406(@P)m 8(ageList)k +240 fnt1 3661 10409(.)m 480 10035(Printing)m 1308(the)s 1661(root)s 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 7121(because)s 7940(Lout)s 8457(has)s 8833(no)s @@ -6318,7 +6652,7 @@ grestore 4933(after)s 5457(an)s 3(y)k 5882(recepti)s 6(v)k 3(e)k 6832(symbols)s 7709(within)s 8405(it)s 8625(ha)s 4(v)k 3(e)k 0 8221(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 fnt35 3602 8218(@Null)m 240 fnt82 +3048(or)s 3308(by)s 220 fnt2 3602 8218(@Null)m 240 fnt1 4187 8221(,)m 4295(since)s 4842(until)s 5336(then)s 5805(the)s 6154(component)s 7278(is)s 7489(not)s 7855(complete.)s 8896(A)s 0 7933(component)m 1109(which)s 1736(shares)s 2369(a)s 2520(mark)s @@ -6326,16 +6660,16 @@ grestore 5874(held)s 6329(up)s 6607(until)s 7085(the)s 3(y)k 7533(are)s 7865(all)s 8143(complete,)s 0 7645(since)m 547(until)s 1040(then)s 1509(their)s 2006(width)s 2608(is)s 2818(uncertain.)s -480 7271(Consider)m 1409(a)s 1581(page)s 2095(with)s 220 fnt35 -2583 7268(@T)m 26(e)k 6(xtPlace)k 240 fnt82 3806 7271(and)m -220 fnt35 4216 7268(@F)m 6(ootSect)k 240 fnt82 5373 7271(recepti)m 6(v)k 3(e)k +480 7271(Consider)m 1409(a)s 1581(page)s 2095(with)s 220 fnt2 +2583 7268(@T)m 26(e)k 6(xtPlace)k 240 fnt1 3806 7271(and)m +220 fnt2 4216 7268(@F)m 6(ootSect)k 240 fnt1 5373 7271(recepti)m 6(v)k 3(e)k 6301(symbols.)s 7268(The)s 7702(rule)s 8135(just)s 8546(gi)s 6(v)k 3(en)k 0 6983(will)m 418(pre)s 6(v)k 3(ent)k 1177(the)s 1517(page)s 2016(from)s 2531(being)s 3108(printed)s 3834(until)s -220 fnt35 4319 6980(@T)m 26(e)k 6(xtPlace)k 240 fnt82 +220 fnt2 4319 6980(@T)m 26(e)k 6(xtPlace)k 240 fnt1 5528 6983(is)m 5729(replaced)s 6588(by)s 6873(body)s 7399(te)s 3(xt,)k -7852(quite)s 8377(rightly;)s 0 6695(b)m 4(ut)k 220 fnt35 -362 6692(@F)m 6(ootSect)k 240 fnt82 1513 6695(will)m 1939(also)s +7852(quite)s 8377(rightly;)s 0 6695(b)m 4(ut)k 220 fnt2 +362 6692(@F)m 6(ootSect)k 240 fnt1 1513 6695(will)m 1939(also)s 2377(pre)s 6(v)k 3(ent)k 3145(its)s 3421(printing,)s 4285(e)s 6(v)k 3(en)k 4785(when)s 5361(there)s 5894(are)s 6241(no)s 6534(footnotes.)s 480 6321(Basser)m 1187(Lout)s @@ -6347,19 +6681,19 @@ grestore 1309(fore)s 6(v)k 3(er)k 2038(for)s 2365(non-e)s 3(xistent)k 3592(footnotes.)s 4635(A)s 4854(v)s 6(ariant)k 5559(of)s 5819(the)s 6156(g)s 1(alle)k 3(y)k 6778(concept,)s -7618(called)s 8235(a)s 240 fnt83 8389 6035(for)m 8(cing)k -0 5747(galle)m 7(y)k 240 fnt82 573 5745(,)m 680(is)s +7618(called)s 8235(a)s 240 fnt6 8389 6035(for)m 8(cing)k +0 5747(galle)m 7(y)k 240 fnt1 573 5745(,)m 680(is)s 890(introduced)s 1971(to)s 2210(solv)s 3(e)k 2768(this)s 3164(problem.)s 4125(A)s 4355(forcing)s 5098(g)s 1(alle)k 3(y)k 5732(is)s 5942(de\207ned)s 6705(lik)s 2(e)k 7117(this:)s -220 fnt35 480 5244(def @T)m 26(e)k 6(xt f)k 6(orce into { @T)k 26(e)k 6(xtPlace&&preceding })k -480 4956( ...)m 240 fnt82 0 4505(and)m 392(so)s 646(on.)s +220 fnt2 480 5244(def @T)m 26(e)k 6(xt f)k 6(orce into { @T)k 26(e)k 6(xtPlace&&preceding })k +480 4956( ...)m 240 fnt1 0 4505(and)m 392(so)s 646(on.)s 1037(When)s 1654(such)s 2138(a)s 2291(g)s 1(alle)k 3(y)k -2913(replaces)s 3734(a)s 220 fnt35 3887 4502(@Galle)m 4(y)k -240 fnt82 4773 4505(symbol,)m 5573(Lout)s 6072(replaces)s 6893(e)s 6(v)k 3(ery)k +2913(replaces)s 3734(a)s 220 fnt2 3887 4502(@Galle)m 4(y)k +240 fnt1 4773 4505(symbol,)m 5573(Lout)s 6072(replaces)s 6893(e)s 6(v)k 3(ery)k 7457(recepti)s 6(v)k 3(e)k 8366(symbol)s 0 4217(preceding)m -1004(the)s 220 fnt35 1360 4214(@Galle)m 4(y)k 240 fnt82 -2266 4217(by)m 220 fnt35 2568 4214(@Null)m 240 fnt82 3153 4217(,)m +1004(the)s 220 fnt2 1360 4214(@Galle)m 4(y)k 240 fnt1 +2266 4217(by)m 220 fnt2 2568 4214(@Null)m 240 fnt1 3153 4217(,)m 3268(thus)s 3726(ensuring)s 4611(that)s 5038(as)s 5296(soon)s 5814(as)s 6072(te)s 3(xt)k 6495(enters)s 7124(a)s 7298(page,)s 7865(for)s 8212(e)s 3(xample,)k 0 3929(e)m 6(v)k 3(erything)k @@ -6369,7 +6703,7 @@ grestore 8061(care)s 8511(of)s 8778(the)s 0 3641(v)m 3(ery)k 479(last)s 873(page,)s 1435(b)s 4(ut)k 1801(Basser)s 2501(Lout)s 3016(replaces)s 3852(all)s 4149(recepti)s 6(v)k 3(e)k -5074(symbols)s 5926(by)s 220 fnt35 6223 3638(@Null)m 240 fnt82 +5074(symbols)s 5926(by)s 220 fnt2 6223 3638(@Null)m 240 fnt1 6872 3641(when)m 7451(it)s 7646(realizes)s 8428(that)s 8850(its)s 0 3353(input)m 552(has)s 922(all)s 1215(been)s 1724(read,)s 2242(thus)s 2692(allo)s 6(wing)k 3576(the)s 3924(last)s @@ -6379,7 +6713,7 @@ grestore 4734(applied)s 5500(earlier)s 6172(than)s 6646(e)s 3(xpected,)k 7604(and)s 8012(this)s 8413(creates)s 0 2691(tw)m 2(o)k 425(problems.)s 1495(First,)s 2055(the)s 2419(replacement)s 3662(by)s -220 fnt35 3972 2688(@Null)m 240 fnt82 4633 2691(may)m 5114(be)s +220 fnt2 3972 2688(@Null)m 240 fnt1 4633 2691(may)m 5114(be)s 5412(premature:)s 6562(a)s 6744(g)s 1(alle)k 3(y)k 7394(may)s 7876(turn)s 8334(up)s 8643(later)s 0 2403(w)m 2(anting)k 869(one)s 1318(of)s 1636(the)s 2032(defunct)s 2856(tar)s 4(gets.)k @@ -6403,11 +6737,19 @@ grestore 694(is)s 914(actually)s 1734(an)s 2027(o)s 3(v)k 3(er)k 4(-simpli\207cation)k 3901(to)s 4150(say)s 4533(that)s 4961(these)s 5517(replacements)s 6838(occur)s 7439(when)s 8025(the)s 8383(forcing)s 0 589(g)m 1(alle)k 3(y)k -633(replaces)s 1464(its)s 220 fnt35 1738 586(@Galle)m 4(y)k -240 fnt82 2576 589(.)m 2738(What)s 3315(really)s 3910(happens)s +633(replaces)s 1464(its)s 220 fnt2 1738 586(@Galle)m 4(y)k +240 fnt1 2576 589(.)m 2738(What)s 3315(really)s 3910(happens)s 4744(is)s 4952(that)s 5368(from)s 5891(this)s 6285(moment)s 7127(on)s 7422(Lout)s 7932(understands)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -6424,56 +6766,59 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(30)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(30)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s 240 fnt82 0 13205(that)m 414(it)s 602(has)s -968(the)s 1311(right)s 1818(to)s 2053(mak)s 2(e)k -2621(these)s 3163(replacements,)s 4526(and)s 4926(it)s 5114(will)s -5535(do)s 5824(each)s 6315(one)s 6713(at)s 6940(the)s -7284(\207rst)s 7711(moment)s 8550(when)s 0 12917(not)m 369(doing)s -972(it)s 1168(w)s 2(ould)k 1827(hold)s 2315(things)s -2955(up.)s 3363(So)s 3673(there)s 4210(is)s 4423(a)s -4593(short)s 5135(period)s 5808(of)s 6083(grace)s 6660(when)s -7240(g)s 1(alle)k 3(ys,)k 8024(such)s 8524(as)s -8778(the)s 0 12629(entries)m 687(in)s 930(tables)s 1538(of)s -1809(contents)s 2657(just)s 3062(alluded)s 3824(to,)s 4117(can)s -4506(sneak)s 5112(into)s 5537(these)s 6084(recepti)s 6(v)k 3(e)k -7006(symbols.)s 480 12255(The)m 220 fnt35 902 12252(into)m 240 fnt82 -1302 12255(and)m 220 fnt35 1699 12252(f)m 6(orce into)k 240 fnt82 -2642 12255(forms)m 3243(are)s 3584(actually)s 4387(just)s 4786(abbre)s 6(viations)k -6112(for)s 6444(the)s 6785(true)s 7206(w)s 2(ay)k -7650(that)s 8062(g)s 1(alle)k 3(ys)k 8779(are)s -0 11967(de\207ned,)m 806(which)s 1442(is)s 1646(by)s 1934(gi)s 6(ving)k +0 13205(that)m 414(it)s 602(has)s 968(the)s +1311(right)s 1818(to)s 2053(mak)s 2(e)k 2621(these)s +3163(replacements,)s 4526(and)s 4926(it)s 5114(will)s 5535(do)s +5824(each)s 6315(one)s 6713(at)s 6940(the)s 7284(\207rst)s +7711(moment)s 8550(when)s 0 12917(not)m 369(doing)s 972(it)s +1168(w)s 2(ould)k 1827(hold)s 2315(things)s 2955(up.)s +3363(So)s 3673(there)s 4210(is)s 4423(a)s 4593(short)s +5135(period)s 5808(of)s 6083(grace)s 6660(when)s 7240(g)s 1(alle)k 3(ys,)k +8024(such)s 8524(as)s 8778(the)s 0 12629(entries)m 687(in)s +930(tables)s 1538(of)s 1809(contents)s 2657(just)s 3062(alluded)s +3824(to,)s 4117(can)s 4506(sneak)s 5112(into)s 5537(these)s +6084(recepti)s 6(v)k 3(e)k 7006(symbols.)s 480 12255(The)m +220 fnt2 902 12252(into)m 240 fnt1 1302 12255(and)m 220 fnt2 +1699 12252(f)m 6(orce into)k 240 fnt1 2642 12255(forms)m 3243(are)s +3584(actually)s 4387(just)s 4786(abbre)s 6(viations)k 6112(for)s +6444(the)s 6785(true)s 7206(w)s 2(ay)k 7650(that)s +8062(g)s 1(alle)k 3(ys)k 8779(are)s 0 11967(de\207ned,)m +806(which)s 1442(is)s 1646(by)s 1934(gi)s 6(ving)k 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 7677(de\207nition)s -8644(with)s 0 11679(the)m 348(special)s 1066(name)s 220 fnt35 -1640 11676(@T)m 26(arget)k 240 fnt82 2467 11679(:)m 220 fnt35 +8644(with)s 0 11679(the)m 348(special)s 1066(name)s 220 fnt2 +1640 11676(@T)m 26(arget)k 240 fnt1 2467 11679(:)m 220 fnt2 480 11178(def @T)m 26(e)k 6(xt)k 480 10890( r)m -3(ight x)k 480 10602({)m 480 10314( def @T)m 26(arget { @T)k 26(e)k 6(xtPlace&&preceding })k -480 9738( x)m 480 9450(})m 240 fnt82 0 8956(A)m 237(forcing)s +480 9738( x)m 480 9450(})m 240 fnt1 0 8956(A)m 237(forcing)s 988(g)s 1(alle)k 3(y)k 1630(is)s 1848(obtained)s -2738(by)s 3039(using)s 220 fnt35 3619 8953(&&&)m 240 fnt82 -4121 8956(instead)m 4864(of)s 220 fnt35 5143 8953(&&)m 240 fnt82 -5431 8956(.)m 220 fnt35 5602 8953(@T)m 26(arget)k 240 fnt82 +2738(by)s 3039(using)s 220 fnt2 3619 8953(&&&)m 240 fnt1 +4121 8956(instead)m 4864(of)s 220 fnt2 5143 8953(&&)m 240 fnt1 +5431 8956(.)m 220 fnt2 5602 8953(@T)m 26(arget)k 240 fnt1 6497 8956(may)m 6971(be)s 7261(an)s 7552(arbitrary)s 8435(object,)s 0 8668(pro)m 3(vided)k 908(that)s 1329(it)s 1524(yields)s 2149(such)s 2648(a)s 2817(cross)s 3362(reference)s 4307(when)s @@ -6484,35 +6829,35 @@ grestore 904(forcing)s 1643(g)s 1(alle)k 3(y)k 2273(ef)s 6(fect)k 2865(can)s 3249(be)s 3527(obtained)s 4405(in)s 4644(another)s 5417(w)s 2(ay)k 15(,)k 5901(by)s 6191(replacing)s -7129(the)s 220 fnt35 7473 8003(@Galle)m 4(y)k 240 fnt82 +7129(the)s 220 fnt2 7473 8003(@Galle)m 4(y)k 240 fnt1 8366 8006(symbol)m 0 7718(to)m 245(which)s 893(the)s 1247(g)s 1(alle)k 3(y)k -1887(is)s 2103(attached)s 2964(by)s 220 fnt35 3264 7715(@F)m 6(orceGalle)k 4(y)k -240 fnt82 4657 7718(.)m 4827(The)s 5261(adv)s 6(antage)k +1887(is)s 2103(attached)s 2964(by)s 220 fnt2 3264 7715(@F)m 6(orceGalle)k 4(y)k +240 fnt1 4657 7718(.)m 4827(The)s 5261(adv)s 6(antage)k 6287(of)s 6565(this)s 6967(form)s 7497(is)s 7713(that)s 8137(the)s 8492(g)s 1(alle)k 3(y)k 0 7430(can)m 389(then)s 858(be)s 1140(forcing)s 1883(at)s 2115(some)s 2676(places)s 3324(and)s 3728(not)s 4094(at)s 4326(others,)s -5017(using)s 5589(the)s 5937(formula)s 220 fnt35 480 6929(def @SomePlace r)m -3(ight x)k +5017(using)s 5589(the)s 5937(formula)s 220 fnt2 480 6929(def @SomePlace r)m -3(ight x)k 480 6641({)m 480 6353( x @Case {)m 480 6065( nof)m 6(orce @Y)k 4(ield @Galle)k 4(y)k 480 5777( f)m 6(orce @Y)k 4(ield @F)k 6(orceGalle)k 4(y)k -480 5489( })m 480 5201(})m 240 fnt82 0 4707(No)m 6(w)k +480 5489( })m 480 5201(})m 240 fnt1 0 4707(No)m 6(w)k 514(a)s 680(g)s 1(alle)k 3(y)k 1314(may)s -1780(ha)s 4(v)k 3(e)k 220 fnt35 2281 4704(@SomePlace)m -240 fnt82 3677 4707(for)m 4015(its)s 4291(tar)s 4(get,)k +1780(ha)s 4(v)k 3(e)k 220 fnt2 2281 4704(@SomePlace)m +240 fnt1 3677 4707(for)m 4015(its)s 4291(tar)s 4(get,)k 4937(and)s 5341(if)s 5558(it)s 5750(happens)s 6586(to)s -6825(attach)s 7452(to)s 220 fnt35 480 4206(@SomePlace f)m 6(orce)k -240 fnt82 0 3751(it)m 192(will)s 618(ha)s 4(v)k 3(e)k +6825(attach)s 7452(to)s 220 fnt2 480 4206(@SomePlace f)m 6(orce)k +240 fnt1 0 3751(it)m 192(will)s 618(ha)s 4(v)k 3(e)k 1119(the)s 1467(ef)s 6(fect)k 2063(of)s 2334(a)s 2500(forcing)s 3243(g)s 1(alle)k 3(y)k 15(,)k 3915(while)s 4502(if)s 4719(it)s 4911(happens)s 5747(to)s -5986(attach)s 6613(to)s 220 fnt35 480 3250(@SomePlace nof)m 6(orce)k -240 fnt82 0 2795(it)m 192(will)s 618(not.)s 480 2421(Although)m +5986(attach)s 6613(to)s 220 fnt2 480 3250(@SomePlace nof)m 6(orce)k +240 fnt1 0 2795(it)m 192(will)s 618(not.)s 480 2421(Although)m 1436(it)s 1621(doesn')s 4(t)k 2374(matter)s 3036(whether)s 3859(a)s 4018(g)s 1(alle)k 3(y)k 4645(is)s 4848(declared)s 5708(as)s 5951(a)s 6110(forcing)s 6846(g)s 1(alle)k 3(y)k 7473(or)s 7725(merely)s 8435(arri)s 6(v)k 3(es)k -0 2133(at)m 244(a)s 220 fnt35 422 2130(@F)m 6(orceGalle)k 4(y)k -240 fnt82 1887 2133(symbol)m 2659(from)s 3195(the)s 3555(point)s +0 2133(at)m 244(a)s 220 fnt2 422 2130(@F)m 6(orceGalle)k 4(y)k +240 fnt1 1887 2133(symbol)m 2659(from)s 3195(the)s 3555(point)s 4119(of)s 4402(vie)s 6(w)k 4928(of)s 5211(the)s 5571(ef)s 6(fect)k 6179(on)s 6488(nearby)s 7205(tar)s 4(gets,)k 7956(there)s 8501(is)s 8724(one)s 0 1845(w)m 2(ay)k @@ -6540,9 +6885,17 @@ grestore 982(may)s 1448(be)s 1730(declared)s 2597(not)s 2963(forcing)s 3706(b)s 4(ut)k 4068(all)s 4361(its)s 4637(tar)s 4(gets)k 5320(may)s 5786(be)s 6068(set)s 6393(to)s 6632(contain)s -220 fnt35 7393 402(@F)m 6(orceGalle)k 4(y)k 240 fnt82 +220 fnt2 7393 402(@F)m 6(orceGalle)k 4(y)k 240 fnt1 8786 405(.)m grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -6559,55 +6912,58 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.7.)m 1871(Galle)s 7(ys)k 2649(and)s +3075(tar)s 8(g)k 2(ets)k 240 fnt5 10256 -1583(31)m +gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.7.)m 454(Galle)s 7(ys)k 1232(and)s -1658(tar)s 8(g)k 2(ets)k 240 fnt84 8839 13840(31)m -240 fnt82 480 13205(W)m 9(ithin)k 1197(a)s 1368(g)s 1(alle)k 3(y)k 15(,)k +480 13205(W)m 9(ithin)k 1197(a)s 1368(g)s 1(alle)k 3(y)k 15(,)k 2045(a)s 2216(symbol)s 2981(whose)s 3654(name)s 4233(is)s -220 fnt35 4448 13202(@Enclose)m 240 fnt82 5508 13205(has)m 5883(a)s +220 fnt2 4448 13202(@Enclose)m 240 fnt1 5508 13205(has)m 5883(a)s 6054(special)s 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 fnt35 2721 12914(@Galle)m 4(y)k -240 fnt82 3619 12917(or)m 220 fnt35 3879 12914(@F)m 6(orceGalle)k 4(y)k -240 fnt82 5332 12917(symbol,)m 6144(that)s 6562(symbol)s 7323(is)s -7533(\207rst)s 7964(replaced)s 8832(by)s 220 fnt35 0 12626(@Enclose)m -1055(@Galle)s 4(y)k 240 fnt82 1953 12629(or)m 220 fnt35 -2212 12626(@Enclose)m 3267(@F)s 6(orceGalle)k 4(y)k 240 fnt82 +1810(replace)s 2555(a)s 220 fnt2 2721 12914(@Galle)m 4(y)k +240 fnt1 3619 12917(or)m 220 fnt2 3879 12914(@F)m 6(orceGalle)k 4(y)k +240 fnt1 5332 12917(symbol,)m 6144(that)s 6562(symbol)s 7323(is)s +7533(\207rst)s 7964(replaced)s 8832(by)s 220 fnt2 0 12626(@Enclose)m +1055(@Galle)s 4(y)k 240 fnt1 1953 12629(or)m 220 fnt2 +2212 12626(@Enclose)m 3267(@F)s 6(orceGalle)k 4(y)k 240 fnt1 4660 12629(.)m 4824(F)s 3(or)k 5213(e)s 3(xample,)k -220 fnt35 480 12128(def @Figure into @FigurePlace&&f)m 6(ollo)k 3(wing)k 480 11840( r)m -3(ight @Body)k +220 fnt2 480 12128(def @Figure into @FigurePlace&&f)m 6(ollo)k 3(wing)k 480 11840( r)m -3(ight @Body)k 480 11552({)m 480 11264( def @Enclose)m 480 10976( r)m -3(ight x)k 480 10688( {)m 480 10400( @Bo)m 6(x x)k 480 10112( })m 480 9536( @Body)m 480 9248(})m -240 fnt82 0 8754(causes)m 705(each)s 220 fnt35 1230 8751(@Galle)m 4(y)k -240 fnt82 2159 8754(or)m 220 fnt35 2448 8751(@F)m 6(orceGalle)k 4(y)k -240 fnt82 3932 8754(symbol)m 4722(that)s 5171(recei)s 6(v)k 3(es)k +240 fnt1 0 8754(causes)m 705(each)s 220 fnt2 1230 8751(@Galle)m 4(y)k +240 fnt1 2159 8754(or)m 220 fnt2 2448 8751(@F)m 6(orceGalle)k 4(y)k +240 fnt1 3932 8754(symbol)m 4722(that)s 5171(recei)s 6(v)k 3(es)k 6025(components)s 7264(of)s 7565(g)s 1(alle)k 3(y)k -220 fnt35 8230 8751(@Figure)m 240 fnt82 0 8466(to)m 250(be)s -544(replaced)s 1423(by)s 220 fnt35 1728 8463(@Bo)m 6(x @Galle)k 4(y)k -240 fnt82 3294 8466(or)m 220 fnt35 3565 8463(@Bo)m 6(x @F)k 6(orceGalle)k 4(y)k -240 fnt82 5614 8466(,)m 5732(assuming)s 6701(an)s 6996(appropriate)s -8152(de\207nition)s 0 8178(of)m 220 fnt35 311 8175(@Bo)m 6(x.)k -240 fnt82 1109 8178(This)m 1626(is)s 1876(useful,)s 2608(for)s +220 fnt2 8230 8751(@Figure)m 240 fnt1 0 8466(to)m 250(be)s +544(replaced)s 1423(by)s 220 fnt2 1728 8463(@Bo)m 6(x @Galle)k 4(y)k +240 fnt1 3294 8466(or)m 220 fnt2 3565 8463(@Bo)m 6(x @F)k 6(orceGalle)k 4(y)k +240 fnt1 5614 8466(,)m 5732(assuming)s 6701(an)s 6996(appropriate)s +8152(de\207nition)s 0 8178(of)m 220 fnt2 311 8175(@Bo)m 6(x.)k +240 fnt1 1109 8178(This)m 1626(is)s 1876(useful,)s 2608(for)s 2987(e)s 3(xample,)k 3941(when)s 4558(producing)s 5623(multi-page)s 6754(box)s 3(ed)k 7436(displays,)s 8368(\207gures,)s 0 7890(and)m -404(tables.)s 480 7516(An)m 220 fnt35 861 7513(@Enclose)m 240 fnt82 +404(tables.)s 480 7516(An)m 220 fnt2 861 7513(@Enclose)m 240 fnt1 1947 7516(symbol)m 2739(may)s 3236(ha)s 4(v)k 3(e)k 3769(only)s 4280(one)s 4714(parameter)s 9(,)k 5797(which)s 6471(must)s 7027(be)s 7341(a)s 7538(right)s 8081(parameter)s 13(.)k @@ -6616,14 +6972,14 @@ grestore 3808(parameters,)s 4971(since)s 5527(there)s 6069(is)s 6288(no)s 6590(suitable)s 7398(v)s 6(alue)k 7975(to)s 8223(assign)s 8887(to)s 0 6940(them.)m 628(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -1574(the)s 220 fnt35 1908 6937(@Enclose)m 240 fnt82 2949 6940(symbol)m +1574(the)s 220 fnt2 1908 6937(@Enclose)m 240 fnt1 2949 6940(symbol)m 3695(may)s 4147(contain)s 4894(inner)s 5431(de\207nitions,)s 6534(and)s 6924(it)s 7102(may)s 7554(mak)s 2(e)k 8112(use)s 8473(of)s 8729(an)s 3(y)k 0 6652(symbol)m 761(that)s 1181(is)s 1393(a)s 4(v)k 6(ailable)k 2303(at)s 2537(that)s 2956(point,)s 3557(in)s 3802(the)s 4152(usual)s -4714(w)s 2(ay)k 15(.)k 5262(The)s 220 fnt35 -5691 6649(@Enclose)m 240 fnt82 6748 6652(symbol)m 7510(may)s 7978(be)s +4714(w)s 2(ay)k 15(.)k 5262(The)s 220 fnt2 +5691 6649(@Enclose)m 240 fnt1 6748 6652(symbol)m 7510(may)s 7978(be)s 8262(a)s 8430(named)s 0 6364(parameter)m 1016(\(itself)s 1645(with)s 2130(a)s 2298(right)s 2812(parameter\))s 3896(of)s 4169(the)s 4520(g)s 1(alle)k 3(y)k 5156(symbol,)s 5971(rather)s @@ -6631,27 +6987,27 @@ grestore 0 6076(sho)m 6(wn)k 677(abo)s 3(v)k 3(e,)k 1350(if)s 1567(desired.)s 480 5702(It)m 696(mak)s 2(es)k 1367(sense)s 1952(for)s 2302(sorted)s 2955(g)s 1(alle)k 3(ys)k -3690(containing)s 4765(a)s 220 fnt35 4942 5699(@Merge)m 240 fnt82 +3690(containing)s 4765(a)s 220 fnt2 4942 5699(@Merge)m 240 fnt1 5850 5702(symbol)m 6621(\(Section)s 7486(2.8\))s 7925(to)s 8175(also)s -8625(ha)s 4(v)k 3(e)k 0 5414(an)m 220 fnt35 -277 5411(@Enclose)m 240 fnt82 1326 5414(symbol.)m 2188(The)s 2610(meaning)s +8625(ha)s 4(v)k 3(e)k 0 5414(an)m 220 fnt2 +277 5411(@Enclose)m 240 fnt1 1326 5414(symbol.)m 2188(The)s 2610(meaning)s 3480(is)s 3684(that)s 4095(after)s 4585(all)s 4872(mer)s 4(ging)k 5711(is)s 5915(done,)s 6481(each)s 6970(resulting)s 7852(g)s 1(alle)k 3(y)k -8480(has)s 8843(an)s 220 fnt35 0 5123(@Enclose)m 240 fnt82 +8480(has)s 8843(an)s 220 fnt2 0 5123(@Enclose)m 240 fnt1 1061 5126(symbol)m 1827(which)s 2476(is)s 2692(applied)s 3461(in)s 3710(the)s 4064(usual)s 4631(w)s 2(ay)k 15(.)k 5183(The)s 5618(v)s 6(alue)k 6192(of)s 6469(this)s -220 fnt35 6872 5123(@Enclose)m 240 fnt82 7933 5126(symbol)m 8700(will)s +220 fnt2 6872 5123(@Enclose)m 240 fnt1 7933 5126(symbol)m 8700(will)s 0 4838(be)m 274(the)s 614(v)s 6(alue)k 1174(of)s -1437(an)s 220 fnt35 1712 4835(@Enclose)m 240 fnt82 2758 4838(symbol)m +1437(an)s 220 fnt2 1712 4835(@Enclose)m 240 fnt1 2758 4838(symbol)m 3510(from)s 4026(one)s 4420(of)s 4683(the)s 5022(contrib)s 4(uting)k 6232(g)s 1(alle)k 3(ys,)k 7004(b)s 4(ut)k 7358(e)s 3(xactly)k 8091(which)s 8724(one)s 0 4550(is)m 210(not)s 576(de\207ned.)s 1445(So)s 1751(it)s 1943(is)s -2153(safest)s 2756(if)s 2973(all)s 3266(such)s 220 fnt35 -3762 4547(@Enclose)m 240 fnt82 4817 4550(symbols)m 5666(produce)s 6493(the)s -6841(same)s 7388(result.)s 480 4176(A)m 220 fnt35 709 4173(f)m 6(ollo)k 3(wing)k -240 fnt82 1597 4176(g)m 1(alle)k 3(y)k 2229(may)s +2153(safest)s 2756(if)s 2973(all)s 3266(such)s 220 fnt2 +3762 4547(@Enclose)m 240 fnt1 4817 4550(symbols)m 5666(produce)s 6493(the)s +6841(same)s 7388(result.)s 480 4176(A)m 220 fnt2 709 4173(f)m 6(ollo)k 3(wing)k +240 fnt1 1597 4176(g)m 1(alle)k 3(y)k 2229(may)s 2693(f)s 2(ail)k 3061(to)s 3299(\207nd)s 3728(a)s 3892(\207rst)s 4321(tar)s 4(get)k 4918(lying)s 5461(in)s 5703(a)s 5867(follo)s 6(wing)k 6842(component)s 7964(of)s @@ -6664,13 +7020,21 @@ grestore 2369(at)s 2590(the)s 2928(time)s 3398(the)s 3735(g)s 1(alle)k 3(y)k 4359(tries)s 4810(to)s 5038(\207nd)s 5459(it.)s 5745(A)s 5964(w)s 2(orkaround)k 7167(is)s 7367(to)s 7595(use)s -7960(a)s 220 fnt35 8115 3597(preceding)m 240 fnt82 0 3312(g)m 1(alle)k 3(y)k +7960(a)s 220 fnt2 8115 3597(preceding)m 240 fnt1 0 3312(g)m 1(alle)k 3(y)k 634(instead,)s 1418(de\207ned)s 2181(lik)s 2(e)k 2593(this:)s -220 fnt35 480 2811(def @A)m 6(Galle)k 4(y into { @A)k 6(Galle)k 4(yPlace&&preceding })k +220 fnt2 480 2811(def @A)m 6(Galle)k 4(y into { @A)k 6(Galle)k 4(yPlace&&preceding })k 480 2523( r)m -3(ight @Body)k 480 2235({)m 480 1947( //1.1b)m 480 1659( @Body)m -480 1371(})m 240 fnt82 0 877(and)m 404(in)s 9(v)k 4(ok)k 2(ed)k +480 1371(})m 240 fnt1 0 877(and)m 404(in)s 9(v)k 4(ok)k 2(ed)k 1219(lik)s 2(e)k 1631(this:)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -6687,36 +7051,39 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(32)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(32)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s 220 fnt35 480 13207(@A)m 6(Galle)k 4(yPlace | @A)k 6(Galle)k 4(y { content of galle)k 4(y })k +220 fnt2 480 13207(@A)m 6(Galle)k 4(yPlace | @A)k 6(Galle)k 4(y { content of galle)k 4(y })k 480 12919(//)m 480 12631(...)m 480 12343(@A)m 6(Galle)k 4(yPlace)k -240 fnt82 0 11845(The)m 419(\207rst)s 220 fnt35 841 11842(@A)m 6(Galle)k 4(yPlace)k -240 fnt82 2411 11845(recei)m 6(v)k 3(es)k 3226(only)s +240 fnt1 0 11845(The)m 419(\207rst)s 220 fnt2 841 11842(@A)m 6(Galle)k 4(yPlace)k +240 fnt1 2411 11845(recei)m 6(v)k 3(es)k 3226(only)s 3696(the)s 4035(initial)s 4636(empty)s 5279(object,)s 5960(since)s -6498(the)s 220 fnt35 6836 11842(//1.1b)m 240 fnt82 7428 11845(forces)m +6498(the)s 220 fnt2 6836 11842(//1.1b)m 240 fnt1 7428 11845(forces)m 8052(a)s 8209(split;)s 8722(and)s 0 11557(the)m 348(Second)s 1111(La)s 3(w)k 1587(puts)s 2037(Basser)s 2734(Lout)s 3246(on)s 3543(the)s 3891(right)s 4402(track)s 4940(thereafter)s 13(.)k -240 fnt84 0 10764(2.8.)m 471(Sorted)s 1203(galleys)s 240 fnt82 +240 fnt5 0 10764(2.8.)m 471(Sorted)s 1203(galleys)s 240 fnt1 480 10287(When)m 1128(footnotes)s 2088(are)s 2455(placed)s 3156(at)s 3407(the)s 3775(bottom)s 4532(of)s 4823(a)s 5008(page,)s 5586(the)s 3(y)k 6069(appear)s 6785(there)s 7337(in)s @@ -6726,21 +7093,21 @@ grestore 3832(sorted)s 4469(order)s 9(,)k 5065(as)s 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 fnt35 -5318 9708(@K)m 8(e)k 4(y)k 240 fnt82 5977 9711(is)m +3145(with)s 3640(the)s 4000(special)s 4731(name)s 220 fnt2 +5318 9708(@K)m 8(e)k 4(y)k 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 fnt35 +8102(de\207nition,)s 0 9423(lik)m 2(e)k 412(this:)s 220 fnt2 480 8972(def @Inde)m 6(xEntr)k -6(y into { @Inde)k 6(xPlace&&f)k 6(ollo)k 3(wing })k 480 8684( left @K)m 8(e)k 4(y)k 480 8396( r)m -3(ight x)k -480 8108({ x })m 0 7611(@K)m 8(e)k 4(y)k 240 fnt82 +480 8108({ x })m 0 7611(@K)m 8(e)k 4(y)k 240 fnt1 674 7614(must)m 1226(be)s 1535(set)s 1887(to)s 2153(a)s 2346(simple)s 3066(w)s 2(ord,)k 3690(or)s 3976(se)s 6(v)k 3(eral)k 4725(w)s 2(ords)k 5386(with)s 5895(nothing)s 6707(more)s 7281(comple)s 3(x)k 8184(than)s 8681(font)s 0 7326(changes)m 822(within)s 1490(them,)s 2075(when)s 2651(the)s 2999(g)s 1(alle)k 3(y)k 3633(is)s 3843(in)s 9(v)k 4(ok)k 2(ed:)k -220 fnt35 480 6825({ cities compare } @Inde)m 6(xEntr)k -6(y { cities)k 3(, compar)k -3(ison of)k 6(, 27 })k -240 fnt82 0 6327(and)m 404(this)s 800(k)s 2(e)k 3(y)k +220 fnt2 480 6825({ cities compare } @Inde)m 6(xEntr)k -6(y { cities)k 3(, compar)k -3(ison of)k 6(, 27 })k +240 fnt1 0 6327(and)m 404(this)s 800(k)s 2(e)k 3(y)k 1195(is)s 1405(used)s 1902(to)s 2141(sort)s 2559(the)s 2907(g)s 1(alle)k 3(ys.)k 480 5953(If)m 707(se)s 6(v)k 3(eral)k 1425(sorted)s 2063(g)s 1(alle)k 3(ys)k 2783(with)s @@ -6760,14 +7127,14 @@ grestore 6187(the)s 6537(other)s 7091(common)s 7989(e)s 3(xample)k 8855(of)s 0 4801(sorted)m 642(g)s 1(alle)k 3(ys,)k 1422(inde)s 3(x)k 2006(entries,)s 2749(requires)s 3569(something)s -4619(dif)s 6(ferent:)k 240 fnt83 5600 4803(mer)m 8(g)k 2(ed)k -240 fnt82 6374 4801(g)m 1(alle)k 3(ys.)k 480 4427(Suppose)m +4619(dif)s 6(ferent:)k 240 fnt6 5600 4803(mer)m 8(g)k 2(ed)k +240 fnt1 6374 4801(g)m 1(alle)k 3(ys.)k 480 4427(Suppose)m 1348(that)s 1766(at)s 1998(some)s 2559(point)s 3111(of)s 3382(the)s 3730(document)s 4734(we)s 5069(insert)s 5659(the)s -6007(inde)s 3(x)k 6591(entry)s 220 fnt35 480 3926(aardv)m 5(ar)k -3(ks @Inde)k 6(xEntr)k -6(y { Aardv)k 5(ar)k -3(ks)k 3(, 23 })k -240 fnt82 0 3428(while)m 587(at)s 819(another)s 1596(point)s -2148(we)s 2483(insert)s 220 fnt35 480 2927(aardv)m 5(ar)k -3(ks @Inde)k 6(xEntr)k -6(y { Aardv)k 5(ar)k -3(ks)k 3(, 359 })k -240 fnt82 0 2429(Ho)m 6(w)k 505(the)s 843(page)s +6007(inde)s 3(x)k 6591(entry)s 220 fnt2 480 3926(aardv)m 5(ar)k -3(ks @Inde)k 6(xEntr)k -6(y { Aardv)k 5(ar)k -3(ks)k 3(, 23 })k +240 fnt1 0 3428(while)m 587(at)s 819(another)s 1596(point)s +2148(we)s 2483(insert)s 220 fnt2 480 2927(aardv)m 5(ar)k -3(ks @Inde)k 6(xEntr)k -6(y { Aardv)k 5(ar)k -3(ks)k 3(, 359 })k +240 fnt1 0 2429(Ho)m 6(w)k 505(the)s 843(page)s 1341(numbers)s 2206(are)s 2544(w)s 2(ork)k 2(ed)k 3306(out)s 3662(is)s 3862(not)s 4219(rele)s 6(v)k 6(ant)k 5026(here.)s 5591(Clearly)s 6338(we)s 6664(w)s 2(ould)k @@ -6779,6 +7146,14 @@ grestore 3864(objects)s 4592(in)s 4835(this)s 5231(w)s 2(ay:)k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -6796,30 +7171,33 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.8.)m 1871(Sorted)s 2562(galle)s 7(ys)k +240 fnt5 10250 -1583(33)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.8.)m 454(Sorted)s 1145(galle)s 7(ys)k -240 fnt84 8833 13840(33)m 220 fnt35 480 13207(def @Merge left x r)m -3(ight y)k +220 fnt2 480 13207(def @Merge left x r)m -3(ight y)k 480 12919({)m 480 12631( {x @Rump y} @Case)m 480 12343( {)m 480 12055( "" @Y)m 4(ield x)k -480 11767( else @Y)m 4(ield { x, x @Rump y })k 480 11479( })m 480 11191(})m 240 fnt82 -0 10697(The)m 220 fnt35 429 10694(@Rump)m 240 fnt82 1290 10697(symbol)m +480 11767( else @Y)m 4(ield { x, x @Rump y })k 480 11479( })m 480 11191(})m 240 fnt1 +0 10697(The)m 220 fnt2 429 10694(@Rump)m 240 fnt1 1290 10697(symbol)m 2051(is)s 2262(the)s 2611(subject)s 3349(of)s 3621(Section)s 4396(3.24;)s 4929(this)s 5326(says)s 5790(`if)s 6087(the)s 6436(tw)s 2(o)k 6847(things)s 7484(to)s 7724(be)s @@ -6838,8 +7216,8 @@ grestore 4517(special)s 5236(rule:)s 5775(if)s 5993(a)s 6161(sorted)s 6804(g)s 1(alle)k 3(y)k 7440(contains)s 8289(a)s 8457(nested)s 0 9171(de\207nition)m 965(of)s 1227(a)s 1383(symbol)s -2134(whose)s 2793(name)s 3357(is)s 220 fnt35 3558 9168(@Merge)m -240 fnt82 4446 9171(\()m 220 fnt35 4519 9168(@Merge)m 240 fnt82 +2134(whose)s 2793(name)s 3357(is)s 220 fnt2 3558 9168(@Merge)m +240 fnt1 4446 9171(\()m 220 fnt2 4519 9168(@Merge)m 240 fnt1 5406 9171(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 8883(right\),)m 643(and)s 1054(if)s 1277(that)s 1702(sorted)s @@ -6852,8 +7230,8 @@ grestore 4211(then)s 4687(rather)s 5310(than)s 5785(being)s 6377(discarded,)s 7407(the)s 7762(second)s 8492(g)s 1(alle)k 3(y)k 0 8307(is)m 210(mer)s 4(ged)k 981(into)s 1406(the)s -1754(\207rst)s 2185(using)s 2757(the)s 220 fnt35 3105 8304(@Merge)m -240 fnt82 4002 8307(symbol.)m 480 7933(The)m 909(natural)s 1629(thing)s +1754(\207rst)s 2185(using)s 2757(the)s 220 fnt2 3105 8304(@Merge)m +240 fnt1 4002 8307(symbol.)m 480 7933(The)m 909(natural)s 1629(thing)s 2175(to)s 2416(do)s 2711(when)s 3288(more)s 3837(than)s 4307(tw)s 2(o)k 4719(g)s 1(alle)k 3(ys)k 5445(ha)s 4(v)k 3(e)k 5947(the)s 6297(same)s @@ -6867,49 +7245,49 @@ grestore 1781(reasons)s 2547(be)s 3(yond)k 3306(our)s 3684(scope)s 4283(here,)s 4799(Lout)s 5309(does)s 5797(the)s 6144(mer)s 4(ging)k 6988(in)s 7229(a)s 7393(dif)s 6(ferent)k 8266(order:)s -8934(it)s 0 7069(mer)m 4(ges)k 240 fnt83 736 7071(n)m -240 fnt82 909 7069(g)m 1(alle)k 3(ys)k 1632(by)s -1925(mer)s 4(ging)k 2770(the)s 3116(\207rst)s 240 fnt78 -3592 7027(\353)m 240 fnt83 3685 7071(n)m 240 fnt78 3809 7063(/)m -3881(2)s 4006 7027(\373)m 240 fnt82 4197 7069(together)m 9(,)k -5077(then)s 5545(the)s 5892(last)s 240 fnt78 6327 7039(\351)m -240 fnt83 6420 7071(n)m 240 fnt78 6545 7063(/)m 6617(2)s -6741 7039(\371)m 240 fnt82 6933 7069(together)m 9(,)k 7813(then)s +8934(it)s 0 7069(mer)m 4(ges)k 240 fnt6 736 7071(n)m +240 fnt1 909 7069(g)m 1(alle)k 3(ys)k 1632(by)s +1925(mer)s 4(ging)k 2770(the)s 3116(\207rst)s 240 fnt4 +3592 7027(\353)m 240 fnt6 3685 7071(n)m 240 fnt4 3809 7063(/)m +3881(2)s 4006 7027(\373)m 240 fnt1 4197 7069(together)m 9(,)k +5077(then)s 5545(the)s 5892(last)s 240 fnt4 6327 7039(\351)m +240 fnt6 6420 7071(n)m 240 fnt4 6545 7063(/)m 6617(2)s +6741 7039(\371)m 240 fnt1 6933 7069(together)m 9(,)k 7813(then)s 8280(mer)s 4(ging)k 0 6781(the)m 337(result.)s 1019(Of)s -1332(course,)s 2051(if)s 2257(the)s 220 fnt35 2593 6778(@Merge)m -240 fnt82 3479 6781(symbol)m 4227(is)s 4426(associati)s 6(v)k 3(e)k +1332(course,)s 2051(if)s 2257(the)s 220 fnt2 2593 6778(@Merge)m +240 fnt1 3479 6781(symbol)m 4227(is)s 4426(associati)s 6(v)k 3(e)k 5509(this)s 5894(has)s 6252(the)s 6589(same)s 7124(ef)s 6(fect.)k -7813(The)s 220 fnt35 8229 6778(@Merge)m 240 fnt82 0 6493(symbol)m +7813(The)s 220 fnt2 8229 6778(@Merge)m 240 fnt1 0 6493(symbol)m 758(abo)s 3(v)k 3(e)k 1377(is)s 1584(not)s 1947(strictly)s 2660(associati)s 6(v)k 3(e,)k 3803(b)s 4(ut)k 4162(it)s 4351(is)s 4559(close)s 5103(enough)s 5863(in)s 6103(practice.)s 7019(The)s 7444(total)s 7920(time)s 8397(it)s 8586(tak)s 2(es)k 0 6205(to)m 252(mer)s 4(ge)k -240 fnt83 915 6207(n)m 240 fnt82 1102 6205(g)m 1(alle)k 3(ys)k +240 fnt6 915 6207(n)m 240 fnt1 1102 6205(g)m 1(alle)k 3(ys)k 1840(with)s 2335(equal)s 2922(k)s 2(e)k 3(ys)k -3421(is)s 240 fnt83 3644 6207(O)m 240 fnt78 3838 6199(\()m -168 fnt78 4049 6298(2)m 240 fnt83 3935 6207(n)m 240 fnt78 -4155 6199(\))m 240 fnt82 4294 6205(or)m 4567(some)s 6(what)k +3421(is)s 240 fnt6 3644 6207(O)m 240 fnt4 3838 6199(\()m +168 fnt4 4049 6298(2)m 240 fnt6 3935 6207(n)m 240 fnt4 +4155 6199(\))m 240 fnt1 4294 6205(or)m 4567(some)s 6(what)k 5605(higher)s 6289(\(b)s 4(ut)k 6744(al)s 2(w)k 2(ays)k -7468(polynomial)s 8627(in)s 240 fnt83 8884 6207(n)m 240 fnt82 +7468(polynomial)s 8627(in)s 240 fnt6 8884 6207(n)m 240 fnt1 8998 6205(\))m 0 5917(depending)m 1053(on)s 1353(ho)s 6(w)k 1816(man)s 3(y)k 2402(times)s 2972(the)s 3323(parameters)s 4424(occur)s 5017(within)s 5688(the)s 6038(body)s 6575(of)s -220 fnt35 6849 5914(@Merge)m 240 fnt82 7686 5917(;)m 7800(to)s +220 fnt2 6849 5914(@Merge)m 240 fnt1 7686 5917(;)m 7800(to)s 8042(do)s 8337(it)s 8532(in)s 8778(the)s 0 5629(natural)m 718(linear)s 1321(order)s 1885(w)s 2(ould)k 2540(tak)s 2(e)k -2992(Lout)s 3504(e)s 3(xponential)k 4672(time.)s 240 fnt84 -0 4836(2.9.)m 471(Horizontal)s 1628(galleys)s 240 fnt82 480 4359(All)m +2992(Lout)s 3504(e)s 3(xponential)k 4672(time.)s 240 fnt5 +0 4836(2.9.)m 471(Horizontal)s 1628(galleys)s 240 fnt1 480 4359(All)m 846(the)s 1201(g)s 1(alle)k 3(ys)k 1932(so)s 2205(f)s 2(ar)k 2534(ha)s 4(v)k 3(e)k -3042(been)s 240 fnt83 3557 4361(vertical)m 4353(galle)s 7(ys)k -240 fnt82 5018 4359(:)m 5191(g)s 1(alle)k 3(ys)k +3042(been)s 240 fnt6 3557 4361(vertical)m 4353(galle)s 7(ys)k +240 fnt1 5018 4359(:)m 5191(g)s 1(alle)k 3(ys)k 5922(whose)s 6597(components)s 7812(are)s 8166(separated)s 0 4071(by)m 320(v)s 3(ertical)k 1114(concatenation)s 2525(symbols.)s 3514(There)s 4154(are)s 4527(also)s 4992(horizontal)s 6043(g)s 1(alle)k 3(ys,)k 6849(whose)s 7544(components)s 8779(are)s 0 3783(separated)m 951(by)s -1235(the)s 1574(horizontal)s 2588(concatenation)s 3963(operator)s 220 fnt35 -4810 3780(&)m 240 fnt82 5002 3783(\(or)m 5331(equi)s 6(v)k 6(alently)k 15(,)k +1235(the)s 1574(horizontal)s 2588(concatenation)s 3963(operator)s 220 fnt2 +4810 3780(&)m 240 fnt1 5002 3783(\(or)m 5331(equi)s 6(v)k 6(alently)k 15(,)k 6583(by)s 6867(spaces\).)s 7725(These)s 8342(w)s 2(ork)k 8883(in)s 0 3495(the)m 346(same)s 891(w)s 2(ay)k 1340(as)s 1588(v)s 3(ertical)k 2353(g)s 1(alle)k 3(ys,)k @@ -6920,11 +7298,19 @@ grestore 2681(ordinary)s 3546(outdented)s 4549(paragraph,)s 5613(e)s 3(xcept)k 6295(that)s 6715(an)s 6999(option)s 7669(is)s 7880(pro)s 3(vided)k 8788(for)s 0 2919(v)m 6(arying)k 778(the)s 1126(size)s -1553(of)s 1824(the)s 2172(outdent:)s 220 fnt35 480 2418(def @OutdentP)m 8(ar)k +1553(of)s 1824(the)s 2172(outdent:)s 220 fnt2 480 2418(def @OutdentP)m 8(ar)k 480 2130( named outdent { 2f })m 480 1842( r)m -3(ight x)k 480 1554({)m 480 1266( def @P)m 8(arPlace { @Galle)k 4(y })k 480 690( def @LineList)m 480 402( {)m 480 114( outdent @Wide {} | @P)m 26(Adjust @P)k 8(arPlace)k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -6941,38 +7327,41 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(34)m 240 fnt6 8674 -1580(Chapter)m 9524(2.)s +9798(Details)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(34)m 240 fnt83 7257 13843(Chapter)m 8107(2.)s -8381(Details)s 220 fnt35 480 13207( //1vx @LineList)m 480 12919( })m 480 12343( def @P)m 8(arGalle)k 4(y f)k 6(orce hor)k -3(iz)k 3(ontally into { @P)k 8(arPlace&&preceding })k +220 fnt2 480 13207( //1vx @LineList)m 480 12919( })m 480 12343( def @P)m 8(arGalle)k 4(y f)k 6(orce hor)k -3(iz)k 3(ontally into { @P)k 8(arPlace&&preceding })k 480 12055( r)m -3(ight x)k 480 11767( {)m 480 11479( x)m 480 11191( })m 480 10615( @P)m 26(Adjust @P)k 8(arPlace)k 480 10327( // @P)m 8(arGalle)k 4(y { x &1r)k -8(t })k -480 10039( //1vx @LineList)m 480 9751(})m 240 fnt82 0 9257(Notice)m 703(the)s -1061(use)s 1446(of)s 220 fnt35 1727 9254(&1r)m -8(t)k -240 fnt82 2203 9257(to)m 2452(cancel)s 3127(the)s 3485(ef)s 6(fect)k -4091(of)s 220 fnt35 4372 9254(@P)m 26(Adjust)k 240 fnt82 +480 10039( //1vx @LineList)m 480 9751(})m 240 fnt1 0 9257(Notice)m 703(the)s +1061(use)s 1446(of)s 220 fnt2 1727 9254(&1r)m -8(t)k +240 fnt1 2203 9257(to)m 2452(cancel)s 3127(the)s 3485(ef)s 6(fect)k +4091(of)s 220 fnt2 4372 9254(@P)m 26(Adjust)k 240 fnt1 5390 9257(on)m 5697(the)s 6055(last)s 6456(line)s 6880(of)s 7161(the)s 7519(paragraph.)s 8650(This)s 0 8969(de\207nition)m 969(has)s 1334(a)s 1494(problem)s 2346(in)s 2584(that)s 2996(there)s 3524(will)s 3945(be)s 4221(a)s 4382(concluding)s 5494(une)s 3(xpanded)k -220 fnt35 6701 8966(@LineList)m 240 fnt82 7730 8969(symbol)m 8484(which)s +220 fnt2 6701 8966(@LineList)m 240 fnt1 7730 8969(symbol)m 8484(which)s 0 8681(will)m 431(hold)s 921(up)s 1219(promotion)s 2279(of)s 2555(the)s 2909(enclosing)s 3884(g)s 1(alle)k 3(y;)k 4582(this)s 4983(problem)s 5846(may)s 6317(be)s 6605(\207x)s 3(ed)k @@ -7002,8 +7391,8 @@ grestore 7631(particular)s 8592(\207x)s 3(ed)k 0 6205(height.)m 762(Instead,)s 1559(each)s 2054(component)s 3178(has)s 3548(its)s 3824(o)s 6(wn)k 4288(indi)s 6(vidual)k 5307(height.)s 480 5831(When)m 1096(tw)s 2(o)k -1492(objects)s 2206(are)s 2539(separated)s 3485(by)s 220 fnt35 -3766 5828(/)m 240 fnt82 3830 5831(,)m 3923(the)s 3(y)k +1492(objects)s 2206(are)s 2539(separated)s 3485(by)s 220 fnt2 +3766 5828(/)m 240 fnt1 3830 5831(,)m 3923(the)s 3(y)k 4372(are)s 4705(assigned)s 5573(the)s 5908(same)s 6441(width)s 7029(\(Section)s 7868(2.7\),)s 8340(and)s 8730(this)s 0 5543(holds)m 581(true)s 1020(e)s 6(v)k 3(en)k 1531(if)s @@ -7017,8 +7406,8 @@ grestore 1776(e)s 6(v)k 3(en)k 2287(if)s 2516(the)s 3(y)k 2991(appear)s 3699(in)s 3954(dif)s 6(ferent)k 4841(columns)s 5714(or)s 5985(pages.)s 6706(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -7677(e)s 6(v)k 3(en)k 8189(though)s 220 fnt35 -8924 4964(&)m 240 fnt82 0 4679(aligns)m 635(the)s 996(marks)s +7677(e)s 6(v)k 3(en)k 8189(though)s 220 fnt2 +8924 4964(&)m 240 fnt1 0 4679(aligns)m 635(the)s 996(marks)s 1644(of)s 1928(its)s 2217(tw)s 2(o)k 2640(parameters,)s 3807(it)s 4012(does)s 4515(not)s 4894(assign)s 5562(them)s 6113(a)s 6292(common)s 7200(height.)s 7975(This)s 8464(means)s @@ -7029,8 +7418,8 @@ grestore 362(height)s 1034(consumed)s 2078(by)s 2386(the)s 2748(components)s 3971(promoted)s 4960(into)s 5400(an)s 3(y)k 5811(other)s 6376(tar)s 4(get.)k 7094(The)s 7536(other)s 8102(horizontal)s -0 3815(concatenation)m 1392(operator)s 9(,)k 220 fnt35 2293 3812(|)m -240 fnt82 2330 3815(,)m 2444(does)s 2941(assign)s 3604(a)s +0 3815(concatenation)m 1392(operator)s 9(,)k 220 fnt2 2293 3812(|)m +240 fnt1 2330 3815(,)m 2444(does)s 2941(assign)s 3604(a)s 3777(common)s 4679(height)s 5344(to)s 5590(its)s 5874(tw)s 2(o)k 6291(parameters;)s 7457(b)s 4(ut)k 7826(sequences)s 8855(of)s 0 3527(objects)m 728(separated)s 1688(by)s 1982(this)s 2378(operator)s @@ -7069,7 +7458,7 @@ grestore 5108(b)s 4(uilt-in)k 5861(paragraph)s 6871(break)s 2(er)k 7641(with)s 8120(its)s 8392(limited)s 0 677(set)m 314(of)s 573(options)s 1318(as)s 1556(gi)s 6(v)k 3(en)k -2124(under)s 2718(the)s 220 fnt35 3054 674(@Break)m 240 fnt82 +2124(under)s 2718(the)s 220 fnt2 3054 674(@Break)m 240 fnt1 3899 677(operator)m 9(,)k 4781(and)s 5173(horizontal)s 6186(g)s 1(alle)k 3(ys.)k 7011(As)s 7317(the)s 7653(e)s 3(xample)k 8504(abo)s 3(v)k 3(e)k 0 389(sho)m 6(ws,)k 700(horizontal)s 1725(g)s 1(alle)k 3(ys)k @@ -7080,6 +7469,14 @@ grestore 4425(hope)s 4949(to)s 5190(do.)s 5596(The)s 6026(recommended)s 7441(practical)s 8319(strate)s 3(gy)k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -7096,80 +7493,82 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(2.9.)m 1871(Horizontal)s 2968(galle)s 7(ys)k +240 fnt5 10250 -1583(35)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(2.9.)m 454(Horizontal)s 1551(galle)s 7(ys)k -240 fnt84 8833 13840(35)m 240 fnt82 0 13205(is)m 221(to)s -472(use)s 858(the)s 1218(b)s 4(uilt-in)k 1985(paragraph)s -3010(break)s 2(er)k 3795(most)s 4332(of)s 4614(the)s -4974(time,)s 5516(and)s 5932(switch)s 6624(to)s 6875(horizontal)s -7910(g)s 1(alle)k 3(ys)k 8646(only)s 0 12917(for)m -338(occasional)s 1402(tricks,)s 2039(such)s 2535(as)s 2785(paragraphs)s -3885(with)s 4367(drop)s 4859(capitals,)s 5695(circular)s 6483(outlines,)s -7347(etc.)s 240 fnt84 0 12124(2.10.)m 591(Optimal)s 1495(galley)s -2149(br)s 4(eaking)k 240 fnt82 480 11647(As)m 814(e)s 3(xplained)k -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 -6009(are)s 6373(promoted)s 7366(one)s 7786(by)s 8097(one)s -8517(into)s 8960(a)s 0 11359(tar)m 4(get.)k 703(When)s -1332(space)s 1919(runs)s 2382(out)s 2748(there,)s 3332(the)s -3680(g)s 1(alle)k 3(y)k 4314(searches)s 5174(for)s -5512(a)s 5678(ne)s 6(w)k 6125(tar)s 4(get)k -6724(and)s 7128(promotion)s 8182(resumes.)s 480 10985(This)m 977(process)s -1766(is)s 1997(e)s 3(xactly)k 2759(analogous)s 3802(to)s -4062(placing)s 4840(w)s 2(ords)k 5495(onto)s 5995(a)s -6182(line)s 6617(until)s 7131(space)s 7739(runs)s 8223(out,)s -8657(then)s 0 10697(mo)m 3(ving)k 776(to)s 1008(another)s -1778(line.)s 2293(But,)s 2740(as)s 2983(we)s 3311(kno)s 6(w)k 15(,)k -3923(that)s 4335(simple)s 5021(method)s 5790(is)s 5993(inferior)s -6762(to)s 6994(the)s 7335(optimal)s 8113(paragraph)s 0 10409(breaking)m -893(used)s 1393(by)s 1690(Lout)s 2206(\(copied)s 2984(from)s -3511(the)s 3863(T)s 3959 10361(E)m 4067 10409(X)m 4299(system\),)s -5152(which)s 5797(e)s 3(xamines)k 6752(the)s 7103(entire)s -7705(paragraph)s 8722(and)s 0 10121(determines)m 1099(the)s 1447(most)s -1972(e)s 6(v)k 3(en)k 2472(assignment)s 3608(of)s -3879(w)s 2(ords)k 4513(to)s 4752(lines.)s 480 9747(Lout)m -1050(of)s 6(fers)k 240 fnt83 1709 9749(optimal)m 2559(galle)s 7(y)k -3250(br)s 8(eaking)k 240 fnt82 4087 9747(,)m 4252(the)s -4659(equi)s 6(v)k 6(alent)k 5761(for)s 6157(g)s 1(alle)k 3(ys)k -6940(of)s 7269(optimal)s 8113(paragraph)s 0 9459(breaking.)m 1020(Optimal)s -1878(g)s 1(alle)k 3(y)k 2532(breaking)s 3442(can)s -3851(reduce)s 4564(the)s 4932(size)s 5378(of)s 5669(ugly)s -6169(blank)s 6782(spaces)s 7477(at)s 7729(the)s 8097(bottom)s -8855(of)s 0 9171(pages)m 596(preceding)s 1592(lar)s 4(ge)k -2121(unbreakable)s 3346(displays,)s 4237(sometimes)s 5310(quite)s 5844(dramatically)s 15(.)k -480 8797(Optimal)m 1337(g)s 1(alle)k 3(y)k 1990(breaking)s -2900(is)s 3129(applied)s 3910(to)s 4169(each)s 4683(g)s 1(alle)k 3(y)k 15(,)k -5375(horizontal)s 6418(or)s 6696(v)s 3(ertical,)k 7535(that)s -7972(possesses)s 8960(a)s 0 8509(parameter)m 1036(or)s 1317(nested)s -2008(symbol)s 2790(called)s 220 fnt35 3440 8506(@Optimiz)m 3(e)k -240 fnt82 4599 8509(whose)m 5290(v)s 6(alue)k 5880(is)s -220 fnt35 6112 8506(Y)m 30(es)k 240 fnt82 6453 8509(.)m -6639(Lik)s 2(e)k 7153(cross)s 7717(referencing,)s 8934(it)s -0 8221(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 -2844(On)s 3192(the)s 3538(\207rst)s 3968(run,)s 4392(Lout)s -4902(records)s 5655(the)s 6001(sizes)s 6514(of)s 6784(the)s -7130(g)s 1(alle)k 3(y')k 13(s)k 7918(components)s -0 7933(and)m 393(g)s 1(aps,)k 927(and)s 1319(also)s -1746(the)s 2083(space)s 2658(a)s 4(v)k 6(ailable)k +0 13205(is)m 221(to)s 472(use)s +858(the)s 1218(b)s 4(uilt-in)k 1985(paragraph)s 3010(break)s 2(er)k +3795(most)s 4332(of)s 4614(the)s 4974(time,)s 5516(and)s +5932(switch)s 6624(to)s 6875(horizontal)s 7910(g)s 1(alle)k 3(ys)k +8646(only)s 0 12917(for)m 338(occasional)s 1402(tricks,)s 2039(such)s +2535(as)s 2785(paragraphs)s 3885(with)s 4367(drop)s 4859(capitals,)s +5695(circular)s 6483(outlines,)s 7347(etc.)s 240 fnt5 0 12124(2.10.)m +591(Optimal)s 1495(galley)s 2149(br)s 4(eaking)k 240 fnt1 +480 11647(As)m 814(e)s 3(xplained)k 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 6009(are)s 6373(promoted)s +7366(one)s 7786(by)s 8097(one)s 8517(into)s 8960(a)s +0 11359(tar)m 4(get.)k 703(When)s 1332(space)s 1919(runs)s +2382(out)s 2748(there,)s 3332(the)s 3680(g)s 1(alle)k 3(y)k +4314(searches)s 5174(for)s 5512(a)s 5678(ne)s 6(w)k +6125(tar)s 4(get)k 6724(and)s 7128(promotion)s 8182(resumes.)s +480 10985(This)m 977(process)s 1766(is)s 1997(e)s 3(xactly)k +2759(analogous)s 3802(to)s 4062(placing)s 4840(w)s 2(ords)k +5495(onto)s 5995(a)s 6182(line)s 6617(until)s 7131(space)s +7739(runs)s 8223(out,)s 8657(then)s 0 10697(mo)m 3(ving)k +776(to)s 1008(another)s 1778(line.)s 2293(But,)s 2740(as)s +2983(we)s 3311(kno)s 6(w)k 15(,)k 3923(that)s +4335(simple)s 5021(method)s 5790(is)s 5993(inferior)s 6762(to)s +6994(the)s 7335(optimal)s 8113(paragraph)s 0 10409(breaking)m 893(used)s +1393(by)s 1690(Lout)s 2206(\(copied)s 2984(from)s 3511(the)s +3863(T)s 3959 10361(E)m 4067 10409(X)m 4299(system\),)s 5152(which)s +5797(e)s 3(xamines)k 6752(the)s 7103(entire)s 7705(paragraph)s +8722(and)s 0 10121(determines)m 1099(the)s 1447(most)s 1972(e)s 6(v)k 3(en)k +2472(assignment)s 3608(of)s 3879(w)s 2(ords)k 4513(to)s +4752(lines.)s 480 9747(Lout)m 1050(of)s 6(fers)k 240 fnt6 +1709 9749(optimal)m 2559(galle)s 7(y)k 3250(br)s 8(eaking)k +240 fnt1 4087 9747(,)m 4252(the)s 4659(equi)s 6(v)k 6(alent)k +5761(for)s 6157(g)s 1(alle)k 3(ys)k 6940(of)s +7269(optimal)s 8113(paragraph)s 0 9459(breaking.)m 1020(Optimal)s 1878(g)s 1(alle)k 3(y)k +2532(breaking)s 3442(can)s 3851(reduce)s 4564(the)s 4932(size)s +5378(of)s 5669(ugly)s 6169(blank)s 6782(spaces)s 7477(at)s +7729(the)s 8097(bottom)s 8855(of)s 0 9171(pages)m 596(preceding)s +1592(lar)s 4(ge)k 2121(unbreakable)s 3346(displays,)s 4237(sometimes)s +5310(quite)s 5844(dramatically)s 15(.)k 480 8797(Optimal)m 1337(g)s 1(alle)k 3(y)k +1990(breaking)s 2900(is)s 3129(applied)s 3910(to)s 4169(each)s +4683(g)s 1(alle)k 3(y)k 15(,)k 5375(horizontal)s +6418(or)s 6696(v)s 3(ertical,)k 7535(that)s 7972(possesses)s +8960(a)s 0 8509(parameter)m 1036(or)s 1317(nested)s 2008(symbol)s +2790(called)s 220 fnt2 3440 8506(@Optimiz)m 3(e)k 240 fnt1 +4599 8509(whose)m 5290(v)s 6(alue)k 5880(is)s 220 fnt2 +6112 8506(Y)m 30(es)k 240 fnt1 6453 8509(.)m 6639(Lik)s 2(e)k +7153(cross)s 7717(referencing,)s 8934(it)s 0 8221(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 2844(On)s 3192(the)s 3538(\207rst)s +3968(run,)s 4392(Lout)s 4902(records)s 5655(the)s 6001(sizes)s +6514(of)s 6784(the)s 7130(g)s 1(alle)k 3(y')k 13(s)k +7918(components)s 0 7933(and)m 393(g)s 1(aps,)k 927(and)s +1319(also)s 1746(the)s 2083(space)s 2658(a)s 4(v)k 6(ailable)k 3555(at)s 3776(each)s 4259(of)s 4519(its)s 4783(tar)s 4(gets.)k 5568(At)s 5856(end)s 6248(of)s 6508(run)s 6873(this)s 7257(information)s 8431(is)s 8629(used)s 0 7645(to)m 232(\207nd)s @@ -7185,8 +7584,8 @@ grestore 4318(and)s 4736(e)s 6(v)k 4(olving)k 5631(documents,)s 6788(it)s 6994(is)s 7218(surprisingly)s 8428(rob)s 4(ust.)k 0 6407(If)m 250(it)s 463(does)s 974(go)s 1287(badly)s -1894(wrong,)s 2634(remo)s 3(ving)k 3621(\207le)s 220 fnt35 -4003 6404(lout.li)m 240 fnt82 4580 6407(then)m 5069(running)s 5888(Lout)s +1894(wrong,)s 2634(remo)s 3(ving)k 3621(\207le)s 220 fnt2 +4003 6404(lout.li)m 240 fnt1 4580 6407(then)m 5069(running)s 5888(Lout)s 6421(twice)s 7014(without)s 7826(changing)s 8778(the)s 0 6119(document)m 1036(may)s 1534(solv)s 3(e)k 2125(the)s 2505(problem.)s 3498(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k @@ -7198,6 +7597,14 @@ grestore 8251(f)s 2(all)k 8655(near)s 0 5543(page)m 508(boundaries.)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -7213,81 +7620,86 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +9066 13448 0 13448 240 288 60 1417 -14865 LoutGr2 0 LoutMargSet grestore -480 fnt84 0 12955(Chapter)m 1819(3.)s 2400(Pr)s 8(ede\207ned)k -4711(symbols)s 240 fnt84 0 11691(3.1.)m 471(@Begin)s 1335(and)s -1776(@End)s 240 fnt82 480 11214(The)m 905(body)s 1435(of)s -1702(a)s 1864(symbol)s 220 fnt35 2620 11211(@Sym)m 240 fnt82 -3324 11214(may)m 3786(be)s 4064(enclosed)s 4955(in)s 220 fnt35 -5194 11211(@Begin)m 240 fnt82 6019 11214(and)m 220 fnt35 6419 11211(@End)m -7076(@Sym)s 240 fnt82 7780 11214(instead)m 8511(of)s 8778(the)s -0 10926(more)m 547(usual)s 1107(braces:)s 220 fnt35 480 10475(def @Section)m -480 10187( named @Title {})m 480 9899( r)m -3(ight @Body)k 480 9611(@Begin)m 480 9323( @Title //2v @Body)m -480 9035(@End @Section)m 240 fnt82 0 8580(The)m 3(y)k 543(may)s +480 fnt5 0 12397(Chapter)m 1819(3.)s 2400(Pr)s 8(ede\207ned)k +4711(symbols)s 240 fnt5 0 11133(3.1.)m 471(@Begin)s 1335(and)s +1776(@End)s 240 fnt1 480 10656(The)m 905(body)s 1435(of)s +1702(a)s 1864(symbol)s 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 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 480 9053(@Begin)m 480 8765( @Title //2v @Body)m +480 8477(@End @Section)m 240 fnt1 0 8022(The)m 3(y)k 543(may)s 1009(also)s 1447(enclose)s 2220(the)s 2568(right)s 3079(or)s 3338(body)s 3872(parameter)s 4886(of)s 5157(a)s 5323(symbol)s -6083(in)s 9(v)k 4(ocation:)k 220 fnt35 480 8079(@Chapter)m -480 7791( @Title { Introduction })m 480 7503(@Begin)m 480 7215(This subject needs no introduction.)m 480 6927(@End @Chapter)m 240 fnt82 -0 6431(Apart)m 651(from)s 1222(their)s 1767(utility)s 2438(as)s +6083(in)s 9(v)k 4(ocation:)k 220 fnt2 480 7521(@Chapter)m +480 7233( @Title { Introduction })m 480 6945(@Begin)m 480 6657(This subject needs no introduction.)m 480 6369(@End @Chapter)m 240 fnt1 +0 5873(Apart)m 651(from)s 1222(their)s 1767(utility)s 2438(as)s 2735(documentation)s 4262(aids,)s 4801(these)s 5396(forms)s 6051(allo)s 6(w)k -6677(Basser)s 7422(Lout)s 7981(to)s 8268(pinpoint)s 0 6143(mismatched)m +6677(Basser)s 7422(Lout)s 7981(to)s 8268(pinpoint)s 0 5585(mismatched)m 1206(braces,)s 1915(which)s 2549(can)s 2930(otherwise)s 3908(create)s 4525(total)s 4996(ha)s 4(v)k 4(oc.)k 5716(F)s 3(or)k 6098(this)s 6486(reason,)s 7209(the)s 3(y)k 7664(should)s -8353(enclose)s 0 5855(the)m 339(major)s 946(parts)s 1451(of)s +8353(enclose)s 0 5297(the)m 339(major)s 946(parts)s 1451(of)s 1712(documents,)s 2846(such)s 3333(as)s 3573(chapters)s 4410(and)s 4804(sections.)s 5728(Note)s 6240(that)s 6648(braces)s 7299(cannot)s -7987(be)s 8259(replaced)s 0 5567(by)m 220 fnt35 294 5564(@Begin)m -240 fnt82 1123 5567(and)m 220 fnt35 1527 5564(@End)m 240 fnt82 -2188 5567(in)m 2431(general.)s 240 fnt84 0 4774(3.2.)m 471(Concatenation)s -2015(symbols)s 2893(and)s 3334(paragraphs)s 240 fnt82 480 4297(There)m +7987(be)s 8259(replaced)s 0 5009(by)m 220 fnt2 294 5006(@Begin)m +240 fnt1 1123 5009(and)m 220 fnt2 1527 5006(@End)m 240 fnt1 +2188 5009(in)m 2431(general.)s 240 fnt5 0 4216(3.2.)m 471(Concatenation)s +2015(symbols)s 2893(and)s 3334(paragraphs)s 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 220 fnt35 480 3756(/)m -962(^/)s 1547(//)s 2012(^//)s 240 fnt82 2580 3759(V)m 26(ertical)k -3377(concatenation)s 220 fnt35 480 3468(|)m 962(^|)s 1547(||)s -2012(^||)s 240 fnt82 2580 3471(Horizontal)m 3657(concatenation)s 220 fnt35 -480 3180(&)m 962(^&)s 240 fnt82 2580 3183(In-paragraph)m 3871(concatenation)s -0 2642(Each)m 587(symbol)s 1399(produces)s 2367(an)s 2702(object)s +4322(three)s 4855(f)s 2(amilies:)k 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 962(^|)s 1547(||)s +2012(^||)s 240 fnt1 2580 2913(Horizontal)m 3657(concatenation)s 220 fnt2 +480 2622(&)m 962(^&)s 240 fnt1 2580 2625(In-paragraph)m 3871(concatenation)s +0 2084(Each)m 587(symbol)s 1399(produces)s 2367(an)s 2702(object)s 3398(which)s 4093(combines)s 5113(together)s 6008(the)s 6409(tw)s 2(o)k -6871(parameters.)s 8134(The)s 8615(right)s 0 2354(parameter)m 1014(must)s +6871(parameters.)s 8134(The)s 8615(right)s 0 1796(parameter)m 1014(must)s 1539(be)s 1821(separated)s 2781(from)s 3305(the)s 3653(symbol)s 4413(by)s 4707(at)s 4939(least)s 5436(one)s 5838(white)s -6425(space)s 7012(character)s 13(.)k 480 1980(The)m 906(v)s 3(ertical)k -1670(concatenation)s 3052(symbol)s 220 fnt35 3809 1977(/)m 240 fnt82 -3930 1980(places)m 4575(its)s 4848(left)s 5222(parameter)s 6233(abo)s 3(v)k 3(e)k -6852(its)s 7125(right)s 7633(parameter)s 8644(with)s 0 1692(their)m +6425(space)s 7012(character)s 13(.)k 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 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 3544(parameter)s 4581(has)s 4973(more)s 5543(column)s 6341(marks)s 6999(than)s 7491(the)s 7862(other)s 9(,)k 8474(empty)s -0 1404(columns)m 868(are)s 1221(inserted)s 2041(at)s 2279(the)s +0 846(columns)m 868(are)s 1221(inserted)s 2041(at)s 2279(the)s 2633(right)s 3150(to)s 3395(equalize)s 4253(the)s 4607(numbers.)s -5601(The)s 6035(v)s 6(ariant)k 220 fnt35 6758 1401(//)m -240 fnt82 6949 1404(ignores)m 7710(column)s 8491(marks)s 0 1116(and)m -404(left-justi\207es)s 1594(the)s 1942(objects.)s 480 742(The)m 896(horizontal)s -1908(concatenation)s 3280(symbols)s 220 fnt35 4117 739(|)m 240 fnt82 -4201 742(and)m 220 fnt35 4593 739(||)m 240 fnt82 4734 742(are)m -5069(horizontal)s 6080(analogues)s 7076(of)s 220 fnt35 7334 739(/)m -240 fnt82 7446 742(and)m 220 fnt35 7837 739(//)m 240 fnt82 -7962 742(:)m 8116(the)s 3(y)k 8566(place)s 192 fnt84 -4439 2(36)m +5601(The)s 6035(v)s 6(ariant)k 220 fnt2 6758 843(//)m +240 fnt1 6949 846(ignores)m 7710(column)s 8491(marks)s 0 558(and)m +404(left-justi\207es)s 1594(the)s 1942(objects.)s 480 184(The)m 896(horizontal)s +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 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 +grestore +0 0 0 0 240 288 60 1417 -14865 LoutGr2 +0 LoutMargSet grestore grestore +192 fnt5 +5856 -15421(36)m +grestore grestore @@ -7302,87 +7714,89 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(3.2.)m 1871(Concatenation)s 3335(symbols)s 4161(and)s +4587(par)s 3(a)k 2(gr)k 3(aphs)k 240 fnt5 +10248 -1583(37)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(3.2.)m 454(Concatenation)s 1918(symbols)s 2744(and)s -3170(par)s 3(a)k 2(gr)k 3(aphs)k 240 fnt84 -8831 13840(37)m 240 fnt82 0 13205(their)m 488(tw)s 2(o)k -888(parameters)s 1976(side)s 2407(by)s 2692(side,)s 3174(with)s -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 0 12917(in-paragraph)m 1278(concatenation)s 2663(symbol)s 220 fnt35 -3423 12914(&)m 240 fnt82 3625 12917(produces)m 4540(horizontal)s 5564(concatenation)s +0 13205(their)m 488(tw)s 2(o)k 888(parameters)s +1976(side)s 2407(by)s 2692(side,)s 3174(with)s 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 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 718(properties)s 1724(are)s 2071(treated)s 2778(in)s 3021(detail)s 3606(at)s 3838(the)s 4186(end)s 4590(of)s 4861(this)s 5257(section.)s 480 12255(The)m 908(concatenation)s 2293(symbols)s 3142(in)s 3385(an)s 3(y)k 3782(one)s 4184(f)s 2(amily)k -4859(are)s 240 fnt83 5206 12257(mutually)m 6099(associative)s 240 fnt82 -7154 12255(,)m 7261(which)s 7903(means)s 8565(that)s 220 fnt35 -480 11754({)m 240 fnt83 664 11759(x)m 220 fnt35 890 11754(|)m -240 fnt83 927 11759(p)m 1160(y)s 220 fnt35 1382 11754(})m -1566(|)s 240 fnt83 1603 11759(q)m 1839(z)s 240 fnt82 +4859(are)s 240 fnt6 5206 12257(mutually)m 6099(associative)s 240 fnt1 +7154 12255(,)m 7261(which)s 7903(means)s 8565(that)s 220 fnt2 +480 11754({)m 240 fnt6 664 11759(x)m 220 fnt2 890 11754(|)m +240 fnt6 927 11759(p)m 1160(y)s 220 fnt2 1382 11754(})m +1566(|)s 240 fnt6 1603 11759(q)m 1839(z)s 240 fnt1 0 11258(is)m 210(al)s 2(w)k 2(ays)k 921(the)s -1269(same)s 1816(as)s 240 fnt83 480 10762(x)m 220 fnt35 -706 10757(|)m 240 fnt83 743 10762(p)m 220 fnt35 976 10757({)m -240 fnt83 1160 10762(y)m 220 fnt35 1382 10757(|)m 240 fnt83 -1419 10762(q)m 1655(z)s 220 fnt35 1866 10757(})m 240 fnt82 -0 10261(for)m 339(an)s 3(y)k 737(objects)s 240 fnt83 -1466 10263(x)m 240 fnt82 1572 10261(,)m 240 fnt83 1680 10263(y)m -240 fnt82 1782 10261(,)m 1891(and)s 240 fnt83 2296 10263(z)m -240 fnt82 2387 10261(,)m 2495(an)s 3(y)k 2893(g)s 1(aps)k -240 fnt83 3383 10263(p)m 240 fnt82 3558 10261(and)m 240 fnt83 -3963 10263(q)m 240 fnt82 4140 10261(\(de\207ned)m 4983(belo)s 6(w\),)k +1269(same)s 1816(as)s 240 fnt6 480 10762(x)m 220 fnt2 +706 10757(|)m 240 fnt6 743 10762(p)m 220 fnt2 976 10757({)m +240 fnt6 1160 10762(y)m 220 fnt2 1382 10757(|)m 240 fnt6 +1419 10762(q)m 1655(z)s 220 fnt2 1866 10757(})m 240 fnt1 +0 10261(for)m 339(an)s 3(y)k 737(objects)s 240 fnt6 +1466 10263(x)m 240 fnt1 1572 10261(,)m 240 fnt6 1680 10263(y)m +240 fnt1 1782 10261(,)m 1891(and)s 240 fnt6 2296 10263(z)m +240 fnt1 2387 10261(,)m 2495(an)s 3(y)k 2893(g)s 1(aps)k +240 fnt6 3383 10263(p)m 240 fnt1 3558 10261(and)m 240 fnt6 +3963 10263(q)m 240 fnt1 4140 10261(\(de\207ned)m 4983(belo)s 6(w\),)k 5750(and)s 6155(an)s 3(y)k 6553(choice)s 7234(of)s -220 fnt35 7506 10258(|)m 240 fnt82 7543 10261(,)m 220 fnt35 -7652 10258(^|)m 240 fnt82 7792 10261(,)m 220 fnt35 7900 10258(||)m -240 fnt82 7994 10261(,)m 8102(and)s 220 fnt35 8507 10258(^||)m -240 fnt82 8704 10261(.)m 8870(In)s 0 9973(practice)m 803(we)s +220 fnt2 7506 10258(|)m 240 fnt1 7543 10261(,)m 220 fnt2 +7652 10258(^|)m 240 fnt1 7792 10261(,)m 220 fnt2 7900 10258(||)m +240 fnt1 7994 10261(,)m 8102(and)s 220 fnt2 8507 10258(^||)m +240 fnt1 8704 10261(.)m 8870(In)s 0 9973(practice)m 803(we)s 1130(al)s 2(w)k 2(ays)k 1833(omit)s 2323(such)s 2811(braces,)s 3520(since)s 4059(the)s 3(y)k 4513(are)s 4852(redundant)s 5861(and)s 6257(can)s 6638(be)s 6912(misleading.)s 8117(The)s 8536(result)s 0 9685(of)m 277(the)s 631(complete)s 1569(sequence)s 2508(of)s 2786(concatenations)s 4264(will)s 4696(be)s -4984(called)s 5619(the)s 240 fnt83 5973 9687(whole)m 6604(concatenation)s -8020(object)s 240 fnt82 8608 9685(,)m 8722(and)s 0 9397(the)m +4984(called)s 5619(the)s 240 fnt6 5973 9687(whole)m 6604(concatenation)s +8020(object)s 240 fnt1 8608 9685(,)m 8722(and)s 0 9397(the)m 348(objects)s 1076(which)s 1718(mak)s 2(e)k 2290(it)s 2482(up)s 2775(will)s 3201(be)s 3483(called)s 4111(the)s -240 fnt83 4459 9399(components)m 240 fnt82 5598 9397(.)m 480 9023(One)m +240 fnt6 4459 9399(components)m 240 fnt1 5598 9397(.)m 480 9023(One)m 938(mark)s 1494(is)s 1708(designated)s 2793(as)s 3047(the)s -240 fnt83 3398 9025(principal)m 4339(mark)s 240 fnt82 4835 9023(,)m +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 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 -3189(honour)s 3932(by)s 4230(attaching)s 220 fnt35 5163 8732(^)m -240 fnt82 5333 8735(to)m 5576(the)s 5928(preceding)s 6928(concatenation)s +3189(honour)s 3932(by)s 4230(attaching)s 220 fnt2 5163 8732(^)m +240 fnt1 5333 8735(to)m 5576(the)s 5928(preceding)s 6928(concatenation)s 8317(symbol.)s 0 8447(See)m 401(Section)s 1175(3.10)s 1650(for)s -1988(e)s 3(xamples.)k 480 8073(A)m 240 fnt83 712 8075(gap)m -240 fnt82 1065 8073(,)m 1175(specifying)s 2227(the)s 2578(distance)s +1988(e)s 3(xamples.)k 480 8073(A)m 240 fnt6 712 8075(gap)m +240 fnt1 1065 8073(,)m 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 7741(concatenation)s 0 7785(symbol.)m 866(There)s 1475(may)s 1937(be)s 2215(no)s 2504(spaces)s 3176(between)s 4026(a)s 4188(concatenation)s 5569(symbol)s 6325(and)s 6726(its)s 6998(g)s 1(ap.)k 7503(A)s 7729(missing)s 8522(g)s 1(ap)k 8916(is)s -0 7497(tak)m 2(en)k 569(to)s 803(be)s 220 fnt35 -1081 7494(0ie)m 240 fnt82 1365 7497(.)m 1524(The)s 1948(g)s 1(ap)k +0 7497(tak)m 2(en)k 569(to)s 803(be)s 220 fnt2 +1081 7494(0ie)m 240 fnt1 1365 7497(.)m 1524(The)s 1948(g)s 1(ap)k 2341(is)s 2546(ef)s 6(fecti)k 6(v)k 3(ely)k 3601(a)s 3762(third)s 4267(parameter)s 5276(of)s 5542(the)s 5886(concatenation)s 7266(symbol,)s 8074(and)s 8473(it)s 8660(may)s @@ -7392,42 +7806,42 @@ grestore 7298(w)s 2(ords.)k 8052(In)s 8316(general,)s 0 6921(the)m 348(g)s 1(ap)k 746(must)s 1271(be)s 1553(enclosed)s 2448(in)s 2691(braces,)s 3408(lik)s 2(e)k 3820(this:)s -220 fnt35 480 6420(//{ @Style&&m)m 3(ystyle @Open { @T)k 26(opMargin } })k 240 fnt82 +220 fnt2 480 6420(//{ @Style&&m)m 3(ystyle @Open { @T)k 26(opMargin } })k 240 fnt1 0 5921(b)m 4(ut)k 349(the)s 684(braces)s 1332(may)s 1785(be)s 2053(omitted)s 2828(when)s 3391(the)s 3726(object)s 4356(is)s 4553(a)s 4706(juxtaposition)s 5999(of)s 6256(simple)s 6936(w)s 2(ords)k 7557(or)s 7803(an)s 8072(in)s 9(v)k 4(ocation)k 0 5633(of)m 271(a)s 437(symbol)s 1197(without)s 1988(parameters,)s -3142(as)s 3392(in)s 220 fnt35 3635 5630(//0.3vx)m 240 fnt82 -4340 5633(and)m 220 fnt35 4744 5630(||@Indent)m 240 fnt82 5687 5633(.)m +3142(as)s 3392(in)s 220 fnt2 3635 5630(//0.3vx)m 240 fnt1 +4340 5633(and)m 220 fnt2 4744 5630(||@Indent)m 240 fnt1 5687 5633(.)m 480 5259(A)m 704(g)s 1(ap)k 1096(consists)s 1898(of)s 2162(a)s 2322(length)s 2971(plus)s 3415(a)s 3574(g)s 1(ap)k 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 fnt83 -0 4973(length)m 240 fnt82 659 4971(is)m 875(represented)s 2040(by)s +7108(of)s 7373(unbreakability)s 15(.)k 8896(A)s 240 fnt6 +0 4973(length)m 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 7036(follo)s 6(wed)k 7944(by)s 8244(a)s 8416(unit)s 8855(of)s 0 4683(measurement.)m 1437(F)s 3(or)k 1825(e)s 3(xample,)k -220 fnt35 2738 4680(2.5c)m 240 fnt82 3207 4683(represents)m 4225(the)s +220 fnt2 2738 4680(2.5c)m 240 fnt1 3207 4683(represents)m 4225(the)s 4572(length)s 5226(2.5)s 5571(centimetres.)s 6834(Figure)s 7513(3.1)s 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 480 4021(After)m 1045(the)s 1396(length)s 2054(comes)s 2718(an)s -3004(optional)s 240 fnt83 3846 4023(gap)m 4261(mode)s 240 fnt82 +3004(optional)s 240 fnt6 3846 4023(gap)m 4261(mode)s 240 fnt1 4773 4021(,)m 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 2562(is)s 2794(to)s 3055(be)s 3359(measured.)s 4462(As)s 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 -603(the)s 967(length)s 240 fnt83 1638 3447(l)m 240 fnt82 +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 6939(to)s 7194(the)s 7558(leading)s 8331(edge)s 8855(of)s 0 3157(the)m 347(second.)s 1174(Edge-to-edge)s 2516(is)s 2725(the)s -3071(def)s 2(ault)k 3790(mode:)s 4486(the)s 220 fnt35 -4833 3154(e)m 240 fnt82 5005 3157(may)m 5469(be)s 5749(omitted.)s +3071(def)s 2(ault)k 3790(mode:)s 4486(the)s 220 fnt2 +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 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 @@ -7442,7 +7856,7 @@ grestore 771(the)s 1123(objects)s 1855(almost)s 2556(o)s 3(v)k 3(erlapping,)k 3804(it)s 4000(is)s 4214(widened)s 5087(until)s 5584(the)s 3(y)k 6051(no)s 6348(longer)s 7023(do.)s 7431(\(The)s 7942(e)s 3(xtra)k -240 fnt83 8480 1921(l/10)m 240 fnt82 8916 1919(is)m 0 1631(not)m +240 fnt6 8480 1921(l/10)m 240 fnt1 8916 1919(is)m 0 1631(not)m 362(applied)s 1119(when)s 1690(plain)s 2220(te)s 3(xt)k 2630(output)s 3298(is)s 3503(in)s 3741(ef)s 6(fect.\))k 4520(K)s 6(erning)k 5346(also)s 5780(widens,)s 6560(with)s @@ -7454,16 +7868,24 @@ grestore 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 -8047(object)s 8709(at)s 8960(a)s 0 393(distance)m 240 fnt83 -842 395(l)m 240 fnt82 971 393(from)m 1498(the)s 1849(left)s +8047(object)s 8709(at)s 8960(a)s 0 393(distance)m 240 fnt6 +842 395(l)m 240 fnt1 971 393(from)m 1498(the)s 1849(left)s 2229(edge)s 2740(of)s 3014(the)s 3365(whole)s 4009(concatenation)s 5397(object.)s 6148(It)s 6356(is)s 6569(the)s 6920(main)s -7458(user)s 7919(of)s 8193(the)s 220 fnt35 8544 390(b)m -240 fnt82 8722 393(and)m 220 fnt35 0 102(r)m 240 fnt82 +7458(user)s 7919(of)s 8193(the)s 220 fnt2 8544 390(b)m +240 fnt1 8722 393(and)m 220 fnt2 0 102(r)m 240 fnt1 141 105(units)m 666(of)s 945(measurement;)s 2340(for)s 2686(e)s 3(xample,)k -220 fnt35 3609 102(|1r)m -8(t)k 240 fnt82 3994 105(will)m +220 fnt2 3609 102(|1r)m -8(t)k 240 fnt1 3994 105(will)m 4429(right-justify)s 5631(the)s 5988(follo)s 6(wing)k 6973(component,)s -8153(and)s 220 fnt35 8566 102(|0.5r)m -8(t)k +8153(and)s 220 fnt2 8566 102(|0.5r)m -8(t)k +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -7481,70 +7903,58 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(38)m 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 +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(38)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s gsave -0 13282 translate -240 fnt82 0 86 0 86 240 288 60 LoutGraphic -gsave +0 86 0 86 240 288 60 0 13282 LoutGr2 0.5 pt ltabvs grestore grestore -gsave -0 13368 translate -240 fnt82 170 0 0 0 240 288 60 LoutGraphic -gsave +170 0 0 0 240 288 60 0 13368 LoutGr2 0.5 pt ltabhsp grestore grestore -gsave -0 13113 translate -240 fnt82 0 169 0 60 240 288 60 LoutGraphic -gsave +0 169 0 60 240 288 60 0 13113 LoutGr2 0.5 pt ltabvs grestore grestore -gsave -0 13027 translate -240 fnt82 0 86 0 0 240 288 60 LoutGraphic -gsave +0 86 0 0 240 288 60 0 13027 LoutGr2 0.5 pt ltabvs grestore grestore -gsave -170 13368 translate -240 fnt82 169 0 0 0 240 288 60 LoutGraphic -gsave +169 0 0 0 240 288 60 170 13368 LoutGr2 0.5 pt ltabhs grestore grestore -220 fnt35 170 13116(c)m +220 fnt2 170 13116(c)m gsave 339 13368 translate -240 fnt82 170 0 0 0 240 288 60 LoutGraphic +240 fnt1 170 0 0 0 240 288 60 LoutGraphic gsave 0.5 pt ltabhs grestore @@ -7552,7 +7962,7 @@ grestore grestore gsave 509 13368 translate -240 fnt82 170 0 0 0 240 288 60 LoutGraphic +240 fnt1 170 0 0 0 240 288 60 LoutGraphic gsave 0.5 pt ltabhs grestore @@ -7560,13 +7970,13 @@ grestore grestore gsave 679 13368 translate -240 fnt82 8217 0 0 0 240 288 60 LoutGraphic +240 fnt1 8217 0 0 0 240 288 60 LoutGraphic gsave 0.5 pt ltabhs grestore grestore -240 fnt82 679 13119(Centimetres.)m 170 0 0 0 240 288 60 8896 13368 LoutGr2 +240 fnt1 679 13119(Centimetres.)m 170 0 0 0 240 288 60 8896 13368 LoutGr2 0.5 pt ltabhsp grestore @@ -7601,7 +8011,7 @@ grestore grestore grestore -220 fnt35 170 12775(i)m 240 fnt82 +220 fnt2 170 12775(i)m 240 fnt1 679 12778(Inches.)m 0 86 0 86 240 288 60 9066 12941 LoutGr2 0.5 pt ltabvs grestore @@ -7632,9 +8042,9 @@ grestore grestore grestore -220 fnt35 170 12437(p)m 240 fnt82 679 12440(Points)m -1328(\()s 220 fnt35 1401 12437(72p)m 240 fnt82 1819 12440(=)m -220 fnt35 2007 12437(1i)m 240 fnt82 2163 12440(\).)m 0 86 0 86 240 288 60 9066 12603 LoutGr2 +220 fnt2 170 12437(p)m 240 fnt1 679 12440(Points)m +1328(\()s 220 fnt2 1401 12437(72p)m 240 fnt1 1819 12440(=)m +220 fnt2 2007 12437(1i)m 240 fnt1 2163 12440(\).)m 0 86 0 86 240 288 60 9066 12603 LoutGr2 0.5 pt ltabvs grestore @@ -7664,10 +8074,10 @@ grestore grestore grestore -220 fnt35 -170 12055(m)m 240 fnt82 679 12058(Ems)m 1155(\()s 220 fnt35 -1228 12055(12m)m 240 fnt82 1701 12058(=)m 220 fnt35 1889 12055(1i)m -240 fnt82 2045 12058(\).)m 0 86 0 86 240 288 60 9066 12220 LoutGr2 +220 fnt2 +170 12055(m)m 240 fnt1 679 12058(Ems)m 1155(\()s 220 fnt2 +1228 12055(12m)m 240 fnt1 1701 12058(=)m 220 fnt2 1889 12055(1i)m +240 fnt1 2045 12058(\).)m 0 86 0 86 240 288 60 9066 12220 LoutGr2 0.5 pt ltabvs grestore @@ -7697,11 +8107,11 @@ grestore grestore grestore -220 fnt35 170 11678(f)m 240 fnt82 -679 11681(One)m 220 fnt35 1123 11678(f)m 240 fnt82 1229 11681(equals)m +220 fnt2 170 11678(f)m 240 fnt1 +679 11681(One)m 220 fnt2 1123 11678(f)m 240 fnt1 1229 11681(equals)m 1879(the)s 2215(size)s 2631(of)s 2890(the)s 3226(current)s 3950(font,)s 4431(as)s 4669(speci\207ed)s 5565(by)s 5847(the)s -220 fnt35 6184 11678(@F)m 6(ont)k 240 fnt82 6884 11681(symbol)m +220 fnt2 6184 11678(@F)m 6(ont)k 240 fnt1 6884 11681(symbol)m 7632(\(Section)s 8473(3.3\).)s 679 11393(This)m 1155(unit)s 1587(is)s 1797(appropriate)s 2941(for)s 3279(lengths)s 4021(that)s 4439(should)s 5136(change)s 5870(with)s 6352(the)s 6700(font)s 7145(size.)s @@ -7735,13 +8145,13 @@ grestore grestore grestore -220 fnt35 170 11003(s)m 240 fnt82 679 11006(One)m 220 fnt35 -1125 11003(s)m 240 fnt82 1279 11006(equals)m 1932(the)s 2271(preferred)s +220 fnt2 170 11003(s)m 240 fnt1 679 11006(One)m 220 fnt2 +1125 11003(s)m 240 fnt1 1279 11006(equals)m 1932(the)s 2271(preferred)s 3194(g)s 1(ap)k 3582(between)s 4427(tw)s 2(o)k 4828(w)s 2(ords)k 5453(in)s 5687(the)s 6025(current)s 6752(font,)s 7235(as)s 7476(speci\207ed)s 8375(in)s 8608(the)s 679 10718(de\207nition)m 1653(of)s 1924(the)s 2272(font,)s 2764(or)s -3023(by)s 3317(the)s 220 fnt35 3665 10715(@Space)m 240 fnt82 +3023(by)s 3317(the)s 220 fnt2 3665 10715(@Space)m 240 fnt1 4562 10718(symbol)m 5322(\(Section)s 6175(3.4\).)s 0 86 0 86 240 288 60 9066 11169 LoutGr2 0.5 pt ltabvs grestore @@ -7772,12 +8182,12 @@ grestore grestore grestore -220 fnt35 170 10328(v)m -240 fnt82 679 10331(One)m 220 fnt35 1149 10328(v)m 240 fnt82 +220 fnt2 170 10328(v)m +240 fnt1 679 10331(One)m 220 fnt2 1149 10328(v)m 240 fnt1 1334 10331(equals)m 2011(the)s 2375(current)s 3126(g)s 1(ap)k 3540(between)s 4410(lines)s 4927(introduced)s 6024(during)s 6717(paragraph)s 7746(breaking,)s 8706(as)s 679 10043(speci\207ed)m 1574(by)s 1854(the)s -220 fnt35 2188 10040(@Break)m 240 fnt82 3030 10043(symbol)m 3777(\(Section)s +220 fnt2 2188 10040(@Break)m 240 fnt1 3030 10043(symbol)m 3777(\(Section)s 4616(3.4\).)s 5145(This)s 5607(unit)s 6026(is)s 6222(appropriate)s 7352(for)s 7676(lengths,)s 8460(such)s 679 9755(as)m 929(the)s 1277(spaces)s 1952(between)s 2806(paragraphs,)s 3962(which)s 4604(should)s @@ -7812,8 +8222,8 @@ grestore grestore grestore -220 fnt35 170 9365(w)m 240 fnt82 -679 9368(One)m 220 fnt35 1167 9365(w)m 240 fnt82 1416 9368(equals)m +220 fnt2 170 9365(w)m 240 fnt1 +679 9368(One)m 220 fnt2 1167 9365(w)m 240 fnt1 1416 9368(equals)m 2111(the)s 2493(width)s 3128(of)s 3432(the)s 3813(follo)s 6(wing)k 4824(component,)s 6028(or)s 6320(its)s 6629(height)s 7321(if)s 7571(the)s 7952(symbol)s 8746(is)s 679 9080(v)m 3(ertical)k @@ -7847,8 +8257,8 @@ grestore grestore grestore -220 fnt35 170 8739(b)m 240 fnt82 679 8742(One)m -220 fnt35 1133 8739(b)m 240 fnt82 1305 8742(equals)m 1965(the)s +220 fnt2 170 8739(b)m 240 fnt1 679 8742(One)m +220 fnt2 1133 8739(b)m 240 fnt1 1305 8742(equals)m 1965(the)s 2311(width)s 2912(of)s 3181(the)s 3527(whole)s 4166(concatenation)s 5550(object,)s 6239(or)s 6496(its)s 6770(height)s 7427(if)s 7642(the)s 7988(symbol)s 8746(is)s 679 8454(v)m 3(ertical)k @@ -7882,10 +8292,10 @@ grestore grestore grestore -220 fnt35 170 8113(r)m 240 fnt82 679 8116(One)m -220 fnt35 1176 8113(r)m 240 fnt82 1352 8116(equals)m 2057(one)s -220 fnt35 2502 8113(b)m 240 fnt82 2718 8116(minus)m 3397(one)s -220 fnt35 3842 8113(w)m 240 fnt82 3998 8116(.)m 4205(This)s +220 fnt2 170 8113(r)m 240 fnt1 679 8116(One)m +220 fnt2 1176 8113(r)m 240 fnt1 1352 8116(equals)m 2057(one)s +220 fnt2 2502 8113(b)m 240 fnt1 2718 8116(minus)m 3397(one)s +220 fnt2 3842 8113(w)m 240 fnt1 3998 8116(.)m 4205(This)s 4723(unit)s 5198(is)s 5451(used)s 5991(for)s 6371(centring,)s 7304(and)s 7751(for)s 8132(left)s 8552(and)s 679 7828(right)m 1190(justi\207cation.)s 0 86 0 86 240 288 60 9066 8279 LoutGr2 @@ -7918,10 +8328,10 @@ grestore grestore grestore -220 fnt35 170 7438(d)m 240 fnt82 679 7441(De)m 3(grees.)k +220 fnt2 170 7438(d)m 240 fnt1 679 7441(De)m 3(grees.)k 1623(This)s 2099(unit)s 2531(may)s 2997(only)s 3477(be)s -3759(used)s 4256(with)s 4738(the)s 220 fnt35 5086 7438(@Rotate)m -240 fnt82 6007 7441(symbol.)m 0 86 0 86 240 288 60 9066 7604 LoutGr2 +3759(used)s 4256(with)s 4738(the)s 220 fnt2 5086 7438(@Rotate)m +240 fnt1 6007 7441(symbol.)m 0 86 0 86 240 288 60 9066 7604 LoutGr2 0.5 pt ltabvs grestore @@ -7951,10 +8361,10 @@ grestore grestore grestore -220 fnt35 170 7050(y)m 240 fnt82 -679 7053(One)m 220 fnt35 1129 7050(y)m 240 fnt82 1292 7053(equals)m +220 fnt2 170 7050(y)m 240 fnt1 +679 7053(One)m 220 fnt2 1129 7050(y)m 240 fnt1 1292 7053(equals)m 1949(the)s 2292(current)s 3023(v)s 6(alue)k 3586(set)s -3906(by)s 4195(the)s 220 fnt35 4538 7050(@YUnit)m 240 fnt82 +3906(by)s 4195(the)s 220 fnt2 4538 7050(@YUnit)m 240 fnt1 5347 7053(symbol)m 6102(\(Section)s 6950(3.6\).)s 7488(This)s 7959(unit)s 8386(is)s 8590(not)s 679 6765(used)m 1176(internally)s 2145(by)s 2439(Lout;)s 3003(it)s 3195(is)s 3405(included)s 4287(for)s @@ -7994,9 +8404,9 @@ grestore grestore grestore -220 fnt35 170 6374(z)m gsave +220 fnt2 170 6374(z)m gsave 170 5951 translate -240 fnt82 169 0 0 0 240 288 60 LoutGraphic +240 fnt1 169 0 0 0 240 288 60 LoutGraphic gsave 0.5 pt ltabhs grestore @@ -8004,7 +8414,7 @@ grestore grestore gsave 339 5951 translate -240 fnt82 170 0 0 0 240 288 60 LoutGraphic +240 fnt1 170 0 0 0 240 288 60 LoutGraphic gsave 0.5 pt ltabhs grestore @@ -8012,16 +8422,16 @@ grestore grestore gsave 509 5951 translate -240 fnt82 170 0 0 0 240 288 60 LoutGraphic +240 fnt1 170 0 0 0 240 288 60 LoutGraphic gsave 0.5 pt ltabhs grestore grestore -240 fnt82 -679 6377(One)m 220 fnt35 1130 6374(z)m 240 fnt82 1290 6377(equals)m +240 fnt1 +679 6377(One)m 220 fnt2 1130 6374(z)m 240 fnt1 1290 6377(equals)m 1948(the)s 2292(current)s 3024(v)s 6(alue)k 3588(set)s -3909(by)s 4199(the)s 220 fnt35 4543 6374(@ZUnit)m 240 fnt82 +3909(by)s 4199(the)s 220 fnt2 4543 6374(@ZUnit)m 240 fnt1 5341 6377(symbol)m 6097(\(Section)s 6946(3.6\).)s 7485(This)s 7957(unit)s 8385(is)s 8590(not)s 679 6089(used)m 1176(internally)s 2145(by)s 2439(Lout;)s 3003(it)s 3195(is)s 3405(included)s 4287(for)s @@ -8051,12 +8461,12 @@ grestore grestore grestore -200 fnt84 1938 5388(Figur)m 3(e)k -2546(3.1.)s 200 fnt82 2938 5389(The)m 3294(thirteen)s 3948(units)s +200 fnt5 1938 5388(Figur)m 3(e)k +2546(3.1.)s 200 fnt1 2938 5389(The)m 3294(thirteen)s 3948(units)s 4377(of)s 4603(measurement)s 5713(pro)s 3(vided)k 6468(by)s -6713(Lout.)s 240 fnt82 0 4758(will)m 426(centre)s 1065(it.)s -480 4384(The)m 914(v)s 6(alue)k 220 fnt35 1488 4381(|0r)m -8(t)k -240 fnt82 1871 4384(separating)m 2913(the)s 3267(\207rst)s 3704(and)s +6713(Lout.)s 240 fnt1 0 4758(will)m 426(centre)s 1065(it.)s +480 4384(The)m 914(v)s 6(alue)k 220 fnt2 1488 4381(|0r)m -8(t)k +240 fnt1 1871 4384(separating)m 2913(the)s 3267(\207rst)s 3704(and)s 4115(second)s 4844(items)s 5418(in)s 5667(a)s 5840(sequence)s 6779(of)s 7056(horizontally)s 8272(concate)s 8998(-)s 0 4096(nated)m 572(objects)s 1296(is)s 1502(some)s 6(what)k 2522(special)s @@ -8064,11 +8474,11 @@ grestore 5228(justi\207cation)s 6409(of)s 6676(the)s 7020(object)s 7660(to)s 7895(its)s 8167(left)s 8540(in)s 8778(the)s 0 3808(a)m 4(v)k 6(ailable)k 902(space.)s 1590(This)s 2059(is)s 2262(identical)s 3132(with)s -220 fnt35 3607 3805(|0ie)m 240 fnt82 4001 3808(when)m 4570(the)s +220 fnt2 3607 3805(|0ie)m 240 fnt1 4001 3808(when)m 4570(the)s 4911(object)s 5548(to)s 5780(the)s 6121(left)s 6491(also)s 6922(has)s 7285(the)s 7626(principal)s 8523(mark;)s 0 3520(b)m 4(ut)k -354(when)s 922(it)s 1105(does)s 1587(not,)s 220 fnt35 -1991 3517(|0r)m -8(t)k 240 fnt82 2360 3520(will)m 2777(cause)s +354(when)s 922(it)s 1105(does)s 1587(not,)s 220 fnt2 +1991 3517(|0r)m -8(t)k 240 fnt1 2360 3520(will)m 2777(cause)s 3356(the)s 3695(object)s 4331(to)s 4561(the)s 4901(left)s 5269(to)s 5500(appear)s 6188(further)s 6889(to)s 7119(the)s 7459(left)s 7827(than)s 8288(it)s 8471(w)s 2(ould)k @@ -8077,8 +8487,8 @@ grestore 3661(is)s 3871(a)s 4(v)k 6(ailable.)k 480 2858(A)m 744(g)s 1(ap)k 1177(is)s 1421(optionally)s 2480(concluded)s 3557(with)s 4073(an)s 4391(indication)s 5439(of)s 5744(unbreakability)s 15(,)k -7252(which)s 7929(is)s 8173(a)s 8374(letter)s 220 fnt35 -8958 2855(u)m 240 fnt82 0 2570(appended)m 976(to)s 1215(the)s +7252(which)s 7929(is)s 8173(a)s 8374(letter)s 220 fnt2 +8958 2855(u)m 240 fnt1 0 2570(appended)m 976(to)s 1215(the)s 1563(g)s 1(ap.)k 2072(A)s 2303(paragraph)s 3316(will)s 3742(ne)s 6(v)k 3(er)k 4324(be)s 4607(brok)s 2(en)k 5327(at)s 5559(an)s 5842(unbreakable)s 7068(g)s 1(ap,)k @@ -8095,12 +8505,12 @@ 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 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 fnt35 -3859 1041(&)m 240 fnt83 4001 1046(k)m 220 fnt35 4111 1041(s)m -240 fnt82 4307 1044(between)m 5194(the)s 5575(tw)s 2(o)k -6018(objects,)s 6835(where)s 240 fnt83 7508 1046(k)m 240 fnt82 +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 +240 fnt1 4307 1044(between)m 5194(the)s 5575(tw)s 2(o)k +6018(objects,)s 6835(where)s 240 fnt6 7508 1046(k)m 240 fnt1 7711 1044(is)m 7954(the)s 8335(number)s 0 756(of)m 291(spaces.)s -1100(Precisely)s 15(,)k 240 fnt83 2087 758(k)m 240 fnt82 +1100(Precisely)s 15(,)k 240 fnt6 2087 758(k)m 240 fnt1 2278 756(is)m 2509(determined)s 3662(by)s 3977(discarding)s 5047(all)s 5360(space)s 5968(characters)s 7007(and)s 7431(tabs)s 7888(that)s 8327(precede)s 0 468(ne)m 6(wlines)k 903(\(these)s 1537(are)s @@ -8109,8 +8519,16 @@ grestore 6823(each)s 7326(ne)s 6(wline,)k 8193(formfeed)s 0 180(or)m 259(space,)s 897(and)s 1301(8)s 1468(for)s 1806(each)s 2301(tab)s 2646(character)s 13(.)k 3671(The)s 4099(g)s 1(ap)k -4497(will)s 4923(be)s 5205(unbreakable)s 6430(if)s 240 fnt83 -6647 182(k)m 240 fnt82 6817 180(is)m 7027(zero.)s +4497(will)s 4923(be)s 5205(unbreakable)s 6430(if)s 240 fnt6 +6647 182(k)m 240 fnt1 6817 180(is)m 7027(zero.)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -8128,46 +8546,46 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(3.2.)m 1871(Concatenation)s 3335(symbols)s 4161(and)s +4587(par)s 3(a)k 2(gr)k 3(aphs)k 240 fnt5 +10249 -1583(39)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(3.2.)m 454(Concatenation)s 1918(symbols)s 2744(and)s -3170(par)s 3(a)k 2(gr)k 3(aphs)k 240 fnt84 -8832 13840(39)m gsave -1450 5884 translate -240 fnt82 6166 7484 0 7484 240 288 60 LoutGraphic -gsave +6166 7484 0 7484 240 288 60 1450 5884 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore -0 6710(Edge-to-edge)m 220 fnt35 1786 6707(|)m 240 fnt83 -1843 6712(l)m 220 fnt35 1929 6707(e)m 240 fnt82 0 5558(Hyphenation)m -220 fnt35 1786 5555(|)m 240 fnt83 1843 5560(l)m 220 fnt35 -1929 5555(h)m 240 fnt82 0 4406(Ov)m 3(erstrik)k 2(e)k -220 fnt35 1786 4403(|)m 240 fnt83 1843 4408(l)m 220 fnt35 -1929 4403(o)m 240 fnt82 0 3254(Mark-to-mark)m 220 fnt35 1786 3251(|)m -240 fnt83 1843 3256(l)m 220 fnt35 1929 3251(x)m 240 fnt82 -0 2102(K)m 6(erning)k 220 fnt35 1786 2099(|)m 240 fnt83 -1843 2104(l)m 220 fnt35 1929 2099(k)m 240 fnt82 0 950(T)m 19(ab)k 4(ulation)k -220 fnt35 1786 947(|)m 240 fnt83 1843 952(l)m 220 fnt35 +0 6710(Edge-to-edge)m 220 fnt2 1786 6707(|)m 240 fnt6 +1843 6712(l)m 220 fnt2 1929 6707(e)m 240 fnt1 0 5558(Hyphenation)m +220 fnt2 1786 5555(|)m 240 fnt6 1843 5560(l)m 220 fnt2 +1929 5555(h)m 240 fnt1 0 4406(Ov)m 3(erstrik)k 2(e)k +220 fnt2 1786 4403(|)m 240 fnt6 1843 4408(l)m 220 fnt2 +1929 4403(o)m 240 fnt1 0 3254(Mark-to-mark)m 220 fnt2 1786 3251(|)m +240 fnt6 1843 3256(l)m 220 fnt2 1929 3251(x)m 240 fnt1 +0 2102(K)m 6(erning)k 220 fnt2 1786 2099(|)m 240 fnt6 +1843 2104(l)m 220 fnt2 1929 2099(k)m 240 fnt1 0 950(T)m 19(ab)k 4(ulation)k +220 fnt2 1786 947(|)m 240 fnt6 1843 952(l)m 220 fnt2 1929 947(t)m gsave 2764 0 translate -240 fnt82 3402 7484 0 7484 240 288 60 LoutGraphic +240 fnt1 3402 7484 0 7484 240 288 60 LoutGraphic gsave 0.5 pt setlinewidth lfiground setlinecap @@ -8176,7 +8594,7 @@ pop pop grestore gsave 567 6748 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8186,7 +8604,7 @@ grestore grestore gsave 680 6634 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -8194,7 +8612,7 @@ grestore grestore gsave 2268 6748 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8204,7 +8622,7 @@ grestore grestore gsave 2551 6634 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -8218,7 +8636,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8228,7 +8646,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 1020 0 0 0 180 288 45 LoutGraphic +180 fnt1 1020 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8239,7 +8657,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8254,7 +8672,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8264,7 +8682,7 @@ grestore grestore gsave 1247 6658 translate -180 fnt82 1020 0 0 0 180 288 45 LoutGraphic +180 fnt1 1020 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8275,7 +8693,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8283,9 +8701,9 @@ grestore grestore grestore -180 fnt83 1732 6455(l)m gsave +180 fnt6 1732 6455(l)m gsave 567 5596 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8295,7 +8713,7 @@ grestore grestore gsave 680 5482 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -8303,7 +8721,7 @@ grestore grestore gsave 2268 5596 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8313,7 +8731,7 @@ grestore grestore gsave 2551 5482 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -8327,7 +8745,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8337,7 +8755,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 1020 0 0 0 180 288 45 LoutGraphic +180 fnt1 1020 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8348,7 +8766,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8363,7 +8781,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8373,7 +8791,7 @@ grestore grestore gsave 1247 5506 translate -180 fnt82 1020 0 0 0 180 288 45 LoutGraphic +180 fnt1 1020 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8384,7 +8802,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8394,7 +8812,7 @@ grestore grestore 1732 5303(l)m gsave 567 4444 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8404,7 +8822,7 @@ grestore grestore gsave 680 4330 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -8412,7 +8830,7 @@ grestore grestore gsave 2268 4444 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8422,7 +8840,7 @@ grestore grestore gsave 2551 4330 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -8436,7 +8854,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8446,7 +8864,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8457,7 +8875,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8472,7 +8890,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8482,7 +8900,7 @@ grestore grestore gsave 680 4297 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8493,7 +8911,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8504,7 +8922,7 @@ grestore 1590 4095(l)m gsave 567 3242 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8514,7 +8932,7 @@ grestore grestore gsave 680 3128 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -8522,7 +8940,7 @@ grestore grestore gsave 2268 3242 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8532,7 +8950,7 @@ grestore grestore gsave 2551 3128 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -8546,7 +8964,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8556,7 +8974,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8567,7 +8985,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8582,7 +9000,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8592,7 +9010,7 @@ grestore grestore gsave 680 3095 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8603,7 +9021,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8611,8 +9029,8 @@ grestore grestore grestore -180 fnt82 975 2892(max\()m 180 fnt83 1383 2893(l,)m 1503(a+b+l/10)s -180 fnt82 2205 2892(\))m gsave +180 fnt1 975 2892(max\()m 180 fnt6 1383 2893(l,)m 1503(a+b+l/10)s +180 fnt1 2205 2892(\))m gsave 1247 3719 translate 180.0000 rotate gsave @@ -8667,7 +9085,7 @@ grestore grestore grestore -180 fnt83 920 3787(a)m gsave +180 fnt6 920 3787(a)m gsave 2551 3719 translate 180.0000 rotate gsave @@ -8675,7 +9093,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8685,7 +9103,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 283 0 0 0 180 288 45 LoutGraphic +180 fnt1 283 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8696,7 +9114,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8711,7 +9129,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8721,7 +9139,7 @@ grestore grestore gsave 2268 3719 translate -180 fnt82 283 0 0 0 180 288 45 LoutGraphic +180 fnt1 283 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8732,7 +9150,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8743,7 +9161,7 @@ grestore 2366 3743(b)m gsave 567 2090 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8753,7 +9171,7 @@ grestore grestore gsave 680 1976 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -8761,7 +9179,7 @@ grestore grestore gsave 2268 2090 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8771,7 +9189,7 @@ grestore grestore gsave 2551 1976 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -8785,7 +9203,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8795,7 +9213,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8806,7 +9224,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8821,7 +9239,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8831,7 +9249,7 @@ grestore grestore gsave 680 1943 translate -180 fnt82 1871 0 0 0 180 288 45 LoutGraphic +180 fnt1 1871 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8842,7 +9260,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8850,8 +9268,8 @@ grestore grestore grestore -180 fnt82 1203 1740(max\()m 180 fnt83 1611 1741(l,)m 1731(a,)s -1891(b)s 180 fnt82 1977 1740(\))m gsave +180 fnt1 1203 1740(max\()m 180 fnt6 1611 1741(l,)m 1731(a,)s +1891(b)s 180 fnt1 1977 1740(\))m gsave 1247 2567 translate 180.0000 rotate gsave @@ -8906,7 +9324,7 @@ grestore grestore grestore -180 fnt83 920 2635(a)m +180 fnt6 920 2635(a)m gsave 2551 2567 translate 180.0000 rotate @@ -8915,7 +9333,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8925,7 +9343,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 283 0 0 0 180 288 45 LoutGraphic +180 fnt1 283 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8936,7 +9354,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8951,7 +9369,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8961,7 +9379,7 @@ grestore grestore gsave 2268 2567 translate -180 fnt82 283 0 0 0 180 288 45 LoutGraphic +180 fnt1 283 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8972,7 +9390,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -8982,7 +9400,7 @@ grestore grestore 2366 2591(b)m gsave 567 938 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -8992,7 +9410,7 @@ grestore grestore gsave 680 824 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -9000,7 +9418,7 @@ grestore grestore gsave 2268 938 translate -180 fnt82 680 340 0 340 180 288 45 LoutGraphic +180 fnt1 680 340 0 340 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto xsize ysize lineto 0 ysize lineto closepath @@ -9010,7 +9428,7 @@ grestore grestore gsave 2551 824 translate -180 fnt82 0 567 0 567 180 288 45 LoutGraphic +180 fnt1 0 567 0 567 180 288 45 LoutGraphic gsave 0 0 moveto 0 ysize lineto [ 3 pt ] 0 setdash stroke grestore @@ -9024,7 +9442,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9034,7 +9452,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 2268 0 0 0 180 288 45 LoutGraphic +180 fnt1 2268 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9045,7 +9463,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9060,7 +9478,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9070,7 +9488,7 @@ grestore grestore gsave 0 734 translate -180 fnt82 2268 0 0 0 180 288 45 LoutGraphic +180 fnt1 2268 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9081,7 +9499,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9097,7 +9515,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9107,7 +9525,7 @@ grestore grestore gsave 0 0 translate -180 fnt82 3402 0 0 0 180 288 45 LoutGraphic +180 fnt1 3402 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9118,7 +9536,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9133,7 +9551,7 @@ gsave 30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9143,7 +9561,7 @@ grestore grestore gsave 0 234 translate -180 fnt82 3402 0 0 0 180 288 45 LoutGraphic +180 fnt1 3402 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9154,7 +9572,7 @@ gsave -30.0000 rotate gsave 0 0 translate -180 fnt82 68 0 0 0 180 288 45 LoutGraphic +180 fnt1 68 0 0 0 180 288 45 LoutGraphic gsave 0 0 moveto xsize 0 lineto stroke grestore @@ -9167,35 +9585,35 @@ grestore grestore end end restore grestore -200 fnt84 2562 5321(Figur)m 3(e)k 3170(3.2.)s 200 fnt82 +200 fnt5 2562 5321(Figur)m 3(e)k 3170(3.2.)s 200 fnt1 3562 5322(The)m 3918(six)s 4196(g)s 1(ap)k 4527(modes)s -5089(pro)s 3(vided)k 5844(by)s 6089(Lout.)s 240 fnt82 +5089(pro)s 3(vided)k 5844(by)s 6089(Lout.)s 240 fnt1 480 4689(A)m 724(sequence)s 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 fnt35 5245 4686(&)m 240 fnt82 5462 4689(symbols)m 6326(is)s -6551(a)s 240 fnt83 6732 4691(par)m 3(a)k 2(gr)k 3(aph)k -240 fnt82 7745 4689(.)m 7924(Lout)s 8451(breaks)s 0 4401(paragraphs)m +220 fnt2 5245 4686(&)m 240 fnt1 5462 4689(symbols)m 6326(is)s +6551(a)s 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 1526(lines)s 2029(automatically)s 3384(as)s 3635(required,)s 4539(by)s 4834(con)s 9(v)k 3(erting)k 5898(some)s -6460(of)s 6732(the)s 220 fnt35 7081 4398(&)m 240 fnt82 -7284 4401(symbols)m 8134(into)s 220 fnt35 8560 4398(//1vx)m 240 fnt82 +6460(of)s 6732(the)s 220 fnt2 7081 4398(&)m 240 fnt1 +7284 4401(symbols)m 8134(into)s 220 fnt2 8560 4398(//1vx)m 240 fnt1 9022 4401(.)m 0 4113(Unbreakable)m 1279(g)s 1(aps)k 1769(are)s 2117(not)s 2485(eligible)s 3258(for)s 3597(this)s 3995(con)s 9(v)k 3(ersion.)k 5198(`Optimal')s 6173(line)s 6588(breaks)s 7265(are)s 7613(chosen,)s 8386(using)s 8960(a)s 0 3825(method)m 776(adapted)s 1578(from)s 2102(T)s 2198 3777(E)m 2306 3825(X)m 2535([5)s 2720(].)s -480 3451(If)m 735(an)s 220 fnt35 1043 3448(&)m 240 fnt82 +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 5447(is)s 5683(chosen)s -6430(for)s 6793(replacement)s 8046(by)s 220 fnt35 8365 3448(//1vx)m -240 fnt82 8827 3451(,)m 8960(a)s 0 3163(h)m 1(yphen)k +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 755(will)s 1174(be)s 1448(appended)s 2417(to)s 2649(the)s 2989(preceding)s 3978(object,)s 4661(unless)s 5303(that)s 5714(object)s 6350(is)s 6553(a)s 6712(w)s 2(ord)k 7252(which)s 7887(already)s 8636(ends)s 0 2875(with)m 482(a)s 648(h)s 1(yphen.)k -1517(F)s 3(or)k 1906(e)s 3(xample,)k 220 fnt35 +1517(F)s 3(or)k 1906(e)s 3(xample,)k 220 fnt2 480 2378(Long)m 1017(w)s 2(ords)k 1654(ma)s 6(y)k -2122(be)s 2419(h)s 6(yph &0ih enat &0ih ed.)k 240 fnt82 0 1879(could)m +2122(be)s 2419(h)s 6(yph &0ih enat &0ih ed.)k 240 fnt1 0 1879(could)m 590(ha)s 4(v)k 3(e)k 1091(the)s 1439(follo)s 6(wing)k 2416(result,)s 3053(depending)s 4104(where)s 4744(the)s 5092(line)s 5506(breaks)s 6181(f)s 2(all:)k 480 1376(Long)m 1038(w)s 2(ords)k @@ -9213,6 +9631,14 @@ grestore 5591(paragraph)s 6600(breaking)s 7486(and)s 7886(h)s 1(yphenation)k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -9230,143 +9656,151 @@ showpage %%+ font Times-BoldItalic /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-BoldItalic -/Times-BoldItalicfnt85 vec2 /Times-BoldItalic LoutRecode -/fnt85 { /Times-BoldItalicfnt85 LoutFont } def +/Times-BoldItalicfnt7 vec2 /Times-BoldItalic LoutRecode +/fnt7 { /Times-BoldItalicfnt7 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(40)m 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 +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(40)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt82 0 13203(is)m -210(pro)s 3(vided)k 1116(by)s 1410(the)s 220 fnt35 -1758 13200(@Break)m 240 fnt82 2614 13203(and)m 220 fnt35 3018 13200(@Space)m -240 fnt82 3915 13203(symbols)m 4764(\(Sections)s 5704(3.4)s 6058(and)s -6462(3.5\).)s 240 fnt84 0 12410(3.3.)m 471(@F)s 6(ont)k -1226(and)s 1667(@Char)s 240 fnt82 480 11978(A)m 240 fnt83 -728 11980(font)m 240 fnt82 1182 11978(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 fnt83 8268 11980(families)m 240 fnt82 9019 11978(,)m -0 11690(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 +0 13203(is)m 210(pro)s 3(vided)k +1116(by)s 1410(the)s 220 fnt2 1758 13200(@Break)m 240 fnt1 +2614 13203(and)m 220 fnt2 3018 13200(@Space)m 240 fnt1 3915 13203(symbols)m +4764(\(Sections)s 5704(3.4)s 6058(and)s 6462(3.5\).)s 240 fnt5 +0 12410(3.3.)m 471(@F)s 6(ont,)k 1280(@Char)s 22(,)k +2127(and)s 2568(@F)s 6(ontDef)k 240 fnt1 480 11939(A)m +240 fnt6 728 11941(font)m 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 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 6194(F)s 3(or)k 6575(e)s 3(xample,)k 7480(the)s -7820(T)s 8(imes)k 8451(f)s 2(amily)k 0 11402(includes)m -848(the)s 1196(follo)s 6(wing)k 2173(fonts:)s 480 10899(T)m 8(imes)k -1120(Base)s 240 fnt83 480 10613(T)m 13(imes)k 1093(Slope)s -240 fnt84 480 10322(T)m 4(imes)k 1154(Bold)s 240 fnt85 -480 10034(T)m 8(imes)k 1116(BoldSlope)s 240 fnt82 0 9532(Thus,)m +7820(T)s 8(imes)k 8451(f)s 2(amily)k 0 11363(includes)m +848(the)s 1196(follo)s 6(wing)k 2173(fonts:)s 480 10860(T)m 8(imes)k +1120(Base)s 240 fnt6 480 10574(T)m 13(imes)k 1093(Slope)s +240 fnt5 480 10283(T)m 4(imes)k 1154(Bold)s 240 fnt7 +480 9995(T)m 8(imes)k 1116(BoldSlope)s 240 fnt1 0 9493(Thus,)m 586(each)s 1080(font)s 1524(has)s 1893(tw)s 2(o)k -2303(names:)s 3019(its)s 240 fnt83 3294 9534(family)m 3946(name)s -240 fnt82 4518 9532(\(T)m 8(imes,)k 5292(Helv)s 3(etica,)k -6310(etc.\))s 6775(and)s 7179(its)s 240 fnt83 7454 9534(face)m -7904(name)s 240 fnt82 8475 9532(\(Base,)m 0 9244(Slope,)m 682(etc.\).)s +2303(names:)s 3019(its)s 240 fnt6 3294 9495(family)m 3946(name)s +240 fnt1 4518 9493(\(T)m 8(imes,)k 5292(Helv)s 3(etica,)k +6310(etc.\))s 6775(and)s 7179(its)s 240 fnt6 7454 9495(face)m +7904(name)s 240 fnt1 8475 9493(\(Base,)m 0 9205(Slope,)m 682(etc.\).)s 1294(T)s 8(imes)k 1964(Base)s 2516(is)s 2756(more)s 3334(commonly)s 4443(called)s 5101(T)s 8(imes)k 5772(Roman,)s 6601(and)s 7036(T)s 8(imes)k 7706(Slope)s 8338(is)s -8579(more)s 0 8956(commonly)m 1085(called)s 1720(T)s 8(imes)k +8579(more)s 0 8917(commonly)m 1085(called)s 1720(T)s 8(imes)k 2367(Italic.)s 3027(Lout)s 3547(a)s 4(v)k 4(oids)k 4222(these)s 4776(names)s 5445(in)s 5695(f)s 2(a)k 4(v)k 4(our)k 6377(of)s 6655(generic)s 7418(names)s 8087(which)s 8737(can)s -0 8668(be)m 282(applied)s 1044(to)s 1283(man)s 3(y)k -1866(font)s 2311(f)s 2(amilies.)k 480 8294(Lig)m 1(atures,)k +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 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 6596(Lout)s 7108(to)s 7348(be)s 7630(an)s 7913(inte)s 3(gral)k -8695(part)s 0 8006(of)m 257(the)s 591(font:)s 1128(if)s +8695(part)s 0 7967(of)m 257(the)s 591(font:)s 1128(if)s 1331(the)s 1665(font)s 2096(de\207nition)s 3056(\(see)s 3482(belo)s 6(w\))k 4175(mentions)s 5089(them,)s 5660(the)s 3(y)k 6109(will)s 6521(be)s 6789(used.)s 7378(Similarly)s 15(,)k 8344(k)s 2(erning)k -0 7718(\(\207ne)m 510(adjustment)s 1636(of)s 1924(the)s 2289(space)s +0 7679(\(\207ne)m 510(adjustment)s 1636(of)s 1924(the)s 2289(space)s 2893(between)s 3764(adjacent)s 4637(characters)s 5672(to)s 5928(impro)s 3(v)k 3(e)k -6792(the)s 7157(appearance\))s 8377(is)s 8604(done)s 0 7430(whene)m 6(v)k 3(er)k +6792(the)s 7157(appearance\))s 8377(is)s 8604(done)s 0 7391(whene)m 6(v)k 3(er)k 988(indicated)s 1929(in)s 2179(the)s 2535(font)s 2987(de\207nition.)s 4075(Enclosing)s 5092(one)s 5502(of)s 5780(the)s 6135(letters)s -6775(in)s 220 fnt35 7026 7427(@OneCol)m 240 fnt82 8045 7430(is)m -8262(one)s 8672(sure)s 0 7142(w)m 2(ay)k 451(to)s +6775(in)s 220 fnt2 7026 7388(@OneCol)m 240 fnt1 8045 7391(is)m +8262(one)s 8672(sure)s 0 7103(w)m 2(ay)k 451(to)s 690(disable)s 1423(a)s 1589(lig)s 1(ature)k 2373(or)s -2632(k)s 2(ern.)k 480 6768(The)m 220 fnt35 908 6765(@F)m 6(ont)k -240 fnt82 1620 6768(symbol)m 2380(returns)s 3094(its)s 3370(right)s +2632(k)s 2(ern.)k 480 6729(The)m 220 fnt2 908 6726(@F)m 6(ont)k +240 fnt1 1620 6729(symbol)m 2380(returns)s 3094(its)s 3370(right)s 3881(parameter)s 4895(in)s 5138(a)s 5304(font)s 5749(and)s 6153(size)s 6580(speci\207ed)s 7488(by)s 7782(its)s 8058(left:)s -220 fnt35 480 6260({ )m 11(Times Base 12p } @F)k 6(ont)k 240 fnt83 -3155 6265(object)m 240 fnt82 0 5764(The)m 417(f)s 2(amily)k -1080(and)s 1473(f)s 2(ace)k 1912(names)s 2563(must)s -3076(ha)s 4(v)k 3(e)k 3565(appeared)s 4475(together)s -5306(in)s 5538(a)s 220 fnt35 5692 5761(f)m 6(ontdef)k -240 fnt82 6354 5764(;)m 6454(the)s 6791(size)s 7206(is)s -7405(arbitrary)s 8268(and)s 8660(may)s 0 5476(be)m 283(gi)s 6(v)k 3(en)k -865(in)s 1109(an)s 3(y)k 1508(one)s 1911(of)s -2184(the)s 220 fnt35 2533 5473(c)m 240 fnt82 2638 5476(,)m -220 fnt35 2747 5473(i)m 240 fnt82 2781 5476(,)m 220 fnt35 -2889 5473(p)m 240 fnt82 3003 5476(,)m 220 fnt35 3112 5473(m)m -240 fnt82 3281 5476(,)m 220 fnt35 3389 5473(f)m 240 fnt82 -3447 5476(,)m 220 fnt35 3556 5473(s)m 240 fnt82 3659 5476(,)m -3767(and)s 220 fnt35 4173 5473(v)m 240 fnt82 4343 5476(units)m -4861(of)s 5133(measurement)s 6469(\(Section)s 7323(3.2\),)s 7811(although)s -220 fnt35 8708 5473(10p)m 240 fnt82 0 5188(and)m 220 fnt35 -407 5185(12p)m 240 fnt82 828 5188(are)m 1178(the)s 1530(most)s -2058(common)s 2956(sizes)s 3475(for)s 3816(te)s 3(xt.)k -4338(There)s 4954(may)s 5424(be)s 5709(empty)s 6364(objects)s -7096(and)s 220 fnt35 7503 5185(@Null)m 240 fnt82 8151 5188(objects)m -8883(in)s 0 4900(the)m 348(left)s 725(parameter)s 1739(of)s -220 fnt35 2010 4897(@F)m 6(ont)k 240 fnt82 2662 4900(;)m -2774(these)s 3321(are)s 3668(ignored.)s 480 4526(When)m 1114(a)s -220 fnt35 1286 4523(@F)m 6(ont)k 240 fnt82 2004 4526(symbol)m -2769(is)s 2985(nested)s 3660(inside)s 4293(the)s 4646(right)s -5163(parameter)s 6183(of)s 6459(another)s 220 fnt35 7242 4523(@F)m 6(ont)k -240 fnt82 7960 4526(symbol,)m 8778(the)s 0 4238(inner)m 555(one)s +220 fnt2 480 6221({ )m 11(Times Base 12p } @F)k 6(ont)k 240 fnt6 +3155 6226(object)m 240 fnt1 0 5725(The)m 431(f)s 2(amily)k +1110(and)s 1517(f)s 2(ace)k 1972(names)s 2638(must)s +3166(ha)s 4(v)k 3(e)k 3671(appeared)s 4596(together)s +5442(in)s 5689(a)s 220 fnt2 5858 5722(@F)m 6(ontDef)k +240 fnt1 6916 5725(\(see)m 7360(belo)s 6(w\);)k 8133(the)s +8485(size)s 8916(is)s 0 5437(arbitrary)m 879(and)s 1287(may)s +1757(be)s 2043(gi)s 6(v)k 3(en)k 2627(in)s +2874(an)s 3(y)k 3275(one)s 3681(of)s 3956(the)s +220 fnt2 4308 5434(c)m 240 fnt1 4413 5437(,)m 220 fnt2 +4525 5434(i)m 240 fnt1 4559 5437(,)m 220 fnt2 4670 5434(p)m +240 fnt1 4784 5437(,)m 220 fnt2 4895 5434(m)m 240 fnt1 +5064 5437(,)m 220 fnt2 5175 5434(f)m 240 fnt1 5233 5437(,)m +220 fnt2 5344 5434(s)m 240 fnt1 5447 5437(,)m 5558(and)s +220 fnt2 5966 5434(v)m 240 fnt1 6139 5437(units)m 6659(of)s +6934(measurement)s 8273(\(Section)s 0 5149(3.2\),)m 479(although)s 220 fnt2 +1367 5146(10p)m 240 fnt1 1777 5149(and)m 220 fnt2 2174 5146(12p)m +240 fnt1 2584 5149(are)m 2924(the)s 3264(most)s 3782(common)s +4669(sizes)s 5177(for)s 5507(te)s 3(xt.)k 6019(There)s +6624(may)s 7083(be)s 7357(empty)s 8002(objects)s 8722(and)s +220 fnt2 0 4858(@Null)m 240 fnt1 645 4861(objects)m 1373(in)s +1616(the)s 1964(left)s 2341(parameter)s 3355(of)s 220 fnt2 +3626 4858(@F)m 6(ont)k 240 fnt1 4278 4861(;)m 4390(these)s +4937(are)s 5284(ignored.)s 480 4487(When)m 1114(a)s 220 fnt2 +1286 4484(@F)m 6(ont)k 240 fnt1 2004 4487(symbol)m 2769(is)s +2985(nested)s 3660(inside)s 4293(the)s 4646(right)s 5163(parameter)s +6183(of)s 6459(another)s 220 fnt2 7242 4484(@F)m 6(ont)k +240 fnt1 7960 4487(symbol,)m 8778(the)s 0 4199(inner)m 555(one)s 961(determines)s 2065(the)s 2417(font)s 2867(of)s 3142(its)s 3423(o)s 6(wn)k 3891(right)s 4406(parameter)s 13(.)k 5516(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k 6480(it)s 6677(may)s 7147(be)s 7434(abbre)s 6(viated)k -8605(so)s 8876(as)s 0 3950(to)m 239(inherit)s 922(part)s -1353(of)s 1624(the)s 1972(outer)s 2523(symbol:)s 220 fnt35 -480 3449({ )m 11(Times Base 12p } @F)k 6(ont)k 480 3161({ hello)m 8(, Slope @F)k 6(ont hello)k 8(, 15p @F)k 6(ont hello })k -240 fnt82 0 2665(has)m 370(result)s 480 2184(hello,)m 240 fnt83 -1065 2186(hello,)m 300 fnt82 1636 2171(hello)m 240 fnt82 0 1700(The)m -457(\207rst)s 918(inner)s 220 fnt35 1498 1697(@F)m 6(ont)k -240 fnt82 2240 1700(inherits)m 3037(the)s 3414(outer)s 3995(f)s 2(amily)k +8605(so)s 8876(as)s 0 3911(to)m 239(inherit)s 922(part)s +1353(of)s 1624(the)s 1972(outer)s 2523(symbol:)s 220 fnt2 +480 3410({ )m 11(Times Base 12p } @F)k 6(ont)k 480 3122({ hello)m 8(, Slope @F)k 6(ont hello)k 8(, 15p @F)k 6(ont hello })k +240 fnt1 0 2626(has)m 370(result)s 480 2145(hello,)m 240 fnt6 +1065 2147(hello,)m 300 fnt1 1636 2132(hello)m 240 fnt1 0 1661(The)m +457(\207rst)s 918(inner)s 220 fnt2 1498 1658(@F)m 6(ont)k +240 fnt1 2240 1661(inherits)m 3037(the)s 3414(outer)s 3995(f)s 2(amily)k 4699(and)s 5133(size,)s 5641(changing)s 6601(only)s 7111(the)s -7488(f)s 2(ace;)k 8025(the)s 8403(second)s 0 1412(inherits)m +7488(f)s 2(ace;)k 8025(the)s 8403(second)s 0 1373(inherits)m 754(the)s 1089(outer)s 1627(f)s 2(amily)k 2289(and)s 2680(f)s 2(ace.)k 3225(When)s 3841(a)s 3994(f)s 2(amily)k 4656(name)s 5217(is)s 5413(gi)s 6(v)k 3(en,)k 6030(it)s 6209(must)s 6721(be)s 6990(follo)s 6(wed)k -7878(immediately)s 0 1124(by)m 294(a)s 460(f)s 2(ace)k +7878(immediately)s 0 1085(by)m 294(a)s 460(f)s 2(ace)k 911(name.)s 1593(A)s 1823(size)s 2250(change)s 2984(may)s -3450(appear)s 4147(\207rst)s 4578(or)s 4837(last.)s 480 750(Sizes)m -1035(of)s 1307(the)s 1656(form)s 2180(+)s 240 fnt83 -2308 752(length)m 240 fnt82 2962 750(and)m 3367(\211)s 240 fnt83 -3487 752(length)m 240 fnt82 4140 750(may)m 4607(also)s 5046(be)s +3450(appear)s 4147(\207rst)s 4578(or)s 4837(last.)s 480 711(Sizes)m +1035(of)s 1307(the)s 1656(form)s 2180(+)s 240 fnt6 +2308 713(length)m 240 fnt1 2962 711(and)m 3367(\211)s 240 fnt6 +3487 713(length)m 240 fnt1 4140 711(may)m 4607(also)s 5046(be)s 5328(used,)s 5875(meaning)s 6753(that)s 7171(the)s 7520(font)s -7966(size)s 8393(is)s 8604(to)s 8844(be)s 240 fnt83 -0 464(length)m 240 fnt82 649 462(lar)m 4(ger)k 1257(or)s +7966(size)s 8393(is)s 8604(to)s 8844(be)s 240 fnt6 +0 425(length)m 240 fnt1 649 423(lar)m 4(ger)k 1257(or)s 1512(smaller)s 2269(than)s 2734(the)s 3078(inherited)s 3981(v)s 6(alue.)k 4652(F)s 3(or)k 5037(e)s 3(xample,)k 5947(\211)s -220 fnt35 6067 459(2p)m 240 fnt82 6359 462(is)m 6564(often)s -7108(used)s 7601(for)s 7934(superscripts)s 0 174(and)m 407(subscripts.)s -1530(These)s 2161(forms)s 2772(are)s 3123(highly)s 3792(recommended,)s -5257(since)s 5808(the)s 3(y)k 6274(don')s 4(t)k -6839(need)s 7352(to)s 7594(be)s 7880(changed)s 8739(if)s -8960(a)s +220 fnt2 6067 420(2p)m 240 fnt1 6359 423(is)m 6564(often)s +7108(used)s 7601(for)s 7934(superscripts)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -9384,145 +9818,153 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(3.3.)m 1871(@F)s 25(ont,)k 2611(@Char)s 26(,)k +3391(and)s 3817(@F)s 25(ontDef)k 240 fnt5 10256 -1583(41)m +gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(3.3.)m 454(@F)s 25(ont)k 1165(and)s -1591(@Char)s 240 fnt84 8839 13840(41)m 240 fnt82 0 13250(decision)m -854(is)s 1064(made)s 1638(to)s 1877(alter)s 2360(the)s -2708(font)s 3153(size)s 3580(of)s 3851(the)s 4199(document)s -5203(as)s 5453(a)s 5619(whole.)s 480 12876(The)m 220 fnt35 -908 12873(@F)m 6(ont)k 240 fnt82 1620 12876(symbol)m 2380(also)s -2818(switches)s 3692(to)s 3931(and)s 4335(from)s 4859(small)s -5431(capitals:)s 220 fnt35 480 12375(smallcaps @F)m 6(ont ...)k 480 12087(nosmallcaps @F)m 6(ont ...)k -240 fnt82 0 11591(These)m 639(may)s 1118(be)s 1412(nested,)s -2143(and)s 2559(the)s 3(y)k 3035(cooperate)s 4033(with)s -4527(other)s 5091(font)s 5548(changes.)s 6496(The)s 6936(precise)s -7681(ef)s 6(fect)k 8290(depends)s 0 11303(on)m 293(the)s -637(font)s 1078(\(see)s 1514(belo)s 6(w\).)k 2331(There)s -2940(is)s 3146(a)s 3308(def)s 2(ault)k 4024(v)s 6(alue)k -4588(\()s 220 fnt35 4661 11300(nosmallcaps)m 240 fnt82 5873 11303(\),)m -6055(so)s 6317(it)s 6504(is)s 6710(not)s 7072(necessary)s -8051(to)s 8285(mention)s 0 11015(this)m 396(attrib)s 4(ute)k -1243(when)s 1819(gi)s 6(ving)k 2478(an)s 2761(initial)s -3372(font.)s 480 10641(There)m 1080(are)s 1413(tw)s 2(o)k -1810(prede\207ned)s 2864(symbols,)s 220 fnt35 3756 10638(@CurrF)m 11(amily)k -240 fnt82 5083 10641(and)m 220 fnt35 5474 10638(@CurrF)m 11(ace)k -240 fnt82 6592 10641(,)m 6685(which)s 7314(respecti)s 6(v)k 3(ely)k -8499(return)s 0 10353(the)m 337(f)s 2(amily)k 1000(and)s +0 13205(and)m 407(subscripts.)s 1530(These)s 2161(forms)s 2772(are)s +3123(highly)s 3792(recommended,)s 5257(since)s 5808(the)s 3(y)k +6274(don')s 4(t)k 6839(need)s 7352(to)s 7594(be)s +7880(changed)s 8739(if)s 8960(a)s 0 12917(decision)m 854(is)s +1064(made)s 1638(to)s 1877(alter)s 2360(the)s 2708(font)s +3153(size)s 3580(of)s 3851(the)s 4199(document)s 5203(as)s +5453(a)s 5619(whole.)s 480 12543(The)m 220 fnt2 908 12540(@F)m 6(ont)k +240 fnt1 1620 12543(symbol)m 2380(also)s 2818(switches)s 3692(to)s +3931(and)s 4335(from)s 4859(small)s 5431(capitals:)s 220 fnt2 +480 12042(smallcaps @F)m 6(ont ...)k 480 11754(nosmallcaps @F)m 6(ont ...)k 240 fnt1 +0 11258(These)m 639(may)s 1118(be)s 1412(nested,)s 2143(and)s +2559(the)s 3(y)k 3035(cooperate)s 4033(with)s 4527(other)s +5091(font)s 5548(changes.)s 6496(The)s 6936(precise)s 7681(ef)s 6(fect)k +8290(depends)s 0 10970(on)m 293(the)s 637(font)s 1078(\(see)s +1514(belo)s 6(w\).)k 2331(There)s 2940(is)s 3146(a)s +3308(def)s 2(ault)k 4024(v)s 6(alue)k 4588(\()s +220 fnt2 4661 10967(nosmallcaps)m 240 fnt1 5873 10970(\),)m 6055(so)s +6317(it)s 6504(is)s 6710(not)s 7072(necessary)s 8051(to)s +8285(mention)s 0 10682(this)m 396(attrib)s 4(ute)k 1243(when)s +1819(gi)s 6(ving)k 2478(an)s 2761(initial)s 3372(font.)s +480 10308(There)m 1080(are)s 1413(tw)s 2(o)k 1810(prede\207ned)s +2864(symbols,)s 220 fnt2 3756 10305(@CurrF)m 11(amily)k 240 fnt1 +5083 10308(and)m 220 fnt2 5474 10305(@CurrF)m 11(ace)k 240 fnt1 +6592 10308(,)m 6685(which)s 7314(respecti)s 6(v)k 3(ely)k +8499(return)s 0 10020(the)m 337(f)s 2(amily)k 1000(and)s 1392(f)s 2(ace)k 1831(names)s 2482(of)s 2741(the)s 3077(current)s 3801(font.)s 4339(F)s 3(or)k 4716(e)s 3(xample,)k -5618(right)s 6117(no)s 6(w)k 220 fnt35 6567 10350(@CurrF)m 11(amily)k -240 fnt82 7896 10353(is)m 8094(T)s 8(imes)k 8722(and)s -220 fnt35 0 10062(@CurrF)m 11(ace)k 240 fnt82 1178 10065(is)m -1388(Base.)s 480 9691(When)m 1109(Lout)s 1621(runs,)s 2140(the)s -2488(\207rst)s 2919(thing)s 3464(it)s 3656(reads)s 4211(is)s -4421(a)s 4587(list)s 4938(of)s 5209(font)s 5654(de\207nitions,)s -6771(lik)s 2(e)k 7183(these:)s 220 fnt35 480 9183(f)m 6(ontdef )k 11(Times Base {)k -240 fnt83 2842 9188(implementation-dependent)m 220 fnt35 5517 9183(})m 480 8895(f)m 6(ontdef )k 11(Times Slope {)k -240 fnt83 2841 8900(implementation-dependent)m 220 fnt35 5516 8895(})m 240 fnt82 -0 8399(Each)m 552(line)s 983(tells)s 1449(Lout)s 1978(of)s -2267(the)s 2632(e)s 3(xistence)k 3591(of)s 3880(a)s -4063(font,)s 4573(and)s 4994(assigns)s 5754(it)s 5963(a)s -6146(f)s 2(amily)k 6839(name)s 7430(and)s 7852(a)s -8035(f)s 2(ace)k 8504(name.)s 0 8111(There)m 617(are)s -969(a)s 1140(fe)s 6(w)k 1551(fonts)s 2085(which)s -2732(are)s 3084(the)s 3437(only)s 3921(members)s 4853(of)s -5129(their)s 5631(f)s 2(amilies;)k 6514(e)s 6(v)k 3(en)k -7019(though)s 7747(these)s 8299(fonts)s 8833(do)s 0 7823(not)m -357(need)s 857(a)s 1013(f)s 2(ace)k 1455(name,)s -2070(the)s 3(y)k 2523(must)s 3039(be)s 3311(gi)s 6(v)k 3(en)k -3881(one)s 4274(by)s 4558(their)s 220 fnt35 5045 7820(f)m 6(ontdef)k -240 fnt82 5707 7823(.)m 5862(The)s 6280(part)s 6701(between)s -7546(braces)s 8197(may)s 8653(v)s 6(ary)k 0 7535(with)m -486(dif)s 6(ferent)k 1365(implementations)s 3013(of)s 3288(Lout;)s -3856(it)s 4052(is)s 4267(supposed)s 5221(to)s 5464(contain)s -6229(the)s 6581(information)s 7770(Lout)s 8286(needs)s 8887(to)s -0 7247(w)m 2(ork)k 551(with)s 1033(the)s 1381(font.)s -480 6873(In)m 735(Basser)s 1431(Lout)s 1941(V)s 26(ersion)k -2728(3,)s 2954(this)s 3348(implementation-dependent)s 5970(part)s 6400(consists)s -7206(of)s 7476(a)s 7641(PostScript)s 8681(font)s 0 6585(name,)m -635(an)s 928(Adobe)s 1634(font)s 2089(metrics)s 2852(\(formerly)s -3831(AFM\))s 4488(\207le)s 4859(whose)s 5538(F)s 3(ontName)k -6611(entry)s 7166(must)s 7702(agree)s 8285(with)s 8778(the)s -0 6297(PostScript)m 1034(font)s 1471(name)s 2037(just)s 2433(mentioned,)s -3542(the)s 3882(name)s 4448(of)s 4710(a)s 4868(Lout)s -5372(Character)s 6352(Mapping)s 7261(\(LCM\))s 7979(\207le,)s 8383(and)s -8778(the)s 0 6009(w)m 2(ord)k 220 fnt35 548 6006(Recode)m -240 fnt82 1356 6009(or)m 220 fnt35 1615 6006(NoRecode)m 240 fnt82 -2643 6009(:)m 220 fnt35 480 5554(f)m 6(ontdef )k 11(Times Base { )k 11(Times-Roman )k 11(Ti-Ro LtLatin1.LCM Recode })k -240 fnt82 0 5060(It)m 226(seems)s 883(to)s 1143(ha)s 4(v)k 3(e)k -1666(become)s 2487(an)s 2792(in)s 9(v)k 6(ariable)k -3810(rule)s 4258(at)s 4512(Adobe)s 5228(Systems)s 6098(that)s -6538(the)s 6907(font)s 7374(name)s 7969(and)s 8395(the)s -8765(\207le)s 0 4772(name)m 591(should)s 1305(be)s 1605(the)s -1970(same,)s 2585(b)s 4(ut)k 2965(some)s 3543(operating)s -4517(systems)s 5342(do)s 5652(not)s 6036(permit)s 6736(such)s -7249(long)s 7746(\207le)s 8124(names,)s 8860(so)s 0 4484(Lout)m -526(does)s 1031(not)s 1411(use)s 1801(them.)s 2457(The)s -2900(\207les)s 3363(are)s 3725(searched)s 4633(for)s 4986(in)s -5243(standard)s 6126(places.)s 6901(Consult)s 7721(the)s 8084(PostScript)s -0 4196(Reference)m 1064(Manual)s 1891([1)s 2065(])s 2224(for)s -2603(general)s 3401(information)s 4627(about)s 5260(fonts)s 5830(and)s -6274(encoding)s 7246(v)s 3(ectors;)k 8086(brie\210y)s 15(,)k -8843(an)s 0 3908(8-bit)m 520(character)s 1464(code)s 240 fnt83 -1981 3910(c)m 240 fnt82 2153 3908(in)m 2405(Lout')s 13(s)k -3077(input)s 3638(is)s 3858(mapped)s 4683(to)s 4932(the)s -5289(character)s 6233(in)s 6485(the)s 6843(Adobe)s 7547(font)s -8002(metrics)s 8765(\207le)s 0 3620(whose)m 677(name)s 1260(appears)s -2050(on)s 2356(the)s 2714(line)s 3137(labelled)s 240 fnt83 -3960 3622(c)m 240 fnt82 4131 3620(in)m 4384(the)s 4741(LCM)s -5323(\207le.)s 5801(The)s 6239(LCM)s 6821(\207le)s 7191(also)s -7638(de\207nes)s 8377(v)s 6(arious)k 0 3332(character)m 4(-to-character)k -2162(mappings,)s 3215(such)s 3726(as)s 3991(upper)s 4(-case)k -5093(to)s 5347(lo)s 6(wer)k 4(-case,)k 6493(which)s -7150(are)s 7512(used)s 8024(for)s 8377(v)s 6(arious)k -0 3044(purposes,)m 947(such)s 1431(as)s 1669(the)s 2005(production)s -3087(of)s 3346(small)s 3906(capitals.)s 4787(If)s 5005(the)s -5341(w)s 2(ord)k 220 fnt35 5877 3041(NoRecode)m 240 fnt82 -6953 3044(appears,)m 7778(Lout)s 8278(assumes)s 0 2756(that)m 428(the)s -786(gi)s 6(v)k 3(en)k 1376(encoding)s 2317(v)s 3(ector)k -2981(is)s 3201(already)s 3968(associated)s 5018(with)s 5510(this)s -5916(font)s 6371(in)s 6624(the)s 6982(PostScript)s 8035(interpreter)s 9(,)k -0 2468(and)m 404(optimizes)s 1384(its)s 1660(output)s 2332(accordingly)s 15(.)k -480 2094(If)m 723(there)s 1270(are)s 1630(tw)s 2(o)k -2054(font)s 2512(de\207nitions)s 3587(with)s 4083(the)s 4444(same)s -5005(f)s 2(amily)k 5693(and)s 6111(f)s 2(ace)k -6576(name,)s 7214(it)s 7420(is)s 7643(an)s 7940(error)s -8477(unless)s 0 1806(the)m 371(second)s 1117(one)s 1542(has)s -1936(the)s 2307(same)s 2877(font)s 3346(name)s 3943(and)s -4370(\207le)s 4755(name)s 5352(as)s 5625(the)s 5997(\207rst,)s -6498(in)s 6764(which)s 7430(case)s 7920(it)s 8135(is)s -8369(silently)s 0 1518(ignored.)m 902(A)s 1139(PostScript)s 2188(font)s -2640(name)s 3221(and)s 3632(\207le)s 4000(may)s 4474(appear)s -5178(in)s 5428(tw)s 2(o)k 5845(or)s 6111(more)s -6665(font)s 7117(de\207nitions,)s 8242(allo)s 6(wing)k 0 1230(one)m -402(PostScript)s 1444(font)s 1889(to)s 2128(ha)s 4(v)k 3(e)k -2629(tw)s 2(o)k 3039(or)s 3298(more)s 3845(equally)s -4603(v)s 6(alid)k 5133(Lout)s 5645(names,)s 6363(and)s -6767(dif)s 6(ferent)k 7642(LCM)s 8215(\207les.)s 480 856(The)m -220 fnt35 917 853(@Char)m 240 fnt82 1685 856(symbol)m 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 568(Basser)m 697(Lout\))s 1277(rather)s -1893(than)s 2362(by)s 2656(its)s 2932(code:)s 220 fnt35 -480 67(@Char nine)m +5618(right)s 6117(no)s 6(w)k 220 fnt2 6567 10017(@CurrF)m 11(amily)k +240 fnt1 7896 10020(is)m 8094(T)s 8(imes)k 8722(and)s +220 fnt2 0 9729(@CurrF)m 11(ace)k 240 fnt1 1178 9732(is)m +1388(Base.)s 480 9358(T)m 19(o)k 799(inform)s 1529(Lout)s +2061(that)s 2499(certain)s 3225(fonts)s 3773(e)s 3(xist,)k +4348(it)s 4560(is)s 4790(necessary)s 5793(to)s 6051(create)s +6696(a)s 6882(database)s 7781(of)s 220 fnt2 8072 9355(@F)m 6(ontDef)k +240 fnt1 0 9070(symbols.)m 962(A)s 1192(typical)s 1897(entry)s +2442(in)s 2685(such)s 3181(a)s 3347(database)s 4226(looks)s +4796(lik)s 2(e)k 5208(this:)s 220 fnt2 480 8569({ @F)m 6(ontDef)k +480 8281( @T)m 26(ag { )k 11(Times-Base })k 480 7993( @F)m 11(amily { )k 11(Times })k +480 7705( @F)m 11(ace { Base })k 480 7417( @Name { )m 11(Times-Roman })k 480 7129( @Metr)m -3(ics { )k 11(Ti-Rm })k +480 6841( @Mapping { LtLatin1.LCM })m 480 6553(})m 240 fnt1 0 6059(This)m 483(entry)s +1035(informs)s 1837(Lout)s 2356(of)s 2635(the)s 2990(e)s 3(xistence)k +3940(of)s 4218(a)s 4392(font)s 4844(whose)s 5520(f)s 2(amily)k +6202(name)s 6784(is)s 7001(the)s 7357(v)s 6(alue)k +7932(of)s 220 fnt2 8211 6056(@F)m 11(amily)k 240 fnt1 +0 5771(and)m 398(whose)s 1059(f)s 2(ace)k 1503(name)s +2070(is)s 2273(the)s 2614(v)s 6(alue)k 3175(of)s +220 fnt2 3439 5768(@F)m 11(ace)k 240 fnt1 4131 5771(.)m +4288(The)s 220 fnt2 4709 5768(@T)m 26(ag)k 240 fnt1 +5325 5771(v)m 6(alue)k 5886(must)s 6404(be)s 6679(e)s 3(xactly)k +7413(equal)s 7979(to)s 220 fnt2 8211 5768(@F)m 11(amily)k +240 fnt1 0 5483(follo)m 6(wed)k 895(by)s 1182(a)s +1340(h)s 1(yphen)k 2095(follo)s 6(wed)k 2989(by)s +220 fnt2 3276 5480(@F)m 11(ace)k 240 fnt1 3968 5483(.)m +4125(There)s 4730(are)s 5070(a)s 5228(fe)s 6(w)k +5627(fonts)s 6149(which)s 6783(are)s 7123(the)s 7463(only)s +7936(members)s 8855(of)s 0 5195(their)m 488(f)s 2(amilies;)k +1356(e)s 6(v)k 3(en)k 1846(though)s 2559(these)s +3096(fonts)s 3616(do)s 3899(not)s 4255(need)s 4755(a)s +4911(f)s 2(ace)k 5352(name,)s 5968(the)s 3(y)k +6421(must)s 6936(be)s 7208(gi)s 6(v)k 3(en)k +7778(one,)s 8221(probably)s 220 fnt2 0 4904(Base)m 240 fnt1 +492 4907(,)m 599(by)s 893(their)s 220 fnt2 1390 4904(@F)m 6(ontDef)k +240 fnt1 2384 4907(.)m 480 4533(The)m 950(other)s 1543(\207elds)s +2154(are)s 2543(implementation-dependent,)s 5255(b)s 4(ut)k 5659(in)s +5944(Basser)s 6683(Lout)s 7237(V)s 26(ersion)k 8067(3)s +8273(the)s 3(y)k 8779(are)s 220 fnt2 0 4242(@Name)m +240 fnt1 800 4245(,)m 908(a)s 1076(PostScript)s 2120(font)s +2567(name;)s 220 fnt2 3198 4242(@Metr)m -3(ics)k 240 fnt1 +4124 4245(,)m 4293(an)s 4578(Adobe)s 5275(font)s 5721(metrics)s +6476(\(formerly)s 7446(AFM\))s 8095(\207le)s 8458(whose)s 0 3957(F)m 3(ontName)k +1070(entry)s 1622(must)s 2154(agree)s 2734(with)s 3223(the)s +3578(PostScript)s 4627(font)s 5079(name)s 5660(just)s 6072(mentioned;)s +7201(and)s 220 fnt2 7612 3954(@Mapping)m 240 fnt1 8664 3957(,)m +8778(the)s 0 3669(name)m 589(of)s 876(a)s 1057(Lout)s +1585(Character)s 2589(Mapping)s 3522(\(LCM\))s 4264(\207le.)s 4748(The)s +5192(\207les)s 5657(are)s 6019(searched)s 6929(for)s 7282(in)s +7541(standard)s 8425(places.)s 0 3381(Consult)m 812(the)s 1168(PostScript)s +2218(Reference)s 3249(Manual)s 4043([1)s 4217(])s 4343(for)s +4688(general)s 5454(information)s 6647(about)s 7246(fonts)s 7783(and)s +8195(encoding)s 0 3093(v)m 3(ectors;)k 795(brie\210y)s 15(,)k +1506(an)s 1785(8-bit)s 2291(character)s 3221(code)s 240 fnt6 +3724 3095(c)m 240 fnt1 3882 3093(in)m 4120(Lout')s 13(s)k +4778(input)s 5325(is)s 5531(mapped)s 6342(to)s 6577(the)s +6920(character)s 7850(in)s 8088(the)s 8431(Adobe)s 0 2805(font)m +449(metrics)s 1206(\207le)s 1571(whose)s 2243(name)s 2822(appears)s +3607(on)s 3908(the)s 4260(line)s 4679(labelled)s 240 fnt6 +5497 2807(c)m 240 fnt1 5663 2805(in)m 5910(the)s 6262(LCM)s +6840(\207le.)s 7313(The)s 7745(LCM)s 8322(\207le)s 8688(also)s +0 2517(de\207nes)m 756(v)s 6(arious)k 1532(character)s 4(-to-character)k +3707(mappings,)s 4772(such)s 5295(as)s 5572(upper)s 4(-case)k +6686(to)s 6952(lo)s 6(wer)k 4(-case,)k 8110(which)s +8779(are)s 0 2229(used)m 497(for)s 835(such)s 1331(purposes)s +2233(as)s 2483(the)s 2831(production)s 3925(of)s 4196(small)s +4768(capitals.)s 480 1855(The)m 933(options)s 1714(sho)s 6(wn)k +2416(abo)s 3(v)k 3(e)k 3063(are)s 3436(all)s +3754(compulsory)s 15(,)k 5001(b)s 4(ut)k 5388(there)s +5946(are)s 6319(tw)s 2(o)k 6754(other)s 7330(options)s +8111(which)s 8779(are)s 0 1567(optional.)m 942(The)s 220 fnt2 +1364 1564(@Recode)m 240 fnt1 2388 1567(option,)m 3101(if)s 3312(gi)s 6(v)k 3(en,)k +3935(must)s 4454(ha)s 4(v)k 3(e)k 4948(v)s 6(alue)k +220 fnt2 5510 1564(Y)m 30(es)k 240 fnt1 5905 1567(\(the)m +6325(def)s 2(ault,)k 7087(so)s 7347(rarely)s 7950(seen\))s +8497(or)s 220 fnt2 8749 1564(No)m 240 fnt1 9022 1567(.)m +0 1279(If)m 220 fnt2 239 1276(@Recode { No })m 240 fnt1 1887 1279(is)m +2106(gi)s 6(v)k 3(en,)k 2745(Lout)s 3266(assumes)s +4123(that)s 4551(the)s 4908(gi)s 6(v)k 3(en)k +5497(encoding)s 6437(v)s 3(ector)k 7100(is)s 7319(already)s +8086(associated)s 0 991(with)m 482(this)s 878(font)s 1323(in)s +1566(the)s 1914(PostScript)s 2956(interpreter)s 9(,)k 4047(and)s +4451(optimizes)s 5431(its)s 5707(output)s 6379(accordingly)s 15(.)k +480 617(The)m 928(other)s 1500(optional)s 2359(option,)s 220 fnt2 +3099 614(@Extr)m 2(aMetr)k -3(ics)k 240 fnt1 4535 617(,)m +4663(has)s 5053(v)s 6(alue)k 5642(equal)s 6236(to)s +6495(the)s 6864(name)s 7459(of)s 7750(a)s 7937(second)s +8681(font)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -9540,127 +9982,144 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(42)m 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 +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(42)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt82 0 13205(is)m -215(equi)s 6(v)k 6(alent)k 1265(to)s 220 fnt35 -1510 13202(9)m 240 fnt82 1689 13205(in)m 1938(most)s 2469(fonts.)s +0 13205(metrics)m 765(\207le)s +1138(which,)s 1843(if)s 2072(gi)s 6(v)k 3(en,)k +2715(is)s 2937(added)s 3580(to)s 3831(the)s 4191(main)s +4739(one)s 5153(de\207ned)s 5929(by)s 220 fnt2 6235 13202(@Metr)m -3(ics)k +240 fnt1 7161 13205(.)m 7338(This)s 7826(e)s 3(xtra)k +8373(metrics)s 0 12917(\207le)m 357(contains)s 220 fnt2 1200 12914(C)m +240 fnt1 1404 12917(\(de\207ne)m 2119(character\))s 3117(and)s 220 fnt2 +3516 12914(CC)m 240 fnt1 3878 12917(\(de\207ne)m 4593(composite)s 5627(character\))s +6625(entries)s 7307(in)s 7545(the)s 7888(same)s 8430(format)s +0 12629(as)m 259(in)s 512(AFM)s 1095(\207les;)s 1615(Lout)s +2136(will)s 2572(b)s 4(uild)k 3128(composite)s 4177(characters)s +5204(declared)s 6081(in)s 6334(this)s 6740(e)s 3(xtra)k +7283(\207le)s 7654(from)s 8188(the)s 8546(gi)s 6(v)k 3(en)k +0 12341(pieces,)m 707(which)s 1352(it)s 1547(does)s 2041(not)s +2410(do)s 2706(for)s 3048(composite)s 4090(characters)s 5111(in)s +5358(the)s 5709(main)s 6247(AFM)s 6824(\207le.)s 7296(There)s +7912(are)s 8263(e)s 3(xample)k 0 12053(e)m 3(xtra)k +534(metrics)s 1287(\207les)s 1736(in)s 1979(the)s 2327(current)s +3063(Lout)s 3575(distrib)s 4(ution)k 4730(which)s 5372(sho)s 6(w)k +5926(the)s 6274(precise)s 7006(format)s 7702(of)s 7973(these)s +8520(\207les.)s 480 11679(It)m 708(is)s 941(not)s 1330(possible)s +2193(to)s 2456(ha)s 4(v)k 3(e)k 2980(tw)s 2(o)k +220 fnt2 3413 11676(@F)m 6(ontDef)k 240 fnt1 4490 11679(database)m +5392(entries)s 6103(with)s 6608(the)s 6979(same)s 7549(f)s 2(amily)k +8247(and)s 8675(f)s 2(ace)k 0 11391(names,)m 703(because)s +1501(then)s 1955(the)s 3(y)k 2402(must)s 2912(ha)s 4(v)k 3(e)k +3398(the)s 3731(same)s 220 fnt2 4262 11388(@T)m 26(ag)k +240 fnt1 4825 11391(,)m 4917(which)s 5544(is)s 5739(not)s +6089(allo)s 6(wed.)k 6989(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +7934(a)s 8084(PostScript)s 0 11103(font)m 470(name)s 1070(and)s +1500(\207le)s 1886(may)s 2378(appear)s 3101(in)s 3369(tw)s 2(o)k +3805(or)s 4090(more)s 4662(font)s 5133(de\207nitions,)s 6276(allo)s 6(wing)k +7185(one)s 7613(PostScript)s 8681(font)s 0 10815(to)m 264(ha)s 4(v)k 3(e)k +791(tw)s 2(o)k 1227(or)s 1512(more)s 2085(equally)s +2869(v)s 6(alid)k 3425(Lout)s 3963(names.)s 4763(The)s +5217(LCM)s 5816(\207les)s 6291(may)s 6783(be)s 7091(equal)s +7690(or)s 7975(dif)s 6(ferent)k 8876(as)s 0 10527(desired.)m +480 10153(The)m 220 fnt2 917 10150(@Char)m 240 fnt1 1685 10153(symbol)m +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 9865(Basser)m +697(Lout\))s 1277(rather)s 1893(than)s 2362(by)s 2656(its)s +2932(code:)s 220 fnt2 480 9364(@Char nine)m 240 fnt1 0 8909(is)m +215(equi)s 6(v)k 6(alent)k 1265(to)s 220 fnt2 +1510 8906(9)m 240 fnt1 1689 8909(in)m 1938(most)s 2469(fonts.)s 3117(This)s 3599(is)s 3815(useful)s 4460(as)s 4716(a)s 4888(documentation)s 6373(aid)s 6729(and)s 7139(to)s 7384(be)s -7672(sure)s 8132(of)s 8409(getting)s 0 12917(the)m 347(right)s +7672(sure)s 8132(of)s 8409(getting)s 0 8621(the)m 347(right)s 856(character)s 1788(e)s 6(v)k 3(en)k 2286(if)s 2501(the)s 2848(encoding)s 3777(v)s 3(ector)k 4429(of)s 4698(the)s 5044(font)s 5488(is)s 5696(changed.)s 6656(Ho)s 6(we)k 6(v)k 3(er)k -220 fnt35 7576 12914(@Char)m 240 fnt82 8332 12917(will)m 8756(f)s 2(ail)k -0 12629(if)m 217(the)s 565(character)s 1499(named)s 2195(is)s +220 fnt2 7576 8618(@Char)m 240 fnt1 8332 8621(will)m 8756(f)s 2(ail)k +0 8333(if)m 217(the)s 565(character)s 1499(named)s 2195(is)s 2405(not)s 2771(in)s 3014(the)s 3362(encoding)s 4293(v)s 3(ector)k -4947(of)s 5218(the)s 5566(current)s 6302(font.)s 240 fnt84 -0 11836(3.4.)m 471(@Br)s 4(eak)k 240 fnt82 480 11404(The)m -220 fnt35 898 11401(@Break)m 240 fnt82 1744 11404(symbol)m 2493(in\210uences)s +4947(of)s 5218(the)s 5566(current)s 6302(font.)s 240 fnt5 +0 7540(3.4.)m 471(@Br)s 4(eak)k 240 fnt1 480 7108(The)m +220 fnt2 898 7105(@Break)m 240 fnt1 1744 7108(symbol)m 2493(in\210uences)s 3504(the)s 3842(appearance)s 4962(of)s 5223(paragraphs)s 6313(\(Section)s 7155(3.2\),)s 7631(of)s 6(fering)k 8437(a)s 8592(\207x)s 3(ed)k -0 11116(set)m 325(of)s 596(nine)s 1064(styles:)s 220 fnt35 -1275 10608(adjust)m 1916(@Break)s 240 fnt83 2772 10613(object)m 240 fnt82 -3600 10611(Break)m 4301(the)s 4718(paragraphs)s 5887(of)s 240 fnt83 -6228 10613(object)m 240 fnt82 6945 10611(into)m 7439(lines,)s 8066(and)s -8540(apply)s 220 fnt35 3600 10320(@P)m 26(Adjust)k 240 fnt82 -4633 10323(\(Section)m 5511(3.16\))s 6084(to)s 6348(e)s 6(v)k 3(ery)k +0 6820(set)m 325(of)s 596(nine)s 1064(styles:)s 220 fnt2 +1275 6312(adjust)m 1916(@Break)s 240 fnt6 2772 6317(object)m 240 fnt1 +3600 6315(Break)m 4301(the)s 4718(paragraphs)s 5887(of)s 240 fnt6 +6228 6317(object)m 240 fnt1 6945 6315(into)m 7439(lines,)s 8066(and)s +8540(apply)s 220 fnt2 3600 6024(@P)m 26(Adjust)k 240 fnt1 +4633 6027(\(Section)m 5511(3.16\))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 10035(each)m 4095(paragraph;)s 220 fnt35 1128 9527(outdent)m -1916(@Break)s 240 fnt83 2772 9532(object)m 240 fnt82 3600 9530(Lik)m 2(e)k -220 fnt35 4122 9527(adjust)m 240 fnt82 4703 9530(,)m 4840(e)s 3(xcept)k -5551(that)s 220 fnt35 6000 9527(2.0f @Wide {} &0i)m 240 fnt82 7809 9530(is)m -8049(inserted)s 8894(at)s 3600 9242(the)m 3981(be)s 3(ginning)k +8883(in)s 3600 5739(each)m 4095(paragraph;)s 220 fnt2 1128 5231(outdent)m +1916(@Break)s 240 fnt6 2772 5236(object)m 240 fnt1 3600 5234(Lik)m 2(e)k +220 fnt2 4122 5231(adjust)m 240 fnt1 4703 5234(,)m 4840(e)s 3(xcept)k +5551(that)s 220 fnt2 6000 5231(2.0f @Wide {} &0i)m 240 fnt1 7809 5234(is)m +8049(inserted)s 8894(at)s 3600 4946(the)m 3981(be)s 3(ginning)k 5022(of)s 5326(e)s 6(v)k 3(ery)k 5935(line)s 6382(e)s 3(xcept)k 7096(the)s 7477(\207rst,)s 7988(creating)s -8843(an)s 3600 8954(outdented)m 4602(paragraph;)s 220 fnt35 1187 8446(r)m 2(agged)k -1916(@Break)s 240 fnt83 2772 8451(object)m 240 fnt82 3600 8449(Break)m -4222(the)s 4559(paragraphs)s 5648(of)s 240 fnt83 5908 8451(object)m -240 fnt82 6545 8449(into)m 6960(lines,)s 7507(b)s 4(ut)k -7858(do)s 8140(not)s 8495(adjust)s 3600 8161(the)m 3948(lines)s -4450(\(`ragged)s 5317(right'\);)s 220 fnt35 1077 7653(cr)m 2(agged)k -1916(@Break)s 240 fnt83 2772 7658(object)m 240 fnt82 3600 7656(Lik)m 2(e)k -220 fnt35 4125 7653(r)m 2(agged)k 240 fnt82 4794 7656(,)m +8843(an)s 3600 4658(outdented)m 4602(paragraph;)s 220 fnt2 1187 4150(r)m 2(agged)k +1916(@Break)s 240 fnt6 2772 4155(object)m 240 fnt1 3600 4153(Break)m +4222(the)s 4559(paragraphs)s 5648(of)s 240 fnt6 5908 4155(object)m +240 fnt1 6545 4153(into)m 6960(lines,)s 7507(b)s 4(ut)k +7858(do)s 8140(not)s 8495(adjust)s 3600 3865(the)m 3948(lines)s +4450(\(`ragged)s 5317(right'\);)s 220 fnt2 1077 3357(cr)m 2(agged)k +1916(@Break)s 240 fnt6 2772 3362(object)m 240 fnt1 3600 3360(Lik)m 2(e)k +220 fnt2 4125 3357(r)m 2(agged)k 240 fnt1 4794 3360(,)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 7368(respect)m -4336(to)s 4575(the)s 4923(others;)s 220 fnt35 1114 6860(rr)m 2(agged)k -1916(@Break)s 240 fnt83 2772 6865(object)m 240 fnt82 3600 6863(Lik)m 2(e)k -220 fnt35 4115 6860(r)m 2(agged)k 240 fnt82 4784 6863(,)m +7075(will)s 7534(be)s 7849(centred)s 8644(with)s 3600 3072(respect)m +4336(to)s 4575(the)s 4923(others;)s 220 fnt2 1114 2564(rr)m 2(agged)k +1916(@Break)s 240 fnt6 2772 2569(object)m 240 fnt1 3600 2567(Lik)m 2(e)k +220 fnt2 4115 2564(r)m 2(agged)k 240 fnt1 4784 2567(,)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 6575(with)m 4082(respect)s +7014(will)s 7463(be)s 7768(right-justi\207ed)s 3600 2279(with)m 4082(respect)s 4818(to)s 5057(the)s 5405(others)s 6040(\(`ragged)s 6907(left'\);)s -220 fnt35 1065 6067(or)m 2(agged)k 1916(@Break)s 240 fnt83 -2772 6072(object)m 240 fnt82 3600 6070(The)m 4028(ob)s 3(vious)k -4835(combination)s 6088(of)s 220 fnt35 6359 6067(r)m 2(agged)k -240 fnt82 7088 6070(and)m 220 fnt35 7492 6067(outdent)m 240 fnt82 -8220 6070(;)m 220 fnt35 1413 5563(lines)m 1916(@Break)s 240 fnt83 -2772 5568(object)m 240 fnt82 3600 5566(Break)m 4284(the)s 4685(paragraphs)s -5837(of)s 240 fnt83 6161 5568(object)m 240 fnt82 6861 5566(into)m -7339(lines)s 7893(at)s 8178(the)s 8579(same)s 3600 5278(points)m +220 fnt2 1065 1771(or)m 2(agged)k 1916(@Break)s 240 fnt6 +2772 1776(object)m 240 fnt1 3600 1774(The)m 4028(ob)s 3(vious)k +4835(combination)s 6088(of)s 220 fnt2 6359 1771(r)m 2(agged)k +240 fnt1 7088 1774(and)m 220 fnt2 7492 1771(outdent)m 240 fnt1 +8220 1774(;)m 220 fnt2 1413 1267(lines)m 1916(@Break)s 240 fnt6 +2772 1272(object)m 240 fnt1 3600 1270(Break)m 4284(the)s 4685(paragraphs)s +5837(of)s 240 fnt6 6161 1272(object)m 240 fnt1 6861 1270(into)m +7339(lines)s 7893(at)s 8178(the)s 8579(same)s 3600 982(points)m 4235(that)s 4651(the)s 3(y)k 5113(are)s 5458(brok)s 2(en)k 6177(into)s 6600(lines)s 7101(in)s 7342(the)s 7689(input,)s -8286(and)s 8688(also)s 3600 4990(at)m 3819(concatenation)s 5190(symbols)s -6026(of)s 6283(the)s 6617(form)s 220 fnt35 7128 4987(&)m -240 fnt83 7270 4992(k)m 220 fnt35 7380 4987(b)m 240 fnt82 -7540 4990(for)m 7865(an)s 3(y)k 240 fnt83 8248 4992(k)m -240 fnt82 8404 4990(greater)m 3600 4702(than)m 4069(1.)s 4354(Do)s +8286(and)s 8688(also)s 3600 694(at)m 3819(concatenation)s 5190(symbols)s +6026(of)s 6283(the)s 6617(form)s 220 fnt2 7128 691(&)m +240 fnt6 7270 696(k)m 220 fnt2 7380 691(b)m 240 fnt1 +7540 694(for)m 7865(an)s 3(y)k 240 fnt6 8248 696(k)m +240 fnt1 8404 694(greater)m 3600 406(than)m 4069(1.)s 4354(Do)s 4700(not)s 5067(adjust)s 5698(the)s 6047(lines.)s 6663(An)s 3(y)k 7127(spaces)s 7803(at)s 8035(the)s 8384(start)s 8855(of)s -3600 4414(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 220 fnt35 1303 3906(clines)m 1916(@Break)s -240 fnt83 2772 3911(object)m 240 fnt82 3600 3909(Break)m 4288(the)s -4693(paragraphs)s 5849(of)s 240 fnt83 6177 3911(object)m 240 fnt82 -6881 3909(into)m 7363(lines)s 7921(as)s 8228(for)s 220 fnt35 -8623 3906(lines)m 3600 3618(@Break)m 240 fnt82 4396 3621(,)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 220 fnt35 1337 3113(r)m -3(lines)k -1916(@Break)s 240 fnt83 2772 3118(object)m 240 fnt82 3600 3116(Break)m -4288(the)s 4693(paragraphs)s 5849(of)s 240 fnt83 6177 3118(object)m -240 fnt82 6881 3116(into)m 7363(lines)s 7921(as)s 8228(for)s -220 fnt35 8623 3113(lines)m 3600 2825(@Break)m 240 fnt82 4396 2828(,)m -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 2540(others.)m -0 2087(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 -5449(will)s 5880(each)s 6380(of)s 6656(its)s 6937(lines)s -7444(be;)s 7787(otherwise)s 8778(the)s 0 1799(lines)m 502(are)s -849(enclosed)s 1744(in)s 1987(a)s 220 fnt35 2153 1796(@OneRo)m 3(w)k -240 fnt82 3284 1799(symbol)m 4044(after)s 4540(breaking.)s 480 1425(The)m -911(length)s 1570(of)s 1845(the)s 2196(g)s 1(ap)k -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 fnt35 0 1134(1v)m -240 fnt82 231 1137(.)m 395(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -1355(the)s 220 fnt35 1703 1134(v)m 240 fnt82 1872 1137(unit)m -2304(itself)s 2852(and)s 3256(the)s 3604(g)s 1(ap)k -4002(mode)s 4590(may)s 5056(be)s 5338(changed:)s 240 fnt83 -1503 634(gap)m 220 fnt35 1916 629(@Break)m 240 fnt83 2772 634(object)m -240 fnt82 3600 632(W)m 9(ithin)k 240 fnt83 4312 634(object)m -240 fnt82 4900 632(,)m 5008(tak)s 2(e)k 5460(the)s -5809(v)s 6(alue)k 6377(of)s 6649(the)s 220 fnt35 -6998 629(v)m 240 fnt82 7167 632(unit)m 7600(to)s 7839(be)s -8122(the)s 8471(length)s 3600 344(of)m 240 fnt83 3871 346(gap)m -240 fnt82 4224 344(;)m + +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -9678,118 +10137,135 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(3.4.)m 1871(@Br)s 8(eak)k 240 fnt5 +10250 -1583(43)m gsave +1417 -15423 translate +240 fnt1 9066 13412 0 13303 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(3.4.)m 454(@Br)s 8(eak)k 240 fnt84 -8833 13840(43)m 240 fnt82 1375 13247(+)m 240 fnt83 1503 13249(gap)m -220 fnt35 1916 13244(@Break)m 240 fnt83 2772 13249(object)m 240 fnt82 -3600 13247(W)m 9(ithin)k 240 fnt83 4320 13249(object)m 240 fnt82 -4908 13247(,)m 5024(tak)s 2(e)k 5485(the)s 5841(v)s 6(alue)k -6418(of)s 6698(the)s 220 fnt35 7054 13244(v)m 240 fnt82 -7232 13247(unit)m 7673(to)s 7920(be)s 8211(lar)s 4(ger)k -8832(by)s 3600 12959(the)m 3948(length)s 4603(of)s 240 fnt83 -4874 12961(gap)m 240 fnt82 5287 12959(than)m 5756(it)s 5948(w)s 2(ould)k +3600 13249(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 220 fnt2 1303 12741(clines)m +1916(@Break)s 240 fnt6 2772 12746(object)m 240 fnt1 3600 12744(Break)m +4288(the)s 4693(paragraphs)s 5849(of)s 240 fnt6 6177 12746(object)m +240 fnt1 6881 12744(into)m 7363(lines)s 7921(as)s 8228(for)s +220 fnt2 8623 12741(lines)m 3600 12453(@Break)m 240 fnt1 4396 12456(,)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 220 fnt2 +1337 11948(r)m -3(lines)k 1916(@Break)s 240 fnt6 2772 11953(object)m +240 fnt1 3600 11951(Break)m 4288(the)s 4693(paragraphs)s 5849(of)s +240 fnt6 6177 11953(object)m 240 fnt1 6881 11951(into)m 7363(lines)s +7921(as)s 8228(for)s 220 fnt2 8623 11948(lines)m 3600 11660(@Break)m +240 fnt1 4396 11663(,)m 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 11375(others.)m 0 10922(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 5449(will)s 5880(each)s 6380(of)s 6656(its)s +6937(lines)s 7444(be;)s 7787(otherwise)s 8778(the)s 0 10634(lines)m +502(are)s 849(enclosed)s 1744(in)s 1987(a)s 220 fnt2 +2153 10631(@OneRo)m 3(w)k 240 fnt1 3284 10634(symbol)m 4044(after)s +4540(breaking.)s 480 10260(The)m 911(length)s 1570(of)s 1845(the)s +2196(g)s 1(ap)k 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 9969(1v)m 240 fnt1 231 9972(.)m 395(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +1355(the)s 220 fnt2 1703 9969(v)m 240 fnt1 1872 9972(unit)m +2304(itself)s 2852(and)s 3256(the)s 3604(g)s 1(ap)k +4002(mode)s 4590(may)s 5056(be)s 5338(changed:)s 240 fnt6 +1503 9469(gap)m 220 fnt2 1916 9464(@Break)m 240 fnt6 2772 9469(object)m +240 fnt1 3600 9467(W)m 9(ithin)k 240 fnt6 4312 9469(object)m +240 fnt1 4900 9467(,)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 9464(v)m 240 fnt1 7167 9467(unit)m 7600(to)s 7839(be)s +8122(the)s 8471(length)s 3600 9179(of)m 240 fnt6 3871 9181(gap)m +240 fnt1 4224 9179(;)m 1375 8678(+)m 240 fnt6 1503 8680(gap)m +220 fnt2 1916 8675(@Break)m 240 fnt6 2772 8680(object)m 240 fnt1 +3600 8678(W)m 9(ithin)k 240 fnt6 4320 8680(object)m 240 fnt1 +4908 8678(,)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 8675(v)m 240 fnt1 +7232 8678(unit)m 7673(to)s 7920(be)s 8211(lar)s 4(ger)k +8832(by)s 3600 8390(the)m 3948(length)s 4603(of)s 240 fnt6 +4874 8392(gap)m 240 fnt1 5287 8390(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 -1383 12454(\211)m 240 fnt83 1503 12456(gap)m 220 fnt35 1916 12451(@Break)m -240 fnt83 2772 12456(object)m 240 fnt82 3600 12454(W)m 9(ithin)k -240 fnt83 4309 12456(object)m 240 fnt82 4897 12454(,)m 5000(tak)s 2(e)k +1383 7885(\211)m 240 fnt6 1503 7887(gap)m 220 fnt2 1916 7882(@Break)m +240 fnt6 2772 7887(object)m 240 fnt1 3600 7885(W)m 9(ithin)k +240 fnt6 4309 7887(object)m 240 fnt1 4897 7885(,)m 5000(tak)s 2(e)k 5448(the)s 5792(v)s 6(alue)k 6356(of)s 6623(the)s -220 fnt35 6968 12451(v)m 240 fnt82 7133 12454(unit)m 7561(to)s -7796(be)s 8074(smaller)s 8832(by)s 3600 12166(the)m 3948(length)s -4603(of)s 240 fnt83 4874 12168(gap)m 240 fnt82 5287 12166(than)m +220 fnt2 6968 7882(v)m 240 fnt1 7133 7885(unit)m 7561(to)s +7796(be)s 8074(smaller)s 8832(by)s 3600 7597(the)m 3948(length)s +4603(of)s 240 fnt6 4874 7599(gap)m 240 fnt1 5287 7597(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 0 11661(In)m 256(each)s 751(case,)s 1269(the)s -1617(mode)s 2205(of)s 240 fnt83 2476 11663(gap)m 240 fnt82 -2889 11661(is)m 3099(adopted)s 3915(within)s 240 fnt83 4583 11663(object)m -240 fnt82 5171 11661(.)m 480 11287(The)m 220 fnt35 908 11284(@Break)m -240 fnt82 1764 11287(symbol)m 2524(also)s 2962(controls)s 3783(h)s 1(yphenation:)k -220 fnt35 1141 10779(h)m 6(yphen @Break)k 240 fnt83 2772 10784(object)m -240 fnt82 3600 10782(Permit)m 4296(h)s 1(yphenation)k 5536(within)s -6204(the)s 6552(paragraphs)s 7652(of)s 240 fnt83 7923 10784(object)m -240 fnt82 8511 10782(;)m 220 fnt35 897 10274(noh)m 6(yphen @Break)k -240 fnt83 2772 10279(object)m 240 fnt82 3600 10277(Prohibit)m 4440(h)s 1(yphenation)k -5691(within)s 6370(the)s 6729(paragraphs)s 7840(of)s 240 fnt83 -8122 10279(object)m 240 fnt82 8710 10277(;)m 8833(all)s 3600 9989(h)m 1(yphenation)k +8089(been.)s 0 7092(In)m 256(each)s 751(case,)s 1269(the)s +1617(mode)s 2205(of)s 240 fnt6 2476 7094(gap)m 240 fnt1 +2889 7092(is)m 3099(adopted)s 3915(within)s 240 fnt6 4583 7094(object)m +240 fnt1 5171 7092(.)m 480 6718(The)m 220 fnt2 908 6715(@Break)m +240 fnt1 1764 6718(symbol)m 2524(also)s 2962(controls)s 3783(h)s 1(yphenation:)k +220 fnt2 1141 6210(h)m 6(yphen @Break)k 240 fnt6 2772 6215(object)m +240 fnt1 3600 6213(Permit)m 4296(h)s 1(yphenation)k 5536(within)s +6204(the)s 6552(paragraphs)s 7652(of)s 240 fnt6 7923 6215(object)m +240 fnt1 8511 6213(;)m 220 fnt2 897 5705(noh)m 6(yphen @Break)k +240 fnt6 2772 5710(object)m 240 fnt1 3600 5708(Prohibit)m 4440(h)s 1(yphenation)k +5691(within)s 6370(the)s 6729(paragraphs)s 7840(of)s 240 fnt6 +8122 5710(object)m 240 fnt1 8710 5708(;)m 8833(all)s 3600 5420(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 9701(edge)m 4108(mode.)s 0 9198(The)m 220 fnt35 -428 9195(@Break)m 240 fnt82 1284 9198(also)m 1722(has)s 2092(options)s +8812(to-)s 3600 5132(edge)m 4108(mode.)s 0 4629(The)m 220 fnt2 +428 4626(@Break)m 240 fnt1 1284 4629(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 fnt35 480 8690(unbreakab)m 4(le\207rst @Break)k -240 fnt83 3058 8695(ob)m 240 fnt82 3292 8693(-)m 240 fnt83 -480 8407(ject)m 240 fnt82 3600 8693(Pre)m 6(v)k 3(ent)k +5326(orphan)s 6048(lines:)s 220 fnt2 480 4121(unbreakab)m 4(le\207rst @Break)k +240 fnt6 3058 4126(ob)m 240 fnt1 3292 4124(-)m 240 fnt6 +480 3838(ject)m 240 fnt1 3600 4124(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 8405(from)m 4147(splitting\))s 5081(between)s 5959(the)s 6330(\207rst)s +3600 3836(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 8117(paragraphs)m 4700(of)s 240 fnt83 4971 8119(object)m 240 fnt82 -5559 8117(;)m 220 fnt35 480 7609(unbreakab)m 4(lelast @Break)k 240 fnt83 -3058 7614(ob)m 240 fnt82 3292 7612(-)m 240 fnt83 480 7326(ject)m -240 fnt82 3600 7612(Pre)m 6(v)k 3(ent)k 4429(column)s +3600 3548(paragraphs)m 4700(of)s 240 fnt6 4971 3550(object)m 240 fnt1 +5559 3548(;)m 220 fnt2 480 3040(unbreakab)m 4(lelast @Break)k 240 fnt6 +3058 3045(ob)m 240 fnt1 3292 3043(-)m 240 fnt6 480 2757(ject)m +240 fnt1 3600 3043(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 7324(second)m 4323(last)s 4714(lines)s -5216(of)s 5487(the)s 5835(paragraphs)s 6935(of)s 240 fnt83 -7206 7326(object)m 240 fnt82 7794 7324(.)m 0 6821(These)m 688(options)s +8282(last)s 8722(and)s 3600 2755(second)m 4323(last)s 4714(lines)s +5216(of)s 5487(the)s 5835(paragraphs)s 6935(of)s 240 fnt6 +7206 2757(object)m 240 fnt1 7794 2755(.)m 0 2252(These)m 688(options)s 1506(w)s 2(ork)k 2119(by)s 2475(adding)s 3241(the)s -220 fnt35 3651 6818(u)m 240 fnt82 3881 6821(\(unbreakable\))m 5319(suf\207x)s +220 fnt2 3651 2249(u)m 240 fnt1 3881 2252(\(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 6533(paragraph)m 1017(breaking,)s 1966(so)s 2237(their)s +8448(during)s 0 1964(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 6245(countermanded)m 1533(by)s -220 fnt35 1827 6242(breakab)m 4(le\207rst @Break)k 240 fnt82 4057 6245(and)m -220 fnt35 4461 6242(breakab)m 4(lelast @Break.)k 240 fnt82 480 5871(Se)m 6(v)k 3(eral)k +7612(options)s 8373(may)s 8844(be)s 0 1676(countermanded)m 1533(by)s +220 fnt2 1827 1673(breakab)m 4(le\207rst @Break)k 240 fnt1 4057 1676(and)m +220 fnt2 4461 1673(breakab)m 4(lelast @Break.)k 240 fnt1 480 1302(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 fnt35 4392 5868(@Break)m 240 fnt82 -5317 5871(symbol)m 6145(simultaneously)s 15(,)k 7754(in)s 8065(an)s 3(y)k -8531(order)s 13(.)k 0 5583(F)m 3(or)k 389(e)s 3(xample,)k -220 fnt35 480 5082({ adjust 1.2fx h)m 6(yphen } @Break ...)k 240 fnt82 0 4584(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 fnt35 5505 4581(@Null)m 240 fnt82 6149 4584(objects)m -6877(in)s 7119(the)s 7466(left)s 7842(parameter)s 8855(of)s -220 fnt35 0 4293(@Break)m 240 fnt82 796 4296(;)m 908(these)s -1455(are)s 1802(ignored.)s 240 fnt84 0 3503(3.5.)m 471(@Space)s -240 fnt82 480 3026(The)m 220 fnt35 911 3023(@Space)m 240 fnt82 -1812 3026(symbol)m 2576(changes)s 3402(the)s 3754(v)s 6(alue)k -4326(of)s 4601(the)s 220 fnt35 4953 3023(s)m 240 fnt82 -5120 3026(unit)m 5556(of)s 5831(measurement)s 7169(\(Section)s 8026(3.2\))s -8458(within)s 0 2738(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 fnt35 -480 2237(1c @Space { a b c d })m 240 fnt82 0 1741(has)m 370(result)s 480 1288(a)m -1153(b)s 1833(c)s 2499(d)s 0 835(As)m 311(for)s -643(the)s 220 fnt35 985 832(@Break)m 240 fnt82 1835 835(symbol,)m -2641(the)s 2982(left)s 3353(parameter)s 4361(of)s 220 fnt35 -4626 832(@Space)m 240 fnt82 5517 835(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 fnt35 0 544(s)m 240 fnt82 163 547(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 fnt35 5011 544(@F)m 6(ont)k 240 fnt82 -5723 547(symbol)m 6483(also)s 6921(sets)s 7330(the)s 220 fnt35 -7678 544(s)m 240 fnt82 7841 547(unit.)m 480 173(The)m 906(left)s -1280(parameter)s 2292(of)s 2560(the)s 220 fnt35 2906 170(@Space)m -240 fnt82 3800 173(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 +3668(to)s 3976(the)s 220 fnt2 4392 1299(@Break)m 240 fnt1 +5317 1302(symbol)m 6145(simultaneously)s 15(,)k 7754(in)s 8065(an)s 3(y)k +8531(order)s 13(.)k 0 1014(F)m 3(or)k 389(e)s 3(xample,)k +220 fnt2 480 513({ adjust 1.2fx h)m 6(yphen } @Break ...)k +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore grestore @@ -9808,157 +10284,152 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(44)m 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 +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(44)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 220 fnt35 0 13202(lout)m -240 fnt82 349 13205(,)m 220 fnt35 461 13202(compress)m 240 fnt82 -1406 13205(,)m 220 fnt35 1518 13202(separ)m 2(ate)k 240 fnt82 -2362 13205(,)m 220 fnt35 2474 13202(troff)m 240 fnt82 2849 13205(,)m -2961(and)s 220 fnt35 3371 13202(te)m 6(x)k 240 fnt82 -3656 13205(,)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 12917(separating)m 1047(tw)s 2(o)k 1470(objects.)s -2324(The)s 2764(names)s 220 fnt35 3439 12914(troff)m 240 fnt82 -3887 12917(and)m 220 fnt35 4304 12914(te)m 6(x)k 240 fnt82 -4661 12917(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 12629(inspired)m +0 13205(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 13202(@Null)m 240 fnt1 6149 13205(objects)m 6877(in)s +7119(the)s 7466(left)s 7842(parameter)s 8855(of)s 220 fnt2 +0 12914(@Break)m 240 fnt1 796 12917(;)m 908(these)s 1455(are)s +1802(ignored.)s 240 fnt5 0 12124(3.5.)m 471(@Space)s 240 fnt1 +480 11647(The)m 220 fnt2 911 11644(@Space)m 240 fnt1 1812 11647(symbol)m +2576(changes)s 3402(the)s 3754(v)s 6(alue)k 4326(of)s +4601(the)s 220 fnt2 4953 11644(s)m 240 fnt1 5120 11647(unit)m +5556(of)s 5831(measurement)s 7169(\(Section)s 8026(3.2\))s 8458(within)s +0 11359(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 10858(1c @Space { a b c d })m 240 fnt1 0 10362(has)m 370(result)s 480 9909(a)m +1153(b)s 1833(c)s 2499(d)s 0 9456(As)m 311(for)s +643(the)s 220 fnt2 985 9453(@Break)m 240 fnt1 1835 9456(symbol,)m +2641(the)s 2982(left)s 3353(parameter)s 4361(of)s 220 fnt2 +4626 9453(@Space)m 240 fnt1 5517 9456(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 9165(s)m 240 fnt1 163 9168(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 9165(@F)m 6(ont)k 240 fnt1 +5723 9168(symbol)m 6483(also)s 6921(sets)s 7330(the)s 220 fnt2 +7678 9165(s)m 240 fnt1 7841 9168(unit.)m 480 8794(The)m 906(left)s +1280(parameter)s 2292(of)s 2560(the)s 220 fnt2 2906 8791(@Space)m +240 fnt1 3800 8794(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 8503(lout)m 240 fnt1 349 8506(,)m 220 fnt2 +461 8503(compress)m 240 fnt1 1406 8506(,)m 220 fnt2 1518 8503(separ)m 2(ate)k +240 fnt1 2362 8506(,)m 220 fnt2 2474 8503(troff)m 240 fnt1 +2849 8506(,)m 2961(and)s 220 fnt2 3371 8503(te)m 6(x)k +240 fnt1 3656 8506(,)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 8218(separating)m 1047(tw)s 2(o)k +1470(objects.)s 2324(The)s 2764(names)s 220 fnt2 3439 8215(troff)m +240 fnt1 3887 8218(and)m 220 fnt2 4304 8215(te)m 6(x)k +240 fnt1 4661 8218(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 7930(inspired)m 828(by)s 1122(these)s 1669(other)s 2220(document)s 3224(formatting)s -4285(systems.)s 480 12255(The)m 897(def)s 2(ault)k 1607(setting,)s -220 fnt35 2339 12252(lout)m 240 fnt82 2688 12255(,)m 2784(produces)s +4285(systems.)s 480 7556(The)m 897(def)s 2(ault)k 1607(setting,)s +220 fnt2 2339 7553(lout)m 240 fnt1 2688 7556(,)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 fnt35 -0 11964(compress)m 240 fnt82 1017 11967(setting)m 1719(causes)s 2407(all)s +7486(in)s 7717(the)s 8054(input.)s 8698(The)s 220 fnt2 +0 7265(compress)m 240 fnt1 1017 7268(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 11679(same)m 556(as)s +7764(be)s 8058(treated)s 8778(the)s 0 6980(same)m 556(as)s 815(one)s 1227(white)s 1823(space)s 2419(character)s 13(.)k -3454(The)s 220 fnt35 3891 11676(separ)m 2(ate)k 240 fnt82 -4804 11679(setting)m 5504(is)s 5723(lik)s 2(e)k 220 fnt35 -6144 11676(compress)m 240 fnt82 7159 11679(b)m 4(ut)k 7530(also)s -7977(causes)s 8662(zero)s 0 11391(white)m 587(spaces)s 1263(between)s +3454(The)s 220 fnt2 3891 6977(separ)m 2(ate)k 240 fnt1 +4804 6980(setting)m 5504(is)s 5723(lik)s 2(e)k 220 fnt2 +6144 6977(compress)m 240 fnt1 7159 6980(b)m 4(ut)k 7530(also)s +7977(causes)s 8662(zero)s 0 6692(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 11103(space)m 587(character)s 13(.)k -480 10729(The)m 220 fnt35 902 10726(troff)m 240 fnt82 1330 10729(setting)m -2013(is)s 2216(the)s 2557(same)s 3097(as)s 220 fnt35 -3340 10726(lout)m 240 fnt82 3742 10729(e)m 3(xcept)k 4416(that)s +7885(as)s 8136(one)s 8539(white)s 0 6404(space)m 587(character)s 13(.)k +480 6030(The)m 220 fnt2 902 6027(troff)m 240 fnt1 1330 6030(setting)m +2013(is)s 2216(the)s 2557(same)s 3097(as)s 220 fnt2 +3340 6027(lout)m 240 fnt1 3742 6030(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 10441(one)m 415(e)s 3(xtra)k +8502(a)s 8661(line,)s 0 5742(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 10153(which)m 660(include)s 1439(at)s 1689(least)s 2205(one)s +0 5454(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 9865(of)m 288(a)s 471(certain)s 1194(set)s +8724(one)s 0 5166(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 9577(characters)m 1025(depends)s 1868(on)s 2173(the)s 2528(current)s +0 4878(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 fnt35 6204 9574(langdef)m 240 fnt82 6987 9577(for)m -7333(that)s 7758(language)s 8686(\(see)s 0 9289(Section)m 774(3.9\).)s -480 8915(The)m 220 fnt35 930 8912(te)m 6(x)k 240 fnt82 -1297 8915(option)m 1989(is)s 2221(the)s 2592(most)s 3139(complicated.)s -4494(First,)s 5060(the)s 220 fnt35 5430 8912(compress)m 240 fnt82 -6458 8915(option)m 7149(is)s 7382(applied.)s 8272(Then,)s 8894(at)s -0 8627(e)m 6(v)k 3(ery)k 576(sentence)s 1455(ending,)s +5849(the)s 220 fnt2 6204 4875(langdef)m 240 fnt1 6987 4878(for)m +7333(that)s 7758(language)s 8686(\(see)s 0 4590(Section)m 774(3.9\).)s +480 4216(The)m 220 fnt2 930 4213(te)m 6(x)k 240 fnt1 +1297 4216(option)m 1989(is)s 2221(the)s 2592(most)s 3139(complicated.)s +4494(First,)s 5060(the)s 220 fnt2 5430 4213(compress)m 240 fnt1 +6458 4216(option)m 7149(is)s 7382(applied.)s 8272(Then,)s 8894(at)s +0 3928(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 8339(ending)m 709(is)s 923(de\207ned)s -1690(as)s 1944(for)s 220 fnt35 2286 8336(troff)m 240 fnt82 -2726 8339(e)m 3(xcept)k 3411(that,)s 3880(in)s 4127(addition)s +8018(A)s 8247(sentence)s 0 3640(ending)m 709(is)s 923(de\207ned)s +1690(as)s 1944(for)s 220 fnt2 2286 3637(troff)m 240 fnt1 +2726 3640(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 8051(of)m 268(a)s 431(certain)s 1134(set)s +8724(one)s 0 3352(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 7763(must)m 525(be)s +8217(e)s 3(xist)k 8722(and)s 0 3064(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 7475(\207le)m 393(\(Section)s 1278(3.3\))s +7219(Character)s 8208(Mapping)s 0 2776(\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 7187(is)m 210(de\207ned.)s -240 fnt84 0 6444(3.6.)m 471(@YUnit,)s 1432(@ZUnit,)s 2380(@CurrYUnit,)s -3859(and)s 4300(@CurrZUnit)s 240 fnt82 480 5973(The)m 220 fnt35 -917 5970(@YUnit)m 240 fnt82 1741 5973(symbol)m 2510(changes)s 3342(the)s -3699(v)s 6(alue)k 4277(of)s 4557(the)s 220 fnt35 -4915 5970(y)m 240 fnt82 5092 5973(unit)m 5534(of)s 5814(measurement)s -7158(\(Section)s 8020(3.2\))s 8458(within)s 0 5685(its)m 276(right)s +7508(of)s 7811(the)s 8192(character)s 0 2488(is)m 210(de\207ned.)s +240 fnt5 0 1745(3.6.)m 471(@YUnit,)s 1432(@ZUnit,)s 2380(@CurrYUnit,)s +3859(and)s 4300(@CurrZUnit)s 240 fnt1 480 1274(The)m 220 fnt2 +917 1271(@YUnit)m 240 fnt1 1741 1274(symbol)m 2510(changes)s 3342(the)s +3699(v)s 6(alue)k 4277(of)s 4557(the)s 220 fnt2 +4915 1271(y)m 240 fnt1 5092 1274(unit)m 5534(of)s 5814(measurement)s +7158(\(Section)s 8020(3.2\))s 8458(within)s 0 986(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 fnt35 480 5184(1c @YUnit { ...)m 13( })k -240 fnt82 0 4690(ensures)m 760(that)s 1170(the)s 1510(v)s 6(alue)k -2070(of)s 220 fnt35 2333 4687(1y)m 240 fnt82 2615 4690(within)m -3275(the)s 3615(right)s 4118(parameter)s 5124(will)s 5542(be)s -220 fnt35 5816 4687(1c)m 240 fnt82 6043 4690(.)m 6199(The)s -220 fnt35 6619 4687(@ZUnit)m 240 fnt82 7413 4690(symbol)m 8165(is)s -8366(similar)s 9(,)k 0 4402(setting)m 688(the)s 1034(v)s 6(alue)k -1600(of)s 1869(the)s 220 fnt35 2215 4399(z)m 240 fnt82 -2376 4402(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 4114(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 fnt35 5526 4111(w)m 240 fnt82 5682 4114(,)m 220 fnt35 -5786 4111(b)m 240 fnt82 5900 4114(,)m 220 fnt35 6003 4111(r)m -240 fnt82 6076 4114(,)m 6180(or)s 6435(of)s 6702(course)s -220 fnt35 7379 4111(d)m 240 fnt82 7545 4114(units,)m 8114(b)s 4(ut)k -8472(it)s 8660(may)s 0 3826(be)m 3(gin)k 577(with)s -220 fnt35 1050 3823(+)m 240 fnt82 1220 3826(or)m 220 fnt35 -1470 3823(-)m 240 fnt82 1584 3826(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 3538(ne)m 3(g)k 1(ati)k 6(v)k 3(e)k -853(result)s 1443(of)s 1714(using)s 220 fnt35 2286 3535(-)m -240 fnt82 2410 3538(will)m 2836(be)s 3118(silently)s 3875(replaced)s -4742(by)s 5036(zero.)s 480 3164(The)m 220 fnt35 913 3161(@CurrYUnit)m -240 fnt82 2159 3164(and)m 220 fnt35 2569 3161(@CurrZUnit)m 240 fnt82 -3803 3164(symbols)m 4658(report)s 5294(the)s 5648(v)s 6(alue)k -6222(of)s 6499(the)s 220 fnt35 6853 3161(y)m 240 fnt82 -7027 3164(and)m 220 fnt35 7437 3161(z)m 240 fnt82 7607 3164(units,)m -8185(in)s 8434(points,)s 0 2876(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 fnt35 480 2375(1i @YUnit { )m 11(The current v)k 5(alue of the y unit is @CurrYUnit })k -240 fnt82 0 1877(produces)m 220 fnt35 480 1376(1i @YUnit { )m 11(The current v)k 5(alue of the y unit is @CurrYUnit })k -240 fnt82 0 878(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 504(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 216(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 +4178(left)s 4555(parameter:)s 220 fnt2 480 485(1c @YUnit { ...)m 13( })k + +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -9976,117 +10447,146 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(3.6.)m 1871(@YUnit,)s 2742(@ZUnit,)s 3613(@CurrYUnit,)s +4950(and)s 5376(@CurrZUnit)s 240 fnt5 10250 -1583(45)m gsave +1417 -15423 translate +240 fnt1 9066 13387 0 13278 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(3.6.)m 454(@YUnit,)s 1325(@ZUnit,)s 2196(@CurrYUnit,)s -3533(and)s 3959(@CurrZUnit)s 240 fnt84 8833 13840(45)m 240 fnt82 -0 13224(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 fnt84 0 12431(3.7.)m 471(@SetColour)s 1788(and)s 2229(@SetColor)s -240 fnt82 480 11999(The)m 220 fnt35 927 11996(@SetColour)m 240 fnt82 -2204 11999(and)m 220 fnt35 2628 11996(@SetColor)m 240 fnt82 3783 11999(symbols,)m -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 11711(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 +0 13224(ensures)m +760(that)s 1170(the)s 1510(v)s 6(alue)k 2070(of)s +220 fnt2 2333 13221(1y)m 240 fnt1 2615 13224(within)m 3275(the)s +3615(right)s 4118(parameter)s 5124(will)s 5542(be)s 220 fnt2 +5816 13221(1c)m 240 fnt1 6043 13224(.)m 6199(The)s 220 fnt2 +6619 13221(@ZUnit)m 240 fnt1 7413 13224(symbol)m 8165(is)s 8366(similar)s 9(,)k +0 12936(setting)m 688(the)s 1034(v)s 6(alue)k 1600(of)s +1869(the)s 220 fnt2 2215 12933(z)m 240 fnt1 2376 12936(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 12648(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 12645(w)m 240 fnt1 5682 12648(,)m 220 fnt2 +5786 12645(b)m 240 fnt1 5900 12648(,)m 220 fnt2 6003 12645(r)m +240 fnt1 6076 12648(,)m 6180(or)s 6435(of)s 6702(course)s +220 fnt2 7379 12645(d)m 240 fnt1 7545 12648(units,)m 8114(b)s 4(ut)k +8472(it)s 8660(may)s 0 12360(be)m 3(gin)k 577(with)s +220 fnt2 1050 12357(+)m 240 fnt1 1220 12360(or)m 220 fnt2 +1470 12357(-)m 240 fnt1 1584 12360(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 12072(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 12069(-)m +240 fnt1 2410 12072(will)m 2836(be)s 3118(silently)s 3875(replaced)s +4742(by)s 5036(zero.)s 480 11698(The)m 220 fnt2 913 11695(@CurrYUnit)m +240 fnt1 2159 11698(and)m 220 fnt2 2569 11695(@CurrZUnit)m 240 fnt1 +3803 11698(symbols)m 4658(report)s 5294(the)s 5648(v)s 6(alue)k +6222(of)s 6499(the)s 220 fnt2 6853 11695(y)m 240 fnt1 +7027 11698(and)m 220 fnt2 7437 11695(z)m 240 fnt1 7607 11698(units,)m +8185(in)s 8434(points,)s 0 11410(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 10909(1i @YUnit { )m 11(The current v)k 5(alue of the y unit is @CurrYUnit })k +240 fnt1 0 10411(produces)m 220 fnt2 480 9910(1i @YUnit { )m 11(The current v)k 5(alue of the y unit is @CurrYUnit })k +240 fnt1 0 9412(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 9038(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 8750(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 8462(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 7669(3.7.)m 471(@SetColour)s 1788(and)s +2229(@SetColor)s 240 fnt1 480 7237(The)m 220 fnt2 927 7234(@SetColour)m +240 fnt1 2204 7237(and)m 220 fnt2 2628 7234(@SetColor)m 240 fnt1 +3783 7237(symbols,)m 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 6949(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 11423(implementation-dependent;)m 2693(in)s 2954(Basser)s +7868(parameter)s 8916(is)s 0 6661(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 11135(w)m 2(ords)k +7719(a)s 7903(sequence)s 8855(of)s 0 6373(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 fnt35 480 10634({ 1.0 0.0 0.0 setrgbcolor } @SetColour { hello)m 8(, w)k 2(or)k -3(ld })k -240 fnt82 0 10135(produces)m 915(the)s 1263(red)s 1626(result)s -1.0 0.0 0.0 setrgbcolor 480 9632(hello,)m 1065(w)s 2(orld)k 0.0 0.0 0.0 setrgbcolor -0 9148(Of)m 322(course,)s 1050(a)s 1213(colour)s 1881(output)s +6152(e)s 3(xample,)k 220 fnt2 480 5872({ 1.0 0.0 0.0 setrgbcolor } @SetColour { hello)m 8(, w)k 2(or)k -3(ld })k +240 fnt1 0 5373(produces)m 915(the)s 1263(red)s 1626(result)s +1.0 0.0 0.0 setrgbcolor 480 4870(hello,)m 1065(w)s 2(orld)k 0.0 0.0 0.0 setrgbcolor +0 4386(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 8860(will)m 422(be)s 700(some)s 1257(shade)s +8536(result)s 0 4098(will)m 422(be)s 700(some)s 1257(shade)s 1854(of)s 2121(gre)s 3(y)k 15(.)k 2688(The)s -220 fnt35 3112 8857(@SetColour)m 240 fnt82 4365 8860(command)m 5363(will)s +220 fnt2 3112 4095(@SetColour)m 240 fnt1 4365 4098(command)m 5363(will)s 5785(not)s 6147(accept)s 6813(an)s 7092(empty)s 7740(left)s -8112(parameter)s 0 8572(\(it)m 273(refuses)s 1002(to)s 1243(belie)s 6(v)k 3(e)k +8112(parameter)s 0 3810(\(it)m 273(refuses)s 1002(to)s 1243(belie)s 6(v)k 3(e)k 1983(that)s 2403(this)s 2801(could)s 3393(cause)s 3983(a)s 4151(change)s 4887(of)s 5161(colour\),)s 5960(b)s 4(ut)k 6324(otherwise)s 7311(it)s 7506(trusts)s 8076(the)s 8426(user)s -8887(to)s 0 8284(supply)m 693(something)s 1743(sensible.)s 480 7910(The)m -220 fnt35 901 7907(@SetColour)m 240 fnt82 2151 7910(command)m 3145(accepts)s -3892(the)s 4232(special)s 4943(v)s 6(alue)k 220 fnt35 -5504 7907(nochange)m 240 fnt82 6512 7910(for)m 6843(the)s 7183(left)s -7553(parameter)s 13(.)k 8650(This)s 0 7622(v)m 6(alue)k +8887(to)s 0 3522(supply)m 693(something)s 1743(sensible.)s 480 3148(The)m +220 fnt2 901 3145(@SetColour)m 240 fnt1 2151 3148(command)m 3145(accepts)s +3892(the)s 4232(special)s 4943(v)s 6(alue)k 220 fnt2 +5504 3145(nochange)m 240 fnt1 6512 3148(for)m 6843(the)s 7183(left)s +7553(parameter)s 13(.)k 8650(This)s 0 2860(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 fnt35 7869 7619(@SetColour)m -240 fnt82 0 7334(command.)m 480 6960(There)m 1132(is)s 1382(no)s +6305(had)s 6716(without)s 7514(the)s 220 fnt2 7869 2857(@SetColour)m +240 fnt1 0 2572(command.)m 480 2198(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 6672(components)m -1208(is)s 1418(enclosed)s 2313(in)s 2556(a)s 220 fnt35 -2722 6669(@SetColour)m 240 fnt82 3979 6672(symbol)m 4739(whose)s 5407(left)s -5784(parameter)s 6798(is)s 7008(not)s 220 fnt35 7374 6669(nochange)m -240 fnt82 8330 6672(.)m 480 6298(Lout)m 1023(mak)s 2(es)k +7705(or)s 8004(each)s 8539(of)s 8850(its)s 0 1910(components)m +1208(is)s 1418(enclosed)s 2313(in)s 2556(a)s 220 fnt2 +2722 1907(@SetColour)m 240 fnt1 3979 1910(symbol)m 4739(whose)s 5407(left)s +5784(parameter)s 6798(is)s 7008(not)s 220 fnt2 7374 1907(nochange)m +240 fnt1 8330 1910(.)m 480 1536(Lout)m 1023(mak)s 2(es)k 1715(no)s 2039(attempt)s 2847(to)s 3117(understand)s 4257(colour)s 9(,)k 4998(it)s 5221(simply)s 5958(prints)s 6584(the)s 6964(PostScript)s -8038(commands)s 0 6010(when)m 601(appropriate.)s 1879(This)s 2381(has)s +8038(commands)s 0 1248(when)m 601(appropriate.)s 1879(This)s 2381(has)s 2776(the)s 3150(adv)s 6(antage)k 4196(of)s 4492(permitting)s 5566(access)s 6253(to)s 6517(an)s 3(y)k 6940(of)s -7237(PostScript')s 13(s)k 8455(colour)s 0 5722(models)m 768(\(some)s +7237(PostScript')s 13(s)k 8455(colour)s 0 960(models)m 768(\(some)s 1434(require)s 2192(initialization)s 3481(which)s 4149(can)s 4564(be)s -4872(supplied)s 5767(using)s 220 fnt35 6365 5719(@PrependGr)m 2(aphic)k -240 fnt82 8178 5722(\),)m 8390(b)s 4(ut)k 8778(the)s -0 5434(disadv)m 6(antage)k 1299(of)s 1570(of)s 6(fering)k +4872(supplied)s 5767(using)s 220 fnt2 6365 957(@PrependGr)m 2(aphic)k +240 fnt1 8178 960(\),)m 8390(b)s 4(ut)k 8778(the)s +0 672(disadv)m 6(antage)k 1299(of)s 1570(of)s 6(fering)k 2386(no)s 2679(w)s 2(ay)k 3130(to)s 3369(mak)s 2(e)k 3941(relati)s 6(v)k 3(e)k 4703(changes)s 5525(\(`as)s 5933(before)s 6599(only)s 7079(redder)s 9(,)k 16(')k -7836(and)s 8240(so)s 8506(on\).)s 480 5060(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 fnt35 6978 5057(setrgbcolor)m 240 fnt82 -8124 5060(command)m 0 4772(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 4484(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 4196(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 fnt35 -480 3631(1.0)m 838(0.0)s 1196(0.0)s 1554(setrgbcolor)s 240 fnt83 -2979 3636(r)m 8(ed)k 220 fnt35 480 3312(0.0)m 838(1.0)s -1196(0.0)s 1554(setrgbcolor)s 240 fnt83 2979 3317(gr)m 8(een)k -220 fnt35 480 2982(0.0)m 838(0.0)s 1196(1.0)s 1554(setrgbcolor)s -240 fnt83 2979 2987(blue)m 220 fnt35 480 2652(1.0)m 838(1.0)s -1196(1.0)s 1554(setrgbcolor)s 240 fnt83 2979 2657(white)m 220 fnt35 -480 2333(0.5)m 837(0.5)s 1194(0.5)s 1551(setrgbcolor)s 240 fnt83 -2979 2338(gr)m 8(e)k 7(y)k 220 fnt35 480 2003(0.0)m -838(0.0)s 1196(0.0)s 1554(setrgbcolor)s 240 fnt83 2979 2008(blac)m 4(k)k -240 fnt82 0 1447(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 1159(object.)m +7836(and)s 8240(so)s 8506(on\).)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -10104,124 +10604,117 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(46)m 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 +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(46)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt84 0 13203(3.8.)m -471(@Outline)s 240 fnt82 480 12771(The)m 220 fnt35 895 12768(@Outline)m -240 fnt82 1850 12771(symbol)m 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 fnt35 480 11982(@Outline @Bo)m 6(x 24p @F)k 6(ont HELP)k -240 fnt82 0 11486(produces)m 1336 461 72 180 240 288 60 480 10685 LoutGr2 +480 13205(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 13202(setrgbcolor)m 240 fnt1 +8124 13205(command)m 0 12917(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 12629(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 12341(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 11776(1.0)m 838(0.0)s 1196(0.0)s 1554(setrgbcolor)s 240 fnt6 +2979 11781(r)m 8(ed)k 220 fnt2 480 11457(0.0)m 838(1.0)s +1196(0.0)s 1554(setrgbcolor)s 240 fnt6 2979 11462(gr)m 8(een)k +220 fnt2 480 11127(0.0)m 838(0.0)s 1196(1.0)s 1554(setrgbcolor)s +240 fnt6 2979 11132(blue)m 220 fnt2 480 10797(1.0)m 838(1.0)s +1196(1.0)s 1554(setrgbcolor)s 240 fnt6 2979 10802(white)m 220 fnt2 +480 10478(0.5)m 837(0.5)s 1194(0.5)s 1551(setrgbcolor)s 240 fnt6 +2979 10483(gr)m 8(e)k 7(y)k 220 fnt2 480 10148(0.0)m +838(0.0)s 1196(0.0)s 1554(setrgbcolor)s 240 fnt6 2979 10153(blac)m 4(k)k +240 fnt1 0 9592(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 9304(object.)m 240 fnt5 +0 8511(3.8.)m 471(@Outline)s 240 fnt1 480 8079(The)m 220 fnt2 +895 8076(@Outline)m 240 fnt1 1850 8079(symbol)m 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 7791(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 7290(@Outline @Bo)m 6(x 24p @F)k 6(ont HELP)k +240 fnt1 0 6794(produces)m 1336 461 72 180 240 288 60 480 5993 LoutGr2 LoutBox stroke grestore -480 fnt82 72 72(HELP)mo +480 fnt1 72 72(HELP)mo grestore -0 10234(Outlining)m +0 5542(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 +8441(and)s 8860(so)s 0 5254(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 +7573(time)s 8055(of)s 8329(writing,)s 0 4966(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 fnt35 5475 9655(@Outline)m 240 fnt82 6439 9658(has)m +5077(and)s 220 fnt2 5475 4963(@Outline)m 240 fnt1 6439 4966(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 +8410(output.)s 0 4678(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 +0 4390(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 fnt84 0 8289(3.9.)m 471(@Language)s 1762(and)s 2203(@CurrLang)s -240 fnt82 480 7812(The)m 220 fnt35 905 7809(@Language)m 240 fnt82 -2153 7812(symbol)m 2910(informs)s 3701(Lout)s 4210(that)s 4625(its)s +240 fnt5 0 3597(3.9.)m 471(@Language)s 1762(and)s 2203(@CurrLang)s +240 fnt1 480 3120(The)m 220 fnt2 905 3117(@Language)m 240 fnt1 +2153 3120(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 7354(in)s -7594(the)s 7939(language)s 8855(of)s 0 7524(its)m 276(left)s -653(parameter:)s 220 fnt35 480 7023(Danish @Language { ...)m 13( })k 240 fnt82 -0 6524(Basser)m 706(Lout)s 1228(V)s 26(ersion)k 2025(3)s +7594(the)s 7939(language)s 8855(of)s 0 2832(its)m 276(left)s +653(parameter:)s 220 fnt2 480 2331(Danish @Language { ...)m 13( })k 240 fnt1 +0 1832(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 +6906(w)s 2(ords)k 7549(appropriately)s 8887(to)s 0 1544(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 fnt35 -4301 6233(@CurrLang)m 240 fnt82 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 +3114(v)s 6(alue)k 3682(of)s 3953(the)s 220 fnt2 +4301 1541(@CurrLang)m 240 fnt1 5486 1544(symbol)m 6246(\(see)s 6686(belo)s 6(w\).)k +7508(Other)s 8112(uses,)s 8630(such)s 0 1256(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 +480 882(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 fnt35 4586 5283(langdef)m 240 fnt82 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 fnt35 480 4490(langdef Danish Dansk {)m 240 fnt83 -2993 4495(implementation-dependent)m 220 fnt35 5608 4490(})m 240 fnt82 0 3991(After)m -220 fnt35 571 3988(langdef)m 240 fnt82 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 fnt35 480 2339(langdef English { english .)m 13( :)k 11( ? ! .\) ?\) !\) })k -240 fnt82 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 fnt35 6298 1837(english.lh)m 240 fnt82 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 fnt35 -5099 1261(-)m 240 fnt82 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 fnt35 913 599(@CurrLang)m -240 fnt82 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 7365(name)s 7944(gi)s 6(v)k 3(en)k -8529(in)s 8778(the)s 220 fnt35 0 311(langdef)m 240 fnt82 -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 +8206(language)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore grestore @@ -10240,66 +10733,163 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1580(3.9.)m 1871(@Langua)s 2(g)k 2(e)k +3099(and)s 3525(@CurrLang)s 240 fnt5 10248 -1583(47)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13843(3.9.)m 454(@Langua)s 2(g)k 2(e)k -1682(and)s 2108(@CurrLang)s 240 fnt84 8831 13840(47)m 220 fnt35 -480 13207(Dansk @Language { )m 11(This is @CurrLang.)k 13( })k 240 fnt82 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 fnt35 2632 11799(@Case)m 240 fnt82 3419 11802(symbol)m 4179(lik)s 2(e)k -4591(this:)s 220 fnt35 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 fnt82 -0 9655(This)m 476(e)s 3(xample)k 1339(e)s 6(v)k 6(aluates)k +0 13205(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 13202(langdef)m 240 fnt1 5363 13205(language)m +6285(de\207nition)s 7261(at)s 7495(the)s 7845(be)s 3(ginning)k +8855(of)s 0 12917(the)m 348(input:)s 220 fnt2 480 12409(langdef Danish Dansk {)m +240 fnt6 2993 12414(implementation-dependent)m 220 fnt2 5608 12409(})m 240 fnt1 +0 11910(After)m 220 fnt2 571 11907(langdef)m 240 fnt1 1355 11910(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 11622(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 11334(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 11046(\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 10758(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 10258(langdef English { english .)m 13( :)k 11( ? ! .\) ?\) !\) })k 240 fnt1 +0 9759(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 9756(english.lh)m 240 fnt1 7289 9759(and)m 7713(se)s 6(v)k 3(en)k +8326(w)s 2(ays)k 8887(to)s 0 9471(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 9183(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 9180(-)m 240 fnt1 5219 9183(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 8895(ends,)m 546(the)s 3(y)k +1009(are)s 1356(simply)s 2061(omitted.)s 480 8521(The)m 220 fnt2 +913 8518(@CurrLang)m 240 fnt1 2103 8521(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 7365(name)s 7944(gi)s 6(v)k 3(en)k +8529(in)s 8778(the)s 220 fnt2 0 8230(langdef)m 240 fnt1 +776 8233(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 7732(Dansk @Language { )m 11(This is @CurrLang.)k 13( })k 240 fnt1 +0 7233(has)m 370(result)s 480 6780(This)m 956(is)s 1166(Danish.)s +0 6327(It)m 205(is)s 415(typically)s 1305(used)s 1802(with)s +2284(the)s 220 fnt2 2632 6324(@Case)m 240 fnt1 3419 6327(symbol)m +4179(lik)s 2(e)k 4591(this:)s 220 fnt2 480 5826(@CurrLang @Case {)m +480 5538( Danish @Y)m 4(ield tirsdag)k 480 5250( English @Y)m 4(ield )k 11(T)k 26(uesda)k 6(y)k +480 4962( F)m 9(rench @Y)k 4(ield Mardi)k 480 4674(})m 240 fnt1 +0 4180(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 +6141(in)s 6384(the)s 6732(current)s 7468(language.)s 480 3806(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 +7125(e)s 3(xplained)k 8110(in)s 8352(Section)s 0 3518(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 +0 3230(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 +0 2942(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 fnt35 7183 8414(@Language)m 240 fnt82 -8374 8417(.)m 240 fnt84 0 7624(3.10.)m 591(@OneCol)s 1653(and)s -2094(@OneRo)s 2(w)k 240 fnt82 480 7192(The)m 220 fnt35 -913 7189(@OneRo)m 3(w)k 240 fnt82 2049 7192(symbol)m 2814(returns)s +5890(French)s 6611(using)s 220 fnt2 7183 2939(@Language)m 240 fnt1 +8374 2942(.)m 240 fnt5 0 2149(3.10.)m 591(@OneCol)s 1653(and)s +2094(@OneRo)s 2(w)k 240 fnt1 480 1717(The)m 220 fnt2 +913 1714(@OneRo)m 3(w)k 240 fnt1 2049 1717(symbol)m 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 +0 1429(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 fnt35 674 6613(^/)m 240 fnt82 901 6616(or)m -220 fnt35 1160 6613(^//)m 240 fnt82 1388 6616(.)m 1552(F)s 3(or)k -1941(e)s 3(xample,)k 220 fnt35 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 fnt82 0 5619(has)m 370(result)s 468 371 0 188 240 288 60 480 4640 LoutGr2 +6869(be)s 7139(chosen)s 7849(by)s 8130(preceding)s 0 1141(it)m +192(with)s 220 fnt2 674 1138(^/)m 240 fnt1 901 1141(or)m +220 fnt2 1160 1138(^//)m 240 fnt1 1388 1141(.)m 1552(F)s 3(or)k +1941(e)s 3(xample,)k 220 fnt2 480 640(@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 + +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 48 54 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Times-Italic +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +240 fnt5 1417 -1583(48)m 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 +gsave +0 LoutMargSet +grestore +0 13205(has)m 370(result)s +468 371 0 188 240 288 60 480 12226 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 468 371 0 188 240 288 60 0 0 LoutGr2 @@ -10317,8 +10907,8 @@ xmark -0.3 cm xmark ysize 0 0.3 cm lfigpadd ] lfigdopath pop pop grestore -240 fnt83 0 211(x)m -240 fnt82 166 209(+)m 354(2)s 468 0 0 0 240 288 60 0 188 LoutGr2 +240 fnt6 0 211(x)m 240 fnt1 166 209(+)m 354(2)s +468 0 0 0 240 288 60 0 188 LoutGr2 0 0 moveto xsize 0 lineto stroke grestore @@ -10329,12 +10919,12 @@ grestore grestore end end restore grestore -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 fnt35 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 fnt82 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 +0 11510(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 11009(@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 10513(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 9534 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 468 371 0 263 240 288 60 0 0 LoutGr2 @@ -10352,8 +10942,8 @@ xmark -0.3 cm xmark ysize 0 0.3 cm lfigpadd ] lfigdopath pop pop grestore -240 fnt83 0 211(x)m -240 fnt82 166 209(+)m 354(2)s 468 0 0 0 240 288 60 0 188 LoutGr2 +240 fnt6 0 211(x)m +240 fnt1 166 209(+)m 354(2)s 468 0 0 0 240 288 60 0 188 LoutGr2 0 0 moveto xsize 0 lineto stroke grestore @@ -10364,15 +10954,82 @@ grestore grestore end end restore grestore -220 fnt35 -0 1494(@OneCol)m 240 fnt82 1016 1497(has)m 1391(the)s 1744(same)s +220 fnt2 +0 9080(@OneCol)m 240 fnt1 1016 9083(has)m 1391(the)s 1744(same)s 2296(ef)s 6(fect)k 2897(on)s 3198(columns)s 4065(as)s -220 fnt35 4320 1494(@OneRo)m 3(w)k 240 fnt82 5456 1497(does)m +220 fnt2 4320 9080(@OneRo)m 3(w)k 240 fnt1 5456 9083(does)m 5951(on)s 6252(ro)s 6(ws,)k 6823(with)s 7310(the)s -7663(symbols)s 220 fnt35 8517 1494(^|)m 240 fnt82 8722 1497(and)m -220 fnt35 0 1206(^||)m 240 fnt82 257 1209(\(or)m 220 fnt35 -595 1206(^&)m 240 fnt82 840 1209(\))m 968(determining)s 2176(which)s -2818(mark)s 3370(is)s 3580(chosen.)s +7663(symbols)s 220 fnt2 8517 9080(^|)m 240 fnt1 8722 9083(and)m +220 fnt2 0 8792(^||)m 240 fnt1 257 8795(\(or)m 220 fnt2 +595 8792(^&)m 240 fnt1 840 8795(\))m 968(determining)s 2176(which)s +2818(mark)s 3370(is)s 3580(chosen.)s 240 fnt5 0 8002(3.11.)m +591(@W)s 4(ide)k 1411(and)s 1852(@High)s 240 fnt1 +480 7525(The)m 220 fnt2 910 7522(@Wide)m 240 fnt1 1687 7525(symbol)m +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 7237(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 7234(c)m 240 fnt1 7707 7237(,)m +220 fnt2 7821 7234(i)m 240 fnt1 7855 7237(,)m 220 fnt2 +7968 7234(p)m 240 fnt1 8082 7237(,)m 220 fnt2 8196 7234(m)m +240 fnt1 8365 7237(,)m 220 fnt2 8478 7234(f)m 240 fnt1 +8536 7237(,)m 220 fnt2 8650 7234(s)m 240 fnt1 8753 7237(,)m +8867(or)s 220 fnt2 0 6946(v)m 240 fnt1 109 6949(.)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 6661(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 6658(@OneCol)m 240 fnt1 7046 6661(operation)m 8020(is)s 8244(included)s +0 6373(in)m 257(the)s 620(ef)s 6(fect)k 1231(of)s +220 fnt2 1517 6370(@Wide)m 240 fnt1 2231 6373(,)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 6085(column)m 775(marks.)s 552 5711(The)m +220 fnt2 993 5708(@High)m 240 fnt1 1725 5711(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 5423(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 5420(@OneRo)m 3(w)k 240 fnt1 0 5135(operation)m +960(is)s 1170(included.)s 240 fnt5 0 4342(3.12.)m 591(@HShift)s +1550(and)s 1991(@VShift)s 240 fnt1 480 3910(The)m 220 fnt2 +917 3907(@HShift)m 240 fnt1 1802 3910(symbol)m 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 3622(by)m 294(its)s +570(left)s 947(parameter:)s 220 fnt2 1124 3114(+)m 240 fnt6 +1244 3119(length)m 220 fnt2 1897 3114(@HShift)m 240 fnt6 2772 3119(object)m +240 fnt1 3600 3117(Principal)m 4517(mark)s 5069(shifted)s 5777(to)s +6016(the)s 6364(right)s 6875(by)s 240 fnt6 7169 3119(length)m +240 fnt1 7762 3117(;)m 220 fnt2 1180 2609(-)m 240 fnt6 +1244 2614(length)m 220 fnt2 1897 2609(@HShift)m 240 fnt6 2772 2614(object)m +240 fnt1 3600 2612(Principal)m 4517(mark)s 5069(shifted)s 5777(to)s +6016(the)s 6364(left)s 6741(by)s 240 fnt6 7035 2614(length)m +240 fnt1 7628 2612(;)m 240 fnt6 1244 2109(length)m 220 fnt2 +1897 2104(@HShift)m 240 fnt6 2772 2109(object)m 240 fnt1 3600 2107(Principal)m +4512(mark)s 5058(shifted)s 5760(so)s 6020(as)s 6264(to)s +6497(lie)s 240 fnt6 6786 2109(length)m 240 fnt1 7433 2107(to)m +7666(the)s 8008(right)s 8513(of)s 8778(the)s 3600 1819(left)m +3977(edge)s 4485(of)s 240 fnt6 4756 1821(object)m 240 fnt1 +5344 1819(;)m 0 1316(In)m 256(each)s 751(chase)s 220 fnt2 +1338 1313(@HShift)m 240 fnt1 2213 1316(includes)m 3061(a)s 220 fnt2 +3227 1313(@OneCol)m 240 fnt1 4239 1316(ef)m 6(fect.)k +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -10382,155 +11039,151 @@ grestore pgsave restore showpage -%%Page: 48 54 +%%Page: 49 55 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(3.13.)m 1991(@HExpand)s 3182(and)s 3608(@VExpand)s +240 fnt5 10249 -1583(49)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13257 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(48)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt84 0 13203(3.11.)m -591(@W)s 4(ide)k 1411(and)s 1852(@High)s 240 fnt82 -480 12726(The)m 220 fnt35 910 12723(@Wide)m 240 fnt82 1687 12726(symbol)m -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 fnt35 7602 12435(c)m 240 fnt82 7707 12438(,)m -220 fnt35 7821 12435(i)m 240 fnt82 7855 12438(,)m 220 fnt35 -7968 12435(p)m 240 fnt82 8082 12438(,)m 220 fnt35 8196 12435(m)m -240 fnt82 8365 12438(,)m 220 fnt35 8478 12435(f)m 240 fnt82 -8536 12438(,)m 220 fnt35 8650 12435(s)m 240 fnt82 8753 12438(,)m -8867(or)s 220 fnt35 0 12147(v)m 240 fnt82 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 fnt35 -6021 11859(@OneCol)m 240 fnt82 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 fnt35 1517 11571(@Wide)m 240 fnt82 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 552 10912(The)m -220 fnt35 993 10909(@High)m 240 fnt82 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 fnt35 7995 10621(@OneRo)m 3(w)k 240 fnt82 0 10336(operation)m -960(is)s 1170(included.)s 240 fnt84 0 9543(3.12.)m 591(@HShift)s -1550(and)s 1991(@VShift)s 240 fnt82 480 9111(The)m 220 fnt35 -917 9108(@HShift)m 240 fnt82 1802 9111(symbol)m 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 fnt35 1124 8315(+)m 240 fnt83 -1244 8320(length)m 220 fnt35 1897 8315(@HShift)m 240 fnt83 2772 8320(object)m -240 fnt82 3600 8318(Principal)m 4517(mark)s 5069(shifted)s 5777(to)s -6016(the)s 6364(right)s 6875(by)s 240 fnt83 7169 8320(length)m -240 fnt82 7762 8318(;)m 220 fnt35 1180 7810(-)m 240 fnt83 -1244 7815(length)m 220 fnt35 1897 7810(@HShift)m 240 fnt83 2772 7815(object)m -240 fnt82 3600 7813(Principal)m 4517(mark)s 5069(shifted)s 5777(to)s -6016(the)s 6364(left)s 6741(by)s 240 fnt83 7035 7815(length)m -240 fnt82 7628 7813(;)m 240 fnt83 1244 7310(length)m 220 fnt35 -1897 7305(@HShift)m 240 fnt83 2772 7310(object)m 240 fnt82 3600 7308(Principal)m -4512(mark)s 5058(shifted)s 5760(so)s 6020(as)s 6264(to)s -6497(lie)s 240 fnt83 6786 7310(length)m 240 fnt82 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 fnt83 4756 7022(object)m 240 fnt82 -5344 7020(;)m 0 6517(In)m 256(each)s 751(chase)s 220 fnt35 -1338 6514(@HShift)m 240 fnt82 2213 6517(includes)m 3061(a)s 220 fnt35 -3227 6514(@OneCol)m 240 fnt82 4239 6517(ef)m 6(fect.)k 480 6143(The)m -916(units)s 1440(of)s 1720(measurement)s 3062(of)s 240 fnt83 -3342 6145(length)m 240 fnt82 4003 6143(may)m 4478(be)s 220 fnt35 -4768 6140(c)m 240 fnt82 4873 6143(,)m 220 fnt35 4989 6140(i)m -240 fnt82 5023 6143(,)m 220 fnt35 5138 6140(p)m 240 fnt82 -5252 6143(,)m 220 fnt35 5368 6140(m)m 240 fnt82 5537 6143(,)m -220 fnt35 5652 6140(f)m 240 fnt82 5710 6143(,)m 220 fnt35 -5825 6140(s)m 240 fnt82 5928 6143(,)m 220 fnt35 6044 6140(v)m -240 fnt82 6153 6143(,)m 6268(or)s 220 fnt35 6536 6140(w)m -240 fnt82 6692 6143(.)m 6864(In)s 7129(the)s 7485(latter)s -8043(case,)s 220 fnt35 8569 6140(1w)m 240 fnt82 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 fnt35 6294 5852(0.5w @HShift)m 240 fnt82 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 548 5193(The)m -220 fnt35 984 5190(@VShift)m 240 fnt82 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 fnt35 -0 4902(+)m 240 fnt83 120 4907(length)m 240 fnt82 771 4905(shifts)m -1337(it)s 1527(do)s 6(wn,)k 220 fnt35 2159 4902(-)m -240 fnt83 2223 4907(length)m 240 fnt82 2874 4905(shifts)m 3440(it)s -3629(up,)s 3974(and)s 240 fnt83 4376 4907(length)m 240 fnt82 -5027 4905(shifts)m 5593(it)s 5783(to)s 240 fnt83 6019 4907(length)m -240 fnt82 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 fnt35 1274 4614(@VShift)m 240 fnt82 2077 4617(,)m 220 fnt35 -2184 4614(1w)m 240 fnt82 2522 4617(is)m 2732(tak)s 2(en)k +480 13203(The)m 916(units)s 1440(of)s +1720(measurement)s 3062(of)s 240 fnt6 3342 13205(length)m 240 fnt1 +4003 13203(may)m 4478(be)s 220 fnt2 4768 13200(c)m 240 fnt1 +4873 13203(,)m 220 fnt2 4989 13200(i)m 240 fnt1 5023 13203(,)m +220 fnt2 5138 13200(p)m 240 fnt1 5252 13203(,)m 220 fnt2 +5368 13200(m)m 240 fnt1 5537 13203(,)m 220 fnt2 5652 13200(f)m +240 fnt1 5710 13203(,)m 220 fnt2 5825 13200(s)m 240 fnt1 +5928 13203(,)m 220 fnt2 6044 13200(v)m 240 fnt1 6153 13203(,)m +6268(or)s 220 fnt2 6536 13200(w)m 240 fnt1 6692 13203(.)m +6864(In)s 7129(the)s 7485(latter)s 8043(case,)s 220 fnt2 +8569 13200(1w)m 240 fnt1 8916 13203(is)m 0 12915(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 12912(0.5w @HShift)m 240 fnt1 7699 12915(will)m 8132(centre)s 8778(the)s +0 12627(principal)m 904(column)s 1679(mark)s 2231(within)s 2899(the)s +3247(right)s 3758(parameter)s 13(.)k 548 12253(The)m 220 fnt2 +984 12250(@VShift)m 240 fnt1 1855 12253(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 11962(+)m +240 fnt6 120 11967(length)m 240 fnt1 771 11965(shifts)m 1337(it)s +1527(do)s 6(wn,)k 220 fnt2 2159 11962(-)m 240 fnt6 +2223 11967(length)m 240 fnt1 2874 11965(shifts)m 3440(it)s 3629(up,)s +3974(and)s 240 fnt6 4376 11967(length)m 240 fnt1 5027 11965(shifts)m +5593(it)s 5783(to)s 240 fnt6 6019 11967(length)m 240 fnt1 +6670 11965(belo)m 6(w)k 7301(the)s 7647(top)s 8004(edge)s +8510(of)s 8778(the)s 0 11677(object.)m 748(W)s 9(ith)k +220 fnt2 1274 11674(@VShift)m 240 fnt1 2077 11677(,)m 220 fnt2 +2184 11674(1w)m 240 fnt1 2522 11677(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 fnt84 -0 3824(3.13.)m 591(@HExpand)s 1854(and)s 2295(@VExpand)s 240 fnt82 -558 3347(The)m 220 fnt35 1004 3344(@HExpand)m 240 fnt82 2195 3347(symbol)m +5103(the)s 5451(right)s 5962(parameter)s 13(.)k 240 fnt5 +0 10884(3.13.)m 591(@HExpand)s 1854(and)s 2295(@VExpand)s 240 fnt1 +558 10407(The)m 220 fnt2 1004 10404(@HExpand)m 240 fnt1 2195 10407(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 3059(without)m 784(violating)s -1679(a)s 220 fnt35 1837 3056(@Wide)m 240 fnt82 2603 3059(symbol)m +7365(possibly)s 8235(could)s 8844(be)s 0 10119(without)m 784(violating)s +1679(a)s 220 fnt2 1837 10116(@Wide)m 240 fnt1 2603 10119(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 2771(objects.)m 841(The)s 220 fnt35 1269 2768(@VExpand)m -240 fnt82 2430 2771(symbol)m 3190(is)s 3400(similar)s 9(,)k +8867(or)s 0 9831(objects.)m 841(The)s 220 fnt2 1269 9828(@VExpand)m +240 fnt1 2430 9831(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 fnt35 480 2270(8i @Wide 11i @High {)m -480 1982( //1i ||1i @HExpand @VExpand x ||1i)m 480 1694( //1i)m 480 1406(})m 240 fnt82 0 912(object)m -220 fnt35 655 909(x)m 240 fnt82 834 912(could)m 1435(ha)s 4(v)k 3(e)k +7459(in)s 7702(the)s 8050(object)s 220 fnt2 480 9330(8i @Wide 11i @High {)m +480 9042( //1i ||1i @HExpand @VExpand x ||1i)m 480 8754( //1i)m 480 8466(})m 240 fnt1 0 7972(object)m +220 fnt2 655 7969(x)m 240 fnt1 834 7972(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 fnt35 -7537 909(@HExpand)m 240 fnt82 8722 912(and)m 220 fnt35 0 621(@VExpand)m -240 fnt82 1166 624(symbols)m 2021(cause)s 2614(it)s 2812(to)s +5683(inches)s 6357(high,)s 6901(so)s 7178(the)s 220 fnt2 +7537 7969(@HExpand)m 240 fnt1 8722 7972(and)m 220 fnt2 0 7681(@VExpand)m +240 fnt1 1166 7684(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 fnt35 -8481 621(x)m 240 fnt82 8655 624(con)m 8998(-)s 0 336(tains)m -220 fnt35 502 333(|1r)m -8(t)k 240 fnt82 879 336(or)m -220 fnt35 1138 333(/1r)m -8(t)k 240 fnt82 1459 336(;)m +6994(for)s 7338(e)s 3(xample,)k 8258(if)s 220 fnt2 +8481 7681(x)m 240 fnt1 8655 7684(con)m 8998(-)s 0 7396(tains)m +220 fnt2 502 7393(|1r)m -8(t)k 240 fnt1 879 7396(or)m +220 fnt2 1138 7393(/1r)m -8(t)k 240 fnt1 1459 7396(;)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 7022(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 6734(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 6731(@HExpand)m +240 fnt1 6493 6734(includes)m 7329(a)s 220 fnt2 7483 6731(@OneCol)m +240 fnt1 8483 6734(ef)m 6(fect,)k 0 6446(and)m 220 fnt2 +404 6443(@VExpand)m 240 fnt1 1565 6446(includes)m 2413(a)s 220 fnt2 +2579 6443(@OneRo)m 3(w)k 240 fnt1 3710 6446(ef)m 6(fect.)k +240 fnt5 0 5657(3.14.)m 591(@HContract)s 1976(and)s 2417(@VContract)s +240 fnt1 542 5225(The)m 220 fnt2 972 5222(@HContr)m 2(act)k +240 fnt1 2239 5225(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 4937(\(after)m 575(paragraph)s +1588(breaking\).)s 2668(F)s 3(or)k 3057(e)s 3(xample,)k +220 fnt2 480 4436(5i @Wide @HContr)m 2(act { A |1r)k -8(t B })k 240 fnt1 +0 3942(has)m 370(result)s 480 3491(A)m 650(B)s 0 3040(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 3037(@VContr)m 2(act)k 240 fnt1 +8167 3040(is)m 8366(similar)s 9(,)k 0 2752(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 2008(3.15.)m 591(@HLimited)s 1864(and)s +2305(@VLimited)s 240 fnt1 579 1576(The)m 220 fnt2 1047 1573(@HLimited)m +240 fnt1 2221 1576(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 1288(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 997(@HLimited)m +240 fnt1 1138 1000(object.)m 1890(So)s 2199(this)s 2599(symbol)s +3362(acts)s 3788(lik)s 2(e)k 220 fnt2 4204 997(@Wide)m +240 fnt1 4981 1000(with)m 5467(respect)s 6206(to)s 6449(limiting)s +7261(the)s 7613(space)s 8204(occupied)s 0 712(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 424(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 + +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore grestore @@ -10541,122 +11194,130 @@ grestore pgsave restore showpage -%%Page: 49 55 +%%Page: 50 56 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(50)m 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 +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(3.13.)m 574(@HExpand)s 1765(and)s 2191(@VExpand)s -240 fnt84 8832 13840(49)m 240 fnt82 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 fnt35 5331 12913(@HExpand)m 240 fnt82 6493 12916(includes)m 7329(a)s -220 fnt35 7483 12913(@OneCol)m 240 fnt82 8483 12916(ef)m 6(fect,)k -0 12628(and)m 220 fnt35 404 12625(@VExpand)m 240 fnt82 1565 12628(includes)m -2413(a)s 220 fnt35 2579 12625(@OneRo)m 3(w)k 240 fnt82 -3710 12628(ef)m 6(fect.)k 240 fnt84 0 11839(3.14.)m 591(@HContract)s -1976(and)s 2417(@VContract)s 240 fnt82 542 11407(The)m 220 fnt35 -972 11404(@HContr)m 2(act)k 240 fnt82 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 fnt35 480 10618(5i @Wide @HContr)m 2(act { A |1r)k -8(t B })k -240 fnt82 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 fnt35 -6926 9219(@VContr)m 2(act)k 240 fnt82 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 fnt84 0 8190(3.15.)m 591(@HLimited)s 1864(and)s -2305(@VLimited)s 240 fnt82 579 7758(The)m 220 fnt35 1047 7755(@HLimited)m -240 fnt82 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 fnt35 0 7179(@HLimited)m -240 fnt82 1138 7182(object.)m 1890(So)s 2199(this)s 2599(symbol)s -3362(acts)s 3788(lik)s 2(e)k 220 fnt35 4204 7179(@Wide)m -240 fnt82 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 fnt35 904 6229(@VLimited)m 240 fnt82 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 5944(izontally)m 15(.)k 240 fnt84 0 5151(3.16.)m -591(@HAdjust,)s 1804(@V)s 32(Adjust,)k 2972(and)s 3413(@P)s 17(Adjust)k -240 fnt82 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 4387(to)m 268(it;)s 220 fnt35 602 4384(@HAdjust)m 240 fnt82 -1678 4387(adjusts)m 220 fnt35 2422 4384(|)m 240 fnt82 2549 4387(sequences,)m -220 fnt35 3656 4384(@V)m 17(Adjust)k 240 fnt82 4702 4387(adjusts)m -220 fnt35 5447 4384(/)m 240 fnt82 5601 4387(sequences,)m 6707(and)s -220 fnt35 7141 4384(@P)m 26(Adjust)k 240 fnt82 8179 4387(adjusts)m -220 fnt35 8924 4384(&)m 240 fnt82 0 4099(sequences.)m 1134(F)s 3(or)k -1523(e)s 3(xample,)k 220 fnt35 480 3598(4i @Wide @P)m 26(Adjust { 1 2 3 4 5 6 7 8 })k -240 fnt82 0 3101(has)m 370(result)s 480 2646(1)m 1274(2)s +480 13205(The)m 220 fnt2 +904 13202(@VLimited)m 240 fnt1 2022 13205(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 12917(izontally)m 15(.)k +240 fnt5 0 12124(3.16.)m 591(@HAdjust,)s 1804(@V)s 32(Adjust,)k +2972(and)s 3413(@P)s 17(Adjust)k 240 fnt1 551 11648(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 11360(to)m 268(it;)s 220 fnt2 602 11357(@HAdjust)m 240 fnt1 +1678 11360(adjusts)m 220 fnt2 2422 11357(|)m 240 fnt1 2549 11360(sequences,)m +220 fnt2 3656 11357(@V)m 17(Adjust)k 240 fnt1 4702 11360(adjusts)m +220 fnt2 5447 11357(/)m 240 fnt1 5601 11360(sequences,)m 6707(and)s +220 fnt2 7141 11357(@P)m 26(Adjust)k 240 fnt1 8179 11360(adjusts)m +220 fnt2 8924 11357(&)m 240 fnt1 0 11072(sequences.)m 1134(F)s 3(or)k +1523(e)s 3(xample,)k 220 fnt2 480 10571(4i @Wide @P)m 26(Adjust { 1 2 3 4 5 6 7 8 })k +240 fnt1 0 10074(has)m 370(result)s 480 9619(1)m 1274(2)s 2088(3)s 2892(4)s 3706(5)s 4512(6)s 5325(7)s -6133(8)s 0 2192(More)m 571(precisely)s 15(,)k 1521(the)s +6133(8)s 0 9165(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 1904(by)m 284(an)s 556(equal)s 1118(fraction)s +8735(last)s 0 8877(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 1616(procedure,)m 1063(which)s 1705(assigns)s +8229(the)s 8566(usual)s 0 8589(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 fnt35 480 1239(@P)m 26(Adjust)k -240 fnt82 1497 1242(is)m 1716(used)s 2222(by)s 2525(the)s -220 fnt35 2883 1239(adjust)m 240 fnt82 3533 1242(and)m 220 fnt35 -3946 1239(outdent)m 240 fnt82 4743 1242(options)m 5508(of)s 5789(the)s -220 fnt35 6146 1239(@Break)m 240 fnt82 7011 1242(symbol)m 7780(\(Section)s -8643(3.4\).)s 0 954(It)m 213(has)s 591(a)s 765(slight)s +6573(\(Section)s 7426(2.6\).)s 220 fnt2 480 8212(@P)m 26(Adjust)k +240 fnt1 1497 8215(is)m 1716(used)s 2222(by)s 2525(the)s +220 fnt2 2883 8212(adjust)m 240 fnt1 3533 8215(and)m 220 fnt2 +3946 8212(outdent)m 240 fnt1 4743 8215(options)m 5508(of)s 5789(the)s +220 fnt2 6146 8212(@Break)m 240 fnt1 7011 8215(symbol)m 7780(\(Section)s +8643(3.4\).)s 0 7927(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 666(has)m 398(width)s 1029(0.)s +8728(g)s 1(ap)k 0 7639(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 378(immediately)m 1248(follo)s 6(wing)k 2225(comma.)s +8843(an)s 0 7351(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 6558(3.17.)m 591(@HScale)s 1587(and)s 2028(@VScale)s +220 fnt2 538 6123(@HScale)m 240 fnt1 1516 6126(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 5838(scaling)m 730(it:)s 220 fnt2 +480 5337(4i @Wide @HScale { 1 2 3 4 5 6 7 8 })m 240 fnt1 0 4843(has)m 370(result)s gsave +480 0 translate +4.4965 1.0000 scale +0 4388(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 3934(and)m 220 fnt2 480 3483(0.5i @Wide @HScale { 1 2 3 4 5 6 7 8 })m +240 fnt1 0 2989(has)m 370(result)s gsave +480 0 translate +0.5621 1.0000 scale +0 2534(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 2077(@HScale)m 240 fnt1 980 2080(\207rst)m +1409(applies)s 220 fnt2 2136 2077(@HContr)m 2(act)k 240 fnt1 +3398 2080(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 1792(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 1504(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 1216(principal)m 904(mark)s 1456(only)s 1936(causes)s 2611(trouble)s +3344(in)s 3587(practice.\))s 220 fnt2 480 839(@VScale)m 240 fnt1 +1460 842(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 839(@HScale)m 240 fnt1 6051 842(and)m 220 fnt2 +6467 839(@VScale)m 240 fnt1 7447 842(each)m 7953(ha)s 4(v)k 3(e)k +8465(both)s 8960(a)s 220 fnt2 0 551(@OneCol)m 240 fnt1 +1012 554(and)m 1416(a)s 220 fnt2 1582 551(@OneRo)m 3(w)k +240 fnt1 2713 554(ef)m 6(fect.)k +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore grestore @@ -10667,85 +11328,48 @@ grestore pgsave restore showpage -%%Page: 50 56 +%%Page: 51 57 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet -grestore -240 fnt84 0 13840(50)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt84 0 13203(3.17.)m -591(@HScale)s 1587(and)s 2028(@VScale)s 220 fnt35 538 12768(@HScale)m -240 fnt82 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 fnt35 -480 11982(4i @Wide @HScale { 1 2 3 4 5 6 7 8 })m 240 fnt82 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 fnt35 480 10128(0.5i @Wide @HScale { 1 2 3 4 5 6 7 8 })m -240 fnt82 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 +240 fnt6 1417 -1580(3.18.)m 1991(@HCo)s 2(ver)k 3032(and)s +3458(@VCo)s 2(ver)k 240 fnt5 10256 -1583(51)m gsave +1417 -15423 translate +240 fnt1 9066 13413 0 13413 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -220 fnt35 0 8722(@HScale)m 240 fnt82 980 8725(\207rst)m -1409(applies)s 220 fnt35 2136 8722(@HContr)m 2(act)k 240 fnt82 -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 fnt35 480 7484(@VScale)m 240 fnt82 -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 fnt35 5059 7484(@HScale)m 240 fnt82 6051 7487(and)m 220 fnt35 -6467 7484(@VScale)m 240 fnt82 7447 7487(each)m 7953(ha)s 4(v)k 3(e)k -8465(both)s 8960(a)s 220 fnt35 0 7196(@OneCol)m 240 fnt82 -1012 7199(and)m 1416(a)s 220 fnt35 1582 7196(@OneRo)m 3(w)k -240 fnt82 2713 7199(ef)m 6(fect.)k 240 fnt84 0 6451(3.18.)m -591(@HCo)s 2(v)k 2(er)k 1679(and)s 2120(@VCo)s 2(v)k 2(er)k -240 fnt82 529 6019(The)m 220 fnt35 946 6016(@VCo)m 3(v)k 5(er)k -240 fnt82 1941 6019(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 5731(shares)m 648(its)s 924(ro)s 6(w)k +240 fnt5 +0 13248(3.18.)m 591(@HCo)s 2(v)k 2(er)k 1679(and)s +2120(@VCo)s 2(v)k 2(er)k 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 fnt35 480 5230(@VCo)m 3(v)k 5(er \( 45d @Rotate Hello @VCo)k 3(v)k 5(er \))k -240 fnt82 0 4734(produces)m 748 843 0 396 240 288 60 480 3551 LoutGr2 +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 @@ -10775,11 +11399,11 @@ grestore grestore end end restore grestore -0 3100(The)m 428(ro)s 6(w)k 848(mark)s 1400(has)s +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 fnt35 -480 2599(@VScale \( 45d @Rotate Hello @VScale \))m 240 fnt82 0 2103(which)m 642(produces)s 748 486 0 39 240 288 60 480 1277 LoutGr2 +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 @@ -10809,186 +11433,84 @@ grestore grestore end end restore grestore -0 826(Scaling)m 786(abandons)s 1759(mark)s +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 538(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 250(the)m 348(ro)s 6(w)k 15(.)k - -grestore - -grestore - -grestore - -pgsave restore -showpage - -%%Page: 51 57 -%%BeginPageSetup -%%PageResources: font Times-Roman -%%+ font Times-Italic -%%+ font Times-Bold -%%+ font Helvetica -/pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def -0.0500 dup scale 10 setlinewidth -%%EndPageSetup -gsave -0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic -gsave -LoutPageSet -grestore -gsave -0 16840 translate -0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet -grestore -240 fnt83 0 13843(3.18.)m 574(@HCo)s 2(ver)k 1615(and)s -2041(@VCo)s 2(ver)k 240 fnt84 8839 13840(51)m 240 fnt82 -480 13250(If)m 700(the)s 1038(parameter)s 2042(of)s 220 fnt35 -2303 13247(@VCo)m 3(v)k 5(er)k 240 fnt82 3299 13250(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 12962(required)m 863(after)s 1368(all)s 1670(and)s -2083(the)s 220 fnt35 2441 12959(@VCo)m 3(v)k 5(er)k -240 fnt82 3456 12962(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 12674(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 12386(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 fnt35 480 12009(@HCo)m 3(v)k 5(er)k 240 fnt82 -1505 12012(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 11724(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 11436(g)m 1(alle)k 3(y)k -634(\210ushing)s 1459(tak)s 2(es)k 1999(place.)s 240 fnt84 -0 10643(3.19.)m 591(@StartHSpan,@StartVSpan,)s 3642(@StartHVSpan,)s 5374(@HSpan,)s 6416(and)s -6857(@VSpan)s 240 fnt82 556 10166(These)m 1199(symbols)s 2065(w)s 2(ork)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 4066(3.19.)m 591(@StartHSpan,@StartVSpan,)s 3642(@StartHVSpan,)s 5374(@HSpan,)s 6416(and)s +6857(@VSpan)s 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 9878(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 fnt35 3506 9875(//)m 240 fnt82 3691 9878(and)m -220 fnt35 4095 9875(||)m 240 fnt82 4189 9878(.)m 4353(An)s -4703(object)s 220 fnt35 480 9377(@Star)m -8(tHSpan object)k 240 fnt82 -0 8880(causes)m 220 fnt35 682 8877(object)m 240 fnt82 1330 8880(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 8592(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 fnt35 4642 8589(@HSpan)m 240 fnt82 5572 8592(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 fnt35 0 8301(@Star)m -8(tHVSpan)k 240 fnt82 -1496 8304(,)m 220 fnt35 1603 8301(@Star)m -8(tHSpan)k 240 fnt82 -2953 8304(,)m 220 fnt35 3059 8301(@Star)m -8(tVSpan)k 240 fnt82 -4397 8304(,)m 4503(or)s 220 fnt35 4761 8301(@VSpan)m 240 fnt82 -5628 8304(.)m 5791(The)s 6218(column)s 6992(mark)s 7543(of)s -7813(this)s 8208(spanning)s 0 8016(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 7642(If)m -739(there)s 1301(is)s 1541(no)s 220 fnt35 1863 7639(@HSpan)m -240 fnt82 2831 7642(symbol)m 3621(an)s 3(ywhere)k 4633(to)s -4901(the)s 5279(right)s 5819(of)s 220 fnt35 6119 7639(@Star)m -8(tHSpan)k -240 fnt82 7469 7642(,)m 7606(then)s 8104(the)s 8482(object)s -0 7354(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 7066(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 6692(Similarly)m 15(,)k -1457(the)s 220 fnt35 1801 6689(@Star)m -8(tVSpan)k 240 fnt82 -3196 6692(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 6404(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 fnt35 -7441 6401(@VSpan)m 240 fnt82 8366 6404(symbol)m 0 6116(on)m 294(that)s -708(mark)s 1256(not)s 1618(preceded)s 2535(by)s 2825(a)s -220 fnt35 2987 6113(@Star)m -8(tHVSpan)k 240 fnt82 4483 6116(,)m -220 fnt35 4586 6113(@Star)m -8(tHSpan)k 240 fnt82 5936 6116(,)m -220 fnt35 6039 6113(@Star)m -8(tVSpan)k 240 fnt82 7377 6116(,)m -7480(or)s 220 fnt35 7735 6113(@HSpan)m 240 fnt82 8614 6116(;)m -8722(and)s 0 5828(if)m 206(there)s 728(is)s 927(no)s -220 fnt35 1209 5825(@VSpan)m 240 fnt82 2125 5828(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 5540(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 5166(The)m -220 fnt35 949 5163(@Star)m -8(tHVSpan)k 240 fnt82 2547 5166(symbol)m -3349(combines)s 4359(the)s 4748(ef)s 6(fects)k 5470(of)s -220 fnt35 5783 5163(@Star)m -8(tHSpan)k 240 fnt82 7235 5166(and)m -220 fnt35 7681 5163(@Star)m -8(tVSpan)k 240 fnt82 9019 5166(,)m -0 4878(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 fnt35 480 4377(@Star)m -8(tHVSpan x | | @HSpan)k 480 4089(/)m -480 3801(@VSpan | |)m 240 fnt82 0 3305(the)m 378(object)s 220 fnt35 -1052 3302(x)m 240 fnt82 1250 3305(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 3017(between)m -854(them.)s 480 2643(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 fnt35 6855 2640(@HSpan)m 240 fnt82 7794 2643(and)m -220 fnt35 8199 2640(@VSpan)m 240 fnt82 0 2355(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 2067(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 fnt35 6218 2064(@Star)m -8(tHSpan)k 240 fnt82 7568 2067(,)m -220 fnt35 7681 2064(@Star)m -8(tVSpan)k 240 fnt82 9019 2067(,)m -0 1779(or)m 220 fnt35 246 1776(@Star)m -8(tHVSpan)k 240 fnt82 -1742 1779(.)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 1491(paragraphs)m 1100(of)s 1371(te)s 3(xt)k 1786(that)s -2204(require)s 2936(breaking.)s 480 1117(If)m 722(the)s 1082(right)s -1605(parameter)s 2631(of)s 220 fnt35 2914 1114(@Star)m -8(tHSpan)k -240 fnt82 4264 1117(,)m 220 fnt35 4383 1114(@Star)m -8(tVSpan)k -240 fnt82 5721 1117(,)m 5840(or)s 220 fnt35 6111 1114(@Star)m -8(tHVSpan)k -240 fnt82 7679 1117(occupies)m 8579(more)s 0 829(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 541(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 253(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 fnt35 6151 250(u)m 240 fnt82 6321 253(indicator)m 7232(is)s -7444(set)s 7772(automatically)s +8760(not)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -11006,95 +11528,140 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt5 1417 -1583(52)m 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 +gsave 0 LoutMargSet grestore -240 fnt84 0 13840(52)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt82 0 13205(and)m -404(cannot)s 1102(be)s 1384(re)s 6(v)k 4(ok)k 2(ed\).)k -240 fnt84 0 12422(3.20.)m 591(@Scale)s 240 fnt82 588 11990(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 +0 13205(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 12831(Similarly)m 15(,)k 1457(the)s 220 fnt2 1801 12828(@Star)m -8(tVSpan)k +240 fnt1 3196 12831(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 12543(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 12540(@VSpan)m 240 fnt1 8366 12543(symbol)m 0 12255(on)m +294(that)s 708(mark)s 1256(not)s 1618(preceded)s 2535(by)s +2825(a)s 220 fnt2 2987 12252(@Star)m -8(tHVSpan)k 240 fnt1 +4483 12255(,)m 220 fnt2 4586 12252(@Star)m -8(tHSpan)k 240 fnt1 +5936 12255(,)m 220 fnt2 6039 12252(@Star)m -8(tVSpan)k 240 fnt1 +7377 12255(,)m 7480(or)s 220 fnt2 7735 12252(@HSpan)m 240 fnt1 +8614 12255(;)m 8722(and)s 0 11967(if)m 206(there)s 728(is)s +927(no)s 220 fnt2 1209 11964(@VSpan)m 240 fnt1 2125 11967(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 11679(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 11305(The)m 220 fnt2 949 11302(@Star)m -8(tHVSpan)k +240 fnt1 2547 11305(symbol)m 3349(combines)s 4359(the)s 4748(ef)s 6(fects)k +5470(of)s 220 fnt2 5783 11302(@Star)m -8(tHSpan)k 240 fnt1 +7235 11305(and)m 220 fnt2 7681 11302(@Star)m -8(tVSpan)k 240 fnt1 +9019 11305(,)m 0 11017(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 10516(@Star)m -8(tHVSpan x | | @HSpan)k +480 10228(/)m 480 9940(@VSpan | |)m 240 fnt1 0 9444(the)m 378(object)s +220 fnt2 1052 9441(x)m 240 fnt1 1250 9444(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 9156(between)m +854(them.)s 480 8782(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 8779(@HSpan)m 240 fnt1 7794 8782(and)m +220 fnt2 8199 8779(@VSpan)m 240 fnt1 0 8494(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 8206(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 8203(@Star)m -8(tHSpan)k 240 fnt1 7568 8206(,)m +220 fnt2 7681 8203(@Star)m -8(tVSpan)k 240 fnt1 9019 8206(,)m +0 7918(or)m 220 fnt2 246 7915(@Star)m -8(tHVSpan)k 240 fnt1 +1742 7918(.)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 7630(paragraphs)m 1100(of)s 1371(te)s 3(xt)k 1786(that)s +2204(require)s 2936(breaking.)s 480 7256(If)m 722(the)s 1082(right)s +1605(parameter)s 2631(of)s 220 fnt2 2914 7253(@Star)m -8(tHSpan)k +240 fnt1 4264 7256(,)m 220 fnt2 4383 7253(@Star)m -8(tVSpan)k +240 fnt1 5721 7256(,)m 5840(or)s 220 fnt2 6111 7253(@Star)m -8(tHVSpan)k +240 fnt1 7679 7256(occupies)m 8579(more)s 0 6968(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 6680(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 6392(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 6389(u)m 240 fnt1 6321 6392(indicator)m 7232(is)s +7444(set)s 7772(automatically)s 0 6104(and)m 404(cannot)s 1102(be)s +1384(re)s 6(v)k 4(ok)k 2(ed\).)k 240 fnt5 +0 5321(3.20.)m 591(@Scale)s 240 fnt1 588 4889(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 11702(left)m 377(parameter:)s 220 fnt35 480 11201(1.0 @Scale Hello 2.0 @Scale Hello 0.5 @Scale Hello)m 240 fnt82 -0 10746(has)m 370(result)s gsave -480 10238 translate +0 4601(left)m 377(parameter:)s 220 fnt2 480 4100(1.0 @Scale Hello 2.0 @Scale Hello 0.5 @Scale Hello)m 240 fnt1 +0 3645(has)m 370(result)s gsave +480 3137 translate 1.0000 1.0000 scale 0 -54(Hello)m grestore gsave -1124 10238 translate +1124 3137 translate 2.0000 2.0000 scale 0 -54(Hello)m grestore gsave -2292 10238 translate +2292 3137 translate 0.5000 0.5000 scale 0 -54(Hello)m grestore -0 9675(The)m 433(left)s 815(parameter)s 1834(can)s 2228(be)s +0 2574(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 9387(second)m 723(v)s 3(ertically:)k 220 fnt35 480 8886({0.5 2.0} @Scale Hello)m -240 fnt82 0 8392(has)m 370(result)s gsave -480 7884 translate +0 2286(second)m 723(v)s 3(ertically:)k 220 fnt2 480 1785({0.5 2.0} @Scale Hello)m +240 fnt1 0 1291(has)m 370(result)s gsave +480 783 translate 0.5000 2.0000 scale 0 -54(Hello)m grestore -0 7321(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 7033(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 fnt35 480 6532({} @Scale { Hello w)m 2(or)k -3(ld })k -240 fnt82 0 6038(has)m 370(result)s gsave -0 4881 translate -7.9609 7.9609 scale -0 -54(Hello)m 583(w)s 2(orld)k grestore -0 3977(The)m 433(right)s 949(parameter)s 1969(may)s 2440(be)s -2728(an)s 3(y)k 3130(object.)s 220 fnt35 3884 3974(@Scale)m -240 fnt82 4712 3977(has)m 5088(both)s 5576(a)s 220 fnt35 -5748 3974(@OneCol)m 240 fnt82 6765 3977(and)m 7175(a)s 220 fnt35 -7346 3974(@OneRo)m 3(w)k 240 fnt82 8483 3977(ef)m 6(fect,)k -0 3689(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 fnt84 0 2896(3.21.)m 591(@Rotate)s 240 fnt82 542 2464(The)m -220 fnt35 973 2461(@Rotate)m 240 fnt82 1897 2464(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 2176(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 fnt35 -480 1675(30d @Rotate { hello)m 8(, w)k 2(or)k -3(ld })k 240 fnt82 -0 1181(has)m 370(result)s gsave -534 228 translate -30.0000 rotate -0 -54(hello,)m 583(w)s 2(orld)k - +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore grestore @@ -11115,33 +11682,73 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +240 fnt6 1417 -1578(3.21.)m 1991(@Rotate)s 240 fnt5 10250 -1581(53)m +gsave +1417 -15423 translate +240 fnt1 9066 13414 0 13305 240 288 60 LoutGraphic +gsave 1 LoutMargSet grestore -240 fnt83 0 13845(3.21.)m 574(@Rotate)s 240 fnt84 8833 13842(53)m -240 fnt82 0 13251(Before)m 710(rotating)s 1511(the)s 1863(object,)s -220 fnt35 2559 13248(@OneCol)m 240 fnt82 3576 13251(and)m 220 fnt35 -3984 13248(@OneRo)m 3(w)k 240 fnt82 5120 13251(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 12963(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 11740 LoutGr2 +0 13251(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 12963(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 12462({} @Scale { Hello w)m 2(or)k -3(ld })k 240 fnt1 +0 11968(has)m 370(result)s gsave +0 10811 translate +7.9609 7.9609 scale +0 -54(Hello)m 583(w)s 2(orld)k + +grestore +0 9907(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 9904(@Scale)m +240 fnt1 4712 9907(has)m 5088(both)s 5576(a)s 220 fnt2 +5748 9904(@OneCol)m 240 fnt1 6765 9907(and)m 7175(a)s 220 fnt2 +7346 9904(@OneRo)m 3(w)k 240 fnt1 8483 9907(ef)m 6(fect,)k +0 9619(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 8826(3.21.)m 591(@Rotate)s 240 fnt1 542 8394(The)m +220 fnt2 973 8391(@Rotate)m 240 fnt1 1897 8394(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 8106(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 7605(30d @Rotate { hello)m 8(, w)k 2(or)k -3(ld })k 240 fnt1 +0 7111(has)m 370(result)s gsave +534 6158 translate +30.0000 rotate +0 -54(hello,)m 583(w)s 2(orld)k + +grestore +0 5632(Before)m 710(rotating)s 1511(the)s 1863(object,)s 220 fnt2 +2559 5629(@OneCol)m 240 fnt1 3576 5632(and)m 220 fnt2 3984 5629(@OneRo)m 3(w)k +240 fnt1 5120 5632(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 5344(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 4121 LoutGr2 grestore save gsave 200 dict begin lfigdict begin grestore 1587 283 340 113 240 288 60 0 0 LoutGr2 @@ -11165,10 +11772,9 @@ grestore grestore end end restore grestore -240 fnt78 2547 11793(\336)m -gsave -3256 11586 translate -240 fnt82 1515 1037 379 267 240 288 60 LoutGraphic +240 fnt4 2547 4174(\336)m gsave +3256 3967 translate +240 fnt1 1515 1037 379 267 240 288 60 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore @@ -11222,80 +11828,171 @@ grestore grestore end end restore grestore -240 fnt82 0 11135(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 10847(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 fnt35 480 10339(-30d)m -968(@Rotate)s 1890(30d)s 2305(@Rotate)s 240 fnt83 3286 10344(object)m -240 fnt82 0 9841(is)m 210(a)s 376(much)s 965(lar)s 4(ger)k -1577(object)s 2221(than)s 240 fnt83 2690 9843(object)m 240 fnt82 -3278 9841(,)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 9467(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 9179(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 fnt35 0 8888(@Wide)m 240 fnt82 774 8891(and)m -220 fnt35 1178 8888(@High)m 240 fnt82 1897 8891(symbols:)m 220 fnt35 -480 8390(30d @Rotate 5i @Wide 4i @High)m 480 8102({ //1i @T)m 26(e)k 6(xtPlace)k 480 7814( //1i)m -480 7526(})m 240 fnt82 0 7032(This)m 532(is)s 798(because)s +240 fnt1 0 3516(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 3228(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 2720(-30d)m 968(@Rotate)s 1890(30d)s +2305(@Rotate)s 240 fnt6 3286 2725(object)m 240 fnt1 0 2222(is)m +210(a)s 376(much)s 965(lar)s 4(ger)k 1577(object)s +2221(than)s 240 fnt6 2690 2224(object)m 240 fnt1 3278 2222(,)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 1848(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 1560(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 1269(@Wide)m 240 fnt1 +774 1272(and)m 220 fnt2 1178 1269(@High)m 240 fnt1 1897 1272(symbols:)m +220 fnt2 480 771(30d @Rotate 5i @Wide 4i @High)m 480 483({ //1i @T)m 26(e)k 6(xtPlace)k + +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 54 60 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Times-Italic +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +240 fnt5 1417 -1583(54)m 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 +gsave +0 LoutMargSet +grestore +220 fnt2 480 13207( //1i)m +480 12919(})m 240 fnt1 0 12425(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 fnt35 0 6741(@T)m 26(e)k 6(xtPlace)k 240 fnt82 -1218 6744(to)m 1457(occup)s 2(y)k 2201(is)s 2411(indeterminate,)s +220 fnt2 0 12134(@T)m 26(e)k 6(xtPlace)k 240 fnt1 +1218 12137(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 fnt84 0 5951(3.22.)m 591(@Backgr)s 4(ound)k 240 fnt82 -577 5474(The)m 220 fnt35 1042 5471(@Bac)m 4(kg)k 2(round)k -240 fnt82 2515 5474(symbol)m 3312(will)s 3775(print)s 4323(its)s +240 fnt5 0 11344(3.22.)m 591(@Backgr)s 4(ound)k 240 fnt1 +577 10867(The)m 220 fnt2 1042 10864(@Bac)m 4(kg)k 2(round)k +240 fnt1 2515 10867(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 5186(parameter)m 13(.)k +7993(of)s 8301(its)s 8615(right)s 0 10579(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 4898(printed)m +6994(left)s 7382(parameter)s 8407(will)s 8844(be)s 0 10291(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 fnt84 0 4105(3.23.)m 591(@K)s 6(er)k 3(nShrink)k -240 fnt82 541 3673(This)m 1018(symbol)s 1779(returns)s 2495(its)s +7692(parameter)s 13(.)k 240 fnt5 0 9498(3.23.)m 591(@K)s 6(er)k 3(nShrink)k +240 fnt1 541 9066(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 3385(smaller)m 770(bounding)s 1737(box.)s 2269(The)s +8355(slightly)s 0 8778(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 3097(right)m -511(parameter)s 1525(w)s 2(as)k 1946(immediately)s 240 fnt83 -3194 3099(followed)m 240 fnt82 4084 3097(by)m 4378(the)s 4726(left)s +7493(be)s 7783(applied)s 8553(if)s 8778(the)s 0 8490(right)m +511(parameter)s 1525(w)s 2(as)k 1946(immediately)s 240 fnt6 +3194 8492(followed)m 240 fnt1 4084 8490(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 fnt35 480 2596(.)m 13( @K)k 8(er)k -5(nShr)k -3(ink P)k -240 fnt82 0 2141(has)m 370(result)s 104 158 0 54 240 288 60 480 1693 LoutGr2 +220 fnt2 480 7989(.)m 13( @K)k 8(er)k -5(nShr)k -3(ink P)k +240 fnt1 0 7534(has)m 370(result)s 104 158 0 54 240 288 60 480 7086 LoutGr2 LoutBox stroke grestore 0 0(P)m grestore -0 1242(where)m +0 6635(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 954(with)m 482(`P')s 806(alone:)s -130 158 0 54 240 288 60 480 505 LoutGr2 +7787(Compare)s 8730(this)s 0 6347(with)m 482(`P')s 806(alone:)s +130 158 0 54 240 288 60 480 5898 LoutGr2 LoutBox stroke grestore 0 0(P)m grestore -0 54(in)m 243(which)s 885(the)s 1232(bounding)s +0 5447(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 +6441(supposed)s 7390(to.)s 7740(The)s 8167(bounding)s 0 5159(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 4785(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 4497(formatting)m 1061(package.)s +240 fnt5 0 3704(3.24.)m 591(@Common,)s 1872(@Rump,)s 2847(and)s +3288(@Meld)s 240 fnt1 540 3227(The)m 220 fnt2 968 3224(@Common)m +240 fnt1 2127 3227(and)m 220 fnt2 2531 3224(@Rump)m 240 fnt1 +3391 3227(symbols)m 4240(compare)s 5119(tw)s 2(o)k 5529(paragraph)s +6542(objects:)s 220 fnt2 480 2726({ Aardv)m 5(ar)k -3(k, 29 } @Common { Aardv)k 5(ar)k -3(k, 359 })k +240 fnt1 0 2232(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 1944(The)m +418(result)s 998(of)s 220 fnt2 1259 1941(@Common)m 240 fnt1 +2408 1944(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 1656(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 1653(Aardv)m 5(ar)k -3(k,)k +240 fnt1 7949 1656(.)m 8111(The)s 8536(result)s 0 1368(of)m +220 fnt2 271 1365(@Rump)m 240 fnt1 1131 1368(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 1365(@Common)m 240 fnt1 7618 1368(;)m 7730(the)s +8078(result)s 8668(of)s 220 fnt2 480 867({ Aardv)m 5(ar)k -3(k, 29 } @Rump { Aardv)k 5(ar)k -3(k, 359 })k +240 fnt1 0 371(is)m 220 fnt2 210 368(359)m 240 fnt1 +567 371(.)m +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -11305,118 +12002,118 @@ grestore pgsave restore showpage -%%Page: 54 60 +%%Page: 55 61 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(3.24.)m 1991(@Common,)s 3170(@Rump,)s 4042(and)s +4468(@Meld)s 240 fnt5 10250 -1583(55)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(54)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt82 0 13205(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 12831(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 12543(formatting)m 1061(package.)s -240 fnt84 0 11750(3.24.)m 591(@Common,)s 1872(@Rump,)s 2847(and)s -3288(@Meld)s 240 fnt82 540 11273(The)m 220 fnt35 968 11270(@Common)m -240 fnt82 2127 11273(and)m 220 fnt35 2531 11270(@Rump)m 240 fnt82 -3391 11273(symbols)m 4240(compare)s 5119(tw)s 2(o)k 5529(paragraph)s -6542(objects:)s 220 fnt35 480 10772({ Aardv)m 5(ar)k -3(k, 29 } @Common { Aardv)k 5(ar)k -3(k, 359 })k -240 fnt82 0 10278(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 9990(The)m -418(result)s 998(of)s 220 fnt35 1259 9987(@Common)m 240 fnt82 -2408 9990(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 9702(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 fnt35 7031 9699(Aardv)m 5(ar)k -3(k,)k -240 fnt82 7949 9702(.)m 8111(The)s 8536(result)s 0 9414(of)m -220 fnt35 271 9411(@Rump)m 240 fnt82 1131 9414(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 fnt35 6519 9411(@Common)m 240 fnt82 7618 9414(;)m 7730(the)s -8078(result)s 8668(of)s 220 fnt35 480 8913({ Aardv)m 5(ar)k -3(k, 29 } @Rump { Aardv)k 5(ar)k -3(k, 359 })k -240 fnt82 0 8417(is)m 220 fnt35 210 8414(359)m 240 fnt82 -567 8417(.)m 480 8043(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 fnt35 5743 8040(@Common)m 240 fnt82 6889 8043(will)m 7303(be)s -7572(an)s 7843(empty)s 8482(object)s 0 7755(and)m 400(the)s -744(result)s 1330(of)s 220 fnt35 1597 7752(@Rump)m 240 fnt82 -2453 7755(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 fnt35 0 7464(@Common)m 240 fnt82 1159 7467(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 fnt35 4950 7464(@Rump)m 240 fnt82 -5810 7467(will)m 6236(be)s 6518(an)s 6801(empty)s 7453(object.)s -480 7093(The)m 933(only)s 1438(kno)s 6(wn)k 2167(use)s -2567(for)s 220 fnt35 2930 7090(@Rump)m 240 fnt82 3815 7093(and)m -220 fnt35 4244 7090(@Common)m 240 fnt82 5428 7093(is)m 5663(to)s -5927(implement)s 7034(mer)s 4(ged)k 7830(inde)s 3(x)k -8439(entries)s 0 6805(\(Section)m 853(2.8\).)s 480 6431(The)m 220 fnt35 -947 6428(@Meld)m 240 fnt82 1732 6431(symbol)m 2531(returns)s 3284(the)s +480 13205(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 13202(@Common)m 240 fnt1 6889 13205(will)m +7303(be)s 7572(an)s 7843(empty)s 8482(object)s 0 12917(and)m +400(the)s 744(result)s 1330(of)s 220 fnt2 1597 12914(@Rump)m +240 fnt1 2453 12917(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 12626(@Common)m 240 fnt1 1159 12629(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 12626(@Rump)m +240 fnt1 5810 12629(will)m 6236(be)s 6518(an)s 6801(empty)s +7453(object.)s 480 12255(The)m 933(only)s 1438(kno)s 6(wn)k +2167(use)s 2567(for)s 220 fnt2 2930 12252(@Rump)m 240 fnt1 +3815 12255(and)m 220 fnt2 4244 12252(@Common)m 240 fnt1 5428 12255(is)m +5663(to)s 5927(implement)s 7034(mer)s 4(ged)k 7830(inde)s 3(x)k +8439(entries)s 0 11967(\(Section)m 853(2.8\).)s 480 11593(The)m 220 fnt2 +947 11590(@Meld)m 240 fnt1 1732 11593(symbol)m 2531(returns)s 3284(the)s 3671(minimum)s 4700(meld)s 5275(of)s 5585(tw)s 2(o)k 6034(paragraphs,)s 7229(that)s 7686(is)s 7935(the)s 8323(shortest)s -0 6143(paragraph)m 1013(that)s 1431(contains)s 2279(the)s 2627(tw)s 2(o)k +0 11305(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 fnt35 480 5642({ Aardv)m 5(ar)k -3(k , 1 , 2 } @Meld { Aardv)k 5(ar)k -3(k , 2 , 3 })k -240 fnt82 0 5148(produces)m 480 4645(Aardv)m 6(ark)k 1438(,)s +7041(e)s 3(xample,)k 220 fnt2 480 10804({ Aardv)m 5(ar)k -3(k , 1 , 2 } @Meld { Aardv)k 5(ar)k -3(k , 2 , 3 })k +240 fnt1 0 10310(produces)m 480 9807(Aardv)m 6(ark)k 1438(,)s 1545(1)s 1700(,)s 1807(2)s 1981(,)s 2088(3)s -0 4161(The)m 455(result)s 1073(is)s 1310(related)s 2045(to)s +0 9323(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 3873(e)m 6(v)k 3(erything)k 1076(not)s +8278(contains)s 0 9035(e)m 6(v)k 3(erything)k 1076(not)s 1451(in)s 1704(the)s 2061(lcs)s 2387(plus)s 2846(one)s 3257(cop)s 2(y)k 3785(of)s 4065(e)s 6(v)k 3(erything)k 5142(in)s 5394(the)s 5751(lcs.)s 6190(This)s 6675(function)s -7539(is)s 7758(well-suited)s 8887(to)s 0 3585(melding)m 830(comple)s 3(x)k +7539(is)s 7758(well-suited)s 8887(to)s 0 8747(melding)m 830(comple)s 3(x)k 1698(inde)s 3(x)k 2274(entries.)s 3067(Note)s 3580(that)s 3990(there)s 4515(must)s 5033(be)s 5307(a)s 5465(non-zero)s 6360(amount)s 7131(of)s 7394(space)s 7973(before)s 8631(each)s -0 3297(comma,)m 805(otherwise)s 1783(each)s 2271(will)s 2690(become)s +0 8459(comma,)m 805(otherwise)s 1783(each)s 2271(will)s 2690(become)s 3484(part)s 3908(of)s 4172(the)s 4513(preceding)s 5502(w)s 2(ord,)k -6093(and,)s 6539(since)s 220 fnt35 7079 3294(@Meld)m 240 fnt82 -7818 3297(compares)m 8778(the)s 0 3009(tw)m 2(o)k 410(paragraphs)s +6093(and,)s 6539(since)s 220 fnt2 7079 8456(@Meld)m 240 fnt1 +7818 8459(compares)m 8778(the)s 0 8171(tw)m 2(o)k 410(paragraphs)s 1510(w)s 2(ord)k 2058(by)s 2352(w)s 2(ord,)k 2949(the)s 3297(result)s 3887(will)s 4313(be)s 4595(dif)s 6(ferent)k 5470(and)s 5874(less)s 6283(satisf)s 2(actory)k 15(.)k -240 fnt84 0 2216(3.25.)m 591(@Insert)s 240 fnt82 541 1784(The)m -220 fnt35 970 1781(@Inser)m -8(t)k 240 fnt82 1808 1784(symbol)m +240 fnt5 0 7378(3.25.)m 591(@Insert)s 240 fnt1 541 6946(The)m +220 fnt2 970 6943(@Inser)m -8(t)k 240 fnt1 1808 6946(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 1496(right)m -511(parameter:)s 220 fnt35 480 995(X @Inser)m -8(t { A B // C // D })k 240 fnt82 -0 501(is)m 210(equi)s 6(v)k 6(alent)k 1254(to)s +7130(\207rst)s 7563(paragraph)s 8577(of)s 8850(its)s 0 6658(right)m +511(parameter:)s 220 fnt2 480 6157(X @Inser)m -8(t { A B // C // D })k 240 fnt1 +0 5663(is)m 210(equi)s 6(v)k 6(alent)k 1254(to)s +220 fnt2 480 5162({ XA B // C // D })m 240 fnt1 0 4668(Notice)m 707(that)s +1139(a)s 1320(zero-width)s 2426(space)s 3028(separates)s 220 fnt2 +3968 4665(X)m 240 fnt1 4185 4668(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 4380(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 4377(X)m 240 fnt1 3960 4380(.)m +4127(The)s 220 fnt2 4558 4377(@Inser)m -8(t)k 240 fnt1 +5397 4380(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 4092(right)m +511(parameter)s 1525(after)s 2021(e)s 6(v)k 6(aluation.)k +480 3718(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 3717(Figur)m 4(e)k 7355(6)s 240 fnt1 7538 3718(to)m +7787(the)s 8145(front)s 8679(of)s 8960(a)s 0 3430(multi-paragraph)m +1596(caption.)s 240 fnt5 0 2637(3.26.)m 591(@OneOf)s 240 fnt1 +534 2205(The)m 220 fnt2 956 2202(@OneOf)m 240 fnt1 1877 2205(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 1917(its)m 276(result:)s +220 fnt2 480 1466(@OneOf {)m 480 1178( @ResultA)m 480 890( @ResultB)m 480 602( @ResultC)m +480 314(})m +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore grestore @@ -11427,110 +12124,114 @@ grestore pgsave restore showpage -%%Page: 55 61 +%%Page: 56 62 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(56)m 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 +gsave +0 LoutMargSet grestore -240 fnt83 0 13845(3.25.)m 574(@Insert)s 240 fnt84 8833 13842(55)m -220 fnt35 480 13254({ XA B // C // D })m 240 fnt82 0 12760(Notice)m 707(that)s -1139(a)s 1320(zero-width)s 2426(space)s 3028(separates)s 220 fnt35 -3968 12757(X)m 240 fnt82 4185 12760(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 12472(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 fnt35 3818 12469(X)m 240 fnt82 3960 12472(.)m -4127(The)s 220 fnt35 4558 12469(@Inser)m -8(t)k 240 fnt82 -5397 12472(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 12184(right)m -511(parameter)s 1525(after)s 2021(e)s 6(v)k 6(aluation.)k -480 11810(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 fnt84 -6616 11809(Figur)m 4(e)k 7355(6)s 240 fnt82 7538 11810(to)m -7787(the)s 8145(front)s 8679(of)s 8960(a)s 0 11522(multi-paragraph)m -1596(caption.)s 240 fnt84 0 10729(3.26.)m 591(@OneOf)s 240 fnt82 -534 10297(The)m 220 fnt35 956 10294(@OneOf)m 240 fnt82 1877 10297(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 10009(its)m 276(result:)s -220 fnt35 480 9558(@OneOf {)m 480 9270( @ResultA)m 480 8982( @ResultB)m 480 8694( @ResultC)m -480 8406(})m 240 fnt82 0 7912(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 7624(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 fnt35 3244 7621(@OneOf)m 240 fnt82 4172 7624(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 7336(is)m 220 fnt35 222 7333(@SomeT)m 26(arget)k -240 fnt82 1622 7336(,)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 fnt35 4553 7333(@ResultA)m 240 fnt82 5613 7336(if)m 5843(it)s -6047(contains)s 220 fnt35 6908 7333(@SomeT)m 26(arget)k 240 fnt82 -8308 7336(,)m 8427(or)s 8699(else)s 220 fnt35 0 7045(@ResultB)m -240 fnt82 1042 7048(if)m 1260(it)s 1453(contains)s 220 fnt35 -2302 7045(@SomeT)m 26(arget)k 240 fnt82 3702 7048(,)m 3810(or)s -4070(else)s 220 fnt35 4498 7045(@ResultC)m 240 fnt82 5552 7048(\(whether)m -6462(or)s 6722(not)s 7089(it)s 7282(contains)s 8131(the)s -8480(tar)s 4(get,)k 0 6760(or)m 259(if)s 476(there)s -1009(is)s 1219(no)s 1512(tar)s 4(get\).)k 480 6386(Use)m -930(of)s 220 fnt35 1224 6383(@OneOf)m 240 fnt82 2174 6386(in)m -2440(conjunction)s 3650(with)s 4155(recursi)s 6(v)k 3(e)k +0 13205(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 12917(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 12914(@OneOf)m +240 fnt1 4172 12917(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 12629(is)m 220 fnt2 +222 12626(@SomeT)m 26(arget)k 240 fnt1 1622 12629(,)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 12626(@ResultA)m 240 fnt1 +5613 12629(if)m 5843(it)s 6047(contains)s 220 fnt2 6908 12626(@SomeT)m 26(arget)k +240 fnt1 8308 12629(,)m 8427(or)s 8699(else)s 220 fnt2 +0 12338(@ResultB)m 240 fnt1 1042 12341(if)m 1260(it)s 1453(contains)s +220 fnt2 2302 12338(@SomeT)m 26(arget)k 240 fnt1 3702 12341(,)m +3810(or)s 4070(else)s 220 fnt2 4498 12338(@ResultC)m 240 fnt1 +5552 12341(\(whether)m 6462(or)s 6722(not)s 7089(it)s 7282(contains)s +8131(the)s 8480(tar)s 4(get,)k 0 12053(or)m 259(if)s +476(there)s 1009(is)s 1219(no)s 1512(tar)s 4(get\).)k +480 11679(Use)m 930(of)s 220 fnt2 1224 11676(@OneOf)m 240 fnt1 +2174 11679(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 6098(this)m 396(e)s 3(xample:)k 220 fnt35 -480 5597(def @Recursiv)m 5(e {)k 480 5021( def @ChoiceA { @APlace // @Recursiv)m 5(e })k 480 4445( def @ChoiceB { @BPlace // @Recursiv)m 5(e })k -480 3869( @OneOf {)m 480 3581( @ChoiceA)m 480 3293( @ChoiceB)m 480 3005( })m 480 2717(})m -240 fnt82 0 2223(Lout)m 523(belie)s 6(v)k 3(es)k -1360(that)s 1790(e)s 3(xpanding)k 220 fnt35 2849 2220(@Recursiv)m 5(e)k -240 fnt82 4106 2223(is)m 4328(the)s 4687(right)s 5210(thing)s +8202(Consider)s 0 11391(this)m 396(e)s 3(xample:)k 220 fnt2 +480 10890(def @Recursiv)m 5(e {)k 480 10314( def @ChoiceA { @APlace // @Recursiv)m 5(e })k 480 9738( def @ChoiceB { @BPlace // @Recursiv)m 5(e })k +480 9162( @OneOf {)m 480 8874( @ChoiceA)m 480 8586( @ChoiceB)m 480 8298( })m 480 8010(})m +240 fnt1 0 7516(Lout)m 523(belie)s 6(v)k 3(es)k +1360(that)s 1790(e)s 3(xpanding)k 220 fnt2 2849 7513(@Recursiv)m 5(e)k +240 fnt1 4106 7516(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 1935(the)m 380(g)s 1(alle)k 3(y)k -1046(tar)s 4(gets)k 220 fnt35 1762 1932(@APlace)m 240 fnt82 -2763 1935(and)m 220 fnt35 3199 1932(@BPlace)m 240 fnt82 4108 1935(.)m -4305(When)s 4966(searching)s 5968(for)s 220 fnt35 6338 1932(@BPlace)m -240 fnt82 7339 1935(this)m 7768(leads)s 8342(Lout)s 8887(to)s -0 1647(e)m 3(xpand)k 220 fnt35 760 1644(@Recursiv)m 5(e)k -240 fnt82 1945 1647(,)m 2065(then)s 220 fnt35 2547 1644(@ChoiceA)m -240 fnt82 3596 1647(,)m 3717(then)s 4199(the)s 220 fnt35 -4560 1644(@Recursiv)m 5(e)k 240 fnt82 5818 1647(symbol)m 6592(within)s -220 fnt35 7273 1644(@ChoiceA)m 240 fnt82 8322 1647(,)m 8442(and)s -8860(so)s 0 1359(on)m 320(in\207nitely)s 15(.)k 1355(This)s +8240(either)s 8855(of)s 0 7228(the)m 380(g)s 1(alle)k 3(y)k +1046(tar)s 4(gets)k 220 fnt2 1762 7225(@APlace)m 240 fnt1 +2763 7228(and)m 220 fnt2 3199 7225(@BPlace)m 240 fnt1 4108 7228(.)m +4305(When)s 4966(searching)s 5968(for)s 220 fnt2 6338 7225(@BPlace)m +240 fnt1 7339 7228(this)m 7768(leads)s 8342(Lout)s 8887(to)s +0 6940(e)m 3(xpand)k 220 fnt2 760 6937(@Recursiv)m 5(e)k +240 fnt1 1945 6940(,)m 2065(then)s 220 fnt2 2547 6937(@ChoiceA)m +240 fnt1 3596 6940(,)m 3717(then)s 4199(the)s 220 fnt2 +4560 6937(@Recursiv)m 5(e)k 240 fnt1 5818 6940(symbol)m 6592(within)s +220 fnt2 7273 6937(@ChoiceA)m 240 fnt1 8322 6940(,)m 8442(and)s +8860(so)s 0 6652(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 fnt35 5741 1356(@NotRe)m 6(v)k 5(ealed)k -240 fnt82 7291 1359(symbol)m 8074(to)s 8336(each)s 8855(of)s -0 1071(the)m 357(inner)s 220 fnt35 918 1068(@Recursiv)m 5(e)k -240 fnt82 2172 1071(symbols:)m 3146(these)s 3703(are)s 4059(then)s +4283(by)s 4600(attaching)s 5552(a)s 220 fnt2 5741 6649(@NotRe)m 6(v)k 5(ealed)k +240 fnt1 7291 6652(symbol)m 8074(to)s 8336(each)s 8855(of)s +0 6364(the)m 357(inner)s 220 fnt2 918 6361(@Recursiv)m 5(e)k +240 fnt1 2172 6364(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 783(been)m 510(made)s 1085(to)s 1326(e)s 3(xpand)k +8756(has)s 0 6076(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 495(to)m 239(write)s 220 fnt35 480 43(def @Recursiv)m 5(e {)k +0 5788(to)m 239(write)s 220 fnt2 480 5336(def @Recursiv)m 5(e {)k +480 4760( @OneOf {)m 480 4472( @APlace)m 480 4184( @BPlace)m 480 3896( })m 480 3608( // @Recursiv)m 5(e)k +480 3320(})m 240 fnt1 0 2826(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 2538(dif)m 6(fer)k +583(in)s 826(the)s 1174(tw)s 2(o)k 1584(cases.)s +240 fnt5 0 1794(3.27.)m 591(@Next)s 240 fnt1 535 1362(The)m +220 fnt2 957 1359(@Ne)m 6(xt)k 240 fnt1 1676 1362(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 1074(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 573(@Ne)m 6(xt \(3.99\))k +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore grestore @@ -11541,112 +12242,133 @@ grestore pgsave restore showpage -%%Page: 56 62 +%%Page: 57 63 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1578(3.28.)m 1991(@Case)s 240 fnt5 10248 -1581(57)m +gsave +1417 -15423 translate +240 fnt1 9066 13415 0 13306 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(56)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 220 fnt35 480 13023( @OneOf {)m -480 12735( @APlace)m 480 12447( @BPlace)m 480 12159( })m 480 11871( // @Recursiv)m 5(e)k -480 11583(})m 240 fnt82 0 11089(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 10801(dif)m 6(fer)k -583(in)s 826(the)s 1174(tw)s 2(o)k 1584(cases.)s -240 fnt84 0 10057(3.27.)m 591(@Next)s 240 fnt82 535 9625(The)m -220 fnt35 957 9622(@Ne)m 6(xt)k 240 fnt82 1676 9625(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 9337(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 fnt35 480 8836(@Ne)m 6(xt \(3.99\))k 240 fnt82 0 8340(has)m -404(result)s 1029(\(3.100\).)s 1925(If)s 220 fnt35 2190 8337(@Ne)m 6(xt)k -240 fnt82 2949 8340(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 8052(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 fnt35 7614 8049(@Ne)m 6(xt)k 240 fnt82 8336 8052(will)m -8760(not)s 0 7764(increment)m 1015(a)s 1181(Roman)s 1930(numeral.)s -240 fnt84 0 7021(3.28.)m 591(@Case)s 240 fnt82 540 6589(The)m -220 fnt35 968 6586(@Case)m 240 fnt82 1755 6589(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 fnt35 480 6088(@Da)m 6(y @Case {)k -480 5800( { 1 21 31 } @Y)m 4(ield st)k 480 5512( { 2 22 } @Y)m 4(ield nd)k 480 5224( { 3 23 } @Y)m 4(ield rd)k -480 4936( else @Y)m 4(ield th)k 480 4648(})m 240 fnt82 0 4154(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 fnt35 -3608 4151(@Da)m 6(y)k 240 fnt82 4274 4154(is)m 4485(1,)s -4714(21,)s 5062(or)s 5322(31,)s 5670(and)s 6076(nd)s -6375(if)s 220 fnt35 6593 4151(@Da)m 6(y)k 240 fnt82 -7259 4154(is)m 7471(2)s 7646(or)s 7906(22,)s 8254(etc.)s -8698(The)s 0 3866(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 3578(a)m -171(sequence)s 1109(of)s 220 fnt35 1385 3575(@Y)m 4(ield)k -240 fnt82 2143 3578(symbols,)m 3053(each)s 3553(with)s 4040(a)s +0 13252(has)m 404(result)s 1029(\(3.100\).)s 1925(If)s 220 fnt2 +2190 13249(@Ne)m 6(xt)k 240 fnt1 2949 13252(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 12964(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 12961(@Ne)m 6(xt)k 240 fnt1 +8336 12964(will)m 8760(not)s 0 12676(increment)m 1015(a)s 1181(Roman)s +1930(numeral.)s 240 fnt5 0 11933(3.28.)m 591(@Case)s 240 fnt1 +540 11501(The)m 220 fnt2 968 11498(@Case)m 240 fnt1 1755 11501(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 11000(@Da)m 6(y @Case {)k 480 10712( { 1 21 31 } @Y)m 4(ield st)k 480 10424( { 2 22 } @Y)m 4(ield nd)k +480 10136( { 3 23 } @Y)m 4(ield rd)k 480 9848( else @Y)m 4(ield th)k 480 9560(})m +240 fnt1 0 9066(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 9063(@Da)m 6(y)k 240 fnt1 +4274 9066(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 9063(@Da)m 6(y)k +240 fnt1 7259 9066(is)m 7471(2)s 7646(or)s 7906(22,)s +8254(etc.)s 8698(The)s 0 8778(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 8490(a)m 171(sequence)s 1109(of)s 220 fnt2 1385 8487(@Y)m 4(ield)k +240 fnt1 2143 8490(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 3290(more)m 547(juxtapositions)s 1940(of)s 2211(simple)s +8867(or)s 0 8202(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 2916(W)m 19(e)k 895(\207rst)s 1372(describe)s +7476(object.)s 480 7828(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 fnt35 7870 2913(@Case)m 240 fnt82 -8703 2916(is)m 8960(a)s 0 2628(juxtaposition)m 1302(of)s 1568(one)s +6492(parameter)s 7552(of)s 220 fnt2 7870 7825(@Case)m 240 fnt1 +8703 7828(is)m 8960(a)s 0 7540(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 fnt35 6275 2625(@Case)m 240 fnt82 7058 2628(is)m 7263(the)s -7606(right)s 8112(parameter)s 0 2340(of)m 287(the)s 652(\207rst)s -220 fnt35 1100 2337(@Y)m 4(ield)k 240 fnt82 1870 2340(whose)m +220 fnt2 6275 7537(@Case)m 240 fnt1 7058 7540(is)m 7263(the)s +7606(right)s 8112(parameter)s 0 7252(of)m 287(the)s 652(\207rst)s +220 fnt2 1100 7249(@Y)m 4(ield)k 240 fnt1 1870 7252(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 fnt35 0 2049(@Case)m -240 fnt82 727 2052(,)m 834(or)s 1093(the)s 1441(special)s -2159(v)s 6(alue)k 220 fnt35 2727 2049(else)m 240 fnt82 -3121 2052(.)m 3285(If)s 3515(there)s 4048(is)s 4258(no)s -4551(such)s 220 fnt35 5047 2049(@Y)m 4(ield)k 240 fnt82 -5800 2052(it)m 5992(is)s 6202(an)s 6485(error)s 13(.)k -480 1678(When)m 1133(the)s 1506(left)s 1908(parameter)s 2946(of)s -220 fnt35 3242 1675(@Case)m 240 fnt82 4054 1678(is)m 4288(not)s +7459(parameter)s 8490(of)s 8778(the)s 220 fnt2 0 6961(@Case)m +240 fnt1 727 6964(,)m 834(or)s 1093(the)s 1441(special)s +2159(v)s 6(alue)k 220 fnt2 2727 6961(else)m 240 fnt1 +3121 6964(.)m 3285(If)s 3515(there)s 4048(is)s 4258(no)s +4551(such)s 220 fnt2 5047 6961(@Y)m 4(ield)k 240 fnt1 +5800 6964(it)m 5992(is)s 6202(an)s 6485(error)s 13(.)k +480 6590(When)m 1133(the)s 1506(left)s 1908(parameter)s 2946(of)s +220 fnt2 3242 6587(@Case)m 240 fnt1 4054 6590(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 1390(the)m 350(right)s -864(parameter)s 1881(of)s 2155(the)s 2506(\207rst)s 220 fnt35 -2940 1387(@Y)m 4(ield)k 240 fnt82 3696 1390(whose)m 4367(left)s -4746(parameter)s 5763(is)s 220 fnt35 5976 1387(else)m 240 fnt82 -6370 1390(,)m 6480(or)s 6742(an)s 7028(error)s 7554(otherwise.)s -8650(This)s 0 1102(permits)m 767(e)s 3(xamples)k 1718(lik)s 2(e)k -220 fnt35 480 601(@RunningTitle @Case {)m 480 313( dft @Y)m 4(ield @Title)k +7928(the)s 8301(result)s 8916(is)s 0 6302(the)m 350(right)s +864(parameter)s 1881(of)s 2155(the)s 2506(\207rst)s 220 fnt2 +2940 6299(@Y)m 4(ield)k 240 fnt1 3696 6302(whose)m 4367(left)s +4746(parameter)s 5763(is)s 220 fnt2 5976 6299(else)m 240 fnt1 +6370 6302(,)m 6480(or)s 6742(an)s 7028(error)s 7554(otherwise.)s +8650(This)s 0 6014(permits)m 767(e)s 3(xamples)k 1718(lik)s 2(e)k +220 fnt2 480 5513(@RunningTitle @Case {)m 480 5225( dft @Y)m 4(ield @Title)k 480 4937( else @Y)m 4(ield @RunningTitle)k +480 4649(})m 240 fnt1 0 4155(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 4152(dft)m 240 fnt1 5776 4155(\(which)m 6519(presumably)s 7710(means)s +8393(that)s 8833(no)s 0 3867(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 3493(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 3490(@Case)m 240 fnt1 5552 3493(,)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 3205(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 2917(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 2629(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 2341(all)m 293(right)s 804(too.)s 240 fnt5 +0 1548(3.29.)m 591(@Moment)s 240 fnt1 480 1116(The)m 908(prede\207ned)s +1976(symbol)s 220 fnt2 2736 1113(@Moment)m 240 fnt1 3808 1116(has)m +4178(the)s 4526(follo)s 6(wing)k 5503(de\207nition:)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -11656,108 +12378,114 @@ grestore pgsave restore showpage -%%Page: 57 63 +%%Page: 58 64 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(58)m 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 +gsave +0 LoutMargSet grestore -240 fnt83 0 13845(3.28.)m 574(@Case)s 240 fnt84 8831 13842(57)m -220 fnt35 480 13254( else @Y)m 4(ield @RunningTitle)k 480 12966(})m 240 fnt82 -0 12472(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 fnt35 5455 12469(dft)m 240 fnt82 -5776 12472(\(which)m 6519(presumably)s 7710(means)s 8393(that)s 8833(no)s -0 12184(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 11810(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 fnt35 -4825 11807(@Case)m 240 fnt82 5552 11810(,)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 11522(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 11234(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 10946(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 10658(all)m 293(right)s 804(too.)s 240 fnt84 -0 9865(3.29.)m 591(@Moment)s 240 fnt82 480 9433(The)m 908(prede\207ned)s -1976(symbol)s 220 fnt35 2736 9430(@Moment)m 240 fnt82 3808 9433(has)m -4178(the)s 4526(follo)s 6(wing)k 5503(de\207nition:)s 220 fnt35 -480 8932(def @Moment)m 480 8644( named @T)m 26(ag {})k 480 8356( named @Second {})m 480 8068( named @Min)m 2(ute {})k -480 7780( named @Hour {})m 480 7492( named @Da)m 6(y {})k 480 7204( named @Month {})m 480 6916( named @Y)m 30(ear {})k -480 6628( named @Centur)m -6(y {})k 480 6340( named @W)m 6(eekDa)k 6(y {})k -480 6052( named @Y)m 30(earDa)k 6(y {})k 480 5764( named @Da)m 6(ylightSa)k 4(ving {})k -480 5476({})m 240 fnt82 0 4982(It)m 208(may)s 677(be)s +220 fnt2 480 13207(def @Moment)m +480 12919( named @T)m 26(ag {})k 480 12631( named @Second {})m 480 12343( named @Min)m 2(ute {})k +480 12055( named @Hour {})m 480 11767( named @Da)m 6(y {})k 480 11479( named @Month {})m 480 11191( named @Y)m 30(ear {})k +480 10903( named @Centur)m -6(y {})k 480 10615( named @W)m 6(eekDa)k 6(y {})k +480 10327( named @Y)m 30(earDa)k 6(y {})k 480 10039( named @Da)m 6(ylightSa)k 4(ving {})k +480 9751({})m 240 fnt1 0 9257(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 fnt35 6713 4979(@Moment)m 240 fnt82 7788 4982(with)m 8273(tag)s -220 fnt35 8622 4979(no)m 3(w)k 240 fnt82 9019 4982(,)m -0 4694(whose)m 668(other)s 1219(parameters)s 2317(are)s 2664(numbers)s +220 fnt2 6713 9254(@Moment)m 240 fnt1 7788 9257(with)m 8273(tag)s +220 fnt2 8622 9254(no)m 3(w)k 240 fnt1 9019 9257(,)m +0 8969(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 fnt35 480 4129(@Second)m 240 fnt82 2482 4132(the)m +6412(time:)s 220 fnt2 480 8404(@Second)m 240 fnt1 2482 8407(the)m 2830(current)s 3566(second,)s 4338(usually)s 5083(between)s 5937(00)s -6232(and)s 6636(59)s 220 fnt35 480 3798(@Min)m 2(ute)k -240 fnt82 2482 3801(the)m 2830(current)s 3566(minute,)s 4337(between)s -5191(00)s 5486(and)s 5890(59)s 220 fnt35 480 3488(@Hour)m -240 fnt82 2482 3491(the)m 2830(current)s 3566(hour)s 9(,)k -4103(between)s 4957(00)s 5252(and)s 5656(23)s 220 fnt35 -480 3178(@Da)m 6(y)k 240 fnt82 2482 3181(the)m 2830(current)s +6232(and)s 6636(59)s 220 fnt2 480 8073(@Min)m 2(ute)k +240 fnt1 2482 8076(the)m 2830(current)s 3566(minute,)s 4337(between)s +5191(00)s 5486(and)s 5890(59)s 220 fnt2 480 7763(@Hour)m +240 fnt1 2482 7766(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 7453(@Da)m 6(y)k 240 fnt1 2482 7456(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 fnt35 480 2849(@Month)m -240 fnt82 2482 2852(the)m 2830(current)s 3566(month,)s 4285(between)s +6158(1)s 6313(and)s 6717(31)s 220 fnt2 480 7124(@Month)m +240 fnt1 2482 7127(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 fnt35 480 2520(@Y)m 30(ear)k 240 fnt82 2482 2523(the)m +220 fnt2 480 6795(@Y)m 30(ear)k 240 fnt1 2482 6798(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 fnt35 -480 2191(@Centur)m -6(y)k 240 fnt82 2482 2194(the)m 2830(current)s +5465(between)s 6319(00)s 6614(and)s 7018(99)s 220 fnt2 +480 6466(@Centur)m -6(y)k 240 fnt1 2482 6469(the)m 2830(current)s 3566(century)s 15(,)k 4375(e.g.)s 4765(19)s 5056(or)s -5315(20)s 220 fnt35 480 1862(@W)m 6(eekDa)k 6(y)k -240 fnt82 2482 1865(the)m 2830(current)s 3566(day)s 3966(of)s +5315(20)s 220 fnt2 480 6137(@W)m 6(eekDa)k 6(y)k +240 fnt1 2482 6140(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 fnt35 480 1531(@Y)m 30(earDa)k 6(y)k -240 fnt82 2482 1534(the)m 2830(current)s 3566(day)s 3966(of)s +7132(and)s 7536(7)s 7704(\(Saturday\))s 220 fnt2 480 5806(@Y)m 30(earDa)k 6(y)k +240 fnt1 2482 5809(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 fnt35 480 1202(@Da)m 6(ylightSa)k 4(ving)k -240 fnt82 2482 1205(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 917(sa)m 4(ving)k -3156(currently)s 4072(in)s 4315(ef)s 6(fect)k 0 356(Unix)m -519(manual)s 1262(entries)s 1934(state)s 2411(that)s 220 fnt35 -2814 353(@Second)m 240 fnt82 3813 356(can)m 4186(be)s 4453(as)s +6123(and)s 6527(365)s 220 fnt2 480 5477(@Da)m 6(ylightSa)k 4(ving)k +240 fnt1 2482 5480(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 5192(sa)m 4(ving)k +3156(currently)s 4072(in)s 4315(ef)s 6(fect)k 0 4631(Unix)m +519(manual)s 1262(entries)s 1934(state)s 2411(that)s 220 fnt2 +2814 4628(@Second)m 240 fnt1 3813 4631(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 68(use)m +6507(for)s 6830(leap)s 7265(seconds.)s 8171(Judicious)s 0 4343(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 +5908(F)s 3(or)k 6297(e)s 3(xample,)k 220 fnt2 +480 3842(@Moment&&no)m 3(w @Open { @Da)k 6(y {@Months&&@Month}, @Centur)k -6(y{@Y)k 30(ear} })k +240 fnt1 0 3344(produces)m 915(something)s 1965(lik)s 2(e)k +2377(11)s 2652(May)s 15(,)k 3183(2000)s 3718(gi)s 6(v)k 3(en)k +4298(a)s 4464(suitable)s 5263(database)s 6142(of)s 6413(months.)s +240 fnt5 0 2551(3.30.)m 591(@Null)s 240 fnt1 480 2119(This)m +979(symbol)s 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 1831(there)m 544(is)s 765(a)s 942(concatenation)s 2339(symbol)s +3110(preceding)s 220 fnt2 4117 1828(@Null)m 240 fnt1 4702 1831(,)m +4821(the)s 220 fnt2 5180 1828(@Null)m 240 fnt1 5836 1831(and)m +6252(the)s 6611(concatenation)s 8007(symbol)s 8779(are)s 0 1543(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 1540(@Null)m +240 fnt1 8298 1543(are)m 8643(both)s 0 1255(deleted.)m 794(Otherwise,)s +220 fnt2 1883 1252(@Null)m 240 fnt1 2528 1255(becomes)m 3416(an)s +3699(empty)s 4351(object.)s 480 881(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 380(...)m 13( //1vx @Null |0.5i ...)k + +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -11767,130 +12495,166 @@ grestore pgsave restore showpage -%%Page: 58 64 +%%Page: 59 65 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica +%%+ font Symbol /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(3.32.)m 1991(@Be)s 9(ginHeaderComponent,)k 4777(@EndHeaderComponent,)s +7401(@SetHeaderComponent,)s 1991 -1868(and)m 2417(@ClearHeaderComponent)s 240 fnt5 10249 -1583(59)m +gsave +1417 -15423 translate +240 fnt1 9066 13080 0 12971 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(58)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 220 fnt35 480 13207(@Moment&&no)m 3(w @Open { @Da)k 6(y {@Months&&@Month}, @Centur)k -6(y{@Y)k 30(ear} })k -240 fnt82 0 12709(produces)m 915(something)s 1965(lik)s 2(e)k -2377(8)s 2544(April,)s 3155(2000)s 3690(gi)s 6(v)k 3(en)k -4270(a)s 4436(suitable)s 5235(database)s 6114(of)s 6385(months.)s -240 fnt84 0 11916(3.30.)m 591(@Null)s 240 fnt82 480 11484(This)m -979(symbol)s 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 11196(there)m 544(is)s 765(a)s 942(concatenation)s 2339(symbol)s -3110(preceding)s 220 fnt35 4117 11193(@Null)m 240 fnt82 4702 11196(,)m -4821(the)s 220 fnt35 5180 11193(@Null)m 240 fnt82 5836 11196(and)m -6252(the)s 6611(concatenation)s 8007(symbol)s 8779(are)s 0 10908(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 fnt35 7654 10905(@Null)m -240 fnt82 8298 10908(are)m 8643(both)s 0 10620(deleted.)m 794(Otherwise,)s -220 fnt35 1883 10617(@Null)m 240 fnt82 2528 10620(becomes)m 3416(an)s -3699(empty)s 4351(object.)s 480 10246(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 fnt35 480 9745(...)m 13( //1vx @Null |0.5i ...)k -240 fnt82 0 9290(it)m 202(is)s 423(the)s 782(horizontal)s -1817(concatenation)s 3213(symbol)s 3984(follo)s 6(wing)k 220 fnt35 -4972 9287(@Null)m 240 fnt82 5628 9290(that)m 6057(disappears,)s 7184(because)s -8008(in)s 8262(the)s 8621(fully)s 0 9002(parenthesized)m 1372(v)s 3(ersion)k -220 fnt35 480 8501(...)m 13( //1vx { @Null |0.5i ...)k 13( })k 240 fnt82 -0 8007(there)m 533(is)s 743(no)s 1036(concatenation)s 2421(symbol)s -3181(preceding)s 4177(the)s 220 fnt35 4525 8004(@Null)m 240 fnt82 -5110 8007(.)m 240 fnt84 0 7214(3.31.)m 591(@Galley)s 1534(and)s -1975(@F)s 6(or)k 4(ceGalley)k 240 fnt82 480 6737(These)m +0 12917(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 12914(@Null)m +240 fnt1 5628 12917(that)m 6057(disappears,)s 7184(because)s 8008(in)s +8262(the)s 8621(fully)s 0 12629(parenthesized)m 1372(v)s 3(ersion)k +220 fnt2 480 12128(...)m 13( //1vx { @Null |0.5i ...)k 13( })k 240 fnt1 +0 11634(there)m 533(is)s 743(no)s 1036(concatenation)s 2421(symbol)s +3181(preceding)s 4177(the)s 220 fnt2 4525 11631(@Null)m 240 fnt1 +5110 11634(.)m 240 fnt5 0 10841(3.31.)m 591(@Galley)s 1534(and)s +1975(@F)s 6(or)k 4(ceGalley)k 240 fnt1 480 10364(These)m 1131(symbols)s 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 6449(components)m 1210(of)s +7634(be)s 7940(replaced)s 8832(by)s 0 10076(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 fnt35 -3734 6446(@F)m 6(orceGalle)k 4(y)k 240 fnt82 5189 6449(the)m +2383(In)s 2641(the)s 2991(case)s 3460(of)s 220 fnt2 +3734 10073(@F)m 6(orceGalle)k 4(y)k 240 fnt1 5189 10076(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 6161(ef)m 6(fect)k +8492(g)s 1(alle)k 3(y)k 0 9788(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 fnt35 5313 6158(f)m 6(orce into)k 240 fnt82 6202 6161(.)m +220 fnt2 5313 9785(f)m 6(orce into)k 240 fnt1 6202 9788(.)m 6353(See)s 6740(Section)s 7501(2.7)s 7835(for)s 8160(a)s -8312(detailed)s 0 5873(discussion)m 1054(of)s 1325(g)s 1(alle)k 3(ys,)k +8312(detailed)s 0 9500(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 fnt84 0 5080(3.32.)m 591(@BeginHeaderComponent,)s -3466(@EndHeaderComponent,)s 6182(@SetHeaderComponent,)s 591 4792(and)m 1032(@ClearHeaderComponent)s 240 fnt82 -480 4315(Informally)m 15(,)k 1597(header)s 2298(components)s 3510(are)s +4032(tar)s 4(gets.)k 240 fnt5 0 8707(3.32.)m 591(@BeginHeaderComponent,)s +3466(@EndHeaderComponent,)s 6182(@SetHeaderComponent,)s 591 8419(and)m 1032(@ClearHeaderComponent)s 240 fnt1 +480 7942(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 7160(top)s 7523(of)s 7798(the)s 8151(displayed)s -0 4027(se)m 3(gments)k 936(of)s 1204(g)s 1(alle)k 3(ys.)k +0 7654(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 fnt35 -5350 4024(@Tb)m 4(l)k 240 fnt82 5917 4027(table)m 6434(formatting)s -7493(package)s 8330(to)s 8566(place)s 0 3739(running)m 798(headers)s +3802(e)s 3(xample,)k 4714(by)s 5005(the)s 220 fnt2 +5350 7651(@Tb)m 4(l)k 240 fnt1 5917 7654(table)m 6434(formatting)s +7493(package)s 8330(to)s 8566(place)s 0 7366(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 3365(F)m 3(ormally)k 15(,)k +5891(after)s 6387(the)s 6735(\207rst)s 7166(page.)s 480 6992(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 3077(together)m 845(with)s 1330(an)s +7859(\(Section)s 8698(2.7\))s 0 6704(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 2789(component)m 1125(looks)s 1696(e)s 3(xactly)k +8260(a)s 8429(header)s 0 6416(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 2501(whether)m 830(the)s 1178(component)s +8671(is)s 8883(in)s 0 6128(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 2127(Ev)m 3(ery)k -1129(ordinary)s 2020(component)s 3171(of)s 3469(e)s 6(v)k 3(ery)k -4072(g)s 1(alle)k 3(y)k 4733(has)s 5130(associated)s -6197(with)s 6706(it)s 6925(a)s 7118(sequence)s 8078(of)s -8376(zero)s 8867(or)s 0 1839(more)m 543(header)s 1236(components.)s -2553(Whene)s 6(v)k 3(er)k 3583(a)s 3745(ne)s 6(w)k -4188(tar)s 4(get)k 4783(is)s 4989(attached)s 5839(to)s -6074(which)s 6712(does)s 7198(not)s 7560(itself)s 8104(occup)s 2(y)k -8843(an)s 0 1551(entire)m 588(component)s 1700(of)s 1959(its)s -2223(g)s 1(alle)k 3(y)k 15(,)k 2883(copies)s -3533(of)s 3792(the)s 4128(header)s 4813(components)s 6009(associated)s -7037(with)s 7507(the)s 7843(\207rst)s 8262(ordinary)s 0 1263(component)m -1124(to)s 1363(be)s 1645(promoted)s 2620(into)s 3045(that)s -3463(tar)s 4(get)k 4062(are)s 4409(promoted)s 5384(into)s -5809(it)s 6001(\207rst.)s 480 889(The)m 936(condition)s 1926(`which)s -2676(does)s 3195(not)s 3590(itself)s 4167(occup)s 2(y)k -4939(an)s 5251(entire)s 5879(component)s 7032(of)s 7332(its)s -7637(g)s 1(alle)k 3(y')k 8358(ensures)s 0 601(that,)m -460(for)s 793(e)s 3(xample,)k 1702(when)s 2273(part)s -2699(of)s 2964(a)s 3125(section)s 3854(has)s 4219(header)s -4911(components,)s 6169(these)s 6711(are)s 7053(not)s 7414(printed)s -8144(where)s 8778(the)s 0 313(section)m 735(is)s 947(promoted)s -1923(into)s 2350(its)s 2627(chapter)s 9(,)k 3430(b)s 4(ut)k -3793(rather)s 4411(where)s 5053(the)s 5402(chapter)s 6167(is)s -6378(promoted)s 7355(onto)s 7835(pages.)s 8546(If)s 8778(the)s +4228(if)s 4445(so)s 4711(where.)s 480 5754(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 5466(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 5178(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 4890(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 4516(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 4228(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 3940(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 3652(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 3364(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 2990(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 2702(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 2414(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 1915(C)m 168 fnt6 645 1828(i)m 240 fnt4 +773 1907(:)m 240 fnt6 903 1915(H)m 168 fnt4 1086 1822(1)m +240 fnt4 1164 1907(,)m 240 fnt6 1271 1915(H)m 168 fnt4 +1454 1822(2)m 240 fnt4 1546 1907(,)m 1653(\274)s 1951(,)s +240 fnt6 2058 1915(H)m 168 fnt6 2241 1828(n)m 240 fnt6 +480 1627(/)m 480 1339(C)m 168 fnt6 645 1252(i)m 168 fnt4 +711 1246(+)m 824(1)s 240 fnt4 974 1331(:)m 240 fnt6 +1104 1339(H)m 168 fnt4 1287 1246(1)m 240 fnt4 1365 1331(,)m +240 fnt6 1472 1339(H)m 168 fnt4 1655 1246(2)m 240 fnt4 +1747 1331(,)m 1854(\274)s 2152(,)s 240 fnt6 2259 1339(H)m +168 fnt6 2442 1252(n)m 240 fnt1 0 795(which)m 642(may)s +1108(be)s 1391(read:)s 1908(`If)s 2217(ordinary)s 3082(component)s +240 fnt6 4206 797(C)m 168 fnt6 4371 710(i)m 240 fnt1 +4475 795(has)m 4846(header)s 5543(component)s 6667(sequence)s 240 fnt6 +7601 797(H)m 168 fnt4 7784 704(1)m 240 fnt4 7862 789(,)m +240 fnt6 7969 797(H)m 168 fnt4 8152 704(2)m 240 fnt4 +8244 789(,)m 8351(\274)s 8649(,)s 240 fnt6 8756 797(H)m +168 fnt6 8939 710(n)m 240 fnt1 9019 795(,)m 0 507(then)m +468(its)s 742(successor)s 1717(component)s 240 fnt6 2839 509(C)m +168 fnt6 3004 422(i)m 168 fnt4 3070 416(+)m 3183(1)s +240 fnt1 3308 507(has)m 3676(header)s 4372(component)s 5494(sequence)s +240 fnt6 6426 509(H)m 168 fnt4 6609 416(1)m 240 fnt4 +6687 501(,)m 240 fnt6 6794 509(H)m 168 fnt4 6977 416(2)m +240 fnt4 7069 501(,)m 7176(\274)s 7474(,)s 240 fnt6 +7581 509(H)m 168 fnt6 7764 422(n)m 240 fnt1 7902 507(also.)m 16(')k +8501(Using)s 0 219(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 +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore grestore @@ -11901,150 +12665,152 @@ grestore pgsave restore showpage -%%Page: 59 65 +%%Page: 60 66 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Symbol %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(60)m 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 13261 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(3.32.)m 574(@Be)s 9(ginHeaderComponent,)k 3360(@EndHeaderComponent,)s -5984(@SetHeaderComponent,)s 574 13555(and)m 1000(@ClearHeaderComponent)s 240 fnt84 8832 13840(59)m -240 fnt82 0 12917(tar)m 4(get)k 611(occupies)s 1511(the)s -1871(whole)s 2525(component,)s 3708(then)s 4189(the)s 4549(incoming)s -5519(g)s 1(alle)k 3(y)k 6165(will)s 6603(not)s -6981(split)s 7465(at)s 7709(all,)s 8066(so)s 8345(headers)s -0 12629(w)m 2(ould)k 655(be)s 937(of)s 1208(no)s -1501(interest)s 2263(there.)s 480 12255(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 11967(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 11679(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 fnt83 480 11180(C)m -168 fnt83 645 11093(i)m 240 fnt78 773 11172(:)m 240 fnt83 -903 11180(H)m 168 fnt78 1086 11087(1)m 240 fnt78 1164 11172(,)m -240 fnt83 1271 11180(H)m 168 fnt78 1454 11087(2)m 240 fnt78 -1546 11172(,)m 1653(\274)s 1951(,)s 240 fnt83 2058 11180(H)m -168 fnt83 2241 11093(n)m 240 fnt83 480 10892(/)m 480 10604(C)m -168 fnt83 645 10517(i)m 168 fnt78 711 10511(+)m 824(1)s -240 fnt78 974 10596(:)m 240 fnt83 1104 10604(H)m 168 fnt78 -1287 10511(1)m 240 fnt78 1365 10596(,)m 240 fnt83 1472 10604(H)m -168 fnt78 1655 10511(2)m 240 fnt78 1747 10596(,)m 1854(\274)s -2152(,)s 240 fnt83 2259 10604(H)m 168 fnt83 2442 10517(n)m -240 fnt82 0 10060(which)m 642(may)s 1108(be)s 1391(read:)s -1908(`If)s 2217(ordinary)s 3082(component)s 240 fnt83 4206 10062(C)m -168 fnt83 4371 9975(i)m 240 fnt82 4475 10060(has)m 4846(header)s -5543(component)s 6667(sequence)s 240 fnt83 7601 10062(H)m 168 fnt78 -7784 9969(1)m 240 fnt78 7862 10054(,)m 240 fnt83 7969 10062(H)m -168 fnt78 8152 9969(2)m 240 fnt78 8244 10054(,)m 8351(\274)s -8649(,)s 240 fnt83 8756 10062(H)m 168 fnt83 8939 9975(n)m -240 fnt82 9019 10060(,)m 0 9772(then)m 468(its)s 742(successor)s -1717(component)s 240 fnt83 2839 9774(C)m 168 fnt83 3004 9687(i)m -168 fnt78 3070 9681(+)m 3183(1)s 240 fnt82 3308 9772(has)m -3676(header)s 4372(component)s 5494(sequence)s 240 fnt83 6426 9774(H)m -168 fnt78 6609 9681(1)m 240 fnt78 6687 9766(,)m 240 fnt83 -6794 9774(H)m 168 fnt78 6977 9681(2)m 240 fnt78 7069 9766(,)m -7176(\274)s 7474(,)s 240 fnt83 7581 9774(H)m 168 fnt83 -7764 9687(n)m 240 fnt82 7902 9772(also.)m 16(')k 8501(Using)s -0 9484(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 fnt83 480 8985(C)m 168 fnt83 645 8898(i)m 240 fnt78 -773 8977(:)m 240 fnt83 903 8985(H)m 168 fnt78 1086 8892(1)m -240 fnt78 1164 8977(,)m 240 fnt83 1271 8985(H)m 168 fnt78 -1454 8892(2)m 240 fnt78 1546 8977(,)m 1653(\274)s 1951(,)s -240 fnt83 2058 8985(H)m 168 fnt83 2241 8898(n)m 240 fnt83 -480 8697(/)m 480 8409(gap)m 220 fnt35 905 8404(@BeginHeaderComponent)m 240 fnt83 -3609 8409(H)m 168 fnt83 3792 8322(n)m 168 fnt78 3894 8316(+)m -4007(1)s 240 fnt83 480 8121(/)m 480 7833(C)m 168 fnt83 -645 7746(i)m 168 fnt78 711 7740(+)m 824(1)s 240 fnt78 -974 7825(:)m 240 fnt83 1104 7833(H)m 168 fnt78 1287 7740(1)m -240 fnt78 1365 7825(,)m 240 fnt83 1472 7833(H)m 168 fnt78 -1655 7740(2)m 240 fnt78 1747 7825(,)m 1854(\274)s 2152(,)s -240 fnt83 2259 7833(H)m 168 fnt83 2442 7746(n)m 240 fnt78 -2534 7825(,)m 240 fnt83 2641 7833(H)m 168 fnt83 2824 7746(n)m -168 fnt78 2926 7740(+)m 3039(1)s 240 fnt82 0 7289(That)m -478(is,)s 220 fnt35 723 7286(@BeginHeaderComponent)m 240 fnt82 3394 7289(occup)m 2(ying)k -4422(an)s 4684(entire)s 5263(component)s 6366(appends)s 7181(a)s -7326(header)s 8002(component)s 0 7001(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 6713(is)m 217(separated)s 1184(by)s 240 fnt83 -1485 6715(gap)m 240 fnt82 1905 6713(from)m 2436(the)s 2792(follo)s 6(wing)k -3776(component;)s 4959(if)s 240 fnt83 5183 6715(gap)m 240 fnt82 -5603 6713(is)m 5820(empty)s 6480(it)s 6679(denotes)s 220 fnt35 -7468 6710(0ie)m 240 fnt82 7819 6713(as)m 8076(usual)s 8644(with)s -0 6425(concatenation)m 1391(g)s 1(aps.)k 2000(The)s 2434(appearance)s +240 fnt6 480 13209(C)m +168 fnt6 645 13122(i)m 240 fnt4 773 13201(:)m 240 fnt6 +903 13209(H)m 168 fnt4 1086 13116(1)m 240 fnt4 1164 13201(,)m +240 fnt6 1271 13209(H)m 168 fnt4 1454 13116(2)m 240 fnt4 +1546 13201(,)m 1653(\274)s 1951(,)s 240 fnt6 2058 13209(H)m +168 fnt6 2241 13122(n)m 240 fnt6 480 12921(/)m 480 12633(gap)m +220 fnt2 905 12628(@BeginHeaderComponent)m 240 fnt6 3609 12633(H)m 168 fnt6 +3792 12546(n)m 168 fnt4 3894 12540(+)m 4007(1)s 240 fnt6 +480 12345(/)m 480 12057(C)m 168 fnt6 645 11970(i)m 168 fnt4 +711 11964(+)m 824(1)s 240 fnt4 974 12049(:)m 240 fnt6 +1104 12057(H)m 168 fnt4 1287 11964(1)m 240 fnt4 1365 12049(,)m +240 fnt6 1472 12057(H)m 168 fnt4 1655 11964(2)m 240 fnt4 +1747 12049(,)m 1854(\274)s 2152(,)s 240 fnt6 2259 12057(H)m +168 fnt6 2442 11970(n)m 240 fnt4 2534 12049(,)m 240 fnt6 +2641 12057(H)m 168 fnt6 2824 11970(n)m 168 fnt4 2926 11964(+)m +3039(1)s 240 fnt1 0 11513(That)m 478(is,)s 220 fnt2 +723 11510(@BeginHeaderComponent)m 240 fnt1 3394 11513(occup)m 2(ying)k 4422(an)s +4684(entire)s 5263(component)s 6366(appends)s 7181(a)s 7326(header)s +8002(component)s 0 11225(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 10937(is)m 217(separated)s 1184(by)s 240 fnt6 1485 10939(gap)m +240 fnt1 1905 10937(from)m 2436(the)s 2792(follo)s 6(wing)k +3776(component;)s 4959(if)s 240 fnt6 5183 10939(gap)m 240 fnt1 +5603 10937(is)m 5820(empty)s 6480(it)s 6679(denotes)s 220 fnt2 +7468 10934(0ie)m 240 fnt1 7819 10937(as)m 8076(usual)s 8644(with)s +0 10649(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 6137(been)m 509(had)s 913(it)s 1105(occurred)s 1999(alone)s +0 10361(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 fnt35 5403 6134(@BeginHeaderComponent)m 240 fnt82 8035 6137(.)m -480 5763(Ne)m 3(xt)k 1002(comes)s 220 fnt35 1664 5760(@EndHeaderComponent)m -240 fnt82 4126 5763(:)m 240 fnt83 480 5268(C)m 168 fnt83 -645 5181(i)m 240 fnt78 773 5260(:)m 240 fnt83 903 5268(H)m -168 fnt78 1086 5175(1)m 240 fnt78 1164 5260(,)m 240 fnt83 -1271 5268(H)m 168 fnt78 1454 5175(2)m 240 fnt78 1546 5260(,)m -1653(\274)s 1951(,)s 240 fnt83 2058 5268(H)m 168 fnt83 -2241 5181(n)m 240 fnt78 2333 5260(,)m 240 fnt83 2440 5268(H)m -168 fnt83 2623 5181(n)m 168 fnt78 2725 5175(+)m 2838(1)s -240 fnt83 480 4980(/)m 220 fnt35 480 4687(@EndHeaderComponent)m 240 fnt83 -480 4404(/)m 480 4116(C)m 168 fnt83 645 4029(i)m 168 fnt78 -711 4023(+)m 824(1)s 240 fnt78 974 4108(:)m 240 fnt83 -1104 4116(H)m 168 fnt78 1287 4023(1)m 240 fnt78 1365 4108(,)m -240 fnt83 1472 4116(H)m 168 fnt78 1655 4023(2)m 240 fnt78 -1747 4108(,)m 1854(\274)s 2152(,)s 240 fnt83 2259 4116(H)m -168 fnt83 2442 4029(n)m 240 fnt82 0 3572(That)m 520(is,)s -220 fnt35 809 3569(@EndHeaderComponent)m 240 fnt82 3353 3572(\(which)m 4097(has)s +4907(after)s 220 fnt2 5403 10358(@BeginHeaderComponent)m 240 fnt1 8035 10361(.)m +480 9987(Ne)m 3(xt)k 1002(comes)s 220 fnt2 1664 9984(@EndHeaderComponent)m +240 fnt1 4126 9987(:)m 240 fnt6 480 9492(C)m 168 fnt6 +645 9405(i)m 240 fnt4 773 9484(:)m 240 fnt6 903 9492(H)m +168 fnt4 1086 9399(1)m 240 fnt4 1164 9484(,)m 240 fnt6 +1271 9492(H)m 168 fnt4 1454 9399(2)m 240 fnt4 1546 9484(,)m +1653(\274)s 1951(,)s 240 fnt6 2058 9492(H)m 168 fnt6 +2241 9405(n)m 240 fnt4 2333 9484(,)m 240 fnt6 2440 9492(H)m +168 fnt6 2623 9405(n)m 168 fnt4 2725 9399(+)m 2838(1)s +240 fnt6 480 9204(/)m 220 fnt2 480 8911(@EndHeaderComponent)m 240 fnt6 +480 8628(/)m 480 8340(C)m 168 fnt6 645 8253(i)m 168 fnt4 +711 8247(+)m 824(1)s 240 fnt4 974 8332(:)m 240 fnt6 +1104 8340(H)m 168 fnt4 1287 8247(1)m 240 fnt4 1365 8332(,)m +240 fnt6 1472 8340(H)m 168 fnt4 1655 8247(2)m 240 fnt4 +1747 8332(,)m 1854(\274)s 2152(,)s 240 fnt6 2259 8340(H)m +168 fnt6 2442 8253(n)m 240 fnt1 0 7796(That)m 520(is,)s +220 fnt2 809 7793(@EndHeaderComponent)m 240 fnt1 3353 7796(\(which)m 4097(has)s 4490(no)s 4805(parameters\))s 6003(occup)s 2(ying)k 7074(an)s -7380(entire)s 8002(component)s 0 3284(deletes)m 722(the)s 1078(last)s +7380(entire)s 8002(component)s 0 7508(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 2996(it)m -193(remains)s 1002(empty)s 15(.)k 220 fnt35 1751 2993(@BeginHeaderComponent)m -240 fnt82 4445 2996(and)m 220 fnt35 4851 2993(@EndHeaderComponent)m 240 fnt82 -7375 2996(are)m 7724(naturally)s 8629(used)s 0 2708(in)m 243(matching)s +6886(message)s 7760(is)s 7978(printed)s 8722(and)s 0 7220(it)m +193(remains)s 1002(empty)s 15(.)k 220 fnt2 1751 7217(@BeginHeaderComponent)m +240 fnt1 4445 7220(and)m 220 fnt2 4851 7217(@EndHeaderComponent)m 240 fnt1 +7375 7220(are)m 7724(naturally)s 8629(used)s 0 6932(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 2334(Ne)m 3(xt)k 1002(comes)s 220 fnt35 -1664 2331(@SetHeaderComponent)m 240 fnt82 4065 2334(:)m 240 fnt83 480 1839(C)m -168 fnt83 645 1752(i)m 240 fnt78 773 1831(:)m 240 fnt83 -903 1839(H)m 168 fnt78 1086 1746(1)m 240 fnt78 1164 1831(,)m -240 fnt83 1271 1839(H)m 168 fnt78 1454 1746(2)m 240 fnt78 -1546 1831(,)m 1653(\274)s 1951(,)s 240 fnt83 2058 1839(H)m -168 fnt83 2241 1752(n)m 240 fnt83 480 1551(/)m 480 1263(gap)m -220 fnt35 905 1258(@SetHeaderComponent)m 240 fnt83 3378 1263(H)m 168 fnt83 -3561 1176(n)m 168 fnt78 3663 1170(+)m 3776(1)s 240 fnt83 -480 975(/)m 480 687(C)m 168 fnt83 645 600(i)m 168 fnt78 -711 594(+)m 824(1)s 240 fnt78 974 679(:)m 240 fnt83 -1104 687(H)m 168 fnt83 1287 600(n)m 168 fnt78 1389 594(+)m -1502(1)s +7864(component.)s 480 6558(Ne)m 3(xt)k 1002(comes)s 220 fnt2 +1664 6555(@SetHeaderComponent)m 240 fnt1 4065 6558(:)m 240 fnt6 480 6063(C)m +168 fnt6 645 5976(i)m 240 fnt4 773 6055(:)m 240 fnt6 +903 6063(H)m 168 fnt4 1086 5970(1)m 240 fnt4 1164 6055(,)m +240 fnt6 1271 6063(H)m 168 fnt4 1454 5970(2)m 240 fnt4 +1546 6055(,)m 1653(\274)s 1951(,)s 240 fnt6 2058 6063(H)m +168 fnt6 2241 5976(n)m 240 fnt6 480 5775(/)m 480 5487(gap)m +220 fnt2 905 5482(@SetHeaderComponent)m 240 fnt6 3378 5487(H)m 168 fnt6 +3561 5400(n)m 168 fnt4 3663 5394(+)m 3776(1)s 240 fnt6 +480 5199(/)m 480 4911(C)m 168 fnt6 645 4824(i)m 168 fnt4 +711 4818(+)m 824(1)s 240 fnt4 974 4903(:)m 240 fnt6 +1104 4911(H)m 168 fnt6 1287 4824(n)m 168 fnt4 1389 4818(+)m +1502(1)s 220 fnt2 0 4364(@SetHeaderComponent)m 240 fnt1 2461 4367(clears)m +3068(an)s 3(y)k 3465(current)s 4201(header)s 4898(components)s +6107(and)s 6511(replaces)s 7344(them)s 7882(by)s 8176(one)s +8578(of)s 8850(its)s 0 4079(o)m 6(wn.)k 571(Finally)s +1302(we)s 1637(ha)s 4(v)k 3(e)k 220 fnt2 +2138 4076(@ClearHeaderComponent)m 240 fnt1 4733 4079(:)m 240 fnt6 480 3580(C)m +168 fnt6 645 3493(i)m 240 fnt4 773 3572(:)m 240 fnt6 +903 3580(H)m 168 fnt4 1086 3487(1)m 240 fnt4 1164 3572(,)m +240 fnt6 1271 3580(H)m 168 fnt4 1454 3487(2)m 240 fnt4 +1546 3572(,)m 1653(\274)s 1951(,)s 240 fnt6 2058 3580(H)m +168 fnt6 2241 3493(n)m 240 fnt6 480 3292(/)m 220 fnt2 +480 2999(@ClearHeaderComponent)m 240 fnt6 480 2716(/)m 480 2428(C)m 168 fnt6 +645 2341(i)m 168 fnt4 711 2335(+)m 824(1)s 240 fnt4 +974 2420(:)m 240 fnt1 0 1884(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 +7497(last)s 7878(tw)s 2(o)k 8277(symbols)s 0 1596(combine)m +879(less)s 1287(cleanly)s 2030(than)s 2497(the)s 2844(\207rst)s +3274(tw)s 2(o)k 3683(\(either)s 4363(will)s 4788(wreck)s +5432(an)s 3(y)k 5828(enclosing)s 220 fnt2 6796 1593(@BeginHeaderCompo)m +240 fnt1 8998 1596(-)m 220 fnt2 0 1305(nent)m 240 fnt1 +491 1308(\211)m 220 fnt2 679 1305(@EndHeaderComponent)m 240 fnt1 3209 1308(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 1020(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 646(All)m 859(four)s 1337(symbols)s 2206(yield)s 2761(the)s +3129(v)s 6(alue)k 220 fnt2 3717 643(@Null)m 240 fnt1 +4382 646(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 358(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 + +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -12054,126 +12820,142 @@ grestore pgsave restore showpage -%%Page: 60 66 +%%Page: 61 67 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica -%%+ font Symbol /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(3.33.)m 1991(@NotRe)s 3(vealed)k 240 fnt5 +10256 -1583(61)m gsave +1417 -15423 translate +240 fnt1 9066 13412 0 13412 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(60)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 220 fnt35 0 13202(@SetHeaderComponent)m -240 fnt82 2461 13205(clears)m 3068(an)s 3(y)k 3465(current)s -4201(header)s 4898(components)s 6107(and)s 6511(replaces)s 7344(them)s -7882(by)s 8176(one)s 8578(of)s 8850(its)s 0 12917(o)m 6(wn.)k -571(Finally)s 1302(we)s 1637(ha)s 4(v)k 3(e)k -220 fnt35 2138 12914(@ClearHeaderComponent)m 240 fnt82 4733 12917(:)m 240 fnt83 -480 12418(C)m 168 fnt83 645 12331(i)m 240 fnt78 773 12410(:)m -240 fnt83 903 12418(H)m 168 fnt78 1086 12325(1)m 240 fnt78 -1164 12410(,)m 240 fnt83 1271 12418(H)m 168 fnt78 1454 12325(2)m -240 fnt78 1546 12410(,)m 1653(\274)s 1951(,)s 240 fnt83 -2058 12418(H)m 168 fnt83 2241 12331(n)m 240 fnt83 480 12130(/)m -220 fnt35 480 11837(@ClearHeaderComponent)m 240 fnt83 480 11554(/)m 480 11266(C)m -168 fnt83 645 11179(i)m 168 fnt78 711 11173(+)m 824(1)s -240 fnt78 974 11258(:)m 240 fnt82 0 10722(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 7497(last)s 7878(tw)s 2(o)k 8277(symbols)s -0 10434(combine)m 879(less)s 1287(cleanly)s 2030(than)s 2497(the)s -2844(\207rst)s 3274(tw)s 2(o)k 3683(\(either)s 4363(will)s -4788(wreck)s 5432(an)s 3(y)k 5828(enclosing)s 220 fnt35 -6796 10431(@BeginHeaderCompo)m 240 fnt82 8998 10434(-)m 220 fnt35 0 10143(nent)m -240 fnt82 491 10146(\211)m 220 fnt35 679 10143(@EndHeaderComponent)m 240 fnt82 -3209 10146(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 9858(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 9484(All)m 859(four)s 1337(symbols)s -2206(yield)s 2761(the)s 3129(v)s 6(alue)k 220 fnt35 -3717 9481(@Null)m 240 fnt82 4382 9484(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 9196(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 -240 fnt84 0 8403(3.33.)m 591(@NotRe)s 3(v)k 2(ealed)k -240 fnt82 480 7971(The)m 220 fnt35 938 7968(@NotRe)m 6(v)k 5(ealed)k -240 fnt82 2495 7971(symbol)m 3285(e)s 3(x)k 3(erts)k +240 fnt5 0 13247(3.33.)m 591(@NotRe)s 3(v)k 2(ealed)k +240 fnt1 480 12815(The)m 220 fnt2 938 12812(@NotRe)m 6(v)k 5(ealed)k +240 fnt1 2495 12815(symbol)m 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 7683(symbols.)m 955(It)s +8204(recepti)s 6(v)k 3(e)k 0 12527(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 7395(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 fnt35 -480 6894(def A { @Galle)m 4(y })k 480 6318(def B { @Galle)m 4(y })k 480 5742(def ABList)m -480 5454({)m 480 5166( A)m 480 4878( // B @NotRe)m 6(v)k 5(ealed)k -480 4590( // ABList)m 480 4302(})m 240 fnt82 0 3808(The)m 424(meaning)s +0 12239(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 11738(def A { @Galle)m 4(y })k 480 11162(def B { @Galle)m 4(y })k 480 10586(def ABList)m +480 10298({)m 480 10010( A)m 480 9722( // B @NotRe)m 6(v)k 5(ealed)k +480 9434( // ABList)m 480 9146(})m 240 fnt1 0 8652(The)m 424(meaning)s 1297(is)s 1503(that)s 1916(the)s 2260(symbol)s 3016(immediately)s -4259(preceding)s 220 fnt35 5251 3805(@NotRe)m 6(v)k 5(ealed)k -240 fnt82 6718 3808(,)m 220 fnt35 6821 3805(B)m 240 fnt82 -7015 3808(in)m 7253(this)s 7645(e)s 3(xample,)k 8555(is)s -8760(not)s 0 3520(re)m 6(v)k 3(ealed)k 851(to)s +4259(preceding)s 220 fnt2 5251 8649(@NotRe)m 6(v)k 5(ealed)k +240 fnt1 6718 8652(,)m 220 fnt2 6821 8649(B)m 240 fnt1 +7015 8652(in)m 7253(this)s 7645(e)s 3(xample,)k 8555(is)s +8760(not)s 0 8364(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 fnt35 3431 3517(ABList)m 240 fnt82 4113 3520(while)m 4693(searching)s +220 fnt2 3431 8361(ABList)m 240 fnt1 4113 8364(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 3232(that)m 220 fnt35 408 3229(ABList)m 240 fnt82 1086 3232(contains)m -220 fnt35 1923 3229(A)m 240 fnt82 2116 3232(only)m 15(,)k -2624(not)s 220 fnt35 2979 3229(B)m 240 fnt82 3117 3232(,)m +0 8076(that)m 220 fnt2 408 8073(ABList)m 240 fnt1 1086 8076(contains)m +220 fnt2 1923 8073(A)m 240 fnt1 2116 8076(only)m 15(,)k +2624(not)s 220 fnt2 2979 8073(B)m 240 fnt1 3117 8076(,)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 fnt35 6039 3229(A)m -240 fnt82 6233 3232(will)m 6648(e)s 3(xpand)k 220 fnt35 -7384 3229(ABList)m 240 fnt82 8013 3232(.)m 8166(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -0 2944(after)m 220 fnt35 496 2941(ABList)m 240 fnt82 1185 2944(is)m +4999(tar)s 4(geted)k 5811(to)s 220 fnt2 6039 8073(A)m +240 fnt1 6233 8076(will)m 6648(e)s 3(xpand)k 220 fnt2 +7384 8073(ABList)m 240 fnt1 8013 8076(.)m 8166(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +0 7788(after)m 220 fnt2 496 7785(ABList)m 240 fnt1 1185 7788(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 fnt35 -3996 2941(B)m 240 fnt82 4194 2944(will)m 4620(be)s 4902(a)s 4(v)k 6(ailable)k +3324(g)s 1(alle)k 3(y)k 15(,)k 220 fnt2 +3996 7785(B)m 240 fnt1 4194 7788(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 2570(Apart)m 1081(from)s 1602(this)s 1994(meaning,)s 220 fnt35 -2922 2567(@NotRe)m 6(v)k 5(ealed)k 240 fnt82 4445 2570(has)m +480 7414(Apart)m 1081(from)s 1602(this)s 1994(meaning,)s 220 fnt2 +2922 7411(@NotRe)m 6(v)k 5(ealed)k 240 fnt1 4445 7414(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 2282(may)m 501(be)s 819(understood)s 1976(by)s -2306(deleting)s 220 fnt35 3164 2279(@NotRe)m 6(v)k 5(ealed)k -240 fnt82 4727 2282(and)m 5166(an)s 3(y)k 5599(preceding)s -6630(space.)s 7361(Thus,)s 7982(the)s 8366(symbol)s 0 1994(preceding)m -220 fnt35 1001 1991(@NotRe)m 6(v)k 5(ealed)k 240 fnt82 -2533 1994(may)m 3004(ha)s 4(v)k 3(e)k 3510(named)s +8152(de\207nition)s 0 7126(may)m 501(be)s 819(understood)s 1976(by)s +2306(deleting)s 220 fnt2 3164 7123(@NotRe)m 6(v)k 5(ealed)k +240 fnt1 4727 7126(and)m 5166(an)s 3(y)k 5599(preceding)s +6630(space.)s 7361(Thus,)s 7982(the)s 8366(symbol)s 0 6838(preceding)m +220 fnt2 1001 6835(@NotRe)m 6(v)k 5(ealed)k 240 fnt1 +2533 6838(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 1706(follo)m 6(w)k 672(after)s 1168(the)s 220 fnt35 -1516 1703(@NotRe)m 6(v)k 5(ealed)k 240 fnt82 3043 1706(symbol.)m -480 1332(This)m 944(symbol)s 1692(w)s 2(as)k 2101(introduced)s +0 6550(follo)m 6(w)k 672(after)s 1168(the)s 220 fnt2 +1516 6547(@NotRe)m 6(v)k 5(ealed)k 240 fnt1 3043 6550(symbol.)m +480 6176(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 1044(It)m 205(turned)s 874(out)s +8001(as)s 8238(displays.)s 0 5888(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 +5839(\(in)s 6161(part\))s 6660(as)s 220 fnt2 480 5387(@BodyT)m 26(e)k 6(xtPlace)k +480 5099(// @FigurePlace)m 480 4811(// @BodyT)m 26(e)k 6(xtPlace)k 480 4523(// @FigurePlace)m +480 4235(// @BodyT)m 26(e)k 6(xtPlace)k 480 3947(...)m 240 fnt1 +0 3496(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 3208(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 3205(@BodyT)m 26(e)k 6(xtPlace)k +240 fnt1 8527 3208(in)m 8778(the)s 0 2920(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 2917(@NP)m 240 fnt1 6851 2920(symbol)m 7618(merely)s 8342(causing)s +0 2632(a)m 174(skip)s 634(from)s 1167(one)s 220 fnt2 +1577 2629(@BodyT)m 26(e)k 6(xtPlace)k 240 fnt1 3303 2632(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 2344(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 2056(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 1765(@BodyT)m 26(e)k 6(xtPlace)k 240 fnt1 1703 1768(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 1765(ABList)m +240 fnt1 6625 1768(abo)m 3(v)k 3(e;)k 7287(each)s +7767(occurrence)s 8855(of)s 220 fnt2 0 1477(@BodyT)m 26(e)k 6(xtPlace)k +240 fnt1 1712 1480(after)m 2201(a)s 220 fnt2 2361 1477(@FigurePlace)m +240 fnt1 3798 1480(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 1192(be)m 282(found)s 899(by)s +1193(body)s 1727(te)s 3(xt)k 2142(g)s 1(alle)k 3(ys)k +2866(unless)s 3515(a)s 3682(\207gure)s 4296(has)s 4666(pre)s 6(viously)k +5724(attached)s 6578(to)s 6817(the)s 7165(preceding)s 220 fnt2 +8162 1189(@Figure)m 240 fnt1 8998 1192(-)m 220 fnt2 0 901(Place)m +240 fnt1 540 904(.)m +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -12183,165 +12965,178 @@ grestore pgsave restore showpage -%%Page: 61 67 +%%Page: 62 68 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(62)m 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 +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(3.33.)m 574(@NotRe)s 3(vealed)k 240 fnt84 -8839 13840(61)m 220 fnt35 480 13251(@BodyT)m 26(e)k 6(xtPlace)k -480 12963(// @FigurePlace)m 480 12675(// @BodyT)m 26(e)k 6(xtPlace)k 480 12387(// @FigurePlace)m -480 12099(// @BodyT)m 26(e)k 6(xtPlace)k 480 11811(...)m 240 fnt82 -0 11360(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 11072(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 fnt35 6801 11069(@BodyT)m 26(e)k 6(xtPlace)k -240 fnt82 8527 11072(in)m 8778(the)s 0 10784(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 fnt35 -6267 10781(@NP)m 240 fnt82 6851 10784(symbol)m 7618(merely)s 8342(causing)s -0 10496(a)m 174(skip)s 634(from)s 1167(one)s 220 fnt35 -1577 10493(@BodyT)m 26(e)k 6(xtPlace)k 240 fnt82 3303 10496(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 10208(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 9920(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 fnt35 -0 9629(@BodyT)m 26(e)k 6(xtPlace)k 240 fnt82 1703 9632(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 fnt35 5951 9629(ABList)m -240 fnt82 6625 9632(abo)m 3(v)k 3(e;)k 7287(each)s -7767(occurrence)s 8855(of)s 220 fnt35 0 9341(@BodyT)m 26(e)k 6(xtPlace)k -240 fnt82 1712 9344(after)m 2201(a)s 220 fnt35 2361 9341(@FigurePlace)m -240 fnt82 3798 9344(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 9056(be)m 282(found)s 899(by)s -1193(body)s 1727(te)s 3(xt)k 2142(g)s 1(alle)k 3(ys)k -2866(unless)s 3515(a)s 3682(\207gure)s 4296(has)s 4666(pre)s 6(viously)k -5724(attached)s 6578(to)s 6817(the)s 7165(preceding)s 220 fnt35 -8162 9053(@Figure)m 240 fnt82 8998 9056(-)m 220 fnt35 0 8765(Place)m -240 fnt82 540 8768(.)m 240 fnt84 0 8021(3.34.)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 240 fnt82 -480 7544(The)m 941(cross)s 1516(reference)s 2493(symbol)s 220 fnt35 -3286 7541(&&)m 240 fnt82 3668 7544(tak)m 2(es)k 4241(the)s +240 fnt5 0 13203(3.34.)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 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 7256(parameter)m 9(,)k 1068(and)s 1489(an)s 1788(object)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 6968(right)m 519(parameter)s 13(.)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 6680(from)m 524(the)s 872(cross)s 1414(reference)s +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 6306(The)m +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 fnt83 -4235 6308(tar)m 8(g)k 2(et)k 240 fnt82 4846 6306(of)m +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 fnt35 0 6015(@T)m 26(ag)k -240 fnt82 643 6018(parameter)m 1677(has)s 2067(v)s 6(alue)k +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 5730(special)m 759(tags,)s 220 fnt35 1292 5727(preceding)m -240 fnt82 2243 5730(,)m 220 fnt35 2391 5727(f)m 6(ollo)k 3(wing)k -240 fnt82 3221 5730(,)m 3369(and)s 220 fnt35 3814 5727(f)m 6(oll_or_prec)k -240 fnt82 4948 5730(,)m 5097(point)s 5690(respecti)s 6(v)k 3(ely)k +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 5442(preceding)m 1006(the)s 1365(cross)s 1918(reference)s 2872(in)s +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 5154(and)m 404(to)s +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 4780(A)m 709(cross)s 1249(reference)s 2190(may)s 2654(be)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 4492(v)m 6(alue)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 fnt35 3642 4489(@Open)m 240 fnt82 4457 4492(and)m 220 fnt35 -4870 4489(@Use)m 240 fnt82 5544 4492(symbols;)m 6463(with)s 6954(the)s -220 fnt35 7311 4489(@T)m 26(agged)k 240 fnt82 8309 4492(symbol;)m -0 4204(and)m 414(in)s 667(the)s 220 fnt35 1025 4201(into)m -240 fnt82 1441 4204(clause)m 2105(or)s 220 fnt35 2374 4201(@T)m 26(arget)k -240 fnt82 3271 4204(symbol)m 4041(of)s 4323(a)s 4499(g)s 1(alle)k 3(y)k +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 3916(tag)m -345(must)s 870(be)s 220 fnt35 1152 3913(preceding)m 240 fnt82 -2103 3916(,)m 220 fnt35 2210 3913(f)m 6(ollo)k 3(wing)k -240 fnt82 3040 3916(,)m 3147(or)s 220 fnt35 3406 3913(f)m 6(oll_or_prec)k -240 fnt82 4540 3916(.)m 480 3542(W)m 9(ithin)k 1233(an)s -220 fnt35 1557 3539(into)m 240 fnt82 2004 3542(clause)m 2698(or)s -220 fnt35 2999 3539(@T)m 26(arget)k 240 fnt82 3927 3542(symbol,)m +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 fnt35 6830 3539(&&&)m 240 fnt82 7365 3542(is)m 7616(acceptable)s -8722(and)s 0 3254(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 2880(Except)m 1203(within)s 1870(an)s -220 fnt35 2151 2877(into)m 240 fnt82 2556 2880(clause)m 3208(or)s -220 fnt35 3465 2877(@T)m 26(arget)k 240 fnt82 4351 2880(symbol,)m +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 fnt35 -8503 2877(@T)m 26(ag)k 240 fnt82 0 2592(parameter)m 13(.)k +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 fnt35 -6884 2589(preceding)m 240 fnt82 7835 2592(,)m 220 fnt35 7936 2589(f)m 6(ollo)k 3(wing)k -240 fnt82 8766 2592(,)m 8867(or)s 220 fnt35 0 2301(f)m 6(oll_or_prec)k -240 fnt82 1134 2304(.)m 240 fnt84 0 1515(3.35.)m 591(@T)s 22(agged)k -240 fnt82 480 1038(The)m 220 fnt35 924 1035(@T)m 26(agged)k -240 fnt82 1929 1038(symbol)m 2705(tak)s 2(es)k 3261(a)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.35.)m 591(@T)s 22(agged)k +240 fnt1 480 6220(The)m 220 fnt2 924 6217(@T)m 26(agged)k +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 750(v)m 6(alue)k 565(must)s 1087(be)s 1366(a)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 462(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 174(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 fnt35 7643 171(@T)m 26(agged)k -240 fnt82 8636 174(does)m +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 4275(3.36.)m 591(@Open and @Use)s +240 fnt1 480 3798(The)m 220 fnt2 904 3795(@Open)m 240 fnt1 +1706 3798(symbol)m 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 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 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 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 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 2646(in)m 234(an)s 507(e)s 3(xternal)k 1318(database)s +2187(\(Section)s 3031(3.37\).)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 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 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 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 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 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 +gsave +0 LoutMargSet +grestore + grestore grestore @@ -12351,126 +13146,130 @@ grestore pgsave restore showpage -%%Page: 62 68 +%%Page: 63 69 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(3.36.)m 1991(@Open and @Use)s 240 fnt5 10250 -1583(63)m +gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13257 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(62)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt82 0 13205(nothing.)m -896(The)s 1324(result)s 1914(of)s 220 fnt35 2185 13202(@T)m 26(agged)k -240 fnt82 3174 13205(is)m 3384(al)s 2(w)k 2(ays)k -220 fnt35 4095 13202(@Null)m 240 fnt82 4680 13205(,)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 fnt84 0 12412(3.36.)m 591(@Open and @Use)s -240 fnt82 480 11935(The)m 220 fnt35 904 11932(@Open)m 240 fnt82 -1706 11935(symbol)m 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 11647(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 11359(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 11071(parameter)m 9(,)k 1050(and)s -1452(its)s 1725(v)s 6(alue)k 2291(is)s 2499(the)s -220 fnt35 2844 11068(@Open)m 240 fnt82 3648 11071(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 10783(in)m 234(an)s 507(e)s 3(xternal)k 1318(database)s -2187(\(Section)s 3031(3.37\).)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 fnt35 6862 10780(@Open)m 240 fnt82 7658 10783(which)m 8290(happens)s -0 10495(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 fnt35 6462 10492(@Open)m 240 fnt82 -7268 10495(will)m 7695(be)s 7978(una)s 4(v)k 6(ailable)k -0 10207(within)m 668(the)s 220 fnt35 1016 10204(@Open)m 240 fnt82 -1762 10207(.)m 538 9833(The)m 220 fnt35 963 9830(@Use)m 240 fnt82 -1625 9833(symbol)m 2382(is)s 2589(an)s 220 fnt35 2869 9830(@Open)m -240 fnt82 3672 9833(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 9545(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 9257(in)m 243(an)s 220 fnt35 -526 9254(@Open)m 240 fnt82 1332 9257(symbol.)m 2201(F)s 3(or)k -2590(e)s 3(xample,)k 240 fnt83 480 8754(de\207nitions)m 220 fnt35 -480 8461(@Use)m 1145({)s 240 fnt83 1269 8466(x)m 220 fnt35 -1435 8461(})m 480 8173(@Use)m 1145({)s 240 fnt83 1269 8178(y)m -220 fnt35 1431 8173(})m 240 fnt83 480 7890(r)m 8(est)k -894(of)s 1175(input)s 240 fnt82 0 7389(is)m 210(equi)s 6(v)k 6(alent)k -1254(to)s 240 fnt83 480 6886(de\207nitions)m 480 6598(x)m 220 fnt35 -646 6593(@Open)m 480 6305({)m 240 fnt83 960 6310(y)m 220 fnt35 -1122 6305(@Open)m 960 6017({)m 240 fnt83 1084 6022(r)m 8(est)k -1498(of)s 1779(input)s 220 fnt35 960 5729(})m 480 5441(})m -240 fnt82 0 4947(The)m 220 fnt35 424 4944(@Use)m 240 fnt82 -1085 4947(symbol)m 1841(allo)s 6(ws)k 2506(a)s 2668(set)s +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 4659(enclosing)m 974(the)s 1327(entire)s 1931(document)s -2939(in)s 220 fnt35 3187 4656(@Open)m 240 fnt82 3998 4659(symbols.)m +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 4371(run)m 376(out)s 742(of)s -1013(memory)s 15(.)k 240 fnt84 0 3578(3.37.)m 591(@Database and @SysDatabase)s -240 fnt82 529 3101(The)m 220 fnt35 945 3098(@Database)m 240 fnt82 -2148 3101(symbol)m 2896(is)s 3095(used)s 3580(to)s 3808(declare)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.37.)m 591(@Database and @SysDatabase)s +240 fnt1 529 7552(The)m 220 fnt2 945 7549(@Database)m 240 fnt1 +2148 7552(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 2813(Lout)m 512(may)s 978(refer)s 1487(to)s +8708(that)s 0 7264(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 fnt35 480 2312(@Database @Months @W)m 6(eekDa)k 6(ys { standard })k -240 fnt82 0 1814(means)m 690(that)s 1137(there)s 1698(is)s -1937(a)s 2131(\207le)s 2521(called)s 220 fnt35 3177 1811(standard.ld)m -240 fnt82 4339 1814(containing)m 5430(in)s 9(v)k 4(ocations)k +6875(e)s 3(xample,)k 220 fnt2 480 6763(@Database @Months @W)m 6(eekDa)k 6(ys { standard })k +240 fnt1 0 6265(means)m 690(that)s 1137(there)s 1698(is)s +1937(a)s 2131(\207le)s 2521(called)s 220 fnt2 3177 6262(standard.ld)m +240 fnt1 4339 6265(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 1526(symbols)m 220 fnt35 846 1523(@Months)m 240 fnt82 1838 1526(and)m -220 fnt35 2238 1523(@W)m 6(eekDa)k 6(ys)k 240 fnt82 -3503 1526(.)m 3663(A)s 220 fnt35 3889 1523(@Database)m 240 fnt82 -5100 1526(symbol)m 5856(may)s 6318(appear)s 7011(an)s 3(ywhere)k -7990(a)s 8152(de\207nition)s 0 1238(or)m 252(a)s 220 fnt35 -411 1235(@Use)m 240 fnt82 1069 1238(symbol)m 1822(may)s 2281(appear)s 13(.)k +0 5977(symbols)m 220 fnt2 846 5974(@Months)m 240 fnt1 1838 5977(and)m +220 fnt2 2238 5974(@W)m 6(eekDa)k 6(ys)k 240 fnt1 +3503 5977(.)m 3663(A)s 220 fnt2 3889 5974(@Database)m 240 fnt1 +5100 5977(symbol)m 5856(may)s 6318(appear)s 7011(an)s 3(ywhere)k +7990(a)s 8152(de\207nition)s 0 5689(or)m 252(a)s 220 fnt2 +411 5686(@Use)m 240 fnt1 1069 5689(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 950(pro)m 3(vided)k 935(the)s 1312(de\207nitions)s 2402(the)s 3(y)k +0 5401(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 662(though)m 756(it)s +7516(is)s 7755(interpreted)s 8876(as)s 0 5113(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 374(symbols)m 866(lik)s 2(e)k 220 fnt35 1296 371(@I)m -240 fnt82 1639 374(for)m 220 fnt35 1995 371(Slope @F)m 6(ont)k -240 fnt82 3346 374(to)m 3602(be)s 3902(used)s 4417(in)s +0 4825(symbols)m 866(lik)s 2(e)k 220 fnt2 1296 4822(@I)m +240 fnt1 1639 4825(for)m 220 fnt2 1995 4822(Slope @F)m 6(ont)k +240 fnt1 3346 4825(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 +7981(not)s 8365(contain)s 220 fnt2 0 4534(@Database)m 240 fnt1 +1214 4537(or)m 220 fnt2 1473 4534(@Include)m 240 fnt1 2455 4537(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 4163(Basser)m 1198(Lout)s 1732(constructs)s +2773(an)s 240 fnt6 3078 4165(inde)m 4(x)k 3674(\207le)s +240 fnt1 3959 4163(,)m 4087(which)s 4751(in)s 5016(this)s +5433(e)s 3(xample)k 6318(is)s 6550(called)s 220 fnt2 +7199 4160(standard.li)m 240 fnt1 8196 4163(,)m 8325(the)s 8695(\207rst)s +0 3875(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 3587(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 3299(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 3011(\(including)m 1036(Unix\).)s 480 2637(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 2349(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 220 fnt2 +5353 2346(@SysDatabase)m 240 fnt1 6873 2349(.)m 240 fnt5 0 1556(3.38.)m +591(@Graphic)s 240 fnt1 556 1079(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 791(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 503(these)m 547(features,)s 1409(via)s 1761(its)s 220 fnt2 +2037 500(@Gr)m 2(aphic)k 240 fnt1 3081 503(symbol:)m +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -12480,79 +13279,46 @@ grestore pgsave restore showpage -%%Page: 63 69 +%%Page: 64 70 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(64)m 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 +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(3.37.)m 574(@Database and @SysDatabase)s 240 fnt84 8833 13840(63)m -220 fnt35 0 13202(@Database)m 240 fnt82 1214 13205(or)m 220 fnt35 -1473 13202(@Include)m 240 fnt82 2455 13205(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 12831(Basser)m 1198(Lout)s 1732(constructs)s 2773(an)s 240 fnt83 -3078 12833(inde)m 4(x)k 3674(\207le)s 240 fnt82 3959 12831(,)m -4087(which)s 4751(in)s 5016(this)s 5433(e)s 3(xample)k -6318(is)s 6550(called)s 220 fnt35 7199 12828(standard.li)m 240 fnt82 -8196 12831(,)m 8325(the)s 8695(\207rst)s 0 12543(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 12255(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 11967(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 11679(\(including)m -1036(Unix\).)s 480 11305(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 11017(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 220 fnt35 5353 11014(@SysDatabase)m 240 fnt82 6873 11017(.)m -240 fnt84 0 10224(3.38.)m 591(@Graphic)s 240 fnt82 556 9747(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 9459(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 9171(these)m 547(features,)s 1409(via)s 1761(its)s 220 fnt35 -2037 9168(@Gr)m 2(aphic)k 240 fnt82 3081 9171(symbol:)m 220 fnt35 -480 8673({ 0 0 mo)m 3(v)k 5(eto)k 480 8385( 0 ysiz)m 3(e lineto)k -480 8097( xsiz)m 3(e ysiz)k 3(e lineto)k 480 7809( xsiz)m 3(e 0 lineto)k -480 7521( closepath)m 480 7233( strok)m 4(e)k 480 6945(})m 480 6657(@Gr)m 2(aphic)k -480 6369({ //0.2c)m 480 6081( ||0.2c hello)m 8(, w)k 2(or)k -3(ld ||0.2c)k -480 5793( //0.2c)m 480 5505(})m 240 fnt82 0 5011(The)m 428(result)s +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 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 fnt35 4692 5008(@Gr)m 2(aphic)k 240 fnt82 -5736 5011(is)m 1365 422 0 422 240 288 60 480 4249 LoutGr2 +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 0 0 moveto 0 ysize lineto xsize ysize lineto @@ -12562,35 +13328,61 @@ stroke grestore 113 146(hello,)m 698(w)s 2(orld)k grestore -480 3533(The)m +480 8070(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 3245(object)m 651(whose)s 1327(size)s 1761(is)s 1979(identical)s +0 7782(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 fnt35 6563 3242(@OneCol)m -240 fnt82 7583 3245(and)m 220 fnt35 7995 3242(@OneRo)m 3(w)k -240 fnt82 0 2957(applied)m 762(to)s 1001(it.)s 1297(From)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 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 fnt83 6350 2959(base)m -240 fnt82 6782 2957(.)m 480 2583(The)m 898(left)s 1264(parameter)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 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 2295(and)m 421(dif)s 6(ferent)k 1313(implementations)s +8567(Lout,)s 0 6832(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 2007(applies)m 752(to)s 1016(Basser)s 1737(Lout,)s +8007(description)s 0 6544(applies)m 752(to)s 1016(Basser)s 1737(Lout,)s 2321(which)s 2988(uses)s 3475(the)s 3848(PostScript)s 4914(page)s 5447(description)s 6591(language)s 7535([1)s 7709(].)s 7977(Similar)s -8764(b)s 4(ut)k 0 1719(more)m 559(restricted)s 1517(possibilities)s +8764(b)s 4(ut)k 0 6256(more)m 559(restricted)s 1517(possibilities)s 2722(e)s 3(xist)k 3243(with)s 3737(the)s 4098(PDF)s 4608(back)s 5134(end)s 5550(\(see)s 6003(a)s 6182(separate)s -7033(document)s 8050(distrib)s 4(uted)k 0 1431(with)m 482(Lout\);)s +7033(document)s 8050(distrib)s 4(uted)k 0 5968(with)m 482(Lout\);)s 1125(to)s 1364(include)s 2124(both,)s 2657(use)s 3032(the)s -220 fnt35 3380 1428(@Bac)m 4(kEnd)k 240 fnt82 4525 1431(symbol)m -5285(lik)s 2(e)k 5697(this:)s +220 fnt2 3380 5965(@Bac)m 4(kEnd)k 240 fnt1 4525 5968(symbol)m +5285(lik)s 2(e)k 5697(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 +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -12600,60 +13392,45 @@ grestore pgsave restore showpage -%%Page: 64 70 +%%Page: 65 71 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(3.38.)m 1991(@Gr)s 3(aphic)k 240 fnt5 +10250 -1583(65)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13290 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(64)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 220 fnt35 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 fnt82 -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 fnt35 6166 8390(xsiz)m 3(e)k 240 fnt82 -6751 8393(and)m 220 fnt35 7190 8390(ysiz)m 3(e)k 240 fnt82 -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 fnt35 4774 8102(xmar)m -3(k)k -240 fnt82 5442 8105(and)m 220 fnt35 5853 8102(ymar)m -3(k)k -240 fnt82 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 fnt82 3570 2072 0 1994 180 288 45 LoutGraphic +gsave +480 11296 translate +180 fnt1 3570 2072 0 1994 180 288 45 LoutGraphic gsave grestore save gsave 200 dict begin lfigdict begin grestore -180 fnt83 107 1955(ysize)m -0 1388(ymark)m 180 fnt82 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 @@ -12677,44 +13454,111 @@ grestore grestore end end restore grestore -676 14(0)m 180 fnt83 -1526 15(xmark)m 3227(xsize)s end end restore +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 +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 fnt83 480 4179(l)m -220 fnt35 666 4174(cm)m 240 fnt82 1197 4177(instead)m 1932(of)s -2203(Lout')s 13(s)k 240 fnt83 3045 4179(l)m 240 fnt82 -3111 4177(c)m 240 fnt83 480 3891(l)m 220 fnt35 666 3886(in)m -240 fnt82 1197 3889(instead)m 1932(of)s 2203(Lout')s 13(s)k -240 fnt83 3045 3891(l)m 240 fnt82 3111 3889(i)m 240 fnt83 -480 3603(l)m 220 fnt35 666 3598(pt)m 240 fnt82 1197 3601(instead)m -1932(of)s 2203(Lout')s 13(s)k 240 fnt83 3045 3603(l)m -240 fnt82 3111 3601(p)m 240 fnt83 480 3315(l)m 220 fnt35 -666 3310(em)m 240 fnt82 1197 3313(instead)m 1932(of)s 2203(Lout')s 13(s)k -240 fnt83 3045 3315(l)m 240 fnt82 3111 3313(m)m 240 fnt83 -480 3027(l)m 220 fnt35 666 3022(ft)m 240 fnt82 1197 3025(instead)m -1932(of)s 2203(Lout')s 13(s)k 240 fnt83 3045 3027(l)m -240 fnt82 3111 3025(f)m 240 fnt83 480 2739(l)m 220 fnt35 -666 2734(vs)m 240 fnt82 1197 2737(instead)m 1932(of)s 2203(Lout')s 13(s)k -240 fnt83 3045 2739(l)m 240 fnt82 3111 2737(v)m 240 fnt83 -480 2451(l)m 220 fnt35 666 2446(sp)m 240 fnt82 1197 2449(instead)m -1932(of)s 2203(Lout')s 13(s)k 240 fnt83 3045 2451(l)m -240 fnt82 3111 2449(s)m 0 1908(Note)m 521(that)s 939(there)s +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 1534(A)m 732(point)s 1306(within)s 1996(the)s 2366(base)s +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 1246(lengths.)m -855(F)s 3(or)k 1244(e)s 3(xample,)k 220 fnt35 -480 749(xmar)m -3(k ymar)k -3(k)k 240 fnt82 0 251(is)m +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 +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 + +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -12724,137 +13568,116 @@ grestore pgsave restore showpage -%%Page: 65 71 +%%Page: 66 72 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(66)m 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 +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(3.38.)m 574(@Gr)s 3(aphic)k 240 fnt84 -8833 13840(65)m 220 fnt35 480 13214(0 2 cm)m 240 fnt82 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 fnt83 1323 12473(x)m 1489(coor)s 8(dinate)k -240 fnt82 2571 12471(and)m 2975(the)s 240 fnt83 3323 12473(y)m -3485(coor)s 8(dinate)k 240 fnt82 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 fnt83 5876 12099(path)m -240 fnt82 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 fnt83 1847 11149(x)m 2013(y)s 220 fnt35 -2175 11144(mo)m 3(v)k 5(eto)k 240 fnt82 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 fnt83 2036 10790(x)m 2202(y)s 220 fnt35 2364 10785(lineto)m -240 fnt82 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 fnt83 702 10141(x)m 868(y)s -1030(r)s 1188(angle1)s 1879(angle2)s 220 fnt35 2580 10136(arc)m -240 fnt82 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 fnt83 4058 9853(x)m 240 fnt82 -4235 9851(and)m 240 fnt83 4650 9853(y)m 240 fnt82 4823 9851(and)m -5238(whose)s 5917(radius)s 6563(is)s 240 fnt83 6784 9853(r)m -240 fnt82 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 fnt83 3727 9565(angle1)m -240 fnt82 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 fnt83 -3361 8989(angle2)m 240 fnt82 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 fnt83 589 8102(x)m 755(y)s 917(r)s 1075(angle1)s -1766(angle2)s 220 fnt35 2467 8097(arcn)m 240 fnt82 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 fnt83 -7253 8102(angle1)m 240 fnt82 7944 8100(to)m 240 fnt83 8183 8102(angle2)m -240 fnt82 8824 8100(.)m 220 fnt35 1955 7738(closepath)m 240 fnt82 -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 fnt35 3202 7364(mo)m 3(v)k 5(eto)k -240 fnt82 3907 7367(,)m 220 fnt35 4015 7364(arc)m 240 fnt82 -4315 7367(,)m 4422(or)s 220 fnt35 4682 7364(arcn)m 240 fnt82 -5095 7367(.)m 5259(It)s 5465(should)s 6162(be)s 6445(clear)s +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 6968(from)s 7493(this)s 7889(that)s 8308(the)s 8657(path)s -0 7079(gi)m 6(v)k 3(en)k 580(earlier:)s 220 fnt35 -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 fnt82 0 4937(traces)m 607(around)s 1330(the)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 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 4563(Once)m +4219(the)s 4567(pen)s 4970(do)s 6(wn.)k 480 10401(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 fnt83 -4041 4565(paint)m 240 fnt82 4595 4563(it)m 4785(onto)s 5262(the)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 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 4275(either)m 240 fnt83 -618 4277(str)m 10(ok)k 2(e)k 240 fnt82 1259 4275(it,)m +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 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 fnt83 6414 4277(\207ll)m 240 fnt82 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 +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 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 fnt83 1581 3484(length)m 220 fnt35 2234 3479(setline)m 4(width)k -240 fnt82 3600 3482(The)m 4028(pen)s 4431(will)s 4857(dra)s 3(w)k +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 5386(lines)s 5888(of)s 6159(the)s 6507(gi)s 6(v)k 3(en)k -7087(width.)s 220 fnt35 1553 2974([)m 240 fnt83 1668 2979(length)m -220 fnt35 2321 2974(])m 2430(0)s 2605(setdash)s 240 fnt82 -3600 2977(The)m 4034(pen)s 4444(will)s 4876(dra)s 3(w)k +7087(width.)s 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 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 2689(dashes)m +7648(do)s 6(wn,)k 8289(with)s 8778(the)s 3600 8527(dashes)m 4289(each)s 4784(of)s 5055(the)s 5403(gi)s 6(v)k 3(en)k -5983(length.)s 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 fnt35 -3822 2183(strok)m 4(e)k 240 fnt82 4408 2186(.)m 4572(So,)s -4932(for)s 5270(e)s 3(xample,)k 220 fnt35 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 fnt82 0 328(has)m 370(result)s 4320 0 0 0 240 288 60 480 38 LoutGr2 +5983(length.)s 0 8024(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 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([1)s 5304(].)s 5547(Here)s 6067(are)s 6414(tw)s 2(o)k +6824(other)s 7375(e)s 3(xamples:)k +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore grestore @@ -12865,111 +13688,129 @@ grestore pgsave restore showpage -%%Page: 66 72 +%%Page: 67 73 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica +%%+ font Symbol /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet -grestore -240 fnt84 0 13840(66)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt82 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 fnt35 6578 12937(setg)m 2(r)k 2(a)k 6(y)k -240 fnt82 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 fnt35 -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 fnt82 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 - +240 fnt6 1417 -1580(3.38.)m 1991(@Gr)s 3(aphic)k 240 fnt5 +10248 -1583(67)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13268 240 288 60 LoutGraphic +gsave +1 LoutMargSet 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 fnt35 6893 8360(@Gr)m 2(aphic)k 240 fnt82 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([1)s 5304(].)s 5547(Here)s 6067(are)s 6414(tw)s 2(o)k -6824(other)s 7375(e)s 3(xamples:)k 220 fnt35 480 7578(xsiz)m 3(e)k -1030(2)s 1203(div)s 240 fnt82 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 fnt35 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 fnt82 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 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 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 5262(tested)m -635(de\207nitions,)s 1772(lik)s 2(e)k 2205(those)s 2786(of)s -3078(the)s 3446(Diag)s 3985(\207gure)s 4619(dra)s 3(wing)k -5473(package)s 6334([4)s 6527(,)s 6654(Chapter)s 7492(9],)s -7818(to)s 8078(be)s 8380(sure)s 8855(of)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 4312(graphics)m 861(features.)s 1780(The)s 2208(left)s 2585(parameter)s -3599(of)s 220 fnt35 3870 4309(@Gr)m 2(aphic)k 240 fnt82 -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 fnt35 8116 4309(//)m -240 fnt82 8241 4312(:)m 220 fnt35 480 3804({)m 240 fnt83 -604 3809(\207r)m 2(st)k 1038(part)s 220 fnt35 1501 3804(//)m -240 fnt83 1686 3809(second)m 2417(part)s 220 fnt35 2880 3804(} @Gr)m 2(aphic)k -240 fnt83 4058 3809(object)m 240 fnt82 0 3308(If)m 230(there)s -763(is)s 973(no)s 220 fnt35 1266 3305(//)m 240 fnt82 -1391 3308(,)m 1498(the)s 1846(second)s 2569(part)s 3000(is)s +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 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 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 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 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 1772(lik)s 2(e)k +2205(those)s 2786(of)s 3078(the)s 3446(Diag)s 3985(\207gure)s +4619(dra)s 3(wing)k 5473(package)s 6334([4)s 6527(,)s +6654(Chapter)s 7492(9],)s 7818(to)s 8078(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 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 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 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 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 fnt35 480 2851(gsa)m 4(v)k 5(e)k -240 fnt83 480 2568(x)m 646(y)s 220 fnt35 808 2563(tr)m 2(anslate)k -240 fnt83 480 2280(Code)m 1039(whic)s 3(h)k 1663(de\207nes)s -220 fnt35 2383 2275(xsiz)m 3(e)k 240 fnt83 2872 2280(,)m -220 fnt35 2965 2275(ysiz)m 3(e)k 240 fnt83 3454 2280(,)m -220 fnt35 3547 2275(xmar)m -3(k)k 240 fnt83 4148 2280(,)m -220 fnt35 4241 2275(ymar)m -3(k)k 240 fnt83 4842 2280(,)m -220 fnt35 4935 2275(ft)m 240 fnt83 5053 2280(,)m 220 fnt35 -5146 2275(vs)m 240 fnt83 5359 2280(,)m 5452(and)s 220 fnt35 -5878 2275(sp)m 480 1987(gsa)m 4(v)k 5(e)k 240 fnt83 -480 1704(\207r)m 2(st)k 914(part)s 220 fnt35 480 1411(g)m 2(restore)k -240 fnt83 480 1128(Code)m 1039(whic)s 3(h)k 1663(r)s 8(ender)k 2(s)k +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 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 840(second)m -1211(part)s 220 fnt35 480 547(g)m 2(restore)k +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.39.)m +591(@PlainGraphic)s 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.40.)m 591(@IncludeGraphic)s 2491(and)s +2932(@SysIncludeGraphic)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -12979,137 +13820,151 @@ grestore pgsave restore showpage -%%Page: 67 73 +%%Page: 68 74 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold -%%+ font Symbol +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(68)m 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 +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(3.38.)m 574(@Gr)s 3(aphic)k 240 fnt84 -8831 13840(67)m 240 fnt82 0 13205(where)m 240 fnt83 628 13207(x)m -240 fnt78 733 13199(,)m 240 fnt83 802 13207(y)m 240 fnt82 -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 fnt35 1533 12914(sa)m 4(v)k 5(e)k -240 fnt82 2049 12917(and)m 220 fnt35 2462 12914(restore)m 240 fnt82 -3206 12917(or)m 220 fnt35 3474 12914(begin)m 240 fnt82 4065 12917(and)m -220 fnt35 4478 12914(end)m 240 fnt82 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 fnt84 -0 11836(3.39.)m 591(@PlainGraphic)s 240 fnt82 567 11359(The)m 220 fnt35 -1023 11356(@PlainGr)m 2(aphic)k 240 fnt82 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 fnt35 0 11068(@Gr)m 2(aphic)k -240 fnt82 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 fnt35 2544 9772(@PlainGr)m 2(aphic)k 240 fnt82 -4096 9775(is)m 4328(used)s 4847(in)s 5112(the)s 220 fnt35 -5482 9772(tb)m 4(l)k 240 fnt82 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 fnt84 0 8694(3.40.)m 591(@IncludeGraphic)s 2491(and)s -2932(@SysIncludeGraphic)s 240 fnt82 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 fnt35 480 7716(@IncludeGr)m 2(aphic "m)k 3(ypor)k -8(tr)k 2(ait.eps")k -240 fnt82 0 7218(The)m 457(parameter)s 1500(is)s 1739(implementation-dependent;)s +540 12940(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 12439(@IncludeGr)m 2(aphic "m)k 3(ypor)k -8(tr)k 2(ait.eps")k +240 fnt1 0 11941(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 +8721(is)s 8960(a)s 0 11653(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 6642(3.0)m 345(\207le)s 696([1)s 870(],)s 1045(since)s +0 11365(3.0)m 345(\207le)s 696([1)s 870(],)s 1045(since)s 1582(then)s 2040(Lout)s 2542(will)s 2957(k)s 2(eep)k 3450(careful)s 4156(track)s 4684(of)s 4944(what)s 5459(resources)s 6401(are)s 6738(required)s 7581(for)s 7909(printing)s 8708(that)s -0 6354(\207le.)m 473(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +0 11077(\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 fnt35 4669 6351(%%BoundingBo)m 6(x:)k 240 fnt82 -6464 6354(comment)m 7418(and)s 7826(not)s 8197(requiring)s 0 6066(unusual)m +4317(the)s 220 fnt2 4669 11074(%%BoundingBo)m 6(x:)k 240 fnt1 +6464 11077(comment)m 7418(and)s 7826(not)s 8197(requiring)s 0 10789(unusual)m 800(resources)s 1753(is)s 1963(lik)s 2(ely)k 2559(to)s -2798(w)s 2(ork.)k 480 5692(The)m 924(result)s 1530(of)s -220 fnt35 1817 5689(@IncludeGr)m 2(aphic)k 240 fnt82 3584 5692(is)m +2798(w)s 2(ork.)k 480 10415(The)m 924(result)s 1530(of)s +220 fnt2 1817 10412(@IncludeGr)m 2(aphic)k 240 fnt1 3584 10415(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 5404(It)m +6677(marks)s 7328(through)s 8146(its)s 8439(centre.)s 0 10127(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 5116(size)m 434(by)s 735(consulting)s 1792(the)s +8850(its)s 0 9839(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 4828(message)m +7444(found,)s 8117(a)s 8291(w)s 2(arning)k 0 9551(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 fnt35 -480 4451(@IncludeGr)m 2(aphic)k 240 fnt82 2228 4454(searches)m 3085(the)s -3429(same)s 3973(directories)s 5027(that)s 220 fnt35 5442 4451(@Include)m -240 fnt82 6421 4454(does)m 6907(\(Section)s 7757(3.42\).)s 220 fnt35 -8416 4451(@Sys)m 240 fnt82 8998 4454(-)m 220 fnt35 0 4163(IncludeGr)m 2(aphic)k -240 fnt82 1562 4166(is)m 1806(the)s 2188(same)s 2769(as)s -220 fnt35 3053 4163(@IncludeGr)m 2(aphic)k 240 fnt82 4744 4166(,)m +3153(object)s 3797(has)s 4167(zero)s 4631(size.)s 220 fnt2 +480 9174(@IncludeGr)m 2(aphic)k 240 fnt1 2228 9177(searches)m 3085(the)s +3429(same)s 3973(directories)s 5027(that)s 220 fnt2 5442 9174(@Include)m +240 fnt1 6421 9177(does)m 6907(\(Section)s 7757(3.42\).)s 220 fnt2 +8416 9174(@Sys)m 240 fnt1 8998 9177(-)m 220 fnt2 0 8886(IncludeGr)m 2(aphic)k +240 fnt1 1562 8889(is)m 1806(the)s 2188(same)s 2769(as)s +220 fnt2 3053 8886(@IncludeGr)m 2(aphic)k 240 fnt1 4744 8889(,)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 3878(searched)m 894(by)s -220 fnt35 1188 3875(@SysInclude)m 240 fnt82 2476 3878(.)m 480 3504(If)m +7172(only)s 7686(the)s 8068(directories)s 0 8601(searched)m 894(by)s +220 fnt2 1188 8598(@SysInclude)m 240 fnt1 2476 8601(.)m 480 8227(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 fnt35 3478 3501(.gz)m -240 fnt82 3765 3504(,)m 220 fnt35 3883 3501(-gz)m 240 fnt82 -4182 3504(,)m 220 fnt35 4300 3501(.z)m 240 fnt82 4465 3504(,)m -220 fnt35 4582 3501(-z)m 240 fnt82 4759 3504(,)m 220 fnt35 -4877 3501(_z)m 240 fnt82 5103 3504(,)m 5220(or)s 220 fnt35 -5490 3501(.Z)m 240 fnt82 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 fnt35 906 3213(gunzip)m 240 fnt82 1597 3216(command)m +2789(an)s 3(y)k 3197(of)s 220 fnt2 3478 8224(.gz)m +240 fnt1 3765 8227(,)m 220 fnt2 3883 8224(-gz)m 240 fnt1 +4182 8227(,)m 220 fnt2 4300 8224(.z)m 240 fnt1 4465 8227(,)m +220 fnt2 4582 8224(-z)m 240 fnt1 4759 8227(,)m 220 fnt2 +4877 8224(_z)m 240 fnt1 5103 8227(,)m 5220(or)s 220 fnt2 +5490 8224(.Z)m 240 fnt1 5680 8227(,)m 5798(the)s 6156(\207le)s +6528(will)s 6964(\207rst)s 7406(be)s 7699(uncompressed)s 0 7939(using)m +565(the)s 220 fnt2 906 7936(gunzip)m 240 fnt1 1597 7939(command)m 2592(into)s 3010(a)s 3169(temporary)s 4198(\207le)s 4552(called)s -220 fnt35 5173 3213(lout.eps)m 240 fnt82 5987 3216(in)m 6223(the)s +220 fnt2 5173 7936(lout.eps)m 240 fnt1 5987 7939(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 +0 7651(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 fnt84 0 2135(3.41.)m -591(@Pr)s 4(ependGraphic and @SysPr)k 4(ependGraphic)k 240 fnt82 582 1658(These)m +4366(the)s 4714(output)s 5386(\207le.)s 240 fnt5 0 6858(3.41.)m +591(@Pr)s 4(ependGraphic and @SysPr)k 4(ependGraphic)k 240 fnt1 582 6381(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 fnt35 -7149 1655(@Use)m 240 fnt82 7857 1658(symbol)m 8660(may)s 0 1370(appear)m 9(,)k +5160(that)s 5621(a)s 5830(de\207nition)s 6847(or)s 220 fnt2 +7149 6378(@Use)m 240 fnt1 7857 6381(symbol)m 8660(may)s 0 6093(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 1082(this)m +7520(F)s 3(or)k 7913(Basser)s 8614(Lout)s 0 5805(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 fnt35 0 791(%%BeginResource)m -240 fnt82 1941 794(and)m 220 fnt35 2345 791(%%EndResource)m 240 fnt82 -4116 794(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 fnt35 480 293(@SysPrependGr)m 2(aphic { diagf)k 6(.lpg })k +7847(end)s 8273(with)s 8778(the)s 220 fnt2 0 5514(%%BeginResource)m +240 fnt1 1941 5517(and)m 220 fnt2 2345 5514(%%EndResource)m 240 fnt1 +4116 5517(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 5016(@SysPrependGr)m 2(aphic { diagf)k 6(.lpg })k +240 fnt1 0 4517(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 4514(diagf)m 6(.lpg)k 240 fnt1 +5857 4517(contains)m 6743(a)s 6946(number)s 7775(of)s 8084(PostScript)s +0 4229(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 3941(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 3938(@PrependGr)m 2(aphic)k 240 fnt1 +6498 3941(and)m 220 fnt2 6887 3938(@SysPrependGr)m 2(aphic)k 240 fnt1 +0 3653(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 3650(@Include)m 240 fnt1 4732 3653(and)m 220 fnt2 5136 3650(@SysInclude)m +240 fnt1 6484 3653(respecti)m 6(v)k 3(ely)k 15(.)k +240 fnt5 0 2860(3.42.)m 591(@Include and @SysInclude)s 240 fnt1 562 2383(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 2095(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 1594(@Include { "/usr/lout/langdefs" })m 240 fnt1 +0 1095(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 807(\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 519(including)m +958(other)s 220 fnt2 1511 516(@Include)m 240 fnt1 2494 519(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 231(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 +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore grestore @@ -13120,142 +13975,160 @@ grestore pgsave restore showpage -%%Page: 68 74 +%%Page: 69 75 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(3.43.)m 1991(@Bac)s 4(kEnd)k 3137(and)s +3563(the)s 3908(PlainT)s 22(e)k 4(xt)k 4875(and)s +5301(PDF)s 5834(bac)s 4(k)k 6346(ends)s 240 fnt5 +10249 -1583(69)m gsave +1417 -15423 translate +240 fnt1 9066 13412 0 13303 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(68)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt82 0 13205(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 fnt35 -4949 13202(diagf)m 6(.lpg)k 240 fnt82 5857 13205(contains)m 6743(a)s -6946(number)s 7775(of)s 8084(PostScript)s 0 12917(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 12629(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 fnt35 4640 12626(@PrependGr)m 2(aphic)k 240 fnt82 -6498 12629(and)m 220 fnt35 6887 12626(@SysPrependGr)m 2(aphic)k 240 fnt82 -0 12341(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 fnt35 -3750 12338(@Include)m 240 fnt82 4732 12341(and)m 220 fnt35 5136 12338(@SysInclude)m -240 fnt82 6484 12341(respecti)m 6(v)k 3(ely)k 15(.)k -240 fnt84 0 11548(3.42.)m 591(@Include and @SysInclude)s 240 fnt82 562 11071(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 10783(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 fnt35 480 10282(@Include { "/usr/lout/f)m 6(ontdefs" })k -240 fnt82 0 9788(will)m 434(cause)s 1030(the)s 1386(contents)s -2243(of)s 2522(\207le)s 2892(/usr/lout/fontdefs)s 4596(to)s 4844(be)s -5134(read)s 5612(at)s 5852(the)s 6209(point)s 6769(it)s -6970(occurs.)s 7766(After)s 8338(that)s 8765(\207le)s 0 9500(is)m -214(read,)s 736(the)s 1089(current)s 1829(\207le)s 2194(is)s -2409(resumed.)s 3387(The)s 3819(included)s 4706(\207le)s 5071(may)s -5541(contain)s 6307(arbitrary)s 7186(Lout)s 7702(te)s 3(xt,)k -8169(including)s 0 9212(other)m 220 fnt35 566 9209(@Include)m 240 fnt82 -1564 9212(commands.)m 2780(The)s 3224(\207le)s 3600(is)s 3826(searched)s -4735(for)s 5089(\207rst)s 5535(in)s 5794(the)s 6157(current)s -6909(directory)s 15(,)k 7878(then)s 8363(in)s 8621(a)s -8803(se)s 8998(-)s 0 8924(quence)m 732(of)s 1001(standard)s -1866(places)s 2512(which)s 3151(are)s 3496(not)s 3859(necessarily)s -4972(the)s 5318(same)s 5862(places)s 6508(that)s 6923(databases)s -7888(are)s 8232(searched)s 0 8636(for)m 13(.)k 220 fnt35 -429 8633(@SysInclude)m 240 fnt82 1777 8636(searches)m 2637(the)s 2985(standard)s -3853(places)s 4501(only)s 15(.)k 240 fnt84 0 7843(3.43.)m +0 13249(searched)m 894(for)s 13(.)k 220 fnt2 +1323 13246(@SysInclude)m 240 fnt1 2671 13249(searches)m 3531(the)s 3879(standard)s +4747(places)s 5395(only)s 15(.)k 240 fnt5 0 12456(3.43.)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 240 fnt82 -547 7411(The)m 220 fnt35 983 7408(@Bac)m 4(kEnd)k 240 fnt82 -2136 7411(symbol,)m 2955(which)s 3605(tak)s 2(es)k 4153(no)s +3663(and)s 4104(PDF)s 4623(back)s 5172(ends)s 240 fnt1 +547 12024(The)m 220 fnt2 983 12021(@Bac)m 4(kEnd)k 240 fnt1 +2136 12024(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 7123(back)m +7220(a)s 7394(string)s 7999(naming)s 8778(the)s 0 11736(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 6835(symbol)m 760(is)s 970(generally)s 1913(used)s -2410(lik)s 2(e)k 2822(this:)s 220 fnt35 480 6334(@Bac)m 4(kEnd @Case {)k -480 6046( PlainT)m 26(e)k 6(xt @Y)k 4(ield { ...)k 13( })k -480 5758( P)m 11(ostScr)k -3(ipt @Y)k 4(ield { ...)k 13( })k -480 5470( PDF @Y)m 4(ield { ...)k 13( })k 480 5182(})m 240 fnt82 -0 4688(to)m 255(obtain)s 926(dif)s 6(ferent)k 1817(objects)s +8698(The)s 0 11448(symbol)m 760(is)s 970(generally)s 1913(used)s +2410(lik)s 2(e)k 2822(this:)s 220 fnt2 480 10947(@Bac)m 4(kEnd @Case {)k +480 10659( PlainT)m 26(e)k 6(xt @Y)k 4(ield { ...)k 13( })k +480 10371( P)m 11(ostScr)k -3(ipt @Y)k 4(ield { ...)k 13( })k +480 10083( PDF @Y)m 4(ield { ...)k 13( })k 480 9795(})m 240 fnt1 +0 9301(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 fnt35 5722 4685(else)m 240 fnt82 6192 4688(is)m +5360(No)s 220 fnt2 5722 9298(else)m 240 fnt1 6192 9301(is)m 6418(required)s 7288(since)s 7851(these)s 8414(are)s 8778(the)s -0 4400(only)m 480(possible)s 1320(v)s 6(alues.)k 480 4026(When)m -1101(a)s 220 fnt35 1259 4023(@Case)m 240 fnt82 2037 4026(symbol)m -2789(has)s 220 fnt35 3151 4023(@Bac)m 4(kEnd)k 240 fnt82 -4287 4026(for)m 4617(its)s 4885(left)s 5253(parameter)s 6259(and)s +0 9013(only)m 480(possible)s 1320(v)s 6(alues.)k 480 8639(When)m +1101(a)s 220 fnt2 1259 8636(@Case)m 240 fnt1 2037 8639(symbol)m +2789(has)s 220 fnt2 3151 8636(@Bac)m 4(kEnd)k 240 fnt1 +4287 8639(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 fnt35 0 3735(@Y)m 4(ield)k 240 fnt82 768 3738(symbol)m +220 fnt2 0 8348(@Y)m 4(ield)k 240 fnt1 768 8351(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 fnt35 -8546 3735(else)m 240 fnt82 8940 3738(\),)m 0 3450(Lout)m 531(will)s +6218(literal)s 6844(w)s 2(ords)k 7494(\(including)s 220 fnt2 +8546 8348(else)m 240 fnt1 8940 8351(\),)m 0 8063(Lout)m 531(will)s 976(optimize)s 1888(by)s 2201(e)s 6(v)k 6(aluating)k -3258(the)s 220 fnt35 3625 3447(@Case)m 240 fnt82 4432 3450(symbol)m +3258(the)s 220 fnt2 3625 8060(@Case)m 240 fnt1 4432 8063(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 3162(ensures)m 789(that)s +6771(read.)s 7365(This)s 7861(optimization)s 0 7775(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 2874(it)m 206(permits)s -987(these)s 220 fnt35 1548 2871(@Case)m 240 fnt82 2350 2874(symbols)m +7621(back)s 8155(ends,)s 8722(and)s 0 7487(it)m 206(permits)s +987(these)s 220 fnt2 1548 7484(@Case)m 240 fnt1 2350 7487(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 fnt35 0 2583(@Include)m 240 fnt82 -982 2586(and)m 220 fnt35 1386 2583(@PrependGr)m 2(aphic)k 240 fnt82 -3259 2586(symbols.)m 480 2212(The)m 918(PlainT)s 16(e)k 3(xt)k +8149(follo)s 6(wing)k 220 fnt2 0 7196(@Include)m 240 fnt1 +982 7199(and)m 220 fnt2 1386 7196(@PrependGr)m 2(aphic)k 240 fnt1 +3259 7199(symbols.)m 480 6825(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 1924(is)m +6548(main)s 7094(respects.)s 8038(First,)s 8593(there)s 0 6537(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 1636(actually)m 817(change)s 1558(an)s 3(ything.)k 2565(Each)s +0 6249(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 1348(and)m 404(20)s 699(points)s 1335(high.)s 1925(Second,)s +0 5961(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 974(Clearly)m 15(,)k 1306(with)s +6473(PostScript)s 7515(\207le.)s 480 5587(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 686(rotation)m 829(and)s +7510(features)s 8348(such)s 8876(as)s 0 5299(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 398(ef)m 6(fects)k +6383(well-de\207ned)s 7665(\(possibly)s 8626(null\))s 0 5011(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 110(obtaining)m 957(grossly)s +7741(the)s 8116(system)s 8867(or)s 0 4723(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 +4886(to)s 5125(PlainT)s 16(e)k 3(xt.)k 480 4349(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 4346(-p)m 240 fnt1 4749 4349(option)m 5415(to)s 5651(Basser)s +6345(Lout.)s 6958(The)s 7383(character)s 8314(size)s 8737(can)s +0 4061(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 4058(-p)m +240 fnt1 4123 4061(option,)m 4842(lik)s 2(e)k 5254(this:)s +220 fnt2 480 3564(lout -p0.1i12p ...)m 240 fnt1 0 3068(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 2780(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 2492(multiples)m +943(of)s 1218(the)s 220 fnt2 1569 2489(s)m 240 fnt1 +1736 2492(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 2204(v)m 3(ertical)k 777(lengths)s 1530(as)s +1791(multiples)s 2742(of)s 3023(the)s 220 fnt2 3382 2201(f)m +240 fnt1 3511 2204(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 1916(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 1542(There)m 1098(is)s 1314(a)s 220 fnt2 1486 1539(-P)m +240 fnt1 1762 1542(option)m 2437(which)s 3085(is)s 3301(identical)s +4184(with)s 4671(the)s 220 fnt2 5025 1539(-p)m 240 fnt1 +5278 1542(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 1254(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 880(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 877(lout -Z)m 240 fnt1 5017 880(.)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 592(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 304(mation.)m +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -13265,118 +14138,126 @@ grestore pgsave restore showpage -%%Page: 69 75 +%%Page: 70 76 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(70)m 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 +gsave +0 LoutMargSet +grestore +240 fnt5 0 13203(3.44.)m +591(@V)s 24(erbatim and @RawV)k 24(erbatim)k 240 fnt1 543 12771(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 12483(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 11982(@V)m 17(erbatim { "hello" })k +240 fnt1 0 11488(produces)m 480 10985("hello")m 220 fnt2 0 10529(@V)m 17(erbatim)k +240 fnt1 1178 10532(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 10244(non-white-space)m 1654(character)s 13(.)k 220 fnt2 +2697 10241(@Ra)m 4(wV)k 17(erbatim)k 240 fnt1 4278 10244(dif)m 6(fers)k +4964(from)s 220 fnt2 5506 10241(@V)m 17(erbatim)k 240 fnt1 +6653 10244(only)m 7151(in)s 7413(that)s 7849(it)s 8059(ignores)s +8833(all)s 0 9956(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 9668(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 9380(cases)m 555(such)s +1051(as)s 220 fnt2 480 8929(@Ra)m 4(wV)k 17(erbatim {)k +480 8641( v)m 5(ar x:)k 11( Real)k 480 8353(begin)m 480 8065(})m +240 fnt1 0 7571(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 7280(@V)m 17(erbatim)k 240 fnt1 +1069 7283(.)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 6995(closing)m 744(brace.)s 240 fnt5 +0 6202(3.45.)m 591(@Underline)s 240 fnt1 533 5770(The)m 220 fnt2 +953 5767(@Under)m -3(line)k 240 fnt1 2160 5770(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 5482(or)m 259(a)s +425(paragraph:)s 220 fnt2 480 4981(W)m 6(e @Under)k -3(line { really do } mean this)k 3(.)k +240 fnt1 0 4483(produces)m 480 3980(W)m 19(e)k 849(really)s +849 1679 3956 12 ul +1446(do)s 1739(mean)s 2314(this.)s 0 3477(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 3474(@Under)m -3(line)k 240 fnt1 +7942 3477(symbol)m 8700(will)s 0 3189(be)m 282(ignored)s 1071(if)s +1288(this)s 1684(is)s 1894(attempted.)s 480 2815(It)m 731(is)s +987(v)s 3(ery)k 1509(easy)s 2034(to)s 240 fnt6 +2319 2817(de\207ne)m 240 fnt1 2990 2815(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 2524(@Gr)m 2(aphic)k +240 fnt1 1045 2527(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 2524(@Under)m -3(line)k 240 fnt1 6163 2527(is)m 6374(needed)s +7111(at)s 7345(all.)s 7748(The)s 8177(answer)s 8916(is)s +0 2239(that)m 220 fnt2 418 2236(@Under)m -3(line)k 240 fnt1 +1633 2239(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 2236(@Gr)m 2(aphic)k 240 fnt1 +8393 2239(.)m 480 1865(First,)m 1021(when)s 220 fnt2 1594 1862(@Under)m -3(line)k +240 fnt1 2806 1865(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 1577(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 1289(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 1286(@F)m 6(ont)k 240 fnt1 5230 1289(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 998(@Gr)m 2(aphic)k 240 fnt1 +1044 1001(do)m 1337(not)s 1703(permit)s 2386(this)s 2782(mer)s 4(ging.)k +480 627(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 339(font,)m +501(and)s 914(the)s 220 fnt2 1272 336(@Under)m -3(line)k +240 fnt1 2496 339(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 +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(3.43.)m 574(@Bac)s 4(kEnd)k 1720(and)s -2146(the)s 2491(PlainT)s 22(e)k 4(xt)k 3458(and)s -3884(PDF)s 4417(bac)s 4(k)k 4929(ends)s 240 fnt84 -8832 13840(69)m 240 fnt82 480 13249(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 fnt35 4505 13246(-p)m 240 fnt82 4749 13249(option)m -5415(to)s 5651(Basser)s 6345(Lout.)s 6958(The)s 7383(character)s -8314(size)s 8737(can)s 0 12961(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 fnt35 3876 12958(-p)m 240 fnt82 4123 12961(option,)m -4842(lik)s 2(e)k 5254(this:)s 220 fnt35 480 12464(lout -p0.1i12p ...)m -240 fnt82 0 11968(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 11680(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 11392(multiples)m -943(of)s 1218(the)s 220 fnt35 1569 11389(s)m 240 fnt82 -1736 11392(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 11104(v)m 3(ertical)k 777(lengths)s 1530(as)s -1791(multiples)s 2742(of)s 3023(the)s 220 fnt35 3382 11101(f)m -240 fnt82 3511 11104(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 10816(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 10442(There)m 1098(is)s 1314(a)s 220 fnt35 1486 10439(-P)m -240 fnt82 1762 10442(option)m 2437(which)s 3085(is)s 3301(identical)s -4184(with)s 4671(the)s 220 fnt35 5025 10439(-p)m 240 fnt82 -5278 10442(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 10154(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 9780(The)m 911(PDF)s 1412(back)s -1928(end)s 2336(is)s 2549(obtained)s 3435(by)s 3732(typing)s -220 fnt35 4401 9777(lout -Z)m 240 fnt82 5017 9780(.)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 9492(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 9204(mation.)m 240 fnt84 0 8461(3.44.)m 591(@V)s 24(erbatim and @RawV)k 24(erbatim)k -240 fnt82 543 8029(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 7741(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 fnt35 480 7240(@V)m 17(erbatim { "hello" })k 240 fnt82 0 6746(produces)m -480 6243("hello")m 220 fnt35 0 5787(@V)m 17(erbatim)k 240 fnt82 -1178 5790(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 5502(non-white-space)m -1654(character)s 13(.)k 220 fnt35 2697 5499(@Ra)m 4(wV)k 17(erbatim)k -240 fnt82 4278 5502(dif)m 6(fers)k 4964(from)s 220 fnt35 -5506 5499(@V)m 17(erbatim)k 240 fnt82 6653 5502(only)m 7151(in)s -7413(that)s 7849(it)s 8059(ignores)s 8833(all)s 0 5214(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 4926(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 4638(cases)m 555(such)s 1051(as)s 220 fnt35 -480 4187(@Ra)m 4(wV)k 17(erbatim {)k 480 3899( v)m 5(ar x:)k 11( Real)k -480 3611(begin)m 480 3323(})m 240 fnt82 0 2829(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 fnt35 0 2538(@V)m 17(erbatim)k -240 fnt82 1069 2541(.)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 2253(closing)m -744(brace.)s 240 fnt84 0 1460(3.45.)m 591(@Underline)s 240 fnt82 -533 1028(The)m 220 fnt35 953 1025(@Under)m -3(line)k 240 fnt82 -2160 1028(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 740(or)m 259(a)s 425(paragraph:)s 220 fnt35 480 239(W)m 6(e @Under)k -3(line { really do } mean this)k 3(.)k grestore @@ -13387,109 +14268,78 @@ grestore pgsave restore showpage -%%Page: 70 76 +%%Page: 71 77 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(3.45.)m 1991(@Underline)s 240 fnt5 10256 -1583(71)m +gsave +1417 -15423 translate +240 fnt1 9066 13413 0 13304 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(70)m 240 fnt83 6081 13843(Chapter)m 6931(3.)s -7205(Pr)s 8(ede\207ned)k 8300(symbols)s 240 fnt82 0 13205(produces)m -480 12702(W)m 19(e)k 849(really)s 849 1679 12678 12 ul -1446(do)s 1739(mean)s -2314(this.)s 0 12199(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 fnt35 -6729 12196(@Under)m -3(line)k 240 fnt82 7942 12199(symbol)m 8700(will)s -0 11911(be)m 282(ignored)s 1071(if)s 1288(this)s 1684(is)s -1894(attempted.)s 480 11537(It)m 731(is)s 987(v)s 3(ery)k -1509(easy)s 2034(to)s 240 fnt83 2319 11539(de\207ne)m 240 fnt82 -2990 11537(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 fnt35 0 11246(@Gr)m 2(aphic)k 240 fnt82 1045 11249(symbol.)m -1915(This)s 2393(raises)s 2988(the)s 3337(question)s 4207(of)s -4479(wh)s 1(y)k 220 fnt35 4946 11246(@Under)m -3(line)k -240 fnt82 6163 11249(is)m 6374(needed)s 7111(at)s 7345(all.)s -7748(The)s 8177(answer)s 8916(is)s 0 10961(that)m 220 fnt35 -418 10958(@Under)m -3(line)k 240 fnt82 1633 10961(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 fnt35 7409 10958(@Gr)m 2(aphic)k -240 fnt82 8393 10961(.)m 480 10587(First,)m 1021(when)s 220 fnt35 -1594 10584(@Under)m -3(line)k 240 fnt82 2806 10587(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 10299(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 10011(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 fnt35 -4522 10008(@F)m 6(ont)k 240 fnt82 5230 10011(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 fnt35 0 9720(@Gr)m 2(aphic)k 240 fnt82 -1044 9723(do)m 1337(not)s 1703(permit)s 2386(this)s 2782(mer)s 4(ging.)k -480 9349(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 9061(font,)m -501(and)s 914(the)s 220 fnt35 1272 9058(@Under)m -3(line)k -240 fnt82 2496 9061(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 8773(\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 fnt84 0 7980(3.46.)m 591(@P)s 2(ageLabel)k -240 fnt82 533 7503(The)m 220 fnt35 953 7500(@P)m 8(ageLabel)k -240 fnt82 2255 7503(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 7215(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 6927(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 fnt35 -5363 6924(%%P)m 8(age)k 240 fnt82 6313 6927(comment)m 7266(preceding)s -8266(the)s 8618(page)s 0 6639(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 fnt35 480 6138(@P)m 8(ageLabel iv)k 240 fnt82 0 5639(associates)m -1018(the)s 1379(label)s 220 fnt35 1910 5636(iv)m 240 fnt82 -2140 5639(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 5351(simple)m 693(w)s 2(ord,)k +0 13250(\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 12457(3.46.)m +591(@P)s 2(ageLabel)k 240 fnt1 533 11980(The)m 220 fnt2 +953 11977(@P)m 8(ageLabel)k 240 fnt1 2255 11980(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 11692(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 11404(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 11401(%%P)m 8(age)k 240 fnt1 +6313 11404(comment)m 7266(preceding)s 8266(the)s 8618(page)s 0 11116(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 10615(@P)m 8(ageLabel iv)k +240 fnt1 0 10116(associates)m 1018(the)s 1379(label)s 220 fnt2 +1910 10113(iv)m 240 fnt1 2140 10116(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 9828(simple)m 693(w)s 2(ord,)k 1290(it)s 1482(will)s 1908(be)s 2190(replaced)s 3057(by)s -220 fnt35 3351 5348(?)m 240 fnt82 3459 5351(.)m 220 fnt35 -480 4974(@P)m 8(ageLabel)k 240 fnt82 1799 4977(is)m 2019(unrelated)s +220 fnt2 3351 9825(?)m 240 fnt1 3459 9828(.)m 220 fnt2 +480 9451(@P)m 8(ageLabel)k 240 fnt1 1799 9454(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 4689(a)m 176(label)s 706(to)s 956(the)s 1315(PostScript)s +0 9166(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 fnt35 7419 4686(@P)m 8(ageLabel)k 240 fnt82 -8739 4689(is)m 8960(a)s 0 4401(null)m 427(object.)s +7137(of)s 220 fnt2 7419 9163(@P)m 8(ageLabel)k 240 fnt1 +8739 9166(is)m 8960(a)s 0 8878(null)m 427(object.)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -13499,7 +14349,7 @@ grestore pgsave restore showpage -%%Page: 71 77 +%%Page: 72 78 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -13508,153 +14358,161 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +9066 13450 0 13450 240 288 60 1417 -14867 LoutGr2 +0 LoutMargSet grestore -480 fnt84 0 12955(Chapter)m 1819(4.)s 2400(Examples)s 240 fnt82 -0 12004(This)m 503(chapter)s 1294(presents)s 2156(some)s 2744(e)s 3(xamples)k +480 fnt5 0 12399(Chapter)m 1819(4.)s 2400(Examples)s 240 fnt1 +0 11448(This)m 503(chapter)s 1294(presents)s 2156(some)s 2744(e)s 3(xamples)k 3723(tak)s 2(en)k 4324(from)s 4875(the)s 5251(v)s 6(arious)k 6028(packages)s 6983(a)s 4(v)k 6(ailable)k 7919(with)s -8429(Basser)s 0 11716(Lout.)m 661(The)s 1134(reader)s 1835(who)s +8429(Basser)s 0 11160(Lout.)m 661(The)s 1134(reader)s 1835(who)s 2346(masters)s 3171(these)s 3763(e)s 3(xamples)k 4759(will)s 5230(be)s 5557(well)s 6068(prepared)s 7007(to)s 7291(read)s -7805(the)s 8198(packages)s 0 11428(themselv)m 3(es.)k 1223(The)s +7805(the)s 8198(packages)s 0 10872(themselv)m 3(es.)k 1223(The)s 1650(e)s 3(xamples)k 2600(ha)s 4(v)k 3(e)k 3100(not)s 3465(been)s 3973(simpli\207ed)s 4986(in)s 5229(an)s 3(y)k 5625(w)s 2(ay)k 15(,)k 6113(since)s 6659(an)s -6941(important)s 7929(part)s 8359(of)s 8629(their)s 0 11140(purpose)m +6941(important)s 7929(part)s 8359(of)s 8629(their)s 0 10584(purpose)m 814(is)s 1024(to)s 1263(sho)s 6(w)k 1817(Lout)s -2329(in)s 2572(actual)s 3197(practice.)s 240 fnt84 0 10347(4.1.)m +2329(in)s 2572(actual)s 3197(practice.)s 240 fnt5 0 9791(4.1.)m 471(An)s 833(equation)s 1779(f)s 6(ormatting)k 2930(package)s -240 fnt82 480 9870(In)m 751(this)s 1162(section)s 1911(we)s +240 fnt1 480 9314(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 7168(equation)s 8065(formatting)s -0 9582(package.)m 976(Equation)s 1925(formatting)s 3014(mak)s 2(es)k +0 9026(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 -6043(partly)s 6682(because)s 7523(its)s 7828(requirements)s 0 9294(ha)m 4(v)k 3(e)k +6043(partly)s 6682(because)s 7523(its)s 7828(requirements)s 0 8738(ha)m 4(v)k 3(e)k 514(strongly)s 1366(in\210uenced)s 2435(the)s 2797(design)s 3493(of)s 3778(Lout,)s 4351(and)s 4769(partly)s 5394(because)s 6221(no)s 6528(cross)s 7084(references)s 8129(or)s 8402(g)s 1(alle)k 3(ys)k -0 9006(are)m 347(required.)s 480 8632(T)m 19(o)k 777(the)s +0 8450(are)m 347(required.)s 480 8076(T)m 19(o)k 777(the)s 1122(author')s 13(s)k 1939(kno)s 6(wledge,)k 3088(Eq)s 3409(is)s 3615(the)s 3960(\207rst)s 4388(equation)s 5265(formatter)s 6209(to)s 6445(be)s 6723(implemented)s 8026(as)s 8273(a)s -8435(collec)s 8998(-)s 0 8344(tion)m 430(of)s 702(high-)s +8435(collec)s 8998(-)s 0 7788(tion)m 430(of)s 702(high-)s 1196(le)s 6(v)k 3(el)k 1707(de\207nitions.)s 2883(This)s 3360(approach)s 4295(has)s 4666(signi\207cant)s 5724(adv)s 6(antages:)k -6948(the)s 7297(basics)s 7933(of)s 8206(language)s 0 8056(and)m +6948(the)s 7297(basics)s 7933(of)s 8206(language)s 0 7500(and)m 426(layout)s 1106(are)s 1475(tri)s 6(vial,)k 2167(so)s 2456(the)s 2826(implementor)s 4129(can)s 4540(concentrate)s 5720(on)s 6039(\207ne-)s 6466(tuning;)s 7212(and)s 7638(the)s 8009(de\207nitions,)s -0 7768(being)m 585(readily)s 1302(a)s 4(v)k 6(ailable,)k +0 7212(being)m 585(readily)s 1302(a)s 4(v)k 6(ailable,)k 2261(can)s 2650(be)s 2932(impro)s 3(v)k 3(ed,)k 3950(e)s 3(xtended,)k 4918(or)s 5177(e)s 6(v)k 3(en)k -5677(replaced.)s 480 7394(As)m 808(described)s 1793(in)s 2048(the)s +5677(replaced.)s 480 6838(As)m 808(described)s 1793(in)s 2048(the)s 2407(User')s 13(s)k 3079(Guide)s 3732([4)s 3925(],)s 4122(an)s 4416(equation)s 5309(is)s 5530(entered)s 6302(in)s 6557(a)s 6734(format)s 7441(based)s 8056(on)s 8364(the)s -8724(one)s 0 7106(introduced)m 1081(by)s 1375(the)s 1723(eqn)s +8724(one)s 0 6550(introduced)m 1081(by)s 1375(the)s 1723(eqn)s 2126(language)s 3046(of)s 3317(K)s 6(ernighan)k 4378(and)s -4782(Cherry)s 5500([2)s 5693(]:)s 220 fnt35 480 6605(@Eq { { x sup 2 + y sup 2 } o)m 3(v)k 5(er 2 })k -240 fnt82 0 6107(The)m 428(result)s 1018(is)s 168 fnt78 -586 5702(2)m 240 fnt83 480 5642(x)m 240 fnt78 738 5634(+)m -168 fnt78 1041 5702(2)m 240 fnt83 939 5642(y)m 641 0 0 0 240 288 12 480 5544 LoutGr2 +4782(Cherry)s 5500([2)s 5693(]:)s 220 fnt2 480 6049(@Eq { { x sup 2 + y sup 2 } o)m 3(v)k 5(er 2 })k +240 fnt1 0 5551(The)m 428(result)s 1018(is)s 168 fnt4 +586 5146(2)m 240 fnt6 480 5086(x)m 240 fnt4 738 5078(+)m +168 fnt4 1041 5146(2)m 240 fnt6 939 5086(y)m 641 0 0 0 240 288 12 480 4988 LoutGr2 0 0 moveto xsize 0 lineto 0.05 ft setlinewidth stroke grestore grestore -240 fnt78 -743 5316(2)m 240 fnt82 0 4805(In)m 256(outline,)s 1027(the)s -1375(de\207nition)s 2349(of)s 2620(the)s 220 fnt35 2968 4802(@Eq)m -240 fnt82 3506 4805(symbol)m 4266(is)s 220 fnt35 480 4308(e)m 6(xpor)k -8(t sup o)k 3(v)k 5(er "+" "2" "<=")k -480 4020(def @Eq)m 480 3732( body @Body)m 480 3444({)m 480 3156( def sup precedence 60 left x r)m -3(ight y { ...)k 13( })k -480 2868( def o)m 3(v)k 5(er precedence 54 left x r)k -3(ight y { ...)k 13( })k -480 2580( def "2" { Base @F)m 6(ont "2" })k 480 2292( def "+" { {Symbol Base} @F)m 6(ont "+" })k 480 2004( def "<=" { {Symbol Base} @F)m 6(ont "\\243" })k -480 1716( ...)m 480 1140( Slope @F)m 6(ont 1.2f @Break 0c @Space @Body)k 480 852(})m 192 fnt84 -4442 0(71)m +240 fnt4 +743 4760(2)m 240 fnt1 0 4249(In)m 256(outline,)s 1027(the)s +1375(de\207nition)s 2349(of)s 2620(the)s 220 fnt2 2968 4246(@Eq)m +240 fnt1 3506 4249(symbol)m 4266(is)s 220 fnt2 480 3752(e)m 6(xpor)k -8(t sup o)k 3(v)k 5(er "+" "2" "<=")k +480 3464(def @Eq)m 480 3176( body @Body)m 480 2888({)m 480 2600( def sup precedence 60 left x r)m -3(ight y { ...)k 13( })k +480 2312( def o)m 3(v)k 5(er precedence 54 left x r)k -3(ight y { ...)k 13( })k +480 2024( def "2" { Base @F)m 6(ont "2" })k 480 1736( def "+" { {Symbol Base} @F)m 6(ont "+" })k 480 1448( def "<=" { {Symbol Base} @F)m 6(ont "\\243" })k +480 1160( ...)m 480 584( Slope @F)m 6(ont 1.2f @Break 0c @Space @Body)k 480 296(})m +grestore +0 0 0 0 240 288 60 1417 -14867 LoutGr2 +0 LoutMargSet grestore grestore +192 fnt5 +5856 -15423(72)m +grestore grestore pgsave restore showpage -%%Page: 72 78 +%%Page: 73 79 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(4.1.)m 1871(An)s 2191(equation)s 3083(formatting)s +4147(pac)s 4(ka)k 2(g)k 2(e)k 240 fnt5 +10250 -1583(73)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(72)m 240 fnt83 7017 13843(Chapter)m 7867(4.)s -8141(Examples)s 240 fnt82 0 13205(A)m 259(body)s 822(parameter)s -1865(is)s 2104(used)s 2630(to)s 2898(restrict)s 3649(the)s -4026(visibility)s 4958(of)s 5258(the)s 5635(equation)s 6545(formatting)s -7635(symbols)s 8514(\(there)s 0 12917(are)m 366(hundreds)s 1315(of)s -1606(them\).)s 2347(The)s 2794(equation)s 3695(as)s 3965(a)s -4151(whole)s 4811(is)s 5041(set)s 5386(in)s 5649(Slope)s -6269(\(i.e.)s 6704(Italic\))s 7341(font,)s 7853(and)s 8277(symbols)s -0 12629(such)m 515(as)s 220 fnt35 784 12626("2")m 240 fnt82 -1127 12629(and)m 220 fnt35 1550 12626("+")m 240 fnt82 1899 12629(are)m -2265(de\207ned)s 3048(when)s 3643(other)s 4213(fonts)s 4762(are)s -5128(needed.)s 5990(Precedences)s 7241(are)s 7608(used)s 8124(to)s -8383(resolv)s 3(e)k 0 12341(ambiguities)m 1170(such)s 1670(as)s -220 fnt35 1925 12338(a sup b o)m 3(v)k 5(er c)k 240 fnt82 -3291 12341(.)m 3459(Eq)s 3788(tak)s 2(es)k 4332(all)s -4630(spacing)s 5418(decisions)s 6363(on)s 6665(itself,)s 7252(so)s -7523(to)s 7766(pre)s 6(v)k 3(ent)k 8539(white)s -0 12053(space)m 574(typed)s 1151(by)s 1432(the)s 1767(user)s -2212(from)s 2723(interfering,)s 3824(the)s 4158(equation)s 5026(is)s -5223(enclosed)s 6105(in)s 220 fnt35 6335 12050(0c @Space)m 240 fnt82 -7465 12053(.)m 7616(W)s 19(e)k 7972(will)s 8384(discuss)s -0 11765(the)m 220 fnt35 348 11762(1.2f @Break)m 240 fnt82 1631 11765(later)m 13(.)k -480 11391(Thus)m 1015(ha)s 4(v)k 3(e)k 1521(we)s -1861(disposed)s 2762(of)s 3038(the)s 3391(language)s 4316(design)s -5003(part)s 5439(of)s 5715(the)s 6068(equation)s 6954(formatting)s -8020(problem;)s 8934(it)s 0 11103(remains)m 807(no)s 6(w)k +0 13205(A)m 259(body)s 822(parameter)s 1865(is)s +2104(used)s 2630(to)s 2898(restrict)s 3649(the)s 4026(visibility)s +4958(of)s 5258(the)s 5635(equation)s 6545(formatting)s 7635(symbols)s +8514(\(there)s 0 12917(are)m 366(hundreds)s 1315(of)s 1606(them\).)s +2347(The)s 2794(equation)s 3695(as)s 3965(a)s 4151(whole)s +4811(is)s 5041(set)s 5386(in)s 5649(Slope)s 6269(\(i.e.)s +6704(Italic\))s 7341(font,)s 7853(and)s 8277(symbols)s 0 12629(such)m +515(as)s 220 fnt2 784 12626("2")m 240 fnt1 1127 12629(and)m +220 fnt2 1550 12626("+")m 240 fnt1 1899 12629(are)m 2265(de\207ned)s +3048(when)s 3643(other)s 4213(fonts)s 4762(are)s 5128(needed.)s +5990(Precedences)s 7241(are)s 7608(used)s 8124(to)s 8383(resolv)s 3(e)k +0 12341(ambiguities)m 1170(such)s 1670(as)s 220 fnt2 1925 12338(a sup b o)m 3(v)k 5(er c)k +240 fnt1 3291 12341(.)m 3459(Eq)s 3788(tak)s 2(es)k +4332(all)s 4630(spacing)s 5418(decisions)s 6363(on)s 6665(itself,)s +7252(so)s 7523(to)s 7766(pre)s 6(v)k 3(ent)k +8539(white)s 0 12053(space)m 574(typed)s 1151(by)s 1432(the)s +1767(user)s 2212(from)s 2723(interfering,)s 3824(the)s 4158(equation)s +5026(is)s 5223(enclosed)s 6105(in)s 220 fnt2 6335 12050(0c @Space)m +240 fnt1 7465 12053(.)m 7616(W)s 19(e)k 7972(will)s +8384(discuss)s 0 11765(the)m 220 fnt2 348 11762(1.2f @Break)m 240 fnt1 +1631 11765(later)m 13(.)k 480 11391(Thus)m 1015(ha)s 4(v)k 3(e)k +1521(we)s 1861(disposed)s 2762(of)s 3038(the)s 3391(language)s +4316(design)s 5003(part)s 5439(of)s 5715(the)s 6068(equation)s +6954(formatting)s 8020(problem;)s 8934(it)s 0 11103(remains)m 807(no)s 6(w)k 1268(to)s 1507(de\207ne)s 2148(the)s 2496(twenty)s 3201(or)s 3460(so)s 3726(symbols)s 4575(with)s 5057(parameters,)s 6211(and)s 6615(get)s 6967(the)s 7315(layout)s 7973(right.)s 480 10729(Ev)m 3(ery)k -1115(equation)s 2010(has)s 2393(an)s 240 fnt83 2690 10731(axis)m -240 fnt82 3070 10729(:)m 3250(an)s 3546(imaginary)s 4583(horizontal)s +1115(equation)s 2010(has)s 2393(an)s 240 fnt6 2690 10731(axis)m +240 fnt1 3070 10729(:)m 3250(an)s 3546(imaginary)s 4583(horizontal)s 5620(line)s 6048(through)s 6864(the)s 7225(centre)s 7878(of)s 8163(v)s 6(ariables,)k 0 10441(through)m 795(the)s 1136(bar)s 1494(of)s 1757(b)s 4(uilt-up)k 2556(fractions,)s 3491(and)s @@ -13665,21 +14523,21 @@ grestore 4175(mark,)s 4788(on)s 5099(the)s 5461(axis.)s 6025(F)s 3(or)k 6428(e)s 3(xample,)k 7356(the)s 7719(superscripting)s 0 9865(symbol)m 760(is)s 970(de\207ned)s 1733(as)s 1983(follo)s 6(ws:)k -220 fnt35 480 9366(def sup)m 480 9078( precedence 60)m 480 8790( associativity left)m 480 8502( left x)m +220 fnt2 480 9366(def sup)m 480 9078( precedence 60)m 480 8790( associativity left)m 480 8502( left x)m 480 8214( named gap { @SupGap })m 480 7926( r)m -3(ight y)k 480 7638({)m 480 7350( @HContr)m 2(act @VContr)k 2(act {)k -480 7062( | @Smaller y)m 480 6774( ^/gap x)m 480 6486( })m 480 6198(})m 240 fnt82 -0 5704(The)m 220 fnt35 430 5701(@VContr)m 2(act)k 240 fnt82 -1684 5704(and)m 220 fnt35 2091 5701(^/)m 240 fnt82 2320 5704(symbols)m +480 7062( | @Smaller y)m 480 6774( ^/gap x)m 480 6486( })m 480 6198(})m 240 fnt1 +0 5704(The)m 220 fnt2 430 5701(@VContr)m 2(act)k 240 fnt1 +1684 5704(and)m 220 fnt2 2091 5701(^/)m 240 fnt1 2320 5704(symbols)m 3171(together)s 4017(ensure)s 4699(that)s 5119(the)s 5470(axis)s 5908(of)s 6181(the)s 6532(result)s 7124(is)s 7336(the)s 7687(axis)s 8125(of)s 8398(the)s 8749(left)s 0 5416(parameter)m 13(.)k -1119(A)s 220 fnt35 1363 5413(gap)m 240 fnt82 1795 5416(parameter)m +1119(A)s 220 fnt2 1363 5413(gap)m 240 fnt1 1795 5416(parameter)m 2823(has)s 3207(been)s 3730(pro)s 3(vided)k 4650(for)s 5002(v)s 6(arying)k 5794(the)s 6156(height)s 6828(of)s 7113(the)s 7475(superscript,)s 8644(with)s 0 5128(def)m 2(ault)k -709(v)s 6(alue)k 220 fnt35 1265 5125(@SupGap)m 240 fnt82 -2393 5128(de\207ned)m 3144(else)s 6(where)k 4137(as)s 220 fnt35 -4375 5125(0.40fk)m 240 fnt82 4973 5128(.)m 5124(It)s 5317(is)s +709(v)s 6(alue)k 220 fnt2 1265 5125(@SupGap)m 240 fnt1 +2393 5128(de\207ned)m 3144(else)s 6(where)k 4137(as)s 220 fnt2 +4375 5125(0.40fk)m 240 fnt1 4973 5128(.)m 5124(It)s 5317(is)s 5515(important)s 6492(that)s 6898(such)s 7382(g)s 1(aps)k 7859(be)s 8128(e)s 3(xpressed)k 0 4840(in)m 232(units)s 736(that)s 1142(v)s 6(ary)k 1603(with)s 2073(the)s @@ -13687,15 +14545,23 @@ grestore 4420(remain)s 5129(correct)s 5839(when)s 6403(the)s 6739(size)s 7154(changes.)s 8077(Collecting)s 0 4552(the)m 351(def)s 2(ault)k 1076(v)s 6(alues)k 1735(into)s 2164(symbols)s 3016(lik)s 2(e)k -220 fnt35 3432 4549(@SupGap)m 240 fnt82 4515 4552(ensures)m 5287(consistenc)s 3(y)k +220 fnt2 3432 4549(@SupGap)m 240 fnt1 4515 4552(ensures)m 5287(consistenc)s 3(y)k 6457(and)s 6865(assists)s 7529(when)s 8109(tuning)s 8778(the)s 0 4264(v)m 6(alues.)k 769(Here)s 1289(is)s 1499(another)s -2276(characteristic)s 3600(de\207nition:)s 220 fnt35 480 3814(def o)m 3(v)k 5(er)k +2276(characteristic)s 3600(de\207nition:)s 220 fnt2 480 3814(def o)m 3(v)k 5(er)k 480 3526( precedence 54)m 480 3238( associativity left)m 480 2950( left x)m 480 2662( named gap { 0.2f })m 480 2374( r)m -3(ight y)k 480 2086({)m 480 1798( @HContr)m 2(act @VContr)k 2(act {)k 480 1510( |0.5r)m -8(t @OneCol x)k 480 1222( ^//gap @HLine)m 480 934( //gap |0.5r)m -8(t @OneCol y)k 480 646( })m 480 358(})m grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -13704,55 +14570,57 @@ grestore pgsave restore showpage -%%Page: 73 79 +%%Page: 74 80 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica %%+ font Symbol /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(74)m 240 fnt6 8434 -1580(Chapter)m 9284(4.)s +9558(Examples)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(4.1.)m 454(An)s 774(equation)s 1666(formatting)s -2730(pac)s 4(ka)k 2(g)k 2(e)k 240 fnt84 -8833 13840(73)m 240 fnt82 0 13205(Both)m 518(parameters)s 1611(are)s -1953(centred,)s 2758(since)s 3299(we)s 3629(do)s 3917(not)s -4278(kno)s 6(w)k 4853(which)s 5490(will)s 5911(be)s -6188(the)s 6530(wider;)s 7181(we)s 7511(use)s 220 fnt35 -7881 13202(@OneCol)m 240 fnt82 8887 13205(to)m 0 12917(mak)m 2(e)k -570(sure)s 1021(that)s 1437(the)s 1782(entire)s 2379(parameter)s -3390(is)s 3598(centred,)s 4405(not)s 4769(just)s 5171(its)s -5445(\207rst)s 5873(column,)s 6696(and)s 220 fnt35 7097 12914(@HContr)m 2(act)k -240 fnt82 8358 12917(ensures)m 0 12629(that)m 428(the)s 787(fraction)s -1597(will)s 2034(ne)s 6(v)k 3(er)k 2627(e)s 3(xpand)k +0 13205(Both)m 518(parameters)s 1611(are)s 1953(centred,)s +2758(since)s 3299(we)s 3629(do)s 3917(not)s 4278(kno)s 6(w)k +4853(which)s 5490(will)s 5911(be)s 6188(the)s 6530(wider;)s +7181(we)s 7511(use)s 220 fnt2 7881 13202(@OneCol)m 240 fnt1 +8887 13205(to)m 0 12917(mak)m 2(e)k 570(sure)s 1021(that)s +1437(the)s 1782(entire)s 2379(parameter)s 3390(is)s 3598(centred,)s +4405(not)s 4769(just)s 5171(its)s 5445(\207rst)s 5873(column,)s +6696(and)s 220 fnt2 7097 12914(@HContr)m 2(act)k 240 fnt1 +8358 12917(ensures)m 0 12629(that)m 428(the)s 787(fraction)s 1597(will)s +2034(ne)s 6(v)k 3(er)k 2627(e)s 3(xpand)k 3385(to)s 3635(\207ll)s 3966(all)s 4269(the)s 4628(a)s 4(v)k 6(ailable)k 5547(space,)s 6196(as)s 6457(Lout)s 6980(objects)s 7719(ha)s 4(v)k 3(e)k 8231(a)s 8408(natural)s 0 12341(tendenc)m 3(y)k 915(to)s -1154(do)s 1447(\(Section)s 2300(2.6\).)s 220 fnt35 2843 12338(@HLine)m -240 fnt82 3690 12341(is)m 3900(a)s 4066(horizontal)s 5090(line)s +1154(do)s 1447(\(Section)s 2300(2.6\).)s 220 fnt2 2843 12338(@HLine)m +240 fnt1 3690 12341(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 220 fnt35 480 11840(def @HLine)m 480 11552( named line { "0.05 ft setline)m 4(width" })k +7344(column:)s 220 fnt2 480 11840(def @HLine)m 480 11552( named line { "0.05 ft setline)m 4(width" })k 480 11264({ )m 480 10976( { "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 10688(})m 240 fnt82 0 10194(Here)m 520(we)s 855(are)s +480 10688(})m 240 fnt1 0 10194(Here)m 520(we)s 855(are)s 1202(relying)s 1932(on)s 2229(the)s 2577(e)s 3(xpanding)k 3625(tendenc)s 3(y)k 4540(just)s 4945(mentioned.)s 480 9820(The)m 906(remaining)s 1925(symbols)s 2772(are)s 3116(quite)s 3647(similar)s @@ -13761,50 +14629,50 @@ grestore 8078(\207ne)s 8490(points)s 0 9532(of)m 271(mathematical)s 1612(typesetting)s 2714(mentioned)s 3782(by)s 4076(a)s 4242(leading)s 4999(authority)s 15(,)k 5954(D.)s 6231(E.)s 6481(Knuth)s 7137([5)s 7322(].)s -480 9158(Some)m 1090(symbols,)s 2004(such)s 2509(as)s 240 fnt78 -2768 9152(\243)m 240 fnt82 2963 9158(and)m 240 fnt78 3376 9152(\271)m -240 fnt82 3505 9158(,)m 3621(should)s 4327(ha)s 4(v)k 3(e)k +480 9158(Some)m 1090(symbols,)s 2004(such)s 2509(as)s 240 fnt4 +2768 9152(\243)m 240 fnt1 2963 9158(and)m 240 fnt4 3376 9152(\271)m +240 fnt1 3505 9158(,)m 3621(should)s 4327(ha)s 4(v)k 3(e)k 4837(a)s 5012(thick)s 5560(space)s 6156(on)s 6462(each)s -6966(side;)s 7472(others,)s 8172(such)s 8677(as)s 240 fnt78 -8937 9152(+)m 240 fnt82 0 8870(and)m 240 fnt78 397 8864(-)m -240 fnt82 525 8870(,)m 625(ha)s 4(v)k 3(e)k +6966(side;)s 7472(others,)s 8172(such)s 8677(as)s 240 fnt4 +8937 9152(+)m 240 fnt1 0 8870(and)m 240 fnt4 397 8864(-)m +240 fnt1 525 8870(,)m 625(ha)s 4(v)k 3(e)k 1119(a)s 1278(medium)s 2115(space;)s 2751(others)s 3379(ha)s 4(v)k 3(e)k 3873(a)s 4032(thin)s 4454(space)s 5034(on)s 5324(the)s 5665(right)s 6169(only)s 15(.)k 6737(This)s 7206(w)s 2(ould)k 7854(be)s 8129(easy)s 8601(to)s 8833(do)s 0 8582(e)m 3(xcept)k 681(that)s 1099(these)s 1646(spaces)s 2321(are)s 2668(not)s 3034(w)s 2(anted)k 3781(in)s 4024(superscripts)s 5216(and)s -5620(subscripts:)s 168 fnt83 578 8135(n)m 168 fnt78 680 8129(+)m -793(1)s 240 fnt83 480 8037(r)m 240 fnt78 931 8029(-)m -1131(1)s 240 fnt82 0 7578(In)m 271(ef)s 6(fect,)k +5620(subscripts:)s 168 fnt6 578 8135(n)m 168 fnt4 680 8129(+)m +793(1)s 240 fnt6 480 8037(r)m 240 fnt4 931 8029(-)m +1131(1)s 240 fnt1 0 7578(In)m 271(ef)s 6(fect,)k 929(the)s 1292(de\207nition)s 2281(of)s 2568(such)s 3079(symbols)s 3943(changes)s 4780(depending)s 5846(on)s 6159(the)s 6522(conte)s 3(xt;)k 7350(b)s 4(ut)k 7727(Lout)s 8254(does)s 8760(not)s 0 7290(permit)m 682(such)s 1176(a)s 1340(change.)s 2180(Luckily)s 15(,)k 3015(the)s 3361(so-called)s 4279(`style')s 4919(information)s 6102(set)s -6426(by)s 6718(the)s 220 fnt35 7064 7287(@F)m 6(ont)k -240 fnt82 7716 7290(,)m 220 fnt35 7821 7287(@Break)m 240 fnt82 -8617 7290(,)m 8722(and)s 220 fnt35 0 6999(@Space)m 240 fnt82 +6426(by)s 6718(the)s 220 fnt2 7064 7287(@F)m 6(ont)k +240 fnt1 7716 7290(,)m 220 fnt2 7821 7287(@Break)m 240 fnt1 +8617 7290(,)m 8722(and)s 220 fnt2 0 6999(@Space)m 240 fnt1 891 7002(symbols)m 1734(can)s 2116(change)s 2844(in)s 3080(this)s 3470(w)s 2(ay)k 15(.)k 4009(Accordingly)s 15(,)k -5291(Eq)s 5608(uses)s 6065(the)s 220 fnt35 6406 6999(y)m -240 fnt82 6568 7002(unit,)m 7040(which)s 7676(is)s 7879(part)s +5291(Eq)s 5608(uses)s 6065(the)s 220 fnt2 6406 6999(y)m +240 fnt1 6568 7002(unit,)m 7040(which)s 7676(is)s 7879(part)s 8304(of)s 8568(style,)s 0 6714(for)m 338(these)s 885(spaces:)s -220 fnt35 480 6213(def @MedGap { 0.20y })m 480 5637(def "+" { &@MedGap plus &@MedGap })m 480 5061(def @HSqueez)m 3(e r)k -3(ight x { 0.2f @YUnit x })k -240 fnt82 0 4562(In)m 261(the)s 615(equation)s 1502(as)s +220 fnt2 480 6213(def @MedGap { 0.20y })m 480 5637(def "+" { &@MedGap plus &@MedGap })m 480 5061(def @HSqueez)m 3(e r)k -3(ight x { 0.2f @YUnit x })k +240 fnt1 0 4562(In)m 261(the)s 615(equation)s 1502(as)s 1758(a)s 1929(whole,)s 2627(the)s 2981(y)s 3161(unit)s -3599(is)s 3814(initially)s 4616(set)s 4947(to)s 220 fnt35 -5192 4559(1f)m 240 fnt82 5372 4562(,)m 5484(and)s 5894(so)s -220 fnt35 6166 4559(@MedGap)m 240 fnt82 7289 4562(ordinarily)m 8291(supplies)s +3599(is)s 3814(initially)s 4616(set)s 4947(to)s 220 fnt2 +5192 4559(1f)m 240 fnt1 5372 4562(,)m 5484(and)s 5894(so)s +220 fnt2 6166 4559(@MedGap)m 240 fnt1 7289 4562(ordinarily)m 8291(supplies)s 0 4274(20%)m 495(of)s 777(this)s 1184(amount.)s 2077(But)s 2494(superscripts)s 3697(and)s 4112(subscripts)s 5130(are)s 5488(enclosed)s -6394(in)s 6648(the)s 220 fnt35 7007 4271(@HSqueez)m 3(e)k -240 fnt82 8314 4274(symbol,)m 0 3986(which,)m 744(by)s 1091(changing)s +6394(in)s 6648(the)s 220 fnt2 7007 4271(@HSqueez)m 3(e)k +240 fnt1 8314 4274(symbol,)m 0 3986(which,)m 744(by)s 1091(changing)s 2075(the)s 2476(y)s 2703(unit,)s 3235(ensures)s 4056(that)s -4527(an)s 3(y)k 220 fnt35 4977 3983(@MedGap)m 240 fnt82 +4527(an)s 3(y)k 220 fnt2 4977 3983(@MedGap)m 240 fnt1 6147 3986(within)m 6868(them)s 7459(is)s 7722(much)s 8364(smaller)s -0 3698(than)m 469(usual.)s 240 fnt84 0 2955(4.2.)m 471(P)s 2(aragraphs,)k -1780(displays,)s 2718(and)s 3159(lists)s 240 fnt82 480 2478(The)m +0 3698(than)m 469(usual.)s 240 fnt5 0 2955(4.2.)m 471(P)s 2(aragraphs,)k +1780(displays,)s 2718(and)s 3159(lists)s 240 fnt1 480 2478(The)m 914(remaining)s 1942(sections)s 2770(of)s 3047(this)s 3449(chapter)s 4219(are)s 4572(all)s 4871(based)s 5481(on)s 5784(V)s 26(ersion)k 6578(2)s 6759(of)s 7036(the)s 7391(DocumentLayout)s 0 2190(package.)m @@ -13833,6 +14701,14 @@ grestore 6207(a)s 6370(0.3)s 6711(cm)s 7060(v)s 3(ertical)k 7824(space)s 8408(and)s 8809(a)s 8971(1)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -13841,59 +14717,63 @@ grestore pgsave restore showpage -%%Page: 74 80 +%%Page: 75 81 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(4.2.)m 1871(P)s 19(ar)k 3(a)k 2(gr)k 3(aphs,)k +3082(displays,)s 3959(and)s 4385(lists)s 240 fnt5 10250 -1583(75)m +gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(74)m 240 fnt83 7017 13843(Chapter)m 7867(4.)s -8141(Examples)s 240 fnt82 0 13205(cm)m 352(indent)s 1010(on)s -1307(the)s 1655(follo)s 6(wing)k 2632(line,)s 3097(and)s -3501(is)s 3711(clearly)s 4414(on)s 4711(the)s 5059(right)s -5570(track:)s 220 fnt35 480 12704(macro @PP { //0.3c &1c })m 240 fnt82 0 12210(Ne)m 6(v)k 3(ertheless)k -1276(it)s 1468(has)s 1838(se)s 6(v)k 3(eral)k -2560(major)s 3177(problems.)s 480 11836(The)m 220 fnt35 926 11833(&)m -240 fnt82 1147 11836(symbol)m 1926(is)s 2154(subject)s 2910(to)s -3168(widening)s 4130(during)s 4827(line)s 5260(adjustment,)s 6434(so)s -6719(it)s 6930(should)s 7645(be)s 7946(replaced)s 8832(by)s -220 fnt35 0 11545(1c @Wide {})m 240 fnt82 1213 11548(.)m 1387(But)s -1804(then)s 2284(white)s 2882(space)s 3480(follo)s 6(wing)k -4468(the)s 4827(symbol)s 5597(will)s 6034(af)s 6(fect)k -6641(the)s 7000(result,)s 7648(so)s 7925(an)s 8219(e)s 3(xtra)k -220 fnt35 8764 11545(&0i)m 240 fnt82 0 11260(must)m 528(be)s +0 13205(cm)m 352(indent)s 1010(on)s 1307(the)s 1655(follo)s 6(wing)k +2632(line,)s 3097(and)s 3501(is)s 3711(clearly)s 4414(on)s +4711(the)s 5059(right)s 5570(track:)s 220 fnt2 480 12704(macro @PP { //0.3c &1c })m +240 fnt1 0 12210(Ne)m 6(v)k 3(ertheless)k 1276(it)s +1468(has)s 1838(se)s 6(v)k 3(eral)k 2560(major)s +3177(problems.)s 480 11836(The)m 220 fnt2 926 11833(&)m 240 fnt1 +1147 11836(symbol)m 1926(is)s 2154(subject)s 2910(to)s 3168(widening)s +4130(during)s 4827(line)s 5260(adjustment,)s 6434(so)s 6719(it)s +6930(should)s 7645(be)s 7946(replaced)s 8832(by)s 220 fnt2 +0 11545(1c @Wide {})m 240 fnt1 1213 11548(.)m 1387(But)s 1804(then)s +2284(white)s 2882(space)s 3480(follo)s 6(wing)k 4468(the)s +4827(symbol)s 5597(will)s 6034(af)s 6(fect)k 6641(the)s +7000(result,)s 7648(so)s 7925(an)s 8219(e)s 3(xtra)k +220 fnt2 8764 11545(&0i)m 240 fnt1 0 11260(must)m 528(be)s 814(added.)s 1553(If)s 1787(the)s 2138(document)s 3146(is)s 3359(printed)s 4098(double)s 4810(spaced,)s 5571(this)s 5971(paragraph)s 6987(g)s 1(ap)k 7389(will)s 7818(f)s 2(ail)k 8192(to)s 8435(widen:)s 0 10972(it)m 204(should)s 914(be)s 1208(e)s 3(xpressed)k 2219(in)s 2475(terms)s 3068(of)s -3352(the)s 220 fnt35 3712 10969(v)m 240 fnt82 3894 10972(unit,)m +3352(the)s 220 fnt2 3712 10969(v)m 240 fnt1 3894 10972(unit,)m 4386(with)s 4880(mark-to-mark)s 6280(spacing)s 7076(mode.)s 7785(Similarly)s 15(,)k 8778(the)s 0 10684(paragraph)m 1013(indent)s 1671(should)s 2368(probably)s 3273(be)s 3555(made)s 4129(proportional)s 5366(to)s 5605(the)s 5953(font)s 6398(size.)s 480 10310(`Magic)m 1211(numbers')s 2135(lik)s 2(e)k -220 fnt35 2535 10307(0.3c)m 240 fnt82 2993 10310(should)m 3678(not)s +220 fnt2 2535 10307(0.3c)m 240 fnt1 2993 10310(should)m 3678(not)s 4032(be)s 4302(b)s 4(uried)k 4955(in)s 5186(de\207nitions)s 6235(where)s 6863(the)s 3(y)k 7314(cannot)s 8000(be)s 8270(changed)s 0 10022(easily)m 15(,)k 649(or)s 908(k)s 2(ept)k @@ -13901,37 +14781,37 @@ grestore 5337(tuning.)s 6113(The)s 3(y)k 6656(are)s 7003(much)s 7592(better)s 8195(placed)s 8876(as)s 0 9734(symbols,)m 905(possibly)s 1757(parameters)s 2855(of)s 3126(the)s 3474(enclosing)s 4444(package:)s -220 fnt35 480 9233(def @DocumentLa)m 6(y)k 4(out)k 480 8945( named @P)m 8(ar)k 2(aGap { 1.3vx })k +220 fnt2 480 9233(def @DocumentLa)m 6(y)k 4(out)k 480 8945( named @P)m 8(ar)k 2(aGap { 1.3vx })k 480 8657( named @P)m 8(ar)k 2(aIndent { 2f })k 480 8369( ...)m 480 8081(@Begin)m 480 7505( macro @PP { //@P)m 8(ar)k 2(aGap @P)k 8(ar)k 2(aIndent @Wide &0i })k 480 7217( macro @LP { //@P)m 8(ar)k 2(aGap })k 480 6929( ...)m 480 6641(@End @DocumentLa)m 6(y)k 4(out)k -240 fnt82 0 6143(and)m 404(we)s 739(ha)s 4(v)k 3(e)k +240 fnt1 0 6143(and)m 404(we)s 739(ha)s 4(v)k 3(e)k 1240(arri)s 6(v)k 3(ed)k 1965(at)s 2197(the)s -2545(de\207nition)s 3519(of)s 220 fnt35 3790 6140(@PP)m 240 fnt82 +2545(de\207nition)s 3519(of)s 220 fnt2 3790 6140(@PP)m 240 fnt1 4356 6143(as)m 4606(it)s 4798(appears)s 5579(in)s 5822(the)s 6170(DocumentLayout)s 7905(package.)s 480 5769(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 240 fnt83 -480 5266(pr)m 8(eceding)k 1483(te)s 4(xt)k 220 fnt35 -480 4973(//@DispGap |@DispIndent)m 240 fnt83 3183 4978(display)m 220 fnt35 480 4685(//@DispGap)m -240 fnt83 480 4402(following)m 1438(te)s 4(xt)k 240 fnt82 +3584(\207rst)s 4015(column)s 4790(is)s 5000(blank:)s 240 fnt6 +480 5266(pr)m 8(eceding)k 1483(te)s 4(xt)k 220 fnt2 +480 4973(//@DispGap |@DispIndent)m 240 fnt6 3183 4978(display)m 220 fnt2 480 4685(//@DispGap)m +240 fnt6 480 4402(following)m 1438(te)s 4(xt)k 240 fnt1 0 3901(Edge-to-edge)m 1345(is)s 1557(the)s 1906(appropriate)s 3052(spacing)s 3838(mode)s 4427(before)s 5095(and)s 5500(after)s 5998(displays,)s 6891(since)s 7439(the)s 7789(display)s 8536(could)s 0 3613(be)m 273(a)s 430(table)s 941(or)s 1191(\207gure)s 1796(whose)s 2455(mark)s 2998(does)s 3479(not)s 3836(correspond)s 4948(to)s -5178(a)s 5335(baseline.)s 6273(Thus,)s 220 fnt35 6850 3610(1v)m -240 fnt82 7132 3613(is)m 7333(a)s 7490(reasonable)s 8558(v)s 6(alue)k -0 3325(for)m 220 fnt35 338 3322(@DispGap)m 240 fnt82 1406 3325(.)m +5178(a)s 5335(baseline.)s 6273(Thus,)s 220 fnt2 6850 3610(1v)m +240 fnt1 7132 3613(is)m 7333(a)s 7490(reasonable)s 8558(v)s 6(alue)k +0 3325(for)m 220 fnt2 338 3322(@DispGap)m 240 fnt1 1406 3325(.)m 480 2951(The)m 957(ordinary)s 1871(user)s 2379(cannot)s 3126(be)s 3458(e)s 3(xpected)k 4413(to)s 4702(type)s 5219(the)s 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 2663(appropriate)m 1144(syntax)s 1824(is)s -240 fnt83 480 2160(pr)m 8(eceding)k 1483(te)s 4(xt)k -220 fnt35 480 1867(@IndentedDispla)m 6(y {)k 240 fnt83 2514 1872(display)m -220 fnt35 3321 1867(})m 240 fnt83 480 1584(following)m 1438(te)s 4(xt)k -240 fnt82 0 1083(This)m 491(presents)s 1340(a)s 1521(problem:)s -2499(if)s 220 fnt35 2731 1080(@IndentedDispla)m 6(y)k 240 fnt82 +240 fnt6 480 2160(pr)m 8(eceding)k 1483(te)s 4(xt)k +220 fnt2 480 1867(@IndentedDispla)m 6(y {)k 240 fnt6 2514 1872(display)m +220 fnt2 3321 1867(})m 240 fnt6 480 1584(following)m 1438(te)s 4(xt)k +240 fnt1 0 1083(This)m 491(presents)s 1340(a)s 1521(problem:)s +2499(if)s 220 fnt2 2731 1080(@IndentedDispla)m 6(y)k 240 fnt1 4593 1083(is)m 4819(made)s 5408(a)s 5589(de\207nition)s 6578(with)s 7075(a)s 7256(right)s 7782(parameter)s 9(,)k 8850(its)s 0 795(result)m 598(will)s 1032(be)s 1322(an)s 1613(object)s @@ -13939,12 +14819,20 @@ grestore 5762(only)s 6250(by)s 6552(white)s 7147(space,)s 7793(hence)s 8415(part)s 8855(of)s 0 507(the)m 343(paragraph;)s 1405(while)s 1986(if)s 2197(it)s 2383(is)s 2587(a)s 2747(macro,)s -3445(the)s 3787(\207nal)s 220 fnt35 4261 504(//@DispGap)m 240 fnt82 +3445(the)s 3787(\207nal)s 220 fnt2 4261 504(//@DispGap)m 240 fnt1 5505 507(cannot)m 6197(be)s 6473(included)s 7349(in)s 7586(it.)s 7876(The)s 8298(solution)s 0 219(adopted)m 816(in)s 1059(the)s 1407(DocumentLayout)s 3142(package)s 3982(uses)s 4445(a)s 4611(g)s 1(alle)k 3(y)k 5245(and)s 5649(a)s 5815(macro:)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -13953,57 +14841,59 @@ grestore pgsave restore showpage -%%Page: 75 81 +%%Page: 76 82 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(76)m 240 fnt6 8434 -1580(Chapter)m 9284(4.)s +9558(Examples)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(4.2.)m 454(P)s 19(ar)k 3(a)k 2(gr)k 3(aphs,)k -1665(displays,)s 2542(and)s 2968(lists)s 240 fnt84 8833 13840(75)m -220 fnt35 480 13207( def @DispPlace { @Galle)m 4(y })k 480 12919( def @Disp into { @DispPlace&&preceding })m 480 12631( r)m -3(ight x)k -480 12343( {)m 480 12055( @OneRo)m 3(w x)k 480 11767( })m 480 11191( macro @IndentedDispla)m 6(y)k -480 10903( {)m 480 10615( //@DispGap |@DispIndent @DispPlace |)m 480 10327( //@DispGap // @Disp)m 480 10039( })m 0 9542(@DispPlace)m -240 fnt82 1257 9545(and)m 220 fnt35 1657 9542(@Disp)m 240 fnt82 -2366 9545(are)m 2709(not)s 3070(e)s 3(xported,)k 4007(so)s -4269(there)s 4798(is)s 5003(no)s 5292(danger)s 5999(of)s -6266(a)s 6427(name)s 6997(clash)s 7541(with)s 8019(some)s -8575(other)s 0 9257(symbol.)m 869(The)s 1297(ordinary)s 2161(user')s 13(s)k -2769(syntax)s 3449(e)s 3(xpands)k 4282(to)s 240 fnt83 -480 8754(pr)m 8(eceding)k 1483(te)s 4(xt)k 220 fnt35 -480 8461(//@DispGap |@DispIndent @DispPlace |)m 480 8173(//@DispGap // @Disp {)m 240 fnt83 2890 8178(display)m 220 fnt35 -3637 8173(})m 240 fnt83 480 7890(following)m 1438(te)s 4(xt)k -240 fnt82 0 7389(and)m 397(the)s 220 fnt35 737 7386(@Disp)m -240 fnt82 1442 7389(g)m 1(alle)k 3(y)k 2068(appears)s -2842(at)s 3066(the)s 3406(preceding)s 220 fnt35 4394 7386(@DispPlace)m -240 fnt82 5595 7389(,)m 5694(being)s 6272(itself)s 6812(replaced)s -7671(by)s 220 fnt35 7957 7386(@Null)m 240 fnt82 8542 7389(.)m -8698(The)s 220 fnt35 0 7098(//)m 240 fnt82 184 7101(symbol)m -942(protects)s 1748(the)s 2094(preceding)s 220 fnt35 3088 7098(//@DispGap)m -240 fnt82 4337 7101(from)m 4859(being)s 5443(deleted)s 6189(by)s -6481(this)s 220 fnt35 6876 7098(@Null)m 240 fnt82 7519 7101(when)m -8094(there)s 8625(is)s 8833(no)s 0 6813(follo)m 6(wing)k +220 fnt2 480 13207( def @DispPlace { @Galle)m 4(y })k 480 12919( def @Disp into { @DispPlace&&preceding })m +480 12631( r)m -3(ight x)k 480 12343( {)m 480 12055( @OneRo)m 3(w x)k +480 11767( })m 480 11191( macro @IndentedDispla)m 6(y)k 480 10903( {)m 480 10615( //@DispGap |@DispIndent @DispPlace |)m +480 10327( //@DispGap // @Disp)m 480 10039( })m 0 9542(@DispPlace)m 240 fnt1 1257 9545(and)m +220 fnt2 1657 9542(@Disp)m 240 fnt1 2366 9545(are)m 2709(not)s +3070(e)s 3(xported,)k 4007(so)s 4269(there)s 4798(is)s +5003(no)s 5292(danger)s 5999(of)s 6266(a)s 6427(name)s +6997(clash)s 7541(with)s 8019(some)s 8575(other)s 0 9257(symbol.)m +869(The)s 1297(ordinary)s 2161(user')s 13(s)k 2769(syntax)s +3449(e)s 3(xpands)k 4282(to)s 240 fnt6 480 8754(pr)m 8(eceding)k +1483(te)s 4(xt)k 220 fnt2 480 8461(//@DispGap |@DispIndent @DispPlace |)m 480 8173(//@DispGap // @Disp {)m +240 fnt6 2890 8178(display)m 220 fnt2 3637 8173(})m 240 fnt6 +480 7890(following)m 1438(te)s 4(xt)k 240 fnt1 0 7389(and)m +397(the)s 220 fnt2 737 7386(@Disp)m 240 fnt1 1442 7389(g)m 1(alle)k 3(y)k +2068(appears)s 2842(at)s 3066(the)s 3406(preceding)s 220 fnt2 +4394 7386(@DispPlace)m 240 fnt1 5595 7389(,)m 5694(being)s 6272(itself)s +6812(replaced)s 7671(by)s 220 fnt2 7957 7386(@Null)m 240 fnt1 +8542 7389(.)m 8698(The)s 220 fnt2 0 7098(//)m 240 fnt1 +184 7101(symbol)m 942(protects)s 1748(the)s 2094(preceding)s 220 fnt2 +3088 7098(//@DispGap)m 240 fnt1 4337 7101(from)m 4859(being)s 5443(deleted)s +6189(by)s 6481(this)s 220 fnt2 6876 7098(@Null)m 240 fnt1 +7519 7101(when)m 8094(there)s 8625(is)s 8833(no)s 0 6813(follo)m 6(wing)k 977(te)s 3(xt.)k 480 6439(An)m 858(automatically)s 2240(numbered)s 3283(list)s 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 @@ -14011,28 +14901,28 @@ grestore 812(with)s 1294(sequences)s 2315(of)s 2586(pages,)s 3238(we)s 3573(see)s 3934(immmediately)s 5368(that)s 5786(recursion)s 6732(must)s 7257(be)s 7539(in)s 9(v)k 4(olv)k 3(ed:)k -220 fnt35 480 5650(def @List r)m -3(ight n)k 2(um)k 480 5362({)m +220 fnt2 480 5650(def @List r)m -3(ight n)k 2(um)k 480 5362({)m 480 5074( @DispIndent @Wide n)m 2(um.)k 13( | @ItemPlace)k 480 4786( //@DispGap @List @Ne)m 6(xt n)k 2(um)k -480 4498(})m 240 fnt82 0 4004(Notice)m 689(ho)s 6(w)k -1146(the)s 220 fnt35 1490 4001(@Ne)m 6(xt)k 240 fnt82 +480 4498(})m 240 fnt1 0 4004(Notice)m 689(ho)s 6(w)k +1146(the)s 220 fnt2 1490 4001(@Ne)m 6(xt)k 240 fnt1 2210 4004(symbol)m 2965(w)s 2(orks)k 3595(in)s 3834(conjunction)s 5017(with)s 5495(the)s 5838(recursion)s 6780(to)s 7015(produce)s 7838(an)s 8116(ascending)s 0 3716(sequence)m 933(of)s 1204(numbers;)s -2140(the)s 2488(result)s 3078(of)s 220 fnt35 3349 3713(@List 1)m -240 fnt82 4113 3716(will)m 4539(be)s 220 fnt35 480 3215(1.)m 13( @ItemPlace)k +2140(the)s 2488(result)s 3078(of)s 220 fnt2 3349 3713(@List 1)m +240 fnt1 4113 3716(will)m 4539(be)s 220 fnt2 480 3215(1.)m 13( @ItemPlace)k 480 2927(2.)m 13( @ItemPlace)k 480 2639(3.)m 13( @ItemPlace)k 480 2351(...)m -240 fnt82 0 1900(W)m 19(e)k 362(can)s 744(follo)s 6(w)k +240 fnt1 0 1900(W)m 19(e)k 362(can)s 744(follo)s 6(w)k 1408(this)s 1797(with)s 2271(items)s 2832(which)s 3466(are)s 3806(g)s 1(alle)k 3(ys)k 4522(tar)s 4(geted)k -5338(to)s 220 fnt35 5569 1897(@ItemPlace&&preceding)m 240 fnt82 8010 1900(,)m -8110(and)s 220 fnt35 8506 1897(@List)m 240 fnt82 0 1612(will)m +5338(to)s 220 fnt2 5569 1897(@ItemPlace&&preceding)m 240 fnt1 8010 1900(,)m +8110(and)s 220 fnt2 8506 1897(@List)m 240 fnt1 0 1612(will)m 426(e)s 3(xpand)k 1173(just)s 1578(enough)s 2341(to)s 2580(accommodate)s 3964(them.)s 480 1238(The)m 908(usual)s 1468(problem)s 2325(with)s 2807(recursi)s 6(v)k 3(e-)k 3741(recepti)s 6(v)k 3(e)k 4663(symbols)s 5513(no)s 6(w)k 5974(arises:)s 6683(there)s 7216(is)s 7426(al)s 2(w)k 2(ays)k 8137(one)s -8540(une)s 3(x)k 8998(-)s 0 950(panded)m 220 fnt35 -753 947(@List)m 240 fnt82 1313 950(,)m 1424(and)s 1832(until)s +8540(une)s 3(x)k 8998(-)s 0 950(panded)m 220 fnt2 +753 947(@List)m 240 fnt1 1313 950(,)m 1424(and)s 1832(until)s 2329(it)s 2525(can)s 2917(be)s 3203(remo)s 3(v)k 3(ed)k 4096(the)s 4448(g)s 1(alle)k 3(y)k 5086(containing)s 6152(it)s 6348(will)s 6778(appear)s 7479(to)s 7722(be)s @@ -14042,12 +14932,20 @@ grestore 6816(29\).)s 7289(W)s 19(e)k 7647(adopt)s 8229(the)s 8566(usual)s 0 374(solution:)m 937(a)s 1104(forcing)s 1847(g)s 1(alle)k 3(y)k 2482(into)s 2908(a)s 3074(later)s 3558(tar)s 4(get)k -4158(will)s 4584(replace)s 5330(the)s 5679(last)s 220 fnt35 -6070 371(@List)m 240 fnt82 6691 374(by)m 220 fnt35 6986 371(@Null)m -240 fnt82 7571 374(.)m 7735(This)s 8212(brings)s 8862(us)s +4158(will)s 4584(replace)s 5330(the)s 5679(last)s 220 fnt2 +6070 371(@List)m 240 fnt1 6691 374(by)m 220 fnt2 6986 371(@Null)m +240 fnt1 7571 374(.)m 7735(This)s 8212(brings)s 8862(us)s 0 86(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 grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -14056,86 +14954,97 @@ grestore pgsave restore showpage -%%Page: 76 82 +%%Page: 77 83 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(4.2.)m 1871(P)s 19(ar)k 3(a)k 2(gr)k 3(aphs,)k +3082(displays,)s 3959(and)s 4385(lists)s 240 fnt5 10248 -1583(77)m +gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(76)m 240 fnt83 7017 13843(Chapter)m 7867(4.)s -8141(Examples)s 220 fnt35 480 13207(def @ItemPlace { @Galle)m 4(y })k 480 12919(def @ListItem into { @ItemPlace&&preceding })m -480 12631( r)m -3(ight x)k 480 12343({ x })m 480 11851(def @EndListPlace { @Galle)m 4(y })k -480 11563(def @EndList f)m 6(orce into { @EndListPlace&&preceding })k 480 11275({})m 480 10783(def @Ra)m 4(wIndentedList)k -480 10495( named style r)m -3(ight tag {})k 480 10207( named indent { @DispIndent })m 480 9919( named gap { @DispGap })m 480 9631( named star)m -8(t { 1 })k -480 9343({)m 480 9055( def @IList r)m -3(ight n)k 2(um)k 480 8767( {)m -480 8479( indent @Wide {style n)m 2(um} | @ItemPlace)k 480 8191( //gap @IList @Ne)m 6(xt n)k 2(um)k -480 7903( })m 480 7327( @IList star)m -8(t // @EndListPlace)k 480 7039(})m 240 fnt82 -0 6545(No)m 6(w)k 514(gi)s 6(v)k 3(en)k -1094(the)s 1442(input)s 220 fnt35 480 6044(@Ra)m 4(wIndentedList)k +220 fnt2 480 13207(def @ItemPlace { @Galle)m 4(y })k 480 12919(def @ListItem into { @ItemPlace&&preceding })m 480 12631( r)m -3(ight x)k +480 12343({ x })m 480 11851(def @EndListPlace { @Galle)m 4(y })k 480 11563(def @EndList f)m 6(orce into { @EndListPlace&&preceding })k +480 11275({})m 480 10783(def @Ra)m 4(wIndentedList)k 480 10495( named style r)m -3(ight tag {})k +480 10207( named indent { @DispIndent })m 480 9919( named gap { @DispGap })m 480 9631( named star)m -8(t { 1 })k 480 9343({)m +480 9055( def @IList r)m -3(ight n)k 2(um)k 480 8767( {)m 480 8479( indent @Wide {style n)m 2(um} | @ItemPlace)k +480 8191( //gap @IList @Ne)m 6(xt n)k 2(um)k 480 7903( })m 480 7327( @IList star)m -8(t // @EndListPlace)k +480 7039(})m 240 fnt1 0 6545(No)m 6(w)k 514(gi)s 6(v)k 3(en)k +1094(the)s 1442(input)s 220 fnt2 480 6044(@Ra)m 4(wIndentedList)k 480 5756(@ListItem { \207rst item })m 480 5468(@ListItem { second item })m 480 5180(...)m 480 4892(@ListItem { last item })m 480 4604(@EndList)m -0 4146(@Ra)m 4(wIndentedList)k 240 fnt82 1908 4149(will)m 2334(e)s 3(xpand)k +0 4146(@Ra)m 4(wIndentedList)k 240 fnt1 1908 4149(will)m 2334(e)s 3(xpand)k 3081(to)s 3320(recei)s 6(v)k 3(e)k 4056(the)s 4404(items,)s 5028(and)s 5432(will)s 5858(be)s 6140(closed)s -6809(of)s 6(f)k 7153(by)s 220 fnt35 7447 4146(@EndList)m -240 fnt82 8397 4149(.)m 480 3775(The)m 220 fnt35 913 3772(indent)m -240 fnt82 1506 3775(,)m 220 fnt35 1619 3772(gap)m 240 fnt82 -1977 3775(,)m 2089(and)s 220 fnt35 2499 3772(star)m -8(t)k -240 fnt82 2996 3775(parameters)m 4099(are)s 4452(straightforw)s 2(ard)k +6809(of)s 6(f)k 7153(by)s 220 fnt2 7447 4146(@EndList)m +240 fnt1 8397 4149(.)m 480 3775(The)m 220 fnt2 913 3772(indent)m +240 fnt1 1506 3775(,)m 220 fnt2 1619 3772(gap)m 240 fnt1 +1977 3775(,)m 2089(and)s 220 fnt2 2499 3772(star)m -8(t)k +240 fnt1 2996 3775(parameters)m 4099(are)s 4452(straightforw)s 2(ard)k 5986(\(note)s 6538(that)s 6962(the)s 7316(b)s 4(urden)k -8039(of)s 8316(typing)s 220 fnt35 8987 3772(1)m 240 fnt82 +8039(of)s 8316(typing)s 220 fnt2 8987 3772(1)m 240 fnt1 0 3487(has)m 378(been)s 895(lifted)s 1464(from)s 1996(the)s 2352(ordinary)s 3224(user\),)s 3816(b)s 4(ut)k 4186(the)s -220 fnt35 4543 3484(style)m 240 fnt82 5054 3487(parameter)m 6076(has)s +220 fnt2 4543 3484(style)m 240 fnt1 5054 3487(parameter)m 6076(has)s 6454(a)s 6628(parameter)s 7650(of)s 7929(its)s 8213(o)s 6(wn)k 8686(\(see)s 0 3199(page)m 508(16\).)s 991(It)s 1196(is)s -1406(used)s 1903(lik)s 2(e)k 2315(this:)s 220 fnt35 +1406(used)s 1903(lik)s 2(e)k 2315(this:)s 220 fnt2 480 2698(def @Ra)m 4(wNumberedList { @Ra)k 4(wIndentedList style { tag.)k 13( } })k 480 2410(def @Ra)m 4(wP)k 8(arenNumberedList { @Ra)k 4(wIndentedList style { \(tag\) } })k -240 fnt82 0 1911(In)m 220 fnt35 276 1908(@Ra)m 4(wNumberedList)k -240 fnt82 2294 1911(,)m 220 fnt35 2422 1908(style)m 240 fnt82 +240 fnt1 0 1911(In)m 220 fnt2 276 1908(@Ra)m 4(wNumberedList)k +240 fnt1 2294 1911(,)m 220 fnt2 2422 1908(style)m 240 fnt1 2946 1911(is)m 3176(gi)s 6(v)k 3(en)k 3777(the)s -4146(v)s 6(alue)k 220 fnt35 4734 1908(tag.)m 240 fnt82 -5081 1911(,)m 5209(where)s 220 fnt35 5870 1908(tag)m 240 fnt82 +4146(v)s 6(alue)k 220 fnt2 4734 1908(tag.)m 240 fnt1 +5081 1911(,)m 5209(where)s 220 fnt2 5870 1908(tag)m 240 fnt1 6243 1911(is)m 6474(its)s 6771(o)s 6(wn)k 7255(right)s 7787(parameter)s 9(,)k 8860(so)s 0 1623(the)m 348(v)s 6(alue)k -916(of)s 220 fnt35 1187 1620({style n)m 2(um})k 240 fnt82 -2321 1623(within)m 220 fnt35 2989 1620(@IList)m 240 fnt82 3670 1623(is)m -220 fnt35 3880 1620(n)m 2(um.)k 240 fnt82 4347 1623(;)m -4459(while)s 5046(in)s 220 fnt35 5289 1620(@Ra)m 4(wP)k 8(arenNumberedList)k -240 fnt82 7884 1623(,)m 220 fnt35 7992 1620({style n)m 2(um})k -240 fnt82 0 1335(is)m 220 fnt35 219 1332(\(n)m 2(um\))k -240 fnt82 776 1335(.)m 949(In)s 1215(this)s 1620(w)s 2(ay)k +916(of)s 220 fnt2 1187 1620({style n)m 2(um})k 240 fnt1 +2321 1623(within)m 220 fnt2 2989 1620(@IList)m 240 fnt1 3670 1623(is)m +220 fnt2 3880 1620(n)m 2(um.)k 240 fnt1 4347 1623(;)m +4459(while)s 5046(in)s 220 fnt2 5289 1620(@Ra)m 4(wP)k 8(arenNumberedList)k +240 fnt1 7884 1623(,)m 220 fnt2 7992 1620({style n)m 2(um})k +240 fnt1 0 1335(is)m 220 fnt2 219 1332(\(n)m 2(um\))k +240 fnt1 776 1335(.)m 949(In)s 1215(this)s 1620(w)s 2(ay)k 2080(we)s 2425(achie)s 6(v)k 3(e)k 3211(an)s 3503(unlimited)s 4487(v)s 6(ariety)k 5207(of)s 5487(numbering)s 6587(formats)s 7376(without)s 8176(ha)s 4(ving)k 8887(to)s -0 1047(re)m 6(write)k 220 fnt35 725 1044(@Ra)m 4(wIndentedList)k -240 fnt82 2633 1047(o)m 3(v)k 3(er)k 3112(and)s +0 1047(re)m 6(write)k 220 fnt2 725 1044(@Ra)m 4(wIndentedList)k +240 fnt1 2633 1047(o)m 3(v)k 3(er)k 3112(and)s 3516(o)s 3(v)k 3(er)k 13(.)k 480 673(These)m 1113(list)s 1470(symbols)s 2325(are)s 2678(objects)s 3412(without)s 4209(surrounding)s 5425(space,)s 6069(so)s 6341(macros)s 7088(similar)s 7816(to)s 8061(those)s 8629(used)s 0 385(for)m 338(displays)s 1173(are)s 1520(needed:)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -14144,59 +15053,61 @@ grestore pgsave restore showpage -%%Page: 77 83 +%%Page: 78 84 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(78)m 240 fnt6 8434 -1580(Chapter)m 9284(4.)s +9558(Examples)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(4.2.)m 454(P)s 19(ar)k 3(a)k 2(gr)k 3(aphs,)k -1665(displays,)s 2542(and)s 2968(lists)s 240 fnt84 8831 13840(77)m -220 fnt35 480 13207(macro @NumberedList { //@DispGap @Ra)m 4(wNumberedList //@DispGap })k 480 12919(macro @P)m 8(arenNumberedList { //@DispGap @Ra)k 4(wP)k 8(arenNumberedList //@DispGap })k -240 fnt82 0 12423(and)m 404(so)s 670(on.)s 480 12049(Lists)m +220 fnt2 480 13207(macro @NumberedList { //@DispGap @Ra)m 4(wNumberedList //@DispGap })k 480 12919(macro @P)m 8(arenNumberedList { //@DispGap @Ra)k 4(wP)k 8(arenNumberedList //@DispGap })k +240 fnt1 0 12423(and)m 404(so)s 670(on.)s 480 12049(Lists)m 994(numbered)s 2007(by)s 2300(Roman)s 3047(numerals)s 3973(present)s -4721(a)s 4886(problem,)s 5788(because)s 220 fnt35 6600 12046(@Ne)m 6(xt)k -240 fnt82 7322 12049(will)m 7747(not)s 8111(increment)s 0 11761(Roman)m +4721(a)s 4886(problem,)s 5788(because)s 220 fnt2 6600 12046(@Ne)m 6(xt)k +240 fnt1 7322 12049(will)m 7747(not)s 8111(increment)s 0 11761(Roman)m 749(numerals.)s 1789(Instead,)s 2586(the)s 3(y)k 3049(must)s 3574(be)s 3856(stored)s 4498(in)s 4741(a)s 4907(database:)s -220 fnt35 480 11260(def @Roman)m 480 10972( left @T)m 26(ag)k 480 10684( r)m -3(ight @V)k 15(al)k -480 10396({ @V)m 15(al })k 480 9820(@SysDatabase @Roman { standard })m 0 9319(@SysDatabase)m 240 fnt82 +220 fnt2 480 11260(def @Roman)m 480 10972( left @T)m 26(ag)k 480 10684( r)m -3(ight @V)k 15(al)k +480 10396({ @V)m 15(al })k 480 9820(@SysDatabase @Roman { standard })m 0 9319(@SysDatabase)m 240 fnt1 1602 9322(is)m 1835(preferred)s 2790(o)s 3(v)k 3(er)k -220 fnt35 3292 9319(@Database)m 240 fnt82 4529 9322(here)m 5019(because)s +220 fnt2 3292 9319(@Database)m 240 fnt1 4529 9322(here)m 5019(because)s 5855(this)s 6274(database)s 7176(should)s 7896(be)s 8201(k)s 2(ept)k 8694(in)s 8960(a)s 0 9034(standard)m 880(place)s 1452(and)s 1868(shared)s 2562(by)s 2868(e)s 6(v)k 3(eryone.)k 3912(The)s 4352(database)s 5243(itself,)s 5838(a)s 6016(\207le)s -6389(called)s 220 fnt35 7029 9031(standard.ld)m 240 fnt82 8174 9034(in)m +6389(called)s 220 fnt2 7029 9031(standard.ld)m 240 fnt1 8174 9034(in)m 8429(Basser)s 0 8746(Lout,)m 559(contains)s 1407(in)s 9(v)k 4(ocations)k -2548(of)s 220 fnt35 2819 8743(@Roman)m 240 fnt82 3735 8746(,)m -3842(each)s 4337(enclosed)s 5232(in)s 5475(braces:)s 220 fnt35 -480 8264({ 1 @Roman i })m 480 7976({ 2 @Roman ii })m 480 7688(...)m 480 7400({ 100 @Roman c })m 240 fnt82 -0 6906(Then)m 220 fnt35 549 6903(@Roman&&12)m 240 fnt82 2065 6906(for)m +2548(of)s 220 fnt2 2819 8743(@Roman)m 240 fnt1 3735 8746(,)m +3842(each)s 4337(enclosed)s 5232(in)s 5475(braces:)s 220 fnt2 +480 8264({ 1 @Roman i })m 480 7976({ 2 @Roman ii })m 480 7688(...)m 480 7400({ 100 @Roman c })m 240 fnt1 +0 6906(Then)m 220 fnt2 549 6903(@Roman&&12)m 240 fnt1 2065 6906(for)m 2403(e)s 3(xample)k 3266(has)s 3636(v)s 6(alue)k -4204(xii,)s 4563(and)s 220 fnt35 480 6405(def @Ra)m 4(wRomanList { @Ra)k 4(wIndentedList style { {@Roman&&tag}.)k 13( } })k -240 fnt82 0 5906(produces)m 922(a)s 1096(list)s 1454(numbered)s +4204(xii,)s 4563(and)s 220 fnt2 480 6405(def @Ra)m 4(wRomanList { @Ra)k 4(wIndentedList style { {@Roman&&tag}.)k 13( } })k +240 fnt1 0 5906(produces)m 922(a)s 1096(list)s 1454(numbered)s 2477(by)s 2779(Roman)s 3535(numerals.)s 4583(The)s 5019(counting)s 5917(still)s 6337(proceeds)s 7246(in)s 7496(Arabic,)s 8261(b)s 4(ut)k 8631(each)s 0 5618(Arabic)m 719(numeral)s 1573(is)s 1799(con)s 9(v)k 3(erted)k @@ -14205,8 +15116,8 @@ grestore 8844(be)s 0 5330(stored)m 642(in)s 885(databases,)s 1908(arbitrary)s 2783(\207nite)s 3330(sequences)s 4351(of)s 4622(objects)s 5350(may)s 5816(be)s 6098(`counted')s 7047(in)s 7290(this)s 7686(w)s 2(ay)k 15(.)k -240 fnt84 0 4538(4.3.)m 471(P)s 2(age)k 1017(lay)s 6(out)k -240 fnt82 480 4061(The)m 921(page)s 1443(layout)s 2115(de\207nitions)s +240 fnt5 0 4538(4.3.)m 471(P)s 2(age)k 1017(lay)s 6(out)k +240 fnt1 480 4061(The)m 921(page)s 1443(layout)s 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 7791(basic.)s 8460(In)s 8730(this)s 0 3773(section)m 726(we)s @@ -14226,17 +15137,25 @@ grestore 1576(which)s 2220(will)s 2647(be)s 2931(k)s 2(ept)k 3403(up)s 3698(to)s 3938(date)s 4394(automatically)s 15(.)k 5845(The)s 6275(user)s 6734(marks)s 7371(the)s 7721(tar)s 4(get)k -8322(page)s 8832(by)s 0 2247(placing)m 220 fnt35 756 2244(@P)m 8(ageMar)k -3(k intro)k -240 fnt82 2454 2247(,)m 2560(for)s 2897(e)s 3(xample,)k +8322(page)s 8832(by)s 0 2247(placing)m 220 fnt2 756 2244(@P)m 8(ageMar)k -3(k intro)k +240 fnt1 2454 2247(,)m 2560(for)s 2897(e)s 3(xample,)k 3810(at)s 4041(the)s 4388(point)s 4939(of)s 5209(interest,)s 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 fnt35 0 1956(@P)m 8(ageOf intro)k -240 fnt82 1499 1959(else)m 6(where:)k 220 fnt35 480 1459(e)m 6(xpor)k -8(t @T)k 26(ag)k +8369(page)s 8876(as)s 220 fnt2 0 1956(@P)m 8(ageOf intro)k +240 fnt1 1499 1959(else)m 6(where:)k 220 fnt2 480 1459(e)m 6(xpor)k -8(t @T)k 26(ag)k 480 1171(def @P)m 8(ageMar)k -3(k)k 4(er r)k -3(ight @T)k 26(ag { @Null })k 480 674(def @P)m 8(ageMar)k -3(k r)k -3(ight x)k 480 386({)m 480 98( @P)m 8(ageMar)k -3(k)k 4(er&&preceding @T)k 26(agged x)k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -14245,98 +15164,109 @@ grestore pgsave restore showpage -%%Page: 78 84 +%%Page: 79 85 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(4.3.)m 1871(P)s 19(a)k 2(g)k 2(e)k +2393(layout)s 240 fnt5 10249 -1583(79)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13267 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(78)m 240 fnt83 7017 13843(Chapter)m 7867(4.)s -8141(Examples)s 220 fnt35 480 13210(})m 480 12718(def @P)m 8(ageOf r)k -3(ight x)k -480 12430({)m 480 12142( @P)m 8(ageMar)k -3(k)k 4(er&&x @Open { @T)k 26(ag })k -480 11854(})m 240 fnt82 0 11360(W)m 19(e)k 385(will)s +220 fnt2 480 13210(})m +480 12718(def @P)m 8(ageOf r)k -3(ight x)k 480 12430({)m 480 12142( @P)m 8(ageMar)k -3(k)k 4(er&&x @Open { @T)k 26(ag })k +480 11854(})m 240 fnt1 0 11360(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 fnt35 -3949 11357(@P)m 8(ageMar)k -3(k)k 4(er)k 240 fnt82 +2591(in)s 9(v)k 4(ocation)k 3662(of)s 220 fnt2 +3949 11357(@P)m 8(ageMar)k -3(k)k 4(er)k 240 fnt1 5435 11360(appears)m 6233(before)s 6916(each)s 7428(page,)s 8004(with)s -220 fnt35 8503 11357(@T)m 26(ag)k 240 fnt82 0 11072(parameter)m +220 fnt2 8503 11357(@T)m 26(ag)k 240 fnt1 0 11072(parameter)m 1014(equal)s 1587(to)s 1826(the)s 2174(page)s 2682(number)s 13(.)k -3564(Suppose)s 4432(that)s 220 fnt35 4850 11069(@P)m 8(ageMar)k -3(k intro)k -240 fnt82 6548 11072(,)m 6655(which)s 7297(e)s 3(xpands)k -8130(to)s 220 fnt35 480 10571(@P)m 8(ageMar)k -3(k)k 4(er&&preceding @T)k 26(agged intro)k -240 fnt82 0 10072(happens)m 855(to)s 1113(f)s 2(all)k +3564(Suppose)s 4432(that)s 220 fnt2 4850 11069(@P)m 8(ageMar)k -3(k intro)k +240 fnt1 6548 11072(,)m 6655(which)s 7297(e)s 3(xpands)k +8130(to)s 220 fnt2 480 10571(@P)m 8(ageMar)k -3(k)k 4(er&&preceding @T)k 26(agged intro)k +240 fnt1 0 10072(happens)m 855(to)s 1113(f)s 2(all)k 1502(on)s 1819(page)s 2346(27)s 2653(of)s 2944(the)s 3311(\207nal)s 3810(printed)s 4564(document)s 5588(\(of)s 5957(course,)s -6707(its)s 7003(v)s 6(alue)k 7590(is)s 220 fnt35 -7819 10069(@Null)m 240 fnt82 8484 10072(which)m 0 9784(mak)m 2(es)k +6707(its)s 7003(v)s 6(alue)k 7590(is)s 220 fnt2 +7819 10069(@Null)m 240 fnt1 8484 10072(which)m 0 9784(mak)m 2(es)k 686(it)s 905(in)s 9(visible\).)k 1988(Then)s 2564(the)s -2939(ef)s 6(fect)k 3561(of)s 220 fnt35 3859 9781(@T)m 26(agged)k -240 fnt82 4874 9784(is)m 5111(to)s 5377(attach)s 220 fnt35 -6030 9781(intro)m 240 fnt82 6536 9784(as)m 6812(an)s 7122(e)s 3(xtra)k +2939(ef)s 6(fect)k 3561(of)s 220 fnt2 3859 9781(@T)m 26(agged)k +240 fnt1 4874 9784(is)m 5111(to)s 5377(attach)s 220 fnt2 +6030 9781(intro)m 240 fnt1 6536 9784(as)m 6812(an)s 7122(e)s 3(xtra)k 7683(tag)s 8054(to)s 8320(the)s 8695(\207rst)s 0 9496(in)m 9(v)k 4(ocation)k -1092(of)s 220 fnt35 1401 9493(@P)m 8(ageMar)k -3(k)k 4(er)k -240 fnt82 2908 9496(preceding)m 3943(that)s 4399(\207nal)s 4917(point,)s -5554(and)s 5997(this)s 6431(must)s 6994(be)s 220 fnt35 -7315 9493(@P)m 8(ageMar)k -3(k)k 4(er 27)k 240 fnt82 +1092(of)s 220 fnt2 1401 9493(@P)m 8(ageMar)k -3(k)k 4(er)k +240 fnt1 2908 9496(preceding)m 3943(that)s 4399(\207nal)s 4917(point,)s +5554(and)s 5997(this)s 6431(must)s 6994(be)s 220 fnt2 +7315 9493(@P)m 8(ageMar)k -3(k)k 4(er 27)k 240 fnt1 9022 9496(.)m 0 9208(Therefore)m 997(the)s 1345(e)s 3(xpression)k -220 fnt35 480 8707(@P)m 8(ageMar)k -3(k)k 4(er&&intro @Open { @T)k 26(ag })k -240 fnt82 0 8208(will)m 422(open)s 941(the)s 1285(in)s 9(v)k 4(ocation)k -220 fnt35 2334 8205(@P)m 8(ageMar)k -3(k)k 4(er 27)k -240 fnt82 4097 8208(and)m 4497(yield)s 5028(the)s 5372(v)s 6(alue)k -5936(of)s 6203(its)s 220 fnt35 6474 8205(@T)m 26(ag)k -240 fnt82 7093 8208(parameter)m 9(,)k 8141(27.)s 8540(Thus,)s -220 fnt35 0 7917(@P)m 8(ageOf intro)k 240 fnt82 1499 7920(appearing)m +220 fnt2 480 8707(@P)m 8(ageMar)k -3(k)k 4(er&&intro @Open { @T)k 26(ag })k +240 fnt1 0 8208(will)m 422(open)s 941(the)s 1285(in)s 9(v)k 4(ocation)k +220 fnt2 2334 8205(@P)m 8(ageMar)k -3(k)k 4(er 27)k +240 fnt1 4097 8208(and)m 4497(yield)s 5028(the)s 5372(v)s 6(alue)k +5936(of)s 6203(its)s 220 fnt2 6474 8205(@T)m 26(ag)k +240 fnt1 7093 8208(parameter)m 9(,)k 8141(27.)s 8540(Thus,)s +220 fnt2 0 7917(@P)m 8(ageOf intro)k 240 fnt1 1499 7920(appearing)m 2495(an)s 3(ywhere)k 3478(in)s 3721(the)s 4069(document)s 5073(yields)s 5695(27.)s 480 7546(Ne)m 3(xt)k 1009(we)s 1351(ha)s 4(v)k 3(e)k 1859(some)s 2427(little)s 2926(de\207nitions)s 3994(for)s 4339(v)s 6(arious)k 5095(parts)s -5617(of)s 5895(the)s 6250(page.)s 220 fnt35 6873 7543(@FullPlace)m -240 fnt82 8055 7546(will)m 8488(be)s 8778(the)s 0 7258(tar)m 4(get)k +5617(of)s 5895(the)s 6250(page.)s 220 fnt2 6873 7543(@FullPlace)m +240 fnt1 8055 7546(will)m 8488(be)s 8778(the)s 0 7258(tar)m 4(get)k 599(of)s 870(full-width)s 1882(body)s 2416(te)s 3(xt:)k -220 fnt35 480 6757(def @FullPlace { @Galle)m 4(y })k 0 6256(@ColPlace)m 240 fnt82 +220 fnt2 480 6757(def @FullPlace { @Galle)m 4(y })k 0 6256(@ColPlace)m 240 fnt1 1151 6259(will)m 1577(be)s 1859(the)s 2207(tar)s 4(get)k 2806(of)s 3077(body)s 3611(te)s 3(xt)k 4026(within)s -4694(one)s 5096(column:)s 220 fnt35 480 5758(def @ColPlace { @Galle)m 4(y })k -0 5257(@T)m 26(opList)k 240 fnt82 972 5260(will)m 1398(be)s +4694(one)s 5096(column:)s 220 fnt2 480 5758(def @ColPlace { @Galle)m 4(y })k +0 5257(@T)m 26(opList)k 240 fnt1 972 5260(will)m 1398(be)s 1680(the)s 2028(tar)s 4(get)k 2627(of)s 2898(\207gures)s -3600(and)s 4004(tables:)s 220 fnt35 480 4759(e)m 6(xpor)k -8(t @T)k 26(ag)k +3600(and)s 4004(tables:)s 220 fnt2 480 4759(e)m 6(xpor)k -8(t @T)k 26(ag)k 480 4471(def @T)m 26(opList r)k -3(ight @T)k 26(ag)k 480 4183({)m 480 3895( @Galle)m 4(y)k 480 3607( //@T)m 26(opGap @T)k 26(opList @Ne)k 6(xt @T)k 26(ag)k -480 3319(})m 240 fnt82 0 2825(W)m 19(e)k 392(ha)s 4(v)k 3(e)k +480 3319(})m 240 fnt1 0 2825(W)m 19(e)k 392(ha)s 4(v)k 3(e)k 916(tak)s 2(en)k 1512(a)s 1702(shortcut)s 2555(here,)s 3096(a)s 4(v)k 4(oiding)k 4002(an)s 4309(unnecessary)s -220 fnt35 5555 2822(@T)m 26(opPlace)k 240 fnt82 6753 2825(symbol.)m -220 fnt35 7645 2822(@F)m 6(ootList)k 240 fnt82 8722 2825(and)m -220 fnt35 0 2534(@F)m 6(ootSect)k 240 fnt82 1142 2537(de\207ne)m +220 fnt2 5555 2822(@T)m 26(opPlace)k 240 fnt1 6753 2825(symbol.)m +220 fnt2 7645 2822(@F)m 6(ootList)k 240 fnt1 8722 2825(and)m +220 fnt2 0 2534(@F)m 6(ootSect)k 240 fnt1 1142 2537(de\207ne)m 1774(a)s 1931(sequence)s 2854(of)s 3116(full-width)s 4119(tar)s 4(gets)k 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 2249(by)m -294(a)s 460(short)s 998(horizontal)s 2022(line:)s 220 fnt35 +294(a)s 460(short)s 998(horizontal)s 2022(line:)s 220 fnt2 480 1748(e)m 6(xpor)k -8(t @T)k 26(ag)k 480 1460(def @F)m 6(ootList r)k -3(ight @T)k 26(ag)k 480 1172({)m 480 884( @Galle)m 4(y)k 480 596( //@F)m 6(ootGap @F)k 6(ootList @Ne)k 6(xt @T)k 26(ag)k 480 308(})m grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -14345,76 +15275,87 @@ grestore pgsave restore showpage -%%Page: 79 85 +%%Page: 80 86 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(80)m 240 fnt6 8434 -1580(Chapter)m 9284(4.)s +9558(Examples)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(4.3.)m 454(P)s 19(a)k 2(g)k 2(e)k -976(layout)s 240 fnt84 8832 13840(79)m 220 fnt35 480 13207(def @F)m 6(ootSect)k -480 12919({)m 480 12631( @F)m 6(ootLen @Wide @HLine)k 480 12343( //@F)m 6(ootGap @F)k 6(ootList 1 ||@F)k 6(ootLen)k -480 12055(})m 240 fnt82 0 11561(Similarly)m 15(,)k 220 fnt35 -988 11558(@ColF)m 6(ootList)k 240 fnt82 2378 11561(and)m 220 fnt35 -2791 11558(@ColF)m 6(ootSect)k 240 fnt82 4279 11561(pro)m 3(vide)k +220 fnt2 480 13207(def @F)m 6(ootSect)k 480 12919({)m +480 12631( @F)m 6(ootLen @Wide @HLine)k 480 12343( //@F)m 6(ootGap @F)k 6(ootList 1 ||@F)k 6(ootLen)k +480 12055(})m 240 fnt1 0 11561(Similarly)m 15(,)k 220 fnt2 +988 11558(@ColF)m 6(ootList)k 240 fnt1 2378 11561(and)m 220 fnt2 +2791 11558(@ColF)m 6(ootSect)k 240 fnt1 4279 11561(pro)m 3(vide)k 5072(a)s 5247(sequence)s 6189(of)s 6469(tar)s 4(gets)k 7161(for)s 7508(footnotes)s 8458(within)s 0 11273(one)m 402(column:)s -220 fnt35 480 10822(e)m 6(xpor)k -8(t @T)k 26(ag)k +220 fnt2 480 10822(e)m 6(xpor)k -8(t @T)k 26(ag)k 480 10534(def @ColF)m 6(ootList r)k -3(ight @T)k 26(ag)k 480 10246({)m 480 9958( @Galle)m 4(y)k 480 9670( //@F)m 6(ootGap @ColF)k 6(ootList @Ne)k 6(xt @T)k 26(ag)k 480 9382(})m 480 8806(def @ColF)m 6(ootSect)k 480 8518({)m 480 8230( @ColF)m 6(ootLen @Wide @HLine)k 480 7942( //@F)m 6(ootGap @ColF)k 6(ootList 1 ||@ColF)k 6(ootLen)k 480 7654(})m -240 fnt82 0 7160(The)m 428(ne)s 3(xt)k 897(de\207nition)s +240 fnt1 0 7160(The)m 428(ne)s 3(xt)k 897(de\207nition)s 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 -220 fnt35 480 6659(def @ColList r)m -3(ight col)k 480 6371({)m 480 6083( def @Column)m +220 fnt2 480 6659(def @ColList r)m -3(ight col)k 480 6371({)m 480 6083( def @Column)m 480 5795( { @VExpand { @ColPlace //1r)m -8(t @OneRo)k 3(w { //@MidGap @ColF)k 6(ootSect } } })k 480 5219( col @Case {)m 480 4931( Single @Y)m 4(ield @Column)k 480 4643( Doub)m 4(le @Y)k 4(ield { @Doub)k 4(leColWidth @Wide @Column ||@ColGap @ColList col })k -480 4355( Multi @Y)m 4(ield { @MultiColWidth @Wide @Column ||@ColGap @ColList col })k 480 4067( })m 480 3779(})m 240 fnt82 +480 4355( Multi @Y)m 4(ield { @MultiColWidth @Wide @Column ||@ColGap @ColList col })k 480 4067( })m 480 3779(})m 240 fnt1 0 3285(Each)m 537(column)s 1315(consists)s 2125(of)s 2399(a)s -220 fnt35 2568 3282(@ColPlace)m 240 fnt82 3721 3285(at)m 3956(the)s -4307(top)s 4668(and)s 5075(a)s 220 fnt35 5243 3282(@F)m 6(ootSect)k -240 fnt82 6397 3285(at)m 6632(the)s 6982(foot.)s 7534(The)s -220 fnt35 7965 3282(@VExpand)m 240 fnt82 0 2997(symbol)m 772(ensures)s +220 fnt2 2568 3282(@ColPlace)m 240 fnt1 3721 3285(at)m 3956(the)s +4307(top)s 4668(and)s 5075(a)s 220 fnt2 5243 3282(@F)m 6(ootSect)k +240 fnt1 6397 3285(at)m 6632(the)s 6982(foot.)s 7534(The)s +220 fnt2 7965 3282(@VExpand)m 240 fnt1 0 2997(symbol)m 772(ensures)s 1553(that)s 1983(whene)s 6(v)k 3(er)k 2977(a)s 3156(column)s 3943(comes)s 4618(into)s 5056(e)s 3(xistence,)k 6061(it)s 6266(will)s 6705(e)s 3(xpand)k 7464(v)s 3(ertically)k -8429(so)s 8708(that)s 0 2709(the)m 360(bottom-justi\207cation)s 220 fnt35 -2315 2706(//1r)m -8(t)k 240 fnt82 2769 2709(has)m 3152(as)s +8429(so)s 8708(that)s 0 2709(the)m 360(bottom-justi\207cation)s 220 fnt2 +2315 2706(//1r)m -8(t)k 240 fnt1 2769 2709(has)m 3152(as)s 3414(much)s 4016(space)s 4615(as)s 4878(possible)s 5730(to)s -5982(w)s 2(ork)k 6545(within.)s 7333(The)s 220 fnt35 -7773 2706(col)m 240 fnt82 8112 2709(parameter)m 0 2421(determines)m 1099(whether)s +5982(w)s 2(ork)k 6545(within.)s 7333(The)s 220 fnt2 +7773 2706(col)m 240 fnt1 8112 2709(parameter)m 0 2421(determines)m 1099(whether)s 1929(the)s 2277(result)s 2867(has)s 3237(a)s 3403(single)s 4030(column,)s 4855(double)s 5563(columns,)s 6481(or)s 6740(multiple)s -7592(columns.)s 480 2047(The)m 220 fnt35 908 2044(@P)m 8(age)k -240 fnt82 1687 2047(symbol)m 2447(places)s 3095(its)s 3371(parameter)s +7592(columns.)s 480 2047(The)m 220 fnt2 908 2044(@P)m 8(age)k +240 fnt1 1687 2047(symbol)m 2447(places)s 3095(its)s 3371(parameter)s 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 -220 fnt35 480 1546(def @P)m 8(age r)k -3(ight x)k 480 1258({)m +220 fnt2 480 1546(def @P)m 8(age r)k -3(ight x)k 480 1258({)m 480 970( @P)m 8(ageWidth @Wide @P)k 8(ageHeight @High {)k 480 682( //@P)m 8(ageMargin ||@P)k 8(ageMargin)k 480 394( @HExpand @VExpand x)m grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -14423,73 +15364,76 @@ grestore pgsave restore showpage -%%Page: 80 86 +%%Page: 81 87 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(4.3.)m 1871(P)s 19(a)k 2(g)k 2(e)k +2393(layout)s 240 fnt5 10256 -1583(81)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(80)m 240 fnt83 7017 13843(Chapter)m 7867(4.)s -8141(Examples)s 220 fnt35 480 13207( ||@P)m 8(ageMargin //@P)k 8(ageMargin)k -480 12919( })m 480 12631(})m 0 12134(@HExpand)m 240 fnt82 1169 12137(and)m -220 fnt35 1568 12134(@VExpand)m 240 fnt82 2725 12137(ensure)m 3400(that)s +220 fnt2 480 13207( ||@P)m 8(ageMargin //@P)k 8(ageMargin)k +480 12919( })m 480 12631(})m 0 12134(@HExpand)m 240 fnt1 1169 12137(and)m +220 fnt2 1568 12134(@VExpand)m 240 fnt1 2725 12137(ensure)m 3400(that)s 3814(the)s 4157(right)s 4664(parameter)s 5673(occupies)s 6557(all)s 6845(the)s 7189(a)s 4(v)k 6(ailable)k 8092(space;)s 8730(this)s 0 11849(is)m 218(important)s 1215(when)s 1800(the)s 2156(right)s 2676(parameter)s 3698(is)s 3916(unusually)s 4910(small.)s -5599(The)s 220 fnt35 6036 11846(@High)m 240 fnt82 6763 11849(symbol)m +5599(The)s 220 fnt2 6036 11846(@High)m 240 fnt1 6763 11849(symbol)m 7531(gi)s 6(v)k 3(es)k 8087(the)s 8443(page)s 8960(a)s 0 11561(single)m 627(ro)s 6(w)k 1047(mark,)s 1645(ensuring)s 2522(that)s 2940(it)s 3132(will)s 3558(be)s 3840(printed)s 4575(on)s 4872(a)s 5038(single)s 5665(sheet)s 6216(of)s 6487(paper)s 7078(\(page)s 7665(29\).)s 480 11187(Ne)m 3(xt)k -1002(we)s 1337(ha)s 4(v)k 3(e)k 220 fnt35 -1838 11184(@OneP)m 8(age)k 240 fnt82 2972 11187(,)m 3079(de\207ning)s +1002(we)s 1337(ha)s 4(v)k 3(e)k 220 fnt2 +1838 11184(@OneP)m 8(age)k 240 fnt1 2972 11187(,)m 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 220 fnt35 +5733(book)s 6274(or)s 6533(other)s 7084(document:)s 220 fnt2 480 10686(def @OneP)m 8(age)k 480 10398( named @Columns {})m 480 10110( named @P)m 8(ageT)k 26(op {})k 480 9822( named @P)m 8(ageF)k 6(oot {})k 480 9534({)m 480 9246( @P)m 8(age {)k 480 8958( @P)m 8(ageT)k 26(op)k 480 8670( //@MidGap @T)m 26(opList)k 480 8382( //@MidGap @FullPlace)m 480 8094( //@MidGap @ColList @Columns)m 480 7806( // //1r)m -8(t @OneRo)k 3(w { //@MidGap @F)k 6(ootSect //@MidGap @P)k 8(ageF)k 6(oot })k -480 7518( })m 480 7230(})m 240 fnt82 0 6736(The)m 431(page)s +480 7518( })m 480 7230(})m 240 fnt1 0 6736(The)m 431(page)s 943(top)s 1305(and)s 1713(page)s 2224(foot,)s 2720(and)s 3128(the)s 3479(number)s 4274(of)s 4548(columns,)s 5470(are)s 5821(parameters)s 6922(that)s 7344(will)s 7773(be)s 8059(gi)s 6(v)k 3(en)k -8643(later)s 0 6448(when)m 220 fnt35 565 6445(@OneP)m 8(age)k -240 fnt82 1747 6448(is)m 1946(in)s 9(v)k 4(ok)k 2(ed.)k +8643(later)s 0 6448(when)m 220 fnt2 565 6445(@OneP)m 8(age)k +240 fnt1 1747 6448(is)m 1946(in)s 9(v)k 4(ok)k 2(ed.)k 2855(The)s 3272(body)s 3794(of)s 4054(the)s 4390(page)s 4887(is)s 5085(a)s 5240(straightforw)s 2(ard)k 6756(combination)s 7998(of)s 8257(pre)s 6(vious)k 0 6160(de\207nitions.)m 1171(The)s -220 fnt35 1595 6157(//)m 240 fnt82 1777 6160(symbol)m 2533(protects)s -3337(the)s 3681(follo)s 6(wing)k 220 fnt35 4655 6157(//1r)m -8(t)k -240 fnt82 5093 6160(from)m 5614(deletion)s 6437(in)s 6677(the)s +220 fnt2 1595 6157(//)m 240 fnt1 1777 6160(symbol)m 2533(protects)s +3337(the)s 3681(follo)s 6(wing)k 220 fnt2 4655 6157(//1r)m -8(t)k +240 fnt1 5093 6160(from)m 5614(deletion)s 6437(in)s 6677(the)s 7021(unlik)s 2(ely)k 7854(e)s 6(v)k 3(ent)k 8419(that)s 8833(all)s 0 5872(the)m 342(preceding)s 1331(symbols)s -2174(are)s 2514(replaced)s 3375(by)s 220 fnt35 3662 5869(@Null)m -240 fnt82 4247 5872(.)m 4405(The)s 4826(follo)s 6(wing)k -5797(object)s 6434(is)s 6638(enclosed)s 7526(in)s 220 fnt35 -7763 5869(@OneRo)m 3(w)k 240 fnt82 8887 5872(to)m 0 5584(ensure)m +2174(are)s 2514(replaced)s 3375(by)s 220 fnt2 3662 5869(@Null)m +240 fnt1 4247 5872(.)m 4405(The)s 4826(follo)s 6(wing)k +5797(object)s 6434(is)s 6638(enclosed)s 7526(in)s 220 fnt2 +7763 5869(@OneRo)m 3(w)k 240 fnt1 8887 5872(to)m 0 5584(ensure)m 680(that)s 1098(all)s 1391(of)s 1662(it)s 1854(is)s 2064(bottom-justi\207ed,)s 3698(not)s 4064(just)s 4469(its)s 4745(\207rst)s 5176(component.)s 480 5210(Before)m 1199(presenting)s 2262(the)s 2624(de\207nition)s @@ -14499,21 +15443,29 @@ grestore 2104(and)s 2513(footers)s 3233(\(lik)s 2(e)k 3730(those)s 4297(in)s 4545(the)s 4899(present)s 5655(document\))s 6732(are)s 7085(produced.)s 8146(These)s 8779(are)s 0 4634(based)m 603(on)s -900(the)s 220 fnt35 1248 4631(@Runner)m 240 fnt82 2250 4634(symbol:)m -220 fnt35 480 4133(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 +900(the)s 220 fnt2 1248 4631(@Runner)m 240 fnt1 2250 4634(symbol:)m +220 fnt2 480 4133(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 3845(def @Runner)m 480 3557( named @T)m 26(opOdd r)k -3(ight @P)k 8(ageNum { @Null })k 480 3269( named @T)m 26(opEv)k 5(en r)k -3(ight @P)k 8(ageNum { @Null })k 480 2981( named @F)m 6(ootOdd r)k -3(ight @P)k 8(ageNum { @Null })k 480 2693( named @F)m 6(ootEv)k 5(en r)k -3(ight @P)k 8(ageNum { @Null })k -480 2405( named @T)m 26(ag {})k 480 2117({ @Null })m 240 fnt82 0 1623(The)m +480 2405( named @T)m 26(ag {})k 480 2117({ @Null })m 240 fnt1 0 1623(The)m 440(four)s 910(parameters)s 2020(control)s 2764(the)s 3125(format)s 3833(of)s 4116(running)s 4926(headers)s 5719(and)s 6136(footers)s 6862(on)s 7171(odd)s 7601(and)s 8017(e)s 6(v)k 3(en)k 8530(pages)s 0 1335(respecti)m 6(v)k 3(ely)k 15(.)k -1294(In)s 9(v)k 4(ocations)k 2448(of)s 220 fnt35 -2719 1332(@Runner)m 240 fnt82 3661 1335(,)m 3768(for)s 4106(e)s 3(xample)k -220 fnt35 480 834(@Runner)m 480 546( @T)m 26(opEv)k 5(en { @B @P)k 8(ageNum |1r)k -8(t @I { Chapter 4 } })k +1294(In)s 9(v)k 4(ocations)k 2448(of)s 220 fnt2 +2719 1332(@Runner)m 240 fnt1 3661 1335(,)m 3768(for)s 4106(e)s 3(xample)k +220 fnt2 480 834(@Runner)m 480 546( @T)m 26(opEv)k 5(en { @B @P)k 8(ageNum |1r)k -8(t @I { Chapter 4 } })k 480 258( @T)m 26(opOdd { @I { Examples } |1r)k -8(t @B @P)k 8(ageNum })k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -14522,90 +15474,92 @@ grestore pgsave restore showpage -%%Page: 81 87 +%%Page: 82 88 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(82)m 240 fnt6 8434 -1580(Chapter)m 9284(4.)s +9558(Examples)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(4.3.)m 454(P)s 19(a)k 2(g)k 2(e)k -976(layout)s 240 fnt84 8839 13840(81)m 240 fnt82 0 13205(will)m -416(be)s 687(embedded)s 1719(in)s 1951(the)s 2289(body)s -2812(te)s 3(xt)k 3217(of)s 3477(the)s 3815(document,)s -4855(and,)s 5298(as)s 5537(we)s 5862(will)s 6277(see)s -6628(in)s 6860(a)s 7016(moment,)s 7896(are)s 8232(accessed)s -0 12917(by)m 220 fnt35 296 12914(@Runner&&f)m 6(ollo)k 3(wing)k -240 fnt82 2423 12917(cross)m 2967(references)s 4001(on)s 4301(the)s +0 13205(will)m 416(be)s 687(embedded)s 1719(in)s +1951(the)s 2289(body)s 2812(te)s 3(xt)k 3217(of)s +3477(the)s 3815(document,)s 4855(and,)s 5298(as)s 5537(we)s +5862(will)s 6277(see)s 6628(in)s 6860(a)s 7016(moment,)s +7896(are)s 8232(accessed)s 0 12917(by)m 220 fnt2 296 12914(@Runner&&f)m 6(ollo)k 3(wing)k +240 fnt1 2423 12917(cross)m 2967(references)s 4001(on)s 4301(the)s 4651(pages.)s 5363(Notice)s 6059(ho)s 6(w)k 6522(the)s -220 fnt35 6873 12914(@P)m 8(ageNum)k 240 fnt82 8112 12917(parameter)m +220 fnt2 6873 12914(@P)m 8(ageNum)k 240 fnt1 8112 12917(parameter)m 0 12629(of)m 265(each)s 753(parameter)s 1761(allo)s 6(ws)k 2423(the)s 2764(format)s 3454(of)s 3718(the)s 4059(running)s 4851(header)s 5541(to)s 5774(be)s 6049(speci\207ed)s 6950(while)s 7531(lea)s 4(ving)k 8277(the)s 8618(page)s 0 12341(number)m 791(to)s 1030(be)s 1312(substituted)s 2406(later)s 13(.)k 480 11967(W)m 19(e)k 843(may)s 1303(no)s 6(w)k -1758(de\207ne)s 220 fnt35 2393 11964(@OddP)m 8(ageList)k 240 fnt82 +1758(de\207ne)s 220 fnt2 2393 11964(@OddP)m 8(ageList)k 240 fnt1 3872 11967(,)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 11679(odd-numbered)m 1454(page:)s 220 fnt35 +8367(with)s 8843(an)s 0 11679(odd-numbered)m 1454(page:)s 220 fnt2 480 11178(def @OddP)m 8(ageList)k 480 10890( named @Columns {})m 480 10602( r)m -3(ight @P)k 8(ageNum)k 480 10314({)m 480 10026( def @Ev)m 5(enP)k 8(ageList ...)k 480 9450( @P)m 8(ageMar)k -3(k)k 4(er @P)k 8(ageNum)k 480 9162( // @Runner&&f)m 6(ollo)k 3(wing @Open {)k 480 8874( @OneP)m 8(age)k 480 8586( @Columns { @Columns })m 480 8298( @P)m 8(ageT)k 26(op { @T)k 26(opOdd @P)k 8(ageNum })k 480 8010( @P)m 8(ageF)k 6(oot { @F)k 6(ootOdd @P)k 8(ageNum })k 480 7722( })m 480 7434( // @Ev)m 5(enP)k 8(ageList)k 480 7146( @Columns { @Columns })m -480 6858( @Ne)m 6(xt @P)k 8(ageNum)k 480 6570(})m 240 fnt82 -0 6076(Ignoring)m 220 fnt35 887 6073(@Ev)m 5(enP)k 8(ageList)k -240 fnt82 2516 6076(for)m 2865(the)s 3223(moment,)s 4125(notice)s +480 6858( @Ne)m 6(xt @P)k 8(ageNum)k 480 6570(})m 240 fnt1 +0 6076(Ignoring)m 220 fnt2 887 6073(@Ev)m 5(enP)k 8(ageList)k +240 fnt1 2516 6076(for)m 2865(the)s 3223(moment,)s 4125(notice)s 4775(\207rst)s 5217(that)s 5645(the)s 6004(in)s 9(v)k 4(ocation)k -7068(of)s 220 fnt35 7350 6073(@OneP)m 8(age)k 240 fnt82 +7068(of)s 220 fnt2 7350 6073(@OneP)m 8(age)k 240 fnt1 8554 6076(is)m 8775(en)s 8998(-)s 0 5788(closed)m 679(in)s -220 fnt35 932 5785(@Runner&&f)m 6(ollo)k 3(wing @Open)k 240 fnt82 -3815 5788(.)m 3989(Since)s 220 fnt35 4586 5785(@Runner&&f)m 6(ollo)k 3(wing)k -240 fnt82 6721 5788(refers)m 7324(to)s 7573(the)s 7931(\207rst)s +220 fnt2 932 5785(@Runner&&f)m 6(ollo)k 3(wing @Open)k 240 fnt1 +3815 5788(.)m 3989(Since)s 220 fnt2 4586 5785(@Runner&&f)m 6(ollo)k 3(wing)k +240 fnt1 6721 5788(refers)m 7324(to)s 7573(the)s 7931(\207rst)s 8373(in)s 9(v)k 4(oca)k 8998(-)s 0 5500(tion)m -421(of)s 220 fnt35 684 5497(@Runner)m 240 fnt82 1678 5500(appearing)m +421(of)s 220 fnt2 684 5497(@Runner)m 240 fnt1 1678 5500(appearing)m 2666(after)s 3154(itself)s 3694(in)s 3929(the)s 4269(\207nal)s -4741(printed)s 5468(document,)s 6511(the)s 6851(symbols)s 220 fnt35 -7692 5497(@T)m 26(opOdd)k 240 fnt82 8722 5500(and)m 220 fnt35 -0 5209(@F)m 6(ootOdd)k 240 fnt82 1127 5212(will)m 1562(tak)s 2(e)k +4741(printed)s 5468(document,)s 6511(the)s 6851(symbols)s 220 fnt2 +7692 5497(@T)m 26(opOdd)k 240 fnt1 8722 5500(and)m 220 fnt2 +0 5209(@F)m 6(ootOdd)k 240 fnt1 1127 5212(will)m 1562(tak)s 2(e)k 2023(their)s 2528(v)s 6(alue)k 3105(from)s 3638(the)s 3995(\207rst)s 4434(in)s 9(v)k 4(ocation)k 5497(of)s -220 fnt35 5777 5209(@Runner)m 240 fnt82 6788 5212(follo)m 6(wing)k +220 fnt2 5777 5209(@Runner)m 240 fnt1 6788 5212(follo)m 6(wing)k 7773(the)s 8130(top)s 8498(of)s 8778(the)s 0 4924(page,)m -554(e)s 6(v)k 3(en)k 1049(though)s 220 fnt35 -1767 4921(@F)m 6(ootOdd)k 240 fnt82 2880 4924(appears)m 3656(at)s +554(e)s 6(v)k 3(en)k 1049(though)s 220 fnt2 +1767 4921(@F)m 6(ootOdd)k 240 fnt1 2880 4924(appears)m 3656(at)s 3883(the)s 4225(foot)s 4665(of)s 4931(the)s 5274(page.)s -5884(Their)s 220 fnt35 6456 4921(@P)m 8(ageNum)k 240 fnt82 -7687 4924(parameters)m 8779(are)s 0 4636(replaced)m 867(by)s 220 fnt35 -1161 4633(@P)m 8(ageNum)k 240 fnt82 2337 4636(,)m 2444(the)s +5884(Their)s 220 fnt2 6456 4921(@P)m 8(ageNum)k 240 fnt1 +7687 4924(parameters)m 8779(are)s 0 4636(replaced)m 867(by)s 220 fnt2 +1161 4633(@P)m 8(ageNum)k 240 fnt1 2337 4636(,)m 2444(the)s 2792(actual)s 3417(page)s 3925(number)s 4716(parameter)s 5730(of)s -220 fnt35 6001 4633(@OddP)m 8(ageList)k 240 fnt82 7480 4636(.)m +220 fnt2 6001 4633(@OddP)m 8(ageList)k 240 fnt1 7480 4636(.)m 480 4262(After)m 1043(producing)s 2067(the)s 2415(odd-numbered)s 3869(page,)s -220 fnt35 4428 4259(@OddP)m 8(ageList)k 240 fnt82 5967 4262(in)m 9(v)k 4(ok)k 2(es)k -220 fnt35 6748 4259(@Ev)m 5(enP)k 8(ageList)k 240 fnt82 -8307 4262(:)m 220 fnt35 480 3761(def @Ev)m 5(enP)k 8(ageList)k +220 fnt2 4428 4259(@OddP)m 8(ageList)k 240 fnt1 5967 4262(in)m 9(v)k 4(ok)k 2(es)k +220 fnt2 6748 4259(@Ev)m 5(enP)k 8(ageList)k 240 fnt1 +8307 4262(:)m 220 fnt2 480 3761(def @Ev)m 5(enP)k 8(ageList)k 480 3473( named @Columns {})m 480 3185( r)m -3(ight @P)k 8(ageNum)k 480 2897({)m 480 2609( @P)m 8(ageMar)k -3(k)k 4(er @P)k 8(ageNum)k 480 2321( // @Runner&&f)m 6(ollo)k 3(wing @Open {)k 480 2033( @OneP)m 8(age)k @@ -14613,6 +15567,14 @@ grestore 480 1169( @P)m 8(ageF)k 6(oot { @F)k 6(ootEv)k 5(en @P)k 8(ageNum })k 480 881( })m 480 593( // @OddP)m 8(ageList)k 480 305( @Columns { @Columns })m grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -14621,39 +15583,42 @@ grestore pgsave restore showpage -%%Page: 82 88 +%%Page: 83 89 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(4.3.)m 1871(P)s 19(a)k 2(g)k 2(e)k +2393(layout)s 240 fnt5 10250 -1583(83)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(82)m 240 fnt83 7017 13843(Chapter)m 7867(4.)s -8141(Examples)s 220 fnt35 480 13207( @Ne)m 6(xt @P)k 8(ageNum)k -480 12919(})m 240 fnt82 0 12425(This)m 465(produces)s 1369(an)s +220 fnt2 480 13207( @Ne)m 6(xt @P)k 8(ageNum)k +480 12919(})m 240 fnt1 0 12425(This)m 465(produces)s 1369(an)s 1641(e)s 6(v)k 3(en-numbered)k 3167(page,)s 3714(then)s 4172(passes)s 4823(the)s 5160(ball)s 5562(back)s 6063(to)s -220 fnt35 6291 12422(@OddP)m 8(ageList)k 240 fnt82 7819 12425(\211)m +220 fnt2 6291 12422(@OddP)m 8(ageList)k 240 fnt1 7819 12425(\211)m 7988(a)s 8142(delightful)s 0 12137(e)m 3(xample)k 877(of)s 1162(what)s 1701(computer)s 2678(scientists)s 3619(call)s 4032(mutual)s 4765(recursion.)s 5832(The)s 6274(tw)s 2(o)k 6699(page)s @@ -14662,18 +15627,18 @@ grestore 3250(b)s 4(ut)k 3612(other)s 4163(changes)s 4985(could)s 5575(easily)s 6186(be)s 6468(made.)s 480 11475(It)m 682(w)s 2(as)k 1099(foreshado)s 6(wed)k 2489(earlier)s 3153(that)s 3568(an)s -3847(in)s 9(v)k 4(ocation)k 4897(of)s 220 fnt35 -5164 11472(@P)m 8(ageMar)k -3(k)k 4(er)k 240 fnt82 +3847(in)s 9(v)k 4(ocation)k 4897(of)s 220 fnt2 +5164 11472(@P)m 8(ageMar)k -3(k)k 4(er)k 240 fnt1 6630 11475(w)m 2(ould)k 7281(precede)s 8076(each)s 8567(page,)s 0 11187(and)m 412(this)s 817(has)s 1195(been)s 1713(done.)s -2351(Although)s 3322(this)s 220 fnt35 3726 11184(@P)m 8(ageMar)k -3(k)k 4(er)k -240 fnt82 5204 11187(is)m 5422(a)s 5597(component)s 6729(of)s +2351(Although)s 3322(this)s 220 fnt2 3726 11184(@P)m 8(ageMar)k -3(k)k 4(er)k +240 fnt1 5204 11187(is)m 5422(a)s 5597(component)s 6729(of)s 7009(the)s 7365(root)s 7819(g)s 1(alle)k 3(y)k 15(,)k 8499(it)s 8700(will)s 0 10899(not)m 366(cause)s 953(a)s 1119(page)s 1627(to)s 1866(be)s 2148(printed,)s 2932(because)s 3745(Basser)s 4442(Lout)s 4954(skips)s 5497(components)s 6705(of)s -6976(height)s 7634(zero.)s 240 fnt84 0 10106(4.4.)m 471(Chapters)s -1468(and)s 1909(sections)s 240 fnt82 480 9629(The)m 905(de\207nitions)s +6976(height)s 7634(zero.)s 240 fnt5 0 10106(4.4.)m 471(Chapters)s +1468(and)s 1909(sections)s 240 fnt1 480 9629(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 7583(of)s 7850(V)s 26(ersion)k 8634(2)s 8804(\(in)s 0 9341(V)m 26(ersion)k 793(3,)s @@ -14681,13 +15646,13 @@ grestore 3756(DocumentSetup\))s 5432(form)s 5961(the)s 6315(subject)s 7058(of)s 7334(this)s 7736(section.)s 8583(The)s 3(y)k 0 9053(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 220 fnt35 480 8552(@Chapter)m +2790(lik)s 2(e)k 3202(this:)s 220 fnt2 480 8552(@Chapter)m 480 8264( @Title { ...)m 13( })k 480 7976( @T)m 26(ag { ...)k 13( })k -480 7688(@Begin)m 480 7400( ...)m 480 7112(@End @Chapter)m 240 fnt82 0 6616(W)m 9(ithin)k +480 7688(@Begin)m 480 7400( ...)m 480 7112(@End @Chapter)m 240 fnt1 0 6616(W)m 9(ithin)k 712(the)s 1060(chapter)s 1823(a)s 1989(sequence)s 2922(of)s 3193(sections)s 4014(may)s 4480(be)s 4762(included)s 5644(by)s -5938(writing)s 220 fnt35 480 6115(@BeginSections)m 480 5827(@Section { ...)m 13( })k -480 5539(...)m 480 5251(@Section { ...)m 13( })k 480 4963(@EndSections)m 240 fnt82 +5938(writing)s 220 fnt2 480 6115(@BeginSections)m 480 5827(@Section { ...)m 13( })k +480 5539(...)m 480 5251(@Section { ...)m 13( })k 480 4963(@EndSections)m 240 fnt1 0 4508(These)m 627(are)s 974(numbered)s 1989(automatically)s 15(,)k 3381(and)s 3785(an)s 4068(entry)s 4613(is)s 4823(made)s 5397(for)s 5735(each)s 6230(in)s 6473(a)s 6639(table)s @@ -14695,21 +15660,29 @@ grestore 1615(the)s 1956(DocumentSetup)s 3544(package)s 4376(can)s 4758(\207nd)s 5182(the)s 5522(number)s 6306(of)s 6570(the)s 6910(chapter)s 7666(or)s 7918(section)s 8644(with)s 0 3846(a)m 176(gi)s 6(v)k 3(en)k -766(tag)s 1121(by)s 1426(writing)s 220 fnt35 2179 3843(@NumberOf tag)m -240 fnt82 3838 3846(at)m 4081(an)s 3(y)k 4488(point)s +766(tag)s 1121(by)s 1426(writing)s 220 fnt2 2179 3843(@NumberOf tag)m +240 fnt1 3838 3846(at)m 4081(an)s 3(y)k 4488(point)s 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 3558(the)m 348(follo)s 6(wing)k -1325(de\207nitions:)s 220 fnt35 480 3057(e)m 6(xpor)k -8(t @T)k 26(ag)k +1325(de\207nitions:)s 220 fnt2 480 3057(e)m 6(xpor)k -8(t @T)k 26(ag)k 480 2769(def @NumberMar)m -3(k)k 4(er r)k -3(ight @T)k 26(ag { @Null })k 480 2193(def @NumberOf r)m -3(ight x)k 480 1905({ @NumberMar)m -3(k)k 4(er&&x @Open { @T)k 26(ag } })k -240 fnt82 0 1406(Each)m 522(chapter)s 1272(and)s 1663(section)s +240 fnt1 0 1406(Each)m 522(chapter)s 1272(and)s 1663(section)s 2384(will)s 2797(contain)s 3545(one)s 3934(in)s 9(v)k 4(ocation)k -4975(of)s 220 fnt35 5233 1403(@NumberMar)m -3(k)k 4(er)k -240 fnt82 6918 1406(;)m 7017(a)s 7170(full)s 7543(e)s 3(xplanation)k +4975(of)s 220 fnt2 5233 1403(@NumberMar)m -3(k)k 4(er)k +240 fnt1 6918 1406(;)m 7017(a)s 7170(full)s 7543(e)s 3(xplanation)k 8700(will)s 0 1118(be)m 282(gi)s 6(v)k 3(en)k 862(later)s 13(.)k 480 744(A)m 710(sequence)s 1643(of)s 1914(places)s 2562(for)s 2900(recei)s 6(ving)k 3836(chapters)s -4683(is)s 4893(easily)s 5504(de\207ned:)s 220 fnt35 480 243(e)m 6(xpor)k -8(t @T)k 26(ag)k +4683(is)s 4893(easily)s 5504(de\207ned:)s 220 fnt2 480 243(e)m 6(xpor)k -8(t @T)k 26(ag)k + +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore grestore @@ -14720,43 +15693,46 @@ grestore pgsave restore showpage -%%Page: 83 89 +%%Page: 84 90 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(84)m 240 fnt6 8434 -1580(Chapter)m 9284(4.)s +9558(Examples)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(4.4.)m 454(Chapter)s 2(s)k 1385(and)s -1811(sections)s 240 fnt84 8833 13840(83)m 220 fnt35 480 13207(def @ChapterList r)m -3(ight @T)k 26(ag)k +220 fnt2 480 13207(def @ChapterList r)m -3(ight @T)k 26(ag)k 480 12919({)m 480 12631( @Galle)m 4(y)k 480 12343( //@ChapterGap @ChapterList @Ne)m 6(xt @T)k 26(ag)k -480 12055(})m 0 11558(@ChapterGap)m 240 fnt82 1505 11561(will)m 1967(usually)s -2747(be)s 220 fnt35 3065 11558(1.1b)m 240 fnt82 3484 11561(,)m +480 12055(})m 0 11558(@ChapterGap)m 240 fnt1 1505 11561(will)m 1967(usually)s +2747(be)s 220 fnt2 3065 11558(1.1b)m 240 fnt1 3484 11561(,)m 3626(ensuring)s 4539(that)s 4992(each)s 5523(chapter)s 6321(be)s 3(gins)k 7030(on)s 7362(a)s 7564(ne)s 6(w)k 8046(page.)s -8698(The)s 220 fnt35 0 11270(@Chapter)m 240 fnt82 1063 11273(g)m 1(alle)k 3(y)k +8698(The)s 220 fnt2 0 11270(@Chapter)m 240 fnt1 1063 11273(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 -220 fnt35 480 10772(e)m 6(xpor)k -8(t @F)k 6(ootNote @BeginSections @EndSections @Section)k +220 fnt2 480 10772(e)m 6(xpor)k -8(t @F)k 6(ootNote @BeginSections @EndSections @Section)k 480 10484(def @Chapter f)m 6(orce into { @ChapterList&&preceding })k 480 10196( named @T)m 26(ag {})k 480 9908( named @Title {})m 480 9620( named @RunningTitle { dft })m 480 9332( body @Body)m 480 9044({)m 480 8756( def @F)m 6(ootNote r)k -3(ight x { @ColF)k 6(ootNote x })k 480 8180( def @BeginSections ...)m 480 7892( def @EndSections ...)m 480 7604( def @Section ...)m 480 7151( def @ChapterTitle)m 480 6863( {)m @@ -14770,6 +15746,14 @@ grestore 480 611( // { @ChapterTitle } @MajorContentsEntr)m -6(y {@P)k 8(ageOf @T)k 26(ag})k 480 323( // @Runner)m grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -14778,127 +15762,138 @@ grestore pgsave restore showpage -%%Page: 84 90 +%%Page: 85 91 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(4.4.)m 1871(Chapter)s 2(s)k 2802(and)s +3228(sections)s 240 fnt5 10250 -1583(85)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(84)m 240 fnt83 7017 13843(Chapter)m 7867(4.)s -8141(Examples)s 220 fnt35 480 13207( @F)m 6(ootEv)k 5(en { |0.5r)k -8(t 0.8f @F)k 6(ont @B @P)k 8(ageNum })k +220 fnt2 480 13207( @F)m 6(ootEv)k 5(en { |0.5r)k -8(t 0.8f @F)k 6(ont @B @P)k 8(ageNum })k 480 12919( @F)m 6(ootOdd { |0.5r)k -8(t 0.8f @F)k 6(ont @B @P)k 8(ageNum })k 480 12631( // @Body)m 480 12343( //@SectionGap @ChapRefSection)m 480 12055( // @Runner)m 480 11767( @T)m 26(opEv)k 5(en { @B @P)k 8(ageNum |1r)k -8(t @I @ChapterNum })k 480 11479( @T)m 26(opOdd { @I {@RunningTitle @OrElse @Title} |1r)k -8(t @B @P)k 8(ageNum })k 480 11191(})m -240 fnt82 0 10697(W)m 19(e)k 371(will)s 800(see)s +240 fnt1 0 10697(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 6384(has)s 6756(been)s 7268(restricted)s 8216(to)s 8458(within)s -0 10409(the)m 348(right)s 859(parameter)s 1873(of)s 220 fnt35 -2144 10406(@Chapter)m 240 fnt82 3147 10409(,)m 3254(by)s 3548(nesting)s +0 10409(the)m 348(right)s 859(parameter)s 1873(of)s 220 fnt2 +2144 10406(@Chapter)m 240 fnt1 3147 10409(,)m 3254(by)s 3548(nesting)s 4292(them)s 4830(and)s 5234(using)s 5806(a)s 5972(body)s 6506(parameter)s 13(.)k 480 10035(The)m 956(meaning)s 1882(of)s -220 fnt35 2202 10032(@F)m 6(ootNote)k 240 fnt82 3422 10035(within)m -220 fnt35 4139 10032(@Chapter)m 240 fnt82 5250 10035(has)m 5669(been)s -6227(set)s 6601(to)s 220 fnt35 6889 10032(@ColF)m 6(ootNote)k -240 fnt82 8328 10035(,)m 8484(which)s 0 9747(produces)m 907(a)s -1064(footnote)s 1908(tar)s 4(geted)k 2722(to)s 220 fnt35 -2953 9744(@ColF)m 6(ootList)k 240 fnt82 4325 9747(\(see)m 4756(Section)s +220 fnt2 2202 10032(@F)m 6(ootNote)k 240 fnt1 3422 10035(within)m +220 fnt2 4139 10032(@Chapter)m 240 fnt1 5250 10035(has)m 5669(been)s +6227(set)s 6601(to)s 220 fnt2 6889 10032(@ColF)m 6(ootNote)k +240 fnt1 8328 10035(,)m 8484(which)s 0 9747(produces)m 907(a)s +1064(footnote)s 1908(tar)s 4(geted)k 2722(to)s 220 fnt2 +2953 9744(@ColF)m 6(ootList)k 240 fnt1 4325 9747(\(see)m 4756(Section)s 5521(4.3\).)s 6056(In)s 6303(other)s 6845(w)s 2(ords,)k 7526(footnotes)s 8458(within)s 0 9459(chapters)m 851(go)s 1149(at)s 1386(the)s 1739(foot)s 2189(of)s 2465(the)s 2818(column,)s 3648(not)s 4019(at)s 4256(the)s 4609(foot)s 5059(of)s 5335(the)s 5688(page.)s 6309(\(Of)s 6717(course,)s 7453(in)s 7701(single-column)s 0 9171(books)m 623(this)s 1018(distinction)s 2083(is)s -2292(insigni\207cant.\))s 220 fnt35 3721 9168(@ChapterTitle)m 240 fnt82 5188 9171(and)m -220 fnt35 5591 9168(@ChapterNum)m 240 fnt82 7102 9171(are)m 7448(tri)s 6(vial)k +2292(insigni\207cant.\))s 220 fnt2 3721 9168(@ChapterTitle)m 240 fnt1 5188 9171(and)m +220 fnt2 5591 9168(@ChapterNum)m 240 fnt1 7102 9171(are)m 7448(tri)s 6(vial)k 8065(de\207nitions)s 0 8883(which)m 642(v)s 6(ary)k 1115(depending)s 2166(on)s 2463(whether)s 3293(the)s 3641(user)s 4099(has)s 4469(requested)s 5443(numbered)s 6458(chapters)s 7305(or)s 7564(not.)s 480 8509(Each)m 1014(in)s 9(v)k 4(ocation)k 2066(of)s -220 fnt35 2336 8506(@Chapter)m 240 fnt82 3397 8509(has)m 3766(its)s -4040(o)s 6(wn)k 4503(unique)s 220 fnt35 5209 8506(@T)m 26(ag)k -240 fnt82 5772 8509(,)m 5878(either)s 6479(supplied)s 7347(by)s +220 fnt2 2336 8506(@Chapter)m 240 fnt1 3397 8509(has)m 3766(its)s +4040(o)s 6(wn)k 4503(unique)s 220 fnt2 5209 8506(@T)m 26(ag)k +240 fnt1 5772 8509(,)m 5878(either)s 6479(supplied)s 7347(by)s 7639(the)s 7986(user)s 8442(or)s 8699(else)s 0 8221(inserted)m 835(automatically)s 2210(by)s 2525(Lout.)s 3162(W)s 19(e)k 3553(no)s 6(w)k 4035(trace)s 4575(the)s 4944(cross)s 5507(referencing)s 6669(of)s 6961(chapter)s 7745(numbers)s 8641(on)s 8960(a)s 0 7933(h)m 1(ypothetical)k 1236(third)s 1745(chapter)s -2508(whose)s 3176(tag)s 3521(is)s 220 fnt35 3731 7930(euclid)m -240 fnt82 4291 7933(.)m 220 fnt35 480 7556(@ChapterList&&preceding @T)m 26(agged euclid)k -240 fnt82 4758 7559(attaches)m 220 fnt35 5574 7556(euclid)m 240 fnt82 +2508(whose)s 3176(tag)s 3521(is)s 220 fnt2 3731 7930(euclid)m +240 fnt1 4291 7933(.)m 220 fnt2 480 7556(@ChapterList&&preceding @T)m 26(agged euclid)k +240 fnt1 4758 7559(attaches)m 220 fnt2 5574 7556(euclid)m 240 fnt1 6190 7559(as)m 6436(an)s 6715(e)s 3(xtra)k 7245(tag)s 7586(to)s 7821(the)s 8165(\207rst)s 8592(in)s 9(v)k 4(o)k -8998(-)s 0 7271(cation)m 653(of)s 220 fnt35 937 7268(@ChapterList)m -240 fnt82 2350 7271(preceding)m 3359(itself)s 3920(in)s 4176(the)s +8998(-)s 0 7271(cation)m 653(of)s 220 fnt2 937 7268(@ChapterList)m +240 fnt1 2350 7271(preceding)m 3359(itself)s 3920(in)s 4176(the)s 4536(\207nal)s 5029(printed)s 5777(document.)s 6898(But)s 7317(this)s -220 fnt35 7726 7268(@ChapterList)m 240 fnt82 0 6983(must)m 525(be)s +220 fnt2 7726 7268(@ChapterList)m 240 fnt1 0 6983(must)m 525(be)s 807(the)s 1155(tar)s 4(get)k 1754(of)s 2025(the)s -2373(chapter)s 9(,)k 3174(and)s 3578(so)s 220 fnt35 -480 6482(@ChapterList&&euclid @Open { @T)m 26(ag })k 240 fnt82 0 5983(is)m 200(3,)s +2373(chapter)s 9(,)k 3174(and)s 3578(so)s 220 fnt2 +480 6482(@ChapterList&&euclid @Open { @T)m 26(ag })k 240 fnt1 0 5983(is)m 200(3,)s 416(the)s 754(number)s 1534(of)s 1795(the)s 2132(chapter)s -2885(\()s 220 fnt35 2958 5980(@T)m 26(ag)k 240 fnt82 +2885(\()s 220 fnt2 2958 5980(@T)m 26(ag)k 240 fnt1 3570 5983(refers)m 4153(to)s 4381(the)s 4719(parameter)s 5722(of)s -220 fnt35 5983 5980(@ChapterList)m 240 fnt82 7323 5983(,)m 7419(not)s -7775(the)s 8112(parameter)s 0 5695(of)m 220 fnt35 272 5692(@Chapter)m -240 fnt82 1275 5695(\).)m 1520(Consequently)s 2892(the)s 3242(in)s 9(v)k 4(ocation)k -4297(of)s 220 fnt35 4570 5692(@NumberMar)m -3(k)k 4(er)k -240 fnt82 6317 5695(within)m 6986(the)s 7336(chapter)s 8100(is)s -8312(equal)s 8887(to)s 220 fnt35 0 5404(@NumberMar)m -3(k)k 4(er 3)k -240 fnt82 1861 5407(.)m 220 fnt35 480 5030(@NumberMar)m -3(k)k 4(er&&preceding @T)k 26(agged euclid)k -240 fnt82 5137 5033(attaches)m 220 fnt35 5992 5030(euclid)m 240 fnt82 -6646 5033(to)m 220 fnt35 6920 5030(@NumberMar)m -3(k)k 4(er 3)k -240 fnt82 8876 5033(as)m 0 4745(an)m 283(e)s 3(xtra)k -817(tag,)s 1216(and)s 1620(so)s 220 fnt35 1886 4742(@NumberOf euclid)m -240 fnt82 3742 4745(,)m 3849(which)s 4491(e)s 3(xpands)k -5324(to)s 220 fnt35 480 4244(@NumberMar)m -3(k)k 4(er&&euclid @Open { @T)k 26(ag })k -240 fnt82 0 3745(must)m 538(be)s 833(equal)s 1419(to)s +220 fnt2 5983 5980(@ChapterList)m 240 fnt1 7323 5983(,)m 7419(not)s +7775(the)s 8112(parameter)s 0 5695(of)m 220 fnt2 272 5692(@Chapter)m +240 fnt1 1275 5695(\).)m 1520(Consequently)s 2892(the)s 3242(in)s 9(v)k 4(ocation)k +4297(of)s 220 fnt2 4570 5692(@NumberMar)m -3(k)k 4(er)k +240 fnt1 6317 5695(within)m 6986(the)s 7336(chapter)s 8100(is)s +8312(equal)s 8887(to)s 220 fnt2 0 5404(@NumberMar)m -3(k)k 4(er 3)k +240 fnt1 1861 5407(.)m 220 fnt2 480 5030(@NumberMar)m -3(k)k 4(er&&preceding @T)k 26(agged euclid)k +240 fnt1 5137 5033(attaches)m 220 fnt2 5992 5030(euclid)m 240 fnt1 +6646 5033(to)m 220 fnt2 6920 5030(@NumberMar)m -3(k)k 4(er 3)k +240 fnt1 8876 5033(as)m 0 4745(an)m 283(e)s 3(xtra)k +817(tag,)s 1216(and)s 1620(so)s 220 fnt2 1886 4742(@NumberOf euclid)m +240 fnt1 3742 4745(,)m 3849(which)s 4491(e)s 3(xpands)k +5324(to)s 220 fnt2 480 4244(@NumberMar)m -3(k)k 4(er&&euclid @Open { @T)k 26(ag })k +240 fnt1 0 3745(must)m 538(be)s 833(equal)s 1419(to)s 1671(3,)s 1911(as)s 2175(required.)s 3148(This)s 3637(scheme)s 4423(could)s 5026(be)s 5322(simpli\207ed)s 6349(by)s 6656(placing)s 7426(the)s 7787(in)s 9(v)k 4(ocation)k 8855(of)s -220 fnt35 0 3454(@NumberMar)m -3(k)k 4(er)k 240 fnt82 -1758 3457(within)m 220 fnt35 2440 3454(@ChapterList)m 240 fnt82 3854 3457(rather)m -4484(than)s 4966(within)s 220 fnt35 5648 3454(@Chapter)m 240 fnt82 +220 fnt2 0 3454(@NumberMar)m -3(k)k 4(er)k 240 fnt1 +1758 3457(within)m 220 fnt2 2440 3454(@ChapterList)m 240 fnt1 3854 3457(rather)m +4484(than)s 4966(within)s 220 fnt2 5648 3454(@Chapter)m 240 fnt1 6651 3457(,)m 6772(b)s 4(ut)k 7148(it)s 7353(turns)s 7896(out)s 8276(that)s 8708(that)s 0 3169(scheme)m 773(does)s 1263(not)s 1629(generalize)s 2666(well)s 3132(to)s 3371(sections)s 4192(and)s 4596(subsections.)s 480 2795(There)m 1124(is)s 1365(a)s 1562(trap)s 2017(for)s 2386(the)s 2765(unw)s 2(ary)k -3566(in)s 3840(the)s 4219(use)s 4625(of)s 220 fnt35 -4927 2792(preceding)m 240 fnt82 5969 2795(and)m 220 fnt35 6404 2792(f)m 6(ollo)k 3(wing)k -240 fnt82 7234 2795(.)m 7429(Suppose)s 8328(that)s 8778(the)s -0 2507(in)m 9(v)k 4(ocation)k 1054(of)s 220 fnt35 -1325 2504(@NumberMar)m -3(k)k 4(er)k 240 fnt82 3070 2507(within)m -220 fnt35 3738 2504(@Chapter)m 240 fnt82 4801 2507(is)m 5011(replaced)s +3566(in)s 3840(the)s 4219(use)s 4625(of)s 220 fnt2 +4927 2792(preceding)m 240 fnt1 5969 2795(and)m 220 fnt2 6404 2792(f)m 6(ollo)k 3(wing)k +240 fnt1 7234 2795(.)m 7429(Suppose)s 8328(that)s 8778(the)s +0 2507(in)m 9(v)k 4(ocation)k 1054(of)s 220 fnt2 +1325 2504(@NumberMar)m -3(k)k 4(er)k 240 fnt1 3070 2507(within)m +220 fnt2 3738 2504(@Chapter)m 240 fnt1 4801 2507(is)m 5011(replaced)s 5878(by)s 6172(the)s 6520(seemingly)s 7557(equi)s 6(v)k 6(alent)k -220 fnt35 480 2006(@NumberMar)m -3(k)k 4(er { @ChapterList&&preceding @Open { @T)k 26(ag } })k -240 fnt82 0 1507(No)m 6(w)k 514(suppose)s 1342(that)s -220 fnt35 1760 1504(@NumberOf euclid)m 240 fnt82 3676 1507(appears)m 4457(some)s 6(where)k +220 fnt2 480 2006(@NumberMar)m -3(k)k 4(er { @ChapterList&&preceding @Open { @T)k 26(ag } })k +240 fnt1 0 1507(No)m 6(w)k 514(suppose)s 1342(that)s +220 fnt2 1760 1504(@NumberOf euclid)m 240 fnt1 3676 1507(appears)m 4457(some)s 6(where)k 5596(within)s 6264(Chapter)s 7081(7.)s 7365(It)s 7570(will)s -7996(e)s 3(xpand)k 8743(to)s 220 fnt35 480 1006(@NumberMar)m -3(k)k 4(er&&euclid @Open { @T)k 26(ag })k -240 fnt82 0 507(which)m 642(w)s 2(ould)k 1297(no)s 6(w)k +7996(e)s 3(xpand)k 8743(to)s 220 fnt2 480 1006(@NumberMar)m -3(k)k 4(er&&euclid @Open { @T)k 26(ag })k +240 fnt1 0 507(which)m 642(w)s 2(ould)k 1297(no)s 6(w)k 1758(be)s 2040(equal)s 2613(to)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -14907,84 +15902,87 @@ grestore pgsave restore showpage -%%Page: 85 91 +%%Page: 86 92 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(86)m 240 fnt6 8434 -1580(Chapter)m 9284(4.)s +9558(Examples)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(4.4.)m 454(Chapter)s 2(s)k 1385(and)s -1811(sections)s 240 fnt84 8833 13840(85)m 220 fnt35 480 13207(@ChapterList&&preceding @Open { @T)m 26(ag })k -240 fnt82 0 12708(whose)m 663(v)s 6(alue,)k 1276(e)s 6(v)k 6(aluated)k +220 fnt2 480 13207(@ChapterList&&preceding @Open { @T)m 26(ag })k 240 fnt1 +0 12708(whose)m 663(v)s 6(alue,)k 1276(e)s 6(v)k 6(aluated)k 2233(as)s 2477(it)s 2663(is)s 2868(within)s 3530(Chapter)s 4342(7,)s 4563(is)s 4767(7,)s 4989(not)s 5349(3.)s -5628(Use)s 6050(of)s 220 fnt35 6315 12705(preceding)m 240 fnt82 -7321 12708(or)m 220 fnt35 7574 12705(f)m 6(ollo)k 3(wing)k -240 fnt82 8458 12708(within)m 0 12420(the)m 348(parameter)s 1362(of)s +5628(Use)s 6050(of)s 220 fnt2 6315 12705(preceding)m 240 fnt1 +7321 12708(or)m 220 fnt2 7574 12705(f)m 6(ollo)k 3(wing)k +240 fnt1 8458 12708(within)m 0 12420(the)m 348(parameter)s 1362(of)s 1633(a)s 1799(symbol,)s 2611(rather)s 3227(than)s 3696(within)s 4364(the)s 4712(body)s 15(,)k 5284(is)s 5494(lik)s 2(ely)k 6090(to)s 6329(be)s 6611(erroneous.)s 480 12046(Much)m 1112(of)s 1400(the)s 1765(remainder)s 2810(of)s 3098(the)s 3463(de\207nition)s -4454(of)s 220 fnt35 4742 12043(@Chapter)m 240 fnt82 5822 12046(is)m +4454(of)s 220 fnt2 4742 12043(@Chapter)m 240 fnt1 5822 12046(is)m 6049(f)s 2(airly)k 6634(self-e)s 3(xplanatory:)k 8366(there)s 8916(is)s 0 11758(a)m 180(heading,)s 1060(a)s 1241(tag)s 1601(sent)s 2060(to)s 2314(mark)s 2881(the)s 3244(page)s 3766(on)s 4078(which)s 4735(the)s 5098(chapter)s 5875(be)s 3(gins,)k -6619(a)s 220 fnt35 6800 11755(@ContentsEntr)m -6(y)k 240 fnt82 +6619(a)s 220 fnt2 6800 11755(@ContentsEntr)m -6(y)k 240 fnt1 8492 11758(g)m 1(alle)k 3(y)k 0 11470(sent)m 484(to)s 762(the)s 1149(table)s 1708(of)s 2018(contents,)s 2961(g)s 1(alle)k 3(ys)k 3724(for)s 4101(the)s 4489(\207gures)s 5230(and)s 5673(tables)s 6320(of)s 6630(the)s 7017(chapter)s 7819(to)s 8097(collect)s -8833(in,)s 220 fnt35 0 11179(@Body)m 240 fnt82 781 11182(where)m +8833(in,)s 220 fnt2 0 11179(@Body)m 240 fnt1 781 11182(where)m 1421(the)s 1769(body)s 2303(of)s 2574(the)s 2922(chapter)s -3685(goes,)s 4230(and)s 220 fnt35 4634 11179(@ChapRefSection)m 240 fnt82 +3685(goes,)s 4230(and)s 220 fnt2 4634 11179(@ChapRefSection)m 240 fnt1 6499 11182(to)m 6738(hold)s 7222(a)s 7388(concluding)s 8505(list)s 8855(of)s 0 10894(references.)m 1144(This)s 1620(lea)s 4(v)k 3(es)k 2261(only)s 2741(the)s 3089(tw)s 2(o)k 3499(in)s 9(v)k 4(ocations)k -4640(of)s 220 fnt35 4911 10891(@Runner)m 240 fnt82 5913 10894(to)m -6152(e)s 3(xplain.)k 480 10520(The)m 977(\207rst)s 220 fnt35 -1478 10517(@Runner)m 240 fnt82 2550 10520(is)m 2830(just)s 3305(belo)s 6(w)k +4640(of)s 220 fnt2 4911 10891(@Runner)m 240 fnt1 5913 10894(to)m +6152(e)s 3(xplain.)k 480 10520(The)m 977(\207rst)s 220 fnt2 +1478 10517(@Runner)m 240 fnt1 2550 10520(is)m 2830(just)s 3305(belo)s 6(w)k 4008(the)s 4426(heading.)s 5418(It)s 5693(will)s 6189(be)s 6541(the)s 6959(tar)s 4(get)k 7628(of)s 7969(the)s -220 fnt35 8387 10517(@Run)m 240 fnt82 8998 10520(-)m 220 fnt35 -0 10229(ner&&f)m 6(ollo)k 3(wing)k 240 fnt82 1494 10232(cross)m +220 fnt2 8387 10517(@Run)m 240 fnt1 8998 10520(-)m 220 fnt2 +0 10229(ner&&f)m 6(ollo)k 3(wing)k 240 fnt1 1494 10232(cross)m 2030(reference)s 2967(at)s 3194(the)s 3536(be)s 3(ginning)k 4538(of)s 4803(the)s 5146(\207rst)s 5571(page)s 6073(of)s 6338(the)s 6681(chapter)s 7438(\(see)s 7872(Section)s 8640(4.3\),)s 0 9944(which)m 642(consequently)s 1959(will)s 2385(ha)s 4(v)k 3(e)k 2886(null)s 3313(running)s 4111(headers)s 4892(and)s 5296(the)s 5644(gi)s 6(v)k 3(en)k 6224(footers.)s 480 9570(The)m -954(second)s 220 fnt35 1724 9567(@Runner)m 240 fnt82 2772 9570(appears)m +954(second)s 220 fnt2 1724 9567(@Runner)m 240 fnt1 2772 9570(appears)m 3600(at)s 3878(the)s 4273(v)s 3(ery)k 4795(end)s 5246(of)s 5563(the)s 5958(chapter)s 9(,)k 6805(hence)s 7466(on)s 7809(its)s 8132(last)s 8570(page.)s 0 9282(Since)m 595(no)s 896(in)s 9(v)k 4(ocations)k 2046(of)s -220 fnt35 2325 9279(@Runner)m 240 fnt82 3335 9282(lie)m 3638(between)s -4500(it)s 4700(and)s 5113(the)s 5469(\207rst)s 220 fnt35 -5908 9279(@Runner)m 240 fnt82 6850 9282(,)m 6966(it)s 7166(will)s +220 fnt2 2325 9279(@Runner)m 240 fnt1 3335 9282(lie)m 3638(between)s +4500(it)s 4700(and)s 5113(the)s 5469(\207rst)s 220 fnt2 +5908 9279(@Runner)m 240 fnt1 6850 9282(,)m 6966(it)s 7166(will)s 7600(be)s 7891(the)s 8247(tar)s 4(get)k 8855(of)s -220 fnt35 0 8991(@Runner&&f)m 6(ollo)k 3(wing)k 240 fnt82 +220 fnt2 0 8991(@Runner&&f)m 6(ollo)k 3(wing)k 240 fnt1 2134 8994(on)m 2442(e)s 6(v)k 3(ery)k 3029(page)s 3547(from)s 4082(the)s 4441(second)s 5175(page)s 5693(of)s 5975(the)s 6334(chapter)s 7107(to)s 7357(the)s 7716(last,)s @@ -15002,30 +16000,38 @@ grestore 4146(halfw)s 2(ay)k 4956(do)s 6(wn)k 5527(a)s 5680(page.)s 6283(Such)s 6807(predictions)s 7907(can)s 8283(be)s 8552(made)s 0 7468(with)m 482(great)s 1019(con\207dence.)s 480 7094(The)m -903(e)s 3(xpression)k 220 fnt35 1975 7091(@RunningTitle @OrElse @Title)m 240 fnt82 -5125 7094(appearing)m 6116(in)s 6354(the)s 6697(second)s 220 fnt35 -7415 7091(@Runner)m 240 fnt82 8412 7094(returns)m 0 6806(the)m 354(v)s 6(alue)k -928(of)s 1205(the)s 220 fnt35 1560 6803(@RunningTitle)m 240 fnt82 -3070 6806(parameter)m 4090(of)s 220 fnt35 4368 6803(@Chapter)m 240 fnt82 +903(e)s 3(xpression)k 220 fnt2 1975 7091(@RunningTitle @OrElse @Title)m 240 fnt1 +5125 7094(appearing)m 6116(in)s 6354(the)s 6697(second)s 220 fnt2 +7415 7091(@Runner)m 240 fnt1 8412 7094(returns)m 0 6806(the)m 354(v)s 6(alue)k +928(of)s 1205(the)s 220 fnt2 1560 6803(@RunningTitle)m 240 fnt1 +3070 6806(parameter)m 4090(of)s 220 fnt2 4368 6803(@Chapter)m 240 fnt1 5437 6806(if)m 5660(this)s 6063(is)s 6279(not)s 6651(equal)s 7231(to)s 7476(the)s 7830(def)s 2(ault)k 8558(v)s 6(alue)k -220 fnt35 0 6515(dft)m 240 fnt82 240 6518(,)m 347(or)s -220 fnt35 606 6515(@Title)m 240 fnt82 1294 6518(otherwise:)m 220 fnt35 +220 fnt2 0 6515(dft)m 240 fnt1 240 6518(,)m 347(or)s +220 fnt2 606 6515(@Title)m 240 fnt1 1294 6518(otherwise:)m 220 fnt2 480 6036(def @OrElse)m 480 5748( left x)m 480 5460( r)m -3(ight y)k 480 5172({)m 480 4884( x @Case {)m 480 4596( dft @Y)m 4(ield y)k 480 4308( else @Y)m 4(ield x)k -480 4020( })m 480 3732(})m 240 fnt82 0 3238(This)m 476(produces)s -1391(the)s 1739(ef)s 6(fect)k 2335(of)s 220 fnt35 -480 2737(named @RunningTitle { @Title })m 240 fnt82 0 2238(which)m 676(unfortunately)s 2052(is)s +480 4020( })m 480 3732(})m 240 fnt1 0 3238(This)m 476(produces)s +1391(the)s 1739(ef)s 6(fect)k 2335(of)s 220 fnt2 +480 2737(named @RunningTitle { @Title })m 240 fnt1 0 2238(which)m 676(unfortunately)s 2052(is)s 2296(not)s 2696(permissible)s 3887(as)s 4171(it)s 4397(stands,)s -5136(because)s 220 fnt35 5983 2235(@Title)m 240 fnt82 6705 2238(is)m +5136(because)s 220 fnt2 5983 2235(@Title)m 240 fnt1 6705 2238(is)m 6949(not)s 7349(visible)s 8076(within)s 8778(the)s 0 1950(def)m 2(ault)k -721(v)s 6(alue)k 1289(of)s 220 fnt35 1560 1947(@RunningTitle)m -240 fnt82 3004 1950(.)m 480 1576(Finally)m 15(,)k 1249(the)s +721(v)s 6(alue)k 1289(of)s 220 fnt2 1560 1947(@RunningTitle)m +240 fnt1 3004 1950(.)m 480 1576(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 220 fnt35 +5273(are)s 5620(as)s 5870(follo)s 6(ws:)k 220 fnt2 480 1075(def @EndSectionsPlace { @Galle)m 4(y })k 480 787(def @EndSections f)m 6(orce into { @EndSectionsPlace&&preceding } {})k 480 499(macro @BeginSections { //@SectionGap @SectionList 1 // @EndSectionsPlace // })m grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -15034,79 +16040,82 @@ grestore pgsave restore showpage -%%Page: 86 92 +%%Page: 87 93 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(4.4.)m 1871(Chapter)s 2(s)k 2802(and)s +3228(sections)s 240 fnt5 10248 -1583(87)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(86)m 240 fnt83 7017 13843(Chapter)m 7867(4.)s -8141(Examples)s 220 fnt35 480 13207(def @Section f)m 6(orce into { @SectionList&&preceding })k 480 12919( named @T)m 26(ag {})k -480 12631( named @Title {})m 480 12343( named @RunningTitle { dft })m 480 12055( body @Body)m 480 11767({)m 480 11479( def @SectionTitle)m -480 11191( {)m 480 10903( @SectionNumbers @Case {)m 480 10615( {Y)m 30(es y)k 4(es} @Y)k 4(ield { {@NumberOf @T)k 26(ag}.)k 13( |2s @Title })k +220 fnt2 480 13207(def @Section f)m 6(orce into { @SectionList&&preceding })k +480 12919( named @T)m 26(ag {})k 480 12631( named @Title {})m 480 12343( named @RunningTitle { dft })m 480 12055( body @Body)m +480 11767({)m 480 11479( def @SectionTitle)m 480 11191( {)m 480 10903( @SectionNumbers @Case {)m 480 10615( {Y)m 30(es y)k 4(es} @Y)k 4(ield { {@NumberOf @T)k 26(ag}.)k 13( |2s @Title })k 480 10327( else @Y)m 4(ield @Title)k 480 10039( })m 480 9751( })m 480 9175( @Heading @Protect @SectionTitle)m 480 8887( // @NumberMar)m -3(k)k 4(er {)k 480 8599( {@ChapterList&&@T)m 26(ag @Open { @T)k 26(ag }}.{)k 480 8311( @SectionList&&@T)m 26(ag @Open { @T)k 26(ag }})k 480 8023( })m 480 7735( // @ChapterList&&preceding @T)m 26(agged @T)k 26(ag)k 480 7447( // @SectionList&&preceding @T)m 26(agged @T)k 26(ag)k 480 7159( // @NumberMar)m -3(k)k 4(er&&preceding @T)k 26(agged @T)k 26(ag)k 480 6871( // @P)m 8(ageMar)k -3(k)k 4(er&&preceding @T)k 26(agged @T)k 26(ag)k 480 6583( // { &3f @SectionTitle } @ContentsEntr)m -6(y {@P)k 8(ageOf @T)k 26(ag})k 480 6295( //0io @Body)m -480 6007(})m 240 fnt82 0 5513(The)m 220 fnt35 409 5510(@BeginSections)m -240 fnt82 2066 5513(macro)m 2696(in)s 9(v)k 4(ok)k 2(es)k -220 fnt35 3457 5510(@SectionList)m 240 fnt82 4748 5513(,)m 4835(preceded)s +480 6007(})m 240 fnt1 0 5513(The)m 220 fnt2 409 5510(@BeginSections)m +240 fnt1 2066 5513(macro)m 2696(in)s 9(v)k 4(ok)k 2(es)k +220 fnt2 3457 5510(@SectionList)m 240 fnt1 4748 5513(,)m 4835(preceded)s 5736(by)s 6010(the)s 6338(appropriate)s 7462(g)s 1(ap)k 7840(and)s 8224(follo)s 6(wed)k 0 5225(by)m 284(an)s -220 fnt35 556 5222(@EndSectsPlace)m 240 fnt82 2307 5225(for)m 2635(closing)s +220 fnt2 556 5222(@EndSectsPlace)m 240 fnt1 2307 5225(for)m 2635(closing)s 3368(the)s 3705(list)s 4045(of)s 4306(sections)s 5116(when)s -5681(the)s 220 fnt35 6019 5222(@EndSections)m 240 fnt82 7515 5225(symbol)m -8264(is)s 8463(found.)s 220 fnt35 0 4934(@Section)m 240 fnt82 +5681(the)s 220 fnt2 6019 5222(@EndSections)m 240 fnt1 7515 5225(symbol)m +8264(is)s 8463(found.)s 220 fnt2 0 4934(@Section)m 240 fnt1 997 4937(itself)m 1542(is)s 1749(just)s 2151(a)s 2314(cop)s 2(y)k -2829(of)s 220 fnt35 3097 4934(@Chapter)m 240 fnt82 4156 4937(with)m +2829(of)s 220 fnt2 3097 4934(@Chapter)m 240 fnt1 4156 4937(with)m 4635(slight)s 5223(changes)s 6042(to)s 6278(the)s 6623(format.)s -7420(The)s 7845(parameter)s 8855(of)s 220 fnt35 0 4646(@NumberMar)m -3(k)k 4(er)k -240 fnt82 1752 4649(is)m 1970(a)s 2143(simple)s 2844(generalization)s -4262(of)s 4540(the)s 4896(one)s 5305(within)s 220 fnt35 -5981 4646(@Chapter)m 240 fnt82 6984 4649(.)m 7156(Notice)s 7856(that)s +7420(The)s 7845(parameter)s 8855(of)s 220 fnt2 0 4646(@NumberMar)m -3(k)k 4(er)k +240 fnt1 1752 4649(is)m 1970(a)s 2143(simple)s 2844(generalization)s +4262(of)s 4540(the)s 4896(one)s 5305(within)s 220 fnt2 +5981 4646(@Chapter)m 240 fnt1 6984 4649(.)m 7156(Notice)s 7856(that)s 8282(we)s 8625(ha)s 4(v)k 3(e)k 0 4361(tak)m 2(en)k 573(care)s 1026(that)s 1444(the)s 1792(v)s 6(alue)k 2360(of)s 2631(this)s 3027(parameter)s 4041(be)s 4323(a)s 4489(juxtaposition)s 5795(of)s 6066(simple)s 6759(w)s 2(ords:)k -7508(although)s 220 fnt35 480 3860({@ChapterList&&@T)m 26(ag @Open { @T)k 26(ag }}.)k 13( &)k -480 3572({@SectionList&&@T)m 26(ag @Open { @T)k 26(ag }})k 240 fnt82 0 3073(is)m -210(formally)s 1086(equi)s 6(v)k 6(alent,)k 220 fnt35 -2177 3070(&)m 240 fnt82 2379 3073(w)m 2(as)k 2800(not)s -3166(permitted)s 4139(within)s 4807(a)s 220 fnt35 4973 3070(@T)m 26(ag)k -240 fnt82 5596 3073(parameter)m 6610(until)s 7103(recently)s 15(.)k +7508(although)s 220 fnt2 480 3860({@ChapterList&&@T)m 26(ag @Open { @T)k 26(ag }}.)k 13( &)k +480 3572({@SectionList&&@T)m 26(ag @Open { @T)k 26(ag }})k 240 fnt1 0 3073(is)m +210(formally)s 1086(equi)s 6(v)k 6(alent,)k 220 fnt2 +2177 3070(&)m 240 fnt1 2379 3073(w)m 2(as)k 2800(not)s +3166(permitted)s 4139(within)s 4807(a)s 220 fnt2 4973 3070(@T)m 26(ag)k +240 fnt1 5596 3073(parameter)m 6610(until)s 7103(recently)s 15(.)k 480 2699(The)m 930(DocumentSetup)s 2548(package)s 3411(also)s 3872(contains)s 4743(de\207nitions)s 5826(for)s 6187(subsections)s 7364(in)s 7630(the)s 8001(same)s 8571(style.)s 0 2411(The)m 3(y)k 564(raise)s 1091(the)s 1461(question)s 2350(of)s 2643(whether)s 3494(Lout)s 4028(is)s 4259(capable)s 5066(of)s 5359(producing)s 6404(subsections)s -7580(should)s 8298(the)s 8668(user)s 0 2123(place)m 220 fnt35 -542 2120(@BeginSections)m 240 fnt82 2159 2123(,)m 220 fnt35 2248 2120(@Section)m -240 fnt82 3188 2123(,)m 3276(and)s 220 fnt35 3662 2120(@EndSections)m -240 fnt82 5151 2123(within)m 5800(a)s 240 fnt83 5948 2125(section)m -240 fnt82 6619 2123(,)m 6708(and)s 7093(whether)s 7905(such)s +7580(should)s 8298(the)s 8668(user)s 0 2123(place)m 220 fnt2 +542 2120(@BeginSections)m 240 fnt1 2159 2123(,)m 220 fnt2 2248 2120(@Section)m +240 fnt1 3188 2123(,)m 3276(and)s 220 fnt2 3662 2120(@EndSections)m +240 fnt1 5151 2123(within)m 5800(a)s 240 fnt6 5948 2125(section)m +240 fnt1 6619 2123(,)m 6708(and)s 7093(whether)s 7905(such)s 8382(nesting)s 0 1835(could)m 592(proceed)s 1409(to)s 1650(arbitrary)s 2527(depth.)s 3225(Arbitrary)s 4169(nesting)s 4915(of)s 5188(sections)s 6011(within)s 6681(sections)s 7504(is)s 7716(a)s 4(v)k 6(ailable)k @@ -15124,6 +16133,14 @@ grestore 2795(names)s 3457(for)s 3795(the)s 4143(symbols)s 4992(at)s 5224(each)s 5719(le)s 6(v)k 3(el.)k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -15132,40 +16149,43 @@ grestore pgsave restore showpage -%%Page: 87 93 +%%Page: 88 94 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(88)m 240 fnt6 8434 -1580(Chapter)m 9284(4.)s +9558(Examples)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(4.5.)m 454(Biblio)s 2(gr)k 3(aphies)k -240 fnt84 8831 13840(87)m 0 13203(4.5.)m 471(Bibliographies)s 240 fnt82 +240 fnt5 0 13203(4.5.)m 471(Bibliographies)s 240 fnt1 533 12726(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 12438(on)m 297(the)s -645(de\207nition)s 220 fnt35 480 11987(e)m 6(xpor)k -8(t @T)k 26(ype @A)k 6(uthor @Title @Institution @Number @Pub)k 4(lisher)k +645(de\207nition)s 220 fnt2 480 11987(e)m 6(xpor)k -8(t @T)k 26(ype @A)k 6(uthor @Title @Institution @Number @Pub)k 4(lisher)k 480 11699( @Y)m 30(ear @Proceedings @Jour)k -5(nal @V)k 17(olume @P)k 8(ages @Comment)k 480 11123(def @Ref)m 6(erence)k 480 10835( named @T)m 26(ag)k 3270({ )s 11(T)k 26(A)k 6(G? })k 480 10547( named @T)m 26(ype)k 3270({ )s 11(TYPE? })k 480 10259( named @A)m 6(uthor)k @@ -15175,16 +16195,16 @@ grestore 480 8531( named @Proceedings)m 3270({ PR)s 4(OCEEDINGS? })k 480 8243( named @Jour)m -5(nal)k 3270({ JOURNAL? })s 480 7955( named @V)m 17(olume)k 3270({ )s 11(V)k 8(OLUME? })k 480 7667( named @P)m 8(ages)k 3270({ P)s 26(A)k 6(GES? })k -480 7379( named @Comment)m 3270({ @Null })s 480 7091({ @Null })m 240 fnt82 0 6597(F)m 3(or)k +480 7379( named @Comment)m 3270({ @Null })s 480 7091({ @Null })m 240 fnt1 0 6597(F)m 3(or)k 389(e)s 3(xample,)k 1303(the)s 1651(database)s 2530(might)s -3148(contain)s 220 fnt35 480 6096({ @Ref)m 6(erence)k 480 5808( @T)m 26(ag { str)k -3(unk1979style })k +3148(contain)s 220 fnt2 480 6096({ @Ref)m 6(erence)k 480 5808( @T)m 26(ag { str)k -3(unk1979style })k 480 5520( @T)m 26(ype { Book })k 480 5232( @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 4944( @Title { )m 11(The Elements of Style })k 480 4656( @Pub)m 4(lisher { MacMillan, third edition })k 480 4368( @Y)m 30(ear { 1979 })k 480 4080(})m 480 3588({ @Ref)m 6(erence)k 480 3300( @T)m 26(ag { kingston92 })k 480 3012( @T)m 26(ype { )k 11(T)k 26(echRepor)k -8(t })k 480 2724( @A)m 6(uthor { Kingston, Jeffre)k 4(y H.)k 13( })k 480 2436( @Title { Document F)m 6(or)k -5(matting with Lout \(Second Edition\) })k 480 2148( @Number { 449 })m 480 1860( @Institution { Basser Depar)m -8(tment of Computer)k 480 1572(Science F09, Univ)m 5(ersity of Sydne)k 4(y 2006, A)k 6(ustr)k 2(alia })k -480 1284( @Y)m 30(ear { 1992 })k 480 996(})m 240 fnt82 0 502(Since)m +480 1284( @Y)m 30(ear { 1992 })k 480 996(})m 240 fnt1 0 502(Since)m 596(named)s 1301(parameters)s 2408(are)s 2764(optional,)s 3664(we)s 4008(ha)s 4(v)k 3(e)k 4519(one)s 4930(for)s 5277(e)s 6(v)k 3(ery)k 5862(concei)s 6(v)k 6(able)k @@ -15195,6 +16215,14 @@ grestore 6472(W)s 19(e)k 6837(can)s 7223(print)s 7730(a)s 7893(reference)s 8832(by)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -15203,50 +16231,53 @@ grestore pgsave restore showpage -%%Page: 88 94 +%%Page: 89 95 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(4.5.)m 1871(Biblio)s 2(gr)k 3(aphies)k +240 fnt5 10249 -1583(89)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13259 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(88)m 240 fnt83 7017 13843(Chapter)m 7867(4.)s -8141(Examples)s 240 fnt82 0 13205(using)m 572(the)s 220 fnt35 -920 13202(@Open)m 240 fnt82 1726 13205(symbol)m 2486(to)s 2725(get)s -3077(at)s 3309(its)s 3585(attrib)s 4(utes:)k 220 fnt35 +0 13205(using)m 572(the)s 220 fnt2 +920 13202(@Open)m 240 fnt1 1726 13205(symbol)m 2486(to)s 2725(get)s +3077(at)s 3309(its)s 3585(attrib)s 4(utes:)k 220 fnt2 480 12704(@Ref)m 6(erence&&str)k -3(unk1979style @Open)k 480 12416({ @A)m 6(uthor)k 11(, {Slope @F)k 6(ont @Title}.)k 13( @Pub)k 4(lisher)k 11(, @Y)k 30(ear)k 11(.)k 13( })k -240 fnt82 0 11920(The)m 428(right)s 939(parameter)s 1953(of)s -220 fnt35 2224 11917(@Open)m 240 fnt82 3030 11920(may)m 3496(use)s +240 fnt1 0 11920(The)m 428(right)s 939(parameter)s 1953(of)s +220 fnt2 2224 11917(@Open)m 240 fnt1 3030 11920(may)m 3496(use)s 3871(the)s 4219(e)s 3(xported)k 5111(parameters)s 6209(of)s 6480(the)s 6828(left,)s 7252(and)s 7656(so)s 7922(the)s 8270(result)s 8860(is)s 480 11415(W)m 9(illiam)k 1313(Strunk)s -2012(and)s 2416(E.)s 2666(B.)s 2930(White,)s 240 fnt83 -3681 11417(The)m 4093(Elements)s 5024(of)s 5305(Style)s 240 fnt82 +2012(and)s 2416(E.)s 2666(B.)s 2930(White,)s 240 fnt6 +3681 11417(The)m 4093(Elements)s 5024(of)s 5305(Style)s 240 fnt1 5762 11415(.)m 5926(Macmillan,)s 7068(1979.)s 0 10916(Incidentally)m 15(,)k 1235(we)s 1573(are)s 1923(not)s 2292(limited)s 3029(to)s 3271(just)s 3679(one)s 4084(database)s 4966(of)s 5240(references;)s -6335(se)s 6(v)k 3(eral)k 220 fnt35 7060 10913(@Database)m -240 fnt82 8277 10916(symbols)m 0 10628(can)m 380(nominate)s 1317(the)s +6335(se)s 6(v)k 3(eral)k 220 fnt2 7060 10913(@Database)m +240 fnt1 8277 10916(symbols)m 0 10628(can)m 380(nominate)s 1317(the)s 1656(same)s 2193(symbol,)s 2996(and)s 3391(in)s 9(v)k 4(ocations)k 4523(of)s 4784(that)s 5193(symbol)s 5944(can)s 6324(appear)s 7011(in)s 7245(the)s 7584(document)s 8578(itself)s 0 10340(as)m @@ -15256,36 +16287,36 @@ grestore 5809(for)s 6170(the)s 6540(v)s 6(arious)k 7311(types)s 7889(of)s 8183(reference)s 0 9678(\(Book,)m 706(T)s 16(echReport,)k 1926(etc.\),)s 2450(based)s 3053(on)s 3350(the)s 3698(follo)s 6(wing)k -4675(de\207nition:)s 220 fnt35 480 9177(e)m 6(xpor)k -8(t @Style)k +4675(de\207nition:)s 220 fnt2 480 9177(e)m 6(xpor)k -8(t @Style)k 480 8889(def @RefStyle)m 480 8601( left @T)m 26(ag)k 480 8313( named @Style r)m -3(ight reftag {})k -480 8025({})m 240 fnt82 0 7531(Notice)m 682(that)s 1089(the)s -1426(named)s 2111(parameter)s 220 fnt35 3114 7528(@Style)m 240 fnt82 -3865 7531(has)m 4224(a)s 4379(right)s 4879(parameter)s 220 fnt35 -5882 7528(reftag)m 240 fnt82 6431 7531(.)m 6584(The)s 7001(style)s +480 8025({})m 240 fnt1 0 7531(Notice)m 682(that)s 1089(the)s +1426(named)s 2111(parameter)s 220 fnt2 3114 7528(@Style)m 240 fnt1 +3865 7531(has)m 4224(a)s 4379(right)s 4879(parameter)s 220 fnt2 +5882 7528(reftag)m 240 fnt1 6431 7531(.)m 6584(The)s 7001(style)s 7497(database)s 8365(has)s 8724(one)s 0 7243(entry)m 545(for)s -883(each)s 1378(type)s 1846(of)s 2117(reference:)s 220 fnt35 +883(each)s 1378(type)s 1846(of)s 2117(reference:)s 220 fnt2 480 6742({ Book @RefStyle @Style)m 480 6454( { @Ref)m 6(erence&&reftag @Open)k 480 6166( { @A)m 6(uthor)k 11(, {Slope @F)k 6(ont @Title}.)k 13( @Pub)k 4(lisher)k 11(, @Y)k 30(ear)k 11(.)k 13( @Comment })k 480 5878( })m 480 5590(})m 480 5014({ )m 11(T)k 26(echRepor)k -8(t @RefStyle @Style)k 480 4726( { @Ref)m 6(erence&&reftag @Open)k 480 4438( { @A)m 6(uthor)k 11(, {Slope @F)k 6(ont @Title}.)k 13( )k 11(T)k 26(ech.)k 13( Rep)k 7(.)k 13( @Number \(@Y)k 30(ear\),)k -480 4150(@Institution.)m 13( @Comment })k 480 3862( })m 480 3574(})m 240 fnt82 +480 4150(@Institution.)m 13( @Comment })k 480 3862( })m 480 3574(})m 240 fnt1 0 3080(and)m 404(so)s 670(on.)s 1074(The)s 1502(follo)s 6(wing)k 2479(prints)s 3074(the)s 3422(reference)s 4365(whose)s 5033(tag)s -5378(is)s 220 fnt35 5588 3077(str)m -3(unk1979style)k 240 fnt82 -7180 3080(in)m 7423(the)s 7771(Book)s 8352(style:)s 220 fnt35 -480 2579(@RefStyle&&Book @Open { @Style str)m -3(unk1979style })k 240 fnt82 0 2081(It)m 205(has)s +5378(is)s 220 fnt2 5588 3077(str)m -3(unk1979style)k 240 fnt1 +7180 3080(in)m 7423(the)s 7771(Book)s 8352(style:)s 220 fnt2 +480 2579(@RefStyle&&Book @Open { @Style str)m -3(unk1979style })k 240 fnt1 0 2081(It)m 205(has)s 575(result)s 480 1626(W)m 9(illiam)k 1313(Strunk)s 2012(and)s -2416(E.)s 2666(B.)s 2930(White.)s 240 fnt83 3678 1628(The)m -4090(Elements)s 5021(of)s 5302(Style)s 240 fnt82 5759 1626(.)m +2416(E.)s 2666(B.)s 2930(White.)s 240 fnt6 3678 1628(The)m +4090(Elements)s 5021(of)s 5302(Style)s 240 fnt1 5759 1626(.)m 5923(Macmillan)s 6955(.)s 7119(Third)s 7708(Edition)s 8409(,)s 8516(1979)s 8987(.)s 0 1127(Notice)m 696(ho)s 6(w)k -1160(the)s 220 fnt35 1512 1124(@Style)m 240 fnt82 2277 1127(parameter)m -3295(of)s 220 fnt35 3569 1124(@RefStyle)m 240 fnt82 4675 1127(is)m +1160(the)s 220 fnt2 1512 1124(@Style)m 240 fnt1 2277 1127(parameter)m +3295(of)s 220 fnt2 3569 1124(@RefStyle)m 240 fnt1 4675 1127(is)m 4889(gi)s 6(v)k 3(en)k 5472(the)s 5824(parameter)s -220 fnt35 6841 1124(str)m -3(unk1979style)k 240 fnt82 8373 1127(,)m +220 fnt2 6841 1124(str)m -3(unk1979style)k 240 fnt1 8373 1127(,)m 8484(which)s 0 839(it)m 192(uses)s 655(to)s 894(open)s 1417(the)s 1765(appropriate)s 2909(reference.)s 480 465(W)m 19(e)k -858(can)s 1256(consult)s 2017(the)s 220 fnt35 2374 462(@T)m 26(ype)k -240 fnt82 3121 465(attrib)m 4(ute)k 3977(of)s 4258(a)s +858(can)s 1256(consult)s 2017(the)s 220 fnt2 2374 462(@T)m 26(ype)k +240 fnt1 3121 465(attrib)m 4(ute)k 3977(of)s 4258(a)s 4433(reference)s 5386(to)s 5634(\207nd)s 6075(out)s 6450(its)s 6736(style,)s 7303(which)s 7955(brings)s 8613(us)s 8887(to)s 0 177(the)m 348(follo)s 6(wing)k 1325(de\207nition)s 2299(for)s @@ -15293,6 +16324,14 @@ grestore 5165(the)s 5513(style)s 6020(appropriate)s 7164(to)s 7403(it:)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -15301,45 +16340,48 @@ grestore pgsave restore showpage -%%Page: 89 95 +%%Page: 90 96 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(90)m 240 fnt6 8434 -1580(Chapter)m 9284(4.)s +9558(Examples)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13264 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(4.5.)m 454(Biblio)s 2(gr)k 3(aphies)k -240 fnt84 8832 13840(89)m 220 fnt35 480 13207(def @RefPr)m -3(int)k -480 12919( r)m -3(ight reftag)k 480 12631({ @RefStyle&&{ @Ref)m 6(erence&&reftag @Open { @T)k 26(ype } })k -480 12343( @Open { @Style reftag })m 480 12055(})m 240 fnt82 0 11561(F)m 3(or)k -389(e)s 3(xample,)k 1303(to)s 1542(e)s 6(v)k 6(aluate)k -220 fnt35 2382 11558(@RefPr)m -3(int str)k -3(unk1979style)k 240 fnt82 -4992 11561(,)m 5099(Lout)s 5611(\207rst)s 6042(e)s 6(v)k 6(aluates)k -220 fnt35 480 11060(@Ref)m 6(erence&&str)k -3(unk1979style @Open { @T)k 26(ype })k -240 fnt82 0 10562(whose)m 668(result)s 1258(is)s 220 fnt35 -1468 10559(Book)m 240 fnt82 1968 10562(,)m 2075(and)s 2479(then)s -2948(e)s 6(v)k 6(aluates)k 220 fnt35 480 10080(@RefStyle&&Book @Open { @Style str)m -3(unk1979style })k -240 fnt82 0 9582(as)m 266(before.)s 1056(Complicated)s 2353(as)s +220 fnt2 480 13207(def @RefPr)m -3(int)k 480 12919( r)m -3(ight reftag)k +480 12631({ @RefStyle&&{ @Ref)m 6(erence&&reftag @Open { @T)k 26(ype } })k 480 12343( @Open { @Style reftag })m 480 12055(})m +240 fnt1 0 11561(F)m 3(or)k 389(e)s 3(xample,)k +1303(to)s 1542(e)s 6(v)k 6(aluate)k 220 fnt2 +2382 11558(@RefPr)m -3(int str)k -3(unk1979style)k 240 fnt1 4992 11561(,)m +5099(Lout)s 5611(\207rst)s 6042(e)s 6(v)k 6(aluates)k +220 fnt2 480 11060(@Ref)m 6(erence&&str)k -3(unk1979style @Open { @T)k 26(ype })k +240 fnt1 0 10562(whose)m 668(result)s 1258(is)s 220 fnt2 +1468 10559(Book)m 240 fnt1 1968 10562(,)m 2075(and)s 2479(then)s +2948(e)s 6(v)k 6(aluates)k 220 fnt2 480 10080(@RefStyle&&Book @Open { @Style str)m -3(unk1979style })k +240 fnt1 0 9582(as)m 266(before.)s 1056(Complicated)s 2353(as)s 2619(this)s 3032(is,)s 3314(with)s 3813(its)s 4105(tw)s 2(o)k 4531(databases)s 5515(and)s 5935(cle)s 6(v)k 3(er)k 6586(passing)s 7373(about)s 7982(of)s 8269(tags,)s 8778(the)s @@ -15357,7 +16399,7 @@ grestore 5279(\207rst)s 5723(step)s 6173(is)s 6396(to)s 6647(create)s 7285(a)s 7463(numbered)s 8491(list)s 8855(of)s 0 8056(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 220 fnt35 +2853(references)s 3884(may)s 4350(attach)s 4977(to:)s 220 fnt2 480 7555(def @Ref)m 6(erenceSection)k 480 7267( named @T)m 26(ag {})k 480 6979( named @Title { Ref)m 6(erences })k 480 6691( named @RunningTitle { dft })m 480 6403( named style r)m -3(ight tag { tag.)k 13( })k 480 6115( named headstyle r)m -3(ight @Title { @Heading @Title })k 480 5827( named indent { @DispIndent })m 480 5539( named gap { @DispGap })m 480 5251( named star)m -8(t { 1 })k 480 4963({)m @@ -15371,6 +16413,14 @@ grestore 480 355( @T)m 26(opOdd { @I {@RunningTitle @OrElse @Title} |1r)k -8(t @B @P)k 8(ageNum })k 480 67(})m grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -15379,71 +16429,74 @@ grestore pgsave restore showpage -%%Page: 90 96 +%%Page: 91 97 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(4.5.)m 1871(Biblio)s 2(gr)k 3(aphies)k +240 fnt5 10256 -1583(91)m gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(90)m 240 fnt83 7017 13843(Chapter)m 7867(4.)s -8141(Examples)s 240 fnt82 0 13205(W)m 19(e)k 378(place)s -948(the)s 1305(e)s 3(xpression)k 220 fnt35 2392 13202(@Ref)m 6(erenceSection)k -240 fnt82 4408 13205(at)m 4649(the)s 5007(point)s 5569(where)s +0 13205(W)m 19(e)k 378(place)s +948(the)s 1305(e)s 3(xpression)k 220 fnt2 2392 13202(@Ref)m 6(erenceSection)k +240 fnt1 4408 13205(at)m 4649(the)s 5007(point)s 5569(where)s 6218(we)s 6563(w)s 2(ant)k 7096(the)s 7453(list)s 7814(of)s 8095(references)s 0 12917(to)m 239(appear;)s 988(its)s 1264(v)s 6(alue)k 1832(is)s 2042(something)s 3092(lik)s 2(e)k -220 fnt35 480 12416(1.)m 13( @RefPlace)k 480 12128(2.)m 13( @RefPlace)k -480 11840(3.)m 13( @RefPlace)k 480 11552(...)m 240 fnt82 0 11101(where)m -220 fnt35 648 11098(@RefPlace)m 240 fnt82 1820 11101(is)m 220 fnt35 -2038 11098(@Galle)m 4(y)k 240 fnt82 2945 11101(as)m 3203(usual.)s +220 fnt2 480 12416(1.)m 13( @RefPlace)k 480 12128(2.)m 13( @RefPlace)k +480 11840(3.)m 13( @RefPlace)k 480 11552(...)m 240 fnt1 0 11101(where)m +220 fnt2 648 11098(@RefPlace)m 240 fnt1 1820 11101(is)m 220 fnt2 +2038 11098(@Galle)m 4(y)k 240 fnt1 2945 11101(as)m 3203(usual.)s 3880(W)s 19(e)k 4258(can)s 4655(scatter)s 5345(multiple)s 6205(lists)s 6649(of)s 6928(references)s 7967(through)s 8778(the)s 0 10813(document)m 1004(if)s 1221(we)s 1555(wish)s 2064(\(at)s 2375(the)s 2722(end)s 3126(of)s 3397(each)s 3891(chapter)s 9(,)k 4692(for)s 5030(e)s 3(xample\),)k 6022(simply)s 6727(by)s -7021(placing)s 220 fnt35 7777 10810(@Ref)m 6(erence)k 240 fnt82 -8998 10813(-)m 220 fnt35 0 10522(Section)m 240 fnt82 777 10525(at)m +7021(placing)s 220 fnt2 7777 10810(@Ref)m 6(erence)k 240 fnt1 +8998 10813(-)m 220 fnt2 0 10522(Section)m 240 fnt1 777 10525(at)m 1009(each)s 1504(point.)s 480 10151(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 220 fnt35 480 9650(def @Ref r)m -3(ight x)k 480 9362({)m +4241(de\207nition:)s 220 fnt2 480 9650(def @Ref r)m -3(ight x)k 480 9362({)m 480 9074( def sendref into { @RefPlace&&f)m 6(ollo)k 3(wing })k 480 8786( r)m -3(ight @K)k 8(e)k 4(y)k 480 8498( {)m 480 8210( @NumberMar)m -3(k)k 4(er&&preceding @T)k 26(agged x &)k 480 7922( @P)m 8(ageMar)k -3(k)k 4(er&&preceding @T)k 26(agged x &)k 480 7634( @RefPr)m -3(int x)k 480 7346( })m 480 6770( @NumberMar)m -3(k)k 4(er&&x @Open { @T)k 26(ag } sendref x)k -480 6482(})m 240 fnt82 0 5988(Gi)m 6(v)k 3(en)k +480 6482(})m 240 fnt1 0 5988(Gi)m 6(v)k 3(en)k 633(this)s 1029(de\207nition,)s 2053(the)s 2401(in)s 9(v)k 4(ocation)k -220 fnt35 3455 5985(@Ref str)m -3(unk1979style)k 240 fnt82 5672 5988(has)m -6042(result)s 220 fnt35 480 5489(@NumberMar)m -3(k)k 4(er&&str)k -3(unk1979style @Open { @T)k 26(ag })k -240 fnt82 0 4990(plus)m 450(the)s 798(g)s 1(alle)k 3(y)k -220 fnt35 1432 4987(sendref str)m -3(unk1979style)k 240 fnt82 3757 4990(.)m +220 fnt2 3455 5985(@Ref str)m -3(unk1979style)k 240 fnt1 5672 5988(has)m +6042(result)s 220 fnt2 480 5489(@NumberMar)m -3(k)k 4(er&&str)k -3(unk1979style @Open { @T)k 26(ag })k +240 fnt1 0 4990(plus)m 450(the)s 798(g)s 1(alle)k 3(y)k +220 fnt2 1432 4987(sendref str)m -3(unk1979style)k 240 fnt1 3757 4990(.)m 3921(W)s 19(e)k 4290(\207rst)s 4721(follo)s 6(w)k 5393(what)s 5918(happens)s 6754(to)s 6993(the)s 7341(g)s 1(alle)k 3(y)k 15(.)k -480 4616(According)m 1555(to)s 1806(its)s 220 fnt35 2094 4613(into)m -240 fnt82 2512 4616(clause,)m 3229(the)s 3589(g)s 1(alle)k 3(y)k -4235(will)s 4673(replace)s 5430(a)s 220 fnt35 5609 4613(@RefPlace)m -240 fnt82 6785 4616(in)m 7040(the)s 7400(nearest)s 8149(follo)s 6(wing)k -220 fnt35 0 4325(@Ref)m 6(erenceSection)k 240 fnt82 1946 4328(.)m +480 4616(According)m 1555(to)s 1806(its)s 220 fnt2 2094 4613(into)m +240 fnt1 2512 4616(clause,)m 3229(the)s 3589(g)s 1(alle)k 3(y)k +4235(will)s 4673(replace)s 5430(a)s 220 fnt2 5609 4613(@RefPlace)m +240 fnt1 6785 4616(in)m 7040(the)s 7400(nearest)s 8149(follo)s 6(wing)k +220 fnt2 0 4325(@Ref)m 6(erenceSection)k 240 fnt1 1946 4328(.)m 2114(If)s 2348(e)s 6(v)k 3(ery)k 2928(such)s 3428(g)s 1(alle)k 3(y)k 4066(is)s 4280(a)s 4450(sorted)s 5096(g)s 1(alle)k 3(y)k 5734(whose)s @@ -15452,38 +16505,46 @@ grestore 396(one)s 798(is,)s 1064(the)s 3(y)k 1527(will)s 1953(appear)s 2650(sorted)s 3292(by)s 3586(tag.)s 4042(The)s 4470(g)s 1(alle)k 3(y')k 13(s)k 5260(object)s -5904(is)s 220 fnt35 480 3539(@NumberMar)m -3(k)k 4(er&&preceding @T)k 26(agged str)k -3(unk1979style &)k +5904(is)s 220 fnt2 480 3539(@NumberMar)m -3(k)k 4(er&&preceding @T)k 26(agged str)k -3(unk1979style &)k 480 3251(@P)m 8(ageMar)k -3(k)k 4(er&&preceding @T)k 26(agged str)k -3(unk1979style &)k -480 2963(@RefPr)m -3(int str)k -3(unk1979style)k 240 fnt82 0 2465(The)m -428(result)s 1017(of)s 1287(the)s 220 fnt35 1634 2462(@T)m 26(agged)k -240 fnt82 2622 2465(symbol)m 3381(is)s 3590(al)s 2(w)k 2(ays)k -220 fnt35 4300 2462(@Null)m 240 fnt82 4885 2465(,)m 4991(so)s -5256(this)s 5651(prints)s 6245(the)s 220 fnt35 6592 2462(str)m -3(unk1979style)k -240 fnt82 8183 2465(reference)m 0 2177(in)m 243(the)s 591(appropriate)s -1735(style)s 2242(at)s 2474(the)s 220 fnt35 2822 2174(@RefPlace)m -240 fnt82 3926 2177(,)m 4033(as)s 4283(desired.)s 480 1803(No)m 6(w)k -220 fnt35 1043 1800(@NumberMar)m -3(k)k 4(er&&preceding)k 240 fnt82 +480 2963(@RefPr)m -3(int str)k -3(unk1979style)k 240 fnt1 0 2465(The)m +428(result)s 1017(of)s 1287(the)s 220 fnt2 1634 2462(@T)m 26(agged)k +240 fnt1 2622 2465(symbol)m 3381(is)s 3590(al)s 2(w)k 2(ays)k +220 fnt2 4300 2462(@Null)m 240 fnt1 4885 2465(,)m 4991(so)s +5256(this)s 5651(prints)s 6245(the)s 220 fnt2 6592 2462(str)m -3(unk1979style)k +240 fnt1 8183 2465(reference)m 0 2177(in)m 243(the)s 591(appropriate)s +1735(style)s 2242(at)s 2474(the)s 220 fnt2 2822 2174(@RefPlace)m +240 fnt1 3926 2177(,)m 4033(as)s 4283(desired.)s 480 1803(No)m 6(w)k +220 fnt2 1043 1800(@NumberMar)m -3(k)k 4(er&&preceding)k 240 fnt1 4081 1803(is)m 4341(the)s 4739(nearest)s 5524(preceding)s 6570(in)s 9(v)k 4(ocation)k -7674(of)s 220 fnt35 7995 1800(@Number)m 240 fnt82 8998 1803(-)m -220 fnt35 0 1512(Mar)m -3(k)k 4(er)k 240 fnt82 +7674(of)s 220 fnt2 7995 1800(@Number)m 240 fnt1 8998 1803(-)m +220 fnt2 0 1512(Mar)m -3(k)k 4(er)k 240 fnt1 775 1515(in)m 1051(the)s 1432(\207nal)s 1946(document.)s 3087(This)s 3596(must)s 4155(be)s 4470(the)s 4851(in)s 9(v)k 4(ocation)k -5939(of)s 220 fnt35 6243 1512(@NumberMar)m -3(k)k 4(er)k -240 fnt82 8021 1515(just)m 8460(before)s 0 1227(the)m 220 fnt35 -378 1224(@RefPlace)m 240 fnt82 1572 1227(that)m 2020(recei)s 6(v)k 3(ed)k +5939(of)s 220 fnt2 6243 1512(@NumberMar)m -3(k)k 4(er)k +240 fnt1 8021 1515(just)m 8460(before)s 0 1227(the)m 220 fnt2 +378 1224(@RefPlace)m 240 fnt1 1572 1227(that)m 2020(recei)s 6(v)k 3(ed)k 2908(the)s 3286(g)s 1(alle)k 3(y)k 15(,)k 3988(and)s 4423(so)s 4719(this)s 5145(in)s 9(v)k 4(ocation)k -6229(of)s 220 fnt35 6530 1224(@NumberMar)m -3(k)k 4(er)k -240 fnt82 8305 1227(is)m 8546(gi)s 6(v)k 3(en)k -220 fnt35 0 936(str)m -3(unk1979style)k 240 fnt82 1585 939(as)m +6229(of)s 220 fnt2 6530 1224(@NumberMar)m -3(k)k 4(er)k +240 fnt1 8305 1227(is)m 8546(gi)s 6(v)k 3(en)k +220 fnt2 0 936(str)m -3(unk1979style)k 240 fnt1 1585 939(as)m 1827(an)s 2102(additional)s 3105(tag)s 3442(by)s 3728(the)s -220 fnt35 4068 936(@T)m 26(agged)k 240 fnt82 5050 939(symbol.)m +220 fnt2 4068 936(@T)m 26(agged)k 240 fnt1 5050 939(symbol.)m 5911(Its)s 6192(original)s 6982(tag)s 7319(w)s 2(as)k 7732(the)s 8072(number)s 8855(of)s 0 651(the)m 348(reference)s -1291(place,)s 1902(which)s 2544(means)s 3206(that)s 220 fnt35 +1291(place,)s 1902(which)s 2544(means)s 3206(that)s 220 fnt2 480 150(@NumberMar)m -3(k)k 4(er&&str)k -3(unk1979style @Open { @T)k 26(ag })k grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -15492,44 +16553,47 @@ grestore pgsave restore showpage -%%Page: 91 97 +%%Page: 92 98 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(92)m 240 fnt6 8434 -1580(Chapter)m 9284(4.)s +9558(Examples)s gsave +1417 -15423 translate +240 fnt1 9066 13368 0 13368 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(4.5.)m 454(Biblio)s 2(gr)k 3(aphies)k -240 fnt84 8839 13840(91)m 240 fnt82 0 13205(has)m 370(for)s -708(its)s 984(result)s 1574(the)s 1922(number)s 2713(of)s -2984(the)s 3332(reference)s 4275(place)s 4835(that)s 5253(recei)s 6(v)k 3(ed)k -6111(the)s 220 fnt35 6459 13202(str)m -3(unk1979style)k 240 fnt82 +0 13205(has)m 370(for)s 708(its)s 984(result)s +1574(the)s 1922(number)s 2713(of)s 2984(the)s 3332(reference)s +4275(place)s 4835(that)s 5253(recei)s 6(v)k 3(ed)k +6111(the)s 220 fnt2 6459 13202(str)m -3(unk1979style)k 240 fnt1 8051 13205(g)m 1(alle)k 3(y)k 15(,)k 8722(and)s 0 12917(this)m 396(is)s 606(the)s 954(desired)s 1702(result)s -2292(of)s 220 fnt35 2563 12914(@Ref str)m -3(unk1979style)k 240 fnt82 +2292(of)s 220 fnt2 2563 12914(@Ref str)m -3(unk1979style)k 240 fnt1 4720 12917(.)m 480 12543(It)m 674(might)s 1281(seem)s 1821(that)s 2228(if)s 2434(we)s 2758(refer)s 3256(to)s 3483(the)s -220 fnt35 3820 12540(str)m -3(unk1979style)k 240 fnt82 5401 12543(reference)m +220 fnt2 3820 12540(str)m -3(unk1979style)k 240 fnt1 5401 12543(reference)m 6333(twice,)s 6946(tw)s 2(o)k 7345(copies)s 7996(will)s 8411(be)s 8681(sent)s 0 12255(to)m 247(the)s 603(reference)s 1554(list)s 1914(and)s 2326(it)s 2526(will)s 2961(appear)s @@ -15544,6 +16608,14 @@ grestore 1366(are)s 1713(used)s 2210(there)s 2743(is)s 2953(no)s 3246(problem.)s grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -15552,89 +16624,94 @@ grestore pgsave restore showpage -%%Page: 92 98 +%%Page: 93 99 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +9066 13448 0 13448 240 288 60 1417 -14865 LoutGr2 +1 LoutMargSet grestore -480 fnt84 0 12955(Refer)m 8(ences)k 240 fnt82 0 12358([1])m -480(Adobe)s 1182(Systems,)s 2094(Inc..)s 240 fnt83 2631 12360(P)m 19(ostScript)k +480 fnt5 0 12397(Refer)m 8(ences)k 240 fnt1 0 11800([1])m +480(Adobe)s 1182(Systems,)s 2094(Inc..)s 240 fnt6 2631 11802(P)m 19(ostScript)k 3680(Langua)s 2(g)k 2(e)k 4696(Refer)s 8(ence)k -5704(Manual,)s 6550(Second)s 7316(Edition)s 240 fnt82 8014 12358(.)m -8186(Addison-)s 480 12070(W)m 19(esle)k 3(y)k 1169(,)s -1276(1990)s 1751(.)s 0 11567([2])m 480(Brian)s 1132(W)s 22(.)k +5704(Manual,)s 6550(Second)s 7316(Edition)s 240 fnt1 8014 11800(.)m +8186(Addison-)s 480 11512(W)m 19(esle)k 3(y)k 1169(,)s +1276(1990)s 1751(.)s 0 11009([2])m 480(Brian)s 1132(W)s 22(.)k 1504(K)s 6(ernighan)k 2630(and)s 3098(Lorinda)s 3980(L.)s 4294(Cherry)s 15(.)k 5172(A)s 5466(system)s 6255(for)s -6657(typesetting)s 7824(mathematics)s 9022(.)s 240 fnt83 480 11281(Communications)m -2158(of)s 2439(the)s 2784(A)s 7(CM)k 240 fnt84 -3351 11278(18)m 240 fnt82 3585 11279(,)m 3692(182\211193)s 4576(\(1975\))s -5203(.)s 0 10778([3])m 480(Jef)s 6(fre)k 3(y)k -1177(H.)s 1443(Kingston.)s 240 fnt83 2475 10780(The)m 2876(Basser)s +6657(typesetting)s 7824(mathematics)s 9022(.)s 240 fnt6 480 10723(Communications)m +2158(of)s 2439(the)s 2784(A)s 7(CM)k 240 fnt5 +3351 10720(18)m 240 fnt1 3585 10721(,)m 3692(182\211193)s 4576(\(1975\))s +5203(.)s 0 10220([3])m 480(Jef)s 6(fre)k 3(y)k +1177(H.)s 1443(Kingston.)s 240 fnt6 2475 10222(The)m 2876(Basser)s 3581(Lout)s 4074(Document)s 5111(F)s 25(ormatting)k 6219(System)s -6929(\(V)s 26(er)k 2(sion)k 7767(3\))s 240 fnt82 -7956 10778(.)m 8109(Computer)s 480 10490(program)m 1290(,)s 1408(1995)s +6929(\(V)s 26(er)k 2(sion)k 7767(3\))s 240 fnt1 +7956 10220(.)m 8109(Computer)s 480 9932(program)m 1290(,)s 1408(1995)s 1874(.)s 2050(Publicly)s 2913(a)s 4(v)k 6(ailable)k -3833(in)s 4088(the)s 240 fnt83 4448 10492(jef)m 4(f)k -240 fnt82 4855 10490(subdirectory)m 6116(of)s 6399(the)s 6759(home)s -7359(directory)s 8287(of)s 240 fnt83 8570 10492(ftp)m 240 fnt82 -8887 10490(to)m 480 10202(host)m 240 fnt83 950 10204(ftp.cs.su.oz.au)m 240 fnt82 -2373 10202(with)m 2866(login)s 3427(name)s 240 fnt83 4012 10204(anonymous)m -240 fnt82 5171 10202(or)m 240 fnt83 5442 10204(ftp)m 240 fnt82 -5758 10202(and)m 6174(an)s 3(y)k 6582(non-empty)s 7685(passw)s 2(ord)k -8657(\(e.g.)s 240 fnt83 480 9916(none)m 240 fnt82 939 9914(\).)m +3833(in)s 4088(the)s 240 fnt6 4448 9934(jef)m 4(f)k +240 fnt1 4855 9932(subdirectory)m 6116(of)s 6399(the)s 6759(home)s +7359(directory)s 8287(of)s 240 fnt6 8570 9934(ftp)m 240 fnt1 +8887 9932(to)m 480 9644(host)m 240 fnt6 950 9646(ftp.cs.su.oz.au)m 240 fnt1 +2373 9644(with)m 2866(login)s 3427(name)s 240 fnt6 4012 9646(anonymous)m +240 fnt1 5171 9644(or)m 240 fnt6 5442 9646(ftp)m 240 fnt1 +5758 9644(and)m 6174(an)s 3(y)k 6582(non-empty)s 7685(passw)s 2(ord)k +8657(\(e.g.)s 240 fnt6 480 9358(none)m 240 fnt1 939 9356(\).)m 1175(Lout)s 1680(distrib)s 4(utions)k 2914(are)s 3254(also)s 3685(a)s 4(v)k 6(ailable)k 4585(from)s 5102(the)s -240 fnt83 5443 9916(comp.sour)m 8(ces.misc)k 240 fnt82 7291 9914(ne)m 6(wsgroup,)k -8436(and)s 8832(by)s 480 9626(electronic)m 1474(mail)s 1953(from)s +240 fnt6 5443 9358(comp.sour)m 8(ces.misc)k 240 fnt1 7291 9356(ne)m 6(wsgroup,)k +8436(and)s 8832(by)s 480 9068(electronic)m 1474(mail)s 1953(from)s 2477(the)s 2825(author)s 13(.)k 3587(All)s 3947(enquiries)s -4874(to)s 240 fnt83 5113 9628(jef)m 4(f@cs.su.oz.au)k 240 fnt82 -6672 9626(.)m 0 9121([4])m 480(Jef)s 6(fre)k 3(y)k -1187(H.)s 1463(Kingston.)s 240 fnt83 2504 9123(A)m 2698(User')s 9(s)k +4874(to)s 240 fnt6 5113 9070(jef)m 4(f@cs.su.oz.au)k 240 fnt1 +6672 9068(.)m 0 8563([4])m 480(Jef)s 6(fre)k 3(y)k +1187(H.)s 1463(Kingston.)s 240 fnt6 2504 8565(A)m 2698(User')s 9(s)k 3380(Guide)s 4017(to)s 4255(the)s 4599(Lout)s 5101(Document)s 6148(F)s 25(ormatting)k 7266(System)s 7985(\(V)s 26(er)k 2(sion)k -8833(3\))s 240 fnt82 9022 9121(.)m 480 8833(Basser)m 1177(Department)s +8833(3\))s 240 fnt1 9022 8563(.)m 480 8275(Basser)m 1177(Department)s 2365(of)s 2636(Computer)s 3653(Science)s 4392(,)s 4499(Uni)s 6(v)k 3(ersity)k 5553(of)s 5824(Sydne)s 3(y)k 6534(,)s 6641(1995)s -7107(.)s 0 8328([5])m 480(Donald)s 1243(E.)s 1493(Knuth.)s -240 fnt83 2256 8330(The)m 2668(T)s 2764 8282(E)m 2872 8330(X)m -3028(Book)s 240 fnt82 3524 8328(.)m 3688(Addison-W)s 19(esle)k 3(y)k -5268(,)s 5375(1984)s 5849(.)s 0 7823([6])m 480(Brian)s +7107(.)s 0 7770([5])m 480(Donald)s 1243(E.)s 1493(Knuth.)s +240 fnt6 2256 7772(The)m 2668(T)s 2764 7724(E)m 2872 7772(X)m +3028(Book)s 240 fnt1 3524 7770(.)m 3688(Addison-W)s 19(esle)k 3(y)k +5268(,)s 5375(1984)s 5849(.)s 0 7265([6])m 480(Brian)s 1048(K.)s 1305(Reid.)s 1900(A)s 2110(High-)s 2657(Le)s 6(v)k 3(el)k 3227(Approach)s 4207(to)s 4426(Computer)s 5423(Document)s 6459(Production)s -7506(.)s 7650(In)s 240 fnt83 7885 7825(Pr)m 10(oceedings)k -480 7537(of)m 745(the)s 1073(7th)s 1417(Symposium)s 2548(on)s +7506(.)s 7650(In)s 240 fnt6 7885 7267(Pr)m 10(oceedings)k +480 6979(of)m 745(the)s 1073(7th)s 1417(Symposium)s 2548(on)s 2825(the)s 3153(Principles)s 4174(of)s 4438(Pr)s 10(o)k 2(gr)k 3(amming)k 5804(Langua)s 2(g)k 2(es)k 6891(\(POPL\),)s 7723(Las)s -8107(V)s 26(e)k 9(gas)k 8695(NV)s 240 fnt82 -9019 7535(,)m 480 7247(pages)m 1076(24\21131)s 1651(,)s 1758(1980)s -2233(.)s 0 6742([7])m 480(W)s 9(illiam)k 1313(Strunk)s -2012(and)s 2416(E.)s 2666(B.)s 2930(White.)s 240 fnt83 -3678 6744(The)m 4090(Elements)s 5021(of)s 5302(Style)s 240 fnt82 -5759 6742(.)m 5923(Macmillan)s 6955(.)s 7119(Third)s 7708(Edition)s -8409(,)s 8516(1979)s 8987(.)s 192 fnt84 4439 2(92)m +8107(V)s 26(e)k 9(gas)k 8695(NV)s 240 fnt1 +9019 6977(,)m 480 6689(pages)m 1076(24\21131)s 1651(,)s 1758(1980)s +2233(.)s 0 6184([7])m 480(W)s 9(illiam)k 1313(Strunk)s +2012(and)s 2416(E.)s 2666(B.)s 2930(White.)s 240 fnt6 +3678 6186(The)m 4090(Elements)s 5021(of)s 5302(Style)s 240 fnt1 +5759 6184(.)m 5923(Macmillan)s 6955(.)s 7119(Third)s 7708(Edition)s +8409(,)s 8516(1979)s 8987(.)s +grestore +0 0 0 0 240 288 60 1417 -14865 LoutGr2 +1 LoutMargSet +grestore grestore +192 fnt5 5857 -15421(93)m grestore @@ -15643,7 +16720,7 @@ grestore pgsave restore showpage -%%Page: 93 99 +%%Page: 94 100 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -15651,245 +16728,260 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +9066 13448 0 13448 240 288 60 1417 -14865 LoutGr2 +0 LoutMargSet grestore -480 fnt84 0 12962(Index)m 220 fnt35 0 12365(adjust)m 641(@Break)s -240 fnt82 1444 12368(,)m 1551(42)s 0 12080(Adjustment)m 1176(of)s -1447(object)s 2038(,)s 2145(49)s 0 11792(Adobe)m 695(Systems,)s -1599(Inc.)s 1955(,)s 2062(41)s 0 11504(Alignment)m 240 fnt83 -1083 11506(see)m 240 fnt82 1441 11504(mark)m 1993(alignment)s 0 11216(Associati)m 6(vity)k -1256(,)s 1363(22)s 220 fnt35 0 10637(b)m 240 fnt82 -174 10640(unit)m 553(,)s 660(37)s 240 10352(use)m 615(in)s -220 fnt35 858 10349(//1.1b)m 240 fnt82 1406 10352(,)m 1513(27)s -220 fnt35 0 10061(@Bac)m 4(kEnd)k 240 fnt82 1145 10064(symbol)m -1852(,)s 1959(68)s 220 fnt35 0 9773(@Bac)m 4(kg)k 2(round)k -240 fnt82 1436 9776(symbol)m 2143(,)s 2250(53)s 220 fnt35 -0 9485(@Begin)m 240 fnt82 829 9488(symbol)m 1536(,)s 1643(36)s -220 fnt35 0 9197(@BeginHeaderComponent)m 240 fnt82 2692 9200(symbol)m 3399(,)s -3506(59)s 0 8912(Bibliographies)m 1406(,)s 1513(87)s 0 8624(Body)m +480 fnt5 0 12404(Index)m 220 fnt2 0 11807(adjust)m 641(@Break)s +240 fnt1 1444 11810(,)m 1551(42)s 0 11522(Adjustment)m 1176(of)s +1447(object)s 2038(,)s 2145(49)s 0 11234(Adobe)m 695(Systems,)s +1599(Inc.)s 1955(,)s 2062(41)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 1363(22)s 220 fnt2 0 10079(b)m 240 fnt1 +174 10082(unit)m 553(,)s 660(37)s 240 9794(use)m 615(in)s +220 fnt2 858 9791(//1.1b)m 240 fnt1 1406 9794(,)m 1513(27)s +220 fnt2 0 9503(@Bac)m 4(kEnd)k 240 fnt1 1145 9506(symbol)m +1852(,)s 1959(69)s 220 fnt2 0 9215(@Bac)m 4(kg)k 2(round)k +240 fnt1 1436 9218(symbol)m 2143(,)s 2250(53)s 220 fnt2 +0 8927(@Begin)m 240 fnt1 829 8930(symbol)m 1536(,)s 1643(36)s +220 fnt2 0 8639(@BeginHeaderComponent)m 240 fnt1 2692 8642(symbol)m 3399(,)s +3506(59)s 0 8354(Bibliographies)m 1406(,)s 1513(88)s 0 8066(Body)m 574(of)s 845(a)s 1011(de\207nition)s 1932(,)s 2039(4)s -220 fnt35 0 8333(body)m 240 fnt82 534 8336(parameter)m 1495(,)s -1602(17)s 0 8048(Braces)m 648(,)s 755(3)s 220 fnt35 -0 7469(c)m 240 fnt82 165 7472(unit)m 544(,)s 651(37)s -220 fnt35 0 7181(@Case)m 240 fnt82 787 7184(symbol)m 1494(,)s -1601(56)s 0 6896(Centring)m 837(,)s 944(37)s 220 fnt35 -0 6605(@Chapter)m 240 fnt82 1063 6608(e)m 3(xample)k 1873(,)s -1980(83)s 0 6320(Chapters)m 901(and)s 1305(sections)s 2073(,)s -2180(82)s 220 fnt35 0 6029(@Char)m 240 fnt82 758 6032(symbol)m -1465(,)s 1572(41)s 0 5744(Cherry)m 15(,)k 756(L.)s -953(,)s 1060(71)s 220 fnt35 0 5453(@ClearHeaderComponent)m 240 fnt82 -2655 5456(symbol)m 3362(,)s 3469(60)s 220 fnt35 0 5165(clines)m -613(@Break)s 240 fnt82 1416 5168(,)m 1523(42)s 220 fnt35 -0 4877(@ColList)m 240 fnt82 948 4880(e)m 3(xample)k 1758(,)s -1865(79)s 0 4592(Column)m 829(mark)s 1328(,)s 1435(1)s -0 4304(Comment)m 951(,)s 1058(15)s 0 4016(Comment)m 1004(character)s -1885(,)s 1992(13)s 220 fnt35 0 3725(@Common)m 240 fnt82 -1159 3728(symbol)m 1866(,)s 1973(54)s 0 3440(Components)m 1262(of)s +220 fnt2 0 7775(body)m 240 fnt1 534 7778(parameter)m 1495(,)s +1602(17)s 0 7490(Braces)m 648(,)s 755(3)s 220 fnt2 +0 6911(c)m 240 fnt1 165 6914(unit)m 544(,)s 651(37)s +220 fnt2 0 6623(@Case)m 240 fnt1 787 6626(symbol)m 1494(,)s +1601(56)s 0 6338(Centring)m 837(,)s 944(37)s 220 fnt2 +0 6047(@Chapter)m 240 fnt1 1063 6050(e)m 3(xample)k 1873(,)s +1980(84)s 0 5762(Chapters)m 901(and)s 1305(sections)s 2073(,)s +2180(83)s 220 fnt2 0 5471(@Char)m 240 fnt1 758 5474(symbol)m +1465(,)s 1572(42)s 0 5186(Cherry)m 15(,)k 756(L.)s +953(,)s 1060(72)s 220 fnt2 0 4895(@ClearHeaderComponent)m 240 fnt1 +2655 4898(symbol)m 3362(,)s 3469(60)s 220 fnt2 0 4607(clines)m +613(@Break)s 240 fnt1 1416 4610(,)m 1523(42)s 220 fnt2 +0 4319(@ColList)m 240 fnt1 948 4322(e)m 3(xample)k 1758(,)s +1865(80)s 0 4034(Column)m 829(mark)s 1328(,)s 1435(1)s +0 3746(Comment)m 951(,)s 1058(15)s 0 3458(Comment)m 1004(character)s +1885(,)s 1992(13)s 220 fnt2 0 3167(@Common)m 240 fnt1 +1159 3170(symbol)m 1866(,)s 1973(54)s 0 2882(Components)m 1262(of)s 1533(a)s 1699(g)s 1(alle)k 3(y)k 2280(,)s -2387(26)s 240 3152(promotion)m 1294(of)s 1512(,)s 1619(29)s -0 2864(Concatenation)m 1439(symbols)s 2235(,)s 2342(36)s 0 2576(Contraction)m -1186(of)s 1457(object)s 2048(,)s 2155(49)s 220 fnt35 -0 2285(cr)m 2(agged)k 839(@Break)s 240 fnt82 1642 2288(,)m -1749(42)s 0 2000(Cross)m 596(reference)s 1486(,)s 1593(7)s -220 fnt35 0 1709(@CurrLang)m 240 fnt82 1185 1712(symbol)m 1892(,)s -1999(46)s 220 fnt35 0 1133(d)m 240 fnt82 170 1136(unit)m -549(,)s 656(37)s 220 fnt35 0 845(@Database)m 240 fnt82 -1214 848(symbol)m 1921(,)s 2028(62)s 4816 12365(Date,)m 5374(printing)s -6184(of)s 6455(current)s 7138(,)s 7245(57)s 4816 12077(Def)m 2(ault)k +2387(26)s 240 2594(promotion)m 1294(of)s 1512(,)s 1619(29)s +0 2306(Concatenation)m 1439(symbols)s 2235(,)s 2342(36)s 0 2018(Contraction)m +1186(of)s 1457(object)s 2048(,)s 2155(49)s 220 fnt2 +0 1727(cr)m 2(agged)k 839(@Break)s 240 fnt1 1642 1730(,)m +1749(42)s 0 1442(Cross)m 596(reference)s 1486(,)s 1593(7)s +220 fnt2 0 1151(@CurrLang)m 240 fnt1 1185 1154(symbol)m 1892(,)s +1999(47)s 220 fnt2 0 575(d)m 240 fnt1 170 578(unit)m +549(,)s 656(37)s 220 fnt2 0 287(@Database)m 240 fnt1 +1214 290(symbol)m 1921(,)s 2028(63)s 4816 11807(Date,)m 5374(printing)s +6184(of)s 6455(current)s 7138(,)s 7245(58)s 4816 11519(Def)m 2(ault)k 5590(v)s 6(alue)k 6158(of)s 6429(parameter)s 7390(,)s -7497(15)s 4816 11789(De\207nitions)m 5877(,)s 5984(4)s 4816 11501(Delimiter)m -5737(,)s 5844(13)s 4816 11213(Diag)m 5334(diagram-dra)s 3(wing)k -7030(package)s 7817(,)s 7924(66)s 4816 10925(Diagrams)m 5743(,)s -5850(63)s 4816 10637(DocumentLayout)m 6551(package)s 7338(,)s 7445(73)s -5056 10349(chapters)m 5903(and)s 6307(sections)s 7075(,)s 7182(82)s -5056 10061(displays)m 5838(,)s 5945(74)s 5056 9773(lists)m 5438(,)s -5545(75)s 5056 9485(page)m 5564(layout)s 6169(,)s 6276(77)s -5056 9197(paragraphs)m 6103(,)s 6210(73)s 220 fnt35 4816 8618(e)m -240 fnt82 4990 8621(g)m 1(ap)k 5388(mode)s 5923(,)s -6030(37)s 4816 8333(Edge-to-edge)m 6160(g)s 1(ap)k 6558(mode)s -7093(,)s 7200(37)s 220 fnt35 4816 8042(@Enclose)m 240 fnt82 -5818 8045(,)m 5925(31)s 220 fnt35 4816 7754(@End)m 240 fnt82 -5477 7757(symbol)m 6184(,)s 6291(36)s 220 fnt35 4816 7466(@EndHeaderComponent)m -240 fnt82 7338 7469(symbol)m 8045(,)s 8152(59)s 4816 7181(Eq)m -5140(equation)s 6021(formatting)s 7082(package)s 7869(,)s 7976(71)s -220 fnt35 4816 6890(@Eq)m 240 fnt82 5354 6893(e)m 3(xample)k -6164(,)s 6271(71)s 4816 6605(Escape)m 5549(character)s 6430(,)s -6537(13)s 220 fnt35 4816 6314(@Ev)m 5(enP)k 8(ageList)k -240 fnt82 6435 6317(e)m 3(xample)k 7245(,)s 7352(81)s -4816 6029(Expansion)m 5884(of)s 6155(object)s 6746(,)s 6853(48)s -220 fnt35 4816 5738(e)m 6(xpor)k -8(t)k 240 fnt82 -5484 5741(clause)m 6084(,)s 6191(18)s 220 fnt35 4816 5162(f)m -240 fnt82 4934 5165(unit)m 5313(,)s 5420(37)s 4816 4877(F)m 3(ace)k +7497(15)s 4816 11231(De\207nitions)m 5877(,)s 5984(4)s 4816 10943(Delimiter)m +5737(,)s 5844(13)s 4816 10655(Diag)m 5334(diagram-dra)s 3(wing)k +7030(package)s 7817(,)s 7924(67)s 4816 10367(Diagrams)m 5743(,)s +5850(63)s 4816 10079(DocumentLayout)m 6551(package)s 7338(,)s 7445(74)s +5056 9791(chapters)m 5903(and)s 6307(sections)s 7075(,)s 7182(83)s +5056 9503(displays)m 5838(,)s 5945(75)s 5056 9215(lists)m 5438(,)s +5545(76)s 5056 8927(page)m 5564(layout)s 6169(,)s 6276(78)s +5056 8639(paragraphs)m 6103(,)s 6210(74)s 220 fnt2 4816 8060(e)m +240 fnt1 4990 8063(g)m 1(ap)k 5388(mode)s 5923(,)s +6030(37)s 4816 7775(Edge-to-edge)m 6160(g)s 1(ap)k 6558(mode)s +7093(,)s 7200(37)s 220 fnt2 4816 7484(@Enclose)m 240 fnt1 +5818 7487(,)m 5925(31)s 220 fnt2 4816 7196(@End)m 240 fnt1 +5477 7199(symbol)m 6184(,)s 6291(36)s 220 fnt2 4816 6908(@EndHeaderComponent)m +240 fnt1 7338 6911(symbol)m 8045(,)s 8152(60)s 4816 6623(Eq)m +5140(equation)s 6021(formatting)s 7082(package)s 7869(,)s 7976(72)s +220 fnt2 4816 6332(@Eq)m 240 fnt1 5354 6335(e)m 3(xample)k +6164(,)s 6271(72)s 4816 6047(Escape)m 5549(character)s 6430(,)s +6537(13)s 220 fnt2 4816 5756(@Ev)m 5(enP)k 8(ageList)k +240 fnt1 6435 5759(e)m 3(xample)k 7245(,)s 7352(82)s +4816 5471(Expansion)m 5884(of)s 6155(object)s 6746(,)s 6853(48)s +220 fnt2 4816 5180(e)m 6(xpor)k -8(t)k 240 fnt1 +5484 5183(clause)m 6084(,)s 6191(18)s 220 fnt2 4816 4604(f)m +240 fnt1 4934 4607(unit)m 5313(,)s 5420(37)s 4816 4319(F)m 3(ace)k 5320(of)s 5591(a)s 5757(font)s 6149(,)s 6256(40)s -4816 4589(F)m 3(amily)k 5544(of)s 5815(a)s 5981(font)s -6373(,)s 6480(40)s 220 fnt35 4816 4298(f)m 6(ollo)k 3(wing)k -240 fnt82 5653 4301(,)m 5760(8)s 220 fnt35 4816 4010(f)m 6(ollo)k 3(wing)k -240 fnt82 5653 4013(,)m 5760(8)s 4816 3725(F)m 3(onts)k -5343(,)s 5450(40)s 220 fnt35 4816 3434(f)m 6(ontdef)k -240 fnt82 5485 3437(,)m 5592(41)s 220 fnt35 4816 3146(@F)m 6(ont)k -240 fnt82 5528 3149(symbol)m 6235(,)s 6342(40)s 220 fnt35 -4816 2858(@F)m 6(ootSect)k 240 fnt82 5967 2861(e)m 3(xample)k -6777(,)s 6884(78)s 4816 2573(F)m 3(orcing)k 5610(g)s 1(alle)k 3(y)k -6191(,)s 6298(29)s 4816 2285(F)m 3(ormfeed)k 5747(,)s -5854(13)s 4816 1709(Galle)m 3(ys)k 5541(,)s 5648(10)s -5056 1421(in)m 5299(detail)s 5831(,)s 5938(25)s 220 fnt35 -4816 1130(@Galle)m 4(y)k 5654(@F)s 6(orceGalle)k 4(y)k -240 fnt82 7107 1133(symbol)m 7814(,)s 7921(58)s 8155(,)s -4816 845(Gap)m 5215(,)s 5322(37)s 192 fnt84 4440 2(93)m - +4816 4031(F)m 3(amily)k 5544(of)s 5815(a)s 5981(font)s +6373(,)s 6480(40)s 220 fnt2 4816 3740(f)m 6(ollo)k 3(wing)k +240 fnt1 5653 3743(,)m 5760(8)s 220 fnt2 4816 3452(f)m 6(ollo)k 3(wing)k +240 fnt1 5653 3455(,)m 5760(8)s 4816 3167(F)m 3(onts)k +5343(,)s 5450(40)s 220 fnt2 4816 2876(@F)m 6(ont)k +240 fnt1 5528 2879(symbol)m 6235(,)s 6342(40)s 220 fnt2 +4816 2588(@F)m 6(ootSect)k 240 fnt1 5967 2591(e)m 3(xample)k +6777(,)s 6884(79)s 4816 2303(F)m 3(orcing)k 5610(g)s 1(alle)k 3(y)k +6191(,)s 6298(29)s 4816 2015(F)m 3(ormfeed)k 5747(,)s +5854(13)s 4816 1439(Galle)m 3(ys)k 5541(,)s 5648(10)s +5056 1151(in)m 5299(detail)s 5831(,)s 5938(25)s 220 fnt2 +4816 860(@Galle)m 4(y)k 5654(@F)s 6(orceGalle)k 4(y)k +240 fnt1 7107 863(symbol)m 7814(,)s 7921(58)s 8155(,)s +4816 575(Gap)m 5215(,)s 5322(37)s 4816 287(Gap)m 5268(mode)s +5803(,)s 5910(37)s +grestore +0 0 0 0 240 288 60 1417 -14865 LoutGr2 +0 LoutMargSet grestore grestore +192 fnt5 5856 -15421(94)m +grestore grestore pgsave restore showpage -%%Page: 94 100 +%%Page: 95 101 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(Inde)m 4(x)k 240 fnt5 10250 -1583(95)m +gsave +1417 -15423 translate +240 fnt1 9066 13412 0 13412 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(94)m 240 fnt83 8539 13843(Inde)m 4(x)k -240 fnt82 0 13249(Gap)m 452(mode)s 987(,)s 1094(37)s -220 fnt35 0 12958(@Gr)m 2(aphic)k 240 fnt82 1044 12961(symbol)m -1751(,)s 1858(63)s 220 fnt35 0 12382(h)m 240 fnt82 -168 12385(g)m 1(ap)k 566(mode)s 1101(,)s 1208(37)s -220 fnt35 0 12094(@HAdjust)m 240 fnt82 1046 12097(symbol)m 1753(,)s -1860(49)s 220 fnt35 0 11806(@HContr)m 2(act)k 240 fnt82 -1264 11809(symbol)m 1971(,)s 2078(49)s 220 fnt35 0 11518(@HCo)m 3(v)k 5(er)k -240 fnt82 1018 11521(symbol)m 1725(,)s 1832(50)s 0 11233(Header)m +220 fnt2 0 13245(@Gr)m 2(aphic)k 240 fnt1 1044 13248(symbol)m +1751(,)s 1858(63)s 220 fnt2 0 12669(h)m 240 fnt1 +168 12672(g)m 1(ap)k 566(mode)s 1101(,)s 1208(37)s +220 fnt2 0 12381(@HAdjust)m 240 fnt1 1046 12384(symbol)m 1753(,)s +1860(49)s 220 fnt2 0 12093(@HContr)m 2(act)k 240 fnt1 +1264 12096(symbol)m 1971(,)s 2078(49)s 220 fnt2 0 11805(@HCo)m 3(v)k 5(er)k +240 fnt1 1018 11808(symbol)m 1725(,)s 1832(50)s 0 11520(Header)m 750(component)s 1874(of)s 2145(g)s 1(alle)k 3(y)k -2726(,)s 2833(58)s 0 10945(Height)m 711(of)s 982(an)s -1265(object)s 1856(,)s 1963(24)s 220 fnt35 0 10654(@HExpand)m -240 fnt82 1173 10657(symbol)m 1880(,)s 1987(48)s 220 fnt35 -0 10366(@High)m 240 fnt82 719 10369(symbol)m 1426(,)s 1533(48)s -220 fnt35 0 10078(@HLimited)m 240 fnt82 1135 10081(symbol)m 1842(,)s -1949(49)s 220 fnt35 0 9790(@Hline)m 240 fnt82 773 9793(e)m 3(xample)k -1583(,)s 1690(73)s 0 9505(Horizontal)m 1077(concatenation)s 2409(,)s -2516(36)s 220 fnt35 0 9214(@HScale)m 240 fnt82 981 9217(symbol)m -1688(,)s 1795(50)s 220 fnt35 0 8926(@HShift)m 240 fnt82 -875 8929(symbol)m 1582(,)s 1689(48)s 220 fnt35 0 8638(@HSpan)m -240 fnt82 939 8641(symbol)m 1646(,)s 1753(51)s 220 fnt35 -0 8350(h)m 6(yphen)k 760(@Break)s 240 fnt82 1563 8353(,)m -1670(43)s 0 8065(Hyphenation)m 1294(g)s 1(ap)k 1692(mode)s -2227(,)s 2334(39)s 0 7777(Hyphenation)m 1294(g)s 1(ap)k -1692(mode)s 2227(,)s 2334(37)s 0 7201(Identi\207er)m 882(,)s -989(13)s 220 fnt35 0 6910(impor)m -8(t)k 240 fnt82 -673 6913(clause)m 1273(,)s 1380(18)s 0 6625(In-paragraph)m 1291(concatenation)s -2623(,)s 2730(37)s 220 fnt35 0 6334(@Include)m 240 fnt82 -982 6337(symbol)m 1689(,)s 1796(68)s 220 fnt35 0 6046(@IncludeGr)m 2(aphic)k -240 fnt82 1751 6049(symbol)m 2458(,)s 2565(67)s 220 fnt35 -0 5758(@IndentedDispla)m 6(y)k 240 fnt82 1847 5761(e)m 3(xample)k -2657(,)s 2764(74)s 220 fnt35 0 5470(@IndentedList)m 240 fnt82 -1474 5473(e)m 3(xample)k 2284(,)s 2391(75)s 0 5185(Inde)m 3(x)k +2726(,)s 2833(59)s 0 11232(Height)m 711(of)s 982(an)s +1265(object)s 1856(,)s 1963(24)s 220 fnt2 0 10941(@HExpand)m +240 fnt1 1173 10944(symbol)m 1880(,)s 1987(48)s 220 fnt2 +0 10653(@High)m 240 fnt1 719 10656(symbol)m 1426(,)s 1533(48)s +220 fnt2 0 10365(@HLimited)m 240 fnt1 1135 10368(symbol)m 1842(,)s +1949(49)s 220 fnt2 0 10077(@Hline)m 240 fnt1 773 10080(e)m 3(xample)k +1583(,)s 1690(74)s 0 9792(Horizontal)m 1077(concatenation)s 2409(,)s +2516(36)s 220 fnt2 0 9501(@HScale)m 240 fnt1 981 9504(symbol)m +1688(,)s 1795(50)s 220 fnt2 0 9213(@HShift)m 240 fnt1 +875 9216(symbol)m 1582(,)s 1689(48)s 220 fnt2 0 8925(@HSpan)m +240 fnt1 939 8928(symbol)m 1646(,)s 1753(51)s 220 fnt2 +0 8637(h)m 6(yphen)k 760(@Break)s 240 fnt1 1563 8640(,)m +1670(43)s 0 8352(Hyphenation)m 1294(g)s 1(ap)k 1692(mode)s +2227(,)s 2334(39)s 0 8064(Hyphenation)m 1294(g)s 1(ap)k +1692(mode)s 2227(,)s 2334(37)s 0 7488(Identi\207er)m 882(,)s +989(13)s 220 fnt2 0 7197(impor)m -8(t)k 240 fnt1 +673 7200(clause)m 1273(,)s 1380(18)s 0 6912(In-paragraph)m 1291(concatenation)s +2623(,)s 2730(37)s 220 fnt2 0 6621(@Include)m 240 fnt1 +982 6624(symbol)m 1689(,)s 1796(68)s 220 fnt2 0 6333(@IncludeGr)m 2(aphic)k +240 fnt1 1751 6336(symbol)m 2458(,)s 2565(67)s 220 fnt2 +0 6045(@IndentedDispla)m 6(y)k 240 fnt1 1847 6048(e)m 3(xample)k +2657(,)s 2764(75)s 220 fnt2 0 5757(@IndentedList)m 240 fnt1 +1474 5760(e)m 3(xample)k 2284(,)s 2391(76)s 0 5472(Inde)m 3(x)k 597(\207le)s 958(\(for)s 1375(databases\))s 2366(,)s 2473(63)s -220 fnt35 0 4894(@Inser)m -8(t)k 240 fnt82 836 4897(symbol)m -1543(,)s 1650(54)s 220 fnt35 0 4606(into)m 240 fnt82 -406 4609(clause)m 1006(,)s 1113(10)s 0 4321(In)m 9(v)k 4(ocation)k +220 fnt2 0 5181(@Inser)m -8(t)k 240 fnt1 836 5184(symbol)m +1543(,)s 1650(55)s 220 fnt2 0 4893(into)m 240 fnt1 +406 4896(clause)m 1006(,)s 1113(10)s 0 4608(In)m 9(v)k 4(ocation)k 1067(of)s 1338(a)s 1504(symbol)s 2211(,)s 2318(4)s -220 fnt35 0 3454(k)m 240 fnt82 170 3457(g)m 1(ap)k -568(mode)s 1103(,)s 1210(37)s 0 3169(K)m 6(ernighan,)k -1111(B.)s 1322(,)s 1429(71)s 0 2881(K)m 6(erning)k -778(,)s 885(40)s 0 2593(K)m 6(erning)k 831(g)s 1(ap)k -1229(mode)s 1764(,)s 1871(37)s 220 fnt35 0 2302(@K)m 8(er)k -5(nShr)k -3(ink)k -240 fnt82 1367 2305(symbol)m 2074(,)s 2181(53)s 220 fnt35 -0 2014(@K)m 8(e)k 4(y)k 240 fnt82 647 2017(parameter)m -1608(,)s 1715(32)s 0 1729(Knuth,)m 706(D.)s 930(,)s -1037(73)s 220 fnt35 0 1150(langdef)m 240 fnt82 776 1153(language)m -1696(de\207nition)s 2617(,)s 2724(46)s 220 fnt35 0 862(@Language)m -240 fnt82 1251 865(symbol)m 1958(,)s 2065(46)s 220 fnt35 -0 574(@LClos)m 240 fnt82 836 577(symbol)m 1543(,)s 1650(14)s -0 289(LCM)m 573(\207le)s 881(,)s 988(41)s 4816 13249(Length)m -5498(,)s 5605(37)s 220 fnt35 4816 12958(@LEn)m 4(v)k -240 fnt82 5594 12961(symbol)m 6301(,)s 6408(14)s 4816 12673(Letter)m -5445(character)s 6326(,)s 6433(13)s 4816 12385(Lig)m 1(atures)k -5715(,)s 5822(40)s 220 fnt35 4816 12094(lines)m 5319(@Break)s -240 fnt82 6122 12097(,)m 6229(42)s 220 fnt35 4816 11806(@LInput)m -240 fnt82 5705 11809(symbol)m 6412(,)s 6519(14)s 4816 11521(Literal)m -5506(w)s 2(ord)k 6001(,)s 6108(14)s 220 fnt35 -4816 11230(@LUse)m 240 fnt82 5603 11233(symbol)m 6310(,)s 6417(14)s -220 fnt35 4816 10942(@L)m 24(Vis)k 240 fnt82 5494 10945(symbol)m -6201(,)s 6308(14)s 220 fnt35 4816 10366(m)m 240 fnt82 -5045 10369(unit)m 5424(,)s 5531(37)s 4816 10081(Macro)m 5440(,)s -5547(15)s 4816 9793(Mark)m 5395(alignment)s 6358(,)s 6465(1)s -5056 9505(in)m 5299(detail)s 5831(,)s 5938(28)s 4816 9217(Mark-to-mark)m +220 fnt2 0 3741(k)m 240 fnt1 170 3744(g)m 1(ap)k +568(mode)s 1103(,)s 1210(37)s 0 3456(K)m 6(ernighan,)k +1111(B.)s 1322(,)s 1429(72)s 0 3168(K)m 6(erning)k +778(,)s 885(40)s 0 2880(K)m 6(erning)k 831(g)s 1(ap)k +1229(mode)s 1764(,)s 1871(37)s 220 fnt2 0 2589(@K)m 8(er)k -5(nShr)k -3(ink)k +240 fnt1 1367 2592(symbol)m 2074(,)s 2181(53)s 220 fnt2 +0 2301(@K)m 8(e)k 4(y)k 240 fnt1 647 2304(parameter)m +1608(,)s 1715(32)s 0 2016(Knuth,)m 706(D.)s 930(,)s +1037(74)s 220 fnt2 0 1437(langdef)m 240 fnt1 776 1440(language)m +1696(de\207nition)s 2617(,)s 2724(46)s 220 fnt2 0 1149(@Language)m +240 fnt1 1251 1152(symbol)m 1958(,)s 2065(46)s 220 fnt2 +0 861(@LClos)m 240 fnt1 836 864(symbol)m 1543(,)s 1650(14)s +0 576(LCM)m 573(\207le)s 881(,)s 988(41)s 0 288(Length)m +682(,)s 789(37)s 220 fnt2 4816 13246(@LEn)m 4(v)k +240 fnt1 5594 13249(symbol)m 6301(,)s 6408(14)s 4816 12961(Letter)m +5445(character)s 6326(,)s 6433(13)s 4816 12673(Lig)m 1(atures)k +5715(,)s 5822(40)s 220 fnt2 4816 12382(lines)m 5319(@Break)s +240 fnt1 6122 12385(,)m 6229(42)s 220 fnt2 4816 12094(@LInput)m +240 fnt1 5705 12097(symbol)m 6412(,)s 6519(14)s 4816 11809(Literal)m +5506(w)s 2(ord)k 6001(,)s 6108(14)s 220 fnt2 +4816 11518(@LUse)m 240 fnt1 5603 11521(symbol)m 6310(,)s 6417(14)s +220 fnt2 4816 11230(@L)m 24(Vis)k 240 fnt1 5494 11233(symbol)m +6201(,)s 6308(14)s 220 fnt2 4816 10654(m)m 240 fnt1 +5045 10657(unit)m 5424(,)s 5531(37)s 4816 10369(Macro)m 5440(,)s +5547(15)s 4816 10081(Mark)m 5395(alignment)s 6358(,)s 6465(1)s +5056 9793(in)m 5299(detail)s 5831(,)s 5938(28)s 4816 9505(Mark-to-mark)m 6230(g)s 1(ap)k 6628(mode)s 7163(,)s 7270(37)s -220 fnt35 4816 8926(@Meld)m 240 fnt82 5562 8929(symbol)m 6269(,)s -6376(54)s 220 fnt35 4816 8638(@Merge)m 240 fnt82 5713 8641(symbol)m -6420(,)s 6527(33)s 220 fnt35 4816 8350(@Moment)m 240 fnt82 -5888 8353(symbol)m 6595(,)s 6702(57)s 220 fnt35 4816 7774(named)m -240 fnt82 5535 7777(parameter)m 6496(,)s 6603(15)s 4816 7489(Nested)m -5538(de\207nitions)s 6546(,)s 6653(17)s 220 fnt35 4816 7198(@Ne)m 6(xt)k -240 fnt82 5540 7201(symbol)m 6247(,)s 6354(56)s 220 fnt35 -4816 6910(noh)m 6(yphen)k 5820(@Break)s 240 fnt82 6623 6913(,)m -6730(43)s 220 fnt35 4816 6622(@NotRe)m 6(v)k 5(ealed)k -240 fnt82 6343 6625(symbol)m 7050(,)s 7157(60)s 220 fnt35 -4816 6334(@Null)m 240 fnt82 5461 6337(symbol)m 6168(,)s 6275(58)s -4816 6049(Numbered)m 5884(list)s 6182(,)s 6289(75)s 220 fnt35 -4816 5758(@NumberOf)m 240 fnt82 6108 5761(e)m 3(xample)k 6918(,)s -7025(82)s 220 fnt35 4816 5182(o)m 240 fnt82 4991 5185(g)m 1(ap)k -5389(mode)s 5924(,)s 6031(37)s 4816 4897(Object)m 5460(,)s -5567(1)s 220 fnt35 4816 4606(@OddP)m 8(ageList)k 240 fnt82 -6355 4609(e)m 3(xample)k 7165(,)s 7272(81)s 220 fnt35 -4816 4318(@OneCol)m 240 fnt82 5828 4321(symbol)m 6535(,)s 6642(47)s -220 fnt35 4816 4030(@OneOf)m 240 fnt82 5743 4033(symbol)m 6450(,)s -6557(55)s 220 fnt35 4816 3742(@OneP)m 8(age)k 240 fnt82 -6010 3745(e)m 3(xample)k 6820(,)s 6927(80)s 220 fnt35 -4816 3454(@OneRo)m 3(w)k 240 fnt82 5947 3457(symbol)m 6654(,)s -6761(47)s 220 fnt35 4816 3166(@Open)m 240 fnt82 5622 3169(symbol)m -6329(,)s 6436(62)s 4816 2881(Optimal)m 5654(g)s 1(alle)k 3(y)k -6288(breaking)s 7125(,)s 7232(35)s 220 fnt35 4816 2590(@Optimiz)m 3(e)k -240 fnt82 5953 2593(symbol)m 6660(,)s 6767(35)s 220 fnt35 -4816 2302(or)m 2(agged)k 5667(@Break)s 240 fnt82 6470 2305(,)m -6577(42)s 220 fnt35 4816 2014(@OrElse)m 240 fnt82 5761 2017(e)m 3(xample)k -6571(,)s 6678(85)s 4816 1729(Other)m 5420(character)s 6301(,)s -6408(13)s 220 fnt35 4816 1438(outdent)m 5604(@Break)s 240 fnt82 -6407 1441(,)m 6514(42)s 220 fnt35 4816 1150(@Outline)m 240 fnt82 -5785 1153(symbol)m 6492(,)s 6599(46)s 220 fnt35 4816 862(o)m 3(v)k 5(er)k -240 fnt82 5295 865(e)m 3(xample)k 6105(,)s 6212(72)s -4816 577(Ov)m 3(erstrik)k 2(e)k 5875(g)s 1(ap)k -6273(mode)s 6808(,)s 6915(37)s +220 fnt2 4816 9214(@Meld)m 240 fnt1 5562 9217(symbol)m 6269(,)s +6376(54)s 220 fnt2 4816 8926(@Merge)m 240 fnt1 5713 8929(symbol)m +6420(,)s 6527(33)s 220 fnt2 4816 8638(@Moment)m 240 fnt1 +5888 8641(symbol)m 6595(,)s 6702(57)s 220 fnt2 4816 8062(named)m +240 fnt1 5535 8065(parameter)m 6496(,)s 6603(15)s 4816 7777(Nested)m +5538(de\207nitions)s 6546(,)s 6653(17)s 220 fnt2 4816 7486(@Ne)m 6(xt)k +240 fnt1 5540 7489(symbol)m 6247(,)s 6354(56)s 220 fnt2 +4816 7198(noh)m 6(yphen)k 5820(@Break)s 240 fnt1 6623 7201(,)m +6730(43)s 220 fnt2 4816 6910(@NotRe)m 6(v)k 5(ealed)k +240 fnt1 6343 6913(symbol)m 7050(,)s 7157(60)s 220 fnt2 +4816 6622(@Null)m 240 fnt1 5461 6625(symbol)m 6168(,)s 6275(58)s +4816 6337(Numbered)m 5884(list)s 6182(,)s 6289(76)s 220 fnt2 +4816 6046(@NumberOf)m 240 fnt1 6108 6049(e)m 3(xample)k 6918(,)s +7025(83)s 220 fnt2 4816 5470(o)m 240 fnt1 4991 5473(g)m 1(ap)k +5389(mode)s 5924(,)s 6031(37)s 4816 5185(Object)m 5460(,)s +5567(1)s 220 fnt2 4816 4894(@OddP)m 8(ageList)k 240 fnt1 +6355 4897(e)m 3(xample)k 7165(,)s 7272(82)s 220 fnt2 +4816 4606(@OneCol)m 240 fnt1 5828 4609(symbol)m 6535(,)s 6642(48)s +220 fnt2 4816 4318(@OneOf)m 240 fnt1 5743 4321(symbol)m 6450(,)s +6557(55)s 220 fnt2 4816 4030(@OneP)m 8(age)k 240 fnt1 +6010 4033(e)m 3(xample)k 6820(,)s 6927(81)s 220 fnt2 +4816 3742(@OneRo)m 3(w)k 240 fnt1 5947 3745(symbol)m 6654(,)s +6761(47)s 220 fnt2 4816 3454(@Open)m 240 fnt1 5622 3457(symbol)m +6329(,)s 6436(62)s 4816 3169(Optimal)m 5654(g)s 1(alle)k 3(y)k +6288(breaking)s 7125(,)s 7232(35)s 220 fnt2 4816 2878(@Optimiz)m 3(e)k +240 fnt1 5953 2881(symbol)m 6660(,)s 6767(35)s 220 fnt2 +4816 2590(or)m 2(agged)k 5667(@Break)s 240 fnt1 6470 2593(,)m +6577(42)s 220 fnt2 4816 2302(@OrElse)m 240 fnt1 5761 2305(e)m 3(xample)k +6571(,)s 6678(86)s 4816 2017(Other)m 5420(character)s 6301(,)s +6408(13)s 220 fnt2 4816 1726(outdent)m 5604(@Break)s 240 fnt1 +6407 1729(,)m 6514(42)s 220 fnt2 4816 1438(@Outline)m 240 fnt1 +5785 1441(symbol)m 6492(,)s 6599(46)s 220 fnt2 4816 1150(o)m 3(v)k 5(er)k +240 fnt1 5295 1153(e)m 3(xample)k 6105(,)s 6212(73)s +4816 865(Ov)m 3(erstrik)k 2(e)k 5875(g)s 1(ap)k +6273(mode)s 6808(,)s 6915(37)s 220 fnt2 4816 286(p)m +240 fnt1 4990 289(unit)m 5369(,)s 5476(37)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -15899,135 +16991,146 @@ grestore pgsave restore showpage -%%Page: 95 101 +%%Page: 96 102 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Italic %%+ font Times-Bold +%%+ font Times-Italic %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -1 LoutMargSet +240 fnt5 1417 -1583(96)m 240 fnt6 9956 -1580(Inde)m 4(x)k +gsave +1417 -15423 translate +240 fnt1 9066 13412 0 13412 240 288 60 LoutGraphic +gsave +0 LoutMargSet grestore -240 fnt83 0 13843(Inde)m 4(x)k 240 fnt84 8833 13840(95)m -220 fnt35 0 13246(p)m 240 fnt82 174 13249(unit)m 553(,)s -660(37)s 220 fnt35 0 12958(@P)m 26(Adjust)k 240 fnt82 -1008 12961(symbol)m 1715(,)s 1822(49)s 220 fnt35 0 12670(@P)m 8(age)k -240 fnt82 779 12673(e)m 3(xample)k 1589(,)s 1696(79)s -0 12385(P)m 3(age)k 518(layout)s 240 12097(principles)m 1233(of)s -1451(,)s 1558(5)s 240 11809(in)m 483(practice)s 1241(,)s -1348(77)s 220 fnt35 0 11518(@P)m 8(ageLabel)k 240 fnt82 -1309 11521(symbol)m 2016(,)s 2123(70)s 220 fnt35 0 11230(@P)m 8(ageOf)k -240 fnt82 1016 11233(e)m 3(xample)k 1826(,)s 1933(77)s -0 10945(P)m 3(aragraph)k 1023(breaking)s 1860(,)s 1967(3)s -240 10657(in)m 483(detail)s 1015(,)s 1122(39)s 0 10369(P)m 3(arameter)k -971(,)s 1078(4)s 220 fnt35 240 10078(body)m 240 fnt82 -774 10081(parameter)m 1735(,)s 1842(17)s 220 fnt35 240 9790(named)m -240 fnt82 959 9793(parameter)m 1920(,)s 2027(15)s 220 fnt35 -0 9502(@PlainGr)m 2(aphic)k 240 fnt82 1530 9505(symbol)m 2237(,)s -2344(67)s 0 9217(PostScript)m 989(,)s 1096(ii)s 240 8929(used)m -737(by)s 220 fnt35 1031 8926(@Gr)m 2(aphic)k 240 fnt82 -2022 8929(,)m 2129(63)s 240 8641(used)m 737(by)s 220 fnt35 -1031 8638(@IncludeGr)m 2(aphic)k 240 fnt82 2729 8641(,)m 2836(67)s -240 8353(used)m 737(by)s 220 fnt35 1031 8350(@PrependGr)m 2(aphic)k -240 fnt82 2851 8353(,)m 2958(67)s 220 fnt35 0 8062(@PP)m -240 fnt82 566 8065(e)m 3(xample)k 1376(,)s 1483(74)s -0 7777(Precedence)m 1091(,)s 1198(22)s 220 fnt35 0 7486(preceding)m -240 fnt82 958 7489(,)m 1065(8)s 220 fnt35 0 7198(@PrependGr)m 2(aphic)k -240 fnt82 1873 7201(symbol)m 2580(,)s 2687(67)s 0 6913(Principal)m -917(mark)s 1416(,)s 1523(37)s 240 6625(ef)m 6(fect)k -836(on)s 220 fnt35 1133 6622(@OneCol)m 240 fnt82 2145 6625(and)m -220 fnt35 2549 6622(@OneRo)m 3(w)k 240 fnt82 3627 6625(,)m -3734(47)s 0 6337(Promotion)m 1067(of)s 1338(components)s 2493(,)s -2600(29)s 0 5761(Quote)m 641(character)s 1522(,)s 1629(13)s -0 5473(Quoted)m 763(w)s 2(ord)k 1258(,)s 1365(14)s -220 fnt35 0 4894(r)m 240 fnt82 133 4897(unit)m 512(,)s -619(37)s 220 fnt35 0 4606(r)m 2(agged)k 729(@Break)s -240 fnt82 1532 4609(,)m 1639(42)s 220 fnt35 0 4318(@Ra)m 4(wV)k 17(erbatim)k -240 fnt82 1563 4321(symbol)m 2270(,)s 2377(69)s 0 4033(Recepti)m 6(v)k 3(e)k -1003(symbol)s 1710(,)s 1817(11)s 0 3745(Recursion)m 974(,)s -1081(5)s 220 fnt35 0 3454(@Ref)m 240 fnt82 621 3457(e)m 3(xample)k -1431(,)s 1538(90)s 220 fnt35 0 3166(@Ref)m 6(erence)k -240 fnt82 1281 3169(e)m 3(xample)k 2091(,)s 2198(87)s -220 fnt35 0 2878(@Ref)m 6(erenceSection)k 240 fnt82 2006 2881(e)m 3(xample)k -2816(,)s 2923(89)s 0 2593(Reid,)m 559(Brian)s 1147(K.)s -1371(,)s 1478(7)s 0 2305(Right)m 592(justi\207cation)s 1724(,)s -1831(37)s 220 fnt35 0 2014(r)m -3(lines)k 579(@Break)s -240 fnt82 1382 2017(,)m 1489(42)s 0 1729(Roman)m 749(numerals)s -1623(,)s 1730(77)s 0 1441(Root)m 526(g)s 1(alle)k 3(y)k -1107(,)s 1214(11)s 240 1153(in)m 483(detail)s 1015(,)s -1122(28)s 240 865(printing)m 1050(of)s 1268(,)s 1375(29)s -240 577(size)m 667(of)s 938(components)s 2146(of)s 2364(,)s -2471(25)s 220 fnt35 0 286(@Rotate)m 240 fnt82 921 289(symbol)m -1628(,)s 1735(52)s 4816 13247(Rotation)m 5697(of)s 5968(object)s -6559(,)s 6666(52)s 4816 12959(Ro)m 6(w)k 5317(mark)s -5816(,)s 5923(2)s 220 fnt35 4816 12668(rr)m 2(agged)k -5618(@Break)s 240 fnt82 6421 12671(,)m 6528(42)s 220 fnt35 -4816 12380(@Rump)m 240 fnt82 5676 12383(symbol)m 6383(,)s 6490(54)s -220 fnt35 4816 12092(@Runner)m 240 fnt82 5818 12095(e)m 3(xample)k -6628(,)s 6735(80)s 220 fnt35 4816 11516(s)m 240 fnt82 -4979 11519(unit)m 5358(,)s 5465(37)s 5056 11231(and)m 220 fnt35 -5460 11228(@Space)m 240 fnt82 6357 11231(symbol)m 7064(,)s 7171(43)s -220 fnt35 4816 10940(@Scale)m 240 fnt82 5639 10943(symbol)m 6346(,)s -6453(52)s 4816 10655(Scaling)m 5586(of)s 5857(object)s 6448(,)s -6555(50)s 4816 10367(Scribe)m 5429(,)s 5536(7)s 220 fnt35 -4816 10076(@Section)m 240 fnt82 5816 10079(e)m 3(xample)k 6626(,)s -6733(85)s 220 fnt35 4816 9788(@SetHeaderComponent)m 240 fnt82 7277 9791(symbol)m -7984(,)s 8091(60)s 220 fnt35 4816 9500(@SetColor)m 240 fnt82 -5951 9503(symbol)m 6658(,)s 6765(45)s 220 fnt35 4816 9212(@SetColour)m -240 fnt82 6073 9215(symbol)m 6780(,)s 6887(45)s 4816 8927(Size)m +220 fnt2 0 13246(@P)m 26(Adjust)k 240 fnt1 1008 13249(symbol)m +1715(,)s 1822(49)s 220 fnt2 0 12958(@P)m 8(age)k +240 fnt1 779 12961(e)m 3(xample)k 1589(,)s 1696(80)s +0 12673(P)m 3(age)k 518(layout)s 240 12385(principles)m 1233(of)s +1451(,)s 1558(5)s 240 12097(in)m 483(practice)s 1241(,)s +1348(78)s 220 fnt2 0 11806(@P)m 8(ageLabel)k 240 fnt1 +1309 11809(symbol)m 2016(,)s 2123(71)s 220 fnt2 0 11518(@P)m 8(ageOf)k +240 fnt1 1016 11521(e)m 3(xample)k 1826(,)s 1933(78)s +0 11233(P)m 3(aragraph)k 1023(breaking)s 1860(,)s 1967(3)s +240 10945(in)m 483(detail)s 1015(,)s 1122(39)s 0 10657(P)m 3(arameter)k +971(,)s 1078(4)s 220 fnt2 240 10366(body)m 240 fnt1 +774 10369(parameter)m 1735(,)s 1842(17)s 220 fnt2 240 10078(named)m +240 fnt1 959 10081(parameter)m 1920(,)s 2027(15)s 220 fnt2 +0 9790(@PlainGr)m 2(aphic)k 240 fnt1 1530 9793(symbol)m 2237(,)s +2344(67)s 0 9505(PostScript)m 989(,)s 1096(ii)s 240 9217(used)m +737(by)s 220 fnt2 1031 9214(@Gr)m 2(aphic)k 240 fnt1 +2022 9217(,)m 2129(63)s 240 8929(used)m 737(by)s 220 fnt2 +1031 8926(@IncludeGr)m 2(aphic)k 240 fnt1 2729 8929(,)m 2836(67)s +240 8641(used)m 737(by)s 220 fnt2 1031 8638(@PrependGr)m 2(aphic)k +240 fnt1 2851 8641(,)m 2958(68)s 220 fnt2 0 8350(@PP)m +240 fnt1 566 8353(e)m 3(xample)k 1376(,)s 1483(75)s +0 8065(Precedence)m 1091(,)s 1198(22)s 220 fnt2 0 7774(preceding)m +240 fnt1 958 7777(,)m 1065(8)s 220 fnt2 0 7486(@PrependGr)m 2(aphic)k +240 fnt1 1873 7489(symbol)m 2580(,)s 2687(68)s 0 7201(Principal)m +917(mark)s 1416(,)s 1523(37)s 240 6913(ef)m 6(fect)k +836(on)s 220 fnt2 1133 6910(@OneCol)m 240 fnt1 2145 6913(and)m +220 fnt2 2549 6910(@OneRo)m 3(w)k 240 fnt1 3627 6913(,)m +3734(47)s 0 6625(Promotion)m 1067(of)s 1338(components)s 2493(,)s +2600(29)s 0 6049(Quote)m 641(character)s 1522(,)s 1629(13)s +0 5761(Quoted)m 763(w)s 2(ord)k 1258(,)s 1365(14)s +220 fnt2 0 5182(r)m 240 fnt1 133 5185(unit)m 512(,)s +619(37)s 220 fnt2 0 4894(r)m 2(agged)k 729(@Break)s +240 fnt1 1532 4897(,)m 1639(42)s 220 fnt2 0 4606(@Ra)m 4(wV)k 17(erbatim)k +240 fnt1 1563 4609(symbol)m 2270(,)s 2377(70)s 0 4321(Recepti)m 6(v)k 3(e)k +1003(symbol)s 1710(,)s 1817(11)s 0 4033(Recursion)m 974(,)s +1081(5)s 220 fnt2 0 3742(@Ref)m 240 fnt1 621 3745(e)m 3(xample)k +1431(,)s 1538(91)s 220 fnt2 0 3454(@Ref)m 6(erence)k +240 fnt1 1281 3457(e)m 3(xample)k 2091(,)s 2198(88)s +220 fnt2 0 3166(@Ref)m 6(erenceSection)k 240 fnt1 2006 3169(e)m 3(xample)k +2816(,)s 2923(90)s 0 2881(Reid,)m 559(Brian)s 1147(K.)s +1371(,)s 1478(7)s 0 2593(Right)m 592(justi\207cation)s 1724(,)s +1831(37)s 220 fnt2 0 2302(r)m -3(lines)k 579(@Break)s +240 fnt1 1382 2305(,)m 1489(43)s 0 2017(Roman)m 749(numerals)s +1623(,)s 1730(78)s 0 1729(Root)m 526(g)s 1(alle)k 3(y)k +1107(,)s 1214(11)s 240 1441(in)m 483(detail)s 1015(,)s +1122(28)s 240 1153(printing)m 1050(of)s 1268(,)s 1375(29)s +240 865(size)m 667(of)s 938(components)s 2146(of)s 2364(,)s +2471(25)s 220 fnt2 0 574(@Rotate)m 240 fnt1 921 577(symbol)m +1628(,)s 1735(53)s 0 289(Rotation)m 881(of)s 1152(object)s +1743(,)s 1850(53)s 4816 13249(Ro)m 6(w)k 5317(mark)s +5816(,)s 5923(2)s 220 fnt2 4816 12958(rr)m 2(agged)k +5618(@Break)s 240 fnt1 6421 12961(,)m 6528(42)s 220 fnt2 +4816 12670(@Rump)m 240 fnt1 5676 12673(symbol)m 6383(,)s 6490(54)s +220 fnt2 4816 12382(@Runner)m 240 fnt1 5818 12385(e)m 3(xample)k +6628(,)s 6735(81)s 220 fnt2 4816 11806(s)m 240 fnt1 +4979 11809(unit)m 5358(,)s 5465(37)s 5056 11521(and)m 220 fnt2 +5460 11518(@Space)m 240 fnt1 6357 11521(symbol)m 7064(,)s 7171(44)s +220 fnt2 4816 11230(@Scale)m 240 fnt1 5639 11233(symbol)m 6346(,)s +6453(52)s 4816 10945(Scaling)m 5586(of)s 5857(object)s 6448(,)s +6555(50)s 4816 10657(Scribe)m 5429(,)s 5536(7)s 220 fnt2 +4816 10366(@Section)m 240 fnt1 5816 10369(e)m 3(xample)k 6626(,)s +6733(86)s 220 fnt2 4816 10078(@SetHeaderComponent)m 240 fnt1 7277 10081(symbol)m +7984(,)s 8091(60)s 220 fnt2 4816 9790(@SetColor)m 240 fnt1 +5951 9793(symbol)m 6658(,)s 6765(45)s 220 fnt2 4816 9502(@SetColour)m +240 fnt1 6073 9505(symbol)m 6780(,)s 6887(45)s 4816 9217(Size)m 5283(of)s 5554(an)s 5837(object)s 6428(,)s 6535(24)s -4816 8639(small)m 5388(capitals)s 6115(,)s 6222(41)s 4816 8351(Sorted)m +4816 8929(small)m 5388(capitals)s 6115(,)s 6222(41)s 4816 8641(Sorted)m 5498(g)s 1(alle)k 3(ys)k 6169(,)s 6276(32)s -4816 8063(Space)m 5390(,)s 5497(13)s 5056 7775(when)m 5632(signi\207cant)s -6635(,)s 6742(38)s 220 fnt35 4816 7484(@Space)m 240 fnt82 -5713 7487(symbol)m 6420(,)s 6527(43)s 220 fnt35 4816 7196(@Star)m -8(tHSpan)k -240 fnt82 6226 7199(symbol)m 6933(,)s 7040(51)s 220 fnt35 -4816 6908(@Star)m -8(tHVSpan)k 240 fnt82 6372 6911(symbol)m 7079(,)s -7186(51)s 220 fnt35 4816 6620(@Star)m -8(tVSpan)k 240 fnt82 -6214 6623(symbol)m 6921(,)s 7028(51)s 4816 6335(Style)m 5363(of)s -5634(an)s 5917(object)s 6508(,)s 6615(23)s 220 fnt35 -4816 6044(sup)m 240 fnt82 5222 6047(e)m 3(xample)k 6032(,)s -6139(72)s 4816 5759(Symbol)m 5563(,)s 5670(4)s 220 fnt35 -4816 5468(@SysDatabase)m 240 fnt82 6396 5471(symbol)m 7103(,)s 7210(63)s -220 fnt35 4816 5180(@SysInclude)m 240 fnt82 6164 5183(symbol)m 6871(,)s -6978(68)s 220 fnt35 4816 4892(@SysIncludeGr)m 2(aphic)k 240 fnt82 -6933 4895(symbol)m 7640(,)s 7747(67)s 220 fnt35 4816 4604(@SysPrependGr)m 2(aphic)k -240 fnt82 7055 4607(symbol)m 7762(,)s 7869(67)s 220 fnt35 -4816 4028(t)m 240 fnt82 4933 4031(g)m 1(ap)k 5331(mode)s -5866(,)s 5973(37)s 4816 3743(T)m 19(ables)k 5432(,)s -5539(2)s 4816 3455(T)m 19(ab)k 4(ulation)k 5886(g)s 1(ap)k -6284(mode)s 6819(,)s 6926(37)s 220 fnt35 4816 3164(@T)m 26(ag)k -240 fnt82 5439 3167(parameter)m 9(,)k 6491(def)s 2(ault)k +4816 8353(Space)m 5390(,)s 5497(13)s 5056 8065(when)m 5632(signi\207cant)s +6635(,)s 6742(38)s 220 fnt2 4816 7774(@Space)m 240 fnt1 +5713 7777(symbol)m 6420(,)s 6527(44)s 220 fnt2 4816 7486(@Star)m -8(tHSpan)k +240 fnt1 6226 7489(symbol)m 6933(,)s 7040(51)s 220 fnt2 +4816 7198(@Star)m -8(tHVSpan)k 240 fnt1 6372 7201(symbol)m 7079(,)s +7186(51)s 220 fnt2 4816 6910(@Star)m -8(tVSpan)k 240 fnt1 +6214 6913(symbol)m 6921(,)s 7028(51)s 4816 6625(Style)m 5363(of)s +5634(an)s 5917(object)s 6508(,)s 6615(23)s 220 fnt2 +4816 6334(sup)m 240 fnt1 5222 6337(e)m 3(xample)k 6032(,)s +6139(73)s 4816 6049(Symbol)m 5563(,)s 5670(4)s 220 fnt2 +4816 5758(@SysDatabase)m 240 fnt1 6396 5761(symbol)m 7103(,)s 7210(63)s +220 fnt2 4816 5470(@SysInclude)m 240 fnt1 6164 5473(symbol)m 6871(,)s +6978(68)s 220 fnt2 4816 5182(@SysIncludeGr)m 2(aphic)k 240 fnt1 +6933 5185(symbol)m 7640(,)s 7747(67)s 220 fnt2 4816 4894(@SysPrependGr)m 2(aphic)k +240 fnt1 7055 4897(symbol)m 7762(,)s 7869(68)s 220 fnt2 +4816 4318(t)m 240 fnt1 4933 4321(g)m 1(ap)k 5331(mode)s +5866(,)s 5973(37)s 4816 4033(T)m 19(ables)k 5432(,)s +5539(2)s 4816 3745(T)m 19(ab)k 4(ulation)k 5886(g)s 1(ap)k +6284(mode)s 6819(,)s 6926(37)s 220 fnt2 4816 3454(@T)m 26(ag)k +240 fnt1 5439 3457(parameter)m 9(,)k 6491(def)s 2(ault)k 7212(v)s 6(alue)k 7780(of)s 7998(,)s 8105(16)s -220 fnt35 4816 2876(@T)m 26(agged)k 240 fnt82 5805 2879(symbol)m -6512(,)s 6619(61)s 4816 2591(T)m 19(ar)k 4(get)k +220 fnt2 4816 3166(@T)m 26(agged)k 240 fnt1 5805 3169(symbol)m +6512(,)s 6619(62)s 4816 2881(T)m 19(ar)k 4(get)k 5476(of)s 5747(cross)s 6289(reference)s 7179(,)s 7286(8)s -4816 2303(T)m 19(ar)k 4(get)k 5476(of)s 5747(a)s +4816 2593(T)m 19(ar)k 4(get)k 5476(of)s 5747(a)s 5913(g)s 1(alle)k 3(y)k 6494(,)s 6601(11)s -220 fnt35 4816 2012(@T)m 26(arget)k 240 fnt82 5703 2015(symbol)m -6410(,)s 6517(30)s 5056 1727(in)m 5299(detail)s 5831(,)s -5938(25)s 4816 1439(T)m 4912 1391(E)m 5020 1439(X)m 5056 1151(h)m 1(yphenation)k -6243(,)s 6350(39)s 5056 863(optimal)m 5841(paragraph)s 6854(breaking)s -7691(,)s 7798(39)s 4816 575(T)m 16(e)k 3(xtual)k -5582(unit)s 5961(,)s 6068(13)s +220 fnt2 4816 2302(@T)m 26(arget)k 240 fnt1 5703 2305(symbol)m +6410(,)s 6517(30)s 5056 2017(in)m 5299(detail)s 5831(,)s +5938(25)s 4816 1729(T)m 4912 1681(E)m 5020 1729(X)m 5056 1441(h)m 1(yphenation)k +6243(,)s 6350(39)s 5056 1153(optimal)m 5841(paragraph)s 6854(breaking)s +7691(,)s 7798(39)s 4816 865(T)m 16(e)k 3(xtual)k +5582(unit)s 5961(,)s 6068(13)s 220 fnt2 4816 286(@Under)m -3(line)k +240 fnt1 6031 289(symbol)m 6738(,)s 6845(70)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +0 LoutMargSet +grestore + grestore grestore @@ -16037,65 +17140,74 @@ grestore pgsave restore showpage -%%Page: 96 102 +%%Page: 97 103 %%BeginPageSetup %%PageResources: font Times-Roman -%%+ font Times-Bold %%+ font Times-Italic +%%+ font Times-Bold %%+ font Helvetica /pgsave save def -%%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt6 vec2 /Times-Italic LoutRecode +/fnt6 { /Times-Italicfnt6 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt5 vec2 /Times-Bold LoutRecode +/fnt5 { /Times-Boldfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +240 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 -0 LoutMargSet +240 fnt6 1417 -1580(Inde)m 4(x)k 240 fnt5 10248 -1583(97)m +gsave +1417 -15423 translate +240 fnt1 9066 13412 0 13412 240 288 60 LoutGraphic +gsave +1 LoutMargSet grestore -240 fnt84 0 13840(96)m 240 fnt83 8539 13843(Inde)m 4(x)k -220 fnt35 0 13245(@Under)m -3(line)k 240 fnt82 1215 13248(symbol)m -1922(,)s 2029(69)s 0 12960(Underscore)m 1158(character)s 2039(,)s -2146(13)s 220 fnt35 0 12669(@Use)m 240 fnt82 665 12672(symbol)m -1372(,)s 1479(62)s 220 fnt35 0 12093(v)m 240 fnt82 -169 12096(unit)m 548(,)s 655(37)s 240 11808(ef)m 6(fect)k -836(on)s 1133(paragraph)s 2146(breaking)s 2983(,)s 3090(42)s -220 fnt35 0 11517(@V)m 17(Adjust)k 240 fnt82 1017 11520(symbol)m -1724(,)s 1831(49)s 220 fnt35 0 11229(@VContr)m 2(act)k -240 fnt82 1252 11232(symbol)m 1959(,)s 2066(49)s 220 fnt35 -0 10941(@VCo)m 3(v)k 5(er)k 240 fnt82 1006 10944(symbol)m -1713(,)s 1820(50)s 220 fnt35 0 10653(@V)m 17(erbatim)k -240 fnt82 1129 10656(symbol)m 1836(,)s 1943(69)s 0 10368(V)m 26(ertical)k -797(concatenation)s 2129(,)s 2236(36)s 220 fnt35 0 10077(@VExpand)m -240 fnt82 1161 10080(symbol)m 1868(,)s 1975(48)s 220 fnt35 -0 9789(@VLimited)m 240 fnt82 1123 9792(symbol)m 1830(,)s 1937(49)s -220 fnt35 0 9501(@VScale)m 240 fnt82 969 9504(symbol)m 1676(,)s -1783(50)s 220 fnt35 0 9213(@VShift)m 240 fnt82 863 9216(symbol)m -1570(,)s 1677(48)s 220 fnt35 0 8925(@VSpan)m 240 fnt82 -927 8928(symbol)m 1634(,)s 1741(51)s 220 fnt35 0 8349(w)m -240 fnt82 216 8352(unit)m 595(,)s 702(37)s 0 8064(White)m -640(space)s 1174(,)s 1281(13)s 240 7776(when)m 816(signi\207cant)s -1819(,)s 1926(38)s 220 fnt35 0 7485(@Wide)m 240 fnt82 -774 7488(symbol)m 1481(,)s 1588(48)s 0 7200(W)m 9(idth)k -646(of)s 917(an)s 1200(object)s 1791(,)s 1898(24)s -0 6912(W)m 19(ord)k 531(,)s 638(14)s 220 fnt35 -0 6333(x)m 240 fnt82 168 6336(g)m 1(ap)k 566(mode)s -1101(,)s 1208(37)s 220 fnt35 0 5757(@Y)m 4(ield)k -240 fnt82 753 5760(symbol)m 1460(,)s 1567(56)s 220 fnt35 -0 5469(@YUnit)m 240 fnt82 814 5472(symbol)m 1521(,)s 1628(44)s -220 fnt35 0 4893(@ZUnit)m 240 fnt82 802 4896(symbol)m 1509(,)s -1616(44)s +0 13249(Underscore)m 1158(character)s 2039(,)s 2146(13)s 220 fnt2 +0 12958(@Use)m 240 fnt1 665 12961(symbol)m 1372(,)s 1479(62)s +220 fnt2 0 12382(v)m 240 fnt1 169 12385(unit)m 548(,)s +655(37)s 240 12097(ef)m 6(fect)k 836(on)s 1133(paragraph)s +2146(breaking)s 2983(,)s 3090(43)s 220 fnt2 0 11806(@V)m 17(Adjust)k +240 fnt1 1017 11809(symbol)m 1724(,)s 1831(49)s 220 fnt2 +0 11518(@VContr)m 2(act)k 240 fnt1 1252 11521(symbol)m 1959(,)s +2066(49)s 220 fnt2 0 11230(@VCo)m 3(v)k 5(er)k +240 fnt1 1006 11233(symbol)m 1713(,)s 1820(50)s 220 fnt2 +0 10942(@V)m 17(erbatim)k 240 fnt1 1129 10945(symbol)m 1836(,)s +1943(70)s 0 10657(V)m 26(ertical)k 797(concatenation)s 2129(,)s +2236(36)s 220 fnt2 0 10366(@VExpand)m 240 fnt1 1161 10369(symbol)m +1868(,)s 1975(48)s 220 fnt2 0 10078(@VLimited)m 240 fnt1 +1123 10081(symbol)m 1830(,)s 1937(49)s 220 fnt2 0 9790(@VScale)m +240 fnt1 969 9793(symbol)m 1676(,)s 1783(50)s 220 fnt2 +0 9502(@VShift)m 240 fnt1 863 9505(symbol)m 1570(,)s 1677(48)s +220 fnt2 0 9214(@VSpan)m 240 fnt1 927 9217(symbol)m 1634(,)s +1741(51)s 220 fnt2 0 8638(w)m 240 fnt1 216 8641(unit)m +595(,)s 702(37)s 0 8353(White)m 640(space)s 1174(,)s +1281(13)s 240 8065(when)m 816(signi\207cant)s 1819(,)s 1926(38)s +220 fnt2 0 7774(@Wide)m 240 fnt1 774 7777(symbol)m 1481(,)s +1588(48)s 0 7489(W)m 9(idth)k 646(of)s 917(an)s +1200(object)s 1791(,)s 1898(24)s 0 7201(W)m 19(ord)k +531(,)s 638(14)s 220 fnt2 0 6622(x)m 240 fnt1 +168 6625(g)m 1(ap)k 566(mode)s 1101(,)s 1208(37)s +220 fnt2 0 6046(@Y)m 4(ield)k 240 fnt1 753 6049(symbol)m +1460(,)s 1567(56)s 220 fnt2 0 5758(@YUnit)m 240 fnt1 +814 5761(symbol)m 1521(,)s 1628(44)s 220 fnt2 0 5182(@ZUnit)m +240 fnt1 802 5185(symbol)m 1509(,)s 1616(44)s +grestore +gsave +1417 -15423 translate +240 fnt1 0 0 0 0 240 288 60 LoutGraphic +gsave +1 LoutMargSet +grestore + grestore grestore @@ -16106,17 +17218,17 @@ pgsave restore showpage %%Trailer -%%DocumentNeededResources: font Helvetica -%%+ font Helvetica-Oblique -%%+ font Symbol -%%+ font Times-Roman -%%+ font Times-Italic +%%DocumentNeededResources: font Times-Roman %%+ font Times-Bold +%%+ font Times-Italic %%+ font Times-BoldItalic +%%+ font Helvetica +%%+ font Helvetica-Oblique +%%+ font Symbol %%DocumentSuppliedResources: procset LoutStartUp %%+ procset LoutTabPrependGraphic %%+ procset LoutFigPrependGraphic %%+ procset LoutBasicSetup %%+ encoding vec2 -%%Pages: 102 +%%Pages: 103 %%EOF diff --git a/doc/expert/pre_font b/doc/expert/pre_font index f014e73..5c910c4 100644 --- a/doc/expert/pre_font +++ b/doc/expert/pre_font @@ -1,5 +1,5 @@ @Section - @Title { "@Font" and "@Char" } + @Title { {"@Font"}, {"@Char"}, and "@FontDef" } @Tag { font } @Begin @PP @@ -40,10 +40,10 @@ returns its right parameter in a font and size specified by its left: @ID { @Code "{ Times Base 12p } @Font" @I object } -The family and face names must have appeared together in a {@Code fontdef}; -the size is arbitrary and may be given in any one of the {@Code "c"}, -{@Code "i"}, {@Code "p"}, {@Code "m"}, {@Code "f"}, {@Code "s"}, and -{@Code "v"} units of measurement (Section {@NumberOf concatenation}), +The family and face names must have appeared together in a {@Code "@FontDef"} +(see below); the size is arbitrary and may be given in any one of the +{@Code "c"}, {@Code "i"}, {@Code "p"}, {@Code "m"}, {@Code "f"}, {@Code "s"}, +and {@Code "v"} units of measurement (Section {@NumberOf concatenation}), although @Code 10p and @Code 12p are the most common sizes for text. There may be empty objects and @@Null objects in the left parameter of @@Font; these are ignored. @@ -89,31 +89,34 @@ respectively return the family and face names of the current font. For example, right now @@CurrFamily is @CurrFamily and @@CurrFace is @CurrFace. @PP -When Lout runs, the first thing it reads is a list of font definitions, -font.def @Index { @Code fontdef } -like these: -@ID { - @Code "fontdef Times Base {" @I implementation-dependent @Code "}" -//1vx @Code "fontdef Times Slope {" @I implementation-dependent @Code "}" +To inform Lout that certain fonts exist, it is necessary to create a +database of @Code "@FontDef" symbols. A typical entry in such a +database looks like this: +@ID @Code @Verbatim { +{ @FontDef + @Tag { Times-Base } + @Family { Times } + @Face { Base } + @Name { Times-Roman } + @Metrics { Ti-Rm } + @Mapping { LtLatin1.LCM } +} } -Each line tells Lout of the existence of a font, and assigns it a family -name and a face name. There are a few fonts which are the only members +This entry informs Lout of the existence of a font whose family name +is the value of {@Code "@Family"} and whose face name is the value +of {@Code "@Face"}. The @Code "@Tag" value must be exactly equal +to {@Code "@Family"} followed by a hyphen followed by +{@Code "@Face"}. There are a few fonts which are the only members of their families; even though these fonts do not need a face name, they -must be given one by their {@Code fontdef}. The part between braces may -vary with different implementations of Lout; it is supposed to contain -the information Lout needs to work with the font. +must be given one, probably {@Code Base}, by their {@Code "@FontDef"}. @PP -In Basser Lout Version 3, this implementation-dependent part consists of -a PostScript font name, an +The other fields are implementation-dependent, but in Basser Lout +Version 3 they are {@Code "@Name"}, a PostScript font name; +{@Code "@Metrics"}, an adobe @Index { Adobe Systems, Inc. } Adobe font metrics (formerly AFM) file whose FontName entry must agree -with the PostScript font name just mentioned, the name of a Lout -Character Mapping (LCM) file, and the word @Code Recode or {@Code NoRecode}: -@ID @Code -"fontdef Times Base { Times-Roman Ti-Ro LtLatin1.LCM Recode }" -It seems to have become an invariable rule at Adobe Systems that the font -name and the file name should be the same, but some operating systems do -not permit such long file names, so Lout does not use them. The files are +with the PostScript font name just mentioned; and {@Code "@Mapping"}, +the name of a Lout Character Mapping (LCM) file. The files are searched for in standard places. Consult the PostScript Reference Manual @Cite { $adobe1990ps } for general information about fonts and encoding vectors; briefly, an 8-bit @@ -121,18 +124,33 @@ lcm. @Index { LCM file } character code @I c in Lout's input is mapped to the character in the Adobe font metrics file whose name appears on the line labelled @I c in the LCM file. The LCM file also defines various character-to-character -mappings, such as upper-case to lower-case, which are used for various -purposes, such as the production of small capitals. If the word -@Code NoRecode appears, Lout assumes that the given encoding vector is -already associated with this font in the PostScript interpreter, and -optimizes its output accordingly. +mappings, such as upper-case to lower-case, which are used for such +purposes as the production of small capitals. +@PP +The options shown above are all compulsory, but there are two other +options which are optional. The @Code "@Recode" option, if given, +must have value @Code "Yes" (the default, so rarely seen) or +{@Code "No"}. If @Code "@Recode { No }" is given, Lout assumes that +the given encoding vector is already associated with this font in +the PostScript interpreter, and optimizes its output accordingly. +@PP +The other optional option, {@Code "@ExtraMetrics"}, has value +equal to the name of a second font metrics file which, if given, +is added to the main one defined by {@Code "@Metrics"}. This +extra metrics file contains @Code "C" (define character) and +@Code "CC" (define composite character) entries in the same format +as in AFM files; Lout will build composite characters declared in +this extra file from the given pieces, which it does not do for +composite characters in the main AFM file. There are example +extra metrics files in the current Lout distribution which show +the precise format of these files. @PP -If there are two font definitions with the same family and face name, -it is an error unless the second one has the same font name and file name -as the first, in which case it is silently ignored. A PostScript font -name and file may appear in two or more font definitions, allowing one -PostScript font to have two or more equally valid Lout names, and -different LCM files. +It is not possible to have two @Code "@FontDef" database entries +with the same family and face names, because then they must have +the same {@Code "@Tag"}, which is not allowed. However, a PostScript +font name and file may appear in two or more font definitions, +allowing one PostScript font to have two or more equally valid +Lout names. The LCM files may be equal or different as desired. @PP The @@Char symbol char @Index { @@Char symbol } diff --git a/doc/expert/pre_head b/doc/expert/pre_head index eb3d397..14e2871 100644 --- a/doc/expert/pre_head +++ b/doc/expert/pre_head @@ -17,15 +17,15 @@ component looks exactly like it would have done as an ordinary component; the difference is in whether the component is printed at all, and if so where. @PP -Every ordinary component of every galley has associated with it a -sequence of zero or more header components. Whenever a new target -is attached to which does not itself occupy an entire component -of its galley, copies of the header components associated with the +Every non-header component of every galley has associated with it a +sequence of zero or more header components. Whenever a galley attaches +to a target, and the target does not itself occupy an entire component +of the enclosing galley, copies of the header components associated with the first ordinary component to be promoted into that target are promoted into it first. @PP -The condition `which does not itself occupy an entire component -of its galley' ensures that, for example, when part of a section +The condition `and the target does not itself occupy an entire component +of the enclosing galley' ensures that, for example, when part of a section has header components, these are not printed where the section is promoted into its chapter, but rather where the chapter is promoted onto pages. If the target occupies the whole component, then the @@ -37,7 +37,7 @@ components of each ordinary component determined?' By default, the header components of one component are the same as those of the previous component. We can show this graphically as follows: -@ID lines @Break @Eq { +@ID @OneRow lines @Break @Eq { C sub i : H sub 1 , H sub 2 ,..., H sub n "/" C sub i+1 : H sub 1 , H sub 2 ,..., H sub n @@ -48,7 +48,7 @@ then its successor component @E { C sub i+1 } has header component sequence @E { H sub 1 , H sub 2 ,..., H sub n } also.' Using this notation, we may now define the four symbols that affect header component sequences: -@ID lines @Break @Eq { +@ID @OneRow lines @Break @Eq { C sub i : H sub 1 , H sub 2 ,..., H sub n "/" gap `` @@BeginHeaderComponent `` H sub n+1 @@ -66,7 +66,7 @@ exactly as it would have been had it occurred alone at that point, rather than after @@BeginHeaderComponent. @PP Next comes @@EndHeaderComponent: -@ID lines @Break @Eq { +@ID @OneRow lines @Break @Eq { C sub i : H sub 1 , H sub 2 ,..., H sub n , H sub n+1 "/" @@EndHeaderComponent @@ -82,7 +82,7 @@ used in matching (possibly nested) pairs, to introduce and subsequently retract a header component. @PP Next comes @@SetHeaderComponent: -@ID lines @Break @Eq { +@ID @OneRow lines @Break @Eq { C sub i : H sub 1 , H sub 2 ,..., H sub n "/" gap `` @@SetHeaderComponent `` H sub n+1 @@ -93,7 +93,7 @@ C sub i+1 : H sub n+1 set.header.component.sym @Index { @@SetHeaderComponent symbol } and replaces them by one of its own. Finally we have @@ClearHeaderComponent: -@ID lines @Break @Eq { +@ID @OneRow lines @Break @Eq { C sub i : H sub 1 , H sub 2 ,..., H sub n "/" @@ClearHeaderComponent diff --git a/doc/expert/pre_incl b/doc/expert/pre_incl index c531096..c148453 100644 --- a/doc/expert/pre_incl +++ b/doc/expert/pre_incl @@ -8,9 +8,9 @@ sysinclude.sym @Index { @@SysInclude symbol } These symbols instruct Lout to temporarily switch to reading another file, whose name appears in braces following the symbol. For example, @ID @Code { -"@Include { \"/usr/lout/fontdefs\" }" +"@Include { \"/usr/lout/langdefs\" }" } -will cause the contents of file "/usr/lout/fontdefs" to be read at the +will cause the contents of file "/usr/lout/langdefs" to be read at the point it occurs. After that file is read, the current file is resumed. The included file may contain arbitrary Lout text, including other @@Include commands. The file is searched for first in the current diff --git a/doc/expert/preface b/doc/expert/preface index 5dae00b..8dba03c 100644 --- a/doc/expert/preface +++ b/doc/expert/preface @@ -18,10 +18,10 @@ components, and a complete description of each predefined symbol. The final chapter presents a collection of advanced examples. @PP This manual presents Version 3 of Basser Lout, publicly released in -September 1994 @Cite { $kingston1995lout.program }. This manual was -rendered into PostScript +September 1994 @Cite { $kingston1995lout.program } and developed +continuously since then. This manual was rendered into PostScript postscript @Index { PostScript } -by Version 3.20 of the Basser Lout interpreter, using the symbols +by Version 3.21 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 acbd629..f355b84 100644 --- a/doc/slides/README +++ b/doc/slides/README @@ -15,4 +15,4 @@ after the second run. A copy of the final outfile.ps is included. Jeff Kingston -8 April 2000 +10 May 2000 diff --git a/doc/slides/outfile.ps b/doc/slides/outfile.ps index 5a8bd75..b5653aa 100644 --- a/doc/slides/outfile.ps +++ b/doc/slides/outfile.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 -%%Creator: Basser Lout Version 3.20 (April 2000) -%%CreationDate: Sat Apr 8 14:54:15 2000 +%%Creator: Basser Lout Version 3.21 (May 2000) +%%CreationDate: Thu May 11 10:55:10 2000 %%DocumentData: Binary %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) @@ -12,12 +12,20 @@ %%BeginProlog %%BeginResource: procset LoutStartUp +/save_cp { currentpoint /cp_y exch def /cp_x exch def } def +/restore_cp { cp_x cp_y moveto } 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 -/mo { 3 1 roll moveto true charpath stroke } bind def +/mo { 3 1 roll moveto outline } bind def /s { exch currentpoint exch pop moveto show } bind def -/so { exch currentpoint exch pop moveto true charpath stroke } bind def +/so { exch currentpoint exch pop moveto outline } bind def /k { exch neg 0 rmoveto show } bind def -/ko { exch neg 0 rmoveto true charpath stroke } bind def +/ko { exch neg 0 rmoveto outline } bind def +/r { exch 0 rmoveto show } bind def +/ro { exch 0 rmoveto outline } bind def +/c { gsave 3 1 roll rmoveto show grestore } bind def +/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 @@ -78,43 +86,6 @@ } bind def %%EndResource -%%BeginResource: encoding vec2 -/vec2 [ -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright -/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash -/zero /one /two /three /four /five /six /seven -/eight /nine /colon /semicolon /less /equal /greater /question -/at /A /B /C /D /E /F /G -/H /I /J /K /L /M /N /O -/P /Q /R /S /T /U /V /W -/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore -/quoteleft /a /b /c /d /e /f /g -/h /i /j /k /l /m /n /o -/p /q /r /s /t /u /v /w -/x /y /z /braceleft /bar /braceright /asciitilde /.notdef -/quotesinglbase /quotedblbase /ellipsis /OE /oe /quotedblleft /quotedblright /fi -/fl /endash /emdash /bullet /dagger /daggerdbl /florin /fraction -/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent -/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron -/space /exclamdown /cent /sterling /currency /yen /brokenbar /section -/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron -/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered -/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown -/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla -/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis -/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply -/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls -/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla -/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis -/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide -/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis -] def -%%EndResource - %%BeginResource: procset LoutTabPrependGraphic % @PrependGraphic file /export/home/6monthspace/jeff/lout.lib/include/tabf.lpg %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -2152,14 +2123,51 @@ end %%BeginSetup %%IncludeResource: font Times-Roman -/Times-Romanfnt82 vec2 /Times-Roman LoutRecode -/fnt82 { /Times-Romanfnt82 LoutFont } def +%%BeginResource: encoding vec2 +/vec2 [ +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +/zero /one /two /three /four /five /six /seven +/eight /nine /colon /semicolon /less /equal /greater /question +/at /A /B /C /D /E /F /G +/H /I /J /K /L /M /N /O +/P /Q /R /S /T /U /V /W +/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore +/quoteleft /a /b /c /d /e /f /g +/h /i /j /k /l /m /n /o +/p /q /r /s /t /u /v /w +/x /y /z /braceleft /bar /braceright /asciitilde /.notdef +/quotesinglbase /quotedblbase /ellipsis /OE /oe /quotedblleft /quotedblright /fi +/fl /endash /emdash /bullet /dagger /daggerdbl /florin /fraction +/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent +/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron +/space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron +/degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered +/cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown +/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla +/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis +/Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply +/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls +/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla +/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis +/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide +/oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis +] def +%%EndResource + +/Times-Romanfnt1 vec2 /Times-Roman LoutRecode +/fnt1 { /Times-Romanfnt1 LoutFont } def %%IncludeResource: font Helvetica -/Helveticafnt35 vec2 /Helvetica LoutRecode -/fnt35 { /Helveticafnt35 LoutFont } def +/Helveticafnt2 vec2 /Helvetica LoutRecode +/fnt2 { /Helveticafnt2 LoutFont } def %%IncludeResource: font Helvetica-Oblique -/Helvetica-Obliquefnt36 vec2 /Helvetica-Oblique LoutRecode -/fnt36 { /Helvetica-Obliquefnt36 LoutFont } def +/Helvetica-Obliquefnt3 vec2 /Helvetica-Oblique LoutRecode +/fnt3 { /Helvetica-Obliquefnt3 LoutFont } def %%EndSetup %%Page: 1 1 @@ -2173,24 +2181,40 @@ end gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +9066 0 0 0 400 480 100 1417 -1417 LoutGr2 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 9002(1)s 600 fnt35 691 11623(A)m + +grestore +160 fnt1 1417 -1526(lout)m 10419(1)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 11779 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 3500(F)s 18(or)k -15(matting)k -6490(System)s 400 fnt35 2882 6881(Jeffre)m 8(y)k 4180(H.)s -4656(Kingston)s 400 fnt36 1395 5779(Basser)m 2794(Dept.)s 3834(of)s +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 grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2206,29 +2230,40 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10407(2)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8990(2)s 400 fnt84 2988 11377(A)m -3363(simple)s 4565(input)s 5575(\207le)s 360 fnt35 800 9646(@SysInclude { doc })m +400 fnt4 2988 11377(A)m +3363(simple)s 4565(input)s 5575(\207le)s 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 fnt84 0 6379(Ho)m 4(w)k -889(to)s 1313(f)s 10(ormat)k 2579(it)s 360 fnt35 +800 8206(@End @T)m 43(e)k 10(xt)k 400 fnt4 0 6379(Ho)m 4(w)k +889(to)s 1313(f)s 10(ormat)k 2579(it)s 360 fnt2 800 5633(lout \207lename > out.ps)m 800 5153(ghostvie)m 7(w out.ps)k 800 4673(mpr out.ps)m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2245,20 +2280,20 @@ showpage %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10414(3)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8997(3)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic -gsave +8640 10080 1440 8457 400 480 100 0 667 LoutGr2 LoutBox stroke grestore 1440 8367(Hello,)m 2505(w)s 4(orld)k @@ -2266,6 +2301,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2281,29 +2324,40 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10407(4)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8990(4)s 400 fnt84 2339 11377(Headings)m -4026(and)s 4762(paragraphs)s 360 fnt35 800 9646(@SysInclude { doc })m 800 9166(@Doc @T)m 43(e)k 10(xt @Begin)k +400 fnt4 2339 11377(Headings)m +4026(and)s 4762(paragraphs)s 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 800 6286(v)m 9(er)k -10(y m)k 3(uch in mind.)k 800 5806(@End @T)m 43(e)k 10(xt)k grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2319,41 +2373,49 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1527(lout)m 10412(5)s gsave +1417 -14005 translate +400 fnt1 9066 12051 0 12051 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12478(lout)m 8995(5)s gsave -0 666 translate -400 fnt82 8640 10080 1440 8456 400 480 100 LoutGraphic -gsave +8640 10080 1440 8456 400 480 100 0 666 LoutGr2 LoutBox stroke grestore -400 fnt84 1440 8364(Intr)m 7(oduction)k -400 fnt82 2240 7742(The)m 2953(design)s 4090(of)s 4543(the)s +400 fnt4 1440 8364(Intr)m 7(oduction)k +400 fnt1 2240 7742(The)m 2953(design)s 4090(of)s 4543(the)s 5123(Lout)s 1440 7262(formatting)m 3215(system)s 4423(w)s 4(as)k 5123(undertak)s 4(en)k 1440 6782(with)m 2245(the)s 2825(needs)s -3818(of)s 4271(the)s 400 fnt83 4851 6784(or)m 14(dinary)k -6328(user)s 400 fnt82 1440 6302(v)m 6(ery)k 2234(much)s +3818(of)s 4271(the)s 400 fnt5 4851 6784(or)m 14(dinary)k +6328(user)s 400 fnt1 1440 6302(v)m 6(ery)k 2234(much)s 3217(in)s 3622(mind.)s grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2369,29 +2431,40 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10408(6)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8991(6)s 400 fnt84 3817 11376(Displays)m -360 fnt35 800 9652(Y)m 50(ou cer)k -14(tainly don't w)k 5(ant to retur)k -9(n to)k +400 fnt4 3817 11376(Displays)m +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 800 7732(guess I'm just too dumb)m 14(.)k 36(')k 800 7252(})m 800 6772(T)m 43(o a)k 7(v)k 9(oid ser)k -5(ious damage to y)k 7(our)k 800 6292(position in the compan)m 5(y)k 36(, it w)k 3(ould)k 800 5812(be better if ...)m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2406,35 +2479,35 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10411(7)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8994(7)s gsave -0 668 translate -400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic -gsave +8640 10080 1440 8457 400 480 100 0 668 LoutGr2 LoutBox stroke grestore 1440 8367(Y)m 44(ou)k 2173(certainly)s 3657(don')s 7(t)k 4591(w)s 4(ant)k 5460(to)s 5856(return)s 6901(to)s 1440 7887(his)m 1990(of\207ce)s -2991(and)s 3665(report:)s 400 fnt83 2240 7048(`I)m 2626(can')s 12(t)k +2991(and)s 3665(report:)s 400 fnt5 2240 7048(`I)m 2626(can')s 12(t)k 3542(\207nd)s 4252(an)s 4742(ef\207cient)s 2240 6568(algorithm,)m 3970(I)s 4223(guess)s 5201(I'm)s 5848(just)s 6532(too)s 2240 6088(dumb)m 16(.)k 56(')k -400 fnt82 1440 5330(T)m 32(o)k 1940(a)s 8(v)k 8(oid)k +400 fnt1 1440 5330(T)m 32(o)k 1940(a)s 8(v)k 8(oid)k 2909(serious)s 4124(damage)s 5458(to)s 5857(your)s 1440 4850(position)m 2822(in)s 3227(the)s 3807(compan)s 6(y)k 26(,)k 5418(it)s 5740(w)s 4(ould)k 6831(be)s 1440 4370(better)m @@ -2442,6 +2515,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2457,30 +2538,41 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10411(8)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8994(8)s 400 fnt84 2299 11376(P)m 4(aragraph)k -4229(br)s 7(eaking)k 5847(styles)s 360 fnt35 800 9652(Y)m 50(ou cer)k -14(tainly don't w)k 5(ant to retur)k -9(n to)k +400 fnt4 2299 11376(P)m 4(aragraph)k +4229(br)s 7(eaking)k 5847(styles)s 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 800 7252(})m 800 6772(T)m 43(o a)k 7(v)k 9(oid ser)k -5(ious damage to y)k 7(our)k 800 6292(position in the compan)m 5(y)k 36(, it w)k 3(ould)k 800 5812(be better if ...)m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2495,35 +2587,35 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10409(9)s gsave +1417 -14005 translate +400 fnt1 9066 12051 0 12051 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8992(9)s gsave -0 666 translate -400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic -gsave +8640 10080 1440 8457 400 480 100 0 666 LoutGr2 LoutBox stroke grestore 1440 8367(Y)m 44(ou)k 2173(certainly)s 3657(don')s 7(t)k 4591(w)s 4(ant)k 5460(to)s 5856(return)s 6901(to)s 1440 7887(his)m 1990(of\207ce)s -2991(and)s 3665(report:)s 400 fnt83 2240 7048(`I)m 2626(can')s 12(t)k +2991(and)s 3665(report:)s 400 fnt5 2240 7048(`I)m 2626(can')s 12(t)k 3542(\207nd)s 4252(an)s 4742(ef\207cient)s 2240 6568(algorithm,)m 3970(I)s 4223(guess)s 5201(I'm)s 5848(just)s 6532(too)s 2240 6088(dumb)m 16(.)k 56(')k -400 fnt82 1440 5330(T)m 32(o)k 1940(a)s 8(v)k 8(oid)k +400 fnt1 1440 5330(T)m 32(o)k 1940(a)s 8(v)k 8(oid)k 2909(serious)s 4124(damage)s 5458(to)s 5857(your)s 1440 4850(position)m 2822(in)s 3227(the)s 3807(compan)s 6(y)k 26(,)k 5418(it)s 5740(w)s 4(ould)k 6831(be)s 1440 4370(better)m @@ -2531,6 +2623,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2546,29 +2646,40 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10326(10)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8909(10)s 400 fnt84 4128 11376(Lists)m -360 fnt35 800 9722(@Heading { Oper)m 3(ating Instr)k -5(uctions })k 800 9242(@NumberedList)m +400 fnt4 4128 11376(Lists)m +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 800 7322(@ListItem { If smok)m 7(e emerges from rear of unit,)k 800 6842(call Ser)m -10(vice Depar)k -14(tment.)k 21( })k 800 6362(@EndList)m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2583,30 +2694,30 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10339(11)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8922(11)s gsave -0 668 translate -400 fnt82 8640 10080 1440 8456 400 480 100 LoutGraphic -gsave +8640 10080 1440 8456 400 480 100 0 668 LoutGr2 LoutBox stroke grestore -400 fnt84 1440 8364(Operating)m -3287(Instructions)s 400 fnt82 1440 7529(1.)m 2240(Press)s 3166(small)s +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 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 @@ -2616,6 +2727,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2631,30 +2750,41 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10327(12)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8910(12)s 400 fnt84 3062 11377(T)m 36(echnical)k -4780(r)s 7(eports)k 360 fnt35 800 9646(@SysInclude { repor)m -14(t })k +400 fnt4 3062 11377(T)m 36(echnical)k +4780(r)s 7(eports)k 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 800 6286(@Abstr)m 3(act { ...)k 21( })k 800 5806(@Section { ...)m 21( })k 800 5326(@Section { ...)m 21( })k 800 4846(@Section { ...)m 21( })k 800 4366(@Appendix { ...)m 21( })k 800 3886(@Appendix { ...)m 21( })k grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2670,28 +2800,39 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10334(13)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8917(13)s 400 fnt84 3840 11376(Sections)m -360 fnt35 800 9720(@Section)m 800 9240( @T)m 43(ag { dfs })k 800 8760( @Title { Depth-\207rst search })m +400 fnt4 3840 11376(Sections)m +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 800 6840(on gener)m 3(al g)k 3(r)k 3(aphs ...)k 800 6360(@End @Section)m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2706,36 +2847,44 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10327(14)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8910(14)s gsave -0 668 translate -400 fnt82 8640 10080 1440 8456 400 480 100 LoutGraphic -gsave +8640 10080 1440 8456 400 480 100 0 668 LoutGr2 LoutBox stroke grestore -400 fnt84 1440 8364(10.6.)m -2424(Depth-\207rst)s 4386(sear)s 7(ch)k 400 fnt82 2240 7742(W)m 32(e)k +400 fnt4 1440 8364(10.6.)m +2424(Depth-\207rst)s 4386(sear)s 7(ch)k 400 fnt1 2240 7742(W)m 32(e)k 2854(turn)s 3592(no)s 10(w)k 4359(to)s 4758(our)s 5391(\207rst)s 1440 7262(algorithm)m 3093(on)s 3587(general)s 4854(graphs)s 6003(\202)s grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2751,26 +2900,37 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1527(lout)m 10332(15)s gsave +1417 -14005 translate +400 fnt1 9066 12051 0 12051 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12478(lout)m 8915(15)s 400 fnt84 3142 11375(Cr)m 7(oss)k -4199(r)s 7(efer)k 7(ences)k 360 fnt35 800 9722(F)m 10(or fur)k -14(ther inf)k 10(or)k -9(mation, consult)k +400 fnt4 3142 11375(Cr)m 7(oss)k +4199(r)s 7(efer)k 7(ences)k 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 +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2787,20 +2947,20 @@ showpage %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10328(16)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8911(16)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic -gsave +8640 10080 1440 8457 400 480 100 0 667 LoutGr2 LoutBox stroke grestore 1440 8367(F)m 6(or)k @@ -2809,6 +2969,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2824,27 +2992,38 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10331(17)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8914(17)s 400 fnt84 3612 11377(Refer)m 7(ences)k -360 fnt35 800 9723(@Database @Ref)m 10(erence { m)k 5(yrefs })k 800 9243(...)m +400 fnt4 3612 11377(Refer)m 7(ences)k +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 grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2860,45 +3039,53 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10331(18)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8914(18)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic -gsave +8640 10080 1440 8457 400 480 100 0 667 LoutGr2 LoutBox stroke grestore 1440 8367(F)m 6(or)k 2089(the)s 2669(details,)s 3889(consult)s 5143(the)s 5723(User')s 22(s)k -1440 7887(Guide)m 2508([1].)s 1440 7263(\202)m 400 fnt84 1440 6637(Refer)m 7(ences)k -400 fnt82 1440 5879(1.)m 2240(Jef)s 10(fre)k 6(y)k -3422(H.)s 3883(Kingston.)s 400 fnt83 5621 5881(A)m 5947(User')s 16(s)k +1440 7887(Guide)m 2508([1].)s 1440 7263(\202)m 400 fnt4 1440 6637(Refer)m 7(ences)k +400 fnt1 1440 5879(1.)m 2240(Jef)s 10(fre)k 6(y)k +3422(H.)s 3883(Kingston.)s 400 fnt5 5621 5881(A)m 5947(User')s 16(s)k 2240 5401(Guide)m 3304(to)s 3703(the)s 4279(Lout)s 5119(Document)s 2240 4921(F)m 42(ormatting)k 4107(System)s 5308(\(V)s 44(er)k 4(sion)k -2240 4441(3\))m 400 fnt82 2556 4439(.)m 2829(Basser)s 3992(Department)s +2240 4441(3\))m 400 fnt1 2556 4439(.)m 2829(Basser)s 3992(Department)s 5977(of)s 2240 3959(Computer)m 3938(Science)s 5171(,)s 5349(Uni)s 10(v)k 6(ersity)k 2240 3479(of)m 2693(Sydne)s 6(y)k 3876(,)s 4054(1995)s 4830(.)s 1440 2642(2.)m 2240(\202)s grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2914,30 +3101,41 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10329(19)s gsave +1417 -14005 translate +400 fnt1 9066 12051 0 12051 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8912(19)s 400 fnt84 2601 11375(Database)m -4269(\207le)s 4872(myr)s 7(efs.ld)k 360 fnt35 800 9644({ @Ref)m 10(erence)k +400 fnt4 2601 11375(Database)m +4269(\207le)s 4872(myr)s 7(efs.ld)k 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 800 6764( @Institution { Basser Depar)m -14(tment of)k 800 6284(Computer Science })m 800 5804( @Address { Univ)m 9(ersity of Sydne)k 7(y)k 800 5324(2006, A)m 10(ustr)k 3(alia })k 800 4844( @Y)m 50(ear { 1994 })k 800 4364(})m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -2952,24 +3150,27 @@ showpage %%+ font Times-Bold /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10326(20)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8909(20)s 400 fnt84 2965 11375(Books)m -4097(\(and)s 4966(theses\))s 400 fnt82 0 9650(\213)m 800(T)s 14(itle)k +400 fnt4 2965 11375(Books)m +4097(\(and)s 4966(theses\))s 400 fnt1 0 9650(\213)m 800(T)s 14(itle)k 1632(page,)s 2564(pref)s 4(ace,)k 3912(introduction)s 0 8810(\213)m 800(Automatic)s 2574(table)s 3442(of)s 3895(contents)s 0 8053(\213)m 800(Pref)s 4(atory)k 2372(pages)s 3365(numbered)s 5060(in)s @@ -2980,6 +3181,14 @@ grestore 800(Odd-e)s 10(v)k 6(en)k 2453(page)s 3299(formats)s 0 3855(\213)m 800(Sorted)s 1940(inde)s 6(x)k grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -2995,29 +3204,40 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10339(21)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8922(21)s 400 fnt84 2631 11377(Making)m -4057(a)s 4353(sorted)s 5509(index)s 360 fnt35 800 9646(@PP)m +400 fnt4 2631 11377(Making)m +4057(a)s 4353(sorted)s 5509(index)s 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 grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -3033,41 +3253,49 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10327(22)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8910(22)s gsave -0 668 translate -400 fnt82 8640 10080 1440 8462 400 480 100 LoutGraphic -gsave +8640 10080 1440 8462 400 480 100 0 668 LoutGr2 LoutBox stroke grestore -400 fnt84 1440 8370(Index)m -400 fnt82 1440 7795(\202)m 1440 7315(partial)m 2552(order)s 16(,)k -3557(227)s 400 fnt83 1440 6837(P)m 32(artition)k 400 fnt82 -2941 6835(\(in)m 400 fnt83 3479 6837(Quic)m 8(ksort)k 400 fnt82 +400 fnt4 1440 8370(Index)m +400 fnt1 1440 7795(\202)m 1440 7315(partial)m 2552(order)s 16(,)k +3557(227)s 400 fnt5 1440 6837(P)m 32(artition)k 400 fnt1 +2941 6835(\(in)m 400 fnt5 3479 6837(Quic)m 8(ksort)k 400 fnt1 5052 6835(\),)m 5363(189)s 1440 6355(postorder)m 3049(tra)s 8(v)k 6(ersal)k 1840 5875(of)m 2293(binary)s 3404(tree,)s 4180(19)s 1840 5395(topological)m 3730(ordering,)s 5262(229)s 1440 4915(\202)m grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -3083,28 +3311,39 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10334(23)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8917(23)s 400 fnt84 2785 11376(Equation)m -4455(f)s 10(ormatting)k 360 fnt35 800 9645(@SysInclude { eq })m 800 9165(...)m +400 fnt4 2785 11376(Equation)m +4455(f)s 10(ormatting)k 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 grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -3120,47 +3359,55 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt6 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10327(24)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8910(24)s gsave -0 668 translate -400 fnt82 8640 10080 1440 8457 400 480 100 LoutGraphic -gsave +8640 10080 1440 8457 400 480 100 0 668 LoutGr2 LoutBox stroke grestore -1440 8367(Since)m 400 fnt83 -2419 8369(T)m 400 fnt78 2691 8357(\()m 400 fnt83 2831 8369(n)m -400 fnt78 3141 8357(-)m 400 fnt83 3475 8369(i)m 400 fnt78 -3601 8357(\))m 3852(=)s 400 fnt83 4207 8369(T)m 400 fnt78 +1440 8367(Since)m 400 fnt5 +2419 8369(T)m 400 fnt6 2691 8357(\()m 400 fnt5 2831 8369(n)m +400 fnt6 3141 8357(-)m 400 fnt5 3475 8369(i)m 400 fnt6 +3601 8357(\))m 3852(=)s 400 fnt5 4207 8369(T)m 400 fnt6 4479 8357(\()m 4619(0)s 4828(\))s 5079(=)s 5434(0)s -400 fnt82 5723 8367(we)m 6280(ha)s 8(v)k 6(e)k -400 fnt83 2240 7204(T)m 400 fnt78 2512 7192(\()m 400 fnt83 -2652 7204(n)m 400 fnt78 2862 7192(\))m 3113(=)s 280 fnt83 -3468 7622(n)m 280 fnt78 3640 7613(-)m 3829(1)s 520 fnt78 -3522 7162(\345)m 280 fnt83 3483 6864(i)m 280 fnt78 3599 6855(=)m -3791(0)s 280 fnt83 4149 7367(i)m 400 fnt78 3959 7192(2)m -4363(=)s 280 fnt83 4908 7400(n)m 400 fnt78 4718 7192(2)m -5161(-)s 5495(1)s 400 fnt82 1440 6098(for)m 2006(the)s +400 fnt1 5723 8367(we)m 6280(ha)s 8(v)k 6(e)k +400 fnt5 2240 7204(T)m 400 fnt6 2512 7192(\()m 400 fnt5 +2652 7204(n)m 400 fnt6 2862 7192(\))m 3113(=)s 280 fnt5 +3468 7622(n)m 280 fnt6 3640 7613(-)m 3829(1)s 520 fnt6 +3522 7162(\345)m 280 fnt5 3483 6864(i)m 280 fnt6 3599 6855(=)m +3791(0)s 280 fnt5 4149 7367(i)m 400 fnt6 3959 7192(2)m +4363(=)s 280 fnt5 4908 7400(n)m 400 fnt6 4718 7192(2)m +5161(-)s 5495(1)s 400 fnt1 1440 6098(for)m 2006(the)s 2586(number)s 3907(of)s 4360(disk)s 5128(mo)s 6(v)k 6(es)k 6243(made)s 1440 5618(by)m 1930(the)s 2510(T)s 32(o)k 10(wers)k 3749(of)s 4202(Hanoi)s 5268(algorithm,)s 1440 5138(gi)m 10(v)k 6(en)k -400 fnt83 2406 5140(n)m 400 fnt82 2696 5138(disks.)m +400 fnt5 2406 5140(n)m 400 fnt1 2696 5138(disks.)m +grestore + +grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet grestore grestore @@ -3179,27 +3426,38 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1527(lout)m 10332(25)s gsave +1417 -14005 translate +400 fnt1 9066 12051 0 12051 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12478(lout)m 8915(25)s 400 fnt84 3035 11375(Another)m -4550(equation)s 360 fnt35 800 9644(@CenteredDispla)m 10(y @Eq {)k 800 9164(big int supp 1 on 0 )m 21(`)k +400 fnt4 3035 11375(Another)m +4550(equation)s 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 grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -3215,32 +3473,32 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt6 { /Symbol LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10328(26)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8911(26)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic -gsave +8640 10080 1440 8640 400 480 100 0 667 LoutGr2 LoutBox stroke grestore -676 fnt78 3159 7423(\362)m -280 fnt78 3355 7972(1)m 3355 7281(0)m 400 fnt83 3991 7782(dx)m +676 fnt6 3159 7423(\362)m +280 fnt6 3355 7972(1)m 3355 7281(0)m 400 fnt5 3991 7782(dx)m 1187 0 0 0 400 480 20 3587 7697 LoutGr2 0 0 moveto xsize 0 lineto 0.05 ft setlinewidth stroke grestore @@ -3249,18 +3507,18 @@ grestore gsave 0 7292 translate 1.0000 1.2231 scale -400 fnt78 3587 -100(\326)m +400 fnt6 3587 -100(\326)m grestore 981 0 0 0 400 480 20 3793 7617 LoutGr2 0 0 moveto xsize 0 lineto 0.03 ft setlinewidth 2 setlinecap stroke grestore grestore -400 fnt78 3853 7251(1)m 4129(-)s -280 fnt78 4641 7365(2)m 400 fnt83 4463 7263(x)m 400 fnt78 +400 fnt6 3853 7251(1)m 4129(-)s +280 fnt6 4641 7365(2)m 400 fnt5 4463 7263(x)m 400 fnt6 4914 7597(=)m 5269 7784(p)m gsave 5269 7697 translate -400 fnt83 212 0 0 0 400 480 20 LoutGraphic +400 fnt5 212 0 0 0 400 480 20 LoutGraphic gsave 0 0 moveto xsize 0 lineto 0.05 ft setlinewidth stroke grestore @@ -3270,6 +3528,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -3285,24 +3551,27 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10331(27)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8914(27)s 400 fnt84 3991 11383(T)m 36(ables)k -360 fnt35 800 9729(@SysInclude { tab })m 800 9249(...)m 800 8769(@T)m 43(ab)k +400 fnt4 3991 11383(T)m 36(ables)k +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 800 5889(@Ro)m 5(w)k 5(a)k 800 5409( A { Algol-60 })m 800 4929( B { Said to be ...)m 21( successors })k @@ -3310,6 +3579,14 @@ grestore 800 3489( B { )m 18(The f)k 10(amous ...)k 21( successors })k 800 3009(})m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -3324,39 +3601,47 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10331(28)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8914(28)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic -gsave +8640 10080 1440 8640 400 480 100 0 667 LoutGr2 LoutBox stroke grestore -400 fnt83 1440 8177(F)m 42(ortr)k 6(an)k -400 fnt82 3178 8175(The)m 3891(\207rst)s 4612(high-le)s 10(v)k 6(el)k -3178 7695(programming)m 5442(language)s 400 fnt83 1440 6950(Algol-60)m 400 fnt82 +400 fnt5 1440 8177(F)m 42(ortr)k 6(an)k +400 fnt1 3178 8175(The)m 3891(\207rst)s 4612(high-le)s 10(v)k 6(el)k +3178 7695(programming)m 5442(language)s 400 fnt5 1440 6950(Algol-60)m 400 fnt1 3178 6948(Said)m 3985(to)s 4384(be)s 4853(a)s 5130(better)s 3178 6468(language)m 4712(than)s 5494(most)s 6371(of)s 6824(its)s -3178 5988(successors)m 400 fnt83 1440 5327(P)m 32(ascal)k 400 fnt82 +3178 5988(successors)m 400 fnt5 1440 5327(P)m 32(ascal)k 400 fnt1 3178 5325(The)m 3891(most)s 4768(f)s 4(amous)k 6024(of)s 3178 4845(Algol-60')m 22(s)k 4971(successors)s grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -3372,24 +3657,27 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10329(29)s gsave +1417 -14005 translate +400 fnt1 9066 12051 0 12051 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8912(29)s 400 fnt84 3357 11375(Another)m -4872(table)s 360 fnt35 800 10201(@T)m 43(ab)k 800 9721( hmargin { 0.4c })m +400 fnt4 3357 11375(Another)m +4872(table)s 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 800 5881( X { )m 18(V)k 25(alue of mathematical ...)k 21( dollars\) })k 800 4921(@Ro)m 5(wb abo)k 5(v)k 9(e { doub)k 7(le })k @@ -3398,6 +3686,14 @@ grestore 800 2521(@Ro)m 5(wb belo)k 5(w { single })k 800 2041( A { Binomial theorem })m 800 1561( B { @Eq { \( a + b \) sup n ^= ...)m 21( b sup n-k } })k 800 1081( C { 12^ })m 800 601(})m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -3414,31 +3710,31 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt6 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10326(30)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8909(30)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic -gsave +8640 10080 1440 8640 400 480 100 0 667 LoutGr2 LoutBox stroke grestore gsave @@ -3469,11 +3765,11 @@ grestore grestore grestore -400 fnt84 226 -421(V)m 36(alue)k +400 fnt4 226 -421(V)m 36(alue)k 1281(of)s 1736(mathematical)s 4157(f)s 10(ormulae)k 5793(\(millions)s 7369(of)s 7824(dollars\))s gsave 9115 0 translate -400 fnt82 226 0 0 0 400 480 100 LoutGraphic +400 fnt1 226 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhsp grestore @@ -3481,7 +3777,7 @@ grestore grestore gsave 9341 -144 translate -400 fnt82 360 144 0 144 400 480 100 LoutGraphic +400 fnt1 360 144 0 144 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3489,7 +3785,7 @@ grestore grestore gsave 9341 -488 translate -400 fnt82 360 344 0 159 400 480 100 LoutGraphic +400 fnt1 360 344 0 159 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3497,7 +3793,7 @@ grestore grestore gsave 9341 -632 translate -400 fnt82 360 144 0 0 400 480 100 LoutGraphic +400 fnt1 360 144 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3505,7 +3801,7 @@ grestore grestore gsave 0 -776 translate -400 fnt82 0 144 0 144 400 480 100 LoutGraphic +400 fnt1 0 144 0 144 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3513,7 +3809,7 @@ grestore grestore gsave 0 -632 translate -400 fnt82 226 0 0 0 400 480 100 LoutGraphic +400 fnt1 226 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhd grestore @@ -3521,7 +3817,7 @@ grestore grestore gsave 0 -1867 translate -400 fnt82 0 1091 0 480 400 480 100 LoutGraphic +400 fnt1 0 1091 0 480 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3529,7 +3825,7 @@ grestore grestore gsave 0 -2011 translate -400 fnt82 0 144 0 0 400 480 100 LoutGraphic +400 fnt1 0 144 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3537,16 +3833,16 @@ grestore grestore gsave 226 -632 translate -400 fnt82 2985 0 0 0 400 480 100 LoutGraphic +400 fnt1 2985 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhd grestore grestore -400 fnt83 226 -1475(Quadr)m 6(atic)k +400 fnt5 226 -1475(Quadr)m 6(atic)k 1955(formula)s gsave 3211 -632 translate -400 fnt82 226 0 0 0 400 480 100 LoutGraphic +400 fnt1 226 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhd grestore @@ -3554,7 +3850,7 @@ grestore grestore gsave 3437 -632 translate -400 fnt82 226 0 0 0 400 480 100 LoutGraphic +400 fnt1 226 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhd grestore @@ -3562,14 +3858,14 @@ grestore grestore gsave 3663 -632 translate -400 fnt82 4255 0 1260 0 400 480 100 LoutGraphic +400 fnt1 4255 0 1260 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhd grestore grestore -4725(x)s 400 fnt78 5063 -1487(=)m 5418 -1207(-)m -400 fnt83 5652 -1195(b)m 400 fnt78 5962 -1207(\261)m gsave +4725(x)s 400 fnt6 5063 -1487(=)m 5418 -1207(-)m +400 fnt5 5652 -1195(b)m 400 fnt6 5962 -1207(\261)m gsave 0 -1146 translate 1.0000 1.3937 scale 6297 -100(\326)m @@ -3577,22 +3873,22 @@ grestore grestore gsave 6503 -776 translate -400 fnt83 1415 0 0 0 400 480 20 LoutGraphic +400 fnt5 1415 0 0 0 400 480 20 LoutGraphic gsave 0 0 moveto xsize 0 lineto 0.03 ft setlinewidth 2 setlinecap stroke grestore grestore -280 fnt78 6753 -1028(2)m 400 fnt83 6563 -1195(b)m 400 fnt78 -7006 -1207(-)m 7340(4)s 400 fnt83 7548 -1195(ac)m 2500 0 0 0 400 480 20 5418 -1387 LoutGr2 +280 fnt6 6753 -1028(2)m 400 fnt5 6563 -1195(b)m 400 fnt6 +7006 -1207(-)m 7340(4)s 400 fnt5 7548 -1195(ac)m 2500 0 0 0 400 480 20 5418 -1387 LoutGr2 0 0 moveto xsize 0 lineto 0.05 ft setlinewidth stroke grestore grestore -400 fnt78 -6467 -1767(2)m 400 fnt83 6677 -1755(a)m gsave +400 fnt6 +6467 -1767(2)m 400 fnt5 6677 -1755(a)m gsave 7918 -632 translate -400 fnt82 226 0 0 0 400 480 100 LoutGraphic +400 fnt1 226 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhd grestore @@ -3600,7 +3896,7 @@ grestore grestore gsave 8144 -776 translate -400 fnt82 0 144 0 144 400 480 100 LoutGraphic +400 fnt1 0 144 0 144 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3608,7 +3904,7 @@ grestore grestore gsave 8144 -632 translate -400 fnt82 226 0 0 0 400 480 100 LoutGraphic +400 fnt1 226 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhd grestore @@ -3616,7 +3912,7 @@ grestore grestore gsave 8144 -1867 translate -400 fnt82 0 1091 0 480 400 480 100 LoutGraphic +400 fnt1 0 1091 0 480 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3624,7 +3920,7 @@ grestore grestore gsave 8144 -2011 translate -400 fnt82 0 144 0 0 400 480 100 LoutGraphic +400 fnt1 0 144 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3632,13 +3928,13 @@ grestore grestore gsave 8370 -632 translate -400 fnt82 745 0 390 0 400 480 100 LoutGraphic +400 fnt1 745 0 390 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhd grestore grestore -400 fnt82 8587 -1477(3)m +400 fnt1 8587 -1477(3)m 8760(.5)s 226 0 0 0 400 480 100 9115 -632 LoutGr2 0.5 pt ltabhd grestore @@ -3679,10 +3975,10 @@ grestore grestore grestore -400 fnt83 226 -2657(Binomial)m 1791(theor)s 14(em)k +400 fnt5 226 -2657(Binomial)m 1791(theor)s 14(em)k gsave 226 -3162 translate -400 fnt82 2985 0 0 0 400 480 100 LoutGraphic +400 fnt1 2985 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhs grestore @@ -3690,7 +3986,7 @@ grestore grestore gsave 3211 -3162 translate -400 fnt82 226 0 0 0 400 480 100 LoutGraphic +400 fnt1 226 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhs grestore @@ -3698,33 +3994,33 @@ grestore grestore gsave 3437 -3162 translate -400 fnt82 226 0 0 0 400 480 100 LoutGraphic +400 fnt1 226 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhs grestore grestore -400 fnt78 3663 -2669(\()m 400 fnt83 3803 -2657(a)m 400 fnt78 -4114 -2669(+)m 400 fnt83 4449 -2657(b)m 280 fnt83 4770 -2463(n)m -400 fnt78 4659 -2669(\))m 5063(=)s 336 fnt78 5549 -2290(\245)m -520 fnt78 5484 -2699(\345)m 280 fnt83 5418 -3005(k)m 280 fnt78 +400 fnt6 3663 -2669(\()m 400 fnt5 3803 -2657(a)m 400 fnt6 +4114 -2669(+)m 400 fnt5 4449 -2657(b)m 280 fnt5 4770 -2463(n)m +400 fnt6 4659 -2669(\))m 5063(=)s 336 fnt6 5549 -2290(\245)m +520 fnt6 5484 -2699(\345)m 280 fnt5 5418 -3005(k)m 280 fnt6 5588 -3014(=)m 5780(0)s gsave 0 -2560 translate 1.0000 2.3652 scale -400 fnt78 5932 -100(\()m +400 fnt6 5932 -100(\()m grestore -400 fnt83 +400 fnt5 6112 -2417(n)m 6115 -2893(k)m gsave 0 -2560 translate 1.0000 2.3652 scale -400 fnt78 6362 -100(\))m +400 fnt6 6362 -100(\))m grestore -280 fnt83 -6684 -2501(k)m 400 fnt83 6493 -2657(a)m 280 fnt83 7022 -2488(n)m -280 fnt78 7194 -2497(-)m 280 fnt83 7383 -2488(k)m 400 fnt83 +280 fnt5 +6684 -2501(k)m 400 fnt5 6493 -2657(a)m 280 fnt5 7022 -2488(n)m +280 fnt6 7194 -2497(-)m 280 fnt5 7383 -2488(k)m 400 fnt5 6832 -2657(b)m gsave 3663 -3162 translate -400 fnt82 4255 0 1260 0 400 480 100 LoutGraphic +400 fnt1 4255 0 1260 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhs grestore @@ -3732,7 +4028,7 @@ grestore grestore gsave 7918 -3162 translate -400 fnt82 226 0 0 0 400 480 100 LoutGraphic +400 fnt1 226 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhs grestore @@ -3740,7 +4036,7 @@ grestore grestore gsave 8144 -2155 translate -400 fnt82 0 144 0 144 400 480 100 LoutGraphic +400 fnt1 0 144 0 144 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3748,7 +4044,7 @@ grestore grestore gsave 8144 -3018 translate -400 fnt82 0 863 0 449 400 480 100 LoutGraphic +400 fnt1 0 863 0 449 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3756,7 +4052,7 @@ grestore grestore gsave 8144 -3162 translate -400 fnt82 0 144 0 0 400 480 100 LoutGraphic +400 fnt1 0 144 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabvs grestore @@ -3764,13 +4060,13 @@ grestore grestore gsave 8144 -3162 translate -400 fnt82 226 0 0 0 400 480 100 LoutGraphic +400 fnt1 226 0 0 0 400 480 100 LoutGraphic gsave 0.5 pt ltabhs grestore grestore -400 fnt82 8370 -2659(12)m 745 0 390 0 400 480 100 8370 -3162 LoutGr2 +400 fnt1 8370 -2659(12)m 745 0 390 0 400 480 100 8370 -3162 LoutGr2 0.5 pt ltabhs grestore @@ -3801,6 +4097,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -3816,24 +4120,27 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10339(31)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8922(31)s 400 fnt84 3123 11382(P)m 4(ascal)k -4297(pr)s 7(ograms)k 360 fnt35 800 9651(@SysInclude { pas })m 800 9171(...)m +400 fnt4 3123 11382(P)m 4(ascal)k +4297(pr)s 7(ograms)k 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 800 6291( wr)m -5(ite\(', '\);)k 800 5811( end;)m 800 5331( Pr)m -5(iK)k 14(e)k 7(yAbstr)k 3(act\(root^.k)k 7(e)k 7(y\);)k @@ -3841,6 +4148,14 @@ grestore 800 3891( if root^.r)m -5(ightchild <> nil then begin)k 800 3411( wr)m -5(ite\(', '\);)k 800 2931( DoPr)m -5(iAbstr)k 3(act\(root^.r)k -5(ightchild\);)k 800 2451( end;)m 800 1971(end;)m 800 1491(})m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -3857,63 +4172,71 @@ showpage %%+ font Symbol /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def %%IncludeResource: font Symbol -/fnt78 { /Symbol LoutFont } def +/fnt6 { /Symbol LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10327(32)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8910(32)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8455 400 480 100 LoutGraphic -gsave +8640 10080 1440 8455 400 480 100 0 667 LoutGr2 LoutBox stroke grestore -400 fnt84 1440 8363(pr)m 7(ocedur)k 7(e)k -400 fnt83 3270 8367(DoPriAbstr)m 6(act)k 400 fnt82 5622 8365(\()m -400 fnt83 5744 8367(r)m 18(oot)k 400 fnt82 6399 8365(:)m -400 fnt83 6576 8367(PriEntry)m 400 fnt82 7966 8365(\);)m 400 fnt84 -1440 7883(begin)m 1840 7403(if)m 400 fnt83 2206 7407(r)m 18(oot)k -320 fnt78 2861 7415(\255)m 400 fnt82 3043 7405(.)m 400 fnt83 -3116 7407(leftc)m 6(hild)k 400 fnt78 4529 7395(\271)m 400 fnt84 -4845 7403(nil)m 5380(then)s 6228(begin)s 400 fnt83 2240 6927(DoPriAbstr)m 6(act)k -400 fnt82 4592 6925(\()m 400 fnt83 4714 6927(r)m 18(oot)k -320 fnt78 5369 6935(\255)m 400 fnt82 5551 6925(.)m 400 fnt83 -5624 6927(leftc)m 6(hild)k 400 fnt82 6937 6925(\);)m 400 fnt83 -2240 6447(write)m 400 fnt82 3048 6445(\(',)m 3492('\);)s 400 fnt84 -1840 5963(end)m 400 fnt82 2453 5965(;)m 400 fnt83 1840 5487(PriK)m 14(e)k 12(yAbstr)k 6(act)k -400 fnt82 4298 5485(\()m 400 fnt83 4420 5487(r)m 18(oot)k -320 fnt78 5075 5495(\255)m 400 fnt82 5257 5485(.)m 400 fnt83 -5330 5487(k)m 4(e)k 12(y)k 400 fnt82 5838 5485(\);)m -400 fnt83 1840 5007(write)m 400 fnt82 2648 5005(\(':'\);)m 400 fnt83 -1840 4527(PriV)m 44(alueAbstr)k 6(act)k 400 fnt82 4592 4525(\()m -400 fnt83 4714 4527(r)m 18(oot)k 320 fnt78 5369 4535(\255)m -400 fnt82 5551 4525(.)m 400 fnt83 5624 4527(value)m 400 fnt82 -6477 4525(\);)m 400 fnt84 1840 4043(if)m 400 fnt83 2206 4047(r)m 18(oot)k -320 fnt78 2861 4055(\255)m 400 fnt82 3043 4045(.)m 400 fnt83 -3116 4047(rightc)m 6(hild)k 400 fnt78 4796 4035(\271)m 400 fnt84 -5112 4043(nil)m 5647(then)s 6495(begin)s 400 fnt83 2240 3567(write)m -400 fnt82 3048 3565(\(',)m 3492('\);)s 400 fnt83 2240 3087(DoPriAbstr)m 6(act)k -400 fnt82 4592 3085(\()m 400 fnt83 4714 3087(r)m 18(oot)k -320 fnt78 5369 3095(\255)m 400 fnt82 5551 3085(.)m 400 fnt83 -5624 3087(rightc)m 6(hild)k 400 fnt82 7204 3085(\);)m 400 fnt84 -1840 2603(end)m 400 fnt82 2453 2605(;)m 400 fnt84 1440 2123(end)m -400 fnt82 2053 2125(;)m +400 fnt4 1440 8363(pr)m 7(ocedur)k 7(e)k +400 fnt5 3270 8367(DoPriAbstr)m 6(act)k 400 fnt1 5622 8365(\()m +400 fnt5 5744 8367(r)m 18(oot)k 400 fnt1 6399 8365(:)m +400 fnt5 6576 8367(PriEntry)m 400 fnt1 7966 8365(\);)m 400 fnt4 +1440 7883(begin)m 1840 7403(if)m 400 fnt5 2206 7407(r)m 18(oot)k +320 fnt6 2861 7415(\255)m 400 fnt1 3043 7405(.)m 400 fnt5 +3116 7407(leftc)m 6(hild)k 400 fnt6 4529 7395(\271)m 400 fnt4 +4845 7403(nil)m 5380(then)s 6228(begin)s 400 fnt5 2240 6927(DoPriAbstr)m 6(act)k +400 fnt1 4592 6925(\()m 400 fnt5 4714 6927(r)m 18(oot)k +320 fnt6 5369 6935(\255)m 400 fnt1 5551 6925(.)m 400 fnt5 +5624 6927(leftc)m 6(hild)k 400 fnt1 6937 6925(\);)m 400 fnt5 +2240 6447(write)m 400 fnt1 3048 6445(\(',)m 3492('\);)s 400 fnt4 +1840 5963(end)m 400 fnt1 2453 5965(;)m 400 fnt5 1840 5487(PriK)m 14(e)k 12(yAbstr)k 6(act)k +400 fnt1 4298 5485(\()m 400 fnt5 4420 5487(r)m 18(oot)k +320 fnt6 5075 5495(\255)m 400 fnt1 5257 5485(.)m 400 fnt5 +5330 5487(k)m 4(e)k 12(y)k 400 fnt1 5838 5485(\);)m +400 fnt5 1840 5007(write)m 400 fnt1 2648 5005(\(':'\);)m 400 fnt5 +1840 4527(PriV)m 44(alueAbstr)k 6(act)k 400 fnt1 4592 4525(\()m +400 fnt5 4714 4527(r)m 18(oot)k 320 fnt6 5369 4535(\255)m +400 fnt1 5551 4525(.)m 400 fnt5 5624 4527(value)m 400 fnt1 +6477 4525(\);)m 400 fnt4 1840 4043(if)m 400 fnt5 2206 4047(r)m 18(oot)k +320 fnt6 2861 4055(\255)m 400 fnt1 3043 4045(.)m 400 fnt5 +3116 4047(rightc)m 6(hild)k 400 fnt6 4796 4035(\271)m 400 fnt4 +5112 4043(nil)m 5647(then)s 6495(begin)s 400 fnt5 2240 3567(write)m +400 fnt1 3048 3565(\(',)m 3492('\);)s 400 fnt5 2240 3087(DoPriAbstr)m 6(act)k +400 fnt1 4592 3085(\()m 400 fnt5 4714 3087(r)m 18(oot)k +320 fnt6 5369 3095(\255)m 400 fnt1 5551 3085(.)m 400 fnt5 +5624 3087(rightc)m 6(hild)k 400 fnt1 7204 3085(\);)m 400 fnt4 +1840 2603(end)m 400 fnt1 2453 2605(;)m 400 fnt4 1440 2123(end)m +400 fnt1 2053 2125(;)m +grestore + +grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet grestore grestore @@ -3932,26 +4255,37 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10334(33)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8917(33)s 400 fnt84 3304 11376(Basic)m -4308(graphics)s 360 fnt35 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 +400 fnt4 3304 11376(Basic)m +4308(graphics)s 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 +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -3969,20 +4303,20 @@ showpage %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10327(34)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8910(34)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic -gsave +8640 10080 1440 8640 400 480 100 0 667 LoutGr2 LoutBox stroke grestore gsave @@ -3993,7 +4327,7 @@ gsave 1.5000 1.5000 scale gsave 0 -254 translate -360 fnt35 2027 526 108 254 360 480 100 LoutGraphic +360 fnt2 2027 526 108 254 360 480 100 LoutGraphic gsave LoutBox stroke grestore @@ -4008,6 +4342,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -4023,28 +4365,39 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1527(lout)m 10332(35)s gsave +1417 -14005 translate +400 fnt1 9066 12051 0 12051 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12478(lout)m 8915(35)s 400 fnt84 2908 11375(Adv)m 4(anced)k -4704(graphics)s 360 fnt35 800 9644(@SysInclude { \207g })m 800 9164(...)m 800 8684(@Fig {)m +400 fnt4 2908 11375(Adv)m 4(anced)k +4704(graphics)s 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 800 4844(})m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -4061,20 +4414,20 @@ showpage %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10328(36)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8911(36)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8231 400 480 100 LoutGraphic -gsave +8640 10080 1440 8231 400 480 100 0 667 LoutGr2 LoutBox stroke grestore 5760 781 226 372 400 480 100 1440 7859 LoutGr2 @@ -4103,6 +4456,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -4118,27 +4479,38 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10331(37)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8914(37)s 400 fnt84 3302 11376(P)m 8(oint)k -4304(labelling)s 360 fnt35 800 9645(@Fig {)m 800 9165(A::)m 800 8685({)m +400 fnt4 3302 11376(P)m 8(oint)k +4304(labelling)s 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 grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -4155,20 +4527,20 @@ showpage %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10331(38)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8914(38)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8414 400 480 100 LoutGraphic -gsave +8640 10080 1440 8414 400 480 100 0 667 LoutGr2 LoutBox stroke grestore 5760 4873 0 4647 400 480 100 1440 3767 LoutGr2 @@ -4216,6 +4588,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -4231,27 +4611,38 @@ showpage %%+ font Helvetica /pgsave save def %%IncludeResource: font Times-Bold -/Times-Boldfnt84 vec2 /Times-Bold LoutRecode -/fnt84 { /Times-Boldfnt84 LoutFont } def +/Times-Boldfnt4 vec2 /Times-Bold LoutRecode +/fnt4 { /Times-Boldfnt4 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10329(39)s gsave +1417 -14005 translate +400 fnt1 9066 12051 0 12051 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8912(39)s 400 fnt84 3895 11375(Graphs)m -340 fnt35 800 9035(@Gr)m 3(aph)k 800 8555( abo)m 5(v)k 8(ecaption { Ne)k 6(w South )k 13(W)k 13(ales road deaths)k +400 fnt4 3895 11375(Graphs)m +340 fnt2 800 9035(@Gr)m 3(aph)k 800 8555( abo)m 5(v)k 8(ecaption { Ne)k 6(w South )k 13(W)k 13(ales road deaths)k 800 8075(\(per 100 million v)m 8(ehicle km\) })k 800 7595({)m 800 7115( @Data points { plus } pairs { dashed })m 800 6635( { 1963 5.6 1971 4.3 1976 3.7 1979 3.4)m 800 6155( 1982 2.9 1985 2.3 1988 2.0 })m 800 5675(})m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -4268,20 +4659,20 @@ showpage %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10326(40)s gsave +1417 -14005 translate +400 fnt1 9066 12052 0 12052 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8909(40)s gsave -0 667 translate -400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic -gsave +8640 10080 1440 8640 400 480 100 0 667 LoutGr2 LoutBox stroke grestore 1631 8367(Ne)m 10(w)k @@ -4313,6 +4704,14 @@ grestore grestore grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet +grestore + +grestore grestore @@ -4330,17 +4729,20 @@ showpage %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10339(41)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 1 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8922(41)s 360 fnt35 800 10484(-2p @F)m 10(ont @Gr)k 3(aph)k +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 800 7604( belo)m 5(wcaption { @I n })k 800 7124({)m 800 6644( @Data points { \207lledcircle } { ...)m 21( })k @@ -4348,6 +4750,14 @@ grestore 800 3284( {)m 800 2804( xloop from { 10 } to { 500 } b)m 7(y { 20 } do)k 800 2324( {)m 800 1844( x sqr)m -14(t { pi*x / 4 } + 1)k 800 1364( })m 800 884( })m 800 404(})m grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +1 LoutMargSet +grestore + +grestore grestore @@ -4362,31 +4772,31 @@ showpage %%+ font Times-Italic /pgsave save def %%IncludeResource: font Times-Italic -/Times-Italicfnt83 vec2 /Times-Italic LoutRecode -/fnt83 { /Times-Italicfnt83 LoutFont } def +/Times-Italicfnt5 vec2 /Times-Italic LoutRecode +/fnt5 { /Times-Italicfnt5 LoutFont } def 0.0500 dup scale 10 setlinewidth %%EndPageSetup gsave 0 0 translate -400 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic +400 fnt1 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 400 480 100 LoutGraphic gsave LoutPageSet grestore gsave 0 16840 translate 0.0000 rotate -9066 12588 0 12588 400 480 100 1417 -14005 LoutGr2 +160 fnt1 1417 -1526(lout)m 10327(42)s gsave +1417 -14005 translate +400 fnt1 9066 12053 0 12053 400 480 100 LoutGraphic +gsave 0 LoutMargSet grestore -160 fnt82 0 12479(lout)m 8910(42)s gsave -0 668 translate -400 fnt82 8640 10080 1440 8640 400 480 100 LoutGraphic -gsave +8640 10080 1440 8640 400 480 100 0 668 LoutGr2 LoutBox stroke grestore gsave 1440 4671 translate -360 fnt82 5670 3969 0 3969 360 480 90 LoutGraphic +360 fnt1 5670 3969 0 3969 360 480 90 LoutGraphic gsave grestore @@ -4433,18 +4843,26 @@ grestore 1953 535 0 535 360 480 90 0 -535 LoutGr2 300 2 trpoint translate 0 ysize translate gsave grestore -360 fnt83 108 182(Exponential)m +360 fnt5 108 182(Exponential)m grestore grestore 1428 533 0 533 360 480 90 0 -533 LoutGr2 300 3.14159 300 4 div mul sqrt 1 add trpoint translate 0 0 translate gsave grestore -360 fnt83 108 182(Uniform)m grestore +360 fnt5 108 182(Uniform)m grestore grestore end grestore -360 fnt83 4189 3901(n)m +360 fnt5 4189 3901(n)m +grestore + +grestore +gsave +1417 -14005 translate +400 fnt1 0 0 0 0 400 480 100 LoutGraphic +gsave +0 LoutMargSet grestore grestore @@ -4457,12 +4875,12 @@ pgsave restore showpage %%Trailer -%%DocumentNeededResources: font Helvetica +%%DocumentNeededResources: font Times-Roman +%%+ font Times-Bold +%%+ font Times-Italic +%%+ font Helvetica %%+ font Helvetica-Oblique %%+ font Symbol -%%+ font Times-Roman -%%+ font Times-Italic -%%+ font Times-Bold %%DocumentSuppliedResources: procset LoutStartUp %%+ procset LoutTabPrependGraphic %%+ procset LoutFigPrependGraphic diff --git a/doc/user/README b/doc/user/README index 0cf3731..22b735c 100644 --- a/doc/user/README +++ b/doc/user/README @@ -34,4 +34,4 @@ A copy of the final PostScript output file (A4 paper size) is stored at "ftp://ftp.cs.su.oz.au/jeff/lout/lout-3.19.user.ps.gz". Jeffrey H. Kingston -8 April 2000 +11 May 2000 diff --git a/doc/user/all b/doc/user/all index 64eaf96..cf518db 100644 --- a/doc/user/all +++ b/doc/user/all @@ -21,8 +21,8 @@ Lout Document Formatting System } @Author { Jeffrey H. Kingston } - @Edition { Version 3.20 -April, 2000 } + @Edition { Version 3.21 +May, 2000 } @Publisher { Copyright @CopyRight 1991, 2000 Jeffrey H. Kingston, Basser Department of Computer Science, diff --git a/doc/user/bas_lang b/doc/user/bas_lang index 01fbf2d..a4c33e9 100644 --- a/doc/user/bas_lang +++ b/doc/user/bas_lang @@ -65,15 +65,20 @@ If you are using your own setup file (Section {@NumberOf setup}), you can change it there. If not, you can change it at the start of your document, as explained in Section {@NumberOf ordinary}. @PP -Czech, Polish, and Slovenian use the ISO-LATIN-2 character set, and +Czech, Polish, and Slovenian use the Latin2 character set, and users of these languages have to place @ID @Code "@SysInclude { latin2 }" -at the very start of their documents in order to get access to the -ISO-LATIN-2 versions of the fonts. These have family names such as -TimesCE, CourierCE, HelveticaCE, and so on, to distinguish them -from the same fonts encoded in ISO-LATIN-1. The face names are -unchanged. Consult file @Code "latin2.fd" in the standard include -directory for a complete list of these fonts. +at the start of their documents in order to get access to the +Latin2 versions of the fonts. +@FootNote { Prior to Version 3.21 of Lout, some accented characters +were missing from these Latin2 fonts, but this deficiency has now +been corrected by getting Lout to generate output for these characters +which prints their base letter and accent separately. } These have +family names such as TimesCE, CourierCE, HelveticaCE, and so on (CE +standing for Central European), to distinguish them from the same +fonts encoded in Latin1. The face names are unchanged. Consult +database file @Code "latin2.ld" in the standard database directory +for a complete list of these fonts. @PP Russian uses Cyrillic characters. In principle, users of Russian have to place diff --git a/doc/user/fmt_head b/doc/user/fmt_head index 77cbada..ed1f487 100644 --- a/doc/user/fmt_head +++ b/doc/user/fmt_head @@ -154,7 +154,7 @@ floating figures and tables, for example, are not from BasicSetup so cannot be used. @PP There are five symbols of special relevance to page headers and -footers: {@Code "@Null"}, {@Code "@Centre"}, {@Code "@Center"}, +footers: {@Code "@Null"}, {@Code "@Centre"}, {@Code "@Center"}, {@Code "@Right"}, and {@Code "@PageNum"}. @PP The @Code "@Null" symbol is similar to the empty object in printing as @@ -180,6 +180,12 @@ Arabic, Roman, etc. as specified by the @Code "@PageNumbers" or @Code "@IntroPageNumbers" option. @Code "@PageNum" is available only within page header and footer options. @PP +To get the @I last page into a header, so that you can have page +headers like `Page 5 of 8', you need @Code "@NumberOf last.page" as +described in Section {@NumberOf cross}. You might have +@ID @Code "@Centre { Page @PageNum of @NumberOf last.page }" +as the value of @Code "@EvenTop" and the rest. +@PP At this point you might like to pause and verify that the default values of the sixteen options given above produce what we said they would: no footers, and a centred page number between hyphens on every diff --git a/doc/user/fmt_marg b/doc/user/fmt_marg index 1b82d41..c1fdcef 100644 --- a/doc/user/fmt_marg +++ b/doc/user/fmt_marg @@ -28,6 +28,22 @@ When setting these options you must ensure that In other words, the total margin on odd pages must be the same as on even pages. @PP +In addition, four options are provided which add extra left and right +margins to the page @I body (that is, everything but the running headers +and footers): +@ID @OneRow @Code { +"@OddLeftBodyMargin { 0c }" +"@OddRightBodyMargin { 0c }" +"@EvenLeftBodyMargin { 0c }" +"@EvenRightBodyMargin { 0c }" +} +The default is to add no page body margins, as shown. Most people who +use page body margins would change only @Code "@OddRightBodyMargin" and +{@Code "@EvenLeftBodyMargin"}, since those are the outside margins. As +for ordinary margins, the total (left plus right) page body margin must +be the same on odd and even pages. Margin notes +(Section {@NumberOf marginnotes}) occupy body margin space. +@PP You can have a box drawn around each page if you wish. Here are the relevant options and their default values: @ID @OneRow @Code { @@ -77,6 +93,20 @@ centimetre margin between its boundary and the page contents. If the left margin is 2.5 centimetres, say, this gives a total left margin from the page edge to the page contents of 3.5 centimetres. @PP +More generally, you can enclose each page in any object at all, by +means of the @Code "@PageEnclose" option: +@ID @Code { +"@PageEnclose { @Body }" +} +Within this option, @Code "@Body" stands for the page, and it must +occur exactly once. You could place a curved box around each page, +for example, by writing +@ID @Code { +"@PageEnclose { @CurveBox @Body }" +} +This is of course also available from the @Code "@PageBox" symbols, but +with @Code "@PageEnclose" there are infinitely many other possibilities. +@PP Finally, it is possible to have something other than the usual white background on the page, using the @Code "@PageBackground" option: page.background @Index @Code "@PageBackground" diff --git a/doc/user/fmt_setu b/doc/user/fmt_setu index 6e1bb05..0f59b56 100644 --- a/doc/user/fmt_setu +++ b/doc/user/fmt_setu @@ -49,17 +49,15 @@ The remainder of this section is a tour through @Code {doc}, explaining the various parts and how to modify them. The first lines that actually do anything are these: @ID @OneRow @Code { -"@SysInclude { fontdefs }" "@SysInclude { langdefs }" "@SysInclude { bsf }" "@SysInclude { dsf }" "@SysInclude { docf }" } We already know that @Code "@SysInclude" causes Lout to read a file from -the Lout system include directory. Files @Code fontdefs and @Code langdefs -fontdefs.file @Index { @Code "fontdefs" file } +the Lout system include directory. File @Code langdefs langdefs.file @Index { @Code "langdefs" file } -tell Lout what fonts and languages there are. Files @Code "bsf" and +tells Lout what languages there are, and files @Code "bsf" and @Code "dsf" contain bsf.file @Index { @Code "bsf" file } dsf.file @Index { @Code "dsf" file } @@ -178,7 +176,8 @@ or all document types. The setup file ends with a comment identifying a spot where database declarations may database.dec @Index { database declarations, where to put } -be put, and one such declaration, for reference printing styles. +be put, and two such declarations, one for fonts and the other for +reference printing styles. @PP The setup files used with other packages, such as C and C++ program printing, diagrams, and graphs, are similar to the @Code { doc } setup file we diff --git a/doc/user/letterbook b/doc/user/letterbook index 269f073..6d6b749 100644 --- a/doc/user/letterbook +++ b/doc/user/letterbook @@ -14,7 +14,6 @@ # # ############################################################################### - @SysInclude { fontdefs } # font definitions @SysInclude { langdefs } # language definitions @SysInclude { bsf } # BasicSetup package @SysInclude { dsf } # DocumentSetup package @@ -353,4 +352,5 @@ # # ############################################################################### +@SysDatabase @FontDef { fontdefs } # fond definitions @SysDatabase @RefStyle { refstyle } # reference printing styles diff --git a/doc/user/preface b/doc/user/preface index 2f258eb..b136bb0 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.cs.usyd.edu.au/jeff/lout" in which may be found a gzipped tar file containing the main distribution -(currently {@Code "lout-3.20.tar.gz"}), and various other things including +(currently {@Code "lout-3.21.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 @@ -52,10 +52,12 @@ E. Knuth's @TeX system @Cite { $knuth1984tex }, and the optimal paragraph breaking algorithm was applied to the problem of producing optimal page breaks. The first implementations of horizontal galleys and optimal page breaking were by my student Gabor Inokai. Vincent Tan contributed -the PDF back end. The strongest influence during this period has come from -Lout's users; indeed the number of people who have offered comments and -suggestions is so great that it is quite out of my power to acknowledge them -individually. I hope that seeing their ideas adopted will be thanks enough. +the PDF back end. Valeriy E. Ushakov has smoothed the path for many +people, by his contributions to improving Lout's robustness, and his +tireless management of and responses to the Lout mailing list. The +number of other people who have offered comments and suggestions to me is so +great that it is quite out of my power to acknowledge them individually. I +hope that seeing their ideas adopted will be thanks enough. @DP @RLD lines @Break { Jeffrey H. Kingston diff --git a/doc/user/prg b/doc/user/prg index ec473aa..792124c 100644 --- a/doc/user/prg +++ b/doc/user/prg @@ -24,7 +24,7 @@ breaks and indenting you give to the program. What Lout does do is cope with characters in the program text that it would ordinarily either reject or interpret in some way (braces and so on), ensuring that you can include program texts with absolutely no modifications; plus, if you wish, Lout -will print keywords in bold, identifiers in italics, etc. +will print keywords in bold, identifiers in italics, add line numbers, etc. @PP At the time of writing, the available programming languages are: eiffel. @Index { Eiffel program printing } @@ -94,6 +94,7 @@ source file of that program ({@I prg2lout.c}) if you want to try it yourself. @Include { prg_opti } @Include { prg_chan } @Include { prg_tabs } +@Include { prg_form } @Include { prg_comm } @Include { prg_prog } @Include { prg_pipe } diff --git a/doc/user/prg_chan b/doc/user/prg_chan index 6273b7d..781e9bb 100644 --- a/doc/user/prg_chan +++ b/doc/user/prg_chan @@ -23,6 +23,7 @@ cprint. @Index @Code "@CPSetup" { @Rowa A { "@Use { @CPSetup" } @Rowb A { "pipe" } B { } +@Rowb A { "numbered" } B { No } @Rowb A { "style" } B { fixed } @Rowa @@ -39,6 +40,7 @@ cprint. @Index @Code "@CPSetup" @Rowb A { "fixednumbers" } B { Base } @Rowb A { "fixedstrings" } B { Base } @Rowb A { "fixedcomments" } B { Base } +@Rowb A { "fixedlinenumbers" } B { Base } @Rowa @Rowb A { "fixedidentifiersformat" } B { "@Body" } @@ -47,6 +49,7 @@ cprint. @Index @Code "@CPSetup" @Rowb A { "fixednumbersformat" } B { "@Body" } @Rowb A { "fixedstringsformat" } B { "@Body" } @Rowb A { "fixedcommentsformat" } B { "@Body" } +@Rowb A { "fixedlinenumbersformat" } B { "@Body" } @Rowa @Rowa A { "..." } @@ -60,13 +63,24 @@ options whose name begins with @Code "fixed" apply only when 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}. We can also see the default font family, font face, font size, +{@Code fixed}, and of @Code "numbers" is {@Code No}. We can also see the +default font family, font face, font size, line spacing, 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 +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, +the default identifier face is {@Code Slope}, the default keyword +face is {@Code Bold}, and so on. You can actually give a family name +before the face name in these options, allowing you to switch font +families for different parts of the program if you wish. +@PP The @Code fixedidentifiersformat option allows you to make a more radical change to the format of identifiers than just the font. Within this option, @Code "@Body" stands for the identifier being formatted, and @@ -99,6 +113,18 @@ Or suppose you like @Code "varying" as it stands, but would like it to be the default style rather than {@Code "fixed"}. Again, only one line needs to be changed, to {@Code "style { varying }"}. @PP +It is probably not a good idea to change the default value of +@Code { numbered } to {@Code Yes}, because small fragments of +code within paragraphs will then get line numbers as well as large +displayed programs. If you do have many large numbered programs as +well as small fragments, a better approach would be to place +@ID @OneRow @Code @Verbatim { +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 }"}. +@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 default values may be different. Changing an option affects only the diff --git a/doc/user/prg_comm b/doc/user/prg_comm index a679f4f..f059388 100644 --- a/doc/user/prg_comm +++ b/doc/user/prg_comm @@ -12,10 +12,8 @@ character should then be Lout text. For example, to force Lout to start a new page at some point within a C program, place @ID @Code "/*@ @NP */" at that point. (In this case you can also simply include a formfeed -formfeed. @Index { formfeed in program texts } -character, control-L, without any comment; whatever the language, a formfeed -in program text is taken to be a request to start a new page.) Or, to -make a heading in an Eiffel program, do this: +character without any comment; see Section {@NumberOf formfeed} +for more on this.) Or, to make a heading in an Eiffel program, do this: @ID @Code "--@ @Display @Heading { treeprint }" (Eiffel comments begin with @Code "--" and end at the end of the line.) Other possible uses for this feature include index entries and diff --git a/doc/user/prg_erro b/doc/user/prg_erro index 7ebbe3e..a5a19fa 100644 --- a/doc/user/prg_erro +++ b/doc/user/prg_erro @@ -26,7 +26,7 @@ involved. Lout will precede this error message with a file name, line number, and column number pointing to the Lout symbol ({@Code "@CP"}, {@Code "@Eiffel"} etc.) whose program text caused the error message, like this: -@ID @Code @Verbatim { +@ID @OneRow @Code @Verbatim { lout file "prg_tabs" (from "prg" line 96, from "all" line 46): 56,23: prg2lout 2,1: program text ended within comment } diff --git a/doc/user/prg_form b/doc/user/prg_form new file mode 100644 index 0000000..58b0e37 --- /dev/null +++ b/doc/user/prg_form @@ -0,0 +1,54 @@ +@Section + @Title { Dealing with formfeed characters in programs } + @Tag { formfeed } +@Begin +@PP +The formfeed (Control-L) character is traditionally taken to be a +request to start a new page. This is explicitly recognized by the +formal definition of the C language and many others, which treat +this character as white space from a language point of view, with +the understanding that it will cause a page break when printed. +@PP +There are no @Code { prg2lout } options for dealing with formfeed +characters. They will be converted into @Code "@NP" (new page) +symbols, causing a new page or column to be begun in the printing. +@PP +Whether formfeed characters end their line or not is a problem. Consider +this example, where @Code "^L" stands for one formfeed character: +@ID @Code @Verbatim { +abc +def^Lghi +jhk +} +How many lines does this example contain? Your text editor would +probably say `three', but when you print it you will see four. It +is not desirable to have printed programs (especially those with +line numbers attached) disagreeing with text editors about line +numbers. The solution adopted by @Code { prg2lout } to this +problem is to treat the formfeed character as including a newline, +but to assign the same line number to both parts of the original line +(the parts before and after the formfeed). If the part after the +formfeed is empty (that is, if the formfeed character is immediately +followed by a newline or another formfeed), and if the formfeed is not +inside any lexical unit, then the empty line after the formfeed will +not be printed at all. +@PP +The most common case is that of a formfeed character, outside any +lexical unit, on a line by itself. Let's see what this rule +produces in the following example of this case: +@ID @Code @Verbatim { +abc +def +^L +ghi +} +There will be one blank line numbered 3 at the end of the first page, +and a line numbered 4 and containing @Code ghi at the start of the +next page. The blank line is a necessity, at least when lines are +being numbered, because we want the last line in the example to be +numbered 4 to agree with text editors, but we don't want the line +numbers on our print to skip from 2 on the first page to 4 on the +second, because that would make readers anxious about the apparently +missing line 3. If you don't want that empty line, move the formfeed +character to the end of the preceding line. +@End @Section diff --git a/doc/user/prg_lone b/doc/user/prg_lone index 1717998..324f79e 100644 --- a/doc/user/prg_lone +++ b/doc/user/prg_lone @@ -31,6 +31,10 @@ 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 -L}{@I number} } { +Add line numbers to the program print, starting with {@I number}, or +1 if {@I number} is omitted. +} @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 9eb1818..0b8dbb6 100644 --- a/doc/user/prg_opti +++ b/doc/user/prg_opti @@ -68,6 +68,7 @@ default values: @ID @OneRow @Code { "@CP [ or @Eiffel, @Blue, etc. ]" " style { fixed }" +" numbered { No }" " font { Courier }" " size { -1.0p }" " line { 1.0vx }" @@ -84,6 +85,10 @@ 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 +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"}, the font size to use, and {@Code "line"}, the inter-line spacing. The default value for @Code "size" asks for one point smaller than in the diff --git a/doc/user/prg_perl b/doc/user/prg_perl index 4a14860..643afa6 100644 --- a/doc/user/prg_perl +++ b/doc/user/prg_perl @@ -30,8 +30,8 @@ here-document) is one of @Perl { EOF }, @Perl { EOT }, @Perl { END }, and the empty string, all optionally enclosed in quotes of any of the three kinds. If this condition is not met, then the here-document will be treated as Perl program text. If the condition is met, there is still -another problem: everything after the @Perl { << } symbol on the same -line will be treated (incorrectly) as a string; the worst consequence +another problem: the @Perl { << } symbol and everything after it on the +same line will be treated (incorrectly) as a string. The worst consequence of this is that stacked here-documents will not be printed properly. } @@ -47,11 +47,12 @@ character is immediately preceded by @Code { "q" }, @Code { "qq" }, @Code { "qx" }, @Code { "qw" }, @Code { "qr" }, @Code { "m" }, @Code { "s" }, @Code { "y" }, or @Code { "tr" }. It also chooses the regular expression interpretation if the @Code "/" character appears -at the start of a line, or if it is -immediately preceded by zero, one, or two space or tab characters, which -are themselves immediately preceded by a complete lexical unit which is -one of @Code { "(" }, @Code { "=" }, @Code { "=~" }, @Code { "!~" }, -@Code { "split" }, @Code { "if" }, @Code { "not" }, @Code { "unless" }, +at the start of a line, or if it is immediately preceded by zero, one, +or two space or tab characters, which are themselves immediately preceded +by a complete lexical unit which is one of @Code { "(" }, @Code { "=" }, +@Code { "=~" }, @Code { "!~" }, @Code { "split" }, @Code { "if" }, +@Code { "and" }, @Code { "&&" }, @Code { "or" }, @Code { "||" }, +@Code { "not" }, @Code { "!" }, @Code { "unless" }, @Code { "for" }, @Code { "foreach" }, and @Code { "while" }. Otherwise it chooses the division interpretation. In the rare cases where this rule fails, you can force @Code { prg2lout } to choose the regular expression @@ -62,23 +63,19 @@ division interpretation by placing at least three spaces before the } @LI { -The @Code { prg2lout } program recognises complete substitution operators, -such as @Code "s/abc/ABC/" and {@Code "s{abc}{ABC}"}, as individual lexical -units, and it formats them as it does strings. However, its rule for -deciding where these units end is rather simple-minded: at the start, -it works out what character finishes the unit (in the examples above, -@Code "/" and @Code "}" respectively), and scans along until it reaches -the second occurrence of this character not preceded by the @Code "\\" -escape character. This is inadequate in two respects. Firstly, -@ID @Code "s{{}}{}" -is a complete legal substitution expression in Perl, but @Code { prg2lout } -will think it ends after the second {@Code "}"}, and so format the rest -of it wrongly. Secondly, and more seriously, -@ID @Code "s{abc}<ABC>" -is also allowed in Perl, but @Code { prg2lout } does not understand that -the finishing character can change in this way, so in this example it will -keep scanning forever, looking for the second @Code "}" character, which is -disastrous. +Substitution expressions, even such lexically complex ones as +@Perl { s{{@D}}[{@I}] }, are handled correctly. However, +@Code { prg2lout } does not understand that the letters @Code "gimosx" +in any combination appearing immediately after a substitution +expression are part of it; it treats them as the start of a new lexical +unit. This new unit will usually be taken to be an identifier, which +is harmless enough, but occasionally it is taken to be something +else. For example, in +@ID @Code @Verbatim { s///s; } +the trailing @Code "s" will be mistaken for the start of a new +substitution expression, with @Code ";" delimiting the first +pattern. This particular example can be fixed by inserting a +space before the semicolon. } @EndList @@ -93,7 +90,7 @@ Thus, asking for Perl always gives you Pod as well. If you are using your own setup files for both languages, it is probably better to break this connection by deleting this line from your copy of the @Code perl setup file and placing -@ID @Code { +@ID @OneRow @Code { "@Include { mypod }" "@Include { myperl }" } @@ -105,4 +102,19 @@ do not really apply. So for Pod only these have been discarded and replaced by a completely different set of options, controlling such things as the size of headings and the gaps between list items, which you can find documented in the @Code { pod } setup file. +@PP +If you ask for line numbers on a Pod program, or on a Perl program that +contains Pod, any text blocks in the Pod that would otherwise have +appeared as filled paragraphs will come out with the line breaks in +the source respected, and lines numbered accordingly. Because +@Code "prg2lout" attaches line numbers before Lout breaks paragraphs, +it is not possible to number the lines after paragraph breaking. +@PP +Owing to problems behind the scenes, if a Pod inclusion in a Perl +program has unbalanced braces, @Code "prg2lout" is forced to insert +braces into the Pod text to make them balance. It will insert a +left brace directly before any unbalanced right brace, and it will +insert right braces at the end of the Pod inclusion to balance any +preceding unbalanced left braces. It will tell you if it has to do +this. This problem does not afflict Pod when used as a separate language. @End @Section diff --git a/doc/user/prg_pipe b/doc/user/prg_pipe index afbb87e..813a691 100644 --- a/doc/user/prg_pipe +++ b/doc/user/prg_pipe @@ -9,7 +9,7 @@ there is an exception. The program text may contain an @Code "@Include" or @Code "@SysInclude" command, which, as for the @Code "@Verbatim" symbol (Section {@NumberOf verbatim}), causes Lout to take the program text from a file: -@ID @Code { +@ID @OneRow @Code { "@Eiffel" "{" " @Include { \"/usr/staff/jeff/Eiffel/hash.e\" }" @@ -32,7 +32,7 @@ is passed to {@Code prg2lout}. For example, suppose that all your Eiffel routines begin with the routine name one tab stop from the left margin and end at the first following @Eiffel { end } indented two tab stops. Then -@ID @Code { +@ID @OneRow @Code { "@Eiffel" " pipe { \"sed -n /^.insert/,/^..end/p\" }" "{" @@ -44,7 +44,7 @@ file. Assuming that your program text has been laid out in a disciplined manner, every line of the selection will begin with a tab character that is not wanted in this display, so an even better pipe is -@ID @Code { +@ID @OneRow @Code { "@Eiffel" " pipe { \"sed -n /^.insert/,/^..end/p | cut -c2-\" }" "{" diff --git a/doc/user/prg_prog b/doc/user/prg_prog index 8d343f6..19a525e 100644 --- a/doc/user/prg_prog +++ b/doc/user/prg_prog @@ -7,14 +7,14 @@ The standard reference for the Eiffel language @Cite { $meyer1992eiffel } specifies that identifiers within comments may or should be enclosed in ` and ' so that they may be noticed and printed in an italic font: -@ID @Code @Verbatim { +@ID @OneRow @Code @Verbatim { @ID @Eiffel { deposit(amount: REAL) is -- deposit `amount' dollars } } produces -@ID @Eiffel { +@ID @OneRow @Eiffel { deposit(amount: REAL) is -- deposit `amount' dollars } diff --git a/doc/user/prg_tabs b/doc/user/prg_tabs index 3a04bfa..9fe101d 100644 --- a/doc/user/prg_tabs +++ b/doc/user/prg_tabs @@ -24,10 +24,10 @@ must be a Lout length. For example, requests that tab stops be placed at half-inch intervals. In other words, a distance of one tab stop in the program text will be equivalent to a distance of half an inch on the printed page. For example, -@ID @Code "@CP style { varying } tabout { 3f }" +@ID @Code "@CP style { varying } tabout { 3f } numbered { Yes }" might produce the following, where tab characters in the program text have been used for indenting and also to align the comments: -@ID @OneRow @CP style { varying } tabout { 3f } { +@ID @OneRow @CP style { varying } tabout { 3f } numbered { Yes } { struct tnode { /* the basic node */ char *word; /* points to the text */ int count; /* number of occurrences */ @@ -35,10 +35,12 @@ struct tnode { /* the basic node */ struct tnode *right; /* right child */ }; } -The value {@Code "3f"} means three times the current font size, and -it is the default value of @Code "tabout" for the @Code { varying } -and @Code { symbol } styles (Section {@NumberOf cpsetup}). In a -12 point font this is 36 points, or half an inch. +We've used @Code "numbered { Yes }" to demonstrate that the features +for dealing with tabs work even with line numbers. The value {@Code "3f"} +means three times the current font size, and it is the default value of +@Code "tabout" for the @Code { varying } and @Code { symbol } styles +(Section {@NumberOf cpsetup}). In a 12 point font this is 36 points, +or half an inch. @PP If @Code "tabout" is too small, there is a danger that the alignment might fail. For example, diff --git a/doc/user/str_marg b/doc/user/str_marg index 0f9f75d..e2eba2d 100644 --- a/doc/user/str_marg +++ b/doc/user/str_marg @@ -55,24 +55,26 @@ similar to the @Code "@InitialBreak" setup file option. @PP @Code "@MarginNoteHGap" determines how far away from the adjacent text column the margin note will appear; the default -value is 0.5 centimetres. @Code "@MarginNoteVGap" is the minimum +value is 0.5 centimetres. Notice that, by this definition, margin +notes will appear in the page body margin (Section {@NumberOf margins}) +if there is one. @Code "@MarginNoteVGap" is the minimum vertical separation between margin notes (i.e. it determines how far downwards a note will be shifted to avoid the previous one). @Code "@MarginNoteWidth" determines the width of the column in which margin notes (both left and right) are set; the default value of 1.5 centimetres is suited to the 2.5 centimetre page margins -that are the default, but if you widen the page margins you will be -able to increase @Code "@MarginNoteWidth" too. +that are the default, but if you widen the page or page body margins +you will be able to increase @Code "@MarginNoteWidth" too. @PP -Left notes extend into the left margin a total distance of -@Code "@MarginNoteHGap" plus {@Code "@MarginNoteWidth"}, and it is -up to you to make sure that this does not put them off -the page. Similar remarks apply to right notes. And since notes -are never shifted to the next page, only downwards, there is also -a risk that a note will be shifted off the bottom of the page, if -it is very long or if preceding notes obstruct it. Again, it is -up to you to avoid this problem by keeping your notes small and not -too close together. +Left notes extend into the left margin (including the left page body +margin) a total distance of @Code "@MarginNoteHGap" plus +{@Code "@MarginNoteWidth"}, and it is up to you to make sure that this +does not put them off the page. Similar remarks apply to right +notes. And since notes are never shifted to the next page, only +downwards, there is also a risk that a note will be shifted off the +bottom of the page, if it is very long or if preceding notes obstruct +it. Again, it is up to you to avoid this problem by keeping your notes +small and not too close together. @PP Margin notes inside footnotes, figures and tables work well. Margin notes in multi-column documents are disastrous unless used very diff --git a/doc/user/tbl_intr b/doc/user/tbl_intr index 51524cb..3f1f557 100644 --- a/doc/user/tbl_intr +++ b/doc/user/tbl_intr @@ -91,8 +91,11 @@ In rare cases, when the table occupies an entire paragraph but is not displayed, a bug in the current version of Basser Lout causes the second column to appear much too far to the right. Until the problem is fixed, the first thing to try if this occurs is to replace the very first -row symbol ({@Code "@Rowa"}, {@Code "@Rowb"}, etc.) by {@Code "@FirstRowa"}, -{@Code "@FirstRowb"}, etc. +row symbol ({@Code "@Row"}, {@Code "@Rowa"}, {@Code "@Rowb"}, etc.) by +{@Code "@FirstRow"}, {@Code "@FirstRowa"}, {@Code "@FirstRowb"}, +etc. There are also {@Code "@HeaderFirstRow"}, {@Code "@HeaderFirstRowa"}, +{@Code "@HeaderFirstRowb"} etc. symbols for replacing {@Code "@HeaderRow"}, +{@Code "@HeaderRowa"}, {@Code "@HeaderRowb"}, etc., if required. # That should work, but if it doesn't, replacing # @Code "@Tbl" by @Code "@OneCol @Tbl" certainly will, although it also # prevents the table from breaking across page boundaries. diff --git a/doc/user/typ_repo b/doc/user/typ_repo index b73671a..5cd70ba 100644 --- a/doc/user/typ_repo +++ b/doc/user/typ_repo @@ -114,10 +114,7 @@ and to set the @Code "@MakeContents" option within it to on the first page, but if the @Code "@ContentsSeparate" option of @Code "@Report" is contents.separate @Index @Code "@ContentsSeparate" -set to @Code "Yes" it will appear on separate pages. This is only -effective if @Code "@CoverSheet" is {@Code No}, since a separate cover -sheet and separate pages for the table of contents would leave nothing on -the first page. +set to @Code "Yes" it will appear on separate pages. @PP @Code "@InitialFont" is the font of the bulk of the report, and should contain a family, a face, and a size. The default @@ -208,9 +205,8 @@ No @Code "@BeginSections" or @Code "@EndSections" symbols are needed. The beginsections.reports @SubIndex { in reports } endsections.reports @SubIndex { in reports } general rule is that you need these bracketing symbols only when you are -inside something else. Sections lie inside -@Code "@Text" in ordinary documents, but they don't lie inside anything -else in technical reports. +inside something else. Sections lie inside @Code "@Text" in ordinary +documents, but they don't lie inside anything else in technical reports. @PP A section may have subsections, between subsection.reports @SubIndex { in reports } diff --git a/doc/user/user.ps b/doc/user/user.ps index 203f7e3..9cbcb3d 100644 --- a/doc/user/user.ps +++ b/doc/user/user.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 -%%Creator: Basser Lout Version 3.19 (March 2000) -%%CreationDate: Mon Apr 3 16:16:36 2000 +%%Creator: Basser Lout Version 3.20 (April 2000) +%%CreationDate: Mon Apr 24 13:08:28 2000 %%DocumentData: Binary %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) @@ -4912,7 +4912,892 @@ end /fnt78 { /Symbol LoutFont } def %%EndSetup -%%Page: 11 1 +%%Page: i 1 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Helvetica +%%+ font Symbol +/pgsave save def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup + +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore +600 fnt35 1751 12125(A)m 2310(User')s 30(s)k 4123(Guide)s +5863(to)s 6507(the)s 3956 10685(Lout)m 616 9245(Document)m 3500(F)s 18(or)k -15(matting)k +6490(System)s 240 fnt35 3544 6059(Jeffre)m 4(y)k 4321(H.)s +4606(Kingston)s 3883 4395(V)m 19(ersion)k 4726(3.20)s 3974 4107(Apr)m -3(il,)k +4567(2000)s 0 340(Cop)m 7(yr)k -3(ight)k 240 fnt78 +1080 342(\343)m 240 fnt35 1323 340(1991,)m 1967(2000)s 2558(Jeffre)s 4(y)k +3335(H.)s 3620(Kingston,)s 4663(Basser)s 5475(Depar)s -9(tment)k +6793(of)s 7055(Computer)s 8171(Science)s 3(,)k 0 52(The)m +469(Univ)s 6(ersity)k 1577(of)s 1839(Sydne)s 4(y)k +2698(2006,)s 3342(A)s 7(ustr)k 2(alia.)k 4441(ISBN)s +5048(0)s 5239(86758)s 5961(951)s 6379(5.)s +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: ii 2 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore +480 fnt84 0 12955(Contents)m 240 fnt84 0 11982(Chapter)m 908(1)s +240 fnt82 1015 11983(.)m 240 fnt84 1179 11982(Computer)m 2286(Pr)s 4(ograms)k +240 fnt82 3770 11983(..)m 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 +8971(1)s 720 11638(1.1.)m 1184(T)s 19(ypesetting)k 2347(computer)s +3310(programs)s 4264(independently)s 5674(of)s 5945(an)s 3(y)k +6342(document)s 7554(..)s 7898(..)s 8242(..)s 8971(1)s +720 11293(1.2.)m 1184(T)s 19(ypesetting)k 2347(computer)s 3310(programs)s +4264(as)s 4514(part)s 4945(of)s 5216(a)s 5382(lar)s 4(ger)k +5994(document)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s +8952(2)s 720 10948(1.3.)m 1184(Changing)s 2169(the)s 2517(appearance)s +3648(of)s 3919(a)s 4085(program)s 5146(..)s 5490(..)s +5834(..)s 6178(..)s 6522(..)s 6866(..)s 7210(..)s +7554(..)s 7898(..)s 8242(..)s 8952(4)s 720 10603(1.4.)m +1184(Changing)s 2169(the)s 2517(appearance)s 3648(of)s 3919(all)s +4212(programs)s 5166(simultaneously)s 6866(..)s 7210(..)s 7554(..)s +7898(..)s 8242(..)s 8953(6)s 720 10258(1.5.)m 1184(Dealing)s +1994(with)s 2476(tab)s 2821(characters)s 3839(in)s 4082(programs)s +5490(..)s 5834(..)s 6178(..)s 6522(..)s 6866(..)s +7210(..)s 7554(..)s 7898(..)s 8242(..)s 8959(8)s +720 9913(1.6.)m 1184(Dealing)s 1994(with)s 2476(formfeed)s 3409(characters)s +4427(in)s 4670(programs)s 5834(..)s 6178(..)s 6522(..)s +6866(..)s 7210(..)s 7554(..)s 7898(..)s 8242(..)s +8955(9)s 720 9568(1.7.)m 1184(Embedding)s 2341(Lout)s 2853(commands)s +3941(within)s 4609(program)s 5479(comments)s 6866(..)s 7210(..)s +7554(..)s 7898(..)s 8242(..)s 8831(10)s 720 9223(1.8.)m +1184(Embedding)s 2341(program)s 3211(te)s 3(xt)k 3626(within)s +4294(program)s 5164(comments)s 6522(..)s 6866(..)s 7210(..)s +7554(..)s 7898(..)s 8242(..)s 8831(10)s 720 8878(1.9.)m +1184(Reading)s 2035(and)s 2439(selecting)s 3341(program)s 4211(te)s 3(xt)k +4626(from)s 5150(separate)s 5988(\207les)s 6866(..)s 7210(..)s +7554(..)s 7898(..)s 8242(..)s 8851(11)s 720 8533(1.10.)m +1304(Error)s 1867(messages)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 8832(12)s 720 8188(1.11.)m +1304(Notes)s 1913(on)s 2210(Perl)s 2649(and)s 3053(Pod)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 8832(12)s +240 fnt84 0 7558(Refer)m 4(ences)k 240 fnt82 1362 7559(..)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 +8840(15)s 240 fnt84 0 6930(Index)m 240 fnt82 1018 6931(..)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 8833(16)s +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 1 3 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Helvetica +%%+ font Times-Italic +%%+ font Times-Italic +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt90 vec2 /Times-Italic LoutRecode +/fnt90 { /Times-Italicfnt90 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore +480 fnt84 0 12955(Chapter)m 1819(1.)s 2400(Computer)s 4618(Pr)s 8(ograms)k +240 fnt82 0 12003(This)m 471(chapter)s 1228(describes)s 2162(ho)s 6(w)k +2617(to)s 2850(typeset)s 3581(computer)s 4538(program)s 5403(te)s 3(xt)k +5812(using)s 6378(Lout)s 6884(in)s 7121(conjunction)s 8302(with)s +8778(the)s 220 fnt35 0 11712(prg2lout)m 153 fnt82 788 11804(1)m +240 fnt82 908 11715(\207lter)m 1418(program,)s 2335(which)s 2977(is)s +3187(al)s 2(w)k 2(ays)k 3898(installed)s 4765(where)s 6(v)k 3(er)k +5705(Lout)s 6217(is.)s 480 11341(It)m 680(is)s 884(possible)s +1719(to)s 1952(simply)s 2652(print)s 3157(out)s 3518(one)s +3914(or)s 4168(more)s 4709(program)s 5574(\207les)s 6017(independently)s +7422(of)s 7687(an)s 3(y)k 8078(document.)s 0 11053(Alternati)m 6(v)k 3(ely)k 15(,)k +1355(the)s 1715(program)s 2598(te)s 3(xt)k 3025(may)s +3503(be)s 3798(printed)s 4545(as)s 4807(part)s 5251(of)s +5534(a)s 5712(lar)s 4(ger)k 6337(Lout)s 6861(document.)s +7981(Either)s 8637(w)s 2(ay)k 15(,)k 0 10765(Lout)m +525(does)s 1028(not)s 1407(lay)s 1767(out)s 2146(the)s +2507(programs)s 3475(in)s 3731(the)s 4092(sense)s 4679(of)s +4964(choosing)s 5895(line)s 6322(breaks)s 7011(and)s 7428(indenting;)s +8457(it)s 8663(uses)s 0 10477(whate)m 6(v)k 3(er)k +942(line)s 1371(breaks)s 2061(and)s 2480(indenting)s 3452(you)s +3882(gi)s 6(v)k 3(e)k 4356(to)s 4610(the)s +4973(program.)s 5962(What)s 6555(Lout)s 7082(does)s 7587(do)s +7895(is)s 8120(cope)s 8644(with)s 0 10189(characters)m 1044(in)s +1313(the)s 1688(program)s 2584(te)s 3(xt)k 3026(that)s +3470(it)s 3689(w)s 2(ould)k 4370(ordinarily)s 5393(either)s +6022(reject)s 6638(or)s 6923(interpret)s 7818(in)s 8087(some)s +8675(w)s 2(ay)k 0 9901(\(braces)m 729(and)s 1121(so)s +1375(on\),)s 1790(ensuring)s 2655(that)s 3061(you)s 3464(can)s +3842(include)s 4590(program)s 5448(te)s 3(xts)k 5936(with)s +6406(absolutely)s 7431(no)s 7712(modi\207cations;)s 0 9613(plus,)m 506(if)s +723(you)s 1138(wish,)s 1697(Lout)s 2209(will)s 2635(print)s +3146(k)s 2(e)k 3(yw)k 2(ords)k 4121(in)s +4364(bold,)s 4897(identi\207ers)s 5903(in)s 6146(italics,)s 6822(add)s +7226(line)s 7640(numbers,)s 8571(etc.)s 480 9239(At)m 779(the)s +1127(time)s 1607(of)s 1878(writing,)s 2675(the)s 3023(a)s 4(v)k 6(ailable)k +3931(programming)s 5286(languages)s 6294(are:)s 1808 12 0 12 240 288 60 635 8599 LoutGr2 +LoutBox ltblblack +grestore + +grestore +240 fnt90 779 8703(Langua)m 2(g)k 2(e)k +1787(name)s gsave +2443 8599 translate +240 fnt82 1730 12 0 12 240 288 60 LoutGraphic +gsave +LoutBox ltblblack +grestore + +grestore +2587(Setup)s 3172(\207le)s 3517(name)s gsave +4173 8599 translate +240 fnt82 1469 12 0 12 240 288 60 LoutGraphic +gsave +LoutBox ltblblack +grestore + +grestore +4317(Lout)s +4820(symbol)s gsave +5642 8599 translate +240 fnt82 1499 12 0 12 240 288 60 LoutGraphic +gsave +LoutBox ltblblack +grestore + +grestore +5786(Default)s 6567(style)s gsave +7141 8599 translate +240 fnt82 1290 12 0 12 240 288 60 LoutGraphic +gsave +LoutBox ltblblack +grestore + +grestore +7285(`)s 7419(')s +7548(escapes)s 240 fnt82 779 8413(C,)m 1046(C++)s 220 fnt35 +2587 8410(cpr)m -3(int)k 4317(@CP)s 5786(\207x)s 6(ed)k +240 fnt82 7285 8413(No)m 779 8125(Eif)m 6(fel)k 220 fnt35 +2587 8122(eiff)m 6(el)k 4317(@Eiff)s 6(el)k 5786(v)s 5(ar)k -6(ying)k +240 fnt82 7285 8125(Y)m 24(es)k 779 7837(Blue)m 220 fnt35 +2587 7834(b)m 4(lue)k 4317(@Blue)s 5786(v)s 5(ar)k -6(ying)k +240 fnt82 7285 7837(Y)m 24(es)k 779 7549(Perl)m 220 fnt35 +2587 7546(per)m -3(l)k 4317(@P)s 11(er)k -3(l)k +5786(\207x)s 6(ed)k 240 fnt82 7285 7549(No)m 779 7261(Pod)m +220 fnt35 2587 7258(pod)m 4317(@P)s 11(od)k 5786(v)s 5(ar)k -6(ying)k +240 fnt82 7285 7261(No)m 0 6720(C)m 213(and)s 619(C++)s +1103(are)s 1452(handled)s 2270(together)s 3114(since,)s 3714(for)s +4054(formatting)s 5116(purposes,)s 6076(the)s 3(y)k 6540(dif)s 6(fer)k +7125(only)s 7607(in)s 7851(that)s 8271(C++)s 8756(has)s +0 6432(some)m 558(additional)s 1566(k)s 2(e)k 3(yw)k 2(ords)k +2538(plus)s 2985(an)s 3265(e)s 3(xtra)k 3796(w)s 2(ay)k +4244(to)s 4480(mak)s 2(e)k 5049(comments.)s 6193(Whene)s 6(v)k 3(er)k +7224(we)s 7556(mention)s 8394(C)s 8602(from)s 0 6144(no)m 6(w)k +465(on,)s 816(we)s 1156(mean)s 1735(both)s 2223(C)s +2439(and)s 2848(C++.)s 3446(See)s 3852(Section)s 4630(1.11)s +5089(for)s 5432(more)s 5983(on)s 6285(Perl)s 6728(and)s +7137(its)s 7417(handmaiden)s 8649(Pod.)s 0 5856(The)m 428(second)s +1151(to)s 1390(\207fth)s 1845(columns)s 2707(of)s 2978(this)s +3374(table)s 3894(will)s 4320(be)s 4602(e)s 3(xplained)k +5587(at)s 5819(v)s 6(arious)k 6568(points)s 7204(later)s +7687(in)s 7930(this)s 8326(chapter)s 13(.)k 480 5482(The)m +913(list)s 1270(of)s 1547(languages)s 2560(is)s 2776(lik)s 2(ely)k +3378(to)s 3623(e)s 3(xpand,)k 4424(because)s 5243(the)s +220 fnt35 5597 5479(prg2lout)m 240 fnt82 6450 5482(program)m 7326(has)s +7702(been)s 8217(designed)s 0 5194(to)m 252(mak)s 2(e)k +838(it)s 1044(relati)s 6(v)k 3(ely)k 2004(easy)s +2497(to)s 2750(add)s 3168(ne)s 6(w)k 3629(languages)s +4651(\(you)s 5159(don')s 4(t)k 5734(ha)s 4(v)k 3(e)k +6249(to)s 6502(write)s 7062(e)s 3(x)k 3(ecutable)k +8148(code,)s 8721(just)s 0 4906(declare)m 768(a)s 957(lot)s +1292(of)s 1586(records)s 2363(describing)s 3435(your)s 3957(language\).)s +5087(Consult)s 5915(the)s 6286(instructions)s 7475(at)s 7730(the)s +8101(top)s 8483(of)s 8778(the)s 0 4618(source)m 680(\207le)s +1041(of)s 1312(that)s 1730(program)s 2600(\()s 240 fnt83 +2673 4620(pr)m 8(g2lout.c)k 240 fnt82 3652 4618(\))m 3780(if)s +3997(you)s 4412(w)s 2(ant)k 4935(to)s 5174(try)s +5493(it)s 5685(yourself.)s 240 fnt84 0 3825(1.1.)m 471(T)s 17(ypesetting)k +1705(computer)s 2745(pr)s 4(ograms)k 3792(independently)s 5295(of)s +5567(any)s 5996(document)s 240 fnt82 480 3348(Printing)m 1299(of)s +1566(program)s 2432(\207les)s 2876(independently)s 4282(of)s 4549(an)s 3(y)k +4942(document)s 5941(is)s 6147(accomplished)s 7516(by)s 7806(the)s +8149(follo)s 6(wing)k 0 3060(Unix)m 534(pipeline:)s 220 fnt35 +480 2559(prg2lout -l language options \207les | lout -s > out.ps)m 240 fnt82 0 2060(where)m 220 fnt35 626 2057(language)m +240 fnt82 1566 2060(stands)m 2201(for)s 2525(an)s 3(y)k +2908(one)s 3296(of)s 3553(the)s 3886(programming)s 5227(language)s +6133(names)s 6781(in)s 7010(the)s 7344(\207rst)s 7761(column)s +8522(of)s 8778(the)s 1134 0 0 0 240 288 60 0 1553 LoutGr2 +0 0 moveto xsize 0 lineto stroke +grestore + +grestore +122 fnt82 0 1358(1)m 192 fnt82 +62 1288(Prior)m 496(to)s 693(V)s 21(ersion)k 1328(3.18)s +1707(of)s 1928(Lout,)s 2380(this)s 2702(chapter)s 3318(described)s +4103(ho)s 4(w)k 4477(to)s 4674(typeset)s 5268(programs)s +6036(written)s 6628(in)s 6828(the)s 7112(C)s 7287(programming)s +8377(language)s 0 1058(using)m 487(the)s 172 fnt35 795 1057(c2lout)m +192 fnt82 1326 1058(\207lter)m 7(,)k 1794(and)s 2148(Eif)s 4(fel)k +2651(programs)s 3444(using)s 3931(the)s 172 fnt35 4240 1057(eif2lout)m +192 fnt82 4864 1058(\207lter)m 10(.)k 5375(These)s 5906(ha)s 3(v)k 2(e)k +6338(no)s 4(w)k 6736(been)s 7174(withdra)s 2(wn)k +8065(and)s 8419(replaced)s 0 828(by)m 172 fnt35 270 827(prg2lout)m +192 fnt82 884 828(,)m 1005(which)s 1553(handles)s 2214(multiple)s +2931(languages.)s 3863(Ordinary)s 4631(Lout)s 5076(documents)s 5981(require)s +6602(no)s 6871(modi\207cations)s 7989(as)s 8223(a)s 8391(result)s +8898(of)s 0 598(this)m 317(change.)s 192 fnt84 4490 0(1)m + +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 2 4 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Times-Italic +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore +240 fnt84 0 13840(2)m 240 fnt83 5981 13843(Chapter)m 6831(1.)s +7105(Computer)s 8128(Pr)s 10(o)k 2(gr)k 3(ams)k +240 fnt82 0 13205(table)m 509(abo)s 3(v)k 3(e.)k +1228(As)s 1533(usual)s 2082(with)s 2553(Lout,)s 3100(the)s +3437(output)s 4098(will)s 4512(be)s 4783(a)s 4938(PostScript)s +5968(\207le.)s 6426(Each)s 6950(input)s 7490(\207le)s 7840(will)s +8255(be)s 3(gin)k 8829(on)s 0 12917(a)m 170(ne)s 6(w)k +622(page)s 1135(of)s 1411(the)s 1764(output,)s 2488(starting)s +3262(with)s 3749(its)s 4030(name)s 4609(in)s 4857(bold)s +5346(type.)s 5927(The)s 6360(options)s 7121(pro)s 3(vide)k +7910(control)s 8647(o)s 3(v)k 3(er)k 0 12629(the)m +348(\207nal)s 828(appearance,)s 2010(as)s 2260(follo)s 6(ws:)k +220 fnt35 0 12121(-p)m 240 fnt83 187 12126(style)m 240 fnt82 +960 12124(Select)m 1630(a)s 1823(printing)s 2661(style.)s 3303(Y)s 26(our)k +3856(choices)s 4652(are)s 220 fnt35 5026 12121(-p\207x)m 6(ed)k +240 fnt82 5667 12124(,)m 220 fnt35 5801 12121(-pv)m 5(ar)k -6(ying)k +240 fnt82 6692 12124(,)m 6827(and)s 220 fnt35 7258 12121(-psymbol)m +240 fnt82 8134 12124(,)m 8268(with)s 8778(the)s 960 11836(def)m 2(ault)k +1707(v)s 6(alue)k 2302(v)s 6(arying)k 3106(with)s +3615(the)s 3990(language)s 4936(as)s 5213(gi)s 6(v)k 3(en)k +5820(in)s 6089(the)s 6464(fourth)s 7132(column)s 7933(of)s +8231(the)s 8606(table)s 960 11548(abo)m 3(v)k 3(e.)k +1690(Consult)s 2495(Section)s 3269(1.2)s 3623(for)s 3961(e)s 3(xamples)k +4912(of)s 5183(these)s 5730(styles.)s 220 fnt35 0 11042(-n)m +240 fnt82 960 11045(Do)m 1306(not)s 1672(print)s 2183(\207le)s +2544(names.)s 220 fnt35 0 10539(-f)m 240 fnt83 131 10544(font)m +240 fnt82 960 10542(Select)m 1589(a)s 1740(Lout)s 2237(font)s +2667(f)s 2(amily)k 15(.)k 3423(The)s 3836(def)s 2(ault)k +4542(is)s 220 fnt35 4737 10539(-fCour)m -3(ier)k 240 fnt82 +5637 10542(for)m 220 fnt35 5961 10539(-p\207x)m 6(ed)k 240 fnt82 +6602 10542(,)m 6694(and)s 220 fnt35 7083 10539(-fTimes)m 240 fnt82 +7852 10542(for)m 220 fnt35 8175 10539(-pv)m 5(ar)k -6(ying)k +240 fnt82 960 10254(and)m 220 fnt35 1364 10251(-psymbol)m 240 fnt82 +2240 10254(.)m 220 fnt35 0 9750(-v)m 240 fnt83 182 9755(vsize)m +240 fnt82 960 9753(Select)m 1594(an)s 1867(inter)s 4(-line)k +2783(spacing)s 3557(size)s 3975(in)s 4208(Lout)s 4710(units.)s +5329(The)s 5747(def)s 2(ault)k 6459(is)s 220 fnt35 +6659 9750(-v1.1fx)m 240 fnt82 7366 9753(meaning)m 8233(1.1)s 8558(times)s +960 9465(the)m 1308(font)s 1753(size)s 2180(measured)s 3154(from)s +3678(baseline)s 4517(to)s 4756(baseline.)s 220 fnt35 0 9007(-L)m +240 fnt83 191 9012(number)m 240 fnt82 960 9010(Add)m 1478(line)s +1939(numbers)s 2861(to)s 3147(the)s 3542(program)s 4459(print,)s +5064(starting)s 5880(with)s 240 fnt83 6409 9012(number)m 240 fnt82 +7146 9010(,)m 7300(or)s 7606(1)s 7808(if)s 240 fnt83 +8072 9012(number)m 240 fnt82 8916 9010(is)m 960 8722(omitted.)m 220 fnt35 +0 8264(-S)m 240 fnt83 209 8269(\207le)m 240 fnt82 960 8267(Use)m +240 fnt83 1389 8269(\207le)m 240 fnt82 1736 8267(as)m 1988(the)s +2337(setup)s 2897(\207le)s 3260(for)s 3599(printing)s 4411(your)s +4912(language.)s 5941(This)s 6419(allo)s 6(ws)k 7090(you)s +7506(to)s 7747(change)s 8483(all)s 8778(the)s 960 7979(options)m +1716(mentioned)s 2784(in)s 3027(subsequent)s 4151(sections,)s 5028(rather)s +5644(than)s 6113(just)s 6518(the)s 6866(fe)s 6(w)k +7272(gi)s 6(v)k 3(en)k 7852(here.)s 0 7474(There)m +613(are)s 960(also)s 220 fnt35 1398 7471(-t)m 240 fnt82 +1588 7474(and)m 220 fnt35 1992 7471(-T)m 240 fnt82 2256 7474(options)m +3012(for)s 3350(dealing)s 4107(with)s 4589(tab)s 4934(characters)s +5952(\(Section)s 6805(1.5\).)s 240 fnt84 0 6681(1.2.)m 471(T)s 17(ypesetting)k +1705(computer)s 2745(pr)s 4(ograms)k 3792(as)s 4059(part)s +4557(of)s 4829(a)s 5007(lar)s 2(ger)k 5687(document)s +240 fnt82 480 6204(When)m 1097(the)s 1432(program)s 2289(te)s 3(xts)k +2775(are)s 3109(to)s 3336(be)s 3605(part)s 4023(of)s +4281(a)s 4434(lar)s 4(ger)k 5034(Lout)s 5533(document,)s +6571(the)s 6906(procedure)s 7905(is)s 8102(some)s 6(what)k +0 5916(dif)m 6(ferent.)k 979(Y)s 26(ou)k 1421(need)s +1931(to)s 2170(include)s 2930(the)s 3278(setup)s 3836(\207le)s +4197(appropriate)s 5341(to)s 5580(your)s 6079(language,)s 7050(lik)s 2(e)k +7462(this:)s 220 fnt35 480 5415(@SysInclude { cpr)m -3(int })k 480 5127(@SysInclude { doc })m +480 4839(@Doc @T)m 26(e)k 6(xt @Begin)k 480 4551(...)m 480 4263(@End @T)m 26(e)k 6(xt)k +240 fnt82 0 3808(The)m 220 fnt35 422 3805(cpr)m -3(int)k +240 fnt82 1011 3808(setup)m 1563(\207le)s 1917(includes)s 2759(e)s 6(v)k 3(erything)k +3820(needed)s 4549(to)s 4782(set)s 5101(up)s 5387(for)s +5719(C)s 5925(program)s 6788(formatting;)s 7902(for)s 8234(the)s +8575(other)s 0 3520(languages,)m 1064(consult)s 1815(the)s 2163(second)s +2886(column)s 3661(of)s 3932(the)s 4280(table)s 4800(at)s +5032(the)s 5380(start)s 5850(of)s 6121(this)s 6517(chapter)s 13(.)k +480 3146(The)m 914(program)s 1791(te)s 3(xts)k 2297(within)s +2972(the)s 3327(Lout)s 3846(document)s 4857(are)s 5210(enclosed)s +6112(in)s 6362(braces)s 7030(preceded)s 7958(by)s 8259(the)s +8614(Lout)s 0 2858(symbol)m 760(from)s 1284(the)s 1632(third)s +2141(column)s 2916(of)s 3187(the)s 3535(table,)s 4106(lik)s 2(e)k +4518(this)s 4914(for)s 5252(the)s 5600(C)s 5812(language:)s + +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 3 5 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Italic +%%+ font Times-Bold +%%+ font Helvetica +%%+ font Courier +/pgsave save def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Courier +/Courierfnt29 vec2 /Courier LoutRecode +/fnt29 { /Courierfnt29 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore +240 fnt83 0 13843(1.2.)m 454(T)s 17(ypesetting)k 1593(computer)s +2562(pr)s 10(o)k 2(gr)k 3(ams)k 3534(as)s +3802(part)s 4265(of)s 4546(a)s 4721(lar)s 8(g)k 2(er)k +5374(document)s 240 fnt84 8953 13840(3)m 220 fnt35 480 13207(@IndentedDispla)m 6(y @CP {)k +480 12919(#include <stdio)m 8(.h>)k 480 12343(treepr)m -3(int\(p\) /* pr)k -3(int tree p recursiv)k 5(ely */)k +480 12055(str)m -3(uct tnode *p;)k 480 11767({)m 480 11479( if \(p != NULL\) {)m 480 11191( treepr)m -3(int\(p->left\);)k +480 10903( pr)m -3(intf\("%4d %s\\n", p->count, p->w)k 2(ord\);)k 480 10615( treepr)m -3(int\(p->r)k -3(ight\);)k +480 10327( })m 480 10039(})m 480 9751(})m 240 fnt82 0 9257(Although)m +962(computer)s 1925(programs)s 2879(violate)s 3584(the)s 3932(rules)s +4447(of)s 4718(le)s 3(g)k 1(al)k 5232(Lout)s +5744(input)s 6296(in)s 6539(man)s 3(y)k 7121(w)s 2(ays,)k +7718(these)s 8265(rules)s 8779(are)s 0 8969(suspended)m 1042(by)s +1322(the)s 220 fnt35 1655 8966(@CP)m 240 fnt82 2173 8969(,)m +220 fnt35 2266 8966(@Eiff)m 6(el)k 240 fnt82 3000 8969(etc.)m +3368(symbols,A)s 4441(allo)s 6(wing)k 5311(the)s 5645(program)s +6500(te)s 3(xt)k 6901(to)s 7125(be)s 7393(incorporated)s +8644(with)s 0 8681(absolutely)m 1037(no)s 1330(modi\207cations.)s 2796(The)s +3224(result)s 3814(is)s 220 fnt29 480 8198(#include)m 1668(<stdio.h>)s +480 7622(treeprint\(p\))m 3120(/*)s 3516(print)s 4308(tree)s 4968(p)s +5232(recursively)s 6816(*/)s 480 7334(struct)m 1404(tnode)s 2196 7291(*)m +2328 7334(p;)m 480 7046({)m 1536 6758(if)m 1932(\(p)s 2328(!=)s +2724(NULL\))s 3516({)s 2592 6470(treeprint\(p->left\);)m 2592 6182(printf\("%4d)m 4176(%s\\n",)s +5100(p->count,)s 6420(p->word\);)s 2592 5894(treeprint\(p->right\);)m 1536 5606(})m 480 5318(})m +240 fnt82 0 4843(W)m 19(e)k 393(ha)s 4(v)k 3(e)k +919(chosen)s 1665(to)s 1929(use)s 2328(the)s 220 fnt35 +2701 4840(@IndentedDispla)m 6(y)k 240 fnt82 4572 4843(symbol)m 5357(from)s +5905(Section)s 6704(??)s 6993(to)s 7257(obtain)s 7936(an)s +8244(indented)s 0 4555(display)m 15(,)k 780(b)s 4(ut)k +1138(in)s 1378(f)s 2(act)k 220 fnt35 1789 4552(@CP)m +240 fnt82 2307 4555(,)m 220 fnt35 2411 4552(@Eiff)m 6(el)k +240 fnt82 3156 4555(and)m 3557(the)s 3901(rest)s 4301(may)s +4764(appear)s 5457(an)s 3(ywhere)k 6437(at)s 6665(all:)s +7066(the)s 7410(result)s 7997(is)s 8203(an)s 8482(object)s +0 4267(in)m 247(the)s 599(usual)s 1163(w)s 2(ay)k 15(,)k +1656(which)s 2302(may)s 2772(go)s 3069(an)s 3(ywhere.)k +4164(When)s 4797(including)s 5758(a)s 5928(program)s 6802(te)s 3(xt)k +7221(within)s 7893(a)s 8063(paragraph,)s 0 3979(use)m 220 fnt35 +365 3976(@OneCol @CP { ...)m 13( })k 240 fnt82 2459 3979(\(or)m 220 fnt35 +2787 3976(@OneCol @Eiff)m 6(el { ...)k 13( })k 240 fnt82 5057 3979(etc.)m +5429(for)s 5757(other)s 6298(languages\))s 7373(to)s 7602(pre)s 6(v)k 3(ent)k +8360(it)s 8541(being)s 0 3691(brok)m 2(en)k 720(across)s +1368(tw)s 2(o)k 1778(lines,)s 2336(if)s 2553(desired.)s +480 3317(In)m 732(cases)s 1282(where)s 1917(the)s 2260(program)s +3125(te)s 3(xt)k 3535(has)s 3900(unbalanced)s 5043(braces,)s +5755(it)s 5942(is)s 6147(necessary)s 7125(to)s 7359(use)s +7729(the)s 8072(alternati)s 6(v)k 3(e)k 0 3029(form)m +220 fnt35 514 3026(@CP @Begin ...)m 13( @End @CP)k 240 fnt82 3418 3029(\(or)m +3746(the)s 4083(equi)s 6(v)k 6(alent)k 5117(for)s +5444(other)s 5984(languages\),)s 7117(so)s 7372(that)s 7780(Lout)s +8281(does)s 8760(not)s 0 2741(confuse)m 793(program)s 1656(braces)s +2309(with)s 2784(Lout)s 3288(braces.)s 4055(In)s 4303(that)s +4714(case)s 5173(the)s 5514(program)s 6376(te)s 3(xt)k +6784(must)s 7301(not)s 7660(contain)s 220 fnt35 8413 2738(@End)m +240 fnt82 9014 2741(;)m 0 2453(and)m 412(in)s 663(either)s +1275(case)s 1750(the)s 2106(program)s 2985(te)s 3(xt)k +3408(must)s 3941(not)s 4316(include)s 220 fnt35 5084 2450(@Include)m +240 fnt82 6074 2453(or)m 220 fnt35 6342 2450(@SysInclude)m 240 fnt82 +7698 2453(unless)m 8355(you)s 8779(are)s 0 2165(really)m 597(including)s +1554(a)s 1720(\207le)s 2081(at)s 2313(that)s 2731(point)s +3283(\(Section)s 4136(1.9\).)s 480 1791(If)m 763(your)s 1316(Lout)s +1882(document)s 2939(contains)s 3841(program)s 4765(te)s 3(xts)k +5317(in)s 5614(se)s 6(v)k 3(eral)k 6390(languages,)s +7507(simply)s 8266(add)s 8724(one)s 220 fnt35 0 1500(@SysInclude)m +240 fnt82 1342 1503(line)m 1749(for)s 2080(each)s 2569(of)s +2833(them)s 3364(and)s 3761(proceed)s 4570(as)s 4813(before.)s +5580(If)s 5803(your)s 6296(programming)s 7644(language)s 8557(is)s +8760(not)s 0 1215(currently)m 916(supported,)s 1967(a)s 2133(viable)s +2773(alternati)s 6(v)k 3(e)k 3827(is)s 220 fnt35 +480 714(@F @V)m 17(erbatim { ...)k 13( })k 240 fnt82 0 220(These)m +612(symbols)s 1445(cause)s 2017(the)s 2349(te)s 3(xt)k +2749(between)s 3587(braces)s 4233(to)s 4456(be)s 4722(set)s +5032(v)s 3(erbatim)k 5922(in)s 6150(a)s 6300(\207x)s 3(ed-)k +6844(width)s 7431(font,)s 7907(as)s 8141(e)s 3(xplained)k + +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 4 6 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Times-Italic +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore +240 fnt84 0 13840(4)m 240 fnt83 5981 13843(Chapter)m 6831(1.)s +7105(Computer)s 8128(Pr)s 10(o)k 2(gr)k 3(ams)k +240 fnt82 0 13205(else)m 6(where)k 1008(in)s 1254(this)s +1653(guide.)s 2352(This)s 2831(f)s 2(allback)k 3662(method)s +4442(will)s 4871(not)s 5240(handle)s 5937(tab)s 6285(and)s +6692(formfeed)s 7628(characters)s 8650(v)s 3(ery)k 0 12917(well.)m +571(Ag)s 1(ain,)k 1257(use)s 220 fnt35 1628 12914(@V)m 17(erbatim @Begin ...)k 13( @End @V)k 17(erbatim)k +240 fnt82 5645 12917(if)m 5858(your)s 6352(program)s 7218(te)s 3(xt)k +7628(contains)s 8471(unbal)s 8998(-)s 0 12629(anced)m 616(braces.)s +240 fnt84 0 11886(1.3.)m 471(Changing)s 1525(the)s 1899(appearance)s +3138(of)s 3410(a)s 3588(pr)s 4(ogram)k 240 fnt82 +480 11409(The)m 220 fnt35 915 11406(@CP)m 240 fnt82 1433 11409(,)m +220 fnt35 1548 11406(@Eiff)m 6(el)k 240 fnt82 2305 11409(etc.)m +2695(symbols)s 3551(ha)s 4(v)k 3(e)k 4060(a)s +4234(number)s 5033(of)s 5312(options)s 6075(for)s 6421(changing)s +7360(the)s 7716(appearance)s 8855(of)s 0 11121(the)m 357(printed)s +1102(program.)s 2086(These)s 2723(options)s 3489(are)s 3846(the)s +4204(same)s 4761(for)s 5109(all)s 5412(symbols,)s 6327(although)s +7232(their)s 7739(def)s 2(ault)k 8470(v)s 6(alues)k +0 10833(may)m 468(v)s 6(ary)k 15(.)k 1039(The)s +220 fnt35 1470 10830(style)m 240 fnt82 1976 10833(option)m 2648(changes)s +3473(the)s 3824(printing)s 4637(style;)s 5203(its)s 5482(v)s 6(alue)k +6053(may)s 6522(be)s 220 fnt35 6807 10830(\207x)m 6(ed)k +240 fnt82 7316 10833(\(\207x)m 3(ed-width)k 8555(font\),)s 220 fnt35 +0 10542(v)m 5(ar)k -6(ying)k 240 fnt82 777 10545(\(v)m 6(arying-width)k +2284(font\),)s 2876(or)s 220 fnt35 3157 10542(symbol)m 240 fnt82 +3919 10545(\(v)m 6(arying-width)k 5426(font)s 5892(with)s 6396(mathematical)s +7758(symbols)s 8629(used)s 0 10257(for)m 342(some)s 907(operators\).)s +2043(Its)s 2336(def)s 2(ault)k 3061(v)s 6(alue)k +3633(depends)s 4473(on)s 4774(the)s 5126(language,)s 6101(and)s +6509(may)s 6979(be)s 7265(found)s 7886(in)s 8133(the)s +8485(fourth)s 0 9969(column)m 775(of)s 1045(the)s 1392(table)s +1911(at)s 2143(the)s 2490(start)s 2959(of)s 3229(this)s +3624(chapter)s 13(.)k 4478(The)s 4905(e)s 3(xample)k +5767(in)s 6009(the)s 6357(pre)s 6(vious)k 7225(section)s +7958(w)s 2(as)k 8378(in)s 220 fnt35 8620 9966(\207x)m 6(ed)k +240 fnt82 0 9681(style;)m 563(we)s 898(can)s 1287(switch)s +1968(styles)s 2563(lik)s 2(e)k 2975(this:)s 220 fnt35 +480 9180(@CP)m 480 8892( style { v)m 5(ar)k -6(ying })k 480 8604({)m +480 8316(#include <stdio)m 8(.h>)k 480 7740(treepr)m -3(int\(p\) /* pr)k -3(int tree p recursiv)k 5(ely */)k +480 7452(str)m -3(uct tnode *p;)k 480 7164({)m 480 6876( if \(p != NULL\) {)m 480 6588( treepr)m -3(int\(p->left\);)k +480 6300( pr)m -3(intf\("%4d %s\\n", p->count, p->w)k 2(ord\);)k 480 6012( treepr)m -3(int\(p->r)k -3(ight\);)k +480 5724( })m 480 5436(})m 480 5148(})m 240 fnt82 0 4654(The)m +428(result)s 1018(in)s 1261(this)s 1657(case)s 2124(will)s +2550(be)s 480 4198(#)m 240 fnt83 600 4200(include)m 240 fnt82 +1357 4198(<)m 240 fnt83 1486 4200(stdio)m 240 fnt82 1944 4198(.)m +240 fnt83 1988 4200(h)m 240 fnt82 2103 4198(>)m 240 fnt83 +480 3624(tr)m 8(eeprint)k 240 fnt82 1312 3622(\()m 240 fnt83 +1385 3624(p)m 240 fnt82 1498 3622(\))m 2046(/*)s 2276(print)s +2787(tree)s 3200(p)s 3373(recursi)s 6(v)k 3(ely)k +4479(*/)s 240 fnt84 480 3333(struct)m 240 fnt83 1136 3336(tnode)m +240 fnt82 1721 3280(*)m 240 fnt83 1825 3336(p)m 240 fnt82 +1938 3334(;)m 480 3046({)m 240 fnt84 960 2757(if)m 240 fnt82 +1178 2758(\()m 240 fnt83 1251 2760(p)m 240 fnt82 1424 2758(!=)m +240 fnt83 1691 2760(NULL)m 240 fnt82 2290 2758(\))m 2418({)s +240 fnt83 1440 2472(tr)m 8(eeprint)k 240 fnt82 2272 2470(\()m +240 fnt83 2345 2472(p)m 240 fnt82 2458 2470(->)m 240 fnt83 +2666 2472(left)m 240 fnt82 2974 2470(\);)m 240 fnt83 1440 2184(printf)m +240 fnt82 2006 2182(\()m 240 fnt83 2079 2184("%4d)m 2684(%s\\n")s +240 fnt82 3264 2182(,)m 240 fnt83 3371 2184(p)m 240 fnt82 +3484 2182(->)m 240 fnt83 3692 2184(count)m 240 fnt82 4228 2182(,)m +240 fnt83 4335 2184(p)m 240 fnt82 4448 2182(->)m 240 fnt83 +4656 2184(wor)m 8(d)k 240 fnt82 5147 2182(\);)m 240 fnt83 +1440 1896(tr)m 8(eeprint)k 240 fnt82 2272 1894(\()m 240 fnt83 +2345 1896(p)m 240 fnt82 2458 1894(->)m 240 fnt83 2666 1896(right)m +240 fnt82 3135 1894(\);)m 960 1606(})m 480 1318(})m 0 824(If)m +230(we)s 565(use)s 220 fnt35 940 821(style { symbol })m 240 fnt82 +2466 824(we)m 2801(get)s 3153(this:)s +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 5 7 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Italic +%%+ font Times-Bold +%%+ font Symbol +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore +240 fnt83 0 13843(1.3.)m 454(Changing)s 1454(the)s 1799(appear)s 3(ance)k +2980(of)s 3261(a)s 3436(pr)s 10(o)k 2(gr)k 3(am)k +240 fnt84 8953 13840(5)m 240 fnt82 480 13203(#)m 240 fnt83 +600 13205(include)m 240 fnt78 1357 13197(<)m 240 fnt83 1482 13205(stdio)m +240 fnt82 1940 13203(.)m 240 fnt83 1984 13205(h)m 240 fnt78 +2099 13197(>)m 240 fnt83 480 12629(tr)m 8(eeprint)k 240 fnt82 +1312 12627(\()m 240 fnt83 1385 12629(p)m 240 fnt82 1498 12627(\))m +2046(/*)s 2276(print)s 2787(tree)s 3200(p)s 3373(recursi)s 6(v)k 3(ely)k +4479(*/)s 240 fnt84 480 12338(struct)m 240 fnt83 1136 12341(tnode)m +240 fnt82 1721 12285(*)m 240 fnt83 1825 12341(p)m 240 fnt82 +1938 12339(;)m 480 12051({)m 240 fnt84 960 11762(if)m 240 fnt82 +1178 11763(\()m 240 fnt83 1251 11765(p)m 240 fnt78 1424 11757(\271)m +240 fnt83 1613 11765(NULL)m 240 fnt82 2212 11763(\))m 2340({)s +240 fnt83 1440 11477(tr)m 8(eeprint)k 240 fnt82 2272 11475(\()m +240 fnt83 2345 11477(p)m 240 fnt78 2458 11469(\256)m 240 fnt83 +2688 11477(left)m 240 fnt82 2996 11475(\);)m 240 fnt83 1440 11189(printf)m +240 fnt82 2006 11187(\()m 240 fnt83 2079 11189("%4d)m 2684(%s\\n")s +240 fnt82 3264 11187(,)m 240 fnt83 3371 11189(p)m 240 fnt78 +3484 11181(\256)m 240 fnt83 3714 11189(count)m 240 fnt82 4250 11187(,)m +240 fnt83 4357 11189(p)m 240 fnt78 4470 11181(\256)m 240 fnt83 +4700 11189(wor)m 8(d)k 240 fnt82 5191 11187(\);)m 240 fnt83 +1440 10901(tr)m 8(eeprint)k 240 fnt82 2272 10899(\()m 240 fnt83 +2345 10901(p)m 240 fnt78 2458 10893(\256)m 240 fnt83 2688 10901(right)m +240 fnt82 3157 10899(\);)m 960 10611(})m 480 10323(})m 0 9829(with)m +482(mathematical)s 1823(symbols)s 2672(replacing)s 3614(some)s 4175(of)s +4446(the)s 4794(operators.)s 480 9455(The)m 220 fnt35 901 9452(@CP)m +240 fnt82 1419 9455(,)m 220 fnt35 1519 9452(@Eiff)m 6(el)k +240 fnt82 2261 9455(etc.)m 2636(symbols)s 3478(ha)s 4(v)k 3(e)k +3972(additional)s 4976(options)s 5725(which)s 6360(allo)s 6(w)k +6932(a)s 7091(\207ner)s 7582(control)s 8307(o)s 3(v)k 3(er)k +8778(the)s 0 9167(style.)m 615(Here)s 1135(the)s 3(y)k +1598(all)s 1891(are,)s 2289(with)s 2771(their)s 3268(def)s 2(ault)k +3989(v)s 6(alues:)k 220 fnt35 480 8666(@CP [ or @Eiff)m 6(el, @Blue)k 3(, etc.)k 13( ])k +480 8378( style { \207x)m 6(ed })k 480 8090( n)m 2(umbered { No })k 480 7802( f)m 6(ont { Cour)k -3(ier })k +480 7514( siz)m 3(e { -1.0p })k 480 7226( line { 1.0vx })m 480 6938( tabin { 8 })m 480 6650( tabout { 8s })m +480 6362( identi\207ers { Base })m 480 6074( k)m 4(e)k 4(yw)k 2(ords { Base })k +480 5786( oper)m 2(ators { Base })k 480 5498( n)m 2(umbers { Base })k 480 5210( str)m -3(ings { Base })k +480 4922( comments { Base })m 480 4634({)m 480 4346( ...)m 480 4058(})m 240 fnt82 +0 3564(W)m 19(e)k 387(are)s 753(already)s 1529(f)s 2(amiliar)k +2360(with)s 220 fnt35 2861 3561(style)m 240 fnt82 3304 3564(.)m +3487(After)s 4069(that)s 4506(comes)s 220 fnt35 5187 3561(n)m 2(umbered)k +240 fnt82 6161 3564(,)m 6287(whose)s 6974(v)s 6(alue)k +7561(may)s 8046(be)s 220 fnt35 8347 3561(No)m 240 fnt82 +8699 3564(\(the)m 0 3276(def)m 2(ault\),)k 220 fnt35 842 3273(Y)m 30(es)k +240 fnt82 1183 3276(,)m 1285(or)s 1538(a)s 1699(number)s 9(,)k +2522(and)s 2921(which)s 3557(determines)s 4651(whether)s 5475(or)s +5729(not)s 6089(line)s 6498(numbers)s 7367(are)s 7709(to)s +7942(be)s 8219(added)s 8843(an)s 0 2988(if)m 217(so)s +482(the)s 829(v)s 6(alue)k 1397(of)s 1667(the)s +2014(\207rst)s 2444(one.)s 2954(Ne)s 3(xt)k 3475(we)s +3809(ha)s 4(v)k 3(e)k 220 fnt35 4309 2985(f)m 6(ont)k +240 fnt82 4665 2988(,)m 4772(which)s 5413(determines)s 6511(the)s +6858(font)s 7303(f)s 2(amily)k 7977(to)s 8215(use,)s +220 fnt35 8640 2985(siz)m 3(e)k 240 fnt82 9019 2988(,)m +0 2700(the)m 347(font)s 791(size)s 1217(to)s 1455(use,)s +1880(and)s 220 fnt35 2283 2697(line)m 240 fnt82 2615 2700(,)m +2721(the)s 3068(inter)s 4(-line)k 3992(spacing.)s 4886(The)s +5313(def)s 2(ault)k 6033(v)s 6(alue)k 6600(for)s +220 fnt35 6937 2697(siz)m 3(e)k 240 fnt82 7375 2700(asks)m +7837(for)s 8174(one)s 8574(point)s 0 2412(smaller)m 765(than)s +1238(in)s 1485(the)s 1837(surrounding)s 3051(document;)s 4111(this)s +4511(w)s 2(as)k 4936(done)s 5462(to)s 5705(compensate)s +6894(for)s 7236(Courier')s 13(s)k 8180(relati)s 6(v)k 3(ely)k +0 2124(lar)m 4(ge)k 529(appearance)s 1660(compared)s 2661(to)s +2900(other)s 3451(fonts)s 3980(of)s 4251(the)s 4599(same)s +5146(nominal)s 5985(size.)s 480 1750(The)m 220 fnt35 919 1747(tabin)m +240 fnt82 1451 1750(and)m 220 fnt35 1866 1747(tabout)m 240 fnt82 +2543 1750(options)m 3310(are)s 3668(the)s 4027(subject)s 4775(of)s +5057(Section)s 5842(1.5.)s 6317(After)s 6891(them)s 7440(come)s +8025(six)s 8370(options)s 0 1462(gi)m 6(ving)k 701(the)s +1091(particular)s 2107(font)s 2594(f)s 2(aces)k 3175(in)s +3461(which)s 4145(to)s 4426(print)s 4979(identi\207ers,)s 6083(k)s 2(e)k 3(yw)k 2(ords,)k +7156(operators,)s 8195(numbers,)s 0 1174(strings,)m 741(and)s 1141(comments.)s +220 fnt35 2285 1171(Base)m 240 fnt82 2833 1174(means)m 3492(the)s +3836(basic)s 4377(f)s 2(ace;)k 4880(other)s 5428(commonly)s +6502(a)s 4(v)k 6(ailable)k 7407(choices)s 8171(are)s +220 fnt35 8514 1171(Slope)m 240 fnt82 0 886(and)m 220 fnt35 +415 883(Bold)m 240 fnt82 841 886(.)m 1016(These)s 1654(options)s +2421(may)s 2898(all)s 3202(be)s 3495(set)s 3831(to)s +4081(dif)s 6(ferent)k 4967(f)s 2(aces)k 5517(if)s +5745(desired.)s 6610(The)s 7049(def)s 2(ault)k 7781(v)s 6(alues)k +8449(sho)s 6(wn)k 0 598(are)m 347(correct)s 1069(for)s +220 fnt35 1407 595(style { \207x)m 6(ed })k 240 fnt82 2696 598(only;)m +3234(the)s 3582(other)s 4133(styles)s 4728(ha)s 4(v)k 3(e)k +5229(other)s 5780(def)s 2(aults)k 6585(\(Section)s 7438(1.4\).)s + +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 6 8 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Times-Italic +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore +240 fnt84 0 13840(6)m 240 fnt83 5981 13843(Chapter)m 6831(1.)s +7105(Computer)s 8128(Pr)s 10(o)k 2(gr)k 3(ams)k +240 fnt84 0 13203(1.4.)m 471(Changing)s 1525(the)s 1899(appearance)s +3138(of)s 3410(all)s 3717(pr)s 4(ograms)k 4764(simultaneously)s +240 fnt82 480 12726(W)m 19(e)k 853(ha)s 4(v)k 3(e)k +1358(just)s 1767(seen)s 2253(that)s 2675(the)s 220 fnt35 +3027 12723(@CP)m 240 fnt82 3545 12726(,)m 220 fnt35 3656 12723(@Eiff)m 6(el)k +240 fnt82 4409 12726(etc.)m 4795(symbols)s 5648(ha)s 4(v)k 3(e)k +6153(man)s 3(y)k 6740(options)s 7500(for)s 7842(changing)s +8778(the)s 0 12438(appearance)m 1130(of)s 1399(the)s 1746(program)s +2614(te)s 3(xt.)k 3131(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +4090(most)s 4613(people)s 5306(w)s 2(ould)k 5959(not)s +6323(w)s 2(ant)k 6845(to)s 7082(ha)s 4(v)k 3(e)k +7582(a)s 7746(dif)s 6(ferent)k 8619(style)s 0 12150(for)m +333(e)s 6(v)k 3(ery)k 903(program)s 1768(te)s 3(xt)k +2177(in)s 2415(their)s 2906(document;)s 3957(the)s 3(y)k +4414(w)s 2(ant)k 4931(to)s 5165(de\207ne)s 5800(the)s +6143(style)s 6644(once)s 7147(at)s 7373(the)s 7716(start,)s +8227(and)s 8625(ha)s 4(v)k 3(e)k 0 11862(all)m +281(their)s 765(program)s 1622(te)s 3(xts)k 2109(come)s +2670(out)s 3023(in)s 3254(that)s 3659(style)s 4153(without)s +4932(laboriously)s 6049(setting)s 6726(options)s 7470(on)s 7754(e)s 6(v)k 3(ery)k +8317(symbol.)s 0 11574(Y)m 26(ou)k 442(do)s 735(this)s +1131(by)s 1425(cop)s 2(ying)k 2248(the)s 2596(setup)s +3154(\207le)s 3515(and)s 3919(changing)s 4850(it.)s 480 11200(F)m 3(or)k +882(general)s 1653(information)s 2852(about)s 3457(ho)s 6(w)k +3932(to)s 4184(mak)s 2(e)k 4770(your)s 5282(o)s 6(wn)k +5759(setup)s 6331(\207le,)s 6756(consult)s 7521(Section)s 8308(??.)s +8698(The)s 0 10912(options)m 775(that)s 1212(determine)s 2242(the)s +2609(def)s 2(ault)k 3349(v)s 6(alues)k 4024(are)s +4390(in)s 4652(the)s 220 fnt35 5019 10909(@Use)m 240 fnt82 +5703 10912(clause)m 6375(which)s 7036(occupies)s 7943(most)s 8487(of)s +8778(the)s 0 10624(setup)m 558(\207le.)s 1027(Here)s 1547(is)s +1757(part)s 2188(of)s 2459(the)s 220 fnt35 2807 10621(@Use)m +240 fnt82 3472 10624(clause)m 4125(from)s 220 fnt35 4649 10621(cpr)m -3(int)k +240 fnt82 5184 10624(:)m 220 fnt35 612 10083(@Use { @CPSetup)m 612 9795( #)m +1034(pipe)s 3565({)s 4675(})s 612 9507( #)m 1034(n)s 2(umbered)k +3565({)s 3690(No)s 4675(})s 612 9219( #)m 1034(style)s +3565({)s 3690(\207x)s 6(ed)k 4675(})s 612 8643( #)m +1034(\207x)s 6(edf)k 6(ont)k 3565({)s 3690(Cour)s -3(ier)k +4675(})s 612 8355( #)m 1034(\207x)s 6(edsiz)k 3(e)k +3565({)s 3690(-1.0p)s 4675(})s 612 8067( #)m 1034(\207x)s 6(edline)k +3565({)s 3690(1.0vx)s 4675(})s 612 7779( #)m 1034(\207x)s 6(edtabin)k +3565({)s 3690(8)s 4675(})s 612 7491( #)m 1034(\207x)s 6(edtabout)k +3565({)s 3690(8s)s 4675(})s 612 6915( #)m 1034(\207x)s 6(edidenti\207ers)k +3565({)s 3690(Base)s 4675(})s 612 6627( #)m 1034(\207x)s 6(edk)k 4(e)k 4(yw)k 2(ords)k +3565({)s 3690(Base)s 4675(})s 612 6339( #)m 1034(\207x)s 6(edoper)k 2(ators)k +3565({)s 3690(Base)s 4675(})s 612 6051( #)m 1034(\207x)s 6(edn)k 2(umbers)k +3565({)s 3690(Base)s 4675(})s 612 5763( #)m 1034(\207x)s 6(edstr)k -3(ings)k +3565({)s 3690(Base)s 4675(})s 612 5475( #)m 1034(\207x)s 6(edcomments)k +3565({)s 3690(Base)s 4675(})s 612 5187( #)m 1034(\207x)s 6(edlinen)k 2(umbers)k +3565({)s 3690(Base)s 4675(})s 612 4611( #)m 1034(\207x)s 6(edidenti\207ersf)k 6(or)k -5(mat)k +3565({)s 3690(@Body)s 4675(})s 612 4323( #)m 1034(\207x)s 6(edk)k 4(e)k 4(yw)k 2(ordsf)k 6(or)k -5(mat)k +3565({)s 3690(@Body)s 4675(})s 612 4035( #)m 1034(\207x)s 6(edoper)k 2(atorsf)k 6(or)k -5(mat)k +3565({)s 3690(@Body)s 4675(})s 612 3747( #)m 1034(\207x)s 6(edn)k 2(umbersf)k 6(or)k -5(mat)k +3565({)s 3690(@Body)s 4675(})s 612 3459( #)m 1034(\207x)s 6(edstr)k -3(ingsf)k 6(or)k -5(mat)k +3565({)s 3690(@Body)s 4675(})s 612 3171( #)m 1034(\207x)s 6(edcommentsf)k 6(or)k -5(mat)k +3565({)s 3690(@Body)s 4675(})s 612 2883( #)m 1034(\207x)s 6(edlinen)k 2(umbersf)k 6(or)k -5(mat)k +3565({)s 3690(@Body)s 4675(})s 612 2307(...)m 612 1731(})m +240 fnt82 0 1193(The)m 220 fnt35 448 1190(pipe)m 240 fnt82 +934 1193(option)m 1623(will)s 2069(be)s 2371(e)s 3(xplained)k +3376(in)s 3639(Section)s 4434(1.9.)s 4918(The)s 5366(options)s +6142(whose)s 6830(name)s 7424(be)s 3(gins)k 8117(with)s +220 fnt35 8620 1190(\207x)m 6(ed)k 240 fnt82 0 905(apply)m +600(only)s 1094(when)s 220 fnt35 1685 902(style)m 240 fnt82 +2202 905(is)m 220 fnt35 2427 902(\207x)m 6(ed)k 240 fnt82 +2873 905(;)m 2999(there)s 3547(are)s 3908(corresponding)s 5344(options,)s +6171(not)s 6551(sho)s 6(wn,)k 7293(which)s 7949(apply)s +8550(when)s 220 fnt35 0 614(style)m 240 fnt82 503 617(is)m +220 fnt35 713 614(v)m 5(ar)k -6(ying)k 240 fnt82 +1469 617(and)m 220 fnt35 1873 614(symbol)m 240 fnt82 2554 617(.)m +480 243(W)m 19(e)k 849(can)s 1238(see)s 1599(in)s +1841(this)s 2237(e)s 3(xtract)k 2943(that)s 3360(the)s +3708(def)s 2(ault)k 4429(v)s 6(alue)k 4996(of)s +220 fnt35 5267 240(style)m 240 fnt82 5770 243(is)m 220 fnt35 +5979 240(\207x)m 6(ed)k 240 fnt82 6425 243(,)m 6532(and)s +6936(of)s 220 fnt35 7206 240(n)m 2(umbers)k 240 fnt82 +8111 243(is)m 220 fnt35 8321 240(No)m 240 fnt82 8594 243(.)m +8757(W)s 19(e)k +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 7 9 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Italic @@ -4939,143 +5824,1041 @@ gsave 9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 1 LoutMargSet grestore -240 fnt83 0 13843(1.10.)m 574(Notes)s 1174(on)s 1468(P)s 19(erl)k -1920(and)s 2346(P)s 19(od)k 240 fnt84 8839 13840(11)m -0 13250(1.10.)m 591(Notes)s 1216(on)s 1525(P)s 4(erl)k -2000(and)s 2441(P)s 4(od)k 240 fnt82 480 12818(The)m -923(Perl)s 1378(programming)s 2749(language)s 153 fnt82 3609 12907(1)m -240 fnt82 3744 12818(is)m 3970(quite)s 4520(a)s 4702(dif\207cult)s -5533(one)s 5951(for)s 6305(the)s 220 fnt35 6668 12815(prg2lout)m -240 fnt82 7532 12818(program)m 8418(to)s 8673(deal)s 0 12530(with,)m -526(and)s 924(our)s 1297(boast)s 1855(that)s 2267(programs)s -3215(can)s 3598(be)s 3873(included)s 4749(with)s 5225(`absolutely)s -6335(no)s 6621(modi\207cations')s 8029(is)s 8233(not)s 8592(quite)s -0 12242(true)m 427(for)s 765(Perl.)s 480 11868(Here)m 1000(is)s -1211(the)s 1560(complete)s 2493(list)s 2844(of)s 3116(problem)s -3974(areas.)s 4629(In)s 4885(most)s 5411(cases)s 5967(the)s -6316(ef)s 6(fect)k 6912(is)s 7123(to)s 7363(get)s -7716(the)s 8065(formatting)s 0 11580(wrong)m 675(o)s 3(v)k 3(er)k -1164(a)s 1341(short)s 1889(re)s 3(gion,)k 2615(which)s -3267(is)s 3488(not)s 3864(perhaps)s 4670(so)s 4946(disastrous;)s -6025(and)s 6439(it)s 6642(should)s 7349(be)s 7642(easy)s -8131(to)s 8381(modify)s 0 11292(your)m 507(Perl)s 955(program)s -1834(without)s 2634(changing)s 3574(its)s 3859(meaning,)s 4799(to)s -5046(w)s 2(ork)k 5606(around)s 6338(these)s 6894(problems.)s -7957(After)s 8529(all,)s 8883(in)s 0 11004(Perl)m 439(there)s -972(is)s 1182(al)s 2(w)k 2(ays)k 1893(more)s -2440(than)s 2909(one)s 3311(w)s 2(ay)k 3762(to)s -4001(do)s 4294(it.)s 0 10499(1.)m 240 fnt83 480 10501(Her)m 8(e-documents)k -240 fnt82 2108 10499(such)m 2604(as)s 960 10047(<<"EOF")m 960 9759(These lines will be read as though)m -960 9471(enclosed in double quotes)m 960 9183(EOF)m 480 8729(will)m 910(be)s 1196(handled)s -2017(correctly)s 2923(only)s 3407(if)s 3629(the)s 3981(string)s -4583(used)s 5084(to)s 5327(terminate)s 6289(the)s 6641(document)s -7649(is)s 7864(one)s 8270(of)s 240 fnt83 8546 8731(EOF)m -240 fnt82 9019 8729(,)m 240 fnt83 480 8443(EO)m 9(T)k -240 fnt82 941 8441(,)m 240 fnt83 1040 8443(END)m 240 fnt82 -1514 8441(,)m 1613(and)s 2009(the)s 2348(empty)s 2992(string.)s -3692(This)s 4160(terminating)s 5305(string)s 5894(may)s 6352(be)s -6626(enclosed)s 7512(in)s 7747(all)s 8032(three)s 8556(kinds)s -480 8153(of)m 761(quotes,)s 1504(or)s 1773(in)s 2027(none.)s -2668(An)s 3(ything)k 3633(after)s 4140(the)s 4498(<<)s -4833(symbol)s 5604(on)s 5911(the)s 6270(same)s 6827(line)s -7252(will)s 7689(be)s 7981(treated)s 8699(as)s 8960(a)s -480 7865(string,)m 1131(which)s 1773(means)s 2435(that)s 2853(stack)s 2(ed)k -3626(here-documents)s 5204(will)s 5630(not)s 5996(be)s 6278(printed)s -7013(properly)s 15(.)k 0 7362(2.)m 480(When)s 220 fnt35 -1115 7359(prg2lout)m 240 fnt82 1969 7362(is)m 2186(scanning)s 3096(the)s -3451(program)s 4327(looking)s 5118(for)s 5463(the)s 5817(be)s 3(ginning)k -6832(of)s 7109(a)s 7281(le)s 3(xical)k 7976(unit,)s -8461(it)s 8660(may)s 480 7074(come)m 1074(upon)s 1632(a)s -220 fnt35 1819 7071(/)m 240 fnt82 1964 7074(character)m 9(,)k -2957(and)s 3382(this)s 240 fnt83 3799 7076(initial)m 220 fnt35 -4450 7071(/)m 240 fnt82 4594 7074(\(not)m 5060(subsequent)s 6205(ones)s -6716(in)s 6980(the)s 7349(same)s 7917(le)s 3(xical)k -8626(unit\))s 480 6786(it)m 691(\207nds)s 1227(dif\207cult)s 2062(to)s +240 fnt83 0 13843(1.4.)m 454(Changing)s 1454(the)s 1799(appear)s 3(ance)k +2980(of)s 3261(all)s 3573(pr)s 10(o)k 2(gr)k 3(ams)k +4545(simultaneously)s 240 fnt84 8951 13840(7)m 240 fnt82 0 13205(can)m +396(also)s 842(see)s 1211(the)s 1567(def)s 2(ault)k +2296(font)s 2749(f)s 2(amily)k 15(,)k 3470(font)s +3923(f)s 2(ace,)k 4433(font)s 4886(size,)s 5372(line)s +5794(spacing,)s 6640(and)s 7052(tab)s 7405(settings)s 8194(when)s +8778(the)s 0 12917(style)m 502(is)s 220 fnt35 706 12914(\207x)m 6(ed)k +240 fnt82 1152 12917(.)m 1311(The)s 1733(font)s 2173(f)s 2(amily)k +2842(name)s 3411(for)s 220 fnt35 3743 12914(\207x)m 6(ed)k +240 fnt82 4244 12917(style)m 4745(is)s 220 fnt35 4950 12914(Cour)m -3(ier)k +240 fnt82 5671 12917(,)m 5772(b)s 4(ut)k 6129(for)s +6461(the)s 6804(other)s 7349(styles)s 7939(\(not)s 8378(sho)s 6(wn\))k +0 12629(it)m 188(is)s 393(empty)s 15(.)k 1135(This)s +1606(causes)s 2276(the)s 220 fnt35 2619 12626(\207x)m 6(ed)k +240 fnt82 3120 12629(style)m 3622(to)s 3856(al)s 2(w)k 2(ays)k +4563(switch)s 5239(to)s 5473(Courier)s 9(,)k 6296(and)s +6695(the)s 7038(other)s 7584(styles)s 8174(to)s 8408(use)s +8778(the)s 0 12341(same)m 547(font)s 992(f)s 2(amily)k +1667(as)s 1917(in)s 2160(the)s 2508(surrounding)s 3718(document.)s +480 11967(The)m 895(options)s 1637(from)s 220 fnt35 2147 11964(\207x)m 6(edidenti\207ers)k +240 fnt82 3582 11967(to)m 220 fnt35 3807 11964(\207x)m 6(edlinen)k 2(umbers)k +240 fnt82 5497 11967(allo)m 6(w)k 6062(you)s 6463(to)s +6688(set)s 6999(the)s 7334(font)s 7765(f)s 2(ace)k +8202(to)s 8427(use)s 8788(for)s 0 11679(each)m 481(of)s +738(these)s 1270(parts)s 1771(of)s 2027(your)s 2512(program.)s +3471(People)s 4164(who)s 4616(w)s 2(ant)k 5124(\207x)s 3(ed-width)k +6267(fonts)s 6781(do)s 7060(not)s 7411(usually)s 8142(w)s 2(ant)k +8650(v)s 3(ery)k 0 11391(e)m 3(xciting)k 813(font)s +1251(f)s 2(aces)k 1783(either)s 9(,)k 2417(so)s +2676(the)s 3017(def)s 2(ault)k 3731(v)s 6(alues)k +4380(abo)s 3(v)k 3(e)k 4995(are)s 5335(all)s +220 fnt35 5621 11388(Base)m 240 fnt82 6113 11391(,)m 6213(b)s 4(ut)k +6568(for)s 6899(the)s 220 fnt35 7240 11388(v)m 5(ar)k -6(ying)k +240 fnt82 7989 11391(and)m 220 fnt35 8385 11388(symbol)m 240 fnt82 +0 11103(styles,)m 657(the)s 1011(def)s 2(ault)k 1738(identi\207er)s +2667(f)s 2(ace)k 3124(is)s 220 fnt35 3340 11100(Slope)m +240 fnt82 3892 11103(,)m 4006(the)s 4360(def)s 2(ault)k +5087(k)s 2(e)k 3(yw)k 2(ord)k 5982(f)s 2(ace)k +6440(is)s 220 fnt35 6656 11100(Bold)m 240 fnt82 7082 11103(,)m +7195(and)s 7606(so)s 7878(on.)s 8288(Y)s 26(ou)k +8737(can)s 0 10815(actually)m 818(gi)s 6(v)k 3(e)k +1286(a)s 1460(f)s 2(amily)k 2144(name)s 2726(before)s +3401(the)s 3757(f)s 2(ace)k 4217(name)s 4800(in)s +5051(these)s 5607(options,)s 6427(allo)s 6(wing)k 7320(you)s +7743(to)s 7991(switch)s 8681(font)s 0 10527(f)m 2(amilies)k +817(for)s 1155(dif)s 6(ferent)k 2030(parts)s 2545(of)s +2816(the)s 3164(program)s 4034(if)s 4251(you)s 4666(wish.)s +480 10153(The)m 220 fnt35 900 10150(\207x)m 6(edidenti\207ersf)k 6(or)k -5(mat)k +240 fnt82 2964 10153(option)m 3624(allo)s 6(ws)k 4284(you)s +4690(to)s 4920(mak)s 2(e)k 5483(a)s 5641(more)s +6179(radical)s 6874(change)s 7599(to)s 7829(the)s 8168(format)s +8855(of)s 0 9865(identi\207ers)m 997(than)s 1456(just)s 1851(the)s +2190(font.)s 2729(W)s 9(ithin)k 3431(this)s 3817(option,)s +220 fnt35 4527 9862(@Body)m 240 fnt82 5298 9865(stands)m 5937(for)s +6266(the)s 6604(identi\207er)s 7516(being)s 8091(formatted,)s 0 9577(and)m +404(by)s 698(applying)s 1589(Lout)s 2101(symbols)s 2950(to)s +3189(it,)s 3428(you)s 3843(apply)s 4429(them)s 4967(to)s +5206(e)s 6(v)k 3(ery)k 5782(identi\207er)s 13(.)k +6795(F)s 3(or)k 7184(e)s 3(xample,)k 220 fnt35 +480 9076(\207x)m 6(edidenti\207ersf)k 6(or)k -5(mat { red @Colour @Body })k 240 fnt82 +0 8549(will)m 444(cause)s 1049(identi\207ers)s 2073(to)s 2330(be)s +2630(printed)s 3383(red.)s 153 fnt82 3732 8638(1)m 240 fnt82 +3930 8549(If)m 4178(you)s 4611(do)s 4922(use)s 5315(e)s 3(xotic)k +5967(formats,)s 6821(remember)s 7867(that)s 8303(in)s 8565(some)s +0 8261(programming)m 1347(languages,)s 2403(comments)s 3428(and)s 3824(e)s 6(v)k 3(en)k +4316(strings)s 4995(may)s 5453(occup)s 2(y)k 6188(more)s +6727(than)s 7188(one)s 7581(line:)s 220 fnt35 8097 8258(@Bo)m 6(x)k +240 fnt82 8690 8261(,)m 8788(for)s 0 7973(e)m 3(xample,)k +914(will)s 1340(gi)s 6(v)k 3(e)k 1799(a)s +1965(logical)s 2670(b)s 4(ut)k 3032(probably)s 3937(unw)s 2(anted)k +4924(result)s 5514(when)s 6090(formatting)s 7151(a)s 7317(multi-line)s +8314(string.)s 480 7599(As)m 795(al)s 2(w)k 2(ays)k +1504(with)s 1983(setup)s 2539(\207les,)s 3041(to)s 3278(change)s +4009(a)s 4173(def)s 2(ault)k 4892(v)s 6(alue,)k +5508(delete)s 6132(the)s 6477(preceding)s 220 fnt35 7471 7596(#)m +240 fnt82 7645 7599(and)m 8047(change)s 8778(the)s 0 7311(part)m +432(between)s 1288(braces.)s 2064(F)s 3(or)k 2455(e)s 3(xample,)k +3371(suppose)s 4200(you)s 4617(are)s 4966(happ)s 2(y)k +5606(with)s 220 fnt35 6090 7308(\207x)m 6(ed)k 240 fnt82 +6597 7311(e)m 3(xcept)k 7280(that)s 7700(you)s 8117(w)s 2(ant)k +8642(bold)s 0 7023(k)m 2(e)k 3(yw)k 2(ords.)k +1088(Then)s 1637(one)s 2039(line)s 2453(needs)s 3049(to)s +3288(be)s 3570(changed,)s 4475(to)s 220 fnt35 480 6524(\207x)m 6(edk)k 4(e)k 4(yw)k 2(ords { Bold })k +240 fnt82 0 6026(Or)m 307(suppose)s 1130(you)s 1540(lik)s 2(e)k +220 fnt35 1947 6023(v)m 5(ar)k -6(ying)k 240 fnt82 +2698 6026(as)m 2943(it)s 3130(stands,)s 3830(b)s 4(ut)k +4187(w)s 2(ould)k 4836(lik)s 2(e)k 5243(it)s +5430(to)s 5664(be)s 5941(the)s 6284(def)s 2(ault)k +7000(style)s 7502(rather)s 8113(than)s 220 fnt35 8576 6023(\207x)m 6(ed)k +240 fnt82 9022 6026(.)m 0 5738(Ag)m 1(ain,)k 691(only)s +1171(one)s 1573(line)s 1987(needs)s 2583(to)s 2822(be)s +3104(changed,)s 4009(to)s 220 fnt35 4248 5735(style { v)m 5(ar)k -6(ying })k +240 fnt82 5727 5738(.)m 480 5364(It)m 708(is)s 942(probably)s +1871(not)s 2261(a)s 2451(good)s 3013(idea)s 3495(to)s +3758(change)s 4516(the)s 4888(def)s 2(ault)k 5633(v)s 6(alue)k +6225(of)s 220 fnt35 6520 5361(n)m 2(umbered)k 240 fnt82 +7578 5364(to)m 220 fnt35 7841 5361(Y)m 30(es)k 240 fnt82 +8182 5364(,)m 8313(because)s 0 5076(small)m 572(fragments)s 1578(of)s +1848(code)s 2356(within)s 3024(paragraphs)s 4123(will)s 4549(then)s +5018(get)s 5369(line)s 5783(numbers)s 6658(as)s 6907(well)s +7373(as)s 7623(lar)s 4(ge)k 8151(displayed)s 0 4788(programs.)m +1078(If)s 1319(you)s 1746(do)s 2050(ha)s 4(v)k 3(e)k +2562(man)s 3(y)k 3157(lar)s 4(ge)k 3697(numbered)s +4723(programs)s 5689(as)s 5950(well)s 6427(as)s 6689(small)s +7272(fragments,)s 8345(a)s 8523(better)s 0 4500(approach)m 934(w)s 2(ould)k +1589(be)s 1871(to)s 2110(place)s 220 fnt35 480 3999(impor)m -8(t @CPSetup)k +480 3711(macro @NCP { @CP n)m 2(umbered { )k 19(Y)k 30(es } })k 240 fnt82 +0 3217(\(or)m 336(the)s 681(equi)s 6(v)k 6(alent)k +1723(for)s 2058(your)s 2555(language\))s 3544(in)s 3785(your)s +220 fnt35 4281 3214(m)m 3(ydefs)k 240 fnt82 5037 3217(\207le,)m +5446(so)s 5710(that)s 6125(you)s 6538(can)s 6924(type)s +220 fnt35 7390 3214(@NCP)m 240 fnt82 8123 3217(instead)m 8855(of)s +220 fnt35 0 2926(@CP n)m 2(umbered { )k 19(Y)k 30(es })k +240 fnt82 2223 2929(.)m 480 2555(The)m 905(setup)s 1460(\207les)s +1906(for)s 2241(the)s 2586(other)s 3134(languages)s 4139(are)s +4483(identical)s 5357(to)s 5593(this)s 5986(one,)s 6436(e)s 3(xcept)k +7114(that)s 7529(the)s 7874(symbol)s 8630(after)s 220 fnt35 +0 2264(@Use)m 240 fnt82 666 2267(is)m 878(dif)s 6(ferent,)k +1801(and)s 2207(some)s 2770(of)s 3042(the)s 3392(def)s 2(ault)k +4114(v)s 6(alues)k 4772(may)s 5240(be)s 5523(dif)s 6(ferent.)k +6504(Changing)s 7490(an)s 7775(option)s 8446(af)s 6(fects)k +0 1979(only)m 480(the)s 828(language)s 1749(of)s 2020(that)s +2438(setup)s 2997(\207le;)s 3414(if)s 3632(you)s 4047(ha)s 4(v)k 3(e)k +4548(multiple)s 5401(languages)s 6409(you)s 6824(can)s 7214(ha)s 4(v)k 3(e)k +7715(multiple)s 8568(setup)s 1134 0 0 0 240 288 60 0 1457 LoutGr2 +0 0 moveto xsize 0 lineto stroke +grestore + +grestore +122 fnt82 0 1262(1)m 172 fnt35 +56 1191(@Colour)m 192 fnt82 779 1192(is)m 945(not)s 1235(a)s +1365(Lout)s 1773(primiti)s 4(v)k 2(e)k 2510(lik)s 1(e,)k +2879(say)s 12(,)k 172 fnt35 3206 1191(@F)m 5(ont)k +192 fnt82 3714 1192(;)m 3801(it)s 3952(is)s 4118(de\207ned)s +4726(when)s 5184(you)s 5514(write)s 172 fnt35 5948 1191(@SysInclude { doc })m +192 fnt82 7528 1192(or)m 7733(the)s 8009(equi)s 4(v)k 4(alent)k +8844(for)s 0 962(the)m 279(other)s 720(document)s 1524(types.)s +2060(This)s 2441(is)s 2609(true)s 2952(of)s 3168(quite)s +3596(a)s 3729(fe)s 4(w)k 4055(generally)s 4811(useful)s +5322(symbols,)s 6047(including)s 172 fnt35 6814 961(@Bo)m 5(x)k +192 fnt82 7325 962(and)m 172 fnt35 7649 961(@I)m 192 fnt82 +7855 962(.)m 7987(If)s 8170(you)s 8502(w)s 1(ant)k +8922(to)s 0 732(use)m 300(these)s 738(symbols)s 1417(here,)s +1832(you)s 2164(must)s 2583(include)s 3192(your)s 3591(setup)s +4038(\207le)s 192 fnt83 4327 733(after)m 172 fnt35 4740 731(@SysInclude { doc })m +192 fnt82 6322 732(or)m 6529(whate)s 4(v)k 2(er)k 7(,)k +7303(the)s 7582(re)s 4(v)k 2(erse)k 8172(of)s +8388(the)s 8666(usual)s 0 502(arrangement,)m 1044(so)s 1260(that)s +1597(the)s 2(y)k 1972(are)s 2253(de\207ned)s 2866(before)s +3402(Lout)s 3814(reads)s 4261(your)s 4663(setup)s 5112(\207le.)s +5490(This)s 5873(re)s 4(v)k 2(ersal)k 6518(is)s +6689(carried)s 7268(out)s 7564(automatically)s 8653(when)s 0 272(formatting)m +841(programs)s 1594(independently)s 2715(of)s 2921(an)s 2(y)k +3230(document,)s 4063(so)s 4266(you)s 4588(can)s 4891(use)s +5181(these)s 5609(symbols)s 6279(in)s 6464(a)s 6587(setup)s +7025(\207le)s 7304(gi)s 4(v)k 2(en)k 7760(by)s +7987(a)s 172 fnt35 8110 271(-S)m 192 fnt82 8311 272(command)m +0 42(line)m 332(\210ag.)s +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 8 10 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Times-Italic +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore +240 fnt84 0 13840(8)m 240 fnt83 5981 13843(Chapter)m 6831(1.)s +7105(Computer)s 8128(Pr)s 10(o)k 2(gr)k 3(ams)k +240 fnt82 0 13205(\207les)m 449(and)s 853(change)s 1587(their)s +2084(options)s 2840(quite)s 3374(independently)s 4784(of)s 5055(each)s +5550(other)s 13(.)k 240 fnt84 0 12412(1.5.)m 471(Dealing)s +1311(with)s 1817(tab)s 2201(characters)s 3330(in)s 3585(pr)s 4(ograms)k +240 fnt82 480 11935(T)m 19(ab)k 896(characters)s 1924(pro)s 3(vide)k +2718(a)s 2894(con)s 9(v)k 3(enient)k 4002(w)s 2(ay)k +4463(to)s 4712(indent)s 5380(and)s 5794(align)s 6339(parts)s +6864(of)s 7145(computer)s 8119(programs.)s 0 11647(W)m 9(ith)k +526(care,)s 1030(this)s 1426(alignment)s 2442(can)s 2831(be)s +3113(preserv)s 3(ed)k 4097(in)s 4340(the)s 4688(\207nal)s +5168(print)s 5679(e)s 6(v)k 3(en)k 6179(with)s +6661(v)s 6(arying-width)k 8067(fonts.)s 480 11273(The)m 896(distance)s +1723(between)s 2565(tw)s 2(o)k 2962(tab)s 3295(stops)s +3826(in)s 4056(the)s 4392(program)s 5250(te)s 3(xt)k +5653(is)s 5850(by)s 6132(def)s 2(ault)k 6841(tak)s 2(en)k +7401(to)s 7628(be)s 7898(8)s 8052(characters,)s 0 10985(which)m +642(is)s 852(standard)s 1720(for)s 2058(Unix.)s 2701(This)s +3177(can)s 3566(be)s 3848(changed)s 4704(with)s 5186(the)s +220 fnt35 5534 10982(tabin)m 240 fnt82 6055 10985(option.)m 6831(F)s 3(or)k +7220(e)s 3(xample,)k 220 fnt35 480 10484(@CP tabin { 4 })m 240 fnt82 +0 9990(informs)m 789(Lout)s 1296(that)s 1709(tab)s 2049(stops)s +2587(occur)s 3173(e)s 6(v)k 3(ery)k 3744(4)s +3913(characters)s 4926(in)s 5164(the)s 5507(program)s 6372(te)s 3(xt.)k +6886(All)s 7241(the)s 7584(symbols)s 8428(\()s 220 fnt35 +8501 9987(@CP)m 240 fnt82 9019 9990(,)m 220 fnt35 0 9699(@Eiff)m 6(el)k +240 fnt82 689 9702(,)m 785(etc.\))s 1240(and)s 1633(their)s +2118(setup)s 2665(\207les)s 3103(ha)s 4(v)k 3(e)k +3593(this)s 3977(option)s 4635(and)s 5028(the)s 5364(ne)s 3(xt;)k +5874(b)s 4(ut)k 6225(to)s 6453(sa)s 4(v)k 3(e)k +6915(repetition)s 7876(we)s 8200(will)s 8614(stick)s 0 9414(with)m +482(C)s 694(for)s 1032(the)s 1380(rest)s 1784(of)s +2055(this)s 2451(section.)s 480 9040(The)m 916(distance)s 1764(between)s +2627(tw)s 2(o)k 3046(tab)s 3399(stops)s 3951(on)s +4257(the)s 4614(printed)s 5357(page)s 5874(is)s 6093(quite)s +6636(a)s 6810(dif)s 6(ferent)k 7694(thing,)s 8302(and)s +8715(it)s 8916(is)s 0 8752(determined)m 1133(by)s 1427(the)s +1775(v)s 6(alue)k 2343(of)s 2614(the)s 220 fnt35 +2962 8749(tabout)m 240 fnt82 3628 8752(option,)m 4347(which)s 4989(must)s +5514(be)s 5796(a)s 5962(Lout)s 6474(length.)s 7236(F)s 3(or)k +7625(e)s 3(xample,)k 220 fnt35 480 8251(@CP tabout { 0.5i })m 240 fnt82 +0 7757(requests)m 857(that)s 1298(tab)s 1666(stops)s 2232(be)s +2537(placed)s 3243(at)s 3498(half-inch)s 4440(interv)s 6(als.)k +5443(In)s 5722(other)s 6297(w)s 2(ords,)k 7010(a)s +7199(distance)s 8061(of)s 8355(one)s 8781(tab)s 0 7469(stop)m +474(in)s 739(the)s 1109(program)s 2001(te)s 3(xt)k +2439(will)s 2887(be)s 3191(equi)s 6(v)k 6(alent)k +4257(to)s 4519(a)s 4707(distance)s 5568(of)s 5861(half)s +6326(an)s 6632(inch)s 7123(on)s 7442(the)s 7812(printed)s +8570(page.)s 0 7181(F)m 3(or)k 389(e)s 3(xample,)k +220 fnt35 480 6680(@CP style { v)m 5(ar)k -6(ying } tabout { 3f } n)k 2(umbered { )k 19(Y)k 30(es })k +240 fnt82 0 6181(might)m 659(produce)s 1527(the)s 1916(follo)s 6(wing,)k +2989(where)s 3670(tab)s 4056(characters)s 5116(in)s 5400(the)s +5789(program)s 6700(te)s 3(xt)k 7157(ha)s 4(v)k 3(e)k +7699(been)s 8249(used)s 8788(for)s 0 5893(indenting)m 957(and)s +1361(also)s 1799(to)s 2038(align)s 2573(the)s 2921(comments:)s +480 5388(1)m 240 fnt84 1200 5387(struct)m 240 fnt83 1856 5390(tnode)m +240 fnt82 2441 5388({)m 4080(/*)s 4310(the)s 4658(basic)s +5202(node)s 5724(*/)s 480 5100(2)m 240 fnt84 1920 5099(char)m +240 fnt82 2443 5046(*)m 240 fnt83 2547 5102(wor)m 8(d)k +240 fnt82 3038 5100(;)m 4080(/*)s 4310(points)s 4946(to)s +5185(the)s 5533(te)s 3(xt)k 5948(*/)s 480 4812(3)m +240 fnt84 1920 4811(int)m 240 fnt83 2258 4814(count)m 240 fnt82 +2794 4812(;)m 4080(/*)s 4310(number)s 5101(of)s 5372(occurrences)s +6564(*/)s 480 4524(4)m 240 fnt84 1920 4523(struct)m 240 fnt83 +2576 4526(tnode)m 240 fnt82 3161 4470(*)m 240 fnt83 3265 4526(left)m +240 fnt82 3573 4524(;)m 4080(/*)s 4310(left)s 4687(child)s +5223(*/)s 480 4236(5)m 240 fnt84 1920 4235(struct)m 240 fnt83 +2576 4238(tnode)m 240 fnt82 3161 4182(*)m 240 fnt83 3265 4238(right)m +240 fnt82 3734 4236(;)m 4080(/*)s 4310(right)s 4821(child)s +5357(*/)s 480 3948(6)m 1200(};)s 0 3454(W)m 19(e')k 12(v)k 3(e)k +672(used)s 220 fnt35 1183 3451(n)m 2(umbered { )k 19(Y)k 30(es })k +240 fnt82 2891 3454(to)m 3144(demonstrate)s 4381(that)s 4813(the)s +5174(features)s 5994(for)s 6345(dealing)s 7116(with)s 7611(tabs)s +8061(w)s 2(ork)k 8626(e)s 6(v)k 3(en)k +0 3166(with)m 471(line)s 873(numbers.)s 1850(The)s 2266(v)s 6(alue)k +220 fnt35 2823 3163(3f)m 240 fnt82 3051 3166(means)m 3702(three)s +4223(times)s 4780(the)s 5116(current)s 5841(font)s 6274(size,)s +6741(and)s 7133(it)s 7314(is)s 7512(the)s 7849(def)s 2(ault)k +8558(v)s 6(alue)k 0 2878(of)m 220 fnt35 273 2875(tabout)m +240 fnt82 942 2878(for)m 1282(the)s 220 fnt35 1633 2875(v)m 5(ar)k -6(ying)k +240 fnt82 2391 2878(and)m 220 fnt35 2798 2875(symbol)m 240 fnt82 +3541 2878(styles)m 4139(\(Section)s 4994(1.4\).)s 5540(In)s 5798(a)s +5967(12)s 6263(point)s 6818(font)s 7265(this)s 7664(is)s +7876(36)s 8172(points,)s 8867(or)s 0 2590(half)m 443(an)s +726(inch.)s 480 2216(If)m 220 fnt35 710 2213(tabout)m 240 fnt82 +1376 2216(is)m 1586(too)s 1945(small,)s 2569(there)s 3102(is)s +3312(a)s 3478(danger)s 4189(that)s 4607(the)s 4955(alignment)s +5971(might)s 6589(f)s 2(ail.)k 7068(F)s 3(or)k +7457(e)s 3(xample,)k 220 fnt35 480 1715(@CP style { v)m 5(ar)k -6(ying } tabout { 0.2i })k +240 fnt82 0 1216(produces)m +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 9 11 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Italic +%%+ font Times-Bold +%%+ font Courier +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Courier +/Courierfnt29 vec2 /Courier LoutRecode +/fnt29 { /Courierfnt29 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore +240 fnt83 0 13843(1.5.)m 454(Dealing)s 1279(with)s 1746(tab)s +2106(c)s 3(har)k 3(acter)k 2(s)k 3176(in)s +3416(pr)s 10(o)k 2(gr)k 3(ams)k 240 fnt84 +8952 13840(9)m 480 13202(struct)m 240 fnt83 1136 13205(tnode)m 240 fnt82 +1721 13203({)m 1805(/*)s 2035(the)s 2383(basic)s 2927(node)s +3449(*/)s 240 fnt84 768 12914(char)m 240 fnt82 1291 12861(*)m +240 fnt83 1395 12917(wor)m 8(d)k 240 fnt82 1886 12915(;)m +1938(/*)s 2168(points)s 2804(to)s 3043(the)s 3391(te)s 3(xt)k +3806(*/)s 240 fnt84 768 12626(int)m 240 fnt83 1106 12629(count)m +240 fnt82 1642 12627(;)m 1694(/*)s 1924(number)s 2715(of)s +2986(occurrences)s 4178(*/)s 240 fnt84 768 12338(struct)m 240 fnt83 +1424 12341(tnode)m 240 fnt82 2009 12285(*)m 240 fnt83 2113 12341(left)m +240 fnt82 2421 12339(;)m 2473(/*)s 2703(left)s 3080(child)s +3616(*/)s 240 fnt84 768 12050(struct)m 240 fnt83 1424 12053(tnode)m +240 fnt82 2009 11997(*)m 240 fnt83 2113 12053(right)m 240 fnt82 +2582 12051(;)m 2634(/*)s 2864(right)s 3375(child)s 3911(*/)s +480 11763(};)m 0 11269(gi)m 6(v)k 3(en)k 590(the)s +948(same)s 1505(C)s 1727(te)s 3(xt)k 2153(as)s +2413(the)s 2771(pre)s 6(vious)k 3650(e)s 3(xample.)k +4632(The)s 5070(problem)s 5937(here)s 6414(is)s 6634(that)s +7063(we)s 7408(are)s 7765(asking)s 8453(for)s 220 fnt29 +8802 11277(/*)m 240 fnt82 71 10981(to)m 321(appear)s 1029(four)s +1498(tab)s 1854(stops)s 2408(or)s 2678(0.8)s 3036(inches)s +3709(from)s 4244(the)s 4603(left)s 4991(edge,)s 5561(and)s +5976(yet)s 6339(the)s 6698(material)s 7545(to)s 7795(its)s +8082(left)s 8470(on)s 8778(the)s 0 10693(line)m 419(is)s +634(wider)s 1244(than)s 1718(this.)s 2232(This)s 2714(causes)s +220 fnt29 3394 10701(/*)m 240 fnt82 3861 10693(to)m 4105(be)s +4393(shifted)s 5106(further)s 5820(to)s 6065(the)s 6418(right)s +6934(than)s 7409(e)s 3(xpected,)k 8368(and)s 8778(the)s +0 10405(alignment)m 1016(is)s 1226(lost.)s 1735(The)s 2163(only)s +2643(solution)s 3471(is)s 3681(to)s 3920(increase)s 220 fnt35 +4758 10402(tabout)m 240 fnt82 5364 10405(.)m 480 10031(When)m 1108(typesetting)s +2208(computer)s 3169(program)s 4038(te)s 3(xts)k 4535(independently)s +5943(of)s 6213(an)s 3(y)k 6608(document,)s 7657(there)s +8189(are)s 220 fnt35 8534 10028(-t)m 240 fnt82 8722 10031(and)m +220 fnt35 0 9740(-T)m 240 fnt82 289 9743(options)m 1070(to)s +1335(the)s 220 fnt35 1708 9740(prg2lout)m 240 fnt82 2581 9743(program)m +3477(equi)s 6(v)k 6(alent)k 4546(to)s 220 fnt35 +4811 9740(tabin)m 240 fnt82 5357 9743(and)m 220 fnt35 5786 9740(tabout)m +240 fnt82 6478 9743(respecti)m 6(v)k 3(ely)k 15(.)k +7797(F)s 3(or)k 8212(e)s 3(xample,)k 220 fnt35 +0 9452(-T0.5i)m 240 fnt82 606 9455(produces)m 1521(a)s 1687(half-inch)s +2606(tab)s 2951(width.)s 240 fnt84 0 8662(1.6.)m 471(Dealing)s +1311(with)s 1817(f)s 6(ormfeed)k 2794(characters)s 3923(in)s +4178(pr)s 4(ograms)k 240 fnt82 480 8185(The)m 900(formfeed)s +1824(\(Control-L\))s 2978(character)s 3904(is)s 4105(traditionally)s 5317(tak)s 2(en)k +5881(to)s 6112(be)s 6385(a)s 6542(request)s 7283(to)s +7514(start)s 7975(a)s 8132(ne)s 6(w)k 8570(page.)s +0 7897(This)m 476(is)s 686(e)s 3(xplicitly)k 1639(recognized)s +2746(by)s 3040(the)s 3388(formal)s 4079(de\207nition)s 5054(of)s +5325(the)s 5673(C)s 5885(language)s 6805(and)s 7209(man)s 3(y)k +7792(others,)s 8484(which)s 0 7609(treat)m 486(this)s 886(character)s +1823(as)s 2077(white)s 2667(space)s 3258(from)s 3785(a)s +3955(language)s 4878(point)s 5434(of)s 5708(vie)s 6(w)k 15(,)k +6263(with)s 6748(the)s 7100(understanding)s 8512(that)s 8934(it)s +0 7321(will)m 426(cause)s 1013(a)s 1179(page)s 1687(break)s +2279(when)s 2855(printed.)s 480 6947(There)m 1086(are)s 1426(no)s +220 fnt35 1712 6944(prg2lout)m 240 fnt82 2553 6947(options)m 3302(for)s +3633(dealing)s 4383(with)s 4858(formfeed)s 5784(characters.)s 6908(The)s 3(y)k +7444(will)s 7863(be)s 8137(con)s 9(v)k 3(erted)k +0 6659(into)m 220 fnt35 425 6656(@NP)m 240 fnt82 1003 6659(\(ne)m 6(w)k +1529(page\))s 2109(symbols,)s 3014(causing)s 3798(a)s 3964(ne)s 6(w)k +4411(page)s 4919(or)s 5178(column)s 5953(to)s 6192(be)s +6474(be)s 3(gun)k 7114(in)s 7357(the)s 7705(printing.)s +480 6285(Whether)m 1386(formfeed)s 2342(characters)s 3383(end)s 3810(their)s +4330(line)s 4767(or)s 5050(not)s 5439(is)s 5672(a)s +5861(problem.)s 6845(Consider)s 7792(this)s 8212(e)s 3(xample,)k +0 5997(where)m 220 fnt35 640 5994(^L)m 240 fnt82 921 5997(stands)m +1570(for)s 1908(one)s 2310(formfeed)s 3243(character:)s 220 fnt35 +480 5549(abc)m 480 5261(def^Lghi)m 480 4973(jhk)m 240 fnt82 0 4476(Ho)m 6(w)k +532(man)s 3(y)k 1134(lines)s 1654(does)s 2163(this)s +2577(e)s 3(xample)k 3459(contain?)s 4401(Y)s 26(our)k +4945(te)s 3(xt)k 5379(editor)s 6014(w)s 2(ould)k +6688(probably)s 7611(say)s 8003(`three',)s 8764(b)s 4(ut)k +0 4188(when)m 571(you)s 980(print)s 1486(it)s 1672(you)s +2081(will)s 2502(see)s 2857(four)s 13(.)k 3400(It)s +3600(is)s 3804(not)s 4164(desirable)s 5077(to)s 5310(ha)s 4(v)k 3(e)k +5805(printed)s 6535(programs)s 7483(\(especially)s 8565(those)s 0 3900(with)m +465(line)s 861(numbers)s 1718(attached\))s 2624(disagreeing)s 3761(with)s +4225(te)s 3(xt)k 4623(editors)s 5306(about)s 5880(line)s +6276(numbers.)s 7246(The)s 7656(solution)s 8466(adopt)s 8998(-)s +0 3612(ed)m 297(by)s 220 fnt35 604 3609(prg2lout)m 240 fnt82 +1466 3612(to)m 1718(this)s 2128(problem)s 2998(is)s 3222(to)s +3474(treat)s 3971(the)s 4332(formfeed)s 5279(character)s 6226(as)s +6490(including)s 7460(a)s 7640(ne)s 6(wline,)k 8511(b)s 4(ut)k +8887(to)s 0 3324(assign)m 647(the)s 987(same)s 1526(line)s +1932(number)s 2715(to)s 2946(both)s 3421(parts)s 3928(of)s +4191(the)s 4531(original)s 5321(line)s 5727(\(the)s 6146(parts)s +6653(before)s 7311(and)s 7707(after)s 8195(the)s 8534(form)s +8998(-)s 0 3036(feed\).)m 664(If)s 905(the)s 1264(part)s +1705(after)s 2212(the)s 2571(formfeed)s 3514(is)s 3735(empty)s +4398(\(that)s 4905(is,)s 5182(if)s 5410(the)s 5768(formfeed)s +6712(character)s 7657(is)s 7878(immediately)s 0 2748(follo)m 6(wed)k +913(by)s 1219(a)s 1397(ne)s 6(wline)k 2216(or)s +2487(another)s 3276(formfeed\),)s 4349(and)s 4765(if)s 4994(the)s +5354(formfeed)s 6299(is)s 6521(not)s 6899(inside)s 7538(an)s 3(y)k +7947(le)s 3(xical)k 8647(unit,)s 0 2460(then)m 469(the)s +817(empty)s 1469(line)s 1883(after)s 2379(the)s 2727(formfeed)s +3660(will)s 4086(not)s 4452(be)s 4734(printed)s 5469(at)s +5701(all.)s 480 2086(The)m 901(most)s 1419(common)s 2307(case)s +2767(is)s 2970(that)s 3381(of)s 3645(a)s 3804(formfeed)s +4729(character)s 9(,)k 5694(outside)s 6434(an)s 3(y)k +6824(le)s 3(xical)k 7505(unit,)s 7977(on)s 8267(a)s +8426(line)s 8832(by)s 0 1798(itself.)m 640(Let')s 13(s)k +1168(see)s 1529(what)s 2054(this)s 2450(rule)s 2877(produces)s +3792(in)s 4035(the)s 4383(follo)s 6(wing)k 5360(e)s 3(xample)k +6223(of)s 6494(this)s 6890(case:)s 220 fnt35 480 1301(abc)m +480 1013(def)m 480 725(^L)m 480 437(ghi)m +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 10 12 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Times-Italic +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore +240 fnt84 0 13840(10)m 240 fnt83 5981 13843(Chapter)m 6831(1.)s +7105(Computer)s 8128(Pr)s 10(o)k 2(gr)k 3(ams)k +240 fnt82 0 13205(There)m 615(will)s 1043(be)s 1328(one)s +1732(blank)s 2327(line)s 2744(numbered)s 3761(3)s 3927(at)s +4162(the)s 4512(end)s 4918(of)s 5192(the)s 5542(\207rst)s +5975(page,)s 6537(and)s 6943(a)s 7111(line)s 7528(numbered)s +8545(4)s 8722(and)s 0 12917(containing)m 220 fnt35 1065 12914(ghi)m +240 fnt82 1405 12917(at)m 1639(the)s 1989(start)s 2461(of)s +2734(the)s 3084(ne)s 3(xt)k 3555(page.)s 4173(The)s +4603(blank)s 5198(line)s 5614(is)s 5826(a)s 5994(necessity)s 15(,)k +6964(at)s 7198(least)s 7697(when)s 8275(lines)s 8779(are)s +0 12629(being)m 596(numbered,)s 1671(because)s 2496(we)s 2842(w)s 2(ant)k +3377(the)s 3736(last)s 4139(line)s 4564(in)s 4819(the)s +5178(e)s 3(xample)k 6053(to)s 6303(be)s 6597(numbered)s +7623(4)s 7809(to)s 8059(agree)s 8644(with)s 0 12341(te)m 3(xt)k +414(editors,)s 1169(b)s 4(ut)k 1529(we)s 1862(don')s 4(t)k +2422(w)s 2(ant)k 2943(the)s 3289(line)s 3701(numbers)s +4575(on)s 4870(our)s 5247(print)s 5756(to)s 5994(skip)s +6444(from)s 6966(2)s 7138(on)s 7434(the)s 7780(\207rst)s +8209(page)s 8715(to)s 8952(4)s 0 12053(on)m 297(the)s +644(second,)s 1415(because)s 2227(that)s 2644(w)s 2(ould)k +3298(mak)s 2(e)k 3869(readers)s 4609(anxious)s 5404(about)s +5995(the)s 6342(apparently)s 7404(missing)s 8200(line)s 8613(3.)s +8896(If)s 0 11765(you)m 415(don')s 4(t)k 976(w)s 2(ant)k +1499(that)s 1917(empty)s 2569(line,)s 3034(mo)s 3(v)k 3(e)k +3616(the)s 3964(formfeed)s 4897(character)s 5831(to)s 6070(the)s +6418(end)s 6822(of)s 7093(the)s 7441(preceding)s 8437(line.)s +240 fnt84 0 10972(1.7.)m 471(Embedding)s 1710(Lout)s 2262(commands)s +3419(within)s 4125(pr)s 4(ogram)k 5081(comments)s 240 fnt82 +480 10495(It)m 712(is)s 949(possible)s 1817(to)s 2083(embed)s +2806(Lout)s 3346(te)s 3(xt)k 3788(inside)s 4442(program)s +5340(comments.)s 6514(Ho)s 6(w)k 7055(this)s 7479(is)s +7716(done)s 8265(could)s 8883(in)s 0 10207(principle)m 916(v)s 6(ary)k +1401(from)s 1936(language)s 2868(to)s 3118(language,)s 4101(b)s 4(ut)k +4474(in)s 4729(e)s 6(v)k 3(ery)k 5317(language)s +6248(supported)s 7262(so)s 7539(f)s 2(ar)k 7873(it)s +8076(is)s 8298(done)s 8832(by)s 0 9919(starting)m 757(of)s 6(f)k +1089(the)s 1424(comment)s 2362(with)s 2831(an)s 220 fnt35 +3102 9916(@)m 240 fnt82 3341 9919(character)m 13(.)k 4353(If)s +4571(the)s 4906(language)s 5814(has)s 6172(se)s 6(v)k 3(eral)k +6881(w)s 2(ays)k 7410(to)s 7636(get)s 7976(a)s +8129(comment,)s 0 9631(this)m 408(will)s 847(w)s 2(ork)k +1411(e)s 6(v)k 3(ery)k 2000(w)s 2(ay)k 15(.)k +2559(The)s 3000(entire)s 3612(comment)s 4575(after)s 5083(the)s +220 fnt35 5444 9628(@)m 240 fnt82 5708 9631(character)m 6655(should)s +7365(then)s 7847(be)s 8142(Lout)s 8667(te)s 3(xt.)k +0 9343(F)m 3(or)k 389(e)s 3(xample,)k 1303(to)s +1542(force)s 2088(Lout)s 2600(to)s 2839(start)s 3309(a)s +3475(ne)s 6(w)k 3922(page)s 4430(at)s 4662(some)s +5223(point)s 5775(within)s 6443(a)s 6609(C)s 6821(program,)s +7738(place)s 220 fnt35 480 8842(/*@ @NP */)m 240 fnt82 0 8387(at)m +234(that)s 655(point.)s 1314(\(In)s 1652(this)s 2051(case)s +2521(you)s 2939(can)s 3331(also)s 3772(simply)s 4480(include)s +5243(a)s 5412(formfeed)s 6348(character)s 9(,)k 7323(control-L,)s +8335(without)s 0 8099(an)m 3(y)k 414(comment;)s 1433(see)s +1811(Section)s 2602(1.6)s 2972(for)s 3328(more)s 3892(on)s +4206(this.\))s 4816(Or)s 9(,)k 5183(to)s 5439(mak)s 2(e)k +6029(a)s 6212(heading)s 7040(in)s 7300(an)s 7600(Eif)s 6(fel)k +8209(program,)s 0 7811(do)m 293(this:)s 220 fnt35 480 7360(--@ @Displa)m 6(y @Heading { treepr)k -3(int })k +240 fnt82 0 6861(\(Eif)m 6(fel)k 658(comments)s 1680(be)s 3(gin)k +2254(with)s 220 fnt35 2724 6858(--)m 240 fnt82 2909 6861(and)m +3300(end)s 3692(at)s 3912(the)s 4248(end)s 4640(of)s +4899(the)s 5234(line.\))s 5828(Other)s 6420(possible)s 7248(uses)s +7699(for)s 8025(this)s 8408(feature)s 0 6573(include)m 760(inde)s 3(x)k +1344(entries)s 2031(and)s 2435(mar)s 4(gin)k 3165(notes.)s +3834(Incredible)s 4858(as)s 5108(it)s 5300(may)s 5766(seem,)s +6364(you)s 6779(can)s 7168(e)s 6(v)k 3(en)k +7668(write)s 220 fnt35 480 6072(/*@ @CD @Heading { Function @CP { treepr)m -3(int\(\) } } */)k 240 fnt82 +0 5573(with)m 500(a)s 220 fnt35 684 5570(@CP)m 240 fnt82 +1280 5573(symbol)m 2058(and)s 2481(some)s 3060(C)s 3290(code)s +3816(inside)s 4462(the)s 4828(Lout)s 5358(code)s 5884(inside)s +6530(the)s 6896(C)s 7126(code.)s 7760(Y)s 26(ou)k +8221(probably)s 0 5285(can')m 4(t)k 566(go)s 892(further)s 9(,)k +1673(ho)s 6(we)k 6(v)k 3(er)k 9(,)k +2613(at)s 2879(least)s 3409(not)s 3808(in)s 4085(C,)s +4385(since)s 4966(that)s 5417(w)s 2(ould)k 6105(require)s +6871(a)s 7070(C)s 7316(comment)s 8299(inside)s 8960(a)s +0 4997(C)m 212(comment.)s 240 fnt84 0 4253(1.8.)m 471(Embedding)s +1710(pr)s 4(ogram)k 2666(text)s 3110(within)s 3816(pr)s 4(ogram)k +4772(comments)s 240 fnt82 480 3776(The)m 902(standard)s 1763(reference)s +2699(for)s 3030(the)s 3371(Eif)s 6(fel)k 3955(language)s +4869([1)s 5043(])s 5154(speci\207es)s 6021(that)s 6432(identi\207ers)s +7431(within)s 8092(comments)s 0 3488(may)m 466(or)s 725(should)s +1422(be)s 1704(enclosed)s 2599(in)s 2842(`)s 2963(and)s +3367(')s 3479(so)s 3745(that)s 4163(the)s 3(y)k +4626(may)s 5092(be)s 5374(noticed)s 6136(and)s 6540(printed)s +7275(in)s 7518(an)s 7801(italic)s 8330(font:)s 220 fnt35 +480 2987(@ID @Eiff)m 6(el {)k 480 2699(deposit\(amount:)m 11( REAL\) is)k 480 2411( -- deposit )m 13(`amount')k 15( dollars)k +480 2123(})m 240 fnt82 0 1629(produces)m 240 fnt83 480 1126(deposit)m +240 fnt82 1175 1124(\()m 240 fnt83 1248 1126(amount)m 240 fnt82 +1971 1124(:)m 240 fnt83 2077 1126(REAL)m 240 fnt82 2648 1124(\))m +240 fnt84 2776 1123(is)m 240 fnt82 1200 836(--)m 1407(deposit)s +240 fnt83 2158 838(amount)m 240 fnt82 2941 836(dollars)m 0 333(This)m +463(has)s 819(been)s 1315(generalized)s 2460(in)s 2690(Lout:)s +3294(arbitrary)s 4156(te)s 3(xt)k 4557(within)s 5212(an)s +5481(Eif)s 6(fel)k 6059(comment)s 6995(between)s 7836(`)s +7943(and)s 8334(')s 8432(will)s 8844(be)s +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 11 13 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Italic +%%+ font Times-Bold +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore +240 fnt83 0 13843(1.8.)m 454(Embedding)s 1599(pr)s 10(o)k 2(gr)k 3(am)k +2479(te)s 4(xt)k 2883(within)s 3535(pr)s 10(o)k 2(gr)k 3(am)k +4415(comments)s 240 fnt84 8839 13840(11)m 240 fnt82 0 13205(treated)m +707(as)s 957(Eif)s 6(fel)k 1548(te)s 3(xt)k +1963(and)s 2367(printed)s 3102(accordingly)s 15(.)k 4380(Some)s +4981(other)s 5532(languages)s 6540(may)s 7006(also)s 7444(of)s 6(fer)k +7961(this)s 8358(feature:)s 0 12917(see)m 377(the)s 742(\207fth)s +1214(column)s 2006(of)s 2294(the)s 2659(table)s 3195(at)s +3444(the)s 3809(start)s 4296(of)s 4584(this)s 4997(chapter)s 13(.)k +5867(In)s 6140(principle)s 7062(the)s 7427(precise)s 8176(means)s +8855(of)s 0 12629(getting)m 707(it)s 889(could)s 1469(v)s 6(ary)k +1932(from)s 2445(language)s 3355(to)s 3584(language,)s 4545(b)s 4(ut)k +4897(the)s 5234(languages)s 6232(a)s 4(v)k 6(ailable)k +7130(at)s 7352(the)s 7690(moment)s 8523(either)s 0 12341(do)m +293(not)s 659(ha)s 4(v)k 3(e)k 1160(it)s +1352(at)s 1584(all,)s 1929(or)s 2188(else)s 2615(the)s 3(y)k +3078(use)s 3453(`)s 3574(and)s 3978(')s 4090(lik)s 2(e)k +4502(Eif)s 6(fel.)k 480 11967(On)m 847(the)s 1213(subject)s +1967(of)s 2256(Eif)s 6(fel,)k 2917(the)s 3282(Eif)s 6(fel)k +3891(reference)s 4852([1)s 5026(])s 5161(has)s 5549(some)s +6128(quite)s 6679(detailed)s 7511(style)s 8036(guidelines,)s 0 11679(and)m +436(these)s 1016(ha)s 4(v)k 3(e)k 1550(been)s +2091(closely)s 2855(follo)s 6(wed)k 3790(in)s 4066(the)s +4446(implementation)s 6036(of)s 6340(the)s 220 fnt35 6720 11676(@Eiff)m 6(el)k +240 fnt82 7502 11679(symbol.)m 8404(In)s 8693(par)s 8998(-)s +0 11391(ticular)m 9(,)k 220 fnt35 744 11388(@Eiff)m 6(el)k +240 fnt82 1531 11391(prints)m 2164(dots)s 2651(lar)s 4(ger)k +3301(than)s 3808(usual)s 4406(when)s 5019(the)s 3(y)k +5520(denote)s 6252(feature)s 7007(calls,)s 7589(as)s 7877(the)s +8263(e)s 3(xample)k 240 fnt83 0 11105(account)m 336 fnt82 +762 11095(.)m 240 fnt83 835 11105(deposit)m 240 fnt82 1530 11103(\(20\))m +1977(sho)s 6(ws.)k 240 fnt84 0 10314(1.9.)m 471(Reading)s +1378(and)s 1819(selecting)s 2750(pr)s 4(ogram)k 3706(text)s +4150(fr)s 4(om)k 4706(separate)s 5625(\207les)s 240 fnt82 +480 9837(W)m 19(e)k 852(ha)s 4(v)k 3(e)k +1356(said)s 1802(that)s 2223(program)s 3096(te)s 3(xt)k +3514(within)s 220 fnt35 4186 9834(@CP { ...)m 13( })k 240 fnt82 +5266 9837(and)m 5673(the)s 6024(other)s 6578(symbols)s 7430(is)s +7643(passed)s 8343(directly)s 0 9549(to)m 220 fnt35 272 9546(prg2lout)m +240 fnt82 1153 9549(for)m 1525(analysis.)s 2492(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +3485(there)s 4052(is)s 4295(an)s 4611(e)s 3(xception.)k +5736(The)s 6197(program)s 7100(te)s 3(xt)k 7549(may)s +8048(contain)s 8843(an)s 220 fnt35 0 9258(@Include)m 240 fnt82 +985 9261(or)m 220 fnt35 1248 9258(@SysInclude)m 240 fnt82 2599 9261(command,)m +3654(which,)s 4349(as)s 4603(for)s 4945(the)s 220 fnt35 +5296 9258(@V)m 17(erbatim)k 240 fnt82 6429 9261(symbol)m 7192(\(Section)s +8049(??\),)s 8451(causes)s 0 8973(Lout)m 512(to)s 751(tak)s 2(e)k +1203(the)s 1551(program)s 2421(te)s 3(xt)k 2836(from)s +3360(a)s 3526(\207le:)s 220 fnt35 480 8472(@Eiff)m 6(el)k +480 8184({)m 480 7896( @Include { "/usr/staff/jeff/Eiff)m 6(el/hash.e" })k 480 7608(})m 240 fnt82 +0 7114(The)m 421(included)s 1296(\207le)s 1649(is)s 1852(not)s +2211(e)s 3(xamined)k 3188(for)s 3519(balanced)s 4419(braces)s +5073(or)s 220 fnt35 5325 7111(@End)m 240 fnt82 5978 7114(or)m +220 fnt35 6230 7111(@Include)m 240 fnt82 7152 7114(;)m 7257(it)s +7441(is)s 7644(treated)s 8343(entirely)s 0 6826(v)m 3(erbatim)k +895(and)s 1288(passed)s 1973(straight)s 2738(on)s 3024(to)s +220 fnt35 3252 6823(prg2lout)m 240 fnt82 4040 6826(.)m 4193(There)s +4795(may)s 5250(be)s 5521(se)s 6(v)k 3(eral)k +220 fnt35 6232 6823(@Include)m 240 fnt82 7203 6826(commands,)m 8336(and)s +8729(an)s 3(y)k 0 6538(amount)m 778(of)s 1049(program)s +1919(te)s 3(xt)k 2334(as)s 2584(well,)s 3102(within)s +220 fnt35 3770 6535(@CP { ...)m 13( })k 240 fnt82 4847 6538(and)m +5251(the)s 5599(rest.)s 480 6164(When)m 1109(including)s 2066(\207les)s +2515(in)s 2758(this)s 3153(w)s 2(ay)k 3604(it)s +3796(often)s 4344(happens)s 5179(that)s 5597(only)s 6077(part)s +6508(of)s 6778(an)s 7061(actual)s 7686(program)s 8556(\207le)s +8916(is)s 0 5876(w)m 2(anted)k 753(for)s 1098(display)s 15(.)k +1945(Rather)s 2649(than)s 3125(placing)s 3888(the)s 4243(w)s 2(anted)k +4997(part)s 5435(in)s 5685(a)s 5857(separate)s 6702(\207le,)s +7121(which)s 7770(is)s 7987(error)s 4(-prone)k 0 5588(and)m +404(tedious)s 1147(when)s 1724(the)s 2073(program)s 2944(is)s +3154(changing,)s 4140(Unix)s 4675(users)s 5218(can)s 5608(use)s +5984(the)s 220 fnt35 6332 5585(pipe)m 240 fnt82 6799 5588(option)m +7469(to)s 7709(pipe)s 8178(the)s 8527(entire)s 0 5300(\207le)m +369(through)s 1180(an)s 1472(arbitrary)s 2355(sequence)s 3297(of)s +3577(Unix)s 4119(commands,)s 5272(which)s 5923(may)s 6397(be)s +6688(used)s 7194(to)s 7441(mak)s 2(e)k 8022(the)s +8379(w)s 2(anted)k 0 5012(selection)m 906(before)s 1572(the)s +1920(program)s 2790(te)s 3(xt)k 3205(is)s 3415(passed)s +4111(to)s 220 fnt35 4350 5009(prg2lout)m 240 fnt82 5138 5012(.)m +480 4638(F)m 3(or)k 868(e)s 3(xample,)k 1780(suppose)s +2606(that)s 3022(all)s 3313(your)s 3810(Eif)s 6(fel)k +4399(routines)s 5218(be)s 3(gin)k 5802(with)s 6282(the)s +6628(routine)s 7359(name)s 7931(one)s 8331(tab)s 8674(stop)s +0 4350(from)m 524(the)s 872(left)s 1249(mar)s 4(gin)k +1979(and)s 2383(end)s 2787(at)s 3019(the)s 3367(\207rst)s +3798(follo)s 6(wing)k 240 fnt84 4775 4349(end)m 240 fnt82 +5202 4350(indented)m 6084(tw)s 2(o)k 6494(tab)s 6839(stops.)s +7495(Then)s 220 fnt35 480 3849(@Eiff)m 6(el)k 480 3561( pipe { "sed -n /^.inser)m -8(t/,/^..end/p" })k +480 3273({)m 480 2985( @Include { "/usr/staff/jeff/Eiff)m 6(el/hash.e" })k 480 2697(})m 240 fnt82 +0 2203(will)m 417(select)s 1010(just)s 1406(the)s 240 fnt83 +1744 2205(insert)m 240 fnt82 2342 2203(routine)m 3066(from)s 3580(the)s +220 fnt35 3918 2200(hash.e)m 240 fnt82 4620 2203(\207le.)m 5079(Assuming)s +6094(that)s 6502(your)s 6991(program)s 7852(te)s 3(xt)k +8257(has)s 8617(been)s 0 1915(laid)m 413(out)s 775(in)s +1014(a)s 1176(disciplined)s 2279(manner)s 9(,)k 3090(e)s 6(v)k 3(ery)k +3663(line)s 4073(of)s 4340(the)s 4684(selection)s 5586(will)s +6008(be)s 3(gin)k 6591(with)s 7069(a)s 7231(tab)s +7572(character)s 8502(that)s 8916(is)s 0 1627(not)m 366(w)s 2(anted)k +1113(in)s 1356(this)s 1752(display)s 15(,)k 2535(so)s +2801(an)s 3084(e)s 6(v)k 3(en)k 3584(better)s +4187(pipe)s 4655(is)s +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 12 14 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Times-Italic +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore +240 fnt84 0 13840(12)m 240 fnt83 5981 13843(Chapter)m 6831(1.)s +7105(Computer)s 8128(Pr)s 10(o)k 2(gr)k 3(ams)k +220 fnt35 480 13207(@Eiff)m 6(el)k 480 12919( pipe { "sed -n /^.inser)m -8(t/,/^..end/p | cut -c2-" })k +480 12631({)m 480 12343( @Include { "/usr/staff/jeff/Eiff)m 6(el/hash.e" })k 480 12055(})m 240 fnt82 +0 11561(since)m 584(it)s 813(cuts)s 1286(a)s 3(w)k 2(ay)k +1878(the)s 2263(unw)s 2(anted)k 3287(tab)s 3670(characters.)s +4838(Unfortunately)s 15(,)k 6308(we)s 6680(can')s 4(t)k +7251(sho)s 6(w)k 7842(the)s 8227(result)s 8855(of)s +0 11273(this)m 430(on)s 761(an)s 1078(actual)s 1737(e)s 3(xample,)k +2685(since)s 3266(that)s 3718(w)s 2(ould)k 4407(pre)s 6(v)k 3(ent)k +5209(this)s 5639(manual)s 6432(from)s 6990(being)s 7609(formatted)s +8629(on)s 8960(a)s 0 10985(non-Unix)m 973(system.)s 240 fnt84 +0 10193(1.10.)m 591(Err)s 4(or)k 1243(messages)s 240 fnt82 +480 9716(In)m 739(order)s 1307(to)s 1550(understand)s 2662(the)s +3013(error)s 3540(messages)s 4498(produced)s 5451(by)s 5749(program)s +6622(printing,)s 7490(it)s 7686(is)s 7900(necessary)s 8887(to)s +0 9428(understand)m 1113(that)s 1536(Lout')s 13(s)k 2203(\207rst)s +2639(step)s 3082(when)s 3663(gi)s 6(v)k 3(en)k +4248(a)s 4419(program)s 5294(te)s 3(xt)k 5714(is)s +5929(to)s 6173(pass)s 6641(it)s 6838(to)s 7082(the)s +7435(separate)s 220 fnt35 8278 9425(prg2lout)m 240 fnt82 0 9140(program)m +917(for)s 1303(analysis.)s 2285(This)s 2809(separate)s 3695(program)s +4613(is)s 4871(the)s 5266(source)s 5994(of)s 6313(most)s +6886(of)s 7205(the)s 7601(error)s 8172(messages)s 0 8852(associated)m +1040(with)s 1522(program)s 2392(printing.)s 480 8478(The)m 220 fnt35 +907 8475(prg2lout)m 240 fnt82 1753 8478(program)m 2622(is)s 2830(quite)s +3362(happ)s 2(y)k 3999(to)s 4236(format)s 4931(a)s +5095(fragment)s 6015(of)s 6285(a)s 6449(computer)s 7411(program:)s +8385(there)s 8916(is)s 0 8190(no)m 278(need)s 773(to)s +997(supply)s 1675(a)s 1826(complete)s 2743(routine,)s 3512(or)s +3756(a)s 3907(complete)s 4824(statement,)s 5831(or)s 6075(an)s 3(y)k +6457(such)s 6938(thing.)s 7579(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +8524(it)s 8700(will)s 0 7902(complain)m 944(if)s 1157(you)s +1568(supply)s 2258(only)s 2734(a)s 2896(fragment)s 3815(of)s +4082(one)s 4480(le)s 3(xical)k 5164(unit,)s 5640(such)s +6132(as)s 6378(a)s 6541(comment)s 7487(or)s 7742(string)s +8335(without)s 0 7614(its)m 276(terminating)s 1431(delimiter)s 13(.)k +2444(It)s 2650(will)s 3077(also)s 3515(complain)s 4463(if)s +4681(there)s 5215(is)s 5426(a)s 5592(character)s 6527(that)s +6946(cannot)s 7645(be)s 7928(classi\207ed)s 8876(as)s 0 7326(part)m +432(of)s 705(an)s 990(identi\207er)s 9(,)k 1952(number)s 9(,)k +2782(etc.)s 3166(according)s 4164(to)s 4405(the)s 4754(rules)s +5271(of)s 5544(the)s 5894(language)s 6815(as)s 7067(the)s 3(y)k +7532(ha)s 4(v)k 3(e)k 8035(been)s 8546(gi)s 6(v)k 3(en)k +0 7038(to)m 220 fnt35 259 7035(prg2lout)m 240 fnt82 1127 7038(by)m +1442(the)s 1810(implementer)s 13(.)k 3189(Irrespecti)s 6(v)k 3(e)k +4382(of)s 4673(the)s 5042(language)s 5982(rules,)s 220 fnt35 +6574 7035(prg2lout)m 240 fnt82 7442 7038(al)m 2(w)k 2(ays)k +8174(interprets)s 0 6750(spaces,)m 731(tabs,)s 1223(ne)s 6(wlines,)k +2174(and)s 2578(formfeed)s 3511(characters)s 4529(in)s 4772(the)s +5120(usual)s 5680(w)s 2(ay)k 15(.)k 480 6376(If)m +738(an)s 1050(error)s 1601(message)s 2496(is)s 2735(generated)s +3750(by)s 220 fnt35 4073 6373(prg2lout)m 240 fnt82 4861 6376(,)m +4996(it)s 5217(will)s 5672(contain)s 6461(a)s 6656(line)s +7098(and)s 7531(column)s 8335(number)s 0 6088(counting)m 891(from)s +1415(the)s 1763(start)s 2233(of)s 2504(the)s 2852(program)s +3722(te)s 3(xt)k 4137(in)s 9(v)k 4(olv)k 3(ed.)k +5123(Lout)s 5635(will)s 6061(precede)s 6860(this)s 7256(error)s +7779(message)s 8644(with)s 0 5800(a)m 175(\207le)s 545(name,)s +1179(line)s 1602(number)s 9(,)k 2441(and)s 2854(column)s +3638(number)s 4438(pointing)s 5298(to)s 5547(the)s 5904(Lout)s +6425(symbol)s 7194(\()s 220 fnt35 7267 5797(@CP)m 240 fnt82 +7785 5800(,)m 220 fnt35 7901 5797(@Eiff)m 6(el)k 240 fnt82 +8660 5800(etc.\))m 0 5512(whose)m 668(program)s 1538(te)s 3(xt)k +1953(caused)s 2662(the)s 3010(error)s 3533(message,)s 4450(lik)s 2(e)k +4862(this:)s 220 fnt35 480 5012(lout \207le "prg_tabs" \(from "prg" line 96, from "all" line 46\):)m 480 4724( 56,23:)m 11( prg2lout 2,1:)k 11( prog)k 2(r)k 2(am te)k 6(xt ended within comment)k +240 fnt82 0 4225(This)m 476(is)s 686(an)s 970(actual)s +1595(message)s 2462(produced)s 3411(when)s 3988(formatting)s 5049(this)s +5445(chapter)s 13(.)k 6300(The)s 6728(program)s 7599(te)s 3(xt)k +8014(in)s 8258(question)s 0 3937(has)m 369(only)s 848(one)s +1249(line,)s 1713(containing)s 2775(an)s 3057(incomplete)s 4174(comment,)s +5169(so)s 5434(when)s 220 fnt35 6009 3934(prg2lout)m 240 fnt82 +6856 3937(tried)m 7350(to)s 7588(start)s 8057(the)s 8403(second)s +0 3649(line)m 408(and)s 805(found)s 1416(nothing,)s 2248(it)s +2434(complained)s 3601(as)s 3845(sho)s 6(wn.)k 4622(In)s +4872(general,)s 5675(then,)s 6188(you)s 6596(ha)s 4(v)k 3(e)k +7091(to)s 7323(add)s 220 fnt35 7721 3646(prg2lout)m 240 fnt82 +8509 3649(')m 13(s)k 8712(line)s 0 3361(number)m 791(to)s +1030(Lout')s 13(s)k 1692(line)s 2106(number)s 9(,)k +2935(and)s 3339(use)s 3714(some)s 4275(initiati)s 6(v)k 3(e,)k +5221(to)s 5460(\207nd)s 5891(the)s 6239(precise)s 6971(point)s +7523(of)s 7794(the)s 8142(problem.)s 240 fnt84 0 2569(1.11.)m +591(Notes)s 1216(on)s 1525(P)s 4(erl)k 2000(and)s +2441(P)s 4(od)k 240 fnt82 480 2137(The)m 923(Perl)s +1378(programming)s 2749(language)s 153 fnt82 3609 2226(1)m 240 fnt82 +3744 2137(is)m 3970(quite)s 4520(a)s 4702(dif\207cult)s 5533(one)s +5951(for)s 6305(the)s 220 fnt35 6668 2134(prg2lout)m 240 fnt82 +7532 2137(program)m 8418(to)s 8673(deal)s 0 1849(with,)m 526(and)s +924(our)s 1297(boast)s 1855(that)s 2267(programs)s 3215(can)s +3598(be)s 3873(included)s 4749(with)s 5225(`absolutely)s 6335(no)s +6621(modi\207cations')s 8029(is)s 8233(not)s 8592(quite)s 0 1561(true)m +427(for)s 765(Perl.)s 480 1187(Here)m 992(is)s 1194(the)s +1534(complete)s 2458(list)s 2801(of)s 3064(problem)s 3913(areas.)s +4559(In)s 4807(most)s 5324(cases)s 5871(their)s 6360(ef)s 6(fect)k +6948(is)s 7150(to)s 7381(get)s 7725(the)s 8065(formatting)s +0 899(wrong)m 675(o)s 3(v)k 3(er)k 1164(a)s +1341(short)s 1889(re)s 3(gion,)k 2615(which)s 3267(is)s +3488(not)s 3864(perhaps)s 4670(so)s 4946(disastrous;)s 6025(and)s +6439(it)s 6642(should)s 7349(be)s 7642(easy)s 8131(to)s +8381(modify)s 1134 0 0 0 240 288 60 0 307 LoutGr2 +0 0 moveto xsize 0 lineto stroke +grestore + +grestore +122 fnt82 0 112(1)m 192 fnt82 58 42(My)m +368(thanks)s 909(to)s 1101(Mark)s 1563(Summer\207eld)s 2598(for)s +2868(help)s 3241(with)s 3627(Perl)s 3978(and)s 4302(Pod.)s + +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 13 15 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Italic +%%+ font Times-Bold +%%+ font Courier +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Courier +/Courierfnt29 vec2 /Courier LoutRecode +/fnt29 { /Courierfnt29 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore +240 fnt83 0 13843(1.11.)m 574(Notes)s 1174(on)s 1468(P)s 19(erl)k +1920(and)s 2346(P)s 19(od)k 240 fnt84 8833 13840(13)m +240 fnt82 0 13249(your)m 507(Perl)s 955(program)s 1834(without)s +2634(changing)s 3574(its)s 3859(meaning,)s 4799(to)s 5046(w)s 2(ork)k +5606(around)s 6338(these)s 6894(problems.)s 7957(After)s 8529(all,)s +8883(in)s 0 12961(Perl)m 439(there)s 972(is)s 1182(al)s 2(w)k 2(ays)k +1893(more)s 2440(than)s 2909(one)s 3311(w)s 2(ay)k +3762(to)s 4001(do)s 4294(it.)s 0 12456(1.)m 240 fnt83 +480 12458(Her)m 8(e-documents)k 240 fnt82 2108 12456(such)m 2604(as)s +960 12004(<<"EOF")m 960 11716(These lines will be read as though)m 960 11428(enclosed in double quotes)m 960 11140(EOF)m 480 10686(will)m +893(be)s 1162(handled)s 1964(correctly)s 2853(only)s 3320(if)s +3523(the)s 3858(string)s 4442(appearing)s 5424(immediately)s 6659(after)s +7142(the)s 220 fnt29 7476 10694(<<)m 240 fnt82 7787 10686(operator)m +8629(\(that)s 480 10398(is,)m 748(the)s 1098(string)s 1697(used)s +2197(to)s 2438(terminate)s 3397(the)s 3747(here-document\))s 5312(is)s +5524(one)s 5928(of)s 220 fnt29 6201 10406(EOF)m 240 fnt82 +6597 10398(,)m 220 fnt29 6707 10406(EOT)m 240 fnt82 7103 10398(,)m +220 fnt29 7212 10406(END)m 240 fnt82 7608 10398(,)m 7717(and)s +8123(the)s 8474(empty)s 480 10110(string,)m 1116(all)s 1393(optionally)s +2401(enclosed)s 3281(in)s 3508(quotes)s 4168(of)s 4424(an)s 3(y)k +4805(of)s 5060(the)s 5392(three)s 5910(kinds.)s 6577(If)s +6791(this)s 7172(condition)s 8117(is)s 8311(not)s 8661(met,)s +480 9822(then)m 942(the)s 1283(here-document)s 2770(will)s 3189(be)s +3464(treated)s 4163(as)s 4406(Perl)s 4838(program)s 5701(te)s 3(xt.)k +6213(If)s 6435(the)s 6776(condition)s 7730(is)s 7933(met,)s +8391(there)s 8916(is)s 480 9534(still)m 885(another)s 1655(problem:)s +2610(the)s 220 fnt29 2951 9542(<<)m 240 fnt82 3268 9534(symbol)m +4020(and)s 4417(e)s 6(v)k 3(erything)k 5476(after)s +5965(it)s 6150(on)s 6439(the)s 6780(same)s 7320(line)s +7726(will)s 8145(be)s 8419(treated)s 480 9246(\(incorrectly\))m 1715(as)s +1958(a)s 2117(string.)s 2819(The)s 3240(w)s 2(orst)k +3822(consequence)s 5095(of)s 5359(this)s 5748(is)s 5952(that)s +6363(stack)s 2(ed)k 7129(here-documents)s 8700(will)s 480 8958(not)m +846(be)s 1128(printed)s 1863(properly)s 15(.)k 0 8455(2.)m +480(When)s 220 fnt35 1118 8452(prg2lout)m 240 fnt82 1976 8455(is)m +2196(scanning)s 3110(the)s 3468(program)s 4347(te)s 3(xt)k +4772(looking)s 5567(for)s 5915(the)s 6273(be)s 3(ginning)k +7290(of)s 7571(a)s 7747(le)s 3(xical)k 8445(unit,)s +8934(it)s 480 8167(may)m 939(come)s 1505(upon)s 2034(a)s +220 fnt35 2192 8164(/)m 240 fnt82 2309 8167(character)m 9(,)k +3273(and)s 3669(this)s 240 fnt83 4057 8169(initial)m 220 fnt35 +4680 8164(/)m 240 fnt82 4796 8167(\(not)m 5233(subsequent)s 6349(ones)s +6832(in)s 7067(the)s 7407(same)s 7946(le)s 3(xical)k +8626(unit\))s 480 7879(it)m 691(\207nds)s 1227(dif\207cult)s 2062(to)s 2320(interpret,)s 3254(since)s 3820(it)s 4031(may)s 4517(be)s 4818(the)s 5185(be)s 3(ginning)k 6212(of)s 6502(a)s 6687(re)s 3(gular)k 7439(e)s 3(xpression,)k 8585(to)s -8844(be)s 480 6498(formatted)m 1460(lik)s 2(e)k 1865(a)s +8844(be)s 480 7591(formatted)m 1460(lik)s 2(e)k 1865(a)s 2024(string,)s 2668(or)s 2920(it)s 3105(may)s 3564(be)s 3839(a)s 3998(complete)s 4923(le)s 3(xical)k 5604(unit)s 6029(denoting)s 6913(di)s 6(vision.)k 7835(The)s 8256(program)s -480 6210(chooses)m 1308(the)s 1675(re)s 3(gular)k 2427(e)s 3(xpression)k +480 7303(chooses)m 1308(the)s 1675(re)s 3(gular)k 2427(e)s 3(xpression)k 3524(\(or)s 3881(equi)s 6(v)k 6(alently)k 15(,)k 5162(string\))s 5853(interpretation)s 7216(if)s 7452(the)s 220 fnt35 -7819 6207(/)m 240 fnt82 7962 6210(character)m 8916(is)s 480 5922(immediately)m -1714(preceded)s 2620(by)s 220 fnt35 2900 5919(q)m 240 fnt82 -3009 5922(,)m 220 fnt35 3101 5919(qq)m 240 fnt82 3332 5922(,)m -220 fnt35 3424 5919(qx)m 240 fnt82 3654 5922(,)m 220 fnt35 -3747 5919(qw)m 240 fnt82 4025 5922(,)m 220 fnt35 4117 5919(qr)m -240 fnt82 4312 5922(,)m 220 fnt35 4405 5919(m)m 240 fnt82 -4574 5922(,)m 220 fnt35 4666 5919(s)m 240 fnt82 4769 5922(,)m -220 fnt35 4861 5919(y)m 240 fnt82 4969 5922(,)m 5062(or)s -220 fnt35 5306 5919(tr)m 240 fnt82 5440 5922(.)m 5590(It)s +7819 7300(/)m 240 fnt82 7962 7303(character)m 8916(is)s 480 7015(immediately)m +1714(preceded)s 2620(by)s 220 fnt35 2900 7012(q)m 240 fnt82 +3009 7015(,)m 220 fnt35 3101 7012(qq)m 240 fnt82 3332 7015(,)m +220 fnt35 3424 7012(qx)m 240 fnt82 3654 7015(,)m 220 fnt35 +3747 7012(qw)m 240 fnt82 4025 7015(,)m 220 fnt35 4117 7012(qr)m +240 fnt82 4312 7015(,)m 220 fnt35 4405 7012(m)m 240 fnt82 +4574 7015(,)m 220 fnt35 4666 7012(s)m 240 fnt82 4769 7015(,)m +220 fnt35 4861 7012(y)m 240 fnt82 4969 7015(,)m 5062(or)s +220 fnt35 5306 7012(tr)m 240 fnt82 5440 7015(.)m 5590(It)s 5780(also)s 6203(chooses)s 6998(the)s 7331(re)s 3(gular)k -8049(e)s 3(xpression)k 480 5634(interpretation)m 1834(if)s 2063(the)s -220 fnt35 2423 5631(/)m 240 fnt82 2558 5634(character)m 3504(is)s -3726(immediately)s 4986(preceded)s 5918(by)s 6224(zero,)s 6754(one,)s -7219(or)s 7489(tw)s 2(o)k 7911(space)s 8510(or)s -8781(tab)s 480 5346(characters,)m 1549(which)s 2186(are)s 2528(themselv)s 3(es)k -3633(immediately)s 4876(preceded)s 5792(by)s 6081(a)s 6242(complete)s -7169(le)s 3(xical)k 7852(unit)s 8279(which)s 8916(is)s -480 5058(either)m 220 fnt35 1078 5055(=)m 240 fnt82 1198 5058(,)m -220 fnt35 1300 5055(=~)m 240 fnt82 1543 5058(,)m 220 fnt35 -1645 5055(!~)m 240 fnt82 1821 5058(,)m 220 fnt35 1923 5055(split)m -240 fnt82 2308 5058(,)m 2410(or)s 220 fnt35 2664 5055(if)m -240 fnt82 2770 5058(.)m 2929(Otherwise)s 3961(it)s 4148(chooses)s -4952(the)s 5295(di)s 6(vision)k 6112(interpretation.)s 7557(In)s -7808(the)s 8151(rare)s 8571(cases)s 480 4770(where)m 1120(this)s -1517(rule)s 1945(f)s 2(ails,)k 2460(you)s 2876(can)s -3266(force)s 220 fnt35 3812 4767(prg2lout)m 240 fnt82 4661 4770(to)m -4901(choose)s 5622(the)s 5971(re)s 3(gular)k 6705(e)s 3(xpression)k -7783(interpretation)s 480 4482(by)m 777(placing)s 1537(an)s 220 fnt35 -1823 4479(m)m 240 fnt82 2055 4482(in)m 2301(front)s 2829(of)s -3103(the)s 3454(initial)s 220 fnt35 4068 4479(/)m 240 fnt82 -4195 4482(\(this)m 4673(does)s 5167(not)s 5536(change)s 6273(the)s -6624(meaning)s 7504(of)s 7778(the)s 8130(program\),)s 480 4194(and)m -910(you)s 1352(can)s 1768(force)s 2341(the)s 2716(di)s 6(vision)k -3565(interpretation)s 4935(by)s 5256(placing)s 6040(at)s 6299(least)s -6823(three)s 7383(spaces)s 8085(before)s 8778(the)s 220 fnt35 -480 3903(/)m 240 fnt82 604 3906(character)m 13(.)k 0 3448(3.)m -480(The)s 220 fnt35 910 3445(prg2lout)m 240 fnt82 1761 3448(program)m -2634(recognises)s 3697(complete)s 4632(substitution)s 5808(operators,)s 6807(such)s -7306(as)s 220 fnt35 7559 3445(s/abc/ABC/)m 240 fnt82 8722 3448(and)m -220 fnt35 480 3157(s{abc}{ABC})m 240 fnt82 1677 3160(,)m 1799(as)s -2065(indi)s 6(vidual)k 3100(le)s 3(xical)k 3804(units,)s -4392(and)s 4812(it)s 5019(formats)s 5815(them)s 6369(as)s -6635(it)s 6843(does)s 7349(strings.)s 8166(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k -480 2872(its)m 774(rule)s 1219(for)s 1575(deciding)s 2470(where)s -3128(these)s 3693(units)s 4227(end)s 4650(is)s 4878(rather)s -5512(simple-minded:)s 7130(at)s 7380(the)s 7746(start,)s 8281(it)s -8492(w)s 2(orks)k 480 2584(out)m 846(what)s 1372(character)s -2306(\207nishes)s 3089(the)s 3438(unit)s 3870(\(in)s 4193(the)s -4541(e)s 3(xamples)k 5493(abo)s 3(v)k 3(e,)k -220 fnt35 6167 2581(/)m 240 fnt82 6291 2584(and)m 220 fnt35 -6696 2581(})m 240 fnt82 6820 2584(respecti)m 6(v)k 3(ely\),)k -8152(and)s 8557(scans)s 480 2296(along)m 1070(until)s 1569(it)s -1767(reaches)s 2540(the)s 2894(second)s 3622(occurrence)s 4732(of)s -5009(this)s 5411(character)s 6351(not)s 6722(preceded)s 7649(by)s -7949(the)s 220 fnt35 8303 2293(\\)m 240 fnt82 8433 2296(escape)m -480 2008(character)m 13(.)k 1505(This)s 1981(is)s 2191(inadequate)s -3283(in)s 3526(tw)s 2(o)k 3936(respects.)s 4869(Firstly)s 15(,)k -220 fnt35 960 1510(s{{}}{})m 240 fnt82 480 1016(is)m 698(a)s -872(complete)s 1812(le)s 3(g)k 1(al)k 2336(substitution)s -3517(e)s 3(xpression)k 4602(in)s 4853(Perl,)s 5353(b)s 4(ut)k -220 fnt35 5723 1013(prg2lout)m 240 fnt82 6579 1016(will)m 7013(think)s -7575(it)s 7775(ends)s 8273(after)s 8778(the)s 480 728(second)m -220 fnt35 1203 725(})m 240 fnt82 1267 728(,)m 1374(and)s -1778(so)s 2044(format)s 2740(the)s 3088(rest)s 3492(of)s -3763(it)s 3955(wrongly)s 15(.)k 4902(Secondly)s 15(,)k -5885(and)s 6289(more)s 6836(seriously)s 15(,)k 1134 0 0 0 240 288 60 0 307 LoutGr2 -0 0 moveto xsize 0 lineto stroke -grestore +8049(e)s 3(xpression)k 480 6727(interpretation)m 1818(if)s 2029(the)s +220 fnt35 2371 6724(/)m 240 fnt82 2489 6727(character)m 3417(appears)s +4192(at)s 4418(the)s 4760(start)s 5225(of)s 5490(a)s +5650(line,)s 6109(or)s 6362(if)s 6573(it)s 6759(is)s +6963(immediately)s 8205(preceded)s 480 6439(by)m 787(zero,)s 1319(one,)s +1786(or)s 2059(tw)s 2(o)k 2482(space)s 3083(or)s +3356(tab)s 3715(characters,)s 4802(which)s 5458(are)s 5819(themselv)s 3(es)k +6943(immediately)s 8205(preceded)s 480 6151(by)m 784(a)s 961(complete)s +1903(le)s 3(xical)k 2602(unit)s 3044(which)s 3697(is)s +3918(one)s 4330(of)s 220 fnt35 4612 6148(\()m 240 fnt82 +4678 6151(,)m 220 fnt35 4795 6148(=)m 240 fnt82 4915 6151(,)m +220 fnt35 5033 6148(=~)m 240 fnt82 5276 6151(,)m 220 fnt35 +5393 6148(!~)m 240 fnt82 5569 6151(,)m 220 fnt35 5687 6148(split)m +240 fnt82 6072 6151(,)m 220 fnt35 6190 6148(if)m 240 fnt82 +6296 6151(,)m 220 fnt35 6413 6148(and)m 240 fnt82 6767 6151(,)m +220 fnt35 6885 6148(&&)m 240 fnt82 7173 6151(,)m 220 fnt35 +7290 6148(or)m 240 fnt82 7485 6151(,)m 220 fnt35 7603 6148(||)m +240 fnt82 7697 6151(,)m 220 fnt35 7814 6148(not)m 240 fnt82 +8115 6151(,)m 220 fnt35 8233 6148(!)m 240 fnt82 8274 6151(,)m +220 fnt35 8392 6148(unless)m 240 fnt82 9019 6151(,)m 220 fnt35 +480 5860(f)m 6(or)k 240 fnt82 730 5863(,)m 220 fnt35 +849 5860(f)m 6(oreach)k 240 fnt82 1561 5863(,)m 1681(and)s +220 fnt35 2098 5860(while)m 240 fnt82 2588 5863(.)m 2765(Otherwise)s +3816(it)s 4021(chooses)s 4843(the)s 5204(di)s 6(vision)k +6039(interpretation.)s 7502(In)s 7771(the)s 8132(rare)s 8571(cases)s +480 5575(where)m 1120(this)s 1517(rule)s 1945(f)s 2(ails,)k +2460(you)s 2876(can)s 3266(force)s 220 fnt35 3812 5572(prg2lout)m +240 fnt82 4661 5575(to)m 4901(choose)s 5622(the)s 5971(re)s 3(gular)k +6705(e)s 3(xpression)k 7783(interpretation)s 480 5287(by)m 777(placing)s +1537(an)s 220 fnt35 1823 5284(m)m 240 fnt82 2055 5287(in)m +2301(front)s 2829(of)s 3103(the)s 3454(initial)s 220 fnt35 +4068 5284(/)m 240 fnt82 4195 5287(\(this)m 4673(does)s 5167(not)s +5536(change)s 6273(the)s 6624(meaning)s 7504(of)s 7778(the)s +8130(program\),)s 480 4999(and)m 910(you)s 1352(can)s 1768(force)s +2341(the)s 2716(di)s 6(vision)k 3565(interpretation)s 4935(by)s +5256(placing)s 6040(at)s 6299(least)s 6823(three)s 7383(spaces)s +8085(before)s 8778(the)s 220 fnt35 480 4708(/)m 240 fnt82 +604 4711(character)m 13(.)k 0 4253(3.)m 480(Substitution)s 1701(e)s 3(xpressions,)k +2930(e)s 6(v)k 3(en)k 3439(such)s 3943(le)s 3(xically)k +4825(comple)s 3(x)k 5710(ones)s 6208(as)s 220 fnt29 +6467 4261(s{{@D}}[{@I}])m 240 fnt82 8183 4253(,)m 8299(are)s 8655(han)s +8998(-)s 480 3965(dled)m 942(correctly)s 15(.)k 1931(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k +220 fnt35 2883 3962(prg2lout)m 240 fnt82 3723 3965(does)m 4205(not)s +4563(understand)s 5663(that)s 6073(the)s 6413(letters)s 220 fnt35 +7038 3962(gimosx)m 240 fnt82 7783 3965(in)m 8018(an)s 3(y)k +8406(combi)s 8998(-)s 480 3677(nation)m 1135(appearing)s 2131(immediately)s +3378(after)s 3874(a)s 4040(substitution)s 5212(e)s 3(xpression)k +6289(are)s 6636(part)s 7066(of)s 7337(it;)s 7581(it)s +7772(treats)s 8339(them)s 8876(as)s 480 3389(the)m 825(start)s +1291(of)s 1558(a)s 1721(ne)s 6(w)k 2164(le)s 3(xical)k +2848(unit.)s 3380(This)s 3853(ne)s 6(w)k 4296(unit)s +4724(will)s 5147(usually)s 5888(be)s 6166(tak)s 2(en)k +6735(to)s 6971(be)s 7249(an)s 7528(identi\207er)s 9(,)k +8484(which)s 480 3101(is)m 690(harmless)s 1590(enough,)s 2403(b)s 4(ut)k +2765(occasionally)s 4014(it)s 4206(is)s 4416(tak)s 2(en)k +4989(to)s 5228(be)s 5510(something)s 6560(else.)s 7095(F)s 3(or)k +7484(e)s 3(xample,)k 8398(in)s 220 fnt35 960 2600(s///s;)m +240 fnt82 480 2117(the)m 838(trailing)s 220 fnt35 1591 2114(s)m +240 fnt82 1765 2117(will)m 2201(be)s 2494(mistak)s 2(en)k +3423(for)s 3771(the)s 4130(start)s 4611(of)s 4892(a)s +5069(ne)s 6(w)k 5527(substitution)s 6710(e)s 3(xpression,)k +7848(with)s 220 fnt35 8341 2114(;)m 240 fnt82 8454 2117(delim)m +8998(-)s 480 1829(iting)m 976(the)s 1329(\207rst)s 1766(pattern.)s +2598(This)s 3080(particular)s 4059(e)s 3(xample)k 4927(can)s +5322(be)s 5609(\207x)s 3(ed)k 6149(by)s 6448(inserting)s +7342(a)s 7514(space)s 8106(before)s 8778(the)s 480 1541(semicolon.)m +0 1088(Further)m 763(w)s 2(ork)k 1314(may)s 1780(eliminate)s +2724(some)s 3285(of)s 3556(these)s 4103(problems.)s 480 714(The)m +953(Pod)s 1429(language)s 2394(is)s 2650(used)s 3192(by)s +3531(Perl)s 4015(programmers)s 5386(for)s 5769(creating)s 6636(documentation,)s +8210(and)s 8660(may)s 0 426(be)m 313(found)s 961(within)s +1660(Perl)s 2131(programs)s 3116(or)s 3406(standing)s 4301(alone.)s +5015(Lout)s 5558(supports)s 6451(both)s 6965(arrangements)s 8335(without)s +0 138(an)m 3(y)k 418(special)s 1157(action)s 1819(by)s +2134(the)s 2503(user)s 13(.)k 3073(At)s 3393(the)s +3762(be)s 3(ginning)k 4792(of)s 5084(the)s 220 fnt35 +5453 135(per)m -3(l)k 240 fnt82 5888 138(setup)m 6467(line,)s +6953(the)s 7322(follo)s 6(wing)k 8320(line)s 8756(has)s grestore -122 fnt82 -0 112(1)m 192 fnt82 58 42(My)m 368(thanks)s 909(to)s -1101(Mark)s 1563(Summer\207eld)s 2598(for)s 2868(help)s 3241(with)s -3627(Perl)s 3978(and)s 4302(Pod.)s -grestore grestore @@ -5084,7 +6867,7 @@ grestore pgsave restore showpage -%%Page: 12 2 +%%Page: 14 16 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -5111,68 +6894,153 @@ gsave 9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 0 LoutMargSet grestore -240 fnt84 0 13840(12)m 240 fnt83 5981 13843(Chapter)m 6831(1.)s +240 fnt84 0 13840(14)m 240 fnt83 5981 13843(Chapter)m 6831(1.)s 7105(Computer)s 8128(Pr)s 10(o)k 2(gr)k 3(ams)k -220 fnt35 960 13207(s{abc}<ABC>)m 240 fnt82 480 12713(is)m 711(also)s -1171(allo)s 6(wed)k 2001(in)s 2266(Perl,)s 2778(b)s 4(ut)k -220 fnt35 3162 12710(prg2lout)m 240 fnt82 4031 12713(does)m 4543(not)s -4930(understand)s 6060(that)s 6499(the)s 6869(\207nishing)s 7781(character)s -8737(can)s 480 12425(change)m 1215(in)s 1459(this)s 1856(w)s 2(ay)k 15(,)k -2346(so)s 2613(in)s 2858(this)s 3255(e)s 3(xample)k -4119(it)s 4312(will)s 4739(k)s 2(eep)k 5244(scanning)s -6149(fore)s 6(v)k 3(er)k 9(,)k 6928(looking)s -7714(for)s 8053(the)s 8403(second)s 220 fnt35 480 12134(})m -240 fnt82 604 12137(character)m 9(,)k 1576(which)s 2218(is)s -2428(disastrous.)s 0 11640(Further)m 763(w)s 2(ork)k 1314(may)s -1780(eliminate)s 2724(some)s 3285(of)s 3556(these)s 4103(problems.)s -480 11266(The)m 953(Pod)s 1429(language)s 2394(is)s 2650(used)s -3192(by)s 3531(Perl)s 4015(programmers)s 5386(for)s 5769(creating)s -6636(documentation,)s 8210(and)s 8660(may)s 0 10978(be)m 313(found)s -961(within)s 1660(Perl)s 2131(programs)s 3116(or)s 3406(standing)s -4301(alone.)s 5015(Lout)s 5558(supports)s 6451(both)s 6965(arrangements)s -8335(without)s 0 10690(an)m 3(y)k 418(special)s 1157(action)s -1819(by)s 2134(the)s 2503(user)s 13(.)k 3073(At)s -3393(the)s 3762(be)s 3(ginning)k 4792(of)s 5084(the)s -220 fnt35 5453 10687(per)m -3(l)k 240 fnt82 5888 10690(setup)m -6467(line,)s 6953(the)s 7322(follo)s 6(wing)k 8320(line)s -8756(has)s 0 10402(been)m 509(placed:)s 220 fnt35 480 9901(@SysInclude { pod })m -240 fnt82 0 9403(Thus,)m 576(asking)s 1244(for)s 1571(Perl)s +240 fnt82 0 13205(been)m 509(placed:)s 220 fnt35 480 12704(@SysInclude { pod })m +240 fnt82 0 12206(Thus,)m 576(asking)s 1244(for)s 1571(Perl)s 2000(al)s 2(w)k 2(ays)k 2700(gi)s 6(v)k 3(es)k 3237(you)s 3641(Pod)s 4062(as)s 4301(well.)s 4866(If)s 5085(you)s 5490(are)s 5826(using)s 6388(your)s 6876(o)s 6(wn)k -7330(setup)s 7877(\207les)s 8316(for)s 8643(both)s 0 9115(languages,)m +7330(setup)s 7877(\207les)s 8316(for)s 8643(both)s 0 11918(languages,)m 1068(it)s 1265(is)s 1480(probably)s 2390(better)s 2998(to)s 3242(break)s 3839(this)s 4240(connection)s 5352(by)s 5651(deleting)s 6479(this)s 6880(line)s 7299(from)s 7828(your)s 8332(cop)s 2(y)k -8855(of)s 0 8827(the)m 220 fnt35 348 8824(per)m -3(l)k -240 fnt82 762 8827(setup)m 1320(\207le)s 1681(and)s 2085(placing)s -220 fnt35 480 8326(@Include { m)m 3(ypod })k 480 8038(@Include { m)m 3(yper)k -3(l })k -240 fnt82 0 7540(at)m 232(the)s 580(start)s 1050(of)s +8855(of)s 0 11630(the)m 220 fnt35 348 11627(per)m -3(l)k +240 fnt82 762 11630(setup)m 1320(\207le)s 1681(and)s 2085(placing)s +220 fnt35 480 11129(@Include { m)m 3(ypod })k 480 10841(@Include { m)m 3(yper)k -3(l })k +240 fnt82 0 10343(at)m 232(the)s 580(start)s 1050(of)s 1321(your)s 1820(document)s 2824(in)s 3067(the)s 3415(usual)s -3975(w)s 2(ay)k 15(.)k 480 7166(Because)m 1341(Pod)s +3975(w)s 2(ay)k 15(.)k 480 9969(Because)m 1341(Pod)s 1781(is)s 2000(a)s 2174(documentation)s 3662(language)s 4591(rather)s 5215(than)s 5693(a)s 5868(programming)s 7231(language,)s 8211(the)s -8568(setup)s 0 6878(\207le)m 376(options)s 1148(listed)s 1739(in)s -1998(Section)s 2787(1.4)s 3157(are)s 3520(mostly)s 4241(of)s -4527(no)s 4836(rele)s 6(v)k 6(ance.)k 5919(So)s -6241(for)s 6594(Pod)s 7041(only)s 7537(these)s 8100(ha)s 4(v)k 3(e)k -8617(been)s 0 6590(discarded)m 987(and)s 1405(replaced)s 2285(by)s -2593(a)s 2772(completely)s 3902(dif)s 6(ferent)k 4791(set)s -5129(of)s 5414(options,)s 6239(controlling)s 7355(such)s 7864(things)s -8514(as)s 8778(the)s 0 6302(size)m 448(of)s 741(headings)s -1664(and)s 2090(the)s 2460(g)s 1(aps)k 2970(between)s -3846(list)s 4219(items,)s 4864(which)s 5528(you)s 5964(can)s -6375(\207nd)s 6828(documented)s 8077(in)s 8342(the)s 220 fnt35 -8712 6299(pod)m 240 fnt82 0 6014(setup)m 558(\207le.)s 480 5640(The)m -955(only)s 1483(kno)s 6(wn)k 2234(problem)s 3139(with)s -3669(Pod)s 4147(formatting)s 5256(is)s 5513(that)s 5979(the)s -220 fnt35 6375 5637(E<>)m 240 fnt82 6874 5640(constructs)m 7942(enclosing)s -8960(a)s 0 5352(character)m 963(number)s 1783(or)s 2072(a)s -2267(`non-numeric)s 3650(HTML)s 4415(entity')s 5100(\(to)s 5447(quote)s -6065(the)s 6442(author)s 7142(of)s 7443(Pod\))s 7973(will)s -8429(appear)s 0 5064(v)m 3(erbatim)k 906(rather)s 1522(than)s -1991(being)s 2576(replaced)s 3443(by)s 3737(the)s 4085(characters)s -5103(the)s 3(y)k 5566(represent.)s +8568(setup)s 0 9681(\207le)m 363(options)s 1121(listed)s 1699(in)s +1944(Section)s 2720(1.4)s 3077(do)s 3372(not)s 3740(really)s +4340(apply)s 15(.)k 5023(So)s 5331(for)s 5672(Pod)s +6105(only)s 6587(these)s 7137(ha)s 4(v)k 3(e)k +7640(been)s 8152(discarded)s 0 9393(and)m 435(replaced)s 1333(by)s +1658(a)s 1855(completely)s 3002(dif)s 6(ferent)k 3908(set)s +4264(of)s 4566(options,)s 5409(controlling)s 6542(such)s 7069(things)s +7736(as)s 8017(the)s 8396(size)s 8855(of)s 0 9105(headings)m +902(and)s 1306(the)s 1654(g)s 1(aps)k 2143(between)s +2997(list)s 3348(items,)s 3972(which)s 4614(you)s 5029(can)s +5418(\207nd)s 5849(documented)s 7077(in)s 7320(the)s 220 fnt35 +7668 9102(pod)m 240 fnt82 8082 9105(setup)m 8640(\207le.)s 480 8731(If)m +710(you)s 1126(ask)s 1506(for)s 1845(line)s 2259(numbers)s +3135(on)s 3432(a)s 3599(Pod)s 4030(program,)s 4948(or)s +5207(on)s 5505(a)s 5671(Perl)s 6111(program)s 6981(that)s +7400(contains)s 8248(Pod,)s 8729(an)s 3(y)k 0 8443(te)m 3(xt)k +432(blocks)s 1126(in)s 1387(the)s 1753(Pod)s 2202(that)s +2638(w)s 2(ould)k 3311(otherwise)s 4313(ha)s 4(v)k 3(e)k +4832(appeared)s 5771(as)s 6039(\207lled)s 6606(paragraphs)s 7724(will)s +8168(come)s 8760(out)s 0 8155(with)m 484(the)s 834(line)s +1250(breaks)s 1927(in)s 2172(the)s 2522(source)s 3204(respected,)s +4215(and)s 4621(lines)s 5125(numbered)s 6142(accordingly)s 15(.)k +7422(Because)s 220 fnt35 8278 8152(prg2lout)m 240 fnt82 0 7867(attaches)m +814(line)s 1222(numbers)s 2090(before)s 2750(Lout)s 3255(breaks)s +3924(paragraphs,)s 5074(it)s 5259(is)s 5463(not)s 5822(possible)s +6656(to)s 6889(numnber)s 7793(the)s 8135(lines)s 8630(after)s +0 7579(paragraph)m 1013(breaking.)s 480 7205(Owing)m 1185(to)s 1423(problems)s +2363(behind)s 3072(the)s 3419(scenes,)s 4150(if)s 4366(a)s +4531(Pod)s 4961(inclusion)s 5894(in)s 6137(a)s 6302(Perl)s +6740(program)s 7609(has)s 7978(unbalanced)s 0 6917(braces,)m 220 fnt35 +714 6914(prg2lout)m 240 fnt82 1559 6917(is)m 1766(forced)s 2431(to)s +2667(insert)s 3254(braces)s 3912(into)s 4334(the)s 4678(Pod)s +5106(te)s 3(xt)k 5518(to)s 5754(mak)s 2(e)k +6323(them)s 6858(balance.)s 7749(It)s 7951(will)s 8374(insert)s +8960(a)s 0 6629(left)m 377(brace)s 950(directly)s 1734(before)s +2400(an)s 3(y)k 2798(unbalanced)s 3946(right)s 4458(brace,)s +5082(and)s 5487(it)s 5679(will)s 6106(insert)s 6696(right)s +7208(braces)s 7869(at)s 8102(the)s 8450(end)s 8855(of)s +0 6341(the)m 347(Pod)s 777(inclusion)s 1710(to)s 1948(balance)s +2733(an)s 3(y)k 3129(preceding)s 4124(unbalanced)s 5271(left)s +5646(braces.)s 6419(It)s 6623(will)s 7048(tell)s 7406(you)s +7820(if)s 8036(it)s 8227(has)s 8596(to)s 8833(do)s +0 6053(this.)m 509(This)s 985(problem)s 1842(does)s 2332(not)s +2698(af\210ict)s 3314(Pod)s 3745(when)s 4321(used)s 4818(as)s +5068(a)s 5234(separate)s 6072(language.)s +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 15 17 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Times-Italic +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +%%IncludeResource: font Times-Italic +/Times-Italicfnt83 vec2 /Times-Italic LoutRecode +/fnt83 { /Times-Italicfnt83 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +1 LoutMargSet +grestore +480 fnt84 0 12955(Refer)m 8(ences)k 240 fnt82 0 12358([1])m +480(Bertrand)s 1374(Me)s 3(yer)k 13(.)k 240 fnt83 +2146 12360(Eif)m 4(fel:)k 2840(The)s 3252(Langua)s 2(g)k 2(e)k +240 fnt82 4200 12358(.)m 4364(Prentice-Hall)s 5631(,)s 5738(1992)s +6212(.)s 192 fnt84 4439 1(15)m +grestore + +grestore + +grestore + +pgsave restore +showpage + +%%Page: 16 18 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Helvetica +/pgsave save def +%%IncludeResource: font Times-Bold +/Times-Boldfnt84 vec2 /Times-Bold LoutRecode +/fnt84 { /Times-Boldfnt84 LoutFont } def +0.0500 dup scale 10 setlinewidth +%%EndPageSetup +gsave +0 0 translate +240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 288 60 LoutGraphic +gsave +LoutPageSet +grestore +gsave +0 16840 translate +0.0000 rotate +9066 14006 0 14006 240 288 60 1417 -15423 LoutGr2 +0 LoutMargSet +grestore +480 fnt84 0 12962(Index)m 240 fnt82 0 12367(Blue)m 508(program)s +1378(printing)s 2135(,)s 2242(1)s 0 12079(C)m 212(and)s +616(C++)s 1099(program)s 1969(printing)s 2726(,)s 2833(1)s +220 fnt35 0 11788(@CPSetup)m 240 fnt82 1099 11791(,)m 1206(6)s +0 11503(Eif)m 6(fel)k 591(program)s 1461(printing)s 2218(,)s +2325(1)s 0 11215(Perl)m 439(program)s 1309(printing)s 2066(,)s +2173(1)s 0 10927(Pod)m 431(\(for)s 848(Perl\))s 1360(printing)s +2117(,)s 2224(1)s 220 fnt35 0 10636(prg2lout)m 240 fnt82 +848 10639(\207lter)m 1358(program)s 2175(,)s 2282(1)s 0 10351(tab)m +345(characters)s 1363(in)s 1606(programs)s 2507(,)s 2614(8)s +192 fnt84 4439 2(16)m grestore grestore @@ -5198,5 +7066,5 @@ showpage %%+ procset LoutFigPrependGraphic %%+ procset LoutBasicSetup %%+ encoding vec2 -%%Pages: 2 +%%Pages: 18 %%EOF diff --git a/doc/user/vprg b/doc/user/vprg index 21668ba..935d4af 100644 --- a/doc/user/vprg +++ b/doc/user/vprg @@ -1 +1 @@ -vi prg prg_lone prg_embe prg_opti prg_chan prg_tabs prg_comm prg_prog prg_pipe prg_erro prg_perl +vi prg prg_lone prg_embe prg_opti prg_chan prg_tabs prg_form prg_comm prg_prog prg_pipe prg_erro prg_perl @@ -1,6 +1,6 @@ /*@externs.h:External Declarations:Directories and file conventions@**********/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -95,7 +95,7 @@ extern nl_catd MsgCat; /* */ /*****************************************************************************/ -#define LOUT_VERSION AsciiToFull("Basser Lout Version 3.20 (April 2000)") +#define LOUT_VERSION AsciiToFull("Basser Lout Version 3.21 (May 2000)") #define CROSS_DB AsciiToFull("lout") #define SOURCE_SUFFIX AsciiToFull(".lt") #define INDEX_SUFFIX AsciiToFull(".li") @@ -924,7 +924,7 @@ typedef union /* object can have meaningful line numbers. This has */ /* not been done in every case; it ought to be. */ /* */ -/* TOKEN - these fields are defined for all objects that are input tokens, */ +/* TOKEN - these fields are defined for all objects that are input tokens. */ /* They may be overwritten after parsing is completed. */ /* */ /* precedence Precedence of this token (0 if has no parameters) */ @@ -1092,7 +1092,7 @@ typedef union /* number An ID number for this sym in this db */ /* db_targ TRUE if sym is a galley target */ /* */ -/* WORD, QWORD when used as font records */ +/* WORD, QWORD when used as font records (consult z37.c for more detail) */ /* */ /* string[] Font name */ /* font_num The number of this font */ @@ -1241,7 +1241,9 @@ typedef union /* */ /* filter_use_begin TRUE if filter enclosed in @Begin ... @End */ /* filter_actual The symbol this is an invocation of */ -/* first child WORD containing file name of filter output */ +/* first child WORD containing file name of filter input file */ +/* second child WORD containing file name of filter output file */ +/* last child Scope snapshot for reading filter output file */ /* */ /* XCHAR - @Char symbol */ /* NEXT - @Next symbol */ @@ -1460,6 +1462,13 @@ typedef union /* */ /* children The cross-references */ /* */ +/* SCOPE_SNAPSHOT - a snapshot of one element of the current scope stack */ +/* */ +/* ss_npars_only Value of npars_only in this element */ +/* ss_vis_only Value of vis_only in this element */ +/* ss_body_ok Value of body_ok in this element */ +/* ss_suppress Value of suppress_visible in this element */ +/* */ /* DISPOSED - a disposed object (available for reallocation) */ /* */ /*****************************************************************************/ @@ -1631,6 +1640,11 @@ typedef union rec #define word_hyph(x) (x)->os1.ou2.os22.oword_hyph #define filter_use_begin(x) (x)->os1.ou2.os22.oword_colour +#define ss_npars_only(x) word_font(x) +#define ss_vis_only(x) word_colour(x) +#define ss_body_ok(x) word_outline(x) +#define ss_suppress(x) word_language(x) + #define non_blocking(x) (x)->os1.ou2.os23.onon_blocking #define vert_sized(x) non_blocking(x) #define sized(x) (x)->os1.ou2.os23.osized @@ -1799,9 +1813,18 @@ struct metrics { SHORT_LENGTH last_adjust; }; +typedef struct composite_rec { + FULL_CHAR char_code; + SHORT_LENGTH x_offset; + SHORT_LENGTH y_offset; +} COMPOSITE; + typedef struct font_rec { struct metrics *size_table; /* metrics of sized fonts */ FULL_CHAR *lig_table; /* ligatures */ + unsigned short *composite; /* non-zero means composite */ + COMPOSITE *cmp_table; /* composites to build */ + int cmp_top; /* length of cmp_table */ OBJECT font_table; /* record of sized fonts */ OBJECT original_font; /* font rec before resizing */ SHORT_LENGTH underline_pos; /* position of underline */ @@ -1830,7 +1853,8 @@ typedef struct font_rec { typedef struct mapvec { OBJECT file_name; /* name of file containing the vec */ FILE_NUM fnum; /* the file number of this file */ - BOOLEAN must_print; /* TRUE if this vec must be printed */ + BOOLEAN seen_recoded; /* TRUE if a font recode was seen */ + int last_page_printed; /* most recent page on which printed */ OBJECT name; /* PostScript name of encoding vec */ OBJECT vector[MAX_CHARS]; /* character names */ FULL_CHAR hash_table[MAX_CHASH]; /* character hash table for inverse */ @@ -1855,27 +1879,27 @@ typedef struct mapvec { #define LINK 0 /* a link between objects */ #define GAP_OBJ 1 /* o a gap object */ #define CLOSURE 2 /* to n a closure of a symbol */ -#define BEGIN_HEADER 3 /* to sn @BeginHeaderComponent */ -#define END_HEADER 4 /* to sn @EndHeaderComponent */ -#define SET_HEADER 5 /* to sn @SetHeaderComponent */ -#define CLEAR_HEADER 6 /* to sn @ClearHeaderComponent */ -#define UNDER_REC 7 /* o n record of underlining */ -#define PAGE_LABEL 8 /* to sn @PageLabel */ -#define NULL_CLOS 9 /* to sn @Null */ -#define CROSS 10 /* to sn && (a cross reference obj) */ -#define FORCE_CROSS 11 /* to sn &&& (a forcing cross ref.) */ -#define HEAD 12 /* o n a galley header */ -#define SPLIT 13 /* o @Split */ -#define PAR 14 /* o a parameter of a closure */ -#define WORD 15 /* o a word */ -#define QWORD 16 /* o a word (was quoted in i/p) */ -#define HSPANNER 17 /* o a horizontal spanner */ -#define VSPANNER 18 /* o a vertical spanner */ -#define ROW_THR 19 /* o a row thread */ -#define COL_THR 20 /* o a column thread */ -#define ACAT 21 /* to s a sequence of &-ed objs */ -#define HCAT 22 /* to s a sequence of |-ed objs */ -#define VCAT 23 /* to s a sequence of /-ed objs */ +#define UNDER_REC 3 /* o n record of underlining */ +#define PAGE_LABEL 4 /* to sn @PageLabel */ +#define NULL_CLOS 5 /* to sn @Null */ +#define CROSS 6 /* to sn && (a cross reference obj) */ +#define FORCE_CROSS 7 /* to sn &&& (a forcing cross ref.) */ +#define HEAD 8 /* o n a galley header */ +#define SPLIT 9 /* o @Split */ +#define PAR 10 /* o a parameter of a closure */ +#define WORD 11 /* o a word */ +#define QWORD 12 /* o a word (was quoted in i/p) */ +#define HSPANNER 13 /* o a horizontal spanner */ +#define VSPANNER 14 /* o a vertical spanner */ +#define ROW_THR 15 /* o a row thread */ +#define COL_THR 16 /* o a column thread */ +#define ACAT 17 /* to s a sequence of &-ed objs */ +#define HCAT 18 /* to s a sequence of |-ed objs */ +#define VCAT 19 /* to s a sequence of /-ed objs */ +#define BEGIN_HEADER 20 /* to s @BeginHeaderComponent */ +#define END_HEADER 21 /* to s @EndHeaderComponent */ +#define SET_HEADER 22 /* to s @SetHeaderComponent */ +#define CLEAR_HEADER 23 /* to s @ClearHeaderComponent */ #define ONE_COL 24 /* to s @OneCol */ #define ONE_ROW 25 /* to s @OneRow */ #define WIDE 26 /* to s @Wide */ @@ -1999,7 +2023,8 @@ typedef struct mapvec { #define RPAR 144 /* a right parameter */ #define EXT_GALL 145 /* an external galley */ #define CR_LIST 146 /* a list of cross references */ -#define DISPOSED 147 /* a disposed record */ +#define SCOPE_SNAPSHOT 147 /* a scope snapshot */ +#define DISPOSED 148 /* a disposed record */ #define is_indefinite(x) ((x) >= CLOSURE && (x) <= HEAD) #define is_header(x) ((x) >= BEGIN_HEADER && (x) <= CLEAR_HEADER) @@ -2065,9 +2090,9 @@ typedef struct mapvec { #define SMALL_CAPS_ON 1 /* small capitals */ /* sides of a mark */ -#define BACK 148 /* means lies to left of mark */ -#define ON 149 /* means lies on mark */ -#define FWD 150 /* means lies to right of mark */ +#define BACK 149 /* means lies to left of mark */ +#define ON 150 /* means lies on mark */ +#define FWD 151 /* means lies to right of mark */ /* statuses of thread objects */ #define NOTSIZED 0 /* this thread object is not sized */ @@ -2075,15 +2100,15 @@ typedef struct mapvec { #define FINALSIZE 2 /* thread object size is now final */ /* constraint statuses */ -#define PROMOTE 151 /* this component may be promoted */ -#define CLOSE 152 /* must close dest before promoting */ -#define BLOCK 153 /* cannot promote this component */ -#define CLEAR 154 /* this constraint is now satisfied */ +#define PROMOTE 152 /* this component may be promoted */ +#define CLOSE 153 /* must close dest before promoting */ +#define BLOCK 154 /* cannot promote this component */ +#define CLEAR 155 /* this constraint is now satisfied */ /* gap increment types */ -#define GAP_ABS 155 /* absolute, e.g. 3p */ -#define GAP_INC 156 /* increment, e.g. +3p */ -#define GAP_DEC 157 /* decrement, e.g. -3p */ +#define GAP_ABS 156 /* absolute, e.g. 3p */ +#define GAP_INC 157 /* increment, e.g. +3p */ +#define GAP_DEC 158 /* decrement, e.g. -3p */ /* file types */ #define SOURCE_FILE 0 /* input file from command line */ @@ -2193,7 +2218,14 @@ typedef struct mapvec { #define KW_PRINT AsciiToFull("\\Print") #define KW_OPTGALL AsciiToFull("@OptGall") #define KW_DEF AsciiToFull("def") -#define KW_FONTDEF AsciiToFull("fontdef") +#define KW_FONTDEF AsciiToFull("@FontDef") +#define KW_FAMILY AsciiToFull("@Family") +#define KW_FACE AsciiToFull("@Face") +#define KW_NAME AsciiToFull("@Name") +#define KW_METRICS AsciiToFull("@Metrics") +#define KW_EXTRA_METRICS AsciiToFull("@ExtraMetrics") +#define KW_MAPPING AsciiToFull("@Mapping") +#define KW_RECODE AsciiToFull("@Recode") #define KW_LANGDEF AsciiToFull("langdef") #define KW_FORCE AsciiToFull("force") #define KW_HORIZ AsciiToFull("horizontally") @@ -3082,6 +3114,9 @@ extern void SwitchScope(OBJECT sym); extern void UnSwitchScope(OBJECT sym); extern void BodyParAllowed(void); extern void BodyParNotAllowed(void); +extern OBJECT GetScopeSnapshot(void); +extern void LoadScopeSnapshot(OBJECT ss); +extern void ClearScopeSnapshot(OBJECT ss); extern OBJECT InsertSym(FULL_CHAR *str, unsigned char xtype, FILE_POS *xfpos, unsigned char xprecedence, BOOLEAN xindefinite, BOOLEAN xrecursive, @@ -3161,7 +3196,6 @@ extern OBJECT Hyphenate(OBJECT x); extern FONT_INFO *finfo; extern int font_curr_page; extern void FontInit(void); -extern void FontDefine(OBJECT family, OBJECT face, OBJECT inside); extern void FontChange(STYLE *style, OBJECT x); extern void FontWordSize(OBJECT x); extern FULL_LENGTH FontSize(FONT_NUM fnum, OBJECT x); @@ -3180,10 +3214,11 @@ extern BOOLEAN FontNeeded(FILE *fp); /***** z38.c Character Mappings **************************************/ extern MAP_VEC MapTable[]; -extern MAPPING MapLoad(OBJECT filename, BOOLEAN must_print); +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(FILE *fp); +extern void MapEnsurePrinted(MAPPING m, int curr_page, FILE *fp); extern void MapPrintResources(FILE *fp); extern OBJECT MapSmallCaps(OBJECT x, STYLE *style); extern BOOLEAN MapIsLowerCase(FULL_CHAR ch, MAPPING m); @@ -3193,7 +3228,7 @@ extern BOOLEAN MapIsLowerCase(FULL_CHAR ch, MAPPING m); #define AsciiToFull(x) ( (FULL_CHAR *) (x) ) #define StringEqual(a, b) (strcmp((char *)(a), (char *)(b))==0) extern int strcollcmp(char *a, char *b); -#define StringLessEqual(a, b) \ +#define TabbedStringLessEqual(a, b) \ ( UseCollate ? strcollcmp((char *)(a),(char *)(b)) <= 0 \ : strcmp((char *)(a),(char *)(b)) <= 0 ) #define StringCat(a, b) strcat((char *)(a),(char *)(b)) diff --git a/font/00README b/font/00README index 8742cef..6b639f7 100644 --- a/font/00README +++ b/font/00README @@ -7,15 +7,19 @@ of all characters. The files are exactly as distributed publicly by Adobe Systems except that erroneous ligature information has been removed from the four Courier font files. -Jeffrey H. Kingston -3 July 1994 +In addition, for every Adobe Systems font file, (call it FF) there is +a companion file FF+ containing supplementary character definitions and +composite character definitions sufficient to support Latin2 without any +need to obtain Latin2 fonts. These files follow a format established +by Version 3.21 of Lout, and were supplied by Jaroslav Serdula. +Lout is informed of the existence of these files by means of a database +of @FontDef symbols. Two such are supplied with Lout, in directory +$(LOUTLIB)/data: fontdefs.ld and latin2.ld. -All file names have now been reduced to a maximum of 8 characters, -for portability to the DOS operating system. Non-Latin1 fonts are -no longer distributed with the basic Lout distribution. +All file names were previously reduced to a maximum of 8 characters, +for portability to the DOS operating system. Now some of the FF+ +files have nine characters again. Let me know if this is a problem. Jeffrey H. Kingston -9 June 1995 -3 April 1996 -12 September 1999 +10 May 2000 diff --git a/font/AG-Bd+ b/font/AG-Bd+ new file mode 100644 index 0000000..3ae3566 --- /dev/null +++ b/font/AG-Bd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 832 ; N Ccaron ; B 37 -14 801 974 ; +C -1 ; WX 652 ; N ccaron ; B 33 -18 621 799 ; +C -1 ; WX 742 ; N Dcaron ; B 57 0 697 974 ; +C -1 ; WX 820 ; N dcaron ; B 34 -18 829 814 ; +C -1 ; WX 528 ; N Ecaron ; B 57 0 478 974 ; +C -1 ; WX 646 ; N ecaron ; B 30 -18 614 799 ; +C -1 ; WX 487 ; N Lcaron ; B 72 0 480 814 ; +C -1 ; WX 487 ; N Lacute ; B 72 0 480 1035 ; +C -1 ; WX 408 ; N lcaron ; B 60 0 417 814 ; +C -1 ; WX 286 ; N lacute ; B 46 0 339 1035 ; +C -1 ; WX 759 ; N Ncaron ; B 67 0 691 974 ; +C -1 ; WX 632 ; N ncaron ; B 60 0 574 799 ; +C -1 ; WX 653 ; N Rcaron ; B 67 0 637 974 ; +C -1 ; WX 653 ; N Racute ; B 67 0 637 1035 ; +C -1 ; WX 363 ; N rcaron ; B -26 0 388 799 ; +C -1 ; WX 363 ; N racute ; B 59 0 377 848 ; +C -1 ; WX 499 ; N Tcaron ; B 10 0 490 974 ; +C -1 ; WX 473 ; N tcaron ; B 11 0 530 740 ; +C -1 ; WX 698 ; N Uring ; B 65 -14 633 974 ; +C -1 ; WX 634 ; N uring ; B 58 -18 574 852 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 214 175 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 77 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 93 175 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 585 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron -13 175 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 45 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 203 74 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute -34 187 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 173 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -105 187 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 102 175 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 38 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 49 175 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 105 187 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -96 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -67 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron -28 175 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 286 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 71 122 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 39 0 ; +EndBuildComposites diff --git a/font/AG-BdO+ b/font/AG-BdO+ new file mode 100644 index 0000000..1bbf720 --- /dev/null +++ b/font/AG-BdO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 832 ; N Ccaron ; B 99 -14 886 974 ; +C -1 ; WX 652 ; N ccaron ; B 79 -18 710 799 ; +C -1 ; WX 742 ; N Dcaron ; B 57 0 775 974 ; +C -1 ; WX 863 ; N dcaron ; B 80 -18 1034 814 ; +C -1 ; WX 528 ; N Ecaron ; B 67 0 649 974 ; +C -1 ; WX 646 ; N ecaron ; B 76 -18 677 799 ; +C -1 ; WX 487 ; N Lcaron ; B 72 0 652 814 ; +C -1 ; WX 487 ; N Lacute ; B 72 0 577 1035 ; +C -1 ; WX 451 ; N lcaron ; B 60 0 622 814 ; +C -1 ; WX 286 ; N lacute ; B 60 0 507 1035 ; +C -1 ; WX 759 ; N Ncaron ; B 67 0 828 974 ; +C -1 ; WX 632 ; N ncaron ; B 60 0 670 799 ; +C -1 ; WX 653 ; N Rcaron ; B 67 0 715 974 ; +C -1 ; WX 653 ; N Racute ; B 67 0 716 1035 ; +C -1 ; WX 363 ; N rcaron ; B 59 0 536 799 ; +C -1 ; WX 363 ; N racute ; B 59 0 513 848 ; +C -1 ; WX 499 ; N Tcaron ; B 116 0 634 974 ; +C -1 ; WX 516 ; N tcaron ; B 91 0 701 740 ; +C -1 ; WX 698 ; N Uring ; B 108 -14 770 974 ; +C -1 ; WX 634 ; N uring ; B 90 -18 677 852 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 247 175 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 78 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 123 175 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 653 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 17 175 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 45 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 271 74 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute -2 187 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 241 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -72 187 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 132 175 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 38 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 79 175 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 137 187 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -96 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -66 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 2 175 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 320 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 92 122 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 39 0 ; +EndBuildComposites diff --git a/font/AG-Bk+ b/font/AG-Bk+ new file mode 100644 index 0000000..4245100 --- /dev/null +++ b/font/AG-Bk+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 813 ; N Ccaron ; B 43 -13 771 933 ; +C -1 ; WX 647 ; N ccaron ; B 41 -13 607 764 ; +C -1 ; WX 744 ; N Dcaron ; B 74 0 699 933 ; +C -1 ; WX 798 ; N dcaron ; B 39 -13 796 814 ; +C -1 ; WX 536 ; N Ecaron ; B 70 0 475 933 ; +C -1 ; WX 650 ; N ecaron ; B 38 -13 608 764 ; +C -1 ; WX 462 ; N Lcaron ; B 82 0 462 814 ; +C -1 ; WX 462 ; N Lacute ; B 82 0 462 975 ; +C -1 ; WX 313 ; N lcaron ; B 65 0 313 814 ; +C -1 ; WX 200 ; N lacute ; B 14 0 245 975 ; +C -1 ; WX 740 ; N Ncaron ; B 75 0 664 933 ; +C -1 ; WX 610 ; N ncaron ; B 65 0 546 764 ; +C -1 ; WX 607 ; N Rcaron ; B 70 0 572 933 ; +C -1 ; WX 607 ; N Racute ; B 70 0 572 975 ; +C -1 ; WX 301 ; N rcaron ; B -32 0 323 764 ; +C -1 ; WX 301 ; N racute ; B 64 0 295 786 ; +C -1 ; WX 426 ; N Tcaron ; B 6 0 419 933 ; +C -1 ; WX 452 ; N tcaron ; B 14 0 508 740 ; +C -1 ; WX 655 ; N Uring ; B 75 -13 579 933 ; +C -1 ; WX 608 ; N uring ; B 62 -13 541 807 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 228 169 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 100 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 121 169 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 540 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 17 169 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 74 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 72 74 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 43 189 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 57 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -64 189 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 119 169 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 54 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 52 169 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 160 189 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -100 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -14 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron -38 169 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 252 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 161 126 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 138 0 ; +EndBuildComposites diff --git a/font/AG-BkO+ b/font/AG-BkO+ new file mode 100644 index 0000000..48b85b5 --- /dev/null +++ b/font/AG-BkO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 813 ; N Ccaron ; B 105 -13 870 933 ; +C -1 ; WX 647 ; N ccaron ; B 87 -13 678 764 ; +C -1 ; WX 744 ; N Dcaron ; B 74 0 773 933 ; +C -1 ; WX 824 ; N dcaron ; B 85 -13 973 814 ; +C -1 ; WX 536 ; N Ecaron ; B 70 0 612 933 ; +C -1 ; WX 650 ; N ecaron ; B 84 -13 664 764 ; +C -1 ; WX 462 ; N Lcaron ; B 82 0 505 814 ; +C -1 ; WX 462 ; N Lacute ; B 82 0 520 975 ; +C -1 ; WX 339 ; N lcaron ; B 65 0 490 814 ; +C -1 ; WX 200 ; N lacute ; B 65 0 414 975 ; +C -1 ; WX 740 ; N Ncaron ; B 75 0 801 933 ; +C -1 ; WX 610 ; N ncaron ; B 65 0 619 764 ; +C -1 ; WX 607 ; N Rcaron ; B 70 0 669 933 ; +C -1 ; WX 607 ; N Racute ; B 70 0 669 975 ; +C -1 ; WX 301 ; N rcaron ; B 65 0 465 764 ; +C -1 ; WX 301 ; N racute ; B 65 0 431 786 ; +C -1 ; WX 426 ; N Tcaron ; B 131 0 556 933 ; +C -1 ; WX 478 ; N tcaron ; B 104 0 649 740 ; +C -1 ; WX 655 ; N Uring ; B 118 -13 716 933 ; +C -1 ; WX 608 ; N uring ; B 100 -13 642 807 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 261 169 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 102 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 150 169 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 580 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 46 169 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 74 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 112 74 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 76 189 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 97 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -30 189 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 148 169 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 54 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 81 169 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 195 189 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -100 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -13 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron -9 169 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 256 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 183 126 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 138 0 ; +EndBuildComposites diff --git a/font/AG-CnBd+ b/font/AG-CnBd+ new file mode 100644 index 0000000..c66eaea --- /dev/null +++ b/font/AG-CnBd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 611 ; N Ccaron ; B 33 -12 569 938 ; +C -1 ; WX 444 ; N ccaron ; B 31 -12 439 774 ; +C -1 ; WX 611 ; N Dcaron ; B 62 0 577 938 ; +C -1 ; WX 658 ; N dcaron ; B 31 -12 691 796 ; +C -1 ; WX 500 ; N Ecaron ; B 70 0 430 938 ; +C -1 ; WX 500 ; N ecaron ; B 31 -12 457 774 ; +C -1 ; WX 444 ; N Lcaron ; B 70 0 464 796 ; +C -1 ; WX 444 ; N Lacute ; B 70 0 416 938 ; +C -1 ; WX 436 ; N lcaron ; B 72 0 455 796 ; +C -1 ; WX 278 ; N lacute ; B 72 0 329 938 ; +C -1 ; WX 611 ; N Ncaron ; B 66 0 544 938 ; +C -1 ; WX 500 ; N ncaron ; B 58 0 442 774 ; +C -1 ; WX 556 ; N Rcaron ; B 63 0 551 938 ; +C -1 ; WX 556 ; N Racute ; B 63 0 551 938 ; +C -1 ; WX 333 ; N rcaron ; B -11 0 343 774 ; +C -1 ; WX 333 ; N racute ; B 58 0 356 774 ; +C -1 ; WX 444 ; N Tcaron ; B 22 0 422 938 ; +C -1 ; WX 436 ; N tcaron ; B 12 0 515 736 ; +C -1 ; WX 611 ; N Uring ; B 61 -12 549 938 ; +C -1 ; WX 500 ; N uring ; B 58 -12 442 860 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 220 164 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 103 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 166 164 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 463 60 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 111 164 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 236 60 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 83 164 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 227 60 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 25 164 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 166 164 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 139 164 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 186 164 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 27 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 52 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 83 164 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 287 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 166 78 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/AG-CnBk+ b/font/AG-CnBk+ new file mode 100644 index 0000000..ed26578 --- /dev/null +++ b/font/AG-CnBk+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 31 -12 524 930 ; +C -1 ; WX 444 ; N ccaron ; B 34 -10 416 748 ; +C -1 ; WX 611 ; N Dcaron ; B 72 0 579 930 ; +C -1 ; WX 625 ; N dcaron ; B 34 -10 636 796 ; +C -1 ; WX 500 ; N Ecaron ; B 72 0 436 930 ; +C -1 ; WX 444 ; N ecaron ; B 28 -10 416 748 ; +C -1 ; WX 444 ; N Lcaron ; B 72 0 426 796 ; +C -1 ; WX 444 ; N Lacute ; B 72 0 426 930 ; +C -1 ; WX 347 ; N lcaron ; B 74 0 344 796 ; +C -1 ; WX 222 ; N lacute ; B 67 0 255 930 ; +C -1 ; WX 611 ; N Ncaron ; B 72 0 539 930 ; +C -1 ; WX 500 ; N ncaron ; B 60 0 440 748 ; +C -1 ; WX 556 ; N Rcaron ; B 72 0 536 930 ; +C -1 ; WX 556 ; N Racute ; B 72 0 536 930 ; +C -1 ; WX 278 ; N rcaron ; B -8 0 286 748 ; +C -1 ; WX 278 ; N racute ; B 60 0 283 748 ; +C -1 ; WX 444 ; N Tcaron ; B 10 0 434 930 ; +C -1 ; WX 347 ; N tcaron ; B 5 0 429 736 ; +C -1 ; WX 556 ; N Uring ; B 59 -12 497 930 ; +C -1 ; WX 500 ; N uring ; B 60 -10 440 822 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 216 182 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 130 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 182 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 436 60 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 182 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 146 60 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 111 182 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 144 60 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 19 182 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 182 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 167 182 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 203 182 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 47 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 111 182 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 229 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 167 108 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/AG-CnDm+ b/font/AG-CnDm+ new file mode 100644 index 0000000..786d9c6 --- /dev/null +++ b/font/AG-CnDm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 611 ; N Ccaron ; B 37 -12 558 934 ; +C -1 ; WX 444 ; N ccaron ; B 30 -10 420 776 ; +C -1 ; WX 611 ; N Dcaron ; B 66 0 573 934 ; +C -1 ; WX 633 ; N dcaron ; B 30 -10 649 796 ; +C -1 ; WX 500 ; N Ecaron ; B 66 0 444 934 ; +C -1 ; WX 500 ; N ecaron ; B 30 -10 456 776 ; +C -1 ; WX 444 ; N Lcaron ; B 66 0 420 796 ; +C -1 ; WX 444 ; N Lacute ; B 66 0 420 934 ; +C -1 ; WX 355 ; N lcaron ; B 53 0 378 796 ; +C -1 ; WX 222 ; N lacute ; B 53 0 282 934 ; +C -1 ; WX 611 ; N Ncaron ; B 69 0 542 934 ; +C -1 ; WX 500 ; N ncaron ; B 60 0 440 776 ; +C -1 ; WX 556 ; N Rcaron ; B 66 0 544 934 ; +C -1 ; WX 556 ; N Racute ; B 66 0 544 934 ; +C -1 ; WX 278 ; N rcaron ; B -24 0 302 776 ; +C -1 ; WX 278 ; N racute ; B 50 0 310 776 ; +C -1 ; WX 444 ; N Tcaron ; B 14 0 430 934 ; +C -1 ; WX 411 ; N tcaron ; B 12 0 480 736 ; +C -1 ; WX 611 ; N Uring ; B 64 -12 546 934 ; +C -1 ; WX 500 ; N uring ; B 60 -10 440 838 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 246 158 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 131 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 158 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 449 60 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 158 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 139 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 210 60 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 111 158 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 178 60 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 22 158 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 158 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 167 158 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 210 158 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 50 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 111 158 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 280 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 96 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/AG-CnMd+ b/font/AG-CnMd+ new file mode 100644 index 0000000..e12a8ae --- /dev/null +++ b/font/AG-CnMd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 36 -12 525 932 ; +C -1 ; WX 444 ; N ccaron ; B 34 -10 422 764 ; +C -1 ; WX 611 ; N Dcaron ; B 70 0 574 932 ; +C -1 ; WX 618 ; N dcaron ; B 34 -10 625 796 ; +C -1 ; WX 500 ; N Ecaron ; B 70 0 434 932 ; +C -1 ; WX 444 ; N ecaron ; B 34 -10 414 764 ; +C -1 ; WX 444 ; N Lcaron ; B 70 0 430 796 ; +C -1 ; WX 444 ; N Lacute ; B 70 0 430 932 ; +C -1 ; WX 340 ; N lcaron ; B 63 0 344 796 ; +C -1 ; WX 222 ; N lacute ; B 63 0 262 932 ; +C -1 ; WX 611 ; N Ncaron ; B 76 0 534 932 ; +C -1 ; WX 500 ; N ncaron ; B 60 0 440 764 ; +C -1 ; WX 556 ; N Rcaron ; B 70 0 550 932 ; +C -1 ; WX 556 ; N Racute ; B 70 0 550 932 ; +C -1 ; WX 278 ; N rcaron ; B -6 0 284 764 ; +C -1 ; WX 278 ; N racute ; B 60 0 290 764 ; +C -1 ; WX 444 ; N Tcaron ; B 16 0 428 932 ; +C -1 ; WX 340 ; N tcaron ; B 0 0 407 736 ; +C -1 ; WX 556 ; N Uring ; B 56 -12 500 932 ; +C -1 ; WX 500 ; N uring ; B 60 -10 440 840 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 216 168 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 130 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 168 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 430 60 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 168 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 152 60 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 111 168 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 149 60 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 20 168 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 168 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 167 168 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 205 168 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 48 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 111 168 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 212 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 167 92 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/AG-Dm+ b/font/AG-Dm+ new file mode 100644 index 0000000..ede2da9 --- /dev/null +++ b/font/AG-Dm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 780 ; N Ccaron ; B 34 -15 766 946 ; +C -1 ; WX 640 ; N ccaron ; B 37 -18 610 774 ; +C -1 ; WX 700 ; N Dcaron ; B 63 0 657 946 ; +C -1 ; WX 753 ; N dcaron ; B 34 -18 764 814 ; +C -1 ; WX 520 ; N Ecaron ; B 61 0 460 946 ; +C -1 ; WX 640 ; N ecaron ; B 31 -18 610 774 ; +C -1 ; WX 440 ; N Lcaron ; B 72 0 435 814 ; +C -1 ; WX 440 ; N Lacute ; B 72 0 435 1033 ; +C -1 ; WX 333 ; N lcaron ; B 54 0 333 814 ; +C -1 ; WX 240 ; N lacute ; B 29 0 308 1033 ; +C -1 ; WX 740 ; N Ncaron ; B 70 0 671 946 ; +C -1 ; WX 600 ; N ncaron ; B 54 0 547 774 ; +C -1 ; WX 580 ; N Rcaron ; B 64 0 565 946 ; +C -1 ; WX 580 ; N Racute ; B 64 0 565 1033 ; +C -1 ; WX 320 ; N rcaron ; B -39 0 360 774 ; +C -1 ; WX 320 ; N racute ; B 63 0 348 849 ; +C -1 ; WX 420 ; N Tcaron ; B 6 0 418 946 ; +C -1 ; WX 393 ; N tcaron ; B 21 0 445 740 ; +C -1 ; WX 640 ; N Uring ; B 55 -15 585 946 ; +C -1 ; WX 600 ; N uring ; B 50 -18 544 834 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 193 172 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 79 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 80 172 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 559 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron -10 172 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 50 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 150 74 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 10 184 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 128 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -62 184 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 100 172 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 30 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 20 172 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 133 184 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -110 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -22 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron -60 172 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 240 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 140 112 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 120 0 ; +EndBuildComposites diff --git a/font/AG-DmO+ b/font/AG-DmO+ new file mode 100644 index 0000000..5920f33 --- /dev/null +++ b/font/AG-DmO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 780 ; N Ccaron ; B 97 -15 864 946 ; +C -1 ; WX 640 ; N ccaron ; B 84 -18 693 774 ; +C -1 ; WX 700 ; N Dcaron ; B 63 0 732 946 ; +C -1 ; WX 788 ; N dcaron ; B 80 -18 956 814 ; +C -1 ; WX 520 ; N Ecaron ; B 61 0 633 946 ; +C -1 ; WX 640 ; N ecaron ; B 77 -18 667 774 ; +C -1 ; WX 440 ; N Lcaron ; B 72 0 547 814 ; +C -1 ; WX 440 ; N Lacute ; B 72 0 550 1033 ; +C -1 ; WX 368 ; N lcaron ; B 54 0 525 814 ; +C -1 ; WX 240 ; N lacute ; B 54 0 478 1033 ; +C -1 ; WX 740 ; N Ncaron ; B 70 0 808 946 ; +C -1 ; WX 600 ; N ncaron ; B 54 0 643 774 ; +C -1 ; WX 580 ; N Rcaron ; B 64 0 663 946 ; +C -1 ; WX 580 ; N Racute ; B 64 0 674 1033 ; +C -1 ; WX 320 ; N rcaron ; B 63 0 503 774 ; +C -1 ; WX 320 ; N racute ; B 63 0 486 849 ; +C -1 ; WX 420 ; N Tcaron ; B 119 0 583 946 ; +C -1 ; WX 428 ; N tcaron ; B 86 0 603 740 ; +C -1 ; WX 640 ; N Uring ; B 97 -15 722 946 ; +C -1 ; WX 600 ; N uring ; B 87 -18 647 834 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 227 172 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 80 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 110 172 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 614 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 20 172 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 50 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 205 74 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 42 184 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 183 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -30 184 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 130 172 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 30 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 50 172 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 166 184 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -110 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -22 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron -30 172 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 261 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 159 112 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 120 0 ; +EndBuildComposites diff --git a/font/AG-ExLt+ b/font/AG-ExLt+ new file mode 100644 index 0000000..d9e5c75 --- /dev/null +++ b/font/AG-ExLt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 786 ; N Ccaron ; B 41 -13 749 933 ; +C -1 ; WX 619 ; N ccaron ; B 41 -13 584 748 ; +C -1 ; WX 701 ; N Dcaron ; B 77 0 659 933 ; +C -1 ; WX 745 ; N dcaron ; B 41 -13 703 814 ; +C -1 ; WX 547 ; N Ecaron ; B 77 0 483 933 ; +C -1 ; WX 619 ; N ecaron ; B 31 -13 589 748 ; +C -1 ; WX 423 ; N Lcaron ; B 77 0 420 814 ; +C -1 ; WX 423 ; N Lacute ; B 77 0 420 969 ; +C -1 ; WX 251 ; N lcaron ; B 78 0 213 814 ; +C -1 ; WX 183 ; N lacute ; B -1 0 250 969 ; +C -1 ; WX 738 ; N Ncaron ; B 77 0 661 933 ; +C -1 ; WX 641 ; N ncaron ; B 78 0 564 748 ; +C -1 ; WX 554 ; N Rcaron ; B 67 0 540 933 ; +C -1 ; WX 554 ; N Racute ; B 67 0 540 969 ; +C -1 ; WX 302 ; N rcaron ; B -44 0 347 748 ; +C -1 ; WX 302 ; N racute ; B 59 0 310 766 ; +C -1 ; WX 443 ; N Tcaron ; B 5 0 437 933 ; +C -1 ; WX 364 ; N tcaron ; B 7 0 395 740 ; +C -1 ; WX 605 ; N Uring ; B 76 -13 529 933 ; +C -1 ; WX 641 ; N uring ; B 78 -13 564 777 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 186 185 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 59 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 73 185 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 516 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron -4 185 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 32 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 27 74 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute -66 203 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 26 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -161 203 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 91 185 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 43 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 0 185 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 48 203 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -126 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -101 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron -56 185 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 208 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 25 156 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 43 0 ; +EndBuildComposites diff --git a/font/AG-ExLtO+ b/font/AG-ExLtO+ new file mode 100644 index 0000000..86dc557 --- /dev/null +++ b/font/AG-ExLtO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 786 ; N Ccaron ; B 103 -13 856 933 ; +C -1 ; WX 619 ; N ccaron ; B 85 -13 669 748 ; +C -1 ; WX 701 ; N Dcaron ; B 77 0 736 933 ; +C -1 ; WX 765 ; N dcaron ; B 85 -13 871 814 ; +C -1 ; WX 547 ; N Ecaron ; B 77 0 637 933 ; +C -1 ; WX 619 ; N ecaron ; B 75 -13 643 748 ; +C -1 ; WX 423 ; N Lcaron ; B 77 0 425 814 ; +C -1 ; WX 423 ; N Lacute ; B 77 0 518 969 ; +C -1 ; WX 271 ; N lcaron ; B 78 0 381 814 ; +C -1 ; WX 183 ; N lacute ; B 78 0 425 969 ; +C -1 ; WX 738 ; N Ncaron ; B 77 0 798 933 ; +C -1 ; WX 641 ; N ncaron ; B 78 0 652 748 ; +C -1 ; WX 554 ; N Rcaron ; B 67 0 641 933 ; +C -1 ; WX 554 ; N Racute ; B 67 0 639 969 ; +C -1 ; WX 302 ; N rcaron ; B 78 0 483 748 ; +C -1 ; WX 302 ; N racute ; B 78 0 450 766 ; +C -1 ; WX 443 ; N Tcaron ; B 137 0 585 933 ; +C -1 ; WX 384 ; N tcaron ; B 100 0 524 740 ; +C -1 ; WX 605 ; N Uring ; B 113 -13 666 933 ; +C -1 ; WX 641 ; N uring ; B 117 -13 662 777 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 222 185 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 60 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 105 185 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 547 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 28 185 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 32 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 58 74 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute -31 203 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 57 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -124 203 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 123 185 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 43 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 32 185 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 87 203 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -126 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -99 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron -24 185 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 200 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 52 156 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 43 0 ; +EndBuildComposites diff --git a/font/AG-Md+ b/font/AG-Md+ new file mode 100644 index 0000000..abba01c --- /dev/null +++ b/font/AG-Md+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 782 ; N Ccaron ; B 38 -14 759 950 ; +C -1 ; WX 627 ; N ccaron ; B 38 -14 595 774 ; +C -1 ; WX 732 ; N Dcaron ; B 65 0 683 950 ; +C -1 ; WX 760 ; N dcaron ; B 38 -14 734 814 ; +C -1 ; WX 520 ; N Ecaron ; B 65 0 464 950 ; +C -1 ; WX 642 ; N ecaron ; B 39 -14 605 774 ; +C -1 ; WX 444 ; N Lcaron ; B 79 0 444 814 ; +C -1 ; WX 444 ; N Lacute ; B 79 0 444 1011 ; +C -1 ; WX 311 ; N lcaron ; B 67 0 285 814 ; +C -1 ; WX 238 ; N lacute ; B 33 0 300 1011 ; +C -1 ; WX 738 ; N Ncaron ; B 75 0 663 950 ; +C -1 ; WX 624 ; N ncaron ; B 66 0 558 774 ; +C -1 ; WX 594 ; N Rcaron ; B 65 0 559 950 ; +C -1 ; WX 594 ; N Racute ; B 65 0 559 1011 ; +C -1 ; WX 320 ; N rcaron ; B -29 0 350 774 ; +C -1 ; WX 320 ; N racute ; B 67 0 341 814 ; +C -1 ; WX 407 ; N Tcaron ; B 7 0 399 950 ; +C -1 ; WX 350 ; N tcaron ; B 4 0 388 740 ; +C -1 ; WX 643 ; N Uring ; B 73 -14 569 950 ; +C -1 ; WX 624 ; N uring ; B 66 -14 557 831 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 185 176 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 64 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 88 176 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 543 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron -17 176 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 43 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 106 74 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute -55 197 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 94 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -131 197 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 91 176 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 34 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 19 176 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 70 197 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -117 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -90 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron -74 176 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 197 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 44 119 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 34 0 ; +EndBuildComposites diff --git a/font/AG-MdO+ b/font/AG-MdO+ new file mode 100644 index 0000000..aa8b908 --- /dev/null +++ b/font/AG-MdO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 782 ; N Ccaron ; B 101 -14 861 950 ; +C -1 ; WX 627 ; N ccaron ; B 84 -14 675 774 ; +C -1 ; WX 732 ; N Dcaron ; B 65 0 757 950 ; +C -1 ; WX 792 ; N dcaron ; B 84 -14 922 814 ; +C -1 ; WX 520 ; N Ecaron ; B 65 0 624 950 ; +C -1 ; WX 642 ; N ecaron ; B 86 -14 662 774 ; +C -1 ; WX 444 ; N Lcaron ; B 79 0 485 814 ; +C -1 ; WX 444 ; N Lacute ; B 79 0 546 1011 ; +C -1 ; WX 343 ; N lcaron ; B 67 0 473 814 ; +C -1 ; WX 238 ; N lacute ; B 67 0 471 1011 ; +C -1 ; WX 738 ; N Ncaron ; B 75 0 800 950 ; +C -1 ; WX 624 ; N ncaron ; B 66 0 644 774 ; +C -1 ; WX 594 ; N Rcaron ; B 65 0 660 950 ; +C -1 ; WX 594 ; N Racute ; B 65 0 672 1011 ; +C -1 ; WX 320 ; N rcaron ; B 67 0 493 774 ; +C -1 ; WX 320 ; N racute ; B 67 0 478 814 ; +C -1 ; WX 407 ; N Tcaron ; B 126 0 567 950 ; +C -1 ; WX 382 ; N tcaron ; B 79 0 542 740 ; +C -1 ; WX 643 ; N Uring ; B 112 -14 706 950 ; +C -1 ; WX 624 ; N uring ; B 104 -14 660 831 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 220 176 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 65 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 119 176 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 594 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 14 176 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 43 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 157 74 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute -21 197 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 145 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -96 197 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 122 176 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 34 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 50 176 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 105 197 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -117 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -89 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron -43 176 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 214 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 64 119 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 34 0 ; +EndBuildComposites diff --git a/font/Bk-Bd+ b/font/Bk-Bd+ new file mode 100644 index 0000000..09d0984 --- /dev/null +++ b/font/Bk-Bd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 724 ; N Ccaron ; B 36 -13 711 927 ; +C -1 ; WX 556 ; N ccaron ; B 28 -13 542 740 ; +C -1 ; WX 833 ; N Dcaron ; B 29 0 797 927 ; +C -1 ; WX 796 ; N dcaron ; B 28 -13 856 777 ; +C -1 ; WX 778 ; N Ecaron ; B 20 0 764 927 ; +C -1 ; WX 556 ; N ecaron ; B 28 -13 528 740 ; +C -1 ; WX 724 ; N Lcaron ; B 20 0 708 749 ; +C -1 ; WX 724 ; N Lacute ; B 20 0 708 941 ; +C -1 ; WX 461 ; N lcaron ; B 6 0 528 777 ; +C -1 ; WX 332 ; N lacute ; B 6 0 358 941 ; +C -1 ; WX 778 ; N Ncaron ; B 20 0 758 927 ; +C -1 ; WX 667 ; N ncaron ; B 18 0 649 740 ; +C -1 ; WX 778 ; N Rcaron ; B 20 0 772 927 ; +C -1 ; WX 778 ; N Racute ; B 20 0 772 941 ; +C -1 ; WX 500 ; N rcaron ; B 18 0 501 740 ; +C -1 ; WX 500 ; N racute ; B 18 0 501 754 ; +C -1 ; WX 778 ; N Tcaron ; B 6 0 772 927 ; +C -1 ; WX 573 ; N tcaron ; B -4 -13 656 694 ; +C -1 ; WX 778 ; N Uring ; B 17 -13 761 927 ; +C -1 ; WX 667 ; N uring ; B 18 -13 649 792 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 264 187 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 138 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 250 187 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 625 83 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 223 187 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 112 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 379 55 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 196 187 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 297 83 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 25 187 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 223 187 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 167 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 223 187 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 271 187 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 84 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 109 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 223 187 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 425 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 223 135 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 167 0 ; +EndBuildComposites diff --git a/font/Bk-BdIt+ b/font/Bk-BdIt+ new file mode 100644 index 0000000..bfecd39 --- /dev/null +++ b/font/Bk-BdIt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 778 ; N Ccaron ; B 56 -13 772 919 ; +C -1 ; WX 611 ; N ccaron ; B 33 -13 609 736 ; +C -1 ; WX 833 ; N Dcaron ; B -5 0 833 919 ; +C -1 ; WX 873 ; N dcaron ; B 33 -13 963 777 ; +C -1 ; WX 778 ; N Ecaron ; B -5 0 791 919 ; +C -1 ; WX 611 ; N ecaron ; B 33 -13 606 736 ; +C -1 ; WX 667 ; N Lcaron ; B -5 0 726 749 ; +C -1 ; WX 667 ; N Lacute ; B -5 0 698 933 ; +C -1 ; WX 540 ; N lcaron ; B 64 -13 654 777 ; +C -1 ; WX 389 ; N lacute ; B 64 -13 501 933 ; +C -1 ; WX 778 ; N Ncaron ; B -5 0 829 919 ; +C -1 ; WX 722 ; N ncaron ; B 53 -13 749 736 ; +C -1 ; WX 778 ; N Rcaron ; B -5 0 773 919 ; +C -1 ; WX 778 ; N Racute ; B -5 0 773 933 ; +C -1 ; WX 500 ; N rcaron ; B 49 0 562 736 ; +C -1 ; WX 500 ; N racute ; B 49 0 562 750 ; +C -1 ; WX 722 ; N Tcaron ; B 52 0 764 919 ; +C -1 ; WX 595 ; N tcaron ; B 54 -13 699 694 ; +C -1 ; WX 722 ; N Uring ; B 76 -13 806 919 ; +C -1 ; WX 722 ; N uring ; B 69 -13 741 782 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 330 183 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 167 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 288 183 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 649 83 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 260 183 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 139 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 412 55 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 205 183 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 340 83 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 92 183 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 260 183 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 194 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 260 183 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 309 183 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 83 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 109 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 232 183 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 385 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 223 137 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 194 0 ; +EndBuildComposites diff --git a/font/Bk-Dm+ b/font/Bk-Dm+ new file mode 100644 index 0000000..7c231e9 --- /dev/null +++ b/font/Bk-Dm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 740 ; N Ccaron ; B 35 -17 724 919 ; +C -1 ; WX 580 ; N ccaron ; B 31 -8 550 717 ; +C -1 ; WX 780 ; N Dcaron ; B 20 0 748 919 ; +C -1 ; WX 752 ; N dcaron ; B 31 -8 798 798 ; +C -1 ; WX 720 ; N Ecaron ; B 20 0 724 919 ; +C -1 ; WX 580 ; N ecaron ; B 31 -8 548 717 ; +C -1 ; WX 640 ; N Lcaron ; B 20 0 668 749 ; +C -1 ; WX 640 ; N Lacute ; B 20 0 668 927 ; +C -1 ; WX 452 ; N lcaron ; B 9 0 498 798 ; +C -1 ; WX 340 ; N lacute ; B 9 0 323 927 ; +C -1 ; WX 740 ; N Ncaron ; B 20 0 724 919 ; +C -1 ; WX 680 ; N ncaron ; B 22 0 652 717 ; +C -1 ; WX 780 ; N Rcaron ; B 20 0 783 919 ; +C -1 ; WX 780 ; N Racute ; B 20 0 783 927 ; +C -1 ; WX 460 ; N rcaron ; B 22 0 462 717 ; +C -1 ; WX 460 ; N racute ; B 22 0 462 731 ; +C -1 ; WX 700 ; N Tcaron ; B -4 0 703 919 ; +C -1 ; WX 572 ; N tcaron ; B 22 -8 621 698 ; +C -1 ; WX 740 ; N Uring ; B 15 -17 724 919 ; +C -1 ; WX 660 ; N uring ; B 22 -8 653 755 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 189 202 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 66 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 140 202 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 556 100 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 110 202 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 40 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 313 51 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 120 196 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 256 100 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -4 196 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 120 202 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 90 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 140 202 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 239 196 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -20 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 56 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 100 202 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 379 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 200 164 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 160 0 ; +EndBuildComposites diff --git a/font/Bk-DmIt+ b/font/Bk-DmIt+ new file mode 100644 index 0000000..c7ad35c --- /dev/null +++ b/font/Bk-DmIt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 700 ; N Ccaron ; B 78 -17 754 910 ; +C -1 ; WX 560 ; N ccaron ; B 58 -8 597 749 ; +C -1 ; WX 760 ; N Dcaron ; B 14 0 805 910 ; +C -1 ; WX 805 ; N dcaron ; B 60 -8 910 805 ; +C -1 ; WX 720 ; N Ecaron ; B 14 0 777 910 ; +C -1 ; WX 560 ; N ecaron ; B 59 -8 596 749 ; +C -1 ; WX 640 ; N Lcaron ; B 14 0 725 749 ; +C -1 ; WX 640 ; N Lacute ; B 14 0 725 948 ; +C -1 ; WX 505 ; N lcaron ; B 109 -8 606 805 ; +C -1 ; WX 380 ; N lacute ; B 109 -8 481 948 ; +C -1 ; WX 740 ; N Ncaron ; B 14 0 845 910 ; +C -1 ; WX 680 ; N ncaron ; B 83 -8 715 749 ; +C -1 ; WX 740 ; N Rcaron ; B 14 0 765 910 ; +C -1 ; WX 740 ; N Racute ; B 14 0 765 948 ; +C -1 ; WX 500 ; N rcaron ; B 84 0 582 749 ; +C -1 ; WX 500 ; N racute ; B 84 0 582 771 ; +C -1 ; WX 700 ; N Tcaron ; B 70 0 802 910 ; +C -1 ; WX 565 ; N tcaron ; B 106 -8 684 698 ; +C -1 ; WX 740 ; N Uring ; B 112 -17 855 910 ; +C -1 ; WX 680 ; N uring ; B 83 -8 720 775 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 206 161 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 67 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 168 161 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 561 107 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 148 161 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 40 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 332 51 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 181 177 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 257 107 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 74 177 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 158 161 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 100 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 158 161 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 275 177 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 10 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 103 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 138 161 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 335 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 213 135 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 160 0 ; +EndBuildComposites diff --git a/font/Bk-Lt+ b/font/Bk-Lt+ new file mode 100644 index 0000000..4aedf58 --- /dev/null +++ b/font/Bk-Lt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 740 ; N Ccaron ; B 44 -17 702 861 ; +C -1 ; WX 520 ; N ccaron ; B 37 -8 498 672 ; +C -1 ; WX 800 ; N Dcaron ; B 31 0 752 861 ; +C -1 ; WX 712 ; N dcaron ; B 37 -8 736 789 ; +C -1 ; WX 720 ; N Ecaron ; B 31 0 705 861 ; +C -1 ; WX 520 ; N ecaron ; B 37 -8 491 672 ; +C -1 ; WX 600 ; N Lcaron ; B 31 0 629 749 ; +C -1 ; WX 600 ; N Lacute ; B 31 0 629 861 ; +C -1 ; WX 392 ; N lcaron ; B 20 0 431 789 ; +C -1 ; WX 300 ; N lacute ; B 20 0 286 861 ; +C -1 ; WX 740 ; N Ncaron ; B 26 0 722 861 ; +C -1 ; WX 660 ; N ncaron ; B 20 0 649 672 ; +C -1 ; WX 720 ; N Rcaron ; B 31 0 757 861 ; +C -1 ; WX 720 ; N Racute ; B 31 0 757 861 ; +C -1 ; WX 440 ; N rcaron ; B 20 0 447 672 ; +C -1 ; WX 440 ; N racute ; B 20 0 447 689 ; +C -1 ; WX 620 ; N Tcaron ; B -37 0 656 861 ; +C -1 ; WX 472 ; N tcaron ; B 20 -8 533 698 ; +C -1 ; WX 780 ; N Uring ; B 25 -17 754 861 ; +C -1 ; WX 680 ; N uring ; B 20 -8 653 731 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 226 189 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 73 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 190 189 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 558 91 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 150 189 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 50 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 268 51 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 130 172 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 253 91 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 1 172 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 160 189 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 120 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 150 189 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 229 172 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 10 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 71 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 100 189 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 355 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 230 130 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 180 0 ; +EndBuildComposites diff --git a/font/Bk-LtIt+ b/font/Bk-LtIt+ new file mode 100644 index 0000000..4626e55 --- /dev/null +++ b/font/Bk-LtIt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 720 ; N Ccaron ; B 88 -17 746 856 ; +C -1 ; WX 480 ; N ccaron ; B 65 -8 524 684 ; +C -1 ; WX 740 ; N Dcaron ; B 21 0 782 856 ; +C -1 ; WX 738 ; N dcaron ; B 65 -8 849 789 ; +C -1 ; WX 680 ; N Ecaron ; B 21 0 736 856 ; +C -1 ; WX 540 ; N ecaron ; B 65 -8 575 684 ; +C -1 ; WX 580 ; N Lcaron ; B 21 0 656 749 ; +C -1 ; WX 580 ; N Lacute ; B 21 0 656 898 ; +C -1 ; WX 378 ; N lcaron ; B 100 -8 496 789 ; +C -1 ; WX 280 ; N lacute ; B 100 -8 406 898 ; +C -1 ; WX 720 ; N Ncaron ; B 18 0 823 856 ; +C -1 ; WX 620 ; N ncaron ; B 88 -8 673 684 ; +C -1 ; WX 700 ; N Rcaron ; B 21 0 736 856 ; +C -1 ; WX 700 ; N Racute ; B 21 0 736 898 ; +C -1 ; WX 400 ; N rcaron ; B 88 0 481 684 ; +C -1 ; WX 400 ; N racute ; B 88 0 481 706 ; +C -1 ; WX 600 ; N Tcaron ; B 50 0 725 856 ; +C -1 ; WX 438 ; N tcaron ; B 88 -8 565 698 ; +C -1 ; WX 720 ; N Uring ; B 118 -17 842 856 ; +C -1 ; WX 620 ; N uring ; B 88 -8 686 706 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 236 172 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 43 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 180 172 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 561 91 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 150 172 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 50 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 278 51 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 163 192 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 208 91 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 33 192 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 170 172 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 90 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 160 172 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 260 192 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -20 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 60 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 110 172 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 277 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 236 150 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 160 0 ; +EndBuildComposites diff --git a/font/Bk-Md+ b/font/Bk-Md+ new file mode 100644 index 0000000..658252b --- /dev/null +++ b/font/Bk-Md+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 41 -13 681 919 ; +C -1 ; WX 556 ; N ccaron ; B 39 -10 535 723 ; +C -1 ; WX 778 ; N Dcaron ; B 26 0 737 919 ; +C -1 ; WX 722 ; N dcaron ; B 30 -10 762 759 ; +C -1 ; WX 722 ; N Ecaron ; B 26 0 686 919 ; +C -1 ; WX 556 ; N ecaron ; B 39 -10 526 723 ; +C -1 ; WX 667 ; N Lcaron ; B 26 0 662 749 ; +C -1 ; WX 667 ; N Lacute ; B 26 0 662 929 ; +C -1 ; WX 445 ; N lcaron ; B 30 0 478 759 ; +C -1 ; WX 334 ; N lacute ; B 30 0 350 929 ; +C -1 ; WX 722 ; N Ncaron ; B 26 0 696 919 ; +C -1 ; WX 666 ; N ncaron ; B 36 0 630 723 ; +C -1 ; WX 722 ; N Rcaron ; B 26 0 724 919 ; +C -1 ; WX 722 ; N Racute ; B 26 0 724 929 ; +C -1 ; WX 444 ; N rcaron ; B 36 0 450 723 ; +C -1 ; WX 444 ; N racute ; B 36 0 450 733 ; +C -1 ; WX 668 ; N Tcaron ; B 5 0 663 919 ; +C -1 ; WX 500 ; N tcaron ; B 30 -10 588 694 ; +C -1 ; WX 722 ; N Uring ; B 14 -13 708 919 ; +C -1 ; WX 667 ; N uring ; B 36 -10 631 761 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 258 196 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 136 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 222 196 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 544 65 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 194 196 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 276 55 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 166 196 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 260 65 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 24 196 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 196 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 166 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 194 196 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 239 196 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 79 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 167 196 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 370 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 158 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 166 0 ; +EndBuildComposites diff --git a/font/Bk-MdIt+ b/font/Bk-MdIt+ new file mode 100644 index 0000000..a9d09ff --- /dev/null +++ b/font/Bk-MdIt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 50 -13 726 917 ; +C -1 ; WX 556 ; N ccaron ; B 41 -10 560 723 ; +C -1 ; WX 778 ; N Dcaron ; B 2 0 751 917 ; +C -1 ; WX 717 ; N dcaron ; B 41 -10 804 759 ; +C -1 ; WX 722 ; N Ecaron ; B -6 0 709 917 ; +C -1 ; WX 556 ; N ecaron ; B 41 -10 547 723 ; +C -1 ; WX 667 ; N Lcaron ; B 2 0 653 749 ; +C -1 ; WX 667 ; N Lacute ; B 2 0 653 923 ; +C -1 ; WX 439 ; N lcaron ; B 74 -10 505 759 ; +C -1 ; WX 333 ; N lacute ; B 74 -10 457 923 ; +C -1 ; WX 722 ; N Ncaron ; B 2 0 753 917 ; +C -1 ; WX 667 ; N ncaron ; B 68 -10 667 723 ; +C -1 ; WX 722 ; N Rcaron ; B -6 0 704 917 ; +C -1 ; WX 722 ; N Racute ; B -6 0 704 923 ; +C -1 ; WX 444 ; N rcaron ; B 67 0 480 723 ; +C -1 ; WX 444 ; N racute ; B 67 0 471 729 ; +C -1 ; WX 667 ; N Tcaron ; B 46 0 703 917 ; +C -1 ; WX 495 ; N tcaron ; B 60 -10 554 694 ; +C -1 ; WX 778 ; N Uring ; B 105 -13 818 917 ; +C -1 ; WX 667 ; N uring ; B 67 -10 671 769 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 301 194 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 135 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 263 194 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 557 65 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 235 194 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 312 55 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 208 194 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 258 65 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 65 194 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 235 194 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 167 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 235 194 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 280 194 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 79 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 208 194 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 307 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 253 148 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 167 0 ; +EndBuildComposites diff --git a/font/Cr+ b/font/Cr+ new file mode 100644 index 0000000..63b36ec --- /dev/null +++ b/font/Cr+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 600 ; N Ccaron ; B 41 -18 540 790 ; +C -1 ; WX 600 ; N ccaron ; B 66 -15 529 669 ; +C -1 ; WX 600 ; N Dcaron ; B 43 0 574 790 ; +C -1 ; WX 600 ; N dcaron ; B 45 -15 770 692 ; +C -1 ; WX 600 ; N Ecaron ; B 53 0 550 790 ; +C -1 ; WX 600 ; N ecaron ; B 66 -15 548 669 ; +C -1 ; WX 600 ; N Lcaron ; B 47 0 683 618 ; +C -1 ; WX 600 ; N Lacute ; B 47 0 554 788 ; +C -1 ; WX 600 ; N lcaron ; B 95 0 684 692 ; +C -1 ; WX 600 ; N lacute ; B 95 0 505 788 ; +C -1 ; WX 600 ; N Ncaron ; B 7 -13 593 790 ; +C -1 ; WX 600 ; N ncaron ; B 26 0 575 669 ; +C -1 ; WX 600 ; N Rcaron ; B 38 0 588 790 ; +C -1 ; WX 600 ; N Racute ; B 38 0 588 788 ; +C -1 ; WX 600 ; N rcaron ; B 60 0 559 669 ; +C -1 ; WX 600 ; N racute ; B 60 0 559 672 ; +C -1 ; WX 600 ; N Tcaron ; B 38 0 563 790 ; +C -1 ; WX 600 ; N tcaron ; B 87 -15 709 562 ; +C -1 ; WX 600 ; N Uring ; B 17 -18 583 790 ; +C -1 ; WX 600 ; N uring ; B 21 -15 562 627 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 50 121 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 23 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 0 121 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 394 130 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 0 121 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 0 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 307 56 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 0 116 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 308 130 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 23 116 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 0 121 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 0 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 0 121 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 43 116 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 23 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 0 121 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 333 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 0 163 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 0 0 ; +EndBuildComposites diff --git a/font/Cr-Bd+ b/font/Cr-Bd+ new file mode 100644 index 0000000..d8f718c --- /dev/null +++ b/font/Cr-Bd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 600 ; N Ccaron ; B 22 -18 560 787 ; +C -1 ; WX 600 ; N ccaron ; B 40 -15 545 667 ; +C -1 ; WX 600 ; N Dcaron ; B 30 0 594 787 ; +C -1 ; WX 600 ; N dcaron ; B 20 -15 868 689 ; +C -1 ; WX 600 ; N Ecaron ; B 25 0 560 787 ; +C -1 ; WX 600 ; N ecaron ; B 40 -15 563 667 ; +C -1 ; WX 600 ; N Lcaron ; B 39 0 800 618 ; +C -1 ; WX 600 ; N Lacute ; B 39 0 578 766 ; +C -1 ; WX 600 ; N lcaron ; B 77 0 800 689 ; +C -1 ; WX 600 ; N lacute ; B 77 0 523 766 ; +C -1 ; WX 600 ; N Ncaron ; B 8 -12 610 787 ; +C -1 ; WX 600 ; N ncaron ; B 18 0 592 667 ; +C -1 ; WX 600 ; N Rcaron ; B 24 0 599 787 ; +C -1 ; WX 600 ; N Racute ; B 24 0 599 766 ; +C -1 ; WX 600 ; N rcaron ; B 47 0 580 667 ; +C -1 ; WX 600 ; N racute ; B 47 0 580 661 ; +C -1 ; WX 600 ; N Tcaron ; B 21 0 579 787 ; +C -1 ; WX 600 ; N tcaron ; B 47 -15 809 562 ; +C -1 ; WX 600 ; N Uring ; B 4 -18 596 787 ; +C -1 ; WX 600 ; N uring ; B -1 -15 569 678 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 54 120 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 25 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 0 120 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 445 127 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 0 120 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 0 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 377 56 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 0 105 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 377 127 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 26 105 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 0 120 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 0 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 0 120 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 50 105 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 26 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 0 120 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 386 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 0 109 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 0 0 ; +EndBuildComposites diff --git a/font/Cr-BdO+ b/font/Cr-BdO+ new file mode 100644 index 0000000..c08e041 --- /dev/null +++ b/font/Cr-BdO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 600 ; N Ccaron ; B 75 -18 717 787 ; +C -1 ; WX 600 ; N ccaron ; B 81 -15 660 667 ; +C -1 ; WX 600 ; N Dcaron ; B 30 0 664 787 ; +C -1 ; WX 600 ; N dcaron ; B 61 -15 987 689 ; +C -1 ; WX 600 ; N Ecaron ; B 25 0 669 787 ; +C -1 ; WX 600 ; N ecaron ; B 81 -15 632 667 ; +C -1 ; WX 600 ; N Lcaron ; B 39 0 985 618 ; +C -1 ; WX 600 ; N Lacute ; B 39 0 635 766 ; +C -1 ; WX 600 ; N lcaron ; B 77 0 888 689 ; +C -1 ; WX 600 ; N lacute ; B 77 0 660 766 ; +C -1 ; WX 600 ; N Ncaron ; B 8 -12 729 787 ; +C -1 ; WX 600 ; N ncaron ; B 18 0 632 667 ; +C -1 ; WX 600 ; N Rcaron ; B 24 0 657 787 ; +C -1 ; WX 600 ; N Racute ; B 24 0 686 766 ; +C -1 ; WX 600 ; N rcaron ; B 47 0 654 667 ; +C -1 ; WX 600 ; N racute ; B 47 0 654 661 ; +C -1 ; WX 600 ; N Tcaron ; B 86 0 678 787 ; +C -1 ; WX 600 ; N tcaron ; B 118 -15 909 562 ; +C -1 ; WX 600 ; N Uring ; B 101 -18 715 787 ; +C -1 ; WX 600 ; N uring ; B 70 -15 591 678 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 85 120 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 28 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 25 120 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 445 127 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 25 120 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 0 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 443 56 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 22 105 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 346 127 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 52 105 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 25 120 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 0 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 25 120 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 78 105 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 30 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 25 120 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 367 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 23 109 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 0 0 ; +EndBuildComposites diff --git a/font/Cr-O+ b/font/Cr-O+ new file mode 100644 index 0000000..267c38e --- /dev/null +++ b/font/Cr-O+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 600 ; N Ccaron ; B 93 -18 695 790 ; +C -1 ; WX 600 ; N ccaron ; B 106 -15 639 669 ; +C -1 ; WX 600 ; N Dcaron ; B 43 0 645 790 ; +C -1 ; WX 600 ; N dcaron ; B 85 -15 873 692 ; +C -1 ; WX 600 ; N Ecaron ; B 53 0 660 790 ; +C -1 ; WX 600 ; N ecaron ; B 106 -15 614 669 ; +C -1 ; WX 600 ; N Lcaron ; B 47 0 856 618 ; +C -1 ; WX 600 ; N Lacute ; B 47 0 636 788 ; +C -1 ; WX 600 ; N lcaron ; B 95 0 748 692 ; +C -1 ; WX 600 ; N lacute ; B 95 0 662 788 ; +C -1 ; WX 600 ; N Ncaron ; B 7 -13 712 790 ; +C -1 ; WX 600 ; N ncaron ; B 26 0 614 669 ; +C -1 ; WX 600 ; N Rcaron ; B 38 0 639 790 ; +C -1 ; WX 600 ; N Racute ; B 38 0 686 788 ; +C -1 ; WX 600 ; N rcaron ; B 60 0 636 669 ; +C -1 ; WX 600 ; N racute ; B 60 0 638 672 ; +C -1 ; WX 600 ; N Tcaron ; B 108 0 665 790 ; +C -1 ; WX 600 ; N tcaron ; B 167 -15 794 562 ; +C -1 ; WX 600 ; N Uring ; B 125 -18 702 790 ; +C -1 ; WX 600 ; N uring ; B 101 -15 572 627 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 81 121 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 25 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 25 121 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 378 130 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 25 121 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 0 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 361 56 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 24 116 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 253 130 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 50 116 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 25 121 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 0 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 25 121 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 74 116 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 26 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 25 121 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 299 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 34 163 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 0 0 ; +EndBuildComposites diff --git a/font/He+ b/font/He+ new file mode 100644 index 0000000..df34ce4 --- /dev/null +++ b/font/He+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 44 -19 681 925 ; +C -1 ; WX 500 ; N ccaron ; B 30 -15 477 734 ; +C -1 ; WX 722 ; N Dcaron ; B 81 0 674 925 ; +C -1 ; WX 629 ; N dcaron ; B 35 -15 613 790 ; +C -1 ; WX 667 ; N Ecaron ; B 86 0 616 925 ; +C -1 ; WX 556 ; N ecaron ; B 40 -15 516 734 ; +C -1 ; WX 556 ; N Lcaron ; B 76 0 537 790 ; +C -1 ; WX 556 ; N Lacute ; B 76 0 537 925 ; +C -1 ; WX 295 ; N lcaron ; B 67 0 269 790 ; +C -1 ; WX 222 ; N lacute ; B 67 0 284 925 ; +C -1 ; WX 722 ; N Ncaron ; B 76 0 646 925 ; +C -1 ; WX 556 ; N ncaron ; B 65 0 491 734 ; +C -1 ; WX 722 ; N Rcaron ; B 88 0 684 925 ; +C -1 ; WX 722 ; N Racute ; B 88 0 684 925 ; +C -1 ; WX 333 ; N rcaron ; B 21 0 332 734 ; +C -1 ; WX 333 ; N racute ; B 77 0 339 734 ; +C -1 ; WX 611 ; N Tcaron ; B 14 0 597 925 ; +C -1 ; WX 351 ; N tcaron ; B 14 -7 371 718 ; +C -1 ; WX 722 ; N Uring ; B 79 -19 644 925 ; +C -1 ; WX 556 ; N uring ; B 68 -15 489 756 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 258 191 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 105 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 191 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 456 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 167 191 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 145 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 111 191 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 112 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -35 191 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 191 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 194 191 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 231 191 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 20 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 139 191 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 214 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 169 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/He-Bd+ b/font/He-Bd+ new file mode 100644 index 0000000..1641465 --- /dev/null +++ b/font/He-Bd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 44 -19 684 930 ; +C -1 ; WX 556 ; N ccaron ; B 34 -14 524 750 ; +C -1 ; WX 722 ; N Dcaron ; B 76 0 685 930 ; +C -1 ; WX 709 ; N dcaron ; B 34 -14 705 790 ; +C -1 ; WX 667 ; N Ecaron ; B 76 0 621 930 ; +C -1 ; WX 556 ; N ecaron ; B 23 -14 528 750 ; +C -1 ; WX 611 ; N Lcaron ; B 76 0 583 790 ; +C -1 ; WX 611 ; N Lacute ; B 76 0 583 930 ; +C -1 ; WX 376 ; N lcaron ; B 69 0 363 790 ; +C -1 ; WX 278 ; N lacute ; B 69 0 354 930 ; +C -1 ; WX 722 ; N Ncaron ; B 69 0 654 930 ; +C -1 ; WX 611 ; N ncaron ; B 65 0 546 750 ; +C -1 ; WX 722 ; N Rcaron ; B 76 0 677 930 ; +C -1 ; WX 722 ; N Racute ; B 76 0 677 930 ; +C -1 ; WX 389 ; N rcaron ; B 18 0 373 750 ; +C -1 ; WX 389 ; N racute ; B 64 0 409 750 ; +C -1 ; WX 611 ; N Tcaron ; B 14 0 598 930 ; +C -1 ; WX 431 ; N tcaron ; B 10 -6 463 718 ; +C -1 ; WX 722 ; N Uring ; B 72 -19 651 930 ; +C -1 ; WX 611 ; N uring ; B 66 -14 545 776 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 258 180 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 136 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 180 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 496 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 167 180 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 159 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 180 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 154 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -2 180 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 180 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 194 180 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 241 180 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 53 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 139 180 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 254 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 154 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/He-BdO+ b/font/He-BdO+ new file mode 100644 index 0000000..10e94dc --- /dev/null +++ b/font/He-BdO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 107 -19 802 930 ; +C -1 ; WX 556 ; N ccaron ; B 79 -14 639 750 ; +C -1 ; WX 722 ; N Dcaron ; B 76 0 777 930 ; +C -1 ; WX 748 ; N dcaron ; B 82 -14 919 790 ; +C -1 ; WX 667 ; N Ecaron ; B 76 0 757 930 ; +C -1 ; WX 556 ; N ecaron ; B 70 -14 613 750 ; +C -1 ; WX 611 ; N Lcaron ; B 76 0 611 790 ; +C -1 ; WX 611 ; N Lacute ; B 76 0 692 930 ; +C -1 ; WX 415 ; N lcaron ; B 69 0 577 790 ; +C -1 ; WX 278 ; N lacute ; B 69 0 554 930 ; +C -1 ; WX 722 ; N Ncaron ; B 69 0 807 930 ; +C -1 ; WX 611 ; N ncaron ; B 65 0 641 750 ; +C -1 ; WX 722 ; N Rcaron ; B 76 0 778 930 ; +C -1 ; WX 722 ; N Racute ; B 76 0 800 930 ; +C -1 ; WX 389 ; N rcaron ; B 64 0 530 750 ; +C -1 ; WX 389 ; N racute ; B 64 0 571 750 ; +C -1 ; WX 611 ; N Tcaron ; B 140 0 751 930 ; +C -1 ; WX 470 ; N tcaron ; B 100 -6 637 718 ; +C -1 ; WX 722 ; N Uring ; B 116 -19 804 930 ; +C -1 ; WX 611 ; N uring ; B 98 -14 658 776 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 300 180 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 137 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 232 180 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 557 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 205 180 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 220 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 177 180 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 215 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 39 180 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 232 180 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 232 180 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 285 180 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 56 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 177 180 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 275 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 226 154 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/He-Bl+ b/font/He-Bl+ new file mode 100644 index 0000000..ca7ce67 --- /dev/null +++ b/font/He-Bl+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 778 ; N Ccaron ; B 22 -19 748 934 ; +C -1 ; WX 667 ; N ccaron ; B 32 -15 622 739 ; +C -1 ; WX 778 ; N Dcaron ; B 65 0 757 934 ; +C -1 ; WX 795 ; N dcaron ; B 33 -15 820 792 ; +C -1 ; WX 722 ; N Ecaron ; B 76 0 677 934 ; +C -1 ; WX 667 ; N ecaron ; B 31 -15 636 739 ; +C -1 ; WX 667 ; N Lcaron ; B 76 0 636 792 ; +C -1 ; WX 667 ; N Lacute ; B 76 0 636 934 ; +C -1 ; WX 461 ; N lcaron ; B 62 0 471 792 ; +C -1 ; WX 333 ; N lacute ; B 62 0 406 934 ; +C -1 ; WX 833 ; N Ncaron ; B 69 0 764 934 ; +C -1 ; WX 667 ; N ncaron ; B 48 0 618 739 ; +C -1 ; WX 778 ; N Rcaron ; B 61 0 746 934 ; +C -1 ; WX 778 ; N Racute ; B 61 0 746 934 ; +C -1 ; WX 444 ; N rcaron ; B 21 0 431 739 ; +C -1 ; WX 444 ; N racute ; B 52 0 461 739 ; +C -1 ; WX 722 ; N Tcaron ; B 31 0 691 934 ; +C -1 ; WX 572 ; N tcaron ; B 14 -4 597 720 ; +C -1 ; WX 833 ; N Uring ; B 70 -19 763 934 ; +C -1 ; WX 667 ; N uring ; B 48 -15 618 817 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 295 195 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 197 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 222 195 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 595 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 194 195 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 167 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 288 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 167 195 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 246 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 31 195 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 250 195 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 167 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 222 195 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 281 195 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 86 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 194 195 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 372 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 250 117 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 167 0 ; +EndBuildComposites diff --git a/font/He-BlO+ b/font/He-BlO+ new file mode 100644 index 0000000..806f7fb --- /dev/null +++ b/font/He-BlO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 778 ; N Ccaron ; B 78 -19 834 934 ; +C -1 ; WX 667 ; N ccaron ; B 72 -15 700 739 ; +C -1 ; WX 778 ; N Dcaron ; B 65 0 831 934 ; +C -1 ; WX 840 ; N dcaron ; B 72 -15 1018 792 ; +C -1 ; WX 722 ; N Ecaron ; B 76 0 790 934 ; +C -1 ; WX 667 ; N ecaron ; B 71 -15 682 739 ; +C -1 ; WX 667 ; N Lcaron ; B 76 0 711 792 ; +C -1 ; WX 667 ; N Lacute ; B 76 0 706 934 ; +C -1 ; WX 506 ; N lcaron ; B 62 0 669 792 ; +C -1 ; WX 333 ; N lacute ; B 62 0 573 934 ; +C -1 ; WX 833 ; N Ncaron ; B 69 0 891 934 ; +C -1 ; WX 667 ; N ncaron ; B 48 0 680 739 ; +C -1 ; WX 778 ; N Rcaron ; B 61 0 816 934 ; +C -1 ; WX 778 ; N Racute ; B 61 0 825 934 ; +C -1 ; WX 444 ; N rcaron ; B 52 0 558 739 ; +C -1 ; WX 444 ; N racute ; B 52 0 594 739 ; +C -1 ; WX 722 ; N Tcaron ; B 125 0 818 934 ; +C -1 ; WX 617 ; N tcaron ; B 85 -4 760 720 ; +C -1 ; WX 833 ; N Uring ; B 116 -19 890 934 ; +C -1 ; WX 667 ; N uring ; B 78 -15 710 817 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 331 195 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 197 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 256 195 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 666 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 228 195 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 167 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 359 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 201 195 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 317 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 68 195 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 284 195 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 167 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 256 195 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 320 195 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 89 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 228 195 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 408 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 270 117 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 167 0 ; +EndBuildComposites diff --git a/font/He-Cm+ b/font/He-Cm+ new file mode 100644 index 0000000..b45e5a8 --- /dev/null +++ b/font/He-Cm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 464 ; N Ccaron ; B 22 -14 442 918 ; +C -1 ; WX 426 ; N ccaron ; B 22 -7 404 780 ; +C -1 ; WX 464 ; N Dcaron ; B 22 0 442 918 ; +C -1 ; WX 552 ; N dcaron ; B 22 -7 602 783 ; +C -1 ; WX 370 ; N Ecaron ; B 20 0 364 918 ; +C -1 ; WX 426 ; N ecaron ; B 22 -7 404 780 ; +C -1 ; WX 370 ; N Lcaron ; B 20 0 383 783 ; +C -1 ; WX 370 ; N Lacute ; B 20 0 366 918 ; +C -1 ; WX 330 ; N lcaron ; B 23 0 379 783 ; +C -1 ; WX 204 ; N lacute ; B 23 0 264 918 ; +C -1 ; WX 500 ; N Ncaron ; B 16 0 484 918 ; +C -1 ; WX 426 ; N ncaron ; B 22 0 404 780 ; +C -1 ; WX 464 ; N Rcaron ; B 20 0 464 918 ; +C -1 ; WX 464 ; N Racute ; B 20 0 464 918 ; +C -1 ; WX 426 ; N rcaron ; B 22 0 404 780 ; +C -1 ; WX 426 ; N racute ; B 22 0 404 780 ; +C -1 ; WX 426 ; N Tcaron ; B 14 0 412 918 ; +C -1 ; WX 422 ; N tcaron ; B 8 0 486 712 ; +C -1 ; WX 464 ; N Uring ; B 22 -14 442 918 ; +C -1 ; WX 426 ; N uring ; B 22 -7 404 875 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 172 138 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 130 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 130 138 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 410 71 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 83 138 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 191 71 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 83 138 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 187 71 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 21 138 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 148 138 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 130 138 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 170 138 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 111 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 132 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 111 138 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 294 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 130 43 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/He-Cn+ b/font/He-Cn+ new file mode 100644 index 0000000..cadc803 --- /dev/null +++ b/font/He-Cn+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 53 -18 503 960 ; +C -1 ; WX 444 ; N ccaron ; B 44 -15 405 765 ; +C -1 ; WX 611 ; N Dcaron ; B 82 0 548 960 ; +C -1 ; WX 566 ; N dcaron ; B 48 -15 527 825 ; +C -1 ; WX 500 ; N Ecaron ; B 74 0 451 960 ; +C -1 ; WX 444 ; N ecaron ; B 43 -15 395 765 ; +C -1 ; WX 500 ; N Lcaron ; B 83 0 472 825 ; +C -1 ; WX 500 ; N Lacute ; B 83 0 472 960 ; +C -1 ; WX 288 ; N lcaron ; B 72 0 254 825 ; +C -1 ; WX 222 ; N lacute ; B 65 0 263 960 ; +C -1 ; WX 611 ; N Ncaron ; B 77 0 534 960 ; +C -1 ; WX 500 ; N ncaron ; B 73 0 428 765 ; +C -1 ; WX 611 ; N Rcaron ; B 86 0 565 960 ; +C -1 ; WX 611 ; N Racute ; B 86 0 565 960 ; +C -1 ; WX 333 ; N rcaron ; B 21 0 322 765 ; +C -1 ; WX 333 ; N racute ; B 81 0 322 765 ; +C -1 ; WX 500 ; N Tcaron ; B 15 0 486 960 ; +C -1 ; WX 344 ; N tcaron ; B 9 0 360 750 ; +C -1 ; WX 611 ; N Uring ; B 81 -18 531 960 ; +C -1 ; WX 500 ; N uring ; B 77 -15 424 796 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 156 195 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 73 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 139 195 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 369 75 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 83 195 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 126 75 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 83 195 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 96 75 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -35 195 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 139 195 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 139 195 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 177 195 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 20 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 83 195 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 202 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 180 164 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 125 0 ; +EndBuildComposites diff --git a/font/He-CnBd+ b/font/He-CnBd+ new file mode 100644 index 0000000..9af1668 --- /dev/null +++ b/font/He-CnBd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 55 -18 512 965 ; +C -1 ; WX 444 ; N ccaron ; B 49 -15 416 780 ; +C -1 ; WX 611 ; N Dcaron ; B 72 0 550 965 ; +C -1 ; WX 585 ; N dcaron ; B 53 -15 566 825 ; +C -1 ; WX 500 ; N Ecaron ; B 64 0 458 965 ; +C -1 ; WX 500 ; N ecaron ; B 53 -15 443 780 ; +C -1 ; WX 500 ; N Lcaron ; B 68 0 468 825 ; +C -1 ; WX 500 ; N Lacute ; B 68 0 468 965 ; +C -1 ; WX 363 ; N lcaron ; B 74 0 337 825 ; +C -1 ; WX 278 ; N lacute ; B 74 0 330 965 ; +C -1 ; WX 611 ; N Ncaron ; B 68 0 543 965 ; +C -1 ; WX 500 ; N ncaron ; B 61 0 440 780 ; +C -1 ; WX 611 ; N Rcaron ; B 66 0 567 965 ; +C -1 ; WX 611 ; N Racute ; B 66 0 567 965 ; +C -1 ; WX 333 ; N rcaron ; B -10 0 343 780 ; +C -1 ; WX 333 ; N racute ; B 60 0 357 775 ; +C -1 ; WX 500 ; N Tcaron ; B 17 0 484 965 ; +C -1 ; WX 363 ; N tcaron ; B 14 -7 385 750 ; +C -1 ; WX 611 ; N Uring ; B 68 -18 544 965 ; +C -1 ; WX 500 ; N uring ; B 58 -15 431 845 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 157 185 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 73 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 139 185 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 364 75 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 83 185 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 140 75 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 83 190 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 135 75 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -2 190 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 139 185 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 139 185 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 186 190 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 25 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 83 185 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 183 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 139 120 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/font/He-CnBdO+ b/font/He-CnBdO+ new file mode 100644 index 0000000..cdafb94 --- /dev/null +++ b/font/He-CnBdO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 99 -18 712 965 ; +C -1 ; WX 444 ; N ccaron ; B 79 -15 585 780 ; +C -1 ; WX 611 ; N Dcaron ; B 72 0 687 965 ; +C -1 ; WX 625 ; N dcaron ; B 83 -15 788 825 ; +C -1 ; WX 500 ; N Ecaron ; B 64 0 631 965 ; +C -1 ; WX 500 ; N ecaron ; B 88 -15 592 780 ; +C -1 ; WX 500 ; N Lcaron ; B 68 0 564 825 ; +C -1 ; WX 500 ; N Lacute ; B 68 0 620 965 ; +C -1 ; WX 403 ; N lcaron ; B 74 0 559 825 ; +C -1 ; WX 278 ; N lacute ; B 74 0 538 965 ; +C -1 ; WX 611 ; N Ncaron ; B 68 0 702 965 ; +C -1 ; WX 500 ; N ncaron ; B 61 0 592 780 ; +C -1 ; WX 611 ; N Rcaron ; B 66 0 687 965 ; +C -1 ; WX 611 ; N Racute ; B 66 0 729 965 ; +C -1 ; WX 333 ; N rcaron ; B 60 0 509 780 ; +C -1 ; WX 333 ; N racute ; B 60 0 525 775 ; +C -1 ; WX 500 ; N Tcaron ; B 153 0 643 965 ; +C -1 ; WX 403 ; N tcaron ; B 83 -7 568 750 ; +C -1 ; WX 611 ; N Uring ; B 105 -18 703 965 ; +C -1 ; WX 500 ; N uring ; B 78 -15 551 845 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 203 185 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 76 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 178 185 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 427 75 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 122 185 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 203 75 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 123 190 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 198 75 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 41 190 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 178 185 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 178 185 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 232 190 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 28 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 122 185 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 207 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 164 120 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/font/He-CnBl+ b/font/He-CnBl+ new file mode 100644 index 0000000..1bfc2f4 --- /dev/null +++ b/font/He-CnBl+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 39 -18 529 967 ; +C -1 ; WX 500 ; N ccaron ; B 49 -18 474 782 ; +C -1 ; WX 556 ; N Dcaron ; B 46 0 514 967 ; +C -1 ; WX 611 ; N dcaron ; B 41 -18 628 825 ; +C -1 ; WX 500 ; N Ecaron ; B 46 0 461 967 ; +C -1 ; WX 500 ; N ecaron ; B 38 -18 466 782 ; +C -1 ; WX 444 ; N Lcaron ; B 37 0 428 825 ; +C -1 ; WX 444 ; N Lacute ; B 37 0 428 967 ; +C -1 ; WX 389 ; N lcaron ; B 60 0 393 825 ; +C -1 ; WX 278 ; N lacute ; B 60 0 375 967 ; +C -1 ; WX 556 ; N Ncaron ; B 43 0 513 967 ; +C -1 ; WX 500 ; N ncaron ; B 47 0 453 782 ; +C -1 ; WX 556 ; N Rcaron ; B 42 0 542 967 ; +C -1 ; WX 556 ; N Racute ; B 42 0 542 967 ; +C -1 ; WX 333 ; N rcaron ; B -36 0 370 782 ; +C -1 ; WX 333 ; N racute ; B 42 0 402 782 ; +C -1 ; WX 500 ; N Tcaron ; B 22 0 478 967 ; +C -1 ; WX 444 ; N tcaron ; B 12 -8 484 750 ; +C -1 ; WX 556 ; N Uring ; B 42 -18 515 967 ; +C -1 ; WX 500 ; N uring ; B 46 -18 449 860 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 159 185 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 104 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 111 185 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 412 75 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 83 185 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 185 75 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 55 185 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 177 75 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 4 185 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 111 185 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 111 185 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 170 185 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 31 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 83 185 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 268 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 111 107 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/font/He-CnBlO+ b/font/He-CnBlO+ new file mode 100644 index 0000000..057f767 --- /dev/null +++ b/font/He-CnBlO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 76 -18 742 967 ; +C -1 ; WX 500 ; N ccaron ; B 77 -18 642 782 ; +C -1 ; WX 556 ; N Dcaron ; B 46 0 686 967 ; +C -1 ; WX 657 ; N dcaron ; B 71 -18 859 825 ; +C -1 ; WX 500 ; N Ecaron ; B 46 0 658 967 ; +C -1 ; WX 500 ; N ecaron ; B 66 -18 619 782 ; +C -1 ; WX 444 ; N Lcaron ; B 37 0 632 825 ; +C -1 ; WX 444 ; N Lacute ; B 37 0 631 967 ; +C -1 ; WX 435 ; N lcaron ; B 60 0 624 825 ; +C -1 ; WX 278 ; N lacute ; B 60 0 583 967 ; +C -1 ; WX 556 ; N Ncaron ; B 43 0 686 967 ; +C -1 ; WX 500 ; N ncaron ; B 49 0 619 782 ; +C -1 ; WX 556 ; N Rcaron ; B 42 0 686 967 ; +C -1 ; WX 556 ; N Racute ; B 42 0 751 967 ; +C -1 ; WX 333 ; N rcaron ; B 42 0 536 782 ; +C -1 ; WX 333 ; N racute ; B 42 0 571 782 ; +C -1 ; WX 500 ; N Tcaron ; B 150 0 658 967 ; +C -1 ; WX 490 ; N tcaron ; B 96 -8 675 750 ; +C -1 ; WX 556 ; N Uring ; B 78 -18 674 967 ; +C -1 ; WX 500 ; N uring ; B 64 -18 568 860 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 206 185 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 106 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 150 185 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 484 75 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 122 185 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 257 75 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 94 185 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 249 75 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 46 185 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 150 185 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 150 185 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 214 185 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 34 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 122 185 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 300 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 133 107 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/font/He-CnLi+ b/font/He-CnLi+ new file mode 100644 index 0000000..094a7c6 --- /dev/null +++ b/font/He-CnLi+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 63 -18 492 958 ; +C -1 ; WX 389 ; N ccaron ; B 37 -14 358 745 ; +C -1 ; WX 556 ; N Dcaron ; B 72 0 500 958 ; +C -1 ; WX 492 ; N dcaron ; B 44 -14 458 825 ; +C -1 ; WX 444 ; N Ecaron ; B 67 0 412 958 ; +C -1 ; WX 389 ; N ecaron ; B 35 -14 352 745 ; +C -1 ; WX 444 ; N Lcaron ; B 74 0 417 825 ; +C -1 ; WX 444 ; N Lacute ; B 74 0 417 958 ; +C -1 ; WX 270 ; N lcaron ; B 82 0 216 825 ; +C -1 ; WX 222 ; N lacute ; B 68 0 257 958 ; +C -1 ; WX 556 ; N Ncaron ; B 66 0 490 958 ; +C -1 ; WX 444 ; N ncaron ; B 65 0 379 745 ; +C -1 ; WX 500 ; N Rcaron ; B 63 0 463 958 ; +C -1 ; WX 500 ; N Racute ; B 63 0 463 958 ; +C -1 ; WX 278 ; N rcaron ; B -7 0 287 745 ; +C -1 ; WX 278 ; N racute ; B 69 0 285 744 ; +C -1 ; WX 444 ; N Tcaron ; B 20 0 425 958 ; +C -1 ; WX 270 ; N tcaron ; B 16 -10 277 750 ; +C -1 ; WX 556 ; N Uring ; B 73 -18 483 958 ; +C -1 ; WX 444 ; N uring ; B 60 -14 379 796 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 154 213 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 44 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 111 213 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 340 75 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 55 213 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 28 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 102 75 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 55 214 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 98 75 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -36 214 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 111 213 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 55 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 83 213 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 119 214 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -27 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -8 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 55 213 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 159 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 111 162 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 55 0 ; +EndBuildComposites diff --git a/font/He-CnLiO+ b/font/He-CnLiO+ new file mode 100644 index 0000000..ffd0483 --- /dev/null +++ b/font/He-CnLiO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 116 -18 677 958 ; +C -1 ; WX 389 ; N ccaron ; B 75 -14 518 745 ; +C -1 ; WX 556 ; N Dcaron ; B 72 0 628 958 ; +C -1 ; WX 525 ; N dcaron ; B 84 -14 669 825 ; +C -1 ; WX 444 ; N Ecaron ; B 67 0 572 958 ; +C -1 ; WX 389 ; N ecaron ; B 74 -14 500 745 ; +C -1 ; WX 444 ; N Lcaron ; B 74 0 431 825 ; +C -1 ; WX 444 ; N Lacute ; B 74 0 551 958 ; +C -1 ; WX 303 ; N lcaron ; B 82 0 427 825 ; +C -1 ; WX 222 ; N lacute ; B 82 0 463 958 ; +C -1 ; WX 556 ; N Ncaron ; B 66 0 649 958 ; +C -1 ; WX 444 ; N ncaron ; B 65 0 527 745 ; +C -1 ; WX 500 ; N Rcaron ; B 63 0 600 958 ; +C -1 ; WX 500 ; N Racute ; B 63 0 620 958 ; +C -1 ; WX 278 ; N rcaron ; B 69 0 445 745 ; +C -1 ; WX 278 ; N racute ; B 69 0 446 744 ; +C -1 ; WX 444 ; N Tcaron ; B 167 0 584 958 ; +C -1 ; WX 303 ; N tcaron ; B 80 -10 446 750 ; +C -1 ; WX 556 ; N Uring ; B 107 -18 642 958 ; +C -1 ; WX 444 ; N uring ; B 83 -14 496 796 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 205 213 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 46 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 156 213 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 392 75 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 100 213 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 28 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 154 75 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 100 214 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 150 75 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 12 214 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 156 213 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 55 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 128 213 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 169 214 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -27 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute -5 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 100 213 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 169 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 145 162 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 55 0 ; +EndBuildComposites diff --git a/font/He-CnO+ b/font/He-CnO+ new file mode 100644 index 0000000..e2306a0 --- /dev/null +++ b/font/He-CnO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 106 -18 680 960 ; +C -1 ; WX 444 ; N ccaron ; B 85 -15 551 765 ; +C -1 ; WX 611 ; N Dcaron ; B 82 0 656 960 ; +C -1 ; WX 602 ; N dcaron ; B 88 -15 744 825 ; +C -1 ; WX 500 ; N Ecaron ; B 74 0 608 960 ; +C -1 ; WX 444 ; N ecaron ; B 86 -15 531 765 ; +C -1 ; WX 500 ; N Lcaron ; B 83 0 501 825 ; +C -1 ; WX 500 ; N Lacute ; B 83 0 585 960 ; +C -1 ; WX 324 ; N lcaron ; B 72 0 471 825 ; +C -1 ; WX 222 ; N lacute ; B 72 0 470 960 ; +C -1 ; WX 611 ; N Ncaron ; B 77 0 693 960 ; +C -1 ; WX 500 ; N ncaron ; B 73 0 559 765 ; +C -1 ; WX 611 ; N Rcaron ; B 86 0 656 960 ; +C -1 ; WX 611 ; N Racute ; B 86 0 684 960 ; +C -1 ; WX 333 ; N rcaron ; B 81 0 476 765 ; +C -1 ; WX 333 ; N racute ; B 81 0 484 765 ; +C -1 ; WX 500 ; N Tcaron ; B 158 0 645 960 ; +C -1 ; WX 380 ; N tcaron ; B 101 0 536 750 ; +C -1 ; WX 611 ; N Uring ; B 114 -18 690 960 ; +C -1 ; WX 500 ; N uring ; B 99 -15 542 796 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 204 195 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 180 195 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 427 75 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 124 195 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 184 75 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 124 195 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 154 75 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 9 195 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 180 195 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 180 195 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 223 195 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 23 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 124 195 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 219 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 214 164 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 125 0 ; +EndBuildComposites diff --git a/font/He-ExtC+ b/font/He-ExtC+ new file mode 100644 index 0000000..f3610ca --- /dev/null +++ b/font/He-ExtC+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 370 ; N Ccaron ; B 19 -14 365 912 ; +C -1 ; WX 333 ; N ccaron ; B 17 -7 329 755 ; +C -1 ; WX 370 ; N Dcaron ; B 19 0 351 912 ; +C -1 ; WX 437 ; N dcaron ; B 17 -7 480 783 ; +C -1 ; WX 296 ; N Ecaron ; B 6 0 295 912 ; +C -1 ; WX 333 ; N ecaron ; B 17 -7 316 755 ; +C -1 ; WX 296 ; N Lcaron ; B 19 0 336 783 ; +C -1 ; WX 296 ; N Lacute ; B 19 0 297 912 ; +C -1 ; WX 271 ; N lcaron ; B 20 0 311 783 ; +C -1 ; WX 167 ; N lacute ; B 20 0 252 912 ; +C -1 ; WX 426 ; N Ncaron ; B 23 0 403 912 ; +C -1 ; WX 333 ; N ncaron ; B 17 0 316 755 ; +C -1 ; WX 370 ; N Rcaron ; B 19 0 372 912 ; +C -1 ; WX 370 ; N Racute ; B 19 0 372 912 ; +C -1 ; WX 333 ; N rcaron ; B 17 0 316 755 ; +C -1 ; WX 333 ; N racute ; B 17 0 335 755 ; +C -1 ; WX 333 ; N Tcaron ; B 1 0 332 912 ; +C -1 ; WX 308 ; N tcaron ; B 3 0 365 712 ; +C -1 ; WX 370 ; N Uring ; B 19 -14 351 912 ; +C -1 ; WX 333 ; N uring ; B 17 -7 316 822 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 134 157 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 98 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 101 157 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 322 71 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 64 157 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 178 71 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 64 157 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 153 71 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 19 157 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 129 157 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 101 157 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 137 157 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 83 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 102 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 83 157 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 207 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 101 90 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/font/He-Lt+ b/font/He-Lt+ new file mode 100644 index 0000000..49e014c --- /dev/null +++ b/font/He-Lt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 48 -19 670 925 ; +C -1 ; WX 556 ; N ccaron ; B 47 -14 508 713 ; +C -1 ; WX 722 ; N Dcaron ; B 81 0 669 925 ; +C -1 ; WX 662 ; N dcaron ; B 56 -14 612 792 ; +C -1 ; WX 611 ; N Ecaron ; B 81 0 570 925 ; +C -1 ; WX 556 ; N ecaron ; B 45 -14 511 713 ; +C -1 ; WX 556 ; N Lcaron ; B 81 0 535 792 ; +C -1 ; WX 556 ; N Lacute ; B 81 0 535 925 ; +C -1 ; WX 273 ; N lcaron ; B 81 0 221 792 ; +C -1 ; WX 222 ; N lacute ; B 73 0 261 925 ; +C -1 ; WX 722 ; N Ncaron ; B 79 0 642 925 ; +C -1 ; WX 556 ; N ncaron ; B 72 0 483 713 ; +C -1 ; WX 667 ; N Rcaron ; B 80 0 612 925 ; +C -1 ; WX 667 ; N Racute ; B 80 0 612 925 ; +C -1 ; WX 333 ; N rcaron ; B 24 0 318 713 ; +C -1 ; WX 333 ; N racute ; B 75 0 316 713 ; +C -1 ; WX 556 ; N Tcaron ; B 16 0 540 925 ; +C -1 ; WX 329 ; N tcaron ; B 20 -14 334 720 ; +C -1 ; WX 722 ; N Uring ; B 82 -19 640 925 ; +C -1 ; WX 556 ; N uring ; B 72 -14 483 777 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 256 212 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 134 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 212 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 459 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 212 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 100 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 111 212 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 68 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -36 212 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 212 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 167 212 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 203 212 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 19 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 111 212 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 181 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 148 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/He-LtO+ b/font/He-LtO+ new file mode 100644 index 0000000..49c6ac2 --- /dev/null +++ b/font/He-LtO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 111 -19 775 925 ; +C -1 ; WX 556 ; N ccaron ; B 92 -14 605 713 ; +C -1 ; WX 722 ; N Dcaron ; B 81 0 758 925 ; +C -1 ; WX 696 ; N dcaron ; B 101 -14 818 792 ; +C -1 ; WX 611 ; N Ecaron ; B 81 0 713 925 ; +C -1 ; WX 556 ; N ecaron ; B 90 -14 581 713 ; +C -1 ; WX 556 ; N Lcaron ; B 81 0 547 792 ; +C -1 ; WX 556 ; N Lacute ; B 81 0 605 925 ; +C -1 ; WX 307 ; N lcaron ; B 81 0 427 792 ; +C -1 ; WX 222 ; N lacute ; B 81 0 461 925 ; +C -1 ; WX 722 ; N Ncaron ; B 79 0 795 925 ; +C -1 ; WX 556 ; N ncaron ; B 72 0 581 713 ; +C -1 ; WX 667 ; N Rcaron ; B 80 0 726 925 ; +C -1 ; WX 667 ; N Racute ; B 80 0 726 925 ; +C -1 ; WX 333 ; N rcaron ; B 75 0 470 713 ; +C -1 ; WX 333 ; N racute ; B 75 0 471 713 ; +C -1 ; WX 556 ; N Tcaron ; B 157 0 693 925 ; +C -1 ; WX 363 ; N tcaron ; B 108 -14 493 720 ; +C -1 ; WX 722 ; N Uring ; B 129 -19 793 925 ; +C -1 ; WX 556 ; N uring ; B 103 -14 593 777 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 305 212 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 135 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 239 212 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 512 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 184 212 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 153 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 156 212 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 121 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 12 212 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 239 212 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 212 212 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 253 212 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 22 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 156 212 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 187 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 225 148 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/He-Nr+ b/font/He-Nr+ new file mode 100644 index 0000000..5a34333 --- /dev/null +++ b/font/He-Nr+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 592 ; N Ccaron ; B 36 -19 558 925 ; +C -1 ; WX 410 ; N ccaron ; B 25 -15 391 734 ; +C -1 ; WX 592 ; N Dcaron ; B 66 0 553 925 ; +C -1 ; WX 516 ; N dcaron ; B 29 -15 504 790 ; +C -1 ; WX 547 ; N Ecaron ; B 71 0 505 925 ; +C -1 ; WX 456 ; N ecaron ; B 33 -15 423 734 ; +C -1 ; WX 456 ; N Lcaron ; B 62 0 440 790 ; +C -1 ; WX 456 ; N Lacute ; B 62 0 440 925 ; +C -1 ; WX 242 ; N lcaron ; B 55 0 222 790 ; +C -1 ; WX 182 ; N lacute ; B 55 0 233 925 ; +C -1 ; WX 592 ; N Ncaron ; B 62 0 530 925 ; +C -1 ; WX 456 ; N ncaron ; B 53 0 403 734 ; +C -1 ; WX 592 ; N Rcaron ; B 72 0 561 925 ; +C -1 ; WX 592 ; N Racute ; B 72 0 561 925 ; +C -1 ; WX 273 ; N rcaron ; B 17 0 272 734 ; +C -1 ; WX 273 ; N racute ; B 63 0 278 734 ; +C -1 ; WX 501 ; N Tcaron ; B 11 0 490 925 ; +C -1 ; WX 288 ; N tcaron ; B 11 -7 306 718 ; +C -1 ; WX 592 ; N Uring ; B 65 -19 528 925 ; +C -1 ; WX 456 ; N uring ; B 56 -15 401 756 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 211 191 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 86 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 159 191 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 375 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 137 191 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 91 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 120 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 91 191 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 93 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -29 191 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 159 191 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 91 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 159 191 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 190 191 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 16 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 114 191 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 177 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 159 169 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 91 0 ; +EndBuildComposites diff --git a/font/He-NrBd+ b/font/He-NrBd+ new file mode 100644 index 0000000..41f7f8e --- /dev/null +++ b/font/He-NrBd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 592 ; N Ccaron ; B 36 -19 561 930 ; +C -1 ; WX 456 ; N ccaron ; B 28 -14 430 750 ; +C -1 ; WX 592 ; N Dcaron ; B 62 0 562 930 ; +C -1 ; WX 581 ; N dcaron ; B 28 -14 577 790 ; +C -1 ; WX 547 ; N Ecaron ; B 62 0 509 930 ; +C -1 ; WX 456 ; N ecaron ; B 19 -14 433 750 ; +C -1 ; WX 501 ; N Lcaron ; B 62 0 478 790 ; +C -1 ; WX 501 ; N Lacute ; B 62 0 478 930 ; +C -1 ; WX 308 ; N lcaron ; B 57 0 296 790 ; +C -1 ; WX 228 ; N lacute ; B 57 0 290 930 ; +C -1 ; WX 592 ; N Ncaron ; B 57 0 536 930 ; +C -1 ; WX 501 ; N ncaron ; B 53 0 448 750 ; +C -1 ; WX 592 ; N Rcaron ; B 62 0 555 930 ; +C -1 ; WX 592 ; N Racute ; B 62 0 555 930 ; +C -1 ; WX 319 ; N rcaron ; B 15 0 306 750 ; +C -1 ; WX 319 ; N racute ; B 52 0 335 750 ; +C -1 ; WX 501 ; N Tcaron ; B 11 0 490 930 ; +C -1 ; WX 353 ; N tcaron ; B 8 -6 378 718 ; +C -1 ; WX 592 ; N Uring ; B 59 -19 534 930 ; +C -1 ; WX 501 ; N uring ; B 54 -14 447 776 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 212 180 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 111 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 159 180 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 406 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 137 180 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 91 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 129 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 114 180 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 125 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -2 180 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 159 180 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 114 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 159 180 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 198 180 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 23 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 43 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 114 180 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 207 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 159 154 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 114 0 ; +EndBuildComposites diff --git a/font/He-NrBdO+ b/font/He-NrBdO+ new file mode 100644 index 0000000..12e78ce --- /dev/null +++ b/font/He-NrBdO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 592 ; N Ccaron ; B 88 -19 665 930 ; +C -1 ; WX 456 ; N ccaron ; B 65 -14 524 750 ; +C -1 ; WX 592 ; N Dcaron ; B 62 0 637 930 ; +C -1 ; WX 613 ; N dcaron ; B 67 -14 753 790 ; +C -1 ; WX 547 ; N Ecaron ; B 62 0 620 930 ; +C -1 ; WX 456 ; N ecaron ; B 58 -14 503 750 ; +C -1 ; WX 501 ; N Lcaron ; B 62 0 501 790 ; +C -1 ; WX 501 ; N Lacute ; B 62 0 575 930 ; +C -1 ; WX 340 ; N lcaron ; B 57 0 473 790 ; +C -1 ; WX 228 ; N lacute ; B 57 0 462 930 ; +C -1 ; WX 592 ; N Ncaron ; B 57 0 661 930 ; +C -1 ; WX 501 ; N ncaron ; B 53 0 526 750 ; +C -1 ; WX 592 ; N Rcaron ; B 62 0 638 930 ; +C -1 ; WX 592 ; N Racute ; B 62 0 664 930 ; +C -1 ; WX 319 ; N rcaron ; B 52 0 435 750 ; +C -1 ; WX 319 ; N racute ; B 52 0 469 750 ; +C -1 ; WX 501 ; N Tcaron ; B 114 0 615 930 ; +C -1 ; WX 385 ; N tcaron ; B 82 -6 522 718 ; +C -1 ; WX 592 ; N Uring ; B 96 -19 659 930 ; +C -1 ; WX 501 ; N uring ; B 80 -14 540 776 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 253 180 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 112 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 197 180 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 456 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 175 180 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 91 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 180 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 152 180 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 176 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 39 180 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 197 180 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 114 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 197 180 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 241 180 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 23 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 46 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 152 180 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 225 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 191 154 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 114 0 ; +EndBuildComposites diff --git a/font/He-NrO+ b/font/He-NrO+ new file mode 100644 index 0000000..3695c9b --- /dev/null +++ b/font/He-NrO+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 592 ; N Ccaron ; B 88 -19 640 925 ; +C -1 ; WX 410 ; N ccaron ; B 61 -15 472 734 ; +C -1 ; WX 592 ; N Dcaron ; B 66 0 626 925 ; +C -1 ; WX 547 ; N dcaron ; B 69 -15 677 790 ; +C -1 ; WX 547 ; N Ecaron ; B 71 0 625 925 ; +C -1 ; WX 456 ; N ecaron ; B 69 -15 475 734 ; +C -1 ; WX 456 ; N Lcaron ; B 62 0 455 790 ; +C -1 ; WX 456 ; N Lacute ; B 62 0 521 925 ; +C -1 ; WX 273 ; N lcaron ; B 55 0 395 790 ; +C -1 ; WX 182 ; N lacute ; B 55 0 404 925 ; +C -1 ; WX 592 ; N Ncaron ; B 62 0 655 925 ; +C -1 ; WX 456 ; N ncaron ; B 53 0 475 734 ; +C -1 ; WX 592 ; N Rcaron ; B 72 0 634 925 ; +C -1 ; WX 592 ; N Racute ; B 72 0 634 925 ; +C -1 ; WX 273 ; N rcaron ; B 63 0 384 734 ; +C -1 ; WX 273 ; N racute ; B 63 0 409 734 ; +C -1 ; WX 501 ; N Tcaron ; B 122 0 615 925 ; +C -1 ; WX 319 ; N tcaron ; B 84 -7 445 718 ; +C -1 ; WX 592 ; N Uring ; B 101 -19 653 925 ; +C -1 ; WX 456 ; N uring ; B 77 -15 492 756 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 254 191 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 88 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 199 191 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 423 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 177 191 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 91 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 168 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 131 191 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 141 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 14 191 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 199 191 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 91 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 199 191 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 235 191 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 19 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 154 191 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 191 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 169 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 91 0 ; +EndBuildComposites diff --git a/font/He-O+ b/font/He-O+ new file mode 100644 index 0000000..ca1a52a --- /dev/null +++ b/font/He-O+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 108 -19 782 925 ; +C -1 ; WX 500 ; N ccaron ; B 74 -15 575 734 ; +C -1 ; WX 722 ; N Dcaron ; B 81 0 764 925 ; +C -1 ; WX 667 ; N dcaron ; B 84 -15 827 790 ; +C -1 ; WX 667 ; N Ecaron ; B 86 0 762 925 ; +C -1 ; WX 556 ; N ecaron ; B 84 -15 579 734 ; +C -1 ; WX 556 ; N Lcaron ; B 76 0 555 790 ; +C -1 ; WX 556 ; N Lacute ; B 76 0 626 925 ; +C -1 ; WX 333 ; N lcaron ; B 67 0 483 790 ; +C -1 ; WX 222 ; N lacute ; B 67 0 483 925 ; +C -1 ; WX 722 ; N Ncaron ; B 76 0 799 925 ; +C -1 ; WX 556 ; N ncaron ; B 65 0 579 734 ; +C -1 ; WX 722 ; N Rcaron ; B 88 0 773 925 ; +C -1 ; WX 722 ; N Racute ; B 88 0 773 925 ; +C -1 ; WX 333 ; N rcaron ; B 77 0 468 734 ; +C -1 ; WX 333 ; N racute ; B 77 0 498 734 ; +C -1 ; WX 611 ; N Tcaron ; B 148 0 750 925 ; +C -1 ; WX 389 ; N tcaron ; B 102 -7 543 718 ; +C -1 ; WX 722 ; N Uring ; B 123 -19 797 925 ; +C -1 ; WX 556 ; N uring ; B 94 -15 600 756 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 301 191 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 107 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 234 191 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 517 72 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 207 191 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 206 72 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 151 191 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 173 72 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 8 191 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 234 191 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 234 191 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 277 191 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 23 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 179 191 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 233 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 229 169 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/He-UlCm+ b/font/He-UlCm+ new file mode 100644 index 0000000..ad55e63 --- /dev/null +++ b/font/He-UlCm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 333 ; N Ccaron ; B 28 -14 321 948 ; +C -1 ; WX 278 ; N ccaron ; B 20 -7 278 804 ; +C -1 ; WX 333 ; N Dcaron ; B 28 0 305 948 ; +C -1 ; WX 366 ; N dcaron ; B 20 -7 397 783 ; +C -1 ; WX 278 ; N Ecaron ; B 12 0 269 948 ; +C -1 ; WX 278 ; N ecaron ; B 12 -7 266 804 ; +C -1 ; WX 278 ; N Lcaron ; B 31 0 275 783 ; +C -1 ; WX 278 ; N Lacute ; B 31 0 272 948 ; +C -1 ; WX 236 ; N lcaron ; B 26 0 261 783 ; +C -1 ; WX 148 ; N lacute ; B 26 0 218 948 ; +C -1 ; WX 389 ; N Ncaron ; B 31 0 358 948 ; +C -1 ; WX 278 ; N ncaron ; B 12 0 266 804 ; +C -1 ; WX 333 ; N Rcaron ; B 28 0 318 948 ; +C -1 ; WX 333 ; N Racute ; B 28 0 327 948 ; +C -1 ; WX 278 ; N rcaron ; B 12 0 266 804 ; +C -1 ; WX 278 ; N racute ; B 20 0 283 804 ; +C -1 ; WX 315 ; N Tcaron ; B 12 0 303 948 ; +C -1 ; WX 255 ; N tcaron ; B 6 0 300 712 ; +C -1 ; WX 333 ; N Uring ; B 28 -14 305 948 ; +C -1 ; WX 278 ; N uring ; B 20 -7 258 796 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 120 144 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 77 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 92 144 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 243 71 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 65 144 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 65 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 121 71 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 65 144 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 107 71 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 19 144 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 120 144 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 65 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 92 144 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 128 144 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 65 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 84 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 83 144 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 146 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 92 152 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 65 0 ; +EndBuildComposites diff --git a/font/NCS-Bd+ b/font/NCS-Bd+ new file mode 100644 index 0000000..d5e3a42 --- /dev/null +++ b/font/NCS-Bd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 778 ; N Ccaron ; B 39 -15 723 966 ; +C -1 ; WX 556 ; N ccaron ; B 32 -15 524 725 ; +C -1 ; WX 833 ; N Dcaron ; B 19 0 794 966 ; +C -1 ; WX 806 ; N dcaron ; B 32 -15 862 811 ; +C -1 ; WX 759 ; N Ecaron ; B 19 0 708 966 ; +C -1 ; WX 574 ; N ecaron ; B 32 -15 542 725 ; +C -1 ; WX 722 ; N Lcaron ; B 19 0 703 794 ; +C -1 ; WX 722 ; N Lacute ; B 19 0 703 978 ; +C -1 ; WX 491 ; N lcaron ; B 17 0 547 811 ; +C -1 ; WX 352 ; N lacute ; B 17 0 365 978 ; +C -1 ; WX 833 ; N Ncaron ; B 5 -10 828 966 ; +C -1 ; WX 685 ; N ncaron ; B 17 0 662 725 ; +C -1 ; WX 815 ; N Rcaron ; B 19 -15 815 966 ; +C -1 ; WX 815 ; N Racute ; B 19 -15 815 978 ; +C -1 ; WX 519 ; N rcaron ; B 17 0 516 725 ; +C -1 ; WX 519 ; N racute ; B 17 0 516 737 ; +C -1 ; WX 722 ; N Tcaron ; B 16 0 706 966 ; +C -1 ; WX 565 ; N tcaron ; B 21 -15 623 737 ; +C -1 ; WX 833 ; N Uring ; B 14 -15 825 966 ; +C -1 ; WX 685 ; N uring ; B 17 -15 668 761 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 290 241 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 136 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 250 241 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 642 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 213 241 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 120 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 413 57 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 194 241 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 327 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 34 241 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 250 241 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 176 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 241 241 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 288 241 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 93 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 118 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 194 241 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 403 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 250 205 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 176 0 ; +EndBuildComposites diff --git a/font/NCS-BdIt+ b/font/NCS-BdIt+ new file mode 100644 index 0000000..bb4b48c --- /dev/null +++ b/font/NCS-BdIt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 759 ; N Ccaron ; B 37 -15 761 962 ; +C -1 ; WX 537 ; N ccaron ; B 0 -15 529 705 ; +C -1 ; WX 833 ; N Dcaron ; B -47 0 796 962 ; +C -1 ; WX 826 ; N dcaron ; B 0 -15 910 811 ; +C -1 ; WX 741 ; N Ecaron ; B -41 0 730 962 ; +C -1 ; WX 519 ; N ecaron ; B 0 -15 496 705 ; +C -1 ; WX 704 ; N Lcaron ; B -41 0 735 794 ; +C -1 ; WX 704 ; N Lacute ; B -41 0 670 972 ; +C -1 ; WX 548 ; N lcaron ; B 32 -15 625 811 ; +C -1 ; WX 389 ; N lacute ; B 32 -15 496 972 ; +C -1 ; WX 852 ; N Ncaron ; B -61 -10 913 962 ; +C -1 ; WX 685 ; N ncaron ; B 0 -15 639 705 ; +C -1 ; WX 796 ; N Rcaron ; B -41 -15 749 962 ; +C -1 ; WX 796 ; N Racute ; B -41 -15 749 972 ; +C -1 ; WX 519 ; N rcaron ; B 0 0 527 705 ; +C -1 ; WX 519 ; N racute ; B 0 0 527 722 ; +C -1 ; WX 722 ; N Tcaron ; B 41 0 759 962 ; +C -1 ; WX 566 ; N tcaron ; B 24 -15 653 737 ; +C -1 ; WX 833 ; N Uring ; B 88 -15 900 962 ; +C -1 ; WX 685 ; N uring ; B 30 -15 635 746 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 358 257 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 126 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 323 257 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 635 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 277 257 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 93 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 460 57 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 256 250 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 350 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 124 250 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 332 257 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 176 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 304 257 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 349 250 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 93 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 118 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 267 257 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 378 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 311 216 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 176 0 ; +EndBuildComposites diff --git a/font/NCS-It+ b/font/NCS-It+ new file mode 100644 index 0000000..48d6672 --- /dev/null +++ b/font/NCS-It+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 40 -15 716 960 ; +C -1 ; WX 444 ; N ccaron ; B 2 -15 453 690 ; +C -1 ; WX 778 ; N Dcaron ; B -33 0 738 960 ; +C -1 ; WX 744 ; N dcaron ; B 2 -15 794 811 ; +C -1 ; WX 722 ; N Ecaron ; B -33 0 700 960 ; +C -1 ; WX 444 ; N ecaron ; B -6 -15 433 690 ; +C -1 ; WX 667 ; N Lcaron ; B -33 0 644 794 ; +C -1 ; WX 667 ; N Lacute ; B -33 0 627 960 ; +C -1 ; WX 466 ; N lcaron ; B 14 -15 501 811 ; +C -1 ; WX 333 ; N lacute ; B 14 -15 454 960 ; +C -1 ; WX 815 ; N Ncaron ; B -51 -15 866 960 ; +C -1 ; WX 611 ; N ncaron ; B 14 -15 562 690 ; +C -1 ; WX 741 ; N Rcaron ; B -45 -15 692 960 ; +C -1 ; WX 741 ; N Racute ; B -45 -15 692 960 ; +C -1 ; WX 444 ; N rcaron ; B 10 0 434 690 ; +C -1 ; WX 444 ; N racute ; B 10 0 434 690 ; +C -1 ; WX 685 ; N Tcaron ; B 40 0 725 960 ; +C -1 ; WX 485 ; N tcaron ; B 24 -15 537 737 ; +C -1 ; WX 815 ; N Uring ; B 93 -15 867 960 ; +C -1 ; WX 611 ; N uring ; B 44 -15 556 712 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 338 270 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 299 270 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 565 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 271 270 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 415 57 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 244 270 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 272 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 99 270 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 318 270 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 281 270 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 323 270 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 77 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 253 270 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 308 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 312 248 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/NCS-Rm+ b/font/NCS-Rm+ new file mode 100644 index 0000000..257ffff --- /dev/null +++ b/font/NCS-Rm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 45 -15 668 955 ; +C -1 ; WX 444 ; N ccaron ; B 34 -15 426 695 ; +C -1 ; WX 778 ; N Dcaron ; B 29 0 733 955 ; +C -1 ; WX 682 ; N dcaron ; B 34 -15 721 811 ; +C -1 ; WX 722 ; N Ecaron ; B 29 0 663 955 ; +C -1 ; WX 500 ; N ecaron ; B 34 -15 466 695 ; +C -1 ; WX 667 ; N Lcaron ; B 29 0 644 794 ; +C -1 ; WX 667 ; N Lacute ; B 29 0 644 959 ; +C -1 ; WX 423 ; N lcaron ; B 18 0 455 811 ; +C -1 ; WX 315 ; N lacute ; B 18 0 330 959 ; +C -1 ; WX 815 ; N Ncaron ; B 24 -15 791 955 ; +C -1 ; WX 611 ; N ncaron ; B 22 0 589 695 ; +C -1 ; WX 722 ; N Rcaron ; B 29 -15 713 955 ; +C -1 ; WX 722 ; N Racute ; B 29 -15 713 959 ; +C -1 ; WX 444 ; N rcaron ; B 18 0 434 695 ; +C -1 ; WX 444 ; N racute ; B 18 0 434 699 ; +C -1 ; WX 667 ; N Tcaron ; B 19 0 648 955 ; +C -1 ; WX 497 ; N tcaron ; B 18 -15 540 737 ; +C -1 ; WX 815 ; N Uring ; B 16 -15 799 955 ; +C -1 ; WX 611 ; N uring ; B 22 -15 589 722 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 256 260 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 222 260 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 542 74 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 194 260 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 359 57 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 167 260 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 276 74 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 14 260 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 241 260 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 194 260 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 237 260 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 78 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 167 260 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 361 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 241 233 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/Pa-Bd+ b/font/Pa-Bd+ new file mode 100644 index 0000000..985d761 --- /dev/null +++ b/font/Pa-Bd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 44 -17 695 918 ; +C -1 ; WX 444 ; N ccaron ; B 37 -17 414 685 ; +C -1 ; WX 833 ; N Dcaron ; B 35 -3 786 918 ; +C -1 ; WX 765 ; N dcaron ; B 42 -17 819 792 ; +C -1 ; WX 611 ; N Ecaron ; B 39 -4 577 918 ; +C -1 ; WX 500 ; N ecaron ; B 42 -17 461 685 ; +C -1 ; WX 611 ; N Lcaron ; B 39 -4 592 749 ; +C -1 ; WX 611 ; N Lacute ; B 39 -4 577 928 ; +C -1 ; WX 487 ; N lcaron ; B 24 -3 538 792 ; +C -1 ; WX 333 ; N lacute ; B 24 -3 340 928 ; +C -1 ; WX 833 ; N Ncaron ; B 35 -16 798 918 ; +C -1 ; WX 611 ; N ncaron ; B 24 -3 587 685 ; +C -1 ; WX 722 ; N Rcaron ; B 39 -3 708 918 ; +C -1 ; WX 722 ; N Racute ; B 39 -3 708 928 ; +C -1 ; WX 389 ; N rcaron ; B 26 -3 389 685 ; +C -1 ; WX 389 ; N racute ; B 30 -3 389 691 ; +C -1 ; WX 667 ; N Tcaron ; B 17 -3 650 918 ; +C -1 ; WX 487 ; N tcaron ; B 22 -17 566 695 ; +C -1 ; WX 778 ; N Uring ; B 26 -17 760 918 ; +C -1 ; WX 611 ; N uring ; B 25 -17 583 700 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 259 233 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 74 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 250 233 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 570 97 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 233 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 343 54 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 237 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 289 97 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 24 237 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 250 233 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 194 233 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 239 237 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 52 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 167 233 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 317 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 222 218 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/Pa-BdF+ b/font/Pa-BdF+ new file mode 100644 index 0000000..985d761 --- /dev/null +++ b/font/Pa-BdF+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 44 -17 695 918 ; +C -1 ; WX 444 ; N ccaron ; B 37 -17 414 685 ; +C -1 ; WX 833 ; N Dcaron ; B 35 -3 786 918 ; +C -1 ; WX 765 ; N dcaron ; B 42 -17 819 792 ; +C -1 ; WX 611 ; N Ecaron ; B 39 -4 577 918 ; +C -1 ; WX 500 ; N ecaron ; B 42 -17 461 685 ; +C -1 ; WX 611 ; N Lcaron ; B 39 -4 592 749 ; +C -1 ; WX 611 ; N Lacute ; B 39 -4 577 928 ; +C -1 ; WX 487 ; N lcaron ; B 24 -3 538 792 ; +C -1 ; WX 333 ; N lacute ; B 24 -3 340 928 ; +C -1 ; WX 833 ; N Ncaron ; B 35 -16 798 918 ; +C -1 ; WX 611 ; N ncaron ; B 24 -3 587 685 ; +C -1 ; WX 722 ; N Rcaron ; B 39 -3 708 918 ; +C -1 ; WX 722 ; N Racute ; B 39 -3 708 928 ; +C -1 ; WX 389 ; N rcaron ; B 26 -3 389 685 ; +C -1 ; WX 389 ; N racute ; B 30 -3 389 691 ; +C -1 ; WX 667 ; N Tcaron ; B 17 -3 650 918 ; +C -1 ; WX 487 ; N tcaron ; B 22 -17 566 695 ; +C -1 ; WX 778 ; N Uring ; B 26 -17 760 918 ; +C -1 ; WX 611 ; N uring ; B 25 -17 583 700 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 259 233 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 74 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 250 233 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 570 97 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 233 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 343 54 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 237 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 289 97 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 24 237 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 250 233 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 194 233 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 239 237 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 52 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 167 233 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 317 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 222 218 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/Pa-BdIt+ b/font/Pa-BdIt+ new file mode 100644 index 0000000..62fe140 --- /dev/null +++ b/font/Pa-BdIt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 685 ; N Ccaron ; B 69 -17 725 917 ; +C -1 ; WX 444 ; N ccaron ; B 32 -17 520 684 ; +C -1 ; WX 778 ; N Dcaron ; B 0 -3 747 917 ; +C -1 ; WX 714 ; N dcaron ; B 38 -17 799 799 ; +C -1 ; WX 611 ; N Ecaron ; B 11 -3 625 917 ; +C -1 ; WX 444 ; N ecaron ; B 28 -17 500 684 ; +C -1 ; WX 611 ; N Lcaron ; B 26 -3 661 749 ; +C -1 ; WX 611 ; N Lacute ; B 26 -3 578 924 ; +C -1 ; WX 491 ; N lcaron ; B 64 -17 567 799 ; +C -1 ; WX 333 ; N lacute ; B 64 -17 455 924 ; +C -1 ; WX 778 ; N Ncaron ; B -2 -3 829 917 ; +C -1 ; WX 556 ; N ncaron ; B 17 -17 556 684 ; +C -1 ; WX 722 ; N Rcaron ; B 4 -3 697 917 ; +C -1 ; WX 722 ; N Racute ; B 4 -3 697 924 ; +C -1 ; WX 389 ; N rcaron ; B 20 -17 473 684 ; +C -1 ; WX 389 ; N racute ; B 20 -17 444 699 ; +C -1 ; WX 611 ; N Tcaron ; B 56 -3 674 917 ; +C -1 ; WX 547 ; N tcaron ; B 42 -17 658 720 ; +C -1 ; WX 778 ; N Uring ; B 83 -17 825 917 ; +C -1 ; WX 556 ; N uring ; B 22 -17 521 714 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 280 233 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 263 233 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 497 79 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 180 233 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 359 29 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 178 225 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 265 79 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 63 225 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 263 233 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 235 233 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 278 225 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 52 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 180 233 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 356 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 146 203 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 0 0 ; +EndBuildComposites diff --git a/font/Pa-BdItF+ b/font/Pa-BdItF+ new file mode 100644 index 0000000..62fe140 --- /dev/null +++ b/font/Pa-BdItF+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 685 ; N Ccaron ; B 69 -17 725 917 ; +C -1 ; WX 444 ; N ccaron ; B 32 -17 520 684 ; +C -1 ; WX 778 ; N Dcaron ; B 0 -3 747 917 ; +C -1 ; WX 714 ; N dcaron ; B 38 -17 799 799 ; +C -1 ; WX 611 ; N Ecaron ; B 11 -3 625 917 ; +C -1 ; WX 444 ; N ecaron ; B 28 -17 500 684 ; +C -1 ; WX 611 ; N Lcaron ; B 26 -3 661 749 ; +C -1 ; WX 611 ; N Lacute ; B 26 -3 578 924 ; +C -1 ; WX 491 ; N lcaron ; B 64 -17 567 799 ; +C -1 ; WX 333 ; N lacute ; B 64 -17 455 924 ; +C -1 ; WX 778 ; N Ncaron ; B -2 -3 829 917 ; +C -1 ; WX 556 ; N ncaron ; B 17 -17 556 684 ; +C -1 ; WX 722 ; N Rcaron ; B 4 -3 697 917 ; +C -1 ; WX 722 ; N Racute ; B 4 -3 697 924 ; +C -1 ; WX 389 ; N rcaron ; B 20 -17 473 684 ; +C -1 ; WX 389 ; N racute ; B 20 -17 444 699 ; +C -1 ; WX 611 ; N Tcaron ; B 56 -3 674 917 ; +C -1 ; WX 547 ; N tcaron ; B 42 -17 658 720 ; +C -1 ; WX 778 ; N Uring ; B 83 -17 825 917 ; +C -1 ; WX 556 ; N uring ; B 22 -17 521 714 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 280 233 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 263 233 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 497 79 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 180 233 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 359 29 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 178 225 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 265 79 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 63 225 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 263 233 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 235 233 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 278 225 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 52 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 180 233 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 356 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 146 203 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 0 0 ; +EndBuildComposites diff --git a/font/Pa-It+ b/font/Pa-It+ new file mode 100644 index 0000000..b98042e --- /dev/null +++ b/font/Pa-It+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 667 ; N Ccaron ; B 45 -18 680 924 ; +C -1 ; WX 407 ; N ccaron ; B 25 -11 464 679 ; +C -1 ; WX 778 ; N Dcaron ; B 28 -3 741 924 ; +C -1 ; WX 626 ; N dcaron ; B 17 -11 681 806 ; +C -1 ; WX 611 ; N Ecaron ; B 30 -3 591 924 ; +C -1 ; WX 389 ; N ecaron ; B 15 -11 437 679 ; +C -1 ; WX 556 ; N Lcaron ; B 16 -3 552 761 ; +C -1 ; WX 556 ; N Lacute ; B 16 -3 523 924 ; +C -1 ; WX 404 ; N lcaron ; B 36 -9 449 806 ; +C -1 ; WX 278 ; N lacute ; B 36 -9 382 924 ; +C -1 ; WX 778 ; N Ncaron ; B 2 -11 804 924 ; +C -1 ; WX 556 ; N ncaron ; B 24 -9 520 679 ; +C -1 ; WX 667 ; N Rcaron ; B 9 -3 639 924 ; +C -1 ; WX 667 ; N Racute ; B 9 -3 639 924 ; +C -1 ; WX 389 ; N rcaron ; B 26 -9 437 679 ; +C -1 ; WX 389 ; N racute ; B 26 -9 396 687 ; +C -1 ; WX 611 ; N Tcaron ; B 53 -3 635 924 ; +C -1 ; WX 459 ; N tcaron ; B 41 -9 508 733 ; +C -1 ; WX 778 ; N Uring ; B 88 -18 798 924 ; +C -1 ; WX 556 ; N uring ; B 32 -11 512 708 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 271 245 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 55 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 265 245 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 423 73 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 182 245 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 28 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 294 28 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 152 237 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 191 73 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 36 237 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 265 245 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 210 245 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 251 237 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 50 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 182 245 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 250 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 260 216 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/Pa-ItF+ b/font/Pa-ItF+ new file mode 100644 index 0000000..b98042e --- /dev/null +++ b/font/Pa-ItF+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 667 ; N Ccaron ; B 45 -18 680 924 ; +C -1 ; WX 407 ; N ccaron ; B 25 -11 464 679 ; +C -1 ; WX 778 ; N Dcaron ; B 28 -3 741 924 ; +C -1 ; WX 626 ; N dcaron ; B 17 -11 681 806 ; +C -1 ; WX 611 ; N Ecaron ; B 30 -3 591 924 ; +C -1 ; WX 389 ; N ecaron ; B 15 -11 437 679 ; +C -1 ; WX 556 ; N Lcaron ; B 16 -3 552 761 ; +C -1 ; WX 556 ; N Lacute ; B 16 -3 523 924 ; +C -1 ; WX 404 ; N lcaron ; B 36 -9 449 806 ; +C -1 ; WX 278 ; N lacute ; B 36 -9 382 924 ; +C -1 ; WX 778 ; N Ncaron ; B 2 -11 804 924 ; +C -1 ; WX 556 ; N ncaron ; B 24 -9 520 679 ; +C -1 ; WX 667 ; N Rcaron ; B 9 -3 639 924 ; +C -1 ; WX 667 ; N Racute ; B 9 -3 639 924 ; +C -1 ; WX 389 ; N rcaron ; B 26 -9 437 679 ; +C -1 ; WX 389 ; N racute ; B 26 -9 396 687 ; +C -1 ; WX 611 ; N Tcaron ; B 53 -3 635 924 ; +C -1 ; WX 459 ; N tcaron ; B 41 -9 508 733 ; +C -1 ; WX 778 ; N Uring ; B 88 -18 798 924 ; +C -1 ; WX 556 ; N uring ; B 32 -11 512 708 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 271 245 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 55 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 265 245 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 423 73 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 182 245 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 28 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 294 28 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 152 237 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 191 73 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 36 237 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 265 245 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 210 245 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 251 237 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 50 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 182 245 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 250 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 260 216 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/Pa-Rm+ b/font/Pa-Rm+ new file mode 100644 index 0000000..b50adb9 --- /dev/null +++ b/font/Pa-Rm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 709 ; N Ccaron ; B 22 -20 670 922 ; +C -1 ; WX 444 ; N ccaron ; B 26 -20 413 677 ; +C -1 ; WX 774 ; N Dcaron ; B 22 -3 751 922 ; +C -1 ; WX 743 ; N dcaron ; B 35 -12 786 799 ; +C -1 ; WX 611 ; N Ecaron ; B 22 -3 572 922 ; +C -1 ; WX 479 ; N ecaron ; B 26 -20 448 677 ; +C -1 ; WX 611 ; N Lcaron ; B 22 -3 586 761 ; +C -1 ; WX 611 ; N Lacute ; B 22 -3 586 926 ; +C -1 ; WX 423 ; N lcaron ; B 21 -3 478 799 ; +C -1 ; WX 291 ; N lacute ; B 21 -3 303 926 ; +C -1 ; WX 831 ; N Ncaron ; B 17 -20 813 922 ; +C -1 ; WX 582 ; N ncaron ; B 6 -3 572 677 ; +C -1 ; WX 668 ; N Rcaron ; B 22 -3 669 922 ; +C -1 ; WX 668 ; N Racute ; B 22 -3 669 926 ; +C -1 ; WX 395 ; N rcaron ; B 21 -3 374 677 ; +C -1 ; WX 395 ; N racute ; B 21 -3 374 677 ; +C -1 ; WX 613 ; N Tcaron ; B 18 -3 595 922 ; +C -1 ; WX 458 ; N tcaron ; B 22 -12 526 709 ; +C -1 ; WX 778 ; N Uring ; B 12 -20 759 922 ; +C -1 ; WX 603 ; N uring ; B 18 -12 581 696 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 253 245 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 74 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 220 245 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 553 90 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 245 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 73 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 289 52 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 249 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 245 90 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 1 249 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 249 245 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 124 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 167 245 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 210 249 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 31 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 53 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 140 245 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 293 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 222 226 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 135 0 ; +EndBuildComposites diff --git a/font/Pa-SC+ b/font/Pa-SC+ new file mode 100644 index 0000000..d30e094 --- /dev/null +++ b/font/Pa-SC+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 709 ; N Ccaron ; B 22 -20 670 922 ; +C -1 ; WX 556 ; N ccaron ; B 44 -14 528 698 ; +C -1 ; WX 774 ; N Dcaron ; B 22 -3 751 922 ; +C -1 ; WX 743 ; N dcaron ; B 36 -2 773 535 ; +C -1 ; WX 611 ; N Ecaron ; B 22 -3 572 922 ; +C -1 ; WX 500 ; N ecaron ; B 23 -3 458 698 ; +C -1 ; WX 611 ; N Lcaron ; B 22 -3 586 761 ; +C -1 ; WX 611 ; N Lacute ; B 22 -3 586 926 ; +C -1 ; WX 632 ; N lcaron ; B 20 -3 675 536 ; +C -1 ; WX 500 ; N lacute ; B 20 -3 468 926 ; +C -1 ; WX 831 ; N Ncaron ; B 17 -20 813 922 ; +C -1 ; WX 667 ; N ncaron ; B 24 -14 644 698 ; +C -1 ; WX 668 ; N Rcaron ; B 22 -3 669 922 ; +C -1 ; WX 668 ; N Racute ; B 22 -3 669 926 ; +C -1 ; WX 556 ; N rcaron ; B 24 -3 552 698 ; +C -1 ; WX 556 ; N racute ; B 24 -3 552 702 ; +C -1 ; WX 613 ; N Tcaron ; B 18 -3 595 922 ; +C -1 ; WX 632 ; N tcaron ; B 18 -3 681 709 ; +C -1 ; WX 778 ; N Uring ; B 12 -20 759 922 ; +C -1 ; WX 611 ; N uring ; B 20 -14 590 721 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 253 224 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 135 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 220 224 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 540 -174 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 224 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 289 52 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 224 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 442 -173 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 105 224 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 249 224 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 167 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 167 224 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 210 224 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 111 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 133 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 140 224 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 448 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 222 201 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/Ti-Bd+ b/font/Ti-Bd+ new file mode 100644 index 0000000..efa6d43 --- /dev/null +++ b/font/Ti-Bd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 49 -19 687 914 ; +C -1 ; WX 444 ; N ccaron ; B 25 -14 430 704 ; +C -1 ; WX 722 ; N Dcaron ; B 14 0 690 914 ; +C -1 ; WX 685 ; N dcaron ; B 25 -14 736 744 ; +C -1 ; WX 667 ; N Ecaron ; B 16 0 641 914 ; +C -1 ; WX 444 ; N ecaron ; B 25 -14 426 704 ; +C -1 ; WX 667 ; N Lcaron ; B 19 0 638 744 ; +C -1 ; WX 667 ; N Lacute ; B 19 0 638 923 ; +C -1 ; WX 407 ; N lcaron ; B 16 0 457 744 ; +C -1 ; WX 278 ; N lacute ; B 16 0 321 923 ; +C -1 ; WX 722 ; N Ncaron ; B 16 -18 701 914 ; +C -1 ; WX 556 ; N ncaron ; B 21 0 539 704 ; +C -1 ; WX 722 ; N Rcaron ; B 26 0 715 914 ; +C -1 ; WX 722 ; N Racute ; B 26 0 715 923 ; +C -1 ; WX 444 ; N rcaron ; B 29 0 434 704 ; +C -1 ; WX 444 ; N racute ; B 29 0 434 713 ; +C -1 ; WX 667 ; N Tcaron ; B 31 0 636 914 ; +C -1 ; WX 462 ; N tcaron ; B 20 -12 534 691 ; +C -1 ; WX 722 ; N Uring ; B 16 -19 701 914 ; +C -1 ; WX 556 ; N uring ; B 16 -14 537 740 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 258 210 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 210 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 473 53 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 167 210 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 309 53 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 167 210 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 194 53 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -3 210 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 210 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 194 210 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 239 210 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 79 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 167 210 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 271 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 174 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/Ti-BdIt+ b/font/Ti-BdIt+ new file mode 100644 index 0000000..23f3f8c --- /dev/null +++ b/font/Ti-BdIt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 667 ; N Ccaron ; B 32 -18 700 904 ; +C -1 ; WX 444 ; N ccaron ; B -5 -13 486 690 ; +C -1 ; WX 722 ; N Dcaron ; B -46 0 685 904 ; +C -1 ; WX 643 ; N dcaron ; B -21 -13 741 769 ; +C -1 ; WX 667 ; N Ecaron ; B -27 0 653 904 ; +C -1 ; WX 444 ; N ecaron ; B 5 -13 466 690 ; +C -1 ; WX 611 ; N Lcaron ; B -22 0 630 736 ; +C -1 ; WX 611 ; N Lacute ; B -22 0 590 911 ; +C -1 ; WX 421 ; N lcaron ; B 2 -9 514 769 ; +C -1 ; WX 278 ; N lacute ; B 2 -9 433 911 ; +C -1 ; WX 722 ; N Ncaron ; B -27 -15 748 904 ; +C -1 ; WX 556 ; N ncaron ; B -6 -9 522 690 ; +C -1 ; WX 667 ; N Rcaron ; B -29 0 635 904 ; +C -1 ; WX 667 ; N Racute ; B -29 0 649 911 ; +C -1 ; WX 389 ; N rcaron ; B -21 0 439 690 ; +C -1 ; WX 389 ; N racute ; B -21 0 431 697 ; +C -1 ; WX 611 ; N Tcaron ; B 50 0 650 904 ; +C -1 ; WX 421 ; N tcaron ; B -11 -9 505 685 ; +C -1 ; WX 722 ; N Uring ; B 67 -18 744 904 ; +C -1 ; WX 556 ; N uring ; B 15 -9 492 729 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 289 214 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 251 214 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 439 84 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 224 214 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 328 51 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 196 214 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 212 84 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 54 214 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 251 214 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 224 214 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 270 214 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 52 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 196 214 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 203 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 240 175 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/Ti-BdItF+ b/font/Ti-BdItF+ new file mode 100644 index 0000000..23f3f8c --- /dev/null +++ b/font/Ti-BdItF+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 667 ; N Ccaron ; B 32 -18 700 904 ; +C -1 ; WX 444 ; N ccaron ; B -5 -13 486 690 ; +C -1 ; WX 722 ; N Dcaron ; B -46 0 685 904 ; +C -1 ; WX 643 ; N dcaron ; B -21 -13 741 769 ; +C -1 ; WX 667 ; N Ecaron ; B -27 0 653 904 ; +C -1 ; WX 444 ; N ecaron ; B 5 -13 466 690 ; +C -1 ; WX 611 ; N Lcaron ; B -22 0 630 736 ; +C -1 ; WX 611 ; N Lacute ; B -22 0 590 911 ; +C -1 ; WX 421 ; N lcaron ; B 2 -9 514 769 ; +C -1 ; WX 278 ; N lacute ; B 2 -9 433 911 ; +C -1 ; WX 722 ; N Ncaron ; B -27 -15 748 904 ; +C -1 ; WX 556 ; N ncaron ; B -6 -9 522 690 ; +C -1 ; WX 667 ; N Rcaron ; B -29 0 635 904 ; +C -1 ; WX 667 ; N Racute ; B -29 0 649 911 ; +C -1 ; WX 389 ; N rcaron ; B -21 0 439 690 ; +C -1 ; WX 389 ; N racute ; B -21 0 431 697 ; +C -1 ; WX 611 ; N Tcaron ; B 50 0 650 904 ; +C -1 ; WX 421 ; N tcaron ; B -11 -9 505 685 ; +C -1 ; WX 722 ; N Uring ; B 67 -18 744 904 ; +C -1 ; WX 556 ; N uring ; B 15 -9 492 729 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 289 214 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 251 214 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 439 84 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 224 214 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 328 51 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 196 214 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 212 84 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 54 214 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 251 214 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 224 214 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 270 214 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 52 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 196 214 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 203 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 240 175 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/Ti-BdSC+ b/font/Ti-BdSC+ new file mode 100644 index 0000000..7809474 --- /dev/null +++ b/font/Ti-BdSC+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 49 -19 687 914 ; +C -1 ; WX 556 ; N ccaron ; B 26 -12 513 737 ; +C -1 ; WX 722 ; N Dcaron ; B 14 0 690 914 ; +C -1 ; WX 740 ; N dcaron ; B 20 0 770 543 ; +C -1 ; WX 667 ; N Ecaron ; B 16 0 641 914 ; +C -1 ; WX 556 ; N ecaron ; B 19 0 509 737 ; +C -1 ; WX 667 ; N Lcaron ; B 19 0 638 744 ; +C -1 ; WX 667 ; N Lacute ; B 19 0 638 923 ; +C -1 ; WX 685 ; N lcaron ; B 18 0 714 543 ; +C -1 ; WX 556 ; N lacute ; B 18 0 512 923 ; +C -1 ; WX 722 ; N Ncaron ; B 16 -18 701 914 ; +C -1 ; WX 556 ; N ncaron ; B 14 -12 530 737 ; +C -1 ; WX 722 ; N Rcaron ; B 26 0 715 914 ; +C -1 ; WX 722 ; N Racute ; B 26 0 715 923 ; +C -1 ; WX 611 ; N rcaron ; B 22 0 590 737 ; +C -1 ; WX 611 ; N racute ; B 22 0 590 746 ; +C -1 ; WX 667 ; N Tcaron ; B 31 0 636 914 ; +C -1 ; WX 685 ; N tcaron ; B 22 0 726 691 ; +C -1 ; WX 722 ; N Uring ; B 16 -19 701 914 ; +C -1 ; WX 611 ; N uring ; B 21 -12 579 773 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 258 177 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 135 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 177 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 507 -148 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 167 177 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 111 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 309 53 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 167 177 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 451 -148 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 135 177 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 177 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 194 177 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 239 177 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 139 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 163 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 167 177 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 463 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 141 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/Ti-ExBd+ b/font/Ti-ExBd+ new file mode 100644 index 0000000..e7086d3 --- /dev/null +++ b/font/Ti-ExBd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 685 ; N Ccaron ; B 32 -12 640 955 ; +C -1 ; WX 463 ; N ccaron ; B 14 -12 476 734 ; +C -1 ; WX 778 ; N Dcaron ; B 0 0 754 955 ; +C -1 ; WX 728 ; N dcaron ; B 32 -12 808 783 ; +C -1 ; WX 722 ; N Ecaron ; B 10 0 675 955 ; +C -1 ; WX 481 ; N ecaron ; B 14 -12 468 734 ; +C -1 ; WX 611 ; N Lcaron ; B 0 0 649 783 ; +C -1 ; WX 611 ; N Lacute ; B 0 0 611 967 ; +C -1 ; WX 469 ; N lcaron ; B 13 0 545 783 ; +C -1 ; WX 315 ; N lacute ; B 13 0 346 967 ; +C -1 ; WX 778 ; N Ncaron ; B -2 0 780 955 ; +C -1 ; WX 593 ; N ncaron ; B 12 0 582 734 ; +C -1 ; WX 741 ; N Rcaron ; B 0 0 778 955 ; +C -1 ; WX 741 ; N Racute ; B 0 0 778 967 ; +C -1 ; WX 426 ; N rcaron ; B 14 0 436 734 ; +C -1 ; WX 426 ; N racute ; B 14 0 436 746 ; +C -1 ; WX 704 ; N Tcaron ; B 28 0 676 955 ; +C -1 ; WX 506 ; N tcaron ; B 12 -12 594 724 ; +C -1 ; WX 741 ; N Uring ; B -10 -12 740 955 ; +C -1 ; WX 593 ; N uring ; B 12 -12 582 772 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 246 221 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 97 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 231 221 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 569 59 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 203 221 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 410 59 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 148 221 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 306 59 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 25 221 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 231 221 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 213 221 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 260 221 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 80 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 194 221 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 355 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 213 183 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/Ti-It+ b/font/Ti-It+ new file mode 100644 index 0000000..b234707 --- /dev/null +++ b/font/Ti-It+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 667 ; N Ccaron ; B 66 -18 714 882 ; +C -1 ; WX 444 ; N ccaron ; B 30 -11 501 661 ; +C -1 ; WX 722 ; N Dcaron ; B -8 0 700 882 ; +C -1 ; WX 597 ; N dcaron ; B 15 -13 680 751 ; +C -1 ; WX 611 ; N Ecaron ; B -1 0 634 882 ; +C -1 ; WX 444 ; N ecaron ; B 31 -11 481 661 ; +C -1 ; WX 556 ; N Lcaron ; B -8 0 559 718 ; +C -1 ; WX 556 ; N Lacute ; B -8 0 572 883 ; +C -1 ; WX 375 ; N lcaron ; B 41 -11 432 751 ; +C -1 ; WX 278 ; N lacute ; B 41 -11 456 883 ; +C -1 ; WX 667 ; N Ncaron ; B -20 -15 727 882 ; +C -1 ; WX 500 ; N ncaron ; B 14 -9 509 661 ; +C -1 ; WX 611 ; N Rcaron ; B -13 0 624 882 ; +C -1 ; WX 611 ; N Racute ; B -13 0 642 883 ; +C -1 ; WX 389 ; N rcaron ; B 45 0 454 661 ; +C -1 ; WX 389 ; N racute ; B 45 0 453 664 ; +C -1 ; WX 556 ; N Tcaron ; B 59 0 633 882 ; +C -1 ; WX 375 ; N tcaron ; B 37 -11 449 666 ; +C -1 ; WX 722 ; N Uring ; B 102 -18 765 882 ; +C -1 ; WX 500 ; N uring ; B 42 -11 475 691 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 288 221 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 253 221 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 390 85 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 198 221 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 247 52 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 169 219 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 142 85 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 53 219 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 226 221 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 198 221 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 239 219 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 50 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 170 221 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 159 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 245 191 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/font/Ti-ItF+ b/font/Ti-ItF+ new file mode 100644 index 0000000..b234707 --- /dev/null +++ b/font/Ti-ItF+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 667 ; N Ccaron ; B 66 -18 714 882 ; +C -1 ; WX 444 ; N ccaron ; B 30 -11 501 661 ; +C -1 ; WX 722 ; N Dcaron ; B -8 0 700 882 ; +C -1 ; WX 597 ; N dcaron ; B 15 -13 680 751 ; +C -1 ; WX 611 ; N Ecaron ; B -1 0 634 882 ; +C -1 ; WX 444 ; N ecaron ; B 31 -11 481 661 ; +C -1 ; WX 556 ; N Lcaron ; B -8 0 559 718 ; +C -1 ; WX 556 ; N Lacute ; B -8 0 572 883 ; +C -1 ; WX 375 ; N lcaron ; B 41 -11 432 751 ; +C -1 ; WX 278 ; N lacute ; B 41 -11 456 883 ; +C -1 ; WX 667 ; N Ncaron ; B -20 -15 727 882 ; +C -1 ; WX 500 ; N ncaron ; B 14 -9 509 661 ; +C -1 ; WX 611 ; N Rcaron ; B -13 0 624 882 ; +C -1 ; WX 611 ; N Racute ; B -13 0 642 883 ; +C -1 ; WX 389 ; N rcaron ; B 45 0 454 661 ; +C -1 ; WX 389 ; N racute ; B 45 0 453 664 ; +C -1 ; WX 556 ; N Tcaron ; B 59 0 633 882 ; +C -1 ; WX 375 ; N tcaron ; B 37 -11 449 666 ; +C -1 ; WX 722 ; N Uring ; B 102 -18 765 882 ; +C -1 ; WX 500 ; N uring ; B 42 -11 475 691 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 288 221 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 253 221 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 390 85 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 198 221 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 247 52 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 169 219 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 142 85 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 53 219 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 226 221 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 198 221 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 239 219 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 50 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 170 221 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 159 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 245 191 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/font/Ti-Rm+ b/font/Ti-Rm+ new file mode 100644 index 0000000..f9b7cc1 --- /dev/null +++ b/font/Ti-Rm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 667 ; N Ccaron ; B 28 -14 633 890 ; +C -1 ; WX 444 ; N ccaron ; B 25 -10 412 674 ; +C -1 ; WX 722 ; N Dcaron ; B 16 0 685 890 ; +C -1 ; WX 597 ; N dcaron ; B 27 -10 644 751 ; +C -1 ; WX 611 ; N Ecaron ; B 12 0 597 890 ; +C -1 ; WX 444 ; N ecaron ; B 25 -10 424 674 ; +C -1 ; WX 611 ; N Lcaron ; B 12 0 598 728 ; +C -1 ; WX 611 ; N Lacute ; B 12 0 598 894 ; +C -1 ; WX 375 ; N lcaron ; B 19 0 410 751 ; +C -1 ; WX 278 ; N lacute ; B 19 0 312 894 ; +C -1 ; WX 722 ; N Ncaron ; B 12 -11 707 890 ; +C -1 ; WX 500 ; N ncaron ; B 16 0 485 674 ; +C -1 ; WX 667 ; N Rcaron ; B 17 0 659 890 ; +C -1 ; WX 667 ; N Racute ; B 17 0 659 894 ; +C -1 ; WX 333 ; N rcaron ; B 5 0 335 674 ; +C -1 ; WX 333 ; N racute ; B 5 0 339 678 ; +C -1 ; WX 611 ; N Tcaron ; B 17 0 593 890 ; +C -1 ; WX 375 ; N tcaron ; B 13 -10 432 676 ; +C -1 ; WX 722 ; N Uring ; B 14 -14 705 890 ; +C -1 ; WX 500 ; N uring ; B 9 -10 479 711 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 228 216 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 74 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 216 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 426 75 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 216 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 250 52 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 216 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 192 75 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -5 216 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 216 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 167 216 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 210 216 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 22 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 139 216 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 214 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 179 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/font/Ti-RmSC+ b/font/Ti-RmSC+ new file mode 100644 index 0000000..fbb8312 --- /dev/null +++ b/font/Ti-RmSC+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 667 ; N Ccaron ; B 28 -14 633 890 ; +C -1 ; WX 500 ; N ccaron ; B 18 -8 477 710 ; +C -1 ; WX 722 ; N Dcaron ; B 16 0 685 890 ; +C -1 ; WX 653 ; N dcaron ; B 20 0 689 535 ; +C -1 ; WX 611 ; N Ecaron ; B 12 0 597 890 ; +C -1 ; WX 500 ; N ecaron ; B 22 0 468 710 ; +C -1 ; WX 611 ; N Lcaron ; B 12 0 598 728 ; +C -1 ; WX 611 ; N Lacute ; B 12 0 598 894 ; +C -1 ; WX 597 ; N lcaron ; B 22 0 627 535 ; +C -1 ; WX 500 ; N lacute ; B 22 0 474 894 ; +C -1 ; WX 722 ; N Ncaron ; B 12 -11 707 890 ; +C -1 ; WX 611 ; N ncaron ; B 23 0 579 710 ; +C -1 ; WX 667 ; N Rcaron ; B 17 0 659 890 ; +C -1 ; WX 667 ; N Racute ; B 17 0 659 894 ; +C -1 ; WX 500 ; N rcaron ; B 14 0 493 710 ; +C -1 ; WX 500 ; N racute ; B 14 0 493 714 ; +C -1 ; WX 611 ; N Tcaron ; B 17 0 593 890 ; +C -1 ; WX 597 ; N tcaron ; B 26 0 621 676 ; +C -1 ; WX 722 ; N Uring ; B 14 -14 705 890 ; +C -1 ; WX 611 ; N uring ; B 21 -8 581 747 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 228 180 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 106 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 180 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 471 -141 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 180 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 250 52 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 180 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 409 -141 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 105 180 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 180 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 167 180 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 210 180 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 83 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 105 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 139 180 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 403 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 143 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/Ti-Sm+ b/font/Ti-Sm+ new file mode 100644 index 0000000..57e7e0a --- /dev/null +++ b/font/Ti-Sm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 21 -16 678 914 ; +C -1 ; WX 444 ; N ccaron ; B 20 -12 432 702 ; +C -1 ; WX 778 ; N Dcaron ; B 20 0 748 914 ; +C -1 ; WX 668 ; N dcaron ; B 28 -12 704 779 ; +C -1 ; WX 667 ; N Ecaron ; B 20 0 650 914 ; +C -1 ; WX 444 ; N ecaron ; B 20 -12 432 702 ; +C -1 ; WX 611 ; N Lcaron ; B 20 0 606 748 ; +C -1 ; WX 611 ; N Lacute ; B 20 0 606 920 ; +C -1 ; WX 390 ; N lcaron ; B 18 0 436 779 ; +C -1 ; WX 278 ; N lacute ; B 18 0 320 920 ; +C -1 ; WX 778 ; N Ncaron ; B 20 -16 758 914 ; +C -1 ; WX 556 ; N ncaron ; B 16 0 540 702 ; +C -1 ; WX 722 ; N Rcaron ; B 14 0 712 914 ; +C -1 ; WX 722 ; N Racute ; B 14 0 712 920 ; +C -1 ; WX 389 ; N rcaron ; B 20 0 376 702 ; +C -1 ; WX 389 ; N racute ; B 20 0 376 708 ; +C -1 ; WX 667 ; N Tcaron ; B 19 0 647 914 ; +C -1 ; WX 445 ; N tcaron ; B 16 -12 498 696 ; +C -1 ; WX 778 ; N Uring ; B 28 -16 750 914 ; +C -1 ; WX 556 ; N uring ; B 12 -12 536 738 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 288 212 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 104 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 250 212 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 485 83 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 194 212 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 319 52 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 166 212 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 217 83 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 24 212 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 250 212 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 222 212 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 267 212 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 79 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 194 212 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 279 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 250 176 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/Ti-SmIt+ b/font/Ti-SmIt+ new file mode 100644 index 0000000..28d9de6 --- /dev/null +++ b/font/Ti-SmIt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 722 ; N Ccaron ; B 63 -16 743 918 ; +C -1 ; WX 444 ; N ccaron ; B 23 -12 509 708 ; +C -1 ; WX 778 ; N Dcaron ; B 0 0 767 918 ; +C -1 ; WX 613 ; N dcaron ; B -1 -12 695 779 ; +C -1 ; WX 667 ; N Ecaron ; B -10 0 666 918 ; +C -1 ; WX 444 ; N ecaron ; B 20 -12 488 708 ; +C -1 ; WX 611 ; N Lcaron ; B -6 0 606 748 ; +C -1 ; WX 611 ; N Lacute ; B -6 0 606 918 ; +C -1 ; WX 391 ; N lcaron ; B 26 -12 470 779 ; +C -1 ; WX 278 ; N lacute ; B 26 -12 448 918 ; +C -1 ; WX 778 ; N Ncaron ; B -2 -16 814 918 ; +C -1 ; WX 556 ; N ncaron ; B 28 -12 544 708 ; +C -1 ; WX 722 ; N Rcaron ; B 1 0 683 918 ; +C -1 ; WX 722 ; N Racute ; B 1 0 691 918 ; +C -1 ; WX 389 ; N rcaron ; B 29 0 460 708 ; +C -1 ; WX 389 ; N racute ; B 29 0 455 708 ; +C -1 ; WX 611 ; N Tcaron ; B 61 0 668 918 ; +C -1 ; WX 446 ; N tcaron ; B 41 -12 528 696 ; +C -1 ; WX 778 ; N Uring ; B 102 -16 820 918 ; +C -1 ; WX 556 ; N uring ; B 44 -12 521 738 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 338 210 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 104 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 298 210 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 406 83 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 242 210 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 83 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 315 52 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 214 210 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 181 83 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 71 210 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 298 210 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 270 210 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 314 210 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 78 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 214 210 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 239 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 291 180 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/ZC-Bd+ b/font/ZC-Bd+ new file mode 100644 index 0000000..f3d9be1 --- /dev/null +++ b/font/ZC-Bd+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 611 ; N Ccaron ; B 31 -16 603 826 ; +C -1 ; WX 389 ; N ccaron ; B 17 -14 418 688 ; +C -1 ; WX 722 ; N Dcaron ; B -27 -3 691 826 ; +C -1 ; WX 625 ; N dcaron ; B 22 -14 795 785 ; +C -1 ; WX 667 ; N Ecaron ; B -27 -16 632 826 ; +C -1 ; WX 389 ; N ecaron ; B 17 -14 413 688 ; +C -1 ; WX 556 ; N Lcaron ; B -14 -16 597 653 ; +C -1 ; WX 556 ; N Lacute ; B -14 -16 559 826 ; +C -1 ; WX 403 ; N lcaron ; B 32 -14 557 785 ; +C -1 ; WX 278 ; N lacute ; B 32 -14 361 826 ; +C -1 ; WX 722 ; N Ncaron ; B -27 -8 749 826 ; +C -1 ; WX 556 ; N ncaron ; B -23 -14 595 688 ; +C -1 ; WX 722 ; N Rcaron ; B -27 -16 762 826 ; +C -1 ; WX 722 ; N Racute ; B -27 -16 762 826 ; +C -1 ; WX 389 ; N rcaron ; B -6 -14 407 688 ; +C -1 ; WX 389 ; N racute ; B -6 -14 407 688 ; +C -1 ; WX 667 ; N Tcaron ; B 13 0 654 826 ; +C -1 ; WX 458 ; N tcaron ; B -58 -14 550 610 ; +C -1 ; WX 778 ; N Uring ; B 0 -16 811 826 ; +C -1 ; WX 556 ; N uring ; B -18 -14 583 670 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 223 138 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 75 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 222 138 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 582 175 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 194 138 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 384 43 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 138 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 344 175 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 20 138 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 222 138 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 139 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 222 138 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 261 138 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 55 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 75 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 194 138 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 337 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 250 156 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 139 0 ; +EndBuildComposites diff --git a/font/ZC-Dm+ b/font/ZC-Dm+ new file mode 100644 index 0000000..dd5b950 --- /dev/null +++ b/font/ZC-Dm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 611 ; N Ccaron ; B 36 -16 571 822 ; +C -1 ; WX 389 ; N ccaron ; B 22 -14 400 670 ; +C -1 ; WX 722 ; N Dcaron ; B -10 -4 675 822 ; +C -1 ; WX 552 ; N dcaron ; B 22 -14 719 785 ; +C -1 ; WX 611 ; N Ecaron ; B -10 -10 572 822 ; +C -1 ; WX 389 ; N ecaron ; B 22 -14 399 670 ; +C -1 ; WX 556 ; N Lcaron ; B 0 -10 528 653 ; +C -1 ; WX 556 ; N Lacute ; B 0 -10 528 816 ; +C -1 ; WX 386 ; N lcaron ; B 61 -14 510 785 ; +C -1 ; WX 278 ; N lacute ; B 61 -14 341 816 ; +C -1 ; WX 667 ; N Ncaron ; B -10 -16 684 822 ; +C -1 ; WX 500 ; N ncaron ; B -20 -14 551 670 ; +C -1 ; WX 611 ; N Rcaron ; B -10 -16 643 822 ; +C -1 ; WX 611 ; N Racute ; B -10 -16 643 816 ; +C -1 ; WX 333 ; N rcaron ; B -13 -14 372 670 ; +C -1 ; WX 333 ; N racute ; B -13 -14 372 664 ; +C -1 ; WX 611 ; N Tcaron ; B 16 0 595 822 ; +C -1 ; WX 441 ; N tcaron ; B 0 -14 514 610 ; +C -1 ; WX 722 ; N Uring ; B -14 -16 736 822 ; +C -1 ; WX 500 ; N uring ; B -20 -14 549 676 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 220 152 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 74 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 222 152 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 543 175 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 166 152 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 336 43 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 152 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 334 175 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 19 152 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 152 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 166 152 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 201 152 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 27 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 46 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 166 152 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 338 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 222 146 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/ZC-It+ b/font/ZC-It+ new file mode 100644 index 0000000..44446fe --- /dev/null +++ b/font/ZC-It+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 21 -16 582 815 ; +C -1 ; WX 333 ; N ccaron ; B -6 -14 399 659 ; +C -1 ; WX 722 ; N Dcaron ; B 16 -6 698 815 ; +C -1 ; WX 508 ; N dcaron ; B -6 -14 730 785 ; +C -1 ; WX 667 ; N Ecaron ; B 27 -12 645 815 ; +C -1 ; WX 333 ; N ecaron ; B -6 -14 383 659 ; +C -1 ; WX 556 ; N Lcaron ; B -81 -16 555 653 ; +C -1 ; WX 556 ; N Lacute ; B -81 -16 523 815 ; +C -1 ; WX 341 ; N lcaron ; B 16 -14 581 785 ; +C -1 ; WX 222 ; N lacute ; B 16 -14 394 815 ; +C -1 ; WX 722 ; N Ncaron ; B -6 -168 824 815 ; +C -1 ; WX 444 ; N ncaron ; B 9 -14 452 659 ; +C -1 ; WX 611 ; N Rcaron ; B -39 -168 708 815 ; +C -1 ; WX 611 ; N Racute ; B -39 -168 708 815 ; +C -1 ; WX 278 ; N rcaron ; B 5 -14 356 659 ; +C -1 ; WX 278 ; N racute ; B 5 -14 361 659 ; +C -1 ; WX 611 ; N Tcaron ; B 20 0 701 815 ; +C -1 ; WX 397 ; N tcaron ; B -2 -14 505 610 ; +C -1 ; WX 722 ; N Uring ; B 22 -16 688 815 ; +C -1 ; WX 444 ; N uring ; B 9 -14 459 659 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 226 156 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 43 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 255 156 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 505 175 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 227 156 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 27 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 330 43 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 172 156 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 356 175 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 21 156 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 255 156 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 199 156 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 229 156 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 16 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 199 156 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 280 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 255 156 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/font/ZC-Lt+ b/font/ZC-Lt+ new file mode 100644 index 0000000..da81a6a --- /dev/null +++ b/font/ZC-Lt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 40 -16 532 824 ; +C -1 ; WX 333 ; N ccaron ; B 26 -14 351 656 ; +C -1 ; WX 667 ; N Dcaron ; B -16 -3 627 824 ; +C -1 ; WX 474 ; N dcaron ; B 26 -14 612 785 ; +C -1 ; WX 556 ; N Ecaron ; B -1 0 555 824 ; +C -1 ; WX 333 ; N ecaron ; B 26 -14 365 656 ; +C -1 ; WX 500 ; N Lcaron ; B -1 -3 501 653 ; +C -1 ; WX 500 ; N Lacute ; B -1 -3 501 822 ; +C -1 ; WX 307 ; N lcaron ; B 44 -14 431 785 ; +C -1 ; WX 222 ; N lacute ; B 44 -14 297 822 ; +C -1 ; WX 667 ; N Ncaron ; B 11 -16 681 824 ; +C -1 ; WX 444 ; N ncaron ; B -2 -14 476 656 ; +C -1 ; WX 556 ; N Rcaron ; B -1 -8 591 824 ; +C -1 ; WX 556 ; N Racute ; B -1 -8 591 822 ; +C -1 ; WX 278 ; N rcaron ; B -2 -14 296 656 ; +C -1 ; WX 278 ; N racute ; B -2 -14 296 654 ; +C -1 ; WX 556 ; N Tcaron ; B 19 0 548 824 ; +C -1 ; WX 363 ; N tcaron ; B -19 -14 431 610 ; +C -1 ; WX 667 ; N Uring ; B 12 -16 666 824 ; +C -1 ; WX 444 ; N uring ; B -2 -14 476 648 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 216 168 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 71 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 222 168 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 428 175 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 167 168 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 55 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 244 43 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 168 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 247 175 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 14 168 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 222 168 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 111 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 167 168 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 194 168 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 28 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 42 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 167 168 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 247 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 222 176 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 111 0 ; +EndBuildComposites diff --git a/font/ZC-LtIt+ b/font/ZC-LtIt+ new file mode 100644 index 0000000..0d5385e --- /dev/null +++ b/font/ZC-LtIt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 34 -16 566 822 ; +C -1 ; WX 333 ; N ccaron ; B -5 -14 337 654 ; +C -1 ; WX 722 ; N Dcaron ; B 10 0 686 822 ; +C -1 ; WX 491 ; N dcaron ; B -5 -14 709 785 ; +C -1 ; WX 667 ; N Ecaron ; B 10 -8 628 822 ; +C -1 ; WX 333 ; N ecaron ; B -5 -14 321 654 ; +C -1 ; WX 556 ; N Lcaron ; B -71 -16 521 653 ; +C -1 ; WX 556 ; N Lacute ; B -71 -16 514 822 ; +C -1 ; WX 324 ; N lcaron ; B 15 -14 549 785 ; +C -1 ; WX 222 ; N lacute ; B 15 -14 388 822 ; +C -1 ; WX 722 ; N Ncaron ; B -9 -158 825 822 ; +C -1 ; WX 444 ; N ncaron ; B 9 -14 461 654 ; +C -1 ; WX 611 ; N Rcaron ; B -30 -158 709 822 ; +C -1 ; WX 611 ; N Racute ; B -30 -158 709 822 ; +C -1 ; WX 278 ; N rcaron ; B 0 -8 331 654 ; +C -1 ; WX 278 ; N racute ; B 0 -8 331 654 ; +C -1 ; WX 611 ; N Tcaron ; B 20 0 704 822 ; +C -1 ; WX 380 ; N tcaron ; B -22 -14 463 610 ; +C -1 ; WX 722 ; N Uring ; B 20 -16 681 822 ; +C -1 ; WX 444 ; N uring ; B 12 -14 456 648 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 227 168 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 43 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 257 168 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 502 175 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 229 168 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 27 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 314 43 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 174 168 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 342 175 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 22 168 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 257 168 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 201 168 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 229 168 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 15 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 201 168 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 256 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 258 174 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/font/ZC-MdIt+ b/font/ZC-MdIt+ new file mode 100644 index 0000000..b128a05 --- /dev/null +++ b/font/ZC-MdIt+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 520 ; N Ccaron ; B 93 -16 656 815 ; +C -1 ; WX 340 ; N ccaron ; B 87 -14 490 659 ; +C -1 ; WX 700 ; N Dcaron ; B 86 -6 768 815 ; +C -1 ; WX 559 ; N dcaron ; B 102 -14 838 785 ; +C -1 ; WX 620 ; N Ecaron ; B 91 -12 709 815 ; +C -1 ; WX 340 ; N ecaron ; B 87 -14 474 659 ; +C -1 ; WX 580 ; N Lcaron ; B 53 -16 691 653 ; +C -1 ; WX 580 ; N Lacute ; B 53 -16 657 815 ; +C -1 ; WX 359 ; N lcaron ; B 102 -14 667 785 ; +C -1 ; WX 240 ; N lacute ; B 102 -14 480 815 ; +C -1 ; WX 700 ; N Ncaron ; B 85 -168 915 815 ; +C -1 ; WX 460 ; N ncaron ; B 101 -14 544 659 ; +C -1 ; WX 600 ; N Rcaron ; B 58 -168 805 815 ; +C -1 ; WX 600 ; N Racute ; B 58 -168 805 815 ; +C -1 ; WX 300 ; N rcaron ; B 101 -14 454 659 ; +C -1 ; WX 300 ; N racute ; B 101 -14 438 659 ; +C -1 ; WX 500 ; N Tcaron ; B 63 0 744 815 ; +C -1 ; WX 439 ; N tcaron ; B 106 -14 613 610 ; +C -1 ; WX 740 ; N Uring ; B 126 -16 792 815 ; +C -1 ; WX 460 ; N uring ; B 102 -14 528 659 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 182 156 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 16 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 218 156 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 500 175 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 178 156 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 0 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 353 43 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 178 156 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 329 175 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute 24 156 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 218 156 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 60 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 168 156 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 218 156 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron -20 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 16 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 118 156 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 275 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 258 156 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 80 0 ; +EndBuildComposites diff --git a/font/ZC-Rm+ b/font/ZC-Rm+ new file mode 100644 index 0000000..0446635 --- /dev/null +++ b/font/ZC-Rm+ @@ -0,0 +1,44 @@ +StartExtraCharMetrics +C -1 ; WX 556 ; N Ccaron ; B 33 -16 531 808 ; +C -1 ; WX 333 ; N ccaron ; B 23 -14 362 644 ; +C -1 ; WX 667 ; N Dcaron ; B -2 -2 634 808 ; +C -1 ; WX 505 ; N dcaron ; B 23 -14 657 785 ; +C -1 ; WX 556 ; N Ecaron ; B -2 -3 550 808 ; +C -1 ; WX 333 ; N ecaron ; B 23 -14 354 644 ; +C -1 ; WX 556 ; N Lcaron ; B 20 0 542 653 ; +C -1 ; WX 556 ; N Lacute ; B 20 0 542 814 ; +C -1 ; WX 338 ; N lcaron ; B 37 -14 485 785 ; +C -1 ; WX 222 ; N lacute ; B 37 -14 302 814 ; +C -1 ; WX 667 ; N Ncaron ; B -2 -16 685 808 ; +C -1 ; WX 444 ; N ncaron ; B -1 -14 471 644 ; +C -1 ; WX 556 ; N Rcaron ; B -8 -8 595 808 ; +C -1 ; WX 556 ; N Racute ; B -8 -8 595 814 ; +C -1 ; WX 278 ; N rcaron ; B -1 -14 319 644 ; +C -1 ; WX 278 ; N racute ; B -1 -14 314 650 ; +C -1 ; WX 556 ; N Tcaron ; B 17 0 564 808 ; +C -1 ; WX 394 ; N tcaron ; B -27 -14 479 610 ; +C -1 ; WX 667 ; N Uring ; B 8 -16 667 808 ; +C -1 ; WX 444 ; N uring ; B -1 -14 471 665 ; +EndExtraCharMetrics +StartBuildComposites +CC Ccaron 2 ; PCC C 0 0 ; PCC caron 189 164 ; +CC ccaron 2 ; PCC c 0 0 ; PCC caron 43 0 ; +CC Dcaron 2 ; PCC D 0 0 ; PCC caron 194 164 ; +CC dcaron 2 ; PCC d 0 0 ; PCC quoteright 478 175 ; +CC Ecaron 2 ; PCC E 0 0 ; PCC caron 139 164 ; +CC ecaron 2 ; PCC e 0 0 ; PCC caron 27 0 ; +CC Lcaron 2 ; PCC L 0 0 ; PCC quoteright 328 43 ; +CC Lacute 2 ; PCC L 0 0 ; PCC acute 139 164 ; +CC lcaron 2 ; PCC l 0 0 ; PCC quoteright 306 175 ; +CC lacute 2 ; PCC l 0 0 ; PCC acute -12 164 ; +CC Ncaron 2 ; PCC N 0 0 ; PCC caron 194 164 ; +CC ncaron 2 ; PCC n 0 0 ; PCC caron 83 0 ; +CC Rcaron 2 ; PCC R 0 0 ; PCC caron 139 164 ; +CC Racute 2 ; PCC R 0 0 ; PCC acute 169 164 ; +CC rcaron 2 ; PCC r 0 0 ; PCC caron 0 0 ; +CC racute 2 ; PCC r 0 0 ; PCC acute 16 0 ; +CC Tcaron 2 ; PCC T 0 0 ; PCC caron 139 164 ; +CC tcaron 2 ; PCC t 0 0 ; PCC quoteright 300 0 ; +CC Uring 2 ; PCC U 0 0 ; PCC ring 194 143 ; +CC uring 2 ; PCC u 0 0 ; PCC ring 83 0 ; +EndBuildComposites diff --git a/hyph/README b/hyph/README index 84409bb..c4f8632 100644 --- a/hyph/README +++ b/hyph/README @@ -120,5 +120,5 @@ patterns, and hyphenated. The hyphen character "-" is treated specially. Extreme lengths were resorted to to compress the .lp file as much as possible. Files significantly larger than german.lh are likely to cause -Lout to abort with an error message. Please contact jeff@cs.su.oz.au if -you have problems with this or anything else. +Lout to abort with an error message. Please contact jeff@cs.usyd.edu.au +if you have problems with this or anything else. diff --git a/include/README b/include/README index 1a2389a..63ad651 100644 --- a/include/README +++ b/include/README @@ -74,7 +74,6 @@ Source files (containing Lout and PostScript source code for the packages) Miscellaneous ------------- - fontdefs Standard font definitions file langdefs Standard language definitions file mydefs Empty file for if the user doesn't have a mydefs ts The ToySetup package (an expert users' intro. example) diff --git a/include/blue b/include/blue index 94ae775..cfe1c3c 100644 --- a/include/blue +++ b/include/blue @@ -4,7 +4,7 @@ # # # Version 3.0 # # Jeffrey H. Kingston # -# 5 April 2000 # +# 10 April 2000 # # # ############################################################################### @@ -32,6 +32,7 @@ @Use { @BlueSetup # pipe { } # pipe source through this + # numbered { No } # No, Yes, or a line number # style { varying @OrIfPlain fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -48,6 +49,7 @@ # fixednumbers { Base } # number face # fixedstrings { Base } # string face # fixedcomments { Base } # comment face + # fixedlinenumbers { Base } # line numbers face # fixedidentifiersformat { @Body } # identifiers format # fixedkeywordsformat { @Body } # keywords format @@ -55,6 +57,7 @@ # fixednumbersformat { @Body } # numbers format # fixedstringsformat { @Body } # strings format # fixedcommentsformat { @Body } # comments format + # fixedlinenumbersformat { @Body } # line numbers format # the following options apply when style is "varying" @@ -70,6 +73,7 @@ # varyingnumbers { Base } # number face # varyingstrings { Slope } # string face # varyingcomments { Base } # comment face + # varyinglinenumbers { Base } # line numbers face # varyingidentifiersformat { @Body } # identifiers format # varyingkeywordsformat { @Body } # keywords format @@ -77,6 +81,7 @@ # varyingnumbersformat { @Body } # numbers format # varyingstringsformat { @Body } # strings format # varyingcommentsformat { @Body } # comments format + # varyinglinenumbersformat { @Body } # line numbers format # the following options apply when style is "symbol" @@ -92,6 +97,7 @@ # symbolnumbers { Base } # number face # symbolstrings { Slope } # string face # symbolcomments { Base } # comment face + # symbollinenumbers { Base } # line numbers face # symbolidentifiersformat { @Body } # identifiers format # symbolkeywordsformat { @Body } # keywords format @@ -99,4 +105,5 @@ # symbolnumbersformat { @Body } # numbers format # symbolstringsformat { @Body } # strings format # symbolcommentsformat { @Body } # comments format + # symbollinenumbersformat { @Body } # line numbers format } diff --git a/include/bluef b/include/bluef index 3574516..8a8ff13 100644 --- a/include/bluef +++ b/include/bluef @@ -5,7 +5,7 @@ # # # Version 3.0 # # Jeffrey H. Kingston # -# 5 April 2000 # +# 10 April 2000 # # # # This package uses a filtered body parameter to convert program source # # code into Lout source. The filter program is prg2lout, which is # @@ -16,7 +16,8 @@ export @Blue def @BlueSetup - named pipe { } # pipe through this first + named pipe { } # pipe through this + named numbered { No } # numbered lines? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -35,6 +36,7 @@ def @BlueSetup named fixednumbers { Base } # number face named fixedstrings { Base } # string face named fixedcomments { Base } # comment face + named fixedlinenumbers { Base } # line numbers face named fixedidentifiersformat right @Body { @Body } # identifier format named fixedkeywordsformat right @Body { @Body } # keyword format @@ -42,6 +44,7 @@ def @BlueSetup named fixednumbersformat right @Body { @Body } # number format named fixedstringsformat right @Body { @Body } # string format named fixedcommentsformat right @Body { @Body } # comment format + named fixedlinenumbersformat right @Body { @Body } # line nums format # the following options apply when style is "varying" named varyingfont { } # font family @@ -56,6 +59,7 @@ def @BlueSetup named varyingnumbers { Base } # number face named varyingstrings { Slope } # string face named varyingcomments { Base } # comment face + named varyinglinenumbers { Base } # line numbers face named varyingidentifiersformat right @Body { @Body } # identifier format named varyingkeywordsformat right @Body { @Body } # keyword format @@ -63,6 +67,7 @@ def @BlueSetup named varyingnumbersformat right @Body { @Body } # number format named varyingstringsformat right @Body { @Body } # string format named varyingcommentsformat right @Body { @Body } # comment format + named varyinglinenumbersformat right @Body { @Body } # line nums format # the following options apply when style is "symbol" named symbolfont { } # font family @@ -77,6 +82,7 @@ def @BlueSetup named symbolnumbers { Base } # number face named symbolstrings { Slope } # string face named symbolcomments { Base } # comment face + named symbollinenumbers { Base } # line numbers face named symbolidentifiersformat right @Body { @Body } # identifier format named symbolkeywordsformat right @Body { @Body } # keyword format @@ -84,16 +90,18 @@ def @BlueSetup named symbolnumbersformat right @Body { @Body } # number format named symbolstringsformat right @Body { @Body } # string format named symbolcommentsformat right @Body { @Body } # comment format + named symbollinenumbersformat right @Body { @Body } # line nums format @Begin export - @PI @PK @PO @PN @PS @PC @PA @PM @PD + @PI @PK @PO @PN @PS @PC @PL @PA @PM @PD @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 @@ -106,6 +114,7 @@ def @BlueSetup 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 @@ -159,14 +168,24 @@ def @BlueSetup def @Filter { + def wantnumbered + { + numbered @Case { + { No no } @Yield "" + { Yes yes } @Yield "-L" + else @Yield { "-L"numbered } + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lBlue" -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} - -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lBlue" wantnumbered -i{@FilterIn} + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lBlue" -o{@FilterOut} + "prg2lout -r -lBlue" wantnumbered -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } } @@ -302,6 +321,23 @@ def @BlueSetup } + def @PL # for formatting line numbers + right x + { + style @Case { + fixed @Yield fixedlinenumbersformat { + { linenumbers @Else fixedlinenumbers } @Font x + } + varying @Yield varyinglinenumbersformat { + { linenumbers @Else varyinglinenumbers } @Font x + } + symbol @Yield symbollinenumbersformat { + { linenumbers @Else symbollinenumbers } @Font x + } + } + } + + def @PA # for formatting asterisks { @PO @BackEnd @Case { @@ -347,7 +383,7 @@ def @BlueSetup { @InitFontFamily Base @InitSize } @Font - { @InitLine lines } @Break @Body + { @InitLine lines nohyphen } @Break @Body @End @Blue diff --git a/include/book b/include/book index 22a3ab9..0ced4dd 100644 --- a/include/book +++ b/include/book @@ -14,7 +14,6 @@ # # ############################################################################### - @SysInclude { fontdefs } # font definitions @SysInclude { langdefs } # language definitions @SysInclude { bsf } # BasicSetup package @SysInclude { dsf } # DocumentSetup package @@ -84,11 +83,16 @@ # @OddRightMargin { 2.5c @OrIfPlain 10s } # right margin of odd pages # @EvenLeftMargin { 2.5c @OrIfPlain 10s } # left margin of even pages # @EvenRightMargin { 2.5c @OrIfPlain 10s } # right margin of even pages + # @OddLeftBodyMargin { 0c } # extra margin for page body + # @OddRightBodyMargin { 0c } # extra margin for page body + # @EvenLeftBodyMargin { 0c } # extra margin for page body + # @EvenRightBodyMargin{ 0c } # extra margin for page body # @PageBoxType { None } # None Box CurveBox ShadowBox # @PageBoxMargin { 1.00c } # page box margin # @PageBoxLineWidth { } # page box line thickness # @PageBoxPaint { none } # page box paint # @PageBoxShadow { 0.60c } # shadow margin if ShadowBox + # @PageEnclose { @Body } # enclose every page in this # @ColumnNumber { 1 } # number of columns (1 to 10) # @ColumnGap { 1.00c @OrIfPlain 6s } # column gap # @FigureLocation { PageTop } # default figure location @@ -387,4 +391,5 @@ # # ############################################################################### +@SysDatabase @FontDef { fontdefs } # font definitions @SysDatabase @RefStyle { refstyle } # reference printing styles diff --git a/include/cprint b/include/cprint index b3d69c5..4c15d72 100644 --- a/include/cprint +++ b/include/cprint @@ -4,7 +4,7 @@ # # # Version 3.0 # # Jeffrey H. Kingston # -# 5 April 2000 # +# 10 April 2000 # # # ############################################################################### @@ -32,7 +32,8 @@ @Use { @CPSetup # pipe { } # pipe source through this - # style { fixed } # fixed, varying, or symbol + # numbered { No } # No, Yes, or a line number + # style { fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -48,6 +49,7 @@ # fixednumbers { Base } # number face # fixedstrings { Base } # string face # fixedcomments { Base } # comment face + # fixedlinenumbers { Base } # line numbers face # fixedidentifiersformat { @Body } # identifiers format # fixedkeywordsformat { @Body } # keywords format @@ -55,6 +57,7 @@ # fixednumbersformat { @Body } # numbers format # fixedstringsformat { @Body } # strings format # fixedcommentsformat { @Body } # comments format + # fixedlinenumbersformat { @Body } # line numbers format # the following options apply when style is "varying" @@ -70,6 +73,7 @@ # varyingnumbers { Base } # number face # varyingstrings { Slope } # string face # varyingcomments { Base } # comment face + # varyinglinenumbers { Base } # line numbers face # varyingidentifiersformat { @Body } # identifiers format # varyingkeywordsformat { @Body } # keywords format @@ -77,6 +81,7 @@ # varyingnumbersformat { @Body } # numbers format # varyingstringsformat { @Body } # strings format # varyingcommentsformat { @Body } # comments format + # varyinglinenumbersformat { @Body } # line numbers format # the following options apply when style is "symbol" @@ -92,6 +97,7 @@ # symbolnumbers { Base } # number face # symbolstrings { Slope } # string face # symbolcomments { Base } # comment face + # symbollinenumbers { Base } # line numbers face # symbolidentifiersformat { @Body } # identifiers format # symbolkeywordsformat { @Body } # keywords format @@ -99,4 +105,5 @@ # symbolnumbersformat { @Body } # numbers format # symbolstringsformat { @Body } # strings format # symbolcommentsformat { @Body } # comments format + # symbollinenumbersformat { @Body } # line numbers format } diff --git a/include/cprintf b/include/cprintf index 5a2ce50..0307c29 100644 --- a/include/cprintf +++ b/include/cprintf @@ -5,7 +5,7 @@ # # # Version 3.0 # # Jeffrey H. Kingston # -# 5 April 2000 # +# 10 April 2000 # # # # This package uses a filtered body parameter to convert program source # # code into Lout source. The filter program is prg2lout, which is # @@ -16,7 +16,8 @@ export @CP def @CPSetup - named pipe { } # pipe through this first + named pipe { } # pipe through this + named numbered { No } # numbered lines? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -35,6 +36,7 @@ def @CPSetup named fixednumbers { Base } # number face named fixedstrings { Base } # string face named fixedcomments { Base } # comment face + named fixedlinenumbers { Base } # line numbers face named fixedidentifiersformat right @Body { @Body } # identifier format named fixedkeywordsformat right @Body { @Body } # keyword format @@ -42,6 +44,7 @@ def @CPSetup named fixednumbersformat right @Body { @Body } # number format named fixedstringsformat right @Body { @Body } # string format named fixedcommentsformat right @Body { @Body } # comment format + named fixedlinenumbersformat right @Body { @Body } # line nums format # the following options apply when style is "varying" named varyingfont { } # font family @@ -56,6 +59,7 @@ def @CPSetup named varyingnumbers { Base } # number face named varyingstrings { Slope } # string face named varyingcomments { Base } # comment face + named varyinglinenumbers { Base } # line numbers face named varyingidentifiersformat right @Body { @Body } # identifier format named varyingkeywordsformat right @Body { @Body } # keyword format @@ -63,6 +67,7 @@ def @CPSetup named varyingnumbersformat right @Body { @Body } # number format named varyingstringsformat right @Body { @Body } # string format named varyingcommentsformat right @Body { @Body } # comment format + named varyinglinenumbersformat right @Body { @Body } # line nums format # the following options apply when style is "symbol" named symbolfont { } # font family @@ -77,6 +82,7 @@ def @CPSetup named symbolnumbers { Base } # number face named symbolstrings { Slope } # string face named symbolcomments { Base } # comment face + named symbollinenumbers { Base } # line numbers face named symbolidentifiersformat right @Body { @Body } # identifier format named symbolkeywordsformat right @Body { @Body } # keyword format @@ -84,16 +90,18 @@ def @CPSetup named symbolnumbersformat right @Body { @Body } # number format named symbolstringsformat right @Body { @Body } # string format named symbolcommentsformat right @Body { @Body } # comment format + named symbollinenumbersformat right @Body { @Body } # line nums format @Begin export - @PI @PK @PO @PN @PS @PC @PA @PM @PD + @PI @PK @PO @PN @PS @PC @PL @PA @PM @PD @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 @@ -106,6 +114,7 @@ def @CPSetup 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 @@ -159,14 +168,24 @@ def @CPSetup def @Filter { + def wantnumbered + { + numbered @Case { + { No no } @Yield "" + { Yes yes } @Yield "-L" + else @Yield { "-L"numbered } + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lC" -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} - -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lC" wantnumbered -i{@FilterIn} + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lC" -o{@FilterOut} + "prg2lout -r -lC" wantnumbered -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } } @@ -302,6 +321,23 @@ def @CPSetup } + def @PL # for formatting line numbers + right x + { + style @Case { + fixed @Yield fixedlinenumbersformat { + { linenumbers @Else fixedlinenumbers } @Font x + } + varying @Yield varyinglinenumbersformat { + { linenumbers @Else varyinglinenumbers } @Font x + } + symbol @Yield symbollinenumbersformat { + { linenumbers @Else symbollinenumbers } @Font x + } + } + } + + def @PA # for formatting asterisks { @PO @BackEnd @Case { @@ -347,7 +383,7 @@ def @CPSetup { @InitFontFamily Base @InitSize } @Font - { @InitLine lines } @Break @Body + { @InitLine lines nohyphen } @Break @Body @End @CP diff --git a/include/doc b/include/doc index 85fd92c..126b8b9 100644 --- a/include/doc +++ b/include/doc @@ -14,7 +14,6 @@ # # ############################################################################### - @SysInclude { fontdefs } # font definitions @SysInclude { langdefs } # language definitions @SysInclude { bsf } # BasicSetup package @SysInclude { dsf } # DocumentSetup package @@ -85,11 +84,16 @@ # @OddRightMargin { 2.5c @OrIfPlain 10s } # right margin of odd pages # @EvenLeftMargin { 2.5c @OrIfPlain 10s } # left margin of even pages # @EvenRightMargin { 2.5c @OrIfPlain 10s } # right margin of even pages + # @OddLeftBodyMargin { 0c } # extra margin for page body + # @OddRightBodyMargin { 0c } # extra margin for page body + # @EvenLeftBodyMargin { 0c } # extra margin for page body + # @EvenRightBodyMargin{ 0c } # extra margin for page body # @PageBoxType { None } # None Box CurveBox ShadowBox # @PageBoxMargin { 1.00c } # page box margin # @PageBoxLineWidth { } # page box line thickness # @PageBoxPaint { none } # page box paint # @PageBoxShadow { 0.60c } # shadow margin if ShadowBox + # @PageEnclose { @Body } # enclose every page in this # @ColumnNumber { 1 } # number of columns (1 to 10) # @ColumnGap { 1.00c @OrIfPlain 6s } # column gap @@ -362,4 +366,5 @@ # # ############################################################################### +@SysDatabase @FontDef { fontdefs } # font definitions @SysDatabase @RefStyle { refstyle } # reference printing styles diff --git a/include/dsf b/include/dsf index 56b2a51..b96c427 100644 --- a/include/dsf +++ b/include/dsf @@ -1,6 +1,6 @@ ############################################################################### # # -# Lout @DocumentSetup package (Version 3.16) # +# Lout @DocumentSetup package # # # # Version 1.0 by Jeffrey H. Kingston, 17 July 1991. # # Version 2.0 by Jeffrey H. Kingston, 22 December 1992. # @@ -14,6 +14,7 @@ # Version 3.13 by Jeffrey H. Kingston, October 1998. # # 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. # # # # This Lout package contains the general definitions used by all types of # # documents. It needs to be extended (see docf, reportf, bookf, slidesf, # @@ -66,12 +67,17 @@ def @DocumentSetup named @OddRightMargin { 2.50c @OrIfPlain 10s } # right margin of odd pages named @EvenLeftMargin { 2.50c @OrIfPlain 10s } # left margin of even pages named @EvenRightMargin { 2.50c @OrIfPlain 10s } # right margin of even pages + named @OddLeftBodyMargin { 0c } # extra margin for page body + named @OddRightBodyMargin { 0c } # extra margin for page body + named @EvenLeftBodyMargin { 0c } # extra margin for page body + named @EvenRightBodyMargin { 0c } # extra margin for page body named @PageBoxType { None } # None Box CurveBox ShadowBox named @PageBoxMargin { 1.00c } # page box margin import @LengthUnits named @PageBoxLineWidth { } # page box line thickness named @PageBoxPaint { none } # page box paint named @PageBoxShadow { 0.60c } # shadow margin if ShadowBox + named @PageEnclose right @Body { @Body } # page enclose named @ColumnNumber { 1 } # number of columns (1 to 10) named @ColumnGap { 1.00c @OrIfPlain 6s } # column gap named @FigureLocation { PageTop } # default figure location @@ -768,8 +774,8 @@ def @DocumentSetup { @OrientedWidth @Orient } @Wide { @OrientedHeight @Orient } @High { //@TopMargin ||@OddLeftMargin @PageBackground @Background - 1 @MargSet - @PageBox @HExpand { extra // @VExpand x } + # 1 @MargSet + @PageEnclose @PageBox @HExpand { extra // @VExpand x } ||@OddRightMargin //@FootMargin } } @@ -785,8 +791,8 @@ def @DocumentSetup { @OrientedWidth @Orient } @Wide { @OrientedHeight @Orient } @High { //@TopMargin ||@EvenLeftMargin @PageBackground @Background - 0 @MargSet - @PageBox @HExpand { extra // @VExpand x } + # 0 @MargSet + @PageEnclose @PageBox @HExpand { extra // @VExpand x } ||@EvenRightMargin //@FootMargin } } @@ -1529,6 +1535,16 @@ def @DocumentSetup } } + def @OddBodyMargins right x + { + @OddLeftBodyMargin @Wide {} || 1 @MargSet x || @OddRightBodyMargin @Wide {} + } + + def @EvenBodyMargins right x + { + @EvenLeftBodyMargin @Wide {} || 0 @MargSet x || @EvenRightBodyMargin @Wide {} + } + def @SimplePageList named @ColumnNumber {} named @PageHeaders {} @@ -1542,11 +1558,14 @@ def @DocumentSetup { {@PageHeaders.{@SStart @PageNum}} @OddTopHeader { @PageNumbers @Num @PageNum } - //@MidGap @AtTop - //@MidGap @PageOddTopSection @Orient - //@MidGap @ChooseColList @ColumnNumber - // //1rt @OneRow - { // @PageFootSection + //@MidGap + @OddBodyMargins { + @AtTop + //@MidGap @PageOddTopSection @Orient + //@MidGap @ChooseColList @ColumnNumber + } + //1rt @OneRow + { // @OddBodyMargins @PageFootSection //@MidGap {@PageHeaders.{@SStart @PageNum}} @OddFootHeader { @PageNumbers @Num @PageNum } } @@ -1556,8 +1575,8 @@ def @DocumentSetup { {@PageHeaders.{@SStart @PageNum}} @OddTopHeader { @PageNumbers @Num @PageNum } - //@MidGap @OddFullPageSection - // //1rt @OneRow + //@MidGap @OddBodyMargins @OddFullPageSection + //1rt @OneRow { //@MidGap {@PageHeaders.{@SStart @PageNum}} @OddFootHeader { @PageNumbers @Num @PageNum } } @@ -1574,10 +1593,13 @@ def @DocumentSetup { @PageHeaders.NonStart @EvenTopHeader { @PageNumbers @Num @PageNum } - //@MidGap @PageEvenTopSection @Orient - //@MidGap @ChooseColList @ColumnNumber - // //1rt @OneRow - { // @PageFootSection + //@MidGap + @EvenBodyMargins { + @PageEvenTopSection @Orient + //@MidGap @ChooseColList @ColumnNumber + } + //1rt @OneRow + { // @EvenBodyMargins @PageFootSection //@MidGap @PageHeaders.NonStart @EvenFootHeader { @PageNumbers @Num @PageNum } } @@ -1587,8 +1609,8 @@ def @DocumentSetup { @PageHeaders.NonStart @EvenTopHeader { @PageNumbers @Num @PageNum } - //@MidGap @EvenFullPageSection - // //1rt @OneRow + //@MidGap @EvenBodyMargins @EvenFullPageSection + //1rt @OneRow { //@MidGap @PageHeaders.NonStart @EvenFootHeader { @PageNumbers @Num @PageNum } } @@ -1613,7 +1635,7 @@ def @DocumentSetup rawnum { @PageNum } num { @PageNumbers @Num @PageNum } // @FootNoteThrough @NoDo @BeginFootNoteCounter - // { extra @Then @ZeroColList @ColumnNumber } @OddPage @Orient { @Orient } + // { extra @Then @OddBodyMargins @ZeroColList @ColumnNumber } @OddPage @Orient { @Orient } { @OrdinaryOddPage ||{@OrientedWidth @Orient} @FullPageOddPage } @@ -1635,15 +1657,18 @@ def @DocumentSetup num { @IntroPageNumbers @Num @PageNum } rawnum { @PageNum } // @FootNoteThrough @NoDo @BeginFootNoteCounter - // { extra @Then @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient } + // { extra @Then @OddBodyMargins @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient } { {@PageHeaders.{@SStart @PageNum}} @IntroOddTopHeader { @IntroPageNumbers @Num @PageNum } - //@MidGap @AtTop - //@MidGap @PageIntroOddTopSection @Orient - //@MidGap @ChooseIntroColList @ColumnNumber - // //1rt @OneRow - { // @PageFootSection + //@MidGap + @OddBodyMargins { + @AtTop + //@MidGap @PageIntroOddTopSection @Orient + //@MidGap @ChooseIntroColList @ColumnNumber + } + //1rt @OneRow + { // @OddBodyMargins @PageFootSection //@MidGap {@PageHeaders.{@SStart @PageNum}} @IntroOddFootHeader { @IntroPageNumbers @Num @PageNum } @@ -1657,10 +1682,13 @@ def @DocumentSetup @Runner&&following @Open { @PageHeaders.NonStart @IntroEvenTopHeader { @IntroPageNumbers @Num @Next @PageNum } - //@MidGap @PageIntroEvenTopSection @Orient - //@MidGap @ChooseIntroColList @ColumnNumber - // //1rt @OneRow - { // @PageFootSection + //@MidGap + @EvenBodyMargins { + @PageIntroEvenTopSection @Orient + //@MidGap @ChooseIntroColList @ColumnNumber + } + //1rt @OneRow + { // @EvenBodyMargins @PageFootSection //@MidGap @PageHeaders.NonStart @IntroEvenFootHeader { @IntroPageNumbers @Num @Next @PageNum } } @@ -1698,10 +1726,13 @@ def @DocumentSetup @Runner&&following @Open { @PageHeaders.NonStart @IntroEvenTopHeader { @IntroPageNumbers @Num @PageNum } - //@MidGap @PageIntroEvenTopSection @Orient - //@MidGap @ChooseIntroColList @ColumnNumber - // //1rt @OneRow - { // @PageFootSection + //@MidGap + @EvenBodyMargins { + @PageIntroEvenTopSection @Orient + //@MidGap @ChooseIntroColList @ColumnNumber + } + //1rt @OneRow + { // @EvenBodyMargins @PageFootSection //@MidGap @PageHeaders.NonStart @IntroEvenFootHeader { @IntroPageNumbers @Num @PageNum } } @@ -1716,15 +1747,18 @@ def @DocumentSetup num { @IntroPageNumbers @Num @PageNum } rawnum { @PageNum } // @FootNoteThrough @NoDo @BeginFootNoteCounter - // { extra @Then @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient } + // { extra @Then @OddBodyMargins @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient } { {@PageHeaders.{@SStart @PageNum}} @IntroOddTopHeader { @IntroPageNumbers @Num @PageNum } - //@MidGap @AtTop - //@MidGap @PageIntroOddTopSection @Orient - //@MidGap @ChooseIntroColList @ColumnNumber - // //1rt @OneRow - { // @PageFootSection + //@MidGap + @OddBodyMargins { + @AtTop + //@MidGap @PageIntroOddTopSection @Orient + //@MidGap @ChooseIntroColList @ColumnNumber + } + //1rt @OneRow + { // @OddBodyMargins @PageFootSection //@MidGap {@PageHeaders.{@SStart @PageNum}} @IntroOddFootHeader { @IntroPageNumbers @Num @PageNum } @@ -1767,11 +1801,14 @@ def @DocumentSetup prefix { @Prefix } owner { @Owner } } - //@MidGap @AtTop - //@MidGap @PageOddTopSection @Orient - //@MidGap @ChooseColList @ColumnNumber - // //1rt @OneRow - { // @PageFootSection + //@MidGap + @OddBodyMargins { + @AtTop + //@MidGap @PageOddTopSection @Orient + //@MidGap @ChooseColList @ColumnNumber + } + //1rt @OneRow + { // @OddBodyMargins @PageFootSection //@MidGap @PageHeaders.@Start @RunningOddFootHeader @MajorNum { @MajorNum } @MajorTitle { @MajorTitle } @MinorNum { @MinorNum } @MinorTitle { @MinorTitle } @@ -1807,9 +1844,12 @@ def @DocumentSetup prefix { @Prefix } owner { @Owner } } - //@MidGap @AtTop - //@MidGap @OddFullPageSection - // //1rt @OneRow + //@MidGap + @OddBodyMargins { + @AtTop + //@MidGap @OddFullPageSection + } + //1rt @OneRow { //@MidGap @PageHeaders.@Start @RunningOddFootHeader @MajorNum { @MajorNum } @MajorTitle { @MajorTitle } @@ -1852,10 +1892,13 @@ def @DocumentSetup prefix { @Prefix } owner { @Owner } } - //@MidGap @PageEvenTopSection @Orient - //@MidGap @ChooseColList @ColumnNumber - // //1rt @OneRow - { // @PageFootSection + //@MidGap + @EvenBodyMargins { + @PageEvenTopSection @Orient + //@MidGap @ChooseColList @ColumnNumber + } + //1rt @OneRow + { // @EvenBodyMargins @PageFootSection //@MidGap @PageHeaders.@Start @RunningEvenFootHeader @MajorNum { @MajorNum } @MajorTitle { @MajorTitle } @MinorNum { @MinorNum } @MinorTitle { @MinorTitle } @@ -1891,8 +1934,9 @@ def @DocumentSetup prefix { @Prefix } owner { @Owner } } - //@MidGap @EvenFullPageSection - // //1rt @OneRow + //@MidGap + @EvenBodyMargins @EvenFullPageSection + //1rt @OneRow { //@MidGap @PageHeaders.@Start @RunningEvenFootHeader @MajorNum { @MajorNum } @MajorTitle { @MajorTitle } @@ -1921,7 +1965,7 @@ def @DocumentSetup } @FootNoteThrough @NoDo @BeginFootNoteCounter - // { extra @Then @ZeroColList @ColumnNumber } @OddPage @Orient { @Orient } + // { extra @Then @OddBodyMargins @ZeroColList @ColumnNumber } @OddPage @Orient { @Orient } { @OrdinaryOddPage ||{@OrientedWidth @Orient} @FullPageOddPage } @@ -1940,7 +1984,7 @@ def @DocumentSetup right @PageNum { @FootNoteThrough @NoDo @BeginFootNoteCounter - // { extra @Then @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient } + // { extra @Then @OddBodyMargins @ZeroIntroColList @ColumnNumber } @OddPage @Orient { @Orient } @Runner&&following @Open { @PageMarker @@ -1960,11 +2004,14 @@ def @DocumentSetup prefix { @Prefix } owner { @Owner } } - //@MidGap @AtTop - //@MidGap @PageIntroOddTopSection @Orient - //@MidGap @IntroColList @ColumnNumber - // //1rt @OneRow - { // @PageFootSection + //@MidGap + @OddBodyMargins { + @AtTop + //@MidGap @PageIntroOddTopSection @Orient + //@MidGap @IntroColList @ColumnNumber + } + //1rt @OneRow + { // @OddBodyMargins @PageFootSection //@MidGap @PageHeaders.@Start @RunningIntroOddFootHeader @MajorNum { @MajorNum } @MajorTitle { @MajorTitle } @MinorNum { @MinorNum } @MinorTitle { @MinorTitle } @@ -1998,10 +2045,13 @@ def @DocumentSetup prefix { @Prefix } owner { @Owner } } - //@MidGap @PageIntroEvenTopSection @Orient - //@MidGap @ChooseIntroColList @ColumnNumber - // //1rt @OneRow - { // @PageFootSection + //@MidGap + @EvenBodyMargins { + @PageIntroEvenTopSection @Orient + //@MidGap @ChooseIntroColList @ColumnNumber + } + //1rt @OneRow + { // @EvenBodyMargins @PageFootSection //@MidGap @PageHeaders.@Start @RunningIntroEvenFootHeader @MajorNum { @MajorNum } @MajorTitle { @MajorTitle } @MinorNum { @MinorNum } @MinorTitle { @MinorTitle } diff --git a/include/eiffel b/include/eiffel index e31a170..3708d86 100644 --- a/include/eiffel +++ b/include/eiffel @@ -32,6 +32,7 @@ @Use { @EiffelSetup # pipe { } # pipe source through this + # numbered { No } # No, Yes, or a line number # style { varying @OrIfPlain fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -48,6 +49,7 @@ # fixednumbers { Base } # number face # fixedstrings { Base } # string face # fixedcomments { Base } # comment face + # fixedlinenumbers { Base } # line numbers face # fixedidentifiersformat { @Body } # identifiers format # fixedkeywordsformat { @Body } # keywords format @@ -55,6 +57,7 @@ # fixednumbersformat { @Body } # numbers format # fixedstringsformat { @Body } # strings format # fixedcommentsformat { @Body } # comments format + # fixedlinenumbersformat { @Body } # line numbers format # the following options apply when style is "varying" @@ -70,6 +73,7 @@ # varyingnumbers { Base } # number face # varyingstrings { Slope } # string face # varyingcomments { Base } # comment face + # varyinglinenumbers { Base } # line numbers face # varyingidentifiersformat { @Body } # identifiers format # varyingkeywordsformat { @Body } # keywords format @@ -77,6 +81,7 @@ # varyingnumbersformat { @Body } # numbers format # varyingstringsformat { @Body } # strings format # varyingcommentsformat { @Body } # comments format + # varyinglinenumbersformat { @Body } # line numbers format # the following options apply when style is "symbol" @@ -92,6 +97,7 @@ # symbolnumbers { Base } # number face # symbolstrings { Slope } # string face # symbolcomments { Base } # comment face + # symbollinenumbers { Base } # line numbers face # symbolidentifiersformat { @Body } # identifiers format # symbolkeywordsformat { @Body } # keywords format @@ -99,4 +105,5 @@ # symbolnumbersformat { @Body } # numbers format # symbolstringsformat { @Body } # strings format # symbolcommentsformat { @Body } # comments format + # symbollinenumbersformat { @Body } # line numbers format } diff --git a/include/eiffelf b/include/eiffelf index 2beaa6e..573e8a9 100644 --- a/include/eiffelf +++ b/include/eiffelf @@ -17,6 +17,7 @@ export @Eiffel def @EiffelSetup named pipe { } # pipe through this first + named numbered { No } # want lines numbered? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -35,6 +36,7 @@ def @EiffelSetup named fixednumbers { Base } # number face named fixedstrings { Base } # string face named fixedcomments { Base } # comment face + named fixedlinenumbers { Base } # line numbers face named fixedidentifiersformat right @Body { @Body } # identifier format named fixedkeywordsformat right @Body { @Body } # keyword format @@ -42,6 +44,7 @@ def @EiffelSetup named fixednumbersformat right @Body { @Body } # number format named fixedstringsformat right @Body { @Body } # string format named fixedcommentsformat right @Body { @Body } # comment format + named fixedlinenumbersformat right @Body { @Body } # line nums format # the following options apply when style is "varying" named varyingfont { } # font family @@ -56,6 +59,7 @@ def @EiffelSetup named varyingnumbers { Base } # number face named varyingstrings { Slope } # string face named varyingcomments { Base } # comment face + named varyinglinenumbers { Base } # line numbers face named varyingidentifiersformat right @Body { @Body } # identifier format named varyingkeywordsformat right @Body { @Body } # keyword format @@ -63,6 +67,7 @@ def @EiffelSetup named varyingnumbersformat right @Body { @Body } # number format named varyingstringsformat right @Body { @Body } # string format named varyingcommentsformat right @Body { @Body } # comment format + named varyinglinenumbersformat right @Body { @Body } # line nums format # the following options apply when style is "symbol" named symbolfont { } # font family @@ -77,6 +82,7 @@ def @EiffelSetup named symbolnumbers { Base } # number face named symbolstrings { Slope } # string face named symbolcomments { Base } # comment face + named symbollinenumbers { Base } # line numbers face named symbolidentifiersformat right @Body { @Body } # identifier format named symbolkeywordsformat right @Body { @Body } # keyword format @@ -84,16 +90,18 @@ def @EiffelSetup named symbolnumbersformat right @Body { @Body } # number format named symbolstringsformat right @Body { @Body } # string format named symbolcommentsformat right @Body { @Body } # comment format + named symbollinenumbersformat right @Body { @Body } # line nums format @Begin export - @PI @PK @PO @PN @PS @PC @PA @PM @PD + @PI @PK @PO @PN @PS @PC @PL @PA @PM @PD @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 @@ -106,6 +114,7 @@ def @EiffelSetup 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 @@ -159,14 +168,24 @@ def @EiffelSetup def @Filter { + def wantnumbered + { + numbered @Case { + { No no } @Yield "" + { Yes yes } @Yield "-L" + else @Yield { "-L"numbered } + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lEiffel" -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} - -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lEiffel" wantnumbered -i{@FilterIn} + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lEiffel" -o{@FilterOut} + "prg2lout -r -lEiffel" wantnumbered -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } } @@ -302,6 +321,23 @@ def @EiffelSetup } + def @PL # for formatting line numbers + right x + { + style @Case { + fixed @Yield fixedlinenumbersformat { + { linenumbers @Else fixedlinenumbers } @Font x + } + varying @Yield varyinglinenumbersformat { + { linenumbers @Else varyinglinenumbers } @Font x + } + symbol @Yield symbollinenumbersformat { + { linenumbers @Else symbollinenumbers } @Font x + } + } + } + + def @PA # for formatting asterisks { @PO @BackEnd @Case { @@ -347,7 +383,7 @@ def @EiffelSetup { @InitFontFamily Base @InitSize } @Font - { @InitLine lines } @Break @Body + { @InitLine lines nohyphen } @Break @Body @End @Eiffel diff --git a/include/init b/include/init index 2718c22..eace623 100644 --- a/include/init +++ b/include/init @@ -11,7 +11,6 @@ ############################################################################### -@SysInclude { fontdefs } # font definitions @SysInclude { langdefs } # language definitions @SysInclude { bsf } # BasicSetup package @SysInclude { dsf } # DocumentSetup package @@ -32,3 +31,5 @@ def @LaTeX @SysDatabase @Reference { loutrefs } # references about Lout @SysDatabase @Reference { oldrefs } # old references about Lout @SysDatabase @RefStyle { refstyle } # reference printing styles +@SysDatabase @FontDef { fontdefs } # font definitions +@SysDatabase @FontDef { latin2 } # more font definitions diff --git a/include/latin2 b/include/latin2 index 35ddf2c..29883f2 100644 --- a/include/latin2 +++ b/include/latin2 @@ -6,4 +6,4 @@ # # ################################################################# -@SysInclude { latin2.fd } +@SysDatabase @FontDef { latin2 } diff --git a/include/fontdefs b/include/old.fd index 0001b97..0001b97 100644 --- a/include/fontdefs +++ b/include/old.fd diff --git a/include/perl b/include/perl index 86561a9..7b723b9 100644 --- a/include/perl +++ b/include/perl @@ -4,13 +4,31 @@ # # # Version 3.0 # # Jeffrey H. Kingston # -# 5 April 2000 # +# 10 April 2000 # # # ############################################################################### ############################################################################### # # +# @SysInclude { pod } # +# # +# This line causes Lout to read the default setup file for the Pod # +# documentation language that goes with Perl. If you want your own # +# Pod setup file, it is probably best to delete this line and place # +# # +# @Include { mypod } # +# @Include { myperl } # +# # +# at the start of your document in the usual way. # +# # +############################################################################### + +@SysInclude { pod } + + +############################################################################### +# # # @SysInclude line # # # # This line causes Lout to read the definitions for this programming # @@ -32,7 +50,8 @@ @Use { @PerlSetup # pipe { } # pipe source through this - # style { fixed } # fixed, varying, or symbol + # numbered { No } # No, Yes, or a line number + # style { fixed } # fixed, varying, or symbol # the following options apply when style is "fixed" @@ -48,6 +67,7 @@ # fixednumbers { Base } # number face # fixedstrings { Base } # string face # fixedcomments { Base } # comment face + # fixedlinenumbers { Base } # line numbers face # fixedidentifiersformat { @Body } # identifiers format # fixedkeywordsformat { @Body } # keywords format @@ -55,6 +75,7 @@ # fixednumbersformat { @Body } # numbers format # fixedstringsformat { @Body } # strings format # fixedcommentsformat { @Body } # comments format + # fixedlinenumbersformat { @Body } # line numbers format # the following options apply when style is "varying" @@ -70,6 +91,7 @@ # varyingnumbers { Base } # number face # varyingstrings { Slope } # string face # varyingcomments { Base } # comment face + # varyinglinenumbers { Base } # line numbers face # varyingidentifiersformat { @Body } # identifiers format # varyingkeywordsformat { @Body } # keywords format @@ -77,6 +99,7 @@ # varyingnumbersformat { @Body } # numbers format # varyingstringsformat { @Body } # strings format # varyingcommentsformat { @Body } # comments format + # varyinglinenumbersformat { @Body } # line numbers format # the following options apply when style is "symbol" @@ -92,6 +115,7 @@ # symbolnumbers { Base } # number face # symbolstrings { Slope } # string face # symbolcomments { Base } # comment face + # symbollinenumbers { Base } # line numbers face # symbolidentifiersformat { @Body } # identifiers format # symbolkeywordsformat { @Body } # keywords format @@ -99,4 +123,5 @@ # symbolnumbersformat { @Body } # numbers format # symbolstringsformat { @Body } # strings format # symbolcommentsformat { @Body } # comments format + # symbollinenumbersformat { @Body } # line numbers format } diff --git a/include/perlf b/include/perlf index 20604d3..b82f3a8 100644 --- a/include/perlf +++ b/include/perlf @@ -5,7 +5,7 @@ # # # Version 3.0 # # Jeffrey H. Kingston # -# 5 April 2000 # +# 10 April 2000 # # # # This package uses a filtered body parameter to convert program source # # code into Lout source. The filter program is prg2lout, which is # @@ -16,7 +16,8 @@ export @Perl def @PerlSetup - named pipe { } # pipe through this first + named pipe { } # pipe through this + named numbered { No } # numbered lines? named style named @OrIfPlain left x right y { @BackEnd @Case { PlainText @Yield y else @Yield x } } @@ -35,6 +36,7 @@ def @PerlSetup named fixednumbers { Base } # number face named fixedstrings { Base } # string face named fixedcomments { Base } # comment face + named fixedlinenumbers { Base } # line numbers face named fixedidentifiersformat right @Body { @Body } # identifier format named fixedkeywordsformat right @Body { @Body } # keyword format @@ -42,6 +44,7 @@ def @PerlSetup named fixednumbersformat right @Body { @Body } # number format named fixedstringsformat right @Body { @Body } # string format named fixedcommentsformat right @Body { @Body } # comment format + named fixedlinenumbersformat right @Body { @Body } # line nums format # the following options apply when style is "varying" named varyingfont { } # font family @@ -56,6 +59,7 @@ def @PerlSetup named varyingnumbers { Base } # number face named varyingstrings { Slope } # string face named varyingcomments { Base } # comment face + named varyinglinenumbers { Base } # line numbers face named varyingidentifiersformat right @Body { @Body } # identifier format named varyingkeywordsformat right @Body { @Body } # keyword format @@ -63,6 +67,7 @@ def @PerlSetup named varyingnumbersformat right @Body { @Body } # number format named varyingstringsformat right @Body { @Body } # string format named varyingcommentsformat right @Body { @Body } # comment format + named varyinglinenumbersformat right @Body { @Body } # line nums format # the following options apply when style is "symbol" named symbolfont { } # font family @@ -77,6 +82,7 @@ def @PerlSetup named symbolnumbers { Base } # number face named symbolstrings { Slope } # string face named symbolcomments { Base } # comment face + named symbollinenumbers { Base } # line numbers face named symbolidentifiersformat right @Body { @Body } # identifier format named symbolkeywordsformat right @Body { @Body } # keyword format @@ -84,16 +90,18 @@ def @PerlSetup named symbolnumbersformat right @Body { @Body } # number format named symbolstringsformat right @Body { @Body } # string format named symbolcommentsformat right @Body { @Body } # comment format + named symbollinenumbersformat right @Body { @Body } # line nums format @Begin export - @PI @PK @PO @PN @PS @PC @PA @PM @PD + @PI @PK @PO @PN @PS @PC @PL @PA @PM @PD @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 @@ -106,6 +114,7 @@ def @PerlSetup 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 @@ -159,14 +168,24 @@ def @PerlSetup def @Filter { + def wantnumbered + { + numbered @Case { + { No no } @Yield "" + { Yes yes } @Yield "-L" + else @Yield { "-L"numbered } + } + } + pipe @Case { "" @Yield { - "prg2lout -r -lPerl" -i{@FilterIn} -o{@FilterOut} -e{@FilterErr} - -t{@InitTab} -T{@InitTabWidth} + "prg2lout -r -lPerl" wantnumbered -i{@FilterIn} + -o{@FilterOut} -e{@FilterErr} + -t{@InitTab} -T{@InitTabWidth} } else @Yield { "cat" @FilterIn "|" pipe "|" - "prg2lout -r -lPerl" -o{@FilterOut} + "prg2lout -r -lPerl" wantnumbered -o{@FilterOut} -e{@FilterErr} -t{@InitTab} -T{@InitTabWidth} } } @@ -302,6 +321,23 @@ def @PerlSetup } + def @PL # for formatting line numbers + right x + { + style @Case { + fixed @Yield fixedlinenumbersformat { + { linenumbers @Else fixedlinenumbers } @Font x + } + varying @Yield varyinglinenumbersformat { + { linenumbers @Else varyinglinenumbers } @Font x + } + symbol @Yield symbollinenumbersformat { + { linenumbers @Else symbollinenumbers } @Font x + } + } + } + + def @PA # for formatting asterisks { @PO @BackEnd @Case { @@ -347,7 +383,7 @@ def @PerlSetup { @InitFontFamily Base @InitSize } @Font - { @InitLine lines } @Break @Body + { @InitLine lines nohyphen } @Break @Body @End @Perl diff --git a/include/picture b/include/picture index abe6d43..f797c49 100644 --- a/include/picture +++ b/include/picture @@ -14,7 +14,6 @@ # # ############################################################################### - @SysInclude { fontdefs } # font definitions @SysInclude { langdefs } # language definitions @SysInclude { bsf } # BasicSetup package @SysInclude { dsf } # DocumentSetup package @@ -85,11 +84,16 @@ # @OddRightMargin { 2.5c @OrIfPlain 10s } # right margin of odd pages # @EvenLeftMargin { 2.5c @OrIfPlain 10s } # left margin of even pages # @EvenRightMargin { 2.5c @OrIfPlain 10s } # right margin of even pages + # @OddLeftBodyMargin { 0c } # extra margin for page body + # @OddRightBodyMargin { 0c } # extra margin for page body + # @EvenLeftBodyMargin { 0c } # extra margin for page body + # @EvenRightBodyMargin{ 0c } # extra margin for page body # @PageBoxType { None } # None Box CurveBox ShadowBox # @PageBoxMargin { 1.00c } # page box margin # @PageBoxLineWidth { } # page box line thickness # @PageBoxPaint { none } # page box paint # @PageBoxShadow { 0.60c } # shadow margin if ShadowBox + # @PageEnclose { @Body } # enclose every page in this # @ColumnNumber { 1 } # number of columns (1 to 10) # @ColumnGap { 1.00c @OrIfPlain 6s } # column gap # @FigureLocation { PageTop } # default figure location @@ -263,4 +267,5 @@ # # ############################################################################### +@SysDatabase @FontDef { fontdefs } # font definitions @SysDatabase @RefStyle { refstyle } # reference printing styles diff --git a/include/pod b/include/pod index e827a24..42165f0 100644 --- a/include/pod +++ b/include/pod @@ -37,6 +37,12 @@ # There is no paragraph breaking option for verbatim since line breaks # # are honoured. # # # +# As you can see below, we have been obliged to give "Times Base" as # +# the default text font for varying style, rather than the usual empty, # +# to get a varying-width font when Pod is embedded in fixed-width Perl. If # +# you are using a different text font family in your document you will have # +# to change this option if you want your varying-width Pod in that family. # +# # ############################################################################### @Use { @PodSetup @@ -50,6 +56,8 @@ # fixedverbatimfont { Courier Base } # verbatim font # fixedtabin { 8 } # tab interval # fixedtabout { 8s } # tab width + # fixedlinenumbersfont { } # line numbers font + # fixedlinenumbersformat { @Body } # line numbers format # fixedparagap { 1.0v } # gap between paras # fixedlistgap { 1.0v } # gap within lists @@ -85,11 +93,13 @@ # the following options apply when style is "varying" - # varyingtextfont { } # text font + # varyingtextfont { Times Base } # text font # varyingtextbreak { adjust 1.0vx hyphen } # text para breaking # varyingverbatimfont { Courier Base -1p } # verbatim font # varyingtabin { 8 } # tab interval # varyingtabout { 8s } # tab width + # varyinglinenumbersfont { } # line numbers font + # varyinglinenumbersformat { @Body } # line numbers format # varyingparagap { 1.0v } # gap between paras # varyinglistgap { 1.0v } # gap within lists @@ -124,11 +134,13 @@ # the following options apply when style is "symbol" - # symboltextfont { } # text font + # symboltextfont { Times Base } # text font # symboltextbreak { adjust 1.0vx hyphen } # text para breaking # symbolverbatimfont { Courier Base -1p } # verbatim font # symboltabin { 8 } # tab interval # symboltabout { 8s } # tab width + # symbollinenumbersfont { } # line numbers font + # symbollinenumbersformat { @Body } # line numbers format # symbolparagap { 1.0v } # gap between paras # symbollistgap { 1.0v } # gap within lists diff --git a/include/podf b/include/podf index 108f455..1a64654 100644 --- a/include/podf +++ b/include/podf @@ -29,6 +29,8 @@ def @PodSetup named fixedverbatimfont { Courier Base } # verbatim font named fixedtabin { 8 } # tab interval named fixedtabout { 8s } # tab width + named fixedlinenumbersfont { } # line numbers font + named fixedlinenumbersformat right @Body{ @Body } # line numbers format named fixedparagap { 1.0v } # gap between paras named fixedlistgap { 1.0v } # gap within lists @@ -40,7 +42,7 @@ def @PodSetup named fixedaheadfont { Bold +4p } # =head1 font named fixedaheadbreak { lines 1.1vx } # =head1 para break - named fixedaheadformat right @Body { @DP @Body } # =head1 format + named fixedaheadformat right @Body { //1v @Body } # =head1 format named fixedbheadfont { Bold +2p } # =head2 font named fixedbheadbreak { lines 1.1vx } # =head2 para break named fixedbheadformat right @Body { @Body } # =head2 format @@ -64,11 +66,13 @@ def @PodSetup # the following options apply when style is "varying" - named varyingtextfont { } # text font + named varyingtextfont { Times Base } # text font named varyingtextbreak { adjust 1.0vx hyphen } # text para breaking named varyingverbatimfont { Courier Base -1p } # verbatim font named varyingtabin { 8 } # tab interval named varyingtabout { 8s } # tab width + named varyinglinenumbersfont { } # line numbers font + named varyinglinenumbersformat right @Body{ @Body } # line numbers format named varyingparagap { 1.0v } # gap between paras named varyinglistgap { 1.0v } # gap within lists @@ -80,7 +84,7 @@ def @PodSetup named varyingaheadfont { Bold +4p } # =head1 font named varyingaheadbreak { lines 1.1vx } # =head1 para break - named varyingaheadformat right @Body{ @DP @Body } # =head1 format + named varyingaheadformat right @Body{ //1v @Body } # =head1 format named varyingbheadfont { Bold +2p } # =head2 font named varyingbheadbreak { lines 1.1vx } # =head2 para break named varyingbheadformat right @Body{ @Body } # =head2 format @@ -103,11 +107,13 @@ def @PodSetup # the following options apply when style is "symbol" - named symboltextfont { } # text font + named symboltextfont { Times Base } # text font named symboltextbreak { adjust 1.0vx hyphen } # text para breaking named symbolverbatimfont { Courier Base -1p } # verbatim font named symboltabin { 8 } # tab interval named symboltabout { 8s } # tab width + named symbollinenumbersfont { } # line numbers font + named symbollinenumbersformat right @Body { @Body } # line numbers format named symbolparagap { 1.0v } # gap between paras named symbollistgap { 1.0v } # gap within lists @@ -119,7 +125,7 @@ def @PodSetup named symbolaheadfont { Bold +4p } # =head1 font named symbolaheadbreak { lines 1.1vx } # =head1 para break - named symbolaheadformat right @Body { @DP @Body } # =head1 format + named symbolaheadformat right @Body { //1v @Body } # =head1 format named symbolbheadfont { Bold +2p } # =head2 font named symbolbheadbreak { lines 1.1vx } # =head2 para break named symbolbheadformat right @Body { @Body } # =head2 format @@ -146,7 +152,7 @@ def @PodSetup export @PV @PPG @PLG @PLI @PLRI @PLLW @PLL @PHA @PHB @PHC - @PFI @PFB @PFC @PFF @PFL @PFX @A "$>" + @PFI @PFB @PFC @PFF @PFL @PFX @A "$>" @PL def @Pod named style { style } # style @@ -156,6 +162,7 @@ def @PodSetup named verbatimfont { dft } # verbatim font named tabin { dft } # tab interval named tabout { dft } # tab width + named linenumbersfont { dft } # line numbers font named paragap { dft } # gap between paras named listgap { dft } # gap within lists named listindent { dft } # list label indent @@ -347,10 +354,18 @@ def @PodSetup def @PLL right x { + def bullet + { + @BackEnd @Case { + PlainText @Yield "*" + else @Yield @Char "bullet" + } + } + def value { x @Case { - "*" @Yield @Bullet + "*" @Yield bullet else @Yield x } } @@ -506,6 +521,28 @@ def @PodSetup macro "$>" { {} & } + def pl # for formatting line numbers + right x + { + def strut { @VContract { 0.5v @High ^/ / 0.5v @High } } + + strut & style @Case { + fixed @Yield fixedlinenumbersformat { + { linenumbersfont @Else fixedlinenumbersfont } @Font x + } + varying @Yield varyinglinenumbersformat { + { linenumbersfont @Else varyinglinenumbersfont } @Font x + } + symbol @Yield symbollinenumbersformat { + { linenumbersfont @Else symbollinenumbersfont } @Font x + } + } + } + + + macro @PL { // pl } + + @InitFont @Font @InitBreak @Break @Body @End @Pod diff --git a/include/report b/include/report index 8c80944..50f73c5 100644 --- a/include/report +++ b/include/report @@ -19,7 +19,6 @@ # # ############################################################################### - @SysInclude { fontdefs } # font definitions @SysInclude { langdefs } # language definitions @SysInclude { bsf } # BasicSetup package @SysInclude { dsf } # DocumentSetup package @@ -90,11 +89,16 @@ # @OddRightMargin { 2.5c @OrIfPlain 10s } # right margin of odd pages # @EvenLeftMargin { 2.5c @OrIfPlain 10s } # left margin of even pages # @EvenRightMargin { 2.5c @OrIfPlain 10s } # right margin of even pages + # @OddLeftBodyMargin { 0c } # extra margin for page body + # @OddRightBodyMargin { 0c } # extra margin for page body + # @EvenLeftBodyMargin { 0c } # extra margin for page body + # @EvenRightBodyMargin{ 0c } # extra margin for page body # @PageBoxType { None } # None Box CurveBox ShadowBox # @PageBoxMargin { 1.00c } # page box margin # @PageBoxLineWidth { } # page box line thickness # @PageBoxPaint { none } # page box paint # @PageBoxShadow { 0.60c } # shadow margin if ShadowBox + # @PageEnclose { @Body } # enclose every page in this # @ColumnNumber { 1 } # number of columns (1 to 10) # @ColumnGap { 1.00c @OrIfPlain 6s } # column gap # @FigureLocation { PageTop } # default figure location @@ -285,7 +289,7 @@ # @FirstSubSubAppendixNumber { 1 } # first sub-sub. num (Arabic) # @AbstractHeadingFont { Bold } # abstract head font # @AbstractHeadingBreak { ragged 1.2fx nohyphen } # abstract head break - # @AbstractHeadingFormat { title } # abstract head fmt + # @AbstractHeadingFormat { @Centre title } # abstract head fmt # @ContentsHeadingFont { Bold } # contents head font # @ContentsHeadingBreak { ragged 1.2fx nohyphen } # contents head break # @ContentsHeadingFormat { title } # contents head fmt @@ -382,4 +386,5 @@ # # ############################################################################### +@SysDatabase @FontDef { fontdefs } # font definitions @SysDatabase @RefStyle { refstyle } # reference printing styles diff --git a/include/reportf b/include/reportf index 06d45af..379b997 100644 --- a/include/reportf +++ b/include/reportf @@ -43,7 +43,7 @@ def @ReportSetup named @AbstractHeadingFont { Bold } named @AbstractHeadingBreak { ragged 1.2fx nohyphen } named @AbstractHeadingFormat - right title { title } + right title { @Centre title } named @ContentsHeadingFont { Bold } named @ContentsHeadingBreak { ragged 1.2fx nohyphen } diff --git a/include/slides b/include/slides index 60088dd..60d5a63 100644 --- a/include/slides +++ b/include/slides @@ -14,7 +14,6 @@ # # ############################################################################### - @SysInclude { fontdefs } # font definitions @SysInclude { langdefs } # language definitions @SysInclude { bsf } # BasicSetup package @SysInclude { dsf } # DocumentSetup package @@ -88,11 +87,16 @@ # @OddRightMargin { 2.5c @OrIfPlain 10s } # right margin of odd pages # @EvenLeftMargin { 2.5c @OrIfPlain 10s } # left margin of even pages # @EvenRightMargin { 2.5c @OrIfPlain 10s } # right margin of even pages + # @OddLeftBodyMargin { 0c } # extra margin for page body + # @OddRightBodyMargin { 0c } # extra margin for page body + # @EvenLeftBodyMargin { 0c } # extra margin for page body + # @EvenRightBodyMargin{ 0c } # extra margin for page body # @PageBoxType { None } # None Box CurveBox ShadowBox # @PageBoxMargin { 1.00c } # page box margin # @PageBoxLineWidth { } # page box line thickness # @PageBoxPaint { none } # page box paint # @PageBoxShadow { 0.60c } # shadow margin if ShadowBox + # @PageEnclose { @Body } # enclose every page in this # @ColumnNumber { 1 } # number of columns (1 to 10) # @ColumnGap { 1.00c @OrIfPlain 6s } # column gap # @FigureLocation { PageTop } # default figure location @@ -308,4 +312,5 @@ # # ############################################################################### +@SysDatabase @FontDef { fontdefs } # font definitions @SysDatabase @RefStyle { refstyle } # reference printing styles diff --git a/include/tblf b/include/tblf index d3929cf..9770d63 100644 --- a/include/tblf +++ b/include/tblf @@ -187,6 +187,16 @@ def @TblSetup @HeaderRowg @HeaderRowh + @HeaderFirstRow + @HeaderFirstRowa + @HeaderFirstRowb + @HeaderFirstRowc + @HeaderFirstRowd + @HeaderFirstRowe + @HeaderFirstRowf + @HeaderFirstRowg + @HeaderFirstRowh + @EndHeaderRow @NP @@ -3145,6 +3155,16 @@ def @TblSetup macro @HeaderRowg { / @BeginHeaderComponent @DoRowg } macro @HeaderRowh { / @BeginHeaderComponent @DoRowh } + macro @HeaderFirstRow { @BeginHeaderComponent @DoRow } + macro @HeaderFirstRowa { @BeginHeaderComponent @DoRowa } + macro @HeaderFirstRowb { @BeginHeaderComponent @DoRowb } + macro @HeaderFirstRowc { @BeginHeaderComponent @DoRowc } + macro @HeaderFirstRowd { @BeginHeaderComponent @DoRowd } + macro @HeaderFirstRowe { @BeginHeaderComponent @DoRowe } + macro @HeaderFirstRowf { @BeginHeaderComponent @DoRowf } + macro @HeaderFirstRowg { @BeginHeaderComponent @DoRowg } + macro @HeaderFirstRowh { @BeginHeaderComponent @DoRowh } + macro @EndHeaderRow { / @EndHeaderComponent } macro @NP { /"1.1b" } @@ -20,7 +20,6 @@ # # ############################################################################### -@SysInclude { fontdefs } @SysInclude { langdefs } export @I @B @Heading @PP @LP @DP @NP @@ -103,3 +102,5 @@ def @ToySetup def @Document { @PageList 1 } @End @ToySetup + +@SysDatabase @FontDef { fontdefs } # font definitions @@ -1,9 +1,9 @@ ############################################################################### # # -# Make file for installing Basser Lout Version 3.19 # +# Make file for installing Basser Lout Version 3.21 # # # # Jeffrey H. Kingston # -# 14 February 2000 # +# 10 May 2000 # # # # make prg2lout Compile a small auxiliary program called prg2lout # # make lout Compile the Lout source # @@ -60,8 +60,8 @@ # can always specify safe or unsafe execution by means of the -S and # # -U options to lout when processing a document; SAFEDFT means that # # -S rather than -U is the default behaviour. Unsafe execution is # -# required when formatting programs and verbatim text, so if in # -# doubt, do not change the value of SAFEDFT. # +# required when formatting computer programs, so if in doubt, do not # +# change the value of SAFEDFT. # # # # (5) Set the following four macros defined below to appropriate values: # # # @@ -190,15 +190,11 @@ # (c) It will perform an initializing "lout -x" run. This run will # # do the following checks and initializations: # # # -# (i) It will read all the font files mentioned in file # -# $(LIBDIR)/include/fontdefs and check that they # -# exist and are in the correct format; # -# # -# (ii) It will read all the hyphenation (.lh) files mentioned # +# (i) It will read all the hyphenation (.lh) files mentioned # # in file $(LIBDIR)/include/langdefs, check them, and build # # the packed (.lp) versions; # # # -# (iii) It will read and check the three standard database # +# (ii) It will read and check the four standard database # # (.ld) files in directory $(LIBDIR)/data, and build # # the corresponding database index (.li) files. # # # @@ -225,9 +221,16 @@ # # # (18) 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 57 of file $(LIBDIR)/include/dsf. You can find the list of # -# known page types in the User's Guide, and also at line 615 in file # -# $(LIBDIR)/include/dsf. # +# on line 59 of file $(LIBDIR)/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 640 in $(LIBDIR)/include/dsf. # # # # (19) 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 # diff --git a/man/prg2lout.1 b/man/prg2lout.1 index 27232c7..0f6cc0f 100644 --- a/man/prg2lout.1 +++ b/man/prg2lout.1 @@ -93,6 +93,12 @@ is sufficiently large. For example, .B -T0.5i produces half-inch tab intervals. .TP +.BI \-L " number" +Attach line numbers to the program text, beginning with +.I number +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 \-S " filename" Use .I filename diff --git a/man/prg2lout.txt b/man/prg2lout.txt index 848c4ff..67b3e37 100644 --- a/man/prg2lout.txt +++ b/man/prg2lout.txt @@ -68,6 +68,12 @@ OPTIONS is sufficiently large. For example, -T0.5i produces half-inch tab intervals. + -L number + Attach line numbers to the program text, beginning with + number or 1 if number is not given. You may need to + give the 1 anyway to prevent prg2lout from taking a + following file name as a number. + -S filename Use filename as the setup file instead of the system default setup file. The setup file determines the @@ -45,12 +45,12 @@ /* end (cprint and cprintf, or their clones for other languages) does the */ /* formatting. For example, the C text */ /* */ -/* inc = inc + 1 */ +/* inc = inc / 2 */ /* */ /* would be classified by prg2lout into identifier, operator, identifier, */ /* operator, number; and consequently prg2lout would emit */ /* */ -/* @PI{"inc"} @PO{"="} @PI{"inc"} @PO{"+"} @PN{"1"} */ +/* @PI{inc} @PO{=} @PI{inc} @PO{"/"} @PN{2} */ /* */ /* which is readable by Lout, thanks to having quotes around everything */ /* potentially dangerous, and clearly tells Lout, by means of the commands */ @@ -104,11 +104,13 @@ /* the list of tokens of the language, and its keywords. */ /* */ /* Step 4. Add your language variable to the list in the initializer of */ -/* variable languages, as you can see the others have been done. */ +/* variable languages, as you can see the others have been done. Try to */ +/* keep the list alphabetical to deflect any charges of language bias. */ /* */ -/* Step 5. If any lists of initializers now contain more than */ -/* MAX_ARRAY_LENGTH-1 elements, increase MAX_ARRAY_LENGTH until they don't. */ -/* The gcc compiler will warn you if you forget to do this. */ +/* Step 5. If any lists of initializers now contain more than MAX_STARTS, */ +/* MAX_STARTS2, MAX_NAMES, MAX_TOKENS, or MAX_KEYWORDS elements, increase */ +/* these constants until they don't. The gcc compiler will warn you if */ +/* you forget to do this. */ /* */ /* Step 6. Recompile and reinstall prg2lout, test "prg2lout -u" then */ /* "prg2lout -l <mylanguage> <myfile> | lout -s > out.ps". */ @@ -126,9 +128,49 @@ #include <stdio.h> #include <stdlib.h> -#define FALSE 0 -#define TRUE 1 -#define BOOLEAN unsigned +#define FALSE 0 +#define TRUE 1 +#define BOOLEAN unsigned +#define MAX_CHAR 256 +#define is_whitespace(ch) ((ch)==' ' || (ch)=='\t' || (ch)=='\n' || (ch)=='\f') + +/*****************************************************************************/ +/* */ +/* MAX_STARTS 1 + Maximum length of "starts" array in any token */ +/* MAX_STARTS2 1 + Maximum length of "starts2" array in any token */ +/* MAX_NAMES 1 + Maximum number of names for any language */ +/* MAX_TOKENS 1 + Maximum number of tokens in any language */ +/* MAX_KEYWORDS 1 + Maximum number of keywords in any language */ +/* */ +/*****************************************************************************/ + +#define MAX_STARTS 120 +#define MAX_STARTS2 30 +#define MAX_NAMES 10 +#define MAX_TOKENS 150 +#define MAX_KEYWORDS 350 + +/*****************************************************************************/ +/* */ +/* Bracketing pairs */ +/* */ +/* This declaration explains to prg2lout that { matches }, etc. */ +/* */ +/*****************************************************************************/ + +typedef struct { + char *first; + char *second; +} CHAR_PAIR; + +CHAR_PAIR pairs[] = { + { "(", ")" }, + { "{", "}" }, + { "[", "]" }, + { "<", ">" }, + { NULL, NULL } +}; + /*****************************************************************************/ /* */ @@ -157,6 +199,10 @@ char AllPrintableTabNL[] = " !\"#$%&'()*+,-./0123456789:;<=>?@[\\]^_`\\{|}~\ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n\t" ; +char AllPrintableTabNLFF[] = + " !\"#$%&'()*+,-./0123456789:;<=>?@[\\]^_`\\{|}~\ +ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\n\t\f" ; + char Letters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" ; char Letter_Digit[] = @@ -171,6 +217,26 @@ char Letter_Digit[] = #define SepDigits "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" #define HexDigits "A", "a", "B", "b", "C", "c", "D", "d", "E", "e", "F", "f" + +#define SepPunct "/", "(", "[", "{", "<", "!", "%", "#", "|", ",", \ + ":", ";", "$", "\"","^", "&", "*", "-", "=", "+", \ + "~", "'", "@", "?", ".", "`" + +#define BktPunct "", "(", "[", "{", "<", "", "", "", "", "", \ + "", "", "", "", "", "", "", "", "", "", \ + "", "", "", "", "", "" + +#define EndPunct "/", ")", "]", "}", ">", "!", "%", "#", "|", ",", \ + ":", ";", "$", "\"","^", "&", "*", "-", "=", "+", \ + "~", "'", "@", "?", ".", "`" + +#define PercentLetters \ +"%A", "%B", "%C", "%D", "%E", "%F", "%G", "%H", "%I", "%J", "%K", \ +"%L", "%M", "%N", "%O", "%P", "%Q", "%R", "%S", "%T", "%U", "%V", \ +"%W", "%X", "%Y", "%Z", \ +"%a", "%b", "%c", "%d", "%e", "%f", "%g", "%h", "%i", "%j", "%k", \ +"%l", "%m", "%n", "%o", "%p", "%q", "%r", "%s", "%t", "%u", "%v", \ +"%w", "%x", "%y", "%z", "%_" /*****************************************************************************/ @@ -203,12 +269,21 @@ char Letter_Digit[] = /* \ in the token is printed with a preceding \ as required in Lout. */ /* The usual arrangement for handling white space is that none of the */ /* tokens contain it; when it is encountered prg2lout generates the */ -/* appropriate Lout without being told (a space for a space, a newline */ -/* for a newline, @NP for a formfeed, and something clever for tab */ -/* which does the required thing). However, you can define a token */ -/* that contains white space if you wish. If you do this, the */ -/* quotation marks will be temporarily closed off, the white space */ -/* handled as just described, then the quotes opened again. */ +/* appropriate Lout without being told: a space for a space, a newline */ +/* for a newline (possibly triggering a line number on the next line), */ +/* @NP for a formfeed, and something clever for tab which does the */ +/* required thing. However, you can define a token that contains */ +/* white space if you wish, and then the effect will be: */ +/* */ +/* space and tab The quotation marks will be temporarily */ +/* closed off, the white space handled as just */ +/* described, then the quotes opened again */ +/* */ +/* newline and ff Both the quotation marks and the command */ +/* will be closed off, the white space handled */ +/* as just described, and then a new command */ +/* started. In effect, the token is broken into */ +/* a sequence of tokens at these characters. */ /* */ /* PRINT_NODELIMS_QUOTED. This is like PRINT_WHOLE_QUOTED except that */ /* the opening and closing delimiters of the token are omitted from */ @@ -222,7 +297,18 @@ char Letter_Digit[] = /* so that it is the user's responsibility to ensure that its content */ /* is legal Lout; and when the command is another filter command, so */ /* that the token content will not go directly into Lout anyway, it */ -/* will go through the other filter first. */ +/* will go through the other filter first. Since the result has to */ +/* be verbatim, there is no special treatment of white space characters */ +/* and no insertion of line numbers. However, if braces are printed */ +/* they really ought to match, so prog2lout checks this and will */ +/* complain and insert braces into the verbatim part if necessary. */ +/* */ +/*****************************************************************************/ + + +/*****************************************************************************/ +/* */ +/* Meaning of TOKEN fields (ctd.) */ /* */ /* PRINT_NODELIMS_UNQUOTED. This is like PRINT_WHOLE_UNQUOTED except */ /* that the opening and closing delimiters of the token are omitted. */ @@ -232,19 +318,12 @@ char Letter_Digit[] = /* */ /* PRINT_COMMAND_ONLY. This ignores the token and prints just the */ /* command, presumably because the command says it all for that token. */ -/* When using PRINT_COMMAND_ONLY you will probably need to finish your */ -/* command with a space: since there are no following braces in this */ +/* When using PRINT_COMMAND_ONLY you will probably need to enclose the */ +/* command with braces: since there are no following braces in this */ /* print style, your command will run into the next one otherwise. */ /* */ -/*****************************************************************************/ - - -/*****************************************************************************/ -/* */ -/* Meaning of TOKEN fields (ctd.) */ -/* */ /* command */ -/* The Lout command to print. This command could be an legal Lout; */ +/* The Lout command to print. This command could be any legal Lout; */ /* programming language setup files offer the following Lout symbols */ /* that make the most common commands: */ /* */ @@ -269,7 +348,8 @@ char Letter_Digit[] = /* identifiers usually have command @PI and alternate_command @PK. */ /* */ /* following_command */ -/* Print this Lout command (or commands) after the token. */ +/* Print this Lout command (or commands) after the token. If it is a */ +/* "broken" multi-line token, print this command after each fragment */ /* */ /* start_line_only */ /* A Boolean field. If TRUE, this token is to be recognized only */ @@ -281,33 +361,38 @@ char Letter_Digit[] = /* then it deems that this token has begun. The recognized string */ /* is the token's "starting delimiter". */ /* */ -/* starts2[], ends2[] */ -/* These fields each hold an array of strings, and the two arrays */ -/* must have equal length. If they have length zero, these fields */ -/* do not apply. Otherwise, they modify the meaning of starts[] and */ -/* end_delimiter below. Their effect is best seen by looking at some */ -/* examples from Perl, their only user at the time of writing: */ +/*****************************************************************************/ + + +/*****************************************************************************/ /* */ -/* q/hello/ qq/hello/ qq?hello? qq{hello} */ +/* Meaning of TOKEN fields (ctd.) */ +/* */ +/* starts2[], brackets2[], ends2[] */ +/* These fields each hold an array of strings, and the three arrays */ +/* must have equal length. If starts2[] has length zero, these fields */ +/* do not apply. Otherwise, they modify the meaning of starts[], */ +/* bracket_delimiter, and end_delimiter below. Their effect is best */ +/* seen by looking at some examples from Perl, their main user: */ +/* */ +/* q/hello/ qq/hello/ qq?hello? qq{hel{}lo} */ /* */ /* These strings may begin with q, qq, qx, and several other things; */ /* this is then followed by a single character which determines the */ /* string terminator; e.g. / means "terminate with /", { means */ -/* "terminate with }", etc. This is implemented by putting these */ -/* pairs of strings in corresponding places in starts[] and ends[]. */ +/* "terminate with }", etc. In some cases the start and end delims */ +/* come in matching pairs, and then there may be nested matching */ +/* pairs. This is implemented as follows: */ /* */ -/* starts: { "q", "qq", "qx" } */ -/* starts2: { "/", "?", "{" } */ -/* ends2: { "/", "?", "}" } */ -/* */ -/* PerlQTypeToken is a larger example of this. */ -/* */ -/*****************************************************************************/ - - -/*****************************************************************************/ +/* starts: { "q", "qq" } */ +/* starts2: { "/", "?", "{" } */ +/* brackets2: { "", "", "{" } */ +/* ends2: { "/", "?", "}" } */ /* */ -/* Meaning of TOKEN fields (ctd.) */ +/* Briefly, every token with non-null starts2 is expanded into a set */ +/* of tokens, one for each element i of starts2, whose starting delims */ +/* are starts with starts2[i] added, bracketing delim brackets2[i], */ +/* and end_delim ends2[i]. PerlQTypeToken is a larger example of this. */ /* */ /* legal */ /* This string defines the set of legal characters inside this token. */ @@ -342,6 +427,18 @@ char Letter_Digit[] = /* number of tokens, and they may have inner escapes too; prg2lout */ /* imposes no limit on the depth of nesting of inner escapes. */ /* */ +/*****************************************************************************/ + + +/*****************************************************************************/ +/* */ +/* Meaning of TOKEN fields (ctd.) */ +/* */ +/* bracket_delimiter */ +/* If this string is encountered within a token (not escaped), it */ +/* brackets with the next end_delimiter, meaning that the next end */ +/* delimiter will not end the token. */ +/* */ /* end_delimiter */ /* This string shows how the token ends; for example, a string would */ /* have end_delimiter ". If empty, it means that the token ends */ @@ -361,15 +458,10 @@ char Letter_Digit[] = /* */ /* s/abc/ABC/ */ /* */ -/* and similar things as single tokens. Note that this works without */ -/* modification on s{abc}{ABC} provided { is legal within strings: as */ -/* long as the token terminates at the second }, we are safe. */ +/* etc. as single tokens. If there is a bracket delimiter (see above), */ +/* this will look for a new matching delimiter pair, as in s{}<>. */ /* */ /*****************************************************************************/ - - -#define MAX_CHAR 256 -#define MAX_ARRAY_LENGTH 401 #define PRINT_WHOLE_QUOTED 1 #define PRINT_NODELIMS_QUOTED 2 #define PRINT_WHOLE_UNQUOTED 3 @@ -380,18 +472,18 @@ char Letter_Digit[] = typedef struct token_rec { char *name; int print_style; - char *command; - char *alternate_command; - char *following_command; + char *command, *alternate_command, *following_command; BOOLEAN start_line_only; - char *starts[MAX_ARRAY_LENGTH]; - char *starts2[MAX_ARRAY_LENGTH]; - char *ends2[MAX_ARRAY_LENGTH]; + char *starts[MAX_STARTS]; + char *starts2[MAX_STARTS2]; + char *brackets2[MAX_STARTS2]; + char *ends2[MAX_STARTS2]; char *legal; char *escape; char *escape_legal; char *inner_escape; char *end_inner_escape; + char *bracket_delimiter; char *end_delimiter; BOOLEAN end_start_line_only; BOOLEAN want_two_ends; @@ -417,12 +509,14 @@ TOKEN CStringToken = { FALSE, /* token allowed anywhere, not just start of line */ { "\"" }, /* strings begin with a " character */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ AllPrintable, /* inside, any printable is OK */ "\\", /* within strings, \\ is the escape character */ AllPrintablePlusNL, /* after escape char, any printable char or nl OK */ "", /* strings do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "\"", /* strings end with a " character */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -437,12 +531,14 @@ TOKEN CCharacterToken = { FALSE, /* token allowed anywhere, not just start of line */ { "'" }, /* characters begin with a ' character */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ AllPrintable, /* inside, any printable character is OK */ "\\", /* within characters, \\ is the escape character */ AllPrintable, /* after escape char, any printable char is OK */ "", /* characters do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "'", /* characters end with a ' character */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -458,12 +554,13 @@ TOKEN EiffelStringToken = { FALSE, /* token allowed anywhere, not just start of line */ { "\"" }, /* strings begin with a " character */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ AllPrintable, /* inside, any printable except " is OK */ "%", /* within strings, % is the escape character */ - AllPrintable, /* after escape char, any printable char is OK */ - "", /* strings do not permit "inner escapes" */ + AllPrintable, /* after escape char, any printable char is OK */ "", /* strings do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "\"", /* strings end with a " character */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -478,12 +575,14 @@ TOKEN EiffelCharacterToken = { FALSE, /* token allowed anywhere, not just start of line */ { "'" }, /* characters begin with a ' character */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ AllPrintable, /* inside, any printable except ' is OK */ "%", /* within characters, % is the escape character */ AllPrintable, /* after escape char, any printable char is OK */ "", /* characters do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "'", /* characters end with a ' character */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -505,12 +604,14 @@ TOKEN IdentifierToken = { FALSE, /* token allowed anywhere, not just start of line */ { SepLetters, "_" }, /* identifiers begin with any letter or _ */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ Letter_Digit, /* inside, letters, underscores, digits are OK */ "", /* no escape character within identifiers */ "", /* so nothing legal after escape char either */ "", /* identifiers do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "", /* identifiers do not end with a delimiter */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -526,18 +627,20 @@ TOKEN IdentifierToken = { TOKEN NumberToken = { "number", /* used by error messages involving this token */ PRINT_WHOLE_QUOTED, /* print this token in quotes etc. as usual */ - "@PN", /* Lout command for formatting numbers */ + "@PN", /* Lout command for formatting numbers */ "", /* no alternate command */ "", /* no following command */ FALSE, /* token allowed anywhere, not just start of line */ { SepDigits }, /* numbers must begin with a digit */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ "0123456789.eE", /* inside, digits, decimal point, exponent */ "", /* no escape character within numbers */ "", /* so nothing legal after escape char either */ "", /* numbers do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "", /* numbers do not end with a delimiter */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -559,12 +662,14 @@ TOKEN CCommentToken = { FALSE, /* token allowed anywhere, not just start of line */ { "/*" }, /* comments begin with this character pair */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ - AllPrintableTabNL, /* inside, any printable char, tab, or nl is OK */ + AllPrintableTabNLFF, /* inside, any printable char, tab, nl, ff is OK */ "", /* no escape character within comments */ "", /* so nothing legal after escape char either */ "", /* C comments do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "*/", /* comments end with this character pair */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -579,12 +684,14 @@ TOKEN CPPCommentToken = { FALSE, /* token allowed anywhere, not just start of line */ { "//" }, /* comments begin with this character pair */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ - AllPrintable, /* inside, any printable char is OK (not NL) */ + AllPrintablePlusTab, /* inside, any printable char is OK (not NL) */ "", /* no escape character within comments */ "", /* so nothing legal after escape char either */ "", /* C comments do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "", /* no end delimiter (end of line will end it) */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -600,12 +707,14 @@ TOKEN EiffelCommentToken = { FALSE, /* token allowed anywhere, not just start of line */ { "--" }, /* comments begin with this character pair */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ - AllPrintable, /* inside, any printable char is OK */ + AllPrintablePlusTab, /* inside, any printable char is OK */ "", /* no escape character within comments */ "", /* so nothing legal after escape char either */ "`", /* start of "inner escape" in Eiffel comment */ "'", /* end of "inner escape" in Eiffel comment */ + "", /* no bracketing delimiter */ "", /* no ending delimiter; end of line will end it */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -620,12 +729,14 @@ TOKEN BlueCommentToken = { FALSE, /* token allowed anywhere, not just start of line */ { "==", "--" }, /* comments begin with this character pair */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ - AllPrintable, /* inside, any printable char is OK */ + AllPrintablePlusTab, /* inside, any printable char is OK */ "", /* no escape character within comments */ "", /* so nothing legal after escape char either */ "`", /* start of "inner escape" in Blue comment */ "'", /* end of "inner escape" in Blue comment */ + "", /* no bracketing delimiter */ "", /* no ending delimiter; end of line will end it */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -649,12 +760,14 @@ TOKEN CCommentEscapeToken = { FALSE, /* token allowed anywhere, not just start of line */ { "/*@" }, /* escape comments begin with this delimiter */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ - AllPrintableTabNL, /* inside, any printable char, tab, or nl is OK */ + AllPrintableTabNLFF, /* inside, any printable char, tab, nl, ff is OK */ "", /* no escape character within comments */ "", /* so nothing legal after escape char either */ "", /* no "inner escape" in escape comments */ "", /* so no end of "inner escape" either */ + "", /* no bracketing delimiter */ "*/", /* comments end with this character pair */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -669,12 +782,14 @@ TOKEN CPPCommentEscapeToken = { FALSE, /* token allowed anywhere, not just start of line */ { "//@" }, /* escape comments begin with this delimiter */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ - AllPrintable, /* inside, any printable char is OK */ + AllPrintablePlusTab, /* inside, any printable char is OK */ "", /* no escape character within comments */ "", /* so nothing legal after escape char either */ "", /* no "inner escape" in escape comments */ "", /* so no end of "inner escape" either */ + "", /* no bracketing delimiter */ "", /* no end delimiter (end of line will end it) */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -690,12 +805,14 @@ TOKEN EiffelCommentEscapeToken = { FALSE, /* token allowed anywhere, not just start of line */ { "--@" }, /* escape comments begin with this delimiter */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ - AllPrintable, /* inside, any printable char is OK */ + AllPrintablePlusTab, /* inside, any printable char is OK */ "", /* no escape character within comments */ "", /* so nothing legal after escape char either */ "", /* no "inner escape" in escape comments */ "", /* so no end of "inner escape" either */ + "", /* no bracketing delimiter */ "", /* no ending delimiter; end of line will end it */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -710,12 +827,14 @@ TOKEN BlueCommentEscapeToken = { FALSE, /* token allowed anywhere, not just start of line */ { "==@", "--@" }, /* escape comments begin with these delimiters */ { NULL }, /* no start2 needed */ + { NULL }, /* so no brackets2 either */ { NULL }, /* so no end2 either */ - AllPrintable, /* inside, any printable char is OK */ + AllPrintablePlusTab, /* inside, any printable char is OK */ "", /* no escape character within comments */ "", /* so nothing legal after escape char either */ "", /* no "inner escape" in escape comments */ "", /* so no end of "inner escape" either */ + "", /* no bracketing delimiter */ "", /* no ending delimiter; end of line will end it */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -738,10 +857,12 @@ TOKEN BlueCommentEscapeToken = { FALSE, /* token not just start of line */ \ { str }, /* token begins (and ends!) with this */ \ { NULL }, /* no start2 needed */ \ + { NULL }, /* so no brackets2 either */ \ { NULL }, /* so no end2 either */ \ "", /* nothing inside, since no inside */ \ "", "", /* no escape character */ \ "", "", /* no inner escape; no end inner esc */ \ + "", /* no bracketing delimiter */ \ "", /* no ending delimiter */ \ FALSE, /* end not have to be at line start */ \ FALSE, /* don't end delimiter twice to stop */ \ @@ -799,10 +920,12 @@ TOKEN ImpliesToken = FixedToken("=>", "implies @A @PO"); FALSE, /* token not just start of line */ \ { str }, /* token begins (and ends!) with this */ \ { NULL }, /* no start2 needed */ \ + { NULL }, /* so no bracket2 either */ \ { NULL }, /* so no end2 either */ \ "", /* nothing inside, since no inside */ \ "", "", /* no escape character */ \ "", "", /* no inner escape; no end inner esc */ \ + "", /* no bracketing delimiter */ \ "", /* no ending delimiter */ \ FALSE, /* end not have to be at line start */ \ FALSE, /* don't end delimiter twice to stop */ \ @@ -822,7 +945,8 @@ TOKEN EiffelDotToken = NoParameterToken(".", "{@PD}"); /* */ /* In the comments below, WCS refers to "Programming Perl", Second */ /* Edition (1996), by Wall, Christiansen, and Schwartz. However Perl */ -/* has changed since then and this code also reflects those changes. */ +/* has changed since then and this code also reflects those changes */ +/* based on the on-line documentation provided with the 5.6.0 release. */ /* */ /*****************************************************************************/ @@ -857,19 +981,11 @@ TOKEN EiffelDotToken = NoParameterToken(".", "{@PD}"); /* tr [a-z] */ /* [A-Z] */ /* */ -/* At present the tokens below have three problems implementing this: */ -/* */ -/* (1) When / appears without anything in front, it will be recognized */ -/* as a division operator, hence the following regular expression */ -/* will be treated as ordinary Perl, not as a regular expression; */ -/* */ -/* (2) When the delimiters are a matching pair, embedded occurrences */ -/* are not recognised as such: the first closing delimiter will be */ -/* taken to close the pair; */ -/* */ -/* (3) The case s{foo}(bar) is not implemented; the second bracketing */ -/* pair must be the same as the first; in fact prg2lout will keep */ -/* going, looking for a second closing brace, in this example. */ +/* Amazingly, the tokens below implement all of this perfectly except that */ +/* when / appears without anything in front, it will be recognized as a */ +/* regular expression provided that one of a long list of things precedes */ +/* it, otherwise it will be a division symbol. This is not perfect but */ +/* seems to come extremely close in practice. */ /* */ /*****************************************************************************/ @@ -877,18 +993,19 @@ TOKEN EiffelDotToken = NoParameterToken(".", "{@PD}"); TOKEN PerlSingleQuoteStringToken = { "''-string", /* used by error messages involving this token */ PRINT_WHOLE_QUOTED, /* print this token in quotes etc. as usual */ - "@PS", /* Lout command for formatting strings */ + "@PS", /* Lout command for formatting strings */ "", /* no alternate command */ "", /* no following command */ FALSE, /* token allowed anywhere, not just start of line */ { "'" }, /* strings begin with a ' character */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ AllCharacters, /* inside, any character at all is OK */ "\\", /* within strings, \\ is the escape character */ - "\\'", /* after escape, only \ and ' are OK (WCS p. 39) */ - "", /* strings do not permit "inner escapes" */ - "", /* and so there is no end innner escape either */ + AllCharacters, /* after escape, any character is OK (trust us) */ + "", "", /* no "inner escapes"; no end innner escape */ + "", /* no bracketing delimiter */ "\'", /* strings end with a ' character */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -897,18 +1014,19 @@ TOKEN PerlSingleQuoteStringToken = { TOKEN PerlDoubleQuoteStringToken = { "\"\"-string", /* used by error messages involving this token */ PRINT_WHOLE_QUOTED, /* print this token in quotes etc. as usual */ - "@PS", /* Lout command for formatting strings */ + "@PS", /* Lout command for formatting strings */ "", /* no alternate command */ "", /* no following command */ FALSE, /* token allowed anywhere, not just start of line */ { "\"" }, /* strings begin with a " character */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ AllCharacters, /* inside, any character at all is OK */ "\\", /* within strings, \\ is the escape character */ AllCharacters, /* after escape char, any character at all is OK */ - "", /* strings do not permit "inner escapes" */ - "", /* and so there is no end innner escape either */ + "", "", /* no "inner escapes"; no end innner escape */ + "", /* no bracketing delimiter */ "\"", /* strings end with a " character */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -923,12 +1041,13 @@ TOKEN PerlBackQuoteStringToken = { FALSE, /* token allowed anywhere, not just start of line */ { "`" }, /* strings begin with a ` character */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ AllCharacters, /* inside, any character at all is OK */ "\\", /* within strings, \\ is the escape character */ AllCharacters, /* after escape char, any character at all is OK */ - "", /* strings do not permit "inner escapes" */ - "", /* and so there is no end innner escape either */ + "", "", /* no "inner escapes"; no end innner escape */ + "", /* no bracketing delimiter */ "`", /* strings end with a ` character */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -936,40 +1055,44 @@ TOKEN PerlBackQuoteStringToken = { TOKEN PerlQTypeStringToken = { - "q-type-string", /* used by error messages involving this token */ + "q-type string", /* used by error messages involving this token */ PRINT_WHOLE_QUOTED, /* print this token in quotes etc. as usual */ - "@PS", /* Lout command for formatting strings */ + "@PS", /* Lout command for formatting strings */ "", /* no alternate command */ "", /* no following command */ FALSE, /* token allowed anywhere, not just start of line */ { "q", "qq", "qx", "qw", "qr", "m" }, /* q-type strings begin with these */ - { "/", "(", "[", "{", "<", "!", "%", "#", "|", ",", ":", ";" }, /*start2 */ - { "/", ")", "]", "}", ">", "!", "%", "#", "|", ",", ":", ";" }, /* end2 */ + { SepPunct }, /* start2 can be any punctuation character */ + { BktPunct }, /* bracketing delimiters to match SepPunct */ + { EndPunct }, /* end2 must match start2 */ AllCharacters, /* inside, any character at all is OK */ "\\", /* within strings, \\ is the escape character */ AllCharacters, /* after escape char, any character at all is OK */ "", /* strings do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* will be using bracket2 for bracket delimiter */ "", /* will be using end2 for the end delimiter here */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ }; TOKEN PerlSTypeStringToken = { - "s-type-string", /* used by error messages involving this token */ + "s-type string", /* used by error messages involving this token */ PRINT_WHOLE_QUOTED, /* print this token in quotes etc. as usual */ - "@PS", /* Lout command for formatting strings */ + "@PS", /* Lout command for formatting strings */ "", /* no alternate command */ "", /* no following command */ FALSE, /* token allowed anywhere, not just start of line */ { "s", "y", "tr" }, /* s-type strings begin with these */ - { "/", "(", "[", "{", "<", "!", "%", "#", "|", ",", ":", ";" }, /*start2 */ - { "/", ")", "]", "}", ">", "!", "%", "#", "|", ",", ":", ";" }, /* end2 */ + { SepPunct }, /* start2 can be any punctuation character */ + { BktPunct }, /* bracketing delimiters to match SepPunct */ + { EndPunct }, /* end2 must match start2 */ AllCharacters, /* inside, any character at all is OK */ "\\", /* within strings, \\ is the escape character */ AllCharacters, /* after escape char, any character at all is OK */ "", /* strings do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* will be using bracket2 for bracket delimiter */ "", /* will be using end2 for the end delimiter here */ FALSE, /* end delimiter does not have to be at line start */ TRUE, /* need to see end delimiter twice to stop */ @@ -980,16 +1103,17 @@ TOKEN PerlSTypeStringToken = { /* */ /* Perl "bare" regular expressions */ /* */ -/* By a bare regular expression, we mean one that is not preceded */ -/* by q, qq, m etc. These are distinguished from division by being */ -/* preceded by one of =, =~, !~, split, if, not, unless, for, foreach, */ -/* or while, with up to two white space characters intervening. */ +/* By a bare regular expression, we mean one that is not preceded by m. */ +/* These are distinguished from division by being preceded by one of (, =, */ +/* =~, !~, split, if, and, &&, not, ||, xor, not, !, unless, for, foreach, */ +/* or while, with up to two white space characters intervening. Also, */ +/* a / at the start of a line is taken to begin a regular expression. */ /* */ /*****************************************************************************/ #define PerlREToken(start, com) \ { \ - "regexp", /* used by error messages */ \ + "regex", /* used by error messages */ \ PRINT_NODELIMS_QUOTED,/* no delims since we supply them */ \ com, /* the command */ \ "", /* no alternate command */ \ @@ -997,16 +1121,19 @@ TOKEN PerlSTypeStringToken = { FALSE, /* token allowed not just start of line */ \ { start }, /* preceding token in this case */ \ { "/", " /", "\t/", " /", " \t/", "\t /", "\t\t/" }, /* start2 */ \ - { "/", "/", "/", "/", "/", "/", "/" }, /* end2 */ \ + { "", "", "", "", "", "", "" }, /* bracket2 */ \ + { "/", "/", "/", "/", "/", "/", "/" }, /* end2 */ \ AllCharacters, /* any character OK inside */ \ "\\", /* \\ is the escape character */ \ AllCharacters, /* after escape char, any is OK */ \ "", /* no inner escapes */ \ "", /* no end innner escape either */ \ + "", /* will be using bracket2 here */ \ "", /* will be using end2 here */ \ FALSE, /* no need to end at line start */ \ FALSE, /* don't want end delimiter twice */ \ } + TOKEN PerlRegExpLPar = PerlREToken("(", "@PO{\"(\"} @PS{\"/\"}@PS"); TOKEN PerlRegExpEq = PerlREToken("=", "@PO{\"=\"} @PS{\"/\"}@PS"); @@ -1014,7 +1141,13 @@ TOKEN PerlRegExpMatch = PerlREToken("=~", "@PO{\"=~\"} @PS{\"/\"}@PS"); TOKEN PerlRegExpNoMatch = PerlREToken("!~", "@PO{\"!~\"} @PS{\"/\"}@PS"); TOKEN PerlRegExpSplit = PerlREToken("split", "@PK{split} @PS{\"/\"}@PS"); TOKEN PerlRegExpIf = PerlREToken("if", "@PK{if} @PS{\"/\"}@PS"); +TOKEN PerlRegExpAnd = PerlREToken("and", "@PK{and} @PS{\"/\"}@PS"); +TOKEN PerlRegExpAnd2 = PerlREToken("&&", "@PO{\"&&\"} @PS{\"/\"}@PS"); +TOKEN PerlRegExpOr = PerlREToken("or", "@PK{or} @PS{\"/\"}@PS"); +TOKEN PerlRegExpOr2 = PerlREToken("||", "@PO{\"||\"} @PS{\"/\"}@PS"); +TOKEN PerlRegExpXor = PerlREToken("xor", "@PK{xor} @PS{\"/\"}@PS"); TOKEN PerlRegExpNot = PerlREToken("not", "@PK{not} @PS{\"/\"}@PS"); +TOKEN PerlRegExpNot2 = PerlREToken("!", "@PO{\"!\"} @PS{\"/\"}@PS"); TOKEN PerlRegExpUnless = PerlREToken("unless", "@PK{unless} @PS{\"/\"}@PS"); TOKEN PerlRegExpFor = PerlREToken("for", "@PK{for} @PS{\"/\"}@PS"); TOKEN PerlRegExpForEach = PerlREToken("foreach","@PK{foreach} @PS{\"/\"}@PS"); @@ -1022,7 +1155,7 @@ TOKEN PerlRegExpWhile = PerlREToken("while", "@PK{while} @PS{\"/\"}@PS"); TOKEN PerlRegExpStartLineToken = { - "regexp", /* used by error messages */ + "regex", /* used by error messages */ PRINT_WHOLE_QUOTED, /* we can print the whole thing this time */ "@PS", /* the command */ "", /* no alternate command */ @@ -1030,12 +1163,14 @@ TOKEN PerlRegExpStartLineToken = TRUE, /* token allowed only at start of line */ { "/" }, /* starting delimiter (so easy!) */ { NULL }, /* no start2 */ - { NULL }, /* no end2 */ + { NULL }, /* so no bracket2 either */ + { NULL }, /* so no end2 either */ AllCharacters, /* any character OK inside */ "\\", /* \\ is the escape character */ AllCharacters, /* after escape char, any is OK */ "", /* no inner escapes */ "", /* no end innner escape either */ + "", /* no bracketing delimiter */ "/", /* ending delimiter */ FALSE, /* no need to end at line start */ FALSE, /* don't want end delimiter twice */ @@ -1044,7 +1179,7 @@ TOKEN PerlRegExpStartLineToken = /*****************************************************************************/ /* */ -/* Perl's here-documents */ +/* Perl's here-documents [OBSOLETE CODE - see following for replacement] */ /* */ /* At present the only terminating strings recognized are EOT, EOF, END, */ /* and the empty string. These may all be quoted in the usual ways. */ @@ -1057,14 +1192,16 @@ TOKEN PerlRegExpStartLineToken = PRINT_NODELIMS_QUOTED,/* no delims since we supply them */ \ startcom, /* the command */ \ "", /* no alternate command */ \ - endcom, /* following command (final /) */ \ + endcom, /* following command */ \ FALSE, /* token allowed not just start of line */ \ { startstr }, /* starting delimiter */ \ { NULL }, /* no start2 */ \ + { NULL }, /* so no bracket2 either */ \ { NULL }, /* no end2 */ \ AllCharacters, /* any character OK inside */ \ "", "", /* no escape character */ \ "", "", /* no inner escapes */ \ + "", /* no bracketing delimiter */ \ endstr, /* token ends with this */ \ TRUE, /* must be found at line start */ \ FALSE, /* don't want end delimiter twice */ \ @@ -1075,6 +1212,7 @@ TOKEN PerlRegExpStartLineToken = #define sEND "\n@PS{\"END\"}\n" #define sBLA "\n@PS{\"\"}\n" +/* *** TOKEN HereEOTuq = X("<<EOT", "EOT\n", "@PO{<<}@PS{\"EOT\"}@PS", sEOT); TOKEN HereEOTdq = X("<<\"EOT\"","EOT\n", "@PO{<<}@PS{\"\\\"EOT\\\"\"}@PS",sEOT); TOKEN HereEOTfq = X("<<'EOT'", "EOT\n", "@PO{<<}@PS{\"'EOT'\"}@PS", sEOT); @@ -1094,6 +1232,58 @@ TOKEN HereBLAuq = X("<< ", "\n", "@PO{<<} @PS", sBLA); TOKEN HereBLAdq = X("<<\"\"", "\n", "@PO{<<}@PS{\"\\\"\\\"\"}@PS", sBLA); TOKEN HereBLAfq = X("<<''", "\n", "@PO{<<}@PS{\"''\"}@PS", sBLA); TOKEN HereBLAbq = X("<<``", "\n", "@PO{<<}@PS{\"``\"}@PS", sBLA); +*** */ + + +/*****************************************************************************/ +/* */ +/* Perl's here-documents [OBSOLETE CODE - see following for replacement] */ +/* */ +/* At present the only terminating strings recognized are EOT, EOF, END, */ +/* and the empty string. These may all be quoted in the usual ways. */ +/* */ +/*****************************************************************************/ + +#define HereToken(startstr, endstr) \ +{ \ + "here-document", /* used by error messages */ \ + PRINT_WHOLE_QUOTED, /* as usual */ \ + "@PS", /* here documents are strings */ \ + "", /* no alternate command */ \ + "", /* no following command */ \ + FALSE, /* token allowed not just start of line */ \ + { startstr }, /* starting delimiter */ \ + { NULL }, /* no start2 */ \ + { NULL }, /* no bracket2 */ \ + { NULL }, /* no end2 */ \ + AllCharacters, /* any character OK inside */ \ + "", "", /* no escape character */ \ + "", "", /* no inner escapes */ \ + "", /* no bracketing delimiter */ \ + endstr, /* token ends with this */ \ + TRUE, /* must be found at line start */ \ + FALSE, /* don't want end delimiter twice */ \ +} + +TOKEN HereEOTuq = HereToken("<<EOT", "EOT\n"); +TOKEN HereEOTdq = HereToken("<<\"EOT\"","EOT\n"); +TOKEN HereEOTfq = HereToken("<<'EOT'", "EOT\n"); +TOKEN HereEOTbq = HereToken("<<`EOT`", "EOT\n"); + +TOKEN HereEOFuq = HereToken("<<EOF", "EOF\n"); +TOKEN HereEOFdq = HereToken("<<\"EOF\"","EOF\n"); +TOKEN HereEOFfq = HereToken("<<'EOF'", "EOF\n"); +TOKEN HereEOFbq = HereToken("<<`EOF`", "EOF\n"); + +TOKEN HereENDuq = HereToken("<<END", "END\n"); +TOKEN HereENDdq = HereToken("<<\"END\"","END\n"); +TOKEN HereENDfq = HereToken("<<'END'", "END\n"); +TOKEN HereENDbq = HereToken("<<`END`", "END\n"); + +TOKEN HereBLAuq = HereToken("<< ", "\n"); +TOKEN HereBLAdq = HereToken("<<\"\"", "\n"); +TOKEN HereBLAfq = HereToken("<<''", "\n"); +TOKEN HereBLAbq = HereToken("<<``", "\n"); /*****************************************************************************/ @@ -1109,52 +1299,66 @@ TOKEN HereBLAbq = X("<<``", "\n", "@PO{<<}@PS{\"``\"}@PS", sBLA); /* */ /* In addition we have to consider that variable names may be preceded */ /* by $, @, %, &, or *. Whether these are part of the variable or not is */ -/* rather doubtful. We will treat $ and @ as part of the variable and the */ -/* others not (since they occur elsewhere in the token list anyway); plus */ -/* we have a separate token type for identifiers beginning with $ and */ +/* rather doubtful. We will treat $, @ and % as part of the variable and */ +/* the others not (since they occur elsewhere in the token list anyway); */ +/* plus we have a separate token type for identifiers beginning with $ and */ /* followed by one character, which we will list explicitly. */ +/* We also deal with the $^. variables, e.g. $^W. */ /* */ /*****************************************************************************/ TOKEN PerlIdentifierToken = { "identifier", /* used by error messages involving this token */ PRINT_WHOLE_QUOTED, /* print this token in quotes etc. as usual */ - "@PI", /* Lout command for formatting identifiers */ + "@PI", /* Lout command for formatting identifiers */ "@PK", /* Alternate command (for keywords) */ "", /* no following command */ FALSE, /* token allowed anywhere, not just start of line */ - {SepLetters,"_","$","@"}, /* identifiers begin with these */ + { SepLetters, "_", "$", "@", PercentLetters}, /* identifier starts */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ Letter_Digit, /* inside, letters, underscores, digits are OK */ "", /* no escape character within identifiers */ "", /* so nothing legal after escape char either */ "", /* identifiers do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "", /* identifiers do not end with a delimiter */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ }; + TOKEN PerlSpecialIdentifierToken = { - "special identifier", /* used by error messages involving this token */ + "special variable", /* used by error messages involving this token */ PRINT_WHOLE_QUOTED, /* print this token in quotes etc. as usual */ - "@PI", /* Lout command for formatting identifiers */ - "@PK", /* Alternate command (for keywords) */ + "@PI", /* Lout command for formatting identifiers */ + "", /* Alternate command (for keywords) */ "", /* no following command */ FALSE, /* token allowed anywhere, not just start of line */ - { "$_", "$.", "$/", "$,", "$\\", "$\"", "$;", "$^L", "$:", - "$^A", "$#", "$?", "$!", "$@", "$$", "$<", "$>", "$(", - "$)", "$0", "$[", "$]", "$^D", "$^E", "$^F", "$^H", "$^I", - "$^M", "$^O", "$^P", "$^T", "$^W", "$^X" - }, /* all possible values of special variables */ + { + /* Taken from 5.6.0's perlvar.pod */ + /* NB special variables that begin $^, e.g. $^D can also be written as */ + /* dollar control D (yes literal control D) -- but we ignore this */ + /* wrinkle. We only list the first 9 regex match variables. */ + + /* Only the ones not recognized elsewhere are being kept now */ + "$&", "$`", "$'", "$+", "@+", "$*", "$.", "$/", "$|", "$,", "$\\", "$\"", + "$;", "$#", "$%", "$=", "$-", "@-", "$~", "$^", "$:", "$^L", "$^A", "$?", + "$!", "$^E", "$@", "$$", "$<", "$>", "$(", "$)", "$0", "$[", "$]", "$^C", + "$^D", "$^F", "$^H", "%^H", "$^I", "$^M", "$^O", "$^P", "$^R", "$^S", + "$^T", "$^V", "$^W", "${^WARNING_BITS}", "${^WIDE_SYSTEM_CALLS}", "$^X", + }, { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ "", /* nothing allowed inside, since ends after start */ "", /* no escape character within identifiers */ "", /* so nothing legal after escape char either */ "", /* identifiers do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "", /* identifiers do not end with a delimiter */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1175,24 +1379,28 @@ TOKEN PerlSpecialIdentifierToken = { /* 4_294_967_296 # underline for legibility */ /* */ /* Implementation is straightforward; hexadecimal is a separate token. */ +/* Binary numbers introduced with 5.6.0 of the form 0b1010 are also */ +/* catered for. */ /* */ /*****************************************************************************/ TOKEN PerlLiteralNumberToken = { "number", /* used by error messages involving this token */ PRINT_WHOLE_QUOTED, /* print this token in quotes etc. as usual */ - "@PN", /* Lout command for formatting numbers */ + "@PN", /* Lout command for formatting numbers */ "", /* no alternate command */ "", /* no following command */ FALSE, /* token allowed anywhere, not just start of line */ { SepDigits }, /* numbers must begin with a digit */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ "0123456789.eE_", /* inside, digits, point, exponent, underscore */ "", /* no escape character within numbers */ "", /* so nothing legal after escape char either */ "", /* numbers do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "", /* numbers do not end with a delimiter */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1201,18 +1409,43 @@ TOKEN PerlLiteralNumberToken = { TOKEN PerlHexNumberToken = { "number", /* used by error messages involving this token */ PRINT_WHOLE_QUOTED, /* print this token in quotes etc. as usual */ - "@PN", /* Lout command for formatting numbers */ + "@PN", /* Lout command for formatting numbers */ "", /* no alternate command */ "", /* no following command */ FALSE, /* token allowed anywhere, not just start of line */ { "0x" }, /* hex numbers must begin with 0x */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ "0123456789AaBbCcDdEeFf", /* inside, hexadecimal digits */ "", /* no escape character within numbers */ "", /* so nothing legal after escape char either */ "", /* numbers do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ + "", /* numbers do not end with a delimiter */ + FALSE, /* end delimiter does not have to be at line start */ + FALSE, /* don't need to see end delimiter twice to stop */ +}; + + +TOKEN PerlBinaryNumberToken = { + "number", /* used by error messages involving this token */ + PRINT_WHOLE_QUOTED, /* print this token in quotes etc. as usual */ + "@PN", /* Lout command for formatting numbers */ + "", /* no alternate command */ + "", /* no following command */ + FALSE, /* token allowed anywhere, not just start of line */ + { "0b" }, /* binary numbers must begin with 0b */ + { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ + { NULL }, /* so no end2 either */ + "01", /* inside, binary digits */ + "", /* no escape character within numbers */ + "", /* so nothing legal after escape char either */ + "", /* numbers do not permit "inner escapes" */ + "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "", /* numbers do not end with a delimiter */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1238,12 +1471,14 @@ TOKEN PerlCommentToken = { FALSE, /* token allowed anywhere, not just start of line */ { "#" }, /* comments begin with this character */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ - AllPrintable, /* inside, any printable char is OK (not NL) */ + AllPrintablePlusTab, /* inside, any printable char is OK (not NL) */ "", /* no escape character within comments */ "", /* so nothing legal after escape char either */ "", /* C comments do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "", /* no end delimiter (end of line will end it) */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1258,12 +1493,14 @@ TOKEN PerlCommentEscapeToken = { FALSE, /* token allowed anywhere, not just start of line */ { "#@" }, /* comments begin with this character pair */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ - AllPrintable, /* inside, any printable char is OK */ + AllPrintablePlusTab, /* inside, any printable char is OK */ "", /* no escape character within comments */ "", /* so nothing legal after escape char either */ "", /* no "inner escape" in escape comments */ "", /* so no end of "inner escape" either */ + "", /* no bracketing delimiter */ "", /* no end delimiter (end of line will end it) */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1280,7 +1517,7 @@ TOKEN PerlCommentEscapeToken = { /* */ /* "A line beginning with = is assumed to introduce some documentation, */ /* which continues until another line is reached beginning with =cut" */ -/* (WCS page36). Strictly speaking this is only valid at points where */ +/* (WCS page 36). Strictly speaking this is only valid at points where */ /* a statement would be legal, but that is beyond prg2lout to implement. */ /* */ /*****************************************************************************/ @@ -1294,17 +1531,19 @@ TOKEN PerlPodToken = { TRUE, /* token allowed at start of line only */ { "=", "=pod" }, /* pod insert begins with either of these */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ AllCharacters, /* inside, any character at all is OK */ "", /* no escape character within pod comments */ "", /* so nothing legal after escape char either */ "", /* pod comments do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "=cut", /* pod comments end with this string */ TRUE, /* end delimiter must be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ }; - + /*****************************************************************************/ /* */ @@ -1328,33 +1567,62 @@ TOKEN PerlAndToken = FixedToken( "&&", "@PO" ) ; TOKEN PerlOrToken = FixedToken( "||", "@PO" ) ; TOKEN PerlRange2Token = FixedToken( "..", "@PO" ) ; TOKEN PerlRange3Token = FixedToken( "...", "@PO" ) ; -TOKEN PerlFileTestrToken = FixedToken( "-r", "@PO" ) ; -TOKEN PerlFileTestwToken = FixedToken( "-w", "@PO" ) ; -TOKEN PerlFileTestxToken = FixedToken( "-x", "@PO" ) ; -TOKEN PerlFileTestoToken = FixedToken( "-o", "@PO" ) ; -TOKEN PerlFileTestRToken = FixedToken( "-R", "@PO" ) ; -TOKEN PerlFileTestWToken = FixedToken( "-W", "@PO" ) ; -TOKEN PerlFileTestXToken = FixedToken( "-X", "@PO" ) ; -TOKEN PerlFileTestOToken = FixedToken( "-O", "@PO" ) ; -TOKEN PerlFileTesteToken = FixedToken( "-e", "@PO" ) ; -TOKEN PerlFileTestzToken = FixedToken( "-z", "@PO" ) ; -TOKEN PerlFileTestsToken = FixedToken( "-s", "@PO" ) ; -TOKEN PerlFileTestfToken = FixedToken( "-f", "@PO" ) ; -TOKEN PerlFileTestdToken = FixedToken( "-d", "@PO" ) ; -TOKEN PerlFileTestlToken = FixedToken( "-l", "@PO" ) ; -TOKEN PerlFileTestpToken = FixedToken( "-p", "@PO" ) ; -TOKEN PerlFileTestSToken = FixedToken( "-S", "@PO" ) ; -TOKEN PerlFileTestbToken = FixedToken( "-b", "@PO" ) ; -TOKEN PerlFileTestcToken = FixedToken( "-c", "@PO" ) ; -TOKEN PerlFileTesttToken = FixedToken( "-t", "@PO" ) ; -TOKEN PerlFileTestuToken = FixedToken( "-u", "@PO" ) ; -TOKEN PerlFileTestgToken = FixedToken( "-g", "@PO" ) ; -TOKEN PerlFileTestkToken = FixedToken( "-k", "@PO" ) ; -TOKEN PerlFileTestTToken = FixedToken( "-T", "@PO" ) ; -TOKEN PerlFileTestBToken = FixedToken( "-B", "@PO" ) ; -TOKEN PerlFileTestMToken = FixedToken( "-M", "@PO" ) ; -TOKEN PerlFileTestAToken = FixedToken( "-A", "@PO" ) ; -TOKEN PerlFileTestCToken = FixedToken( "-C", "@PO" ) ; + + +/*****************************************************************************/ +/* */ +/* FlagToken - for -r and the rest (followed by white space) */ +/* */ +/*****************************************************************************/ + +#define FlagToken(str, command) /* define fixed-string token */ \ +{ \ + str, /* name used for debugging only */ \ + PRINT_WHOLE_QUOTED, /* print this token as usual */ \ + command, /* Lout command for formatting this */ \ + "", /* no alternate command */ \ + "", /* no following command */ \ + FALSE, /* token not just start of line */ \ + { str }, /* token begins (and ends!) with this */ \ + { " ", "\t" }, /* plus a white space char */ \ + { "", "" }, /* no bracket2 though */ \ + { "", "" }, /* no end2 though */ \ + "", /* nothing inside, since no inside */ \ + "", "", /* no escape character */ \ + "", "", /* no inner escape; no end inner esc */ \ + "", /* no bracketing delimiter */ \ + "", /* no ending delimiter */ \ + FALSE, /* end not have to be at line start */ \ + FALSE, /* don't end delimiter twice to stop */ \ +} + +TOKEN PerlFileTestrToken = FlagToken( "-r", "@PO" ) ; +TOKEN PerlFileTestwToken = FlagToken( "-w", "@PO" ) ; +TOKEN PerlFileTestxToken = FlagToken( "-x", "@PO" ) ; +TOKEN PerlFileTestoToken = FlagToken( "-o", "@PO" ) ; +TOKEN PerlFileTestRToken = FlagToken( "-R", "@PO" ) ; +TOKEN PerlFileTestWToken = FlagToken( "-W", "@PO" ) ; +TOKEN PerlFileTestXToken = FlagToken( "-X", "@PO" ) ; +TOKEN PerlFileTestOToken = FlagToken( "-O", "@PO" ) ; +TOKEN PerlFileTesteToken = FlagToken( "-e", "@PO" ) ; +TOKEN PerlFileTestzToken = FlagToken( "-z", "@PO" ) ; +TOKEN PerlFileTestsToken = FlagToken( "-s", "@PO" ) ; +TOKEN PerlFileTestfToken = FlagToken( "-f", "@PO" ) ; +TOKEN PerlFileTestdToken = FlagToken( "-d", "@PO" ) ; +TOKEN PerlFileTestlToken = FlagToken( "-l", "@PO" ) ; +TOKEN PerlFileTestpToken = FlagToken( "-p", "@PO" ) ; +TOKEN PerlFileTestSToken = FlagToken( "-S", "@PO" ) ; +TOKEN PerlFileTestbToken = FlagToken( "-b", "@PO" ) ; +TOKEN PerlFileTestcToken = FlagToken( "-c", "@PO" ) ; +TOKEN PerlFileTesttToken = FlagToken( "-t", "@PO" ) ; +TOKEN PerlFileTestuToken = FlagToken( "-u", "@PO" ) ; +TOKEN PerlFileTestgToken = FlagToken( "-g", "@PO" ) ; +TOKEN PerlFileTestkToken = FlagToken( "-k", "@PO" ) ; +TOKEN PerlFileTestTToken = FlagToken( "-T", "@PO" ) ; +TOKEN PerlFileTestBToken = FlagToken( "-B", "@PO" ) ; +TOKEN PerlFileTestMToken = FlagToken( "-M", "@PO" ) ; +TOKEN PerlFileTestAToken = FlagToken( "-A", "@PO" ) ; +TOKEN PerlFileTestCToken = FlagToken( "-C", "@PO" ) ; /*****************************************************************************/ @@ -1379,8 +1647,7 @@ TOKEN PerlFileTestCToken = FixedToken( "-C", "@PO" ) ; /* */ /* By a "paragraph" is meant a sequence of lines down to the next empty */ /* line; but we will handle verbatim paragraphs one line at a time. */ -/* It also seems that an empty line in the input has to become an empty */ -/* line in the output; so we include a token for that. */ +/* Also, an empty line in the input has to become an empty line in output. */ /* */ /*****************************************************************************/ @@ -1388,15 +1655,16 @@ TOKEN PodVerbatimLineToken = { "verbatim-para", /* used by error messages involving this token */ PRINT_WHOLE_QUOTED, /* printing the whole paragraph quoted */ "@PV ", /* Lout command for formatting verbatim line */ - "", /* no alternate command */ - "", /* no following command */ + "", "", /* no alternate command; no following command */ TRUE, /* token allowed at start of line only */ { "\t", " " }, /* command begins with this */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ AllPrintablePlusTab, /* inside, any printable char except newline is OK */ "", "", /* no escape character within verbatim lines */ "", "", /* no "inner escapes" within verbatim lines */ + "", /* no bracketing delimiter */ "", /* ends at end of line */ FALSE, /* don't need to be at start of line to end it */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1406,15 +1674,16 @@ TOKEN PodEmptyLineToken = { "pod-empty-line", /* used by error messages involving this token */ PRINT_COMMAND_ONLY, /* printing just the command */ "@PPG\n", /* Lout command for formatting Pod empty line */ - "", /* no alternate command */ - "", /* no following command */ + "", "", /* no alternate command; no following command */ TRUE, /* token allowed at start of line only */ { "\n" }, /* command begins with this */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ "", /* nothing inside */ "", "", /* no escape character */ "", "", /* no inner escape */ + "", /* no bracketing delimiter */ "", /* token will end with the end of the line */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1452,12 +1721,14 @@ TOKEN PodIgnoreToken = { TRUE, /* token allowed at start of line only */ { "=pod", "=cut" }, /* command begins with this */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ AllCharacters, /* anything at all can be inside */ "", /* no escape character */ "", /* so nothing legal after escape char either */ "", /* cut tokens do not permit "inner escapes" */ "", /* and so there is no end innner escape either */ + "", /* no bracketing delimiter */ "\n", /* token will end with the end of the line */ TRUE, /* end delimiter (\n) has to be at a line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1468,23 +1739,22 @@ TOKEN PodIgnoreToken = { /* */ /* Pod command paragraphs: =head1, =head2 (and =head3, folklore extension) */ /* */ -/* "... produce first and second level heading" */ -/* */ /*****************************************************************************/ TOKEN PodHeading1Token = { "=head1", /* used by error messages involving this token */ - PRINT_NODELIMS_QUOTED, /* print without delimiters */ + PRINT_NODELIMS_INNER, /* print without delimiters, formatting inner */ "@PHA", /* Lout command for formatting Pod heading */ - "", /* no alternate command */ - "", /* following command */ + "", "", /* no alternate command; no following command */ TRUE, /* token allowed at start of line only */ {"=head1","head1"}, /* command begins with this */ { " ", "\t" }, /* helps to skip following white space */ + { "", "" }, /* no bracket2 */ { "\n", "\n" }, /* token ends at end of line */ AllCharacters, /* anything in the heading */ "", "", /* no escape character; nothing legal after escape */ "", "", /* no inner escapes; no end inner escape */ + "", /* no bracketing delimiter */ "\n\n", /* token will end with the first blank line */ FALSE, /* end delimiter (\n) has to be at a line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1492,17 +1762,18 @@ TOKEN PodHeading1Token = { TOKEN PodHeading2Token = { "=head2", /* used by error messages involving this token */ - PRINT_NODELIMS_QUOTED, /* print without delimiters */ + PRINT_NODELIMS_INNER, /* print without delimiters, formatting inner */ "@PHB", /* Lout command for formatting Pod heading */ - "", /* no alternate command */ - "", /* following command */ + "", "", /* no alternate command; no following command */ TRUE, /* token allowed at start of line only */ { "=head2" }, /* command begins with this */ { " ", "\t" }, /* helps to skip following white space */ + { "", "" }, /* no bracket2 */ { "\n", "\n" }, /* token ends at end of line */ AllCharacters, /* anything in the heading */ "", "", /* no escape character; nothing legal after escape */ "", "", /* no inner escapes; no end inner escape */ + "", /* no bracketing delimiter */ "\n\n", /* token will end with the first blank line */ FALSE, /* end delimiter (\n) has to be at a line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1510,17 +1781,18 @@ TOKEN PodHeading2Token = { TOKEN PodHeading3Token = { "=head3", /* used by error messages involving this token */ - PRINT_NODELIMS_QUOTED, /* print without delimiters */ + PRINT_NODELIMS_INNER, /* print without delimiters, formatting inner */ "@PHC", /* Lout command for formatting Pod heading */ - "", /* no alternate command */ - "", /* following command */ + "", "", /* no alternate command; no following command */ TRUE, /* token allowed at start of line only */ { "=head3" }, /* command begins with this */ { " ", "\t" }, /* helps to skip following white space */ + { "", "" }, /* no bracket2 */ { "\n", "\n" }, /* token ends at end of line */ AllCharacters, /* anything in the heading */ "", "", /* no escape character; nothing legal after escape */ "", "", /* no inner escapes; no end inner escape */ + "", /* no bracketing delimiter */ "\n\n", /* token will end with the first blank line */ FALSE, /* end delimiter (\n) has to be at a line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1542,10 +1814,12 @@ TOKEN PodOverToken = { TRUE, /* token allowed at start of line only */ { "=over" }, /* command begins with this */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ AllCharacters, /* inside, any printable char is OK */ "", "", /* no escape character; nothing legal after escape */ "", "", /* no inner escapes; no end inner escape */ + "", /* no bracketing delimiter */ "\n", /* token will end with the end of the line */ TRUE, /* end delimiter (\n) has to be at a line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1553,18 +1827,19 @@ TOKEN PodOverToken = { TOKEN PodItemToken = { "=item", /* used by error messages involving this token */ - PRINT_NODELIMS_QUOTED,/* printing just what follows =item on the line */ - "@Null //}\n@TI {@PLL", /* Lout command for formatting Pod item */ + PRINT_NODELIMS_INNER, /* printing just what follows =item on the line */ + "@Null //}\n@DTI {@PLL", /* Lout command for formatting Pod item */ "", /* no alternate command */ "} {", /* open brace to enclose the item content */ TRUE, /* token allowed at start of line only */ { "=item" }, /* command begins with this */ { " ", "\t" }, /* helps to skip following white space */ + { "", "" }, /* no bracket2 */ { "\n\n", "\n\n" }, /* token will end at blank line */ AllPrintableTabNL, /* any printable inside */ "", "", /* no escape character; nothing legal after escape */ "", "", /* no inner escapes; no end inner escape */ - "", /* see ends2[] */ + "", "", /* see brackets2[]; see ends2[] */ FALSE, /* end delimiter (\n) must already be at start */ FALSE, /* don't need to see end delimiter twice to stop */ }; @@ -1573,15 +1848,16 @@ TOKEN PodBackToken = { "=back", /* used by error messages involving this token */ PRINT_COMMAND_ONLY, /* printing just the command */ "@Null // }\n@EndList\n", /* Lout command for formatting Pod back */ - "", /* no alternate command */ - "", /* no following command */ + "", "", /* no alternate command; no following command */ TRUE, /* token allowed at start of line only */ { "=back" }, /* command begins with this */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ AllCharacters, /* anything inside (in principle) */ "", "", /* no escape character; nothing legal after escape */ "", "", /* no inner escapes; no end inner escape */ + "", /* no bracketing delimiter */ "\n", /* token will end with the next blank line */ TRUE, /* end delimiter (\n) has to be at a line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1590,12 +1866,51 @@ TOKEN PodBackToken = { /*****************************************************************************/ /* */ +/* Pod narrow items; for these, we are confident in using @TI not @DTI */ +/* */ +/*****************************************************************************/ + +#define PodNarrowItemToken(tag, command) \ +{ \ + "=item", /* used by error messages */ \ + PRINT_NODELIMS_INNER, /* printing just what follows =item */ \ + command, /* Lout command for formatting Pod item */ \ + "", /* no alternate command */ \ + "}} {", /* open brace to enclose the item content*/ \ + TRUE, /* token allowed at start of line only */ \ + { "=item", "=item ", "=item\t", /* starts */ \ + "=item ", "=item \t", "=item\t ", "=item\t\t" }, /* */ \ + { tag }, /* the tag we recognize */ \ + { "" }, /* no bracket2 */ \ + { "\n\n", "\n\n" }, /* token will end at blank line */ \ + AllPrintableTabNL, /* any printable inside */ \ + "", "", /* no escape character */ \ + "", "", /* no inner escapes; no end inner escape */ \ + "", "", /* see brackets2[]; see ends2[] */ \ + FALSE, /* end delimiter (\n) already at start */ \ + FALSE, /* don't need to see end delimiter twice */ \ +} + +TOKEN PodItemBullet = PodNarrowItemToken("*", "@Null //}\n@TI {@PLL {*"); +TOKEN PodItem0 = PodNarrowItemToken("0", "@Null //}\n@TI {@PLL {0"); +TOKEN PodItem1 = PodNarrowItemToken("1", "@Null //}\n@TI {@PLL {1"); +TOKEN PodItem2 = PodNarrowItemToken("2", "@Null //}\n@TI {@PLL {2"); +TOKEN PodItem3 = PodNarrowItemToken("3", "@Null //}\n@TI {@PLL {3"); +TOKEN PodItem4 = PodNarrowItemToken("4", "@Null //}\n@TI {@PLL {4"); +TOKEN PodItem5 = PodNarrowItemToken("5", "@Null //}\n@TI {@PLL {5"); +TOKEN PodItem6 = PodNarrowItemToken("6", "@Null //}\n@TI {@PLL {6"); +TOKEN PodItem7 = PodNarrowItemToken("7", "@Null //}\n@TI {@PLL {7"); +TOKEN PodItem8 = PodNarrowItemToken("8", "@Null //}\n@TI {@PLL {8"); +TOKEN PodItem9 = PodNarrowItemToken("9", "@Null //}\n@TI {@PLL {9"); + + +/*****************************************************************************/ +/* */ /* Pod command paragraphs: =for, =begin, =end */ /* */ /* "passed directly to particular formatters. A formatter that can utilize */ -/* that format will use the section, otherwise it will be ignored." */ -/* */ -/* So I've put in a "=begin lout" token, also recognized as "=begin Lout". */ +/* that format will use the section, otherwise it will be ignored." So */ +/* I've put in a "=begin lout" token, also recognized as "=begin Lout". */ /* */ /*****************************************************************************/ @@ -1606,11 +1921,12 @@ TOKEN PodForToken = { "", "", /* no alternate command; no following command */ TRUE, /* token allowed at start of line only */ { "=for" }, /* command begins with this */ - { NULL }, /* no start2 needed */ + { NULL }, { NULL }, /* no start2 needed; so no bracket2 either */ { NULL }, /* so no end2 either */ AllCharacters, /* anything inside */ "", "", /* no escape character; nothing legal after escape */ "", "", /* no inner escapes; no end inner escape */ + "", /* no bracketing delimiter */ "\n", /* token will end with the end of the line */ TRUE, /* end delimiter (\n) has to be at a line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1623,11 +1939,12 @@ TOKEN PodBeginToken = { "", "", /* no alternate command; no following command */ TRUE, /* token allowed at start of line only */ { "=begin" }, /* command begins with this */ - { NULL }, /* no start2 needed */ + { NULL }, { NULL }, /* no start2 needed; so no bracket2 either */ { NULL }, /* so no end2 either */ AllCharacters, /* anything inside */ "", "", /* no escape character; nothing legal after escape */ "", "", /* no inner escapes; no end inner escape */ + "", /* no bracketing delimiter */ "=end", /* token will end with =end character */ TRUE, /* end delimiter has to be at a line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1640,11 +1957,12 @@ TOKEN PodBeginLoutToken = { "", "", /* no alternate command; no following command */ TRUE, /* token allowed at start of line only */ { "=begin lout", "=begin Lout" }, /* command begins with this */ - { NULL }, /* no start2 needed */ + { NULL }, { NULL }, /* no start2 needed; so no bracket2 either */ { NULL }, /* so no end2 either */ AllCharacters, /* anything inside */ "", "", /* no escape character; nothing legal after escape */ "", "", /* no inner escapes; no end inner escape */ + "", /* no bracketing delimiter */ "=end", /* token will end with =end character */ TRUE, /* end delimiter has to be at a line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1687,10 +2005,12 @@ TOKEN PodBeginLoutToken = { FALSE, /* token not just start of line */ \ { str }, /* token begins with this */ \ { "<", "<< ", "<<< ", "<<<< " }, /* start2 */ \ + { "", "", "", "" }, /* no bracket2 */ \ { ">", " >>", " >>>", " >>>>" }, /* end2 */ \ AllCharacters, /* anything inside (in fact, not used)*/ \ "", "", /* no escape character */ \ "", "", /* no inner escape; no end inner esc */ \ + "", /* will use brackets2 here */ \ "", /* will use end2 here */ \ FALSE, /* end not have to be at line start */ \ FALSE, /* don't end delimiter twice to stop */ \ @@ -1725,10 +2045,12 @@ TOKEN PodCodeToken = RecursiveToken("C", "@PFC"); FALSE, /* token not just start of line */ \ { str }, /* token begins with this */ \ { "<", "<< ", "<<< ", "<<<< " }, /* start2 */ \ + { "", "", "", "" }, /* no bracket2 */ \ { ">", " >>", " >>>", " >>>>" }, /* end2 */ \ AllCharacters, /* anything inside */ \ "", "", /* no escape character */ \ "", "", /* no inner escape; no end inner esc */ \ + "", /* will use brackets2 here */ \ "", /* will use end2 here */ \ FALSE, /* end not have to be at line start */ \ FALSE, /* don't end delimiter twice to stop */ \ @@ -1767,10 +2089,12 @@ TOKEN PodNumCharToken = { FALSE, /* token allowed at start of line only */ { "E<" }, /* command begins with this */ { NULL }, /* no start2 needed */ + { NULL }, /* so no bracket2 either */ { NULL }, /* so no end2 either */ "0123456789", /* digits inside */ "", "", /* no escape character */ "", "", /* no "inner escapes" */ + "", /* no bracketing delimiter */ ">", /* token will end with > character */ FALSE, /* end delimiter does not have to be at line start */ FALSE, /* don't need to see end delimiter twice to stop */ @@ -1786,11 +2110,13 @@ TOKEN PodNumCharToken = { FALSE, /* token not just start of line */ \ { str }, /* token begins with this */ \ { NULL }, /* start2 */ \ + { NULL }, /* bracket2 */ \ { NULL }, /* end2 */ \ "", /* nothing inside */ \ "", "", /* no escape character */ \ "", "", /* no inner escape either */ \ - "", /* no ending delimiter except end2 */ \ + "", /* no bracketing delimiter */ \ + "", /* no ending delimiter */ \ FALSE, /* end not have to be at line start */ \ FALSE, /* don't end delimiter twice to stop */ \ } @@ -1948,12 +2274,12 @@ TOKEN PE99 = PodEscapeToken("E<divide>", "{@Divide}"); #define NO_LANGUAGE ((LANGUAGE *) NULL) typedef struct lang_rec { - char *names[MAX_ARRAY_LENGTH]; + char *names[MAX_NAMES]; char *setup_file; char *lang_sym; int no_match; - TOKEN *tokens[MAX_ARRAY_LENGTH]; - char *keywords[MAX_ARRAY_LENGTH]; + TOKEN *tokens[MAX_TOKENS]; + char *keywords[MAX_KEYWORDS]; } LANGUAGE; @@ -2002,8 +2328,9 @@ LANGUAGE EiffelLanguage = { &ExclamationToken, &EqualToken, &EiffelNotEqualToken, &LeftParenToken, &RightParenToken, &LeftBracketToken, &RightBracketToken, &LeftBraceToken, &RightBraceToken, &AssignToken, &QuestionAssignToken, &PlusToken, - &MinusToken, &DollarToken, &HatToken, &SlashToken, &BackSlashToken, - &LessToken, &GreaterToken, &LessEqualToken, &GreaterEqualToken + &MinusToken, &StarToken, &DollarToken, &HatToken, &SlashToken, + &BackSlashToken, &LessToken, &GreaterToken, &LessEqualToken, + &GreaterEqualToken }, { "alias", "all", "and", "as", "check", "class", "creation", "debug", "deferred", "do", "else", "elseif", "end", "ensure", "expanded", "export", @@ -2043,6 +2370,9 @@ LANGUAGE BlueLanguage = { /* */ /* Perl and Pod */ /* */ +/* We list here all keywords, special variables, predefined filehandles, */ +/* and any other identifier that is "built-in". */ +/* */ /*****************************************************************************/ LANGUAGE PerlLanguage = { @@ -2053,15 +2383,16 @@ LANGUAGE PerlLanguage = { &PerlSingleQuoteStringToken, &PerlDoubleQuoteStringToken, &PerlBackQuoteStringToken, &PerlQTypeStringToken, &PerlSTypeStringToken, &PerlRegExpLPar, &PerlRegExpEq, &PerlRegExpMatch, &PerlRegExpNoMatch, - &PerlRegExpSplit, &PerlRegExpIf, &PerlRegExpNot, &PerlRegExpUnless, - &PerlRegExpFor, &PerlRegExpForEach, &PerlRegExpWhile, - &PerlRegExpStartLineToken, + &PerlRegExpSplit, &PerlRegExpIf, &PerlRegExpAnd, &PerlRegExpAnd2, + &PerlRegExpOr, &PerlRegExpOr2, &PerlRegExpXor, &PerlRegExpNot, + &PerlRegExpNot2, &PerlRegExpUnless, &PerlRegExpFor, &PerlRegExpForEach, + &PerlRegExpWhile, &PerlRegExpStartLineToken, &HereEOTuq, &HereEOTdq, &HereEOTfq, &HereEOTbq, &HereEOFuq, &HereEOFdq, &HereEOFfq, &HereEOFbq, &HereENDuq, &HereENDdq, &HereENDfq, &HereENDbq, &HereBLAuq, &HereBLAdq, &HereBLAfq, &HereBLAbq, &PerlIdentifierToken, &PerlSpecialIdentifierToken, - &PerlLiteralNumberToken, &PerlHexNumberToken, + &PerlLiteralNumberToken, &PerlHexNumberToken, &PerlBinaryNumberToken, &PerlCommentToken, &PerlCommentEscapeToken, &PerlPodToken, &ExclamationToken, &PercentToken, &HatToken, &AmpersandToken, &StarToken, &SlashToken, &ArrowToken, &BackSlashToken, @@ -2087,12 +2418,13 @@ LANGUAGE PerlLanguage = { }, { - /* Built-ins taken from Programming Perl 2nd Ed. */ + /* Built-ins taken from WCS and on-line documentation for 5.6.0 */ + /* dbmopen and dbmclose are not included because they are obsolete. */ "abs", "accept", "alarm", "atan2", "bind", "binmode", "bless", - "caller", "chdir", "chmod", "chomp", "chop", "chown", "chr", "chroot", + "caller", "can", "chdir", "chmod", "chomp", "chop", "chown", "chr", "chroot", "close", "closedir", "connect", "continue", "cos", "crypt", - "dbmclose", "dbmopen", "defined", "delete", "die", "do", "dump", + "defined", "delete", "die", "do", "dump", "each", "endgrent", "endhostent", "endnetent", "endprotoent", "endpwent", "endservent", "eof", "eval", "exec", "exists", "exit", "exp", @@ -2105,19 +2437,19 @@ LANGUAGE PerlLanguage = { "getservent", "getsockname", "getsockopt", "glob", "gmtime", "goto", "grep", "hex", - "import", "index", "int", "ioctl", + "import", "index", "int", "ioctl", "isa", "join", "keys", "kill", "last", "lc", "lcfirst", "length", "link", "listen", "local", - "localtime", "log", "lstat", + "localtime", "lock", "log", "lstat", "map", "mkdir", "msgctl", "msgget", "msgrcv", "msgsnd", "my", "next", "no", - "oct", "open", "opendir", "ord", - "pack", "package", "pipe", "pop", "pos", "print", "printf", "push", + "oct", "open", "opendir", "ord", "our", + "pack", "package", "pipe", "pop", "pos", "print", "printf", "prototype", "push", "quotemeta", - "rand", "read", "readdir", "readlink", "recv", "redo", "ref", - "rename", "require", "reset", "return", "reverse", "rewinddir", - "rindex", "rmdir", + "rand", "read", "readdir", "readline", "readlink", "readpipe", "recv", + "redo", "ref", "rename", "require", "reset", "return", "reverse", + "rewinddir", "rindex", "rmdir", "scalar", "seek", "seekdir", "select", "semctl", "semget", "semop", "send", "setgrent", "sethostent", "setnetent", "setpgrp", "setpriority", "setprotoent", "setpwent", "setservent", @@ -2127,87 +2459,56 @@ LANGUAGE PerlLanguage = { "sub", "substr", "symlink", "syscall", "sysopen", "sysread", "sysseek", "system", "syswrite", "tell", "telldir", "tie", "tied", "time", "times", "truncate", + "unimport", "uc", "ucfirst", "umask", "undef", "unlink", "unpack", "unshift", "untie", "use", "utime", - "values", "vec", + "values", "vec", "VERSION", "wait", "waitpid", "wantarray", "warn", "write", - /* from later versions of Perl (excluding experimental thread stuff) */ - "our", "prototype", "readline", "readpipe", - - /* operators */ + /* Comparison operators */ "lt", "gt", "eq", "ne", "cmp", "le", "ge", - /* Perl special variables */ - /* NB special variables that begin $^, e.g. $^D can also be written as */ - /* dollar control D (yes literal control D) -- but suggest we ignore */ - "$_", "$ARG", - "$.", "$INPUT_LINE_SEPARATOR", "$NR", - "$/", "$INPUT_RECORD_SEPARATOR", "$RS", - "$,", "$OUTPUT_FIELD_SEPARATOR", "$OFS", - "$\\", "$OUTPUT_RECORD_SEPARATOR", "$ORS", - "$\"", "$LIST_SEPARATOR", - "$;", "$SUBSCRIPT_SEPARATOR", "$SUBSEP", - "$^L", "$FORMAT_FORMFEED", - "$:", "$FORMAT_LINE_BREAK_CHARACTERS", - "$^A", "$ACCUMULATOR", - "$#", "$OFMT", - "$?", "$CHILD_ERROR", - "$!", "$OS_ERROR", "$ERRNO", - "$@", "$EVAL_ERROR", - "$$", "$PROCESS_ID", "$PID", - "$<", "$REAL_USER_ID", "$UID", - "$>", "$EFFECTIVE_USER_ID", "$EUID", - "$(", "$REAL_GROUP_ID", "$GID", - "$)", "$EFFECTIVE_GROUP_ID", "$EGID", - "$0", /* dollar zero */ "$PROGRAM_NAME", - "$[", /* deprecated */ - "$]", "$PERL_VERSION", - "$^D", "$DEBUGGING", - "$^E", "$EXTENDED_OS_ERROR", - "$^F", "$SYSTEM_FD_MAX", - "$^H", - "$^I", "$INPLACE_EDIT", - "$^M", - "$^O", "$OSNAME", - "$^P", "$PERLDB", - "$^T", "$BASETIME", - "$^W", "$WARNING", - "$^X", "$EXECUTABLE_NAME", - "$ARGV", - "@ARGV", "@INC", "@F", "%INC", "%ENV", "%SIG", - "ARGV", "STDERR", "STDIN", "STDOUT", "DATA" - "$&", "$MATCH", - "$`", "$PREMATCH", - "$'", "$POSTMATCH", - "$+", "$LAST_PAREN_MATCH", - "$|", "$OUTPUT_AUTOFLUSH", - "$%", "$FORMAT_PAGE_NUMBER", - "$=", "$FORMAT_LINES_PER_PAGE", - "$-", "$FORMAT_LINES_LEFT", - "$~", "$FORMAT_NAME", - "$^", "$FORMAT_TOP_NAME", - - /* Perl special constants */ - "__END__", "__FILE__", "__LINE__", "__PACKAGE__", - - /* Perl regex variables - first 9 only */ - "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", "$9", - - /* Perl pragmas */ - "attrs", "autouse", "base", "blib", "constant", "diagnostics", "fields", - "integer", "less", "lib", "locale", "ops", "overload", "re", "sigtrap", - "strict", "subs", "vars", - - /* Perl textual operators */ + /* Special markers & constants */ + "__DATA__", "__END__", "__FILE__", "__LINE__", "__PACKAGE__", + + /* Predefined filehandles */ + "ARGV", "ARGVOUT", "STDERR", "STDIN", "STDOUT", "DATA" + + /* Pragmas */ + "attributes", "autouse", "base", "blib", "bytes", + "constant", "charnames", "diagnostics", "fields", "filetest", + "integer", "less", "lib", "locale", + /* "open", Not listed here since its also a function */ + "ops", "overload", "re", "sigtrap", "strict", "subs", "utf8", + "vars", "warnings", + + /* Low-precedence logical operators */ "and", "or", "xor", "not", - /* the x keyword */ + /* The x keyword */ "x", - /* Perl control structures */ + /* Control structures */ "if", "elsif", /* yes one e */ "else", "unless", "while", "for", "foreach", "continue", "until", + + /* Special subroutines */ + "AUTOLOAD", "BEGIN", "CHECK", "END", "DESTROY", "INIT", + + /* Predefined classes & namespaces */ + "CORE", "GLOBAL", "UNIVERSAL", "SUPER", + + /* Tie predefined subroutines */ + "TIESCALAR", + "FETCH", "STORE", + "TIEARRAY", + "FETCHSIZE", "STORESIZE", "EXISTS", "DELETE", + "CLEAR", "PUSH", "POP", "SHIFT", "UNSHIFT", "SPLICE", "EXTEND", + "TIEHASH", + "FIRSTKEY", "NEXTKEY" + "TIEHANDLE", + "PRINT", "PRINTF", "WRITE", "READLINE", "GETC", "READ", "CLOSE", + "BINMODE", "OPEN", "EOF", "FILENO", "SEEK", "TELL", } }; @@ -2220,6 +2521,8 @@ LANGUAGE PodLanguage = { &PodVerbatimLineToken, &PodEmptyLineToken, &PodIgnoreToken, &PodHeading1Token, &PodHeading2Token, &PodOverToken, &PodItemToken, &PodBackToken, + &PodItemBullet, &PodItem0, &PodItem1, &PodItem2, &PodItem3, + &PodItem4, &PodItem5, &PodItem6, &PodItem7, &PodItem8, &PodItem9, &PodForToken, &PodBeginToken, &PodBeginLoutToken, &PodItalicToken, &PodBoldToken, &PodCodeToken, &PodFileToken, &PodNoBreakToken, &PodLinkToken, &PodIndexToken, &PodZeroToken, @@ -2249,9 +2552,9 @@ LANGUAGE PodLanguage = { /*****************************************************************************/ LANGUAGE *languages[] = { + & BlueLanguage, & CLanguage, & EiffelLanguage, - & BlueLanguage, & PerlLanguage, & PodLanguage, }; @@ -2303,11 +2606,14 @@ 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 */ static char *language_option; /* value of -l option, else null */ +static char *numbered_option; /* value of -L option, else null */ static BOOLEAN tab_by_spacing; /* TRUE if using space chars to tab */ 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 */ +static int print_num; /* current line num for printing */ static FILE *in_fp; /* where input comes from */ static FILE *out_fp; /* where output goes */ @@ -2413,7 +2719,7 @@ void NextChar() /* we need to read in the new line */ line_num++; line_pos = 1; - if( fgets(&curr_line[1], MAX_LINE+2, in_fp) == (char *) NULL ) + if( fgets(&curr_line[1], MAX_LINE-2, in_fp) == (char *) NULL ) curr_line[1] = '\0'; } if( DEBUG_NEXTCHAR ) @@ -2438,7 +2744,7 @@ BOOLEAN InputMatches(char *pattern) if( *p == '\0' ) { /* attempt to read another line of input, since we are off the end */ - if( fgets(p, MAX_LINE+2-(p - curr_line), in_fp) == (char *) NULL ) + if( fgets(p, MAX_LINE-2-(p - curr_line), in_fp) == (char *) NULL ) *p = '\0'; } if( *p != *q ) @@ -2607,6 +2913,45 @@ static char save_value[MAX_LINE]; /* the token text */ static int save_len; /* index of \0 in save_value */ static BOOLEAN save_on = FALSE; /* TRUE when saving */ static LANGUAGE *save_language; /* the current language */ +static int out_linepos = 0; /* output line position */ +static BOOLEAN out_linestart = TRUE; /* TRUE if out line start */ +static BOOLEAN out_formfeed = FALSE; /* TRUE if last was formfeed */ +static int brace_depth; /* brace depth in verbatim */ + +extern void Emit(TOKEN *current_token, char ch); + +/*****************************************************************************/ +/* */ +/* EmitTab(int *out_linepos) */ +/* */ +/* Emit one tab character, keeping track of where we are up to in */ +/* *out_linepos. */ +/* */ +/*****************************************************************************/ + +void EmitTab() +{ + if( tab_by_spacing ) + { putc(' ', out_fp); + out_linepos++; + while( out_linepos % tab_in != 0 ) + { putc(' ', out_fp); + out_linepos++; + } + } + else + { out_linepos++; + while( out_linepos % tab_in != 0 ) out_linepos++; + if( out_linestart ) + { fprintf(out_fp, "$>\"%.1f%c\" {}", tab_out, tab_unit); + /* NB {} is required in case nothing follows on this line */ + } + else + fprintf(out_fp, "$>\"%.1f%ct\" {}", (out_linepos/tab_in)*tab_out, + tab_unit); + } + out_formfeed = FALSE; +} /*****************************************************************************/ @@ -2627,8 +2972,7 @@ static LANGUAGE *save_language; /* the current language */ /*****************************************************************************/ void EmitRaw(char ch) -{ static int out_linepos = 0; /* output line position */ - static BOOLEAN out_linestart = TRUE; /* TRUE if out line start */ +{ if( DEBUG_EMIT ) fprintf(stderr, "EmitRaw(%c); out_linepos %d, out_linestart %s\n", @@ -2637,35 +2981,69 @@ void EmitRaw(char ch) { fprintf(err_fp, "%s internal error (EmitRaw save_on)\n", ErrorHeader()); abort(); } - if( ch == '\t' ) - { if( tab_by_spacing ) - { putc(' ', out_fp); - out_linepos++; - while( out_linepos % tab_in != 0 ) - { putc(' ', out_fp); - out_linepos++; - } - } - else - { out_linepos++; - while( out_linepos % tab_in != 0 ) out_linepos++; - if( out_linestart ) - { fprintf(out_fp, "$>\"%.1f%c\" {}", tab_out, tab_unit); - /* NB {} is required in case nothing follows on this line */ - } - else - fprintf(out_fp, "$>\"%.1f%ct\" {}", (out_linepos/tab_in)*tab_out, tab_unit); - } + + /* drop empty lines following formfeed */ + if( out_formfeed && (ch == '\n' || ch == '\f') ) + { + out_formfeed = (ch == '\f'); + return; } - else if( ch == '\n' ) - { fputc(ch, out_fp); - out_linepos = 0; - out_linestart = TRUE; + + /* emit line number if required */ + if( print_lines && out_linepos == 0 ) + { + 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(); } - else - { fputc(ch, out_fp); - out_linepos++; - if( ch != ' ' ) out_linestart = FALSE; + + switch( ch ) + { + case ' ': + + fputc(ch, out_fp); + out_linepos++; + out_formfeed = FALSE; + break; + + + case '\t': + + EmitTab(); + out_formfeed = FALSE; + break; + + + case '\n': + + fputc(ch, out_fp); + out_linepos = 0; + out_linestart = TRUE; + out_formfeed = FALSE; + break; + + + case '\f': + + fputs("\n@NP\n", out_fp); + out_linepos = 0; + out_linestart = TRUE; + out_formfeed = TRUE; + break; + + + default: + + fputc(ch, out_fp); + out_linepos++; + out_linestart = FALSE; + out_formfeed = FALSE; + break; + } if( DEBUG_EMIT ) fprintf(stderr, "EmitRaw(%c) returning; out_linepos %d, out_linestart %s\n", @@ -2692,22 +3070,35 @@ void StartEmit(LANGUAGE *lang, TOKEN *current_token, char *start_delim, int len) abort(); } save_language = lang; + + /* emit line number if required */ + if( print_lines && out_linepos == 0 ) + { + 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(); + } + switch( current_token->print_style ) { case PRINT_WHOLE_QUOTED: - /* start_delim is to be printed, but must be saved up */ + /* start_delim is to be printed */ save_on = TRUE; - for( i = 0; i < len; i++ ) - save_value[i] = start_delim[i]; - save_len = len; + save_len = 0; save_value[save_len] = '\0'; + for( i = 0; i < len; i++ ) + Emit(current_token, start_delim[i]); break; case PRINT_NODELIMS_QUOTED: - /* easiest to save this, treat like PRINT_WHOLE_QUOTED, but no delims */ + /* like PRINT_WHOLE_QUOTED, but no delims */ save_on = TRUE; save_len = 0; save_value[save_len] = '\0'; @@ -2723,6 +3114,7 @@ void StartEmit(LANGUAGE *lang, TOKEN *current_token, char *start_delim, int len) /* print opening delimiter, verbatim */ for( i = 0; i < len; i++ ) putc(start_delim[i], out_fp); + break; @@ -2731,6 +3123,9 @@ void StartEmit(LANGUAGE *lang, TOKEN *current_token, char *start_delim, int len) /* command is printed but not delimiter */ if( current_token->command[0] != '\0' ) fprintf(out_fp, "%s{", current_token->command); /*}*/ + + /* record that we are currently inside no braces in the verbatim text */ + brace_depth = 0; break; @@ -2764,38 +3159,37 @@ void StartEmit(LANGUAGE *lang, TOKEN *current_token, char *start_delim, int len) /* End emitting the current token. Its ending delimiter was end_delim. */ /* */ /*****************************************************************************/ -#define is_whitespace(ch) ((ch)==' ' || (ch)=='\t' || (ch)=='\n' || (ch)=='\f') +#define at_start_line(s, i) ((i) == 0 || s[(i)-1] == '\n' || s[(i)-1] == '\f' ) void EndEmit(TOKEN *current_token, char *end_delim) -{ char *com; int i; BOOLEAN quoted_now = FALSE; +{ char *com; + int i; + BOOLEAN quoted_now = FALSE; switch( current_token->print_style ) { case PRINT_WHOLE_QUOTED: - strcpy(&save_value[save_len], end_delim); - save_len += strlen(end_delim); + /* first, emit (i.e. save) ending delimiter */ + for( i = 0; end_delim[i] != '\0'; i++ ) + Emit(current_token, end_delim[i]); /* NB NO BREAK */ case PRINT_NODELIMS_QUOTED: /* work out whether we are printing the command or its alternative */ - com = (current_token->alternate_command[0]!='\0' && HashRetrieve(save_value)? + com=(current_token->alternate_command[0]!='\0'&&HashRetrieve(save_value)? current_token->alternate_command : current_token->command); /* print command, opening brace */ - if( com[0] != '\0' ) fprintf(out_fp, "%s{", com); /* } */ - - /* omit trailing white space (will not be significant to Lout anyway) */ - /* *** not doing this now - while( save_len>0 && is_whitespace(save_value[save_len-1]) ) save_len--; - *** */ + if( com[0] != '\0' ) fprintf(out_fp, "%s{", com); /*}*/ /* print the token with appropriate escapes */ save_on = FALSE; for( i = 0; i < save_len; i++ ) switch( save_value[i] ) { + case '@': case '/': case '|': case '&': @@ -2806,7 +3200,10 @@ void EndEmit(TOKEN *current_token, char *end_delim) case '~': case '-': - if( !quoted_now ) { putc('"', out_fp); quoted_now = TRUE; } + if( !quoted_now ) + { putc('"', out_fp); + quoted_now = TRUE; + } EmitRaw(save_value[i]); break; @@ -2814,7 +3211,10 @@ void EndEmit(TOKEN *current_token, char *end_delim) case '"': case '\\': - if( !quoted_now ) { putc('"', out_fp); quoted_now = TRUE; } + if( !quoted_now ) + { putc('"', out_fp); + quoted_now = TRUE; + } putc('\\', out_fp); EmitRaw(save_value[i]); break; @@ -2822,24 +3222,41 @@ void EndEmit(TOKEN *current_token, char *end_delim) case ' ': case '\t': - case '\n': - case '\f': - if( i == 0 ) - { /* make initial white space significant using "" */ + /* make initial white space significant using "" */ + if( !quoted_now && at_start_line(save_value, i) ) + { putc('"', out_fp); quoted_now = TRUE; + out_linestart = FALSE; + } + + /* make sure we aren't in quoted text */ + if( quoted_now ) + { putc('"', out_fp); + quoted_now = FALSE; } - if( quoted_now ) { putc('"', out_fp); quoted_now = FALSE; } + + /* print the character */ EmitRaw(save_value[i]); break; + case '\n': + case '\f': + + /* these characters are not saved */ + fprintf(err_fp, "%s internal error (EndEmit nl/ff)\n", ErrorHeader()); + exit(1); + break; + + default: /* anything else can be quoted or unquoted ad. lib. */ EmitRaw(save_value[i]); break; + } /* print closing quote and closing brace if needed */ if( quoted_now ) putc('"', out_fp); @@ -2859,7 +3276,24 @@ void EndEmit(TOKEN *current_token, char *end_delim) case PRINT_NODELIMS_UNQUOTED: /* print closing brace if required*/ - if( current_token->command[0] != '\0' ) /*{*/ putc('}', out_fp); + if( current_token->command[0] != '\0' ) + { + if( brace_depth > 0 ) + { + if( brace_depth > 1 ) + fprintf(err_fp, "%s: inserted %d closing braces at end of %s\n", + ErrorHeader(), brace_depth, current_token->name); + else + fprintf(err_fp, "%s: inserted one closing brace at end of %s\n", + ErrorHeader(), current_token->name); + while( brace_depth > 0 ) + { + /*{*/ putc('}', out_fp); + brace_depth--; + } + } + /*{*/ putc('}', out_fp); + } break; @@ -2907,14 +3341,44 @@ void Emit(TOKEN *current_token, char ch) { fprintf(err_fp, "%s internal error (EmitChar)\n", ErrorHeader()); abort(); } - save_value[save_len++] = ch; - save_value[save_len] = '\0'; + if( ch == '\n' || ch == '\f' ) + { + /* could save newline too, but uses less memory if print now */ + EndEmit(current_token, ""); + EmitRaw(ch); + StartEmit(save_language, current_token, "", 0); + } + else if( save_len < MAX_LINE - 1 ) + { + save_value[save_len++] = ch; + save_value[save_len] = '\0'; + } + else + { + fprintf(err_fp, "%s internal error (token too long)\n", ErrorHeader()); + exit(1); + } break; case PRINT_WHOLE_UNQUOTED: case PRINT_NODELIMS_UNQUOTED: + /* keep trace of braces, and insert matching braces if required */ + if( ch == '{' ) + brace_depth++; + else if( ch == '}' ) + { + brace_depth--; + if( brace_depth < 0 && current_token->command[0] != '\0' ) + { + fprintf(err_fp, "%s: inserted opening brace within %s\n", + ErrorHeader(), current_token->name); + putc('{', out_fp); /*}*/ + brace_depth++; + } + } + /* verbatim output */ putc(ch, out_fp); break; @@ -2956,6 +3420,7 @@ void EmitProtected(char ch) { switch( ch ) { + case '@': case '/': case '|': case '&': @@ -3029,6 +3494,7 @@ TOKEN *ExpandToken(TOKEN *t, int starts_pos) res->escape_legal = t->escape_legal; res->inner_escape = t->inner_escape; res->end_inner_escape = t->end_inner_escape; + res->bracket_delimiter = t->brackets2[starts_pos]; res->end_delimiter = t->ends2[starts_pos]; res->end_start_line_only = t->end_start_line_only; res->want_two_ends = t->want_two_ends; @@ -3056,30 +3522,21 @@ TRIE StartLineTrie = (TRIE) NULL; /* these allowed at line start only */ void SetupOneToken(TOKEN *t) { int j; - if( DEBUG_SETUP ) - fprintf(stderr, "SetupOneToken starting %s\n", t->starts[0]); + if( DEBUG_SETUP ) fprintf(stderr, "SetupOneToken(%s)\n", t->starts[0]); /* check that any PRINT_NODELIMS_INNER styles have an end delimiter */ if( t->print_style == PRINT_NODELIMS_INNER ) - { - if( t->end_delimiter == NULL || t->end_delimiter[0] == '\0' ) - { - fprintf(err_fp, "%s: token %s is INNER but has no end delimiter\n", + { if( t->end_delimiter == NULL || t->end_delimiter[0] == '\0' ) + { fprintf(err_fp, "%s: token %s is INNER but has no end delimiter\n", t->name, ErrorHeader()); } } /* set up the chtype table for this token */ - if( t->legal == NULL ) - { /* all characters are legal */ - for( j = 0; j < MAX_CHAR; j++ ) - t->chtype[j] = LEGAL; - } - else - { /* the characters in t->legal are legal */ - for( j = 0; t->legal[j] != '\0'; j++ ) - t->chtype[(int) t->legal[j]] = LEGAL; - } + if( t->legal == NULL ) /* all characters are legal in this case */ + for( j = 0; j < MAX_CHAR; j++ ) t->chtype[j] = LEGAL; + else /* the characters in t->legal are legal in this case */ + for( j = 0; t->legal[j] != '\0'; j++ ) t->chtype[(int) t->legal[j]] = LEGAL; if( t->escape[0] != '\0' ) t->chtype[(int) t->escape[0]] = ESCAPE; if( t->inner_escape[0] != '\0' ) @@ -3088,8 +3545,7 @@ void SetupOneToken(TOKEN *t) /* set up the escape_chtype table for this token */ if( t->escape_legal == NULL ) { /* all characters are legal after an escape character */ - for( j = 0; j < MAX_CHAR; j++ ) - t->escape_chtype[j] = LEGAL; + for( j = 0; j < MAX_CHAR; j++ ) t->escape_chtype[j] = LEGAL; } else { /* the characters in t->escape_legal are legal after an escape character */ @@ -3099,8 +3555,7 @@ void SetupOneToken(TOKEN *t) /* load the opening delimiters of this token into the trie */ for( j = 0; t->starts[j] != (char *) NULL; j++ ) - { - if( !TrieInsert(t->start_line_only ? &StartLineTrie:&Trie,t->starts[j],t) ) + { if( !TrieInsert(t->start_line_only ? &StartLineTrie:&Trie,t->starts[j],t) ) { if( *(t->starts[j]) == '\0' ) fprintf(err_fp, "%s: empty starting delimiter\n", ErrorHeader()); else @@ -3109,8 +3564,7 @@ void SetupOneToken(TOKEN *t) } } - if( DEBUG_SETUP ) - fprintf(stderr, "SetupOneToken ending %s\n", t->starts[0]); + if( DEBUG_SETUP ) fprintf(stderr, "SetupOneToken ending %s\n", t->starts[0]); } /* end SetupOneToken */ @@ -3208,7 +3662,26 @@ TOKEN *TokenStartingHere(int *len) return res; } + +/*****************************************************************************/ +/* */ +/* int Matching() */ +/* */ +/* Return the index of the pair that matches the current input. */ +/* */ +/*****************************************************************************/ + +int Matching() +{ int i; + for( i = 0; pairs[i].first != NULL && !InputMatches(pairs[i].first); i++ ); + if( DEBUG_PROCESS ) + fprintf(stderr, "Matching() = %d (\"%s\", \"%s\")\n", i, + pairs[i].first == NULL ? "NULL" : pairs[i].first, + pairs[i].second == NULL ? "NULL" : pairs[i].second); + return i; +} + /*****************************************************************************/ /* */ /* Process(LANGUAGE *lang, TOKEN *outer_token, char *outer_end_delimiter) */ @@ -3221,22 +3694,47 @@ TOKEN *TokenStartingHere(int *len) /*****************************************************************************/ #define START 1 #define IN_TOKEN 2 -#define IN_TOKEN_AFTER_ESCAPE 3 -#define IN_TOKEN_AFTER_INNER_ESCAPE 4 -#define STOP 5 +#define IN_TOKEN_NEEDING_DELIM 3 +#define IN_TOKEN_AFTER_ESCAPE 4 +#define IN_TOKEN_AFTER_INNER_ESCAPE 5 +#define STOP 6 + +char *debug_state(int s) +{ + switch( s ) + { + case START: return "START"; + case IN_TOKEN: return "IN_TOKEN"; + case IN_TOKEN_NEEDING_DELIM: return "IN_TOKEN_NEEDING_DELIM"; + case IN_TOKEN_AFTER_ESCAPE: return "IN_TOKEN_AFTER_ESCAPE"; + case IN_TOKEN_AFTER_INNER_ESCAPE: return "IN_TOKEN_AFTER_INNER_ESCAPE"; + case STOP: return "STOP"; + default: return "?"; + } +} void Process(LANGUAGE *lang, TOKEN *outer_token, char *outer_end_delimiter) { TOKEN *current_token; int len, i, state; - BOOLEAN end_delimiter_seen; + int end_delimiter_depth, end_delimiter_count; + char *curr_end_delim, *curr_bracket_delim; if( DEBUG_PROCESS ) fprintf(stderr, "[ Process(%s, -, -, -, -)\n", lang->names[0]); state = START; - end_delimiter_seen = FALSE; while( curr_line[line_pos] != '\0' && state != STOP ) { if( DEBUG_PROCESS ) - fprintf(stderr, " state %d, ch %c\n", state, curr_line[line_pos]); + { + if( state >= IN_TOKEN ) + fprintf(stderr, + " %s, depth %d, count %d, bracket \"%s\", end \"%s\", ch %c\n", + debug_state(state), end_delimiter_depth, end_delimiter_count, + curr_bracket_delim, curr_end_delim, curr_line[line_pos]); + else + fprintf(stderr, " %s, ch %c\n", + debug_state(state), curr_line[line_pos]); + } + switch( state ) { @@ -3272,38 +3770,23 @@ void Process(LANGUAGE *lang, TOKEN *outer_token, char *outer_end_delimiter) Process(lang, current_token, current_token->end_delimiter); EndEmit(current_token, ""); } - else state = IN_TOKEN; + else + { + end_delimiter_depth = 1; + end_delimiter_count = current_token->want_two_ends ? 2 : 1; + curr_end_delim = current_token->end_delimiter; + curr_bracket_delim = current_token->bracket_delimiter; + state = IN_TOKEN; + } } /* check whether we have a space */ - else if( curr_line[line_pos] == ' ' ) + else if( is_whitespace(curr_line[line_pos]) ) { - EmitRaw(' '); + EmitRaw(curr_line[line_pos]); NextChar(); } - /* check whether we have a tab character */ - else if( curr_line[line_pos] == '\t' ) - { - EmitRaw('\t'); - NextChar(); - } - - /* check whether we have a newline character */ - else if( curr_line[line_pos] == '\n' ) - { - EmitRaw('\n'); - NextChar(); - } - - /* check whether we have a formfeed character */ - else if( curr_line[line_pos] == '\f' ) - { - fprintf(out_fp, "\n@NP"); - EmitRaw('\n'); - NextChar(); - } - /* check whether we are supposed to echo things that don't match */ else if( lang->no_match == NO_MATCH_PRINT ) { @@ -3319,8 +3802,8 @@ void Process(LANGUAGE *lang, TOKEN *outer_token, char *outer_end_delimiter) ErrorHeader(), curr_line[line_pos]); else fprintf(err_fp, "%s: %s (octal %o)\n", - "skipping unexpected unprintable character", - ErrorHeader(), (int) curr_line[line_pos]); + ErrorHeader(), "skipping unexpected unprintable character", + (int) curr_line[line_pos]); NextChar(); } else @@ -3333,79 +3816,162 @@ void Process(LANGUAGE *lang, TOKEN *outer_token, char *outer_end_delimiter) case IN_TOKEN: /* within a token; current_token says which kind */ /* check for ending delimiter if there is one */ - if( current_token->end_delimiter[0] != '\0' && + if( curr_end_delim[0] != '\0' && (!current_token->end_start_line_only || line_pos == 1) && - InputMatches(current_token->end_delimiter) ) + InputMatches(curr_end_delim) ) { - if( current_token->want_two_ends && !end_delimiter_seen ) + end_delimiter_depth--; + if( DEBUG_PROCESS ) + fprintf(stderr, " InputMatches(%s) so end_delimiter_depth--\n", + curr_end_delim); + if( end_delimiter_depth > 0 ) { - /* if we have to see the end delimiter twice before stopping, */ - /* and we haven't seen it yet, then emit the char and carry on */ + /* if this end delimiter matches with a bracketing delimiter, */ + /* so is not the end of the token, emit the char and carry on */ Emit(current_token, curr_line[line_pos]); NextChar(); - end_delimiter_seen = TRUE; } else { + end_delimiter_count--; if( DEBUG_PROCESS ) - fprintf(stderr, " InputMatches(%s) so finishing token\n", - current_token->end_delimiter); - len = strlen(current_token->end_delimiter); - for( i = 0; i < len; i++ ) + fprintf(stderr, " InputMatches(%s) so end_delimiter_count--\n", + curr_end_delim); + if( end_delimiter_count == 0 ) + { + /* seen all the end delimiters we need, so token ends */ + len = strlen(curr_end_delim); + for( i = 0; i < len; i++ ) + NextChar(); + EndEmit(current_token, curr_end_delim); + state = START; + } + else + { + /* need more end delimiters yet, so keep scanning */ + Emit(current_token, curr_line[line_pos]); NextChar(); - EndEmit(current_token, current_token->end_delimiter); - state = START; + if( curr_bracket_delim[0] != '\0' ) + state = IN_TOKEN_NEEDING_DELIM; + else + state = IN_TOKEN; + } } } - else switch( current_token->chtype[(int) curr_line[line_pos]] ) + else { + /* check for bracketing delimiter if there is one */ + if( curr_bracket_delim[0] != '\0' && + InputMatches(curr_bracket_delim) ) + { + if( DEBUG_PROCESS ) + fprintf(stderr, " InputMatches(%s) so end_delimiter_depth++\n", + curr_bracket_delim); + end_delimiter_depth++; + } + + /* handle current character as usual */ + switch( current_token->chtype[(int) curr_line[line_pos]] ) + { - case LEGAL: + case LEGAL: - Emit(current_token, curr_line[line_pos]); - NextChar(); - break; + Emit(current_token, curr_line[line_pos]); + NextChar(); + break; - case ESCAPE: + case ESCAPE: - NextChar(); - state = IN_TOKEN_AFTER_ESCAPE; - break; + NextChar(); + state = IN_TOKEN_AFTER_ESCAPE; + break; - case INNER_ESCAPE: + case INNER_ESCAPE: - EndEmit(current_token, ""); + EndEmit(current_token, ""); + NextChar(); + Process(lang, current_token, current_token->end_inner_escape); + state = IN_TOKEN_AFTER_INNER_ESCAPE; + break; + + + default: + + if( curr_end_delim[0] != '\0' ) + { + /* error: token ends at delimiter, not unexpected character */ + if( Printable(curr_line[line_pos]) ) + fprintf(err_fp, + "%s: skipping %c character (not allowed in %s)\n", + ErrorHeader(), curr_line[line_pos], current_token->name); + else if( curr_line[line_pos] == '\t' ) + fprintf(err_fp, + "%s: skipping tab character (not allowed in %s)\n", + ErrorHeader(), current_token->name); + else if( curr_line[line_pos] == '\n' ) + fprintf(err_fp, + "%s: skipping newline character (not allowed in %s)\n", + ErrorHeader(), current_token->name); + else if( curr_line[line_pos] == '\f' ) + fprintf(err_fp, + "%s: skipping formfeed character (not allowed in %s)\n", + ErrorHeader(), current_token->name); + else + fprintf(err_fp, "%s: %s, octal code %o (not allowed in %s)\n", + ErrorHeader(), "skipping unprintable character", + (unsigned) curr_line[line_pos], current_token->name); + NextChar(); + } + else + { + /* normal termination after last legal character */ + EndEmit(current_token, ""); + state = START; + } + break; + + + } + } + break; + + + case IN_TOKEN_NEEDING_DELIM: /* within a token looking for delim */ + + /* looking for either a white space or a new matching delim */ + switch( curr_line[line_pos] ) + { + case ' ': + case '\t': + case '\n': + case '\f': + + Emit(current_token, curr_line[line_pos]); NextChar(); - Process(lang, current_token, current_token->end_inner_escape); - state = IN_TOKEN_AFTER_INNER_ESCAPE; break; default: - if( current_token->end_delimiter[0] != '\0' ) + /* had better match */ + i = Matching(); + if( pairs[i].first == NULL ) { - /* error: token ends at delimiter, not at unexpected character */ - if( Printable(curr_line[line_pos]) ) - fprintf(err_fp, "%s: skipping unexpected %c character in %s\n", - ErrorHeader(), curr_line[line_pos], current_token->name); - else - fprintf(err_fp, "%s: %s (octal %o) in %s\n", - ErrorHeader(), "skipping unexpected unprintable character", - (int) curr_line[line_pos], current_token->name); - NextChar(); - } - else - { - /* normal termination after last legal character */ - EndEmit(current_token, ""); - state = START; + /* this is not a suitable new start for delimiters */ + fprintf(err_fp, "%s: expected new delimiter here, found %c\n", + ErrorHeader(), curr_line[line_pos]); + exit(0); } + curr_bracket_delim = pairs[i].first; + curr_end_delim = pairs[i].second; + Emit(current_token, curr_line[line_pos]); + NextChar(); + end_delimiter_depth++; + state = IN_TOKEN; break; - } break; @@ -3478,6 +4044,19 @@ void Process(LANGUAGE *lang, TOKEN *outer_token, char *outer_end_delimiter) break; + case IN_TOKEN_NEEDING_DELIM: + + /* we stopped in a token at a point where we were looking for a delim */ + if( outer_token == (TOKEN *) NULL ) + fprintf(err_fp, "%s: program text ended within %s\n", + ErrorHeader(), current_token->name); + else + fprintf(err_fp, "%s: %s token ended within %s\n", + ErrorHeader(), outer_token->name, current_token->name); + EndEmit(current_token, ""); + break; + + case IN_TOKEN_AFTER_ESCAPE: /* we stopped after the escape character */ @@ -3539,6 +4118,7 @@ void PrintUsage() fprintf(err_fp, " -t<num> tab interval (e.g. 8 is default)\n"); fprintf(err_fp, " -T<dist> output tab interval (e.g. 0.5i)\n"); fprintf(err_fp, " -S<file> use this as the setup file\n"); + fprintf(err_fp, " -L<num> number lines from <num> (default is 1)\n"); fprintf(err_fp, " -n no file names as page headers\n"); fprintf(err_fp, " -V print version information and exit\n"); fprintf(err_fp, " -u print this usage message and exit\n"); @@ -3587,6 +4167,8 @@ int main(int argc, char *argv[]) tab_in = 8; tab_out = 3; tab_unit = 'f'; + print_lines = FALSE; + numbered_option = NULL; headers_option = TRUE; font_option = size_option = line_option = tabin_option = tabout_option = setup_option = language_option = (char *) NULL; @@ -3654,6 +4236,7 @@ int main(int argc, char *argv[]) ErrorHeader(), outfilename); exit(1); } + /* setbuf(out_fp, (char *) NULL); */ break; @@ -3767,13 +4350,26 @@ int main(int argc, char *argv[]) /* read alternative setup file */ if( raw_seen ) - { fprintf(err_fp, "%s: -s illegal with -r option\n", ErrorHeader()); + { fprintf(err_fp, "%s: -S illegal with -r option\n", ErrorHeader()); exit(1); } GetArg(setup_option, "usage: -S<filename>", FALSE); break; + case 'L': + + /* read line numbering */ + GetArg(numbered_option, "usage: -L<number>", TRUE); + print_lines = TRUE; + print_num = 1; + if( numbered_option!=NULL && sscanf(numbered_option,"%d",&print_num)!=1) + { fprintf(err_fp, "%s usage: -L or -L<number>\n", ErrorHeader()); + exit(1); + } + break; + + case 'n': if( raw_seen ) @@ -3932,6 +4528,8 @@ int main(int argc, char *argv[]) fprintf(out_fp, " tabin { %s }\n", tabin_option ); if( tabout_option != NULL ) fprintf(out_fp, " tabout { %s }\n", tabout_option ); + if( print_lines ) + fprintf(out_fp, " numbered { %d }\n", print_num ); fprintf(out_fp, "%s%s\n", "@Be", "gin"); while( (ch = getc(in_fp)) != EOF ) putc(ch, out_fp); diff --git a/software/lout.russian b/software/lout.russian index e247db3..bc4be6f 100644 --- a/software/lout.russian +++ b/software/lout.russian @@ -2,4 +2,4 @@ LOUT.RUSSIAN - RUSSIAN LANGUAGE FORMATTING IN LOUT DOCUMENTS This software is now included in the main Lout distribution, except that there is a problem with the fonts, which are -accordingly not being distrubuted. +accordingly not being distributed. @@ -243,6 +243,27 @@ Changes and new features introduced in Version 3.20 [8 April 2000] Multi-line style changes (@I, @Colour etc.) now work in lines @Break mode @Perl symbol for Perl programming language formatting (includes Pod) +Changes and new features introduced in Version 3.21 [10 May 2000] + + Bug fixes (including an old problem of bits lost from programs in tables) + Refinements to @Perl symbol for Perl programming language formatting + Program texts can now be formatted with line numbers added + -V now tells about PDF compression and whether debug output is available + "Page body margins" for indenting of page body wrt headers and footers + Margin notes code updated to work as desired with the new page body margins + @PageEnclose symbol generalizes @PageBox (enclose each page in anything) + Robustness wrt Linux strcoll() improved (tab characters no longer compared) + "Abstract" word in tech reports now centred again by default + Lout now builds composite characters - see Expert's Guide, under @Font + + *** IMPORTANT: ONE CHANGE THAT IS NOT UPWARDLY COMPATIBLE *** + + If you are using your own setup file, then it is likely to contain the + line "@SysInclude { fontdefs }". There is no longer a fontdefs file, + there is now a fontdefs database, so you need to replace this line with + "@SysDatabase @FontDef { fontdefs }". + + Things that ought to be done but haven't been done yet PDF-like features in PostScript output @@ -250,4 +271,4 @@ Things that ought to be done but haven't been done yet Review Uwe's proposal for moving word row marks to the baseline Jeff Kingston -8 April 2000 +10 May 2000 @@ -1,6 +1,6 @@ /*@z01.c:Supervise:StartSym, AllowCrossDb, Encapsulated, etc.@****************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -457,6 +457,10 @@ int main(int argc, char *argv[]) SAFE_DFT ? " yes" : " no"); fprintf(stderr, "strcoll() used for sorting by default:%s\n", COLLATE ? " yes" : " no"); + fprintf(stderr, "PDF compression on:%s\n", + PDF_COMPRESSION ? " yes" : " no"); + fprintf(stderr, "Debugging (-d, -dd, -ddd flags) available:%s\n", + DEBUG_ON ? " yes" : " no"); fprintf(stderr, "\n"); fprintf(stderr, "Basser Lout comes with ABSOLUTELY NO WARRANTY.\n"); fprintf(stderr, "This is free software, and you are welcome to\n"); @@ -676,7 +680,6 @@ int main(int argc, char *argv[]) if( out_fp == null ) Error(1, 27, "cannot open output file %s", FATAL, no_fpos, outfile); } - FontInit(); ColourInit(); LanguageInit(); PrintInit(out_fp); @@ -816,6 +819,9 @@ int main(int argc, char *argv[]) s=load(KW_ACAT_NJ, ACAT, TRUE, TRUE, FALSE, ACAT_PREC); setcat(s,FALSE,TRUE); s=load(KW_ACAT_MJ, ACAT, TRUE, TRUE, FALSE, ACAT_PREC); setcat(s,TRUE, TRUE); + /* intialize fonts and load @FontDef symbol */ + FontInit(); + /* intialize current time and load @Moment symbol */ InitTime(); @@ -856,7 +862,7 @@ int main(int argc, char *argv[]) CheckErrorBlocks(); /* wrapup */ - ifdebug(DST, D, CheckSymSpread() ); + ifdebug(DST, DD, CheckSymSpread() ); ifdebug(ANY, D, DeleteEverySym() ); debug0(DMA, D, "at end of run:"); ifdebug(DMA, D, DebugMemory() ); @@ -1,6 +1,6 @@ /*@z02.c:Lexical Analyser:Declarations@***************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z03.c:File Service:Declarations, no_fpos@******************************** */ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z04.c:Token Service:NewToken(), CopyTokenList()@***************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ -/*@z05.c:Read Definitions:ReadFontDef()@**************************************/ +/*@z05.c:Read Definitions:ReadLangDef()@**************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -43,54 +43,6 @@ /*****************************************************************************/ /* */ -/* static ReadFontDef(encl) */ -/* */ -/* Read one font definition and pass it on to the font module. The */ -/* syntax is fontdef <family> <face> { <object> }. */ -/* */ -/*****************************************************************************/ - -static void ReadFontDef(OBJECT encl) -{ OBJECT t, family, face, inside; - - SuppressScope(); - - /* get family name, allow for multiple tokens */ - family = LexGetToken(); - if( !is_word(type(family)) ) - Error(5, 1, "expected font family name here", WARN, &fpos(family)); - face = LexGetToken(); - while( is_word(type(face)) && hspace(face) + vspace(face) == 0 ) - { - family = MakeWordTwo(WORD, string(family), string(face), &fpos(family)); - face = LexGetToken(); - } - - /* get face name, allow for multiple tokens */ - if( !is_word(type(face)) ) - Error(5, 2, "expected font face name here", WARN, &fpos(face)); - UnSuppressScope(); - t = LexGetToken(); - while( is_word(type(t)) && hspace(t) + vspace(t) == 0 ) - { - face = MakeWordTwo(WORD, string(face), string(t), &fpos(face)); - t = LexGetToken(); - } - - if( type(t) != LBR ) - { Error(5, 3, "expected opening %s of fontdef here", WARN, &fpos(t), KW_LBR); - Dispose(t); - return; - } - inside = Parse(&t, encl, FALSE, FALSE); - inside = ReplaceWithTidy(inside, FALSE); - FontDefine(family, face, inside); - return; -} /* end ReadFontDef */ - - -/*****************************************************************************/ -/* */ /* static ReadLangDef(encl) */ /* */ /* Read one language definition and pass it on to the language module. The */ @@ -537,12 +489,8 @@ void ReadDefinitions(OBJECT *token, OBJECT encl, unsigned char res_type) while( res_type==LOCAL || is_string(t, KW_NAMED) || is_string(t, KW_IMPORT) ) { curr_encl = encl; - if( is_string(t, KW_FONTDEF) ) - { ReadFontDef(encl); - t = LexGetToken(); - continue; /* next definition */ - } - else if( is_string(t, KW_LANGDEF) ) + + if( is_string(t, KW_LANGDEF) ) { ReadLangDef(encl); t = LexGetToken(); continue; /* next definition */ @@ -1,6 +1,6 @@ /*@z06.c:Parser:PushObj(), PushToken(), etc.@*********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -809,7 +809,7 @@ BOOLEAN defs_allowed, BOOLEAN transfer_allowed) { if( type(t) == WORD && ( StringEqual(string(t), KW_DEF) || - StringEqual(string(t), KW_FONTDEF) || + /* StringEqual(string(t), KW_FONTDEF) || */ StringEqual(string(t), KW_LANGDEF) || StringEqual(string(t), KW_MACRO) || StringEqual(string(t), KW_IMPORT) || @@ -1,6 +1,6 @@ /*@z07.c:Object Service:SplitIsDefinite(), DisposeObject()@*******************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z08.c:Object Manifest:ReplaceWithSplit()@**********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z09.c:Closure Expansion:SearchEnv()@***************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z10.c:Cross References:CrossInit(), CrossMake()@***************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -66,7 +66,7 @@ typedef struct #define crtab_chain(S,i) (S)->tab_chains[i] #define hash(pos, sym, fnum, S) \ -{ pos = ( ((long) sym) + fnum ) % crtab_size(S); \ +{ pos = ( ((unsigned long) sym) + fnum ) % crtab_size(S); \ } static CROSSREF_TABLE crtab_new(int newsize) @@ -85,7 +85,7 @@ static CROSSREF_TABLE crtab_new(int newsize) } /* end crtab_new */ static CROSSREF_TABLE crtab_rehash(CROSSREF_TABLE S, int newsize) -{ CROSSREF_TABLE NewS; int i; long newpos; CROSSREF_ENTRY p, q; +{ CROSSREF_TABLE NewS; int i; unsigned long newpos; CROSSREF_ENTRY p, q; NewS = crtab_new(newsize); for( i = 0; i < crtab_size(S); i++ ) { p = crtab_chain(S, i); @@ -105,7 +105,7 @@ static CROSSREF_TABLE crtab_rehash(CROSSREF_TABLE S, int newsize) } /* end crtab_rehash */ static int crtab_getnext(OBJECT sym, FILE_NUM fnum, CROSSREF_TABLE *S) -{ CROSSREF_ENTRY x; OBJECT t; long pos; +{ CROSSREF_ENTRY x; OBJECT t; unsigned long pos; /* if S is NULL, create a new table */ if( *S == NULL ) *S = crtab_new(INIT_CROSSREF_NUM); @@ -1,6 +1,6 @@ /*@z11.c:Style Service:EchoStyle()@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z12.c:Size Finder:MinSize()@***********************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -36,6 +36,10 @@ #define IG_BADSIZE 3 #define IG_OK 4 +#if DEBUG_ON +static int debug_depth = 1; +static int debug_depth_max = 5; +#endif /*****************************************************************************/ /* */ @@ -330,6 +334,9 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) FILE *fp; FULL_CHAR buff[MAX_BUFF]; debug2(DSF, DD, "[ MinSize( %s, %s, extras )", EchoObject(x), dimen(dim)); + debugcond4(DSF, D, dim == COLM && debug_depth++ < debug_depth_max, + "%*s[ MinSize(COLM, %s %d)", (debug_depth-1)*2, " ", + Image(type(x)), (int) x); ifdebug(DSF, DDD, DebugObject(x)); switch( type(x) ) @@ -409,7 +416,7 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) } else { - debug2(DGT, D, "MinSize setting external_ver(%s %s) = FALSE", + debug2(DGT, DD, "MinSize setting external_ver(%s %s) = FALSE", Image(type(x)), SymName(actual(x))); external_ver(x) = external_hor(x) = FALSE; } @@ -503,7 +510,7 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) /* find the available space for this HSPANNER and break it */ SpannerAvailableSpace(t, COLM, &b, &f); SetConstraint(c, MAX_FULL_LENGTH, b+f, MAX_FULL_LENGTH); - debug2(DSF,D, " BreakObject(%s,%s)",EchoObject(t),EchoConstraint(&c)); + debug2(DSF,DD, " BreakObject(%s,%s)",EchoObject(t),EchoConstraint(&c)); t = BreakObject(t, &c); spanner_broken(t) = TRUE; } @@ -597,6 +604,16 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) case BEGIN_HEADER: case SET_HEADER: + + Child(y, LastDown(x)); + y = MinSize(y, dim, extras); + back(x, dim) = back(y, dim); + fwd(x, dim) = fwd(y, dim); + debug4(DSF, D, "MinSize(%s, %s) := (%s, %s)", Image(type(x)), + dimen(dim), EchoLength(back(x, dim)), EchoLength(fwd(x, dim))); + break; + + case PLAIN_GRAPHIC: case GRAPHIC: @@ -825,7 +842,7 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) if( link != x ) { res = nilobj; - NextDefiniteWithGap(x, link, y, g, jn); + NextDefiniteWithGap(x, link, y, g, jn); while( link != x ) { /* check whether we need to break the paragraph here at g */ @@ -843,7 +860,10 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) New(new_line, ACAT); TransferLinks(NextDown(x), Up(g), new_line); StyleCopy(save_style(new_line), save_style(x)); + adjust_cat(new_line) = padjust(save_style(x)); Link(res, new_line); + debug2(DSF, D, " new_line(adjust_cat %s) = %s", + bool(adjust_cat(new_line)), EchoObject(new_line)); /* may need to insert space at start of remainder */ if( hspace(g) > 0 ) @@ -856,6 +876,7 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) word_language(z) = language(save_style(x)); word_hyph(z) = hyph_style(save_style(x)) == HYPH_ON; underline(z) = UNDER_OFF; + back(z, COLM) = fwd(z, COLM) = 0; Link(Down(x), z); /* follow the empty word with a gap of the right width */ @@ -866,6 +887,9 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) GapCopy(gap(z), space_gap(save_style(x))); width(gap(z)) *= hspace(z); Link(NextDown(Down(x)), z); + + debug2(DSF, D, " hspace(g) = %d, width(gap(z)) = %s", + hspace(g), EchoLength(width(gap(z)))); } /* append a gap to res (recycle g) */ @@ -1165,7 +1189,7 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) { assert( Down(x) != x, "MinSize/ROW_THR: Down(x)!" ); /* first size all the non-spanning members of the thread */ - debug1(DSF, D, "[[ starting sizing %s", Image(type(x))); + debug1(DSF, DD, "[[ starting sizing %s", Image(type(x))); b = f = 0; for( link = Down(x); link != x; link = NextDown(link) ) { Child(y, link); @@ -1173,7 +1197,7 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) if( type(y) != START_HVSPAN && type(y) != START_VSPAN && type(y) != HSPAN && type(y) != VSPAN ) { y = MinSize(y, dim, extras); - debug5(DSF, D, " MinSize(%s) has size %s,%s -> %s,%s", + debug5(DSF, DD, " MinSize(%s) has size %s,%s -> %s,%s", Image(type(y)), EchoLength(back(y, dim)), EchoLength(fwd(y, dim)), EchoLength(b), EchoLength(f)); b = find_max(b, back(y, dim)); @@ -1183,7 +1207,7 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) back(x, dim) = b; fwd(x, dim) = f; thr_state(x) = SIZED; - debug3(DSF, D, "][ middle sizing %s (%s,%s)", Image(type(x)), + debug3(DSF, DD, "][ middle sizing %s (%s,%s)", Image(type(x)), EchoLength(back(x, dim)), EchoLength(fwd(x, dim))); /* now size all the spanning members of the thread */ @@ -1196,12 +1220,12 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) { y = MinSize(y, dim, extras); back(x, dim) = find_max(back(x, dim), back(y, dim)); fwd(x, dim) = find_max(fwd(x, dim), fwd(y, dim)); - debug5(DSF, D, " MinSize(%s) has size %s,%s -> %s,%s", + debug5(DSF, DD, " MinSize(%s) has size %s,%s -> %s,%s", Image(type(y)), EchoLength(back(y, dim)), EchoLength(fwd(y, dim)), EchoLength(back(x, dim)), EchoLength(fwd(x, dim))); } } - debug3(DSF, D, "]] end sizing %s (%s,%s)", Image(type(x)), + debug3(DSF, DD, "]] end sizing %s (%s,%s)", Image(type(x)), EchoLength(back(x, dim)), EchoLength(fwd(x, dim))); } break; @@ -1329,6 +1353,9 @@ OBJECT MinSize(OBJECT x, int dim, OBJECT *extras) } /* end switch */ + debugcond6(DSF, D, dim == COLM && --debug_depth < debug_depth_max, + "%*s] MinSize(COLM, %s %d) = (%s, %s)", debug_depth*2, " ", Image(type(x)), + (int) x, EchoLength(back(x, dim)), EchoLength(fwd(x, dim))); debug1(DSF, DD, "] MinSize returning, x = %s", EchoObject(x)); debug3(DSF, DD, " (%s size is %s, %s)", dimen(dim), EchoLength(back(x, dim)), EchoLength(fwd(x, dim)) ); @@ -1,6 +1,6 @@ /*@z13.c:Object Breaking:BreakJoinedGroup()@**********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -30,6 +30,11 @@ #include "externs.h" #define broken(x) back(x, ROWM) /* OK since no vertical sizes yet */ +#if DEBUG_ON +static int debug_depth = 1; +static int debug_depth_max = 5; +#endif + /*****************************************************************************/ /* */ @@ -233,7 +238,7 @@ static OBJECT BreakTable(OBJECT x, CONSTRAINT *c) /* when my is broken */ OBJECT link, y, prev, g; FULL_LENGTH tmp, tmp2; - debug1(DOB, D, "[ BreakTable( x, %s )", EchoConstraint(c)); + debug1(DOB, DD, "[ BreakTable( x, %s )", EchoConstraint(c)); /* Initialise csize, bcount, fcount, bwidth, fwidth and broken(y) */ bcount = fcount = 0; bwidth = fwidth = 0; prev = nilobj; @@ -273,7 +278,7 @@ static OBJECT BreakTable(OBJECT x, CONSTRAINT *c) /* if column gaps alone are too wide, kill them all */ if( !FitsConstraint(bwidth, fwidth, *c) ) { - debug2(DOB, D, "column gaps alone too wide: bwidth: %s; fwidth: %s", + debug2(DOB, DD, "column gaps alone too wide: bwidth: %s; fwidth: %s", EchoLength(bwidth), EchoLength(fwidth)); Error(13, 2, "reducing column gaps to 0i (object is too wide)", WARN, &fpos(x)); @@ -290,8 +295,8 @@ static OBJECT BreakTable(OBJECT x, CONSTRAINT *c) /* break each column, from smallest to largest */ while( bcount + fcount > 0 && FitsConstraint(bwidth, fwidth, *c) ) { - debug2(DOB, D, "bcount: %d; bwidth: %s", bcount, EchoLength(bwidth)); - debug2(DOB, D, "fcount: %d; fwidth: %s", fcount, EchoLength(fwidth)); + debug2(DOB, DD, "bcount: %d; bwidth: %s", bcount, EchoLength(bwidth)); + debug2(DOB, DD, "fcount: %d; fwidth: %s", fcount, EchoLength(fwidth)); /* find a minimal-width unbroken component my */ my = nilobj; msize = size(x, COLM); /* an upper bound for size(y) */ @@ -314,18 +319,18 @@ static OBJECT BreakTable(OBJECT x, CONSTRAINT *c) /* find neighbouring definite objects and resulting pd_extra and sd_extra */ SetNeighbours(mlink, ratm, &pg, &prec_def, &sg, &succ_def, &mside); - debug2(DOB, D, "my (%s): %s", Image(mside), EchoObject(my)); + debug2(DOB, DD, "my (%s): %s", Image(mside), EchoObject(my)); pd_extra = pg == nilobj ? 0 : ExtraGap(broken(prec_def) ? fwd(prec_def,COLM) : 0, 0, &gap(pg), BACK); sd_extra = sg == nilobj ? 0 : ExtraGap(0, broken(succ_def) ? back(succ_def,COLM) : 0, &gap(sg), FWD); - debug2(DOB, D, "pd_extra: %s; sd_extra: %s", + debug2(DOB, DD, "pd_extra: %s; sd_extra: %s", EchoLength(pd_extra), EchoLength(sd_extra) ); /* calculate desirable constraints for my */ av_colsize = (bfc(*c) - bwidth - fwidth) / (bcount + fcount); - debug1(DOB, D, "av_colsize = %s", EchoLength(av_colsize)); - debug1(DOB, D, "prev_col_size = %s", EchoLength(prev_col_size)); + debug1(DOB, DD, "av_colsize = %s", EchoLength(av_colsize)); + debug1(DOB, DD, "prev_col_size = %s", EchoLength(prev_col_size)); switch( mside ) { @@ -373,7 +378,7 @@ static OBJECT BreakTable(OBJECT x, CONSTRAINT *c) assert(FALSE, "BreakTable: mside"); break; } - debug1(DOB, D, "col_size = %s", EchoLength(col_size)); + debug1(DOB, DD, "col_size = %s", EchoLength(col_size)); prev_col_size = col_size; /* now break my according to these constraints, and accept it */ @@ -420,7 +425,7 @@ static OBJECT BreakTable(OBJECT x, CONSTRAINT *c) back(x, COLM) = bwidth; fwd(x, COLM) = fwidth; - debug2(DOB, D, "] BreakTable returning %s,%s; x =", + debug2(DOB, DD, "] BreakTable returning %s,%s; x =", EchoLength(bwidth), EchoLength(fwidth)); ifdebug(DOB, DD, DebugObject(x)); return x; @@ -437,6 +442,8 @@ static OBJECT BreakTable(OBJECT x, CONSTRAINT *c) OBJECT BreakObject(OBJECT x, CONSTRAINT *c) { OBJECT link, y; CONSTRAINT yc; FULL_LENGTH f; BOOLEAN junk; + debugcond4(DOB, D, debug_depth++ < debug_depth_max, + "%*s[ BreakObject(%s %d)", (debug_depth-1)*2, " ", Image(type(x)), (int) x); debug4(DOB, DD, "[ BreakObject(%s (%s,%s), %s), x =", Image(type(x)), EchoLength(back(x, COLM)), EchoLength(fwd(x, COLM)), EchoConstraint(c)); @@ -452,6 +459,10 @@ OBJECT BreakObject(OBJECT x, CONSTRAINT *c) ReplaceNode(y, x); DisposeObject(x); x = y; + debugcond6(DOB, D, --debug_depth < debug_depth_max, + "%*s] BreakObject(%s %d) (neg!) = (%s, %s)", debug_depth*2, " ", + Image(type(x)), (int) x, EchoLength(back(x, COLM)), + EchoLength(fwd(x, COLM))); debug0(DOB, DD, "] BreakObject returning (negative constraint)."); return x; } @@ -459,6 +470,10 @@ OBJECT BreakObject(OBJECT x, CONSTRAINT *c) /* if no breaking required, return immediately */ if( FitsConstraint(back(x, COLM), fwd(x, COLM), *c) ) { debug0(DOB, DD, "] BreakObject returning (fits)."); + debugcond6(DOB, D, --debug_depth < debug_depth_max, + "%*s] BreakObject(%s %d) (fits) = (%s, %s)", debug_depth*2, " ", + Image(type(x)), (int) x, EchoLength(back(x, COLM)), + EchoLength(fwd(x, COLM))); return x; } @@ -677,6 +692,16 @@ OBJECT BreakObject(OBJECT x, CONSTRAINT *c) case BEGIN_HEADER: case SET_HEADER: + + Child(y, LastDown(x)); + y = BreakObject(y, c); + back(x, COLM) = back(y, COLM); + fwd(x, COLM) = fwd(y, COLM); + debug3(DOB, D, "BreakObject(%s, COLM) = (%s, %s)", Image(type(x)), + EchoLength(back(x, COLM)), EchoLength(fwd(x, COLM))); + break; + + case PLAIN_GRAPHIC: case GRAPHIC: @@ -752,6 +777,9 @@ OBJECT BreakObject(OBJECT x, CONSTRAINT *c) } assert( back(x, COLM) >= 0, "BreakObject: back(x, COLM) < 0!" ); assert( fwd(x, COLM) >= 0, "BreakObject: fwd(x, COLM) < 0!" ); + debugcond6(DOB, D, --debug_depth < debug_depth_max, + "%*s] BreakObject(%s %d) = (%s, %s)", debug_depth*2, " ", Image(type(x)), + (int) x, EchoLength(back(x, COLM)), EchoLength(fwd(x, COLM))); debug2(DOB, DD, "] BreakObject returning %s,%s, x =", EchoLength(back(x, COLM)), EchoLength(fwd(x, COLM))); ifdebug(DOB, DD, DebugObject(x)); @@ -1,6 +1,6 @@ /*@z14.c:Fill Service:Declarations@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z15.c:Size Constraints:MinConstraint(), EnlargeToConstraint()@*************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z16.c:Size Adjustment:SetNeighbours(), CatAdjustSize()@********************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z17.c:Gap Widths:GetGap()@*************************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z18.c:Galley Transfer:Declarations@****************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z19.c:Galley Attaching:DetachGalley()@*************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z20.c:Galley Flushing:DebugInnersNames()@**********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z21.c:Galley Maker:SizeGalley()@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -85,10 +85,13 @@ OBJECT *dest_index, OBJECT *recs, OBJECT *inners, OBJECT enclose) { SetOptimize(hd, style); } - debug0(DOM, D, " [ calling Manifest from SizeGalley"); + debug2(DOM, D, "[ calling Manifest(%s) from SizeGalley(%s)", + Image(type(y)), SymName(actual(hd))); + debug2(DOB, D, "[ calling Manifest(%s) from SizeGalley(%s)", + Image(type(y)), SymName(actual(hd))); if( joined ) { New(bt[COLM], THREAD); New(ft[COLM], THREAD); - debug0(DGM, DD, " SizeGalley calling Manifest (joined)"); + debug0(DGM, DD, "SizeGalley calling Manifest (joined)"); y = Manifest(y, env, style, bt, ft, &tmp1, &crs, TRUE, must_expand(hd), &tmp2, FALSE); assert( Down(bt[COLM]) != bt[COLM] && Down(ft[COLM]) != ft[COLM], @@ -101,11 +104,14 @@ OBJECT *dest_index, OBJECT *recs, OBJECT *inners, OBJECT enclose) DisposeObject(bt[COLM]); DisposeObject(ft[COLM]); } else - { debug0(DGM, DD, " SizeGalley calling Manifest (not joined)"); + { debug0(DGM, DD, "SizeGalley calling Manifest (not joined)"); y = Manifest(y, env, style, bt, ft, &tmp1, &crs, TRUE, must_expand(hd), &tmp2, FALSE); } - debug0(DOM, D, " ] returning from Manifest in SizeGalley"); + debug2(DOM, D, "] returning Manifest(%s) from SizeGalley(%s)", + Image(type(y)), SymName(actual(hd))); + debug2(DOB, D, "] returning Manifest(%s) from SizeGalley(%s)", + Image(type(y)), SymName(actual(hd))); DisposeObject(hold_env); debug0(DGM, DD, "SizeGalley: after manifesting, hd ="); ifdebug(DGM, DD, DebugObject(hd)); @@ -113,15 +119,22 @@ OBJECT *dest_index, OBJECT *recs, OBJECT *inners, OBJECT enclose) /* horizontally size hd */ debug0(DGM, DD, "SizeGalley horizontally sizing hd:"); New(extras, ACAT); + debug2(DSF, D, "[ calling MinSize(%s) from SizeGalley(%s)", + Image(type(y)), SymName(actual(hd))); y = MinSize(y, COLM, &extras); + debug2(DSF, D, "] returning MinSize(%s) from SizeGalley(%s)", + Image(type(y)), SymName(actual(hd))); /* break hd if vertical galley */ if( gall_dir(hd) == ROWM ) { CopyConstraint(constraint(hd), *c); - debug0(DOB, DD, " calling BreakObject from SizeGalley"); - debug0(DGM, DD, " SizeGalley calling BreakObject:"); + debug0(DGM, DD, "SizeGalley calling BreakObject:"); + debug2(DOB, D, "[ calling BreakObject(%s) from SizeGalley(%s)", + Image(type(y)), SymName(actual(hd))); y = BreakObject(y, c); + debug2(DOB, D, "] returning BreakObject(%s) from SizeGalley(%s)", + Image(type(y)), SymName(actual(hd))); if( !FitsConstraint(back(y, COLM), fwd(y, COLM), *c) ) Error(21, 13, "%s,%s object too wide for available space", FATAL, &fpos(y), EchoLength(back(y, COLM)), EchoLength(fwd(y, COLM))); @@ -129,13 +142,13 @@ OBJECT *dest_index, OBJECT *recs, OBJECT *inners, OBJECT enclose) fwd(hd, COLM) = fwd(y, COLM); assert( FitsConstraint(back(hd, COLM), fwd(hd, COLM), *c), "SizeGalley: BreakObject failed to fit!" ); - debug2(DSF, DD, "MinSize(hd, COLM) = %s,%s", + debug2(DSF, D, "MinSize(hd, COLM) = %s,%s", EchoLength(back(hd, COLM)), EchoLength(fwd(hd, COLM)) ); } /* hyphenate hd if horizontal optimal galley says so */ else if( opt_components(hd) != nilobj && opt_hyph(hd) && type(y) == ACAT ) - { debug0(DOG, D, " SizeGalley calling Hyphenate()"); + { debug0(DOG, D, "SizeGalley calling Hyphenate()"); y = Hyphenate(y); } @@ -1,6 +1,6 @@ /*@z22.c:Galley Service:Interpose()@******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -425,6 +425,8 @@ void HandleHeader(OBJECT hd, OBJECT link, OBJECT header) /* move header and gap into headers() */ MoveLink(LastDown(header), headers(hd), PARENT); Link(headers(hd), g); + debug2(DOB, D, "HandleHeader moving %s header %s", + SymName(actual(hd)), Image(type(header))); break; @@ -1,6 +1,6 @@ /*@z23.c:Galley Printer:ScaleFactor()@****************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1036,6 +1036,7 @@ void FixAndPrintObject(OBJECT x, FULL_LENGTH xmk, FULL_LENGTH xb, { case DO_ADJUST: adjust_cat(x) = TRUE; adjust_indent = 0; + debug1(DSF, D, "adjust %s", EchoObject(x)); break; case DISPLAY_CENTRE: adjust_cat(x) = FALSE; @@ -1046,6 +1047,7 @@ void FixAndPrintObject(OBJECT x, FULL_LENGTH xmk, FULL_LENGTH xb, case DISPLAY_RIGHT: adjust_cat(x) = FALSE; adjust_indent = frame_size - actual_size; debug1(DGP, DD, "rdisp %s", EchoObject(x)); + debug1(DSF, D, "rdisp %s", EchoObject(x)); break; default: /* leave adjust_cat(x) as is */ @@ -1,6 +1,6 @@ /*@z24.c:Print Service:PrintInit()@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -333,12 +333,20 @@ void PrintBeforeFirst(FULL_LENGTH h, FULL_LENGTH v, FULL_CHAR *label) /* print procedure definitions part of header */ fprintf(out_fp, "%%%%BeginProlog\n"); fprintf(out_fp, "%%%%BeginResource: procset %s\n", StartUpResource); + fprintf(out_fp, "/save_cp { currentpoint /cp_y exch def /cp_x exch def } def\n"); + fprintf(out_fp, "/restore_cp { cp_x cp_y moveto } def\n"); + fprintf(out_fp, "/outline { gsave 1 1 1 setrgbcolor dup show save_cp\n"); + fprintf(out_fp, " grestore true charpath stroke restore_cp } bind def\n"); fprintf(out_fp, "/m { 3 1 roll moveto show } bind def\n"); - fprintf(out_fp, "/mo { 3 1 roll moveto true charpath stroke } bind def\n"); + fprintf(out_fp, "/mo { 3 1 roll moveto outline } bind def\n"); fprintf(out_fp, "/s { exch currentpoint exch pop moveto show } bind def\n"); - fprintf(out_fp, "/so { exch currentpoint exch pop moveto true charpath stroke } bind def\n"); + fprintf(out_fp, "/so { exch currentpoint exch pop moveto outline } bind def\n"); fprintf(out_fp, "/k { exch neg 0 rmoveto show } bind def\n"); - fprintf(out_fp, "/ko { exch neg 0 rmoveto true charpath stroke } bind def\n"); + fprintf(out_fp, "/ko { exch neg 0 rmoveto outline } bind def\n"); + fprintf(out_fp, "/r { exch 0 rmoveto show } bind def\n"); + fprintf(out_fp, "/ro { exch 0 rmoveto outline } bind def\n"); + fprintf(out_fp, "/c { gsave 3 1 roll rmoveto show grestore } bind def\n"); + fprintf(out_fp, "/co { gsave 3 1 roll rmoveto outline grestore } bind def\n"); fprintf(out_fp, "/ul { gsave setlinewidth dup 3 1 roll\n"); fprintf(out_fp, " moveto lineto stroke grestore } bind def\n"); fprintf(out_fp, "/in { %d mul } def\n", IN); @@ -407,7 +415,7 @@ void PrintBeforeFirst(FULL_LENGTH h, FULL_LENGTH v, FULL_CHAR *label) fputs("%%EndResource\n\n", out_fp); /* print encoding vectors as resources */ - MapPrintEncodings(out_fp); + /* MapPrintEncodings(out_fp); obsolete now */ /* print prepend files (assumed to be organized as DSC 3.0 Resources) */ for( fnum=FirstFile(PREPEND_FILE); fnum!=NO_FILE; fnum=NextFile(fnum) ) @@ -458,7 +466,7 @@ void PrintBeforeFirst(FULL_LENGTH h, FULL_LENGTH v, FULL_CHAR *label) PDFFile_Init(out_fp, h/PT, v/PT, IN, CM, PT, EM); /* print encoding vectors as resources */ - MapPrintEncodings(out_fp); + /* MapPrintEncodings(out_fp); obsolete now */ FontPrintPageSetup(out_fp); @@ -604,6 +612,29 @@ void PrintBetween(FULL_LENGTH h, FULL_LENGTH v, FULL_CHAR *label) } /* end KernLength */ +/*****************************************************************************/ +/* */ +/* static void PrintComposite(COMPOSITE *cp, BOOLEAN outline, FILE *fp) */ +/* */ +/* Print composite character cp, assuming that the current point is */ +/* set to the correct origin. If outline is true, we want to print the */ +/* composite character in outline. */ +/* */ +/*****************************************************************************/ + +static void PrintComposite(COMPOSITE *cp, BOOLEAN outline, FILE *fp) +{ debug1(DGP, D, "PrintComposite(cp, %s, fp)", bool(outline)); + while( cp->char_code != '\0' ) + { + debug4(DGP, D, " cp = %d printing code %d (%d, %d)", (int) cp, + cp->char_code, cp->x_offset, cp->y_offset); + fprintf(fp, "%d %d (%c)%s ", cp->x_offset, cp->y_offset, + cp->char_code, outline ? "co" : "c"); + cp++; + } +} /* end PrintComposite */ + + /*@::PrintWord()@*************************************************************/ /* */ /* PrintWord(x, hpos, vpos) */ @@ -615,6 +646,7 @@ void PrintBetween(FULL_LENGTH h, FULL_LENGTH v, FULL_CHAR *label) void PrintWord(OBJECT x, int hpos, int vpos) { FULL_CHAR *p, *q, *a, *b, *lig, *unacc; int i, h, v, ksize; char *command; MAPPING m; + unsigned short *composite; COMPOSITE *cmp; debug6(DGP, DD, "PrintWord( %s, %d, %d ) font %d colour %d%s", string(x), hpos, vpos, word_font(x), word_colour(x), @@ -655,10 +687,10 @@ void PrintWord(OBJECT x, int hpos, int vpos) fprintf(out_fp, "%hd %s", FontSize(currentfont, x), FontName(currentfont)); if( ++wordcount >= 5 ) - { fputs("\n", out_fp); + { putc('\n', out_fp); wordcount = 0; } - else fputs(" ", out_fp); + else putc(' ', out_fp); } /* if colour is different to previous word then print change */ @@ -667,29 +699,13 @@ void PrintWord(OBJECT x, int hpos, int vpos) if( currentcolour > 0 ) { fprintf(out_fp, "%s", ColourCommand(currentcolour)); if( ++wordcount >= 5 ) - { fputs("\n", out_fp); + { putc('\n', out_fp); wordcount = 0; } - else fputs(" ", out_fp); + else putc(' ', out_fp); } } - /* move to coordinate of x */ - debug1(DGP, DDD, " currentxheight2 = %d", currentxheight2); - vpos = vpos - currentxheight2; - if( cpexists && currenty == vpos ) - { printnum(hpos, out_fp); - command = word_outline(x) ? "so" : "s"; - } - else - { currenty = vpos; - printnum(hpos, out_fp); - fputs(" ", out_fp); - printnum(currenty, out_fp); - command = word_outline(x) ? "mo" : "m"; - cpexists = TRUE; - } - /* convert ligature sequences into ligature characters */ lig = finfo[word_font(x)].lig_table; p = q = string(x); @@ -719,13 +735,93 @@ void PrintWord(OBJECT x, int hpos, int vpos) } while( *p ); *q = '\0'; + /* move to coordinate of x */ + cmp = finfo[word_font(x)].cmp_table; + composite = finfo[word_font(x)].composite; + debug1(DGP, DDD, " currentxheight2 = %d", currentxheight2); + vpos = vpos - currentxheight2; + if( cpexists && currenty == vpos ) + { printnum(hpos, out_fp); + command = word_outline(x) ? "so" : "s"; + } + else + { currenty = vpos; + printnum(hpos, out_fp); + putc(' ', out_fp); + printnum(currenty, out_fp); + command = word_outline(x) ? "mo" : "m"; + cpexists = TRUE; + } + /* show string(x) */ + putc('(', out_fp); + p = string(x); + if( composite[*p] ) + { + fprintf(out_fp, ")%s ", command); + debug3(DGP, D, + " calling PrintComposite(&cmp[composite[%d] = %d]); cmp_top = %d", + (int) *p, composite[*p], finfo[word_font(x)].cmp_top); + PrintComposite(&cmp[composite[*p]], word_outline(x), out_fp); + printnum(finfo[word_font(x)].size_table[*p].right, out_fp); + putc('(', out_fp); + command = word_outline(x) ? "ro" : "r"; + } + else fputs(EightBitToPrintForm[*p], out_fp); + m = font_mapping(finfo[word_font(x)].font_table); + unacc = MapTable[m]->map[MAP_UNACCENTED]; + /* acc = MapTable[m]->map[MAP_ACCENT]; */ + for( p++; *p; p++ ) + { KernLength(word_font(x), unacc, *(p-1), *p, ksize); + if( ksize != 0 ) + { fprintf(out_fp, ")%s %d(", command, -ksize); + ++wordcount; + command = word_outline(x) ? "ko" : "k"; + } + if( composite[*p] ) + { fprintf(out_fp, ")%s ", command); + debug3(DGP, D, + " calling PrintComposite(&cmp[composite[%d] = %d]); cmp_top = %d", + (int) *p, composite[*p], finfo[word_font(x)].cmp_top); + PrintComposite(&cmp[composite[*p]], word_outline(x), out_fp); + printnum(finfo[word_font(x)].size_table[*p].right, out_fp); + putc('(', out_fp); + command = word_outline(x) ? "ro" : "r"; + } + else fputs(EightBitToPrintForm[*p], out_fp); + } + if( ++wordcount >= 5 ) + { fprintf(out_fp, ")%s\n", command); + wordcount = 0; + } + else fprintf(out_fp, ")%s ", command); + + + /* move to coordinate of x */ + /* *** old version + debug1(DGP, DDD, " currentxheight2 = %d", currentxheight2); + vpos = vpos - currentxheight2; + if( cpexists && currenty == vpos ) + { printnum(hpos, out_fp); + command = word_outline(x) ? "so" : "s"; + } + else + { currenty = vpos; + printnum(hpos, out_fp); + fputs(" ", out_fp); + printnum(currenty, out_fp); + command = word_outline(x) ? "mo" : "m"; + cpexists = TRUE; + } + *** */ + + /* show string(x) */ + /* *** old version fputs("(", out_fp); p = string(x); fputs(EightBitToPrintForm[*p], out_fp); m = font_mapping(finfo[word_font(x)].font_table); unacc = MapTable[m]->map[MAP_UNACCENTED]; - /* acc = MapTable[m]->map[MAP_ACCENT]; */ for( p++; *p; p++ ) { KernLength(word_font(x), unacc, *(p-1), *p, ksize); if( ksize != 0 ) @@ -740,10 +836,14 @@ void PrintWord(OBJECT x, int hpos, int vpos) wordcount = 0; } else fprintf(out_fp, ")%s ", command); + *** */ /* ordinary printing moves current point; outlining destroys it */ + /* *** changed the outline commands now so that they move the current + point the same way ordinary printing does if( word_outline(x) ) cpexists = FALSE; + *** */ break; @@ -1,6 +1,6 @@ /*@z25.c:Object Echo:aprint(), cprint(), printnum()@**************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z26.c:Echo Service:BeginString()@******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z27.c:Debug Service:Debug flags@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z28.c:Error Service:ErrorInit(), ErrorSeen()@******************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z29.c:Symbol Table:Declarations, hash()@***********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -236,10 +236,10 @@ void DebugScope(void) { int i; if( suppress_scope ) { - debug0(DST, DD, "suppressed"); + debug0(DST, D, "suppressed"); } else for( i = 0; i < scope_top; i++ ) - { debug6(DST, DD, "%s %s%s%s%s%s", + { debug6(DST, D, "%s %s%s%s%s%s", i == scope_top - 1 ? "->" : " ", SymName(scope[i]), npars_only[i] ? " npars_only" : "", @@ -250,6 +250,64 @@ void DebugScope(void) } /* end DebugScope */ +/*@::ScopeSnapshot()@*********************************************************/ +/* */ +/* OBJECT GetScopeSnapshot() */ +/* LoadScopeSnapshot(ss) */ +/* ClearScopeSnapshot(ss) */ +/* */ +/* A scope snapshot is a complete record of the state of the scope stack */ +/* at some moment. These routines allow you to take a scope snapshot, */ +/* then subsequently load it (i.e. make it the current scope), then */ +/* subsequently clear it (i.e. return to whatever was before the Load). */ +/* */ +/*****************************************************************************/ + +OBJECT GetScopeSnapshot() +{ OBJECT ss, x; int i; + New(ss, ACAT); + for( i = scope_top-1; scope[i] != StartSym; i-- ) + { + New(x, SCOPE_SNAPSHOT); + Link(ss, x); + Link(x, scope[i]); + ss_npars_only(x) = npars_only[i]; + ss_vis_only(x) = vis_only[i]; + ss_body_ok(x) = body_ok[i]; + } + ss_suppress(ss) = suppress_visible; + return ss; +} /* end GetScopeSnapshot */ + + +void LoadScopeSnapshot(OBJECT ss) +{ OBJECT link, x, sym; BOOLEAN tmp; + assert( type(ss) == ACAT, "LoadScopeSnapshot: type(ss)!" ); + PushScope(StartSym, FALSE, FALSE); + for( link = LastDown(ss); link != ss; link = PrevDown(link) ) + { Child(x, link); + assert( type(x) == SCOPE_SNAPSHOT, "LoadScopeSnapshot: type(x)!" ); + Child(sym, Down(x)); + PushScope(sym, ss_npars_only(x), ss_vis_only(x)); + body_ok[scope_top-1] = ss_body_ok(x); + } + tmp = suppress_visible; + suppress_visible = ss_suppress(ss); + ss_suppress(ss) = tmp; + debug0(DST, D, "after LoadScopeSnapshot, scope is:") + ifdebug(DST, D, DebugScope()); +} /* end LoadScopeSnapshot */ + + +void ClearScopeSnapshot(OBJECT ss) +{ + while( scope[scope_top-1] != StartSym ) + scope_top--; + scope_top--; + suppress_visible = ss_suppress(ss); +} /* end ClearScopeSnapshot */ + + /*@::InsertSym()@*************************************************************/ /* */ /* OBJECT InsertSym(str, xtype, xfpos, xprecedence, indefinite, xrecursive, */ @@ -409,7 +467,7 @@ unsigned xpredefined, OBJECT xenclosing, OBJECT xbody) len = StringLength(str); hash(str, len, sum); - ifdebug(DST, D, sym_spread[sum]++; sym_count++); + ifdebug(DST, DD, sym_spread[sum]++; sym_count++); entry = (OBJECT) &symtab[sum]; for( plink = Down(entry); plink != entry; plink = NextDown(plink) ) { Child(p, plink); @@ -465,7 +523,7 @@ void InsertAlternativeName(FULL_CHAR *str, OBJECT s, FILE_POS *xfpos) len = StringLength(str); hash(str, len, sum); - ifdebug(DST, D, sym_spread[sum]++; sym_count++); + ifdebug(DST, DD, sym_spread[sum]++; sym_count++); entry = (OBJECT) &symtab[sum]; for( plink = Down(entry); plink != entry; plink = NextDown(plink) ) { Child(p, plink); @@ -658,7 +716,7 @@ OBJECT ChildSymWithCode(OBJECT s, unsigned char code) void CheckSymSpread(void) { int i, j, sum, usum; OBJECT entry, plink; - debug2(DST, D, "Symbol table spread (table size = %d, symbols = %d):", + debug2(DST, DD, "Symbol table spread (table size = %d, symbols = %d):", MAX_TAB, sym_count); usum = sum = 0; for( i = 0; i < MAX_TAB; i++ ) @@ -1,6 +1,6 @@ /*@z30.c:Symbol uses:InsertUses()@********************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z31.c:Memory Allocator:DebugMemory()@**************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -304,6 +304,7 @@ void MemInit(void) zz_lengths[ EXPAND_IND ] = zz_lengths[ THREAD ] = zz_lengths[ CR_LIST ] = + zz_lengths[ SCOPE_SNAPSHOT] = ceiling(sizeof(struct closure_type), sizeof(ALIGN)); /* symbol types */ @@ -1,6 +1,6 @@ /*@z32.c:Counter Service:Next()@**********************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z33.c:Database Service:OldCrossDb(), NewCrossDb(), SymToNum()@*************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -59,7 +59,7 @@ typedef struct #define hash(pos, sym, tag, S) \ { FULL_CHAR *p = tag; \ - pos = (long) sym; \ + pos = (unsigned long) sym; \ while( *p ) pos += *p++; \ pos = pos % dtab_size(S); \ } @@ -101,7 +101,7 @@ static DBCHECK_TABLE dtab_rehash(DBCHECK_TABLE S, int newsize) } /* end dtab_rehash */ static void dtab_insert(OBJECT x, DBCHECK_TABLE *S) -{ long pos; OBJECT z, link, y; +{ unsigned long pos; OBJECT z, link, y; if( dtab_count(*S) == dtab_size(*S) - 1 ) /* one less since 0 unused */ *S = dtab_rehash(*S, 2*dtab_size(*S)); dtab_count(*S)++; @@ -118,7 +118,7 @@ static void dtab_insert(OBJECT x, DBCHECK_TABLE *S) } /* end dtab_insert */ static OBJECT dtab_retrieve(OBJECT sym, FULL_CHAR *tag, DBCHECK_TABLE S) -{ OBJECT x, link, y; long pos; +{ OBJECT x, link, y; unsigned long pos; hash(pos, sym, tag, S); x = dtab_item(S, pos); if( x == nilobj ) return nilobj; @@ -648,7 +648,7 @@ FULL_CHAR *str, FULL_CHAR *line) /* compare str with this line and prepare next step */ debug2(DBS, DD, " comparing key %s with line %s", str, line); - if( StringLessEqual(str, line) ) r = mid - 1; + if( TabbedStringLessEqual(str, line) ) r = mid - 1; else l = mid_end + 1; } /* end while */ @@ -696,7 +696,7 @@ static BOOLEAN SearchLines(LINE *lines, int left, int right, FULL_CHAR *str, mid = (l + r) / 2; debug4(DBS, D, " [l %d, r %d] examining lines[%d] = %s", l, r, mid, lines[mid]); - if( StringLessEqual(str, (FULL_CHAR *) lines[mid]) ) r = mid - 1; + if( TabbedStringLessEqual(str, (FULL_CHAR *) lines[mid]) ) r = mid - 1; else l = mid + 1; } sscanf( (char *) lines[l], "%[^\t]", buff); @@ -1,6 +1,6 @@ /*@z34.c:Rotation Service:Declarations@***************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z35.c:Time Keeper: MomentSym(), TimeString()@******************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z36.c:Hyphenation: Declarations@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z37.c:Font Service:Declarations@*******************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -40,7 +40,7 @@ /*****************************************************************************/ /* */ -/* these definitions have been placed in "externs" because z24.c needs them */ +/* These definitions have been movet to "externs.h" since z24.c needs them: */ /* */ /* struct metrics { */ /* SHORT_LENGTH up; */ @@ -49,10 +49,19 @@ /* SHORT_LENGTH right; */ /* SHORT_LENGTH last_adjust; */ /* }; */ -/* */ +/* */ +/* typedef struc composite_rec { */ +/* FULL_CHAR char_code; */ +/* SHORT_LENGTH x_offset; */ +/* SHORT_LENGTH y_offset; */ +/* } COMPOSITE; */ +/* */ /* typedef struct font_rec { */ /* struct metrics *size_table; metrics of sized fonts */ /* FULL_CHAR *lig_table; ligatures */ +/* unsigned short *composite; non-zero means composite */ +/* COMPOSITE *cmp_table; composites to build */ +/* int cmp_top; length of cmp_table */ /* OBJECT font_table; record of sized fonts */ /* OBJECT original_font; font rec before resizing */ /* SHORT_LENGTH underline_pos; position of underline */ @@ -65,6 +74,66 @@ /* */ /*****************************************************************************/ +/*****************************************************************************/ +/* */ +/* Private data structures of this module */ +/* */ +/* +++++++++++++++++++++++++++++++++ */ +/* + + */ +/* root -> + ACAT + */ +/* + + */ +/* + + */ +/* +++++++++++++++++++++++++++++++++ */ +/* | font families... */ +/* | */ +/* +-----+-----------------------------------------------+ ... */ +/* | | */ +/* | | */ +/* +++++++++++++++++++++++++++++++++ */ +/* + + */ +/* family -> + WORD + */ +/* + string (family name) + */ +/* + + */ +/* +++++++++++++++++++++++++++++++++ */ +/* | faces of this family... */ +/* | */ +/* +-----+-----------------------------------------------+ ... */ +/* | | */ +/* | | */ +/* +++++++++++++++++++++++++++++++++ */ +/* + + */ +/* face -> + WORD + */ +/* + string (face name) + */ +/* + font_recoded + */ +/* + font_mapping + */ +/* + font_page + */ +/* + font_firstpage + */ +/* + + */ +/* +++++++++++++++++++++++++++++++++ */ +/* | size records... */ +/* | */ +/* +----------+---------+--------------------+-----------------------+ */ +/* | | | | */ +/* | | | | */ +/* +++++++++++++++++++ +++++++++++++++++++ +++++++++++++++++++++ */ +/* + + + + + + */ +/* + WORD + + WORD + + WORD + */ +/* + string (font + + string (AFM + + string (short + */ +/* + name) + + file name) + + font name) + */ +/* + + + + + font_num + */ +/* +++++++++++++++++++ +++++++++++++++++++ + font_size + */ +/* | + font_xheight2 + */ +/* | + font_recoded + */ +/* ++++++++++++++++++++ + font_mapping + */ +/* + + + font_spacewidth + */ +/* (optional) + WORD + + + */ +/* + string (extra + +++++++++++++++++++++ */ +/* + AFM file name) + */ +/* + + */ +/* ++++++++++++++++++++ */ +/* */ +/*****************************************************************************/ + int font_curr_page; /* current page number */ FONT_INFO *finfo; /* all the font table info */ static int finfo_size; /* current finfo array size */ @@ -72,6 +141,15 @@ static OBJECT font_root; /* root of tree of fonts */ static OBJECT font_used; /* fonts used on this page */ static FONT_NUM font_count; /* number of sized fonts */ static int font_seqnum; /* unique number for a font */ +static OBJECT FontDefSym; /* symtab entry for @FontDef */ +static OBJECT fd_tag; /* @FontDef @Tag entry */ +static OBJECT fd_family; /* @FontDef @Family entry */ +static OBJECT fd_face; /* @FontDef @Face entry */ +static OBJECT fd_name; /* @FontDef @Name entry */ +static OBJECT fd_metrics; /* @FontDef @Metrics entry */ +static OBJECT fd_extra_metrics; /* @FontDef @ExtraMetrics */ +static OBJECT fd_mapping; /* @FontDef @Mapping entry */ +static OBJECT fd_recode; /* @FontDef @Recode entry */ /*@::FontInit(), FontDebug()@*************************************************/ @@ -82,8 +160,21 @@ static int font_seqnum; /* unique number for a font */ /* */ /*****************************************************************************/ +static OBJECT load(FULL_CHAR *name, unsigned dtype, OBJECT encl, BOOLEAN compulsory) +{ OBJECT res; + res = InsertSym(name, dtype, no_fpos, DEFAULT_PREC, FALSE, FALSE, 0, encl, + MakeWord(WORD, STR_EMPTY, no_fpos)); + if( dtype == NPAR ) visible(res) = TRUE; + if( compulsory ) + { has_compulsory(encl)++; + is_compulsory(res) = TRUE; + } + return res; +} + void FontInit(void) -{ debug0(DFT, D, "FontInit()"); +{ + debug0(DFT, D, "FontInit()"); font_curr_page = 1; font_count = 0; New(font_root, ACAT); @@ -93,6 +184,18 @@ void FontInit(void) finfo_size = INIT_FINFO_SIZE; ifdebug(DMA, D, DebugRegisterUsage(MEM_FONTS, 1, INIT_FINFO_SIZE * sizeof(FONT_INFO))); + + /* set up FontDefSym */ + FontDefSym = load(KW_FONTDEF, LOCAL, StartSym, FALSE); + fd_tag = load(KW_TAG, NPAR, FontDefSym, TRUE); + fd_family = load(KW_FAMILY, NPAR, FontDefSym, TRUE); + fd_face = load(KW_FACE, NPAR, FontDefSym, TRUE); + fd_name = load(KW_NAME, NPAR, FontDefSym, TRUE); + fd_metrics = load(KW_METRICS, NPAR, FontDefSym, TRUE); + fd_extra_metrics = load(KW_EXTRA_METRICS, NPAR, FontDefSym, FALSE); + fd_mapping = load(KW_MAPPING, NPAR, FontDefSym, TRUE); + fd_recode = load(KW_RECODE, NPAR, FontDefSym, FALSE); + debug0(DFT, D, "FontInit returning."); } @@ -107,127 +210,31 @@ void FontInit(void) #if DEBUG_ON static void FontDebug(void) -{ OBJECT family, face, filename, link, flink; int i; +{ OBJECT family, face, link, flink, zlink, z; int i; assert(font_root!=nilobj && type(font_root)==ACAT, "FontDebug: font_root!"); for( link = Down(font_root); link != font_root; link = NextDown(link) ) { Child(family, link); assert( is_word(type(family)), "FontDebug: family!" ); - fprintf(stderr, "family %s:\n", string(family)); + debug1(DFS, D, "family %s:", string(family)); for( flink = Down(family); flink != family; flink = NextDown(flink) ) { Child(face, flink); assert( is_word(type(face)), "FontDebug: face!" ); - fprintf(stderr, " face %s in file ", string(face)); - assert( Down(face) != face, "FontDebug: Down(face)!"); - Child(filename, Down(face)); - assert( is_word(type(filename)), "FontDebug: filename!" ); - fprintf(stderr, "%s\n", string(filename)); + debug1(DFS, D, " face %s:", string(face)); + for( zlink = Down(face); zlink != face; zlink = NextDown(zlink) ) + { Child(z, zlink); + if( is_word(type(z)) ) + { debug2(DFS, D, " %s%s", string(z), Down(z) != z ? " child" : ""); + } + else + { debug1(DFS, D, " %s", Image(type(z))); + } + } } } for( i = 1; i <= font_count; i++ ) fprintf(stderr, " finfo[%d].font_table = %s\n", i, EchoObject(finfo[i].font_table)); } /* end FontDebug */ -#endif - - -/*@::FontDefine()@************************************************************/ -/* */ -/* FontDefine(family, face, inside) */ -/* */ -/* Insert a font defined by fontdef <family> <face> { <inside> }, where */ -/* <inside> ::= fontname AFMfilename LCMfilename recode */ -/* */ -/*****************************************************************************/ -static void ReadFont(OBJECT face, OBJECT err); - -void FontDefine(OBJECT family, OBJECT face, OBJECT inside) -{ OBJECT font_name, AFMfilename, LCMfilename, recode; - OBJECT short_name, link, y, val[5]; int i; - debug3(DFT, D, "FontDefine( %s, %s, %s )", string(family), - string(face), EchoObject(inside)); - - /* extract font_name, AFMfilename, LCMfilename, and recode */ - if( type(inside) != ACAT ) - { Error(37, 1, "font definition does not contain a sequence of words", - WARN, &fpos(inside)); - DisposeObject(inside); return; - } - for( i = 0; Down(inside) != inside && i != 5; i++ ) - { Child(val[i], Down(inside)); - DeleteLink(Up(val[i])); - if( type(val[i]) == GAP_OBJ ) DisposeObject(val[i--]); - else if( !is_word(type(val[i])) ) - { Error(37, 2, "font definition contains a non-word", WARN, &fpos(val[i])); - DisposeObject(inside); return; - } - } - if( Down(inside) != inside || i != 4 ) - { Error(37, 3, "font definition does not contain exactly four words", - WARN, &fpos(inside)); - DisposeObject(inside); return; - } - font_name = val[0]; AFMfilename = val[1]; - LCMfilename = val[2]; recode = val[3]; - - /* insert family into font tree if not already present */ - for( link = Down(font_root); link != font_root; link = NextDown(link) ) - { Child(y, link); - if( StringEqual(string(y), string(family)) ) - { Dispose(family); family = y; break; } - } - if( link == font_root ) Link(font_root, family); - - /* insert face into family, or error if already present and different */ - for( link = Down(family); link != family; link = NextDown(link) ) - { Child(y, link); - if( StringEqual(string(y), string(face)) ) - { OBJECT other_name, other_AFMname; - Child(other_AFMname, Down(y)); - Child(other_name, NextDown(Down(other_AFMname))); - if( StringEqual(string(other_name), string(font_name)) && - StringEqual(string(other_AFMname), string(AFMfilename)) ) - { debug0(DFT, D, "FontDefine returning: font redefined"); - Dispose(face); - return; - } - Error(37, 4, "font %s %s already defined at%s", WARN, &fpos(face), - string(family), string(face), EchoFilePos(&fpos(y))); - debug0(DFT, D, "FontDefine returning: font already defined"); - Dispose(face); - return; - } - } - Link(family, face); - - /* add AFMfilename as first size of font, and PostScript name as its child */ - Link(face, AFMfilename); - short_name = MakeWordTwo(WORD, AsciiToFull("fnt"), StringInt(++font_seqnum), - no_fpos); - Link(AFMfilename, short_name); Link(AFMfilename, font_name); - - /* load character mapping file */ - if( StringEqual(string(recode), STR_FONT_RECODE) ) - { font_recoded(face) = TRUE; - font_mapping(AFMfilename) = MapLoad(LCMfilename, TRUE); - } - else if( StringEqual(string(recode), STR_FONT_NORECODE) ) - { font_recoded(face) = FALSE; - font_mapping(AFMfilename) = MapLoad(LCMfilename, FALSE); - } - else Error(37, 5, "expecting either Recode or NoRecode here", - FATAL, &fpos(recode)); - - /* say that this font is currently unused on any page */ - font_page(face) = 0; - font_firstpage(face) = FALSE; - - /* if initializing run, read the font just to make sure */ - if( InitializeAll ) - { ReadFont(face, face); - } - - debug0(DFT, D, "FontDefine returning."); -} /* end FontDefine */ /*****************************************************************************/ @@ -237,7 +244,6 @@ void FontDefine(OBJECT family, OBJECT face, OBJECT inside) /* Print debug output of kern table for font fnum. */ /* */ /*****************************************************************************/ -#if DEBUG_ON static void DebugKernTable(FONT_NUM fnum) { int i, j; @@ -259,35 +265,408 @@ static void DebugKernTable(FONT_NUM fnum) #endif -/*@::ReadFont()@**************************************************************/ +/*****************************************************************************/ /* */ -/* static ReadFont(face, err) */ +/* ReadCharMetrics(face, fixed_pitch, xheight2,lig,ligtop,fnum,fnt,lnum,fp) */ /* */ -/* Read in a font file. Object err is used only for error reporting. */ +/* Read a sequence of character metrics lines. The font record is */ +/* face, its ligatures are lig[0..ligtop], font number fnum, metrics fnt. */ +/* The line number is lnum; input is to be read from file fp. */ /* */ /*****************************************************************************/ -static void ReadFont(OBJECT face, OBJECT err) -{ OBJECT filename, fontname; +static void ReadCharMetrics(OBJECT face, BOOLEAN fixed_pitch, int xheight2, + FULL_CHAR *lig, int *ligtop, FILE_NUM fnum, struct metrics *fnt, + int *lnum, FILE *fp) +{ FULL_CHAR buff[MAX_BUFF], command[MAX_BUFF], ch, ligchar; + int i, wx, llx, lly, urx, ury; + float fl_wx, fl_llx, fl_lly, fl_urx, fl_ury; + BOOLEAN wxfound, bfound; + OBJECT AFMfilename; + + Child(AFMfilename, NextDown(Down(face))); + while( StringFGets(buff, MAX_BUFF, fp) != NULL && + !StringBeginsWith(buff, AsciiToFull("EndCharMetrics")) && + !StringBeginsWith(buff, AsciiToFull("EndExtraCharMetrics")) ) + { + /* read one line containing metric info for one character */ + debug1(DFT, DD, " ReadCharMetrics: %s", buff); + (*lnum)++; ch = '\0'; + wxfound = bfound = FALSE; + i = 0; while( buff[i] == ' ' ) i++; + while( buff[i] != '\n' ) + { + debug2(DFT, DDD, " ch = %d, &buff[i] = %s", ch, &buff[i]); + sscanf( (char *) &buff[i], "%s", command); + if( StringEqual(command, "N") ) + { sscanf( (char *) &buff[i], "N %s", command); + ch = MapCharEncoding(command, font_mapping(face)); + } + else if( StringEqual(command, "WX") ) + { sscanf( (char *) &buff[i], "WX %f", &fl_wx); + wx = fl_wx; + wxfound = TRUE; + } + else if( StringEqual(command, "B") ) + { sscanf( (char *) &buff[i], "B %f %f %f %f", + &fl_llx, &fl_lly, &fl_urx, &fl_ury); + llx = fl_llx; + lly = fl_lly; + urx = fl_urx; + ury = fl_ury; + bfound = TRUE; + } + else if( StringEqual(command, "L") && + BackEnd != PLAINTEXT && ch != '\0' ) + { if( lig[ch] == 1 ) lig[ch] = (*ligtop) - MAX_CHARS; + lig[(*ligtop)++] = ch; + i++; /* skip L */ + while( buff[i] == ' ' ) i++; + while( buff[i] != ';' && buff[i] != '\n' ) + { sscanf( (char *) &buff[i], "%s", command); + ligchar = MapCharEncoding(command, font_mapping(face)); + if( ligchar != '\0' ) lig[(*ligtop)++] = ligchar; + else + { Error(37, 1, "ignoring unencoded ligature character %s in font file %s (line %d)", + WARN, &fpos(AFMfilename), command, FileName(fnum), *lnum); + lig[ch] = 1; + } + if( *ligtop > 2*MAX_CHARS - 5 ) + Error(37, 2, "too many ligature characters in font file %s (line %d)", + FATAL, &fpos(AFMfilename), FileName(fnum), *lnum); + while( buff[i] != ' ' && buff[i] != ';' ) i++; + while( buff[i] == ' ' ) i++; + } + lig[(*ligtop)++] = '\0'; + } + while( buff[i] != ';' && buff[i] != '\n' ) i++; + if( buff[i] == ';' ) + { i++; while( buff[i] == ' ' ) i++; + } + } + if( ch > '\0' ) + { + if( !wxfound ) + { Error(37, 3, "WX missing in font file %s (line %d)", + FATAL, &fpos(AFMfilename), FileName(fnum), *lnum); + } + if( !bfound ) + { Error(37, 4, "B missing in font file %s (line %d)", + FATAL, &fpos(AFMfilename), FileName(fnum), *lnum); + } + if( lig[ch] == 1 ) lig[ch] = 0; /* set to known if unknown */ + else if( lig[ch] > 1 ) /* add '\0' to end of ligs */ + lig[(*ligtop)++] = '\0'; + switch( BackEnd ) + { + case POSTSCRIPT: + case PDF: fnt[ch].left = llx; + fnt[ch].down = lly - xheight2; + fnt[ch].right = wx; + fnt[ch].up = ury - xheight2; + fnt[ch].last_adjust = + (urx == 0 || wx == 0 || fixed_pitch) ? 0 : urx - wx; + break; + + case PLAINTEXT: fnt[ch].left = 0; + fnt[ch].down = - PlainCharHeight / 2; + fnt[ch].right = PlainCharWidth; + fnt[ch].up = PlainCharHeight / 2; + fnt[ch].last_adjust = 0; + break; + } + debug6(DFT, DDD, " fnt[%c] = (%d,%d,%d,%d,%d)",ch, fnt[ch].left, + fnt[ch].down, fnt[ch].right, fnt[ch].up, fnt[ch].last_adjust); + } + } +} /* end ReadCharMetrics */ + + +/*****************************************************************************/ +/* */ +/* ReadCompositeMetrics(face, Extrafilename, extra_fnum, lnum, composite, */ +/* cmp, cmptop, fp) */ +/* */ +/* Read a sequence of composite metrics lines. The font record is face. */ +/* The line number is lnum; input is to be read from file fp. */ +/* */ +/*****************************************************************************/ + +static void ReadCompositeMetrics(OBJECT face, OBJECT Extrafilename, + FILE_NUM extra_fnum, int *lnum, unsigned short int composite[], + COMPOSITE cmp[], int *cmptop, FILE *fp) +{ char *status; + FULL_CHAR buff[MAX_BUFF], composite_name[100], name[100]; + int composite_num, x_offset, y_offset, i, count; + FULL_CHAR composite_code, code; + + /* build composites */ + while( (status = StringFGets(buff, MAX_BUFF, fp)) != (char *) NULL + && StringBeginsWith(buff, AsciiToFull("CC")) ) + { + (*lnum)++; + debug1(DFT, D, " composite: %s", buff); + + /* read CC <charname> <number_of_pieces> ; and move i to after it */ + if( sscanf((char *)buff, "CC %s %d ", composite_name, &composite_num) != 2 ) + Error(37, 5, "syntax error in extra font file %s (line %d)", + FATAL, &fpos(Extrafilename), FileName(extra_fnum), *lnum); + for( i = 0; buff[i] != ';' && buff[i] != '\n' && buff[i] != '\0'; i++ ); + if( buff[i] != ';' ) + Error(37, 5, "syntax error in extra font file %s (line %d)", + FATAL, &fpos(Extrafilename), FileName(extra_fnum), *lnum); + i++; + + /* add entry for this character to composite */ + composite_code = MapCharEncoding(composite_name,font_mapping(face)); + if( composite_code == (FULL_CHAR) '\0' ) + Error(37, 6, "unknown character name %s in font file %s (line %d)", + FATAL, &fpos(Extrafilename), FileName(extra_fnum), *lnum); + composite[composite_code] = *cmptop; + + for( count = 0; count < composite_num; count++ ) + { + /* read one PCC <charname> <xoffset> <yoffset> ; and move i to after it */ + if( sscanf((char *)&buff[i]," PCC %s %d %d",name,&x_offset,&y_offset)!=3 ) + Error(37, 5, "syntax error in extra font file %s (line %d)", + FATAL, &fpos(Extrafilename), FileName(extra_fnum), *lnum); + for( ; buff[i] != ';' && buff[i] != '\n' && buff[i] != '\0'; i++ ); + if( buff[i] != ';' ) + Error(37, 5, "syntax error in extra font file %s (line %d)", + FATAL, &fpos(Extrafilename), FileName(extra_fnum), *lnum); + i++; + + /* load this piece into cmp */ + if( *cmptop >= MAX_CHARS ) + Error(37, 7, "too many composites in file %s (at line %d)", + FATAL, &fpos(Extrafilename), FileName(extra_fnum), *lnum); + code = MapCharEncoding(name, font_mapping(face)); + cmp[*cmptop].char_code = code; + cmp[*cmptop].x_offset = x_offset; + cmp[*cmptop].y_offset = y_offset; + (*cmptop)++; + } + + /* add null terminating component */ + if( *cmptop >= MAX_CHARS ) + Error(37, 8, "too many composites in file %s (at line %d)", + FATAL, &fpos(Extrafilename), FileName(extra_fnum), *lnum); + cmp[*cmptop].char_code = (FULL_CHAR) '\0'; + (*cmptop)++; + } + if( status == (char *) NULL || + !StringBeginsWith(buff, AsciiToFull("EndBuildComposites")) ) + Error(37, 9, "missing EndBuildComposites in extra font file %s (line %d)", + FATAL, &fpos(Extrafilename), FileName(extra_fnum), *lnum); +} /* end ReadCompositeMetrics */ + + +/*@::FontRead()@**************************************************************/ +/* */ +/* static OBJECT FontRead(FULL_CHAR *family_name, *face_name, OBJECT err) */ +/* */ +/* Search the font databases for a font with this family and face name. */ +/* If found, read the font and update this module's data structures, then */ +/* return the face object. */ +/* */ +/* If an error occurs, use fpos(err) for reporting its location if nothing */ +/* better suggests itself. */ +/* */ +/*****************************************************************************/ + +static OBJECT FontRead(FULL_CHAR *family_name, FULL_CHAR *face_name, OBJECT err) +{ + OBJECT cs, link, db, fontdef_obj, y, ylink; + FULL_CHAR tag[100], seq[100]; + FILE_NUM dfnum; long dfpos, cont; int dlnum; + BOOLEAN font_name_found; + OBJECT family, face, font_name, AFMfilename, Extrafilename, LCMfilename; + OBJECT recode, first_size; FULL_CHAR buff[MAX_BUFF], command[MAX_BUFF], ch; - int wx, llx, lly, urx, ury, xheight2, i, lnum, ligtop; - float fl_wx, fl_llx, fl_lly, fl_urx, fl_ury, fl_xheight2, fl_under_pos, - fl_under_thick; + char *status; + int xheight2, i, lnum, ligtop, cmptop; + float fl_xheight2, fl_under_pos, fl_under_thick; int under_pos, under_thick; - BOOLEAN upfound, utfound, xhfound, wxfound, bfound; + BOOLEAN upfound, utfound, xhfound; BOOLEAN fixed_pitch = FALSE; - FILE_NUM fnum; FILE *fp; + FILE_NUM fnum, extra_fnum; FILE *fp, *extra_fp; struct metrics *fnt; - FULL_CHAR *lig, ligchar; + FULL_CHAR *lig; unsigned short *composite; COMPOSITE *cmp; unsigned short *kt; FULL_CHAR *kc; unsigned char *kv; SHORT_LENGTH *ks; - OBJECT x; - assert( is_word(type(face)), "ReadFont: !is_word(type(face))!" ); - debug1(DFT, DD, "ReadFont( %s, err )", string(face)); + debug2(DFT, D, "FontRead(%s, %s)", family_name, face_name); + + + /***************************************************************************/ + /* */ + /* Get the @FontDef object with tag family_name-face_name from databases */ + /* */ + /***************************************************************************/ + + /* if no databases available, fatal error */ + cs = cross_sym(FontDefSym); + if( cs == nilobj ) + { Error(37, 10, "unable to set font %s %s (no font databases loaded)", + FATAL, no_fpos, family_name, face_name); + } + + /* search the databases for @FontDef @Tag { family-face } */ + sprintf( (char *) tag, "%s-%s", family_name, face_name); + for( link = NextUp(Up(cs)); link != cs; link = NextUp(link) ) + { Parent(db, link); + if( DbRetrieve(db, FALSE, FontDefSym,tag,seq,&dfnum,&dfpos,&dlnum,&cont) ) + break; + } + + /* if not found, return nilobj */ + if( link == cs ) + { debug0(DFT, D, "FontRead returning nilobj (not in any database)"); + return nilobj; + } + + /* found it; read @FontDef object from database file */ + SwitchScope(nilobj); + fontdef_obj = ReadFromFile(dfnum, dfpos, dlnum); + UnSwitchScope(nilobj); + if( fontdef_obj == nilobj ) + Error(37, 11, "cannot read %s for %s", INTERN, no_fpos, KW_FONTDEF, tag); + + + /***************************************************************************/ + /* */ + /* Extract the attributes of fontdef_obj, and check that they are OK. */ + /* */ + /***************************************************************************/ + + /* extract the various attributes */ + family = face = font_name = AFMfilename = nilobj; + Extrafilename = LCMfilename = recode = nilobj; + for( ylink=Down(fontdef_obj); ylink != fontdef_obj; ylink=NextDown(ylink) ) + { Child(y, ylink); + assert( type(y) == PAR, "FontRead: type(y) != PAR!" ); + if( actual(y) == fd_tag ) + { + /* do nothing with this one */ + } + else if( actual(y) == fd_family ) + { Child(family, Down(y)); + if( !is_word(type(family)) || !StringEqual(string(family), family_name) ) + Error(37, 12, "font family name %s incompatible with %s value %s", + FATAL, &fpos(fontdef_obj), string(family), KW_TAG, tag); + } + else if( actual(y) == fd_face ) + { Child(face, Down(y)); + if( !is_word(type(face)) || !StringEqual(string(face), face_name) ) + Error(37, 13, "font face name %s incompatible with %s value %s", + FATAL, &fpos(fontdef_obj), string(face), KW_TAG, tag); + } + else if( actual(y) == fd_name ) + { Child(font_name, Down(y)); + font_name = ReplaceWithTidy(font_name, TRUE); + if( !is_word(type(font_name)) ) + Error(37, 14, "illegal font name (quotes needed?)", + FATAL, &fpos(font_name)); + } + else if( actual(y) == fd_metrics ) + { Child(AFMfilename, Down(y)); + AFMfilename = ReplaceWithTidy(AFMfilename, TRUE); + if( !is_word(type(AFMfilename)) ) + Error(37, 15, "illegal font metrics file name (quotes needed?)", + FATAL, &fpos(AFMfilename)); + } + else if( actual(y) == fd_extra_metrics ) + { Child(Extrafilename, Down(y)); + Extrafilename = ReplaceWithTidy(Extrafilename, TRUE); + if( !is_word(type(Extrafilename)) ) + Error(37, 16, "illegal font extra metrics file name (quotes needed?)", + FATAL, &fpos(Extrafilename)); + } + else if( actual(y) == fd_mapping ) + { Child(LCMfilename, Down(y)); + LCMfilename = ReplaceWithTidy(LCMfilename, TRUE); + if( !is_word(type(LCMfilename)) ) + Error(37, 17, "illegal mapping file name (quotes needed?)", + FATAL, &fpos(LCMfilename)); + } + else if( actual(y) == fd_recode ) + { Child(recode, Down(y)); + recode = ReplaceWithTidy(recode, TRUE); + if( !is_word(type(recode)) ) + Error(37, 18, "illegal value of %s", FATAL, &fpos(recode), + SymName(fd_recode)); + } + else + { assert(FALSE, "FontRead: cannot identify component of FontDef") + } + + } + + /* check that all the compulsory ones were found */ + /* a warning message will have already been given if not */ + if( family == nilobj || face == nilobj || font_name == nilobj || + AFMfilename == nilobj || LCMfilename == nilobj ) + { + debug0(DFT, D, "FontRead returning nilobj (missing compulsory)"); + return nilobj; + } + - /* get a new font number for this font, possibly requiring realloc */ + /***************************************************************************/ + /* */ + /* Update font tree to have this family, face and first_size. */ + /* */ + /***************************************************************************/ + + /* insert family into font tree if not already present */ + for( link = Down(font_root); link != font_root; link = NextDown(link) ) + { Child(y, link); + if( StringEqual(string(y), string(family)) ) + { family = y; + break; + } + } + if( link == font_root ) + MoveLink(Up(family), font_root, PARENT); + + /* insert face into family, or error if already present */ + for( link = Down(family); link != family; link = NextDown(link) ) + { Child(y, link); + if( StringEqual(string(y), string(face)) ) + { Error(37, 19, "font %s %s already defined, at%s", WARN, &fpos(face), + string(family), string(face), EchoFilePos(&fpos(y))); + debug0(DFT, D, "FontRead returning: font already defined"); + DisposeObject(fontdef_obj); + return y; + } + } + MoveLink(Up(face), family, PARENT); + + /* PostScript name and AFM file name are first two children of face */ + Link(face, font_name); + Link(face, AFMfilename); + + /* AFM file name has extra file name as optional child */ + if( Extrafilename != nilobj ) + Link(AFMfilename, Extrafilename); + + /* load character mapping file */ + if( recode != nilobj && StringEqual(string(recode), AsciiToFull("No")) ) + { font_recoded(face) = FALSE; + font_mapping(face) = MapLoad(LCMfilename, FALSE); + } + else if( recode == nilobj || StringEqual(string(recode), AsciiToFull("Yes")) ) + { font_recoded(face) = TRUE; + font_mapping(face) = MapLoad(LCMfilename, TRUE); + } + else Error(37, 20, "expecting either Yes or No here", FATAL, &fpos(recode)); + + /* say that this font is currently unused on any page */ + font_page(face) = 0; + font_firstpage(face) = FALSE; + + /* get a new number for this (default) font size */ if( ++font_count >= finfo_size ) { if( font_count > MAX_FONT ) - Error(37, 6, "too many different fonts and sizes (maximum is %d)", + Error(37, 21, "too many different fonts and sizes (maximum is %d)", FATAL, &fpos(err),MAX_FONT); ifdebug(DMA, D, DebugRegisterUsage(MEM_FONTS, -1, -finfo_size * sizeof(FONT_INFO))); @@ -296,20 +675,34 @@ static void ReadFont(OBJECT face, OBJECT err) DebugRegisterUsage(MEM_FONTS, 1, finfo_size * sizeof(FONT_INFO))); finfo = (FONT_INFO *) realloc(finfo, finfo_size * sizeof(FONT_INFO)); if( finfo == (FONT_INFO *) NULL ) - Error(37, 7, "run out of memory when increasing font table size", + Error(37, 22, "run out of memory when increasing font table size", FATAL, &fpos(err)); } + /* build the first size record, and initialize it with what we know now */ + first_size = MakeWordTwo(WORD, AsciiToFull("fnt"), StringInt(++font_seqnum), + no_fpos); + Link(face, first_size); + font_num(first_size) = font_count; + font_size(first_size) = (BackEnd != PLAINTEXT) ? SZ_DFT : PlainCharHeight; + font_recoded(first_size) = font_recoded(face); + font_mapping(first_size) = font_mapping(face); + /* leaves font_xheight2 and font_spacewidth still to do */ + + + /***************************************************************************/ + /* */ + /* Read the Adobe font metrics file, and record what's in it. */ + /* */ + /***************************************************************************/ + /* open the Adobe font metrics (AFM) file of the font */ - assert( Down(face) != face, "ReadFont: filename missing!" ); - Child(filename, Down(face)); - assert( Down(filename) != filename, "ReadFont: filename child missing!" ); - debug0(DFS, D, " calling DefineFile from ReadFont"); - fnum = DefineFile(string(filename), STR_EMPTY, &fpos(filename), + debug0(DFS, D, " calling DefineFile from FontRead"); + fnum = DefineFile(string(AFMfilename), STR_EMPTY, &fpos(AFMfilename), FONT_FILE, FONT_PATH); fp = OpenFile(fnum, FALSE, FALSE); if( fp == NULL ) - Error(37, 8, "cannot open font file %s", FATAL, &fpos(filename), + Error(37, 23, "cannot open font file %s", FATAL, &fpos(AFMfilename), FileName(fnum)); /* check that the AFM file begins, as it should, with "StartFontMetrics" */ @@ -318,8 +711,8 @@ static void ReadFont(OBJECT face, OBJECT err) !StringEqual(command, "StartFontMetrics") ) { debug1(DFT, DD, "first line of AFM file:%s", buff); debug1(DFT, DD, "command:%s", command); - Error(37, 9, "font file %s does not begin with StartFontMetrics", - FATAL, &fpos(filename), FileName(fnum)); + Error(37, 24, "font file %s does not begin with StartFontMetrics", + FATAL, &fpos(AFMfilename), FileName(fnum)); } /* initialise font metrics table for the new font */ @@ -327,33 +720,50 @@ static void ReadFont(OBJECT face, OBJECT err) DebugRegisterUsage(MEM_FONTS, 1, MAX_CHARS * sizeof(struct metrics))); fnt = (struct metrics *) malloc(MAX_CHARS * sizeof(struct metrics)); if( fnt == (struct metrics *) NULL ) - Error(37, 10, "run out of memory while reading font file %s", + Error(37, 25, "run out of memory while reading font file %s", FATAL, &fpos(err), FileName(fnum)); ifdebug(DMA, D, DebugRegisterUsage(MEM_FONTS, 0, 2*MAX_CHARS*sizeof(FULL_CHAR))); - lig = (FULL_CHAR *) malloc(2*MAX_CHARS*sizeof(FULL_CHAR)); /* initialise ligature table for the new font */ + lig = (FULL_CHAR *) malloc(2*MAX_CHARS*sizeof(FULL_CHAR)); if( lig == (FULL_CHAR *) NULL ) - Error(37, 11, "run out of memory while reading font file %s", + Error(37, 25, "run out of memory while reading font file %s", FATAL, &fpos(err), FileName(fnum)); for( i = 0; i < MAX_CHARS; i++ ) lig[i] = 1; /* i.e. char unknown */ ligtop = MAX_CHARS+2; /* must avoid ligtop - MAX_CHARS == 0 or 1 */ + /* initialise composites table for the new font */ + composite = (unsigned short *) malloc(MAX_CHARS * sizeof(unsigned short)); + if( composite == (unsigned short *) NULL ) + Error(37, 25, "run out of memory while reading font file %s", + FATAL, &fpos(err), FileName(fnum)); + cmp = (COMPOSITE *) malloc(MAX_CHARS * sizeof(COMPOSITE)); + if( cmp == (COMPOSITE *) NULL ) + Error(37, 25, "run out of memory while reading font file %s", + FATAL, &fpos(err), FileName(fnum)); + for( i = 0; i < MAX_CHARS; i++ ) composite[i] = 0; /* i.e. not composite */ + cmptop = 1; /* must avoid cmptop == 0 */ + /* initialise kerning table for the new font */ ifdebug(DMA, D, DebugRegisterUsage(MEM_FONTS, 0, MAX_CHARS * sizeof(unsigned short))); kt = (unsigned short *) malloc(MAX_CHARS * sizeof(unsigned short)); if( kt == (unsigned short *) NULL ) - Error(37, 12, "run out of memory while reading font file %s", + Error(37, 25, "run out of memory while reading font file %s", FATAL, &fpos(err), FileName(fnum)); for( i = 0; i < MAX_CHARS; i++ ) kt[i] = 0; /* i.e. no kerns */ ks = (SHORT_LENGTH *) NULL; /* i.e. no kern sizes */ - /* read font metrics file */ + /* read font metrics file fp */ xhfound = upfound = utfound = FALSE; - fontname = nilobj; lnum = 1; - while ( ( StringFGets(buff, MAX_BUFF, fp) ) != NULL ) + xheight2 = under_thick = under_pos = 0; + kc = (FULL_CHAR *) NULL; + kv = (unsigned char *) NULL; + ks = (SHORT_LENGTH *) NULL; + font_name_found = FALSE; lnum = 1; + while( (status = StringFGets(buff, MAX_BUFF, fp)) != (char *) NULL && + !(buff[0] == 'E' && StringEqual(buff, AsciiToFull("EndFontMetrics\n"))) ) { lnum++; sscanf( (char *) buff, "%s", command); @@ -364,8 +774,8 @@ static void ReadFont(OBJECT face, OBJECT err) if( StringEqual(command, AsciiToFull("UnderlinePosition")) ) { if( upfound ) - { Error(37, 13, "UnderlinePosition found twice in font file (line %d)", - FATAL, &fpos(filename), lnum); + { Error(37, 26, "UnderlinePosition found twice in font file (line %d)", + FATAL, &fpos(AFMfilename), lnum); } sscanf( (char *) buff, "UnderlinePosition %f", &fl_under_pos); under_pos = fl_under_pos; @@ -373,8 +783,8 @@ static void ReadFont(OBJECT face, OBJECT err) } else if( StringEqual(command, AsciiToFull("UnderlineThickness")) ) { if( utfound ) - { Error(37, 14, "UnderlineThickness found twice in font file (line %d)", - FATAL, &fpos(filename), lnum); + { Error(37, 27, "UnderlineThickness found twice in font file (line %d)", + FATAL, &fpos(AFMfilename), lnum); } sscanf( (char *) buff, "UnderlineThickness %f", &fl_under_thick); under_thick = fl_under_thick; @@ -387,8 +797,8 @@ static void ReadFont(OBJECT face, OBJECT err) if( StringEqual(command, AsciiToFull("XHeight")) ) { if( xhfound ) - { Error(37, 15, "XHeight found twice in font file (line %d)", - FATAL, &fpos(filename), lnum); + { Error(37, 28, "XHeight found twice in font file (line %d)", + FATAL, &fpos(AFMfilename), lnum); } sscanf( (char *) buff, "XHeight %f", &fl_xheight2); xheight2 = fl_xheight2 / 2; @@ -400,20 +810,20 @@ static void ReadFont(OBJECT face, OBJECT err) case 'F': if( StringEqual(command, AsciiToFull("FontName")) ) - { if( fontname != nilobj ) - { Error(37, 16, "FontName found twice in font file %s (line %d)", - FATAL, &fpos(filename), FileName(fnum), lnum); + { if( font_name_found ) + { Error(37, 29, "FontName found twice in font file %s (line %d)", + FATAL, &fpos(AFMfilename), FileName(fnum), lnum); } sscanf( (char *) buff, "FontName %s", command); if( StringEqual(command, STR_EMPTY) ) - { Error(37, 17, "FontName empty in font file %s (line %d)", - FATAL, &fpos(filename), FileName(fnum), lnum); + { Error(37, 30, "FontName empty in font file %s (line %d)", + FATAL, &fpos(AFMfilename), FileName(fnum), lnum); } - Child(x, LastDown(filename)); - if( !StringEqual(command, string(x)) ) - Error(37, 18, "FontName in font file (%s) and fontdef (%s) disagree", - WARN, &fpos(filename), command, string(x)); - fontname = MakeWord(WORD, command, &fpos(filename)); + Child(y, Down(face)); + if( !StringEqual(command, string(y)) ) + Error(37, 31, "FontName in font file (%s) and %s (%s) disagree", + WARN, &fpos(AFMfilename), command, KW_FONTDEF, string(y)); + font_name_found = TRUE; } break; @@ -434,103 +844,12 @@ static void ReadFont(OBJECT face, OBJECT err) if( StringEqual(command, AsciiToFull("StartCharMetrics")) ) { - if( fontname == nilobj ) - Error(37, 19, "FontName missing in file %s", - FATAL, &fpos(filename), FileName(fnum)); + if( !font_name_found ) + Error(37, 32, "FontName missing in file %s", + FATAL, &fpos(AFMfilename), FileName(fnum)); if( !xhfound ) xheight2 = DEFAULT_XHEIGHT / 2; - while( StringFGets(buff, MAX_BUFF, fp) != NULL && - !StringBeginsWith(buff, AsciiToFull("EndCharMetrics")) ) - { - /* read one line containing metric info for one character */ - debug1(DFT, DDD, "ReadFont reading %s", buff); - lnum++; ch = '\0'; - wxfound = bfound = FALSE; - i = 0; while( buff[i] == ' ' ) i++; - while( buff[i] != '\n' ) - { - debug2(DFT, DDD, " ch = %d, &buff[i] = %s", ch, &buff[i]); - sscanf( (char *) &buff[i], "%s", command); - if( StringEqual(command, "N") ) - { sscanf( (char *) &buff[i], "N %s", command); - ch = MapCharEncoding(command, font_mapping(filename)); - } - else if( StringEqual(command, "WX") ) - { sscanf( (char *) &buff[i], "WX %f", &fl_wx); - wx = fl_wx; - wxfound = TRUE; - } - else if( StringEqual(command, "B") ) - { sscanf( (char *) &buff[i], "B %f %f %f %f", - &fl_llx, &fl_lly, &fl_urx, &fl_ury); - llx = fl_llx; - lly = fl_lly; - urx = fl_urx; - ury = fl_ury; - bfound = TRUE; - } - else if( StringEqual(command, "L") && - BackEnd != PLAINTEXT && ch != '\0' ) - { if( lig[ch] == 1 ) lig[ch] = ligtop - MAX_CHARS; - lig[ligtop++] = ch; - i++; /* skip L */ - while( buff[i] == ' ' ) i++; - while( buff[i] != ';' && buff[i] != '\n' ) - { sscanf( (char *) &buff[i], "%s", command); - ligchar = MapCharEncoding(command, font_mapping(filename)); - if( ligchar != '\0' ) lig[ligtop++] = ligchar; - else - { Error(37, 20, "ignoring unencoded ligature character %s in font file %s (line %d)", - WARN, &fpos(filename), command, FileName(fnum), lnum); - lig[ch] = 1; - } - if( ligtop > 2*MAX_CHARS - 5 ) - Error(37, 21, "too many ligature characters in font file %s (line %d)", - FATAL, &fpos(filename), FileName(fnum), lnum); - while( buff[i] != ' ' && buff[i] != ';' ) i++; - while( buff[i] == ' ' ) i++; - } - lig[ligtop++] = '\0'; - } - while( buff[i] != ';' && buff[i] != '\n' ) i++; - if( buff[i] == ';' ) - { i++; while( buff[i] == ' ' ) i++; - } - } - if( ch > '\0' ) - { - if( !wxfound ) - { Error(37, 22, "WX missing in font file %s (line %d)", - FATAL, &fpos(filename), FileName(fnum), lnum); - } - if( !bfound ) - { Error(37, 23, "B missing in font file %s (line %d)", - FATAL, &fpos(filename), FileName(fnum), lnum); - } - if( lig[ch] == 1 ) lig[ch] = 0; /* set to known if unknown */ - else if( lig[ch] > 1 ) /* add '\0' to end of ligs */ - lig[ligtop++] = '\0'; - switch( BackEnd ) - { - case POSTSCRIPT: - case PDF: fnt[ch].left = llx; - fnt[ch].down = lly - xheight2; - fnt[ch].right = wx; - fnt[ch].up = ury - xheight2; - fnt[ch].last_adjust = - (urx == 0 || wx == 0 || fixed_pitch) ? 0 : urx - wx; - break; - - case PLAINTEXT: fnt[ch].left = 0; - fnt[ch].down = - PlainCharHeight / 2; - fnt[ch].right = PlainCharWidth; - fnt[ch].up = PlainCharHeight / 2; - fnt[ch].last_adjust = 0; - break; - } - debug6(DFT, DDD, " fnt[%c] = (%d,%d,%d,%d,%d)",ch, fnt[ch].left, - fnt[ch].down, fnt[ch].right, fnt[ch].up, fnt[ch].last_adjust); - } - } + ReadCharMetrics(face, fixed_pitch, xheight2, lig, &ligtop, + fnum, fnt, &lnum, fp); } else if( BackEnd != PLAINTEXT && Kern && StringEqual(command, AsciiToFull("StartKernPairs")) ) @@ -539,8 +858,8 @@ static void ReadFont(OBJECT face, OBJECT err) int kc_top, ks_top, pos, num_pairs, ksize; float fl_ksize; if( sscanf( (char *) buff, "StartKernPairs %d", &num_pairs) != 1 ) - Error(37, 24, "syntax error on StartKernPairs line in font file %s (line %d)", - FATAL, &fpos(filename), FileName(fnum), lnum); + Error(37, 33, "syntax error on StartKernPairs line in font file %s (line %d)", + FATAL, &fpos(AFMfilename), FileName(fnum), lnum); kc_top = 1; ks_top = 1; ifdebug(DMA, D, DebugRegisterUsage(MEM_FONTS, 0, 2*num_pairs * sizeof(FULL_CHAR))); @@ -555,43 +874,35 @@ static void ReadFont(OBJECT face, OBJECT err) while( StringFGets(buff, MAX_BUFF, fp) == (char *) buff && !StringBeginsWith(buff, AsciiToFull("EndKernPairs")) ) { - debug1(DFT, DD, "ReadFont reading %s", buff); + debug1(DFT, DD, "FontRead reading %s", buff); lnum++; if( StringBeginsWith(buff, AsciiToFull("KPX")) ) { /* get the two character names and kern size from buff */ if( sscanf((char *)buff, "KPX %s %s %f",name1,name2,&fl_ksize)!=3 ) - Error(37, 25, "syntax error in font file %s (line %d): %s", - FATAL, &fpos(filename), FileName(fnum), lnum, buff); + Error(37, 34, "syntax error in font file %s (line %d): %s", + FATAL, &fpos(AFMfilename), FileName(fnum), lnum, buff); /* ignore size 0 kern pairs (they are frequent, why?) */ ksize = fl_ksize; if( ksize == 0 ) continue; /* check that both characters are encoded */ - ch1 = MapCharEncoding(name1, font_mapping(filename)); + ch1 = MapCharEncoding(name1, font_mapping(face)); if( ch1 == '\0' ) { - /* *** - Error(37, 26, "unencoded kern character %s in font file %s (line %d)", - WARN, &fpos(filename), name1, FileName(fnum), lnum); - *** */ continue; } - ch2 = MapCharEncoding(name2, font_mapping(filename)); + ch2 = MapCharEncoding(name2, font_mapping(face)); if( ch2 == '\0' ) { - /* *** - Error(37, 27, "unencoded kern character %s in font file %s (line %d)", - WARN, &fpos(filename), name2, FileName(fnum), lnum); - *** */ continue; } /* check that ch1 is contiguous with previous occurrences */ if( ch1 != last_ch1 && kt[ch1] != 0 ) - { Error(37, 28, "non-contiguous kerning pair %s %s in font file %s (line %d)", - WARN, &fpos(filename), name1, name2, FileName(fnum), lnum); + { Error(37, 35, "non-contiguous kerning pair %s %s in font file %s (line %d)", + WARN, &fpos(AFMfilename), name1, name2, FileName(fnum), lnum); continue; } last_ch1 = ch1; @@ -611,8 +922,8 @@ static void ReadFont(OBJECT face, OBJECT err) } if( pos == ks_top ) { if( ks_top == num_pairs ) - Error(37, 29, "too many kerning pairs in font file %s (line %d)", - FATAL, &fpos(filename), FileName(fnum), lnum); + Error(37, 36, "too many kerning pairs in font file %s (line %d)", + FATAL, &fpos(AFMfilename), FileName(fnum), lnum); debug2(DFT, DD, " ks[%d] = %d", pos, ksize); ks[pos] = ksize; ks_top++; @@ -624,8 +935,8 @@ static void ReadFont(OBJECT face, OBJECT err) kv[i+1] = kv[i]; } if( i >= kt[ch1] && kc[i] == ch2 ) - Error(37, 30, "kerning pair %s %s appears twice in font file %s (line %d)", - FATAL, &fpos(filename), name1, name2, FileName(fnum), lnum); + Error(37, 37, "kerning pair %s %s appears twice in font file %s (line %d)", + FATAL, &fpos(AFMfilename), name1, name2, FileName(fnum), lnum); kc[i+1] = ch2; kv[i+1] = pos; kc_top++; @@ -636,67 +947,95 @@ static void ReadFont(OBJECT face, OBJECT err) break; - case 'E': - - if( StringEqual(command, AsciiToFull("EndFontMetrics")) ) - { - /* make a new font record and insert into font tree */ - font_num(face) = font_num(fontname) = font_count; - font_size(fontname) = - (BackEnd != PLAINTEXT) ? SZ_DFT : PlainCharHeight; - font_xheight2(fontname) = - (BackEnd != PLAINTEXT) ? xheight2 : PlainCharHeight / 4; - font_mapping(fontname) = font_mapping(filename); - ch = MapCharEncoding(STR_PS_SPACENAME, font_mapping(fontname)); - font_spacewidth(fontname) = ch == '\0' ? 0 : fnt[ch].right; - finfo[font_count].font_table = fontname; - finfo[font_count].original_font = face; - finfo[font_count].underline_pos = xheight2 - under_pos; - finfo[font_count].underline_thick = under_thick; - finfo[font_count].size_table = fnt; - finfo[font_count].lig_table = lig; - finfo[font_count].kern_table = kt; - finfo[font_count].kern_chars = kc; - finfo[font_count].kern_value = kv; - finfo[font_count].kern_sizes = ks; - Link(face, fontname); - ifdebug(DFT, DD, DebugKernTable(font_count)); - /* *** either no errors or too many, so killing this now - if( InitializeAll ) - { OBJECT family; FULL_CHAR *str; - Parent(family, Up(face)); - for( i = 0; i < MAX_CHARS; i++ ) - { - if( lig[i] == 1 ) - { str = string(MapTable[font_mapping(fontname)]->vector[i]); - if( !StringEqual(str, AsciiToFull(".notdef")) && - MapCharEncoding(str, font_mapping(fontname)) == i ) - Error(37, 31, "font %s %s has no glyph for character %s", - WARN, &fpos(filename), string(family), string(face), str); - } - } - } - *** */ - - /* close file, debug and exit */ - fclose(fp); - debug4(DFT, D, "ReadFont returning: %d, name %s, fs %d, xh2 %d", - font_count, string(fontname), font_size(fontname), xheight2); - return; - } - break; - - default: break; } } - Error(37, 32, "EndFontMetrics missing from font file %s", - FATAL, &fpos(filename), FileName(fnum)); -} /* end ReadFont */ + /* make sure we terminated the font metrics file gracefully */ + if( status == (char *) NULL ) + Error(37, 38, "EndFontMetrics missing from font file %s", + FATAL, &fpos(AFMfilename), FileName(fnum)); + fclose(fp); + + /* complete the initialization of first_size */ + font_xheight2(first_size) = + (BackEnd != PLAINTEXT) ? xheight2 : PlainCharHeight / 4; + ch = MapCharEncoding(STR_PS_SPACENAME, font_mapping(first_size)); + font_spacewidth(first_size) = ch == '\0' ? 0 : fnt[ch].right; + + + /***************************************************************************/ + /* */ + /* Read the optional Extra font metrics file, and record what's in it. */ + /* */ + /***************************************************************************/ + + if( Extrafilename != nilobj ) + { debug0(DFS, D, " calling DefineFile from FontRead (extra_filename)"); + extra_fnum = DefineFile(string(Extrafilename), STR_EMPTY, + &fpos(Extrafilename), FONT_FILE, FONT_PATH); + extra_fp = OpenFile(extra_fnum, FALSE, FALSE); + if( extra_fp == NULL ) + Error(37, 39, "cannot open extra font file %s", FATAL, + &fpos(Extrafilename), FileName(extra_fnum)); + lnum = 0; + + while( StringFGets(buff, MAX_BUFF, fp) != (char *) NULL ) + { + debug1(DFT, D, " Extra: %s", buff); + lnum++; + sscanf( (char *) buff, "%s", command); + if( command[0] == 'S' ) + { + if( StringEqual(command, AsciiToFull("StartExtraCharMetrics")) ) + { + /* get extra character metrics, just like the others */ + debug0(DFT, D, " StartExtraCharMetrics calling ReadCharMetrics"); + ReadCharMetrics(face, fixed_pitch, xheight2, lig, &ligtop, + extra_fnum, fnt, &lnum, fp); + } + else if( StringEqual(command, AsciiToFull("StartBuildComposites")) ) + { + /* build composites */ + debug0(DFT, D, " StartBuildComposites"); + ReadCompositeMetrics(face, Extrafilename, extra_fnum, &lnum, + composite, cmp, &cmptop, fp); + } + } + } + } + + + /***************************************************************************/ + /* */ + /* Set finfo[fontcount] and exit. */ + /* */ + /***************************************************************************/ + + finfo[font_count].font_table = first_size; + finfo[font_count].original_font = face; + finfo[font_count].underline_pos = xheight2 - under_pos; + finfo[font_count].underline_thick = under_thick; + finfo[font_count].size_table = fnt; + finfo[font_count].lig_table = lig; + finfo[font_count].composite = composite; + finfo[font_count].cmp_table = cmp; + finfo[font_count].cmp_top = cmptop; + finfo[font_count].kern_table = kt; + finfo[font_count].kern_chars = kc; + finfo[font_count].kern_value = kv; + finfo[font_count].kern_sizes = ks; + + ifdebug(DFT, DD, DebugKernTable(font_count)); + debug4(DFT, D, "FontRead returning: %d, name %s, fs %d, xh2 %d", + font_count, string(first_size), font_size(first_size), xheight2); + return face; + +} /* end FontRead */ + /*@::FontChange()@************************************************************/ /* */ @@ -713,15 +1052,25 @@ static void ReadFont(OBJECT face, OBJECT err) void FontChange(STYLE *style, OBJECT x) { /* register */ int i; + OBJECT requested_family, requested_face, requested_size; OBJECT par[3], family, face, fsize, y, link, new, old, tmpf; GAP gp; SHORT_LENGTH flen; int num, c; unsigned inc; - struct metrics *newfnt, *oldfnt; FULL_CHAR *lig; + struct metrics *newfnt, *oldfnt; + FULL_CHAR *lig; + int cmptop; + COMPOSITE *oldcmp, *newcmp; SHORT_LENGTH *oldks, *newks; int klen; debug2(DFT, D, "FontChange( %s, %s )", EchoStyle(style), EchoObject(x)); assert( font(*style) <= font_count, "FontChange: font_count!"); ifdebug(DFT, DD, FontDebug()); - /* set par[0..num-1] to the 1, 2 or 3 parameters of the font operator */ + /***************************************************************************/ + /* */ + /* Analyse x, doing any small-caps style changes immediately, and putting */ + /* all the other words of x into par[0 .. num-1] for further analysis. */ + /* */ + /***************************************************************************/ + num = 0; if( type(x) == NULL_CLOS ) { /* acceptable, but do nothing */ @@ -742,23 +1091,23 @@ void FontChange(STYLE *style, OBJECT x) if( type(y) == GAP_OBJ || type(y) == NULL_CLOS ) continue; if( is_word(type(y)) ) { - if( StringEqual(string(y), STR_SMALL_CAPS_ON) ) - small_caps(*style) = SMALL_CAPS_ON; - else if( StringEqual(string(y), STR_SMALL_CAPS_OFF) ) - small_caps(*style) = SMALL_CAPS_OFF; - else if( !StringEqual(string(y), STR_EMPTY) ) + if( StringEqual(string(y), STR_SMALL_CAPS_ON) ) + small_caps(*style) = SMALL_CAPS_ON; + else if( StringEqual(string(y), STR_SMALL_CAPS_OFF) ) + small_caps(*style) = SMALL_CAPS_OFF; + else if( !StringEqual(string(y), STR_EMPTY) ) { if( num >= 3 ) - { Error(37, 33, "error in left parameter of %s", + { Error(37, 40, "error in left parameter of %s", WARN, &fpos(x), KW_FONT); debug0(DFT, D, "FontChange returning: ACAT children"); return; } - par[num++] = y; + par[num++] = y; } } else - { Error(37, 34, "error in left parameter of %s", + { Error(37, 41, "error in left parameter of %s", WARN, &fpos(x), KW_FONT); debug0(DFT, D, "FontChange returning: ACAT children"); return; @@ -766,7 +1115,7 @@ void FontChange(STYLE *style, OBJECT x) } } else - { Error(37, 35, "error in left parameter of %s", WARN, &fpos(x), KW_FONT); + { Error(37, 42, "error in left parameter of %s", WARN, &fpos(x), KW_FONT); debug0(DFT, D, "FontChange returning: wrong type"); return; } @@ -776,131 +1125,191 @@ void FontChange(STYLE *style, OBJECT x) return; } + /***************************************************************************/ + /* */ + /* Extract size, family, and face changes (if any) from par[0 .. num-1]. */ + /* */ + /***************************************************************************/ + /* extract fsize parameter, if any */ assert( num >= 1 && num <= 3, "FontChange: num!" ); - fsize = nilobj; + requested_size = nilobj; for( i = 0; i < num; i++ ) { c = string(par[i])[0]; if( c == CH_INCGAP || c == CH_DECGAP || decimaldigit(c) ) { /* extract fsize, shuffle the rest down */ - fsize = par[i]; + requested_size = par[i]; for( i = i + 1; i < num; i++ ) par[i-1] = par[i]; num--; } } - /* *** old now - c = string(par[num-1])[0]; - if( c == CH_INCGAP || c == CH_DECGAP || decimaldigit(c) ) - { fsize = par[num-1]; num--; + /* what remains must be family and face */ + switch( num ) + { + case 0: + + requested_family = requested_face = nilobj; + break; + + + case 1: + + requested_family = nilobj; + requested_face = par[0]; + break; + + + case 2: + + requested_family = par[0]; + requested_face = par[1]; + break; + + + default: + + Error(37, 43, "error in left parameter of %s", WARN, &fpos(x), KW_FONT); + debug0(DFT, D, "FontChange returning: too many parameters"); + return; + break; } - else fsize = nilobj; - *** */ /* check for initial font case: must have family, face, and size */ - if( font(*style) == NO_FONT && (fsize == nilobj || num < 2) ) - Error(37, 36, "initial font must have family, face and size", + if( font(*style) == NO_FONT && (requested_size == nilobj || + requested_family == nilobj || requested_face == nilobj) ) + Error(37, 44, "initial font must have family, face and size", FATAL, &fpos(x)); + + /***************************************************************************/ + /* */ + /* Either find the family and face already existing, or load them. */ + /* */ + /***************************************************************************/ + /* get font family */ - if( num == 2 ) + family = nilobj; + if( requested_family != nilobj ) { - /* par[0] contains a new family name */ + /* search for this family */ for( link = Down(font_root); link != font_root; link = NextDown(link) ) - { Child(family, link); - if( StringEqual(string(family), string(par[0])) ) break; - } - if( link == font_root ) - { Error(37, 37, "font family %s not defined", - WARN, &fpos(par[0]), string(par[0])); - return; + { Child(y, link); + if( StringEqual(string(requested_family), string(y)) ) break; } + if( link != font_root ) + family = y; } else - { /* preserve current family */ + { + /* preserve current family */ assert( Up(finfo[font(*style)].font_table)!=finfo[font(*style)].font_table, "FontChange: Up(finfo[font(*style)].font_table) !" ); - Parent(face, Up(finfo[font(*style)].font_table)); - assert( is_word(type(face)), "FontChange: type(face)!" ); - assert( Up(face) != face, "FontChange: Up(face)!" ); - Parent(family, Up(face)); + Parent(tmpf, Up(finfo[font(*style)].font_table)); + assert( is_word(type(tmpf)), "FontChange: type(tmpf)!" ); + assert( Up(tmpf) != tmpf, "FontChange: Up(tmpf)!" ); + Parent(family, Up(tmpf)); assert( is_word(type(family)), "FontChange: type(family)!" ); } - /* get font face */ - if( num != 0 ) + /* get font face, if have family */ + face = nilobj; + if( family != nilobj ) { - /* par[num-1] contains a new face name */ - for( link = Down(family); link != family; link = NextDown(link) ) - { Child(face, link); - if( StringEqual(string(face), string(par[num-1])) ) break; - } - if( link == family ) + if( requested_face != nilobj ) { - /* missing face name; first check whether a family name was intended */ - for( link = Down(font_root); link != font_root; link = NextDown(link) ) - { Child(tmpf, link); - if( StringEqual(string(tmpf), string(par[num-1])) ) break; - } - if( font_root == Down(font_root) ) - { Error(37, 38, "there are no fonts", FATAL, &fpos(par[num-1])); + /* search for this face in family */ + for( link = Down(family); link != family; link = NextDown(link) ) + { Child(y, link); + if( StringEqual(string(requested_face), string(y)) ) break; } - else if( link != font_root ) - { Error(37, 39, "font family name %s must be accompanied by a face name", - WARN, &fpos(par[num-1]), string(par[num-1])); - } - else Error(37, 40, "font face name %s not defined in font family %s", - WARN, &fpos(par[num-1]), string(par[num-1]), string(family)); - return; + if( link != family ) + face = y; + } + else + { + /* preserve current face */ + Parent(face, Up(finfo[font(*style)].font_table)); + assert( is_word(type(face)), "FontChange: type(face)!" ); + assert( Up(face) != face, "FontChange: Up(face)!" ); } } - else + + if( face == nilobj ) { - /* preserve current face name */ - Parent(face, Up(finfo[font(*style)].font_table)); - assert( is_word(type(face)), "FontChange: type(face)!" ); - assert( Up(face) != face, "FontChange: Up(face)!" ); + /* face not loaded, try the font databases */ + assert( family != nilobj || requested_family != nilobj, "FontChange fr!" ); + assert( requested_face != nilobj, "FontChange requested_face!"); + if( family != nilobj ) + requested_family = family; + face = FontRead(string(requested_family), string(requested_face), x); + + if( face == nilobj ) + { + /* missing face name error; check whether a family name was intended */ + for( link = Down(font_root); link != font_root; link = NextDown(link) ) + { Child(y, link); + if( StringEqual(string(y), string(requested_face)) ) break; + } + if( link != font_root ) + Error(37, 45, "font family name %s must be followed by a face name", + WARN, &fpos(requested_face), string(requested_face)); + else + Error(37, 46, "there is no font with family name %s and face name %s", + WARN, &fpos(requested_face), string(requested_family), + string(requested_face)); + debug0(DFT, D, "FontChange returning (unable to set face)"); + return; + } } - /* get font size */ - if( fsize == nilobj ) flen = font_size(finfo[font(*style)].font_table); + + assert( Down(face) != face, "FontChange: no children!" ); + assert( NextDown(Down(face)) != face, "FontChange: 1 child!" ); + assert( NextDown(NextDown(Down(face))) != face, "FontChange: 2 children!" ); + + /***************************************************************************/ + /* */ + /* Now have family and face; search for size and return it if found. */ + /* */ + /***************************************************************************/ + + /* get font size as integer flen */ + if( requested_size == nilobj ) + flen = font_size(finfo[font(*style)].font_table); else - { GetGap(fsize, style, &gp, &inc); + { GetGap(requested_size, style, &gp, &inc); if( mode(gp) != EDGE_MODE || units(gp) != FIXED_UNIT ) - { Error(37, 56, "syntax error in font size %s; ignoring it", - WARN, &fpos(fsize), string(fsize)); + { Error(37, 47, "syntax error in font size %s; ignoring it", + WARN, &fpos(requested_size), string(requested_size)); flen = font_size(finfo[font(*style)].font_table); } else if( inc == GAP_ABS ) flen = width(gp); else if( font(*style) == NO_FONT ) - { Error(37, 41, "no current font on which to base size change %s", - FATAL, &fpos(fsize), string(fsize)); + { Error(37, 48, "no current font on which to base size change %s", + FATAL, &fpos(requested_size), string(requested_size)); } else if( inc == GAP_INC ) flen = font_size(finfo[font(*style)].font_table) + width(gp); else if( inc == GAP_DEC ) flen = font_size(finfo[font(*style)].font_table) - width(gp); - else Error(37, 42, "FontChange: %d", INTERN, &fpos(x), inc); + else Error(37, 49, "FontChange: %d", INTERN, &fpos(x), inc); } if( flen <= 0 ) - { Error(37, 43, "%s %s ignored (result is not positive)", - WARN, &fpos(fsize), string(fsize), KW_FONT); + { Error(37, 50, "%s %s ignored (result is not positive)", + WARN, &fpos(requested_size), string(requested_size), KW_FONT); + debug0(DFT, D,"FontChange returning (non-positive size)"); return; } - /* if the font file has not been read before, read it now */ - assert( Down(face) != face && type(Down(face)) == LINK, "FontChange: dn!" ); - if( Down(face) == LastDown(face) ) ReadFont(face, x); - assert( Down(face) != LastDown(face), "FontChange: after ReadFont!" ); - /* search fonts of face for desired size; return if already present */ if( BackEnd == PLAINTEXT ) flen = PlainCharHeight; - for( link = NextDown(Down(face)); link != face; link = NextDown(link) ) + for( link=NextDown(NextDown(Down(face))); link!=face; link = NextDown(link) ) { Child(fsize, link); if( font_size(fsize) == flen ) { font(*style) = font_num(fsize); @@ -912,11 +1321,17 @@ void FontChange(STYLE *style, OBJECT x) } } - /* now need to rescale the font; first create a sized font record */ + /***************************************************************************/ + /* */ + /* No suitable size right now, so scale the original size and exit. */ + /* */ + /***************************************************************************/ + + /* get a new number for this new size */ if( ++font_count >= finfo_size ) { if( font_count > MAX_FONT ) - Error(37, 44, "too many different fonts and sizes (max is %d)", - FATAL, &fpos(x), MAX_FONT); + Error(37, 51, "too many different fonts and sizes (max is %d)", + FATAL, &fpos(x), MAX_FONT); ifdebug(DMA, D, DebugRegisterUsage(MEM_FONTS, -1, -finfo_size * sizeof(FONT_INFO))); finfo_size *= 2; @@ -924,20 +1339,21 @@ void FontChange(STYLE *style, OBJECT x) finfo_size * sizeof(FONT_INFO))); finfo = (FONT_INFO *) realloc(finfo, finfo_size * sizeof(FONT_INFO)); if( finfo == (FONT_INFO *) NULL ) - Error(37, 45, "run out of memory when increasing font table size", + Error(37, 52, "run out of memory when increasing font table size", FATAL, &fpos(x)); } - assert( Down(face) != face && NextDown(Down(face)) != face, "FontChange!!" ); - Child(old, NextDown(Down(face))); + /* create a new sized font record */ + Child(old, NextDown(NextDown(Down(face)))); assert( is_word(type(old)), "FontChange: old!" ); new = MakeWord(WORD, string(old), no_fpos); Link(face, new); + font_num(new) = font_count; font_size(new) = BackEnd != PLAINTEXT ? flen : font_size(old); font_xheight2(new) = font_xheight2(old) * font_size(new) / font_size(old); + font_recoded(new) = font_recoded(old); font_mapping(new) = font_mapping(old); font_spacewidth(new) = font_spacewidth(old) * font_size(new)/font_size(old); - font_num(new) = font_count; finfo[font_count].font_table = new; finfo[font_count].original_font = face; finfo[font_count].underline_pos = @@ -949,7 +1365,7 @@ void FontChange(STYLE *style, OBJECT x) finfo[font_count].size_table = (struct metrics *) malloc(MAX_CHARS * sizeof(struct metrics)); if( finfo[font_count].size_table == (struct metrics *) NULL ) - Error(37, 46, "run out of memory when changing font or font size", + Error(37, 53, "run out of memory when changing font or font size", FATAL, &fpos(x)); finfo[font_count].lig_table = lig = finfo[font_num(old)].lig_table; @@ -964,6 +1380,26 @@ void FontChange(STYLE *style, OBJECT x) newfnt[i].last_adjust = (oldfnt[i].last_adjust * font_size(new)) / font_size(old); } + /* copy and scale composite table */ + finfo[font_count].composite = finfo[font_num(old)].composite; + finfo[font_count].cmp_top = cmptop = finfo[font_num(old)].cmp_top; + oldcmp = finfo[font_num(old)].cmp_table; + newcmp = (COMPOSITE *) malloc(cmptop*sizeof(COMPOSITE)); + if( newcmp == (COMPOSITE *) NULL ) + Error(37, 54, "run out of memory when changing font or font size", + FATAL, &fpos(x)); + for( i = 0; i < cmptop; i++ ) + { newcmp[i].char_code = oldcmp[i].char_code; + if( newcmp[i].char_code != (FULL_CHAR) '\0' ) + { newcmp[i].x_offset = (oldcmp[i].x_offset*font_size(new)) / font_size(old); + newcmp[i].y_offset = (oldcmp[i].y_offset*font_size(new)) / font_size(old); + debug5(DFT, D, "FontChange scales composite %d from (%d, %d) to (%d, %d)", + (int) newcmp[i].char_code, oldcmp[i].x_offset, oldcmp[i].y_offset, + newcmp[i].x_offset, newcmp[i].y_offset); + } + } + finfo[font_count].cmp_table = newcmp; + /* copy and scale kerning tables */ finfo[font_count].kern_table = finfo[font_num(old)].kern_table; finfo[font_count].kern_chars = finfo[font_num(old)].kern_chars; @@ -975,7 +1411,7 @@ void FontChange(STYLE *style, OBJECT x) finfo[font_count].kern_sizes = newks = (SHORT_LENGTH *) malloc(klen * sizeof(SHORT_LENGTH)); if( newks == (SHORT_LENGTH *) NULL ) - Error(37, 47, "run out of memory when changing font or font size", + Error(37, 55, "run out of memory when changing font or font size", FATAL, &fpos(x)); newks[0] = klen; for( i = 1; i < klen; i++ ) @@ -1037,12 +1473,12 @@ void FontWordSize(OBJECT x) p = string(x); q = buff; if( *p ) - { if ( word_font(x) < 1 || word_font(x) > font_count ) - Error(37, 48, "no current font at word %s", FATAL, &fpos(x), string(x)); - if ( word_colour(x) == 0 && BackEnd != PLAINTEXT ) - Error(37, 49, "no current colour at word %s", FATAL, &fpos(x), string(x)); - if ( word_language(x) == 0 ) - Error(37, 50, "no current language at word %s", FATAL, &fpos(x),string(x)); + { if( word_font(x) < 1 || word_font(x) > font_count ) + Error(37, 56, "no current font at word %s", FATAL, &fpos(x), string(x)); + if( word_colour(x) == 0 && BackEnd != PLAINTEXT ) + Error(37, 57, "no current colour at word %s", FATAL, &fpos(x), string(x)); + if( word_language(x) == 0 ) + Error(37, 58, "no current language at word %s", FATAL,&fpos(x),string(x)); fnt = finfo[word_font(x)].size_table; lig = finfo[word_font(x)].lig_table; m = font_mapping(finfo[word_font(x)].font_table); @@ -1062,7 +1498,7 @@ void FontWordSize(OBJECT x) if( unacc[*q] != *q ) { /* *** this is acceptable now, let this char through - Error(37, 51, "accent dropped from character %s (it has no glyph in font %s)", + Error(37, 59, "accent dropped from character %s (it has no glyph in font %s)", WARN, &fpos(x), StringQuotedWord(tmp), FontFamilyAndFace(word_font(x))); *(p-1) = *q = unacc[*q]; @@ -1078,7 +1514,7 @@ void FontWordSize(OBJECT x) else { debug1(DFT, D, " unacc[%c] = 0, replacing by space", *q); - Error(37, 52, "character %s replaced by space (it has no glyph in font %s)", + Error(37, 60, "character %s replaced by space (it has no glyph in font %s)", WARN, &fpos(x), StringQuotedWord(tmp), FontFamilyAndFace(word_font(x))); *(p-1) = *q = CH_SPACE; @@ -1146,7 +1582,7 @@ FULL_LENGTH FontSize(FONT_NUM fnum, OBJECT x) { debug1(DFT, DD, "FontSize( %d )", fnum); assert( fnum <= font_count, "FontSize!" ); if( fnum <= 0 ) - Error(37, 53, "no current font at this point", FATAL, &fpos(x)); + Error(37, 61, "no current font at this point", FATAL, &fpos(x)); debug1(DFT, DD, "FontSize returning %d", font_size(finfo[fnum].font_table)); return font_size(finfo[fnum].font_table); } /* end FontSize */ @@ -1182,7 +1618,7 @@ MAPPING FontMapping(FONT_NUM fnum, FILE_POS *xfpos) { debug1(DFT, DD, "FontMapping( %d )", fnum); assert( fnum <= font_count, "FontMapping!" ); if( fnum <= 0 ) - Error(37, 54, "no current font at this point", FATAL, xfpos); + Error(37, 62, "no current font at this point", FATAL, xfpos); debug1(DFT, DD, "FontMapping returning %d", font_mapping(finfo[fnum].font_table)); return font_mapping(finfo[fnum].font_table); @@ -1198,15 +1634,10 @@ MAPPING FontMapping(FONT_NUM fnum, FILE_POS *xfpos) /*****************************************************************************/ FULL_CHAR *FontName(FONT_NUM fnum) -{ OBJECT face, AFMfilename, short_name; - debug1(DFT, D, "FontName( %d )", fnum); +{ debug1(DFT, D, "FontName( %d )", fnum); assert( fnum <= font_count, "FontName!" ); - Parent(face, Up(finfo[fnum].font_table)); - Child(AFMfilename, Down(face)); - Child(short_name, Down(AFMfilename)); - assert( is_word(type(short_name)), "FontName: short_name!" ); - debug1(DFT, D, "FontName returning %s", string(short_name)); - return string(short_name); + debug1(DFT, D, "FontName returning %s", string(finfo[fnum].font_table)); + return string(finfo[fnum].font_table); } /* end FontName */ @@ -1255,7 +1686,7 @@ FULL_CHAR *FontFamilyAndFace(FONT_NUM fnum) Parent(face, Up(finfo[fnum].font_table)); Parent(family, Up(face)); if( StringLength(string(family)) + StringLength(string(face)) + 1 > 80 ) - Error(37, 55, "family and face names %s %s are too long", + Error(37, 63, "family and face names %s %s are too long", FATAL, no_fpos, string(family), string(face)); StringCopy(buff, string(family)); StringCat(buff, STR_SPACE); @@ -1274,7 +1705,7 @@ FULL_CHAR *FontFamilyAndFace(FONT_NUM fnum) /*****************************************************************************/ void FontPrintAll(FILE *fp) -{ OBJECT family, face, AFMfilename, short_name, ps_name, link, flink; +{ OBJECT family, face, first_size, ps_name, link, flink; assert(font_root!=nilobj && type(font_root)==ACAT, "FontDebug: font_root!"); debug0(DFT, DD, "FontPrintAll(fp)"); for( link = Down(font_root); link != font_root; link = NextDown(link) ) @@ -1283,23 +1714,20 @@ void FontPrintAll(FILE *fp) for( flink = Down(family); flink != family; flink = NextDown(flink) ) { Child(face, flink); assert( is_word(type(face)), "FontPrintAll: face!" ); - assert( Down(face) != face, "FontDebug: Down(face)!"); - Child(AFMfilename, Down(face)); - assert( is_word(type(AFMfilename)), "FontPrintAll: filename!" ); - assert( Down(AFMfilename) != AFMfilename, "FontPrintAll: 1!" ); - assert( LastDown(AFMfilename) != Down(AFMfilename), "FontPrintAll: 2!" ); - Child(short_name, Down(AFMfilename)); - assert( is_word(type(short_name)), "FontPrintAll: short_name!" ); - Child(ps_name, LastDown(AFMfilename)); + assert( Down(face) != face && NextDown(Down(face)) != face && + NextDown(NextDown(Down(face))) != face, "FontDebug: Down(face)!"); + Child(ps_name, Down(face)); assert( is_word(type(ps_name)), "FontPrintAll: ps_name!" ); + Child(first_size, NextDown(NextDown(Down(face)))); + assert( is_word(type(first_size)), "FontPrintAll: first_size!" ); if( font_recoded(face) ) { fprintf(fp, "/%s%s %s /%s LoutRecode\n", - string(ps_name), string(short_name), - MapEncodingName(font_mapping(AFMfilename)), string(ps_name)); - fprintf(fp, "/%s { /%s%s LoutFont } def\n", string(short_name), - string(ps_name), string(short_name)); + string(ps_name), string(first_size), + MapEncodingName(font_mapping(face)), string(ps_name)); + fprintf(fp, "/%s { /%s%s LoutFont } def\n", string(first_size), + string(ps_name), string(first_size)); } - else fprintf(fp, "/%s { /%s LoutFont } def\n", string(short_name), + else fprintf(fp, "/%s { /%s LoutFont } def\n", string(first_size), string(ps_name)); } } @@ -1317,7 +1745,7 @@ void FontPrintAll(FILE *fp) /*****************************************************************************/ void FontPrintPageSetup(FILE *fp) -{ OBJECT face, AFMfilename, short_name, ps_name, link; +{ OBJECT face, first_size, ps_name, link; assert(font_root!=nilobj && type(font_root)==ACAT, "FontDebug: font_root!"); assert(font_used!=nilobj && type(font_used)==ACAT, "FontDebug: font_used!"); debug0(DFT, DD, "FontPrintPageSetup(fp)"); @@ -1332,13 +1760,9 @@ void FontPrintPageSetup(FILE *fp) /* print font encoding command unless already done */ if( !font_firstpage(face) || font_curr_page == 1 ) - { Child(AFMfilename, Down(face)); - assert( is_word(type(AFMfilename)), "FontPrintPageSetup: filename!" ); - assert( Down(AFMfilename) != AFMfilename, "FontPrintPageSetup: 1!" ); - assert( LastDown(AFMfilename)!=Down(AFMfilename), "FontPrintPageSetup!"); - Child(short_name, Down(AFMfilename)); - assert( is_word(type(short_name)), "FontPrintPageSetup: short_name!" ); - Child(ps_name, LastDown(AFMfilename)); + { Child(first_size, NextDown(NextDown(Down(face)))); + assert( is_word(type(first_size)), "FontPrintPageSetup: first_size!" ); + Child(ps_name, Down(face)); assert( is_word(type(ps_name)), "FontPrintPageSetup: ps_name!" ); fprintf(fp, "%%%%IncludeResource: font %s\n", string(ps_name)); @@ -1346,22 +1770,24 @@ void FontPrintPageSetup(FILE *fp) { case POSTSCRIPT: - if( font_recoded(face) ) - { fprintf(fp, "/%s%s %s /%s LoutRecode\n", - string(ps_name), string(short_name), - MapEncodingName(font_mapping(AFMfilename)), string(ps_name)); - fprintf(fp, "/%s { /%s%s LoutFont } def\n", string(short_name), - string(ps_name), string(short_name)); - } - else fprintf(fp, "/%s { /%s LoutFont } def\n", string(short_name), + if( font_recoded(face) ) + { + MapEnsurePrinted(font_mapping(face), font_curr_page, fp); + fprintf(fp, "/%s%s %s /%s LoutRecode\n", + string(ps_name), string(first_size), + MapEncodingName(font_mapping(face)), string(ps_name)); + fprintf(fp, "/%s { /%s%s LoutFont } def\n", string(first_size), + string(ps_name), string(first_size)); + } + else fprintf(fp, "/%s { /%s LoutFont } def\n", string(first_size), string(ps_name)); break; case PDF: - PDFFont_AddFont(fp, string(short_name), string(ps_name), - MapEncodingName(font_mapping(AFMfilename))); + PDFFont_AddFont(fp, string(first_size), string(ps_name), + MapEncodingName(font_mapping(face))); break; } } @@ -1379,7 +1805,7 @@ void FontPrintPageSetup(FILE *fp) /*****************************************************************************/ void FontPrintPageResources(FILE *fp) -{ OBJECT face, AFMfilename, short_name, ps_name, link; +{ OBJECT face, ps_name, link; BOOLEAN first; assert(font_root!=nilobj && type(font_root)==ACAT, "FontDebug: font_root!"); assert(font_used!=nilobj && type(font_used)==ACAT, "FontDebug: font_used!"); @@ -1390,23 +1816,16 @@ void FontPrintPageResources(FILE *fp) Child(face, link); assert( is_word(type(face)), "FontPrintPageResources: face!" ); assert( Down(face) != face, "FontDebug: Down(face)!"); - - Child(AFMfilename, Down(face)); - assert( is_word(type(AFMfilename)), "FontPrintPageResources: filename!" ); - assert( Down(AFMfilename) != AFMfilename, "FontPrintPageResources: 1!" ); - assert( LastDown(AFMfilename)!=Down(AFMfilename), "FontPrintPageRes!"); - Child(short_name, Down(AFMfilename)); - assert( is_word(type(short_name)), "FontPrintPageResources: short_name!" ); - Child(ps_name, LastDown(AFMfilename)); + Child(ps_name, Down(face)); assert( is_word(type(ps_name)), "FontPrintPageResources: ps_name!" ); switch( BackEnd ) { case POSTSCRIPT: - fprintf(fp, "%s font %s\n", - first ? "%%PageResources:" : "%%+", string(ps_name)); - first = FALSE; + fprintf(fp, "%s font %s\n", + first ? "%%PageResources:" : "%%+", string(ps_name)); + first = FALSE; break; @@ -1458,22 +1877,23 @@ void FontPageUsed(OBJECT face) /* OBJECT FontNeeded(fp) */ /* */ /* Writes font needed resources onto file out_fp. Returns TRUE if none. */ +/* Now that we are using a database, every font that is actually loaded */ +/* is really needed. */ /* */ /*****************************************************************************/ BOOLEAN FontNeeded(FILE *fp) { BOOLEAN first_need = TRUE; - OBJECT link, flink, family, face, x; + OBJECT link, flink, family, face, ps_name; for( link = Down(font_root); link != font_root; link = NextDown(link) ) { Child(family, link); for( flink = Down(family); flink != family; flink = NextDown(flink) ) { Child(face, flink); - if( LastDown(face) != Down(face) ) - { Child(x, LastDown(face)); - fprintf(fp, "%s font %s\n", - first_need ? "%%DocumentNeededResources:" : "%%+", string(x)); - first_need = FALSE; - } + Child(ps_name, Down(face)); + assert( is_word(type(ps_name)), "FontPrintPageResources: ps_name!" ); + fprintf(fp, "%s font %s\n", + first_need ? "%%DocumentNeededResources:" : "%%+", string(ps_name)); + first_need = FALSE; } } return first_need; @@ -1,6 +1,6 @@ /*@z38.c:Character Mappings:Declarations@*************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -46,7 +46,8 @@ /* typedef struct mapvec { */ /* OBJECT file_name; */ /* FILE_NUM fnum; */ -/* BOOLEAN must_print; */ +/* BOOLEAN seen_recoded; */ +/* int last_page_printed; */ /* OBJECT name; */ /* OBJECT vector[MAX_CHARS]; */ /* FULL_CHAR hash_table[MAX_CHASH]; */ @@ -98,20 +99,23 @@ static FULL_CHAR NameRetrieve(FULL_CHAR *cname, MAP_VEC map) /*@::MapLoad()@***************************************************************/ /* */ -/* MAPPING MapLoad(file_name, must_print) */ +/* MAPPING MapLoad(file_name, recoded) */ /* */ /* Declare file_name to be a character mapping (LCM) file. A file may be */ -/* so declared more than once. If must_print is true, the encoding vector */ -/* given by this file must be printed in the PostScript output. */ +/* so declared more than once. Parameter recoded is true if the font that */ +/* uses this mapping declares that it needs to be recoded, which in turn */ +/* means that this mapping might have to be printed out. Whether or not it */ +/* is actually printed depends upon whether we print a font that uses it */ +/* and that requires recoding. */ /* */ /*****************************************************************************/ -MAPPING MapLoad(OBJECT file_name, BOOLEAN must_print) +MAPPING MapLoad(OBJECT file_name, BOOLEAN recoded) { FILE *fp; MAP_VEC map; MAPPING res; int i, m, curr_line_num, line_pos, prev_code, dc, oc, count; FULL_CHAR buff[MAX_BUFF], cn[MAX_BUFF], ch, mapname[MAX_BUFF], mapval[MAX_BUFF]; - debug2(DCM,D, "MapLoad(%s, %s)", EchoObject(file_name),bool(must_print)); + debug2(DCM,D, "MapLoad(%s, %s)", EchoObject(file_name), bool(recoded)); /* if the file name is "-", it means no mapping file is supplied */ if( StringEqual(string(file_name), AsciiToFull("-")) ) @@ -120,12 +124,12 @@ MAPPING MapLoad(OBJECT file_name, BOOLEAN must_print) return (MAPPING) 0; } - /* if seen this file name before, just update must_print and return prev */ + /* if seen this file name before, just update seen_recoded and return prev */ for( res = 1; res < maptop; res++ ) { if( StringEqual(string(MapTable[res]->file_name), string(file_name)) ) { Dispose(file_name); - MapTable[res]->must_print = MapTable[res]->must_print || must_print; + MapTable[res]->seen_recoded = MapTable[res]->seen_recoded || recoded; debug1(DCM, D, "MapLoad returning %d (not new)", res); return res; } @@ -152,7 +156,8 @@ MAPPING MapLoad(OBJECT file_name, BOOLEAN must_print) fp = OpenFile(map->fnum, FALSE, FALSE); if( fp == NULL ) Error(38, 3, "cannot open character mapping file %s", FATAL, PosOfFile(map->fnum), FileName(map->fnum)); - map->must_print = must_print; + map->seen_recoded = recoded; + map->last_page_printed = 0; StringCopy(buff, AsciiToFull("vec")); StringCat(buff, StringInt(maptop)); map->name = MakeWord(WORD, buff, no_fpos); @@ -287,39 +292,70 @@ FULL_CHAR *MapEncodingName(MAPPING m) /*****************************************************************************/ /* */ -/* MapPrintEncodings(fp) */ +/* static PrintMapping(MAPPING m, FILE *fp) */ /* */ -/* Print all encoding vectors in PostScript form on file fp. */ +/* Print mapping m onto fp. */ /* */ /*****************************************************************************/ -void MapPrintEncodings(FILE *fp) -{ MAPPING m; MAP_VEC map; int i; - for( m = 1; m < maptop; m++ ) if( MapTable[m]->must_print ) - { map = MapTable[m]; - switch( BackEnd ) - { - case POSTSCRIPT: +static void PrintMapping(MAPPING m, FILE *fp) +{ MAP_VEC map = MapTable[m]; int i; + switch( BackEnd ) + { + case POSTSCRIPT: + + fprintf(fp, "%%%%BeginResource: encoding %s\n", string(map->name)); + fprintf(fp, "/%s [\n", string(map->name)); + for( i = 0; i < MAX_CHARS; i++ ) + fprintf(fp, "/%s%c", string(map->vector[i]), (i+1)%8 != 0 ? ' ' : '\n'); + fprintf(fp, "] def\n"); + fprintf(fp, "%%%%EndResource\n\n"); + break; - fprintf(fp, "%%%%BeginResource: encoding %s\n", string(map->name)); - fprintf(fp, "/%s [\n", string(map->name)); - for( i = 0; i < MAX_CHARS; i++ ) - fprintf(fp, "/%s%c", string(map->vector[i]), (i+1) % 8 != 0 ? ' ' : '\n'); - fprintf(fp, "] def\n"); - fprintf(fp, "%%%%EndResource\n\n"); - break; + case PDF: - case PDF: + PDFFile_BeginFontEncoding(fp, (char*) string(map->name)); + for( i = 0; i < MAX_CHARS; i++ ) + fprintf(fp, "/%s%c", string(map->vector[i]), (i+1)%8 != 0 ? ' ' : '\n'); + PDFFile_EndFontEncoding(fp); + break; + } +} - PDFFile_BeginFontEncoding(fp, (char*) string(map->name)); - for( i = 0; i < MAX_CHARS; i++ ) - fprintf(fp, "/%s%c", string(map->vector[i]), - (i+1) % 8 != 0 ? ' ' : '\n'); - PDFFile_EndFontEncoding(fp); - break; - } + +/*****************************************************************************/ +/* */ +/* void MapEnsurePrinted(MAPPING m, int curr_page, FILE *fp) */ +/* */ +/* Ensure that MAPPING m is printed on page curr_page, if required. */ +/* It's required if it has neither been printed on the current page */ +/* already, nor on page 1 (page 1 is really the entire document setup). */ +/* */ +/*****************************************************************************/ + +void MapEnsurePrinted(MAPPING m, int curr_page, FILE *fp) +{ MAP_VEC map = MapTable[m]; + assert( map->seen_recoded, "MapEnsurePrinted: not seen_recoded!" ); + if( map->last_page_printed < curr_page && map->last_page_printed != 1 ) + { map->last_page_printed = curr_page; + PrintMapping(m, fp); } +} + + +/*****************************************************************************/ +/* */ +/* MapPrintEncodings(fp) [OBSOLETE] */ +/* */ +/* Print all encoding vectors in PostScript form on file fp. */ +/* */ +/*****************************************************************************/ + +void MapPrintEncodings(FILE *fp) +{ MAPPING m; + for( m = 1; m < maptop; m++ ) + if( MapTable[m]->seen_recoded ) PrintMapping(m, fp); } /* end MapPrintEncodings */ @@ -333,12 +369,13 @@ void MapPrintEncodings(FILE *fp) void MapPrintResources(FILE *fp) { MAPPING m; MAP_VEC map; - for( m = 1; m < maptop; m++ ) if( MapTable[m]->must_print ) + for( m = 1; m < maptop; m++ ) if( MapTable[m]->seen_recoded ) { map = MapTable[m]; fprintf(fp, "%%%%+ encoding %s\n", string(map->name)); } } /* end MapPrintResources */ + /*@@**************************************************************************/ /* */ /* OBJECT DoWord(buff, q, x, fnum) */ @@ -1,6 +1,6 @@ /*@z39.c:String Handler:AsciiToFull(), StringEqual(), etc.@*******************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -62,15 +62,33 @@ /* Like strcoll, but returns 0 only iff strcmp returns 0. */ /* This allow to test for equality using only strcmp. --uwe */ /* */ +/* The new version of strcollcmp analyses a and b into three fields */ +/* separated by \t, then does the comparison field by field. This is */ +/* to ensure that the collation order of \t has no effect on the result. */ +/* */ /*****************************************************************************/ +/* *** old version int strcollcmp(char *a, char *b) { int order = strcoll (a, b); - if( order == 0 ) /* then disambiguate with strcmp */ + if( order == 0 ) / * then disambiguate with strcmp * / order = strcmp (a, b); return order; } +*** */ + +int strcollcmp(char *a, char *b) +{ char a1[100], b1[100]; + int order; + sscanf(a, "%[^\t]", a1); + sscanf(b, "%[^\t]", b1); + order = strcoll(a1, b1); + if( order == 0 ) + order = strcmp(a, b); /* disambiguate with strcmp */ + debug3(DBS, D, "strcollcmp(\"%s<tab>\", \"%s<tab>\") = %d", a1, b1, order) + return order; +} /*@::StringBeginsWith(), StringContains(), StringInt(), StringFiveInt()@******/ /* */ @@ -1,6 +1,6 @@ /*@z40.c:Filter Handler:FilterInit()@*****************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -86,6 +86,10 @@ OBJECT FilterCreate(BOOLEAN use_begin, OBJECT act, FILE_POS *xfpos) sprintf( (char *) buff, "%s%d", FILTER_OUT, filter_count); x = MakeWord(WORD, buff, xfpos); Link(res, x); + if( has_body(act) ) PushScope(act, FALSE, TRUE); + x = GetScopeSnapshot(); + if( has_body(act) ) PopScope(); + Link(res, x); debug2(DFH, D, "FilterCreate returning %d %s", (int) res, EchoObject(res)); return res; } /* end FilterCreate */ @@ -124,7 +128,7 @@ void FilterSetFileNames(OBJECT x) /*****************************************************************************/ OBJECT FilterExecute(OBJECT x, FULL_CHAR *command, OBJECT env) -{ int i, count, status; OBJECT t, res; char line[MAX_LINE]; +{ int status; OBJECT t, res, scope_snapshot; char line[MAX_LINE]; FILE *err_fp; FILE_NUM filter_out_file; assert( type(x) == FILTERED, "FilterExecute: type(x)!" ); @@ -161,9 +165,13 @@ OBJECT FilterExecute(OBJECT x, FULL_CHAR *command, OBJECT env) FATAL, &fpos(x), command); /* read in output of system command as a Lout object */ + /* *** using scope snapshot now SwitchScope(nilobj); count = 0; SetScope(env, &count, TRUE); + *** */ + Child(scope_snapshot, LastDown(x)); + LoadScopeSnapshot(scope_snapshot); debug0(DFS, D, " calling DefineFile from FilterExecute"); filter_out_file = DefineFile(string(sym_body(FilterOutSym)), STR_EMPTY, &fpos(x), @@ -172,8 +180,11 @@ OBJECT FilterExecute(OBJECT x, FULL_CHAR *command, OBJECT env) t = NewToken(BEGIN, &fpos(x), 0, 0, BEGIN_PREC, FilterOutSym); res = Parse(&t, nilobj, FALSE, FALSE); LexPop(); + /* *** using scope snapshot now for( i = 1; i <= count; i++ ) PopScope(); UnSwitchScope(nilobj); + *** */ + ClearScopeSnapshot(scope_snapshot); StringRemove(string(sym_body(FilterOutSym))); sym_body(FilterOutSym) = filter_out_filename; } @@ -1,6 +1,6 @@ /*@z41.c:Object Input-Output:AppendToFile, ReadFromFile@**********************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z42.c:Colour Service:ColourChange, ColourCommand@**************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z43.c:Language Service:LanguageChange, LanguageString@*********************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z44.c:Vertical Hyphenation:VerticalHyphenate()@****************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z45.c:External Sort:SortFile()@********************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z46.c:Optimal Galleys:FindOptimize()@**************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -1,6 +1,6 @@ /*@z47.c:Environment Table:EnvReadRetrieve()@*********************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ @@ -48,7 +48,7 @@ static OBJECT tab[TAB_SIZE]; #define hash1(pos, env, fnum) \ { \ - pos = ( (int) env + fnum ) % TAB_SIZE; \ + pos = ( (unsigned int) env + fnum ) % TAB_SIZE; \ } #define hash2(pos, fnum, offset) \ @@ -91,7 +91,7 @@ void EnvInit(void) /*****************************************************************************/ BOOLEAN EnvWriteRetrieve(OBJECT env, FILE_NUM fnum, int *offset, int *lnum) -{ int pos; OBJECT link, y, z; +{ unsigned int pos; OBJECT link, y, z; debug2(DET, DD, "EnvWriteRetrieve(env %d, %s)", (int) env, FileName(fnum)); debug1(DET, DDD, " %s", EchoObject(env)); stat_writes++; @@ -127,7 +127,7 @@ BOOLEAN EnvWriteRetrieve(OBJECT env, FILE_NUM fnum, int *offset, int *lnum) /*****************************************************************************/ void EnvWriteInsert(OBJECT env, FILE_NUM fnum, int offset, int lnum) -{ int pos; OBJECT loser, x; +{ unsigned int pos; OBJECT loser, x; debug3(DET, DD, "EnvWriteInsert(env %d, %s, %d)", (int) env, FileName(fnum), offset); @@ -1,6 +1,6 @@ /*@z48.c:PDF back end@********************************************************/ /* */ -/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.20) */ +/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.21) */ /* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */ /* */ /* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */ |