From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- usergrps/uktug/baskervi/7_1/0-0-1.eps | 436 +++++++ usergrps/uktug/baskervi/7_1/0-0-1.mp | 17 + usergrps/uktug/baskervi/7_1/0-0-1.pdf | Bin 0 -> 2982 bytes usergrps/uktug/baskervi/7_1/0-0-10.eps | 253 ++++ usergrps/uktug/baskervi/7_1/0-0-10.mp | 29 + usergrps/uktug/baskervi/7_1/0-0-10.pdf | Bin 0 -> 1807 bytes usergrps/uktug/baskervi/7_1/0-0-11.eps | 540 +++++++++ usergrps/uktug/baskervi/7_1/0-0-11.mp | 34 + usergrps/uktug/baskervi/7_1/0-0-11.pdf | Bin 0 -> 2151 bytes usergrps/uktug/baskervi/7_1/0-0-12.eps | 279 +++++ usergrps/uktug/baskervi/7_1/0-0-12.mp | 20 + usergrps/uktug/baskervi/7_1/0-0-12.pdf | Bin 0 -> 2417 bytes usergrps/uktug/baskervi/7_1/0-0-13.eps | 918 +++++++++++++++ usergrps/uktug/baskervi/7_1/0-0-13.mp | 22 + usergrps/uktug/baskervi/7_1/0-0-13.pdf | Bin 0 -> 2628 bytes usergrps/uktug/baskervi/7_1/0-0-2.eps | 746 ++++++++++++ usergrps/uktug/baskervi/7_1/0-0-2.mp | 16 + usergrps/uktug/baskervi/7_1/0-0-2.pdf | Bin 0 -> 2340 bytes usergrps/uktug/baskervi/7_1/0-0-3.eps | 251 ++++ usergrps/uktug/baskervi/7_1/0-0-3.mp | 12 + usergrps/uktug/baskervi/7_1/0-0-3.pdf | Bin 0 -> 2187 bytes usergrps/uktug/baskervi/7_1/0-0-4.eps | 215 ++++ usergrps/uktug/baskervi/7_1/0-0-4.mp | 16 + usergrps/uktug/baskervi/7_1/0-0-4.pdf | Bin 0 -> 2202 bytes usergrps/uktug/baskervi/7_1/0-0-5.eps | 160 +++ usergrps/uktug/baskervi/7_1/0-0-5.mp | 16 + usergrps/uktug/baskervi/7_1/0-0-5.pdf | Bin 0 -> 1576 bytes usergrps/uktug/baskervi/7_1/0-0-6.eps | 83 ++ usergrps/uktug/baskervi/7_1/0-0-6.mp | 23 + usergrps/uktug/baskervi/7_1/0-0-6.pdf | 59 + usergrps/uktug/baskervi/7_1/0-0-7.eps | 165 +++ usergrps/uktug/baskervi/7_1/0-0-7.mp | 24 + usergrps/uktug/baskervi/7_1/0-0-7.pdf | Bin 0 -> 1567 bytes usergrps/uktug/baskervi/7_1/0-0-8.eps | 86 ++ usergrps/uktug/baskervi/7_1/0-0-8.mp | 20 + usergrps/uktug/baskervi/7_1/0-0-8.pdf | Bin 0 -> 1314 bytes usergrps/uktug/baskervi/7_1/0-0-9.eps | 222 ++++ usergrps/uktug/baskervi/7_1/0-0-9.mp | 24 + usergrps/uktug/baskervi/7_1/0-0-9.pdf | Bin 0 -> 3502 bytes usergrps/uktug/baskervi/7_1/0-2-1.mp | 17 + usergrps/uktug/baskervi/7_1/0-3-1.mp | 16 + usergrps/uktug/baskervi/7_1/0-3-10.mp | 34 + usergrps/uktug/baskervi/7_1/0-3-11.mp | 20 + usergrps/uktug/baskervi/7_1/0-3-12.mp | 22 + usergrps/uktug/baskervi/7_1/0-3-2.mp | 12 + usergrps/uktug/baskervi/7_1/0-3-3.mp | 16 + usergrps/uktug/baskervi/7_1/0-3-4.mp | 16 + usergrps/uktug/baskervi/7_1/0-3-5.mp | 23 + usergrps/uktug/baskervi/7_1/0-3-6.mp | 24 + usergrps/uktug/baskervi/7_1/0-3-7.mp | 20 + usergrps/uktug/baskervi/7_1/0-3-8.mp | 24 + usergrps/uktug/baskervi/7_1/0-3-9.mp | 29 + usergrps/uktug/baskervi/7_1/P.eps.gz | Bin 0 -> 11008 bytes usergrps/uktug/baskervi/7_1/ReadMe | 14 + usergrps/uktug/baskervi/7_1/S.eps.gz | Bin 0 -> 11172 bytes usergrps/uktug/baskervi/7_1/bask7_1.aux | 188 +++ usergrps/uktug/baskervi/7_1/bask7_1.log | 573 +++++++++ usergrps/uktug/baskervi/7_1/bask7_1.out | 51 + usergrps/uktug/baskervi/7_1/bask7_1.tex | 107 ++ usergrps/uktug/baskervi/7_1/bask7_1.toc | 59 + usergrps/uktug/baskervi/7_1/baskerville.cls | 799 +++++++++++++ usergrps/uktug/baskervi/7_1/baskerville.tex | 91 ++ usergrps/uktug/baskervi/7_1/bv71.blg | 36 + usergrps/uktug/baskervi/7_1/bv71.comment | 33 + usergrps/uktug/baskervi/7_1/bv71.dep | 2 + usergrps/uktug/baskervi/7_1/bv71.tex | 106 ++ usergrps/uktug/baskervi/7_1/bv71.toc | 59 + usergrps/uktug/baskervi/7_1/dtd.tex | 785 +++++++++++++ usergrps/uktug/baskervi/7_1/fancyvrb.cfg | 545 +++++++++ usergrps/uktug/baskervi/7_1/fancyvrb.rc | 558 +++++++++ usergrps/uktug/baskervi/7_1/fancyvrb.sty | 1673 +++++++++++++++++++++++++++ usergrps/uktug/baskervi/7_1/lout.bbl | 134 +++ usergrps/uktug/baskervi/7_1/lout.bib | 228 ++++ usergrps/uktug/baskervi/7_1/lout.tex | 696 +++++++++++ usergrps/uktug/baskervi/7_1/ltour3.tex | 769 ++++++++++++ usergrps/uktug/baskervi/7_1/ltx-logo.sty | 64 + usergrps/uktug/baskervi/7_1/lyx-intro.tex | 625 ++++++++++ usergrps/uktug/baskervi/7_1/lyx.tex | 158 +++ usergrps/uktug/baskervi/7_1/rahtz.tex | 607 ++++++++++ usergrps/uktug/baskervi/7_1/regul.tex | 170 +++ 80 files changed, 14089 insertions(+) create mode 100644 usergrps/uktug/baskervi/7_1/0-0-1.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-1.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-1.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-10.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-10.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-10.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-11.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-11.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-11.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-12.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-12.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-12.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-13.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-13.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-13.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-2.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-2.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-2.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-3.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-3.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-3.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-4.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-4.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-4.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-5.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-5.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-5.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-6.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-6.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-6.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-7.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-7.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-7.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-8.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-8.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-8.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-0-9.eps create mode 100644 usergrps/uktug/baskervi/7_1/0-0-9.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-0-9.pdf create mode 100644 usergrps/uktug/baskervi/7_1/0-2-1.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-1.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-10.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-11.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-12.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-2.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-3.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-4.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-5.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-6.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-7.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-8.mp create mode 100644 usergrps/uktug/baskervi/7_1/0-3-9.mp create mode 100644 usergrps/uktug/baskervi/7_1/P.eps.gz create mode 100644 usergrps/uktug/baskervi/7_1/ReadMe create mode 100644 usergrps/uktug/baskervi/7_1/S.eps.gz create mode 100644 usergrps/uktug/baskervi/7_1/bask7_1.aux create mode 100644 usergrps/uktug/baskervi/7_1/bask7_1.log create mode 100644 usergrps/uktug/baskervi/7_1/bask7_1.out create mode 100644 usergrps/uktug/baskervi/7_1/bask7_1.tex create mode 100644 usergrps/uktug/baskervi/7_1/bask7_1.toc create mode 100644 usergrps/uktug/baskervi/7_1/baskerville.cls create mode 100644 usergrps/uktug/baskervi/7_1/baskerville.tex create mode 100644 usergrps/uktug/baskervi/7_1/bv71.blg create mode 100644 usergrps/uktug/baskervi/7_1/bv71.comment create mode 100644 usergrps/uktug/baskervi/7_1/bv71.dep create mode 100644 usergrps/uktug/baskervi/7_1/bv71.tex create mode 100644 usergrps/uktug/baskervi/7_1/bv71.toc create mode 100644 usergrps/uktug/baskervi/7_1/dtd.tex create mode 100644 usergrps/uktug/baskervi/7_1/fancyvrb.cfg create mode 100644 usergrps/uktug/baskervi/7_1/fancyvrb.rc create mode 100644 usergrps/uktug/baskervi/7_1/fancyvrb.sty create mode 100644 usergrps/uktug/baskervi/7_1/lout.bbl create mode 100644 usergrps/uktug/baskervi/7_1/lout.bib create mode 100644 usergrps/uktug/baskervi/7_1/lout.tex create mode 100644 usergrps/uktug/baskervi/7_1/ltour3.tex create mode 100644 usergrps/uktug/baskervi/7_1/ltx-logo.sty create mode 100644 usergrps/uktug/baskervi/7_1/lyx-intro.tex create mode 100644 usergrps/uktug/baskervi/7_1/lyx.tex create mode 100644 usergrps/uktug/baskervi/7_1/rahtz.tex create mode 100644 usergrps/uktug/baskervi/7_1/regul.tex (limited to 'usergrps/uktug/baskervi/7_1') diff --git a/usergrps/uktug/baskervi/7_1/0-0-1.eps b/usergrps/uktug/baskervi/7_1/0-0-1.eps new file mode 100644 index 0000000000..f9b779f90c --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-1.eps @@ -0,0 +1,436 @@ +%!PS +%%BoundingBox: -22 -32 183 129 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: cmsy10 9.96265 9.96265 19:8 +%*Font: cmr10 9.96265 9.96265 28:c0fcc0000601006ecfb44 +%*Font: cmmi10 9.96265 9.96265 6e:8 +%%EndProlog +%%Page: 1 1 +/cmsy10 /CMSY10 def +/cmr10 /CMR10 def +/cmmi10 /CMMI10 def +/fshow {exch findfont exch scalefont setfont show}bind def + 0 0.5 dtransform truncate idtransform setlinewidth pop + [3 3 ] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 11.05379 7.73778 moveto +12.7794 11.54898 lineto +23.133 11.54898 lineto +23.99591 7.73778 lineto +24.85873 26.7938 lineto +25.72147 7.73778 lineto +26.5843 22.98259 lineto +27.44705 7.73778 lineto +28.30989 11.54898 lineto +29.17264 11.54898 lineto +30.89825 11.54898 lineto +31.76111 22.98259 lineto +32.6239 11.54898 lineto +33.48676 26.7938 lineto +34.34953 15.36018 lineto +35.21239 15.36018 lineto +36.07515 11.54898 lineto +36.93803 15.36018 lineto +37.8008 15.36018 lineto +38.66367 11.54898 lineto +39.52644 19.17139 lineto +40.38911 15.36018 lineto +41.25208 19.17139 lineto +42.11472 19.17139 lineto +42.97768 30.605 lineto +43.84033 30.605 lineto +44.70328 34.4162 lineto +45.56612 30.605 lineto +46.42885 53.47221 lineto +47.29167 30.605 lineto +48.1544 11.54898 lineto +49.01723 34.4162 lineto +49.88011 30.605 lineto +50.7429 11.54898 lineto +51.6058 22.98259 lineto +52.46858 19.17139 lineto +53.33125 19.17139 lineto +54.1942 26.7938 lineto +55.05684 22.98259 lineto +55.91977 19.17139 lineto +56.7826 15.36018 lineto +57.64531 11.54898 lineto +58.5081 22.98259 lineto +59.37097 26.7938 lineto +60.23375 15.36018 lineto +61.09659 34.4162 lineto +61.95932 22.98259 lineto +62.82214 19.17139 lineto +63.68504 38.2274 lineto +64.54782 19.17139 lineto +65.4107 26.7938 lineto +66.27344 22.98259 lineto +67.13626 30.605 lineto +67.99898 22.98259 lineto +68.86177 30.605 lineto +69.72466 53.47221 lineto +70.5874 87.77304 lineto +71.45023 57.28342 lineto +72.31313 72.52823 lineto +73.17592 42.0386 lineto +74.03879 76.33943 lineto +74.90152 38.2274 lineto +75.76434 64.90582 lineto +76.62723 57.28342 lineto +77.49 61.09462 lineto +78.35284 57.28342 lineto +79.21556 68.71703 lineto +80.07834 106.82906 lineto +80.9412 49.66101 lineto +81.80392 53.47221 lineto +82.66673 22.98259 lineto +83.52962 53.47221 lineto +84.39236 80.15063 lineto +85.25519 34.4162 lineto +86.11806 30.605 lineto +86.98083 61.09462 lineto +87.84366 61.09462 lineto +88.70654 45.84981 lineto +89.56932 68.71703 lineto +90.43216 61.09462 lineto +91.29486 45.84981 lineto +92.15762 61.09462 lineto +93.02045 45.84981 lineto +93.88335 68.71703 lineto +94.74611 49.66101 lineto +95.60895 61.09462 lineto +96.47163 61.09462 lineto +97.3346 42.0386 lineto +98.19742 64.90582 lineto +99.0601 91.58424 lineto +99.92305 45.84981 lineto +100.78586 76.33943 lineto +101.64853 72.52823 lineto +102.51146 76.33943 lineto +103.37425 64.90582 lineto +104.23709 42.0386 lineto +105.09981 68.71703 lineto +105.96257 72.52823 lineto +106.82541 61.09462 lineto +107.68828 22.98259 lineto +108.55104 57.28342 lineto +109.41383 53.47221 lineto +110.27667 61.09462 lineto +111.13939 64.90582 lineto +112.00237 61.09462 lineto +112.86517 34.4162 lineto +113.72786 68.71703 lineto +114.59079 64.90582 lineto +115.45357 61.09462 lineto +116.3164 68.71703 lineto +117.17911 68.71703 lineto +118.04184 87.77304 lineto +118.90483 49.66101 lineto +119.76749 80.15063 lineto +120.63039 80.15063 lineto +121.49312 53.47221 lineto +122.35593 87.77304 lineto +123.21878 45.84981 lineto +124.08167 72.52823 lineto +124.94441 72.52823 lineto +125.8072 76.33943 lineto +126.67004 61.09462 lineto +127.53273 80.15063 lineto +128.39568 57.28342 lineto +129.25845 45.84981 lineto +130.12128 72.52823 lineto +130.98415 45.84981 lineto +131.84686 53.47221 lineto +132.70963 57.28342 lineto +133.57243 30.605 lineto +134.43529 30.605 lineto +135.29817 57.28342 lineto +136.1609 76.33943 lineto +137.02368 87.77304 lineto +137.8865 91.58424 lineto +138.74936 80.15063 lineto +139.61226 38.2274 lineto +140.47498 53.47221 lineto +141.33777 64.90582 lineto +142.20059 57.28342 lineto +143.06345 53.47221 lineto +143.92615 83.96184 lineto +144.78908 80.15063 lineto +145.65186 72.52823 lineto +146.51466 95.39545 lineto +147.3775 64.90582 lineto +148.24019 87.77304 lineto +149.1031 83.96184 lineto +149.96585 64.90582 lineto +150.82864 68.71703 lineto +151.69147 99.20665 lineto +152.55434 91.58424 lineto +153.41702 68.71703 lineto +154.27995 72.52823 lineto +155.1427 91.58424 lineto +156.0055 72.52823 lineto +156.8683 64.90582 lineto +157.73117 80.15063 lineto +158.59386 72.52823 lineto +159.45677 42.0386 lineto +160.31952 91.58424 lineto +161.18227 64.90582 lineto +162.04507 57.28342 lineto +162.90791 64.90582 lineto +163.77077 83.96184 lineto +164.63367 61.09462 lineto +165.49638 83.96184 lineto +166.35912 76.33943 lineto +167.22209 99.20665 lineto +168.08488 64.90582 lineto +168.94771 15.36018 lineto stroke + [] 0 setdash +newpath 11.05379 15.36018 moveto +12.7794 15.36018 lineto +23.133 11.54898 lineto +23.99591 15.36018 lineto +24.85873 42.0386 lineto +25.72147 22.98259 lineto +26.5843 57.28342 lineto +27.44705 45.84981 lineto +28.30989 26.7938 lineto +29.17264 19.17139 lineto +30.89825 26.7938 lineto +31.76111 22.98259 lineto +32.6239 22.98259 lineto +33.48676 34.4162 lineto +34.34953 57.28342 lineto +35.21239 22.98259 lineto +36.07515 38.2274 lineto +36.93803 26.7938 lineto +37.8008 38.2274 lineto +38.66367 26.7938 lineto +39.52644 42.0386 lineto +40.38911 57.28342 lineto +41.25208 30.605 lineto +42.11472 34.4162 lineto +42.97768 30.605 lineto +43.84033 42.0386 lineto +44.70328 53.47221 lineto +45.56612 42.0386 lineto +46.42885 53.47221 lineto +47.29167 72.52823 lineto +48.1544 57.28342 lineto +49.01723 42.0386 lineto +49.88011 53.47221 lineto +50.7429 42.0386 lineto +51.6058 45.84981 lineto +52.46858 22.98259 lineto +53.33125 53.47221 lineto +54.1942 76.33943 lineto +55.05684 22.98259 lineto +55.91977 57.28342 lineto +56.7826 53.47221 lineto +57.64531 26.7938 lineto +58.5081 42.0386 lineto +59.37097 38.2274 lineto +60.23375 57.28342 lineto +61.09659 49.66101 lineto +61.95932 68.71703 lineto +62.82214 64.90582 lineto +63.68504 57.28342 lineto +64.54782 53.47221 lineto +65.4107 42.0386 lineto +66.27344 87.77304 lineto +67.13626 91.58424 lineto +67.99898 34.4162 lineto +68.86177 64.90582 lineto +69.72466 49.66101 lineto +70.5874 106.82906 lineto +71.45023 49.66101 lineto +72.31313 87.77304 lineto +73.17592 64.90582 lineto +74.03879 110.64026 lineto +74.90152 91.58424 lineto +75.76434 87.77304 lineto +76.62723 76.33943 lineto +77.49 68.71703 lineto +78.35284 57.28342 lineto +79.21556 114.45146 lineto +80.07834 91.58424 lineto +80.9412 53.47221 lineto +81.80392 49.66101 lineto +82.66673 45.84981 lineto +83.52962 64.90582 lineto +84.39236 49.66101 lineto +85.25519 19.17139 lineto +86.11806 30.605 lineto +86.98083 42.0386 lineto +87.84366 26.7938 lineto +88.70654 49.66101 lineto +89.56932 26.7938 lineto +90.43216 42.0386 lineto +91.29486 15.36018 lineto +92.15762 49.66101 lineto +93.02045 34.4162 lineto +93.88335 26.7938 lineto +94.74611 49.66101 lineto +95.60895 34.4162 lineto +96.47163 38.2274 lineto +97.3346 45.84981 lineto +98.19742 57.28342 lineto +99.0601 38.2274 lineto +99.92305 26.7938 lineto +100.78586 57.28342 lineto +101.64853 76.33943 lineto +102.51146 91.58424 lineto +103.37425 26.7938 lineto +104.23709 42.0386 lineto +105.09981 49.66101 lineto +105.96257 45.84981 lineto +106.82541 45.84981 lineto +107.68828 26.7938 lineto +108.55104 45.84981 lineto +109.41383 34.4162 lineto +110.27667 26.7938 lineto +111.13939 49.66101 lineto +112.00237 22.98259 lineto +112.86517 49.66101 lineto +113.72786 57.28342 lineto +114.59079 57.28342 lineto +115.45357 53.47221 lineto +116.3164 30.605 lineto +117.17911 68.71703 lineto +118.04184 76.33943 lineto +118.90483 80.15063 lineto +119.76749 30.605 lineto +120.63039 38.2274 lineto +121.49312 45.84981 lineto +122.35593 64.90582 lineto +123.21878 68.71703 lineto +124.08167 45.84981 lineto +124.94441 45.84981 lineto +125.8072 45.84981 lineto +126.67004 61.09462 lineto +127.53273 45.84981 lineto +128.39568 30.605 lineto +129.25845 49.66101 lineto +130.12128 15.36018 lineto +130.98415 45.84981 lineto +131.84686 38.2274 lineto +132.70963 49.66101 lineto +133.57243 57.28342 lineto +134.43529 53.47221 lineto +135.29817 53.47221 lineto +136.1609 30.605 lineto +137.02368 53.47221 lineto +137.8865 22.98259 lineto +138.74936 49.66101 lineto +139.61226 45.84981 lineto +140.47498 38.2274 lineto +141.33777 42.0386 lineto +142.20059 34.4162 lineto +143.06345 72.52823 lineto +143.92615 57.28342 lineto +144.78908 53.47221 lineto +145.65186 87.77304 lineto +146.51466 64.90582 lineto +147.3775 68.71703 lineto +148.24019 103.01785 lineto +149.1031 83.96184 lineto +149.96585 99.20665 lineto +150.82864 95.39545 lineto +151.69147 72.52823 lineto +152.55434 57.28342 lineto +153.41702 72.52823 lineto +154.27995 87.77304 lineto +155.1427 49.66101 lineto +156.0055 49.66101 lineto +156.8683 53.47221 lineto +157.73117 49.66101 lineto +158.59386 64.90582 lineto +159.45677 61.09462 lineto +160.31952 45.84981 lineto +161.18227 42.0386 lineto +162.04507 57.28342 lineto +162.90791 42.0386 lineto +163.77077 45.84981 lineto +164.63367 42.0386 lineto +165.49638 22.98259 lineto +166.35912 34.4162 lineto +167.22209 61.09462 lineto +168.08488 38.2274 lineto +168.94771 15.36018 lineto stroke +79.80896 115.772 moveto +(\(solid\)) cmr10 9.96265 fshow +110.85925 115.772 moveto +(W) cmr10 9.96265 fshow +120.26846 115.772 moveto +(omen) cmr10 9.96265 fshow +5.75377 115.772 moveto +(\(dashed\)) cmr10 9.96265 fshow +46.76666 115.772 moveto +(Men) cmr10 9.96265 fshow + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 8.46526 -7 moveto +8.46526 0 lineto stroke +-1.49742 -16.42036 moveto +(1800) cmr10 9.96265 fshow +newpath 51.6058 -7 moveto +51.6058 0 lineto stroke +41.64313 -16.42036 moveto +(1850) cmr10 9.96265 fshow +newpath 94.74611 -7 moveto +94.74611 0 lineto stroke +84.78343 -16.42036 moveto +(1900) cmr10 9.96265 fshow +newpath 137.8865 -7 moveto +137.8865 0 lineto stroke +127.92383 -16.42036 moveto +(1950) cmr10 9.96265 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath -7 3.92657 moveto +0 3.92657 lineto stroke +-14.98134 0.71638 moveto +(0) cmr10 9.96265 fshow +newpath -7 42.0386 moveto +0 42.0386 lineto stroke +-19.96268 38.82841 moveto +(10) cmr10 9.96265 fshow +newpath -7 80.15063 moveto +0 80.15063 lineto stroke +-19.96268 76.94044 moveto +(20) cmr10 9.96265 fshow +newpath -7 118.26266 moveto +0 118.26266 lineto stroke +-19.96268 115.05247 moveto +(30) cmr10 9.96265 fshow +newpath 0 0 moveto +59.99908 0 120.00092 0 180 0 curveto +180 126 lineto +120.00092 126 59.99908 126 0 126 curveto + closepath stroke +-4.15259 -28.89236 moveto +(Num) cmr10 9.96265 fshow +16.87971 -28.89236 moveto +(b) cmr10 9.96265 fshow +22.69131 -28.89236 moveto +(er) cmr10 9.96265 fshow +34.34201 -28.89236 moveto +(of) cmr10 9.96265 fshow +45.68842 -28.89236 moveto +(burials) cmr10 9.96265 fshow +78.42682 -28.89236 moveto +(p) cmr10 9.96265 fshow +84.23831 -28.89236 moveto +(er) cmr10 9.96265 fshow +95.88911 -28.89236 moveto +(y) cmr10 9.96265 fshow +100.8704 -28.89236 moveto +(ear) cmr10 9.96265 fshow +117.50252 -28.89236 moveto +(\() cmr10 9.96265 fshow +121.3769 -28.89236 moveto +(n) cmmi10 9.96265 fshow +130.1242 -28.89236 moveto +(\031) cmsy10 9.96265 fshow +140.64021 -28.89236 moveto +(4300\)) cmr10 9.96265 fshow +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-1.mp b/usergrps/uktug/baskervi/7_1/0-0-1.mp new file mode 100644 index 0000000000..68a4b323bf --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-1.mp @@ -0,0 +1,17 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.75in); +gdraw "yearm.dat" dashed evenly; +gdraw "yearw.dat"; +glabel.lft + (btex (solid) Women etex, 1960,30); +glabel.lft + (btex (dashed) Men etex ,1870,30); +glabel.bot + (btex Number of burials per year + ($n \approx 4300$) etex,OUT); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-1.pdf b/usergrps/uktug/baskervi/7_1/0-0-1.pdf new file mode 100644 index 0000000000..431c020b81 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-1.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-10.eps b/usergrps/uktug/baskervi/7_1/0-0-10.eps new file mode 100644 index 0000000000..510c0889f8 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-10.eps @@ -0,0 +1,253 @@ +%!PS +%%BoundingBox: -147 -27 32 278 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: cmsy10 9.96265 9.96265 19:8 +%*Font: cmr10 9.96265 9.96265 28:c0fcc0000200007e4db4 +%*Font: cmmi10 9.96265 9.96265 6e:8 +%%EndProlog +%%Page: 1 1 +/cmsy10 /CMSY10 def +/cmr10 /CMR10 def +/cmmi10 /CMMI10 def +/fshow {exch findfont exch scalefont setfont show}bind def + 0 0 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinejoin 10 setmiterlimit +newpath -8.84302 22.81314 moveto +-12.61362 22.81314 lineto +-12.61362 29.04575 lineto +-8.84302 29.04575 lineto +-8.84302 35.27835 lineto +-18.26952 35.27835 lineto +-18.26952 41.51096 lineto +-8.84302 41.51096 lineto +-8.84302 47.74356 lineto +-49.06274 47.74356 lineto +-49.06274 53.97617 lineto +-8.84302 53.97617 lineto +-8.84302 60.20877 lineto +-64.14514 60.20877 lineto +-64.14514 66.44138 lineto +-8.84302 66.44138 lineto +-8.84302 72.67398 lineto +-82.99814 72.67398 lineto +-82.99814 78.90659 lineto +-8.84302 78.90659 lineto +-8.84302 85.13919 lineto +-74.8285 85.13919 lineto +-74.8285 91.3718 lineto +-8.84302 91.3718 lineto +-8.84302 97.6044 lineto +-102.47957 97.6044 lineto +-102.47957 103.837 lineto +-8.84302 103.837 lineto +-8.84302 110.06961 lineto +-132.64436 110.06961 lineto +-132.64436 116.30222 lineto +-8.84302 116.30222 lineto +-8.84302 122.53482 lineto +-103.73643 122.53482 lineto +-103.73643 128.76743 lineto +-8.84302 128.76743 lineto +-8.84302 135.00003 lineto +-59.11768 135.00003 lineto +-59.11768 141.23264 lineto +-8.84302 141.23264 lineto +-8.84302 147.46524 lineto +-87.39717 147.46524 lineto +-87.39717 153.69785 lineto +-8.84302 153.69785 lineto +-8.84302 159.93045 lineto +-67.28731 159.93045 lineto +-67.28731 166.16306 lineto +-8.84302 166.16306 lineto +-8.84302 172.39566 lineto +-89.28247 172.39566 lineto +-89.28247 178.62827 lineto +-8.84302 178.62827 lineto +-8.84302 184.86087 lineto +-83.62657 184.86087 lineto +-83.62657 191.09348 lineto +-8.84302 191.09348 lineto +-8.84302 197.32608 lineto +-76.08537 197.32608 lineto +-76.08537 203.55869 lineto +-8.84302 203.55869 lineto +-8.84302 209.79129 lineto +-85.51187 209.79129 lineto +-85.51187 216.0239 lineto +-8.84302 216.0239 lineto +-8.84302 222.2565 lineto +-135.1581 222.2565 lineto +-135.1581 228.4891 lineto +-8.84302 228.4891 lineto +-8.84302 234.72171 lineto +-87.39717 234.72171 lineto +-87.39717 240.95432 lineto +-8.84302 240.95432 lineto +-8.84302 247.18692 lineto +-47.17744 247.18692 lineto +-47.17744 253.41953 lineto +-8.84302 253.41953 lineto + closepath +gsave fill grestore stroke + 0 0.5 dtransform truncate idtransform setlinewidth pop 1 setlinecap +gsave newpath -8.84302 16.58054 moveto +-10.72832 16.58054 lineto +-10.72832 22.81314 lineto +-8.84302 22.81314 lineto +-8.84302 29.04575 lineto +-14.49892 29.04575 lineto +-14.49892 35.27835 lineto +-8.84302 35.27835 lineto +-8.84302 41.51096 lineto +-25.18228 41.51096 lineto +-25.18228 47.74356 lineto +-8.84302 47.74356 lineto +-8.84302 53.97617 lineto +-28.32445 53.97617 lineto +-28.32445 60.20877 lineto +-8.84302 60.20877 lineto +-8.84302 66.44138 lineto +-51.57648 66.44138 lineto +-51.57648 72.67398 lineto +-8.84302 72.67398 lineto +-8.84302 78.90659 lineto +-36.49408 78.90659 lineto +-36.49408 85.13919 lineto +-8.84302 85.13919 lineto +-8.84302 91.3718 lineto +-44.03528 91.3718 lineto +-44.03528 97.6044 lineto +-8.84302 97.6044 lineto +-8.84302 103.837 lineto +-98.08054 103.837 lineto +-98.08054 110.06961 lineto +-8.84302 110.06961 lineto +-8.84302 116.30222 lineto +-99.3374 116.30222 lineto +-99.3374 122.53482 lineto +-8.84302 122.53482 lineto +-8.84302 128.76743 lineto +-93.05307 128.76743 lineto +-93.05307 135.00003 lineto +-8.84302 135.00003 lineto +-8.84302 141.23264 lineto +-108.13547 141.23264 lineto +-108.13547 147.46524 lineto +-8.84302 147.46524 lineto +-8.84302 153.69785 lineto +-96.19524 153.69785 lineto +-96.19524 159.93045 lineto +-8.84302 159.93045 lineto +-8.84302 166.16306 lineto +-108.7639 166.16306 lineto +-108.7639 172.39566 lineto +-8.84302 172.39566 lineto +-8.84302 178.62827 lineto +-115.67667 178.62827 lineto +-115.67667 184.86087 lineto +-8.84302 184.86087 lineto +-8.84302 191.09348 lineto +-94.30994 191.09348 lineto +-94.30994 197.32608 lineto +-8.84302 197.32608 lineto +-8.84302 203.55869 lineto +-113.79137 203.55869 lineto +-113.79137 209.79129 lineto +-8.84302 209.79129 lineto +-8.84302 216.0239 lineto +-133.90123 216.0239 lineto +-133.90123 222.2565 lineto +-8.84302 222.2565 lineto +-8.84302 228.4891 lineto +-118.1904 228.4891 lineto +-118.1904 234.72171 lineto +-8.84302 234.72171 lineto +-8.84302 240.95432 lineto +-84.255 240.95432 lineto +-84.255 247.18692 lineto +-8.84302 247.18692 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave newpath -144 0 moveto +-96.00073 0 -47.99927 0 0 0 curveto +0 89.99863 0 180.00137 0 270 curveto +[0 1 -1 0 0 0] concat stroke grestore +gsave newpath 7 16.58052 moveto +0 16.58052 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 16.42036 6.61784 ] concat 0 0 moveto +(1800) cmr10 9.96265 fshow grestore +gsave newpath 7 78.90678 moveto +0 78.90678 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 16.42036 68.9441 ] concat 0 0 moveto +(1850) cmr10 9.96265 fshow grestore +gsave newpath 7 141.23268 moveto +0 141.23268 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 16.42036 131.27 ] concat 0 0 moveto +(1900) cmr10 9.96265 fshow grestore +gsave newpath 7 203.55869 moveto +0 203.55869 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 16.42036 193.59601 ] concat 0 0 moveto +(1950) cmr10 9.96265 fshow grestore +gsave newpath 7 265.88469 moveto +0 265.88469 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 16.42036 255.92201 ] concat 0 0 moveto +(2000) cmr10 9.96265 fshow grestore + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +gsave newpath -8.84302 -7 moveto +-8.84302 0 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 -5.63283 -14.98134 ] concat 0 0 moveto +(0) cmr10 9.96265 fshow grestore +gsave newpath -40.26468 -7 moveto +-40.26468 0 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 -37.05449 -19.96268 ] concat 0 0 moveto +(50) cmr10 9.96265 fshow grestore +gsave newpath -71.68636 -7 moveto +-71.68636 0 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 -68.47617 -24.94402 ] concat 0 0 moveto +(100) cmr10 9.96265 fshow grestore +gsave newpath -103.108 -7 moveto +-103.108 0 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 -99.89781 -24.94402 ] concat 0 0 moveto +(150) cmr10 9.96265 fshow grestore +gsave newpath -134.52968 -7 moveto +-134.52968 0 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 -131.31949 -24.94402 ] concat 0 0 moveto +(200) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 35.63443 ] concat 0 0 moveto +(Num) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 56.66673 ] concat 0 0 moveto +(b) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 62.47833 ] concat 0 0 moveto +(er) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 74.12903 ] concat 0 0 moveto +(of) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 85.47543 ] concat 0 0 moveto +(burials) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 118.21384 ] concat 0 0 moveto +(p) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 124.02533 ] concat 0 0 moveto +(er) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 135.67613 ] concat 0 0 moveto +(decade) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 168.33153 ] concat 0 0 moveto +(\() cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 172.20583 ] concat 0 0 moveto +(n) cmmi10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 180.95313 ] concat 0 0 moveto +(\031) cmsy10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 191.46922 ] concat 0 0 moveto +(4300\)) cmr10 9.96265 fshow grestore +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-10.mp b/usergrps/uktug/baskervi/7_1/0-0-10.mp new file mode 100644 index 0000000000..b6f86c9ee2 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-10.mp @@ -0,0 +1,29 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +path m[],w[]; +def wcheck(expr decade,value) = + augment.w1(decade,0); + augment.w1(decade,value); + augment.w1(decade+5,value); + augment.w1(decade+5,0); +enddef; +def mcheck(expr decade,value) = + augment.m1(decade+5,0); + augment.m1(decade+5,value); + augment.m1(decade+10,value); + augment.m1(decade+10,0); +enddef; +draw begingraph(3.75in,2in); +gdata ("decade.dat",y, + wcheck((scantokens y1),(scantokens y2)); + mcheck((scantokens y1),(scantokens y3));); +gfill m1--cycle; +gdraw w1; +glabel.bot (btex Number of burials per decade + ($n \approx 4300$) etex,OUT); +frame.llft; +endgraph rotated 90; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-10.pdf b/usergrps/uktug/baskervi/7_1/0-0-10.pdf new file mode 100644 index 0000000000..143dd401d0 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-10.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-11.eps b/usergrps/uktug/baskervi/7_1/0-0-11.eps new file mode 100644 index 0000000000..f3bb4863fc --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-11.eps @@ -0,0 +1,540 @@ +%!PS +%%BoundingBox: -3 -3 219 219 +%%Creator: MetaPost +%%CreationDate: 1997.06.08:2335 +%%Pages: 1 +%*Font: ptmr8r 6.97382 9.96265 45:a8040008bbe7a +%%EndProlog +%%Page: 1 1 +/ptmr8r /Times-Roman def +/fshow {exch findfont exch scalefont setfont show}bind def + 0.79973 setgray 0 0 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 1 setlinejoin 10 setmiterlimit +newpath 107.99883 107.9991 moveto +202.73279 107.9991 lineto +202.7325 107.9991 lineto +202.7325 133.12529 192.74986 157.21938 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.73279 107.9991 lineto +202.7325 107.9991 lineto +202.7325 133.12529 192.74986 157.21938 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.79944 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.73279 108.16562 lineto +202.7325 108.16562 lineto +202.68826 133.23169 192.71054 157.2587 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.73279 108.16562 lineto +202.7325 108.16562 lineto +202.68826 133.23169 192.71054 157.2587 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.79889 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.73105 108.4978 lineto +202.73105 108.4981 lineto +202.5998 133.44418 192.6322 157.33704 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.73105 108.4978 lineto +202.73105 108.4981 lineto +202.5998 133.44418 192.6322 157.33704 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.79889 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.72556 109.16449 lineto +202.72527 109.16478 lineto +202.4217 133.86917 192.47491 157.49432 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.72556 109.16449 lineto +202.72527 109.16478 lineto +202.4217 133.86917 192.47491 157.49432 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.79805 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.71544 109.83089 lineto +202.7166 109.83089 202.71486 109.82944 202.71486 109.8306 curveto +202.24217 134.29358 192.31764 157.6516 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.71544 109.83089 lineto +202.7166 109.83089 202.71486 109.82944 202.71486 109.8306 curveto +202.24217 134.29358 192.31764 157.6516 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.7944 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.68507 110.99455 lineto +202.68507 110.99455 lineto +201.92531 135.0337 192.04271 157.92653 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.68507 110.99455 lineto +202.68507 110.99455 lineto +201.92531 135.0337 192.04271 157.92653 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.79274 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.52434 114.3193 lineto +202.53157 114.31989 202.52231 114.31064 202.52173 114.31729 curveto +200.99727 137.13553 191.25488 158.71436 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.52434 114.3193 lineto +202.53157 114.31989 202.52231 114.31064 202.52173 114.31729 curveto +200.99727 137.13553 191.25488 158.71436 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.7905 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.13432 118.62993 lineto +202.13432 118.62964 lineto +199.73906 139.84332 190.22595 159.7433 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +202.13432 118.62993 lineto +202.13432 118.62964 lineto +199.73906 139.84332 190.22595 159.7433 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.78714 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +201.33205 124.23085 lineto +201.33176 124.23085 lineto +198.0099 143.33028 188.87668 161.09229 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +201.33205 124.23085 lineto +201.33176 124.23085 lineto +198.0099 143.33028 188.87668 161.09229 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.7768 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +199.71593 131.71329 lineto +199.71622 131.71329 lineto +195.5175 147.94879 187.04402 162.92494 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +199.71593 131.71329 lineto +199.71622 131.71329 lineto +195.5175 147.94879 187.04402 162.92494 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.75917 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +195.2972 144.79056 lineto +195.2998 144.79143 195.29604 144.78941 195.29575 144.79027 curveto +190.58473 155.96695 183.72678 166.24219 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +195.2972 144.79056 lineto +195.2998 144.79143 195.29604 144.78941 195.29575 144.79027 curveto +190.58473 155.96695 183.72678 166.24219 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 0.73206 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +183.10289 165.73451 lineto +183.10376 165.73509 lineto +180.61395 168.9737 177.90442 172.06485 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +183.10289 165.73451 lineto +183.10376 165.73509 lineto +180.61395 168.9737 177.90442 172.06485 174.98442 174.98485 curveto +157.219 192.75034 133.12497 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 1 setgray +newpath 140.83257 157.86426 moveto +166.91835 157.86426 lineto +166.91835 166.64127 lineto +140.83257 166.64127 lineto + closepath fill + 0 setgray +142.83257 159.91309 moveto +(Russian) ptmr8r 6.97382 fshow + 0.69066 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +152.45477 191.65489 lineto +152.45651 191.6575 152.45593 191.6523 152.4542 191.65344 curveto +138.88835 198.86296 123.64366 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +152.45477 191.65489 lineto +152.45651 191.6575 152.45593 191.6523 152.4542 191.65344 curveto +138.88835 198.86296 123.64366 202.73299 107.99883 202.73299 curveto +82.87299 202.73299 58.77896 192.75034 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 1 setgray +newpath 107.3527 173.91647 moveto +129.1705 173.91647 lineto +129.1705 182.69348 lineto +107.3527 182.69348 lineto + closepath fill + 0 setgray +109.3527 175.9653 moveto +(Italian) ptmr8r 6.97382 fshow + 0.65794 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +89.31259 200.87112 lineto +89.31288 200.872 lineto +71.14847 197.21678 54.30876 188.28012 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +89.31259 200.87112 lineto +89.31288 200.872 lineto +71.14847 197.21678 54.30876 188.28012 41.01352 174.98485 curveto +23.2481 157.21938 13.26517 133.12529 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 1 setgray +newpath 52.06133 160.39368 moveto +78.5238 160.39368 lineto +78.5238 169.17068 lineto +52.06133 169.17068 lineto + closepath fill + 0 setgray +54.06133 162.4425 moveto +(German) ptmr8r 6.97382 fshow + 0.63249 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +23.9564 151.71791 lineto +23.95409 151.71907 23.95844 151.71936 23.95757 151.71762 curveto +16.99698 138.33765 13.26517 123.3612 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +23.9564 151.71791 lineto +23.95409 151.71907 23.95844 151.71936 23.95757 151.71762 curveto +16.99698 138.33765 13.26517 123.3612 13.26517 107.9991 curveto +13.26517 82.87318 23.2481 58.7791 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 1 setgray +newpath 22.04729 100.30289 moveto +52.00383 100.30289 lineto +52.00383 109.0799 lineto +22.04729 109.0799 lineto + closepath fill + 0 setgray +24.04729 102.35172 moveto +(unknown) ptmr8r 6.97382 fshow + 0.39116 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +28.3867 56.65414 lineto +28.38411 56.65271 28.38554 56.65791 28.387 56.6553 curveto +32.00143 51.05063 36.22473 45.80243 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 107.99883 107.9991 moveto +28.3867 56.65414 lineto +28.38411 56.65271 28.38554 56.65791 28.387 56.6553 curveto +32.00143 51.05063 36.22473 45.80243 41.01352 41.01363 curveto +58.77896 23.24815 82.87299 13.2652 107.99883 13.2652 curveto +133.12497 13.2652 157.219 23.24815 174.98442 41.01363 curveto +192.74986 58.7791 202.7325 82.87318 202.7325 107.9991 curveto +202.73221 107.9991 lineto +107.99883 107.9991 lineto + closepath stroke + 1 setgray +newpath 115.41487 34.72433 moveto +140.72665 34.72433 lineto +140.72665 44.9623 lineto +115.41487 44.9623 lineto + closepath fill + 0 setgray +117.41487 38.23412 moveto +(English) ptmr8r 6.97382 fshow + 1 setgray +newpath 0 0 moveto +71.9989 0 144.0011 0 216 0 curveto +216 71.9989 216 144.0011 216 216 curveto +144.0011 216 71.9989 216 0 216 curveto +0 144.0011 0 71.9989 0 0 curveto closepath stroke +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-11.mp b/usergrps/uktug/baskervi/7_1/0-0-11.mp new file mode 100644 index 0000000000..3784d00cff --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-11.mp @@ -0,0 +1,34 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +numeric r,last; path c,w; +r:=5; c:=fullcircle scaled 2r; +last:=0.0; +def wedge (expr lang,value,perc) = + numeric current,n,half,xoff,yoff; + picture p; + n:=perc*3.6; + current:=last+n; half:=last+(n/2); + w:=buildcycle((0,0)--(2r,0) rotated last, + c, (2r,0)--(0,0) rotated current); + gfill w withcolor + (0.8-(perc/100),0.8-(perc/100),0.8-(perc/100)); + gdraw w; + if perc > 5: + p = lang infont defaultfont + scaled defaultscale; + glabel(image(unfill bbox p; draw p), + 3/4r*dir(half)); + fi; + last:=current; +enddef; +draw begingraph(3in,3in); +defaultscale:=0.7; +gdata ("langs.dat",c, + wedge(c1, (scantokens c2), + (scantokens c3));); +autogrid(,); frame withcolor white; +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-11.pdf b/usergrps/uktug/baskervi/7_1/0-0-11.pdf new file mode 100644 index 0000000000..3f6286a4d7 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-11.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-12.eps b/usergrps/uktug/baskervi/7_1/0-0-12.eps new file mode 100644 index 0000000000..decb4f0c8e --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-12.eps @@ -0,0 +1,279 @@ +%!PS +%%BoundingBox: -12 -19 190 173 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 30:e1c +%*Font: ptmr8r 6.97382 9.96265 2d:80000e1337a00fbbffa8 +%%EndProlog +%%Page: 1 1 +/cmr10 /CMR10 def +/ptmr8r /Times-Roman def +/fshow {exch findfont exch scalefont setfont show}bind def +newpath 21.03734 5.77115 moveto +21.03734 2.78235 lineto +24.02614 2.78235 lineto +159.21675 2.78235 lineto +159.21675 5.77115 lineto +156.22795 5.77115 lineto + closepath fill +1.86687 1.93707 moveto +(Chest) ptmr8r 6.97382 fshow +newpath 37.04675 12.61392 moveto +37.04675 9.62512 lineto +40.03555 9.62512 lineto +171.07558 9.62512 lineto +171.07558 12.61392 lineto +168.08678 12.61392 lineto + closepath fill +19.04764 8.77985 moveto +(Head) ptmr8r 6.97382 fshow +newpath 37.6397 19.4567 moveto +37.6397 16.4679 lineto +40.6285 16.4679 lineto +155.6591 16.4679 lineto +155.6591 19.4567 lineto +152.6703 19.4567 lineto + closepath fill +11.87889 15.62262 moveto +(Column) ptmr8r 6.97382 fshow +newpath 42.97617 26.29947 moveto +42.97617 23.31067 lineto +45.96497 23.31067 lineto +171.07558 23.31067 lineto +171.07558 26.29947 lineto +168.08678 26.29947 lineto + closepath fill +-3.30148 23.19586 moveto +(Plaque-on-base) ptmr8r 6.97382 fshow +newpath 49.49852 33.14224 moveto +49.49852 30.15344 lineto +52.48732 30.15344 lineto +159.8097 30.15344 lineto +159.8097 33.14224 lineto +156.82089 33.14224 lineto + closepath fill +22.97075 29.30817 moveto +(Pedestal) ptmr8r 6.97382 fshow +newpath 54.24205 39.98502 moveto +54.24205 36.99622 lineto +57.23085 36.99622 lineto +170.48264 36.99622 lineto +170.48264 39.98502 lineto +167.49384 39.98502 lineto + closepath fill +2.14821 36.88141 moveto +(Plaque-in-ground) ptmr8r 6.97382 fshow +newpath 61.95029 46.82779 moveto +61.95029 43.83899 lineto +64.93909 43.83899 lineto +160.99557 43.83899 lineto +160.99557 46.82779 lineto +158.00677 46.82779 lineto + closepath fill +42.77975 42.99371 moveto +(Cross) ptmr8r 6.97382 fshow +newpath 66.69382 53.67056 moveto +66.69382 50.68176 lineto +69.68262 50.68176 lineto +167.51793 50.68176 lineto +167.51793 53.67056 lineto +164.52913 53.67056 lineto + closepath fill +43.6597 50.56697 moveto +(Ledger) ptmr8r 6.97382 fshow +newpath 67.8797 60.51334 moveto +67.8797 57.52454 lineto +70.8685 57.52454 lineto +141.42851 57.52454 lineto +141.42851 60.51334 lineto +138.43971 60.51334 lineto + closepath fill +40.18027 57.40973 moveto +(Building) ptmr8r 6.97382 fshow +newpath 70.25146 67.35611 moveto +70.25146 64.36731 lineto +73.24026 64.36731 lineto +168.11087 64.36731 lineto +168.11087 67.35611 lineto +165.12207 67.35611 lineto + closepath fill +24.35751 64.2525 moveto +(Plaque-on-wall) ptmr8r 6.97382 fshow +newpath 86.26088 74.19888 moveto +86.26088 71.21008 lineto +89.24968 71.21008 lineto +157.43793 71.21008 lineto +157.43793 74.19888 lineto +154.44913 74.19888 lineto + closepath fill +47.72412 71.09528 moveto +(Coped-stone) ptmr8r 6.97382 fshow +newpath 92.19029 81.04166 moveto +92.19029 78.05286 lineto +95.1791 78.05286 lineto +155.6591 78.05286 lineto +155.6591 81.04166 lineto +152.6703 81.04166 lineto + closepath fill +72.24571 77.2076 moveto +(Scroll) ptmr8r 6.97382 fshow +newpath 95.155 87.88443 moveto +95.155 84.89563 lineto +98.1438 84.89563 lineto +145.5791 84.89563 lineto +145.5791 87.88443 lineto +142.5903 87.88443 lineto + closepath fill +70.1753 84.05035 moveto +(Obelisk) ptmr8r 6.97382 fshow +newpath 98.1197 94.7272 moveto +98.1197 91.7384 lineto +101.1085 91.7384 lineto +124.82616 91.7384 lineto +124.82616 94.7272 lineto +121.83736 94.7272 lineto + closepath fill +78.95607 90.89314 moveto +(Other) ptmr8r 6.97382 fshow +newpath 100.49147 101.56998 moveto +100.49147 98.58118 lineto +103.48027 98.58118 lineto +136.09204 98.58118 lineto +136.09204 101.56998 lineto +133.10324 101.56998 lineto + closepath fill +76.68329 97.73592 moveto +(Wreath) ptmr8r 6.97382 fshow +newpath 101.67735 108.41275 moveto +101.67735 105.42395 lineto +104.66615 105.42395 lineto +163.96028 105.42395 lineto +163.96028 108.41275 lineto +160.97148 108.41275 lineto + closepath fill +80.95863 104.57867 moveto +(Statue) ptmr8r 6.97382 fshow +newpath 101.67735 115.25552 moveto +101.67735 112.26672 lineto +104.66615 112.26672 lineto +126.01204 112.26672 lineto +126.01204 115.25552 lineto +123.02324 115.25552 lineto + closepath fill +87.54869 111.5156 moveto +(Urn) ptmr8r 6.97382 fshow +newpath 103.45618 122.0983 moveto +103.45618 119.1095 lineto +106.44498 119.1095 lineto +157.43793 119.1095 lineto +157.43793 122.0983 lineto +154.44913 122.0983 lineto + closepath fill +77.31883 118.9947 moveto +(Ossuary) ptmr8r 6.97382 fshow +newpath 108.79265 128.94107 moveto +108.79265 125.95227 lineto +111.78145 125.95227 lineto +136.09204 125.95227 lineto +136.09204 128.94107 lineto +133.10324 128.94107 lineto + closepath fill +91.56766 125.107 moveto +(Kerb) ptmr8r 6.97382 fshow +newpath 111.75735 135.78384 moveto +111.75735 132.79504 lineto +114.74615 132.79504 lineto +158.62381 132.79504 lineto +158.62381 135.78384 lineto +155.63501 135.78384 lineto + closepath fill +93.3607 131.94977 moveto +(Book) ptmr8r 6.97382 fshow +newpath 122.4303 139.63782 moveto +125.4191 139.63782 lineto +125.4191 142.62662 lineto +122.4303 142.62662 lineto +122.4303 139.63782 lineto + closepath fill +105.20538 138.79254 moveto +(Arch) ptmr8r 6.97382 fshow +newpath 130.13853 149.46939 moveto +130.13853 146.48059 lineto +133.12733 146.48059 lineto +157.43793 146.48059 lineto +157.43793 149.46939 lineto +154.44913 149.46939 lineto + closepath fill +112.13245 145.63531 moveto +(Rock) ptmr8r 6.97382 fshow +newpath 130.73148 156.31216 moveto +130.73148 153.32336 lineto +133.72028 153.32336 lineto +137.27792 153.32336 lineto +137.27792 156.31216 lineto +134.28912 156.31216 lineto + closepath fill +113.89015 152.57224 moveto +(Urns) ptmr8r 6.97382 fshow +newpath 152.07736 160.16614 moveto +155.06616 160.16614 lineto +155.06616 163.15494 lineto +152.07736 163.15494 lineto +152.07736 160.16614 lineto + closepath fill +136.01709 159.41501 moveto +(Tree) ptmr8r 6.97382 fshow +newpath 152.6703 167.00891 moveto +155.6591 167.00891 lineto +155.6591 169.99771 lineto +152.6703 169.99771 lineto +152.6703 167.00891 lineto + closepath fill +102.89879 166.16364 moveto +(Column-on-base) ptmr8r 6.97382 fshow +newpath -0.24907 0.24907 moveto +-0.24907 -0.24907 lineto +0.24907 -0.24907 lineto +60.24815 -0.24907 120.24998 -0.24907 180.24907 -0.24907 curveto +180.24907 0.24907 lineto +179.75093 0.24907 lineto +119.75185 0.24907 59.75002 0.24907 -0.24907 0.24907 curveto closepath fill +newpath -0.24904 -7.24907 moveto +0.2491 -7.24907 lineto +0.2491 -6.75093 lineto +0.2491 0.24907 lineto +-0.24904 0.24907 lineto +-0.24904 -0.24907 lineto + closepath fill +-9.96265 -16.42036 moveto +(1700) cmr10 9.96265 fshow +newpath 59.04503 -7.24907 moveto +59.54317 -7.24907 lineto +59.54317 -6.75093 lineto +59.54317 0.24907 lineto +59.04503 0.24907 lineto +59.04503 -0.24907 lineto + closepath fill +49.33142 -16.42036 moveto +(1800) cmr10 9.96265 fshow +newpath 118.33917 -7.24907 moveto +118.83731 -7.24907 lineto +118.83731 -6.75093 lineto +118.83731 0.24907 lineto +118.33917 0.24907 lineto +118.33917 -0.24907 lineto + closepath fill +108.62556 -16.42036 moveto +(1900) cmr10 9.96265 fshow +newpath 177.63326 -7.24907 moveto +178.1314 -7.24907 lineto +178.1314 -6.75093 lineto +178.1314 0.24907 lineto +177.63326 0.24907 lineto +177.63326 -0.24907 lineto + closepath fill +167.91965 -16.42036 moveto +(2000) cmr10 9.96265 fshow +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-12.mp b/usergrps/uktug/baskervi/7_1/0-0-12.mp new file mode 100644 index 0000000000..b6ef464758 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-12.mp @@ -0,0 +1,20 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,2.5in); +n:=10; +defaultscale:=0.7; +pickup pensquare scaled 3pt; +setrange((1700,0),(whatever,whatever)); +gdata("stones.dat", s, +gdraw ((scantokens s2),n)-- + ((scantokens s3),n); +glabel.lft(s1,(scantokens s2)-3,n); +n:=n+16;); +pickup pensquare scaled .5pt; +frame.bot; +autogrid(otick.bot,); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-12.pdf b/usergrps/uktug/baskervi/7_1/0-0-12.pdf new file mode 100644 index 0000000000..d6aab17701 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-12.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-13.eps b/usergrps/uktug/baskervi/7_1/0-0-13.eps new file mode 100644 index 0000000000..3c077000b6 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-13.eps @@ -0,0 +1,918 @@ +%!PS +%%BoundingBox: -3 -3 201 230 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: ptmr8r 6.97382 9.96265 30:ffc +%%EndProlog +%%Page: 1 1 +/ptmr8r /Times-Roman def +/fshow {exch findfont exch scalefont setfont show}bind def + 0.85 setgray 0 0 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinejoin 10 setmiterlimit +newpath 0.0001 0.0001 moveto +22.04738 0.0001 lineto +22.04738 22.67726 lineto +0.0001 22.67726 lineto + closepath +gsave fill grestore stroke + 0 setgray +5.79337 8.99901 moveto +(102) ptmr8r 6.97382 fshow + 0.98 setgray +newpath 0.0001 22.67726 moveto +22.04738 22.67726 lineto +22.04738 45.35442 lineto +0.0001 45.35442 lineto + closepath +gsave fill grestore stroke + 0 setgray +7.53683 31.67616 moveto +(10) ptmr8r 6.97382 fshow + 0.84 setgray +newpath 0.0001 45.35442 moveto +22.04738 45.35442 lineto +22.04738 68.03157 lineto +0.0001 68.03157 lineto + closepath +gsave fill grestore stroke + 0 setgray +5.79337 54.35332 moveto +(110) ptmr8r 6.97382 fshow + 0.83 setgray +newpath 0.0001 68.03157 moveto +22.04738 68.03157 lineto +22.04738 90.70872 lineto +0.0001 90.70872 lineto + closepath +gsave fill grestore stroke + 0 setgray +5.79337 77.00606 moveto +(112) ptmr8r 6.97382 fshow + 0.83 setgray +newpath 0.0001 90.70872 moveto +22.04738 90.70872 lineto +22.04738 113.38588 lineto +0.0001 113.38588 lineto + closepath +gsave fill grestore stroke + 0 setgray +5.79337 99.68321 moveto +(114) ptmr8r 6.97382 fshow + 0.82 setgray +newpath 0.0001 113.38588 moveto +22.04738 113.38588 lineto +22.04738 136.06303 lineto +0.0001 136.06303 lineto + closepath +gsave fill grestore stroke + 0 setgray +5.79337 122.38478 moveto +(118) ptmr8r 6.97382 fshow + 0.82 setgray +newpath 0.0001 136.06303 moveto +22.04738 136.06303 lineto +22.04738 158.74019 lineto +0.0001 158.74019 lineto + closepath +gsave fill grestore stroke + 0 setgray +5.79337 145.06194 moveto +(119) ptmr8r 6.97382 fshow + 0.98 setgray +newpath 0.0001 158.74019 moveto +22.04738 158.74019 lineto +22.04738 181.41734 lineto +0.0001 181.41734 lineto + closepath +gsave fill grestore stroke + 0 setgray +7.53683 167.71468 moveto +(11) ptmr8r 6.97382 fshow + 0.82 setgray +newpath 0.0001 181.41734 moveto +22.04738 181.41734 lineto +22.04738 204.0945 lineto +0.0001 204.0945 lineto + closepath +gsave fill grestore stroke + 0 setgray +5.79337 190.39183 moveto +(122) ptmr8r 6.97382 fshow + 0.81 setgray +newpath 0.0001 204.0945 moveto +22.04738 204.0945 lineto +22.04738 226.77165 lineto +0.0001 226.77165 lineto + closepath +gsave fill grestore stroke + 0 setgray +5.79337 213.0934 moveto +(128) ptmr8r 6.97382 fshow + 0.98 setgray +newpath 22.04738 0.0001 moveto +44.09465 0.0001 lineto +44.09465 22.67726 lineto +22.04738 22.67726 lineto + closepath +gsave fill grestore stroke + 0 setgray +29.5841 8.9746 moveto +(12) ptmr8r 6.97382 fshow + 0.81 setgray +newpath 22.04738 22.67726 moveto +44.09465 22.67726 lineto +44.09465 45.35442 lineto +22.04738 45.35442 lineto + closepath +gsave fill grestore stroke + 0 setgray +27.84064 31.67616 moveto +(130) ptmr8r 6.97382 fshow + 0.8 setgray +newpath 22.04738 45.35442 moveto +44.09465 45.35442 lineto +44.09465 68.03157 lineto +22.04738 68.03157 lineto + closepath +gsave fill grestore stroke + 0 setgray +27.84064 54.35332 moveto +(135) ptmr8r 6.97382 fshow + 0.8 setgray +newpath 22.04738 68.03157 moveto +44.09465 68.03157 lineto +44.09465 90.70872 lineto +22.04738 90.70872 lineto + closepath +gsave fill grestore stroke + 0 setgray +27.84064 77.03047 moveto +(138) ptmr8r 6.97382 fshow + 0.98 setgray +newpath 22.04738 90.70872 moveto +44.09465 90.70872 lineto +44.09465 113.38588 lineto +22.04738 113.38588 lineto + closepath +gsave fill grestore stroke + 0 setgray +29.5841 99.70763 moveto +(13) ptmr8r 6.97382 fshow + 0.79 setgray +newpath 22.04738 113.38588 moveto +44.09465 113.38588 lineto +44.09465 136.06303 lineto +22.04738 136.06303 lineto + closepath +gsave fill grestore stroke + 0 setgray +27.84064 122.36037 moveto +(141) ptmr8r 6.97382 fshow + 0.79 setgray +newpath 22.04738 136.06303 moveto +44.09465 136.06303 lineto +44.09465 158.74019 lineto +22.04738 158.74019 lineto + closepath +gsave fill grestore stroke + 0 setgray +27.84064 145.03752 moveto +(142) ptmr8r 6.97382 fshow + 0.79 setgray +newpath 22.04738 158.74019 moveto +44.09465 158.74019 lineto +44.09465 181.41734 lineto +22.04738 181.41734 lineto + closepath +gsave fill grestore stroke + 0 setgray +27.84064 167.71468 moveto +(144) ptmr8r 6.97382 fshow + 0.97 setgray +newpath 22.04738 181.41734 moveto +44.09465 181.41734 lineto +44.09465 204.0945 lineto +22.04738 204.0945 lineto + closepath +gsave fill grestore stroke + 0 setgray +29.5841 190.39183 moveto +(14) ptmr8r 6.97382 fshow + 0.77 setgray +newpath 22.04738 204.0945 moveto +44.09465 204.0945 lineto +44.09465 226.77165 lineto +22.04738 226.77165 lineto + closepath +gsave fill grestore stroke + 0 setgray +27.84064 213.0934 moveto +(159) ptmr8r 6.97382 fshow + 0.97 setgray +newpath 44.09465 0.0001 moveto +66.14192 0.0001 lineto +66.14192 22.67726 lineto +44.09465 22.67726 lineto + closepath +gsave fill grestore stroke + 0 setgray +51.63138 8.99901 moveto +(15) ptmr8r 6.97382 fshow + 0.76 setgray +newpath 44.09465 22.67726 moveto +66.14192 22.67726 lineto +66.14192 45.35442 lineto +44.09465 45.35442 lineto + closepath +gsave fill grestore stroke + 0 setgray +49.88791 31.67616 moveto +(160) ptmr8r 6.97382 fshow + 0.76 setgray +newpath 44.09465 45.35442 moveto +66.14192 45.35442 lineto +66.14192 68.03157 lineto +44.09465 68.03157 lineto + closepath +gsave fill grestore stroke + 0 setgray +49.88791 54.35332 moveto +(162) ptmr8r 6.97382 fshow + 0.75 setgray +newpath 44.09465 68.03157 moveto +66.14192 68.03157 lineto +66.14192 90.70872 lineto +44.09465 90.70872 lineto + closepath +gsave fill grestore stroke + 0 setgray +49.88791 77.03047 moveto +(167) ptmr8r 6.97382 fshow + 0.97 setgray +newpath 44.09465 90.70872 moveto +66.14192 90.70872 lineto +66.14192 113.38588 lineto +44.09465 113.38588 lineto + closepath +gsave fill grestore stroke + 0 setgray +51.63138 99.70763 moveto +(16) ptmr8r 6.97382 fshow + 0.74 setgray +newpath 44.09465 113.38588 moveto +66.14192 113.38588 lineto +66.14192 136.06303 lineto +44.09465 136.06303 lineto + closepath +gsave fill grestore stroke + 0 setgray +49.88791 122.38478 moveto +(175) ptmr8r 6.97382 fshow + 0.74 setgray +newpath 44.09465 136.06303 moveto +66.14192 136.06303 lineto +66.14192 158.74019 lineto +44.09465 158.74019 lineto + closepath +gsave fill grestore stroke + 0 setgray +49.88791 145.06194 moveto +(176) ptmr8r 6.97382 fshow + 0.97 setgray +newpath 44.09465 158.74019 moveto +66.14192 158.74019 lineto +66.14192 181.41734 lineto +44.09465 181.41734 lineto + closepath +gsave fill grestore stroke + 0 setgray +51.63138 167.73909 moveto +(17) ptmr8r 6.97382 fshow + 0.73 setgray +newpath 44.09465 181.41734 moveto +66.14192 181.41734 lineto +66.14192 204.0945 lineto +44.09465 204.0945 lineto + closepath +gsave fill grestore stroke + 0 setgray +49.88791 190.41624 moveto +(181) ptmr8r 6.97382 fshow + 0.73 setgray +newpath 44.09465 204.0945 moveto +66.14192 204.0945 lineto +66.14192 226.77165 lineto +44.09465 226.77165 lineto + closepath +gsave fill grestore stroke + 0 setgray +49.88791 213.0934 moveto +(187) ptmr8r 6.97382 fshow + 0.72 setgray +newpath 66.14192 0.0001 moveto +88.1892 0.0001 lineto +88.1892 22.67726 lineto +66.14192 22.67726 lineto + closepath +gsave fill grestore stroke + 0 setgray +71.93518 8.99901 moveto +(193) ptmr8r 6.97382 fshow + 0.71 setgray +newpath 66.14192 22.67726 moveto +88.1892 22.67726 lineto +88.1892 45.35442 lineto +66.14192 45.35442 lineto + closepath +gsave fill grestore stroke + 0 setgray +71.93518 31.67616 moveto +(197) ptmr8r 6.97382 fshow + 0.71 setgray +newpath 66.14192 45.35442 moveto +88.1892 45.35442 lineto +88.1892 68.03157 lineto +66.14192 68.03157 lineto + closepath +gsave fill grestore stroke + 0 setgray +71.93518 54.35332 moveto +(199) ptmr8r 6.97382 fshow + 0.97 setgray +newpath 66.14192 68.03157 moveto +88.1892 68.03157 lineto +88.1892 90.70872 lineto +66.14192 90.70872 lineto + closepath +gsave fill grestore stroke + 0 setgray +73.67865 77.03047 moveto +(19) ptmr8r 6.97382 fshow + 0.99 setgray +newpath 66.14192 90.70872 moveto +88.1892 90.70872 lineto +88.1892 113.38588 lineto +66.14192 113.38588 lineto + closepath +gsave fill grestore stroke + 0 setgray +75.4221 99.68321 moveto +(1) ptmr8r 6.97382 fshow + 0.97 setgray +newpath 66.14192 113.38588 moveto +88.1892 113.38588 lineto +88.1892 136.06303 lineto +66.14192 136.06303 lineto + closepath +gsave fill grestore stroke + 0 setgray +73.67865 122.38478 moveto +(20) ptmr8r 6.97382 fshow + 0.68 setgray +newpath 66.14192 136.06303 moveto +88.1892 136.06303 lineto +88.1892 158.74019 lineto +66.14192 158.74019 lineto + closepath +gsave fill grestore stroke + 0 setgray +71.93518 145.06194 moveto +(215) ptmr8r 6.97382 fshow + 0.96 setgray +newpath 66.14192 158.74019 moveto +88.1892 158.74019 lineto +88.1892 181.41734 lineto +66.14192 181.41734 lineto + closepath +gsave fill grestore stroke + 0 setgray +73.67865 167.71468 moveto +(22) ptmr8r 6.97382 fshow + 0.96 setgray +newpath 66.14192 181.41734 moveto +88.1892 181.41734 lineto +88.1892 204.0945 lineto +66.14192 204.0945 lineto + closepath +gsave fill grestore stroke + 0 setgray +73.67865 190.41624 moveto +(23) ptmr8r 6.97382 fshow + 0.64 setgray +newpath 66.14192 204.0945 moveto +88.1892 204.0945 lineto +88.1892 226.77165 lineto +66.14192 226.77165 lineto + closepath +gsave fill grestore stroke + 0 setgray +71.93518 213.0934 moveto +(247) ptmr8r 6.97382 fshow + 0.96 setgray +newpath 88.1892 0.0001 moveto +110.23647 0.0001 lineto +110.23647 22.67726 lineto +88.1892 22.67726 lineto + closepath +gsave fill grestore stroke + 0 setgray +95.72592 8.9746 moveto +(24) ptmr8r 6.97382 fshow + 0.6 setgray +newpath 88.1892 22.67726 moveto +110.23647 22.67726 lineto +110.23647 45.35442 lineto +88.1892 45.35442 lineto + closepath +gsave fill grestore stroke + 0 setgray +93.98245 31.67616 moveto +(275) ptmr8r 6.97382 fshow + 0.96 setgray +newpath 88.1892 45.35442 moveto +110.23647 45.35442 lineto +110.23647 68.03157 lineto +88.1892 68.03157 lineto + closepath +gsave fill grestore stroke + 0 setgray +95.72592 54.35332 moveto +(27) ptmr8r 6.97382 fshow + 0.95 setgray +newpath 88.1892 68.03157 moveto +110.23647 68.03157 lineto +110.23647 90.70872 lineto +88.1892 90.70872 lineto + closepath +gsave fill grestore stroke + 0 setgray +95.72592 77.03047 moveto +(28) ptmr8r 6.97382 fshow + 0.58 setgray +newpath 88.1892 90.70872 moveto +110.23647 90.70872 lineto +110.23647 113.38588 lineto +88.1892 113.38588 lineto + closepath +gsave fill grestore stroke + 0 setgray +93.98245 99.70763 moveto +(290) ptmr8r 6.97382 fshow + 0.57 setgray +newpath 88.1892 113.38588 moveto +110.23647 113.38588 lineto +110.23647 136.06303 lineto +88.1892 136.06303 lineto + closepath +gsave fill grestore stroke + 0 setgray +93.98245 122.38478 moveto +(296) ptmr8r 6.97382 fshow + 0.99 setgray +newpath 88.1892 136.06303 moveto +110.23647 136.06303 lineto +110.23647 158.74019 lineto +88.1892 158.74019 lineto + closepath +gsave fill grestore stroke + 0 setgray +97.46938 145.03752 moveto +(2) ptmr8r 6.97382 fshow + 0.54 setgray +newpath 88.1892 158.74019 moveto +110.23647 158.74019 lineto +110.23647 181.41734 lineto +88.1892 181.41734 lineto + closepath +gsave fill grestore stroke + 0 setgray +93.98245 167.73909 moveto +(312) ptmr8r 6.97382 fshow + 0.95 setgray +newpath 88.1892 181.41734 moveto +110.23647 181.41734 lineto +110.23647 204.0945 lineto +88.1892 204.0945 lineto + closepath +gsave fill grestore stroke + 0 setgray +95.72592 190.41624 moveto +(32) ptmr8r 6.97382 fshow + 0.95 setgray +newpath 110.23647 204.0945 moveto +132.28374 204.0945 lineto +132.28374 226.77165 lineto +110.23647 226.77165 lineto + closepath +gsave fill grestore stroke + 0 setgray +117.7732 213.0934 moveto +(33) ptmr8r 6.97382 fshow + 0.95 setgray +newpath 110.23647 0.0001 moveto +132.28374 0.0001 lineto +132.28374 22.67726 lineto +110.23647 22.67726 lineto + closepath +gsave fill grestore stroke + 0 setgray +117.7732 8.99901 moveto +(34) ptmr8r 6.97382 fshow + 0.94 setgray +newpath 110.23647 22.67726 moveto +132.28374 22.67726 lineto +132.28374 45.35442 lineto +110.23647 45.35442 lineto + closepath +gsave fill grestore stroke + 0 setgray +117.7732 31.67616 moveto +(35) ptmr8r 6.97382 fshow + 0.94 setgray +newpath 110.23647 45.35442 moveto +132.28374 45.35442 lineto +132.28374 68.03157 lineto +110.23647 68.03157 lineto + closepath +gsave fill grestore stroke + 0 setgray +117.7732 54.35332 moveto +(39) ptmr8r 6.97382 fshow + 0.99 setgray +newpath 110.23647 68.03157 moveto +132.28374 68.03157 lineto +132.28374 90.70872 lineto +110.23647 90.70872 lineto + closepath +gsave fill grestore stroke + 0 setgray +119.51665 77.03047 moveto +(3) ptmr8r 6.97382 fshow + 0.94 setgray +newpath 110.23647 90.70872 moveto +132.28374 90.70872 lineto +132.28374 113.38588 lineto +110.23647 113.38588 lineto + closepath +gsave fill grestore stroke + 0 setgray +117.7732 99.70763 moveto +(40) ptmr8r 6.97382 fshow + 0.94 setgray +newpath 110.23647 113.38588 moveto +132.28374 113.38588 lineto +132.28374 136.06303 lineto +110.23647 136.06303 lineto + closepath +gsave fill grestore stroke + 0 setgray +117.7732 122.36037 moveto +(41) ptmr8r 6.97382 fshow + 0.37 setgray +newpath 110.23647 136.06303 moveto +132.28374 136.06303 lineto +132.28374 158.74019 lineto +110.23647 158.74019 lineto + closepath +gsave fill grestore stroke + 1 setgray +116.02972 145.06194 moveto +(433) ptmr8r 6.97382 fshow + 0.93 setgray +newpath 110.23647 158.74019 moveto +132.28374 158.74019 lineto +132.28374 181.41734 lineto +110.23647 181.41734 lineto + closepath +gsave fill grestore stroke + 0 setgray +117.7732 167.71468 moveto +(44) ptmr8r 6.97382 fshow + 0.93 setgray +newpath 110.23647 181.41734 moveto +132.28374 181.41734 lineto +132.28374 204.0945 lineto +110.23647 204.0945 lineto + closepath +gsave fill grestore stroke + 0 setgray +117.7732 190.41624 moveto +(45) ptmr8r 6.97382 fshow + 0.31 setgray +newpath 110.23647 204.0945 moveto +132.28374 204.0945 lineto +132.28374 226.77165 lineto +110.23647 226.77165 lineto + closepath +gsave fill grestore stroke + 1 setgray +116.02972 213.0934 moveto +(474) ptmr8r 6.97382 fshow + 0.93 setgray +newpath 132.28374 0.0001 moveto +154.33101 0.0001 lineto +154.33101 22.67726 lineto +132.28374 22.67726 lineto + closepath +gsave fill grestore stroke + 0 setgray +139.82047 8.99901 moveto +(47) ptmr8r 6.97382 fshow + 0.93 setgray +newpath 132.28374 22.67726 moveto +154.33101 22.67726 lineto +154.33101 45.35442 lineto +132.28374 45.35442 lineto + closepath +gsave fill grestore stroke + 0 setgray +139.82047 31.67616 moveto +(48) ptmr8r 6.97382 fshow + 0.26 setgray +newpath 132.28374 45.35442 moveto +154.33101 45.35442 lineto +154.33101 68.03157 lineto +132.28374 68.03157 lineto + closepath +gsave fill grestore stroke + 1 setgray +138.077 54.35332 moveto +(506) ptmr8r 6.97382 fshow + 0.92 setgray +newpath 132.28374 68.03157 moveto +154.33101 68.03157 lineto +154.33101 90.70872 lineto +132.28374 90.70872 lineto + closepath +gsave fill grestore stroke + 0 setgray +139.82047 77.03047 moveto +(50) ptmr8r 6.97382 fshow + 0.92 setgray +newpath 132.28374 90.70872 moveto +154.33101 90.70872 lineto +154.33101 113.38588 lineto +132.28374 113.38588 lineto + closepath +gsave fill grestore stroke + 0 setgray +139.82047 99.70763 moveto +(53) ptmr8r 6.97382 fshow + 0.92 setgray +newpath 132.28374 113.38588 moveto +154.33101 113.38588 lineto +154.33101 136.06303 lineto +132.28374 136.06303 lineto + closepath +gsave fill grestore stroke + 0 setgray +139.82047 122.38478 moveto +(55) ptmr8r 6.97382 fshow + 0.91 setgray +newpath 132.28374 136.06303 moveto +154.33101 136.06303 lineto +154.33101 158.74019 lineto +132.28374 158.74019 lineto + closepath +gsave fill grestore stroke + 0 setgray +139.82047 145.06194 moveto +(57) ptmr8r 6.97382 fshow + 0.91 setgray +newpath 132.28374 158.74019 moveto +154.33101 158.74019 lineto +154.33101 181.41734 lineto +132.28374 181.41734 lineto + closepath +gsave fill grestore stroke + 0 setgray +139.82047 167.73909 moveto +(60) ptmr8r 6.97382 fshow + 0.1 setgray +newpath 132.28374 181.41734 moveto +154.33101 181.41734 lineto +154.33101 204.0945 lineto +132.28374 204.0945 lineto + closepath +gsave fill grestore stroke + 1 setgray +138.077 190.41624 moveto +(618) ptmr8r 6.97382 fshow + 0.91 setgray +newpath 132.28374 204.0945 moveto +154.33101 204.0945 lineto +154.33101 226.77165 lineto +132.28374 226.77165 lineto + closepath +gsave fill grestore stroke + 0 setgray +139.82047 213.0934 moveto +(62) ptmr8r 6.97382 fshow + 0.08 setgray +newpath 154.33101 0.0001 moveto +176.37828 0.0001 lineto +176.37828 22.67726 lineto +154.33101 22.67726 lineto + closepath +gsave fill grestore stroke + 1 setgray +160.12427 8.99901 moveto +(634) ptmr8r 6.97382 fshow + 0.08 setgray +newpath 154.33101 22.67726 moveto +176.37828 22.67726 lineto +176.37828 45.35442 lineto +154.33101 45.35442 lineto + closepath +gsave fill grestore stroke + 1 setgray +160.12427 31.67616 moveto +(636) ptmr8r 6.97382 fshow + 0.9 setgray +newpath 154.33101 45.35442 moveto +176.37828 45.35442 lineto +176.37828 68.03157 lineto +154.33101 68.03157 lineto + closepath +gsave fill grestore stroke + 0 setgray +161.86774 54.35332 moveto +(64) ptmr8r 6.97382 fshow + 0.9 setgray +newpath 154.33101 68.03157 moveto +176.37828 68.03157 lineto +176.37828 90.70872 lineto +154.33101 90.70872 lineto + closepath +gsave fill grestore stroke + 0 setgray +161.86774 77.03047 moveto +(67) ptmr8r 6.97382 fshow + 0.9 setgray +newpath 154.33101 90.70872 moveto +176.37828 90.70872 lineto +176.37828 113.38588 lineto +154.33101 113.38588 lineto + closepath +gsave fill grestore stroke + 0 setgray +161.86774 99.70763 moveto +(68) ptmr8r 6.97382 fshow +newpath 154.33101 113.38588 moveto +176.37828 113.38588 lineto +176.37828 136.06303 lineto +154.33101 136.06303 lineto + closepath +gsave fill grestore stroke + 1 setgray +160.12427 122.38478 moveto +(693) ptmr8r 6.97382 fshow + 0.99 setgray +newpath 154.33101 136.06303 moveto +176.37828 136.06303 lineto +176.37828 158.74019 lineto +154.33101 158.74019 lineto + closepath +gsave fill grestore stroke + 0 setgray +163.61119 145.06194 moveto +(6) ptmr8r 6.97382 fshow + 0.89 setgray +newpath 154.33101 158.74019 moveto +176.37828 158.74019 lineto +176.37828 181.41734 lineto +154.33101 181.41734 lineto + closepath +gsave fill grestore stroke + 0 setgray +161.86774 167.73909 moveto +(73) ptmr8r 6.97382 fshow + 0.89 setgray +newpath 154.33101 181.41734 moveto +176.37828 181.41734 lineto +176.37828 204.0945 lineto +154.33101 204.0945 lineto + closepath +gsave fill grestore stroke + 0 setgray +161.86774 190.41624 moveto +(74) ptmr8r 6.97382 fshow + 0.88 setgray +newpath 154.33101 204.0945 moveto +176.37828 204.0945 lineto +176.37828 226.77165 lineto +154.33101 226.77165 lineto + closepath +gsave fill grestore stroke + 0 setgray +161.86774 213.0934 moveto +(78) ptmr8r 6.97382 fshow + 0.88 setgray +newpath 176.37828 0.0001 moveto +198.42555 0.0001 lineto +198.42555 22.67726 lineto +176.37828 22.67726 lineto + closepath +gsave fill grestore stroke + 0 setgray +183.91501 8.99901 moveto +(79) ptmr8r 6.97382 fshow + 0.98 setgray +newpath 176.37828 22.67726 moveto +198.42555 22.67726 lineto +198.42555 45.35442 lineto +176.37828 45.35442 lineto + closepath +gsave fill grestore stroke + 0 setgray +185.65846 31.77031 moveto +(7) ptmr8r 6.97382 fshow + 0.88 setgray +newpath 176.37828 45.35442 moveto +198.42555 45.35442 lineto +198.42555 68.03157 lineto +176.37828 68.03157 lineto + closepath +gsave fill grestore stroke + 0 setgray +183.91501 54.35332 moveto +(80) ptmr8r 6.97382 fshow + 0.88 setgray +newpath 176.37828 68.03157 moveto +198.42555 68.03157 lineto +198.42555 90.70872 lineto +176.37828 90.70872 lineto + closepath +gsave fill grestore stroke + 0 setgray +183.91501 77.03047 moveto +(81) ptmr8r 6.97382 fshow + 0.87 setgray +newpath 176.37828 90.70872 moveto +198.42555 90.70872 lineto +198.42555 113.38588 lineto +176.37828 113.38588 lineto + closepath +gsave fill grestore stroke + 0 setgray +183.91501 99.70763 moveto +(85) ptmr8r 6.97382 fshow + 0.98 setgray +newpath 176.37828 113.38588 moveto +198.42555 113.38588 lineto +198.42555 136.06303 lineto +176.37828 136.06303 lineto + closepath +gsave fill grestore stroke + 0 setgray +185.65846 122.38478 moveto +(8) ptmr8r 6.97382 fshow + 0.86 setgray +newpath 176.37828 136.06303 moveto +198.42555 136.06303 lineto +198.42555 158.74019 lineto +176.37828 158.74019 lineto + closepath +gsave fill grestore stroke + 0 setgray +183.91501 145.06194 moveto +(92) ptmr8r 6.97382 fshow + 0.86 setgray +newpath 176.37828 158.74019 moveto +198.42555 158.74019 lineto +198.42555 181.41734 lineto +176.37828 181.41734 lineto + closepath +gsave fill grestore stroke + 0 setgray +183.91501 167.73909 moveto +(93) ptmr8r 6.97382 fshow + 0.85 setgray +newpath 176.37828 181.41734 moveto +198.42555 181.41734 lineto +198.42555 204.0945 lineto +176.37828 204.0945 lineto + closepath +gsave fill grestore stroke + 0 setgray +183.91501 190.41624 moveto +(98) ptmr8r 6.97382 fshow + 0.98 setgray +newpath 176.37828 204.0945 moveto +198.42555 204.0945 lineto +198.42555 226.77165 lineto +176.37828 226.77165 lineto + closepath +gsave fill grestore stroke + 0 setgray +185.65846 213.0934 moveto +(9) ptmr8r 6.97382 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 0 0 moveto +66.14061 0 132.28423 0 198.42484 0 curveto +198.42484 75.58926 198.42484 151.18198 198.42484 226.77124 curveto +132.28423 226.77124 66.14061 226.77124 0 226.77124 curveto +0 151.18198 0 75.58926 0 0 curveto closepath stroke +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-13.mp b/usergrps/uktug/baskervi/7_1/0-0-13.mp new file mode 100644 index 0000000000..276cfa4647 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-13.mp @@ -0,0 +1,22 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +def sq(expr x,y,num,perc) = + gfill(x,y)--(x+10,y)-- + (x+10,y+10)--(x,y+10)--cycle + withcolor (perc/100,perc/100,perc/100); + glabel(num,(x+5,y+5)) + if perc < 50: withcolor white fi; +enddef; +defaultscale:=0.7; +draw begingraph(70mm,80mm); +setrange((20,10),(110,110)); +autogrid(,); +gdata ("pot.dat",c, + sq((scantokens c1)*10, + (scantokens c2)*10, + c3, (scantokens c4));); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-13.pdf b/usergrps/uktug/baskervi/7_1/0-0-13.pdf new file mode 100644 index 0000000000..d133205568 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-13.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-2.eps b/usergrps/uktug/baskervi/7_1/0-0-2.eps new file mode 100644 index 0000000000..c5d1a11a87 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-2.eps @@ -0,0 +1,746 @@ +%!PS +%%BoundingBox: -32 -29 183 129 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: cmsy10 9.96265 9.96265 0e:c +%*Font: cmr10 9.96265 9.96265 30:f4c020020000644c34 +%%EndProlog +%%Page: 1 1 +/cmsy10 /CMSY10 def +/cmr10 /CMR10 def +/fshow {exch findfont exch scalefont setfont show}bind def +11.05379 7.73778 moveto +(\017) cmsy10 9.96265 fshow +12.7794 11.68509 moveto +(\017) cmsy10 9.96265 fshow +23.133 11.68509 moveto +(\017) cmsy10 9.96265 fshow +23.99591 7.73778 moveto +(\017) cmsy10 9.96265 fshow +24.85873 27.47433 moveto +(\017) cmsy10 9.96265 fshow +25.72147 7.73778 moveto +(\017) cmsy10 9.96265 fshow +26.5843 23.52702 moveto +(\017) cmsy10 9.96265 fshow +27.44705 7.73778 moveto +(\017) cmsy10 9.96265 fshow +28.30989 11.68509 moveto +(\017) cmsy10 9.96265 fshow +29.17264 11.68509 moveto +(\017) cmsy10 9.96265 fshow +30.89825 11.68509 moveto +(\017) cmsy10 9.96265 fshow +31.76111 23.52702 moveto +(\017) cmsy10 9.96265 fshow +32.6239 11.68509 moveto +(\017) cmsy10 9.96265 fshow +33.48676 27.47433 moveto +(\017) cmsy10 9.96265 fshow +34.34953 15.6324 moveto +(\017) cmsy10 9.96265 fshow +35.21239 15.6324 moveto +(\017) cmsy10 9.96265 fshow +36.07515 11.68509 moveto +(\017) cmsy10 9.96265 fshow +36.93803 15.6324 moveto +(\017) cmsy10 9.96265 fshow +37.8008 15.6324 moveto +(\017) cmsy10 9.96265 fshow +38.66367 11.68509 moveto +(\017) cmsy10 9.96265 fshow +39.52644 19.57971 moveto +(\017) cmsy10 9.96265 fshow +40.38911 15.6324 moveto +(\017) cmsy10 9.96265 fshow +41.25208 19.57971 moveto +(\017) cmsy10 9.96265 fshow +42.11472 19.57971 moveto +(\017) cmsy10 9.96265 fshow +42.97768 31.42165 moveto +(\017) cmsy10 9.96265 fshow +43.84033 31.42165 moveto +(\017) cmsy10 9.96265 fshow +44.70328 35.36896 moveto +(\017) cmsy10 9.96265 fshow +45.56612 31.42165 moveto +(\017) cmsy10 9.96265 fshow +46.42885 55.10551 moveto +(\017) cmsy10 9.96265 fshow +47.29167 31.42165 moveto +(\017) cmsy10 9.96265 fshow +48.1544 11.68509 moveto +(\017) cmsy10 9.96265 fshow +49.01723 35.36896 moveto +(\017) cmsy10 9.96265 fshow +49.88011 31.42165 moveto +(\017) cmsy10 9.96265 fshow +50.7429 11.68509 moveto +(\017) cmsy10 9.96265 fshow +51.6058 23.52702 moveto +(\017) cmsy10 9.96265 fshow +52.46858 19.57971 moveto +(\017) cmsy10 9.96265 fshow +53.33125 19.57971 moveto +(\017) cmsy10 9.96265 fshow +54.1942 27.47433 moveto +(\017) cmsy10 9.96265 fshow +55.05684 23.52702 moveto +(\017) cmsy10 9.96265 fshow +55.91977 19.57971 moveto +(\017) cmsy10 9.96265 fshow +56.7826 15.6324 moveto +(\017) cmsy10 9.96265 fshow +57.64531 11.68509 moveto +(\017) cmsy10 9.96265 fshow +58.5081 23.52702 moveto +(\017) cmsy10 9.96265 fshow +59.37097 27.47433 moveto +(\017) cmsy10 9.96265 fshow +60.23375 15.6324 moveto +(\017) cmsy10 9.96265 fshow +61.09659 35.36896 moveto +(\017) cmsy10 9.96265 fshow +61.95932 23.52702 moveto +(\017) cmsy10 9.96265 fshow +62.82214 19.57971 moveto +(\017) cmsy10 9.96265 fshow +63.68504 39.31627 moveto +(\017) cmsy10 9.96265 fshow +64.54782 19.57971 moveto +(\017) cmsy10 9.96265 fshow +65.4107 27.47433 moveto +(\017) cmsy10 9.96265 fshow +66.27344 23.52702 moveto +(\017) cmsy10 9.96265 fshow +67.13626 31.42165 moveto +(\017) cmsy10 9.96265 fshow +67.99898 23.52702 moveto +(\017) cmsy10 9.96265 fshow +68.86177 31.42165 moveto +(\017) cmsy10 9.96265 fshow +69.72466 55.10551 moveto +(\017) cmsy10 9.96265 fshow +70.5874 90.63132 moveto +(\017) cmsy10 9.96265 fshow +71.45023 59.05283 moveto +(\017) cmsy10 9.96265 fshow +72.31313 74.84207 moveto +(\017) cmsy10 9.96265 fshow +73.17592 43.26358 moveto +(\017) cmsy10 9.96265 fshow +74.03879 78.78938 moveto +(\017) cmsy10 9.96265 fshow +74.90152 39.31627 moveto +(\017) cmsy10 9.96265 fshow +75.76434 66.94745 moveto +(\017) cmsy10 9.96265 fshow +76.62723 59.05283 moveto +(\017) cmsy10 9.96265 fshow +77.49 63.00014 moveto +(\017) cmsy10 9.96265 fshow +78.35284 59.05283 moveto +(\017) cmsy10 9.96265 fshow +79.21556 70.89476 moveto +(\017) cmsy10 9.96265 fshow +80.07834 110.36787 moveto +(\017) cmsy10 9.96265 fshow +80.9412 51.1582 moveto +(\017) cmsy10 9.96265 fshow +81.80392 55.10551 moveto +(\017) cmsy10 9.96265 fshow +82.66673 23.52702 moveto +(\017) cmsy10 9.96265 fshow +83.52962 55.10551 moveto +(\017) cmsy10 9.96265 fshow +84.39236 82.7367 moveto +(\017) cmsy10 9.96265 fshow +85.25519 35.36896 moveto +(\017) cmsy10 9.96265 fshow +86.11806 31.42165 moveto +(\017) cmsy10 9.96265 fshow +86.98083 63.00014 moveto +(\017) cmsy10 9.96265 fshow +87.84366 63.00014 moveto +(\017) cmsy10 9.96265 fshow +88.70654 47.21089 moveto +(\017) cmsy10 9.96265 fshow +89.56932 70.89476 moveto +(\017) cmsy10 9.96265 fshow +90.43216 63.00014 moveto +(\017) cmsy10 9.96265 fshow +91.29486 47.21089 moveto +(\017) cmsy10 9.96265 fshow +92.15762 63.00014 moveto +(\017) cmsy10 9.96265 fshow +93.02045 47.21089 moveto +(\017) cmsy10 9.96265 fshow +93.88335 70.89476 moveto +(\017) cmsy10 9.96265 fshow +94.74611 51.1582 moveto +(\017) cmsy10 9.96265 fshow +95.60895 63.00014 moveto +(\017) cmsy10 9.96265 fshow +96.47163 63.00014 moveto +(\017) cmsy10 9.96265 fshow +97.3346 43.26358 moveto +(\017) cmsy10 9.96265 fshow +98.19742 66.94745 moveto +(\017) cmsy10 9.96265 fshow +99.0601 94.57863 moveto +(\017) cmsy10 9.96265 fshow +99.92305 47.21089 moveto +(\017) cmsy10 9.96265 fshow +100.78586 78.78938 moveto +(\017) cmsy10 9.96265 fshow +101.64853 74.84207 moveto +(\017) cmsy10 9.96265 fshow +102.51146 78.78938 moveto +(\017) cmsy10 9.96265 fshow +103.37425 66.94745 moveto +(\017) cmsy10 9.96265 fshow +104.23709 43.26358 moveto +(\017) cmsy10 9.96265 fshow +105.09981 70.89476 moveto +(\017) cmsy10 9.96265 fshow +105.96257 74.84207 moveto +(\017) cmsy10 9.96265 fshow +106.82541 63.00014 moveto +(\017) cmsy10 9.96265 fshow +107.68828 23.52702 moveto +(\017) cmsy10 9.96265 fshow +108.55104 59.05283 moveto +(\017) cmsy10 9.96265 fshow +109.41383 55.10551 moveto +(\017) cmsy10 9.96265 fshow +110.27667 63.00014 moveto +(\017) cmsy10 9.96265 fshow +111.13939 66.94745 moveto +(\017) cmsy10 9.96265 fshow +112.00237 63.00014 moveto +(\017) cmsy10 9.96265 fshow +112.86517 35.36896 moveto +(\017) cmsy10 9.96265 fshow +113.72786 70.89476 moveto +(\017) cmsy10 9.96265 fshow +114.59079 66.94745 moveto +(\017) cmsy10 9.96265 fshow +115.45357 63.00014 moveto +(\017) cmsy10 9.96265 fshow +116.3164 70.89476 moveto +(\017) cmsy10 9.96265 fshow +117.17911 70.89476 moveto +(\017) cmsy10 9.96265 fshow +118.04184 90.63132 moveto +(\017) cmsy10 9.96265 fshow +118.90483 51.1582 moveto +(\017) cmsy10 9.96265 fshow +119.76749 82.7367 moveto +(\017) cmsy10 9.96265 fshow +120.63039 82.7367 moveto +(\017) cmsy10 9.96265 fshow +121.49312 55.10551 moveto +(\017) cmsy10 9.96265 fshow +122.35593 90.63132 moveto +(\017) cmsy10 9.96265 fshow +123.21878 47.21089 moveto +(\017) cmsy10 9.96265 fshow +124.08167 74.84207 moveto +(\017) cmsy10 9.96265 fshow +124.94441 74.84207 moveto +(\017) cmsy10 9.96265 fshow +125.8072 78.78938 moveto +(\017) cmsy10 9.96265 fshow +126.67004 63.00014 moveto +(\017) cmsy10 9.96265 fshow +127.53273 82.7367 moveto +(\017) cmsy10 9.96265 fshow +128.39568 59.05283 moveto +(\017) cmsy10 9.96265 fshow +129.25845 47.21089 moveto +(\017) cmsy10 9.96265 fshow +130.12128 74.84207 moveto +(\017) cmsy10 9.96265 fshow +130.98415 47.21089 moveto +(\017) cmsy10 9.96265 fshow +131.84686 55.10551 moveto +(\017) cmsy10 9.96265 fshow +132.70963 59.05283 moveto +(\017) cmsy10 9.96265 fshow +133.57243 31.42165 moveto +(\017) cmsy10 9.96265 fshow +134.43529 31.42165 moveto +(\017) cmsy10 9.96265 fshow +135.29817 59.05283 moveto +(\017) cmsy10 9.96265 fshow +136.1609 78.78938 moveto +(\017) cmsy10 9.96265 fshow +137.02368 90.63132 moveto +(\017) cmsy10 9.96265 fshow +137.8865 94.57863 moveto +(\017) cmsy10 9.96265 fshow +138.74936 82.7367 moveto +(\017) cmsy10 9.96265 fshow +139.61226 39.31627 moveto +(\017) cmsy10 9.96265 fshow +140.47498 55.10551 moveto +(\017) cmsy10 9.96265 fshow +141.33777 66.94745 moveto +(\017) cmsy10 9.96265 fshow +142.20059 59.05283 moveto +(\017) cmsy10 9.96265 fshow +143.06345 55.10551 moveto +(\017) cmsy10 9.96265 fshow +143.92615 86.684 moveto +(\017) cmsy10 9.96265 fshow +144.78908 82.7367 moveto +(\017) cmsy10 9.96265 fshow +145.65186 74.84207 moveto +(\017) cmsy10 9.96265 fshow +146.51466 98.52594 moveto +(\017) cmsy10 9.96265 fshow +147.3775 66.94745 moveto +(\017) cmsy10 9.96265 fshow +148.24019 90.63132 moveto +(\017) cmsy10 9.96265 fshow +149.1031 86.684 moveto +(\017) cmsy10 9.96265 fshow +149.96585 66.94745 moveto +(\017) cmsy10 9.96265 fshow +150.82864 70.89476 moveto +(\017) cmsy10 9.96265 fshow +151.69147 102.47325 moveto +(\017) cmsy10 9.96265 fshow +152.55434 94.57863 moveto +(\017) cmsy10 9.96265 fshow +153.41702 70.89476 moveto +(\017) cmsy10 9.96265 fshow +154.27995 74.84207 moveto +(\017) cmsy10 9.96265 fshow +155.1427 94.57863 moveto +(\017) cmsy10 9.96265 fshow +156.0055 74.84207 moveto +(\017) cmsy10 9.96265 fshow +156.8683 66.94745 moveto +(\017) cmsy10 9.96265 fshow +157.73117 82.7367 moveto +(\017) cmsy10 9.96265 fshow +158.59386 74.84207 moveto +(\017) cmsy10 9.96265 fshow +159.45677 43.26358 moveto +(\017) cmsy10 9.96265 fshow +160.31952 94.57863 moveto +(\017) cmsy10 9.96265 fshow +161.18227 66.94745 moveto +(\017) cmsy10 9.96265 fshow +162.04507 59.05283 moveto +(\017) cmsy10 9.96265 fshow +162.90791 66.94745 moveto +(\017) cmsy10 9.96265 fshow +163.77077 86.684 moveto +(\017) cmsy10 9.96265 fshow +164.63367 63.00014 moveto +(\017) cmsy10 9.96265 fshow +165.49638 86.684 moveto +(\017) cmsy10 9.96265 fshow +166.35912 78.78938 moveto +(\017) cmsy10 9.96265 fshow +167.22209 102.47325 moveto +(\017) cmsy10 9.96265 fshow +168.08488 66.94745 moveto +(\017) cmsy10 9.96265 fshow +168.94771 15.6324 moveto +(\017) cmsy10 9.96265 fshow +11.05379 15.6324 moveto +(\016) cmsy10 9.96265 fshow +12.7794 15.6324 moveto +(\016) cmsy10 9.96265 fshow +23.133 11.68509 moveto +(\016) cmsy10 9.96265 fshow +23.99591 15.6324 moveto +(\016) cmsy10 9.96265 fshow +24.85873 43.26358 moveto +(\016) cmsy10 9.96265 fshow +25.72147 23.52702 moveto +(\016) cmsy10 9.96265 fshow +26.5843 59.05283 moveto +(\016) cmsy10 9.96265 fshow +27.44705 47.21089 moveto +(\016) cmsy10 9.96265 fshow +28.30989 27.47433 moveto +(\016) cmsy10 9.96265 fshow +29.17264 19.57971 moveto +(\016) cmsy10 9.96265 fshow +30.89825 27.47433 moveto +(\016) cmsy10 9.96265 fshow +31.76111 23.52702 moveto +(\016) cmsy10 9.96265 fshow +32.6239 23.52702 moveto +(\016) cmsy10 9.96265 fshow +33.48676 35.36896 moveto +(\016) cmsy10 9.96265 fshow +34.34953 59.05283 moveto +(\016) cmsy10 9.96265 fshow +35.21239 23.52702 moveto +(\016) cmsy10 9.96265 fshow +36.07515 39.31627 moveto +(\016) cmsy10 9.96265 fshow +36.93803 27.47433 moveto +(\016) cmsy10 9.96265 fshow +37.8008 39.31627 moveto +(\016) cmsy10 9.96265 fshow +38.66367 27.47433 moveto +(\016) cmsy10 9.96265 fshow +39.52644 43.26358 moveto +(\016) cmsy10 9.96265 fshow +40.38911 59.05283 moveto +(\016) cmsy10 9.96265 fshow +41.25208 31.42165 moveto +(\016) cmsy10 9.96265 fshow +42.11472 35.36896 moveto +(\016) cmsy10 9.96265 fshow +42.97768 31.42165 moveto +(\016) cmsy10 9.96265 fshow +43.84033 43.26358 moveto +(\016) cmsy10 9.96265 fshow +44.70328 55.10551 moveto +(\016) cmsy10 9.96265 fshow +45.56612 43.26358 moveto +(\016) cmsy10 9.96265 fshow +46.42885 55.10551 moveto +(\016) cmsy10 9.96265 fshow +47.29167 74.84207 moveto +(\016) cmsy10 9.96265 fshow +48.1544 59.05283 moveto +(\016) cmsy10 9.96265 fshow +49.01723 43.26358 moveto +(\016) cmsy10 9.96265 fshow +49.88011 55.10551 moveto +(\016) cmsy10 9.96265 fshow +50.7429 43.26358 moveto +(\016) cmsy10 9.96265 fshow +51.6058 47.21089 moveto +(\016) cmsy10 9.96265 fshow +52.46858 23.52702 moveto +(\016) cmsy10 9.96265 fshow +53.33125 55.10551 moveto +(\016) cmsy10 9.96265 fshow +54.1942 78.78938 moveto +(\016) cmsy10 9.96265 fshow +55.05684 23.52702 moveto +(\016) cmsy10 9.96265 fshow +55.91977 59.05283 moveto +(\016) cmsy10 9.96265 fshow +56.7826 55.10551 moveto +(\016) cmsy10 9.96265 fshow +57.64531 27.47433 moveto +(\016) cmsy10 9.96265 fshow +58.5081 43.26358 moveto +(\016) cmsy10 9.96265 fshow +59.37097 39.31627 moveto +(\016) cmsy10 9.96265 fshow +60.23375 59.05283 moveto +(\016) cmsy10 9.96265 fshow +61.09659 51.1582 moveto +(\016) cmsy10 9.96265 fshow +61.95932 70.89476 moveto +(\016) cmsy10 9.96265 fshow +62.82214 66.94745 moveto +(\016) cmsy10 9.96265 fshow +63.68504 59.05283 moveto +(\016) cmsy10 9.96265 fshow +64.54782 55.10551 moveto +(\016) cmsy10 9.96265 fshow +65.4107 43.26358 moveto +(\016) cmsy10 9.96265 fshow +66.27344 90.63132 moveto +(\016) cmsy10 9.96265 fshow +67.13626 94.57863 moveto +(\016) cmsy10 9.96265 fshow +67.99898 35.36896 moveto +(\016) cmsy10 9.96265 fshow +68.86177 66.94745 moveto +(\016) cmsy10 9.96265 fshow +69.72466 51.1582 moveto +(\016) cmsy10 9.96265 fshow +70.5874 110.36787 moveto +(\016) cmsy10 9.96265 fshow +71.45023 51.1582 moveto +(\016) cmsy10 9.96265 fshow +72.31313 90.63132 moveto +(\016) cmsy10 9.96265 fshow +73.17592 66.94745 moveto +(\016) cmsy10 9.96265 fshow +74.03879 114.31519 moveto +(\016) cmsy10 9.96265 fshow +74.90152 94.57863 moveto +(\016) cmsy10 9.96265 fshow +75.76434 90.63132 moveto +(\016) cmsy10 9.96265 fshow +76.62723 78.78938 moveto +(\016) cmsy10 9.96265 fshow +77.49 70.89476 moveto +(\016) cmsy10 9.96265 fshow +78.35284 59.05283 moveto +(\016) cmsy10 9.96265 fshow +79.21556 118.2625 moveto +(\016) cmsy10 9.96265 fshow +80.07834 94.57863 moveto +(\016) cmsy10 9.96265 fshow +80.9412 55.10551 moveto +(\016) cmsy10 9.96265 fshow +81.80392 51.1582 moveto +(\016) cmsy10 9.96265 fshow +82.66673 47.21089 moveto +(\016) cmsy10 9.96265 fshow +83.52962 66.94745 moveto +(\016) cmsy10 9.96265 fshow +84.39236 51.1582 moveto +(\016) cmsy10 9.96265 fshow +85.25519 19.57971 moveto +(\016) cmsy10 9.96265 fshow +86.11806 31.42165 moveto +(\016) cmsy10 9.96265 fshow +86.98083 43.26358 moveto +(\016) cmsy10 9.96265 fshow +87.84366 27.47433 moveto +(\016) cmsy10 9.96265 fshow +88.70654 51.1582 moveto +(\016) cmsy10 9.96265 fshow +89.56932 27.47433 moveto +(\016) cmsy10 9.96265 fshow +90.43216 43.26358 moveto +(\016) cmsy10 9.96265 fshow +91.29486 15.6324 moveto +(\016) cmsy10 9.96265 fshow +92.15762 51.1582 moveto +(\016) cmsy10 9.96265 fshow +93.02045 35.36896 moveto +(\016) cmsy10 9.96265 fshow +93.88335 27.47433 moveto +(\016) cmsy10 9.96265 fshow +94.74611 51.1582 moveto +(\016) cmsy10 9.96265 fshow +95.60895 35.36896 moveto +(\016) cmsy10 9.96265 fshow +96.47163 39.31627 moveto +(\016) cmsy10 9.96265 fshow +97.3346 47.21089 moveto +(\016) cmsy10 9.96265 fshow +98.19742 59.05283 moveto +(\016) cmsy10 9.96265 fshow +99.0601 39.31627 moveto +(\016) cmsy10 9.96265 fshow +99.92305 27.47433 moveto +(\016) cmsy10 9.96265 fshow +100.78586 59.05283 moveto +(\016) cmsy10 9.96265 fshow +101.64853 78.78938 moveto +(\016) cmsy10 9.96265 fshow +102.51146 94.57863 moveto +(\016) cmsy10 9.96265 fshow +103.37425 27.47433 moveto +(\016) cmsy10 9.96265 fshow +104.23709 43.26358 moveto +(\016) cmsy10 9.96265 fshow +105.09981 51.1582 moveto +(\016) cmsy10 9.96265 fshow +105.96257 47.21089 moveto +(\016) cmsy10 9.96265 fshow +106.82541 47.21089 moveto +(\016) cmsy10 9.96265 fshow +107.68828 27.47433 moveto +(\016) cmsy10 9.96265 fshow +108.55104 47.21089 moveto +(\016) cmsy10 9.96265 fshow +109.41383 35.36896 moveto +(\016) cmsy10 9.96265 fshow +110.27667 27.47433 moveto +(\016) cmsy10 9.96265 fshow +111.13939 51.1582 moveto +(\016) cmsy10 9.96265 fshow +112.00237 23.52702 moveto +(\016) cmsy10 9.96265 fshow +112.86517 51.1582 moveto +(\016) cmsy10 9.96265 fshow +113.72786 59.05283 moveto +(\016) cmsy10 9.96265 fshow +114.59079 59.05283 moveto +(\016) cmsy10 9.96265 fshow +115.45357 55.10551 moveto +(\016) cmsy10 9.96265 fshow +116.3164 31.42165 moveto +(\016) cmsy10 9.96265 fshow +117.17911 70.89476 moveto +(\016) cmsy10 9.96265 fshow +118.04184 78.78938 moveto +(\016) cmsy10 9.96265 fshow +118.90483 82.7367 moveto +(\016) cmsy10 9.96265 fshow +119.76749 31.42165 moveto +(\016) cmsy10 9.96265 fshow +120.63039 39.31627 moveto +(\016) cmsy10 9.96265 fshow +121.49312 47.21089 moveto +(\016) cmsy10 9.96265 fshow +122.35593 66.94745 moveto +(\016) cmsy10 9.96265 fshow +123.21878 70.89476 moveto +(\016) cmsy10 9.96265 fshow +124.08167 47.21089 moveto +(\016) cmsy10 9.96265 fshow +124.94441 47.21089 moveto +(\016) cmsy10 9.96265 fshow +125.8072 47.21089 moveto +(\016) cmsy10 9.96265 fshow +126.67004 63.00014 moveto +(\016) cmsy10 9.96265 fshow +127.53273 47.21089 moveto +(\016) cmsy10 9.96265 fshow +128.39568 31.42165 moveto +(\016) cmsy10 9.96265 fshow +129.25845 51.1582 moveto +(\016) cmsy10 9.96265 fshow +130.12128 15.6324 moveto +(\016) cmsy10 9.96265 fshow +130.98415 47.21089 moveto +(\016) cmsy10 9.96265 fshow +131.84686 39.31627 moveto +(\016) cmsy10 9.96265 fshow +132.70963 51.1582 moveto +(\016) cmsy10 9.96265 fshow +133.57243 59.05283 moveto +(\016) cmsy10 9.96265 fshow +134.43529 55.10551 moveto +(\016) cmsy10 9.96265 fshow +135.29817 55.10551 moveto +(\016) cmsy10 9.96265 fshow +136.1609 31.42165 moveto +(\016) cmsy10 9.96265 fshow +137.02368 55.10551 moveto +(\016) cmsy10 9.96265 fshow +137.8865 23.52702 moveto +(\016) cmsy10 9.96265 fshow +138.74936 51.1582 moveto +(\016) cmsy10 9.96265 fshow +139.61226 47.21089 moveto +(\016) cmsy10 9.96265 fshow +140.47498 39.31627 moveto +(\016) cmsy10 9.96265 fshow +141.33777 43.26358 moveto +(\016) cmsy10 9.96265 fshow +142.20059 35.36896 moveto +(\016) cmsy10 9.96265 fshow +143.06345 74.84207 moveto +(\016) cmsy10 9.96265 fshow +143.92615 59.05283 moveto +(\016) cmsy10 9.96265 fshow +144.78908 55.10551 moveto +(\016) cmsy10 9.96265 fshow +145.65186 90.63132 moveto +(\016) cmsy10 9.96265 fshow +146.51466 66.94745 moveto +(\016) cmsy10 9.96265 fshow +147.3775 70.89476 moveto +(\016) cmsy10 9.96265 fshow +148.24019 106.42056 moveto +(\016) cmsy10 9.96265 fshow +149.1031 86.684 moveto +(\016) cmsy10 9.96265 fshow +149.96585 102.47325 moveto +(\016) cmsy10 9.96265 fshow +150.82864 98.52594 moveto +(\016) cmsy10 9.96265 fshow +151.69147 74.84207 moveto +(\016) cmsy10 9.96265 fshow +152.55434 59.05283 moveto +(\016) cmsy10 9.96265 fshow +153.41702 74.84207 moveto +(\016) cmsy10 9.96265 fshow +154.27995 90.63132 moveto +(\016) cmsy10 9.96265 fshow +155.1427 51.1582 moveto +(\016) cmsy10 9.96265 fshow +156.0055 51.1582 moveto +(\016) cmsy10 9.96265 fshow +156.8683 55.10551 moveto +(\016) cmsy10 9.96265 fshow +157.73117 51.1582 moveto +(\016) cmsy10 9.96265 fshow +158.59386 66.94745 moveto +(\016) cmsy10 9.96265 fshow +159.45677 63.00014 moveto +(\016) cmsy10 9.96265 fshow +160.31952 47.21089 moveto +(\016) cmsy10 9.96265 fshow +161.18227 43.26358 moveto +(\016) cmsy10 9.96265 fshow +162.04507 59.05283 moveto +(\016) cmsy10 9.96265 fshow +162.90791 43.26358 moveto +(\016) cmsy10 9.96265 fshow +163.77077 47.21089 moveto +(\016) cmsy10 9.96265 fshow +164.63367 43.26358 moveto +(\016) cmsy10 9.96265 fshow +165.49638 23.52702 moveto +(\016) cmsy10 9.96265 fshow +166.35912 35.36896 moveto +(\016) cmsy10 9.96265 fshow +167.22209 63.00014 moveto +(\016) cmsy10 9.96265 fshow +168.08488 39.31627 moveto +(\016) cmsy10 9.96265 fshow +168.94771 15.6324 moveto +(\016) cmsy10 9.96265 fshow + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth [] 0 setdash + 1 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 8.46526 -7 moveto +8.46526 0 lineto stroke +-1.49742 -16.42036 moveto +(1800) cmr10 9.96265 fshow +newpath 51.6058 -7 moveto +51.6058 0 lineto stroke +41.64313 -16.42036 moveto +(1850) cmr10 9.96265 fshow +newpath 94.74611 -7 moveto +94.74611 0 lineto stroke +84.78343 -16.42036 moveto +(1900) cmr10 9.96265 fshow +newpath 137.8865 -7 moveto +137.8865 0 lineto stroke +127.92383 -16.42036 moveto +(1950) cmr10 9.96265 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath -7 3.79047 moveto +0 3.79047 lineto stroke +-14.98134 0.58028 moveto +(0) cmr10 9.96265 fshow +newpath -7 43.26358 moveto +0 43.26358 lineto stroke +-19.96268 40.05339 moveto +(10) cmr10 9.96265 fshow +newpath -7 82.7367 moveto +0 82.7367 lineto stroke +-19.96268 79.5265 moveto +(20) cmr10 9.96265 fshow +newpath -7 122.20981 moveto +0 122.20981 lineto stroke +-19.96268 118.99962 moveto +(30) cmr10 9.96265 fshow +newpath 0 0 moveto +59.99908 0 120.00092 0 180 0 curveto +180 126 lineto +120.00092 126 59.99908 126 0 126 curveto + closepath stroke +64.67386 -28.33887 moveto +(Burials) cmr10 9.96265 fshow +gsave [0 1 -1 0 -24.96268 37.32794 ] concat 0 0 moveto +(Num) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 -24.96268 58.36024 ] concat 0 0 moveto +(b) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 -24.96268 64.17184 ] concat 0 0 moveto +(er) cmr10 9.96265 fshow grestore +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-2.mp b/usergrps/uktug/baskervi/7_1/0-0-2.mp new file mode 100644 index 0000000000..2b925b1a1f --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-2.mp @@ -0,0 +1,16 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.75in); +gdraw "yearm.dat" + plot btex $\bullet$ etex; +gdraw "yearw.dat" + plot btex $\circ$ etex; +glabel.bot + (btex Burials etex,OUT); +glabel.lft + (btex Number etex rotated 90,OUT); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-2.pdf b/usergrps/uktug/baskervi/7_1/0-0-2.pdf new file mode 100644 index 0000000000..3bb95226d7 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-2.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-3.eps b/usergrps/uktug/baskervi/7_1/0-0-3.eps new file mode 100644 index 0000000000..5c728e307f --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-3.eps @@ -0,0 +1,251 @@ +%!PS +%%BoundingBox: -4 -12 195 129 +%%Creator: MetaPost +%%CreationDate: 1997.06.08:2333 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 30:f4c +%%EndProlog +%%Page: 1 1 +/cmr10 /CMR10 def +/fshow {exch findfont exch scalefont setfont show}bind def + 1 0 0 setrgbcolor 0 0 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 1 setlinejoin 10 setmiterlimit +newpath 11.05379 11.8313 moveto +12.7794 11.8313 lineto +23.133 7.7378 lineto +23.99591 11.8313 lineto +24.85873 40.48584 lineto +25.72147 20.01831 lineto +26.5843 56.85986 lineto +27.44705 44.57935 lineto +28.30989 24.11182 lineto +29.17264 15.9248 lineto +30.89825 24.11182 lineto +31.76111 20.01831 lineto +32.6239 20.01831 lineto +33.48676 32.29883 lineto +34.34953 56.85986 lineto +35.21239 20.01831 lineto +36.07515 36.39233 lineto +36.93803 24.11182 lineto +37.8008 36.39233 lineto +38.66367 24.11182 lineto +39.52644 40.48584 lineto +40.38911 56.85986 lineto +41.25208 28.20532 lineto +42.11472 32.29883 lineto +42.97768 28.20532 lineto +43.84033 40.48584 lineto +44.70328 52.76636 lineto +45.56612 40.48584 lineto +46.42885 52.76636 lineto +47.29167 73.23389 lineto +48.1544 56.85986 lineto +49.01723 40.48584 lineto +49.88011 52.76636 lineto +50.7429 40.48584 lineto +51.6058 44.57935 lineto +52.46858 20.01831 lineto +53.33125 52.76636 lineto +54.1942 77.3274 lineto +55.05684 20.01831 lineto +55.91977 56.85986 lineto +56.7826 52.76636 lineto +57.64531 24.11182 lineto +58.5081 40.48584 lineto +59.37097 36.39233 lineto +60.23375 56.85986 lineto +61.09659 48.67285 lineto +61.95932 69.14038 lineto +62.82214 65.04688 lineto +63.68504 56.85986 lineto +64.54782 52.76636 lineto +65.4107 40.48584 lineto +66.27344 89.60791 lineto +67.13626 93.70142 lineto +67.99898 32.29883 lineto +68.86177 65.04688 lineto +69.72466 48.67285 lineto +70.5874 110.07544 lineto +71.45023 48.67285 lineto +72.31313 89.60791 lineto +73.17592 65.04688 lineto +74.03879 114.16895 lineto +74.90152 93.70142 lineto +75.76434 89.60791 lineto +76.62723 77.3274 lineto +77.49 69.14038 lineto +78.35284 56.85986 lineto +79.21556 118.26245 lineto +80.07834 93.70142 lineto +80.9412 52.76636 lineto +81.80392 48.67285 lineto +82.66673 44.57935 lineto +83.52962 65.04688 lineto +84.39236 48.67285 lineto +85.25519 15.9248 lineto +86.11806 28.20532 lineto +86.98083 40.48584 lineto +87.84366 24.11182 lineto +88.70654 48.67285 lineto +89.56932 24.11182 lineto +90.43216 40.48584 lineto +91.29486 11.8313 lineto +92.15762 48.67285 lineto +93.02045 32.29883 lineto +93.88335 24.11182 lineto +94.74611 48.67285 lineto +95.60895 32.29883 lineto +96.47163 36.39233 lineto +97.3346 44.57935 lineto +98.19742 56.85986 lineto +99.0601 36.39233 lineto +99.92305 24.11182 lineto +100.78586 56.85986 lineto +101.64853 77.3274 lineto +102.51146 93.70142 lineto +103.37425 24.11182 lineto +104.23709 40.48584 lineto +105.09981 48.67285 lineto +105.96257 44.57935 lineto +106.82541 44.57935 lineto +107.68828 24.11182 lineto +108.55104 44.57935 lineto +109.41383 32.29883 lineto +110.27667 24.11182 lineto +111.13939 48.67285 lineto +112.00237 20.01831 lineto +112.86517 48.67285 lineto +113.72786 56.85986 lineto +114.59079 56.85986 lineto +115.45357 52.76636 lineto +116.3164 28.20532 lineto +117.17911 69.14038 lineto +118.04184 77.3274 lineto +118.90483 81.4209 lineto +119.76749 28.20532 lineto +120.63039 36.39233 lineto +121.49312 44.57935 lineto +122.35593 65.04688 lineto +123.21878 69.14038 lineto +124.08167 44.57935 lineto +124.94441 44.57935 lineto +125.8072 44.57935 lineto +126.67004 60.95337 lineto +127.53273 44.57935 lineto +128.39568 28.20532 lineto +129.25845 48.67285 lineto +130.12128 11.8313 lineto +130.98415 44.57935 lineto +131.84686 36.39233 lineto +132.70963 48.67285 lineto +133.57243 56.85986 lineto +134.43529 52.76636 lineto +135.29817 52.76636 lineto +136.1609 28.20532 lineto +137.02368 52.76636 lineto +137.8865 20.01831 lineto +138.74936 48.67285 lineto +139.61226 44.57935 lineto +140.47498 36.39233 lineto +141.33777 40.48584 lineto +142.20059 32.29883 lineto +143.06345 73.23389 lineto +143.92615 56.85986 lineto +144.78908 52.76636 lineto +145.65186 89.60791 lineto +146.51466 65.04688 lineto +147.3775 69.14038 lineto +148.24019 105.98193 lineto +149.1031 85.5144 lineto +149.96585 101.88843 lineto +150.82864 97.79492 lineto +151.69147 73.23389 lineto +152.55434 56.85986 lineto +153.41702 73.23389 lineto +154.27995 89.60791 lineto +155.1427 48.67285 lineto +156.0055 48.67285 lineto +156.8683 52.76636 lineto +157.73117 48.67285 lineto +158.59386 65.04688 lineto +159.45677 60.95337 lineto +160.31952 44.57935 lineto +161.18227 40.48584 lineto +162.04507 56.85986 lineto +162.90791 40.48584 lineto +163.77077 44.57935 lineto +164.63367 40.48584 lineto +165.49638 20.01831 lineto +166.35912 32.29883 lineto +167.22209 60.95337 lineto +168.08488 36.39233 lineto +168.94771 11.8313 lineto + closepath +gsave fill grestore stroke + 0.5 setgray 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth + 1 setlinecap +newpath 8.46526 0 moveto +8.46526 126 lineto stroke + 0 setgray +-1.49742 -9.42036 moveto +(1800) cmr10 9.96265 fshow + 0.5 setgray +newpath 51.6058 0 moveto +51.6058 126 lineto stroke + 0 setgray +41.64313 -9.42036 moveto +(1850) cmr10 9.96265 fshow + 0.5 setgray +newpath 94.74611 0 moveto +94.74611 126 lineto stroke + 0 setgray +84.78343 -9.42036 moveto +(1900) cmr10 9.96265 fshow + 0.5 setgray +newpath 137.8865 0 moveto +137.8865 126 lineto stroke + 0 setgray +127.92383 -9.42036 moveto +(1950) cmr10 9.96265 fshow + 0.5 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 180 20.01831 moveto +173 20.01831 lineto stroke + 0 setgray +183 16.80812 moveto +(5) cmr10 9.96265 fshow + 0.5 setgray +newpath 180 40.48584 moveto +173 40.48584 lineto stroke + 0 setgray +183 37.27565 moveto +(10) cmr10 9.96265 fshow + 0.5 setgray +newpath 180 60.95337 moveto +173 60.95337 lineto stroke + 0 setgray +183 57.74318 moveto +(15) cmr10 9.96265 fshow + 0.5 setgray +newpath 180 81.4209 moveto +173 81.4209 lineto stroke + 0 setgray +183 78.21071 moveto +(20) cmr10 9.96265 fshow + 0.5 setgray +newpath 180 101.88843 moveto +173 101.88843 lineto stroke + 0 setgray +183 98.67824 moveto +(25) cmr10 9.96265 fshow + 0.5 setgray +newpath 180 122.35596 moveto +173 122.35596 lineto stroke + 0 setgray +183 119.14577 moveto +(30) cmr10 9.96265 fshow +newpath 0 126 moveto +0 0 lineto +59.99908 0 120.00092 0 180 0 curveto stroke +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-3.mp b/usergrps/uktug/baskervi/7_1/0-0-3.mp new file mode 100644 index 0000000000..7df33a200c --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-3.mp @@ -0,0 +1,12 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.75in); +gfill "yearw.dat" withcolor red; +autogrid(grid.bot,itick.rt) + withcolor .5white; +frame.llft; +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-3.pdf b/usergrps/uktug/baskervi/7_1/0-0-3.pdf new file mode 100644 index 0000000000..4d9cce0840 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-3.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-4.eps b/usergrps/uktug/baskervi/7_1/0-0-4.eps new file mode 100644 index 0000000000..315f0af45c --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-4.eps @@ -0,0 +1,215 @@ +%!PS +%%BoundingBox: -15 -3 183 147 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 30:f +%*Font: ptmr8r 9.96265 9.96265 20:8000e0400000000014822c4 +%%EndProlog +%%Page: 1 1 +/cmr10 /CMR10 def +/ptmr8r /Times-Roman def +/fshow {exch findfont exch scalefont setfont show}bind def + 1 0 0 setrgbcolor 0 0 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 1 setlinejoin 10 setmiterlimit +newpath 11.05379 11.68509 moveto +12.7794 11.68509 lineto +23.133 7.73778 lineto +23.99591 11.68509 lineto +24.85873 39.31627 lineto +25.72147 19.57971 lineto +26.5843 55.10551 lineto +27.44705 43.26358 lineto +28.30989 23.52702 lineto +29.17264 15.6324 lineto +30.89825 23.52702 lineto +31.76111 19.57971 lineto +32.6239 19.57971 lineto +33.48676 31.42165 lineto +34.34953 55.10551 lineto +35.21239 19.57971 lineto +36.07515 35.36896 lineto +36.93803 23.52702 lineto +37.8008 35.36896 lineto +38.66367 23.52702 lineto +39.52644 39.31627 lineto +40.38911 55.10551 lineto +41.25208 27.47433 lineto +42.11472 31.42165 lineto +42.97768 27.47433 lineto +43.84033 39.31627 lineto +44.70328 51.1582 lineto +45.56612 39.31627 lineto +46.42885 51.1582 lineto +47.29167 70.89476 lineto +48.1544 55.10551 lineto +49.01723 39.31627 lineto +49.88011 51.1582 lineto +50.7429 39.31627 lineto +51.6058 43.26358 lineto +52.46858 19.57971 lineto +53.33125 51.1582 lineto +54.1942 74.84207 lineto +55.05684 19.57971 lineto +55.91977 55.10551 lineto +56.7826 51.1582 lineto +57.64531 23.52702 lineto +58.5081 39.31627 lineto +59.37097 35.36896 lineto +60.23375 55.10551 lineto +61.09659 47.21089 lineto +61.95932 66.94745 lineto +62.82214 63.00014 lineto +63.68504 55.10551 lineto +64.54782 51.1582 lineto +65.4107 39.31627 lineto +66.27344 86.684 lineto +67.13626 90.63132 lineto +67.99898 31.42165 lineto +68.86177 63.00014 lineto +69.72466 47.21089 lineto +70.5874 106.42056 lineto +71.45023 47.21089 lineto +72.31313 86.684 lineto +73.17592 63.00014 lineto +74.03879 110.36787 lineto +74.90152 90.63132 lineto +75.76434 86.684 lineto +76.62723 74.84207 lineto +77.49 66.94745 lineto +78.35284 55.10551 lineto +79.21556 114.31519 lineto +80.07834 90.63132 lineto +80.9412 51.1582 lineto +81.80392 47.21089 lineto +82.66673 43.26358 lineto +83.52962 63.00014 lineto +84.39236 47.21089 lineto +85.25519 15.6324 lineto +86.11806 27.47433 lineto +86.98083 39.31627 lineto +87.84366 23.52702 lineto +88.70654 47.21089 lineto +89.56932 23.52702 lineto +90.43216 39.31627 lineto +91.29486 11.68509 lineto +92.15762 47.21089 lineto +93.02045 31.42165 lineto +93.88335 23.52702 lineto +94.74611 47.21089 lineto +95.60895 31.42165 lineto +96.47163 35.36896 lineto +97.3346 43.26358 lineto +98.19742 55.10551 lineto +99.0601 35.36896 lineto +99.92305 23.52702 lineto +100.78586 55.10551 lineto +101.64853 74.84207 lineto +102.51146 90.63132 lineto +103.37425 23.52702 lineto +104.23709 39.31627 lineto +105.09981 47.21089 lineto +105.96257 43.26358 lineto +106.82541 43.26358 lineto +107.68828 23.52702 lineto +108.55104 43.26358 lineto +109.41383 31.42165 lineto +110.27667 23.52702 lineto +111.13939 47.21089 lineto +112.00237 19.57971 lineto +112.86517 47.21089 lineto +113.72786 55.10551 lineto +114.59079 55.10551 lineto +115.45357 51.1582 lineto +116.3164 27.47433 lineto +117.17911 66.94745 lineto +118.04184 74.84207 lineto +118.90483 78.78938 lineto +119.76749 27.47433 lineto +120.63039 35.36896 lineto +121.49312 43.26358 lineto +122.35593 63.00014 lineto +123.21878 66.94745 lineto +124.08167 43.26358 lineto +124.94441 43.26358 lineto +125.8072 43.26358 lineto +126.67004 59.05283 lineto +127.53273 43.26358 lineto +128.39568 27.47433 lineto +129.25845 47.21089 lineto +130.12128 11.68509 lineto +130.98415 43.26358 lineto +131.84686 35.36896 lineto +132.70963 47.21089 lineto +133.57243 55.10551 lineto +134.43529 51.1582 lineto +135.29817 51.1582 lineto +136.1609 27.47433 lineto +137.02368 51.1582 lineto +137.8865 19.57971 lineto +138.74936 47.21089 lineto +139.61226 43.26358 lineto +140.47498 35.36896 lineto +141.33777 39.31627 lineto +142.20059 31.42165 lineto +143.06345 70.89476 lineto +143.92615 55.10551 lineto +144.78908 51.1582 lineto +145.65186 86.684 lineto +146.51466 63.00014 lineto +147.3775 66.94745 lineto +148.24019 102.47325 lineto +149.1031 82.7367 lineto +149.96585 98.52594 lineto +150.82864 94.57863 lineto +151.69147 70.89476 lineto +152.55434 55.10551 lineto +153.41702 70.89476 lineto +154.27995 86.684 lineto +155.1427 47.21089 lineto +156.0055 47.21089 lineto +156.8683 51.1582 lineto +157.73117 47.21089 lineto +158.59386 63.00014 lineto +159.45677 59.05283 lineto +160.31952 43.26358 lineto +161.18227 39.31627 lineto +162.04507 55.10551 lineto +162.90791 39.31627 lineto +163.77077 43.26358 lineto +164.63367 39.31627 lineto +165.49638 19.57971 lineto +166.35912 31.42165 lineto +167.22209 59.05283 lineto +168.08488 35.36896 lineto +168.94771 11.68509 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop 1 setlinecap +newpath 0 39.31627 moveto +7 39.31627 lineto stroke +-12.96268 36.10608 moveto +(10) cmr10 9.96265 fshow +newpath 0 78.78938 moveto +7 78.78938 lineto stroke +-12.96268 75.5792 moveto +(20) cmr10 9.96265 fshow +newpath 0 118.2625 moveto +7 118.2625 lineto stroke +-12.96268 115.0523 moveto +(30) cmr10 9.96265 fshow + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 51.6058 133 moveto +51.6058 126 lineto stroke +26.56487 138.15683 moveto +(19th century) ptmr8r 9.96265 fshow +newpath 137.8865 133 moveto +137.8865 126 lineto stroke +112.84557 138.15683 moveto +(20th century) ptmr8r 9.96265 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 0 126 moveto +0 0 lineto +59.99908 0 120.00092 0 180 0 curveto stroke +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-4.mp b/usergrps/uktug/baskervi/7_1/0-0-4.mp new file mode 100644 index 0000000000..cae352ee57 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-4.mp @@ -0,0 +1,16 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.75in); +gfill "yearw.dat" withcolor red; +for y=10,20,30: + itick.lft(format("%g",y),y); +endfor +otick.top("19th century",1850); +otick.top("20th century",1950); +frame.llft; +autogrid(,); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-4.pdf b/usergrps/uktug/baskervi/7_1/0-0-4.pdf new file mode 100644 index 0000000000..67c8f24617 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-4.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-5.eps b/usergrps/uktug/baskervi/7_1/0-0-5.eps new file mode 100644 index 0000000000..e3d46609d5 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-5.eps @@ -0,0 +1,160 @@ +%!PS +%%BoundingBox: -22 -19 183 111 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 30:ee8 +%%EndProlog +%%Page: 1 1 +/cmr10 /CMR10 def +/fshow {exch findfont exch scalefont setfont show}bind def + 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 11.05379 6.63257 moveto +12.63272 63.4739 lineto +14.21165 25.57968 lineto +15.79059 25.57968 lineto +17.36952 31.89539 lineto +18.94846 6.63257 lineto +20.52739 25.57968 lineto +22.10632 12.94827 lineto +23.68526 12.94827 lineto +25.26419 12.94827 lineto +26.84312 19.26398 lineto +28.42206 12.94827 lineto +30.00099 6.63257 lineto +31.57993 25.57968 lineto +33.15886 12.94827 lineto +34.7378 19.26398 lineto +36.31673 38.21109 lineto +37.89566 25.57968 lineto +39.4746 50.8425 lineto +41.05353 31.89539 lineto +42.63246 19.26398 lineto +44.2114 76.10532 lineto +45.79033 38.21109 lineto +47.36926 57.1582 lineto +48.9482 25.57968 lineto +50.52713 63.4739 lineto +52.10606 50.8425 lineto +53.685 44.5268 lineto +55.26393 25.57968 lineto +56.84286 76.10532 lineto +58.4218 38.21109 lineto +60.00073 44.5268 lineto +61.57967 44.5268 lineto +63.1586 31.89539 lineto +64.73753 50.8425 lineto +66.31647 38.21109 lineto +67.8954 19.26398 lineto +69.47433 63.4739 lineto +71.05327 50.8425 lineto +72.6322 19.26398 lineto +74.21114 19.26398 lineto +75.79007 31.89539 lineto +77.369 50.8425 lineto +78.94794 38.21109 lineto +80.52687 44.5268 lineto +82.1058 19.26398 lineto +83.68474 12.94827 lineto +85.26367 50.8425 lineto +86.8426 25.57968 lineto +88.42154 25.57968 lineto +90.00047 25.57968 lineto +91.5794 12.94827 lineto +93.15834 44.5268 lineto +94.73727 25.57968 lineto +96.31621 50.8425 lineto +97.89514 38.21109 lineto +99.47408 25.57968 lineto +101.05301 31.89539 lineto +102.63194 38.21109 lineto +104.21088 38.21109 lineto +105.78981 31.89539 lineto +107.36874 50.8425 lineto +108.94768 31.89539 lineto +110.52661 31.89539 lineto +112.10555 57.1582 lineto +113.68448 31.89539 lineto +115.26341 38.21109 lineto +116.84235 50.8425 lineto +118.42128 69.78961 lineto +120.00021 38.21109 lineto +121.57915 50.8425 lineto +123.15808 25.57968 lineto +124.73701 44.5268 lineto +126.31595 63.4739 lineto +127.89488 38.21109 lineto +129.47382 57.1582 lineto +131.05275 101.36813 lineto +132.63168 38.21109 lineto +134.21062 76.10532 lineto +135.78955 101.36813 lineto +137.36848 88.73672 lineto +138.94742 25.57968 lineto +140.52635 31.89539 lineto +142.10529 44.5268 lineto +143.68422 44.5268 lineto +145.26315 19.26398 lineto +146.84209 38.21109 lineto +148.42102 19.26398 lineto +149.99995 38.21109 lineto +151.57889 31.89539 lineto +153.15782 19.26398 lineto +154.73676 25.57968 lineto +156.31569 19.26398 lineto +157.89462 25.57968 lineto +159.47356 6.63257 lineto +161.05249 6.63257 lineto +162.63142 12.94827 lineto +164.21036 12.94827 lineto +165.78929 6.63257 lineto +167.36823 6.63257 lineto +168.94716 6.63257 lineto stroke +newpath 0 108 moveto +0 0 lineto +59.99908 0 120.00092 0 180 0 curveto stroke + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 11.05379 -7 moveto +11.05379 0 lineto stroke +8.56311 -16.42036 moveto +(0) cmr10 9.96265 fshow +newpath 42.63246 -7 moveto +42.63246 0 lineto stroke +37.65112 -16.42036 moveto +(20) cmr10 9.96265 fshow +newpath 74.21114 -7 moveto +74.21114 0 lineto stroke +69.2298 -16.42036 moveto +(40) cmr10 9.96265 fshow +newpath 105.78981 -7 moveto +105.78981 0 lineto stroke +100.80847 -16.42036 moveto +(60) cmr10 9.96265 fshow +newpath 137.36848 -7 moveto +137.36848 0 lineto stroke +132.38715 -16.42036 moveto +(80) cmr10 9.96265 fshow +newpath 168.94719 -7 moveto +168.94719 0 lineto stroke +161.47517 -16.42036 moveto +(100) cmr10 9.96265 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath -7 6.63257 moveto +0 6.63257 lineto stroke +-14.98134 3.42238 moveto +(0) cmr10 9.96265 fshow +newpath -7 38.21109 moveto +0 38.21109 lineto stroke +-14.98134 35.0009 moveto +(5) cmr10 9.96265 fshow +newpath -7 69.78961 moveto +0 69.78961 lineto stroke +-19.96268 66.57942 moveto +(10) cmr10 9.96265 fshow +newpath -7 101.36813 moveto +0 101.36813 lineto stroke +-19.96268 98.15794 moveto +(15) cmr10 9.96265 fshow +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-5.mp b/usergrps/uktug/baskervi/7_1/0-0-5.mp new file mode 100644 index 0000000000..b32ba91349 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-5.mp @@ -0,0 +1,16 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.5in); +numeric p[]; path r; +for j := 0 upto 100: p[j]:=0; endfor +gdata ("ages.dat",y, age:=(scantokens y1); + p[age]:=p[age] + 1;); +r:=(0,0) + for j := 1 upto 100: --(j,p[j]) endfor; +gdraw r; +frame.llft; +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-5.pdf b/usergrps/uktug/baskervi/7_1/0-0-5.pdf new file mode 100644 index 0000000000..6fa5f1024c Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-5.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-6.eps b/usergrps/uktug/baskervi/7_1/0-0-6.eps new file mode 100644 index 0000000000..d9d95f2838 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-6.eps @@ -0,0 +1,83 @@ +%!PS +%%BoundingBox: -27 -19 190 132 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 30:ea8 +%%EndProlog +%%Page: 1 1 +/cmr10 /CMR10 def +/fshow {exch findfont exch scalefont setfont show}bind def + 0 0 1 setrgbcolor 0 0 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 1 setlinejoin 10 setmiterlimit +newpath 0.00008 0.00006 moveto +0.00008 23.93996 lineto +18.0001 16.37999 lineto +36.00014 62.99979 lineto +54.00017 80.63971 lineto +72.0002 61.73979 lineto +90.00023 45.35986 lineto +108.00026 61.73979 lineto +126.00029 76.85973 lineto +144.00032 108.35959 lineto +162.00035 35.2799 lineto +180.00038 2.52005 lineto +180.00038 0.00006 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop 1 setlinecap +newpath 0 126 moveto +0 0 lineto +59.99908 0 120.00092 0 180 0 curveto stroke + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 0.00008 -7 moveto +0.00008 0 lineto stroke +-2.4906 -16.42036 moveto +(0) cmr10 9.96265 fshow +newpath 36.00014 -7 moveto +36.00014 0 lineto stroke +31.0188 -16.42036 moveto +(20) cmr10 9.96265 fshow +newpath 72.0002 -7 moveto +72.0002 0 lineto stroke +67.01886 -16.42036 moveto +(40) cmr10 9.96265 fshow +newpath 108.00026 -7 moveto +108.00026 0 lineto stroke +103.01892 -16.42036 moveto +(60) cmr10 9.96265 fshow +newpath 144.00032 -7 moveto +144.00032 0 lineto stroke +139.01898 -16.42036 moveto +(80) cmr10 9.96265 fshow +newpath 180.00041 -7 moveto +180.00041 0 lineto stroke +172.5284 -16.42036 moveto +(100) cmr10 9.96265 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath -7 0.00006 moveto +0 0.00006 lineto stroke +-14.98134 -3.21013 moveto +(0) cmr10 9.96265 fshow +newpath -7 25.19995 moveto +0 25.19995 lineto stroke +-19.96268 21.98976 moveto +(20) cmr10 9.96265 fshow +newpath -7 50.39984 moveto +0 50.39984 lineto stroke +-19.96268 47.18965 moveto +(40) cmr10 9.96265 fshow +newpath -7 75.59973 moveto +0 75.59973 lineto stroke +-19.96268 72.38954 moveto +(60) cmr10 9.96265 fshow +newpath -7 100.79962 moveto +0 100.79962 lineto stroke +-19.96268 97.58943 moveto +(80) cmr10 9.96265 fshow +newpath -7 125.99953 moveto +0 125.99953 lineto stroke +-24.94402 122.78934 moveto +(100) cmr10 9.96265 fshow +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-6.mp b/usergrps/uktug/baskervi/7_1/0-0-6.mp new file mode 100644 index 0000000000..03131abecf --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-6.mp @@ -0,0 +1,23 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.75in); +setrange(origin,(100,100)); +numeric p[]; path r; +for j := 0 step 10 until 100: + p[j]:=0; endfor +def check(expr age) = + if age < 100: + xage:=round(age/10) * 10; + p[xage]:=p[xage] + 1; fi +enddef; +gdata ("ages.dat",y, + check((scantokens y1));); +r:=(0,0) for j := 0 step 10 until 100: + --(j,p[j]) endfor --(100,0); +gfill r -- cycle withcolor blue; +frame.llft; +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-6.pdf b/usergrps/uktug/baskervi/7_1/0-0-6.pdf new file mode 100644 index 0000000000..e83fba7111 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-6.pdf @@ -0,0 +1,59 @@ +%PDF-1.2 +%Çì¢ +4 0 obj +<> +stream +xœÝ”»NÅ0 †÷<…GX‚ÄI¼"!$6 op$nâ °ðúØuoç0Ž¨Cm·õçËŸb$@»¦ûᾂ߯à=¤†‘€á¸x%IÌ"ð +{$sŽ]ýšÝï$QÄ",’@¤ê7M#"éØ4bï5„Zrdw3ãö)gá®Oísj¤¦–c5¯ke\Rlc= 5S"Živ¬òÏð2µõt¯m}ü›¶Þ³6v~´¯ëH‹÷¦¦—zµ¢½Y*Ö«ÛKžƒfY&’¶ñÆx _@£VæÛá·C¸yª ékª ÃKp¤¥@ŠÜ¤VŽWx=|„»—i:kñ&ÖERï[NZAóJ´x{@Rþ€Ê +Wë7÷ ÈA²EÔ Âõ1"Fs¢ÖsD_.Àª±K"‘ÓÉ · \OÝNB²U4ÐãкmYþRH/cö.æ´ˆ¹å £t=£§Ú2P•<þ4{»Aº=÷çÚ2ÖÔmÍÞnPÌ]øLaãjhig4w#ˆjä.vú2ób„®ŸíJºØ戭ÂÃ/ׯZendstream +endobj +5 0 obj +433 +endobj +3 0 obj +<< +/Type /Page +/MediaBox [0 0 217 151] +/Parent 2 0 R +/Resources << /ProcSet [/PDF /Text] +/Font << +/R6 6 0 R +>> +>> +/Contents 4 0 R +>> +endobj +6 0 obj +<> +endobj +2 0 obj +<< /Type /Pages /Kids [ +3 0 R +] /Count 1 +>> +endobj +1 0 obj +<< /Type /Catalog /Pages 2 0 R +>> +endobj +7 0 obj +<< /CreationDate (D:19990604165047) +/Producer (Aladdin Ghostscript 5.50) +>> +endobj +xref +0 8 +0000000000 65535 f +0000000813 00000 n +0000000754 00000 n +0000000537 00000 n +0000000015 00000 n +0000000518 00000 n +0000000685 00000 n +0000000862 00000 n +trailer +<< /Size 8 /Root 1 0 R /Info 7 0 R +>> +startxref +953 +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-7.eps b/usergrps/uktug/baskervi/7_1/0-0-7.eps new file mode 100644 index 0000000000..8c5d63a183 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-7.eps @@ -0,0 +1,165 @@ +%!PS +%%BoundingBox: -147 -27 32 219 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: cmsy10 9.96265 9.96265 19:8 +%*Font: cmr10 9.96265 9.96265 28:c0fcc0000200007e4db4 +%*Font: cmmi10 9.96265 9.96265 6e:8 +%%EndProlog +%%Page: 1 1 +/cmsy10 /CMSY10 def +/cmr10 /CMR10 def +/cmmi10 /CMMI10 def +/fshow {exch findfont exch scalefont setfont show}bind def + 1 0 0 setrgbcolor 0 0 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 1 setlinejoin 10 setmiterlimit +newpath -0.00003 0.00006 moveto +-2.00865 0.00005 lineto +-6.0259 11.21507 lineto +-17.40808 22.42993 lineto +-20.75578 33.6448 lineto +-45.52878 44.85979 lineto +-29.45981 56.07477 lineto +-37.4943 67.28947 lineto +-95.07478 78.50432 lineto +-96.41385 89.7194 lineto +-89.71844 100.93428 lineto +-105.78741 112.14915 lineto +-93.06616 123.36412 lineto +-106.45697 134.57906 lineto +-113.8219 145.7939 lineto +-91.05753 157.00879 lineto +-111.81328 168.22363 lineto +-133.23857 179.43864 lineto +-116.50008 190.6535 lineto +-80.34488 201.8684 lineto +-0.00003 201.86835 lineto + closepath +gsave fill grestore stroke + 0 1 0 setrgbcolor +newpath -0.00003 0.00006 moveto +-4.01727 0.00005 lineto +-10.04314 11.21507 lineto +-42.85062 22.42993 lineto +-58.91959 33.6448 lineto +-79.0058 44.85979 lineto +-70.30177 56.07477 lineto +-99.76155 67.28947 lineto +-131.89949 78.50432 lineto +-101.10063 89.7194 lineto +-53.56326 100.93428 lineto +-83.69258 112.14915 lineto +-62.26729 123.36412 lineto +-85.7012 134.57906 lineto +-79.67534 145.7939 lineto +-71.64085 157.00879 lineto +-81.68398 168.22363 lineto +-134.57765 179.43864 lineto +-83.69258 190.6535 lineto +-40.842 201.8684 lineto +-0.00003 201.86835 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 2.98878 dtransform truncate idtransform setlinewidth pop + [0 5 ] 2.5 setdash 1 setlinecap +gsave newpath -2.00865 0.00005 moveto +-6.0259 11.21507 lineto +-17.40808 22.42993 lineto +-20.75578 33.6448 lineto +-45.52878 44.85979 lineto +-29.45981 56.07477 lineto +-37.4943 67.28947 lineto +-95.07478 78.50432 lineto +-96.41385 89.7194 lineto +-89.71844 100.93428 lineto +-105.78741 112.14915 lineto +-93.06616 123.36412 lineto +-106.45697 134.57906 lineto +-113.8219 145.7939 lineto +-91.05753 157.00879 lineto +-111.81328 168.22363 lineto +-133.23857 179.43864 lineto +-116.50008 190.6535 lineto +-80.34488 201.8684 lineto +[0 1 -1 0 0 0] concat stroke grestore + 0 0.7472 dtransform truncate idtransform setlinewidth pop [] 0 setdash +gsave newpath 7 0.00005 moveto +0 0.00005 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 16.42036 -9.96263 ] concat 0 0 moveto +(1800) cmr10 9.96265 fshow grestore +gsave newpath 7 56.07477 moveto +0 56.07477 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 16.42036 46.11209 ] concat 0 0 moveto +(1850) cmr10 9.96265 fshow grestore +gsave newpath 7 112.14915 moveto +0 112.14915 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 16.42036 102.18648 ] concat 0 0 moveto +(1900) cmr10 9.96265 fshow grestore +gsave newpath 7 168.22363 moveto +0 168.22363 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 16.42036 158.26096 ] concat 0 0 moveto +(1950) cmr10 9.96265 fshow grestore + 0.7472 0 dtransform exch truncate exch idtransform pop setlinewidth +gsave newpath -0.00003 -7 moveto +-0.00003 0 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 3.21016 -14.98134 ] concat 0 0 moveto +(0) cmr10 9.96265 fshow grestore +gsave newpath -33.47705 -7 moveto +-33.47705 0 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 -30.26686 -19.96268 ] concat 0 0 moveto +(50) cmr10 9.96265 fshow grestore +gsave newpath -66.95409 -7 moveto +-66.95409 0 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 -63.7439 -24.94402 ] concat 0 0 moveto +(100) cmr10 9.96265 fshow grestore +gsave newpath -100.43109 -7 moveto +-100.43109 0 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 -97.2209 -24.94402 ] concat 0 0 moveto +(150) cmr10 9.96265 fshow grestore +gsave newpath -133.90813 -7 moveto +-133.90813 0 lineto +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 -130.69794 -24.94402 ] concat 0 0 moveto +(200) cmr10 9.96265 fshow grestore + 0 0.7472 dtransform truncate idtransform setlinewidth pop +gsave newpath 0 0 moveto +0 71.9989 0 144.0011 0 216 curveto +-47.99927 216 -96.00073 216 -144 216 curveto +-144 144.0011 -144 71.9989 -144 0 curveto +-96.00073 0 -47.99927 0 0 0 curveto closepath +[0 1 -1 0 0 0] concat stroke grestore +gsave [0 1 -1 0 28.89236 5.89755 ] concat 0 0 moveto +(Num) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 26.92986 ] concat 0 0 moveto +(b) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 32.74146 ] concat 0 0 moveto +(er) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 44.39215 ] concat 0 0 moveto +(of) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 55.73856 ] concat 0 0 moveto +(burials) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 88.47696 ] concat 0 0 moveto +(p) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 94.28845 ] concat 0 0 moveto +(er) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 105.93925 ] concat 0 0 moveto +(decade) cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 138.59465 ] concat 0 0 moveto +(\() cmr10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 142.46895 ] concat 0 0 moveto +(n) cmmi10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 151.21625 ] concat 0 0 moveto +(\031) cmsy10 9.96265 fshow grestore +gsave [0 1 -1 0 28.89236 161.73235 ] concat 0 0 moveto +(4300\)) cmr10 9.96265 fshow grestore +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-7.mp b/usergrps/uktug/baskervi/7_1/0-0-7.mp new file mode 100644 index 0000000000..8742fd32fb --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-7.mp @@ -0,0 +1,24 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +path m,w,last; +draw begingraph(3in,2in); +setrange((1800,0),(whatever,whatever)); +gdata ("decade.dat",y, + last:=((scantokens y1),0); + augment.w(y1,y2); + augment.m(y1,y3);); +gfill (1800,0)--w--last--cycle + withcolor red; +gfill (1800,0)--m--last--cycle + withcolor green; +pickup pencircle scaled 3pt; +gdraw w dashed withdots; +pickup pencircle scaled .75pt; +glabel.bot (btex Number of burials per decade + ($n \approx 4300$) etex,OUT); +endgraph +rotated 90; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-7.pdf b/usergrps/uktug/baskervi/7_1/0-0-7.pdf new file mode 100644 index 0000000000..35f198bc23 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-7.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-8.eps b/usergrps/uktug/baskervi/7_1/0-0-8.eps new file mode 100644 index 0000000000..88d1107a33 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-8.eps @@ -0,0 +1,86 @@ +%!PS +%%BoundingBox: -30 -19 183 129 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: cmsy10 9.96265 9.96265 00:8 +%*Font: cmr10 9.96265 9.96265 30:fc +%*Font: ptmr8r 9.96265 9.96265 2d:9c4 +%%EndProlog +%%Page: 1 1 +/cmsy10 /CMSY10 def +/cmr10 /CMR10 def +/ptmr8r /Times-Roman def +/fshow {exch findfont exch scalefont setfont show}bind def +64.42416 47.10521 moveto +(20) ptmr8r 9.96265 fshow +103.95479 59.92955 moveto +(-16) ptmr8r 9.96265 fshow +145.14418 59.92955 moveto +(-10) ptmr8r 9.96265 fshow + 0.5 setgray 0 0 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinejoin 10 setmiterlimit +newpath 11.05385 56.85979 moveto +11.05385 56.85979 lineto +45.37834 56.85979 lineto +45.37834 56.85979 lineto +52.24324 56.85979 lineto +52.24324 118.26237 lineto +86.56773 118.26237 lineto +86.56773 56.85979 lineto +93.43263 56.85979 lineto +93.43263 7.73772 lineto +127.75713 7.73772 lineto +127.75713 56.85979 lineto +134.62202 56.85979 lineto +134.62202 26.1585 lineto +168.94652 26.1585 lineto +168.94652 56.85979 lineto + closepath +gsave fill grestore stroke + 0 setgray 0 0.5 dtransform truncate idtransform setlinewidth pop 1 setlinecap +newpath 0 126 moveto +0 0 lineto +59.99908 0 120.00092 0 180 0 curveto stroke + 0.5 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 21.3512 -7 moveto +21.3512 0 lineto stroke +16.36986 -16.42036 moveto +(10) cmr10 9.96265 fshow +newpath 55.67569 -7 moveto +55.67569 0 lineto stroke +50.69435 -16.42036 moveto +(20) cmr10 9.96265 fshow +newpath 90.00018 -7 moveto +90.00018 0 lineto stroke +85.01884 -16.42036 moveto +(30) cmr10 9.96265 fshow +newpath 124.32468 -7 moveto +124.32468 0 lineto stroke +119.34334 -16.42036 moveto +(40) cmr10 9.96265 fshow +newpath 158.64917 -7 moveto +158.64917 0 lineto stroke +153.66783 -16.42036 moveto +(50) cmr10 9.96265 fshow + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath -7 26.1585 moveto +0 26.1585 lineto stroke +-27.71138 23.3634 moveto +(\000) cmsy10 9.96265 fshow +-19.96268 23.3634 moveto +(10) cmr10 9.96265 fshow +newpath -7 56.85979 moveto +0 56.85979 lineto stroke +-14.98134 53.6496 moveto +(0) cmr10 9.96265 fshow +newpath -7 87.56108 moveto +0 87.56108 lineto stroke +-19.96268 84.35089 moveto +(10) cmr10 9.96265 fshow +newpath -7 118.26237 moveto +0 118.26237 lineto stroke +-19.96268 115.05219 moveto +(20) cmr10 9.96265 fshow +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-8.mp b/usergrps/uktug/baskervi/7_1/0-0-8.mp new file mode 100644 index 0000000000..3d4794377a --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-8.mp @@ -0,0 +1,20 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +path s; numeric x,y; +draw begingraph(2.5in,1.75in); +gdata ("students.dat",c, + x:=(scantokens c1) * 12; + y:=(scantokens c2); + augment.s((x-5,0)-- + (x-5,y)-- (x+5,y)-- + (x+5,0)); + if y < 0: glabel.top(c2,(x,0)); fi + if y > 0: glabel.bot(c2,(x,0)); fi +); +gfill s--cycle withcolor .5white; +frame.llft; +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-8.pdf b/usergrps/uktug/baskervi/7_1/0-0-8.pdf new file mode 100644 index 0000000000..e6a7f64614 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-8.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-0-9.eps b/usergrps/uktug/baskervi/7_1/0-0-9.eps new file mode 100644 index 0000000000..9d0cc62a86 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-9.eps @@ -0,0 +1,222 @@ +%!PS +%%BoundingBox: -27 -6 183 132 +%%Creator: MetaPost +%%CreationDate: 1997.05.28:2241 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 30:ea8 +%*Font: ptmr8r 5.97765 9.96265 61:bfbf798 +%%EndProlog +%%Page: 1 1 +/cmr10 /CMR10 def +/ptmr8r /Times-Roman def +/fshow {exch findfont exch scalefont setfont show}bind def + 0 0.5 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinecap 1 setlinejoin 10 setmiterlimit +newpath -7 0.00006 moveto +0 0.00006 lineto stroke +-14.98134 -3.21013 moveto +(0) cmr10 9.96265 fshow +newpath -7 25.19995 moveto +0 25.19995 lineto stroke +-19.96268 21.98976 moveto +(20) cmr10 9.96265 fshow +newpath -7 50.39984 moveto +0 50.39984 lineto stroke +-19.96268 47.18965 moveto +(40) cmr10 9.96265 fshow +newpath -7 75.59973 moveto +0 75.59973 lineto stroke +-19.96268 72.38954 moveto +(60) cmr10 9.96265 fshow +newpath -7 100.79962 moveto +0 100.79962 lineto stroke +-19.96268 97.58943 moveto +(80) cmr10 9.96265 fshow +newpath -7 125.99953 moveto +0 125.99953 lineto stroke +-24.94402 122.78934 moveto +(100) cmr10 9.96265 fshow + 0.28 setgray 0 0 dtransform truncate idtransform setlinewidth pop +newpath 0.00003 0.00006 moveto +0.00003 35.2799 lineto +16.36356 35.2799 lineto +16.36356 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 3.00003 0.47397 moveto +12.34694 0.47397 lineto +12.34694 24.72603 lineto +3.00003 24.72603 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 9.05283 2.47397 ] concat 0 0 moveto +(graphics) ptmr8r 5.97765 fshow grestore + 0.26 setgray +newpath 16.36356 0.00006 moveto +16.36356 32.75992 lineto +32.72708 32.75992 lineto +32.72708 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 19.36356 0.30658 moveto +28.71046 0.30658 lineto +28.71046 24.89342 lineto +19.36356 24.89342 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 25.41635 2.30658 ] concat 0 0 moveto +(stdgraph) ptmr8r 5.97765 fshow grestore + 0.28 setgray +newpath 32.72708 0.00006 moveto +32.72708 35.2799 lineto +49.0906 35.2799 lineto +49.0906 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 35.72708 3.95888 moveto +45.07399 3.95888 lineto +45.07399 21.24112 lineto +35.72708 21.24112 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 41.77988 5.95888 ] concat 0 0 moveto +(xypic) ptmr8r 5.97765 fshow grestore + 0.26 setgray +newpath 49.0906 0.00006 moveto +49.0906 32.75992 lineto +65.45413 32.75992 lineto +65.45413 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 52.0906 7.27946 moveto +60.1434 7.27946 lineto +60.1434 17.92055 lineto +52.0906 17.92055 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 58.1434 9.27946 ] concat 0 0 moveto +(mf) ptmr8r 5.97765 fshow grestore + 0.8 setgray +newpath 65.45413 0.00006 moveto +65.45413 100.79962 lineto +81.81766 100.79962 lineto +81.81766 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 68.45413 1.30193 moveto +77.80104 1.30193 lineto +77.80104 23.89809 lineto +68.45413 23.89809 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 74.50693 3.30193 ] concat 0 0 moveto +(pstricks) ptmr8r 5.97765 fshow grestore + 0.54 setgray +newpath 81.81766 0.00006 moveto +81.81766 68.03976 lineto +98.18118 68.03976 lineto +98.18118 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 84.81767 1.80403 moveto +92.91232 1.80403 lineto +92.91232 23.39598 lineto +84.81767 23.39598 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 90.87047 3.80403 ] concat 0 0 moveto +(science) ptmr8r 5.97765 fshow grestore + 0.2 setgray +newpath 98.18118 0.00006 moveto +98.18118 25.19995 lineto +114.54471 25.19995 lineto +114.54471 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 101.18118 3.45981 moveto +109.27583 3.45981 lineto +109.27583 21.74019 lineto +101.18118 21.74019 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 107.23398 5.45981 ] concat 0 0 moveto +(music) ptmr8r 5.97765 fshow grestore + 0.32 setgray +newpath 114.54471 0.00006 moveto +114.54471 40.31989 lineto +130.90823 40.31989 lineto +130.90823 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 117.54471 2.96365 moveto +125.57954 2.96365 lineto +125.57954 22.23636 lineto +117.54471 22.23636 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 122.28543 4.96365 ] concat 0 0 moveto +(games) ptmr8r 5.97765 fshow grestore + 0.42 setgray +newpath 130.90823 0.00006 moveto +130.90823 52.91983 lineto +147.27176 52.91983 lineto +147.27176 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 133.90823 2.96362 moveto +142.00288 2.96362 lineto +142.00288 22.23639 lineto +133.90823 22.23639 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 139.96103 4.96362 ] concat 0 0 moveto +(colour) ptmr8r 5.97765 fshow grestore + 0.66 setgray +newpath 147.27176 0.00006 moveto +147.27176 83.1597 lineto +163.63528 83.1597 lineto +163.63528 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 150.27177 1.9654 moveto +159.61868 1.9654 lineto +159.61868 23.23462 lineto +150.27177 23.23462 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 156.32457 3.9654 ] concat 0 0 moveto +(psfonts) ptmr8r 5.97765 fshow grestore + 0.5 setgray +newpath 163.63528 0.00006 moveto +163.63528 62.99979 lineto +179.99881 62.99979 lineto +179.99881 0.00006 lineto + closepath +gsave fill grestore stroke + 1 setgray +newpath 166.6353 2.12979 moveto +175.98221 2.12979 lineto +175.98221 23.0702 lineto +166.6353 23.0702 lineto + closepath fill + 0 setgray +gsave [0 1 -1 0 172.6881 4.12979 ] concat 0 0 moveto +(pstools) ptmr8r 5.97765 fshow grestore + 0 0.5 dtransform truncate idtransform setlinewidth pop +newpath 0 0 moveto +59.99908 0 120.00092 0 180 0 curveto +180 126 lineto +120.00092 126 59.99908 126 0 126 curveto + closepath stroke +showpage +%%EOF diff --git a/usergrps/uktug/baskervi/7_1/0-0-9.mp b/usergrps/uktug/baskervi/7_1/0-0-9.mp new file mode 100644 index 0000000000..79bf68da1d --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-0-9.mp @@ -0,0 +1,24 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +path m; numeric n,width; +width:=20; defaultscale:=0.6; n:=0; +def bar(expr name,value) = + gfill(n,0)--(n,value)-- + (n+width,value)--(n+width,0)--cycle + withcolor (value/100,value/100,value/100); + picture p; + p = name infont defaultfont + scaled defaultscale rotated 90; + glabel.rt + (image(unfill bbox p; draw p),(n,10)); + n:=n+width; +enddef; +draw begingraph(2.5in,1.75in); +setrange((0,0),(11*width,100)); +autogrid(,otick.lft); +gdata("chap.dat",c,bar(c1,(scantokens c2));); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-0-9.pdf b/usergrps/uktug/baskervi/7_1/0-0-9.pdf new file mode 100644 index 0000000000..c40ccd4adf Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/0-0-9.pdf differ diff --git a/usergrps/uktug/baskervi/7_1/0-2-1.mp b/usergrps/uktug/baskervi/7_1/0-2-1.mp new file mode 100644 index 0000000000..68a4b323bf --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-2-1.mp @@ -0,0 +1,17 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.75in); +gdraw "yearm.dat" dashed evenly; +gdraw "yearw.dat"; +glabel.lft + (btex (solid) Women etex, 1960,30); +glabel.lft + (btex (dashed) Men etex ,1870,30); +glabel.bot + (btex Number of burials per year + ($n \approx 4300$) etex,OUT); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-1.mp b/usergrps/uktug/baskervi/7_1/0-3-1.mp new file mode 100644 index 0000000000..2b925b1a1f --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-1.mp @@ -0,0 +1,16 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.75in); +gdraw "yearm.dat" + plot btex $\bullet$ etex; +gdraw "yearw.dat" + plot btex $\circ$ etex; +glabel.bot + (btex Burials etex,OUT); +glabel.lft + (btex Number etex rotated 90,OUT); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-10.mp b/usergrps/uktug/baskervi/7_1/0-3-10.mp new file mode 100644 index 0000000000..3784d00cff --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-10.mp @@ -0,0 +1,34 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +numeric r,last; path c,w; +r:=5; c:=fullcircle scaled 2r; +last:=0.0; +def wedge (expr lang,value,perc) = + numeric current,n,half,xoff,yoff; + picture p; + n:=perc*3.6; + current:=last+n; half:=last+(n/2); + w:=buildcycle((0,0)--(2r,0) rotated last, + c, (2r,0)--(0,0) rotated current); + gfill w withcolor + (0.8-(perc/100),0.8-(perc/100),0.8-(perc/100)); + gdraw w; + if perc > 5: + p = lang infont defaultfont + scaled defaultscale; + glabel(image(unfill bbox p; draw p), + 3/4r*dir(half)); + fi; + last:=current; +enddef; +draw begingraph(3in,3in); +defaultscale:=0.7; +gdata ("langs.dat",c, + wedge(c1, (scantokens c2), + (scantokens c3));); +autogrid(,); frame withcolor white; +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-11.mp b/usergrps/uktug/baskervi/7_1/0-3-11.mp new file mode 100644 index 0000000000..b6ef464758 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-11.mp @@ -0,0 +1,20 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,2.5in); +n:=10; +defaultscale:=0.7; +pickup pensquare scaled 3pt; +setrange((1700,0),(whatever,whatever)); +gdata("stones.dat", s, +gdraw ((scantokens s2),n)-- + ((scantokens s3),n); +glabel.lft(s1,(scantokens s2)-3,n); +n:=n+16;); +pickup pensquare scaled .5pt; +frame.bot; +autogrid(otick.bot,); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-12.mp b/usergrps/uktug/baskervi/7_1/0-3-12.mp new file mode 100644 index 0000000000..276cfa4647 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-12.mp @@ -0,0 +1,22 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +def sq(expr x,y,num,perc) = + gfill(x,y)--(x+10,y)-- + (x+10,y+10)--(x,y+10)--cycle + withcolor (perc/100,perc/100,perc/100); + glabel(num,(x+5,y+5)) + if perc < 50: withcolor white fi; +enddef; +defaultscale:=0.7; +draw begingraph(70mm,80mm); +setrange((20,10),(110,110)); +autogrid(,); +gdata ("pot.dat",c, + sq((scantokens c1)*10, + (scantokens c2)*10, + c3, (scantokens c4));); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-2.mp b/usergrps/uktug/baskervi/7_1/0-3-2.mp new file mode 100644 index 0000000000..7df33a200c --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-2.mp @@ -0,0 +1,12 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.75in); +gfill "yearw.dat" withcolor red; +autogrid(grid.bot,itick.rt) + withcolor .5white; +frame.llft; +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-3.mp b/usergrps/uktug/baskervi/7_1/0-3-3.mp new file mode 100644 index 0000000000..cae352ee57 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-3.mp @@ -0,0 +1,16 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.75in); +gfill "yearw.dat" withcolor red; +for y=10,20,30: + itick.lft(format("%g",y),y); +endfor +otick.top("19th century",1850); +otick.top("20th century",1950); +frame.llft; +autogrid(,); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-4.mp b/usergrps/uktug/baskervi/7_1/0-3-4.mp new file mode 100644 index 0000000000..b32ba91349 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-4.mp @@ -0,0 +1,16 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.5in); +numeric p[]; path r; +for j := 0 upto 100: p[j]:=0; endfor +gdata ("ages.dat",y, age:=(scantokens y1); + p[age]:=p[age] + 1;); +r:=(0,0) + for j := 1 upto 100: --(j,p[j]) endfor; +gdraw r; +frame.llft; +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-5.mp b/usergrps/uktug/baskervi/7_1/0-3-5.mp new file mode 100644 index 0000000000..03131abecf --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-5.mp @@ -0,0 +1,23 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +draw begingraph(2.5in,1.75in); +setrange(origin,(100,100)); +numeric p[]; path r; +for j := 0 step 10 until 100: + p[j]:=0; endfor +def check(expr age) = + if age < 100: + xage:=round(age/10) * 10; + p[xage]:=p[xage] + 1; fi +enddef; +gdata ("ages.dat",y, + check((scantokens y1));); +r:=(0,0) for j := 0 step 10 until 100: + --(j,p[j]) endfor --(100,0); +gfill r -- cycle withcolor blue; +frame.llft; +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-6.mp b/usergrps/uktug/baskervi/7_1/0-3-6.mp new file mode 100644 index 0000000000..8742fd32fb --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-6.mp @@ -0,0 +1,24 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +path m,w,last; +draw begingraph(3in,2in); +setrange((1800,0),(whatever,whatever)); +gdata ("decade.dat",y, + last:=((scantokens y1),0); + augment.w(y1,y2); + augment.m(y1,y3);); +gfill (1800,0)--w--last--cycle + withcolor red; +gfill (1800,0)--m--last--cycle + withcolor green; +pickup pencircle scaled 3pt; +gdraw w dashed withdots; +pickup pencircle scaled .75pt; +glabel.bot (btex Number of burials per decade + ($n \approx 4300$) etex,OUT); +endgraph +rotated 90; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-7.mp b/usergrps/uktug/baskervi/7_1/0-3-7.mp new file mode 100644 index 0000000000..3d4794377a --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-7.mp @@ -0,0 +1,20 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +path s; numeric x,y; +draw begingraph(2.5in,1.75in); +gdata ("students.dat",c, + x:=(scantokens c1) * 12; + y:=(scantokens c2); + augment.s((x-5,0)-- + (x-5,y)-- (x+5,y)-- + (x+5,0)); + if y < 0: glabel.top(c2,(x,0)); fi + if y > 0: glabel.bot(c2,(x,0)); fi +); +gfill s--cycle withcolor .5white; +frame.llft; +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-8.mp b/usergrps/uktug/baskervi/7_1/0-3-8.mp new file mode 100644 index 0000000000..79bf68da1d --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-8.mp @@ -0,0 +1,24 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +path m; numeric n,width; +width:=20; defaultscale:=0.6; n:=0; +def bar(expr name,value) = + gfill(n,0)--(n,value)-- + (n+width,value)--(n+width,0)--cycle + withcolor (value/100,value/100,value/100); + picture p; + p = name infont defaultfont + scaled defaultscale rotated 90; + glabel.rt + (image(unfill bbox p; draw p),(n,10)); + n:=n+width; +enddef; +draw begingraph(2.5in,1.75in); +setrange((0,0),(11*width,100)); +autogrid(,otick.lft); +gdata("chap.dat",c,bar(c1,(scantokens c2));); +endgraph; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/0-3-9.mp b/usergrps/uktug/baskervi/7_1/0-3-9.mp new file mode 100644 index 0000000000..b6f86c9ee2 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/0-3-9.mp @@ -0,0 +1,29 @@ +input graph +defaultfont:="ptmr8r"; +warningcheck:=0; +beginfig(1) +path m[],w[]; +def wcheck(expr decade,value) = + augment.w1(decade,0); + augment.w1(decade,value); + augment.w1(decade+5,value); + augment.w1(decade+5,0); +enddef; +def mcheck(expr decade,value) = + augment.m1(decade+5,0); + augment.m1(decade+5,value); + augment.m1(decade+10,value); + augment.m1(decade+10,0); +enddef; +draw begingraph(3.75in,2in); +gdata ("decade.dat",y, + wcheck((scantokens y1),(scantokens y2)); + mcheck((scantokens y1),(scantokens y3));); +gfill m1--cycle; +gdraw w1; +glabel.bot (btex Number of burials per decade + ($n \approx 4300$) etex,OUT); +frame.llft; +endgraph rotated 90; +endfig; +end; diff --git a/usergrps/uktug/baskervi/7_1/P.eps.gz b/usergrps/uktug/baskervi/7_1/P.eps.gz new file mode 100644 index 0000000000..fbf5437d63 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/P.eps.gz differ diff --git a/usergrps/uktug/baskervi/7_1/ReadMe b/usergrps/uktug/baskervi/7_1/ReadMe new file mode 100644 index 0000000000..69d5df1341 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/ReadMe @@ -0,0 +1,14 @@ + Baskerville + +Articles (Full) +¥ Lout +¥ DTD +¥ LaTeX tour (part 3) +¥ Rahtz (MetaPost) +¥ LyX + +Articles (Pending) +¥ Editorial +¥ ? + + NEED MORE ARTICLES \ No newline at end of file diff --git a/usergrps/uktug/baskervi/7_1/S.eps.gz b/usergrps/uktug/baskervi/7_1/S.eps.gz new file mode 100644 index 0000000000..aa716744e5 Binary files /dev/null and b/usergrps/uktug/baskervi/7_1/S.eps.gz differ diff --git a/usergrps/uktug/baskervi/7_1/bask7_1.aux b/usergrps/uktug/baskervi/7_1/bask7_1.aux new file mode 100644 index 0000000000..1f612aba6c --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/bask7_1.aux @@ -0,0 +1,188 @@ +\relax +\ifx\hyper@anchor\@undefined +\global \let \oldcontentsline\contentsline +\gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global \let \oldnewlabel\newlabel +\gdef \newlabel#1#2{\newlabelxx{#1}#2} +\gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\let \contentsline\oldcontentsline +\let \newlabel\oldnewlabel} +\else +\global \let \hyper@last\relax +\fi + +\@writefile{toc}{\contentsline {section}{\numberline {1}Editorial}{2}{section.2}} +\citation{microsoft1996word} +\citation{adobe1995frame} +\citation{interleaf1996} +\citation{ossanna1976troff} +\citation{reid1980scribe} +\citation{knuth1984tex} +\citation{kingston1995lout.program} +\citation{lamport1986latex} +\citation{goldfarb1991hytime} +\citation{goldfarb1990sgml} +\citation{furuta1982survey} +\citation{kernighan1989retro} +\citation{kingston1993lout.design} +\citation{foxley1987music} +\citation{kernighan1982pic} +\citation{vanwyk1980} +\citation{krishnamurthy1995unix} +\@writefile{toc}{\contentsline {newarticle}{\numberline {I}The Future of Document Formatting (Working Paper)}{3}{newarticle.3}} +\@writefile{toc}{\contentsline {section}{\numberline {1}Abstract}{3}{section.4}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Introduction}{3}{section.5}} +\citation{apple1996quickdraw} +\@writefile{toc}{\contentsline {section}{\numberline {3}Requirements}{4}{section.6}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Editability}{4}{subsection.7}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Extensibility}{4}{subsection.8}} +\citation{brooks1991lilac} +\citation{krishnamurthy1995unix} +\citation{adobe1990ps} +\citation{knuth1981bpl} +\citation{plass1981} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Generality}{6}{subsection.9}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Optimality}{6}{subsection.10}} +\citation{knuth1984tex} +\citation{winston1992} +\bibcite{adobe1990ps}{1} +\bibcite{adobe1995frame}{2} +\bibcite{apple1996quickdraw}{3} +\bibcite{brooks1991lilac}{4} +\bibcite{foxley1987music}{5} +\bibcite{furuta1982survey}{6} +\bibcite{goldfarb1990sgml}{7} +\bibcite{goldfarb1991hytime}{8} +\bibcite{interleaf1996}{9} +\bibcite{kernighan1982pic}{10} +\bibcite{kernighan1989retro}{11} +\bibcite{kingston1993lout.design}{12} +\@writefile{toc}{\contentsline {section}{\numberline {4}Conclusion}{8}{section.11}} +\@writefile{toc}{\contentsline {section}{\numberline {5}Acknowledgements}{8}{section.12}} +\bibcite{kingston1995lout.program}{13} +\bibcite{knuth1981bpl}{14} +\bibcite{knuth1984tex}{15} +\bibcite{krishnamurthy1995unix}{16} +\bibcite{lamport1986latex}{17} +\bibcite{microsoft1996word}{18} +\bibcite{ossanna1976troff}{19} +\bibcite{plass1981}{20} +\bibcite{reid1980scribe}{21} +\bibcite{winston1992}{22} +\bibcite{vanwyk1980}{23} +\citation{one} +\citation{one} +\citation{two} +\citation{three} +\citation{four} +\citation{five} +\@writefile{toc}{\contentsline {newarticle}{\numberline {II}Standard DTDs and scientific publishing}{10}{newarticle.14}} +\@writefile{toc}{\contentsline {section}{\numberline {1}Abstract}{10}{section.15}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Introduction}{10}{section.16}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Scientific publishing}{10}{section.17}} +\newlabel{sci-pub}{{3}{10}{Scientific publishing\relax }{section.17}{}} +\citation{six} +\citation{seven} +\citation{eight} +\citation{nine} +\citation{ten} +\citation{eleven} +\citation{twelve} +\@writefile{toc}{\contentsline {section}{\numberline {4}Encoding of mathematical formulas}{11}{section.18}} +\citation{thirteen} +\citation{eleven} +\citation{twelve} +\citation{ten} +\citation{fourteen} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Characteristics of mathematical notation}{12}{subsection.23}} +\newlabel{character}{{4.1}{12}{Characteristics of mathematical notation\relax }{subsection.23}{}} +\citation{fifteen} +\citation{one} +\citation{sixteen} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Who performs the markup of math?}{13}{subsection.28}} +\newlabel{first}{{1.}{13}{Who performs the markup of math?\relax }{Item.29}{}} +\newlabel{second}{{2.}{13}{Who performs the markup of math?\relax }{Item.30}{}} +\newlabel{third}{{3.}{13}{Who performs the markup of math?\relax }{Item.31}{}} +\citation{seventeen} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Feasibility of S-type notation}{14}{subsection.32}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Some problems with existing languages}{14}{subsection.34}} +\citation{eighteen} +\citation{nineteen} +\citation{twenty} +\citation{twentyone} +\citation{twentytwo} +\citation{sixteen} +\citation{seventeen} +\citation{twentythree} +\@writefile{toc}{\contentsline {section}{\numberline {5}Re-using mathematical formulas}{15}{section.35}} +\@writefile{toc}{\contentsline {section}{\numberline {6}Related problems}{15}{section.36}} +\citation{twentyfive} +\citation{twentysix} +\bibcite{one}{1} +\bibcite{two}{2} +\bibcite{three}{3} +\bibcite{four}{4} +\bibcite{five}{5} +\bibcite{six}{6} +\bibcite{seven}{7} +\bibcite{eight}{8} +\bibcite{nine}{9} +\bibcite{ten}{10} +\bibcite{eleven}{11} +\bibcite{twelve}{12} +\bibcite{thirteen}{13} +\bibcite{fourteen}{14} +\bibcite{fifteen}{15} +\bibcite{sixteen}{16} +\bibcite{seventeen}{17} +\bibcite{eighteen}{18} +\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusions}{16}{section.37}} +\bibcite{nineteen}{19} +\bibcite{twenty}{20} +\bibcite{twentyone}{21} +\bibcite{twentytwo}{22} +\bibcite{twentythree}{23} +\bibcite{twentyfive}{24} +\bibcite{twentysix}{25} +\@writefile{toc}{\contentsline {newarticle}{\numberline {III}A \LaTeX \ Tour, part 3: mfnfss, psnfss and babel}{18}{newarticle.39}} +\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{18}{section.40}} +\@writefile{toc}{\contentsline {section}{\numberline {2}The MFNFSS Distribution}{18}{section.41}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Font Packages}{18}{subsection.42}} +\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}T1 Encoded `Concrete' Fonts}{18}{subsection.44}} +\@writefile{toc}{\contentsline {section}{\numberline {3}The PSNFSS Distribution}{18}{section.45}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}PSFONTS}{19}{subsection.46}} +\@writefile{toc}{\contentsline {subsubsection}{Font Vendors}{19}{section*.47}} +\@writefile{toc}{\contentsline {subsubsection}{Standard \textsc {PostScript}\ Fonts}{20}{section*.48}} +\@writefile{toc}{\contentsline {subsubsection}{Tools and Extra Packages}{20}{section*.49}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Standard PSNFSS Packages}{20}{subsection.50}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Freely Available Type\nobreakspace {}1 Text Fonts}{21}{subsection.51}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Commercial Text Fonts}{21}{subsection.52}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Adobe Lucida}{22}{subsection.54}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Lucida Bright}{22}{subsection.55}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}MathTime}{22}{subsection.56}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Documentation and Other Files}{22}{subsection.57}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.9}PSNFSSX}{23}{subsection.58}} +\@writefile{toc}{\contentsline {section}{\numberline {4}The Babel Distribution}{23}{section.59}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Babel Kernel}{23}{subsection.60}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Language-Specific Files}{23}{subsection.61}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Compatibility Files}{24}{subsection.66}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.4}Installation Script and Font Descriptor Files}{25}{subsection.67}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.5}Documentation}{25}{subsection.68}} +\@writefile{toc}{\contentsline {subsubsection}{ASCII Text Files}{25}{section*.69}} +\@writefile{toc}{\contentsline {subsubsection}{T\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m \ Documents}{25}{section*.70}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.6}Example File}{25}{subsection.71}} +\@writefile{toc}{\contentsline {section}{\numberline {5}Coming Soon}{25}{section.72}} +\@writefile{toc}{\contentsline {newarticle}{\numberline {IV}A tutorial on using MetaPost's \textsf {graph} package}{26}{newarticle.73}} +\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{26}{section.74}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Getting started}{26}{section.76}} +\@writefile{toc}{\contentsline {section}{\numberline {3}Variations in basic graphing}{27}{section.78}} +\@writefile{toc}{\contentsline {subsubsection}{Frames, ticks, grids and scales}{28}{section*.80}} +\@writefile{toc}{\contentsline {subsubsection}{Reading data files}{28}{section*.83}} +\@writefile{toc}{\contentsline {subsubsection}{Different graph types}{30}{section*.87}} +\newlabel{mppie}{{3}{31}{Different graph types\relax }{EX@ct.90}{}} +\bibcite{Bentley/Kernighan:1984}{1} +\bibcite{Companion}{2} +\bibcite{Hobby:MP}{3} +\bibcite{Hobby:MPG}{4} +\bibcite{Rahtz:1988}{5} +\@writefile{toc}{\contentsline {newarticle}{\numberline {V}The UK T\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m \ Users' Group}{34}{newarticle.95}} diff --git a/usergrps/uktug/baskervi/7_1/bask7_1.log b/usergrps/uktug/baskervi/7_1/bask7_1.log new file mode 100644 index 0000000000..5f489d7f94 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/bask7_1.log @@ -0,0 +1,573 @@ +This is pdfTeX, Version 3.14159-13d (Web2C 7.3.1) (format=hypdflatex 1999.6.4) 4 JUN 1999 17:12 +**&hypdflatex bask7_1 +(bask7_1.tex[/home/rahtz/texmf.local/pdftex/config/pdftex.cfg] +LaTeX2e <1998/12/01> patch level 1 +Babel and hyphenation patterns for english, french, german, ngerman, du +mylang, nohyphenation, loaded. + ********* Hyperref Macros loaded ******* +(../baskrep.cls +Document Class: baskrep 1997/09/29, Baskerville reprints class 1.2 +(/home/rahtz/texlive/texmf/tex/latex/base/article.cls +Document Class: article 1999/01/07 v1.4a Standard LaTeX document class +(/home/rahtz/texlive/texmf/tex/latex/base/size10.clo +File: size10.clo 1999/01/07 v1.4a Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/home/rahtz/texlive/texmf/tex/latex/textfit/textfit.sty +Package: textfit 1994/04/15 +\mags@f@r=\count87 +\desired@size=\dimen103 +\r@mainder=\count88 +\m@gstepcount=\count89 +\m@gsteplimit=\count90 +\m@gstepvalue=\count91 +\m@gstepdimen=\dimen104 +) +(/home/rahtz/texlive/texmf/tex/latex/psnfss/pifont.sty +Package: pifont 1999/03/29 PSNFSS v.7.2 Pi font support : S Rahtz +LaTeX Font Info: Try loading font information for U+pzd on input line 63. + +(/home/rahtz/texlive/texmf/tex/latex/psnfss/upzd.fd +File: upzd.fd 1998/11/05 font definitions for U/pzd. +) +LaTeX Font Info: Try loading font information for U+psy on input line 64. + +(/home/rahtz/texlive/texmf/tex/latex/psnfss/upsy.fd +File: upsy.fd 1998/11/05 font definitions for U/psy. +)) +(/home/rahtz/texlive/texmf/tex/latex/base/latexsym.sty +Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) +\symlasy=\mathgroup4 +LaTeX Font Info: Overwriting symbol font `lasy' in version `bold' +(Font) U/lasy/m/n --> U/lasy/b/n on input line 29. +) +(/home/rahtz/texlive/texmf/tex/latex/tools/calc.sty +Package: calc 1998/07/07 v4.1b Infix arithmetic (KKT,FJ) +\calc@Acount=\count92 +\calc@Bcount=\count93 +\calc@Adimen=\dimen105 +\calc@Bdimen=\dimen106 +\calc@Askip=\skip43 +\calc@Bskip=\skip44 +LaTeX Info: Redefining \setlength on input line 49. +LaTeX Info: Redefining \addtolength on input line 50. +\calc@denominator=\count94 +) +(/home/rahtz/texlive/texmf/tex/latex/base/ifthen.sty +Package: ifthen 1999/01/07 v1.1a Standard LaTeX ifthen package (DPC) +) +(/home/rahtz/texlive/texmf/tex/latex/tools/longtable.sty +Package: longtable 1998/05/13 v4.09 Multi-page Table package (DPC) +\LTleft=\skip45 +\LTright=\skip46 +\LTpre=\skip47 +\LTpost=\skip48 +\LTchunksize=\count95 +\LTcapwidth=\dimen107 +\LT@head=\box26 +\LT@firsthead=\box27 +\LT@foot=\box28 +\LT@lastfoot=\box29 +\LT@cols=\count96 +\LT@rows=\count97 +\c@LT@tables=\count98 +\c@LT@chunks=\count99 +\LT@p@ftn=\toks14 +) +(/home/rahtz/texlive/texmf/tex/latex/psnfss/mathptm.sty +Package: mathptm 1999/03/29 PSNFSS v.7.2 Times + math package from fontinst : S + Rahtz +LaTeX Font Info: Redeclaring symbol font `operators' on input line 31. +LaTeX Font Info: Overwriting symbol font `operators' in version `normal' +(Font) OT1/cmr/m/n --> OT1/ptmcm/m/n on input line 31. +LaTeX Font Info: Overwriting symbol font `operators' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/ptmcm/m/n on input line 31. +LaTeX Font Info: Redeclaring symbol font `letters' on input line 32. +LaTeX Font Info: Overwriting symbol font `letters' in version `normal' +(Font) OML/cmm/m/it --> OML/ptmcm/m/it on input line 32. +LaTeX Font Info: Overwriting symbol font `letters' in version `bold' +(Font) OML/cmm/b/it --> OML/ptmcm/m/it on input line 32. +LaTeX Font Info: Redeclaring symbol font `symbols' on input line 33. +LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' +(Font) OMS/cmsy/m/n --> OMS/pzccm/m/n on input line 33. +LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' +(Font) OMS/cmsy/b/n --> OMS/pzccm/m/n on input line 33. +LaTeX Font Info: Redeclaring symbol font `largesymbols' on input line 34. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' +(Font) OMX/cmex/m/n --> OMX/psycm/m/n on input line 34. +LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' +(Font) OMX/cmex/m/n --> OMX/psycm/m/n on input line 34. +\symbold=\mathgroup5 +\symitalic=\mathgroup6 +LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' +(Font) OT1/cmr/bx/n --> OT1/ptm/bx/n on input line 37. +LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' +(Font) OT1/cmr/bx/n --> OT1/ptm/bx/n on input line 37. +LaTeX Font Info: Redeclaring math alphabet \mathit on input line 38. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' +(Font) OT1/cmr/m/it --> OT1/ptm/m/it on input line 38. +LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' +(Font) OT1/cmr/bx/it --> OT1/ptm/m/it on input line 38. +) +LaTeX Font Info: Try loading font information for OT1+ptm on input line 16. + +(/home/rahtz/texlive/texmf/tex/latex/psnfss/ot1ptm.fd +File: ot1ptm.fd 1998/11/05 Fontinst v1.800 font definitions for OT1/ptm. +) +(/home/rahtz/texlive/texmf/tex/latex/base/fontenc.sty +Package: fontenc 1999/02/24 v1.9t Standard LaTeX package + +(/home/rahtz/texlive/texmf/tex/latex/base/t1enc.def +File: t1enc.def 1999/02/24 v1.9t Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 25. +) +LaTeX Font Info: Try loading font information for T1+ptm on input line 78. + +(/home/rahtz/texlive/texmf/tex/latex/psnfss/t1ptm.fd +File: t1ptm.fd 1998/11/05 Fontinst v1.800 font definitions for T1/ptm. +)) +(/home/rahtz/texlive/texmf/tex/latex/tools/array.sty +Package: array 1998/05/13 v2.3m Tabular extension package (FMi) +\col@sep=\dimen108 +\extrarowheight=\dimen109 +\NC@list=\toks15 +\extratabsurround=\skip49 +\backup@length=\skip50 +) +(/home/rahtz/texlive/texmf/tex/latex/base/shortvrb.sty +Package: shortvrb 1999/03/25 v2.0h Standard LaTeX documentation package (FMi) +) +(/home/rahtz/texlive/texmf/tex/latex/graphics/epsfig.sty +Package: epsfig 1999/02/16 v1.7a (e)psfig emulation (SPQR) + +(/home/rahtz/texlive/texmf/tex/latex/graphics/graphicx.sty +Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) + +(/home/rahtz/texlive/texmf/tex/latex/graphics/keyval.sty +Package: keyval 1999/03/16 v1.13 key=value parser (DPC) +\KV@toks@=\toks16 +) +(/home/rahtz/texlive/texmf/tex/latex/graphics/graphics.sty +Package: graphics 1999/02/16 v1.0l Standard LaTeX Graphics (DPC,SPQR) + +(/home/rahtz/texmf.local/tex/fontinst/base/tex/trig.sty +Package: trig 1994/10/16 v1.08 sin cos tan (DPC) +) +(/home/rahtz/texlive/texmf/tex/latex/texlive/graphics.cfg) +Package graphics Info: Driver file: pdftex.def on input line 80. + +(/home/rahtz/texlive/texmf/tex/latex/graphics/pdftex.def +File: pdftex.def 1999/01/26 v0.02l graphics/color for pdftex +\Gread@gobject=\count100 +)) +\Gin@req@height=\dimen110 +\Gin@req@width=\dimen111 +) +\epsfxsize=\dimen112 +\epsfysize=\dimen113 +) +(/home/rahtz/texlive/texmf/tex/latex/graphics/color.sty +Package: color 1999/02/16 v1.0i Standard LaTeX Color (DPC) + +(/home/rahtz/texlive/texmf/tex/latex/texlive/color.cfg) +Package color Info: Driver file: pdftex.def on input line 125. +) +(/home/rahtz/texlive/texmf/tex/latex/tools/multicol.sty +Package: multicol 1999/03/22 v1.5t multicolumn formatting (FMi) +\c@tracingmulticols=\count101 +\mult@box=\box30 +\multicol@leftmargin=\dimen114 +\c@unbalance=\count102 +\c@collectmore=\count103 +\doublecol@number=\count104 +\multicoltolerance=\count105 +\multicolpretolerance=\count106 +\full@width=\dimen115 +\page@free=\dimen116 +\premulticols=\dimen117 +\postmulticols=\dimen118 +\multicolsep=\skip51 +\multicolbaselineskip=\skip52 +\partial@page=\box31 +\last@line=\box32 +\mult@rightbox=\box33 +\mult@grightbox=\box34 +\mult@gfirstbox=\box35 +\mult@firstbox=\box36 +\@tempa=\box37 +\@tempa=\box38 +\@tempa=\box39 +\@tempa=\box40 +\@tempa=\box41 +\@tempa=\box42 +\@tempa=\box43 +\@tempa=\box44 +\@tempa=\box45 +\@tempa=\box46 +\@tempa=\box47 +\@tempa=\box48 +\@tempa=\box49 +\@tempa=\box50 +\@tempa=\box51 +\@tempa=\box52 +\@tempa=\box53 +\c@columnbadness=\count107 +\c@finalcolumnbadness=\count108 +\last@try=\dimen119 +\multicolovershoot=\dimen120 +\multicolundershoot=\dimen121 +\mult@nat@firstbox=\box54 +) +(/home/rahtz/texlive/texmf/tex/latex/ltxmisc/url.sty +Package: url 1999/03/02 ver 1.4 Verb mode for urls, email addresses, and file + names +) +(/home/rahtz/texlive/texmf/tex/latex/mflogo/mflogo.sty +Package: mflogo 1999/03/10 v2.0 LaTeX package for Metafont and MetaPost logos +) +LaTeX Info: Redefining \rm on input line 73. +LaTeX Info: Redefining \sf on input line 74. +LaTeX Info: Redefining \tt on input line 75. +LaTeX Info: Redefining \bf on input line 76. +LaTeX Info: Redefining \it on input line 77. +LaTeX Info: Redefining \sl on input line 78. +LaTeX Info: Redefining \sc on input line 79. +\@indentskip=\skip53 +\smallindent=\skip54 +\@footindent=\skip55 +\@leftskip=\skip56 +\c@newarticle=\count109 +\BSKbox=\box55 +) +(/home/rahtz/texlive/texmf/tex/latex/tools/xspace.sty +Package: xspace 1997/10/13 v1.06 Space after command names (DPC) +) +(/home/rahtz/texlive/texmf/tex/latex/ltxmisc/relsize.sty +Package: relsize 1995/03/15 ver 2.0 +) (fancyvrb.sty +Package: fancyvrb 1996/10/05 + +Style option: `fancyvrb' v2.0-beta, with DG/SPQR fixes <1996/10/05> (tvz) +\FV@CodeLineNo=\count110 +\FV@InFile=\read1 +\FV@TabBox=\box56 +\c@FancyVerbLine=\count111 +\FV@OutFile=\write3 +(fancyvrb.rc +File: fancyvrb.rc 1997/01/11 FMi fancyvrb customization by Sebastian Rahtz and +Frank Mittelbach for LaTeX Graphics Companion +\ExampleWidth=\dimen122 +\CodeWidth=\dimen123 +\c@chapter=\count112 +\c@EX@ct=\count113 +\c@side@count=\count114 +\@display=\box57 +)) (/home/rahtz/texlive/texmf/tex/latex/amslatex/amstext.sty +Package: amstext 1996/10/28 v1.2b + +(/home/rahtz/texlive/texmf/tex/latex/amslatex/amsgen.sty +File: amsgen 1996/10/29 v1.2b +\@emptytoks=\toks17 +\ex@=\dimen124 +)) +(/home/rahtz/texlive/texmf/tex/latex/hyperref/hyperref.sty +Package: hyperref 1999/06/04 6.58 Hypertext links for LaTeX +\@linkdim=\dimen125 +\hy@linkcounter=\count115 +\hy@pagecounter=\count116 + +(/home/rahtz/texlive/texmf/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 1999/05/20 v0.4 PDFDocEncoding (Heiko Oberdiek) +) (../hyperref.cfg +Package hyperref Info: option bookmarks set true on input line 1. +) +Package hyperref Info: option hypertexnames set false on input line 730. +Package hyperref Info: Bookmarks ON on input line 747. +Package hyperref Info: Hyper figures OFF on input line 759. +Package hyperref Info: Link nesting OFF on input line 764. +Package hyperref Info: Hyper index ON on input line 767. +Package hyperref Info: Plain pages ON on input line 772. +Package hyperref Info: Backreferencing OFF on input line 779. + +Implicit mode ON; LaTeX internals redefined +\Fld@menulength=\count117 +\Field@Width=\dimen126 +\Fld@charsize=\dimen127 +\Choice@toks=\toks18 +\Field@toks=\toks19 +Package hyperref Info: Hyper figures OFF on input line 1271. +Package hyperref Info: Link nesting OFF on input line 1276. +Package hyperref Info: Hyper index ON on input line 1279. +Package hyperref Info: backreferencing OFF on input line 1286. +Package hyperref Info: Link coloring OFF on input line 1291. +\c@Item=\count118 +\c@Hfootnote=\count119 +\OddToc=\count120 +LaTeX Info: Redefining \ref on input line 1982. +LaTeX Info: Redefining \pageref on input line 1983. +) +*hyperref using driver hpdftex* +(/home/rahtz/texlive/texmf/tex/latex/hyperref/hpdftex.def +\Fld@listcount=\count121 +\@outlinefile=\write4 +) + +LaTeX Warning: Unused global option(s): + [fleqn]. + +(bask7_1.aux) +\openout1 = `bask7_1.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 22. +LaTeX Font Info: ... okay on input line 22. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 22. +LaTeX Font Info: ... okay on input line 22. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 22. +LaTeX Font Info: ... okay on input line 22. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 22. +LaTeX Font Info: ... okay on input line 22. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 22. +LaTeX Font Info: ... okay on input line 22. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 22. +LaTeX Font Info: ... okay on input line 22. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 22. +LaTeX Font Info: ... okay on input line 22. + (/home/rahtz/texlive/texmf/tex/context/base/supp-pdf.tex +(/home/rahtz/texlive/texmf/tex/context/base/supp-mis.tex +loading : Context Support Macros / Missing +\protectiondepth=\count122 +\scratchcounter=\count123 +\scratchdimen=\dimen128 +\scratchskip=\skip57 +\scratchmuskip=\muskip10 +\scratchbox=\box58 +\scratchread=\read2 +\scratchwrite=\write5 +\nextbox=\box59 +\nextdepth=\dimen129 +\everyline=\toks20 +\!!counta=\count124 +\!!countb=\count125 +\recursecounter=\count126 +) +loading : Context Support Macros / PDF +\nofMPsegments=\count127 +\nofMParguments=\count128 +) +Package hyperref Info: Link coloring OFF on input line 22. + (/home/rahtz/texlive/texmf/tex/latex/hyperref/nameref.sty +Package: nameref 1999/06/05 Cross-referencing by name of section +) (bask7_1.out) +(bask7_1.out) +\openout4 = `bask7_1.out'. + +LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <10> not available +(Font) Font shape `T1/ptm/b/n' tried instead on input line 24. + The calculated font is ptmb8t ->72.89124pt +LaTeX Font Info: Try loading font information for T1+pcr on input line 24. + +(/home/rahtz/texlive/texmf/tex/latex/psnfss/t1pcr.fd +File: t1pcr.fd 1998/11/05 Fontinst v1.800 font definitions for T1/pcr. +) +Underfull \hbox (badness 1917) in paragraph at lines 24--24 +\T1/ptm/m/n/10 Oak, Birm-ing-ham B29 4LB. Fax/telephone: 0121 476 2159. Email e +n-quiries about UK-TUG to \T1/pcr/m/n/10 uktug- + [] + +LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <12> not available +(Font) Font shape `T1/ptm/b/n' tried instead on input line 24. +(bask7_1.toc +LaTeX Font Info: Try loading font information for OT1+ptmcm on input line 1. + + (/home/rahtz/texlive/texmf/tex/latex/psnfss/ot1ptmcm.fd +File: ot1ptmcm.fd 1998/11/05 Fontinst v1.800 font definitions for OT1/ptmcm. +) +LaTeX Font Info: Try loading font information for OML+ptmcm on input line 1. + + +(/home/rahtz/texlive/texmf/tex/latex/psnfss/omlptmcm.fd +File: omlptmcm.fd 1998/11/05 Fontinst v1.800 font definitions for OML/ptmcm. +) +LaTeX Font Info: Try loading font information for OMS+pzccm on input line 1. + + +(/home/rahtz/texlive/texmf/tex/latex/psnfss/omspzccm.fd +File: omspzccm.fd 1998/11/05 Fontinst v1.800 font definitions for OMS/pzccm. +) +LaTeX Font Info: Try loading font information for OMX+psycm on input line 1. + + +(/home/rahtz/texlive/texmf/tex/latex/psnfss/omxpsycm.fd +File: omxpsycm.fd 1998/11/05 Fontinst v1.800 font definitions for OMX/psycm. +) +LaTeX Font Info: Try loading font information for U+lasy on input line 1. + +(/home/rahtz/texlive/texmf/tex/latex/base/ulasy.fd +File: ulasy.fd 1998/08/17 v2.2eLaTeX symbol font definitions +) +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <10> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1. +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <7.4> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1. +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <6> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 1. + [1 + +[/home/rahtz/texlive/texmf/pdftex/config/psfonts.map][/home/rahtz/texlive/texmf +/pdftex/config/lw35.map][/home/rahtz/texlive/texmf/pdftex/config/rawfonts.map][ +/home/rahtz/texlive/texmf/pdftex/config/em.map][/home/rahtz/texmf.local/pdftex/ +config/elpdf.map] +checksum mismatch in local font psyr in virtual font zptmcmrm.vf ignored. +checksum mismatch in local font ptmri8r in virtual font zptmcmrm.vf ignored.] +LaTeX Font Info: Try loading font information for T1+phv on input line 52. + +(/home/rahtz/texlive/texmf/tex/latex/psnfss/t1phv.fd +File: t1phv.fd 1998/11/05 Fontinst v1.800 font definitions for T1/phv. +)) +\tf@toc=\write6 +\openout6 = `bask7_1.toc'. + +LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <10.95> not available +(Font) Font shape `T1/ptm/b/n' tried instead on input line 25. +LaTeX Font Info: Try loading font information for U+logo on input line 58. + +(/home/rahtz/texlive/texmf/tex/latex/mflogo/ulogo.fd +File: ulogo.fd 1999/03/10 v2.0 LaTeX font defs for Metafont and MetaPost logos +) (lout.tex [2] [3 + +] +[4] +Underfull \vbox (badness 10000) has occurred while \output is active [] + + [5 +checksum mismatch in local font psyr in virtual font zptmcmr.vf ignored. +checksum mismatch in local font ptmr8r in virtual font zptmcmr.vf ignored.] +Underfull \hbox (badness 7064) in paragraph at lines 372--377 +[]\T1/ptm/m/n/10 Now there will be sev-eral ways in which each atomic step may +be per-formed. For ex-am-ple, + [] + +[6] [7 +checksum mismatch in local font psyr in virtual font zpzccmry.vf ignored. +checksum mismatch in local font pzcmi8r in virtual font zpzccmry.vf ignored. +checksum mismatch in local font ptmr8r in virtual font zpzccmry.vf ignored.] +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <9> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 570. +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <7> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 570. +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <5> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 570. + +[8]) (dtd.tex [9] [10 + +] [11] +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <8> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 204. + [12 +checksum mismatch in local font psyr in virtual font zptmcmr.vf ignored. +checksum mismatch in local font ptmr8r in virtual font zptmcmr.vf ignored.] +[13 +checksum mismatch in local font psyr in virtual font zpzccmry.vf ignored. +checksum mismatch in local font pzcmi8r in virtual font zpzccmry.vf ignored. +checksum mismatch in local font ptmr8r in virtual font zpzccmry.vf ignored. +checksum mismatch in local font psyr in virtual font zptmcmr.vf ignored. +checksum mismatch in local font ptmr8r in virtual font zptmcmr.vf ignored. +checksum mismatch in local font psyr in virtual font zptmcmrm.vf ignored. +checksum mismatch in local font ptmri8r in virtual font zptmcmrm.vf ignored. +checksum mismatch in local font psyr in virtual font zptmcmrm.vf ignored. +checksum mismatch in local font ptmri8r in virtual font zptmcmrm.vf ignored. +checksum mismatch in local font psyr in virtual font zptmcmr.vf ignored. +checksum mismatch in local font ptmr8r in virtual font zptmcmr.vf ignored. +checksum mismatch in local font psyr in virtual font zpzccmry.vf ignored. +checksum mismatch in local font pzcmi8r in virtual font zpzccmry.vf ignored. +checksum mismatch in local font ptmr8r in virtual font zpzccmry.vf ignored.] +[14 +checksum mismatch in local font psyr in virtual font zptmcmrm.vf ignored. +checksum mismatch in local font ptmri8r in virtual font zptmcmrm.vf ignored.] +[15] [16]) (ltour3.tex [17] +LaTeX Font Info: Font shape `OT1/ptm/bx/n' in size <12> not available +(Font) Font shape `OT1/ptm/b/n' tried instead on input line 26. +LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <9> not available +(Font) Font shape `T1/ptm/b/n' tried instead on input line 26. + [18 + +] [19] [20] +Underfull \hbox (badness 4072) in paragraph at lines 415--418 +[]\T1/ptm/m/n/10 Declares URW Nim-bus Roman-Regular and URW Nim-bus Sans-Regula +r as []\T1/pcr/m/n/10 \rmfamily \T1/ptm/m/n/10 and + [] + +[21] [22] [23] [24]) (rahtz.tex +\boxdef=\box60 +LaTeX Font Info: Font shape `T1/phv/m/it' in size <10> not available +(Font) Font shape `T1/phv/m/sl' tried instead on input line 28. + [25] +LaTeX Font Info: Font shape `T1/phv/bx/n' in size <12> not available +(Font) Font shape `T1/phv/b/n' tried instead on input line 28. + [26 + +] +\openout3 = `0-2-1.mp'. + +\openout3 = `0-3-1.mp'. + + [27] +\openout3 = `0-3-2.mp'. + +\openout3 = `0-3-3.mp'. + +\openout3 = `0-3-4.mp'. + + [28] +\openout3 = `0-3-5.mp'. + +\openout3 = `0-3-6.mp'. + + [29] +\openout3 = `0-3-7.mp'. + +\openout3 = `0-3-8.mp'. + + [30] +\openout3 = `0-3-9.mp'. + +\openout3 = `0-3-10.mp'. + + [31] +\openout3 = `0-3-11.mp'. + + +Underfull \vbox (badness 1184) has occurred while \output is active [] + + [32] +\openout3 = `0-3-12.mp'. + +) +(regul.tex [33] [34 + +]) (bask7_1.aux) ) +Here is how much of TeX's memory you used: + 4042 strings out of 10630 + 49485 string characters out of 68277 + 104855 words of memory out of 1500001 + 6701 multiletter control sequences out of 10000+577 + 115018 words of font info for 147 fonts, out of 200000 for 1000 + 14 hyphenation exceptions out of 1000 + 39i,10n,38p,245b,569s stack positions out of 300i,100n,500p,50000b,4000s +<8r.enc> +Output written on bask7_1.pdf (34 pages, 221882 bytes). diff --git a/usergrps/uktug/baskervi/7_1/bask7_1.out b/usergrps/uktug/baskervi/7_1/bask7_1.out new file mode 100644 index 0000000000..184b7ca000 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/bask7_1.out @@ -0,0 +1,51 @@ +\BOOKMARK [1]{section.2}{Editorial}{} +\BOOKMARK [1]{newarticle.3}{The Future of Document Formatting \(Working Paper\)}{} +\BOOKMARK [1]{section.4}{Abstract}{} +\BOOKMARK [1]{section.5}{Introduction}{} +\BOOKMARK [1]{section.6}{Requirements}{} +\BOOKMARK [2]{subsection.7}{Editability}{section.6} +\BOOKMARK [2]{subsection.8}{Extensibility}{section.6} +\BOOKMARK [2]{subsection.9}{Generality}{section.6} +\BOOKMARK [2]{subsection.10}{Optimality}{section.6} +\BOOKMARK [1]{section.11}{Conclusion}{} +\BOOKMARK [1]{section.12}{Acknowledgements}{} +\BOOKMARK [1]{newarticle.14}{Standard DTDs and scientific publishing}{} +\BOOKMARK [1]{section.15}{Abstract}{} +\BOOKMARK [1]{section.16}{Introduction}{} +\BOOKMARK [1]{section.17}{Scientific publishing}{} +\BOOKMARK [1]{section.18}{Encoding of mathematical formulas}{} +\BOOKMARK [2]{subsection.23}{Characteristics of mathematical notation}{section.18} +\BOOKMARK [2]{subsection.28}{Who performs the markup of math?}{section.18} +\BOOKMARK [2]{subsection.32}{Feasibility of S-type notation}{section.18} +\BOOKMARK [2]{subsection.34}{Some problems with existing languages}{section.18} +\BOOKMARK [1]{section.35}{Re-using mathematical formulas}{} +\BOOKMARK [1]{section.36}{Related problems}{} +\BOOKMARK [1]{section.37}{Conclusions}{} +\BOOKMARK [1]{newarticle.39}{A LaTeX Tour, part 3: mfnfss, psnfss and babel}{} +\BOOKMARK [1]{section.40}{Introduction}{} +\BOOKMARK [1]{section.41}{The MFNFSS Distribution}{} +\BOOKMARK [2]{subsection.42}{Font Packages}{section.41} +\BOOKMARK [2]{subsection.44}{T1 Encoded `Concrete' Fonts}{section.41} +\BOOKMARK [1]{section.45}{The PSNFSS Distribution}{} +\BOOKMARK [2]{subsection.46}{PSFONTS}{section.45} +\BOOKMARK [2]{subsection.50}{Standard PSNFSS Packages}{section.45} +\BOOKMARK [2]{subsection.51}{Freely Available Type 1 Text Fonts}{section.45} +\BOOKMARK [2]{subsection.52}{Commercial Text Fonts}{section.45} +\BOOKMARK [2]{subsection.54}{Adobe Lucida}{section.45} +\BOOKMARK [2]{subsection.55}{Lucida Bright}{section.45} +\BOOKMARK [2]{subsection.56}{MathTime}{section.45} +\BOOKMARK [2]{subsection.57}{Documentation and Other Files}{section.45} +\BOOKMARK [2]{subsection.58}{PSNFSSX}{section.45} +\BOOKMARK [1]{section.59}{The Babel Distribution}{} +\BOOKMARK [2]{subsection.60}{Babel Kernel}{section.59} +\BOOKMARK [2]{subsection.61}{Language-Specific Files}{section.59} +\BOOKMARK [2]{subsection.66}{Compatibility Files}{section.59} +\BOOKMARK [2]{subsection.67}{Installation Script and Font Descriptor Files}{section.59} +\BOOKMARK [2]{subsection.68}{Documentation}{section.59} +\BOOKMARK [2]{subsection.71}{Example File}{section.59} +\BOOKMARK [1]{section.72}{Coming Soon}{} +\BOOKMARK [1]{newarticle.73}{A tutorial on using MetaPost's graph package}{} +\BOOKMARK [1]{section.74}{Introduction}{} +\BOOKMARK [1]{section.76}{Getting started}{} +\BOOKMARK [1]{section.78}{Variations in basic graphing}{} +\BOOKMARK [1]{newarticle.95}{The UK TeX Users' Group}{} diff --git a/usergrps/uktug/baskervi/7_1/bask7_1.tex b/usergrps/uktug/baskervi/7_1/bask7_1.tex new file mode 100644 index 0000000000..01b01f72fc --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/bask7_1.tex @@ -0,0 +1,107 @@ +\documentclass[fleqn]{baskrep} + +%\def\dings{\par\hrule\par} +%\let\Dings\dings + +\BASKvol{7} +\BASKno{1} +\BASKed*{Kaveh Bazargan}% * for Guest editor +\BASKyear{1997} +\BASKmonth{September} +% Things this paper definitely needs +\usepackage{xspace} +\usepackage{relsize} +\usepackage{fancyvrb,amstext} +%\newcommand\ftp{\textsf{ftp}\xspace} +%\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} +% +%\def\url#1{\texttt{#1}} + +%\def\LyX{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\spacefactor1000}% + +\begin{document} + + \begin{frontmatter} + \section{Editorial} +We had fun trying to output this issue together. Because of the very nature +of Baskerville, being written by the {\TeX}perts, and pushing {\TeX} to its +limits, it is not the simplest publication to handle. Now we all like to do +things in the most elegant way possible but, having run a production +environment for a few years, we have learned to use the quick and dirty +method when it works. I thought some notes on the production of this issue +might be of interest. + +The work was done using Textures on a Power Computing Macintosh clone. The +initial problem came from (of all places) fonts. Textures uses a system of +font management different to other machines (in itself no bad thing). A +version of the Baskerville class file had to be chosen from the several that +were offered/located (actually a \verb|diff| was performed on them and the most +likely looking candiates were pinched into one big, mutated, class file---it +worked, so who are we to complain). Things went smoothly until Sebastian's +MetaPost article where the use of \verb|%*Font|, dvips specific, commands meant +that the \verb|.eps| files needed to be modified to run under Textures. The +following lines where added. (This is not a general solution and can be +quite dangerous, but it was quick.) +\begin{verbatim} +/cmsy10 /CMSY10 def +/cmr10 /CMR10 def +/cmmi10 /CMMI10 def +/fshow {exch findfont exch scalefont setfont + show}bind def +\end{verbatim} +What it does is to make the text \verb|cmr10|, etc active (so no phrases like +`this figure uses cmr10' are allowed) and defines the \verb|fshow| command. +Unfortunately you must have access to \emph{all} the fonts locally on your +machine as they aren't embedded into the PostScript. Obviously we could have +run MetaPost on the original source codes, by adding a \verb|prologues := 1;| +command of course, but as both methods require us to change all the files +and the latter requires an extra processing step from {\MP} so the first +method was deemed acceptable. + +Jeff Kingston is the author of the batch-processing document formatter +\textsf{lout}. His paper was written while he was on sabbatical in the +\acro{UK}, and he was happy for it to be republished in \BV{} (after +translation to \LaTeX{}, of course). The paper is over a year old, +but Jeff welcomes comments (other than those of the form ``if you did +this in \LaTeX{}, all your problems would go away''\dots). + +The paper on standard \acro{DTD}s was first published in \acro{EPSIG} News 5 +number 3, September 1992, pp\,10--19. Permission was obtained from +the three authors to republish in \BV{}. + +Despite the extreme age of this paper it contains much useful comment +and observation of the problems of encoding mathematical notations. +Two appendices have been omitted: `Existing mathematical notations' +and `Comparison between \acro{ISO} \acro{TR}~9573 and \acro{AAP} Math +\acro{DTD}s'. + + +Good luck to the next editor! + \end{frontmatter} + +\Dings + + \input{lout} + +\Dings + + \input{dtd} + +%\Dings + + \input{ltour3} + +\Dings + + \def\textdegree{$^{\circ}$} + \input{rahtz} + +% \input{lyx-intro} +% \input{lyx} +\vfill +\Dings +\vfill +\clearpage + + \input{regul} +\end{document} diff --git a/usergrps/uktug/baskervi/7_1/bask7_1.toc b/usergrps/uktug/baskervi/7_1/bask7_1.toc new file mode 100644 index 0000000000..0a37ff0f92 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/bask7_1.toc @@ -0,0 +1,59 @@ +\contentsline {section}{\numberline {1}Editorial}{2}{section.2} +\contentsline {newarticle}{\numberline {I}The Future of Document Formatting (Working Paper)}{3}{newarticle.3} +\contentsline {section}{\numberline {1}Abstract}{3}{section.4} +\contentsline {section}{\numberline {2}Introduction}{3}{section.5} +\contentsline {section}{\numberline {3}Requirements}{4}{section.6} +\contentsline {subsection}{\numberline {3.1}Editability}{4}{subsection.7} +\contentsline {subsection}{\numberline {3.2}Extensibility}{4}{subsection.8} +\contentsline {subsection}{\numberline {3.3}Generality}{6}{subsection.9} +\contentsline {subsection}{\numberline {3.4}Optimality}{6}{subsection.10} +\contentsline {section}{\numberline {4}Conclusion}{8}{section.11} +\contentsline {section}{\numberline {5}Acknowledgements}{8}{section.12} +\contentsline {newarticle}{\numberline {II}Standard DTDs and scientific publishing}{10}{newarticle.14} +\contentsline {section}{\numberline {1}Abstract}{10}{section.15} +\contentsline {section}{\numberline {2}Introduction}{10}{section.16} +\contentsline {section}{\numberline {3}Scientific publishing}{10}{section.17} +\contentsline {section}{\numberline {4}Encoding of mathematical formulas}{11}{section.18} +\contentsline {subsection}{\numberline {4.1}Characteristics of mathematical notation}{12}{subsection.23} +\contentsline {subsection}{\numberline {4.2}Who performs the markup of math?}{13}{subsection.28} +\contentsline {subsection}{\numberline {4.3}Feasibility of S-type notation}{14}{subsection.32} +\contentsline {subsection}{\numberline {4.4}Some problems with existing languages}{14}{subsection.34} +\contentsline {section}{\numberline {5}Re-using mathematical formulas}{15}{section.35} +\contentsline {section}{\numberline {6}Related problems}{15}{section.36} +\contentsline {section}{\numberline {7}Conclusions}{16}{section.37} +\contentsline {newarticle}{\numberline {III}A \LaTeX \ Tour, part 3: mfnfss, psnfss and babel}{18}{newarticle.39} +\contentsline {section}{\numberline {1}Introduction}{18}{section.40} +\contentsline {section}{\numberline {2}The MFNFSS Distribution}{18}{section.41} +\contentsline {subsection}{\numberline {2.1}Font Packages}{18}{subsection.42} +\contentsline {subsection}{\numberline {2.2}T1 Encoded `Concrete' Fonts}{18}{subsection.44} +\contentsline {section}{\numberline {3}The PSNFSS Distribution}{18}{section.45} +\contentsline {subsection}{\numberline {3.1}PSFONTS}{19}{subsection.46} +\contentsline {subsubsection}{Font Vendors}{19}{section*.47} +\contentsline {subsubsection}{Standard \textsc {PostScript}\ Fonts}{20}{section*.48} +\contentsline {subsubsection}{Tools and Extra Packages}{20}{section*.49} +\contentsline {subsection}{\numberline {3.2}Standard PSNFSS Packages}{20}{subsection.50} +\contentsline {subsection}{\numberline {3.3}Freely Available Type\nobreakspace {}1 Text Fonts}{21}{subsection.51} +\contentsline {subsection}{\numberline {3.4}Commercial Text Fonts}{21}{subsection.52} +\contentsline {subsection}{\numberline {3.5}Adobe Lucida}{22}{subsection.54} +\contentsline {subsection}{\numberline {3.6}Lucida Bright}{22}{subsection.55} +\contentsline {subsection}{\numberline {3.7}MathTime}{22}{subsection.56} +\contentsline {subsection}{\numberline {3.8}Documentation and Other Files}{22}{subsection.57} +\contentsline {subsection}{\numberline {3.9}PSNFSSX}{23}{subsection.58} +\contentsline {section}{\numberline {4}The Babel Distribution}{23}{section.59} +\contentsline {subsection}{\numberline {4.1}Babel Kernel}{23}{subsection.60} +\contentsline {subsection}{\numberline {4.2}Language-Specific Files}{23}{subsection.61} +\contentsline {subsection}{\numberline {4.3}Compatibility Files}{24}{subsection.66} +\contentsline {subsection}{\numberline {4.4}Installation Script and Font Descriptor Files}{25}{subsection.67} +\contentsline {subsection}{\numberline {4.5}Documentation}{25}{subsection.68} +\contentsline {subsubsection}{ASCII Text Files}{25}{section*.69} +\contentsline {subsubsection}{T\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m \ Documents}{25}{section*.70} +\contentsline {subsection}{\numberline {4.6}Example File}{25}{subsection.71} +\contentsline {section}{\numberline {5}Coming Soon}{25}{section.72} +\contentsline {newarticle}{\numberline {IV}A tutorial on using MetaPost's \textsf {graph} package}{26}{newarticle.73} +\contentsline {section}{\numberline {1}Introduction}{26}{section.74} +\contentsline {section}{\numberline {2}Getting started}{26}{section.76} +\contentsline {section}{\numberline {3}Variations in basic graphing}{27}{section.78} +\contentsline {subsubsection}{Frames, ticks, grids and scales}{28}{section*.80} +\contentsline {subsubsection}{Reading data files}{28}{section*.83} +\contentsline {subsubsection}{Different graph types}{30}{section*.87} +\contentsline {newarticle}{\numberline {V}The UK T\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m \ Users' Group}{34}{newarticle.95} diff --git a/usergrps/uktug/baskervi/7_1/baskerville.cls b/usergrps/uktug/baskervi/7_1/baskerville.cls new file mode 100644 index 0000000000..fa7f7c9e4a --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/baskerville.cls @@ -0,0 +1,799 @@ +% Baskerville.cls: +% Adrian Clark +% Sue Brooks +% Sebastan Rahtz +% +% based on the original LaTeX ARTICLE DOCUMENT STYLE +% +% for LaTeX2e +% +% 29.5.94 added ISSN +% 2.6.94 corrected \ukt\ macro +% 7.6.94 centered captions +% 15.8.94 changed editor names etc +% 2.11.94 use Alan Jeffrey's code for paths, emails, URLs etc +% from faq.sty +% put PA address in mast head +% Journals use two-sided printing. +% 1.12.94 cleaned again for FAQ issue. +% 6.12.94 more little fixes for FAQ issue +% 14.3.95 parameterized date +% 12.6.95 removed JF +% 8.95 worked on to make HH run. color and array need to go back +% 1996/02/06 DPC +% Added fontmatter and submissiondates environments +% Added \BASKed \BASKed* \BASKyear \BASKmonth +% \BASKtitle \BASKheadparone and \BASKheadpartwo +% commands set the `fixed' texts on the masthead. + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{baskerville}[1997/05/07 v3.12a Baskerville newsletter class] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions +\LoadClass{article} +%\RequirePackage[noisy]{textfit} +%\RequirePackage{pifont} +%\RequirePackage{latexsym} +%\RequirePackage{calc} +%\RequirePackage{ifthen} +%\RequirePackage{longtable} +%\RequirePackage{texnames} +%\RequirePackage{shortvrb} +%\DeleteShortVerb{\|} +% +% This package is *required* if we're using baskerville +\RequirePackage[cm,mbvx]{ltx-logo} +% +\RequirePackage{xspace} +% +\let\FAQverbFamily\ttfamily +\DeclareRobustCommand{\FAQverb}[2]{{% + \ifvmode\leavevmode\fi + \lefthyphenmin=256\setlanguage\language + \FAQverbFamily\hyphenchar\the\font`#1\relax + \def\@tempa{#2}% + \expandafter\@faq@strip\meaning\@tempa\@faq@strip + \hyphenchar\the\font\m@ne +}\setlanguage\language} +\def\@faq@strip#1->#2\@faq@strip{#2} +% +% Document markup: +% +%\makeatother % because @ is a delimiter here, it had better have the +% % same catcode as it will when the macro's invoked +%\def\Email|#1@#2|{\FAQverb\-{#1@}\penalty10\FAQverb\.{#2}} % email +%\makeatletter +%\def\FTP|#1|{\FAQverb\.{#1}} % FTP site +%\def\File|#1|{\FAQverb\/{#1}} % file name +%\def\CTAN{\FAQverb\/} % CTAN path +%\def\Newsgroup|#1|{\FAQverb\.{#1}} % newsgroup +%\let\URL\url +%\def\URL|#1://#2/#3|{\FAQverb\.{#1://#2/}\penalty10\FAQverb\/{#3}} +%\def\path|#1|{\FAQverb\/{#1}} % generic path +\RequirePackage{url} +\let\File\path % for compatibility with old files +\let\URL\url + +\RequirePackage[T1]{fontenc} +\renewcommand{\rmdefault}{mbvx} +\renewcommand{\sfdefault}{cmss} +\renewcommand{\ttdefault}{cmtt} + +\fontfamily{mbvx}\selectfont +%\DeclareFontShape{T1}{mbvx}{m}{sl}{<->ssub * mbvx/m/it}{} +%\RequirePackage{array} +%\RequirePackage{shortvrb} +\RequirePackage{graphics} +\RequirePackage{color} +\RequirePackage{multicol} +\RequirePackage{mflogo} +\RequirePackage{pifont} + +% +% \acro command and other size juggling +\RequirePackage{relsize} +\providecommand\acro[1]{\textsmaller{#1}\@} + +%\RequirePackage{footcols} +\newcommand\bs{{\ttfamily\upshape\char'134}} +%\def\arraybackslash{\let\\=\@arraycr} +%\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +%\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}} +\lineskip 1\p@ +\normallineskip 1\p@ +\def\baselinestretch{1} +\renewcommand\normalsize{% + \@setfontsize\normalsize\@xpt\@xiipt + \abovedisplayskip 8\p@ \@plus1\p@ \@minus1\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 4\p@ \@plus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listI} +\let\@normalsize\normalsize +\normalsize +\renewcommand\small{% + \@setfontsize\small\@ixpt{10.5}% + \abovedisplayskip 4\p@ \@plus1\p@ \@minus1\p@ + \abovedisplayshortskip 4\p@ \@plus1\p@ + \belowdisplayshortskip \abovedisplayshortskip + \def\@listi{\leftmargin\leftmargini + \topsep 2\p@ \@plus1\p@ \@minus1\p@ + \parsep \z@ + \itemsep 2\p@}% + \belowdisplayskip \abovedisplayskip +} +\renewcommand\footnotesize{% + \@setfontsize\footnotesize\@viiipt{9}% + \abovedisplayskip 4\p@ \@plus1\p@ \@minus1\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@ + \def\@listi{\leftmargin\leftmargini + \topsep 1\p@ \@plus1\p@ \@minus1\p@ + \parsep \z@ + \itemsep 2\p@}% + \belowdisplayskip \abovedisplayskip +} +\renewcommand\scriptsize{\@setfontsize\scriptsize\@viipt\@viiipt} +\renewcommand\tiny{\@setfontsize\tiny\@vpt\@vipt} +\renewcommand\large{\@setfontsize\large\@xipt{12}} +\renewcommand\Large{\@setfontsize\Large\@xiipt{14}} +\renewcommand\LARGE{\@setfontsize\LARGE\@xivpt{17}} +\renewcommand\huge{\@setfontsize\huge\@xviipt{20}} +\renewcommand\Huge{\@setfontsize\Huge\@xxpt{30}} +\normalsize +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% SIDE MARGINS: +\oddsidemargin -2.5pc \evensidemargin -2.5pc +\marginparwidth 4pc % don't use marginal notes... +\marginparsep 0.5pc % ...in the UK TUG newsletter + +% VERTICAL SPACING: +\topmargin -3pc +\headheight 12\p@ +\headsep 15\p@ +\topskip 10\p@ +\footskip 15\p@ + +% DIMENSION OF TEXT: + +\textheight 250mm % height of text on a page (A4 paper) +\textwidth 180mm % total width of a page +\columnseprule 0.5\p@ % width of line in the inter-column gutter +\columnsep 10mm % space between columns +\tolerance 9999 % make those columns justify + +% FOOTNOTES: +\footnotesep 6\p@ +\skip\footins 19.5\p@ plus 12\p@ \@minus 1\p@ + +% FLOATS: +\floatsep 12\p@ plus 5.5\p@ \@minus 1\p@ +\textfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ +\intextsep 12\p@ plus 5.5\p@ \@minus 2\p@ +\dblfloatsep 12\p@ plus 5.5\p@ \@minus 2\p@ +\dbltextfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ +\@fptop 0\p@ plus 0fil +\@fpsep 12\p@ plus 0fil +\@fpbot 0\p@ plus 3fil +\@dblfptop 0\p@ plus 0fil +\@dblfpsep 12\p@ plus 0fil +\@dblfpbot 0\p@ plus 3fil +\marginparpush 5\p@ + +% **************************************** +% * PARAGRAPHING * +% **************************************** +% +\parindent 12\p@ +\parskip \z@ plus .1\p@ +\partopsep 0\p@ plus 1\p@ +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\clubpenalty=0 +\widowpenalty=10000 + +% **************************************** +% * SKIPS * +% **************************************** +% +\newskip\@indentskip +\newskip\smallindent +\newskip\@footindent +\newskip\@leftskip +\@indentskip=1.25pc +\smallindent=\parindent +\@footindent=\smallindent +\@leftskip=\z@ + + +% **************************************** +% * SECTIONS * +% **************************************** +% +\def\Section{\@startsection{newarticle}{0}{\z@} + {-24\p@ \@plus -12\p@ \@minus -.1\p@} + {12\p@ \@plus 1\p@} + {\raggedright\Large\bfseries}} +\def\SSection{\@startsection{newarticle}{0}{\z@} + {-24\p@ \@plus -12\p@ \@minus -.1\p@} +% {-10\p@ \@plus -5\p@ \@minus -.1\p@} + {12\p@ \@plus 1\p@} + {\raggedright\Large\bfseries}[\@title]} +\def\section{%\typeout{** section!}% +\@startsection {section}{1}{\z@} + {-12\p@ \@plus -6\p@ \@minus -.1\p@} + {6\p@} + {\raggedright\large\bfseries}} +\def\subsection{\@startsection{subsection}{2}{\z@} + {-4\p@ \@plus -2\p@ \@minus -.1\p@} + {0.1\p@ \@plus 2\p@} + {\raggedright\normalsize\itshape}} +\def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {-6\p@ \@plus -3\p@ \@minus -1\p@} + {0.1\p@ \@plus 2\p@} + {\raggedright\normalsize\it}} +\def\paragraph{\@startsection{paragraph}{4}{\z@} + {12\p@ \@plus 2.25\p@ \@minus -1\p@} + {-0.5em} + {\normalsize\bfseries}} +\def\subparagraph{\@startsection{subparagraph}{5}{\z@} + {12\p@ \@plus 2.25\p@ \@minus 1\p@} + {-0.5em} + {\normalsize\it}} +\setcounter{secnumdepth}{-1} +% +\def\appendix{\par + \setcounter{section}{0} + \setcounter{subsection}{0} + \def\thesection{\Alph{section}}} + +% **************************************** +% * PARTS & SECTIONS NUMBERS * +% **************************************** +% +\newcounter{newarticle} +\@newctr{section}[newarticle] +\def\thenewarticle {\Alph{newarticle}} + +% **************************************** +% * LISTS * +% **************************************** +% +\leftmargini \@indentskip +\leftmarginii 1pc +\leftmarginiii 1pc +\leftmarginiv 1pc +\leftmarginv 1pc +\leftmarginvi 1pc +\leftmargin\leftmargini +\labelsep 0.5em +\labelwidth\leftmargini\advance\labelwidth-\labelsep +% +% label macros for Range-Left and Range-Right labels +\def\makeRLlabel#1{\rlap{#1}\hss} +\def\makeRRlabel#1{\hss\llap{#1}} +% +\def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ +} +\let\@listi\@listI +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ +} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep +} +\def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep +} +\def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep +} +\def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep +} +% +% ITEMIZE +\def\itemize{\ifnum \@itemdepth >3 \@toodeep + \else \advance\@itemdepth \@ne + \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% + \list{\csname\@itemitem\endcsname}% + {\let\makelabel\makeRRlabel}% + \fi} +\def\labelitemi{$\bullet$} +\def\labelitemii{--} +\def\labelitemiii{$\cdot$} +\def\labelitemiv{*} +% +% ENUMERATE with optional argument to set left margin... +\def\enumerate{\ifnum \@enumdepth >3 \@toodeep \else + \advance\@enumdepth \@ne + \edef\@enumctr{enum\romannumeral\the\@enumdepth}% + \fi + \@ifnextchar [{\@enumeratetwo}{\@enumerateone}% +} +\def\@enumeratetwo[#1]{% + \list{\csname label\@enumctr\endcsname}% + {\settowidth\labelwidth{[#1]} + \leftmargin\labelwidth \advance\leftmargin\labelsep + \usecounter{\@enumctr} + \let\makelabel\makeRRlabel} +} +\def\@enumerateone{% + \list{\csname label\@enumctr\endcsname}% + {\usecounter{\@enumctr} + \let\makelabel\makeRRlabel}} +% +\def\labelenumi{\theenumi} +\def\theenumi{\arabic{enumi}.} +\def\labelenumii{(\theenumii)} +\def\theenumii{\alph{enumii}} +\def\p@enumii{\theenumi} +\def\labelenumiii{\theenumiii} +\def\theenumiii{\roman{enumiii}} +\def\p@enumiii{\theenumi(\theenumii)} +\def\labelenumiv{\theenumiv} +\def\theenumiv{\Alph{enumiv}} +\def\p@enumiv{\p@enumiii\theenumiii} +% ARRAY AND TABULAR +% +\arraycolsep 5\p@ +\tabcolsep 6\p@ +\arrayrulewidth .5\p@ +\doublerulesep 1.5\p@ + +% **************************************** +% * TITLES AND ABSTRACT * +% **************************************** +% + +%% Volume Number (ie Year - 1990) +\def\BASKvol#1{\gdef\BASK@vol{#1}} +\BASKvol{?} + +%% Issue Number (ie Month/2, roughly) +\def\BASKno#1{\gdef\BASK@no{#1}} +\BASKno{?} + +% Editor, Star form for Guest editor +\def\BASKed{\@ifstar{\BASK@ed{Guest }}{\BASK@ed{}}} +\def\BASK@ed#1#2{\gdef\BASK@editor{#1Editor: #2}} +\BASKed{????????} + +%% Year (4 digits) +\def\BASKyear#1{\gdef\thisyear{#1}} +\BASKyear{????} + +% Month (as a Word) +\def\BASKmonth#1{\gdef\thismonth{#1}} +\BASKmonth{?????} + +\def\makeBSKtitle{\par + \begingroup + \vspace*{-\headheight}% + \@maketitle + \bigskip\hrule\bigskip + \thispagestyle{plain} + \endgroup + \let\maketitle\relax + \let\@maketitle\relax +} +\newbox\BSKbox +\def\@maketitle{% + \centerline{\BASK@titleline}% + \medskip + \hbox to \textwidth{\bfseries The Annals of the UK \TeX\ Users' + Group\hfill \BASK@editor\hfill Vol.~\BASK@vol\ No.~\BASK@no}% + \smallskip\hbox to \textwidth{\bfseries ISSN 1354--5930 + \hfill \thismonth\ \thisyear}% + \medskip + \noindent\ignorespaces + \BASK@headparone\unskip\par + \ignorespaces\BASK@headpartwo\unskip} + +% The frontmatter environment should contain a sequence of article +% environments that are run into two columns. It inserts the masthead +% across both columns, and the table of contents at the start of +% column one. +\def\frontmatter{% + \vspace*{-1cm}% Would make more sense to incorporate this into + % \maketitle, but leave it like this for compat. + \begin{multicols}{2}[\makeBSKtitle]% + \tableofcontents} +\def\endfrontmatter{% + \end{multicols}} + + +% The Journal title command. +% You probably only want to change this if you want to use a design-size +% font rather than let \scaletowidth scale for some special issue. +\def\BASKtitle#1{\gdef\BASK@titleline{#1}} +\let\scaletowidth=\resizebox% added by Sean K. Harbour for Textures +\BASKtitle{% + \bfseries + \scaletowidth{\textwidth}{!}{% modified by Sean K. Harbour + B\,a\,s\,k\,e\,r\,v\,i\,l\,l\,e}} + + +% The first paragraph. Needs to be reset if a special issue used a +% different font set. +\def\BASKheadparone#1{\gdef\BASK@headparone{#1}} +\BASKheadparone{% +Articles may be submitted via electronic mail to +\texttt{baskerville@tex.ac.uk}, or on MSDOS-compatible discs, +to Sebastian Rahtz, Elsevier Science Ltd, The Boulevard, Langford +Lane, Kidlington, Oxford OX5 1GB, to whom any correspondence +concerning \BV\ should also be addressed. This \BV\ is set in Monotype +Baskerville, with Computer Modern Typewriter for literal +text, and printed on a Xerox Docutech. Production and distribution is +undertaken in Cambridge by Robin Fairbairns. Back +issues from the previous 12 months may be ordered from \ukt\ for +\pounds2 each; earlier issues are archived on \textsc{ctan} in +\texttt{usergrps/uktug}.} + +% The second paragraph. +\def\BASKheadpartwo#1{\gdef\BASK@headpartwo{#1}} +\BASKheadpartwo{% +Please send \ukt\ subscriptions, and book or software orders, to +Peter Abbott, 1 Eymore Close, Selly Oak, Birmingham B29 4LB. +Fax/telephone: 0121 476 2159. Email +enquiries about \ukt\ to \protect\texttt{uktug-enquiries@tex.ac.uk}.} + + +\def\and{\end{tabular}\vskip 6pt\par + \begin{tabular}[t]{@{}l@{}}} +% +\def\abstract{\@abstract} +\def\endabstract{\end{quote}} +\def\@abstract{\subsection*{Summary}\begin{quote}} + +% **************************************** +% * PAGE STYLES * +% **************************************** +% +\mark{{}{}} +\gdef\@author{} +\def\author{\@ifnextchar [{\@authortwo}{\@authorone}} +\def\@authortwo[#1]#2{\gdef\@author{#2}\gdef\@shortauthor{#1}} +\def\@authorone#1{\gdef\@author{#1}\gdef\@shortauthor{#1}} +\gdef\@shortauthor{Dummy Author} +\gdef\@title{} +\gdef\@longtitle{} +\def\title{\@ifnextchar [{\@titletwo}{\@titleone}} +\def\@titletwo[#1]#2{\gdef\@title{#1}\gdef\@longtitle{#2}} +\def\@titleone#1{\gdef\@title{#1}\gdef\@longtitle{#1}} +\gdef\@longtitle{Dummy Title} + +% +% \ps@empty defined in LATEX.TEX +% +\def\ps@plain{\let\@mkboth\markboth + \def\@oddhead{} + \def\@evenhead{} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} +} +\def\ps@headings{\let\@mkboth\markboth + \def\@oddhead{\hfill\emph{\@title}\hfill} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenhead{\it Baskerville \hfill + Volume \BASK@vol, Number \BASK@no} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} +} +\def\ps@myheadings{\let\@mkboth\@gobbletwo + \def\@oddhead{\it\@shortauthor \hfill \@title} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenhead{\it Baskerville \hfill + Volume \BASK@vol, Number \BASK@no} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} + \def\sectionmark##1{} + \def\subsectionmark##1{}} + +% **************************************** +% * TABLE OF CONTENTS, ETC. * +% **************************************** +% +\def\@pnumwidth{1.4pc} +\def\@tocrmarg {2pc} +\def\@dotsep{10} +\setcounter{tocdepth}{0} +%\def\tableofcontents{\@restonecolfalse +% \if@twocolumn\@restonecoltrue\onecolumn\fi +% \section*{Contents} \@starttoc{toc} +% \if@restonecol\twocolumn\fi \par\vspace{12\p@}} +\def\tableofcontents{\Section*{Contents}\@starttoc{toc}} +\def\l@part#1#2{\addpenalty{-\@highpenalty} + \addvspace{2.25em \@plus 1\p@} + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\normalsize\rm + \leavevmode \hspace*{3pc} + #1\hfil \hbox to\@pnumwidth{\hss \ }}\par + \nobreak \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}\endgroup} +\def\dotfil{% + \cleaders\hbox{$\m@th \mkern1.5mu.\mkern1.5mu$}\hfil\kern\z@} +\def\l@newarticle#1#2{\addpenalty{\@secpenalty} +% \addvspace{1.0em \@plus 1\p@} + \@tempdima 1.5em % width of box holding section number + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode + #1\dotfil \hbox to\@pnumwidth{\hss #2}\par + \endgroup} +\def\l@section{\@dottedtocline{1}{\z@}{1.5em}} +\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}} +\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}} +\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}} +\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}} +\def\listoffigures{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{List of Figures\@mkboth{List of Figures}{List of Figures}} + \@starttoc{lof} \if@restonecol\twocolumn\fi} +\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\def\listoftables{\@restonecolfalse + \if@twocolumn\@restonecoltrue\onecolumn\fi + \section*{List of Tables\@mkboth{List of Tables}{List of Tables}} + \@starttoc{lot} \if@restonecol\twocolumn\fi} +\let\l@table\l@figure + +% **************************************** +% * BIBLIOGRAPHY * +% **************************************** +% +\def\thebibliography#1{\section*{\refname} + \small +\list + {\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumiv}% + \let\p@enumiv\@empty + \def\theenumiv{\arabic{enumiv}}}% + \def\newblock{\hskip .11em plus.33em minus.07em}% + \parskip\z@ \@plus .1pt\relax + \clubpenalty4000\widowpenalty4000\sfcode`\.=1000\relax} +\def\refname{References} +\def\endthebibliography{% + \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% + \endlist} + +\setcounter{topnumber}{2} +\def\topfraction{.9} +\setcounter{bottomnumber}{1} +\def\bottomfraction{.9} +\setcounter{totalnumber}{3} +\def\textfraction{.1} +\def\floatpagefraction{.75} +\setcounter{dbltopnumber}{2} +\def\dbltopfraction{.9} +\def\dblfloatpagefraction{.75} + +\long\def\@makecaption#1#2{\vskip 6\p@ + \setbox\@tempboxa\hbox{\small{\bfseries #1.} #2} + \ifdim \wd\@tempboxa >.8\hsize + \hbox to\hsize{% + \hfill\parbox{.8\hsize}{\small{\bfseries #1.} #2\par}\hfill} + \else + \hbox to\hsize{\hfill\box\@tempboxa\hfill} + \fi + \vskip 6\p@ +} + + +% --- ----------------------------------------------------------------- +% --- Shorthands for non-English abbreviations and words. +% --- ----------------------------------------------------------------- + +\def\foreign{\em} +\def\etc{{\foreign etc.}} % etc. +\def\eg{{\foreign e.g.~}\ignorespaces} % e.g. +\def\egc{{\foreign e.g.,~}\ignorespaces} % e.g., +\def\ie{{\foreign i.e.~}\ignorespaces} % i.e. +\def\iec{{\foreign i.e.,~}\ignorespaces} % i.e., + +% --- ----------------------------------------------------------------- +% --- Tex-related mnemonics. +% --- ----------------------------------------------------------------- + + +\def\La{\protect\p@La} +\def\p@La{L% + {\setbox0\hbox{T}% + \setbox2\vbox to\ht0{\kern.07ex\hbox{% + \csname S@\f@size\endcsname + \math@fontsfalse + \fontsize\sf@size\z@\selectfont + A}% + \vss}% + \kern-.5\wd2 + \box2 + }} +\def\AllTeX{(\La)\TeX} +\def\AmSTeX{% + $\mathcal{A}\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}% + \kern-.125em S$\TeX} +\def\LamsTeX{$\mathcal{L}\mathcal{A}% +\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em S$\TeX} +\def\BibTeX{{\rmfamily B\kern-.05em\textsc{i\kern-.025em b}\kern-.08em\TeX}} +\def\INRStex{T\kern-.1667em\lower.5ex\hbox{\^E}\kern-.125emX} +\def\JTeX{\leavevmode\hbox{\lower.5ex\hbox{J}\kern-.18em\TeX}} +\def\LAMSTeX{L\kern -0.4 em \raise 0.3 ex \hbox {$\scriptstyle \mathcal{A}$}% + \kern -0.25 em \lower 0.4 ex \hbox {$\cal M$}% + \kern -0.1 em \hbox {$\mathcal{S}$}-\TeX} +\def\AMSLaTeX{{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em + $\mathcal{S}$-\LaTeX}} +\def\AMS{{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox{$\mathcal{M}$}\kern-.125em + $\mathcal{S}$}} +\def\MakeIndex{{\itshape MakeIndex}} +\def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} +\def\PiCTeX{\PiC\kern-.11em\TeX} +% SliTeX from the SliTeX Documentation +\def\SLiTeX{% + S\kern-.065em L\kern-.18em\raise.32ex\hbox{\textsc{i}}% + \kern-.03em\TeX} +\let\SliTeX\SLiTeX +\def\POBox{P.\thinspace O.~Box } +\def\TeXhax{\TeX hax} +\def\TeXXeT{\TeX--X\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT} +\def\TUB{\emph{TUGboat}} +\def\DVI{\texttt{dvi}} +\def\VF{\textsc{vf}} +\def\BV{\emph{Baskerville}} +\def\UKTUG{UK \TeX\ Users' Group} +\def\ukt{{\footnotesize UK}TUG} +\let\shortuktug\ukt +\def\PS{\textsc{PostScript}} +\newcommand{\payuk}{UK TeX Users' Group} +\newcommand{\Newline}{\\[0.7\baselineskip]} +\newcommand{\FullLine}[1]{% + \makebox[\linewidth][l]{#1\hrulefill}\Newline} +\newcommand{\HalfLine}[1]{% + \makebox[0.5\linewidth][l]{#1\hrulefill}} + +\def\Dash{---} + + +% --- ----------------------------------------------------------------- +% --- Additional commands. +% --- ----------------------------------------------------------------- + +\let\maketitle\make@articletitle +\def\make@articletitle{\Section[\@title]{\@longtitle}} + +% article is for smaller articles with single-column titles. +\def\article{% + \setcounter{figure}{0}% + \setcounter{table}{0}% + \Section[\@title]{\@longtitle}% + \let\maketitle\relax + \markright{\@shortauthor\hfill\@longtitle}% +} +% +% Article is when the title is double column +\def\Article{% + \setcounter{figure}{0}% + \setcounter{table}{0}% + \begin{multicols}{2}[\SSection{\@longtitle}]% + \let\maketitle\relax + \markright{\@shortauthor\hfill\@longtitle}% +} +% FAQ version of article ? +\def\FArticle{% + \setcounter{figure}{0}% + \setcounter{table}{0}% + \begin{multicols}{2}[\Section*{\@longtitle}]% +} +\def\endarticle{\@signature + \gdef\@author{\mbox{}}} + +\def\endArticle{\@signature + \gdef\@author{\mbox{}}\end{multicols}% +} +\let\endFArticle\endArticle +\def\newarticlemark#1{} + +% Use like a 4 column tabular but with no preamble argument. +\def\submissiondates{% + \begin{center}% + \begin{tabular}{ll@{}l@{}l} + \BASK@subtitle{Issue}& + \BASK@subtitle{Submit material\\ for publication}& + \BASK@subtitle{Submit last-\\minute notices}& + \BASK@subtitle{Anticipated\\ posting date}\\[2pt]} +\def\endsubmissiondates{% + \end{tabular} + \end{center}} + + +% rotated italic head on submission dates table +\def\BASK@subtitle#1{% + \kern-5pt\relax + \rotatebox{45}{\itshape\begin{tabular}[b]{@{}l@{}}#1\end{tabular}}} + +% --- Macros for cross-referencing tables and figures. + +\def\figref#1{Figure~\ref{#1}} +\def\tabref#1{Table~\ref{#1}} + +% --- Output the attribution at the end of an article. +\def\emptysig{} +\def\@signature{% + \ifx\@author\emptysig\else + \begin{flushright}\begin{tabular}{@{}r@{}}\@author\end{tabular}% + \end{flushright}\fi} + +\def\signature#1{\begin{flushright} + \begin{tabular}{@{}r@{}}#1\end{tabular}% + \end{flushright}} + +% **************************************** +% * INITIALIZATION * +% **************************************** +% +\ps@headings +\pagenumbering{arabic} +\sloppy +\flushbottom +\frenchspacing + +%\extrarowheight2\p@ +\setlength{\multicolsep}{6\p@} +\let\sl\it +\newcommand{\meta}[1]{{$\langle$\itshape #1\/$\rangle$}} +\def\Gin@extensions{.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.pz,.psz} +\def\Gin@sepdefault{.}% +\@namedef{Gin@rule@.psz}#1{{.eps}{.bb}{`gunzip -c #1}} + +% no rule in footcols + +\def\@makecol@ftn{% + \vskip \skip\footins + \footnoterule + \footnotesize + \multicolsep\z@\relax + \hsize\textwidth + \@parboxrestore + % {\showoutput\batchmode\showbox\footins}% + \raggedcolumns + \bgroup \columnseprule 0\p@ + \begin{multicols}{\the\ftn@col@number}% + \unvbox \footins + \end{multicols}% + \egroup +} +% +% available for inter-article dinglines +% +\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} +% +\@twosidetrue \@mparswitchtrue +\endinput +%% \ No newline at end of file diff --git a/usergrps/uktug/baskervi/7_1/baskerville.tex b/usergrps/uktug/baskervi/7_1/baskerville.tex new file mode 100644 index 0000000000..f41714e9d5 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/baskerville.tex @@ -0,0 +1,91 @@ +\documentclass[fleqn]{baskerville} + +% Focal Image Ltd---fix/fudges please remove for final processing +\def\dings{\par\hrule\par} +\let\Dings\dings +\def\pounds{{\char163}} +\def\PS{{P}{\footnotesize\uppercase{ost}}S{\footnotesize\uppercase{cript}}} +\usepackage{pdfmark} +\pdfoutput +%\def\link#1#2{#2} +% End of Focal Image fix/fudges --------------------------------- + +\BASKvol{7} +\BASKno{1} +\BASKed*{Kaveh Bazargan}% * for Guest editor +\BASKyear{1996} +\BASKmonth{November} +% Things this paper definitely needs +%\usepackage{xspace} +\usepackage{fancyvrb} +%\newcommand\ftp{\textsf{ftp}\xspace} +%\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} +% +\def\url#1{\texttt{#1}} + +\begin{document} + + \begin{frontmatter} + \section{Editorial} +We had fun trying to output this issue together. Because of the very nature +of Baskerville, being written by the {\TeX}perts, and pushing {\TeX} to its +limits, it is not the simplest publication to handle. Now we all like to do +things in the most elegant way possible but, having run a production +environment for a few years, we have learned to use the quick and dirty +method when it works. I thought some notes on the production of this issue +might be of interest. + +The work was done using Textures on a Power Computing Macintosh clone. The +initial problem came from (of all places) fonts. Textures uses a system of +font management different to other machines (in itself no bad thing). A +version of the Baskerville class file had to be chosen from the several that +were offered/located (actually a \verb|diff| was performed on them and the most +likely looking candiates were pinched into one big, mutated, class file---it +worked, so who are we to complain). Things went smoothly until Seb's +MetaPost article where the use of \verb|%*Font|, dvips specific, commands meant +that the \verb|.eps| files needed to be modified to run under Textures. The +following lines where added. (This is not a general solution and can be +quite dangerous, but it was quick.) +\begin{verbatim} +/cmsy10 /CMSY10 def +/cmr10 /CMR10 def +/cmmi10 /CMMI10 def +/fshow {exch findfont exch scalefont setfont + show}bind def +\end{verbatim} +What it does is to make the text \verb|cmr10|, etc active (so no phrases like +`this figure uses cmr10' are allowed) and defines the \verb|fshow| command. +Unfortunately you must have access to \emph{all} the fonts locally on your +machine as they aren't embedded into the PostScript. Obviously we could have +run MetaPost on the original source codes, but adding a \verb|prologues := 1;| +command of course, but as both methods require us to change all the files +and the latter requires an extra processing step from {\MP} so the first +method was deemed acceptable. + +Good luck to the next editor! + \end{frontmatter} + +\Dings + + \input{lout} + +\Dings + + \input{dtd} + +\Dings + + \input{ltour3} + +\Dings + + \def\textdegree{$^{\circ}$} + \input{rahtz} + +% \input{lyx-intro} +% \input{lyx} + +\Dings + + \input{regul} +\end{document} \ No newline at end of file diff --git a/usergrps/uktug/baskervi/7_1/bv71.blg b/usergrps/uktug/baskervi/7_1/bv71.blg new file mode 100644 index 0000000000..68896d1411 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/bv71.blg @@ -0,0 +1,36 @@ +This is BibTeX, C Version 0.99c +The top-level auxiliary file: baskerville.aux +The style file: plain.bst +Database file #1: lout.bib +Warning--I didn't find a database entry for "one" +Warning--I didn't find a database entry for "two" +Warning--I didn't find a database entry for "three" +Warning--I didn't find a database entry for "four" +Warning--I didn't find a database entry for "five" +Warning--I didn't find a database entry for "six" +Warning--I didn't find a database entry for "seven" +Warning--I didn't find a database entry for "eight" +Warning--I didn't find a database entry for "nine" +Warning--I didn't find a database entry for "ten" +Warning--I didn't find a database entry for "eleven" +Warning--I didn't find a database entry for "twelve" +Warning--I didn't find a database entry for "thirteen" +Warning--I didn't find a database entry for "fourteen" +Warning--I didn't find a database entry for "fifteen" +Warning--I didn't find a database entry for "sixteen" +Warning--I didn't find a database entry for "seventeen" +Warning--I didn't find a database entry for "eighteen" +Warning--I didn't find a database entry for "nineteen" +Warning--I didn't find a database entry for "twenty" +Warning--I didn't find a database entry for "twentyone" +Warning--I didn't find a database entry for "twentytwo" +Warning--I didn't find a database entry for "twentythree" +Warning--I didn't find a database entry for "twentyfive" +Warning--I didn't find a database entry for "twentysix" +Warning--empty publisher in apple1996quickdraw +Warning--empty publisher in ettrich1996lyx +Warning--empty publisher in interleaf1996 +Warning--empty publisher in kingston1995lout.program +Warning--empty school in plass1981 +Warning--empty school in vanwyk1980 +(There were 31 warnings) diff --git a/usergrps/uktug/baskervi/7_1/bv71.comment b/usergrps/uktug/baskervi/7_1/bv71.comment new file mode 100644 index 0000000000..d7d85e5538 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/bv71.comment @@ -0,0 +1,33 @@ +General comments. + +My acrobat reader falls over if fired up directly from the browser (a +configuration bug, I suppose), but even when I do get it going, I +can't print acrobat output from your file. So I decided to do a bit +of work with the source file. + +Your ot1mbvx.fd and ot1mbv.fd are presumably Textures-specific, so +oughtn't to be exported... In fact, we usually set in T1 rather than +OT1 (and I seem to have problems with my OT1 baskerville setup ;-) + +Dings lines are needed. + +Let's be honest about the month/year: Nov 1996 is obviously wrong... + +LyX logo looks pretty horrid -- could do with tweaking for Baskerville + +Who's the author of the Document Formatting paper? + +Sebastian's name and address is missing a \\ + +The last sentence of Lack's second article misspells tale (or he's +being unduly surreal, which is probably not the case). + +**************** + +But mostly, this is too long! We *must* cut it down to 24pp, but I'm +not averse to going down to 20 if that's easier. + +Let's get your editorial in there, and we can then juggle a bit to see +what we can cut out and pass on to bv7.2 + +R diff --git a/usergrps/uktug/baskervi/7_1/bv71.dep b/usergrps/uktug/baskervi/7_1/bv71.dep new file mode 100644 index 0000000000..0b20764651 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/bv71.dep @@ -0,0 +1,2 @@ +$includes = './lout.tex ./dtd.tex ./ltour3.tex ./rahtz.tex ./lyx-intro.tex ./lyx.tex ./regul.tex '; +$bib_files = ''; diff --git a/usergrps/uktug/baskervi/7_1/bv71.tex b/usergrps/uktug/baskervi/7_1/bv71.tex new file mode 100644 index 0000000000..129c4a0569 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/bv71.tex @@ -0,0 +1,106 @@ +\documentclass[fleqn]{baskerville} + +%\def\dings{\par\hrule\par} +%\let\Dings\dings + +\BASKvol{7} +\BASKno{1} +\BASKed*{Kaveh Bazargan}% * for Guest editor +\BASKyear{1997} +\BASKmonth{September} +% Things this paper definitely needs +%\usepackage{xspace} +\usepackage{fancyvrb,amstext} +%\newcommand\ftp{\textsf{ftp}\xspace} +%\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}} +% +%\def\url#1{\texttt{#1}} + +%\def\LyX{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\spacefactor1000}% + +\begin{document} + + \begin{frontmatter} + \section{Editorial} +We had fun trying to output this issue together. Because of the very nature +of Baskerville, being written by the {\TeX}perts, and pushing {\TeX} to its +limits, it is not the simplest publication to handle. Now we all like to do +things in the most elegant way possible but, having run a production +environment for a few years, we have learned to use the quick and dirty +method when it works. I thought some notes on the production of this issue +might be of interest. + +The work was done using Textures on a Power Computing Macintosh clone. The +initial problem came from (of all places) fonts. Textures uses a system of +font management different to other machines (in itself no bad thing). A +version of the Baskerville class file had to be chosen from the several that +were offered/located (actually a \verb|diff| was performed on them and the most +likely looking candiates were pinched into one big, mutated, class file---it +worked, so who are we to complain). Things went smoothly until Sebastian's +MetaPost article where the use of \verb|%*Font|, dvips specific, commands meant +that the \verb|.eps| files needed to be modified to run under Textures. The +following lines where added. (This is not a general solution and can be +quite dangerous, but it was quick.) +\begin{verbatim} +/cmsy10 /CMSY10 def +/cmr10 /CMR10 def +/cmmi10 /CMMI10 def +/fshow {exch findfont exch scalefont setfont + show}bind def +\end{verbatim} +What it does is to make the text \verb|cmr10|, etc active (so no phrases like +`this figure uses cmr10' are allowed) and defines the \verb|fshow| command. +Unfortunately you must have access to \emph{all} the fonts locally on your +machine as they aren't embedded into the PostScript. Obviously we could have +run MetaPost on the original source codes, by adding a \verb|prologues := 1;| +command of course, but as both methods require us to change all the files +and the latter requires an extra processing step from {\MP} so the first +method was deemed acceptable. + +Jeff Kingston is the author of the batch-processing document formatter +\textsf{lout}. His paper was written while he was on sabbatical in the +\acro{UK}, and he was happy for it to be republished in \BV{} (after +translation to \LaTeX{}, of course). The paper is over a year old, +but Jeff welcomes comments (other than those of the form ``if you did +this in \LaTeX{}, all your problems would go away''\dots). + +The paper on standard \acro{DTD}s was first published in \acro{EPSIG} News 5 +number 3, September 1992, pp\,10--19. Permission was obtained from +the three authors to republish in \BV{}. + +Despite the extreme age of this paper it contains much useful comment +and observation of the problems of encoding mathematical notations. +Two appendices have been omitted: `Existing mathematical notations' +and `Comparison between \acro{ISO} \acro{TR}~9573 and \acro{AAP} Math +\acro{DTD}s'. + + +Good luck to the next editor! + \end{frontmatter} + +\Dings + + \input{lout} + +\Dings + + \input{dtd} + +%\Dings + + \input{ltour3} + +\Dings + + \def\textdegree{$^{\circ}$} + \input{rahtz} + +% \input{lyx-intro} +% \input{lyx} +\vfill +\Dings +\vfill +\clearpage + + \input{regul} +\end{document} \ No newline at end of file diff --git a/usergrps/uktug/baskervi/7_1/bv71.toc b/usergrps/uktug/baskervi/7_1/bv71.toc new file mode 100644 index 0000000000..e06dab7a8c --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/bv71.toc @@ -0,0 +1,59 @@ +\contentsline {section}{Editorial}{1} +\contentsline {newarticle}{The Future of Document Formatting (Working Paper)}{1} +\contentsline {section}{Abstract}{1} +\contentsline {section}{Introduction}{1} +\contentsline {section}{Requirements}{2} +\contentsline {subsection}{Editability}{2} +\contentsline {subsection}{Extensibility}{3} +\contentsline {subsection}{Generality}{4} +\contentsline {subsection}{Optimality}{4} +\contentsline {section}{Conclusion}{5} +\contentsline {section}{Acknowledgements}{6} +\contentsline {newarticle}{Standard \textsmaller {DTD}\spacefactor \@m s and scientific publishing}{6} +\contentsline {section}{Abstract}{6} +\contentsline {section}{Introduction}{6} +\contentsline {section}{Scientific publishing}{7} +\contentsline {section}{Encoding of mathematical formulas}{7} +\contentsline {subsection}{Characteristics of mathematical notation}{8} +\contentsline {subsection}{Who performs the markup of math?}{9} +\contentsline {subsection}{Feasibility of S-type notation}{9} +\contentsline {subsection}{Some problems with existing languages}{9} +\contentsline {section}{Re-using mathematical formulas}{10} +\contentsline {section}{Related problems}{10} +\contentsline {section}{Conclusions}{11} +\contentsline {newarticle}{A \LaTeX \ Tour, part 3: mfnfss, psnfss and babel}{12} +\contentsline {section}{Introduction}{12} +\contentsline {section}{The \textsf {Mfnfss} Distribution}{12} +\contentsline {subsection}{Font Packages}{12} +\contentsline {subsection}{T1 Encoded `Concrete' Fonts}{12} +\contentsline {section}{The \textsf {Psnfss} Distribution}{12} +\contentsline {subsection}{\textsf {Psfonts}}{13} +\contentsline {subsubsection}{Font Vendors}{13} +\contentsline {subsubsection}{Standard \textsc {PostScript}\ Fonts}{13} +\contentsline {subsubsection}{Tools and Extra Packages}{14} +\contentsline {subsection}{Standard \textsf {Psnfss} Packages}{14} +\contentsline {subsection}{Freely Available Type\nobreakspace {}1 Text Fonts}{14} +\contentsline {subsection}{Commercial Text Fonts}{15} +\contentsline {subsection}{Adobe Lucida}{15} +\contentsline {subsection}{Lucida Bright}{15} +\contentsline {subsection}{MathTime}{15} +\contentsline {subsection}{Documentation and Other Files}{15} +\contentsline {subsection}{\textsf {Psnfssx}}{15} +\contentsline {section}{The \textsf {Babel} Distribution}{15} +\contentsline {subsection}{Babel Kernel}{16} +\contentsline {subsection}{Language-Specific Files}{16} +\contentsline {subsection}{Compatibility Files}{17} +\contentsline {subsection}{Installation Script and Font Descriptor Files}{17} +\contentsline {subsection}{Documentation}{17} +\contentsline {subsubsection}{ASCII Text Files}{17} +\contentsline {subsubsection}{T\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m \ Documents}{17} +\contentsline {subsection}{Example File}{17} +\contentsline {section}{Coming Soon}{17} +\contentsline {newarticle}{A tutorial on using MetaPost's \textsf {graph} package}{17} +\contentsline {section}{Introduction}{17} +\contentsline {section}{Getting started}{17} +\contentsline {section}{Variations in basic graphing}{18} +\contentsline {subsubsection}{Frames, ticks, grids and scales}{18} +\contentsline {subsubsection}{Reading data files}{19} +\contentsline {subsubsection}{Different graph types}{20} +\contentsline {newarticle}{The UK T\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\spacefactor \@m \ Users' Group}{24} diff --git a/usergrps/uktug/baskervi/7_1/dtd.tex b/usergrps/uktug/baskervi/7_1/dtd.tex new file mode 100644 index 0000000000..21493e25a1 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/dtd.tex @@ -0,0 +1,785 @@ +\newcommand{\mod}{\mathop{\rm mod}\nolimits} +\newcommand\dtd{\acro{DTD}} +\newcommand\SGML{\acro{SGML}\xspace} +\newcommand\ISO{\acro{ISO}\xspace} + +\title{Standard DTDs and scientific publishing} +\author{N. A. F. M. Poppelier (\texttt{n.poppelier@elsevier.nl}),\\ +E. van Herwijnen (\texttt{eric@vanherwijnen.org}), and \\ +C.A. Rowley (\texttt{C.A.Rowley@open.ac.uk})} + +\date{7 August 1992} + +\let\Tub\TUB + +\begin{Article} + +\section{Abstract} + + This paper has two parts. +In the first part we argue that scientific publishing +needs \textsl{one} standard \dtd{} for each class of documents +that is published. For example one for all research +papers and one for all books. In the second part +we apply this reasoning to mathematical formulas, and +we outline some design requirements for a document +type definition for mathematical formulas. In the +appendices we discuss and compare existing document +type definitions for mathematical formulas. + +\section{Introduction} + +In the preface to \cite{one} Charles Goldfarb wrote that the +Standard Generalized Markup Language can be described +as many things, and that \SGML is all that -- and more. In +the introduction to \cite{one} Yuri Rubinsky wrote: +\begin{quote} +\ISO~8870 never describes \SGML as a meta-language, but +everything about its system of declarations and notations +implies that a developer has the tools to build exactly what +is required to indicate the internal structure of any type of +information in a common tool independent manner. +\end{quote} +Indeed, a strong point of \SGML is that it can be regarded as +a meta-language, a tool with which one can define the syntax +of many languages, very much similar to context-free grammars. +In \SGML terminology these `languages' are called \textsl{document type +definitions}, called \textsl{\dtd{}} for short. \dtd{}s can he written +for any type of information, research papers, books and music. A +\dtd{} can be used for many purposes, of which two important ones +are storage and exchange of information coded according to this +\dtd{}. + +The premise of this paper is that the exchange of information, +if it is based on \SGML, needs a single common \dtd{}, agreed upon +by all parties involved, for each class of documents that is +exchanged + +Suppose two parties, $A$ and~$B$, exchange information in the +form of one class of documents. and that they each have a \dtd{}, +$D(A)$ and $D(B)$, with $D(A)$ not identical to $D(B)$. If~$A$ sends a +document to~$B$ then~$A$ can include the document type +definition $D(A)$. for that document (instance) at the beginning of the +document. This enables~$B$ to use an \SGML parser to check the +validity of the document he received. However, there is nothing more~$B$ +can do with the document: the \dtd{} $D(A)$ contains no information about the +meaning of the coding scheme that $D(A)$ defines, and a mapping of the document +from $D(A)$ to $D(B)$ is a procedure that cannot be automated. The problem +becomes even more difficult when a third party, $C$, is introduced, who +accepts material from both~$A$ and~$B$. How is~$C$ going to +handle material with two different coding schemes? + +This is where we encounter one of the weaknesses of \SGML \textsl{as it is being +used currently}, namely that it enables every party involved in this process to +define and use a different \dtd{}. + +\section{Scientific publishing}\label{sci-pub} + +In the rest of this paper we concentrate on the exchange of information that +occurs in scientific publishing, in particular on the exchange of papers that +contain mathematical formulas and are published in research journals. Recent +developments in this area formed the main reason for writing this paper. A few +standards for encoding of mathematical formulas have already emerged, of which a +well-known one is the \acro{AAP} Standard or Electronic Manuscript Standard +\cite{two}. A \dtd{} for mathematical formulas accompanies this +standard, but it is not part of it. Another standard for mathematical +formulas is the one adopted by CALS \cite{three}, and others are +under development \cite{four}, +\cite{five}. + +The handling of mathematical formulas in scientific publishing is part of the +bigger whole of information exchange within a (the) scientific community, with +the publisher as intermediary, as is shown below: + +\begin{picture}(100,80)(-70,0) + +\put(40,50){\oval(80,40)} +\put(30,60){$C$} + +\put(59,50){\oval(20,10)} +\put(55,46){$P$} +\put(65,50){\vector(-1,-2){20}} + +\put(40,10){\oval(20,10)} +\put(36,6){$G$} + +\put(34,10){\vector(-1,2){20}} + + +\end{picture} + +\noindent The authors of research +papers are the providers, $P$. The publishers are the gatherers of information, +$G$. They accept information from many providers, gather this in the form of a +journal issue, and distribute this. In this process, the publisher provides a +quality check via the system of peer reviewing, makes notation consistent, and +in some cases improves the prose. The information is distributed to a group of +consumers, $C$, with the set~$C$ a superset of the set~$P$. In this process, two +sorts of information can be exchanged: +\begin{itemize} +\item material that is structured in the sense +of being encoded according to, and checked against, some formal structural +specification such as a \dtd{}; +\item material that is not structured. +\end{itemize} +At present most of the material exchanged in the process of scientific +publishing is of the unstructured type. We expect that this will remain the +situation in the near future. As soon as authors get the possibility of using +more sophisticated tools, we expect that publishers will receive increasing +numbers of papers of the structured type. + +Several scientific publishers, among whom Elsevier Science Publishers, have +adopted \SGML as the future main tool for the process of publishing scientific +articles \cite{six}, and several other publishers have made, or are +expected to make, the same choice. The European Laboratory for +Particle Physics (\acro{CERN}), a large community of information providers, +are using \SGML to automate the loading of bibliographic information +in their library's database \cite{seven}. For both authors and +publishers it would be advantageous to agree on one \dtd{} for the +encoding of research papers. There are several reasons for this: + \begin{itemize} +\item Most authors do not submit all their articles to one and the same +publisher every time me. At present they are confronted with `Instructions to +Authors' that differ significantly from publisher to publisher. +\item A recent trend is that authors prepare their papers with text-processing +software on some computer. This enables them to send the paper in electronic +form (electronic manuscript or `compuscript') to the publisher. Publishers are +confronted with a variety of text-processing software on a variety of computer +systems \cite{eight}, \cite{nine}. Moreover, every field of science +appears to have its own `Top Ten' of most used text processing +packages. +\item Bibliographic information about all research papers in all (or most) +scientific journals is stored in bibliographic databases. +In an ideal world, authors would still be able to use their favourite text-processing system, which would +generate \SGML `behind the screens', so to speak. All publishers would +accept one standard \dtd{}, and all text-processing systems would be +able to generate documents prepared according to this \dtd{}, and all +bibliographic databases would be able to store this material. +\end{itemize} + +An example of activities towards achieving this ideal situation: the European +Working Group on \SGML (\acro{EWS}) and the European Physical Society (\acro{EPS}) have taken +the Electronic Manuscript Standard and are trying to develop it into a complete +\dtd{}, which should be acceptable to information providers, information gatherers +and information consumers. The Electronic Manuscript Standard is now a Draft +International Standard, \ISO/\acro{DIS} 12083. The \acro{EWS} and \acro{EPS} hope that the final +standard will include their work. + +\section{Encoding of mathematical formulas} + +In Annex A of \ISO~8879~\cite{ten} we find the following: + \begin{quotation} +Generalized markup is based on two novel postulates: +\begin{itemize} +\item Markup should describe a document's structure and other +attributes rather than specify processing to be performed on it, as descriptive +markup need be done only once and will suffice for all future processing. +\item Markup should be rigorous so that the techniques available for +processing rigorously defined objects like programs and databases can be used +for processing documents as well. +\end{itemize} +\end{quotation} + +There is no reason why this should not be +valid for mathematical formulas. We need to delimit the kind of mathematical +formulas we are trying to describe if we want an unambiguous structure. The +field of mathematics is so vast, that it may be impossible to design a single +\dtd{} that covers every kind of mathematical formula. If we concentrate on those +sciences which use mathematics as a tool, for example physics, we see that the +mathematics used in many physics papers can be described as ``advanced +calculus'' This definition can be made more precise by referring to some standard +textbooks containing these types of formulas, e.g.\ \textsl{Handbook of +Mathematical Functions} \cite{eleven} and the \textsl{Table of +integrals, series and products} \cite{twelve}. + +If we aim for rigorous encoding of mathematical formulas (the second postulate), we must develop a +system of descriptive markup of mathematical formulas that enables us to: +\begin{itemize} +\item convert the formulas between different word processors; +\item store the formulas in and extract them from a database; +\item allow programs to input or output formulas in descriptive markup. +\end{itemize} +An example of the first application would be the conversion of mathematical +formulas coded in \LaTeX\ to, say, Word\footnote{Word is a registered +trademark of MicroSoft.} via \SGML. The benefits of using \SGML as an intermediate +language for conversion are described in \cite{thirteen}. Note, +for example, that the number of programs required for pairwise +conversion between~$n$ languages is proportional to $n^2-n$ without +an intermediate language, but to +$2n$ with an intermediate language. + +An example of the second application would be encoding and storing the complete +contents of the above mentioned \textsl{Handbook of Mathematical Functions} +\cite{eleven} and \textsl{Table of integrals, series and products} +\cite{twelve} in a database, so that this information can be accessed +on-line by, say, mathematicians and physicists. Many articles have +mathematical formulas in their titles, so any program that extracts +bibliographic data should be able to handle mathematics as well. + +An example of the third application would be the extraction and subsequent use +in a computer program, written in an ordinary programming language or, for +example, in Mathematica.\footnote{Mathematica is a registered trademark of +Wolfram Research.} + +At this point we come back to the ideal world for scientific publishing we +sketched earlier. In this world, publishers would use one standard \dtd{} for +scientific papers, which enables them to prepare a primary publication -- in +paper and (or) in some electronic form - and to store the information in +databases for various secondary purposes. + +The question now is: what should a \dtd{} for mathematical formulas look like, if +it is going to be used for these purposes? + +There are two choices for a \dtd{} for mathematics: +\begin{itemize} +\item P-type: the \dtd{} reflects the Presentation or visual structure; examples +of this type are discussed in the appendices. +\item S-type: the \dtd{} reflects the Semantics or logical structure; at present no +\dtd{}s of this type exist. +\end{itemize} +The quotation from Annex~A of \ISO~8879 \cite{ten} indicates +the preference of the creator(s) of \SGML: markup of a formula should be of +S-type, it should describe the logical structure of the formula, rather than +the way it is represented on a certain medium, say the page of a traditional +(non-electronic) book. + +Let us suppose, for the sake of the argument, that an information gatherer, a +publisher, chooses a \dtd{} of S-type. This raises two further questions: +\begin{enumerate} +\item Is descriptive markup of mathematical material possible? +\item If it is possible, who can use it and for which purposes? +\end{enumerate} +The second question needs some explanation. As discussed in section +\ref{sci-pub}, in the process of scientific publishing two sorts of +information can be exchanged. mathematical material that is structured +according to a formal structural specification, and material that is not +structured. This means that there are two possible scenarios. + +Scenario 1: an author submits a paper in the form of a manuscript +(paper), i.e.\ with unstructured formulas, or a compuscript with +mathematical formulas in P-type notation (\TeX, WordPerfect, \dots). + +Scenario 2: an author submits a paper with mathematical formulas in S-type +notation. In scenario 1 it is the task of the publisher to convert from paper +or P-type notation to S-type notation. Before we discuss the feasibility of +this conversion, we will first look at some characteristics of mathematical +notation. + +\subsection{Characteristics of mathematical notation}\label{character} + +Mathematical notation is designed to create the correct ideas in the mind of +the reader. It is \textsl{deliberately} ambiguous and incomplete: indeed, it is +almost meaningless to all other readers. Or, more technically: the intrinsic +information content of any mathematical formula is very low. A formula gets its +meaning, i.e. its information content, only when used to communicate between +two minds which share a large collection of concepts and assumptions, together +with an agreed language for communicating the associated ideas. + +The ambiguity encountered in mathematical notation can be of two types +\cite{fourteen} +\begin{enumerate} +\item A generic notation uses the same symbols to +represent similar but different functions, for example `$+$' or `$\times$'. In +the case of addition this is not really a problem, but multiplication is a +problem since, multiplication of numbers is commutative, whereas matrix +multiplication is non-commutative! +\item A more fundamental ambiguity is posed +by the same notation being used in different fields in different ways. For +example: $f'$ stands for the first derivative of~$f$ in calculus, but can mean +`any other entity different from $f$' in other areas. +\end{enumerate} + +More examples of ambiguity are: +\begin{itemize} +\item Does~$\bar x$ represent a mean, a conjugation or a negation? +\item Is~$i$ an integer variable, e.g.\ the index of a matrix, or is it +$\sqrt{-1}$? +\item The other way around: is $\sqrt{-1}$ denoted by~$i$ or +by~$j$?\footnote{There are examples of authors actually writing something like +$[L_i,L_j] =\frac{i}{2}L_k$, where the first~$i$ is an +index, and the second~$i$ stands for~$\sqrt{-1}$.} + +\item What is the function of the~2 in $\textrm{SU}_2$ $\log_2x$, $x^2$, +$T_2^2$?\footnote{In $\textrm{SU}_2$ it is the number of dimensions of the Lie +group; in $\log_2x$ it is the base of the logarithm; if~$x$ is a vector, the~${}_2$ +in~$x_2$ is an index: the~${}^2$ in~$x^2$ could be a power, but if~$T$ is +a tensor, the~${}^2$ in~$T^2_2$ is a contrainvariant tensor index.} +\item Is $|X|$ the absolute value of a real (complex) number~$X$ +or the polyhedron of a simplicial complex~$X$ \cite{fifteen}? +\end{itemize} +The inverse problem, which is equally common, arises when different typographical +constructs have the same mathematical meaning. For example, the meanings of +both the following two lines would be coded identically +\begin{eqnarray*} +3 &+& 4 (\mod 5)\\ +3 &+_5& 4 +\end{eqnarray*} +and this would lead to great difficulty if an author wanted to write: +\begin{quote} +We shall often write, for example, $3 + 4 (\mod 5)$ in the shorter form $3 +_5 +4$, or even as simply $3+4$ when this will not lead to confusion. +\end{quote} + + +Of course, natural languages are similarly ambiguous and incomplete, but no one +we know is suggesting that in an \SGML document each word should be coded such +that it reflects the full dictionary definition of the meaning which that +particular use of the word is intended to have! + +\subsection{Who performs the markup of math?} +How does one convert P-type mathematical material, which an author has +produced, to S-type notation, which the publisher uses? +In \cite{one}, (p.9) Goldfarb gives a three-step model for document +processing: +\begin{enumerate} +\item recognition of part of a document (adding a generic identifier +for the appropriate element);\label{first} +\item mapping (associating a processing function +with each element);\label{second} +\item processing (e.g.\ translating elements into word +processor commands).\label{third} +\end{enumerate} + In the publishing of scientific papers and books steps~\ref{second} +and~\ref{third} are the responsibility of the publisher. +Traditionally, step~\ref{first} was also their responsibility: the +technical editor adds markup signs in the margin of the manuscript, +depending on the text and the visual representation that the house +style dictates. It is, however, unlikely that a technical editor is +capable of identifying the precise function of every part of a +mathematical formula, for several reasons, most of which were +discussed in the previous subsection, namely that mathematical +notation: +\begin{itemize} +\item is not unambiguous, +\item is not completely standardized, +\item is not a closed system. +\end{itemize} + Even if the technical editor were capable of identifying every +part of a formula, this would be too time- consuming -- and therefore too costly. +However, under certain conditions \cite{sixteen}, automatic +translation from visual structure to logical structure of +mathematical material is simplified greatly. + +This, and what we discussed in section~\ref{character}, leads us to +conclude the following. A publisher has no choice but to use a +P-type \dtd{} for mathematical material that is submitted in +unstructured form or in P-type notation. Even if S-type markup of a +mathematical formula would be possible, conversion from P-type to +S-type would be difficult or even impossible. Conclusion: the tags +for S-type markup should not be added by the information gatherer, +but by the information providers, i.e. the authors, who should be +able to identify each part of their formulas. + +\subsection{Feasibility of S-type notation} + In our second scenario, authors +would submit papers with mathematical formulas in S-type notation. This would +enable the publisher to `down translate'\footnote{`Down' because information is +lost in the process; we borrowed the terminology of translating `up' and +`down' from Exoterica OmniMark.} to any mathematics typesetting language +(P-type notation). However, the same reasoning as in section 3.1 leads us to +the following conjecture: + +Conjecture. It is impossible to create an S-type \dtd{} for all of mathematics. + +Representing the ``full meaning'' of a mathematical formula, if such a notion +exists, will almost certainly lead to attempts to pack more and more +unnecessary information into the representation until it becomes useless for +any purpose. This is rather like Russell and Whitehead reducing ``simple +arithmetic'' to logic and taking several pages of symbols to represent the +``true meaning of $2+2=4$''. + +Even if it were possible to define an S-type \dtd{} for a certain +branch of mathematics, this still gives problems. Supposing an +S-type \dtd{} contains an element for a ``derivative'' of a function. +Since the S-type \dtd{} will not contain any presentational attributes, +a decision will have to be made to represent the derivative of +$f(x)$ on paper as $f'(x)$ or $\frac{\text{\fontfamily{cmr}\selectfont + d}f(x)}{\text{\fontfamily{cmr}\selectfont d}x}$. +There are, however, times (such as in this article) that both +representations are required for the same semantic object, and that +the author will need other notation in addition to that defined by +the S-type \dtd{}. + +A likely reason for the belief that an S-type \dtd{} is possible, is +that many people in the worlds of document processing or computer +science are convinced that each symbol has at most a few possible +uses and that mathematical notation is as straightforward to analyse +as, for example, a piece of code for a somewhat complicated +programming language. The reality is that mathematical notation is +more akin to natural language: it is ambiguous and incomplete, as we +pointed out earlier. + +\subsection{Some problems with existing languages} +To show that it is not obvious to capture mathematical syntax in a +\dtd{}, let alone its semantics, consider the example of a limit +\[ +\lim_{x\to a}f(x) +\] +The syntactic structure of a limit is: +\begin{itemize} +\item The limit operator +\item The part containing the variable and its limit value +\item The expression of which the limit is to be taken +\end{itemize} +The first part could: +\begin{itemize} +\item always be ``lim'', in which case it is just a part of the +presentation of the formula and it should be left out. +\item be one of a finite list of alternatives, indicating the type +of limit($\liminf$, $\sup$, $\max$, etc.). In this case it should be +an attribute. +\item be any expression. +\item be any text. +\end{itemize} +We think the second possibility comes closest to the syntax of the +limit construct. Th second and third parts can be any mathematical +expression. + +Now let's look at the way this formula is coded with the \dtd{}s from +\ISO \acro{TR}~9573, \acro{AAP} math and Euromath respectively. Using the +mathematics \dtd{} from \ISO \acro{TR}~9573 there are three possibilities: +\begin{itemize} +\item \verb|lim x → a f(x)| +\item \verb|limx ↓| +\verb|a f(x)| +\item \verb|x →|\\ +\verb|af(x)| +\end{itemize} +whereas with the Euromath \dtd{} we would have: +\begin{verbatim} + +x\→ a +f(x) +\end{verbatim} + + +We see that the \acro{AAP} and Euromath expressions are closest to the limit syntax. +The best solution from \ISO \acro{TR}~9573 involves a more general ``plex'' +construct, which can be used for integrals, sums, products, set +unions, limits and others. When the plex construct contains the +actual lower and upper bounds it may even give semantic +information. + +Some mathematicians, however, are not satisfied with +this solution \cite{seventeen}. The plex operation is probably a +notation for an iterated application of a binary operation (e.g.\ +sums and products), while limits are of a different nature. In many +cases only the from part will be used, and there the whole range of +the bound variable will be indicated, as an interval or a more +general set. How does one go about extracting the bound variable? + +This supports our conjecture from the previous section, namely that it is very +hard to capture the semantics for all mathematics. it also suggests that some +redundancy is required to select whichever notation is most appropriate in a +certain context. + +\section{Re-using mathematical formulas} + There are two important uses for a +generically coded mathematical formula. The first one is in a mathematical +manipulation -- or computer algebra -- system (\acro{MMS}), such as Mathematica +\cite{eighteen} or Maple \cite{nineteen}. Computer programs for the +numerical evaluation of formulas, for example written in +\textsc{Fortran} or Modula-2, can also be regarded as mathematical +manipulation programs. + +The second form of re-usage is in a mathematical typesetting system, for +formatting the formula on paper or on screen; examples of this are \TeX\ +\cite{twenty} and eqn/troff \cite{twentyone}, \cite{twentytwo}. + +For computer algebra systems the notation for the formula should be such that a +particular type of manipulation on a particular system is possible, given a +`background' of concepts and assumptions that enables the system to interpret +the input as a mathematical statement. + +The coding of a formula that is adequate for document formatting, for example the +\TeX\ notation \verb|f^{(2)}(x)|, is very unlikely to contain much of the +information required for a manipulation system to make use of it. However, for +a limited held of discourse it is feasible to use the same coding for both types +of system \cite{sixteen}. + +Some examples: the square of $\sin x$ is typographically represented as +$\sin^2x$, but a system like Mathematics or Maple would probably prefer +something like $(\sin x)^2$ as input. Typesetting the inverse of $\sin x$ as +$\sin^{-1}x$, however, could be confusing: does it mean $1/(\sin x)$ or $\arcsin +x$? + +An \acro{MMS} would probably require the second derivative of a function~$f$ with +respect to its argument~$x$ to be coded as $(D,x)((D,x)f(x)))$ but +on paper this would be represented as $f''(x)$, or $f^{(2)}(x)$, or +$\frac{\displaystyle\text{\fontfamily{cmr}\selectfont d}^2f(x)}% + {\displaystyle\text{\fontfamily{cmr}\selectfont d}x^2}$. + +On the output side of a \acro{MMS} there are other problems since some of the coding +necessary for typographically acceptable output cannot be automatically derived +by the system from the coding used by the \acro{MMS}. + +The Euromath view \cite{seventeen} is that a common interface should +be designed together with the manufacturer of a \acro{MMS}. Perhaps an +\acro{MMS}-type \dtd{} will be required. + +\section{Related problems} +Another problem is, of course, that mathematics is by its nature extensible, so +there will always be new types of manipulations to be done. Notations are +changed or new notations are invented almost every day, figuratively speaking. +Normally these new subjects will use existing typographic representations, but +the computer algebra system will not know what formatting to use! Occasionally +a new typographic convention will be needed. And although there is agreement +on the notation for most mathematical concepts, authors of books on mathematics +tend to introduce alternative notations, for instance when they feel this is +necessary for didactic reasons. Mathematical notation is not standardized, and +it is open -- anyone can use it, and add to it, in any way they wish. + +If we consider a given \dtd{} at any time, we have to ask ourselves: can an author +add elements when the need for this arises? Theoretically the answer is `Yes, +he can' \cite{twentythree}, (p.71), although it is not +straightforward to include the new elements in the content models of +existing elements. + +Are such modification by the author desirable? A \dtd{} which is locally modified by +an author will quickly give rise to the situation described in the introduction +to this paper, and this should therefore probably be discouraged. Others, +however, have also noticed a need for private elements, as described in \acro{EPSIG} +News 3, no.~4; one of the challenging aspects of using \SGML being encountered by +the Text Encoding Initiative is that the guidelines +need to be extensible by researchers. They need to be able to extend +the \dtd{} in a disciplined way. + +This problem, however, may not be a serious one. The collection of style +elements is almost a closed set, since the number of fonts, symbols and ways +to combine them is limited. In fact, most notation is not syntactically new, +since the limited number of constructs works well as a notation. The multitude +of notations is obtained by combinations of fonts, symbols and positions (left +or right subscript, left or right superscript, atop, below, \dots), and by +giving one notation more than one meaning. This again seems to support our view +that only a P-type \dtd{} can be constructed for \emph{all} of mathematics. + +An \SGML \dtd{}, of whatever type, also doesn't solve the problems of new atomic or +composite symbols, which occur frequently in mathematics. As with new elements, +an author can add entities for these new symbols. There is no method to add the +name of a new symbol, whether atomic or composite, to an existing set of entity +definitions for symbols, other than to contact the owner of the set and wait for +an update. + +Although there is now a standard method to describe that symbol's glyph +(shape) \cite{twentyfive}, it is not practical for an author to +include it. A compromise solution seems to be to extend an existing +set, such as the one from \ISO \cite{twentysix}, as much as +possible, and try to standardize its use. + +\section{Conclusions} +We have argued as follows: +\begin{itemize} +\item That a logical \dtd{} in the sense of describing the structure of +the mathematical meaning is as impossible for maths as it is for natural +language, and also it is useless for formatting since the same mathematical +structure can be visually represented in many different ways. The correct one +for any given occurrence of that structure cannot be determined automatically, +but must be specified by the author. +\item That what needs to be encoded for formatting purposes, is information that +enables a particular set of detailed rules for maths typesetting to be applied. +This could he described as a `generic-visual encoding' or `encoding the logic +of the visual structure'. To establish exactly what these code?, should +be will require an expert analysis (probably involving expertise from +mathematicians, particularly editors, and from typographers aware of the +traditions of mathematical typesetting). +\item That this is different to what +needs to be encoded for use in mathematical manipulation software. Since neither +of these encodings can be deduced automatically from the other, a useful +database will need to store both. Perhaps a separate \dtd{} will be required to +enable this communication. +\end{itemize} +Possible solutions are +\begin{itemize} +\item A \dtd{} based on a hybrid of visual structure and logical structure +\item Two \dtd{}s, one for visual structure and one for logical structure, that +are linked in some fashion +\item Two concurrent \dtd{}s, one for visual structure and one for logical +structure. +\end{itemize} + +The simplest solution is probably to have a basic visual structure which is + described as an \SGML entity, supplemented with a (redundant) logical +structure, described by a second \SGML entity. This solution avoids any special +\SGML features and gives the user all flexibility for mixing and matching as +required. We believe that similar reasoning can be applied to tables and +chemical formulas, where the problem of separation form from content is just as +complex, or even more. + +\begin{thebibliography}{10} + +\bibitem{one} +Charles Goldfarb. +\newblock {\em The {\SGML} Handbook}. +\newblock Oxford University Press, Oxford, 1990. + +\bibitem{two} +Standard for electronic manuscript preparation and markup version 2.0. +\newblock Technical Report Z39.59-1988, {\acro{ANSI}/\acro{NISO}}, 1987. + +\bibitem{three} +Techniques for using {\SGML}. +\newblock Technical Report 9573, {\ISO}, 1988. + +\bibitem{four} +American~Chemical Society. +\newblock {\acro{ACS}} journal \dtd{}. + +\bibitem{five} +Bj{\"{o}}rn von Sydow. +\newblock On the \texttt{math} type in {E}uromath. + +\bibitem{six} +N.~A. F.~M. Poppelier. +\newblock {\SGML} and {\TeX} in scientific publishing. +\newblock {\em \TUB}, 12:105--109, 1991. + +\bibitem{seven} +E.~van Herwijnen, N.~A. F.~M. Poppelier, and J.C. Sens. +\newblock Using the electronic manuscript standard for document conversion. +\newblock {\em EPSIG News}, 1(14), 1992. + +\bibitem{eight} +E.~van Herwijnen. +\newblock The use of text interchange standards for submitting physics articles + to journals. +\newblock {\em Comp. Phys. Comm.}, 57:244--250, 1989. + +\bibitem{nine} +E.~van Herwijnen and J.C. Sens. +\newblock Streamlining publishing procedures. +\newblock {\em Europhysics News}, pages 171--174, November 1989. + +\bibitem{ten} +Standard generalized markup language ({\SGML}). +\newblock Technical Report 8879, {\ISO}, l986. + +\bibitem{eleven} +M.~Abramovitz and I.~Stegun. +\newblock {\em Handbook of mathematical functions}. +\newblock Dover, New York, 1972. + +\bibitem{twelve} +I.S. Gradshteyn and I.M. Ryzhik. +\newblock {\em Tables of integrals, series, and products}. +\newblock Academic Press, New York, 1980. + +\bibitem{thirteen} +S.A. Mamrak, C.S. O'Connell, and J.~Barnes. +\newblock Technical documentation for the integrated chameleon architecture. +\newblock Technical report, March 1992. + +\bibitem{fourteen} +Neil~M. Soiffer. +\newblock {\em The design of a user interface for computer algebra systems}. +\newblock PhD thesis, Computer Science Division ({\acro{EECS}}), University of + California, Berkeley, 1991. +\newblock Report {\acro{UCB}/\acro{USD}} 91/626. + +\bibitem{fifteen} +M.~Nakahara. +\newblock {\em Geometry, Topology and Physics}. +\newblock Adam Hilger, Bristol, 1990. + +\bibitem{sixteen} +Dennis~S. Arnon and Sandra~A. Mamra. +\newblock On the logical structure of mathematical notation. +\newblock {\em \TUB}, 12:479--484, 1991. + +\bibitem{seventeen} +Bj{\"{o}}rn von Sydow. +\newblock private communication to EvH. + +\bibitem{eighteen} +Stephen Wolfram. +\newblock {\em Mathematica: a system for doing mathematics by computer}. +\newblock Addison-Wesley, Reading, 1991. + +\bibitem{nineteen} +Bruce~W. Char, Keith~O. Geddes, Gaston~H. Gonnet, and Stephen~M. Watt. +\newblock {\em Maple User's Guide}. +\newblock \acro{WATCOM} Publications Ltd., Waterloo, 1985. + +\bibitem{twenty} +Donald~E. Knuth. +\newblock {\em The {\TeX}book}. +\newblock Addison-Wesley, Reading, 1984. + +\bibitem{twentyone} +Joseph~E Osanna. +\newblock Nroff/troff. +\newblock In {\em {UNIX} Programmer's Manual (2b)}. Bell Laboratories, 1978. + +\bibitem{twentytwo} +Brian~W. Kernighan and Linda Cherry. +\newblock Typesetting mathematics. +\newblock In {\em {UNIX} Programmer's Manual (2b)}. Bell Laboratories, 1978. + +\bibitem{twentythree} +E.~van Herwijnen. +\newblock {\em Practical {\SGML}}. +\newblock Kluwer Academic Publishers, Dordrecht, 1990. + +\bibitem{twentyfive} +Font information interchange. +\newblock Technical Report 9541, \ISO, 1991. + +\bibitem{twentysix} +Information processing -- {\SGML} support facilities -- techniques for using + {\SGML} -- part 13. +\newblock Technical Report 9573, \ISO, 1991. +\newblock Proposed Draft Technical Report. + +\end{thebibliography} + +%\begin{tabular}{ll} +%N. A. F. M. Poppelier& E. van Herwijnen, \\ +%Elsevier Science Publishers,&CERN,\\ +%P.O. Box 2400,&1211-CH,\\ +%1000 CK Amsterdam,&Geneva 23,\\ +%the Netherlands&Switzerland\\ +%\texttt{n.poppelier@elsevier.nl}&%??? +%\end{tabular} + +%\noindent\qquad and\\ +%\begin{tabular}{l} +%C.A. Rowley\\\texttt{C.A.Rowley@open.ac.uk} +%\end{tabular} + +\end{Article} + +\endinput +\section{References} + + + +\end{Article} +\endinput + + +A Existing mathematical notations + +A.1 Comparison of existing \dtd{}s + +In making comparisons between existing \dtd{}s we shall refer often to what is probably the best-known +system for coding mathematical notation in documents. This is the version of TEX coding used in +LaTeX 127] (which differs little from Knuth's Plain T~ notation described in [201), now a de facto +standard in many areas. It is a mixture of visual and logical tagging, with a bias towards the visual +which probably results from reasoning similar to that in this paper. + +The following document type definitions for mathematical formulas were investigated for this paper: +AAP 128], ISO [29] and Euromath [51. + +We will try to give a few general characteristics of each of them: + +AAP This \dtd{} shows a hybrid of visual and logical tagging. It is quite similar to the mathematical +notation of TEX 120]. +Integrals, sums and similar constructions have sub-elements tagged explicitly as lower limit, upper limit +and integrand (summand,...). + +The same goes for fractions, roots, and limit-like constructions. + +All rectangular schemes of mathematical expressions, e.g.\ matrices and determinants, are tagged as +'array in this \dtd{}. The delimiters are not part of the construction, although matrices are usually indicated +by ( ) or as C ], and determinants as I ( Alignment of rows, columns and cells is indicated by attributes, +even though they have nothing to do with function, but are in fact processing information. This idea +also appears in the array notation of LaTeX~[27]. diff --git a/usergrps/uktug/baskervi/7_1/fancyvrb.cfg b/usergrps/uktug/baskervi/7_1/fancyvrb.cfg new file mode 100644 index 0000000000..82322106ac --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/fancyvrb.cfg @@ -0,0 +1,545 @@ +\def\filedate{1996/11/24} +\def\filedate{1996/11/28 FMi} +\def\filedate{1996/12/03 FMi} +\def\filedate{1996/12/06 FMi} +\def\filedate{1996/12/07a FMi} +\def\filedate{1996/12/10 FMi} +\def\filedate{1996/12/15 FMi} +\def\filedate{1996/12/13 FMi} +\def\filedate{1996/12/26 FMi} +\def\filedate{1997/01/02 FMi} +\def\filedate{1997/01/07 FMi} +\def\filedate{1997/01/11 FMi} +\ProvidesFile{fancyvrb.rc}[\filedate\space fancyvrb customization + by Sebastian Rahtz and Frank Mittelbach for LaTeX Graphics Companion] +% Define verbatim and example environments: +% Verbatim - indented like quote environment, \small font. +% nVerbatim - Like "Verbatim", but numbered. +% example - code and output, side by side +% example* - one above other +% Example - Rendered as PS, like original, side by side +% Example* - Rendered as PS, one above other +% MPExample - Metapost example, side by side +% MPExample* - Metapost example, one above another +% MPEscape - Metapost exaple, just PS +% InlineEscape - for use inline +% Escape - Rendered as PS, with *no* verbatim text +% The example environments have the following step in common: +% 1. Save example verbatim to numbered example file +% 2. Input file verbatim or EPS file +% 3. Input again +% All of them save their text as files in the \EX@dir directory +% (this needs a trailing / as part of the definition) +% + +% bug fix for fancyvrb: missing percent sign results in issued \par! + +\begingroup +\catcode`\^^M=\active + \gdef\FV@BeginScanning#1^^M{% + \def\@tempa{#1}\ifx\@tempa\@empty\else\FV@BadBeginError\fi% <------ + \FV@GetLine}% +\endgroup + + + +\RequirePackage{ifthen} +\RequirePackage{graphicx} +\RequirePackage{calc} +\newdimen\ExampleWidth +\newdimen\CodeWidth +\@ifundefined{fullwidth}{\let\fullwidth\textwidth}{} +\setlength\ExampleWidth{.5\fullwidth - 6pt} % 12pt separation +% variable features +\def\EX@dir{} +\def\EX@prefix{} +\def\EX@class{article} +\def\PreambleCommands{} +\def\HiddenPreambleCommands{} +\def\EscapeParameters{} +\def\index@vals{} % index entries etc passed on + +% +\@ifundefined{thechapter}{\newcounter{chapter}}{} +% +\newcounter{EX@ct}[section] +\renewcommand\theEX@ct{% + \arabic{chapter}-\arabic{section}-\arabic{EX@ct}} +\newcounter{side@count} + +\newcommand\EPSinput[2][]{% + \IfFileExists{\EX@dir\EX@prefix#2.eps}% + {\ifx\\#1\\\else\typeout{Change EPS input to #1}\fi + \includegraphics[#1,type=mps]{\EX@dir\EX@prefix#2.eps}}% + {% + \IfFileExists{\EX@dir\EX@prefix#2.eps.bb}% + {\includegraphics[#1]{\EX@dir\EX@prefix#2}}% + {\underline{\EX@dir\EX@prefix#2}}% + }% +} + +\def\IdentifyOddExample#1{} +\def\IdentifyEvenExample#1{} +\def\IdentifyExample#1{} + + + + +\def\SideBySideEx#1#2{% final picture, verbatim code +\bgroup\def\baselinestretch{1}% +\trivlist\item[]% + \leavevmode + \global\advance\c@side@count\@ne + \setlength\CodeWidth{\fullwidth -12pt -\ExampleWidth}% + \label{\thechapter:\theside@count}% + \index@vals + \ifthenelse{\isodd{\pageref{\thechapter:\theside@count}}}{% + \IdentifyOddExample{-6pt,0}% +%%D \typeout{Odd Example <\theEX@ct, \theside@count> +%%D +/\the\fullwidth}% + \makebox[\textwidth][l]{\@@Display{#1}\hspace{12pt}% + \@@VDisplay{#2}}% + }{% +%%D \typeout{Even Example <\theEX@ct, \theside@count> +%%D +/\the\fullwidth}% + \makebox[\textwidth][r]{% + \@@Display{#1}% + \hspace{12pt}% + \@@VDisplay{#2}}% + \IdentifyEvenExample{6pt,0}% + }% + \endtrivlist + \egroup +} +\def\EX@input#1{\input{#1}} +\newsavebox{\@display} + +\def\@@Display#1{% + \sbox\@display{% + \begin{minipage}[b]{\ExampleWidth}\centering#1\end{minipage}% + }\raisebox{\depth}{\usebox{\@display}}% +} + +\def\@@VDisplay#1{% + \sbox\@display{% + \begin{minipage}[b]{\CodeWidth}% + \BVerbatimInput[fontsize=\small]{#1}\end{minipage}}% +% \raisebox{\depth}{\usebox{\@display}}% + \usebox{\@display}% +} + +\def\@@WideDisplay#1{% + \sbox\@display{#1}% + \setlength\ExampleWidth\columnwidth + \global\advance\c@side@count\@ne + \label{\thechapter:\theside@count}\nobreak + \ifthenelse{\isodd{\pageref{\thechapter:\theside@count}}}{% + \IdentifyOddExample{-6pt,0}% +%%D \typeout{Odd Wide Example <\theEX@ct, \theside@count> +%%D /\the\ExampleWidth}% + \makebox[\textwidth][l]{\@@Display{#1}}% + }{% +%%D \typeout{Even Wide Example <\theEX@ct, \theside@count> +%%D /\the\ExampleWidth}% + \makebox[\textwidth][r]{\@@Display{#1}}% + \IdentifyEvenExample{6pt,0}% + }% +} + + + +\def\BeginExample{% + \refstepcounter{EX@ct}% + \nobreak + \VerbatimEnvironment + \catcode`\<=12 + \begin{VerbatimOut}{\EX@dir\EX@prefix\theEX@ct.\EX@suffix}% +} + +\newcommand{\EndExample}{\end{VerbatimOut}% +% after parsing the verb code we have to change some +% start/stop strings for the secnd parsing phase: + \init@post@extension@code\EX@suffix} + + + +\def\FVE@VerbatimOut{% + \Write@Postamble + \immediate\closeout\FV@OutFile\endgroup\@esphack} + +\def\Write@Ex#1{% + \begingroup + \let\protect\@unexpandable@protect + \edef\reserved@a{\immediate\write\FV@OutFile{#1}} + \reserved@a + \endgroup +} + +\def\Write@OneEx#1{% + {\@temptokena\expandafter{#1}% + \immediate\write\FV@OutFile{\the\@temptokena}% + }% +} + +\def\Write@ExOne#1{% + {\@temptokena\expandafter{#1}% + \immediate\write\FV@OutFile{\the\@temptokena}% + }% +} + +\def\FVB@VerbatimOut#1{% + \@bsphack + \begingroup + \FV@UseKeyValues + \FV@DefineWhiteSpace + \def\FV@Space{\space}% + \FV@DefineTabOut + \def\FV@ProcessLine{\immediate\write\FV@OutFile}% + \immediate\openout\FV@OutFile #1\relax + \Write@Preamble + \let\FV@FontScanPrep\relax + \FV@Scan} + + +\def\Write@Preamble@LaTeX{% + \Write@Ex{\string\documentclass{\EX@class}}% + \Write@Ex{\string\nonstopmode}% +% notice that this different command to write the preamble +% commands means that all verbatim code gets the current +% preamble commands printed out +% +% order is important Hidden ones first to allow setting things up for +% the other ones! FMi +% + \ifx\HiddenPreambleCommands\@empty\else + \Write@OneEx{\HiddenPreambleCommands}% + \fi + \Write@OneEx{\PreambleCommands}% + \Write@Ex{\string\pagestyle{empty}}% + \Write@Ex{\EX@width@spec}% + \Write@Ex{\string\begin{document}}% + \Write@Ex{\string\ResetPreambleCommands}% + \Write@Ex{\string\ReadyForTheFray}% + \Write@ExOne{\PreambleCommands}% +} +\def\Write@Preamble@MP{% + \Write@OneEx{\PreambleCommands}% + \Write@Ex{defaultfont:="ptmr8r";} % force Times for labels + \Write@Ex{warningcheck:=0;}% this is to correct a known bug in MP + \Write@Ex{beginfig(1)}% +} +% +% allows for numbered verbatim carrying on where the last +% ended +% +\define@key{FV}{firstnumber}[auto]{% + \def\@tempa{#1}\def\@tempb{auto}% + \ifx\@tempa\@tempb + \def\FV@SetLineNo{% + \c@FancyVerbLine\FV@CodeLineNo + \advance\c@FancyVerbLine\m@ne}% + \else + \def\@tempb{continue}% + \ifx\@tempa\@tempb + \def\FV@SetLineNo{}% + \else + \def\@tempb{last}% + \ifx\@tempa\@tempb + \let\FV@SetLineNo\relax + \else + \def\FV@SetLineNo{\c@FancyVerbLine#1}% + \fi + \fi +\fi +} + + +% side by side LaTeX from external file +\newcommand{\Preexample}[1]{% + \PrepareExampleWidth + \SideBySideEx{\EX@input{\EX@dir#1}}{\EX@dir#1}% +} + +% now the ones which write stuff for an EPS file +% for side by side examples, the text width of the separate file +% needs to be specified. +\def\EX@width@spec{} +\def\PrepareExampleWidth{% + \def\EX@width@spec{\string\setlength\string\textwidth{\the\ExampleWidth}}} + +%%% don't think so FMi: \string\addtolength{\string\textwidth}{-6mm}}} + + +% +% compatibility with Michel, with moreverb, and verbatim package +% +\def\SixPt{\fontsize{6}{7\p@}\selectfont} +% +% input files verbatim, numbered and unnumbered +% +\def\verbfile#1{\VerbatimInput[fontsize=\small,xleftmargin=\parindent]{#1}} +\let\verbatiminput\verbfile +\def\listinginput#1#2{\VerbatimInput[fontsize=\small,firstnumber=#1,% + numbers=left]{#2}} +% +% verbatim in various sizes; these are all Verbatim, ie flush left, +% not LVerbatim, which uses a list, and is indented +\DefineVerbatimEnvironment{verbatim}{Verbatim} + {fontsize=\small,xleftmargin=\parindent} +% +\DefineVerbatimEnvironment{ssverbatim}{Verbatim}{fontsize=\scriptsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{tverbatim}{Verbatim}{fontsize=\tiny} +\DefineVerbatimEnvironment{sverbatim}{Verbatim} + {fontsize=\small} +% numbered +\DefineVerbatimEnvironment{nverbatim}{Verbatim} + {fontsize=\small,numbers=left,xleftmargin=\parindent} +\DefineVerbatimEnvironment{continueverbatim}{Verbatim}{fontsize=\small,% + firstnumber=continue,numbers=left,xleftmargin=\parindent} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Example type definitions +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\newcommand\ExampleType[5]{% + \@namedef{#1@init}{% + \def\EX@suffix{#1}% + \def\Write@Preamble{#2}% + \def\Write@Postamble{#3}}% + \@namedef{#1@init2}{% + \edef\FancyVerbStartString{#4}% + \edef\FancyVerbStopString{#5}% + }} + + +\ExampleType{ltx} + {\Write@Preamble@LaTeX} + {\Write@Ex{\string\end{document}}} + {\string\ReadyForTheFray} + {\string\end{document}} + + +\ExampleType{pic} + {\Write@Preamble@LaTeX} + {\Write@Ex{\string\usebox\string\graph}% + \Write@Ex{\string\end{document}}} + {\string\ReadyForTheFray} + {\string\usebox\string\graph} + + + +\ExampleType{m4} + {\Write@Preamble@LaTeX} + {\Write@Ex{\string\end{document}}} + {\string\ReadyForTheFray} + {\string\end{document}} + + + +\ExampleType{abc} + {\Write@Ex{X:1}% + \Write@Ex{T:}} + {} + {T:} + {} + + +%\ExampleType{mpp} {} {} {} {} + +\ExampleType{mpp} + {\Write@Ex{\string\verb{\string\hsize=\the\ExampleWidth}}% + \Write@Ex{\string\verb{}}} + {} {\string\verb{}} {} + +\ExampleType{ptx} % plain TeX source + {} {} {} {} + +\ExampleType{inl} % inline + {\Write@Preamble@LaTeX} {} {} {} + +\ExampleType{mp} + {\Write@Preamble@MP} + {\Write@Ex{endfig;}% + \Write@Ex{end;}% + } + {beginfig(1)} + {endfig;} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\init@extension@code#1#2{% + \def\index@vals{#2}% + \sbox\@tempboxa{\index@vals}% + \ifdim\wd\@tempboxa>0pt\relax\errmessage{index arg problem}\fi + \expandafter\ifx\csname #1@init\endcsname\relax + \errmessage{Example Type #1 unknown}% + \else + \csname #1@init\endcsname +%%D \typeout{Example Type \EX@suffix}% + \fi +} + +\def\init@post@extension@code#1{% + \csname #1@init2\endcsname + \ifx\FancyVerbStartString\@empty + \let\FancyVerbStartString\relax \fi + \ifx\FancyVerbStopString\@empty + \let\FancyVerbStopString\relax \fi +} + +\newcommand\ExtendExampleWidth[1]{% + \addtolength\ExampleWidth{24pt*#1}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +% side by side generic +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newenvironment{GenExample}[2] + {\init@extension@code{#1}{#2}% + \PrepareExampleWidth + \BeginExample} + {\EndExample + \SideBySideEx{\EPSinput{\theEX@ct}}% + {\EX@dir\EX@prefix\theEX@ct.\EX@suffix}% + } + + +% side by side +\newenvironment{genexample}[2] + {\init@extension@code{#1}{#2}% +% \def\Write@OneEx##1{}% + \def\Write@ExOne##1{}% + \def\Write@Ex##1{}% + \BeginExample} + {\EndExample + \let\FancyVerbStartString\relax + \let\FancyVerbStopString\relax + \SideBySideEx{\EX@input{\EX@dir\theEX@ct.\EX@suffix}}% + {\EX@dir\EX@prefix\theEX@ct.\EX@suffix}} + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +% on top of each other generic +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% first verbatimcode, then actual example +\newenvironment{GenExamplestar}[3][] + {\init@extension@code{#2}{#3}% + \def\verb@opts{#1}\BeginExample} + {\EndExample + \begin{center} + \def\baselinestretch{1}% + \index@vals + \expandafter\VerbatimInput\expandafter[\verb@opts + gobble=0,fontsize=\small]% + {\EX@dir\EX@prefix\theEX@ct.\EX@suffix}% + \EPSinput{\theEX@ct}% + \end{center}% +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +% inline on above the other generic +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% one above the other +\newenvironment{genexamplestar}[3][] + {\def\Write@Ex##1{}\def\Write@ExOne##1{}% + \init@extension@code{#2}{#3}\def\verb@opts{#1}\BeginExample} + {\EndExample + \let\FancyVerbStartString\relax + \let\FancyVerbStopString\relax + \index@vals + \expandafter\VerbatimInput\expandafter[\verb@opts + gobble=0,fontsize=\small]% + {\EX@dir\theEX@ct.\EX@suffix}% + \begin{center}% + \@@WideDisplay{\EX@input{\EX@dir\theEX@ct.\EX@suffix}}% +% +% the line above replaced the following: +% +% \leavevmode\EX@input{\EX@dir\theEX@ct.\EX@suffix}\par + \end{center}% +% \IdentifyExample{-2,1}% +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +% only results generic +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% no verbatim text at all, just to run the thing separately + +\newenvironment{GenEscape}[2] + {\init@extension@code{#1}{#2}\BeginExample} + {\EndExample +% +% that will probably *not* work, but the alternative isn't better either +% + \IdentifyOddExample{-6pt,0}% +% +% \par\noindent % i fear that is necessary +% \@@WideDisplay{% + \index@vals + \expandafter\EPSinput\expandafter + [\EscapeParameters]{\theEX@ct}% +% }% + } + +\newenvironment{InlineEscape}{\ERRORreplaceInlineEscape + \GenEscape{ltx}{}}{\endGenEscape} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% special environments +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\newenvironment{example}[1] {\genexample{inl}{#1}} {\endgenexample} + +\newenvironment{example*}[1] {\genexamplestar{inl}{#1}} {\endgenexamplestar} + +\newenvironment{numexample*}[1]{% + \genexamplestar[numbers=left,xleftmargin=18pt,]{inl}{#1}} + {\endgenexamplestar} + +\newenvironment{Escape}[1] {\GenEscape{ltx}{#1}} {\endGenEscape} +\newenvironment{MPEscape}[1] {\GenEscape{mp}{#1}} {\endGenEscape} + +\newenvironment{Example}[1] {\GenExample{ltx}{#1}} {\endGenExample} +\newenvironment{ABCExample}[1]{\GenExample{abc}{#1}} {\endGenExample} +\newenvironment{MPExample}[1]{\GenExample{mp}{#1}} {\endGenExample} + +\newenvironment{MPPExample}[1]{\GenExample{mpp}{#1}} {\endGenExample} + + +\newenvironment{NExample}[1] {\GenExample% + [firstnumber=0,numbers=left,xleftmargin=18pt,]{ltx}{#1}} {\endGenExample} + +\newenvironment{NExample*}[1] {\GenExamplestar% + [firstnumber=0,numbers=left,xleftmargin=18pt,]{ltx}{#1}} {\endGenExamplestar} + +\newenvironment{Example*}[1] {\GenExamplestar{ltx}{#1}}{\endGenExamplestar} +\newenvironment{MPExample*}[1]{\GenExamplestar{mp}{#1}} {\endGenExamplestar} +\newenvironment{MPExampleSmall*}[1] + {\GenExamplestar[fontsize=scriptsize]{mp}{#1}} {\endGenExamplestar} + +\newenvironment{MPPExample*}[1]{\setlength\ExampleWidth{\textwidth-2pt}% + \GenExamplestar{mpp}{#1}}{\endGenExamplestar} + + +\endinput + + diff --git a/usergrps/uktug/baskervi/7_1/fancyvrb.rc b/usergrps/uktug/baskervi/7_1/fancyvrb.rc new file mode 100644 index 0000000000..2806e27628 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/fancyvrb.rc @@ -0,0 +1,558 @@ +\def\filedate{1996/11/24} +\def\filedate{1996/11/28 FMi} +\def\filedate{1996/12/03 FMi} +\def\filedate{1996/12/06 FMi} +\def\filedate{1996/12/07a FMi} +\def\filedate{1996/12/10 FMi} +\def\filedate{1996/12/15 FMi} +\def\filedate{1996/12/13 FMi} +\def\filedate{1996/12/26 FMi} +\def\filedate{1997/01/02 FMi} +\def\filedate{1997/01/07 FMi} +\def\filedate{1997/01/11 FMi} +\ProvidesFile{fancyvrb.rc}[\filedate\space fancyvrb customization + by Sebastian Rahtz and Frank Mittelbach for LaTeX Graphics Companion] +% Define verbatim and example environments: +% Verbatim - indented like quote environment, \small font. +% nVerbatim - Like "Verbatim", but numbered. +% example - code and output, side by side +% example* - one above other +% Example - Rendered as PS, like original, side by side +% Example* - Rendered as PS, one above other +% MPExample - Metapost example, side by side +% MPExample* - Metapost example, one above another +% MPEscape - Metapost exaple, just PS +% InlineEscape - for use inline +% Escape - Rendered as PS, with *no* verbatim text +% The example environments have the following step in common: +% 1. Save example verbatim to numbered example file +% 2. Input file verbatim or EPS file +% 3. Input again +% All of them save their text as files in the \EX@dir directory +% (this needs a trailing / as part of the definition) +% + +% bug fix for fancyvrb: missing percent sign results in issued \par! + +\begingroup +\catcode`\^^M=\active + \gdef\FV@BeginScanning#1^^M{% + \def\@tempa{#1}\ifx\@tempa\@empty\else\FV@BadBeginError\fi% <------ + \FV@GetLine}% +\endgroup + + + +\RequirePackage{ifthen} +\RequirePackage{graphicx} +\RequirePackage{calc} +\newdimen\ExampleWidth +\newdimen\CodeWidth +\@ifundefined{fullwidth}{\let\fullwidth\textwidth}{} +\setlength\ExampleWidth{.5\fullwidth - 6pt} % 12pt separation +% variable features +\def\EX@dir{} +\def\EX@prefix{} +\def\EX@class{article} +\def\PreambleCommands{} +\def\HiddenPreambleCommands{} +\def\EscapeParameters{} +\def\index@vals{} % index entries etc passed on + +% +\@ifundefined{thechapter}{\newcounter{chapter}}{} +% +\newcounter{EX@ct}[section] +\renewcommand\theEX@ct{% + \arabic{chapter}-\arabic{section}-\arabic{EX@ct}} +\newcounter{side@count} + +\newcommand\EPSinput[2][]{% + \IfFileExists{\EX@dir\EX@prefix#2.eps}% + {\ifx\\#1\\\else\typeout{Change EPS input to #1}\fi + \includegraphics[#1,type=mps]{\EX@dir\EX@prefix#2.eps}}% + {% + \IfFileExists{\EX@dir\EX@prefix#2.eps.bb}% + {\includegraphics[#1]{\EX@dir\EX@prefix#2}}% + {\underline{\EX@dir\EX@prefix#2}}% + }% +} + +% added by Sean K. Harbour + +\renewcommand\EPSinput[2][]{% + \IfFileExists{\EX@dir\EX@prefix#2.eps}% + {\ifx\\#1\\\else\typeout{Change EPS input to #1}\fi + \includegraphics{\EX@dir\EX@prefix#2.eps}}% + {% + \IfFileExists{\EX@dir\EX@prefix#2.eps.bb}% + {\includegraphics{\EX@dir\EX@prefix#2}}% + {\underline{\EX@dir\EX@prefix#2}}% + }% +} + +\def\IdentifyOddExample#1{} +\def\IdentifyEvenExample#1{} +\def\IdentifyExample#1{} + + + + +\def\SideBySideEx#1#2{% final picture, verbatim code +\bgroup\def\baselinestretch{1}% +\trivlist\item[]% + \leavevmode + \global\advance\c@side@count\@ne + \setlength\CodeWidth{\fullwidth -12pt -\ExampleWidth}% + \label{\thechapter:\theside@count}% + \index@vals + \ifthenelse{\isodd{\pageref{\thechapter:\theside@count}}}{% + \IdentifyOddExample{-6pt,0}% +%%D \typeout{Odd Example <\theEX@ct, \theside@count> +%%D +/\the\fullwidth}% + \makebox[\textwidth][l]{\@@Display{#1}\hspace{12pt}% + \@@VDisplay{#2}}% + }{% +%%D \typeout{Even Example <\theEX@ct, \theside@count> +%%D +/\the\fullwidth}% + \makebox[\textwidth][r]{% + \@@Display{#1}% + \hspace{12pt}% + \@@VDisplay{#2}}% + \IdentifyEvenExample{6pt,0}% + }% + \endtrivlist + \egroup +} +\def\EX@input#1{\input{#1}} +\newsavebox{\@display} + +\def\@@Display#1{% + \sbox\@display{% + \begin{minipage}[b]{\ExampleWidth}\centering#1\end{minipage}% + }\raisebox{\depth}{\usebox{\@display}}% +} + +\def\@@VDisplay#1{% + \sbox\@display{% + \begin{minipage}[b]{\CodeWidth}% + \BVerbatimInput[fontsize=\small]{#1}\end{minipage}}% +% \raisebox{\depth}{\usebox{\@display}}% + \usebox{\@display}% +} + +\def\@@WideDisplay#1{% + \sbox\@display{#1}% + \setlength\ExampleWidth\columnwidth + \global\advance\c@side@count\@ne + \label{\thechapter:\theside@count}\nobreak + \ifthenelse{\isodd{\pageref{\thechapter:\theside@count}}}{% + \IdentifyOddExample{-6pt,0}% +%%D \typeout{Odd Wide Example <\theEX@ct, \theside@count> +%%D /\the\ExampleWidth}% + \makebox[\textwidth][l]{\@@Display{#1}}% + }{% +%%D \typeout{Even Wide Example <\theEX@ct, \theside@count> +%%D /\the\ExampleWidth}% + \makebox[\textwidth][r]{\@@Display{#1}}% + \IdentifyEvenExample{6pt,0}% + }% +} + + + +\def\BeginExample{% + \refstepcounter{EX@ct}% + \nobreak + \VerbatimEnvironment + \catcode`\<=12 + \begin{VerbatimOut}{\EX@dir\EX@prefix\theEX@ct.\EX@suffix}% +} + +\newcommand{\EndExample}{\end{VerbatimOut}% +% after parsing the verb code we have to change some +% start/stop strings for the secnd parsing phase: + \init@post@extension@code\EX@suffix} + + + +\def\FVE@VerbatimOut{% + \Write@Postamble + \immediate\closeout\FV@OutFile\endgroup\@esphack} + +\def\Write@Ex#1{% + \begingroup + \let\protect\@unexpandable@protect + \edef\reserved@a{\immediate\write\FV@OutFile{#1}} + \reserved@a + \endgroup +} + +\def\Write@OneEx#1{% + {\@temptokena\expandafter{#1}% + \immediate\write\FV@OutFile{\the\@temptokena}% + }% +} + +\def\Write@ExOne#1{% + {\@temptokena\expandafter{#1}% + \immediate\write\FV@OutFile{\the\@temptokena}% + }% +} + +\def\FVB@VerbatimOut#1{% + \@bsphack + \begingroup + \FV@UseKeyValues + \FV@DefineWhiteSpace + \def\FV@Space{\space}% + \FV@DefineTabOut + \def\FV@ProcessLine{\immediate\write\FV@OutFile}% + \immediate\openout\FV@OutFile #1\relax + \Write@Preamble + \let\FV@FontScanPrep\relax + \FV@Scan} + + +\def\Write@Preamble@LaTeX{% + \Write@Ex{\string\documentclass{\EX@class}}% + \Write@Ex{\string\nonstopmode}% +% notice that this different command to write the preamble +% commands means that all verbatim code gets the current +% preamble commands printed out +% +% order is important Hidden ones first to allow setting things up for +% the other ones! FMi +% + \ifx\HiddenPreambleCommands\@empty\else + \Write@OneEx{\HiddenPreambleCommands}% + \fi + \Write@OneEx{\PreambleCommands}% + \Write@Ex{\string\pagestyle{empty}}% + \Write@Ex{\EX@width@spec}% + \Write@Ex{\string\begin{document}}% + \Write@Ex{\string\ResetPreambleCommands}% + \Write@Ex{\string\ReadyForTheFray}% + \Write@ExOne{\PreambleCommands}% +} +\def\Write@Preamble@MP{% + \Write@OneEx{\PreambleCommands}% + \Write@Ex{defaultfont:="ptmr8r";} % force Times for labels + \Write@Ex{warningcheck:=0;}% this is to correct a known bug in MP + \Write@Ex{beginfig(1)}% +} +% +% allows for numbered verbatim carrying on where the last +% ended +% +\define@key{FV}{firstnumber}[auto]{% + \def\@tempa{#1}\def\@tempb{auto}% + \ifx\@tempa\@tempb + \def\FV@SetLineNo{% + \c@FancyVerbLine\FV@CodeLineNo + \advance\c@FancyVerbLine\m@ne}% + \else + \def\@tempb{continue}% + \ifx\@tempa\@tempb + \def\FV@SetLineNo{}% + \else + \def\@tempb{last}% + \ifx\@tempa\@tempb + \let\FV@SetLineNo\relax + \else + \def\FV@SetLineNo{\c@FancyVerbLine#1}% + \fi + \fi +\fi +} + + +% side by side LaTeX from external file +\newcommand{\Preexample}[1]{% + \PrepareExampleWidth + \SideBySideEx{\EX@input{\EX@dir#1}}{\EX@dir#1}% +} + +% now the ones which write stuff for an EPS file +% for side by side examples, the text width of the separate file +% needs to be specified. +\def\EX@width@spec{} +\def\PrepareExampleWidth{% + \def\EX@width@spec{\string\setlength\string\textwidth{\the\ExampleWidth}}} + +%%% don't think so FMi: \string\addtolength{\string\textwidth}{-6mm}}} + + +% +% compatibility with Michel, with moreverb, and verbatim package +% +\def\SixPt{\fontsize{6}{7\p@}\selectfont} +% +% input files verbatim, numbered and unnumbered +% +\def\verbfile#1{\VerbatimInput[fontsize=\small,xleftmargin=\parindent]{#1}} +\let\verbatiminput\verbfile +\def\listinginput#1#2{\VerbatimInput[fontsize=\small,firstnumber=#1,% + numbers=left]{#2}} +% +% verbatim in various sizes; these are all Verbatim, ie flush left, +% not LVerbatim, which uses a list, and is indented +\DefineVerbatimEnvironment{verbatim}{Verbatim} + {fontsize=\small,xleftmargin=\parindent} +% +\DefineVerbatimEnvironment{ssverbatim}{Verbatim}{fontsize=\scriptsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{tverbatim}{Verbatim}{fontsize=\tiny} +\DefineVerbatimEnvironment{sverbatim}{Verbatim} + {fontsize=\small} +% numbered +\DefineVerbatimEnvironment{nverbatim}{Verbatim} + {fontsize=\small,numbers=left,xleftmargin=\parindent} +\DefineVerbatimEnvironment{continueverbatim}{Verbatim}{fontsize=\small,% + firstnumber=continue,numbers=left,xleftmargin=\parindent} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Example type definitions +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\newcommand\ExampleType[5]{% + \@namedef{#1@init}{% + \def\EX@suffix{#1}% + \def\Write@Preamble{#2}% + \def\Write@Postamble{#3}}% + \@namedef{#1@init2}{% + \edef\FancyVerbStartString{#4}% + \edef\FancyVerbStopString{#5}% + }} + + +\ExampleType{ltx} + {\Write@Preamble@LaTeX} + {\Write@Ex{\string\end{document}}} + {\string\ReadyForTheFray} + {\string\end{document}} + + +\ExampleType{pic} + {\Write@Preamble@LaTeX} + {\Write@Ex{\string\usebox\string\graph}% + \Write@Ex{\string\end{document}}} + {\string\ReadyForTheFray} + {\string\usebox\string\graph} + + + +\ExampleType{m4} + {\Write@Preamble@LaTeX} + {\Write@Ex{\string\end{document}}} + {\string\ReadyForTheFray} + {\string\end{document}} + + + +\ExampleType{abc} + {\Write@Ex{X:1}% + \Write@Ex{T:}} + {} + {T:} + {} + + +%\ExampleType{mpp} {} {} {} {} + +\ExampleType{mpp} + {\Write@Ex{\string\verb{\string\hsize=\the\ExampleWidth}}% + \Write@Ex{\string\verb{}}} + {} {\string\verb{}} {} + +\ExampleType{ptx} % plain TeX source + {} {} {} {} + +\ExampleType{inl} % inline + {\Write@Preamble@LaTeX} {} {} {} + +\ExampleType{mp} + {\Write@Preamble@MP} + {\Write@Ex{endfig;}% + \Write@Ex{end;}% + } + {beginfig(1)} + {endfig;} + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\def\init@extension@code#1#2{% + \def\index@vals{#2}% + \sbox\@tempboxa{\index@vals}% + \ifdim\wd\@tempboxa>0pt\relax\errmessage{index arg problem}\fi + \expandafter\ifx\csname #1@init\endcsname\relax + \errmessage{Example Type #1 unknown}% + \else + \csname #1@init\endcsname +%%D \typeout{Example Type \EX@suffix}% + \fi +} + +\def\init@post@extension@code#1{% + \csname #1@init2\endcsname + \ifx\FancyVerbStartString\@empty + \let\FancyVerbStartString\relax \fi + \ifx\FancyVerbStopString\@empty + \let\FancyVerbStopString\relax \fi +} + +\newcommand\ExtendExampleWidth[1]{% + \addtolength\ExampleWidth{24pt*#1}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +% side by side generic +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newenvironment{GenExample}[2] + {\init@extension@code{#1}{#2}% + \PrepareExampleWidth + \BeginExample} + {\EndExample + \SideBySideEx{\EPSinput{\theEX@ct}}% + {\EX@dir\EX@prefix\theEX@ct.\EX@suffix}% + } + + +% side by side +\newenvironment{genexample}[2] + {\init@extension@code{#1}{#2}% +% \def\Write@OneEx##1{}% + \def\Write@ExOne##1{}% + \def\Write@Ex##1{}% + \BeginExample} + {\EndExample + \let\FancyVerbStartString\relax + \let\FancyVerbStopString\relax + \SideBySideEx{\EX@input{\EX@dir\theEX@ct.\EX@suffix}}% + {\EX@dir\EX@prefix\theEX@ct.\EX@suffix}} + + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +% on top of each other generic +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% first verbatimcode, then actual example +\newenvironment{GenExamplestar}[3][] + {\init@extension@code{#2}{#3}% + \def\verb@opts{#1}\BeginExample} + {\EndExample + \begin{center} + \def\baselinestretch{1}% + \index@vals + \expandafter\VerbatimInput\expandafter[\verb@opts + gobble=0,fontsize=\small]% + {\EX@dir\EX@prefix\theEX@ct.\EX@suffix}% + \EPSinput{\theEX@ct}% + \end{center}% +} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +% inline on above the other generic +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% one above the other +\newenvironment{genexamplestar}[3][] + {\def\Write@Ex##1{}\def\Write@ExOne##1{}% + \init@extension@code{#2}{#3}\def\verb@opts{#1}\BeginExample} + {\EndExample + \let\FancyVerbStartString\relax + \let\FancyVerbStopString\relax + \index@vals + \expandafter\VerbatimInput\expandafter[\verb@opts + gobble=0,fontsize=\small]% + {\EX@dir\theEX@ct.\EX@suffix}% + \begin{center}% + \@@WideDisplay{\EX@input{\EX@dir\theEX@ct.\EX@suffix}}% +% +% the line above replaced the following: +% +% \leavevmode\EX@input{\EX@dir\theEX@ct.\EX@suffix}\par + \end{center}% +% \IdentifyExample{-2,1}% +} + + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%% +% only results generic +%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% no verbatim text at all, just to run the thing separately + +\newenvironment{GenEscape}[2] + {\init@extension@code{#1}{#2}\BeginExample} + {\EndExample +% +% that will probably *not* work, but the alternative isn't better either +% + \IdentifyOddExample{-6pt,0}% +% +% \par\noindent % i fear that is necessary +% \@@WideDisplay{% + \index@vals + \expandafter\EPSinput\expandafter + [\EscapeParameters]{\theEX@ct}% +% }% + } + +\newenvironment{InlineEscape}{\ERRORreplaceInlineEscape + \GenEscape{ltx}{}}{\endGenEscape} + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% special environments +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\newenvironment{example}[1] {\genexample{inl}{#1}} {\endgenexample} + +\newenvironment{example*}[1] {\genexamplestar{inl}{#1}} {\endgenexamplestar} + +\newenvironment{numexample*}[1]{% + \genexamplestar[numbers=left,xleftmargin=18pt,]{inl}{#1}} + {\endgenexamplestar} + +\newenvironment{Escape}[1] {\GenEscape{ltx}{#1}} {\endGenEscape} +\newenvironment{MPEscape}[1] {\GenEscape{mp}{#1}} {\endGenEscape} + +\newenvironment{Example}[1] {\GenExample{ltx}{#1}} {\endGenExample} +\newenvironment{ABCExample}[1]{\GenExample{abc}{#1}} {\endGenExample} +\newenvironment{MPExample}[1]{\GenExample{mp}{#1}} {\endGenExample} + +\newenvironment{MPPExample}[1]{\GenExample{mpp}{#1}} {\endGenExample} + + +\newenvironment{NExample}[1] {\GenExample% + [firstnumber=0,numbers=left,xleftmargin=18pt,]{ltx}{#1}} {\endGenExample} + +\newenvironment{NExample*}[1] {\GenExamplestar% + [firstnumber=0,numbers=left,xleftmargin=18pt,]{ltx}{#1}} {\endGenExamplestar} + +\newenvironment{Example*}[1] {\GenExamplestar{ltx}{#1}}{\endGenExamplestar} +\newenvironment{MPExample*}[1]{\GenExamplestar{mp}{#1}} {\endGenExamplestar} +\newenvironment{MPExampleSmall*}[1] + {\GenExamplestar[fontsize=scriptsize]{mp}{#1}} {\endGenExamplestar} + +\newenvironment{MPPExample*}[1]{\setlength\ExampleWidth{\textwidth-2pt}% + \GenExamplestar{mpp}{#1}}{\endGenExamplestar} + + +\endinput + + diff --git a/usergrps/uktug/baskervi/7_1/fancyvrb.sty b/usergrps/uktug/baskervi/7_1/fancyvrb.sty new file mode 100644 index 0000000000..cdcafaa666 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/fancyvrb.sty @@ -0,0 +1,1673 @@ +%% BEGIN fancyvrb.sty +%% +\def\fileversion{2.0-beta, with DG/SPQR fixes} +\def\filedate{1996/10/05} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{fancyvrb}[\filedate] +%% +%% COPYRIGHT 1992-1994, by Timothy Van Zandt, tvz@Princeton.EDU +%% +%% DESCRIPTION: +%% fancyvrb.sty is a LaTeX style option, containing flexible +%% verbatim environments and commands and extensive documentation. +%% +%% This is a companion to fancybox.sty, which is probably available +%% from whereever you found fancyvrb.sty. +%% +%% INSTALLATION: +%% Put this file where your TeX looks for inputs. +%% +%% DOCUMENTATION: +%% See fancybox.doc, which might be appended to this file. +%% +%% COPYING: +%% Copying of part or all of this file is allowed under the following +%% conditions only: +%% (1) You may freely distribute unchanged copies of the file. Please +%% include the documentation when you do so. +%% (2) You may modify a renamed copy of the file, but only for personal +%% use or use within an organization. +%% (3) You may copy fragments from the file, for personal use or for +%% distribution, as long as credit is given where credit is due. +%% +%% You are NOT ALLOWED to take money for the distribution or use of +%% this file or modified versions or fragments thereof, except for +%% a nominal charge for copying etc. +%% +%% CODE: + +\csname fancyvrb@loaded\endcsname +\let\fancyvrb@loaded\endinput + +\typeout{Style option: `fancyvrb' v\fileversion \space <\filedate> (tvz)} + +%% ERRORS: + +\def\FV@Error#1#2{% + \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}% + \errmessage{FancyVerb Error:^^J\space\space #1^^J}} + +\def\FV@eha{Your command was ignored. Type to continue.} + +%% VERBATIM FOOTNOTES: + +% Color has to be protected. +% Won't work for some definitions of \@makefntext. +% If it weren't for \@makefntext, I would do this properly by +% defining a footnote environment. + +\def\VerbatimFootnotes{\let\@footnotetext\V@footnotetext} + +\long\def\V@footnotetext{% + \afterassignment\V@@footnotetext + \let\@tempa} +\def\V@@footnotetext{% + \insert\footins\bgroup + \csname reset@font\endcsname + \footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth\dp\strutbox + \floatingpenalty \@MM + \hsize\columnwidth + \@parboxrestore + \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}% + \@makefntext{}% + \rule{\z@}{\footnotesep}% + \bgroup + \aftergroup\V@@@footnotetext + \ignorespaces} +\def\V@@@footnotetext{\strut\egroup} + +%% KEY=VALUE: + +\RequirePackage{keyval} + +% Extensions to keyval.sty: + +% \define@booleankey{}{}{}{} +% +% Defines a for that executes: +% clause when value begins with `t' or `T', or is omitted. +% clause otherwise. + +\def\define@booleankey#1#2#3#4{% + \@namedef{KV@#1@#2@default}{#3}% + \@namedef{KV@#1@#2@false}{#4}% + \@namedef{KV@#1@#2}##1{\KV@booleankey{##1}{#1}{#2}}} +\def\KV@booleankey#1#2#3{% + \edef\@tempa{#1}\expandafter\KV@@booleankey\@tempa\relax\@nil{#2}{#3}} +\def\KV@@booleankey#1#2\@nil#3#4{% + \@nameuse{KV@#3@#4@\if t#1default\else\if T#1default\else false\fi\fi}} + +\def\FV@None{none} +\def\FV@Auto{auto} + +\def\fvset#1{\setkeys{FV}{#1}} + +% \FV@Command is for verbatim commands. Example: +% +% \def\VerbatimInput{\FV@Command{}{VerbatimInput}} +% +% \FV@Command{}{}: +% +% 1. Defines \FV@KeyValues to be . +% 2. Looks for *, and adds `showspaces' to \FV@KeyValues if found. +% 3. Looks for [] argument, and adds it to \FV@KeyValues if found. +% 4. Executes \FVC@. + +\def\FV@Command#1#2{% + \@ifstar + {\def\FV@KeyValues{#1,showspaces}\FV@@Command{#2}}% + {\def\FV@KeyValues{#1}\FV@@Command{#2}}} +\def\FV@@Command#1{% + \@ifnextchar[% + {\FV@GetKeyValues{\@nameuse{FVC@#1}}}% + {\@nameuse{FVC@#1}}} + +\def\FV@GetKeyValues#1[#2]{% + \expandafter\def\expandafter\FV@KeyValues\expandafter{\FV@KeyValues,#2}#1} + +\def\@CustomVerbatimCommand#1#2#3#4{% + \begingroup\fvset{#4}\endgroup % If there are errors, it easier to locate. + \def\@tempa##1##2\@nil{\def\@tempa{##2}}% + \expandafter\@tempa\string#3\@empty\@nil + \@ifundefined{FVC@\@tempa}% + {\FV@Error{Command `\string#3' is not a FancyVerb command.}\@eha}% + {#1{#2}{\FV@Command{#4}{#3}}}} + +\def\CustomVerbatimCommand{\@CustomVerbatimCommand\newcommand} +\def\RecustomVerbatimCommand{\@CustomVerbatimCommand\renewcommand} + +% \FV@Environment is for verbatim enviroments. Example: +% +% \def\Verbatim{\FV@Environment{}{Verbatim}} +% \@namedef{Verbatim*}{\FV@Environment{showspaces}{Verbatim}} +% +% \FV@Environment{}{}: +% +% 1. Defines \FV@KeyValues to be . +% 2. Sets \catcode`\^^M=13, checks for `[', and resets \catcode``^^M=5. +% 3. Reads [] and adds it to \FV@KeyValues if `[' was found. +% 4. Executes \FVB@. + +% \FV@Environment is like \FV@Command, except: +% +% - It omits step 2 (looking for *), and +% - It sets \catcode`\^^M=13 when checking for the `[' of the optional +% argument, so that it does not skip over ^^M if there is no `['. + +\def\FV@Environment#1#2{% + \def\FV@KeyValues{#1}% + \catcode`\^^M=\active + \@ifnextchar[% + {\catcode`\^^M=5 \FV@GetKeyValues{\@nameuse{FVB@#2}}}% + {\catcode`\^^M=5 \@nameuse{FVB@#2}}} + +\def\CustomVerbatimEnvironment{\@CustomVerbatimEnvironment\newenvironment} +\def\RecustomVerbatimEnvironment{\@CustomVerbatimEnvironment\renewenvironment} + +\def\@CustomVerbatimEnvironment#1#2#3#4{% + \begingroup\fvset{#4}\endgroup % If there are errors, it easier to locate. + \@ifundefined{FVB@#3}% + {\FV@Error{`#3' is not a FancyVerb environment.}\@eha}% + {#1{#2}{\FV@Environment{#4}{#3}}{\@nameuse{FVE@#3}}% + #1{#2*}{\FV@Environment{#4,showspaces}{#3}}{\@nameuse{FVE@#3}}}} + +\def\DefineVerbatimEnvironment#1#2#3{% + \@namedef{#1}{\FV@Environment{#3}{#2}}% + \@namedef{end#1}{\@nameuse{FVE@#2}}% + \@namedef{#1*}{\FV@Environment{#3,showspaces}{#2}}% + \@namedef{end#1*}{\@nameuse{FVE@#2}}} + +% Then commands or environments set key values with \FV@UseKeyValues, +% within a group. + +\def\FV@UseKeyValues{% + \ifx\FV@KeyValues\@empty\else + \def\KV@prefix{KV@FV@}% + \expandafter\KV@do\FV@KeyValues,\relax,% + \def\FV@KeyValues{}% + \fi} + +%% SCANNING: +% +% Scanning macros +% - read a line at a time from an environment or a file, +% - save the line in \FV@Line, and +% - execute \FV@PreProcessLine. +% +% \FV@PreProcessLine +% - Determines whether line is in a user-specified ranges, and if so, +% - Strips the line of a user-specified no. of tokens, and +% - executes \FV@ProcessLine{}. +% +% Two things are common to scanning an environment or reading a file: +% \FV@CatCodes --> Change \catcode's. +% \FV@PreProcessLine --> See above. + +%% CODES: + +\def\FV@CatCodes{% + \let\do\@makeother\dospecials + \FV@ActiveWhiteSpace % See below. + \FV@FontScanPrep % See below. + \FV@CatCodesHook % A style hook. + \FancyVerbCodes +} % A user-defined hook. + +\def\FV@ActiveWhiteSpace{% + \catcode`\^^M=\active % End of line + \catcode`\ =\active % Space + \catcode`\^^I=\active} % Tab + +% CM Ligatures: +% Left-quote: `` !` ?` +% Letter f: ff fi fl ffi ffl +% Hyphen: -- --- + +\def\FV@CatCodesHook{} + +\def\FV@AddToHook#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2\relax}} + +\define@key{FV}{codes}[]{\def\FancyVerbCodes{#1\relax}} +\define@key{FV}{codes*}{% + \expandafter\def\expandafter\FancyVerbCodes\expandafter{% + \FancyVerbCodes#1\relax}} +\fvset{codes} + +\define@key{FV}{commandchars}[\\\{\}]% + {\def\@tempa{#1}% + \ifx\@tempa\FV@None + \let\FV@CommandChars\relax + \else + \FV@DefineCommandChars#1\relax\relax\relax + \fi} + +\def\FV@DefineCommandChars#1#2#3{% + \def\FV@CommandChars{% + \catcode`#1=0\relax\catcode`#2=1\relax\catcode`#3=2\relax}} + +\FV@AddToHook\FV@CatCodesHook\FV@CommandChars + +\define@key{FV}{commentchar}[\%]{% + \def\@tempa{#1}% + \ifx\@tempa\FV@None + \let\FV@CommentChar\relax + \else + \def\FV@CommentChar{\catcode`#1=14}% + \fi} + +\FV@AddToHook\FV@CatCodesHook\FV@CommentChar + +\fvset{commandchars=none,commentchar=none} + +%% PREPROCESS LINE: + +% These is tedious and takes up macro space, but it doesn't slow things +% down much when the parameters are not used. + +% start, stop and gobble parameters: + +% If value is a number, then after the assignment the next token is \relax. + +\define@key{FV}{firstline}{% + \afterassignment\FV@ParseStart\@tempcnta=0#1\relax\@nil{#1}} +\def\FV@ParseStart#1\relax\@nil#2{% + \ifx\@nil#1\@nil + \edef\FancyVerbStartNum{\the\@tempcnta}% + \let\FancyVerbStartString\relax + \else + \edef\FancyVerbStartString{#2}% + \fi} +\def\KV@FV@firstline@default{% + \let\FancyVerbStartNum\z@ + \let\FancyVerbStartString\relax} + +\define@key{FV}{lastline}{% + \afterassignment\FV@ParseStop\@tempcnta=0#1\relax\@nil{#1}} +\def\FV@ParseStop#1\relax\@nil#2{% + \ifx\@nil#1\@nil + \edef\FancyVerbStopNum{\the\@tempcnta}% + \let\FancyVerbStopString\relax + \else + \edef\FancyVerbStopString{#2}% + \fi} +\def\KV@FV@lastline@default{% + \let\FancyVerbStopNum\z@ + \let\FancyVerbStopString\relax} + +\fvset{firstline,lastline} + +\newcount\FV@CodeLineNo + +% If \FV@FindStartStop determines the line should be printed, it +% executes \FV@@PreProcessLine + +\def\FV@PreProcessLine{% + \global\advance\FV@CodeLineNo\@ne + \FV@FindStartStop} + +\def\FV@@PreProcessLine{% + \FV@StepLineNo + \FV@Gobble + \expandafter\FV@ProcessLine\expandafter{\FV@Line}} + +% The definition of \FV@FindStartStop changes, so that we don't +% have to check irrelevant conditions with each line. + +\def\FV@FindStartStop{\FV@DefineFindStart\FV@FindStartStop} + +% \def\FV@DefinePreProcessLine{% +% \setcounter{FancyVerbLine}{0}% +% \FV@DefineFindStart} + +\def\FV@DefineFindStart{% + \ifx\FancyVerbStartString\relax + \ifnum\FancyVerbStartNum<\tw@ + \FV@DefineFindStop + \else + \let\FV@FindStartStop\FV@FindStartNum + \fi + \else + \let\FV@FindStartStop\FV@FindStartString + \fi} + +\def\FV@FindStartNum{% + \ifnum\FancyVerbStartNum>\FV@CodeLineNo\else + \FV@DefineFindStop + \expandafter\FV@@PreProcessLine + \fi} + +\def\FV@FindStartString{% + \expandafter\FV@@FindStartString +{\meaning\FV@Line}% +{\meaning\FancyVerbStartString}% +} +\def\FV@@FindStartString#1#2{% +\edef\@fooA{#1}\edef\@fooB{#2} + \ifx\@fooA\@fooB + \FV@DefineFindStop + \fi +} + +\def\FV@DefineFindStop{% + \ifx\FancyVerbStopString\relax + \ifnum\FancyVerbStopNum<\@ne + \let\FV@FindStartStop\FV@@PreProcessLine + \else + \let\FV@FindStartStop\FV@FindStopNum + \fi + \else + \let\FV@FindStartStop\FV@FindStopString + \fi} + +\def\FV@FindStopNum{% + \ifnum\FancyVerbStopNum=\FV@CodeLineNo + \let\FV@FindStartStop\relax + \ifeof\FV@InFile\else + \immediate\closein\FV@InFile + \fi + \fi + \FV@@PreProcessLine} + +\def\FV@FindStopString{% + \expandafter\FV@@FindStopString +{\meaning\FV@Line}% +{\meaning\FancyVerbStopString}% +} +\def\FV@@FindStopString#1#2{% +\edef\@fooA{#1}\edef\@fooB{#2} + \ifx\@fooA\@fooB + \let\FV@FindStartStop\relax + \ifeof\FV@InFile\else + \immediate\closein\FV@InFile + \fi + \else + \expandafter\FV@@PreProcessLine + \fi} + +% Gobblings. \FV@Gobble does nothing, or strips some tokens from +% the line and stores the result in \FV@Line again. We use +% \LaTeX's renewcommand to define a command for gobbling up to +% 9 arguments. This is not the same as removing 9 tokens, but is +% easier. + +\def\FV@@Gobble{% + \expandafter\expandafter\expandafter\FV@@@Gobble + \expandafter\FV@@@@Gobble\FV@Line + \@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@@nil} +\def\FV@@@Gobble#1\@nil#2\@@nil{\def\FV@Line{#1}} + +\define@key{FV}{gobble}{% + \@tempcnta=#1\relax + \ifnum\@tempcnta<\@ne + \let\FV@Gobble\relax + \else + \ifnum\@tempcnta>9 + \FV@Error{gobble parameter must be less than 10}\FV@eha + \else + \renewcommand{\FV@@@@Gobble}[\@tempcnta]{}% + \let\FV@Gobble\FV@@Gobble + \fi + \fi} +\def\FV@@@@Gobble{} +\def\KV@FV@gobble@default{\let\FV@Gobble\relax} + +\fvset{gobble} + +%% SCANNING ENVIRONMENTS: + +\def\FV@Scan{% + \FV@CatCodes + \VerbatimEnvironment + \FV@DefineCheckEnd + \FV@BeginScanning} + +% \VerbatimEnvironment: +% +% This saves the name of the current environment as +% \FV@EnvironName, if the latter is not already defined. +% Then \FV@CheckEnd knows how to find the end as long as either: +% * \begin and \end are not used within the definition of the environment, OR +% * \VerbatimEnvironment is used in the definition before the first \begin. + +\def\VerbatimEnvironment{% + \ifx\FV@EnvironName\relax\xdef\FV@EnvironName{\@currenvir}\fi} + +\let\FV@EnvironName\relax + +%% CHECK END: +% +% We have to check the argument of the first \end{} in each line, compare it +% with \FV@EnvironName, and return \iftrue if it matches and \iffalse +% otherwise. +% +% There are four cases (R=regular): +% +% case : i ii iii iv +% catcode of \ : R 12 12 R +% catcode of {} : R R 12 12 +% +% For uniformity, we use ![] instead of \{} in all the definitions. +% +% We first set the catcodes of \{} to those in effect in the +% verbatim environment. Then we define: +% +% !def!FV@CheckEnd#1[!FV@@CheckEnd#1\end{}!@nil] +% +% If {} have their usual catcodes, we define: +% +% !def!FV@@CheckEnd#1\end#2#3!@nil[!def!@tempa[#2]] +% +% If {} have catcode 12, we define: +% +% !def!FV@@CheckEnd#1\end{#2}#3!@nil[!def!@tempa[#2]] + +\begingroup +\catcode`\!=0 +\catcode`\[=1 +\catcode`\]=2 + +% Case i: + +!gdef!FV@CheckEnd@i#1[!FV@@CheckEnd#1\end{}!@nil] +!gdef!FV@@CheckEnd@i#1\end#2#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] +!gdef!FV@@@CheckEnd@i[\end{}] + +% Case ii: + +\catcode`!\=12 + +!gdef!FV@CheckEnd@ii#1[!FV@@CheckEnd#1\end{}!@nil] +!gdef!FV@@CheckEnd@ii#1\end#2#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] +!gdef!FV@@@CheckEnd@ii[\end{}] + +% Case iii: + +!catcode`!{=12 +!catcode`!}=12 + +!gdef!FV@CheckEnd@iii#1[!FV@@CheckEnd#1\end{}!@nil] +!gdef!FV@@CheckEnd@iii#1\end{#2}#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] +!gdef!FV@@@CheckEnd@iii[\end{}] + +% Case iv: + +!catcode`!\=0 + +!gdef!FV@CheckEnd@iv#1[!FV@@CheckEnd#1\end{}!@nil] +!gdef!FV@@CheckEnd@iv#1\end{#2}#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] +!gdef!FV@@@CheckEnd@iv[\end{}] + +\endgroup + +\def\FV@BadCodes#1{% + \FV@Error + {\string\catcode\space of \expandafter\@gobble\string#1 is wrong: + \the\catcode`#1}% + {Only the following catcode values are allowed: + ^^J\@spaces \expandafter\@gobble\string\\ \space\space --> 0 or 12. + ^^J\@spaces \string{ \string} --> 1 and 2, resp., or both 12. + ^^JTo get this error, either you are a hacker or you got bad advice.}% + \def\FV@CheckEnd##1{\iftrue}} + +\def\FV@DefineCheckEnd{% + \ifnum\catcode`\\=\z@ + \ifnum\catcode`\{=\@ne + \let\FV@CheckEnd\FV@CheckEnd@i + \let\FV@@CheckEnd\FV@@CheckEnd@i + \let\FV@@@CheckEnd\FV@@@CheckEnd@i + \else + \ifnum\catcode`\{=12 + \let\FV@CheckEnd\FV@CheckEnd@iv + \let\FV@@CheckEnd\FV@@CheckEnd@iv + \let\FV@@@CheckEnd\FV@@@CheckEnd@iv + \else + \FV@BadCodes\{% + \fi + \fi + \else + \ifnum\catcode`\\=12 + \ifnum\catcode`\{=\@ne + \let\FV@CheckEnd\FV@CheckEnd@ii + \let\FV@@CheckEnd\FV@@CheckEnd@ii + \let\FV@@@CheckEnd\FV@@@CheckEnd@ii + \else + \ifnum\catcode`\{=12 + \let\FV@CheckEnd\FV@CheckEnd@iii + \let\FV@@CheckEnd\FV@@CheckEnd@iii + \let\FV@@@CheckEnd\FV@@@CheckEnd@iii + \else + \FV@BadCodes\{% + \fi + \fi + \else + \FV@BadCodes\\% + \fi + \fi} + +%% LINE-BY-LINE SCANNING + +% We first skip everything after the beginning of the environment. + +\begingroup +\catcode`\^^M=\active + \gdef\FV@BeginScanning#1^^M{% + \def\@tempa{#1}\ifx\@tempa\@empty\else\FV@BadBeginError\fi + \FV@GetLine}% +\endgroup + +\def\FV@BadBeginError#1{% + \expandafter\@temptokena\expandafter{\@tempa}% + \FV@Error + {Extraneous input `\the\@temptokena' between + \string\begin{\FV@EnvironName}[] and line end}% + {This input will be discarded. Hit to continue.}} + +% If \FancyVerbGetLine does not find a ^^M, then we are at +% the end of the file, and \FV@EOF attempts to terminate the document. +% Otherwise, \FV@EOF is gobbled by \FancyVerbGetLine. + +\def\FV@GetLine{\expandafter\FV@CheckScan\FancyVerbGetLine} + +\begingroup +\catcode`\^^M=\active +\gdef\FancyVerbGetLine#1^^M{% + \@nil + \FV@CheckEnd{#1}% + \ifx\@tempa\FV@EnvironName% % True if end is found + \ifx\@tempb\FV@@@CheckEnd\else\FV@BadEndError\fi% + \let\next\FV@EndScanning% + \else% + \def\FV@Line{#1}% + \def\next{\FV@PreProcessLine\FV@GetLine}% + \fi% + \next}% +\endgroup + +\def\FV@BadEndError{% + \expandafter\@temptokena\expandafter{\@tempb}% + \FV@Error + {Extraneous input `\the\@temptokena' between + \string\end{\FV@EnvironName} and line end}% + {This input will be discarded. Type to continue.}} + +\def\FV@EndScanning{% + \edef\next{\noexpand\end{\FV@EnvironName}}% + \global\let\FV@EnvironName\relax + \next} + +\@ifundefined{@currenvline}{\let\@currenvline\@empty}{} + +\def\FV@CheckScan#1{\@ifnextchar\@nil{\@gobble}{\FV@EOF}} +\def\FV@CheckScan#1{\ifx\@nil#1\@empty\else\expandafter\FV@EOF\fi} + +\def\FV@EOF{% + \FV@Error{Couldn't find `\string\end{\FV@EnvironName}' to end + a verbatim environment\@currenvline.}% + {Probably you mistyped the environment name or included an extraneous + ^^Jspace, or are using an improperly defined verbatim environment. + ^^JHit return and I will try to terminate this job.}% + \FV@EndScanning + \end{document}} + +%% INPUT: + +\newread\FV@InFile + +\def\FV@Input#1{% + \immediate\openin\FV@InFile #1\relax + \ifeof\FV@InFile + \FV@Error{No verbatim file #1}\FV@eha + \immediate\closein\FV@InFile + \else + \FV@CatCodes + \expandafter\FV@@Input + \fi} + +% TeX reports EOF when reading after the last newline character. +% Thus, we read to InLine, and if TeX reports EOF: +% If InLine=Empty, previous line was last line in file (file ends nl). +% Otherwise, InLine holds last line in file (file doesn't end in nl). +% \FV@@Input handles both cases correctly. + +\def\FV@@Input{% + \def\FV@Line{}% + \FV@ReadLine + \ifeof\FV@InFile + \ifx\FV@Line\@empty\else + \FV@PreProcessLine + \fi + \immediate\closein\FV@InFile + \else + \FV@PreProcessLine + \expandafter\FV@@Input + \fi} + +% We also want to handle true comment characters correctly. This means that +% we keep accumulating text in InLine until we find a ^^M (indicating that +% the line did not contain a comment character). + +\begingroup +\catcode`\^^M=\active +\gdef\FV@ReadLine{% + \ifeof\FV@InFile\else + \immediate\read\FV@InFile to\@tempa% + \expandafter\FV@@ReadLine\@tempa^^M\relax^^M\@nil% + \fi} +% #2 is empty if line ends in ^^M, #2=\relax otherwise +\gdef\FV@@ReadLine#1^^M#2^^M#3\@nil{% + \expandafter\def\expandafter\FV@Line\expandafter{% + \FV@Line#1}% + \ifx\relax#2\@empty\expandafter\FV@ReadLine\fi}% +\endgroup + +%% FORMATTING - COMMON COMPONENTS: + +% Some things that are common to all verbatim formatting: + +\def\FV@FormattingPrep{% + \global\FV@CodeLineNo\z@ + \frenchspacing % Cancels special punctuation spacing. + \FV@SetupFont % See below. + \FV@DefineWhiteSpace % See below. + \FancyVerbDefineActive + \FancyVerbFormatCom} % A user-defined hook (formatcom parameter). + +% Fonts + +\expandafter\ifx\csname selectfont\endcsname\relax + +\def\FV@SetupFont{% + \FV@BaseLineStretch + \ifx\@currsize\small\normalsize\else\small\fi\@currsize + \FV@FontSize + \FV@FontFamily +} + +\else + +\def\FV@SetupFont{% + \FV@BaseLineStretch + \FV@FontSize + \FV@FontFamily + \FV@FontSeries + \FV@FontShape +% +% SPQR Jan 29 1996; added code to turn off ligatures +% + \selectfont\let\do\do@noligs\verbatim@nolig@list} + +\fi + +\define@key{FV}{fontsize}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@Auto + \let\FV@FontSize\relax + \else + \def\FV@FontSize{#1}% + \fi} +\def\KV@FV@fontsize@default{\let\FV@FontSize\relax} + +\define@key{FV}{baselinestretch}[auto]{% + \def\@tempa{#1}% + \ifx\@tempa\FV@Auto + \let\FV@BaseLineStretch\relax + \else + \def\FV@BaseLineStretch{\def\baselinestretch{#1}}% + \fi} +\def\KV@FV@baselinestretch@default{\let\FV@BaseLineStretch\relax} + +\define@key{FV}{fontfamily}{% + \@ifundefined{FV@fontfamily@#1}% + {\def\FV@FontScanPrep{}\def\FV@FontFamily{\fontfamily{#1}}} + {\csname FV@fontfamily@#1\endcsname}} + +\define@key{FV}{fontseries}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@Auto + \let\FV@FontSeries\relax + \else + \def\FV@FontSeries{\fontseries{#1}}% + \fi} + +\define@key{FV}{fontshape}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@Auto + \let\FV@FontShape\relax + \else + \def\FV@FontShape{\fontshape{#1}}% + \fi} + +% Font family styles have to define \FV@FontScanPrep and \FV@FontFamily. + +\def\FV@MakeActive#1{% + \catcode`#1=\active + \def\next##1{\expandafter\def\expandafter\FV@MakeUnActive\expandafter{% + \FV@MakeUnActive\def##1{\string##1}}}% + \begingroup\lccode`~=`#1\relax\expandafter\next\expandafter~\endgroup} +\def\FV@MakeUnActive{} + +\begingroup +\catcode`\`=\active +\gdef\FV@fontfamily@tt{% + \def\FV@FontScanPrep{\FV@MakeActive\`}% + \def\FV@FontFamily{\ttfamily\edef`{{\string`}}}} + +\gdef\FV@fontfamily@cmtt{% + \def\FV@FontScanPrep{\FV@MakeActive\`}% + \def\FV@FontFamily{\edef`{{\string`}}\fontfamily{cmtt}}} +\endgroup + +\@namedef{FV@fontfamily@cmtt-spanish}{% + \def\FV@FontScanPrep{}% + \def\FV@FontFamily{\fontfamily{cmtt}}} + +%% FIX ME + +\@namedef{FV@fontfamily@courier}{% + \def\FV@FontScanPrep{}% + \def\FV@FontFamily{\fontfamily{pcr}}} + +\@namedef{FV@fontfamily@helvetica}{% + \def\FV@FontScanPrep{}% + \def\FV@FontFamily{\fontfamily{phv}}} + +\fvset{fontfamily=tt,fontsize=auto,fontshape=auto,fontseries=auto, + baselinestretch=auto} + +% \FV@DefineWhiteSpace +% +% We just define the active characters to be ordinary commands, which +% are easier to redefine. We do with any macros that use verbatim text. + +\begingroup +\catcode`\ =\active +\catcode`\^^I=\active +\gdef\FV@DefineWhiteSpace{\def {\FV@Space}\def^^I{\FV@Tab}}% +\endgroup + +\define@key{FV}{defineactive}[]{\def\FancyVerbDefineActive{#1\relax}} +\define@key{FV}{defineactive*}{% + \expandafter\def\expandafter\FancyVerbDefineActive\expandafter{% + \FancyVerbDefineActive#1\relax}} +\fvset{defineactive} + +% \FV@Space: + +\define@booleankey{FV}{showspaces}% + {\def\FV@Space{{\FancyVerbSpace}}}% + {\def\FV@Space{\ }} + +{\catcode`\ =12 \gdef\FancyVerbSpace{\tt }} + +\fvset{showspaces=false} + +% \FV@Tab: + +\def\FV@Tab{\hbox to\FancyVerbTabSize\fontdimen2\font{\hss\FV@TabChar}} + +\define@key{FV}{tabsize}{% + \@tempcnta=#1\relax + \ifnum\@tempcnta>100 + \FV@Error{Tab size too large: `\the\@tempcnta'. (Max size = 100)}\FV@eha + \else + \edef\FancyVerbTabSize{\the\@tempcnta}% + \fi} + +\define@booleankey{FV}{showtabs}% + {\def\FV@TabChar{\FancyVerbTab}}% + {\let\FV@TabChar\relax} + +\fvset{tabsize=8,showtabs=false} + +% Here is a weak attempt at a tab character. It may exceed the width +% of a space character when the verbatim font is small. The only proper way +% to do this is making it part of the verbatim font. + +\def\FancyVerbTab{% + \valign{% + \vfil##\vfil\cr + \hbox{$\scriptscriptstyle-$}\cr + \hbox to 0pt{\hss$\scriptscriptstyle\rangle\mskip -.8mu$}\cr + \hbox{$\scriptstyle\mskip -3mu\mid\mskip -1.4mu$}\cr}} + +% Obey Tabs: + +\newbox\FV@TabBox + +\def\FV@@ObeyTabsInit{% + \@tempdimb=\FancyVerbTabSize\fontdimen\tw@\font + \edef\FV@ObeyTabSize{\number\@tempdimb}% + \advance\@tempdimb\fontdimen\tw@\font + \advance\@tempdimb-\FancyVerbTabSize sp % Allow for rounding errors. + \edef\FV@@ObeyTabSize{\number\@tempdimb}% + \let\FV@ObeyTabs\FV@@ObeyTabs + \let\FV@Tab\FV@TrueTab} + +\def\FV@@ObeyTabs#1{\setbox\FV@TabBox=\hbox{#1}\box\FV@TabBox} +\let\FV@ObeyTabs\relax + +\def\FV@TrueTab{% + \egroup + \@tempdima=\FV@ObeyTabSize sp\relax + \@tempcnta=\wd\FV@TabBox + \advance\@tempcnta\FV@@ObeyTabSize\relax + \divide\@tempcnta\@tempdima + \multiply\@tempdima\@tempcnta + \advance\@tempdima-\wd\FV@TabBox + \setbox\FV@TabBox=\hbox\bgroup + \unhbox\FV@TabBox\kern\@tempdima\hbox to\z@{\hss\FV@TabChar}} + +\define@booleankey{FV}{obeytabs}% + {\let\FV@ObeyTabsInit\FV@@ObeyTabsInit}% + {\let\FV@ObeyTabsInit\relax} + +\fvset{obeytabs=false} + +% \FancyVerbFormatCom + +\define@key{FV}{formatcom}[]{\def\FancyVerbFormatCom{#1\relax}} +\define@key{FV}{formatcom*}{% + \expandafter\def\expandafter\FancyVerbFormatCom\expandafter{% + \FancyVerbFormatCom#1\relax}} + +\fvset{formatcom} + +\def\FancyVerbFormatLine#1{\FV@ObeyTabs{#1}} + +% LIST ENVIRONMENTS: + +% Some parameters: + +\define@key{FV}{xleftmargin}{\def\FV@XLeftMargin{#1}} +\let\FV@XLeftMargin\z@ + +\define@key{FV}{xrightmargin}{\def\FV@XRightMargin{#1}} +\let\FV@XRightMargin\z@ + +\define@booleankey{FV}{resetmargins}% + {\let\if@FV@ResetMargins\iftrue} + {\let\if@FV@ResetMargins\iffalse} + +\fvset{resetmargins=false} + +\define@key{FV}{listparameters}{\def\FV@ListParameterHook{#1}} +\def\FV@ListParameterHook{} + +\define@key{FV}{hfuzz}{% + \@tempdima=#1\relax + \edef\FancyVerbHFuzz{\number\@tempdima sp}} + +\fvset{hfuzz=2pt} + +\define@booleankey{FV}{samepage}% + {\def\FV@InterLinePenalty{\interlinepenalty\@M}}% + {\let\FV@InterLinePenalty\relax} + +\fvset{samepage=false} + +% Lists: + +% \FV@List{} is a rewriting of \list{}{}\item[]. +% The rewrite gives me more control. +% I might not get the vertical spacing exactly the same, but it +% is more likely that it will get better than worse. +% +% The verbatim environment consists of a series of \hbox's inserted in +% vertical mode. +% +% We need to take care of the following: +% +% leftmargin +% rightmargin +% topskip +% botskip +% toppenalty +% botpenalty +% interlinepenalties +% +% Note: A verbatim environment immediately after an \item starts on +% the same line as the \item's label, unless we reset margins. +% The user can instead have the environment start on a new +% line by inserting `\ ' between \item and the environment. + +\def\FV@List#1{% + \begingroup + \FV@UseKeyValues + \FV@LeaveVMode + \if@inlabel\else\setbox\@labels=\box\voidb@x\fi + \FV@ListNesting{#1}% + \FV@ListParameterHook + \FV@ListVSpace + \FV@SetLineWidth + \FV@InterLinePenalty + \let\FV@ProcessLine\FV@ListProcessLine@i + \FV@CatCodes + \FV@FormattingPrep + \FV@ObeyTabsInit + \FV@BeginListFrame} + +% Cases where we need to leave vmode: +% - After an in-line section (\if@noskipsec=T). +% - After an \item command, if we reset margins. +% Then we end \vmode, using @noparlist as a flag if in vmode. +% (Not the usual meaning of @noparlist.) + +\def\FV@LeaveVMode{% + \if@noskipsec + \leavevmode + \else + \if@FV@ResetMargins\if@inlabel\leavevmode\fi\fi + \fi + \ifvmode\@noparlisttrue\else\@noparlistfalse\unskip\par\fi} + +\def\FV@ListNesting#1{% + \if@FV@ResetMargins + \@listdepth=\z@ + \else + \ifnum\@listdepth>5\relax + \@toodeep + \else + \advance\@listdepth\@ne + \fi + \fi + \rightmargin\z@ + \csname @list\romannumeral\the\@listdepth\endcsname + \ifnum#1=\z@ + \rightmargin\z@ + \leftmargin\z@ + \fi} + +% \FV@ListVSpace contains selected parts of \@trivlist and \@item. +% Here are the cases: +% +% VMODE NOT IN LABEL OR AFTER @NOBREAK: +% = \topsep + \partopsep + \parskip +% = \topsep + \partopsep +% = \@beginparpenalty +% = \@endparpenalty + +% VMODE IN LABEL: +% = \parskip % Expected anyway. +% = \topsep + \partopsep % Omitted in LaTeX--a bug? +% = None +% = \@endparpenalty % Ditto. + +% VMODE AFTER @NOBREAK: +% = \parskip +% = \topsep + \partopsep +% = None +% = \@endparpenalty + +% HMODE: +% = \topsep + \parskip +% = \topsep +% = \@beginparpenalty +% = \@endparpenalty +% +% Notes: +% - Except when in label or after nobreak, \parskip is added with +% \addvspace, so that net space is: +% MAX{\topsep (+\partopsep) + \parskip , \lastskip } +% (The usual \@item works the same way.) +% - \parskip is added afterwards by a new paragraph, if any. +% - == \@topsepadd + +\def\FV@ListVSpace{% + \@topsepadd\topsep + \if@noparlist\advance\@topsepadd\partopsep\fi + \if@inlabel + \vskip\parskip + \else + \if@nobreak + \vskip\parskip + \clubpenalty\@M + \else + \addpenalty\@beginparpenalty + \@topsep\@topsepadd + \advance\@topsep\parskip + \addvspace\@topsep + \fi + \fi + \global\@nobreakfalse + \global\@inlabelfalse + \global\@minipagefalse + \global\@newlistfalse} + +% \leftmargin := totalleftmargin +% \rightmargin := totalrightmargin +% \@totalleftmargin := totalleftmargin of enclosing environment. + +\def\FV@SetLineWidth{% + \if@FV@ResetMargins\else + \advance\leftmargin\@totalleftmargin + \fi + \advance\leftmargin\FV@XLeftMargin\relax + \advance\rightmargin\FV@XRightMargin\relax + \linewidth\hsize + \advance\linewidth-\leftmargin + \advance\linewidth-\rightmargin + \hfuzz\FancyVerbHFuzz\relax} + +% We have to insert the right interline penalties (\interlinepenalty, +% \clubpenalty, \widowpenalty). We could process the environment +% as one long paragraph and let TeX insert the penalties, but this +% might cause problems for a very long environment. +% +% Line 1 : Insert \@labels (maybe) plus current_line +% Line 2 : Save current line +% Line 3 : penalty = interline + club ; Insert last line ; Save current line. +% Line 4 : penalty = interline ; Insert last line ; Save current line. +% +% Then at the end: +% Next line = 1 : Add null line. +% Next line = 2 : Nothing. +% Next line = 3 : penalty = interline + club + widow ; Insert last line. +% Next line = 4 : penalty = interline + widow ; Insert last line. + +\def\FV@ListProcessLine#1{% + \hbox to \hsize{% + \kern\leftmargin + \hbox to \linewidth{% + \FV@LeftListNumber + \FV@LeftListFrame + \FancyVerbFormatLine{#1}\hss + \FV@RightListFrame}% + \hss}} + +\def\FV@ListProcessLine@i#1{% + \hbox{% + \ifvoid\@labels\else + \hbox to \z@{\kern\@totalleftmargin\box\@labels\hss}% + \fi + \FV@ListProcessLine{#1}}% + \let\FV@ProcessLine\FV@ListProcessLine@ii} + +\def\FV@ListProcessLine@ii#1{% + \setbox\@tempboxa=\FV@ListProcessLine{#1}% + \let\FV@ProcessLine\FV@ListProcessLine@iii} + +\def\FV@ListProcessLine@iii#1{% + {\advance\interlinepenalty\clubpenalty\penalty\interlinepenalty}% + \box\@tempboxa + \setbox\@tempboxa=\FV@ListProcessLine{#1}% + \let\FV@ProcessLine\FV@ListProcessLine@iv} + +\def\FV@ListProcessLine@iv#1{% + \penalty\interlinepenalty + \box\@tempboxa + \setbox\@tempboxa=\FV@ListProcessLine{#1}}% + +\def\FV@EndList{% + \FV@ListProcessLastLine + \FV@EndListFrame + \@endparenv + \endgroup + \@endpetrue} + +\def\FV@ListProcessLastLine{% + \ifx\FV@ProcessLine\FV@ListProcessLine@iv + {\advance\interlinepenalty\widowpenalty\penalty\interlinepenalty}% + \box\@tempboxa + \else + \ifx\FV@ProcessLine\FV@ListProcessLine@iii + {\advance\interlinepenalty\widowpenalty + \advance\interlinepenalty\clubpenalty + \penalty\interlinepenalty}% + \box\@tempboxa + \else + \ifx\FV@ProcessLine\FV@ListProcessLine@i + \FV@Error{Empty verbatim environment}{}% + \FV@ProcessLine{}% + \fi + \fi + \fi} + +% Verbatim environment: + +\def\FV@VerbatimBegin{\FV@List\z@} +\def\FV@VerbatimEnd{\FV@EndList} + +\def\FVB@Verbatim{\FV@VerbatimBegin\FV@Scan} +\def\FVE@Verbatim{\FV@VerbatimEnd} + +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{} + +% With \UseVerbatim, we have to take care of some of the things +% \end{} would do. + +\def\FV@UseVerbatim#1{% + \FV@VerbatimBegin#1\FV@VerbatimEnd + \@doendpe\global\@ignorefalse\ignorespaces} + +\def\VerbatimInput{\FV@Command{}{VerbatimInput}} +\def\FVC@VerbatimInput#1{\FV@UseVerbatim{\FV@Input{#1}}} + +% LVerbatim environment: + +\def\FV@LVerbatimBegin{\FV@List\@ne} +\def\FV@LVerbatimEnd{\FV@EndList} + +\def\FVB@LVerbatim{\FV@LVerbatimBegin\FV@Scan} +\def\FVE@LVerbatim{\FV@LVerbatimEnd} + +\DefineVerbatimEnvironment{LVerbatim}{LVerbatim}{} + +\def\FV@LUseVerbatim#1{% + \FV@LVerbatimBegin#1\FV@LVerbatimEnd + \@doendpe\global\@ignorefalse\ignorespaces} + +\def\LVerbatimInput{\FV@Command{}{LVerbatimInput}} +\def\FVC@LVerbatimInput#1{\FV@LUseVerbatim{\FV@Input{#1}}} + +% Frames: + +\def\FV@Frame@none{% + \let\FV@BeginListFrame\relax + \let\FV@LeftListFrame\relax + \let\FV@RightListFrame\relax + \let\FV@EndListFrame\relax} + +\def\FV@Frame@single{% + \let\FV@BeginListFrame\FV@BeginListFrame@Single + \let\FV@LeftListFrame\FV@LeftListFrame@Single + \let\FV@RightListFrame\FV@RightListFrame@Single + \let\FV@EndListFrame\FV@EndListFrame@Single} + +\def\FV@Frame@lines{% + \let\FV@BeginListFrame\FV@BeginListFrame@Lines + \let\FV@LeftListFrame\relax + \let\FV@RightListFrame\relax + \let\FV@EndListFrame\FV@EndListFrame@Lines} + +\def\FV@Frame@topline{% + \let\FV@BeginListFrame\FV@BeginListFrame@Lines + \let\FV@LeftListFrame\relax + \let\FV@RightListFrame\relax + \let\FV@EndListFrame\relax} + +\def\FV@Frame@bottomline{% + \let\FV@BeginListFrame\relax + \let\FV@LeftListFrame\relax + \let\FV@RightListFrame\relax + \let\FV@EndListFrame\FV@EndListFrame@Lines} + +\def\FV@BeginListFrame@Single{% + \lineskip\z@ + \baselineskip\z@ + \ifx\FancyVerbFillColor\relax + \let\FV@FrameFillLine\relax + \else + \@tempdima\FV@FrameRule\relax + \multiply\@tempdima-\tw@ + \edef\FV@FrameFillLine{% + {\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}% + \kern-\number\@tempdima sp}}% + \fi + \FV@SingleFrameLine + \penalty\@M + \FV@SingleFrameSep + \penalty\@M} + +\def\FV@SingleFrameLine{% + \hbox to\z@{% + \kern\leftmargin + \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV@FrameRule}% + \hss}} + +\def\FV@BeginListFrame@Lines{% + \begingroup + \lineskip\z@skip + \baselineskip\z@skip + \FV@SingleFrameLine + \kern\FV@FrameSep\relax + \endgroup}% + +\def\FV@EndListFrame@Lines{% + \begingroup + \baselineskip\z@skip + \kern\FV@FrameSep\relax + \FV@SingleFrameLine + \endgroup} + +\def\FV@SingleFrameSep{% + \hbox to \z@{% + \kern\leftmargin + \hbox to\linewidth{% + \FancyVerbRuleColor{% + \vrule\@width\FV@FrameRule\relax + \ifx\FancyVerbFillColor\relax + \hfil + \else + {\FancyVerbFillColor\leaders\hrule\@height\FV@FrameSep\hfil}% + \fi + \vrule\@width\FV@FrameRule\relax}}% + \hss}} + +\def\FV@LeftListFrame@Single{% + \strut + {\FancyVerbRuleColor{\vrule \@width\FV@FrameRule}}% + \FV@FrameFillLine + \kern\FV@FrameSep} + +\def\FV@RightListFrame@Single{% + \kern\FV@FrameSep + {\noexpand\leavevmode\FancyVerbRuleColor{\vrule\@width\FV@FrameRule}}} + +\def\FV@EndListFrame@Single{% + \penalty\@M + \FV@SingleFrameSep + \penalty\@M + \FV@SingleFrameLine} + +\define@key{FV}{framerule}{% + \@tempdima=#1\relax + \edef\FV@FrameRule{\number\@tempdima sp\relax}} +\def\KV@FV@framerule@default{\let\FV@FrameRule\fboxrule} + +\define@key{FV}{framesep}{% + \@tempdima=#1\relax + \edef\FV@FrameSep{\number\@tempdima sp\relax}} +\def\KV@FV@framesep@default{\let\FV@FrameSep\fboxsep} + +\fvset{framerule,framesep} + +\define@key{FV}{rulecolor}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@None + \let\FancyVerbRuleColor\relax + \else + \let\FancyVerbRuleColor\@tempa + \fi} + +\define@key{FV}{fillcolor}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@None + \let\FancyVerbFillColor\relax + \else + \let\FancyVerbFillColor\@tempa + \fi} + +\fvset{rulecolor=none,fillcolor=none} + +\def\FV@Frame@double{% + \let\FV@FrameBegin\FV@FrameBegin@double + \let\FV@FrameLine\FV@FrameLine@double + \let\FV@FrameEnd\FV@FrameEnd@double} + +\define@key{FV}{frame}[none]{% + \@ifundefined{FV@Frame@#1}% + {\FV@Error{Frame style `#1' not defined.}\FV@eha}% + {\@nameuse{FV@Frame@#1}}} + +\fvset{frame=none} + +% Code line numbers: + +\newcounter{FancyVerbLine} + +\define@key{FV}{firstnumber}[auto]{% + \def\@tempa{#1}\def\@tempb{auto}% + \ifx\@tempa\@tempb + \def\FV@SetLineNo{% + \c@FancyVerbLine\FV@CodeLineNo + \advance\c@FancyVerbLine\m@ne}% + \else + \def\@tempb{last}% + \ifx\@tempa\@tempb + \let\FV@SetLineNo\relax + \else + \def\FV@SetLineNo{\c@FancyVerbLine#1}% + \fi + \fi} + +\def\FV@StepLineNo{% + \FV@SetLineNo + \def\FV@StepLineNo{\refstepcounter{FancyVerbLine}}% + \FV@StepLineNo} + +\def\theFancyVerbLine{\rmfamily\tiny\arabic{FancyVerbLine}} + +\define@key{FV}{numbers}[none]{% + \@ifundefined{FV@Numbers@#1}% + {\FV@Error{Numbers style `#1' not defined.}\FV@eha}% + {\@nameuse{FV@Numbers@#1}}} + +\def\FV@Numbers@none{\let\FV@LeftListNumber\relax} +\def\FV@Numbers@left{% + \def\FV@LeftListNumber{\hbox to\z@{% + \hss\theFancyVerbLine\kern\FV@NumberSep}}} + +\define@key{FV}{numbersep}{% + \@tempdima=#1\relax + \edef\FV@NumberSep{\number\@tempdima sp\relax}} + +\fvset{numbers=none,numbersep=12pt,firstnumber=auto} + +%% BVERBATIM: + +\def\FV@BVerbatimBegin{% + \begingroup + \FV@UseKeyValues + \FV@BeginVBox + \let\FV@ProcessLine\FV@BProcessLine + \FV@FormattingPrep + \FV@ObeyTabsInit}% +\def\FV@BVerbatimEnd{\FV@EndVBox\endgroup} + +\def\FV@BeginVBox{% + \leavevmode + \hbox\ifx\FV@boxwidth\relax\else to\FV@boxwidth\fi\bgroup + \ifcase\FV@baseline\vbox\or\vtop\or$\vcenter\fi\bgroup} +\def\FV@EndVBox{\egroup\ifmmode$\fi\hfil\egroup} + +\define@key{FV}{boxwidth}{% + \def\@tempa{#1}\def\@tempb{auto}% + \ifx\@tempa\@tempb + \let\FV@boxwidth\relax + \else + \@tempdima=#1\relax + \edef\FV@boxwidth{\number\@tempdima sp}% + \fi} +\def\KV@FV@boxwidth@default{\let\FV@boxwidth\relax} + +\define@key{FV}{baseline}{% + \if t#1\@empty\let\FV@baseline\@ne\else + \if c#1\@empty\let\FV@baseline\tw@\else\let\FV@baseline\z@\fi + \fi} + +\fvset{baseline=b,boxwidth} + +\def\FV@BProcessLine#1{\hbox{\FancyVerbFormatLine{#1}}} + +\def\FVB@BVerbatim{\FV@BVerbatimBegin\FV@Scan} +\def\FVE@BVerbatim{\FV@BVerbatimEnd} + +\DefineVerbatimEnvironment{BVerbatim}{BVerbatim}{} + +\def\FV@BUseVerbatim#1{\FV@BVerbatimBegin#1\FV@BVerbatimEnd} + +\def\BVerbatimInput{\FV@Command{}{BVerbatimInput}} +\def\FVC@BVerbatimInput#1{\FV@BUseVerbatim{\FV@Input{#1}}} + +%% SAVE VERBATIM: + +\def\SaveVerbatim{\FV@Environment{}{SaveVerbatim}} + +\def\FVB@SaveVerbatim#1{% + \@bsphack + \begingroup + \FV@UseKeyValues + \def\SaveVerbatim@Name{#1}% + \gdef\FV@TheVerbatim{}% + \def\FV@ProcessLine##1{% + \expandafter\gdef\expandafter\FV@TheVerbatim\expandafter{% + \FV@TheVerbatim\FV@ProcessLine{##1}}}% + \gdef\FV@TheVerbatim{}% + \FV@Scan} +\def\FVE@SaveVerbatim{% + \expandafter\global\expandafter\let + \csname FV@SV@\SaveVerbatim@Name\endcsname\FV@TheVerbatim + \endgroup\@esphack} + +\DefineVerbatimEnvironment{SaveVerbatim}{SaveVerbatim}{} + +\def\FV@CheckIfSaved#1#2{% + \@ifundefined{FV@SV@#1}% + {\FV@Error{No verbatim text has been saved under name `#1'}\FV@eha}% + {#2{\csname FV@SV@#1\endcsname}}} + +\def\UseVerbatim{\FV@Command{}{UseVerbatim}} +\def\FVC@UseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@UseVerbatim}} + +\def\LUseVerbatim{\FV@Command{}{LUseVerbatim}} +\def\FVC@LUseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@LUseVerbatim}} + +\def\BUseVerbatim{\FV@Command{}{BUseVerbatim}} +\def\FVC@BUseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@BUseVerbatim}} + + +% VERBATIM OUT: + +\newwrite\FV@OutFile + +\def\VerbatimOut{\FV@Environment{}{VerbatimOut}} + +\DefineVerbatimEnvironment{VerbatimOut}{VerbatimOut}{} + +\def\FV@DefineTabOut{% + \def\FV@Tab{}% + \@tempcnta=\FancyVerbTabSize\relax + \loop\ifnum\@tempcnta>\z@ + \edef\FV@Tab{\FV@Tab\space}% + \advance\@tempcnta\m@ne + \repeat} + +%% SHORT VERBATIM: + +% \SaveVerb +% +% Note "\outer\def^^M{}". This is so that verbatim commands report an +% error when encountering an end-of-line, rather than scanning to +% the end of the file each time there is a missing verbatim delimiter. +% +% If scanning fails (and thus TeX ignores \FV@GetVerb), #1 is defined +% to be empty, a group is ended, but \FancyVerbAfterSave is not invoked. + +\def\SaveVerb{\FV@Command{}{SaveVerb}} + +\begingroup +\catcode`\^^M=\active% +\gdef\FVC@SaveVerb#1#2{% + \@namedef{FV@SV@#1}{}% + \begingroup% + \FV@UseKeyValues% + \FV@CatCodes% + \outer\def^^M{\FV@EOL}% + \global\let\@tempg\FancyVerbAfterSave% + \catcode`#2=12% + \def\@tempa{\def\FancyVerbGetVerb####1####2}% + \expandafter\@tempa\string#2{\endgroup\@namedef{FV@SV@#1}{##2}\@tempg}% + \FancyVerbGetVerb\FV@EOL}% +\endgroup + +\def\FV@EOL{% + \endgroup + \FV@Error% + {Could not find the end delimiter of a short verb command}% + {You probably just forget the end delimiter of a \string\Verb\space or + \string\SaveVerb^^J% + command, or you broke the literal text across input lines.^^J% + Hit to procede.}} + +\define@key{FV}{aftersave}{\def\FancyVerbAfterSave{#1}} +\fvset{aftersave=} + +\def\FV@UseVerb#1{\mbox{\FV@UseKeyValues\FV@FormattingPrep#1}} + +\def\UseVerb{\FV@Command{}{UseVerb}} +\def\FVC@UseVerb#1{% + \@ifundefined{FV@SV@#1}% + {\FV@Error{Short verbatim text never saved to name `#1'}\FV@eha}% + {\FV@UseVerb{\@nameuse{FV@SV@#1}}}} + +\def\Verb{\FV@Command{}{Verb}} + +\begingroup +\catcode`\^^M=\active% +\gdef\FVC@Verb#1{% + \begingroup% + \FV@UseKeyValues% + \FV@FormattingPrep% + \FV@CatCodes% + \outer\def^^M{}% + \catcode`#1=12% + \def\@tempa{\def\FancyVerbGetVerb####1####2}% + \expandafter\@tempa\string#1{\mbox{##2}\endgroup}% + \FancyVerbGetVerb\FV@EOL}% +\endgroup + +\def\DefineShortVerb{\FV@Command{}{DefineShortVerb}} +\def\FVC@DefineShortVerb#1{% + \@ifundefined{FV@CC@\string#1}% + {\FVC@@DefineShortVerb#1}% + {\FV@Error{`\expandafter\@gobble\string#1' is already a short + verb character.}\FV@eha}} + +\def\FVC@@DefineShortVerb#1{% + \begingroup + \lccode`\~=`#1% + \lowercase{\gdef\@tempg{\edef~}\global\let\@temph~}% + \endgroup + \expandafter\let\csname FV@AC@\string#1\endcsname\@temph + \expandafter\edef\csname FV@CC@\string#1\endcsname{\the\catcode`#1}% + \expandafter\let\csname FV@KV@\string#1\endcsname\FV@KeyValues + \@tempg{% + \let\noexpand\FV@KeyValues\expandafter\noexpand + \csname FV@KV@\string#1\endcsname + \noexpand\FVC@Verb\expandafter\@gobble\string#1}% + \expandafter\def\expandafter\dospecials\expandafter{\dospecials\do#1}% + \expandafter\def\expandafter\@sanitize\expandafter{\@sanitize\@makeother#1}% + \catcode`#1=\active}% + +\def\UndefineShortVerb#1{% + \@ifundefined{FV@CC@\string#1}% + {\FV@Error{`\expandafter\@gobble\string#1' is not a short + verb character}\FV@eha}% + {\FV@UndefineShortVerb#1}} +\def\FV@UndefineShortVerb#1{% + \catcode`#1=\csname FV@CC@\string#1\endcsname + \begingroup + \lccode`\~=`#1% + \lowercase{\gdef\@tempg{\let~}}% + \endgroup + \expandafter\@tempg\csname FV@AC@\string#1\endcsname + \def\@tempa##1\do#1##2\@nil##3\@nil##4\@@nil{##3\def\dospecials{##1##2}\fi}% + \expandafter\@tempa\dospecials\@nil\iftrue\@nil\do#1\@nil\iffalse\@nil\@@nil + \def\@tempa##1\@makeother#1##2\@nil##3\@nil##4\@@nil{% + ##3\def\@sanitize{##1##2}\fi}% + \expandafter\@tempa\@sanitize\@nil\iftrue\@nil\do#1\@nil\iffalse\@nil\@@nil} + +% Moving verbatim. Need to worry about about using separate identifier +% for this class of verbatim, and + +\def\SaveMVerb{\FV@Command{}{SaveMVerb}} + +\begingroup +\catcode`\^^M=\active% +\gdef\FVC@SaveMVerb#1#2{% + \@ifundefined{FV@SVM@#1}{}% + {\FV@Error{Moving verbatim name `#1' already used}% + {I will overwrite the old definition. Hit to continue.}}% + \global\@namedef{FV@SVM@#1}{}% + \begingroup% + \let\FV@SavedKeyValues\FV@KeyValues% + \FV@UseKeyValues% + \FV@CatCodes% + \outer\def^^M{}% + \global\let\@tempg\FancyVerbAfterSave% + \catcode`#2=12% + \def\@tempa{\def\FancyVerbGetVerb####1####2}% + \expandafter\@tempa\string#2{% + \if@filesw + \FV@DefineWhiteSpace% + \let\FV@Space\space% + \let\FV@Tab\space% + \FV@MakeUnActive% + \let\protect\string + \immediate\write\@auxout{% + \noexpand\SaveGVerb[\FV@SavedKeyValues]{#1}\string#2##2\string#2}% + \fi + \endgroup% + \@namedef{FV@SV@#1}{##2}% + \@tempg}% + \FancyVerbGetVerb\FV@EOL}% +\endgroup + +\def\SaveGVerb{\FV@Command{}{SaveGVerb}} + +\begingroup +\catcode`\^^M=\active% +\gdef\FVC@SaveGVerb#1#2{% + \global\@namedef{FV@SVG@#1}{}% + \begingroup% + \FV@UseKeyValues% + \FV@CatCodes% + \outer\def^^M{}% + \catcode`#2=12% + \def\@tempa{\def\FancyVerbGetVerb####1####2}% + \expandafter\@tempa\string#2{\endgroup\global\@namedef{FV@SVG@#1}{##2}}% + \FancyVerbGetVerb\FV@EOL}% +\endgroup + +\def\UseMVerb{\protect\pUseMVerb} + +\def\pUseMVerb{\FV@Command{}{pUseMVerb}} + +\def\FVC@pUseMVerb#1{% + \expandafter\ifx \csname FV@SVM@#1\endcsname\relax + \expandafter\ifx \csname FV@SVG@#1\endcsname\relax + \@warning{Moving verbatim text not defined for name `#1'}\FV@eha + {\bf ??}% + \else + \FV@UseVerb{\@nameuse{FV@SVG@#1}}% + \fi + \else + \FV@UseVerb{\@nameuse{FV@SVM@#1}}% + \fi} + +\expandafter\ifx\csname documentclass\endcsname\relax + + \def\lrbox#1{% + \edef\@tempa{% + \endgroup + \setbox#1\hbox{% + \begingroup\aftergroup}% + \def\noexpand\@currenvir{\@currenvir}}% + %\def\noexpand\@currenvline{\on@line}}% + \@tempa + \@endpefalse + \bgroup + \ignorespaces} + \def\endlrbox{\unskip\egroup} + +\fi + +\@input{fancyvrb.rc} + +\endinput +\define@key{FV}{noligs}{% + \def\FV@ActiveLigs{}% + \def\FV@DefineLigs{}% + \@tfor\@tempa:=#1\do{% + {\lccode`\~=`#1\relax\lowercase{\gdef\@tempg{~}}}% + \expandafter\FV@addtonoligs\@tempg}} +\def\FV@addtonoligs#1{% + \expandafter\def\expandafter\FV@ActiveLigs\expandafter{% + \FV@ActiveLigs\catcode`#1=\active}% + \expandafter\def\expandafter\FV@DefineLigs\expandafter{% + \FV@DefineLigs\edef#1{{\string#1}}}} + +%\fvset{noligs={>,-}} +%\fvset{suppressligs=\>} +%\fvset{suppressligs=\<} + +%% END fancyvrb.sty + +Error messages to void: + +\FV@CheckBadBegin +\FV@CheckBadEnd + + + +\def\FV@Error#1#2{% + \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}% + \typeout{% + ^^J** FancyVerb Error:\space\space + Type \space H \space for immediate help. **}% + \errmessage{#1^^J}} + diff --git a/usergrps/uktug/baskervi/7_1/lout.bbl b/usergrps/uktug/baskervi/7_1/lout.bbl new file mode 100644 index 0000000000..d49845d99f --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/lout.bbl @@ -0,0 +1,134 @@ +\begin{thebibliography}{10} + +\bibitem{adobe1990ps} +{Adobe Systems, Inc}. +\newblock {\em PostScript Language Reference Manual, Second Edition}. +\newblock Addison-Wesley, 1990. + +\bibitem{adobe1995frame} +{Adobe Systems, Inc}. +\newblock {\em Using FrameMaker+SGML}. +\newblock Adobe Systems, Inc., 1995. + +\bibitem{apple1996quickdraw} +{Apple Computer, Inc}. +\newblock {\em Quickdraw GX}. +\newblock 1996. +\newblock available as \url{http://support.info.apple.com/gx/gx.html}. + +\bibitem{brooks1991lilac} +Kenneth~P. Brooks. +\newblock Lilac: a two-view document editor. +\newblock {\em IEEE Computer}, pages 7--19, 1991. + +\bibitem{ettrich1996lyx} +Matthias Ettrich. +\newblock {\em Lyx}. +\newblock 1996. +\newblock available as + \url{http://www-ti.informatik.uni-tuebingen.de/~ettrich/}. + +\bibitem{foxley1987music} +Eric Foxley. +\newblock Music --- a language for typesetting music scores. +\newblock {\em Software---Practice and Experience}, 17:485--502, 1987. + +\bibitem{furuta1982survey} +Richard Furuta, Jeffrey Scofield, and Alan Shaw. +\newblock Document formatting systems: survey, concepts, and issues. +\newblock {\em Computing Surveys}, 14:417--472, 1982. + +\bibitem{goldfarb1990sgml} +Charles~F. Goldfarb. +\newblock {\em The SGML Handbook}. +\newblock Oxford University Press, 1990. +\newblock ISBN 0-19-853737-9. + +\bibitem{goldfarb1991hytime} +Charles~F. Goldfarb. +\newblock Hytime: a standard for structured hypermedia interchange. +\newblock {\em IEEE Computer}, 24:81--84, 1991. + +\bibitem{interleaf1996} +{Interleaf, Inc}. +\newblock {\em Interleaf 6 for Motif: next generation document creation, + composition and assembly}. +\newblock 1996. +\newblock available as \url{http://www.interleaf.com/i6motifds.html}. + +\bibitem{kernighan1982pic} +Brian~W. Kernighan. +\newblock Pic --- a language for typesetting graphics. +\newblock {\em Software--Practice and Experience}, 12:1--21, 1982. + +\bibitem{kernighan1989retro} +Brian~W. Kernighan. +\newblock The unix system document preparation tools: a retrospective. +\newblock {\em AT\&T Technical Journal}, 68:5--20, 1989. + +\bibitem{kingston1993lout.design} +Jeffrey~H. Kingston. +\newblock The design and implementation of the lout document formatting + language. +\newblock {\em Software--Practice and Experience}, 23:1001--1041, 1993. + +\bibitem{kingston1995lout.program} +Jeffrey~H. Kingston. +\newblock {\em The Lout Document Formatting System (Version 3)}. +\newblock 1995. +\newblock available as \url{ftp://ftp.cs.usyd.edu.au/jeff/lout/}. + +\bibitem{knuth1981bpl} +D.~E. Knuth and M.~E. Plass. +\newblock Breaking paragraphs into lines. +\newblock {\em Software--Practice and Experience}, 11:1119--1184, 1981. + +\bibitem{knuth1984tex} +Donald~E. Knuth. +\newblock {\em The {\TeX}Book}. +\newblock Addison-Wesley, 1984. + +\bibitem{krishnamurthy1995unix} +Balachander Krishnamurthy, editor. +\newblock {\em Practical Reusable UNIX Software}. +\newblock John Wiley, 1995. + +\bibitem{lamport1986latex} +Leslie Lamport. +\newblock {\em \LaTeX\ User's Guide and Reference Manual}. +\newblock Addison-Wesley, 1986. + +\bibitem{microsoft1996word} +{Microsoft, Inc.} +\newblock {\em Microsoft Word}. +\newblock Microsoft, Inc., 1996. +\newblock available as \url{http://www.microsoft.com/msword/}. + +\bibitem{ossanna1976troff} +Joseph~F. Ossanna. +\newblock ``nroff/troff'' user's manual. +\newblock Technical Report~54, Bell Laboratories, Murray Hill, NJ 07974, 1976. + +\bibitem{plass1981} +Michael~F. Plass. +\newblock {\em Optimal pagination techniques for automatic typesetting + systems}. +\newblock PhD thesis, Stanford, CA, 1981. + +\bibitem{reid1980scribe} +Brian~K. Reid. +\newblock A high-level approach to computer document production. +\newblock In {\em Proceedings of the 7th Symposium on the Principles of + Programming Languages (POPL), Las Vegas NV}, pages 24--31, 1980. + +\bibitem{winston1992} +P.~H. Winston. +\newblock {\em Artificial Intelligence}. +\newblock Addison-Wesley, third edition edition, 1992. + +\bibitem{vanwyk1980} +Christopher J.~Van Wyk. +\newblock {\em A language for typesetting graphics}. +\newblock PhD thesis, Stanford, CA, 1980. + +\end{thebibliography} diff --git a/usergrps/uktug/baskervi/7_1/lout.bib b/usergrps/uktug/baskervi/7_1/lout.bib new file mode 100644 index 0000000000..a5d9b7b764 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/lout.bib @@ -0,0 +1,228 @@ +@string{SPE="Software--Practice and Experience"} + +@Book{knuth1984tex, + Author={Donald E. Knuth }, + title={The {\TeX}Book }, + publisher={Addison-Wesley }, + year={1984 } +} +@Book{adobe1990ps, + key={Adobe}, + author={{Adobe Systems, Inc}}, + title={PostScript Language Reference Manual, Second Edition }, + publisher={Addison-Wesley }, + year={1990 } +} +@Book{adobe1995frame, + author={{Adobe Systems, Inc}}, + title={Using FrameMaker+SGML }, + publisher={Adobe Systems, Inc. }, + year={1995 } +} +@book{interleaf1996, + author={{Interleaf, Inc}}, + title={Interleaf 6 for Motif: next generation document +creation, composition and assembly }, + note={available as \url{http://www.interleaf.com/i6motifds.html}}, + year={1996 } +} +@techreport{ossanna1976troff, + author={Joseph F. Ossanna }, + title={``Nroff/Troff'' User's Manual }, + number={54 }, + institution={Bell Laboratories }, + address={Murray Hill, NJ 07974 }, + year={1976 } +} +@article{kernighan1982pic, + author={Brian W. Kernighan }, + title={PIC --- A language for typesetting graphics }, + Journal=SPE, + Volume={12 }, + Pages={1--21 }, + year={1982 } +} +@book{kingston1995lout.program, + author={Jeffrey H. Kingston }, + title={The Lout Document Formatting System (Version 3) }, + year={1995 }, + note={available as \url{ftp://ftp.cs.usyd.edu.au/jeff/lout/}} +} +@book{kingston1995lout.expert, + author={Jeffrey H. Kingston }, + title={An Expert's Guide to the Lout Document Formatting +System (Version 3) }, + institution={Basser Department of Computer Science }, + address={University of Sydney }, + year={1995 } +} +@book{kingston1995lout.user, + author={Jeffrey H. Kingston }, + title={A User's Guide to the Lout Document Formatting +System (Version 3) }, + institution={Basser Department of Computer Science }, + address={University of Sydney }, + year={1995 } +} + +@inproceedings{reid1980scribe, + Author={ Brian K. Reid }, + Title={ A High-Level Approach to Computer Document Production }, + booktitle={ Proceedings of the 7th Symposium on the Principles +of Programming Languages (POPL), Las Vegas NV }, + Pages={ 24--31 }, + Year={ 1980 } +} + +@article{kingston1993lout.design, + author={Jeffrey H. Kingston }, + title={The design and implementation of the Lout document +formatting language }, + journal=SPE, + volume={23 }, + pages= {1001--1041 }, + year={1993 } +} + + + +@article{brooks1991lilac, + author={Kenneth P. Brooks }, + title={Lilac: a two-view document editor }, + journal={IEEE Computer }, + pages= {7--19 }, + year={1991 } +} + +@article{furuta1982survey, + author={Richard Furuta and Jeffrey Scofield and Alan Shaw }, + title={Document formatting systems: survey, +concepts, and issues }, + journal={Computing Surveys }, + volume={14 }, + pages= {417--472 }, + year={1982 } +} + + +@book{lamport1986latex, + author={Leslie Lamport }, + title={\LaTeX\ User's Guide and Reference Manual }, + publisher={Addison-Wesley }, + year={1986 } +} + +@article{witten1982traps, + author={I. H. Witten and M. Bonham and E. Strong }, + title={On the power of traps and diversions in a +document preparation language }, + journal=SPE, + volume={12 }, + pages= {1119--1131 }, + year={1991 } +} + +@article{foxley1987music, + author={Eric Foxley }, + title={Music --- a language for typesetting music scores }, + journal={Software---Practice and Experience }, + volume={17 }, + pages= {485--502 }, + year={1987 } +} + +@phdthesis{vanwyk1980, + author={Christopher J. Van Wyk }, + title={A language for typesetting graphics }, + number={STAN-CS-80-803 }, + institution={Stanford University }, + address={Stanford, CA }, + year={1980 } +} + +@book{microsoft1996word, + author={{Microsoft, Inc.}}, + title={Microsoft Word }, + note={available as \url{http://www.microsoft.com/msword/}}, + publisher={Microsoft, Inc. }, + year={1996 } +} + +@book{ettrich1996lyx, + author={Matthias Ettrich }, + title={Lyx }, + note={available as +\url{http://www-ti.informatik.uni-tuebingen.de/~ettrich/}}, + year={1996 } +} + + + +@article{knuth1981bpl, + author={D. E. Knuth and M. E. Plass }, + title={Breaking paragraphs into lines }, + journal=SPE, + volume={11 }, + pages= {1119--1184 }, + year={1981 } +} + +@phdthesis{plass1981, + author={Michael F. Plass }, + title={Optimal pagination techniques for automatic typesetting +systems }, + publisher={Computer Science Department, Stanford University }, + address={Stanford, CA }, + year={1981 } +} + +@book{winston1992, + author={P. H. Winston }, + title={Artificial Intelligence }, + edition= {Third Edition }, + publisher={Addison-Wesley }, + year={1992 } +} + +@book{apple1996quickdraw, + author={{Apple Computer, Inc}}, + title={Quickdraw GX }, + note={available as \url{http://support.info.apple.com/gx/gx.html}}, + year={1996 } +} + +@article{goldfarb1991hytime, + author={Charles F. Goldfarb }, + title={HyTime: a standard for structured hypermedia interchange }, + journal={IEEE Computer }, + year={1991 }, + volume={24 }, + pages= {81--84 } +} + +@book{goldfarb1990sgml, + author={Charles F. Goldfarb }, + title={The SGML Handbook }, + publisher={Oxford University Press }, + year={1990 }, + Note={ISBN 0-19-853737-9 } +} + +@article{kernighan1989retro, + author={Brian W. Kernighan }, + title={The UNIX system document preparation tools: a retrospective }, + journal={AT\&T Technical Journal }, + volume={68 }, + year={1989 }, + pages= {5--20 } +} + + + +@book{krishnamurthy1995unix, + key={Krishnamurthy}, + editor={Balachander Krishnamurthy}, + title={Practical Reusable UNIX Software }, + publisher={John Wiley }, + year={1995 } +} \ No newline at end of file diff --git a/usergrps/uktug/baskervi/7_1/lout.tex b/usergrps/uktug/baskervi/7_1/lout.tex new file mode 100644 index 0000000000..abee52f059 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/lout.tex @@ -0,0 +1,696 @@ +\title{The Future of Document Formatting (Working Paper)} + +\begin{Article} + +\section{Abstract} +Document formatting systems have reached a plateau. Although existing +systems are being steadily enhanced, the next major step forward will +require a union of the best features of batch formatters, interactive +document editors, and page description languages. This paper draws +on its author's twelve years of experience designing, implementing, +and enhancing the Lout document formatting system to identify the +remaining problems in document formatting and explore some possible +solutions. + +\section{Introduction} + +Document formatting is one of the most widespread applications of +computers. Improvements in document formatting software and the +hardware on which it is based have revolutionized the production +of documents and enlarged our conception of what a document might be. + +Any attempt at this point to define `document' would run a risk of +being overtaken by events; already documents commonly include moving +images, sound, and dynamic updating as their sources of information +change in real time. It is perhaps safe to say that a document +is information arranged for presentation to a person; the information may +be called the \emph{content}, and the arrangement its \emph{layout}. Document +formatting is essentially about mapping content to layout, although functions +that do not exactly fit this definition, such as spelling and grammar +checking, or even creation and editing of content, are often found in +document formatting systems. + +Document formatting systems fall into two camps. In one camp are +the interactive document editors, ranging from word processing systems +such as Microsoft Word~\cite {microsoft1996word} up to desktop +publishing systems such as FrameMaker~\cite {adobe1995frame} and +Interleaf~\cite {interleaf1996}. These offer an editable screen image +of the document layout. In the other camp are the batch formatters, such as +troff~\cite {ossanna1976troff}, Scribe~\cite {reid1980scribe}, +\TeX~\cite {knuth1984tex}, and Lout~\cite {kingston1995lout.program}, +which process text files with embedded markup to produce non-editable +layout. In this paper the above names will stand for the entire +software family; \TeX\ includes \LaTeX~\cite {lamport1986latex}, +FrameMaker includes FrameMaker+SGML, and so on. Somewhere in between +are the hypertext~\cite {goldfarb1991hytime} net browsers, based on +HTML, which are primitive batch formatters offering limited interactivity +such as the ability to click on a hyperlink or fill in a form. + +All of these systems are being actively enhanced by their developers, +with new versions appearing regularly. For example, FrameMaker and +Interleaf have responded to the World-Wide Web phenomenon by adding +support for SGML~\cite {goldfarb1990sgml} and HTML. Nevertheless, +viewed from a wider perspective, they all appear to have reached a plateau, +in the sense that each has fundamental limitations that are not +likely to be overcome. For example, troff, \TeX\ and Lout are batch +formatters% (except for Lyx~\cite {ettrich1996lyx}) +and are not likely to become interactive; FrameMaker and Interleaf +are not as extensible as the batch formatters and, again, are not +likely to become so. + +One frequently hears arguments for or against these systems, but the +truth is that none of them is ideal yet all have something to offer +to the future of document formatting. What is needed now is a +synthesis of the best features of all of these systems. + +Papers which reflect on document formatting seem to be very rare. The +survey paper by Furuta, Scofield and Shaw~\cite {furuta1982survey} +is still well worth reading; Kernighan~\cite {kernighan1989retro} +reflects on the troff family; this author has described the design +and implementation of Lout~\cite {kingston1993lout.design}. But for +the most part one has to infer principles from the systems themselves, +and to look among the specialized applications such as music +formatting~\cite {foxley1987music}, graph +drawing \cite {kernighan1982pic, vanwyk1980, krishnamurthy1995unix}, +or non-European languages for requirements. + +This paper draws on its author's twelve years of experience in +designing, implementing, and enhancing the Lout document formatting +system, plus his more limited experience of the systems mentioned +above, to identify a set of requirements for a document formatting +system that would be a significant advance on all current systems, and +to explore their interactions. + + +\section{Requirements} + + +This section identifies the most significant requirements for a document +formatting system. Efficiency in space will cease to be a requirement +in the next few years. Efficiency in time is of course essential, as +are other requirements that apply to any large software system, such +as robustness, openness, and an interface that permits users of varying +levels of expertise to work productively. + +The other requirements are editability, extensibility, generality, and +optimality. Each of these requirements is discussed in turn in the sections +that follow, together with problems that it presents either alone +or in conjunction with previous requirements. + +It is not possible to prove that this list of requirements is complete, but +the author has carefully compared it against the features of most of the +document formatting systems listed earlier. The only major omission has +been the convenience features commonly found in interactive systems, +such as spelling and grammar checkers, input and output in a variety of +data formats, version control, and so on. These are valuable features, +but they have little to do with document formatting in the core sense +of mapping content to layout. + + +\subsection{Editability} + + +Editability, the ability to edit content while viewing layout, is the +strong suit of word processing and desktop publishing systems. Fairly +or not fairly, many users will not accept batch formatting. Also, the +batch formatting edit-format-view cycle is too slow when the +layout rule is `what pleases the eye,' such as in diagrams, or when +content must be altered to achieve a good layout, for example in +paragraphs containing long unbreakable inline equations. + +Interactive interfaces also have an advantage when the logical structure +does not follow a tree pattern. A good example is the editing of +graphs (the combinatorial kind). Users of an interactive system can +click on any pair of nodes to indicate that they are to be joined by +an edge. In a batch system, because the structure is not tree-like, +it is necessary for the user to invent names for the nodes and use the +names when creating edges, which is considerably more error-prone. By +contrast, equations do follow a tree pattern and so there is never any +need to attach names to subexpressions. + +Critics of interactive systems typically complain about the lack +of content structure in interactive editors, and also about their +weakness as editors compared with good text editors. Neither problem +would seem to be inherent, and in fact recent versions of high-end +document editors (FrameMaker+SGML for example) are addressing the +content structure problem. + +Openness to such auxiliary applications as free-text search and +retrieval and creation of documents by computer programs requires +that an archive format based on marked-up text be included in any +interactive system. It only takes a little care to make such a +format readable by humans. Thus an interactive system is automatically +also a batch system. + + +\subsection{Extensibility} + + +Extensibility in a document formatting system means the easy addition +of new features. It is the strong suit of batch formatters. For +example, this author's Lout system has no built-in knowledge of +equations, tables, or page layout (not even the concept of a page is +built-in); these are all added by means of packages of definitions +written in the Lout language, which is sufficiently high-level to +make them fairly easy to produce. + +Extensibility implies some initial kernel of primitive features upon +which the extensions are built. These would include horizontal and +vertical stacking, rotation, and so on. The most interesting such +feature is the mechanism for getting floating figures and footnotes +into their places: diversions and traps in troff, floating insertions +in \TeX, galleys in Lout. There must also be ways of combining and +packaging the primitives into features useful to the end user. + +Although a system not built on such a kernel is conceivable, it seems +scarcely possible to this author that such a system could supply all +the features demanded by end users. The list is so vast -- equations, +tables, graphs, chemical molecules, music, and so on -- that some +kind of high-level kernel language seems essential to achieving them +in any reasonable time and with any consistency, just as high-level +programming languages are essential to large software projects. + +Typography generates requirements for many features, such as hyphenation, +spacing and kerning, ligatures, and so on. A document formatting system +must produce good typography, because end users cannot be expected to +do it themselves. Many of these features are dependent on the current +language, and many English or European-oriented systems have failed to +be extensible to the typography of languages outside that sphere. A good +source of features needed in world-wide typography is Apple Computer's +QuickDraw GX~\cite {apple1996quickdraw}, although their approach of +implementing the features in C is relatively non-extensible since it +requires recompilation. + +When an interactive system is extended with a new feature, it must be +possible to continue editing in its vicinity. + +Ultimately, the layout of a document is a function of its content, so we +may identify features with functions. In extreme cases, such as optimal +layout, a function may take the entire document as its parameter; but +usually it has small, clearly delimited parameters as in +\[\mathit{ built\_up\_fraction(numerator, denominator)}\] +There may also be implicit parameters inherited from the context, such +as the current font size. + +It is quite reasonable to insist that within any editing session the +collection of features be immutable. Thus it is not essential to be +able to edit the definition of any function while viewing any +layout. In some cases, such as simple abbreviations, editing of +definitions is quite simple and could easily be supported. But more +complex functions, such as optimal layout or graph layout, are defined by +computer programs and so are not amenable to editing in this way. + +In a similar vein, it is correct to insist that those parts of the +layout originating within definitions be immutable. For example, the +bar in a built-up fraction should not be editable. This does not +preclude the addition of parameters to $\mathit{ built\_up\_fraction}$ to +control the appearance of the bar if desired, but to allow the user to +arbitrarily change the bar would produce a layout whose origin as a +built-up fraction must be lost. + +Thus, editability of features really only means editability of their +parameters. + +The most favourable case occurs when the function displays a parameter +in a form similar to that which it would have taken if it had been +entered outside the function. For example, $\mathit{ built\_up\_fraction}$ +displays both its parameters, changing their appearance only slightly +(by squeezing vertical spacing within them, and possibly changing the +font size). The user can edit such a parameter as though +it was not a parameter at all, and so (inductively) can edit parameters +of parameters and so on without limit. This is essentially how equation +editors work, and the Lilac system~\cite {brooks1991lilac} has +demonstrated it in an extensible framework, although using a kernel +language too incomplete to support the full range of features required +by users. A function may display a parameter more than once, in +which case editing one display must change them all. + +Preserving editability of displayed parameters is a difficult problem +when the function is implemented externally to the document editing +system. For example, if an external graph layout +program~\cite {krishnamurthy1995unix} is employed, +the result cannot be returned as a bitmap or PostScript file; rather +a set of coordinate pairs or something similar is required so that the +document formatter can place the nodes itself and hence understand +where they ended up. + +It has been suggested that a non-editable result is acceptable in such +cases if a click in the region it occupies signals the opening of a separate +editor that does undertand what is going on in that region. This is the +interactive equivalent of the preprocessor approach used by troff, and +it has the same drawbacks of lack of consistency, duplication of +features, and loss of generality (since even if every editor may +invoke every other editor, the communication channels between them typically +cannot convey such information as the current font, available space, and +so on). An architecture based on a single master editor with slave +non-interactive formatting programs is preferable. + +Parameters which are not displayed are a nightmare, and are responsible +for much of what is ad-hoc in existing interactive systems. Two main +approaches are in use. The first is the `style sheet' or `dialogue box' +approach, in which the user who selects a feature with non-displayed +parameters is presented with a box listing them and asked to supply +values: a font name, a location to place a figure, a style of +numbering, or whatever. This is the most general method, easily adapted +for use in an extensible system. It works particularly well when the +parameters have sensible default values, for then use of the box is +optional, and when they have only a small range of possible values, for +then the values may be displayed in a menu. + +Second is the `inference' method. Every parameter has some effect on +layout, otherwise it would be useless. So the user is offered a means +of manipulating layout, and the parameter's value is +inferred from it. For example, most editors permit an included graphic +to be clipped by clicking on its boundary and moving the mouse; scaling +and even rotation may be set by such means. Drawing programs allow +nodes to be dragged about in the drawing area. `Master pages' or +`template pages,' which allow the user to specify entire page layouts +involving many parameters simultaneously, demonstrate the value +of the inference method. + +The great drawback of the inference method is that an inference +interface has to be invented for every non-displayed parameter, and this is +difficult in an extensible system. However, it should at least be +possible to implement an inference interface for all suitable non-displayed +parameters of kernel features, such as the $\mathit{ boundary}$ parameter +of $\mathit{ clip()}$, and in cases such as +\begin{eqnarray*} +\lefteqn{ + \mathit{define\ user\_level\_feature}(\mathit{\dots,boundary,\dots}) = + }\\ +&& \dots \mathit{clip}(\mathit{\dots, boundary, \dots}) \dots +\end{eqnarray*} +to propagate this interface upwards from kernel features to user level +features. Then every user level feature that offers clipping as a +parameter, for example, will do so in the same way. + + +\subsection{Generality} + + +By generality we will mean the absence of illogical restrictions on the +use of features, either in the contexts in which they may be used, or +in the values that may be assigned to their parameters. (These are +formally the same thing, but the distinction is useful.) + +Examples of illogical context restrictions are extremely common in +document formatting systems. FrameMaker permits objects to be +rotated in certain contexts (when they are table entries, for example) +but not others. In troff it is very easy to include an equation within +a table, but very much harder to include a table in an equation. Not +all context restrictions are illogical, of course: a chapter should +not begin within a table, for example. + +Lack of context generality takes a severe toll, because it means that +implementation code, possibly highly sophisticated and with a great deal +to offer, is locked into a few limited contexts. For example, FrameMaker +has a very interesting equation editor, but there seems to be no hope +that its code can be used for such tasks as editing tree diagrams or +diagrams of chemical molecules, despite the technical similarities +among these tasks. + +Examples of illogical domain restrictions are particularly common among +geometrical functions. For example, \LaTeX\ will produce lines only at +certain fixed angles, and most systems only really understand rectangular +shapes. The PostScript page description language~\cite {adobe1990ps} +is far ahead of everything else in geometrical +generality: in PostScript, arbitrary curves (even disconnected ones) +made of lines, arcs, and Bezier curves may be drawn and filled, and +arbitrary combinations of rotation, scaling and translation may be +applied to arbitrarily complex fragments of documents lying within one page. + +The abandonment of rectangles in favour of arbitrary shapes would have +widespread beneficial effects if done in full generality. Text could fill +arbitrary shapes and run around arbitrary graphics. Fonts could be defined +(as they are in PostScript) as collections of arbitrary shapes, permitting +kerning of arbitrary pairs of glyphs, not just glyphs of equal font and +font size as at present, thus solving the subscript kerning problem. Line +spacing could reflect the true appearance of lines, not be crudely based on +the highest ascender and lowest descender. Optimizations based on bounding +boxes and caching should be able to solve the efficiency problems. + + +\subsection{Optimality} + + +By optimality is meant the ability to find the best possible layout for +the given content. An optimal layout is not necessarily a good layout, +because some documents have no good layout. Optimal layout thus cannot +remove the burden of rewriting content to achieve good layout, but in +practice it does greatly reduce that burden, and this is why it is has +been included. + +The idea that layout could be optimal seems to be due to Knuth and +Plass~\cite {knuth1981bpl}, who presented an algorithm for the optimal +breaking of a paragraph into lines which is used in Knuth's \TeX\ +system. Research work was done on more general optimality as +well~\cite {plass1981}, although this author is unsure how much of this +work was incorporated into \TeX. + +Suitably generalized, their paragraph breaking algorithm is as follows. The +first step is to deduce from the content a sequence of atomic formatting +steps. For example, the content +\[\mathit{The\ cat\ sat\ on\ the\ mat}\] +might have sequence +\[\begin{array}{l} +\mathit{create\_empty\_paragraph}\\ +\mathit{add\_word\_to\_paragraph(The)}\\ +\mathit{add\_word\_to\_paragraph(cat)}\\ +\dots +\end{array}\] +Every prefix of this sequence should define a legal document in its own +right; the whole sequence defines the document we wish to format. The +question as to what constitutes an atomic operation is not of fundamental +importance; one could choose to add one letter at a time, or an entire +paragraph. + +Define a \emph{badness} function from layouts to integers. Small values +indicate good layouts, large values indicate poor ones. There are no +restrictions on how this function is defined, except the practical one +of being computable in a reasonable time. + +Now there will be several ways in which each atomic step may be +performed. For example, +$\mathit{ add\_word\_to\_paragraph}$ could add its word to the end of the +current line, or it could start a new line, or it could even start a +new page or column. This leads to a tree structure: + +\begin{picture}(160,100) + +\put(45,40){\framebox(24,12)[l]{\ The}} + +\put(105,34){\framebox(22,22){}} +\put(105,40){\makebox(21,20)[l]{\ The}} +\put(105,30){\makebox(21,20)[l]{\ cat}} + +\put(105,77){\framebox(41,14)[l]{\ The cat}} + + +\put(105,0){\framebox(46,14)[l]{\ The $|$ cat}} + +\put(69,52){\vector(1,1){36}} +\put(69,46){\vector(1,0){36}} +\put(69,40){\vector(1,-1){36}} +\end{picture} + +\noindent +Each node is a layout of a partial document, each edge is one atomic +operation. + +The next atomic operation is applied to each leaf node, creating more +partial documents, and so on until the sequence ends and the leaf +nodes represent all layouts of the document of interest. The leaf node +of minimum badness is the optimal layout. + +This model can incorporate diverging operation sequences caused by +layout dependencies. For example, suppose the word \emph{abacus} has an +index entry attached to it, and that along one path in the tree this +word appears on page 99, while along another it appears on page +100. Then, in the sequence of operations defining the index, we will +find +%@ID @OneRow lines @Break @Eq { +\[ +\begin{array}{l} +\ldots\\ +\mathit{add\_word\_to\_paragraph(abacus)}\\ +\mathit{add\_word\_to\_paragraph(99)}\\ +\ldots +\end{array} +\] +along one path, and +%@ID @OneRow lines @Break @Eq { +\[ +\begin{array}{l} +\ldots\\ +\mathit{add\_word\_to\_paragraph(abacus)}\\ +\mathit{add\_word\_to\_paragraph(100)}\\ +\ldots +\end{array} +\] +along the other. However, forward references create cyclic dependencies +which cannot be handled in this way. For them, it seems to be necessary to +add operations which change the value of words that have already been +laid out, and to propagate the resulting changes until they die out. In +rare cases this method will cycle forever, but in practice it is probably +not difficult to avoid this problem using tricks such as refusing to +allow a revision to reduce the number of lines allocated to a paragraph. + +The algorithm as expressed has exponential time complexity. In practice, +however, the number of different layouts of a document that are close +enough to optimal to deserve examination is likely to be quite small. The +challenge, then, is to find ways to prune the layout tree severely while +retaining enough of it to discover, for example, that setting a sequence +of paragraphs tight or loose will avoid a bad page break further on. This +is an area needing detailed research; we can only glance at a few obvious +possibilities here. + +If the badness function is monotone increasing along every operation +sequence, then a bad node can only have worse successors, and this +justifies pruning its entire subtree. Monotonicity is not guaranteed +(for example, adding one word to a paragraph which has a widow word will +reduce its badness) but it is probable that tricks such as ignoring +widow words in incomplete paragraphs can bring us near enough to +monotonicity to justify pruning bad nodes. + +One immediate application is to prune nodes whose layouts are obviously +terrible, such as nodes containing clearly premature line endings or +page endings. Indeed, it should be possible to avoid even generating +such nodes. + +When it can be established that two nodes are equivalent, in the sense +that they lay out the same subsequence and their layouts occupy the same +space, their future careers must be identical and the worst of the two +may be pruned. The tree structure becomes a graph, and the optimal +layout algorithm may be viewed as a shortest path algorithm, as described +by Knuth~\cite {knuth1984tex}. + +Establishing the equivalence of two nodes may not be easy. There certainly +is not time for complex comparisons of all pairs of layouts +of a given subsequence. Knuth and Plass's +algorithm recognises that two nodes are equivalent when they lay out +the same subsequence and the most recent choice on the path to each was +to start a new line. This same idea may be used to equivalence all +paths into one at the new-page operation preceding a new chapter. + +Another useful idea is to group operations together, find optimal layouts +for the group separately, then introduce an atomic operation at a higher level +which represents the entire group. Grouping the operations that define +one paragraph in this way is very beneficial, for example. In +isolation, optimal pragraph breaking explores many options, but in the +end it is likely to return only at most two reasonable distinct results, +of~$n$ and ${ n+1}$ lines respectively for some~${ n}$, and +these become the only choices for the atomic $\mathit{add\_paragraph}$ +operation that represents the whole group at the higher level. Furthermore, +these two results may be cached and used without recalculation on every +path containing that particular \emph{ add\_paragraph} operation whenever +the margins have the same width. + +With care, suppressing tiny variations introduced by ascenders and descenders +on letters, the layout tree might be induced to contain only as many paths as +the difference in the total number of lines between the loosest and +tightest settings of the paragraphs inserted so far, and over the course of one +chapter this might be a manageable number. For safety, a fixed upper limit +could be placed on the number of nodes kept, producing a beam +search~\cite {winston1992} which would definitely bound the time complexity +to a fixed multiple of the cost of non-optimal layout, while sacrificing +guaranteed optimality. + +There do not seem to be any extra problems in incorporating optimality +into an extensible system. Users would certainly welcome options to +user-level features such as `insert this figure either following the +current line, or at the top of the next page, whichever looks +best.' Whether an editable system can offer optimal layout without +exceeding response time bounds is a matter for further research. There +should be time to maintain optimality of the current paragraph at least, +and if the current chapter is set within constant-width margins, it should +be no more time-consuming to maintain optimal layout in a twenty page chapter +than it is in a twenty line paragraph, provided the two alternative paragraph +breaks of each non-current paragraph of the chapter are cached. If the +cost does prove too great, optimality could be relegated to a button that +the user can press just before going for coffee. + + + + +\section{Conclusion} + + +This paper has demonstrated that a next-generation document formatting +system, incorporating the best features of current systems in full +generality, is neither logically inconsistent nor likely to be +infeasibily slow. + +The major design problem is the identification of a suitable kernel +of primitive features. Given the massive superstructure that this +kernel will support, its design quality must be of the highest. This +design was not attempted in this paper, but the author believes that the +kernel of the Lout document formatting system would make a good starting +point, although it is too incomplete, insufficiently general, too +large, and occasionally too imprecisely defined to serve as the kernel +of a next-generation system as it stands. + +The major implementation problem is to find optimizations that preserve +generality yet achieve the required response time. This paper has +pointed out optimizations that seem quite likely to be adequate on +hardware that will be widely available in a few years. + +It is also to be hoped that next-generation systems will finally lay to +rest the language issues that bedevil systems created within an English +or European language framework. Given sufficiently general primitives, +this should be an easy matter. + +\section{Acknowledgements} +The author gratefully acknowledges comments on +the first draft of this paper received from +Mike Dowling, +Ted Harding, +Robert Marsa, +and +Basile Starynkevitch. + +%\bibliographystyle{plain} +%\bibliography{lout} + +\begin{thebibliography}{10} + +\bibitem{adobe1990ps} +{Adobe Systems, Inc}. +\newblock {\em PostScript Language Reference Manual, Second Edition}. +\newblock Addison-Wesley, 1990. + +\bibitem{adobe1995frame} +{Adobe Systems, Inc}. +\newblock {\em Using FrameMaker+SGML}. +\newblock Adobe Systems, Inc., 1995. + +\bibitem{apple1996quickdraw} +{Apple Computer, Inc}. +\newblock {\em Quickdraw GX}. +\newblock 1996. +\newblock Available as \url{http://support.info.apple.com/gx/gx.html} + +\bibitem{brooks1991lilac} +Kenneth~P. Brooks. +\newblock Lilac: a two-view document editor. +\newblock {\em IEEE Computer}, pages 7--19, 1991. + +%\bibitem{ettrich1996lyx} +%Matthias Ettrich. +%\newblock {\em Lyx}. +%\newblock 1996. +%\newblock available as +% \url{http://www-ti.informatik.uni-tuebingen.de/~ettrich/}. + +\bibitem{foxley1987music} +Eric Foxley. +\newblock Music --- a language for typesetting music scores. +\newblock {\em Software---Practice and Experience}, 17:485--502, 1987. + +\bibitem{furuta1982survey} +Richard Furuta, Jeffrey Scofield, and Alan Shaw. +\newblock Document formatting systems: survey, concepts, and issues. +\newblock {\em Computing Surveys}, 14:417--472, 1982. + +\bibitem{goldfarb1990sgml} +Charles~F. Goldfarb. +\newblock {\em The SGML Handbook}. +\newblock Oxford University Press, 1990. +\newblock ISBN 0-19-853737-9. + +\bibitem{goldfarb1991hytime} +Charles~F. Goldfarb. +\newblock Hytime: a standard for structured hypermedia interchange. +\newblock {\em IEEE Computer}, 24:81--84, 1991. + +\bibitem{interleaf1996} +{Interleaf, Inc}. +\newblock {\em Interleaf 6 for Motif: next generation document creation, + composition and assembly}. +\newblock 1996. +\newblock Available as \url{http://www.interleaf.com/i6motifds.html} + +\bibitem{kernighan1982pic} +Brian~W. Kernighan. +\newblock Pic --- a language for typesetting graphics. +\newblock {\em Software--Practice and Experience}, 12:1--21, 1982. + +\bibitem{kernighan1989retro} +Brian~W. Kernighan. +\newblock The unix system document preparation tools: a retrospective. +\newblock {\em AT\&T Technical Journal}, 68:5--20, 1989. + +\bibitem{kingston1993lout.design} +Jeffrey~H. Kingston. +\newblock The design and implementation of the lout document formatting + language. +\newblock {\em Software--Practice and Experience}, 23:1001--1041, 1993. + +\bibitem{kingston1995lout.program} +Jeffrey~H. Kingston. +\newblock {\em The Lout Document Formatting System (Version 3)}. +\newblock 1995. +\newblock Available as \url{ftp://ftp.cs.usyd.edu.au/jeff/lout/} + +\bibitem{knuth1981bpl} +D.~E. Knuth and M.~E. Plass. +\newblock Breaking paragraphs into lines. +\newblock {\em Software--Practice and Experience}, 11:1119--1184, 1981. + +\bibitem{knuth1984tex} +Donald~E. Knuth. +\newblock {\em The {\TeX}Book}. +\newblock Addison-Wesley, 1984. + +\bibitem{krishnamurthy1995unix} +Balachander Krishnamurthy, editor. +\newblock {\em Practical Reusable UNIX Software}. +\newblock John Wiley, 1995. + +\bibitem{lamport1986latex} +Leslie Lamport. +\newblock {\em \LaTeX\ User's Guide and Reference Manual}. +\newblock Addison-Wesley, 1986. + +\bibitem{microsoft1996word} +{Microsoft, Inc.} +\newblock {\em Microsoft Word}. +\newblock Microsoft, Inc., 1996. +\newblock Available as \url{http://www.microsoft.com/msword/} + +\bibitem{ossanna1976troff} +Joseph~F. Ossanna. +\newblock ``nroff/troff'' user's manual. +\newblock Technical Report~54, Bell Laboratories, Murray Hill, NJ 07974, 1976. + +\bibitem{plass1981} +Michael~F. Plass. +\newblock {\em Optimal pagination techniques for automatic typesetting + systems}. +\newblock PhD thesis, Stanford, CA, 1981. + +\bibitem{reid1980scribe} +Brian~K. Reid. +\newblock A high-level approach to computer document production. +\newblock In {\em Proceedings of the 7th Symposium on the Principles of + Programming Languages (POPL), Las Vegas NV}, pages 24--31, 1980. + +\bibitem{winston1992} +P.~H. Winston. +\newblock {\em Artificial Intelligence}. +\newblock Addison-Wesley, third edition edition, 1992. + +\bibitem{vanwyk1980} +Christopher J.~Van Wyk. +\newblock {\em A language for typesetting graphics}. +\newblock PhD thesis, Stanford, CA, 1980. + +\end{thebibliography} + +\author{Jeffrey H. Kingston\\ + \texttt{jeff@cs.usyd.edu.au}} +%\email{jeff@cs.usyd.edu.au } +%\address{Basser Department of Computer Science\\ +% The University of Sydney 2006\\ +% Australia} + +\end{Article} \ No newline at end of file diff --git a/usergrps/uktug/baskervi/7_1/ltour3.tex b/usergrps/uktug/baskervi/7_1/ltour3.tex new file mode 100644 index 0000000000..7eeb64a15d --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/ltour3.tex @@ -0,0 +1,769 @@ +\newenvironment{filedesc}{% + \description + \renewcommand\makelabel[1]{\hspace\labelsep + \normalfont\ttfamily ##1}} + {\enddescription} + +\let\package\textsf % as in \package{longtable} package +\let\class\textsf +\def\env#1{\envx#1*\relax} +\def\envx#1*#2{% + \textsf{#1\ifx#2*\raise-.6ex\hbox{*}\fi}} + +\makeatletter +\def\smallv{\def\verbatim@font{\normalfont\ttfamily\small}} +\makeatother + +%\def\PS{\textsc{PostScript}} + +\def\CTAN{\FAQverb\/} % CTAN path +\def\YandY{Y\&Y} +\def\BVonly#1{#1} + +\title{A \LaTeX\ Tour, part 3: mfnfss, psnfss and babel} +\author{David Carlisle\\\texttt{david@dcarlisle.demon.co.uk}} + +\begin{Article} + +\section{Introduction} +This third installment of my tour covers three more distributions that +are supported via the standard \LaTeX\ bug report mechanism described +in Part~1. + +The \package{mfnfss} distribution provides \LaTeX\ support for some +popular Metafont produced fonts, that do not otherwise have any +\LaTeX\ interface. + +The \package{psnfss} distribution consists of \LaTeX\ packages giving +access to \PS\ fonts. + +The third distribution in this part of the tour is \package{babel}, +which provides \LaTeX\ with multi-lingual capabilities. + + +\section{The MFNFSS Distribution} + +The \package{mfnfss} distribution is something of a `collecting point' +for files in the distribution that have not got anywhere else to go. + +\subsection{Font Packages} +These packages provide \LaTeX\ interfaces to some publicly available +fonts. They do \emph{not} provide the fonts themselves, which are +available from the \verb|fonts| tree in the standard \acro{CTAN} +archives. + +\begin{filedesc} + +\item[pandora] + The `Pandora' family of fonts designed by Nazneen N. Billawala + is an alternative to the standard `Computer Modern' fonts of Knuth. + The family consists of a full range of text fonts, including + sans-serif and slanted. + +\item[oldgerm] + The old German fonts designed by + Yannis Haralambous. There are three styles of text font, + Schwabacher, Fraktur and Gothic. (The terms `Fraktur' and `Gothic' + tend to be used interchangeably by English speaking mathematicians + such as the present author, but the fonts in this collection have + clearly distinguishable styles.) + + There is also a font of `initials', highly ornate uppercase letters, + suitable for use as the first letter of a section. If you wish to use + this in `drop caps' style you may also want to use one of the + contributed packages available on \acro{CTAN} such as \package{drop}, + or \package{dropping}, that automate the setting of a suitable + paragraph shape and inserting the initial letter at the correct + size.\footnote{The \texttt{fd} files provided here load the original + \texttt{yinit} font. The \acro{CTAN} archives also contain + `\texttt{yinitas}', a modified version of this font.} + + +\end{filedesc} + +\subsection{T1 Encoded `Concrete' Fonts} + +\textbf{Note:} The following two files require the old release 1.1 of + the dc fonts. + Walter Schmidt very recently (March 1997) released a test version of + a set of `Concrete' fonts based on the new ec font base. + The \LaTeX\ support for these new fonts is available from + \CTAN{macros/latex/contrib/supported/ccfonts}. Once this + release is stable, the following files will probably be removed from + the \package{mfnfss} distribution. + +\begin{filedesc} +\item[dccr.mf] Metafont source file used by the output files from + \verb|dccrstd.tex| to generate Concrete Roman fonts in T1 + encoding. + +\item[dccrstd.tex] + \TeX\ file used in the generation of Concrete Roman fonts in T1 + encoding. It will produce a number of \verb|.mf| files + corresponding to Concrete Roman fonts in different sizes. By + modifying the table inside this file further Metafont driver + files can be generated. The \verb|.fd| files for the Concrete + Roman fonts can be produced with \verb|cmextra.ins| which is + part of the \LaTeX\ \package{base} distribution. + +\end{filedesc} + + + +\section{The PSNFSS Distribution} +With the release of \LaTeXe, \LaTeX\ gained inbuilt support for the +use of alternative font families in documents, and in particular for +the use of scalable font formats such as Type~1 (\PS) or TrueType. + +The collection of packages, coordinated by Sebastian Rahtz, known as +\package{psnfss} offers convenient interfaces to most of the more +common font sets. + +Most of the files here relate to font files renamed to a consistent +naming scheme, promoted and maintained by Karl Berry. This encodes the +font vendor, and details of the font such as its weight, style and +encoding into a compact name that usually fits in the eight letter +filenames used by some common filesystems. +More information about the font naming scheme can be found on +\acro{CTAN} in \CTAN{info/fontname}. It should be noted however that +the packages themselves, such as the \package{times} package, do +\emph{not} depend on any particular font naming convention. \LaTeX\ +isolates packages from the details of the external font files by +the use of `\texttt{fd}' (Font Descriptor) files which map the +\LaTeX\ `NFSS' model of fonts to the external font metric files. + +In principle, there is no real need for packages to load text fonts +into \LaTeX. For example, once the font metrics and font descriptor +files for Times Roman (which is \textsf{ptm} in the Karl Berry Naming +Scheme) are installed, then one could in principle switch to Times +Roman in a \LaTeX\ document by simply specifying +\verb|\fontfamily{ptm}\selectfont|. Normally one would instead want to +assign the new font to one of the `default' \LaTeX\ families, Roman, +as used by \verb|\rmfamily|, Sans Serif (\verb|\sffamily|) and +Typewriter or Monospace (\verb|\ttfamily|). + +The support for \PS\ fonts is split into two. +The \acro{CTAN} \CTAN{fonts/psfonts} area contains material that is +mainly automatically generated from the Adobe font metric files that +are distributed with all Type~1 fonts. This includes the font metrics +themselves, the Font Descriptor files, the `map' files used to make +fonts known to the dvips driver, and some basic packages to declare +single fonts to \LaTeX. +This is supplemented in \CTAN{macros/latex/packages/psnfss} by the +`hand written' packages of the \package{psnfss} collection that load +popular \emph{combinations} of font families, or deal with +mathematics. + +This section refers at various points to \PS\ or Type~1 fonts, but in +fact the \TeX\ support for these fonts applies equally well to True +Type, or other scalable formats. As long as \TeX\ has access to the +font metrics, the font format does not matter (to \TeX; it matters to +the driver you use to print the \acro{DVI} file). + +\subsection{PSFONTS} + +The \acro{CTAN} \package{psfonts} area primarily contains the font +metric and \LaTeX\ font descriptor files, organised by font vendor, as +outlined below. The basic format of the file structure is the same for +each font family, so only the top level directories are given here, +except for the Adobe Times family, which is further expanded as an +example. + +\subsubsection{Font Vendors} +The font subdirectories of \CTAN{fonts/psfonts} are: +\begin{filedesc} +\item[adobe] Fonts sold by Adobe, or built into \PS\ devices. +\item[bh] Fonts designed by Bigelow and Holmes, these are mainly sold + through \YandY. +\item[bitstrea] Bitstream fonts. +\item[monotype] Monotype fonts. +\item[textures] Textures Fonts for the Blue Sky Research Macintosh + \TeX\ implementation. +\item[urw] Fonts distributed by URW. +\item[xadobe] Adobe `expert' font sets. +\item[xmonotype] Monotype `expert' font sets. +\end{filedesc} + +Each of the vendor directories contains subdirectories corresponding +to the font families supported by the \package{psfonts} distribution. +(Using the tools provided one can generate \TeX\ support files for +most other text fonts, the selection here is really just a set of +examples.) + +The subdirectories of the \File|adobe| directory are: +\begin{filedesc} +\item[agaramon] Adobe's rendition of a Garamond serif Roman + family. (Commercial.) +\item[avantgar] Avant Garde sans serif (built into most \PS\ devices). +\item[baskervi] Baskerville, a commercially avail\-able serifed Roman + family. + \BVonly{(If you are reading this in \BV\ then it is similar to the + text you see, which is Monotype Baskerville).} +\item[bembo] Bembo, a commercially available serifed Roman family. +\item[bookman] Bookman (built into most \PS\ devices). +\item[centaur] Centaur, a commercially available serifed Roman family. +\item[courier] Courier (built into all \PS\ devices). +\item[garamond] Garamond~3. Another Garamond serif Roman family. + (Commercial.) +\item[gillsans] Gill Sans, a commercially available sans serif family. +\item[helvetic] Helvetica (built into all \PS\ devices). +\item[nbaskerv] ITC New Baskerville, another variant on the Baskerville + theme. (Commercial.) +\item[ncntrsbk] New Century Schoolbook (built into most \PS\ devices). +\item[optima] Optima, a commercially available sans serif family. +\item[palatino] Palatino serifed Roman family + (built into most \PS\ devices). +\item[symbol] Symbol (built into all \PS\ devices). +\item[times] Times Roman (built into all \PS\ devices). +\item[univers] Univers, a commercially available sans serif family. +\item[utopia] Utopia, a commercially available serifed Roman family. +\item[zapfchan] ITC Zapf Chancery. A script font built into most \PS\ + devices. +\item[zapfding] ITC Zapf Dingbats. A symbol font built into most \PS\ + devices. +\end{filedesc} + + +All the directories corresponding to a font family look essentially +the same, each with the following subdirectories. +\begin{filedesc} +\item[dvips] Contains the `map' file for the dvips driver program. + This file can be appended to \texttt{psfonts.map} or used via a + configuration file to tell dvips where to find the specified + fonts. A suitable configuration file is included in the + directory. + + Other drivers will need similar information, but perhaps + in a different format. +\item[tex] This directory contains the font descriptor files which + must be placed in the input path for \LaTeX, so that \LaTeX\ has + available the information about the available fonts. For some + font families this directory would also contain a \LaTeX\ package + that assigns the fonts to one of the standard \LaTeX\ font + families, such as \verb|\sffamily|. Some packages, such as + \package{times}, are not distributed here as they would + clash with the packages distributed as part of + \package{psnfss}, as described below. +\item[tfm] The font metrics, in `tfm' format. These files contain all + the information about letter sizes, ligatures, and kerning that + \TeX\ needs to typeset text. + + There are several files, as each font in the original family is + made available in several encodings, the two main ones being + the `Classic' \TeX\ encoding used by Computer Modern. This is + known as OT1 in \LaTeX, and as `7t' in the Karl Berry font naming + scheme used here. Similarly the files with names ending in `8t' + relate to fonts encoded to the eight bit `Cork' encoding, known + as T1 in \LaTeX. + +\item[vf] The virtual fonts. Most (but not all) drivers handle the + re-encoding of the original fonts to the encodings that \TeX\ + expects by means of the virtual font mechanism. Some special + fonts, such as Zapf Dingbats are not re-encoded, and so do not + have a \File|vf| directory. +\end{filedesc} + +There is one very important thing to note about the above list. +\emph{There are no fonts!} Almost all of the \CTAN{fonts/psfonts} area +of \acro{CTAN} is concerned with providing mechanisms for using fonts +that you have obtained \emph{elsewhere}. The fonts may be built in to +your printer, or may be purchased separately. There are a few freely +available Type~1 fonts. In such cases there will be an additional +directory, \texttt{type1}, which contains the font files (normally in +`pfb' format). + +\subsubsection{Standard \PS\ Fonts} + +In addition to the above directories, the \package{psfonts} area +contains two zip files. If you need the files and have not got unzip +(or pkunzip or winzip or\ldots) then you can get a copy of unzip from +the \acro{CTAN} \package{support} area. +\begin{filedesc} +\item[lw35nfss] This zip archive expands to the subset of the + \CTAN{psfonts/adobe} tree that corresponds to the `Standard 35' + \PS\ fonts as used in Adobe Laserwriter printers. If you are only + interested in using fonts built into your printer, and not in + using downloaded fonts, then just get this file rather than the + large collection of metrics in \CTAN{psfonts/adobe}. +\item[lw35pk] This zip archive contains bitmap fonts for the `Standard + \PS\ fonts' in the usual \acro{PK} format understood by most dvi + drivers. This enables documents using Type~1 fonts to be previewed + with dvi previewers that can not use outline font formats. + (For example xdvi or the emtex drivers). +\end{filedesc} + +\subsubsection{Tools and Extra Packages} +There are a few remaining directories in \package{psfonts}. +\begin{filedesc} +\item[ts1] The \LaTeX\ \package{textcomp} package and related + utilities for accessing fonts in the `text companion' encoding + known as TS1 in \LaTeX. These include the TC + fonts that are distributed with the EC fonts, and suitably + re-encoded fonts from the standard Type~1 font sets. This encoding + contains many non alphabetic symbols that should match the + current text font (rather than the math font). It includes currency + symbols, superior digits, dagger signs, etc. + +\item[mathcomp] A contributed package for using the text companion + fonts in math mode. +\item[tools] The source for the scripts and utilities used for + generating all these files. +\end{filedesc} + + +\subsection{Standard PSNFSS Packages} +By contrast to the packages and font descriptor files in the +\package{psfonts} distribution, the \package{psnfss} distribution +contains `hand written' files. These are either used to set up popular +\emph{combinations} of the `standard' fonts, or load alternative font +sets for mathematics. Due to the nature of mathematics fonts, these +latter packages are typically much more complicated internally than +the one or two line packages that load text fonts. For the user, +however, this complexity should not be apparent. + +The first set of packages (all generated from the source file +\texttt{psfonts.dtx}) load combinations of the Basic Adobe \PS\ font +set into \LaTeX. +\begin{filedesc} +\item[times] As one might guess, this declares Times Roman as + \verb|\rmfamily|. + For mainly historical reasons, this package also declares + Helvetica as \verb|\sffamily| and Courier as \verb|\ttfamily|, + so effectively ensuring that all text (but not mathematics) is + set in the basic \PS\ font set. + + This is a convenience for the user who wants to replace all the + text fonts by references to the basic Adobe fonts. It is an + advantage to do this if you want to produce device independent + and small \PS{} documents for distribution. The disadvantage is + that Times Roman, Helvetica and Courier, despite being the + `standard \PS\ combination' look particularly horrible if placed + next to each other at the same nominal size, as done by this + package. Helvetica has a much larger `x-height' (the height of + the lower case letters) than Times Roman, so if sans serif and + Roman text are mixed in-line, then the sans serif looks much too + big. (This is not so much of a problem if the sans serif is only + used for headings.) Courier is just too `wide' when placed + alongside Times Roman, which is a particularly compact font. + + To partially compensate for these problems, the \package{pslatex} + package (written by me, but currently distributed as a contributed + package, not part of the core \LaTeX\ distribution) is an + alternative to the \package{times} package. It loads Helvetica + scaled by 90\% and loads Courier by way of a virtual font that + condenses it by scaling the horizontal direction (only) by + 85\%. + \package{pslatex} also contains a copy of the \package{mathptm} + package (see below) so installs a Times-Italic based font set + for use in mathematics. +\item[palatino] Declares Palatino as \verb|\rmfamily|, and Helvetica and + Courier as \verb|\sffamily| and \verb|\ttfamily|. +\item[helvet] Declares Helvetica as \verb|\sffamily|. (Does not change + the other families.) +\item[avant] Declares Avant Garde as \verb|\sffamily|. + (Does not change the other families.) +\item[newcent] Declares New Century Schoolbook as \verb|\rmfamily|, + Avant Garde as \verb|\sffamily| and Courier as \verb|\ttfamily|. +\item[bookman] Declares Bookman Roman as \verb|\rmfamily|, Avant + Garde as \verb|\sffamily| and Courier as \verb|\ttfamily|. +\item[chancery] Declares Zapf Chancery as \verb|\rmfamily|. +\end{filedesc} + +The above packages only affect \emph{text} fonts, not mathematics. +\texttt{psfonts.dtx} contains one special package, written by Alan +Jeffrey, which does affect the math setup. +\begin{filedesc} +\item[mathptm] This package uses a set of virtual files that use + various built in or freely available fonts to make a set of fonts + suitable for replacing the standard Computer Modern Math fonts. In + the current release, bold fonts (and so the \LaTeX\ + \verb|\boldmath| command) are not supported. The \package{pslatex} + package referred to above contains an essentially verbatim copy + of \package{mathptm}. + + One may use \package{mathptm} as an example of the coding needed + to make virtual fonts for mathematics based on other text italic + fonts. How successful this will be depends to a certain extent + how visually compatible are the symbols that are gathered from + the various `real' fonts that are used by the virtual math fonts. + There are often good reasons for making such fonts (the main one + being that documents using freely available fonts may be more + easily placed on the Web in \PS\ form), however the result is + never likely to be as good as using fonts that have symbols that + are \emph{designed} to be visually compatible. For mathematics + use within \TeX, that currently restricts use to Computer Modern, + or the commercial MathTime or Lucida Bright font sets described + below. +\end{filedesc} + +The \texttt{psfonts.dtx} source file contains one other package: +\begin{filedesc} +\item[pifont] This declares the Zapf Dingbats font which contains +an assorted mixture of symbols, and also defines new user level commands +to access these symbols. See the package documentation, or \emph{The +\LaTeX\ Companion} for details. +\end{filedesc} + +\subsection{Freely Available Type~1 Text Fonts} + +The next set of packages are contributed by Peter Dyballa. In fact +these are just one-line packages loading the appropriate font. Most of +the code is in the \texttt{fd} files which are generated from the same +source file. +\begin{filedesc} +\item[charter] Defines \verb|\rmfamily| to use Bitstream Charter. +\item[nimbus] Declares URW Nimbus Roman-Regular and URW Nimbus +Sans-Regular as \verb|\rmfamily| and \verb|\sffamily|. These are +essentially free clones of Times Roman and Helvetica. +\item[utopia] Defines \verb|\rmfamily| to use Adobe Utopia-Regular. +\end{filedesc} + +\subsection{Commercial Text Fonts} +The following packages are generated from the source file +\texttt{adobe.dtx}. They are a rather random selection from the large +catalogue of fonts sold by Adobe. + +\begin{filedesc} +\item[garamond] Garamond as \verb|\rmfamily|, Optima as + \verb|\sffamily| and Courier as \verb|\ttfamily|. +\item[basker] Baskerville as \verb|\rmfamily|. +\item[mtimes] Monotype\footnote{Not sure why this is generated from + \emph{adobe} source file.} Times as \verb|\rmfamily|. +\item[bembo] Bembo as \verb|\rmfamily|, Optima as \verb|\sffamily| and + the ever popular Courier as \verb|\ttfamily|. +\end{filedesc} + +\subsection{Adobe Lucida} +The following two packages relate to the original Lucida font set, +designed by Bigelow and Holmes and sold by Adobe. +They are generated from the \texttt{alucida.dtx} source file. +\begin{filedesc} +\item[lucid] Declares Lucida Roman and Lucida Sans as the Roman and sans + serif families, and Adobe Courier again as the monospaced font. +\item[lucmath] Lucida has a matching set of mathematics fonts suitable + for \TeX\ use. This package makes the required definitions to make + these known to \LaTeX. +\end{filedesc} + +\subsection{Lucida Bright} +A newer and more extensive Lucida family, also designed by Bigelow and +Holmes but in this case sold by \YandY, is known as `Lucida Bright' and +`Lucida New Math'. The \LaTeX\ support described here was written by +Sebastian Rahtz and myself. +\begin{filedesc} +\item[lucidabr.dtx] This package (replacing the earlier + \package{lucidbrb} and \package{lucidbry} packages) + changes the \LaTeX\ defaults for + both text and mathematics to use the Lucida Bright and Lucida New + Math font collections. It has numerous options to control + different aspects of the package and to control which of the + fonts to use. (Lucida Bright contains several font families, + including `fax' and `casual' etc, as well as variant forms of the + math italic alphabet.) + + The \LaTeX\ package and the font descriptor files for the math + fonts are generated from this source file. The font descriptor + files for the Lucida text fonts in the standard \LaTeX\ encodings + are available from the \package{psfonts} area (in the + \package{bh}) directory, after Bigelow and Holmes, the creators + of these fonts. + + The \TeX\ support and font metrics are freely available, but the + fonts themselves must be purchased separately. +\item[lucidabr.ins] \LaTeX\ installation file for Lucida Bright using + the standardised `Karl Berry' font names. +\item[lucidabr.yy] Alternative installation file. Use this instead of + \texttt{lucidabr.ins} if you plan to install the fonts with their + original font names, as sold by \YandY. (In this case you do + \emph{not} need the \texttt{fd} files from the \package{psfonts} + area.) +\item[lucidabr.txt] Introduction and installation guide for this + package. +\end{filedesc} + + +\subsection{MathTime} +The MathTime fonts are produced by Michael Spivak `\TeX{}plorators'. +They are sold by \YandY. The \LaTeX\ support was written by Frank +Mittelbach and myself. +\begin{filedesc} +\item[mathtime.dtx] The \package{mathtime} package is mainly concerned + with mathematics setup, although it selects Times, Helvetica and + Courier as the text fonts if they have not already been set by + another package. The MathTime mathematics fonts are specially + designed to match Times Roman, but blend quite well with other + text fonts that are of a similar weight. Computer Modern + mathematics tends to look very `light' if used with font + families other than Computer Modern. The package has several + options to control the font choices made. +\item[mtfonts.fdd] The source for the font descriptor files for + MathTime mathematics fonts. +\item[mathtime.ins] Installation file. Note that this file may be + edited in a couple of places depending on whether or not you + have the extended `MathTime Plus' font set which includes bold + math support. +\item[mathtime.txt] Introduction and installation guide for this + package. +\end{filedesc} + + +\subsection{Documentation and Other Files} +\begin{filedesc} +\item[readme.txt] General introduction. +\item[psnfss2e.tex] User level documentation on the use of these + packages. +\item[test0.tex] Testing accents and other encoding specific commands + are working correctly using \PS\ fonts. +\item[test1.tex] Test document that uses most of the `Standard 35' + fonts. +\item[pitest.tex] Test of the \package{pifont} package. +\item[mathtest.tex] Test of the \package{mathptm} package. +\item[makefile] Unix `make' utility to automate installation of the + packages. +\item[allpspk] Unix script that makes a test document using a + specified font family and then uses dvips and its associated + scripts to generate `pk' versions of the fonts. +\item[makepk] Unix script that calls allpspk on some common fonts. +\end{filedesc} + +\subsection{PSNFSSX} +Recently the \package{psnfss} collection has aquired a close cousin, +\package{psnfssx}, distributed as a contributed package from +\CTAN{macros/latex/contrib/supported/psnfssx}. This contains some +lesser used or nonstandard packages, related to \PS\ support. Of +particular interest might be the \package{ly1} files (contributed by +myself) in that directory which provide the \LaTeX\ support for the +`texnansi' encoding promoted by \YandY\ by way of an \texttt{LY1} option +to the \package{fontinst} package. + +This \package{psnfssx} collection +also contains some obsolete versions of packages formerly in +\package{psnfss}; this material is provided for historical interest +only. Use at own risk! + + + + +\section{The Babel Distribution} + +The \package{babel} package is distributed from +\CTAN{latex/packages/babel} and is supported via the \LaTeX\ bug +reporting address, but has origins predating the current \LaTeX\ +release. As well as supporting \LaTeX\ it contains support for +plain \TeX\ (and formats such as AMS\TeX\ or eplain that are based on +plain). Primarily \package{babel} is the work of Johannes Braams, +with contributions for specific language files by numerous people. + +\package{Babel} consists of a `kernel' that extends \LaTeX\ with a +mechanism for switching between specified languages. Part of this +kernel (related to hyphenation) must be loaded when the \LaTeX\ format +is made to get the full benefit of hyphenation tables for multiple +languages. For each language, or related group of languages, supported +by \package{babel} there exists a language-specific code file. +This will offer translations of the fixed text strings used in the +standard \LaTeX\ classes, such as `Table of Contents', `Figure', etc., +and may also offer language-specific `shorthands' that make typing +common constructs easier (for example the \package{german} option +provides the construct `\verb|"ff|' to produce `ff' that would +hyphenate to `ff-f' if it fell at the end of a line). The language +file may also modify the typesetting to support the normal conventions +of that language. For example the \package{french} option modifies the +spacing around punctuation marks in text. + +\subsection{Babel Kernel} + +\begin{filedesc} +\item[babel.sty] The main interface to \package{babel}. + The user specifies all languages to be used in a document as options + to this package, the last option specified is the default + language for the document. So for example +\begin{verbatim} +\usepackage[french,german]{babel} +\end{verbatim} + would enable the use of French and German conventions within the + document, with the default language being German. +\item[hyphen.cfg] The standard \LaTeX\ interface to hyphenation. + When the \LaTeX\ format is being made, this file is input if it + exists, to setup the required hyphenation patterns. In the + \package{base} \LaTeX\ distribution there is no such file, and + so a default action is taken which loads the original \TeX\ + patterns for American English. The \package{babel} distribution + provides this configuration file (generated from + \File|babel.dtx|) which defines some core + functionality, and then reads \File|language.dat| to specify + which hyphenation files to load. +\item[language.dat] This file must be edited to specify which language + hyphenation files to load, and the name of the external file which + contains the hyphenation table for each such language (and + optionally a second external file, typically containing hypenation + exceptions). + Note that hyphenation files \emph{must} be specified here, and so + loaded when the format is made. This is a restriction of the + underlying \TeX\ system. Documents using other languages not + specified here may still be processed, and \package{babel} will + translate any fixed text strings, but it will not be able to + correctly hyphenate that language. A default hyphenation will be + used (most likely English) which may or may not be suitable + depending how far the language differs from English. +\item[switch.def] This file is also generated from the same + \File|babel.dtx| source. If \package{babel} is used as a package + but was not used when the format was made, then the core + functionality normally provided by \File|hyphen.cfg| will not be + present. The package will detect this, and so input this file to + provide the necessary definitions. +\end{filedesc} + + +\subsection{Language-Specific Files} + +The implementation of the language-specific code for each language +within \package{babel} is contained in files with extension +`\texttt{.ldf}' (language definition files). These are not directly +input by the user, but specified as options to the babel +package. Normally the option name is the same as the file name, except +where noted below. Some similar languages or dialects are supported by +the same external file, and some options are available in more than +one name; such aliases are noted in parentheses in the list below. + +Most languages also have a file with extension +\texttt{.sty}; however this is just offered for compatibility with +older versions of Babel and of \LaTeX, or for use with plain \TeX\ +based formats. In normal \LaTeX\ usage only the \texttt{.ldf} file is +used. +\begin{filedesc} +%\item[bahasa] Support for the Bahasa language. +\item[basque] Support for the Basque language.\footnote{Not in the +current release, planned for \package{babel}~3.7.} +\item[breton] Support for the Breton language. +\item[catalan] Support for the Catalan language. +\item[croatian] Support for the Croatian language. +\item[czech] Support for the Czech language. +\item[danish] Support for the Danish language. +\item[dutch] The \textsf{dutch} and \textsf{afrikaans} options. +\item[english] The \textsf{american} (\textsf{USenglish}) and + \textsf{british} (\textsf{UKenglish}) options. The option + \textsf{english} refers to either British or American English, + depending on the local installation. +\item[esperant] The \textsf{esperanto} option. +\item[estonian] Support for the Estonian language. +\item[finnish] Support for the Finnish language. +\item[frenchb] Support for the French language (the corresponding + options are \textsf{french} (\textsf{frenchb}) or + \textsf{francais}. + If the \textsf{french} option is used then + \texttt{french.ldf} will be used (from the GUTenburg + \package{french} package) if it is available. +\item[galician] Support for the Galician language. +\item[germanb] The \textsf{austrian} and \textsf{german} + (\textsf{germanb}) options. +\item[kannada] Support for the Indian language, Kannada.% + \addtocounter{footnote}{-1}\footnotemark +\item[irish] Support for the Irish Gaelic language. +\item[italian] Support for the Italian language. +\item[lsorbian] The \textsf{lowersorbian} option. +\item[magyar] The \textsf{magyar} (\textsf{hungarian}) options. +\item[norsk] Support for the Norwegian languages with options + \textsf{norsk}, \textsf{nynorsk}. +\item[polish] Support for the Polish language. +\item[portuges] The \textsf{brazil} (\textsf{brazilian}) and + \textsf{portuges} (\textsf{portuguese}) options. +\item[romanian] Support for the Romanian language. +\item[sanskrit] Support for the Sanskrit language, transliterated to + latin script.% + \addtocounter{footnote}{-1}\footnotemark +\item[scottish] Support for the Scottish Gaelic language. +\item[slovak] Support for the Slovakian language. +\item[slovene] Support for the Slovenian language. +\item[spanish] Support for the Spanish language. +\item[swedish] Support for the Swedish language. +\item[turkish] Support for the Turkish language. +\item[usorbian] The \textsf{uppersorbian} option. +\item[welsh] Support for the Welsh language +\end{filedesc} + + +Babel version~3.6 sees the welcome (re)\hspace{0pt}introduction +of support for +non-latin scripts. It is probably fair to say that this support is still +more experimental than the support for latin scripts. One problem, +not directly under \package{babel} `control', is that the \TeX\ +encodings for Greek and Cyrillic (corresponding to T1 for European +Latin scripts) have not yet been finalised or agreed. Currently +\package{babel} uses two `locally defined' encodings, LWN and LGR. +\begin{filedesc} +\item[greek] The \textsf{greek} option, which utilises the `kd' Greek + fonts. +\item[russianb] The \textsf{russian} option, which utilises the `LH' + fonts. +\item[ukranian] Support for the Ukranian language.% + \addtocounter{footnote}{-1}\footnotemark +\end{filedesc} +Two separate packages are currently +in preparation which will be distributed, together with +suitable fonts and hypenation tables, from \acro{CTAN}. +These will extend \package{babel} with options for the Ethiopian and +Ukrainian languages. + + +\subsection{Compatibility Files} + +The distribution contains the following two source +files which generate files which enable the use of \package{babel} +with formats based on plain \TeX\ +(and also the old \LaTeX\,2.09 release). +\begin{filedesc} +\item[bbcompat] The source for compatibility mode files. Most + languages are provided with a `package' with extension + \texttt{.sty}. This just inputs the corresponding language + definition file and should never be needed using the normal + \LaTeX\ interface. +\item[bbplain] The source for the \File|plain.def| file allowing the + use of \package{babel} with plain \TeX. +\end{filedesc} + +\subsection{Installation Script and Font Descriptor Files} + +\begin{filedesc} +\item[babel.ins] Unpacks the \package{babel} distribution from + the documented source files +\item[cyrillic.fdd] Font descriptor files for Cyrillic fonts in `LCY' + encoding. +\item[greek.fdd] Font descriptor files for Greek fonts in `LGR' + encoding. +\end{filedesc} + +\subsection{Documentation} +\subsubsection{ASCII Text Files} +\begin{filedesc} +\item[00readme.txt] The distribution guide. +\item[install.txt] How to install Babel. +\item[install.mac] How to install Babel with OZ\TeX. +\item[CyrillicFonts.txt] Further notes on the Cyrillic installation. +\item[GreekFonts.txt] Further notes on the Greek installation. +\end{filedesc} + +\subsubsection{\TeX\ Documents} +\begin{filedesc} +\item[tb1202] The source of the original article that appeared + in \TUB, Volume~12 (1991), No.~2. +\item[tb1401] The source of an update article that appeared in + in \TUB, Volume 14~(1993), No.~1. +\item[tb1604] The source of an update article that never + appeared in \TUB, but was presented at + Euro\TeX~1995, Arnhem. +\end{filedesc} + +\subsection{Example File} + +\begin{filedesc} +\item[language.skeleton] An example file that can be used to build new + language definition files from scratch. +\end{filedesc} + + +\section{Coming Soon} +Part~4 of this tour will describe the files of the +\package{amsfonts} and \package{amslatex} distributions of packages +produced by the American Mathematical society. +\end{Article} + diff --git a/usergrps/uktug/baskervi/7_1/ltx-logo.sty b/usergrps/uktug/baskervi/7_1/ltx-logo.sty new file mode 100644 index 0000000000..1cc01e9698 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/ltx-logo.sty @@ -0,0 +1,64 @@ +% A package to generate LaTeX logos using the code developed for +% TUGboat. + +\newcommand\DeclareLaTeXLogo[5]{\expandafter\def + \csname @LaTeX@#1/#2/#3\endcsname{{#4}{#5}}} +% \end{macrocode} +% +% The default values are as used in the source of \LaTeX{} itself: +% +% \begin{macrocode} +\def\@LaTeX@default{{.36}{.15}} +% \end{macrocode} +% +% +% Redefine \cs{LaTeX} to choose the parameters for the current font, +% or to use the default value otherwise: +% +% \begin{macrocode} +\DeclareRobustCommand\LaTeX{\expandafter\let\expandafter\reserved@a + \csname @LaTeX@\f@family/\f@series/\f@shape\endcsname + \ifx\reserved@a\relax\let\reserved@a\@LaTeX@default\fi + \expandafter\@LaTeX\reserved@a} +% \end{macrocode} +% +% Here's the body of what was originally \cs{LaTeX}, pulled out with its +% roots dripping onto the smoking ruin of original \LaTeX, and then +% bits stuck in on the side. +% +% \cs{@LaTeX@default} provides parameters as one finds in the +% original; other versions are added as needed. +% +% \begin{macrocode} +\newcommand\@LaTeX[2]{L\kern-#1em + {\sbox\z@ T% + \vbox to\ht0{\hbox{$\m@th$% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + A}% + \vss}% + }% + \kern-#2em% + \TeX} +% \end{macrocode} +% +% Three more defined in the initial version, for bold CM sans (which is +% used as \cs{SecTitleFont}), and CM italic medium and bold: +% +% \begin{macrocode} +\DeclareOption{cm}{% + \DeclareLaTeXLogo{cmss}{bx}n{.3}{.15}% + \DeclareLaTeXLogo{cmr}m{it}{.3}{.27}% + \DeclareLaTeXLogo{cmr}{bx}{it}{.3}{.27}% +} +\DeclareOption{mbvx}{% + \DeclareLaTeXLogo{mbvx}{m}{n}{.27}{.08}% + \DeclareLaTeXLogo{mbvx}{m}{it}{.23}{.10}% + \DeclareLaTeXLogo{mbvx}{b}{n}{.23}{.10}% + \DeclareLaTeXLogo{mbvx}{b}{it}{.21}{.10}% +} +\DeclareOption*{\PackageWarning{ltx-logo}{No LaTeX logo shapes defined + for font family \CurrentOption\space-- yet}} +\ProcessOptions +% \end{macrocode} diff --git a/usergrps/uktug/baskervi/7_1/lyx-intro.tex b/usergrps/uktug/baskervi/7_1/lyx-intro.tex new file mode 100644 index 0000000000..11834c4cd2 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/lyx-intro.tex @@ -0,0 +1,625 @@ +%% This LaTeX-file was created by Mon Jun 30 22:46:50 1997 +%% LyX 0.10 (C) 1995 1996 by Matthias Ettrich and the LyX Team + +%% Don't edit this file unless you are sure what you are doing. +%\documentclass[11pt,letterpaper,oneside,onecolumn]{article} +%\usepackage[]{fontenc} +%\usepackage[dvips]{epsfig} + +%% +%% BEGIN The lyx specific LaTeX commands. +%% + +\makeatletter +\def\LyX{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\spacefactor1000}% +\newcommand{\lyxtitle}[1] {\thispagestyle{empty} +\global\@topnum\z@ +\section*{\LARGE \centering \sffamily \bfseries \protect#1 } +} +\newcommand{\lyxline}[1]{ +{#1 \vspace{1ex} \hrule width \columnwidth \vspace{1ex}} +} +\newenvironment{lyxbibliography} +{ +\begin{thebibliography}{99}} +{\end{thebibliography}} +\def\lxq{"} +\newenvironment{lyxcode} +{\list{}{ +\rightmargin\leftmargin +\raggedright +\itemsep 0pt +\parsep 0pt +\ttfamily +}% +\item[] +} +{\endlist} +\newcommand{\lyxlabel}[1]{#1 \hfill} +\newenvironment{lyxlist}[1] +{\begin{list}{} +{\settowidth{\labelwidth}{#1} +\setlength{\leftmargin}{\labelwidth} +\addtolength{\leftmargin}{\labelsep} +\renewcommand{\makelabel}{\lyxlabel}}} +{\end{list}} +\newcommand{\lyxletterstyle}{ +\setlength\parskip{0.7em} +\setlength\parindent{0pt} +} +\newcommand{\lyxaddress}[1]{ +\par {\raggedright #1 +\vspace{1.4em} +\noindent\par} +} +\newcommand{\lyxrightaddress}[1]{ +\par {\raggedleft \begin{tabular}{l}\ignorespaces +#1 +\end{tabular} +\vspace{1.4em} +\par} +} +\newcommand{\lyxformula}[1]{ +\begin{eqnarray*} +#1 +\end{eqnarray*} +} +\newcommand{\lyxnumberedformula}[1]{ +\begin{eqnarray} +#1 +\end{eqnarray} +} +\makeatother + +%% +%% END The lyx specific LaTeX commands. +%% + +%\pagestyle{plain} +%\setcounter{secnumdepth}{3} +%\setcounter{tocdepth}{3} + +%% Begin LyX user specified preamble: +%\usepackage{a4wide} +%\addtolength{\hoffset}{-1in} + +%% End LyX user specified preamble. +%\begin{document} + +\title{Review of the {\LyX} ``wysiwyg'' +front-end editor for {\LaTeX}} +\author[Andrew F.~Lack]{Andrew F.~Lack\\\texttt{sa346@city.ac.uk}} + +\begin{Article} + +\subsection*{\sffamily \Large Introducing \LyX{}\rmfamily } + +Am I a dinosaur living beyond my `best before' date? Sometimes feels +like it. To start with I use Unix. Every popular computing magazine +you pick up today is filled with one word, and it isn't Unix. Then +I use \LaTeX{} under Unix. People look at you as if you are from another +planet. \LaTeX{}? You mean you can't \em see \em what it looks like as you +type? But then I come across something like \LyX{} and my faith in humanity, +or that part of it which still uses Unix and \LaTeX{}, is restored. + +\LyX{} is a full-featured ``near \scshape wysiwyg'' \upshape editor +for creating and editing \LaTeX{} documents. Surprisingly, it's not currently +available from the \scshape ctan \upshape archive, but by anonymous +ftp from \ttfamily ftp.via.ecp.fr/pub/lyx. \rmfamily Binaries +are available for some popular varieties of the Unix system, including +Sun Solaris and Linux. To compile the source you'll need (to quote +the authors) ``a good C\ttfamily ++ \rmfamily compiler'' (\ttfamily g++ +\rmfamily is fine) as well as the \sffamily xforms \rmfamily library +(available from \ttfamily ftp.via.ecp.fr/pub/xform\rmfamily s). +Although the current version is only 0.10.7, and described as a beta +version, it is reasonably complete and usable. The software is written +by Matthias Ettrich ably assisted by many others, too numerous to +mention. + +This article was prepared using \LyX{}. While doing so, I experienced 3~crashes +over a period of several hours plus a few oddities which are described. + + +\LyX{} is a front-end for an existing, working, \LaTeXe{} installation. It won't +work with the older 2.09 release. It likes to use \bfseries xdvi +\mdseries for screen previewing and \bfseries dvips \mdseries for +printing, though other printer drivers may be usable by re-configuring +\LyX{} via its configuation file. + +To create a \scshape wysiwyg \upshape word-processor for \LaTeX{} would +be an extremely complicated task. So \LyX{} takes a different approach; +it uses ``\ttfamily .lyx\rmfamily '' files, which internally +resemble \TeX{}, but which are not. This allows \LyX{} to manage the `style' +of the code creation which, in turn, simplifies what is already a +complicated task. [How many different ways are there to make a word +bold with \LaTeX{}? I can think of at least three, but \LyX{} only understands +one.] \LyX{} then `interprets' the code in real-time---it does not constantly +run latex in order to update the display. Thus the screen shows an +approximation to the final output, not the \em exact \em output. Because +\LyX{} uses its own internal format, you cannot use it to open a ``\ttfamily .tex\rmfamily '' +file. Neither should you edit ``\ttfamily .lyx\rmfamily '' files +using \bfseries vi \mdseries or other text editors. + +\LyX{} is not for \LaTeX{} `power users'. You'll find many things which are easy +using \bfseries vi \mdseries are just not possible within \LyX{}, +as I found while composing this review. However, if you are a \LaTeX{} beginner, +or you have a requirement to `encourage' users away from inferior +and troublesome PC word-processors, \LyX{} may be just what you need. + + +\subsection*{The main Window} + +The main window resembles any other GUI word processor.\footnote{ +I'm being careful here not to mention that dreaded word word---damn +} It has a menu bar along the top plus a single row of icons in the +tool bar. At the bottom of the screen a status window gives the user +messages about what's happening. Figure~\ref{fig:fullscreen} shows the main \LyX{} window. + +\begin{figure*} +\centering +\includegraphics{lyx-full.eps.gz} +\caption{\LyX{} showing the \em Character Layout \em and \em Maths Panels\label{fig:fullscreen}\em} +\end{figure*} + +My first gripe is that the authors have chosen to use the \sffamily xforms +\rmfamily library to give the application its look and feel. This +is a bit like Motif, but has a number of deviations. Most significant +among these is the way the scroll bars work. But once you've got over +this the look and feel should be acceptable. According to the documentation +which comes shipped with \LyX{}, the authors have had to do a lot of work +on \sffamily xforms \rmfamily to get it into the current state. + +The choice of which tools appear in the tool bar is configurable via +the \ttfamily .lyxrc \rmfamily file.\footnote{ +users can have their own or can use a system-wide version +} Those that are available by default are the only ones which currently +have icons, so the choice isn't that great. This is where I get to +air my second gripe---the font selection icons. There are only three; +and exclamation mark for \em select emphasised style\em , I'm happy +with that. But the second is a figure of a person (man?) which denotes +something called noun style for setting small caps. Now this \em is +\em weird. The reason lies with the authors trying to give logical +names to styles---hence the choice for the small-caps which, apparently, +is used for people's names. However, I think this is a bad idea. The +third button has a user-customisable effect, which is set from the +\bfseries Layout/Character \mdseries menu. The menu gets `pinned' +to the display so enabling quick changes to family, series, shape +and size. Even so, dedicated buttons for typewriter font and bold +should be provided in a later release. + +On the left of the tool bar is the \em style selector. \em Here you +can choose most of the important \LaTeX{} layout styles, such as sections +(with and without asterisk) the three basic list environments, verse +and quote. There's also the \textbf{\texttt{LaTeX}} option which allows +the author to directly enter a \LaTeX{} command---these appear in red on +the screen. More about this later. + + +\subsection*{Getting started} + +Choose \bfseries New \mdseries from the \bfseries File \mdseries menu. +The file picker is definitely \em not \em Motif, which is one good +thing to say about \sffamily xforms\rmfamily . You can also +choose a file template which is used to initialise the document, by +inserting its contents into the new one. And away you go! + +{As you type, \LyX{} automatically breaks the line and wraps the cursor +onto the following line. You should only press \sffamily \(<\)Return\(>\) +\rmfamily to end the paragraph. Using \sffamily \(<\)Control-Return\(>\) +\rmfamily enters a \ttfamily \(\backslash\)\(\backslash\) \rmfamily command. +If you make change to a paragraph, \LyX{} instantly re-formats the screen +to show its new appearance. \LyX{} doesn't hyphenate words, it always breaks +at word boundaries. However, remember \LyX{} is only \em approximating +\em to the final appearance. Once you format the document, \TeX{} will +be finding the line breaks instead.\par} + +{Use \sffamily \(<\)Control-Space\(>\) \rmfamily for an unbreakable +space (tie) which is shown as a small red~{\footnotesize$\sqcup$}.\footnote{ +I tried, unsuccessfully, to create this symbol by using \ttfamily \(\backslash\)verb*+ ++. \rmfamily This produced a \LaTeX{} error, though not when I created +a ``\ttfamily .tex\rmfamily '' file and then formated that. +} New paragraphs are automatically shown indented (but not, of course, +immediately following a section). The menu \bfseries Layout/Paragraph +\mdseries can be used to cancel paragraph indentation. This has +a global effect on the document.\par} + +\LyX{} has intelligent quotes, which are used when the double-quote character +is entered. You can select English, French or German, single or double +marks. + +Clicking the floppy-disc icon in the tool bar automatically saves +your document back to disc. There's also a timed-backup feature. + +From the \bfseries Edit \mdseries menu, there is an ``infinite'' +depth undo facility. \LyX{} also supports PC-style \bfseries cut\mdseries , +\bfseries copy \mdseries and \bfseries paste \mdseries via +three buttons in the tool bar. It doesn't, however, support the normal +X-selection, which is a shame, so you can't export from \LyX{} to other +X-applications, though you can import using \bfseries Edit/Paste +Primary Selection\mdseries . + + +\subsubsection*{Changing the Appearance} + +You have two choices about changing the visual appearance. You can +either change the settings \em before \em you type something, or you +can go back, highlight it and then apply some new combination of effects. +For many commands `sensible' things happen when attributes are changed +and nothing is highlit. For example if I were to pick left-block from +the \bfseries Layout/Paragraph \mdseries menu in the middle +of this paragraph, the new setting would be automatically applied +to the whole of the current paragraph. + + +\subsection*{Lists} + +The easiest way to create a list is to enter each item as a separate +paragraph, then highlight all the items and choose the required list +type from the style drop-down. When a description list is used, the +first word of the item is automatically emboldened and you must use +unbreakable spaces (\sffamily \(<\)Control-Space\(>\)\rmfamily ) +to include more than one word. + +\LyX{} provides a forth list-type, \bfseries list\mdseries , which +which is based on the \LaTeX{} \ttfamily list \rmfamily environment. +An example follows; + +\begin{lyxlist}{enumeratedx} + +\item [itemized]produces bullet-points + +\item [enumerated]produces numbered lists + +\item [description]produces a bold subject followed by a description + +\item [list]produces this type of list. Note that the width used for each +label is the same. The actual width used is set by simply highlighting +the entire list and setting the label width using the \bfseries Layout/Paragraph +\mdseries menu, then clicking \bfseries Apply\mdseries . + +\end{lyxlist} + + +\subsubsection*{Lists within lists} + +The tool bar provides the button \em change environment depth\em . +This is used to insert a new list `level' into an existing list. For +example to achieve; + +\begin{itemize} + +\item This is an item of an \ttfamily itemize \rmfamily list + +\begin{itemize} + +\item This is the first item of a list \em within \em the first + +\end{itemize} + +\item end. + +\end{itemize} + +the \em change environment depth \em was used after entering the first +item so that the following item was at the next level. After entering +the second line, \sffamily \(<\)Return\(>\) \rmfamily puts +\LyX{} back at the previous level. Using the highlight-then-apply model, +it's possible to select a number of items for `moving' to a new level. + +\begin{enumerate} + +\item This is an item of an enumerated list + +\begin{itemize} + +\item When typed this was item 2, it will be moved to a new level + +\item When typed this was item 3 + +\end{itemize} + +\item When typed this was item 4 + +\end{enumerate} + + +\subsection*{Footnotes and marginal notes} + +A footnote is inserted into the document by using the dedicated button +in the tool bar. This opens a text box on the screen into which the +footnote text is entered. By clicking-left on the box's \em foot \em tab, +the footnote is closed and a small red ``foot'' appears in the main +text. Double-clicking left on this, re-opens the box for editing. +Clicking-right in the opened box allows the footnote to be deleted +(called \em melting\em ). Once the footnote has been melted, its text +just becomes part of the document. The opposite it true as well, just +highlight a piece of text, click the footnote button, and voil\`{a}---one +footnote. + +Marginal notes are handled in an identical manner. + + +\subsection*{Tables} + +Tables can be inserted either ``here'' or as floats and you can paste +an existing table into or out of a float. Inserting a table causes +it to appear on the screen centred under the ``current'' sentence. +Choosing a table float opens up a red table box into which the table +can be inserted and a caption added to the \bfseries Table: \mdseries prompt. +The box can then be collapsed in a same way as for footnotes. + + +\subsubsection*{The Table Editor} + +Creating a table (actually a \ttfamily tabular \rmfamily environment) +is achieved using a \em table editor\em . The first stage is to select +the number of rows and columns. Sliders are provided for this, defaulting +to 5x5. Once the size is set, an empty table is inserted into the +document, with the cursor positioned in the top left cell. The table's +initial layout assumes the first row will be used as a heading and +it is separated from the rest of the table by two horizontal lines +(\ttfamily \(\backslash\)hline\rmfamily s). Rows and columns +have separating rules. + +With the cursor positioned in a cell, entering text causes the text +to appear in the cell, and all cells of the same column automatically +expand to the same width---exactly as you'd expect with the \ttfamily tabular +\rmfamily environment. To edit neighbouring cells, simple use the +cursor arrow keys, or click the left mouse button. + +With the insert-cursor in a cell, clicking-right displays a table +menu which allows you to change the following; + +\begin{itemize} + +\item the text alignment from \bfseries center \mdseries to \bfseries left +\mdseries or \bfseries right\mdseries + +\item delete the column or row + +\item append a new column or row + +\item choose the rules used separate cells (select rule \bfseries left\mdseries , +\bfseries top \mdseries and/or \bfseries bottom\mdseries ). +If no rule is selected, a dotted-line is drawn to show the separation +between rows or columns. + +\item combine adjacent cells into a single cell (\em multicolumn\em )\em . +\em This is achieved by high-lighting the cells and choosing \bfseries multicolumn +\mdseries from the table-menu. I found that in version 0.10.7, +this sometimes caused problems. + +\end{itemize} + +Using the table editor, this is one of the examples from \em Lamport\em ; + +\vspace{0.92cm} +{\centering \begin{tabular}{|l|c|r|} +\hline +\em type\em &\multicolumn{2}{|c|}{\em style \em }\\ +\hline +smart&red&short\\ +\hline +rather silly&puce&tall\\ +\hline +\end{tabular}\par} +\vspace{0.92cm} + +In \em Lamport \em the table had a double rule at the top and bottom. +This particular feature seems not to be possible with the table editor. +\ttfamily \(\backslash\)cline\rmfamily 's aren't possible either. +Another tabular feature which I almost always use, namely \ttfamily \(\backslash\)arraystretch\rmfamily , +must be set by entering the required command directly (see below). + +Vertical space above and/or below the table can be added by high-lighting +the entire table and then changing the paragraph settings from the +\bfseries Layout/Paragraph \mdseries menu. This also permits +the table alignment to be changed to left or right. + + +\subsubsection*{Figures} + +Figures, like tables, are inserted ``here'' or as a float. You have +to decide which at the point of creation. \LyX{} allows the inclusion of +figures in one of three formats; +% +\begin{description} + +\item [encapsulated~PostScript]which is displayed centred on the page + +\item [in-lined~encapsulated~PostScript]which is displayed aligned with the +adjacent text + +\item [\LaTeX{}]which permits you to \ttfamily \(\backslash\)input \rmfamily a +file and display it centred on the page + +\end{description} + +The first two formats create boxes on the screen with an \bfseries F +\mdseries to signify a figure. Double-clicking-left on the box +opens up a dialogue box in which the details of the figure are programmed. +Apart from the obvious one of filename, the author can choose the +size, rotation angle and a command which \LyX{} uses to display the image. +(It defaults to using \bfseries ghostscript\mdseries .) Once +the parameters have been entered and applied, \LyX{} updates the display +with the image. + + +\subsection*{Setting Mathematics} + +\LyX{} has a \em maths editor \em which is much like the mathematics editor +of any other GUI-based word processor. To enter maths mode you can +either click the maths editor button from the tool bar, or choose +\bfseries Math/Math mode \mdseries for in-line maths or \bfseries Math/Display +\mdseries for displayed maths. In either case a small blue box +appears on the screen and the insert cursor is positioned within. +You are now in the maths editor. + +It is more difficult to describe how to use the editor than to use +it---even I quickly picked-up how it worked. The menu option \bfseries Math/Math +Panel \mdseries brings up a separate window from from which you +can pick the multitude of special \LaTeX{} symbols. For simple maths, for +example using Greek characters, just pick the character required from +the menu in the maths panel. For more complex maths, which perhaps +requires a ``two dimensional'' layout, the essential feature of the +editor is the use of the arrow keys which navigate you through the +equation. + +There are no menu options for superscripts and subscripts which greatly +simplifies the maths panel. Instead, these are entered by using \sffamily \(<\)\^{}\(>\) +\rmfamily and \sffamily \(<\)\_\(>\) \rmfamily respectively. +So, by just using the maths panel, \^{}/\_ keys and the arrow keys, you +can quickly create +\[ +\sum ^{\infty }_{i=0}\frac{1}{k^{2}}=\frac{\pi ^{2}}{6}\] +Or, how about +\begin{equation} +\label{maths:num} +y=\int _{0}^{\infty }\left\{ \frac{\sin ^{2}\left( \alpha \sqrt{\frac{ax+b}{cx+b}}\right) }{\sqrt{\beta =\alpha x}}\right\} ^{\frac{a+b}{c+d}}dx +\end{equation} + + +The appearance of the maths on the screen is more than adequate to +show the detail of what has been selected. The Greek characters and +special symbols are very well drawn. + +The maths panel supports roots, fractions, delimiters, ``over symbols'' +(called decorations), arrays and maths spacing. Any other feature +you require can be entered directly by typing the \TeX{} command directly +into the maths editor. The backslash is not displayed, but the remainder +of the command is shown in red. Numbered equations are created by +applying a label to the equation. Currently, you cannot swap a piece +of maths between `display' and `in-line'; you have to choose at the +point of creation. + + +\subsection*{Document styles} + +From the \bfseries Layout/Document \mdseries menu you can choose +a number of parameters which affect the whole document. These include +the document class, the typeface (\LyX{} supports the common \scshape PostScript +\upshape faces) body type size (\ttfamily 10pt\rmfamily , \ttfamily 11pt +\rmfamily etc), paper size, paper orientation (landscape or portrait), +single or two-sided, single or double column,\footnote{ +though \LyX{} does not display two columns if double column is chosen +} language (from which you can choose from about 20 possibilities), +baseline stretch, section numbering depth and table-of-contents depth. +Also from the \bfseries Layout \mdseries menu, the \bfseries Preamble +\mdseries option allows you to enter a series of lines which are +added verbatim to the document's preamble. + +There's good support for letters with \LyX{}; you can can select \bfseries letter +\mdseries as the document class and the standard installation comes +with a suitable template. Selecting the \bfseries letter \mdseries class +also changes the \LaTeX{} formatting options available from the style drop-down. +Included is \bfseries cc\mdseries , \bfseries Signature\mdseries , +\bfseries Opening \mdseries and \bfseries Closing\mdseries . + + +\subsection*{Entering \LaTeX{} Commands} + +Sooner or later you will want to achieve some formatting effect which +\LyX{} cannot currently handle. To do this you can enter a \TeX{} or \LaTeX{} command +directly into the document. You can do this in a number of ways, the +easiest of which is to use the dedicated button in the tool bar (with +the \TeX{} logo). Clicking this puts \LyX{} into ``\TeX{} mode'' and what you type +is shown in red. Effectively what you type is added to the file verbatim, +and no interpretation is undertaken. + +While creating this document I have had used this feature only a few +times. However, it will be clear by now that quite significant amounts +of \LaTeX{} are not yet covered by \LyX{}; rules, boxes, the minipage environment +and the tabbing environment, to name a few. And then there's all those +packages which are available. + + +\subsection*{Interfacing with \LaTeX{}} + +One of the most frustrating features with teaching beginners \LaTeX{} is +explaining how to deal with the inevitable errors which result from +formatting. \LyX{} solves this difficult problem in a way which must have +taken a great deal of work. Whenever \LyX{} runs \bfseries latex \mdseries for +you, any errors which occur are flagged by inserting a red, \sffamily \fbox{\rmfamily Error\sffamily } +\rmfamily into the document at the point where the error occurred. +By clicking-left over the box, it opens to show you the description +of the error. This is really neat. From the \bfseries Edit \mdseries menu, +use \bfseries Goto error \mdseries to rapidly move between the +different errors. + +Printing is possible from the \bfseries File \mdseries menu +as well as from a dedicated button in the tool bar. A print dialogue +allows the author to choose the name of the printer (that which would +normally be appended to a \ttfamily -P \rmfamily option using +an \bfseries lpr \mdseries command), the stacking order (normal +or reverse) and whether to print to a file or printer. When the document +is printed, \LyX{} doesn't bother to re-format if nothing has been changed. +Because \bfseries latex \mdseries is only run once this causes +problems if your document uses cross-references. The work-around is +to format the document twice using \bfseries File/Run \textbf{LaTeX} +\mdseries and then to use the print button. + +It's possible to create (to quote the menu) a ``nice'' \ttfamily .tex +\rmfamily file from the ``\ttfamily .lyx\rmfamily '' file. +This can be sent to someone who doesn't use \LyX{}, and will, naturally, +produce an identical output, notwithstanding the usual issues of fonts +and packages. This is how this document was transmitted to the editors +of \em Baskerville\em . + + +\subsection*{Spell Checker} + +\LyX{} supports a spell checker by interfacing with the \scshape gnu +\upshape \bfseries ispell \mdseries command, which must be +separately installed. Using the spell checker is simplicity itself. +Mis-spelled words are highlighted in the main document, while in a +separate window the alternate choices are displayed, together with +a number of control buttons (see figure~\ref{fig:spellchecker}). A progress bar is also +provided. + +\begin{figure*} +\centering +\includegraphics{spellcheck.eps.gz} +\caption{The spell checker window\label{fig:spellchecker}} +\end{figure*} + + +\subsection*{A Final Word} + +Version 0.12 is not far away. It will concentrate on bug fixes rather +than lots of new features, although a text-export (via the dvi file) +will be added. The developers are also talking about ditching the +\sffamily xforms \rmfamily library which is causing a number +of problems. Most intertesting of all the developers are making tantalising +noises about supporting the ability to directly edit existing ``\ttfamily .tex\rmfamily '' +files and dropping the \ttfamily lyx \rmfamily format. + +There are a number of \LaTeX{} features which are supported by \LyX{} but which +have not been covered in this review. These include tables-of-content, +lists-of-figures and tables, cross references, bibliographic citations, +verse, various commands for building title pages (title, author etc.). + +I'm a die-very-hard user of \bfseries vi\mdseries , but even +after a couple of hours with \LyX{}, I now find myself wishing for word-wrap +and point-click-type when using an xterm. There's no getting away +from it, GUI applications are appealing. It's sometimes the case that +\scshape wysiwyg \upshape editors are less powerful than using +something simple like \bfseries vi \mdseries and doing it ``by +hand''. But the \LyX{} approach of only supporting basic \LaTeX{}, while allowing +\em any \em command to be entered verbatim, makes the final product +easy to use yet powerful at the same time. + +Its difficult for me to over express my admiration for this program +and my thanks to the authors for their effort in producing it. It's +brilliant! Even the ``beta'' 0.10.7 version has proved to be extremely +reliable---I regard 3~crashes as well within acceptable limits, especially +for such an early version. Such an editor is, in my view, long overdue +for the \LaTeX{} world and the fact that Unix has been chosen as the first +delivery OS heartens me no-end. Well done Matthias and the rest of +the team! + +%\vspace{1.61cm} +%{\raggedleft Andrew F. Lack \\ +%\ttfamily sa346@city.ac.uk\par} + +\end{Article} +%\end{document} \ No newline at end of file diff --git a/usergrps/uktug/baskervi/7_1/lyx.tex b/usergrps/uktug/baskervi/7_1/lyx.tex new file mode 100644 index 0000000000..3eda7eecaf --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/lyx.tex @@ -0,0 +1,158 @@ +%% This LaTeX-file was created by Mon Jun 30 22:46:50 1997 +%% LyX 0.10 (C) 1995 1996 by Matthias Ettrich and the LyX Team + +%% Don't edit this file unless you are sure what you are doing. +%\documentclass[10pt,oneside,onecolumn]{article} +%\usepackage[]{fontenc} +%\usepackage[dvips]{epsfig} +%\usepackage{a4} + +%% +%% BEGIN The lyx specific LaTeX commands. +%% + +%%%%%%%%%%%%%\makeatletter +%%%%%%%%%%%%%\def\LyX{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\spacefactor1000}% +%%%%%%%%%%%%%\newcommand{\lyxtitle}[1] {\thispagestyle{empty} +%%%%%%%%%%%%%\global\@topnum\z@ +%%%%%%%%%%%%%\section*{\LARGE \centering \sffamily \bfseries \protect#1 } +%%%%%%%%%%%%%} +%%%%%%%%%%%%%\newcommand{\lyxline}[1]{ +%%%%%%%%%%%%%{#1 \vspace{1ex} \hrule width \columnwidth \vspace{1ex}} +%%%%%%%%%%%%%} +%%%%%%%%%%%%%\newenvironment{lyxbibliography} +%%%%%%%%%%%%%{ +%%%%%%%%%%%%%\begin{thebibliography}{99}} +%%%%%%%%%%%%%{\end{thebibliography}} +%%%%%%%%%%%%%\def\lxq{"} +%%%%%%%%%%%%%\newenvironment{lyxcode} +%%%%%%%%%%%%%{\list{}{ +%%%%%%%%%%%%%\rightmargin\leftmargin +%%%%%%%%%%%%%\raggedright +%%%%%%%%%%%%%\itemsep 0pt +%%%%%%%%%%%%%\parsep 0pt +%%%%%%%%%%%%%\ttfamily +%%%%%%%%%%%%%}% +%%%%%%%%%%%%%\item[] +%%%%%%%%%%%%%} +%%%%%%%%%%%%%{\endlist} +%%%%%%%%%%%%%\newcommand{\lyxlabel}[1]{#1 \hfill} +%%%%%%%%%%%%%\newenvironment{lyxlist}[1] +%%%%%%%%%%%%%{\begin{list}{} +%%%%%%%%%%%%%{\settowidth{\labelwidth}{#1} +%%%%%%%%%%%%%\setlength{\leftmargin}{\labelwidth} +%%%%%%%%%%%%%\addtolength{\leftmargin}{\labelsep} +%%%%%%%%%%%%%\renewcommand{\makelabel}{\lyxlabel}}} +%%%%%%%%%%%%%{\end{list}} +%%%%%%%%%%%%%\newcommand{\lyxletterstyle}{ +%%%%%%%%%%%%%\setlength\parskip{0.7em} +%%%%%%%%%%%%%\setlength\parindent{0pt} +%%%%%%%%%%%%%} +%%%%%%%%%%%%%\newcommand{\lyxaddress}[1]{ +%%%%%%%%%%%%%\par {\raggedright #1 +%%%%%%%%%%%%%\vspace{1.4em} +%%%%%%%%%%%%%\noindent\par} +%%%%%%%%%%%%%} +%%%%%%%%%%%%%\newcommand{\lyxrightaddress}[1]{ +%%%%%%%%%%%%%\par {\raggedleft \begin{tabular}{l}\ignorespaces +%%%%%%%%%%%%%#1 +%%%%%%%%%%%%%\end{tabular} +%%%%%%%%%%%%%\vspace{1.4em} +%%%%%%%%%%%%%\par} +%%%%%%%%%%%%%} +%%%%%%%%%%%%%\newcommand{\lyxformula}[1]{ +%%%%%%%%%%%%%\begin{eqnarray*} +%%%%%%%%%%%%%#1 +%%%%%%%%%%%%%\end{eqnarray*} +%%%%%%%%%%%%%} +%%%%%%%%%%%%%\newcommand{\lyxnumberedformula}[1]{ +%%%%%%%%%%%%%\begin{eqnarray} +%%%%%%%%%%%%%#1 +%%%%%%%%%%%%%\end{eqnarray} +%%%%%%%%%%%%%} +%%%%%%%%%%%%%\makeatother + +%% +%% END The lyx specific LaTeX commands. +%% + +%\pagestyle{plain} +%\setcounter{secnumdepth}{3} +%\setcounter{tocdepth}{3} +%\begin{document} + +\title{Sample of the {\LyX} ``wysiwyg'' +front-end editor for {\LaTeX}} +\author[Andrew F.~Lack]{Andrew F.~Lack\\\texttt{sa346@city.ac.uk}} + +\begin{Article} + + +\subsection*{\TeX{} Users are Bilingual} + +Whilst at school and studying for my \scshape cse\upshape 's +(yes, a long time ago) I tried to learn French. My \scshape cse +\upshape grade \em unclassified \em suggested I wasn't ever destined +to be bilingual. But I was not rekoning on \TeX{}. + +A recent edition of \em Acorn Publisher \em carried a review of a +scientific word-processor called \em TechWriter\em . Now let me make +one thing clear---I \em do not \em own an Acorn machine or run any +Acorn software. So why was I reading the magazine? Well, a friend +lent it to me knowing I was interested in this kind of thing. And +jolly glad I was that I read it, because apparently I speak \em gobbledegook +\em and I never knew it. + +Let me try a little gobbledegook out on you---see if you also speak +it. Here goes, + +\(\backslash\)begin\{quote\} + +\(\backslash\)large Hi There! \(\backslash\)\(\backslash\) + +\(\backslash\)normalsize Can you direct me to the railway station? +\(\backslash\)\(\backslash\) + +\(\backslash\)end\{quote\} + +How did you do? You see, it's easy! + +If I believe what I read in \em Acorn Publisher, \em users of these +machines are unable to understand the syntax of \LaTeX{} commands and so +give up at learning the language. What a lot their missing out on. + +The review of \em TechWriter \em explained the virtues of a \scshape wysiwyg +\upshape interface for composing scientific documents. Of course +such interfaces are easy to use and appealing, but they as powerful? +You can do a lot of clever things with something as primative as \bfseries vi +\mdseries and a few \LaTeX{} macros. It's unlikely, in my view, that any +\scshape wysiwyg \upshape interface is ever going to be that +powerful---the combination of possibilities is just too high. + +Even the much praised \em TechWriter Pro \em (\pounds 199.00 plus +\scshape vat) \upshape with its ability to output to \TeX{}, doesn't +have numbered equations (yet). And you can hardly call numbered equations +complex. Another example is index generation. \em TechWriter \em allows +you to select any word (probably by clicking the mouse on it) and +its automatically added to the index. Is that it? What about placing +words in the index which say ``see also\ldots'' or topics which span +several pages? + +\scshape wysiwyg \upshape programs lull authors into a false +sense of ``this is simple'' when, in fact, what they are doing is +over-simplifying what at times can be a difficult job. You have to +work hard for good typography, it won't just pop out of a dialogue +box. + +I've recently completed an in-depth review of \LyX{}, a \scshape wysiwyg +\upshape front-end for \LaTeX{}, and I loved using it. How can this be in +view of what I've just said? Well, \scshape wysiwyg \upshape programs +are just fine, as long as those who use them understand their limitations. + +And the moral of this tail is keep practising the gobbledegook. + +\ttfamily \(\backslash\)bye\rmfamily + +\end{Article} + +%\end{document} diff --git a/usergrps/uktug/baskervi/7_1/rahtz.tex b/usergrps/uktug/baskervi/7_1/rahtz.tex new file mode 100644 index 0000000000..f458936876 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/rahtz.tex @@ -0,0 +1,607 @@ +\makeatletter +\def\MP{MetaPost} +\def\foreign{\em} +\def\eg{{\foreign e.g.~}\ignorespaces} % e.g. +\DeclareRobustCommand\META{\textlogo{META}} +\newsavebox{\boxdef} + \newenvironment{BDef}{\begin{lrbox}{\boxdef}\def\arraystretch{1.0}% + \begin{tabular}{@{}l@{}l@{}l@{}}}% + {\end{tabular}\end{lrbox}% + \BCmd\fbox{\usebox\boxdef}\endBCmd} % i hate this whole coding section! +\newenvironment{BCmd}{\@beginparpenalty-\@lowpenalty\fboxsep=3pt\flushleft} + {\@endparpenalty\@M\@topsepadd 10pt\relax \endflushleft} +\makeatother +\def\Mpack#1{\texorpdfstring{\textsf{#1}}{#1}} +\let\Lpack\textsf +\let\Mmpack\textsf +\let\Mcmd\texttt +\let\mMcmd\texttt +\let\Author\relax +\def\Program#1{\textsf{#1}} +\let\mMPcmd\texttt +\let\MPcmd\texttt + +\def\PreambleCommands{input graph} +\title{A tutorial on using \MP's \Mpack{graph} package} +\author[Sebastian Rahtz]{Sebastian Rahtz\\7 Stratfield Road\\Oxford OX2 7BG\\UK\\\texttt{s.rahtz@elsevier.co.uk}} + +\begin{Article} +\section{Introduction} + +\MP{} is a sibling program to \MF, which replaces the bitmap output of +the latter with PostScript and is designed more as a general-purpose +drawing language than a font creation package. Although it has been +around for five years or so (it has been Don Knuth's tool of choice for +drawing for some time), it has only recently started becoming +generally available for most users. With the release of Web2c version +7.0, \MP{} is integrated into the standard Unix and Windows 32 \TeX{} +distribution, and it is also part of the CMacTeX and OzTeX packages +for the Macintosh. + +Although many people find general-purpose drawing languages quite +forbidding and counter-intuitive, creating nice graphs from simple +data files is a common task, and the purpose of this short +tutorial\footnote{This material is taken from chapter 3 of \emph{The \LaTeX{} + Graphics Companion}, by Michel Goossens, Sebastian Rahtz and Frank + Mittelbach, published by Addison-Wesley in March 1997. Reprinted by +permission of Addison-Wesley.} about \MP{} +is to describe its graphing support. The high-level library of \MP{} +macros to draw graphs was written by \MP's author, John Hobby, to +provide a sophisticated interface comparable to \Program{grap} +(see Bentleyand Kernighan, 1984). It is hoped that by giving +examples of its use, more people can be encouraged to try it and (who +knows?) start to explore more of \MP{} for other sorts of drawing. + +\MP{} is well documented in Hobby (1992), and the graph package +is described in Hobby (1993); both these documents normally form part +of a \MP{} distribution. + +\section{Getting started} +To start, a quick recipe for writing a \MP{} input file. +Unlike \TeX, there are no backslashes or curly braces, and commands +normally end with semicolons; at the start of your file, you need to +load the \texttt{graph} package with an \texttt{input} command, and +the file is completed with \texttt{end;}. In between you can have one or more +drawings inside \texttt{beginfig}\ldots \texttt{endfig;}, where +\texttt{beginfig} has a parameter (in round brackets) of +a number which will be the suffix of the output PostScript file. A +graph comes inside \texttt{draw begingraph} \ldots \texttt{endgraph;}, +where \texttt{begingraph} has a parameter of two dimensions which set +the width and height of the graph. \MP{} takes care of scaling all the +drawing to fit in this area. Thus a complete \MP{} file might look +like this: +\begin{sverbatim} +input graph +beginfig(1) +draw begingraph(2.5in,1.75in); +gdraw "yearm.dat"; +endgraph; +endfig; +end; +\end{sverbatim} +If we save this as \texttt{test.mp}, and run it with the command +\texttt{mpost test.mp}, the output (under Unix) looks something like +this: +\begin{fverbatim} +darkstart:~/# mpost test.mp +This is MetaPost, Version 0.632 (Web2c 7.0) +(test.mp (/cdrom/share/texmf/metapost/base/graph.mp +(/cdrom/share/texmf/metapost/base/marith.mp +(/cdrom/share/texmf/metapost/base/string.mp)) +(/cdrom/share/texmf/metapost/base/format.mp +(/cdrom/share/texmf/metapost/base/string.mp) +(/root/tds/metapost/latexpp/texnum.mp))) [1] ) +1 output file written: test.1 +Transcript written on test.log. +\end{fverbatim} +Labels or captions in a \MP{} drawing are often passed to \TeX{} to +process behind the scenes, as we shall see presently, and the result +is a PostScript file we can include in our \TeX{} in the ordinary +way. It is assumed that the reader can find out how to do this. + +Rather than showing the trivial result of that test, let us +consider a slightly more sophisticated real +graph (using data from the Protestant Cemetery, +Rome---see Rahtz (1988)) which looks like this (henceforth we +only show the \MP{} code between \texttt{begingraph} and +\texttt{endgraph}): +\begin{MPExample*}{} +draw begingraph(2.5in,1.75in); +gdraw "yearm.dat" dashed evenly; +gdraw "yearw.dat"; +glabel.lft + (btex (solid) Women etex, 1960,30); +glabel.lft + (btex (dashed) Men etex ,1870,30); +glabel.bot + (btex Number of burials per year + ($n \approx 4300$) etex,OUT); +endgraph; +\end{MPExample*} +This shows some of the main features of the \Mpack{graph} package for +plotting data from external data files and labeling. The command +\texttt{gdraw} (which can be used several times in succession) is +followed by a file name; it reads data values (two per line, giving an +$x$ and $y$ coordinate) from that file, and plots the resulting line. +The effect can be varied with various modifiers --- here we used +\texttt{dashed evenly}. The command \texttt{glabel}, to place some +captioning text, has a prefix (separated by .) which indicates where +on the graph it is to go (\texttt{lft} = `left', \texttt{bot} = +`bottom' etc). It is followed by an expression inside round brackets +of text, an $x$ coordinate, and a $y$ coordinate. The special +coordinate pair of \texttt{OUT} means it will be placed neatly outside +the graph area. You can supply literal text in quotes, or have it +processed by \TeX{} by bracketing it with \texttt{btex} \ldots +\texttt{etex} (no quotes around the text in this case). + +The \texttt{graph} package can take care of: +\begin{itemize} +\item automatic scaling of data; +\item automatic generation and labeling of tick marks or grid lines; +\item multiple coordinate systems in the same picture; +\item linear and logarithmic scales; +\item plotting with arbitrary symbols; +\item handling multiple columns in the same data file, with + user-specified procedures. +\end{itemize} + +\section{Variations in basic graphing} +If \Mcmd{gdraw} is followed by a \mMcmd{plot} command, a symbol can be +drawn at each coordinate instead of a continuous line; the symbols is +technically a \MP{} ``picture'', i.e. in practice some text which +can be typeset by \TeX, as the following variation shows:% +\begin{MPExample*}{} +draw begingraph(2.5in,1.75in); +gdraw "yearm.dat" + plot btex $\bullet$ etex; +gdraw "yearw.dat" + plot btex $\circ$ etex; +glabel.bot + (btex Burials etex,OUT); +glabel.lft + (btex Number etex rotated 90,OUT); +endgraph; +\end{MPExample*} +For this graph we also rotated the label for the $y$ axis by +90\textdegree{} using a modifier to \texttt{btex} \ldots +\texttt{etex}. + +\subsubsection{Frames, ticks, grids and scales} +By default, graphs have a frame on all sides, +no grid, and tick marks on the bottom and left. +The frame can be altered with the \mMcmd{frame} command, which has +a set of optional suffixes. Grid lines and ticks are controlled with +\Mcmd{autogrid}: +\begin{BDef} +\mMcmd{autogrid}(\emph{$x$ specification},\emph{$y$ specification}) +\end{BDef} +\noindent The specifications can have the values \mMcmd{grid}, +\mMcmd{itick} or +\mMcmd{otick}, which produce grid lines, inner ticks, or outer ticks; +they can be suffixed with \texttt{.top} or \texttt{.bot} for the $x$ axis +and \texttt{.lft} and \texttt{.rt} for the $y$ axis, as the following +example shows: +\begin{MPExample*}{} +draw begingraph(2.5in,1.75in); +gfill "yearw.dat" withcolor red; +autogrid(grid.bot,itick.rt) + withcolor .5white; +frame.llft; +endgraph; +\end{MPExample*} +To override \Mpack{graph}'s choice of where to put tick +marks and how to write labels, you can add explicit ticks with +\mMcmd{itick} or \mMcmd{otick} +and grid lines with \mMcmd{grid}. +These have the same suffixes as \Mcmd{autogrid} and are +followed by a \MP{} picture variable containing a label or a +\Mcmd{format} command, and a coordinate. \Mcmd{format} +is used to control how numbers are printed: +\begin{BDef} +\mMcmd{format}(\emph{specification},\emph{number}) +\end{BDef} +\noindent The \emph{specification} consists of +an optional initial string, a percent sign, +an optional number indicating precision (default 3), a conversion +letter (\texttt{e}, \texttt{f} or \texttt{g}) and an optional final string. +The conversion letter determines whether or +not scientific notation is used; +\texttt{\%g} will use decimal format for most numbers. How +the scientific notation used by \Mcmd{format} is typeset depends on a +\MP{} macro called \Mcmd{init\_numbers} (see manual); since this uses +the \MPcmd{btex}\ldots\MPcmd{etex} system, you may need to look at it +carefully if you are concerned about precisely which fonts are used. + + +The next graph shows both types of explicit labeling; +we have to remember to turn off the normal marks at the end!% +\begin{MPExample*}{} +draw begingraph(2.5in,1.75in); +gfill "yearw.dat" withcolor red; +for y=10,20,30: + itick.lft(format("%g",y),y); +endfor +otick.top("19th century",1850); +otick.top("20th century",1950); +frame.llft; +autogrid(,); +endgraph; +\end{MPExample*} +The labeling can also be changed by \Mcmd{setcoords} +\begin{BDef} +\mMcmd{setcoords}(\emph{$x$ style},\emph{$y$ style}) +\end{BDef} +The parameters for $x$ and $y$ can be set to +\texttt{log}, \texttt{-log}, \texttt{linear}, or \texttt{-linear}. + +While the program's scaling of data to fit the graph usually gives the right +results, it can be overridden with \Mcmd{setrange}: +\begin{BDef} +\mMcmd{setrange}(\emph{min},\emph{max}) +\end{BDef} +You need to supply the minimum and maximum coordinates. +The special constant +\mMcmd{origin} is a useful shorthand for (0,0). +To leave any value to be figured out +by \MP, specify \mMcmd{whatever}. If you specify no range +at all, \MP{} works it out from the data values and adds a small +border. + +\subsubsection{Reading data files} +Although the \Mcmd{gdraw} and \Mcmd{gfill} commands often suffice, we +can get more control over the data read from a file by using \Mcmd{gdata}: +\begin{BDef} +\mMcmd{gdata}(\emph{filename}, \emph{variable}, \emph{commands}) +\end{BDef} +The \emph{commands} are executed for every line of data in +\emph{filename}, with the values for each column available as, \eg $c1$, $c2$ +\ldots $c\mbox{n}$ for the variable name $c$. \emph{filename} is a +\META{} string, so simple names should be enclosed in quotes (file +names can also be computed from \META{} variables.) Using some more data +from the Protestant Cemetery in which each line consists of a person's +age at death, we can show the distribution of mortality by age by +accumulating data in an array and using that to create a path:% +\begin{MPExample*}{} +draw begingraph(2.5in,1.5in); +numeric p[]; path r; +for j := 0 upto 100: p[j]:=0; endfor +gdata ("ages.dat",y, age:=(scantokens y1); + p[age]:=p[age] + 1;); +r:=(0,0) + for j := 1 upto 100: --(j,p[j]) endfor; +gdraw r; +frame.llft; +endgraph; +\end{MPExample*} +The only complications are the need to initialize the array and +the conversion of the string representation read from the data file +into a numeric value with \mMPcmd{scantokens}. + +When \mMcmd{gdata} reads data files, it stops when it reaches a blank +line or end of file; if you start \Mcmd{gdata} again with the same +file name, it carries on reading another set of data. This allows you +to put all your data sets in one file, but use it with care. One +problem is that data files remain open if there is a blank line at the +end, since \MP{} thinks some more data might follow; if you have many +small data files, this situation can cause a \MP{} error---check the +end of your files. + +This display in the example above is not very readable; it might be +better to accumulate data per decade of death from the file. As this +gets a little more complicated, we abstract the job into a \MP{} macro +called by the \Mcmd{gdata} command: +\begin{MPExample*}{} +draw begingraph(2.5in,1.75in); +setrange(origin,(100,100)); +numeric p[]; path r; +for j := 0 step 10 until 100: + p[j]:=0; endfor +def check(expr age) = + if age < 100: + xage:=round(age/10) * 10; + p[xage]:=p[xage] + 1; fi +enddef; +gdata ("ages.dat",y, + check((scantokens y1));); +r:=(0,0) for j := 0 step 10 until 100: + --(j,p[j]) endfor --(100,0); +gfill r -- cycle withcolor blue; +frame.llft; +endgraph; +\end{MPExample*} + +It is often useful to accumulate points on a path for each line +read from the data file; the macro \mMcmd{augment} is provided for +this. Given a suffix of a variable name of type ``path'' and a +parameter of a coordinate, \Mcmd{augment} +creates the path if it does not exist +or adds the point to an existing path. We use this to show the +gravestone data again, this time processed to provide separate +figures of deaths per decade for women (column 2) and men (column~3): +\begin{verbatim} +1800 3 6 +1810 9 15 +1820 26 64 +1830 31 88 +... +\end{verbatim} +For each decade, we keep track of the last point reached and augment +separate paths for male and female; these are then shaded in different +colors to show how the +male and female patterns vary over time. We need to know the last +decade in order to establish a sensible corner for the filled shape. +The female pattern appears as a dotted line on top of the male +shading. +\begin{MPExample*}{} +path m,w,last; +draw begingraph(3in,2in); +setrange((1800,0),(whatever,whatever)); +gdata ("decade.dat",y, + last:=((scantokens y1),0); + augment.w(y1,y2); + augment.m(y1,y3);); +gfill (1800,0)--w--last--cycle + withcolor red; +gfill (1800,0)--m--last--cycle + withcolor green; +pickup pencircle scaled 3pt; +gdraw w dashed withdots; +pickup pencircle scaled .75pt; +glabel.bot (btex Number of burials per decade + ($n \approx 4300$) etex,OUT); +endgraph +rotated 90; +\end{MPExample*} +The example demonstrates that the graph macros return a \META{} picture +that can then be transformed (in this case rotated). + +\subsubsection{Different graph types} +With a little effort, \Mpack{graph} can draw bar charts; +to demonstrate this, we copy a chart from +Goossens et~al.\ (1994), p.~287, that was made with the \LaTeX{} \Lpack{bar} +package. Our technique is to make a single path out of all the bars +and fill the result at the end:% +\begin{MPExample*}{} +path s; numeric x,y; +draw begingraph(2.5in,1.75in); +gdata ("students.dat",c, + x:=(scantokens c1) * 12; + y:=(scantokens c2); + augment.s((x-5,0)-- + (x-5,y)-- (x+5,y)-- + (x+5,0)); + if y < 0: glabel.top(c2,(x,0)); fi + if y > 0: glabel.bot(c2,(x,0)); fi +); +gfill s--cycle withcolor .5white; +frame.llft; +endgraph; +\end{MPExample*} +\noindent We explicitly work out the corners of each bar and allow for +their width by multiplying the $x$ values by 12; the bars +themselves span 5 units on either side of the data point, so there is a +gap of 2 units between each one. + +A similar technique is used in the next chart which shows the number +of pages in chapters of \emph{The \LaTeX{} Graphics Companion}; +this time we draw each bar separately, so that they can be shaded +according to the values. The work is delegated to a macro, which also +prints a rotated label for each bar. Because explicit $x$ labels are +supplied, labeling of the $x$ axis is suppressed. +\begin{MPExample*}{} +path m; numeric n,width; +width:=20; defaultscale:=0.6; n:=0; +def bar(expr name,value) = + gfill(n,0)--(n,value)-- + (n+width,value)--(n+width,0)--cycle + withcolor (value/100,value/100,value/100); + picture p; + p = name infont defaultfont + scaled defaultscale rotated 90; + glabel.rt + (image(unfill bbox p; draw p),(n,10)); + n:=n+width; +enddef; +draw begingraph(2.5in,1.75in); +setrange((0,0),(11*width,100)); +autogrid(,otick.lft); +gdata("chap.dat",c,bar(c1,(scantokens c2));); +endgraph; +\end{MPExample*} +The string value read from the first data column is put into a +\MP{} picture variable by using the low-level command \mMPcmd{infont}. +This lets us use \MPcmd{bbox} technique to give the extent of the +text, which is made white with \MPcmd{unfill}. +\mMPcmd{image} is a useful macro that +yields the picture resulting from a sequence of drawing commands; we +use that as a label. The data for this graph starts as follows: +\begin{verbatim} +graphics 28 +stdgraph 26 +xypic 28 +mf 26 +... +\end{verbatim} + +We can also present our earlier ``decade'' data +as a dual bar chart, with male and female figures side by side. To do +this we maintain two separate paths, fill one and leave the other as +an outline: +\begin{MPExample*}{} +path m[],w[]; +def wcheck(expr decade,value) = + augment.w1(decade,0); + augment.w1(decade,value); + augment.w1(decade+5,value); + augment.w1(decade+5,0); +enddef; +def mcheck(expr decade,value) = + augment.m1(decade+5,0); + augment.m1(decade+5,value); + augment.m1(decade+10,value); + augment.m1(decade+10,0); +enddef; +draw begingraph(3.75in,2in); +gdata ("decade.dat",y, + wcheck((scantokens y1),(scantokens y2)); + mcheck((scantokens y1),(scantokens y3));); +gfill m1--cycle; +gdraw w1; +glabel.bot (btex Number of burials per decade + ($n \approx 4300$) etex,OUT); +frame.llft; +endgraph rotated 90; +\end{MPExample*} + +With care, we can even draw pie charts using similar +ideas. The following example \label{mppie} reads data about gravestones in the +Protestant Cemetery in the following form: +\begin{verbatim} +Romanian 1 0.02796420582 +Czech 2 0.05592841163 +..... +Italian 391 10.93400447 +German 508 14.20581655 +unknown 599 16.75055928 +English 1462 40.8836689 +\end{verbatim} +\noindent Here the second column is the number of gravestones per +nationality and, to make the code less complicated, the third column is the +percentage of the total. For each pie wedge, we use +the \mMPcmd{buildcycle} macro to find the smallest enclosed shape from +the union of a whole circle and two lines extending from the center at +the starting and closing angle of the segment. The fill color of the +wedge is derived from the percentage. +\begin{MPExample*}{} +numeric r,last; path c,w; +r:=5; c:=fullcircle scaled 2r; +last:=0.0; +def wedge (expr lang,value,perc) = + numeric current,n,half,xoff,yoff; + picture p; + n:=perc*3.6; + current:=last+n; half:=last+(n/2); + w:=buildcycle((0,0)--(2r,0) rotated last, + c, (2r,0)--(0,0) rotated current); + gfill w withcolor + (0.8-(perc/100),0.8-(perc/100),0.8-(perc/100)); + gdraw w; + if perc > 5: + p = lang infont defaultfont + scaled defaultscale; + glabel(image(unfill bbox p; draw p), + 3/4r*dir(half)); + fi; + last:=current; +enddef; +draw begingraph(3in,3in); +defaultscale:=0.7; +gdata ("langs.dat",c, + wedge(c1, (scantokens c2), + (scantokens c3));); +autogrid(,); frame withcolor white; +endgraph; +\end{MPExample*} +The placement of the labels in the pie bears a +little examination; they are placed in the center of each wedge, three quarters +of way along the radius. + +Another type of graph has a linear $x$ scale and uses the $y$ axis +simply to compare sets of data. The following graph uses our +cemetery data to show the first and last occurrences of each type of +gravestone. The code is straightforward +except that we draw the lines +with a different sized pen (with square ends) and revert +to a thin line to draw the scale and frame (only on the bottom, since +the $y$ axis is not linear). +\begin{MPExample*}{} +draw begingraph(2.5in,2.5in); +n:=10; +defaultscale:=0.7; +pickup pensquare scaled 3pt; +setrange((1700,0),(whatever,whatever)); +gdata("stones.dat", s, +gdraw ((scantokens s2),n)-- + ((scantokens s3),n); +glabel.lft(s1,(scantokens s2)-3,n); +n:=n+16;); +pickup pensquare scaled .5pt; +frame.bot; +autogrid(otick.bot,); +endgraph; +\end{MPExample*} +The data, ranked in order of first occurence, starts like this: +\begin{verbatim} +Chest 1738 1966 +Head 1765 1986 +Column 1766 1960 +Plaque-on-base 1775 1986 +Pedestal 1786 1967 +Plaque-in-ground 1794 1985 +\end{verbatim} + +Our last example +is more unusual. We want to plot data from a survey +grid and shade each grid square according to its data value; in the data +file the first two columns are the coordinates of the lower left +corner of the grid square, the third column is the absolute data +value, and the fourth column is a percentage version: +\begin{verbatim} +2 1 102 85 +2 2 10 98 +2 3 110 84 +2 4 112 83 +2 5 114 83 +... +\end{verbatim} +The text is printed in white or black depending on the percentage. +\begin{MPExample*}{} +def sq(expr x,y,num,perc) = + gfill(x,y)--(x+10,y)-- + (x+10,y+10)--(x,y+10)--cycle + withcolor (perc/100,perc/100,perc/100); + glabel(num,(x+5,y+5)) + if perc < 50: withcolor white fi; +enddef; +defaultscale:=0.7; +draw begingraph(70mm,80mm); +setrange((20,10),(110,110)); +autogrid(,); +gdata ("pot.dat",c, + sq((scantokens c1)*10, + (scantokens c2)*10, + c3, (scantokens c4));); +endgraph; +\end{MPExample*} + +\begin{thebibliography}{99} +\bibitem{Bentley/Kernighan:1984} +Bentley, J. and Kernighan, B. 1984. +\newblock \emph{{GRAP} --- a language for typesetting graphs}. +\newblock Computing Science Technical Report 114, AT\&T Bell Laboratories, + Murray Hill, NJ. + +\bibitem{Companion} +Goossens, M., Mittelbach, F. and Samarin, A. 1994. +\newblock \emph{The {\LaTeX} companion}. +\newblock Reading, MA: Ad{\-d}i{\-s}on-Wes{\-l}ey. + +\bibitem{Hobby:MP} +Hobby, J.~D. 1992. +\newblock \emph{A user's manual for MetaPost}. +\newblock Computing Science Technical Report 162, AT\&T Bell Laboratories. + +\bibitem{Hobby:MPG} +Hobby, J.~D. 1993. +\newblock \emph{Drawing graphs with MetaPost}. +\newblock Computing Science Technical Report 164, AT\&T Bell Laboratories. + +\bibitem{Rahtz:1988} +Rahtz, S. 1987. +\newblock The Protestant Cemetery, Rome: a study undertaken under the auspices + of the Unione Internazionale degli Istituti di Archeologia, Storia e Storia + dell'Arte in Roma. +\newblock \emph{Opuscula Romana}, \textbf{16}, 149--167. + +\end{thebibliography} +\end{Article} diff --git a/usergrps/uktug/baskervi/7_1/regul.tex b/usergrps/uktug/baskervi/7_1/regul.tex new file mode 100644 index 0000000000..cb2d28b064 --- /dev/null +++ b/usergrps/uktug/baskervi/7_1/regul.tex @@ -0,0 +1,170 @@ +% This file is the regular `last page' of BV + +\title{The \UKTUG} +\author{edited by Peter Abbott\\\texttt{uktug-enquiries@tex.ac.uk}} +\begin{Article} + + +\section*{The 1996--97 \ukt\ committee} +\begin{tabular}{lp{2in}} +R.~Fairbairns & Chair\\ +P.~Abbott & Treasurer and \\ & Membership Secretary\\ +D.~P.~Carlisle & Committee Secretary\\ +M.~Clark & Meetings Secretary\\ +% & \BV\ editor\\ +\end{tabular} + +K.~Bazargan; S.~P.~Q.~Rahtz; M.~D.~Wooding. + + +\section*{Book Discounts for \protect\ukt\ members} +%The UK \TeX\ User group has been in discussion with a number of +%publishers to arrange discounts on publications which may be of +%interest to members. +We have arrangements with Addison-Wesley for +their well-known \TeX-related publications, and with International +Thomson Publishing to supply any of the very excellent O'Reilly \& +Associates Inc.\ series of books to members. + +The agreed list of books, together with the discounted (at least 20\%) +price, is distributed occasionally with \BV, but is always available +from the Treasurer, Peter Abbott. + +Please add \pounds1.50 for the first book and 50p for each book after +the first on the same order, for despatch to a single address + +%We would like to extend this service to members. If you have contacts +%with the sales and marketing parts of any publisher who publishes +%relevant books, please inform us and we will try to +%arrange something mutually convenient and beneficial. + +We are only allowed to offer this service to \textbf{current} members +of the \UKTUG\ and/or members of \acro{TUG}. Please send your +order and cheque (in \acro{UK} \pounds) to Peter Abbott (address in +\BV\ masthead). +Make cheques payable to `\acro{UKTUG}' please. +All books will be routed through \ukt. \emph{In all cases} please +notify Peter Abbott +by email, phone, fax or letter when books are delivered. This means +that provided the book(s) are in stock, it will normally take at least a week +from receipt of order to delivery of the book(s). + +\section*{Obtaining \TeX} + +\subsection*{From the network -- CTAN} + +The \acro{UK} \TeX\ Archive on \texttt{ftp.tex.ac.uk} is part of the +\acro{CTAN} +(Comprehensive \TeX\ Archive Network) collaborating network of +archives on the Internet organised by the +\TeX\ Users Group. +%The main archives follow the same structure +%and have identical files ({\tt ftp.tex.ac.uk} +%{\tt ftp.shsu.edu} +%and {\tt ftp.dante.de}). + +The \acro{CTAN} archives run an enhanced \emph{ftp} server which supports +dynamic compression, uncompression, and archive creation options. +Fetch the top-level file {\tt README.archive-features} for +information. The server also supports site-defined commands to assist +you. Please read {\tt README.site-commands} for a brief overview. + +%Details of where to find public domain, or shareware, +%\TeX\ packages for different machines and operating +%systems are given below. + + + Please report any problems with \acro{CTAN} archives via email to + \texttt{ctan@urz.Uni-Heidelberg.de}. + + +%\subsection*{CTAN directories} +The main directories which make up \acro{CTAN} are listed below; readers are +referred to Graham Williams' \emph{\TeX{} and \LaTeX{} Catalogue} +which is available from \acro{CTAN} as \path|help/Catalogue/catalogue.html| + +{\small +\begin{description} +\item[biblio] bibliography-related files, such as + \BibTeX. +\item[digests] back issues of \TeX-related periodicals +\item[dviware] contains the various \texttt{dvi}-to-whatever filters + and drivers +\item[fonts] fonts, both sources and pre-compiled +\item[graphics]utilities and macros related to graphics +\item[help] overviews of the archive and the \TeX\ system +\item[info] files and tutorials which document various aspects of \TeX +\item[indexing] utilities and related files for indexing +\item[language] material for typesetting non-English documents +\item[macros] macros packages for \TeX\ and style files +\item[support] programs which can be used in support of \TeX +\item[systems] complete system setups, organized by operating + system +\item[tools] the various archiving tools used on CTAN +\item[web] contains WEB-related files and utilities +\end{description} +} + +%\subsection*{CTAN -- CDROM} + +\subsection*{Unix -- CD-ROM} +\acro{GUT}enberg and \ukt, in collaboration with \acro{TUG} and +\acro{NTG}, produced \TeX-Live, +a plug-and-play \acro{CD}-\acro{ROM} based on Thomas Esser's \textrm{te}\TeX{} +distribution. +As it is formatted according to \acro{ISO} 9660, the platform-independent +files can, in principle, be read on all operating systems which can +deal with that format. + +Unix executables for the following platform/operating system +combinations are included: Digital Alpha-OSF 3.2, Alpha-Linux and MIPS +Ultrix, Hewlett +Packard HPUX (9.05 and 10.20), Intel i386 and i686 Linux, and i586 +FreeBSD 2.2, Multi-architecture NextStep 3, MIPS IRIX (4.0.5, 5.3 and 6.3), +IBM RS6000 AIX (3.2.5 and 4.1.1) Sparc Solaris (2.4 and 2.5), SunOS +4.1.3 and Linux. In addition, there are executables of the Amiga and +Win32 ports of Web2C. + +For full details see the article in \BV\ 6.5/6. + +The \acro{CD} is available free of charge to members of \ukt\ and to +non-members at \pounds25. Order the disk from Peter +Abbott; see the section `\acro{PC} and Mac disks' for details. + +%\subsection*{Unix tapes} +%The group no longer offers Unix tapes: we recommend the \TeX{} Live +%\acro{CD} to Unix users. + +\subsection*{DOS -- CD-ROM} +\ukt\ distributes the comprehensive 4All\TeX\ \acro{CD}-\acro{ROM}, +created by the +Dutch \TeX\ Users' +Group (\acro{NTG}), now in its 3rd edition. This costs \pounds25 for 2 +\acro{CD}s, and is for \acro{DOS} users. (Note: at the time of +printing this edition, \ukt\ has no stocks of this disc: a new edition +is expected soon.) + + +\subsection*{PC and Mac disks} +The \ukt\ distributes an em\TeX\ kit for \acro{PC}s, +and an Oz\TeX\ kit for Macintosh. The cost covers copying and postage +costs, together with the shareware fee for Oz\TeX\ (and other Mac programs) +and Eddi4\TeX. +Each set costs \pounds30, +and is available from Peter Abbott, 1 Eymore Close, Selly Oak, +Birmingham B29~4LB. Cheques must be payable to \lq{}UKTUG\rq{}. Please note +that this service \emph{is available to \ukt\ members only.} Each set +comes with an installation guide, and (at least) full \TeX\ and \MF, a +previewer, a PostScript driver, and \acro{CM} fonts. Two update disks a year +will be sent out automatically, with the current version of \LaTeXe, +and other goodies. A subscription service is available for +subsequent years. In addition, subscribers can request up to 3 disks a +year with any material from the \acro{CTAN} archives, but this will be +supplied \lq{}as is\rq{}, without instructions. + +\subsection*{Atari} +Enquiries for \TeX\ for the Atari \acro{ST} etc. may be directed to: The Fast +Club, 7 Musters Road, Nottingham NG2 7PP. Phone 01602 455250, fax 01602 +455305. They also supply a variety of \TeX-related software in Atari format. + +\end{Article} -- cgit v1.2.3