diff options
author | Karl Berry <karl@freefriends.org> | 2005-12-29 00:35:06 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2005-12-29 00:35:06 +0000 |
commit | 86f6ad0f8431ad33548e4b843418630365dcd7cb (patch) | |
tree | 59533054992d6c5e40a4cdbb4004b083bdfa4b1d /Master/texmf-doc | |
parent | 41ceff5a615ab4e3d46b1c94bd26d9dcf9d6c1f8 (diff) |
doc/english/m
git-svn-id: svn://tug.org/texlive/trunk@22 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-doc')
221 files changed, 73564 insertions, 0 deletions
diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/README b/Master/texmf-doc/doc/english/make-tex-work/examples/README new file mode 100644 index 00000000000..d6c07fe3d73 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/README @@ -0,0 +1,56 @@ +This file is README dated 18 Apr 1994. + +This directory contains the examples from _Making TeX Work_: + +Title : Making TeX Work +Author : Norman Walsh +Publisher : O'Reilly and Associates +Date : April, 1994 +ISBN : 1-56592-051-1 +Pages : 518 +Price : US$29.95 + +The examples are: + +ex-01-01: example 1-1: An Example of a TeX Document +ex-01-02: example 1-2: A typical bibliography database entry +ex-02-01: example 2-1: A Simple Driver File +ex-02-02: example 2-2: Local Variables in an Emacs Buffer +ex-02-03: example 2-3: A Contrived Error +ex-02-04: example 2-4: Revision Control Macros for TeX Documents Using RCS +ex-03-01: example 3-1: The Document BADFONT.TeX +ex-04-01: example 4-1: Plain TeX Input +ex-04-02: example 4-2: LaTeX2e Input +ex-04-03: example 4-3: LaTeX Input File +ex-04-04: example 4-4: AMS-TeX Input File +ex-04-05: example 4-5: Lollipop Input File +ex-04-06: example 4-6: TeXinfo Input +ex-04-07: example 4-7: The ChemTeX Source for Caffeine +ex-04-08: example 4-8: The ChemStruct Source for the Lithium Cation +ex-04-09: example 4-9: The MusicTeX Source for Figure 4-7 +ex-05-01: example 5-1: Font-shape Declaration with NFSS2 +ex-05-02: example 5-2: Font-shape declaration with NFSS2 (simplified) +ex-05-03: example 5-3: The PStoTeXfont script +ex-06-01: example 6-1: The Input for the Plain TeX Diagram +ex-06-02: example 6-2: The LaTeX Input for Figure 6-2 +ex-06-03: example 6-3: The epic Input for Figure 6-3 +ex-06-04: example 6-4: The Input for Figure 6-4 +ex-06-05: example 6-5: PiCTeX Input for Figure 6-5 +ex-06-06: example 6-6: The XY-pic Input for Figure 6-6 +ex-06-07: example 6-7: The DraTeX Input for Figure 6-7 +ex-06-08: example 6-8: Converting EPS to a Bitmap with Ghostview +ex-06-09: example 6-9: Script for Inserting a Captured TeXt Screen +ex-07-01: example 7-1: A Sample Multilingual Document Using English and French +ex-10-01: example 10-1: TeXinfo Commands +ex-11-01: example 11-1: The Code for the Figure Eight +ex-12-01: example 12-1: A Sample BIBTeX entry +ex-12-02: example 12-2: A Tib style database entry +ex-D-01 : example D-1: MakeTeXPK.pl +ex-D-02 : example D-2: MakeTeXTFM.pl +ex-D-03 : example D-3: dvidxx.btm +ex-D-04 : example D-4: makepk.btm +ex-D-05 : example D-5: enc-afm.pl +ex-D-06 : example D-6: TeXtoXfont +ex-D-07 : example D-7: PStoXfont +ex-D-08 : example D-8: txt2verb.pl + diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-01-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-01-01 new file mode 100644 index 00000000000..acb17e7c033 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-01-01 @@ -0,0 +1,8 @@ +\def\ora{O'Reilly \& Associates} +\font\orafont=grlg10 +\parskip=\baselineskip +\parindent=0pt +\pageno=5 +This book is published by \ora\ in +the \textit{Nutshell} series. +\bye diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-01-02 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-01-02 new file mode 100644 index 00000000000..8439f035edf --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-01-02 @@ -0,0 +1,9 @@ +@Book{kn:texbook, + author = "Donald E. Knuth", + title = "The {\TeX}book", + publisher = "Addison-Wesley", + year = 1989, + edition = "Fifteenth", + isbn = "0-201-13447-0" + note = "Paperback ISBN: 0-201-13448-9" +} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-01 new file mode 100644 index 00000000000..09e32f3cde3 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-01 @@ -0,0 +1,6 @@ +\documentstyle[ora]{book} +\begin{document} + \input{intro} + \input{chap1} + \input{chap2} +\end{document} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-02 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-02 new file mode 100644 index 00000000000..45593e4c7dd --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-02 @@ -0,0 +1,4 @@ +% Local Variables: +% TeX-master: "driver.tex" +% TeX-command-default: "LaTeX" +% End: diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-03 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-03 new file mode 100644 index 00000000000..4992587b605 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-03 @@ -0,0 +1,12 @@ +This is TeX version 3.141... +** (flintstone.tex +some +messages [1] +(fred.tex [2] +some more +messages +[3] ) (wilma.tex [4] +! Undefined control sequence. +the dog \dino + tipped over the car. +l.6 the dog \dino\ tipped over the car. diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-04 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-04 new file mode 100644 index 00000000000..a949b916902 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-02-04 @@ -0,0 +1,33 @@ + Documents Using RCS} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% RCS definitions... +% +\newif\ifdraft +\def\RCSID$#1${% + \ifdraft{\tolerance=100000% + \hbadness=100000% + \raggedright% + \marginpar{\tiny Draft #1}}% + \typeout{Draft #1}% + \else\typeout{Production run #1}\fi% +} + +\def\RCSmargid$#1: #2 #3 #4 #5 #6 #7${% +% #1 = ``Id'' +% #2 = filename +% #3 = vers +% #4 = date +% #5 = time +% #6 = author +% #7 = state [locker] + \ifdraft + \setbox0=\hbox to 0pt{% + \tolerance=100000% + \hbadness=100000% + \parbox{4in}{% + \rm\tiny #2\\ #3\\ #4}% + \hss}% + \marginpar{\box0}% + \typeout{Draft Id: #2 #3 #4 #5 #6 #7}% + \fi +} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-03-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-03-01 new file mode 100644 index 00000000000..3905e43def2 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-03-01 @@ -0,0 +1,22 @@ +\documentstyle{article} +% The following definition changes the font that LaTeX +% uses for the 'Large' font. I have introduced a typo +% into the definition, ``\fontsiz'' should be ``\fontsize''. +% +% The first time a \Large font is requested, an error will occur. +% +\renewcommand{\Large}{\fontsiz{17}{20pt}\selectfont} +\begin{document} + +This text precedes the first section header. + +% Note: LaTeX uses the \Large font in section +% headers...this will fail in a confusing way +% because the error is deep within the definition +% of \section where \Large is used... +% +\section{First Section} + +This is the first and only sentence of the first section. + +\end{document} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-01 new file mode 100644 index 00000000000..1b7d26d9380 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-01 @@ -0,0 +1,32 @@ +% Format: Plain +\font\chapfont=cmbx12 scaled 1728 +\font\titlefont=cmbx12 scaled 2073 +\font\secfont=cmbx12 scaled 1200 + +\parskip=\baselineskip +\parindent=0pt +\hsize=5in +\hoffset=.75in + +\leftline{\chapfont Chapter 1} +\vskip36pt + +\leftline{\titlefont Unsolved Problems} +\vskip36pt + +\leftline{\secfont 1.1\ \ Odd Perfect Numbers} +\vskip12pt + +A number is said to be {\it perfect\/} if it +is the sum of its divisors. For example, $6$ is +perfect because $1+2+3 = 6$, and $1$, $2$, and $3$ +are the only numbers that divide evenly into $6$ +(apart from $6$ itself). + +It has been shown that all even perfect numbers +have the form $$2^{p-1}(2^{p}-1)$$ where $p$ +and $2^{p}-1$ are both prime. + +The existence of {\it odd\/} perfect numbers is +an open question. +\bye diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-02 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-02 new file mode 100644 index 00000000000..fd640088e08 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-02 @@ -0,0 +1,25 @@ +% Format: LaTeX2e +\documentclass{report} + +\setlength{\parskip}{\baselineskip} +\setlength{\parindent}{0pt} + +\begin{document} + +\chapter{Unsolved Problems} + +\section{Odd Perfect Numbers} + +A number is said to be \emph{perfect} if it +is the sum of its divisors. For example, $6$ is +perfect because \(1+2+3 = 6\), and $1$, $2$, and $3$ +are the only numbers that divide evenly into $6$ +(apart from 6 itself). + +It has been shown that all even perfect numbers +have the form \[2^{p-1}(2^{p}-1)\] where $p$ +and \(2^{p}-1\) are both prime. + +The existence of \emph{odd} perfect numbers is +an open question. +\end{document} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-03 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-03 new file mode 100644 index 00000000000..3119cf8bab4 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-03 @@ -0,0 +1,25 @@ +% Format: LaTeX +\documentstyle{report} + +\setlength{\parskip}{\baselineskip} +\setlength{\parindent}{0pt} + +\begin{document} + +\chapter{Unsolved Problems} + +\section{Odd Perfect Numbers} + +A number is said to be {\em perfect\/} if it +is the sum of its divisors. For example, $6$ is +perfect because \(1+2+3 = 6\), and $1$, $2$, and $3$ +are the only numbers that divide evenly into $6$ +(apart from 6 itself). + +It has been shown that all even perfect numbers +have the form \[2^{p-1}(2^{p}-1)\] where $p$ +and \(2^{p}-1\) are both prime. + +The existence of {\em odd\/} perfect numbers is +an open question. +\end{document} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-04 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-04 new file mode 100644 index 00000000000..f6ac1adcc9b --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-04 @@ -0,0 +1,27 @@ +% Format: AMSTeX +\documentstyle{amsppt} + +\parindent=0pt +\parskip=\baselineskip +\hoffset=.75in + +\topmatter +\title \chapter{1} Unsolved Problems\endtitle +\endtopmatter + +\document +\head{1.1} Odd Perfect Numbers\endhead + +A number is said to be {\it perfect\/} if it +is the sum of its divisors. For example, $6$ is +perfect because $1+2+3 = 6$, and $1$, $2$, and $3$ +are the only numbers that divide evenly into $6$ +(apart from $6$ itself). + +It has been shown that all even perfect numbers +have the form $$2^{p-1}(2^{p}-1)$$ where $p$ +and $2^{p}-1$ are both prime. + +The existence of {\it odd\/} perfect numbers is +an open question. +\enddocument diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-05 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-05 new file mode 100644 index 00000000000..cccb0e95601 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-05 @@ -0,0 +1,42 @@ +% Format: Lollipop +\DefineHeading:Chapter + breakbefore:yes whiteafter:12pt + line:start PointSize:20 Style:bold + literal:Chapter Spaces:1 ChapterCounter + line:stop + vwhite:36pt + line:start PointSize:24 Style:bold title + line:stop + vwhite:24pt + Stop +\DefineHeading:Section + whitebefore:{20pt plus 2pt} whiteafter:14pt + line:start PointSize:14 Style:bold + ChapterCounter . SectionCounter + Spaces:1 title line:stop + label:start ChapterCounter . SectionCounter + label:stop + Stop +\GoverningCounter:Section=Chapter +\AlwaysIndent:no +\Distance:parskip=12pt +\Distance:hoffset=.75in +\Distance:voffset=.5in +\Start +\Chapter Unsolved Problems + +\Section Odd Perfect Numbers + +A number is said to be {\it perfect\/} if it +is the sum of its divisors. For example, $6$ is +perfect because $1+2+3 = 6$, and $1$, $2$, and $3$ +are the only numbers that divide evenly into $6$ +(apart from $6$ itself). + +It has been shown that all even perfect numbers +have the form $$2^{p-1}(2^{p}-1)$$ where $p$ +and $2^{p}-1$ are both prime. + +The existence of {\it odd\/} perfect numbers is +an open question. +\Stop diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-06 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-06 new file mode 100644 index 00000000000..cc95fc65a9a --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-06 @@ -0,0 +1,38 @@ +\input texinfo @c -*- TeXinfo -*- +@setfilename perf-inf.inf +@ifinfo + @paragraphindent 0 +@end ifinfo +@iftex + @defaultparindent=0pt @parindent=0pt +@end iftex + +@node Top, , (dir), (dir) +@chapter Unsolved Problems +@section Odd Perfect Numbers + +A number is said to be @i{perfect} if it is +the sum of its divisors. For example, 6 is +perfect because +@tex $1+2+3 = 6$, +@end tex +@ifinfo +1+2+3 = 6, +@end ifinfo +and 1, 2, and 3 are the only numbers that divide +evenly into 6 (apart from 6 itself). + +It has been shown that all even perfect numbers +have the form +@tex $$2^{p-1}(2^{p}-1)$$ where $p$ and $2^{p}-1$ +@end tex +@ifinfo +@center 2^(p-1) (2^p - 1) + +where p and 2^p - 1 +@end ifinfo +are both prime. + +The existence of @i{odd} perfect numbers is an +open question. +@bye diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-07 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-07 new file mode 100644 index 00000000000..45d24e38c54 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-07 @@ -0,0 +1,7 @@ +\initial +\len=4 +\def\H{\hbox{\rm H}} +\def\C{\hbox{\rm C}} +\def\O{\hbox{\rm O}} + +\[ \purine{$\H_3\C$}{$\O$}{$\C\H_3$}{Q}{$\O$}{Q}{Q}{D}{$\C\H_3$} \] diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-08 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-08 new file mode 100644 index 00000000000..d8c9b953434 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-08 @@ -0,0 +1,17 @@ +\structure{\atom{~~Li$^+$} +\side{\nwbelow\atom{O} +\side{\nsingle\atom{H}\nnwbelow\atom{O}\side{\wsingle\atom{H}} +\nsingle\atom{H}}\swsingle\atom{H}\wnwbelow\atom{O} +\side{\wsingle\atom{H}}\nsingle\atom{H}} +\side{\nebelow\atom{O} +\side{\nsingle\atom{H}\nnebelow\atom{O}\side{\esingle\atom{H}} +\nsingle\atom{H}}\sesingle\atom{H}\enebelow\atom{O} +\side{\esingle\atom{H}}\nsingle\atom{H}} +\side{\swbelow\atom{O} +\side{\ssingle\atom{H}\sswbelow\atom{O}\side{\wsingle\atom{H}} +\ssingle\atom{H}}\nwsingle\atom{H}\wswbelow\atom{O} +\side{\wsingle\atom{H}}\ssingle\atom{H}} +\side{\sebelow\atom{O} +\side{\ssingle\atom{H}\ssebelow\atom{O}\side{\esingle\atom{H}} +\ssingle\atom{H}}\nesingle\atom{H}\esebelow\atom{O} +\side{\esingle\atom{H}}\ssingle\atom{H}}} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-09 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-09 new file mode 100644 index 00000000000..c86290fcc83 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-04-09 @@ -0,0 +1,16 @@ +\begin{music} +\parindent 1cm +\def\nbinstruments{1}\relax +\def\instrumenti{Piano}% +\nbporteesi=2\relax +\generalmeter{\meterfrac{4}{4}}\relax +\debutextrait +\normal +\temps\Notes\ibu0f0\qh0{cge}\tbu0\qh0g|\hl j\enotes +\temps\Notes\ibu0f0\qh0{cge}\tbu0\qh0g|\ql l\sk\ql n\enotes +\barre +\Notes\ibu0f0\qh0{dgf}|\qlp i\enotes +\notes\tbu0\qh0g|\ibbl1j3\qb1j\tbl1\qb1k\enotes +\temps\Notes\ibu0f0\qh0{cge}\tbu0\qh0g|\hl j\enotes +\finextrait +\end{music} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-05-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-05-01 new file mode 100644 index 00000000000..48a3a5809aa --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-05-01 @@ -0,0 +1,5 @@ +\DeclareFontShape{OT1}{logo}{m}{n}{% + <-8>sub * cmr/m/n% + <8><9><10>gen * logo% + <10.95>logo10 at 10.95pt% + <12->logo10}{} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-05-02 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-05-02 new file mode 100644 index 00000000000..29914979d03 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-05-02 @@ -0,0 +1,5 @@ +\DeclareFontShape{OT1}{logo}{m}{n}{% + <-8>sub * cmr/m/n% + <8-9>logo8% + <9-10>logo9% + <10->logo10}{} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-05-03 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-05-03 new file mode 100644 index 00000000000..89f65e1c984 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-05-03 @@ -0,0 +1,48 @@ +#!/usr/local/bin/bash +# +# This script file makes a new TeX font from a PS outline. +# +# Parameters are: +# +# name dpi bdpi [mag mode destdir] +# +# `name' is the name of the font, such as `ptmr'. `dpi' +# is the resolution the font is needed at. `bdpi' is +# the base resolution. +# +# This script ignores the remaining parameters. They are +# left here to document the fact that the caller may provide +# them. They may be provided because the caller thinks +# MetaFont is going to do the work... +# +# Of course, this needs to be set up for your site. +# +# TEMPDIR needs to be unique for each process because of the +# possibility of simultaneous processes running this script. + +TEMPDIR=/tmp/temp-tex-PS.$$ +NAME=$1 +DPI=$2 +BDPI=$3 + +LOCALDIR=/usr/local/lib/mf/fonts +DESTDIR=$LOCALDIR/pk + +BASENAME=$NAME.$DPI +PFADIR=/usr/local/lib/tex/ps/outlines + +# Clean up on normal or abnormal exit +trap "cd /; rm -rf $TEMPDIR" 0 1 2 15 + +mkdir $TEMPDIR +cd $TEMPDIR + +# We proceed by making a 10pt font at the resolution +# requested... +echo Making ${DPI}dpi version of $NAME. +ps2pk -X$DPI -P10 -a$PFADIR/$NAME.afm \ + $PFADIR/$NAME.pfa ${BASENAME}pk + +mv ${BASENAME}pk $DESTDIR + +exit 0 diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-01 new file mode 100644 index 00000000000..173cc3c3607 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-01 @@ -0,0 +1,12 @@ +\newdimen\unitlength +\unitlength=1cm + +\def\plot(#1,#2){% + \rlap{\kern#1\unitlength\raise#2\unitlength% + \hbox{$\scriptstyle\bullet\;(#1,#2)$}}} + +\centerline{% + \hbox{\plot(0,0) + \plot(1,1) + \plot(-3,2)}% +} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-02 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-02 new file mode 100644 index 00000000000..e1bf051272f --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-02 @@ -0,0 +1,43 @@ +\unitlength=1.00mm +\special{em:linewidth 0.4pt} +\linethickness{0.4pt} +\begin{picture}(93.00,40.00) +\put(0.00,10.00){\line(1,0){70.00}} +\put(70.00,10.00){\line(2,3){20.00}} +\put(90.00,40.00){\line(-1,0){70.00}} +\put(20.00,40.00){\line(-2,-3){20.00}} +\put(70.00,10.00){\line(1,0){1.00}} +\put(72.00,10.00){\line(1,0){1.00}} +\put(74.00,10.00){\line(1,0){1.00}} +\put(76.00,10.00){\line(1,0){1.00}} +\put(78.00,10.00){\line(1,0){1.00}} +\put(80.00,10.00){\line(1,0){1.00}} +\put(82.00,10.00){\line(1,0){1.00}} +\put(84.00,10.00){\line(1,0){1.00}} +\put(86.00,10.00){\line(1,0){1.00}} +\put(88.00,10.00){\line(1,0){1.00}} +\put(90.00,10.00){\line(0,1){1.00}} +\put(90.00,12.00){\line(0,1){1.00}} +\put(90.00,14.00){\line(0,1){1.00}} +\put(90.00,16.00){\line(0,1){1.00}} +\put(90.00,18.00){\line(0,1){1.00}} +\put(90.00,20.00){\line(0,1){1.00}} +\put(90.00,22.00){\line(0,1){1.00}} +\put(90.00,24.00){\line(0,1){1.00}} +\put(90.00,26.00){\line(0,1){1.00}} +\put(90.00,28.00){\line(0,1){1.00}} +\put(90.00,30.00){\line(0,1){1.00}} +\put(90.00,32.00){\line(0,1){1.00}} +\put(90.00,34.00){\line(0,1){1.00}} +\put(90.00,36.00){\line(0,1){1.00}} +\put(90.00,38.00){\line(0,1){1.00}} +\put(87.00,10.00){\line(0,1){3.00}} +\put(87.00,13.00){\line(1,0){3.00}} +\put(93.00,20.00){\vector(0,-1){10.00}} +\put(93.00,30.00){\vector(0,1){10.00}} +\put(93.00,25.00){\makebox(0,0)[cc]{$h$}} +\put(30.00,7.00){\vector(-1,0){30.00}} +\put(40.00,7.00){\vector(1,0){30.00}} +\put(35.00,7.00){\makebox(0,0)[cc]{$w$}} +\put(45.00,25.00){\makebox(0,0)[cc]{$A=h\times w$}} +\end{picture} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-03 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-03 new file mode 100644 index 00000000000..3ab8143acaf --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-03 @@ -0,0 +1,14 @@ +\unitlength = 1mm +\begin{picture}(50,100)(0,0) +\put(0,0){\tiny \grid(50,50)(5,5)[0,0]} +\put(25,25){\circle{50}} +\drawline(15,0)(20,5)(30,10)(50,35) +\drawline[-50](10,5)(15,10)(25,15)(45,40) +\thicklines +\dottedline{1.4}(5,10)(10,15)(15,25)(40,45) +\dashline{2}(0,15)(5,20)(10,30)(35,50) +\thinlines +\begin{drawjoin} +\jputfile{epicdata}{\picsquare} +\end{drawjoin} +\end{picture} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-04 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-04 new file mode 100644 index 00000000000..0aeedce2493 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-04 @@ -0,0 +1,25 @@ +\unitlength = 1mm +\begin{picture}(100,50)(0,0) +\put(0,0){\tiny \grid(100,50)(10,10)[0,0]} +\bezier{500}(0,0)(0,0)(100,50) +\bezier{500}(0,0)(10,0)(100,50) +\bezier{500}(0,0)(20,0)(100,50) +\bezier{500}(0,0)(30,0)(100,50) +\bezier{500}(0,0)(40,0)(100,50) +\bezier{500}(0,0)(50,0)(100,50) +\bezier{500}(0,0)(60,0)(100,50) +\bezier{500}(0,0)(70,0)(100,50) +\bezier{500}(0,0)(80,0)(100,50) +\bezier{500}(0,0)(90,0)(100,50) +\bezier{500}(0,0)(100,0)(100,50) + +\bezier{500}(0,0)(0,50)(100,50) +\bezier{500}(0,0)(0,40)(100,50) +\bezier{500}(0,0)(0,30)(100,50) +\bezier{500}(0,0)(0,20)(100,50) +\bezier{500}(0,0)(0,10)(100,50) +\bezier{500}(0,0)(0,0)(100,50) + +\multiput(0,0)(10,0){11}{\circle*{1}} +\multiput(0,0)(0,10){6}{\circle*{1}} +\end{picture} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-05 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-05 new file mode 100644 index 00000000000..6be82ab7523 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-05 @@ -0,0 +1,91 @@ +\newdimen\unit \unit=1.375in +\newdimen\shadeunit +\newif \ifFirstPass +\FirstPasstrue +%\FirstPassfalse % uncomment this after you have the size you want +% +\def\DF{{\cal A}}% +% +%The following figure appears in the preface to the \PiCTeX\ manual +% +$$ +\beginpicture + \ifFirstPass + \savelinesandcurves on "pictex-Arcsine.tex" + \else + \replot "pictex-Arcsine.tex" + \fi +% \ninepoint % (See Appendix E of the TeXbook.) + \normalgraphs + % Density plot + \setcoordinatesystem units <\unit,.4\unit> point at 0 0 + \setplotarea x from 0 to 1, y from 0 to 2.5 + \axis bottom invisible label {\lines {$t$\cr + shaded area is $\DF(\beta) - \DF(\alpha)$\cr}} ticks + numbered from 0.0 to 1.0 by 0.5 + unlabeled short quantity 11 + length <0pt> withvalues $\alpha$ $\beta$ / at .65 .85 / / + \axis left invisible label {$a(t)$} ticks + numbered from 0.0 to 2.0 by 1.0 + unlabeled short from 0.5 to 2.5 by 1.0 / + \plotheading{\lineskiplimit=1pt \lines{% + Density\cr + $a(t) = 1\big/\bigl(\pi \sqrt{t(1-t)}\,\bigr)$\cr + of the arc sine law\cr}} + \grid 1 1 + \putrule from .65 0.0 to .65 .66736 + \putrule from .85 0.0 to .85 .89145 + \shadeunit=.2\unit \divide\shadeunit by 12 + \setshadegrid span <\shadeunit> point at .75 0 + \setquadratic + \vshade .65 0 .66736 <,,,1pt> .75 0 .73511 .85 0 .89145 / + % Move origin to (.5,0) + % Left half} + \ifFirstPass + \setcoordinatesystem point at -.5 0 + \inboundscheckon + \plot -.48429 2.55990 -.47553 2.06015 -.46489 1.72936 / + \inboundscheckoff + \plot -.46489 1.72936 -.43815 1.32146 -.40451 1.08308 + -.36448 .92999 -.31871 .82623 -.26791 .75400 + -.21289 .70358 -.12434 .65727 .0 .63662 / + % Right half + \inboundscheckon + \plot .48429 2.55990 .47553 2.06015 .46489 1.72936 / + \inboundscheckoff + \plot .46489 1.72936 .43815 1.32146 .40451 1.08308 + .36448 .92999 .31871 .82623 .26791 .75400 + .21289 .70358 .12434 .65727 .0 .63662 / + \fi + % Distribution function + % Set origin of new coordinate system 1.7*1.375in=2.34in + % to the right of the original origin. + \setcoordinatesystem units <\unit,\unit> point at -1.7 0 + \setplotarea x from 0 to 1, y from 0 to 1 + \axis bottom label {$x\vphantom{t}$} ticks + numbered from 0.0 to 1.0 by 0.5 unlabeled short quantity 11 / + \axis left label {$\DF(x)$} ticks + numbered from 0.0 to 1.0 by 0.5 unlabeled short quantity 11 / + \plotheading{\lines{% + Distribution function\cr + $\DF(x) = {2\over \raise1pt\hbox{\seveni ^^Y}} + \arcsin(\sqrt{x}\,)$\cr + of the arc sine law\cr}} + \linethickness=.25pt \grid {20} {20} + \linethickness=.4pt \grid 2 2 + % Left half + % Now move origin of coordinate system up to (.5,.5) + \ifFirstPass + \setcoordinatesystem point at -2.2 -.5 + \plot -.50000 -.50 -.49901 -.48 -.49606 -.46 + -.49104 -.44 -.48439 -.42 -.47553 -.40 -.46489 -.38 + -.43815 -.34 -.40451 -.30 -.36448 -.26 -.31871 -.22 + -.26791 -.18 -.21289 -.14 -.12434 -.08 .0 .0 / + % Right half + \plot .50000 .50 .49901 .48 .49606 .46 + .49104 .44 .48439 .42 .47553 .40 .46489 .38 + .43815 .34 .40451 .30 .36448 .26 .31871 .22 + .26791 .18 .21289 .14 .12434 .08 .0 .0 / + \fi +\endpicture +$$ diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-06 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-06 new file mode 100644 index 00000000000..c589bdde904 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-06 @@ -0,0 +1,46 @@ +% Graph representing BAWL term [1]++[2]. [XY-pic & -*-tex-*-] +% by Kristoffer H. Rose <kris@diku.dk> +% +\def\n#1{\llap{{\sevenit#1\/}:\,}} +\def\op#1{(\mskip-.5\thinmuskip{#1}\mskip-.5\thinmuskip)} +\def\concat{\mathbin{\text{\rm+\kern-.5em+}}} +% +\def\du#1#2{% + % #1: slidesign, #2: #rows to go down. + \save\aftergo{\go="p",[0,0]!<#1\jot,0pt>% + \xto`d[#2,0]+<-2.5pc,-.8pc>`"p" "p"\restore}} +% +\def\dul#1#2#3{% +% #1: slidesign, #2: #rows to go down; #3: #columns to go left. +\save\aftergo{\go="p",[0,0]!<#1\jot,0pt>% +\xto`d[#2,0]+<-2.5pc,-.8pc>`[#2,-#3]+<-2.5pc,0pc> `"p" "p"\restore}} +% +\spreaddiagramrows{-1.4pc} +\spreaddiagramcolumns{-1pc} +% +$$ +\displaylines{\quad + \left\lceil\openup-\jot\eqalign{ + [1]\concat[2] \quad\text{where}\qquad + [\,] \concat ys &= ys \cr + (x:xs) \concat ys &= x:(xs \concat ys)}\right\rceil +\hfill\cr\hfill + =\qquad + {\diagram&& & & &&\n1\@\dlto\xto[2,2]\\ + & & & & &\n2{!\@}\xto[3,-2]\drto\\ + & & & & &&\n3\op:\dlto\dto&&\n4\op:\dlto\dto\\ + & & & & &\n51&\n6[\,] &\n72&\n8[\,]\\ + & & &\n{10}\lor\dlto\drrto \go+<-3em,0em>="10"\\ + & &\n{11}\lambda \dlto\ddto&&&\n{12}\lambda \dlto\drto\\ + &\n{13}\@\dlto\drto&& &\n{14}\@\dlto\drto + &&\n{15}\op:\du04[3,-2]\drrto\\ +\n{16}{!\@}\dul000"10"\drto&&\n{17}{?}&\n{18}{!\@} \dul023"10" \drto + &&\n{19}{?}&&&\n{20}\@\ddlto\du00[0,-3]\\ + &\n{21}[\,]& & &\n{22}\op:\dto\drto&& & &\\ + & & & &\n{23}{?}&\n{24}{?} + &&\n{25}\@ \dul-27"10"\du+3[0,-2]\\ + & & & & & & &\\ + & & & & & & &\\ + & & & & & & &\enddiagram} +\quad\cr} +$$ diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-07 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-07 new file mode 100644 index 00000000000..e203af7fad7 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-07 @@ -0,0 +1,59 @@ +\Draw \Ragged(4) %%%%%%%%% tree %%%%%%%%%%% + +\Define\DotsToLoc(1){ \MarkLoc(x) + \CSeg\DoLine(x,#1)(5){ + \MoveF(-3)\LineF(1)} } +\PictNode(3){ \IF \EqText(,#2) \THEN \Text(--#1--) \ELSE + \ThreeDim(#1,#2,#3) + \MarkPLoc(1) \Line(50,0,0) \MarkPLoc(2) \Line(0,50,0) + \MarkPLoc(3) \Line(-50,0,0) \MarkPLoc(4) \Line(0,-50,0) + \Move(0,0,50) \MarkPLoc(1') + \Move(50,0,0) \MarkPLoc(2') {\Line(0,0,-50)} + \Line(0,50,0) \MarkPLoc(3') {\Line(0,0,-50)} + \Line(-50,0,0) \MarkPLoc(4') {\Line(0,0,-50)} + \Do(1,4){ \Do(1,4){ + \MarkPLoc(p\Val\I) \I+1; \Move(0,0,-16.66666) + } \Move(16.66666,0,66.66666) } + \TwoDim + \MoveToLL(3,4)(4',1') \DotsToLoc(1') \DotsToLoc(1) + \MoveToLL(2,3)(1',2') \DotsToLoc(1') + \PaintQuad(p0,p1,p5,p4) \PaintQuad(p2,p3,p7,p6) + \PaintQuad(p5,p6,p10,p9) \PaintQuad(p8,p9,p13,p12) + \PaintQuad(p10,p11,p15,p14) + \MoveToLoc(1) \CSeg[0.5]\Move(1,2) \Move(0,-5) + \EntryExit(0,1,0,0) \Text(--(#1,#2,#3)--) + \EndTwoDim + \EndThreeDim \FI } + +\Define\MyEdge(2){\EdgeTo(#1,#2,0,1)} \TreeAlign(V,0,-1)(0,0,0) +\TreeSpec(o,\OvalNode&r,\RectNode)()(\MyEdge) +\TreeSpace(C,10,15) \AdjTree(A,0..0,0,-201,201,0 ) +\Tree()( + 3,o,perspective~~projections~~eye~at~{(x,y,z)},, // + 2,r,125,100,-100 & 0,r,75,75,-100 & 0,r,125,75,-100 // + 0,r,125,125,-200 & 0,r,75,75,-200 //) + +%%%%%%%%% graph %%%%%%%%%%% + +\MoveToNode(2..1,2.5,-1) \MarkLoc(1) +\MoveToNode(1..2,1,-1.5) \MarkLoc(2) +\CSeg\Scale(1,2) \Scale(0.16666,0.14286) + +\Axis(1,2)(E3,&&&&&&&) +\Axis(1,2)(S3,0&1&2&3&4&5&6) + \MoveToLoc(1) +\Table\x{ -1,2 & 0,5 & 4,-3 & -1,-4 & -2,0 } + \PenSize(1.5pt) \Move(1,0) \x(0,99){\Line} +\Table\x{ 3,3 & 1,-5 & -1,-2 & -3,4 } + \Move(1,4) \x(0,99){\Line} + +%%%%%%%%% DraTeX+AlDraTeX logos %%%%%%%%%%% + +\it \TextNode(1){\Text(--#1--)} +\MoveToNode(0..0,0,1) \Units(1pt,1pt) \Move(-60,0) +\EntryExit(1,1,0,0) \Node(d)(--Dra\TeX--) +\MoveToNode(2..0,-1,1) \Move(0,40) \EntryExit(-1,-1,0,0) +\Node(a)(--Al~~Dra~~\TeX--) \PenSize(0.75pt) +\ArrowHeads(2) \CurvedEdgeAt(d,-1,-1,a,0,1)(225,1.1,70,1.3) + +\EndDraw diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-08 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-08 new file mode 100644 index 00000000000..9cbd15ae66d --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-08 @@ -0,0 +1,81 @@ +#! perl +# +# Usage: gs-eps epsfile <outputfile> <resolution> <device> +# +# Where: epsfile is the encapsulated postscript file +# outputfile is the output file (the default name +# is <basename epsfile>.<device>) +# resolution is the output resolution (default=300) +# device is the GS driver to use (default=pbm) + +($epsfile,$outputfile,$res,$device) = @ARGV; + +if (! $epsfile) { + printf "Usage: gs-eps epsfile <outputfile> <resolution>"; + printf " <gsdriver>\n"; + printf "Note: parameters are positional. To specify a"; + printf " driver, you\n"; + printf "must also specify an outputfile and resolution.\n"; + exit 1; + } + +$epsfile =~ tr/\\/\//; # translate \foo\bar -> /foo/bar + +if (! -r $epsfile) { + printf "Cannot read file: $epsfile\n"; + exit 1; + } + +if (! $res) { $res = 300 } +if (! $device) { $device = "pbm" } + +if (! $outputfile ) { + @pathname = split(/\//,$epsfile); + $outputfile = $pathname[$#pathname]; + $outputfile =~ s/.eps$//; + $outputfile = join(".", $outputfile, $device); + } + +printf "Converting $epsfile to $outputfile at ${res}dpi...\n"; + +open (EPSFILE,$epsfile); + +undef $bbox; +undef $showpg; +while (<EPSFILE>) { + $bbox = $_ if /\%\%\s*BoundingBox:\s*\d+\s+\d+\s+\d+\s+\d+/; + $showpage = $_ if /showpage/; + last if ($bbox && $showpage); + } + +if (! $bbox) { + printf "Cannot find a bounding box in $epsfile"; + exit 1; + } + +$bbox =~ s/\D*//; # remove everything preceding the digits + +($llx,$lly,$urx,$ury) = split(/\s/,$bbox); + +$xsize = sprintf("%d", (($urx - $llx) * $res / 72) + 0.5); +$ysize = sprintf("%d", (($ury - $lly) * $res / 72) + 0.5); + +printf "$llx neg $lly neg translate .gt. gs-eps-a.$$\n"; +printf "quit .gt. gs-eps-b.$$\n"; + +if (! $showpg) { + printf "showpage .gt. gs-eps-b.$$\n"; + printf "quit .gtgt. gs-eps-b.$$\n"; + } + +# join sillyness to keep the length of lines in the +# script small enough to print in the book. +$gscmd = join(" ", "gs -sDEVICE=$device", + "-q -sOutputFile=$outputfile", + "-g${xsize}x${ysize} -r$res", + "gs-eps-a.$$ $epsfile -", + ".lt. gs-eps-b.$$"); + +printf "$gscmd\n"; + +printf "rm -f gs-eps-a.$$ gs-eps-b.$$\n"; diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-09 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-09 new file mode 100644 index 00000000000..0852abdb0c9 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-06-09 @@ -0,0 +1,33 @@ +% use any IBM OEM encoded fixed width font! +\font\screenfont=ncrr-ibm at 7pt +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% These macros are derived from The TeXbook pg 380-381 +\def\uncatcodespecials{\def\do##1{\catcode`##1=12 }\dospecials} +\def\setupverbatim{\screenfont% + \def\par{\leavevmode\endgraf\relax}% + \obeylines\uncatcodespecials% + \catcode`\\=0\catcode`\{=1\catcode`\}=2\obeyspaces} +{\obeyspaces\global\let =\ } % let active space be a control space +\def\screenlisting#1{\par\begingroup% + \def\c##1{\char##1}\setupverbatim\input{#1}% + \endgroup} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\screenbox#1{% + \vbox{\offinterlineskip% + \parskip=0pt\parindent=0pt% + \screenlisting{#1}}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Input converted file '#1' and set it inside a box with '#2' padding +% space around the image. +\def\screendump#1#2{% + \hbox{\vrule% + \vbox{\hrule% + \hbox{\hskip#2% + \vbox{\vskip#2% + \def\twentyxs{xxxxxxxxxxxxxxxxxxxx}% + \setbox0=\hbox{\screenfont\twentyxs\twentyxs\twentyxs\twentyxs}% + \hbox to \wd0{\screenbox{#1}\hss}% + \vskip#2}% + \hskip#2}% + \hrule}% + \vrule\hss}} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-07-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-07-01 new file mode 100644 index 00000000000..fa87ff6c02a --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-07-01 @@ -0,0 +1,8 @@ + Using English and French} +\documentstyle[english,francais]{article} +\begin{document} +This is a document which uses both English and +French. \selectlanguage{french} Mais, Je ne parle plus +la francais. \selectlanguage{english} So I won't try +to make this example very long. +\end{document} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-10-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-10-01 new file mode 100644 index 00000000000..cc95fc65a9a --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-10-01 @@ -0,0 +1,38 @@ +\input texinfo @c -*- TeXinfo -*- +@setfilename perf-inf.inf +@ifinfo + @paragraphindent 0 +@end ifinfo +@iftex + @defaultparindent=0pt @parindent=0pt +@end iftex + +@node Top, , (dir), (dir) +@chapter Unsolved Problems +@section Odd Perfect Numbers + +A number is said to be @i{perfect} if it is +the sum of its divisors. For example, 6 is +perfect because +@tex $1+2+3 = 6$, +@end tex +@ifinfo +1+2+3 = 6, +@end ifinfo +and 1, 2, and 3 are the only numbers that divide +evenly into 6 (apart from 6 itself). + +It has been shown that all even perfect numbers +have the form +@tex $$2^{p-1}(2^{p}-1)$$ where $p$ and $2^{p}-1$ +@end tex +@ifinfo +@center 2^(p-1) (2^p - 1) + +where p and 2^p - 1 +@end ifinfo +are both prime. + +The existence of @i{odd} perfect numbers is an +open question. +@bye diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-11-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-11-01 new file mode 100644 index 00000000000..ea60ed245c5 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-11-01 @@ -0,0 +1,19 @@ +mode_setup; +u# := 2mm#; +define_pixels(u); + +beginchar("A", 8u#, 9u#, 5u#); + z1 = ( 0u, 0u); + z2 = ( 8u, 0u); + z3 = ( 1u, 8u); + z4 = ( 7u, 8u); + pickup pencircle scaled 1u#; + draw z4 .. z1 .. z2 .. z3 .. cycle; + pickup pencircle scaled 3u#; + drawdot z1; + drawdot z2; + drawdot z3; + drawdot z4; +endchar; + +\end diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-12-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-12-01 new file mode 100644 index 00000000000..0f0ccfadbbf --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-12-01 @@ -0,0 +1,7 @@ +@book{kn:texbook, + author = "Donald E. Knuth", + title = "The {\TeX}book", + publisher = "Addison-Wesley", + year = 1989, + edition = "Fifteenth", +} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-12-02 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-12-02 new file mode 100644 index 00000000000..36100d1df00 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-12-02 @@ -0,0 +1,4 @@ +%A Donald E. Knuth +%T The \TeX{}book +%I Addison-Wesley +%D 1989 diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-01 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-01 new file mode 100644 index 00000000000..391127e360e --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-01 @@ -0,0 +1,568 @@ +#!/usr/local/bin/perl +# +# MakeTeXPK.pl version 1.0, Copyright (C) 1993,94 by Norman Walsh. +# NO WARRANTY. Distribute freely under the GNU GPL. +# +# This script attempts to make a new TeX PK font, because one wasn't +# found. Parameters are: +# +# name dpi bdpi [[[magnification] mode] subdir] +# +# `name' is the name of the font, such as `cmr10' (*NOT* cmr10.mf). +# `dpi' is the resolution the font is needed at. +# `bdpi' is the base resolution, useful for figuring out the mode to +# make the font in. +# `magnification' is a string to pass to MF as the magnification. +# `mode' if supplied, is the mode to use. +# +# This script was designed with two goals in mind: to support recursive +# subdirectory searching for fonts and to provide support for PK files +# built from both MF fonts and PS fonts. It also supports the Sauter +# and DC fonts which can be built at any design size. +# +# This script was designed and tested with the following directory structure +# in mind: each typeface is stored in its own directory with appropriate +# subdirectories for font sources, metrics, and glyphs. The script may not +# work exactly right if you use a different directory structure (the font +# installation, in particular, will probably be incorrect). However, +# several other versions of MakeTeXPK exist which will handle simpler +# directory structures, so you need not feel compelled to use the one +# described here. +# +# For MF fonts: (... is usually something like /usr/local/lib/tex/fonts) +# +# .../typeface/src holds the sources +# /tfm holds the TFM files +# /glyphs root for glyphs +# /glyphs/mode holds the PK files for "mode". +# +# For PS fonts: (... is usually something like /usr/local/lib/tex/fonts) +# +# .../typeface/afm holds the AFM files +# /tfm holds the TFM files +# /vf holds the VF files +# /vpl holds the VPL files +# /glyphs root for glyphs +# /glyphs/pk/999dpi holds the PK files at 999 dpi created by ps2pk +# /glpyhs/type1 holds the type1 PFA/PFB sources for the fonts +# + +require "getopts.pl"; +$rc = &Getopts ('v'); # Get options from the user... + +$USE_MODE_IN_DEST = 1; # Does the destination directory name include + # the name of the mode? + +$VERBOSE = $opt_v || $ENV{"DEBUG_MAKETEXPK"}; # Verbose? + +chop($CWD = `pwd`); # Where are we? +$TEMPDIR = "/tmp/mkPK.$$"; # Where do temp files go? +$MFBASE = "&plain"; # What MF base do we use by default? + +# Where are fonts stored? +$TEXFONTS = $ENV{"TEXFONTS"} || ".:/usr/local/lib/fonts//"; + +# Define modes that should be used for base resolutions... +$DPI_MODES{300} = "laserwriter"; +$DPI_MODES{200} = "FAX"; +$DPI_MODES{360} = "lqhires"; +$DPI_MODES{400} = "nexthi"; +$DPI_MODES{600} = "QMSmoa"; +$DPI_MODES{100} = "nextscreen"; + +$DPI_MODES{100} = "videodisplayi"; +$DPI_MODES{110} = "videodisplayii"; +$DPI_MODES{118} = "videodisplayiii"; +$DPI_MODES{120} = "videodisplayiv"; +$DPI_MODES{124} = "videodisplayv"; +$DPI_MODES{130} = "videodisplayvi"; +$DPI_MODES{140} = "videodisplayvii"; +$DPI_MODES{150} = "videodisplayviii"; + +$DPI_MODES{72} = "MacTrueSize"; +$DPI_MODES{635} = "linolo"; +$DPI_MODES{1270} = "linohi"; +$DPI_MODES{2540} = "linosuper"; + +# Where are the DC fonts stored and what base names can be used? +$DCR_DIR = '/usr/local/lib/fonts/free/dc/src'; +@DCR_GEN = ('dcb','dcbom','dcbx','dcbxsl','dcbxti','dccsc','dcdunh','dcff', + 'dcfi','dcfib','dcitt','dcr','dcsl','dcsltt','dcss','dcssbx', + 'dcssi','dctcsc','dcti','dctt','dcu','dcvtt' ); + +# Where are the Sauter fonts stored and what base names can be used? +$SAUTER_DIR = '/usr/local/lib/fonts/free/sauter/src'; +@SAUTER_GEN = ('cmb','cmbizx','cmbozx','cmbsy','cmbszx','cmbx','cmbxsl', + 'cmbxti', 'cmbz', 'cmbzx', 'cmcsc', 'cmdszc', 'cmdunh', + 'cmex', 'cmff', 'cmfi', 'cmfib', 'cminch', 'cmitt', 'cmmi', + 'cmmib', 'cmr', 'cmrcz', 'cmrisz', 'cmritz', 'cmriz', + 'cmrotz', 'cmroz', 'cmrsz', 'cmrtz', 'cmruz', 'cmrz', + 'cmsl', 'cmsltt', 'cmss', 'cmssbx', 'cmssdc', 'cmssi', + 'cmssq', 'cmssqi', 'cmsy', 'cmtcsc', 'cmtex', 'cmti', + 'cmtt', 'cmu', 'cmvtt', 'czinch', 'czssq', 'czssqi', + 'lasy', 'lasyb'); + +$SAUTER_ROUNDING{11} = '10.954451'; +$SAUTER_ROUNDING{14} = '14.4'; +$SAUTER_ROUNDING{17} = '17.28'; +$SAUTER_ROUNDING{20} = '20.736'; +$SAUTER_ROUNDING{25} = '24.8832'; +$SAUTER_ROUNDING{30} = '29.8685984'; + +# Get the command line arguments... +($NAME, $DPI, $BDPI, $MAG, $MODE, $FORCEDEST, $EXTRA) = @ARGV; + +open (TTY, ">/dev/tty"); # Open the TTY (so we can print messages +select (TTY); $| = 1; select(STDOUT); # even if STDERR and STDOUT are both + # redirected) + +if ($VERBOSE) { + print TTY "$0: font name: $NAME\n"; + print TTY "$0: dpi: $DPI\n"; + print TTY "$0: base dpi: $BDPI\n"; + print TTY "$0: magnification: $MAG\n" if $MAG; + print TTY "$0: mode: $MODE\n" if $MODE; + print TTY "$0: force destination directory: $FORCEDEST\n" if $FORCEDEST; + print TTY "$0: extra: $EXTRA\n" if $EXTRA; +} + +# Make sure we got enough arguments, but not too many... +die "$0: Invalid arguments.\n" if ($BDPI eq "" || $EXTRA ne ""); + +# Calculate the magnification from the requested resolutions if no +# magnification string was provided. +if (!$MAG) { + $MAG = "$DPI/$BDPI"; + print TTY "$0: magnification: $MAG\n" if $VERBOSE; +} + +# Calculate the mode if the mode was not given. Die if we don't know +# what mode to use for the requested base resolution. +if ($MODE eq "") { + $MODE = $DPI_MODES{$BDPI}; + die "$0: No mode for ${BDPI}dpi base resolution.\n" if $MODE eq ""; + print TTY "$0: mode: $MODE\n" if $VERBOSE; +} + +######################################################################## + +# Really start the work... +print TTY "Attempting to build PK file for: $NAME at ${DPI}dpi.\n"; + +$mfFile = $NAME; +$mfFile =~ /^(.*[^0-9])(\d+)$/; +$mfBase = $1; +$mfSize = $2; + +# Presumably, we got here because the PK file doesn't exist. Let's look +# for the MF file or the PFA or PFB file... + +# ... it's more complicated than that... + +# If the font is from a PFA/B file, it may have the name "rxxx" or +# "xxx0" because virtual fonts extract glyphs from the "raw" font. +# We need to find the PFA/B file and install the font with the right name. +# I'm not sure what the best solution would really be, but this will work. +# Luckily, it gets installed with the right name 'cause we already +# figured that out... +# +# A better solution on Unix machines might be to make "xxx0.pfa" or +# "rxxx.pfa" a symbolic link to "xxx.pfa". But that won't work for other +# architectures... + +$t1source = ""; +$t1source = $1 if $mfFile =~ /^r(.*)$/; +$t1source = $1 if $mfFile =~ /^(.*)0$/ && ($t1source eq ""); + +if ($t1source) { + $fontSource = &find_fonts($TEXFONTS, + ("$mfFile.mf", "$mfFile.pfa", "$mfFile.pfb", + "$t1source.pfa", "$t1source.pfb")); +} else { + $fontSource = &find_fonts($TEXFONTS, + ("$mfFile.mf", "$mfFile.pfa", "$mfFile.pfb")); +} + +if ($fontSource) { + if ($fontSource =~ /\.pfa$/ || $fontSource =~ /\.pfb$/) { + print TTY "Building PK file from PostScript source.\n"; + &make_and_cd_tempdir(); + &make_from_ps($fontSource); + } elsif ($fontSource =~ /\.mf$/) { + local($fpath, $fname); + print TTY "Building PK file from MF source.\n"; + &make_and_cd_tempdir(); + + if ($fontSource =~ /^(.*)\/([^\/]*)$/) { + $fpath = $1; + $fname = $2; + + $fpath = $CWD if $fpath eq "."; + $fpath = "$CWD/.." if $fpath eq ".."; + } else { + $fpath = ""; + $fname = $fontSource; + } + + &make_from_mf($fpath, $fname); + } else { + print TTY "$0: Cannot build PK font for $NAME.\n"; + print TTY " " x length($0), " Unprepared for $fontSource.\n"; + die "\n"; + } +} else { + if (grep(/^$mfBase$/, @DCR_GEN)) { + + print TTY "Building PK file from DC source.\n"; + + &make_and_cd_tempdir(); + + $MFBASE = "&dxbase"; + open (MFFILE, ">$mfFile.mf"); + print MFFILE "gensize:=$mfSize; generate $mfBase;\n"; + close (MFFILE); + + &make_from_mf("$DCR_DIR","$mfFile.mf"); + + } elsif (grep(/^$mfBase$/, @SAUTER_GEN)) { + + print TTY "Building PK file from Sauter source.\n"; + + &make_and_cd_tempdir(); + + if (defined($SAUTER_ROUNDING{$mfSize})) { + $designSize = $SAUTER_ROUNDING{$mfSize}; + } else { + $designSize = $mfSize; + } + + open (MFFILE, ">$mfFile.mf"); + print MFFILE "design_size := $designSize;\n"; + print MFFILE "input b-$mfBase;\n"; + close (MFFILE); + + &make_from_mf("$SAUTER_DIR","$mfFile.mf"); + + } else { + print TTY "$0: Cannot build PK file. Can't find source.\n"; + die "\n"; + } +} + +&cleanup(); + +exit 0; + +######################################################################## + +sub run { + local(@cmd) = @_; + local($rc); + + open (SAVEOUT, ">&STDOUT"); + open (SAVEERR, ">&STDERR"); + close (STDOUT); + open (STDOUT, ">&TTY"); + close (STDERR); + open (STDERR, ">&TTY"); + + # Chdir seems to return a funny exit code. So do it internally... + # (this is a hack) + if (@cmd[0] eq "chdir") { + $rc = chdir(@cmd[1]); + $rc = !$rc; + } else { + $rc = system(@cmd); + } + + close (STDOUT); + open (STDOUT, ">&SAVEOUT"); + close (SAVEOUT); + + close (STDERR); + open (STDERR, ">&SAVEERR"); + close (SAVEERR); + + if ($rc) { + printf TTY "%s\n", "*" x 72; + print TTY "$0 error : system return code: $rc\n"; + print TTY "$0 failed: @cmd\n"; + printf TTY "%s\n", "*" x 72; + } + + $rc; +} + +sub make_and_cd_tempdir { + &run ("mkdir", "$TEMPDIR"); + &run ("chdir", "$TEMPDIR"); +} + +sub cleanup { + &run ("chdir", "$CWD"); + &run ("rm", "-rf", "$TEMPDIR"); +} + +sub install_font { + local($source_path, $font, $subdir, $mode) = @_; + local($pkdirs, @paths, $ptarget); + local($target) = ""; + + if ($VERBOSE) { + print "Install: source_path: $source_path\n"; + print "Install: font : $font\n"; + print "Install: subdir : $subdir\n"; + print "Install: mode : $mode\n"; + } + + $pkdirs = $ENV{"TEXPKS"} || $ENV{"PKFONTS"} || ""; + @paths = split(/:|;/,$pkdirs); + + # Need to find an installable target for the PK files. Try + # ../glyphs/$subdir and ../$subdir then give up and use the best $pkdirs + # path... + + if (!$target) { + ($ptarget = $source_path) =~ s#/[^/]*$##; + $target = "$ptarget/glyphs/$subdir" + if -d "$ptarget/glyphs/$subdir" + || (-d "$ptarget/glyphs" + && -w "$ptarget/glyphs" + && ! -f "$ptarget/glyphs/$subdir"); + } + + if (!$target) { + ($ptarget = $source_path) =~ s#/[^/]*$##; + $target = "$ptarget/$subdir" + if -d "$ptarget/$subdir" + || (-d $ptarget && -w $ptarget && ! -f "$ptarget/$subdir"); + + # what a minute, suppose we just made a font in the current + # directory...let's put the PK file there too... + if (! -d "$target" && ($source_path eq $CWD)) { + $target = $source_path; + $USE_MODE_IN_DEST = 0; + } + } + + while (!$target && ($ptarget = shift @paths)) { + $target = $ptarget if ($ptarget ne "." && $ptarget ne ".." + && -d $ptarget && -w $ptarget); + } + + if ($target) { + if (! -d $target) { + &run ("mkdir", "$target"); + &run ("chmod", "777", "$target"); + } + + if ($USE_MODE_IN_DEST) { + $target .= "/$mode"; + if (! -d $target) { + &run ("mkdir", "$target"); + &run ("chmod", "777", "$target"); + } + } + + print TTY "Installing $font in $target.\n"; + &run ("cp", "$font", "$target/fonttmp.$$"); + &run ("chdir", "$target"); + &run ("mv", "fonttmp.$$", "$font"); + &run ("chmod", "a+r", "$font"); + &run ("chdir", "$TEMPDIR"); + print STDOUT "$target/$font\n"; + } else { + print TTY "$0: Install failed: no where to put $font.\n"; + } +} + +sub make_from_mf { + local ($source_path, $source_file) = @_; + local ($mfsource, $mfinputs, $cmd); + local ($gfname, $pkname, $realdpi, $testdpi); + local ($cmpath); + + print "source_path: $source_path\n" if $VERBOSE; + print "source_file: $source_file\n" if $VERBOSE; + + &run ("chdir", "$TEMPDIR"); + + if (!$source_file) { + $mfsource = $source_path; + ($source_path = $mfsource) =~ s#/[^/]*$##; + ($source_file = $mfsource) =~ s#^.*/([^/]*)$#$1#; + } + + $mfinputs = $ENV{"MFINPUTS"}; + $mfinputs =~ s/^:*(.*):*$/$1/ if $mfinputs; + $ENV{"MFINPUTS"} = ".:$source_path"; + $ENV{"MFINPUTS"} .= ":$mfinputs" if $mfinputs; + + print "MFINPUTS: $ENV{MFINPUTS}\n" if $VERBOSE; + + $cmpath = "/usr/local/lib/fonts/free/cm/src"; + if (-d $cmpath && $ENV{"MFINPUTS"} !~ /$cmpath/) { + $ENV{"MFINPUTS"} .= ":$cmpath"; + } + + $cmd = "$MFBASE \\mode:=$MODE; mag:=$MAG; scrollmode; " . + "\\input $source_file"; + print TTY "virmf $cmd\n"; + + $saveTERM = $ENV{"TERM"}; + $saveDISPLAY = $ENV{"DISPLAY"}; + delete $ENV{"DISPLAY"}; + $ENV{"TERM"} = "vt100"; + + $rc = &run ("virmf", "$cmd"); + + $ENV{"DISPLAY"} = $saveDISPLAY; + $ENV{"TERM"} = $saveTERM; + + $realdpi = $DPI; + $gfname = "./$mfFile.${realdpi}gf"; + + for ($testdpi = $realdpi-2; $testdpi < $realdpi+3; $testdpi++) { + $gfname = "./$mfFile.${testdpi}gf", $realdpi = $testdpi + if ! -f $gfname && -f "./$mfFile.${testdpi}gf"; + } + + $gfname = "./$mfFile.${realdpi}gf"; + $pkname = "./$mfFile.${realdpi}pk"; + + $rc = &run ("gftopk", "$gfname", "$pkname"); + + &install_font($source_path, "$mfFile.${realdpi}pk", 'pk', "$MODE"); +} + +sub make_from_ps { + local ($source_path, $source_file) = @_; + local ($pssource, @cmd); + local ($basename, $afmFile, $afmtest, $part); + + &run ("chdir", "$TEMPDIR"); + + if (!$source_file) { + $pssource = $source_path; + ($source_path = $pssource) =~ s#/[^/]*$##; + ($source_file = $pssource) =~ s#^.*/([^/]*)$#$1#; + } + + # Need to find the AFM file... + $afmFile = ""; + ($basename = $source_file) =~ s/\.pf[ab]$//; + # First, look in ../afm: + ($afmtest = $source_path) =~ s#/[^/]*$##; + $afmtest .= "/afm/$basename.afm"; + $afmFile = $afmtest if -r $afmtest; + + # Then, look in ../../afm: + ($afmtest = $source_path) =~ s#/[^/]*$##; + $afmtest =~ s#/[^/]*$##; + $afmtest .= "/afm/$basename.afm"; + $afmFile = $afmtest if !$afmFile && -r $afmtest; + + die "$0: Cannot find AFM file for $source_file.\n" if !$afmFile; + + @cmd = ('ps2pk', "-a$afmFile", "-X$DPI", + "$source_path/$source_file", "./$mfFile.${DPI}pk"); + + foreach $part (@cmd) { + print TTY "$part "; + } + print TTY "\n"; + + $rc = &run (@cmd); + + &install_font($source_path, "$mfFile.${DPI}pk", 'pk', "${DPI}dpi"); +} + +sub find_fonts { +# This subroutine searches for font sources. It looks in all the directories +# in the path specified. Recursive searches are preformed on directories +# that end in //, !, or !!. The emTeX directive "!", which should search +# only one level deep, is treated exactly like "!!". +# + local($path, @fonts) = @_; + local(@dirs, $dir, $font); + local(@matches) = (); + local(@recursive_matches); + + $path =~ s/!!/\/\//g; + $path =~ s/!/\/\//g; + $path =~ s/\\/\//g; + + print TTY "CWD: ", `pwd` if $VERBOSE; + print TTY "Find: @fonts\n" if $VERBOSE; + print TTY "Path: $path\n" if $VERBOSE; + + @dirs = split(/:|;/, $path); + while (@dirs) { + $dir = shift @dirs; + next if !$dir; + + if ($dir =~ /\/\//) { + @recursive_matches = &recursive_search($dir, @fonts); + push (@matches, @recursive_matches) + if @recursive_matches; + } else { + $dir =~ s/\/*$//; # remove trailing /, if present + foreach $font (@fonts) { + push (@matches, "$dir/$font") + if -f "$dir/$font"; + } + } + } + + $font = shift @matches; + + if (@matches) { + print TTY "$0: Found more than one match.\n"; + print TTY " " x length($0), " Using: $font\n"; + } + + $font; +} + +sub recursive_search { + local($dir, @fonts) = @_; + local(@matches) = (); + local(@dirstack, $rootdir, $font, $fontmask); + + $dir =~ /^(.*)\/\/(.*)$/; + $rootdir = $1; + $fontmask = $2; + + $rootdir =~ s/\/*$//; # remove trailing /'s + + # Note: this perl script has to scan them all, the mask is meaningless. + # Especially since I'm looking for the font *source* not the TFM or + # PK file... + + $fontmask =~ s/\$MAKETEX_BASE_DPI/$BDPI/g; + $fontmask =~ s/\$MAKETEX_MAG/$MAG/g; + $fontmask =~ s/\$MAKETEX_MODE/$MODE/g; + + print TTY "Search root=$rootdir\n" if $VERBOSE; + print TTY "Search mask=$fontmask (ignored by $0)\n" if $VERBOSE; + + @dirstack = ($rootdir); + + while ($rootdir = shift @dirstack) { + opendir (SEARCHDIR, "$rootdir"); + while ($dir = scalar(readdir(SEARCHDIR))) { + if ($dir ne "." && $dir ne ".." && -d "$rootdir/$dir") { + push(@dirstack, "$rootdir/$dir"); + foreach $font (@fonts) { + if (-f "$rootdir/$dir/$font") { + print TTY "Matched: $rootdir/$dir/$font\n" if $VERBOSE; + push(@matches, "$rootdir/$dir/$font"); + } + } + } + } + closedir (SEARCHDIR); + } + + @matches; +} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-02 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-02 new file mode 100644 index 00000000000..7283ee9459e --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-02 @@ -0,0 +1,427 @@ +#!/usr/local/bin/perl +# +# MakeTeXTFM.pl version 1.0, Copyright (C) 1993,94 by Norman Walsh. +# NO WARRANTY. Distribute freely under the GNU GPL. +# +# This script attempts to make a new TeX TFM file, because one wasn't +# found. The only argument is the name of the TFM file, such as +# `cmr10.tfm' (*NOT* just `cmr10'). +# +# This script was designed with two goals in mind: to support recursive +# subdirectory searching for fonts and to provide support for PK files +# built from both MF fonts and PS fonts. It also supports the Sauter +# and DC fonts which can be built at any design size. +# +# This script was designed and tested with the following directory structure +# in mind: each typeface is stored in its own directory with appropriate +# subdirectories for font sources, metrics, and glyphs. The script may not +# work exactly right if you use a different directory structure (the font +# installation, in particular, will probably be incorrect). However, +# several other versions of MakeTeXPK exist which will handle simpler +# directory structures, so you need not feel compelled to use the one +# described here. +# +# For MF fonts: (... is usually something like /usr/local/lib/tex/fonts) +# +# .../typeface/src holds the sources +# /tfm holds the TFM files +# /glyphs root for glyphs +# /glyphs/mode holds the PK files for "mode". +# +# For PS fonts: (... is usually something like /usr/local/lib/tex/fonts) +# +# .../typeface/afm holds the AFM files +# /tfm holds the TFM files +# /vf holds the VF files +# /vpl holds the VPL files +# /glyphs root for glyphs +# /glyphs/pk/999dpi holds the PK files at 999 dpi created by ps2pk +# /glpyhs/type1 holds the type1 PFA/PFB sources for the fonts +# +# The TFM files constructed for PostScript fonts are mapped to the Old TeX +# encoding. +# + +require "getopts.pl"; +$rc = &Getopts ('v'); # Get options from the user... + +$VERBOSE = $opt_v || $ENV{"DEBUG_MAKETEXPK"}; # Verbose? + +chop($CWD = `pwd`); # Where are we? +$TEMPDIR = "/tmp/mkPK.$$"; # Where do temp files go? +$MFBASE = "&plain"; # What MF base do we use by default? + +# Where are fonts stored? +$TEXFONTS = $ENV{"TEXFONTS"} || ".:/usr/local/lib/fonts//"; + +# Define modes that should be used for base resolutions... +$DPI_MODES{300} = "laserwriter"; +$DPI_MODES{200} = "FAX"; +$DPI_MODES{360} = "lqhires"; +$DPI_MODES{400} = "nexthi"; +$DPI_MODES{600} = "QMSmoa"; +$DPI_MODES{100} = "nextscreen"; + +$DPI_MODES{100} = "videodisplayi"; +$DPI_MODES{110} = "videodisplayii"; +$DPI_MODES{118} = "videodisplayiii"; +$DPI_MODES{120} = "videodisplayiv"; +$DPI_MODES{124} = "videodisplayv"; +$DPI_MODES{130} = "videodisplayvi"; +$DPI_MODES{140} = "videodisplayvii"; +$DPI_MODES{150} = "videodisplayviii"; + +$DPI_MODES{72} = "MacTrueSize"; +$DPI_MODES{635} = "linolo"; +$DPI_MODES{1270} = "linohi"; +$DPI_MODES{2540} = "linosuper"; + +# Where are the DC fonts stored and what base names can be used? +$DCR_DIR = '/usr/local/lib/fonts/free/dc/src'; +@DCR_GEN = ('dcb','dcbom','dcbx','dcbxsl','dcbxti','dccsc','dcdunh','dcff', + 'dcfi','dcfib','dcitt','dcr','dcsl','dcsltt','dcss','dcssbx', + 'dcssi','dctcsc','dcti','dctt','dcu','dcvtt' ); + +# Where are the Sauter fonts stored and what base names can be used? +$SAUTER_DIR = '/usr/local/lib/fonts/free/sauter/src'; +@SAUTER_GEN = ('cmb','cmbizx','cmbozx','cmbsy','cmbszx','cmbx','cmbxsl', + 'cmbxti', 'cmbz', 'cmbzx', 'cmcsc', 'cmdszc', 'cmdunh', + 'cmex', 'cmff', 'cmfi', 'cmfib', 'cminch', 'cmitt', 'cmmi', + 'cmmib', 'cmr', 'cmrcz', 'cmrisz', 'cmritz', 'cmriz', + 'cmrotz', 'cmroz', 'cmrsz', 'cmrtz', 'cmruz', 'cmrz', + 'cmsl', 'cmsltt', 'cmss', 'cmssbx', 'cmssdc', 'cmssi', + 'cmssq', 'cmssqi', 'cmsy', 'cmtcsc', 'cmtex', 'cmti', + 'cmtt', 'cmu', 'cmvtt', 'czinch', 'czssq', 'czssqi', + 'lasy', 'lasyb'); + +$SAUTER_ROUNDING{11} = '10.954451'; +$SAUTER_ROUNDING{14} = '14.4'; +$SAUTER_ROUNDING{17} = '17.28'; +$SAUTER_ROUNDING{20} = '20.736'; +$SAUTER_ROUNDING{25} = '24.8832'; +$SAUTER_ROUNDING{30} = '29.8685984'; + +open (TTY, ">/dev/tty"); +select (TTY); $| = 1; select(STDOUT); + +$tfmFile = @ARGV[0]; +if (!$tfmFile) { + print TTY "$0 error: No TFM file specified.\n"; + die "\n"; +} + +print TTY "\nAttempting to build TFM file: $tfmFile.\n"; + +# This is the *wierdest* bug I've ever seen. When this script is called +# by virtex to build a TFM file, the argument (as interpreted by Perl) +# has (at least one) ASCII 16 attached to the end of the argument. This +# loop removes all control characters from the $tfmFile name string... +$tfmFile =~ /(.)$/; +$char = ord ($1); +while ($char <= 32) { + $tfmFile = $`; + $tfmFile =~ /(.)$/; + $char = ord ($1); +} + +# Now we know the name of the TFM file. Next, get the name of the MF file +# and the base name and size of the MF file. + +($mfFile = $tfmFile) =~ s/\.tfm$//; +$mfFile =~ /^(.*[^0-9])(\d+)$/; +$mfBase = $1; +$mfSize = $2; + +# Presumably, we got here because the TFM file doesn't exist. Let's look +# for the MF file or the AFM file... + +$tfmSource = &find_fonts($TEXFONTS, ("$mfFile.mf", "$mfFile.afm")); + +if ($tfmSource) { + if ($tfmSource =~ /\.afm$/) { + print TTY "Building $tfmFile from AFM source.\n"; + &make_and_cd_tempdir(); + &make_from_afm($tfmSource); + } elsif ($tfmSource =~ /\.mf$/) { + local($fpath, $fname); + print TTY "Building $tfmFile from MF source.\n"; + &make_and_cd_tempdir(); + + if ($tfmSource =~ /^(.*)\/([^\/]*)$/) { + $fpath = $1; + $fname = $2; + + $fpath = $CWD if $fpath eq "."; + $fpath = "$CWD/.." if $fpath eq ".."; + } else { + $fpath = ""; + $fname = $tfmSource; + } + + &make_from_mf($fpath, $fname); + } else { + print TTY "$0: Cannot build $tfmFile.\n"; + print TTY " " x length($0), " Unprepared for $tfmSource.\n"; + die "\n"; + } +} else { + if (grep(/^$mfBase$/, @DCR_GEN)) { + + print TTY "Building $tfmFile from DC source.\n"; + + &make_and_cd_tempdir(); + + $MFBASE = "&dxbase"; + open (MFFILE, ">$mfFile.mf"); + print MFFILE "gensize:=$mfSize; generate $mfBase;\n"; + close (MFFILE); + + &make_from_mf("$DCR_DIR","$mfFile.mf"); + + } elsif (grep(/^$mfBase$/, @SAUTER_GEN)) { + + print TTY "Building $tfmFile from Sauter source.\n"; + + &make_and_cd_tempdir(); + + if (defined($SAUTER_ROUNDING{$mfSize})) { + $designSize = $SAUTER_ROUNDING{$mfSize}; + } else { + $designSize = $mfSize; + } + + open (MFFILE, ">$mfFile.mf"); + print MFFILE "design_size := $designSize;\n"; + print MFFILE "input b-$mfBase;\n"; + close (MFFILE); + + &make_from_mf("$SAUTER_DIR","$mfFile.mf"); + + } else { + print TTY "$0: Cannot build $tfmFile. Can't find source.\n"; + die "\n"; + } +} + +&cleanup(); + +exit 0; + +sub run { + local(@cmd) = @_; + local($rc); + + open (SAVEOUT, ">&STDOUT"); + open (SAVEERR, ">&STDERR"); + close (STDOUT); + open (STDOUT, ">&TTY"); + close (STDERR); + open (STDERR, ">&TTY"); + + # Chdir seems to return a funny exit code. So do it internally... + # (this is a hack) + if (@cmd[0] eq "chdir") { + $rc = chdir(@cmd[1]); + $rc = !$rc; + } else { + $rc = system(@cmd); + } + + close (STDOUT); + open (STDOUT, ">&SAVEOUT"); + close (SAVEOUT); + + close (STDERR); + open (STDERR, ">&SAVEERR"); + close (SAVEERR); + + if ($rc) { + printf TTY "%s\n", "*" x 72; + print TTY "MakeTeXTFM error : system return code: $rc\n"; + print TTY "MakeTeXTFM failed: @cmd\n"; + printf TTY "%s\n", "*" x 72; + } + + $rc; +} + +sub make_and_cd_tempdir { + &run ("mkdir", "$TEMPDIR"); + &run ("chdir", "$TEMPDIR"); +} + +sub cleanup { + &run ("chdir", "$CWD"); + &run ("rm", "-rf", "$TEMPDIR"); +} + +sub install_font { + local($source_path, $font, $subdir) = @_; + local(@paths) = split(/:|;/,$ENV{"TEXFONTS"}); + local($target) = ""; + local($ptarget); + + if (!$target && $source_path =~ /\/src$/) { + $ptarget = $source_path; + $ptarget =~ s/(.*)\/src$/$1/; + $ptarget .= "/$subdir"; + $target = $ptarget if (-d $ptarget && -w $ptarget); + } + + if (!$target && $source_path =~ /\/afm$/) { + $ptarget = $source_path; + $ptarget =~ s/(.*)\/afm$/$1/; + $ptarget .= "/$subdir"; + $target = $ptarget if (-d $ptarget && -w $ptarget); + } + + if (!$target && ($source_path eq $CWD)) { + $target = $source_path; + } + + while (!$target && ($ptarget = shift @paths)) { + $target = $ptarget if ($ptarget ne "." && $ptarget ne ".." + && -d $ptarget && -w $ptarget); + } + + if ($target) { + print TTY "Installing $font in $target.\n"; + &run ("cp", "$font", "$target/fonttmp.$$"); + &run ("chdir", "$target"); + &run ("mv", "fonttmp.$$", "$font"); + &run ("chmod", "a+r", "$font"); + &run ("chdir", "$TEMPDIR"); + print STDOUT "$target/$font\n"; + } else { + print TTY "$0: Install failed: no where to put $font.\n"; + } +} + +sub make_from_mf { + local ($source_path, $source_file) = @_; + local ($mfsource, $mfinputs, $cmd); + + &run ("chdir", "$TEMPDIR"); + + if (!$source_file) { + $mfsource = $source_path; + ($source_path = $mfsource) =~ s#/[^/]*$##; + ($source_file = $mfsource) =~ s#^.*/([^/]*)$#$1#; + } + + $mfinputs = $ENV{"MFINPUTS"}; + $mfinputs =~ s/^:*(.*):*$/$1/ if $mfinputs; + $ENV{"MFINPUTS"} = ".:$source_path"; + $ENV{"MFINPUTS"} .= ":$mfinputs" if $mfinputs; + + print "MFINPUTS: $ENV{MFINPUTS}\n" if $VERBOSE; + + $cmd = "$MFBASE \\mode:=laserwriter; scrollmode; \\input $source_file"; + print TTY "virmf $cmd\n"; + + $saveTERM = $ENV{"TERM"}; + $saveDISPLAY = $ENV{"DISPLAY"}; + delete $ENV{"DISPLAY"}; + $ENV{"TERM"} = "vt100"; + + $rc = &run ("virmf", "$cmd"); + + $ENV{"DISPLAY"} = $saveDISPLAY; + $ENV{"TERM"} = $saveTERM; + + &install_font($source_path, $tfmFile, 'tfm'); +} + +sub make_from_afm { + local ($afmFile) = @_; + local ($source_path); + + print TTY "afm2tfm $afmFile -v $mfFile ${mfFile}0\n"; + $rc = &run ("afm2tfm", "$afmFile", "-v", "$mfFile", "${mfFile}0"); + + print TTY "vptovf $mfFile.vpl $mfFile.vf $mfFile.tfm\n"; + $rc = &run ("vptovf", "$mfFile.vpl", "$mfFile.vf", "$mfFile.tfm"); + + ($source_path = $afmFile) =~ s#/[^/]*$##; + &install_font($source_path, "$mfFile.tfm", 'tfm'); + &install_font($source_path, "${mfFile}0.tfm", 'tfm'); + &install_font($source_path, "$mfFile.vpl", 'vpl'); + &install_font($source_path, "$mfFile.vf", 'vf'); +} + +sub find_fonts { + local($path, @fonts) = @_; + local(@dirs, $dir, $font); + local(@matches) = (); + local(@recursive_matches); + + print "Find fonts on path: $path\n" if $VERBOSE; + + @dirs = split(/:|;/, $path); + while ($dir = shift @dirs) { + print "Search: $dir\n" if $VERBOSE; + if ($dir =~ /\/\//) { + @recursive_matches = &recursive_search($dir, @fonts); + push (@matches, @recursive_matches) + if @recursive_matches; + } else { + $dir =~ s/\/*$//; # remove trailing /, if present + foreach $font (@fonts) { + push (@matches, "$dir/$font") + if -f "$dir/$font"; + } + } + } + + $font = shift @matches; + + if (@matches) { + print TTY "$0: Found more than one match.\n"; + print TTY " " x length($0), " Using: $font\n"; + } + + $font; +} + +sub recursive_search { + local($dir, @fonts) = @_; + local(@matches) = (); + local(@dirstack, $rootdir, $font, $fontmask); + + $dir =~ /^(.*)\/\/(.*)$/; + $rootdir = $1; + $fontmask = $2; + + $rootdir =~ s/\/*$//; # remove trailing /'s + + # Note: this perl script has to scan them all, the mask is meaningless. + # Especially since I'm looking for the font *source* not the TFM or + # PK file... + + $fontmask =~ s/\$MAKETEX_BASE_DPI/$BDPI/g; + $fontmask =~ s/\$MAKETEX_MAG/$MAG/g; + $fontmask =~ s/\$MAKETEX_MODE/$MODE/g; + + print "Search root=$rootdir\n" if $VERBOSE; + print "Search mask=$fontmask (ignored by $0)\n" if $VERBOSE; + + @dirstack = ($rootdir); + + while ($rootdir = shift @dirstack) { + opendir (SEARCHDIR, "$rootdir"); + while ($dir = scalar(readdir(SEARCHDIR))) { + if ($dir ne "." && $dir ne ".." && -d "$rootdir/$dir") { + push(@dirstack, "$rootdir/$dir"); + foreach $font (@fonts) { + if (-f "$rootdir/$dir/$font") { + print "Matched: $rootdir/$dir/$font\n" if $VERBOSE; + push(@matches, "$rootdir/$dir/$font"); + } + } + } + } + closedir (SEARCHDIR); + } + + @matches; +} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-03 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-03 new file mode 100644 index 00000000000..7a1158292a7 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-03 @@ -0,0 +1,215 @@ +@echo off +: ----------------------------------------------------------------------- +: DVIDXX Copyright (C) 1992,94 by Norman Walsh +: +: This file is free. You can do anything you like with it with one +: exception: if you change this file, you MUST rename it! +: +: Requirements: 4DOS, emTeX drivers 1.4s or higher, MAKEPK.BTM +: +: Usage: DVIDXX emtexDriver driverOptions +: +: Note: DVIDXX requires a fair amount of free environment space in order +: to function properly. +: +: Norman Walsh +: <norm@ora.com> +: +: 12/09/1992: - Vers 0.5 +: - This is a first attempt. It works, but it doesn't have +: any bells and whistles. It would be nice, for example, +: if it noticed that PS2PK failed for a particular font... +: ----------------------------------------------------------------------- +: +: This batch file is a replacement for emTeX's dvidrv program. It offers +: one additional feature. In addition to using MFjob to build fonts that +: don't exist, DVIDXX can use PS2PK to build PK files for PostScript fonts. +: Note: You must have the AFM and PFA/B files for the PS fonts in question. +: +: Why did you write this as a 4DOS BTM file? For two reasons. First, I +: wanted it to be interpreted rather than compiled so that it would be +: easy to change, modify, and extend. Second, I did it in 4DOS BTM language +: because DOS's batch language is too primitive. Yes, maybe I _could_ have +: done it with a plain BAT file, but I had no desire to try. +: +: ----------------------------------------------------------------------- +: +: This file relies on MAKEPK.BTM to actually build the fonts with PS2PK. +: +: Both MAKEPK and DVIDXX are somewhat dependant on the layout of your +: hard disk. Well, on the layout of mine, actually ;-) +: +: Here's how my HD is organized: +: +: C:\PSFONTS\ Root of my PostScript fonts directory. +: This is stored in the %[PSFONTS] env. variable +: %[PSFONTS]\PFB Where .PFB files are kept +: %[PSFONTS]\AFM Where .AFM files are kept +: %[PSFONTS]\UTIL Where MAKEPK is kept +: +: ----------------------------------------------------------------------- +: Make sure this is 4DOS... +if "%@eval[2+2]" == "4" goto start +echo Sorry, this batch file can only be run with 4Dos. +goto end +: ----------------------------------------------------------------------- +: Call the driver (maybe we won't have to do anything else) +: In a network environment, you may have to make the mfjob-file unique +: for each user in some way... +: ----------------------------------------------------------------------- +:start +if not "%_dos" == "DOS" goto os2ok +iff %_env lt 128 then + echo Sorry, this batch file requires at least 128 bytes of free environment + echo space. Consult your 4DOS manual for information about increasing it. + goto end +endiff +:os2ok +setlocal +set MFJOBFN=dvidxx.mfj + +%1 %2$ +mfjob-file:%MFJOBFN +batch-mode +iff not errorlevel == 8 then + endlocal + goto end +endiff +: ----------------------------------------------------------------------- +: Ok, we have to build some fonts... +: +: NEWJOB = name of the MFjob file that will actually be used +: PSJOB = name of the batch file that will build fonts with PS2PK +: PSCNT = number of PS fonts to build +: MFCNT = number of MF fonts to build +: MFJOBLEN = number of lines in the original MFjob file +: LNUM = current line number (in original MFjob file) +: LINE = text of the current line +: FONT = name of font +: SIZE = ptsize of current font (assumes designsize of 10pt) +: PSFNT = 0/1 flag determines if the %FONT in question is PS or not +: ----------------------------------------------------------------------- +echo Looking at MFJob file... +set NEWJOB=%@unique[%@path[%MFJOBFN]] +set PSJOB=%@unique[%@path[%MFJOBFN]] +ren %NEWJOB %NEWJOB.mfj /q +ren %PSJOB %PSJOB.btm /q +set NEWJOB=%NEWJOB.mfj +set PSJOB=%PSJOB.btm +set PSCNT=0 +set MFCNT=0 +set MFJOBLEN=%@lines[%MFJOBFN] +set LNUM=0 + +: Create the batch file and the new MFjob file... +echo %% > %NEWJOB +echo pushd %PSFONTS > %PSJOB + +: ----------------------------------------------------------------------- +: Loop through the entire MFjob file. Lines that begin "{font=" are +: analyzed further to determine what kind of font it is. All other lines +: are simply copied to the new MFjob file. +: ----------------------------------------------------------------------- + +:looptop + +if %LNUM gt %MFJOBLEN goto loopover + +: Deleting this percent stuff will save a small amount of time, but +: since reading from the MFjob file is pretty slow, I find it reassuring... +set PERC=%@eval[%LNUM / %MFJOBLEN * 100] +set p=%@index[%PERC,.] +if %p gt 0 set PERC=%@substr[%PERC,0,%p] +echos %@CHAR[13]Working: +echos %[PERC]%% + +set LINE=%@line[%MFJOBFN,%LNUM] +: +: We employ a convoluted compound test because %@substr["%foo",1,5] fails +: with a "no closing quote" error if the %@len["%foo"] < 5... +: +set FOUND=0 +iff %@len["%LINE"] gt 5 then + if (%@substr["%LINE",1,5]) == ({font) set FOUND=1 +endiff + +: If we found a font, %FOUND will be 1 +iff %FOUND == 1 then + Rem Extract the font name and the size + set p=%@index["%LINE",;] + set FONT=%@substr["%LINE",7,%@eval[%p - 7]] + set p=%@index["%LINE",mag=] + set q=%@index["%LINE",}] + set SIZE=%@substr["%LINE",%@eval[%p+4],%@eval[%q-%p-5]] + set SIZE=%@eval[%SIZE*10] + + Rem This is where we test to see if it is a PS font. I've got a really + Rem simple test below. Basically, I keep all my PFB files for PS fonts + Rem in a single directory. If the font in question isn't in that directory, + Rem I assume it is an MF font. + set PSFNT=0 + gosub ispsfont + iff %PSFNT == 1 then + Echo %FONT at %[SIZE]pt will be built by PS2PK + Rem I keep MAKEPK in C:\PSFONTS\UTIL so that's what I write to the batch + Rem file. If you keep it somewhere else, you'll have to change this. + echo call %[psfonts]\util\makepk %FONT %SIZE >> %PSJOB + set PSCNT=%@eval[%PSCNT + 1] + else + Echo %FONT at %[SIZE]pt will be built by MFjob + echo %LINE >> %NEWJOB + set MFCNT=%@eval[%MFCNT + 1] + endiff +else + echo %LINE >> %NEWJOB +endiff + +set LNUM=%@eval[%LNUM + 1] +goto looptop +:loopover + +: ----------------------------------------------------------------------- + +: Finish up the PSJOB file and clean up the messages on the screen +echo popd >> %PSJOB +echos %@CHAR[13] %@CHAR[13] + +: ----------------------------------------------------------------------- + +: Go for it! +iff %MFCNT gt 0 then + echo Attempting to build %MFCNT fonts with MFjob + mfjob %NEWJOB +endiff +del %NEWJOB /q + +: Get back the environment space that we (may) need in MAKEPK... +unset MFJOBLEN LNUM LINE FONT SIZE PSFNT MFCNT NEWJOB + +iff %PSCNT gt 0 then + echo Attempting to build %PSCNT fonts with PS2PK + call %PSJOB +endiff +del %PSJOB /q + +: ----------------------------------------------------------------------- +: Try to run the driver again...this time it should succeed! + +del %MFJOBFN /q +%1 %2$ +mfjob-file:%MFJOBFN +batch-mode +iff errorlevel == 8 then + echo Font building must have failed for at least one font. Look in + echo the %MFJOBFN file to see which font(s) failed. +endiff + +endlocal +goto end + +: ----------------------------------------------------------------------- +: This really simple subroutine is how I look for PS fonts. This routine +: should set PSFNT=1 iff the %FONT variable names a PostScript font. +: +:ispsfont +if exist %[psfonts]\pfb\%FONT.pfb set PSFNT=1 +return + +: ----------------------------------------------------------------------- +:end diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-04 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-04 new file mode 100644 index 00000000000..7f096b4ca5d --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-04 @@ -0,0 +1,151 @@ +@echo off +: ----------------------------------------------------------------------- +: MAKEPK Copyright (C) 1992,94 by Norman Walsh +: +: This file is free. You can do anything you like with it with one +: exception: if you change this file, you MUST rename it! +: +: Requirements: 4DOS, ps2pk, afm2tfm, pfm2afm, pkbbox +: +: Usage: MAKEPK fontfn ptsize [pkfn] [-opts] +: +: Norman Walsh +: <norm@ora.com> +: +: 12/09/1992: - Vers 0.5 +:-------------------------------------------------------------------------- +: See usage info below +: +: This batch file relies on the following directory structure: +: +: C:\PSFONTS\ Root of the PostScript fonts directory. +: This is stored in the %[PSFONTS] env. variable +: %[PSFONTS]\PFB Where .PFB files are kept +: %[PSFONTS]\AFM Where .AFM files are kept +: %[PSFONTS]\PFM Where .PFM files are kept (only required if the +: AFM file does not exist) +: %[PSFONTS]\TFM Where _all_ TFM files are kept for PS fonts +: C:\BIN\PS2PK Where all the PS2PK utils are kept +:-------------------------------------------------------------------------- +: Make sure the parameters are ok... +iff %# lt 1 then + echo Usage: %0 fontfn ptsize [pkfn] [-opts] + echo. + echo MAKEPK rasterizes 'fontfn' at 'ptsize' and stores it in 'pkfn'. The + echo default 'pkfn' is the name of the 'fontfn'. All fonts are stored in + echo the %[psfonts]\@Rrdpi\ directory. If -opts are supplied, they are + echo passed to PS2PK. + quit 1 +endiff + +: Setup local environment +setlocal +pushd %[psfonts] + +: Parse the command line +set pfbfn=%@name[%1] +set ptsz=%2 +set pkfn=%@name[%3] +shift 2 +:toshift +iff ³%@substr[%1,0,1]³ == ³-³ then + set pkopts=%pkopts %1 +else + set pkfn=%@name[%1] +endiff +shift +if %# gt 0 goto toshift +: ----------------------------------------------------------------------- +: Figure out the name of the appropriate PK directory. Create it if it +: doesn't exist. Abort if a filename exists with that name... +: +: TeX seems to underestimate the font size by a very small amount. We +: compensate (in the calculation of the directory) by adding the small +: amount 0.0005 to the point size before truncating to integer... +: +set pkres=%@int[%@eval[(%@eval[%ptsz+0.0005] * 300) / 10]] +set pkdir=%[pkres]dpi +if isdir %pkdir goto okdir +iff not exist %pkdir then + md %pkdir + goto okdir +endiff +echo MakePK: Cannot create directory: %pkdir +quit 1 +:okdir +: ----------------------------------------------------------------------- +: Setup the %PKFN if it wasn't set by a parameter +if "%pkfn" == "" set pkfn=%@name[%pfbfn] + +: If the font and TFM alread exist, don't bother making them +iff exist %[pkdir]\%[pkfn].pk .and. .\tfm\%@filesize[%[pkfn].tfm] gt 0 then + popd + quit 0 +endiff + +: Check to see if an AFM file exists (and has a reasonable size)... +iff %@filesize[.\afm\%[pfbfn].afm] gt 0 then + set afmok=1 +else + set afmok=0 +endiff +: ----------------------------------------------------------------------- +: Make sure we have everything we need...a PFB and an AFM or PFM... +set ok=1 +iff not exist .\pfb\%[pfbfn].pfb then + echo Cannot find PFB file: .\pfb\%[pfbfn].pfb + set ok=0 +endiff +iff not exist .\pfm\%[pfbfn].pfm .and. %afmok == 0 then + echo Cannot find PFM file (.\pfm\%[pfbfn].pfm) and + echo cannot find AFM file (.\afm\%[pfbfn].afm) + set ok=0 +endiff +if "%ok" == "0" quit 1 +set ok= +: ----------------------------------------------------------------------- +: If we didn't find an AFM file, make one... +iff %afmok == 0 then + echo PFMtoAFM... + \bin\ps2pk\pfm2afm .\pfm\%[pfbfn].pfm .\afm\%[pfbfn].afm +endiff + +: ----------------------------------------------------------------------- +: Build the font... +echo Rasterizing... +::: The lines marked *** MERGE *** should be joined onto the end of the +::: preceding line. They were broken only to fit within the margins of +::: this book. +echo ps2pk -P10 -X%[pkres] -a.\afm\%[pfbfn].afm %pkopts +*** MERGE *** .\pfb\%[pfbfn].pfb %[pkdir]\%[pkfn].pk +ps2pk -V -P10 -X%[pkres] -a.\afm\%[pfbfn].afm %pkopts +*** MERGE *** .\pfb\%[pfbfn].pfb %[pkdir]\%[pkfn].pk + +: If we didn't get a descent AFM then we built it with AFM2PFM. +: Unfortunately, the bounding boxes are missing if we did that. +: So add the bounding boxes with the UGLY HACKISH PKbbox program... +iff %afmok == 0 then + echo PKbbox to make bounding boxes... + set tempafm=%@unique[.] + c:\tex\util\pkbbox %pkdir\%pkfn.pk .\afm\%[pfbfn].afm > %tempafm + move %tempafm .\afm\%[pfbfn].afm +endiff + +: If there's no TFM, build it... +iff not exist .\tfm\%[pkfn].tfm then + echo AFMtoTFM... + afm2tfm .\afm\%[pfbfn].afm .\tfm\%[pkfn].tfm +endiff + +::: If we didn't build a 10pt font, scale it appropriately +::iff not "%ptsz" == "10" then +:: c:\tex\util\pkscale %[pkdir]\%[pkfn].pk .\tfm\%[pkfn].tfm /designsize:10 +:: del %[pkdir]\%[pkfn].bak /q +::endiff + +: +: ----------------------------------------------------------------------- +: We're all done... +popd +endlocal +quit 0 diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-05 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-05 new file mode 100644 index 00000000000..bb8e67689b3 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-05 @@ -0,0 +1,174 @@ +#! /usr/local/bin/perl +# +# Usage: enc-afm afm-file enc-file > encoded-afm-file +# +# Where: afm-file is the original AFM file with an arbitrary +# encoding enc-file is the encoding file (in PS +# format, a la dvips .enc files) encoded-afm-file is +# the new AFM file with 'enc-file' encoding. +# + +# what about .notdef? + +$afmfile = @ARGV[0]; +$encfile = @ARGV[1]; + +print STDERR "Reading encoding file: $encfile\n"; +&read_encfile($encfile); +print STDERR "Reading AFM file: $afmfile\n"; +&read_afmfile($afmfile); + +# Assign the correct encoding position to each char +$missing = 0; +for ($count = 0; $count < $vectorlen; $count++) { + $missing_glyphs{@encoding[$count]} = 1, $missing = 1 + if !defined($vectorplace{@encoding[$count]}) + && @encoding[$count] ne ".notdef"; + $vectorplace{@encoding[$count]} = $count; +} + +&print_long_list("Note: the following glyphs are missing " + . "from the AFM file: ", + sort (keys %missing_glyphs)) + if $missing; + +# Construct the CharMetrics lines +@output_encoding = (); +foreach $name (keys %metrics) { + push (@output_encoding, + sprintf("C %3d ; %s", + $vectorplace{$name}, $metrics{$name})); +} + +# Sort the CharMetrics lines +@sorted_encoding = sort (@output_encoding); + +# Move the unused characters to the end of the list +@output_encoding = grep(/^C\s+\d+/, @sorted_encoding); +@minusone_encoding = grep(/C\s+-1/, @sorted_encoding); +push(@output_encoding, @minusone_encoding); + +# Print the new AFM file +print $line, "\n" while ($line = shift @preamble); + +print "Comment Encoded with enc-afm from $encfile.\n"; +print "EncodingScheme $encname\n"; +printf "StartCharMetrics %d\n", $#output_encoding+1; +print $line, "\n" while ($line = shift @output_encoding); +print "EndCharMetrics\n"; + +print $line, "\n" while ($line = shift @postamble); + +exit 0; + +sub read_afmfile { + local ($afmfile) = @_; + local ($inpreamble, $inmetrics, $inpostamble) = (1,0); + local ($width, $name, $bbox, $prname); + + @preamble = (); + %metrics = (); + %vectorplace = (); + @postamble = (); + + open (AFM, $afmfile) + || die "Can't open afm file: $afmfile\n"; + + while (<AFM>) { + chop; + + push(@postamble, $_) if $inpostamble; + push(@preamble, $_) + if $inpreamble && ! /^EncodingScheme\s/i; + + if (/^EndCharMetrics/) { + $inmetrics = 0; + $inpostamble = 1; + } + + if ($inmetrics) { + $width = $1 if /[;\s]+WX\s+([0-9]+)[;\s]+/; + $name = $1 if /[;\s]+N\s+(\w+)[;\s]+/; + $bbox = $1 if /[;\s]+B\s+([^;]+)[;\s]+/; + die "Invalid line in AFM file: $_\n" + if ($name eq ""); + $metrics{$name} = sprintf("WX %4d ; N %s ; B %s ;", + $width, $name, $bbox); + $vectorplace{$name} = -1; + } + + if (/^StartCharMetrics/) { + $inpreamble = 0; + $inmetrics = 1; + } + } +} + +sub read_encfile { + local ($encfile) = @_; + local ($place, $line); + + open (ENC, $encfile) + || die "Can't open encoding file: $encfile\n"; + + $encname = ""; + @encoding = (); + $#encoding = 256; # set the array length + $vectorlen = 0; + $done = 0; + while (<ENC>) { + chop; + next if /^\s*%/; + + $line = $_; + if ($encname eq "") { + die "Invalid line in encoding file: $_\n" + if ! /\s*\/(.*)\s*\[(.*)$/; + $encname = $1; + $line = $2; + } + + $place = index($line, "%"); + $line = substr($line,$[,$place-1) if $place >= $[; + + $place = index($line, "]"); + if ($place >= $[) { + $line = substr($line,$[,$place-1); + $done = 1; + } + + while ($line =~ /^\s*\/(\S*)\s*(.*)$/) { + @encoding[$vectorlen++] = $1; + $line = $2; + } + + last if $done; + } +} + +############################################################ +# This routine prints a message followed by a potentially +# long list of items, seperated by spaces. It will never +# allow "word wrap" to occur in the middle of a word. There +# has to be a better way, using Perl's report generation to +# do this, but I haven't looked yet. +# +sub print_long_list { + local ($message,@thelist) = @_; + local ($line) = $message; + local ($item, $displaystring) = ("", ""); + + foreach $item (@thelist) { + if (length($line . $item) < 73) { + $line .= $item . ", "; + } else { + $displaystring .= $line . "\n"; + $line = $item . ", "; + } + } + + $line =~ s/(.*),\s*$/$1/; # remove the last ", "... + $displaystring .= $line . "\n"; + + print STDERR $displaystring; +} diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-06 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-06 new file mode 100644 index 00000000000..b7fb42f1853 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-06 @@ -0,0 +1,181 @@ +#!/usr/local/bin/bash +# +# This script file makes a new X/TeX screen font, because one wasn't +# found. Parameters are: +# +# name dpi bdpi magnification destdir +# +# `name' is the name of the font, such as `cmr10'. `dpi' is +# the resolution the font is needed at. `bdpi' is the base +# resolution, useful for figuring out the mode to make the font +# in. `magnification' is a string to pass to MF as the +# magnification. 'destdir' is the directory in which to cache the new +# font. +# +# Note that this file must execute Metafont, mftobdf, and then bdftosnf, +# and place the result in the correct location for X +# to find it subsequently. +# +# Of course, it needs to be set up for your site. +# +# TEMPDIR needs to be unique for each process because of the possibility +# of simultaneous processes running this script. +TEMPDIR=/tmp/bdf-snf.$$ +NAME=$1 +DPI=$2 +BDPI=$3 +MAG=$4 +MODE=$5 +DESTDIR=$6 +umask 0 + +#declare -i cmfound=0 +#MFDIRS=`echo $MFINPUTS | gawk -F: '{ for (i=1; i<=NF; i++) print $i }'` +#for f in $MFDIRS +#do +# if [ -r $f/$NAME.mf ]; then +# declare -i cmfound=1 +# fi +#done + +if [ -r /usr/local/lib/tex/fonts/ps-outlines/$NAME.pfa ] +then + echo Building X-font from PostScript outline + PStoXfont $1 $2 $3 $4 $5 $6 + exit 0 +else + echo Building X-font from MetaFont outline +fi + +# Something like the following is useful at some sites. +GFNAME=$NAME.$DPI'gf' +BDFNAME=$NAME.$DPI.'bdf' +SNFNAME=$NAME.$DPI.pcf + +COMPRESS=1 + +# check if we're not running with MIT server after all +if xdpyinfo|grep -s 'vendor string: *.*MIT.*'; then +# DESTDIR=/usr/lib/X11/fonts/xtex +# SNFNAME=$NAME.$DPI.'snf' + COMPRESS=0 + MITSERVER=1 +fi + +if test "$COMPRESS" = "1" +then + SNFZNAME=${SNFNAME}'.Z' +else + SNFZNAME=${SNFNAME} +fi + +# Clean up on normal or abnormal exit +trap "cd /; rm -rf $TEMPDIR $DESTDIR/bdftmp.$$ $DESTDIR/snftmp.$$" 0 1 2 15 + +mkdir $TEMPDIR +cd $TEMPDIR + +if test -r $DESTDIR/$BDFNAME +then + echo "$DESTDIR/$BDFNAME already exists!" + exit 0 +fi + +if test -r $DESTDIR/$SNFNAME +then + echo "$DESTDIR/$SNFNAME already exists!" + exit 0 +fi + +if test -r $DESTDIR/$SNFZNAME +then + echo "$DESTDIR/$SNZFNAME already exists!" + exit 0 +fi + + +## +# First try mftobdf, maybe it exists... +## + +echo "1st mftobdf -dpi" $DPI $NAME +mftobdf -dpi $DPI $NAME +if test ! -r $BDFNAME +then + pwd + echo mf "\mode:=$MODE; mag:=$MAG/1000; scrollmode; input $NAME </dev/null" + mf "\mode:=$MODE; mag:=$MAG/1000; scrollmode; input $NAME" </dev/null + if test ! -r $GFNAME + then +# +# My local metafont gives bogus names occasionally. Don't know why. +# + echo "Unable to find $GFNAME in directory "`pwd` + OLDDPI=$DPI + NEWDPI=`expr $DPI - 1` + if [ -r $NAME.$NEWDPI'gf' ] ; then + DPI=$NEWDPI + fi + NEWDPI=`expr $DPI + 1` + if [ -r $NAME.$NEWDPI'gf' ] ; then + DPI=$NEWDPI + fi + if [ -r $NAME.$DPI'gf' ] ; then + GFNAME=$NAME.$DPI'gf' + BDFNAME=$NAME.$DPI.'bdf' + SNFNAME=$NAME.$DPI.pcf + echo "Metafont built $GFNAME instead of $NAME.${OLDDPI}gf, \ +but that's ok..." + gftopk $GFNAME + else + echo "Metafont failed for some reason on $GFNAME, \ +but continuing anyway" + fi + else + gftopk $GFNAME + fi + + echo "mftobdf -dpi" $DPI $NAME + mftobdf -dpi $DPI $NAME + if test ! -r $BDFNAME + then + echo "Mftobdf failed for some reason on $BDFNAME" + exit 1 + fi +fi + +echo "$FONTCOMPILER" +if [ $MITSERVER ]; then + bdftopcf $BDFNAME > $SNFNAME +else + /usr/bin/dxfc $BDFNAME > $SNFNAME +fi +if test ! -r $SNFNAME +then + echo "Font compiler failed for some reason on $SNFNAME" + exit 1 +fi + +# Install the BDF and SNF files carefully, since others may be doing +# the same as us simultaneously. + +#cp $BDFNAME $DESTDIR/bdftmp.$$ +cp $SNFNAME $DESTDIR/snftmp.$$ +cd $DESTDIR +#mv bdftmp.$$ $BDFNAME +mv snftmp.$$ $SNFNAME + +if test "$COMPRESS" = "1" +then + compress -f $SNFNAME +fi + +if [ $MITSERVER ]; then + mkfontdir $DESTDIR +else + /usr/bin/dxmkfontdir $DESTDIR +fi +xset +fp $DESTDIR +xset fp rehash + +exit 0 diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-07 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-07 new file mode 100644 index 00000000000..5ae9a0e61c2 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-07 @@ -0,0 +1,64 @@ +#!/usr/local/bin/bash +# +# This script file makes a new X/TeX screen font, because one wasn't +# found. Parameters are: +# +# name dpi bdpi mag mode destdir +# +# `name' is the name of the font, such as `cmr10'. `dpi' is +# the resolution the font is needed at. `bdpi' is the base +# resolution, useful for figuring out the mode to make the font +# in. `magnification' is a string to pass to MF as the +# magnification. 'destdir' is the directory in which to cache the new +# font. +# +# Note that this file must execute Metafont, mftobdf, and then bdftosnf, +# and place the result in the correct location for X +# to find it subsequently. +# +# Of course, it needs to be set up for your site. +# +# TEMPDIR needs to be unique for each process because of the possibility +# of simultaneous processes running this script. +# +# This temp directory has to be under /users/oos/bin (or somewhere globally +# accessible) because this script runs PS2PK on ibis even if it is started +# elsewhere (e.g. on a Sparc). To do so, it uses the "ibis [cmd]" shortcut +# and passes the temp directory. If the TEMPDIR was /tmp/whatever then, +# it would fail because /tmp on a Sparc isn't /tmp on ibis. +TEMPDIR=/users/oos/bin/PStemp/temp-X-PS.$$ + +NAME=$1 +DPI=$2 +BDPI=$3 +MAG=$4 +MODE=$5 +DESTDIR=$6 + +BASENAME=$NAME.$MAG.$BDPI +PTSIZE=`echo "2 k $MAG 100 / p q" | dc` +PFADIR=/usr/local/lib/tex/fonts/ps-outlines/ + +# Clean up on normal or abnormal exit +trap "cd /; rm -rf $TEMPDIR" 0 1 2 15 + +mkdir $TEMPDIR +cd $TEMPDIR + +echo Making ${PTSIZE}pt ${BDPI}dpi version of $NAME. +ps2pk -v -X$BDPI -P$PTSIZE -a$PFADIR/$NAME.afm \ + $PFADIR/$NAME.pfa $BASENAME.pk + +pktobdf $BASENAME.pk | gawk -vname=$NAME.$DPI -f \ + /usr/local/lib/tex/ps/PStoXfont.awk > $BASENAME.bdf +bdftopcf $BASENAME.bdf > $BASENAME.pcf +mv $BASENAME.pcf $DESTDIR + +mkfontdir $DESTDIR +xset +fp $DESTDIR +xset fp rehash + +exit 0 + + + diff --git a/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-08 b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-08 new file mode 100644 index 00000000000..7e860797a8e --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/examples/ex-D-08 @@ -0,0 +1,191 @@ +#!/usr/local/bin/perl +# +# txt2verb Copyright (C) 1993 by Norm Walsh <norm@ora.com> +# Distribute freely under the terms of the GNU Copyleft. +# +# Converts a text "screen" into a form suitable for \inputing into TeX +# and printing as a screen dump. The original form is assumed to be +# a series of 80-byte lines with any character in the range 0-255 present +# (including CR and LF in the middle of a line). +# +# The output form is a series of lines of varying length. There is +# one output line for each input line. TeX special characters and all +# characters in the ranges 0-31 and 127-255 are replaced by control +# sequences. +# +# Usage: +# +# txt2verb screenfile <texfile> +# +# If texfile is not specified, stdout is assumed. +# +# Options: +# +# -l File of lines. Input file contains lines of varying length, +# but no imbedded CR or LF chars. +# -v Verbose: print each input line as it's read. +# -q Quiet: no messages. +# -L # Set line length to '#' characters. +# +# To incorporate the resulting screen dump in your Plain TeX or LaTeX +# document, insert the following macro definitions before the first +# screen dump: +# +# \font\screenfont=cr-pc8 at 8pt % use any IBM OEM encoded fixed width font! +# +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# % These macros are derived from The TeXbook pg 380-381 +# \def\uncatcodespecials{\def\do##1{\catcode`##1=12 }\dospecials} +# \def\setupverbatim{\screenfont% +# \def\par{\leavevmode\endgraf\relax}% +# \obeylines\uncatcodespecials% +# \catcode`\\=0\catcode`\{=1\catcode`\}=2\obeyspaces} +# {\obeyspaces\global\let =\ } % let active space be a control space +# \def\screenlisting#1{\par\begingroup% +# \def\c##1{\char##1}\setupverbatim\input{#1}% +# \endgroup} +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# \def\screenbox#1{% +# \vbox{\offinterlineskip% +# \parskip=0pt\parindent=0pt% +# \screenlisting{#1}}} +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# % Input converted file '#1' and set it inside a box with '#2' padding +# % space around the image. +# \def\screendump#1#2{% +# \hbox{\vrule% +# \vbox{\hrule% +# \hbox{\hskip#2% +# \vbox{\vskip#2% +# \def\twentyxs{xxxxxxxxxxxxxxxxxxxx}% +# \setbox0=\hbox{\screenfont\twentyxs\twentyxs\twentyxs\twentyxs}% +# \hbox to \wd0{\screenbox{#1}\hss}% +# \vskip#2}% +# \hskip#2}% +# \hrule}% +# \vrule\hss}} +# %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# +# To include the converted image 'screen.tex' in your document with 2pt +# of padding around the image, use: +# +# \screendump{screen}{2pt} +# +# in your document. Note: since this is set as an 'hbox', you may need +# to use \leavevmode\screendump{screen}{2pt} +# +########################################################################## + +require 'getopts.pl'; +do Getopts('lvqL:'); + +die "$0: options make no sense: -l and -L $opt_L.\n" if $opt_l && $opt_L; + +$FILEOFLINES = $opt_l; +$VERBOSE = $opt_v; +$QUIET = $opt_q; +$LINELENGTH = $opt_L || 80; + +$capturefile = @ARGV[0] || die "Usage: $0 capturefile <texfile>"; +$texfile = @ARGV[1] || "-"; + +select(STDERR); $| = 1; select(STDOUT); # no buffering of stderr + +%badchars = (); # These characters are illegal on input + +# anything in the control character range +for ($byte = 0; $byte < 32; $byte++) { + $char = sprintf("%c", $byte); + $badchars{$char} = "\\c{$byte}"; +} + +# and anything over 126 +for ($byte = 127; $byte < 256; $byte++) { + $char = sprintf("%c", $byte); + $badchars{$char} = "\\c{$byte}"; +} + +$badchars{"\%"} = '\%'; +$badchars{"\$"} = '\$'; +$badchars{"\&"} = '\&'; +$badchars{"\#"} = '\#'; +$badchars{"\{"} = '\c{123}'; +$badchars{"\}"} = '\c{125}'; +$badchars{"\\"} = '\c{92}'; +$badchars{"\_"} = '\c{95}'; +$badchars{"\^"} = '\c{94}'; + +open (CAPTFILE, $capturefile) + || die "Can't open capture file: $capturefile\n"; +open (TEXFILE, ">$texfile") + || die "Can't open TeX file: $texfile\n"; +while ($line = &get_line()) { + print STDERR "." if $texfile ne "-" && !$VERBOSE && !$QUIET; + print STDERR "$line\n" if $VERBOSE; + + $outputbuf = ""; + while (length($line) > 0) { + $char = substr($line,0,1); + $line = substr($line,1); + + if (defined($badchars{$char})) { + $outputbuf .= $badchars{$char}; + } else { + $outputbuf .= $char; + } + } + print TEXFILE "$outputbuf\n"; +} + +close(CAPTFILE); +close(TEXFILE); + +exit 0; + +sub get_text_line { + local($line); + + if ($line = scalar(<CAPTFILE>)) { + chop($line); + } + + $line; +} + +sub get_data_line { + local($datalen, $line); + + if ($datalen = read(CAPTFILE, $line, $LINELENGTH)) { + # if we got a complete line, look to see if the next + # characters in the file are CR, CR/LF, or LF. If so, remove + # them (assume the are line breaks in the file) + if ($datalen = $LINELENGTH) { + $place = tell(CAPTFILE); + $datalen = read(CAPTFILE, $line, 1); + if ($line eq "\015") { + $place++; + $datalen = read(CAPTFILE, $line, 1); + if ($line ne "\012") { + seek(CAPTFILE, $place, 0); + } + } elsif ($line ne "\012") { + seek(CAPTFILE, $place, 0); + } + } + } else { + return undef; + } + + $line; +} + +sub get_line { + local($line); + if ($FILEOFLINES) { + $line = &get_text_line(); + } else { + $line = &get_data_line(); + } + + $line; +} diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/apa.html b/Master/texmf-doc/doc/english/make-tex-work/html/apa.html new file mode 100644 index 00000000000..5ac16b87c4b --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/apa.html @@ -0,0 +1,903 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Appendix A. Filename Extension Summary</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt03.html" + title="Part III. A Tools Overview" /> + <link rel="previous" href="ch16.html" + title="Chapter 16. TeX Utilities" /> + <link rel="next" href="apb.html" + title="Appendix B. Font Samples" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 16. TeX Utilities" + href="ch16.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Appendix B. Font Samples" + href="apb.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="appendix"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.fileext" + name="chap.fileext"></a>Appendix A. Filename + Extension Summary</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + </div> + + <p>This chapter summarizes many common filename extensions. + The extensions are listed in alphabetical order. All + extensions can be shortened to three letters for consistency + with operating systems that do not allow longer file + extensions. On other file systems, they may be slightly + different. For example, <tt>EPS</tt> files are sometimes + called <tt>EPSF</tt> files on unix systems, which allow + longer filenames.</p> + + <div class="variablelist"> + <dl> + <dt><span class="term">abf</span></dt> + + <dd> + <p>An Adobe binary screen font file contains a binary + encoding of a BDF (bitmap distribution format) file. + Binary encoding makes the files smaller, but it also + makes them less portable and unintelligible to humans. + The binary format is described in Adobe's ABF Format + Specification [<a + href="bi01.html#abffiles">abffiles</a>]. BDF files are + described below.</p> + </dd> + + <dt><span class="term">afm</span></dt> + + <dd> + <p>Adobe font metrics files are ASCII files distributed + with \ps Type 1 fonts. Type 1 fonts are the + linearly scalable fonts that \ps printer users are most + familiar with. Bounding boxes, an encoding vector (what + characters go where), kerning, and ligature information + are among the things described in this file. The AFM + file format is described completely in Adobe's AFM + Format Specification [<a + href="bi01.html#afmfiles">afmfiles</a>].</p> + + <p>\ps fonts (available through commercial vendors or + from the Internet) are supplied with AFM files. + Generally, the only occasion that you would have to + modify an AFM file would be to change the encoding + vector.</p> + </dd> + + <dt><span class="term">aux</span></dt> + + <dd> + <p>Auxiliary files are built by LaTeX each time it + formats a document. LaTeX writes information about + cross references, citations, etc., to the auxiliary + file for post-processing by other tools, or for TeX + processing the next time this document is + formatted.</p> + </dd> + + <dt><span class="term">bbl</span></dt> + + <dd> + <p>Bibliography files are created by BibTeX from the + citations in your document, the bibliography databases + (BIB) that you specify, and the bibliography style + (BST) you use. BibTeX writes the resulting bibliography + to the BBL file, which is automatically included in + your LaTeX document at the place where you define the + bibliography.</p> + </dd> + + <dt><span class="term">bdf</span></dt> + + <dd> + <p>Bitmap distribution format files are ASCII files + that describe a bitmap font. They are frequently used + to distribute bitmap versions of scalable fonts in + screen resolution at common sizes. They are resolution + specific, but they are portable from one architecture + to another. The BDF file format is described completely + in Adobe's BDF Format Specification [<a + href="bi01.html#bdffiles">bdffiles</a>].</p> + + <p>Some fonts packages are distributed with BDF files. + Other BDF files are created as part of the conversion + process from native format to X11 format. It is + unlikely that you would ever create one purely by + hand.</p> + </dd> + + <dt><span class="term">bib</span></dt> + + <dd> + <p>Bibliography databases contain bibliographic + information. These are generally handwritten and may + contain bibliographic information for all of the + sources that you are (ever) likely to cite. The BibTeX + program reads information about each work that you + FIXME: from the BIB file. Consult the documentation for + BibTeX for more information about the format of BIB + files.</p> + </dd> + + <dt><span class="term">blg</span></dt> + + <dd> + <p>BibTeX log files record the status of the last run + of BibTeX.</p> + </dd> + + <dt><span class="term">bst</span></dt> + + <dd> + <p>Bibliography style files are used by BibTeX to + define the layout of the citations. BibTeX produces + LaTeX commands in the BBL file that define the + citations in the format specified by the BST file.</p> + + <p>You may eventually write or modify a bibliography + style file, but it is less common than modifying LaTeX + style files because bibliographies have a more rigidly + defined format. Consult the documentation for BibTeX + for more information about the format of BST files.</p> + </dd> + + <dt><span class="term">bzr</span></dt> + + <dd> + <p>The GNU fontutils define the BZR format to hold + generic scalable font data. The file actually contains + the specification for a series of bezier curves. The + BZR file format is defined in the TeXinfo pages that + accompany the GNU fontutils. The GNU fontutils create + BZR files.</p> + </dd> + + <dt><span class="term">dvi</span></dt> + + <dd> + <p>TeX produces device-independent output in the DVI + file. This file describes the TeXed document in a + simple stack language that can be rendered on any + device. The format of DVI files is described in the + \web documentation for <b>DVItype</b>, or in <span + class="emphasis"><em>The DVI Drivers + Standard</em></span> [<a + href="bi01.html#dvi:standard">dvi:standard</a>].</p> + + <p>TeX (and some <b>MFware</b> utilities) produces DVI + files.</p> + + <p>\hyphenation{encap-sulated}</p> + </dd> + + <dt><span class="term">epsf</span></dt> + + <dd> + <p>Encapsulated \ps files contain scalable \ps images + and extra information (such as the size of the image's + bounding box) that is necessary to scale the image + appropriately for printing, unlike generic \ps. Using + encapsulated \ps images in your TeX document requires a + DVI driver that understands \ps \specials. How to + include pictures and figures via encapsulated + PostScript is described in detail in Chapter <a + href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a>, + <span class="emphasis"><em><a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a></em></span>.</p> + + <p>You are unlikely to create encapsulated \ps files by + hand, but many drawing and drafting programs can create + them for you.</p> + </dd> + + <dt><span class="term">fig</span></dt> + + <dd> + <p>FIG files are created by the <b>XFig</b> program + (and possibly other programs). The scalable + representation of a collection of graphics objects is + stored in ASCII form in FIG files. The <b>transfig</b> + program can translate FIG files into a number of other + formats including EPSF, HPGL, and a variety of LaTeX + environments.</p> + </dd> + + <dt><span class="term">fli</span></dt> + + <dd> + <p>Font libraries are distributed with emTeX. They + contain a collection of PK files. Font libraries have + several advantages over a directory full of PK files: + they are easier to maintain (because you don't have to + deal with hundreds of files); they are faster to search + (because they are indexed more efficiently than a + directory); they are smaller (because <span + class="emphasis"><em>each</em></span> PK file wastes an + average of half a cluster of disk space); and the name + of each font is not limited to eight characters as it + is under MS-DOS file naming conventions.</p> + + <p>Note: <b>dvips</b> can also use emTeX FLI files.</p> + </dd> + + <dt><span class="term">gf</span></dt> + + <dd> + <p>Generic font files contain bitmap data for the + characters of a font. The GF format is very simple, and + many TeX related programs that create fonts produce GF + files. The disadvantage of GF files is that they are + very large (because no compression is performed). The + format of GF files is described in the \web + documentation for <b>GFtoPK</b> (or any of the + GF-related <b>MFware</b> programs).</p> + + <p>MetaFont is the primary source for GF files. Some + other programs (some of the GNU fontutils, for example) + also produce GF files.</p> + </dd> + + <dt><span class="term">gif</span></dt> + + <dd> + <p>Graphics interchange format is a CompuServe bitmap + graphics standard. GIF files are very popular, and a + number of converters (e.g., <b>BM2FONT</b>) can + translate GIF files into a format usable by TeX.</p> + </dd> + + <dt><span class="term">glo</span></dt> + + <dd> + <p>Glossary files are produced by the LaTeX \glossary + command. They are analogous to the IDX files produced + by the \index commands. The glossary is inserted in + your document wherever the \makeglossary command + occurs.</p> + </dd> + + <dt><span class="term">gsf</span></dt> + + <dd> + <p>Ghostscript fonts are scalable fonts very similar to + \ps Type 1 fonts. Theoretically, + <b>Ghostscript</b> can use \ps Type 1 fonts + directly, although I have never tried. Several GSF + fonts are distributed with <b>Ghostscript</b>.</p> + </dd> + + <dt><span class="term">hpgl</span></dt> + + <dd> + <p>Hewlett-Packard GL is a plotter language. Many + programs can produce vector graphics in HPGL + format.</p> + </dd> + + <dt><span class="term">hptfm</span></dt> + + <dd> + <p>Hewlett-Packard tagged font metric files are a lot + like TeX TFM files. It is unfortunate that both files + have the extension TFM because they are completely + incompatible. You can generate TeX TFM files from + HPTFMs with the <b>HPTFM2PL</b> program.</p> + </dd> + + <dt><span class="term">idx</span></dt> + + <dd> + <p>Index files are produced automatically when you use + the \index commands in LaTeX. The IDX file contains raw + indexing data that will be used by the <b>MakeIndex</b> + program to build an index for your document. You must + include the <tt>makeidx</tt> style in your + <tt>documentstyle</tt> command, and you must turn on + indexing with \makeindex in the preamble of your + document if you wish to (re)build the index. See the + entry for IND files below for more information.</p> + </dd> + + <dt><span class="term">ilg</span></dt> + + <dd> + <p><b>MakeIndex</b> log files record the status of the + last run of <b>MakeIndex</b>.</p> + </dd> + + <dt><span class="term">img</span></dt> + + <dd> + <p>The IMG format is a particular bitmapped image + format used by the GEM Window System (a PC-based + windowed desktop interface product). The GNU fontutils + read IMG files as their default format. The + <b>PBMplus</b> utilities<sup>[<a id="id2942243" + name="id2942243" href="#ftn.id2942243">129</a>]</sup> + can convert between many graphics file formats, + including IMG.</p> + + <p>Some scanning software produces IMG files directly. + Other IMG files are distributed by the Free Software + Foundation as part of an ongoing project to produce + high-quality, free typefaces.</p> + </dd> + + <dt><span class="term">ind</span></dt> + + <dd> + <p>Index files are produced by the <b>MakeIndex</b> and + automatically get included into your LaTeX document + wherever you put the \printindex command. The \index + commands in your LaTeX document write raw indexing data + to the IDX file. <b>MakeIndex</b> reads the IDX file, + sorts and formats the index according to the IST file, + and produces an IND file for your document.</p> + </dd> + + <dt><span class="term">ist</span></dt> + + <dd> + <p>Index specification files are used by + <b>MakeIndex</b> to format the index file. Consult the + documentation for <b>MakeIndex</b> for more + information.</p> + </dd> + + <dt><span class="term">jpeg</span></dt> + + <dd> + <p>JPEG files are compressed bitmap images. Because + JPEG files use a “lossy” compression + algorithm, they are frequently much smaller than other + formats.</p> + </dd> + + <dt><span class="term">lof</span></dt> + + <dd> + <p>List of figures files are produced by the + \listoffigures command in LaTeX. After seeing + \listoffigures, LaTeX writes figure captions to the LOF + file. The next time the document is formatted, LaTeX + will insert the LOF file at the point where you issue + the \listoffigures command.</p> + </dd> + + <dt><span class="term">log</span></dt> + + <dd> + <p>Log files are always produced by TeX and MetaFont. + The LOG file is generally uninteresting. Status and + warning messages deemed too trivial (or too detailed) + for the display are written to the log file (all + messages written to the display are also written to the + log).</p> + </dd> + + <dt><span class="term">lot</span></dt> + + <dd> + <p>List of tables files are exactly analogous to LOF + files.</p> + </dd> + + <dt><span class="term">mf</span></dt> + + <dd> + <p>Just as TeX reads TEX files, which are plain ASCII + descriptions of a typeset document, MetaFont reads MF + files, which are plain ASCII descriptions of a + typeface. MetaFont and MF files are the topic of + Knuth's \MFbook [<a + href="bi01.html#kn:mfbook">kn:mfbook</a>]. Unlike \ps + fonts, MetaFont fonts are not linearly scaled.<sup>[<a + id="id2942471" name="id2942471" + href="#ftn.id2942471">130</a>]</sup></p> + + <p>The standard TeX distribution contains the MF files + for the Computer Modern fonts. Knuth has produced + several more MF files to demonstrate MetaFont. The + American Mathematical Society has extended Computer + Modern with several more. The <b>MFpic</b> macro + package produces MF files from a picture-like + environment in TeX. \TheMFbook describes how to create + your own fonts with MetaFont.</p> + + <p>The <span class="emphasis"><em>List of + MetaFonts</em></span> [<a + href="bi01.html#lreq:metafonts">lreq:metafonts</a>] is + posted occasionally to the newsgroups + \path|comp.text.tex| and \path|comp.fonts|.</p> + + <p>Chapter <a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a>, + <span class="emphasis"><em><a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a></em></span>, + describes MetaFont in more detail. The TeX fonts + available in MetaFont format are listed in + Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>.</p> + </dd> + + <dt><span class="term">mfj</span></dt> + + <dd> + <p>MFjob files are plain ASCII files that contain + instructions for <b>MFjob</b>, an emTeX program that + builds groups of MetaFont fonts. MFJ files can be + created by hand to automate the process of building a + set of fonts. They are also created by the emTeX DVI + drivers if automatic font generation is being used.</p> + </dd> + + <dt><span class="term">msp</span></dt> + + <dd> + <p>Microsoft Paint files contain bitmapped graphic + images. They can be included in a TeX document with + \special commands recognized by the emTeX DVI + drivers.</p> + </dd> + + <dt><span class="term">pbm</span></dt> + + <dd> + <p>The portable bitmap format is a flexible bitmap + representation introduced by the <b>PBMplus</b> + package. The <b>PBMplus</b> utilities allow for the + conversion of PBM format files to and from almost + anything else. The PBM format (and all the utilities) + are described in the manpages that accompany the + <b>PBMplus</b> toolkit distribution.</p> + + <p>The PBM toolkit and many other X11 graphics + utilities can read and write PBM files (e.g. XV).</p> + </dd> + + <dt><span class="term">pcf</span></dt> + + <dd> + <p>The PCF format is one of several X11 bitmap font + formats. Architecture-specific versions of X11 use PCF + files. Other architectures use one of a number of other + architecture-specific formats (e.g., SNF). PCF files + are used by at least the DEC versions of the X11 + server. The X11 distribution for your architecture + includes a program that will convert BDF files to the + standard adopted for your architecture.</p> + + <p>PCF files are almost invariably created from some + other source. It is unlikely that you will ever create + one by hand.</p> + </dd> + + <dt><span class="term">pcl</span></dt> + + <dd> + <p>PCL files contain printer commands for HP LaserJet + printers. DVI drivers for HP LaserJet printers create + PCL files. It is possible to get information out of + some PCL files with <b>pcltomsp</b>.</p> + </dd> + + <dt><span class="term">pcx</span></dt> + + <dd> + <p>PCX files contain bitmapped graphic images. They can + be included in a TeX document with \special commands + recognized by the emTeX DVI drivers.</p> + </dd> + + <dt><span class="term">pfa</span></dt> + + <dd> + <p>Printer font ASCII files contain scalable outline + data that describes each character in a Type 1 + font. A large portion of this file is encrypted, so it + is an ASCII file only in the sense that the binary + portion is represented as a string of hexadecimal ASCII + digits. This is traditional \ps because it is pure + ASCII. See PFB below.</p> + + <p>Type 1 outline fonts are created by special + font editing programs or conversion tools (e.g. the GNU + fontutils).</p> + </dd> + + <dt><span class="term">pfb</span></dt> + + <dd> + <p>Printer font binary files, like PFA files, contain + the outline data for \ps Type 1 fonts. The binary + format was adopted to save space (they are generally + about half the size of their PFA counterparts).<sup>[<a + id="id2942788" name="id2942788" + href="#ftn.id2942788">131</a>]</sup> Because they are + binary files, it is more difficult to transfer them + from one architecture to another (endian-ness, binary + transmission, etc.). \ps purists are apt to disparage + them.</p> + </dd> + + <dt><span class="term">pfm</span></dt> + + <dd> + <p>Printer font metric files are a Microsoft Windows + standard. They are encountered frequently in archives + that contain Type 1 fonts. Unfortunately, these + archives occasionally fail to include AFM files, which + are more standard outside of the Windows community. + Even more unfortunately, PFM files do not contain all + of the information that is in an AFM file. However, the + <b>PFM2AFM</b> program can construct a partial AFM + file. I believe that the PFM file format is described + in a Microsoft technical note; however, I have never + seen it.</p> + + <p>Unless you use Microsoft Windows, PFM files are + likely to be useless. If you need PFM files, the MS-DOS + program <b>Refont</b> can create them from AFM + files.</p> + </dd> + + <dt><span class="term">pk</span></dt> + + <dd> + <p>Most TeX DVI conversion programs read packed bitmap + font files. The PK font format defines a clever scheme + that allows bitmap fonts to be compressed + significantly. The format of PK files is described in + the \web documentation for <b>PKtype</b> (or any of the + PK-related <b>MFware</b> programs).</p> + + <p>You are unlikely to create PK files by hand, per se, + but there are a number of utility programs that + ultimately create PK files (e.g., <b>GFtoPK</b>, + MetaFont, <b>MFpic</b>, <b>PS2PK</b>).</p> + </dd> + + <dt><span class="term">pl</span></dt> + + <dd> + <p>A property list file contains an ASCII + representation of a binary file. The property list + format was created during TeX development to allow + binary files (specifically TFM files) to be hand-coded. + Most users have no reason to create PL files; however, + some programs create PL files that must be converted + into TFM files with the TeXware program <b>PLtoTF</b>. + The PL format is described in the \web documentation + for <b>PLtoTF</b>.</p> + + <p>If you need to edit TeX font metric information for + a particular font, you will almost certainly do so by + editing the PL file. You can create a PL file from a + TFM file with the <b>TFtoPL</b> utility.</p> + </dd> + + <dt><span class="term">ps</span></dt> + + <dd> + <p>\ps is a page description language. The \ps language + is described in a series of volumes from Adobe Systems. + PS is a common extension for \ps files.</p> + + <p>Unless you are inclined to enter the Obfuscated \ps + Contest, you are unlikely to create \ps files by hand. + \ps files are created by many common tools.</p> + </dd> + + <dt><span class="term">pxl</span></dt> + + <dd> + <p>This format is obsolete. It has been completely + superseded by the PK format. If you still have PXL + files, you can convert them to PK format with the + <b>PXtoPK</b> program. If you are still using a DVI + driver that needs PXL files, you need an upgrade.</p> + </dd> + + <dt><span class="term">sfl</span></dt> + + <dd> + <p>These files contain HP LaserJet softfonts in + landscape orientation. LaserJet softfonts are device + specific bitmap representations of a typeface. The + bitmap versions are described thoroughly in the <span + class="emphasis"><em>LaserJet Technical Reference + Manual</em></span> [<a + href="bi01.html#pcl5:techref">pcl5:techref</a>] for + each of the HP LaserJet printers. Newer laser printers + can perform automatic rotation of fonts (in 90 degree + increments, at least), so the distinction between + landscape and portrait font files is disappearing.</p> + </dd> + + <dt><span class="term">sfp</span></dt> + + <dd> + <p>These files contain HP LaserJet softfonts in + portrait orientation. See the entry for SFL files, + above.</p> + </dd> + + <dt><span class="term">sfs</span></dt> + + <dd> + <p>Scalable softfonts are HP LaserJet softfonts for the + new (HPLJ III and higher) LaserJet printers. These are + really in AGFA IntelliFont Scalable format [<a + href="bi01.html#intellifont">intellifont</a>].</p> + </dd> + + <dt><span class="term">snf</span></dt> + + <dd> + <p>Server native format fonts are another version of + X11 bitmap font. See the entry for PCF files, above, + for more information.</p> + </dd> + + <dt><span class="term">sty</span></dt> + + <dd> + <p>Style files are used by LaTeX to define the layout + of a LaTeX document (by redefining the meaning of + commands like \section, for example). They are also + used commonly to extend LaTeX. See the LaTeX + manual [<a + href="bi01.html#ll:latexbook">ll:latexbook</a>] for + more information.</p> + + <p>Style files are really just TeX files that perform + specific tasks. You will eventually write or modify a + style file, but it isn't something you are likely to do + every day.</p> + </dd> + + <dt><span class="term">tex</span></dt> + + <dd> + <p>TEX files describe the layout of a typeset document + in the TeX programming language,<sup>[<a id="id2943178" + name="id2943178" href="#ftn.id2943178">132</a>]</sup> + as defined by <span class="emphasis"><em>The + TeXbook</em></span> [<a + href="bi01.html#kn:texbook">kn:texbook</a>]. Most + people use some form of macro package on top of TeX to + make the language easier to swallow. If a TeX file + begins with \documentstyle{} or has \begin{document} + somewhere near the top, it is probably a LaTeX + document. Otherwise, look for the \input commands to + see what macro packages are being included.</p> + + <p>Documents that do not appear to be LaTeX documents + and do not appear to \input special macro packages may + be using a special <span + class="emphasis"><em>format</em></span>. Formats are + fast-loading precompiled macro packages. If you know + the name of the format file, you can tell TeX to use it + by typing &<span + class="emphasis"><em>format-name</em></span> as a + parameter to TeX.</p> + </dd> + + <dt><span class="term">tiff</span></dt> + + <dd> + <p>TIFF files contain bitmapped or vector graphic + images in a very flexible form. The “T” in + TIFF stands for “tagged.” All of the + different kinds of information (regarding number of + colors, compression, etc.) that might appear in a TIFF + file are given unique tags that allow a TIFF file + reader to skip over information that it does not + understand.</p> + </dd> + + <dt><span class="term">tfm</span></dt> + + <dd> + <p>TeX font metric files contain information about + fonts. TeX doesn't know anything about the intrinsic + shape of the characters that it lays down on the page. + TeX deals entirely with boxes. Every character is + described by the rectangular box that (usually) + surrounds it. The TFM file for a font describes the + size of each character's box, as well as ligature and + kerning information for the font. A human-readable + version of a TFM file can be produced with the + <b>TFtoPL</b> program. The format of TFM files is + described thoroughly in the \web documentation for + <b>TFtoPL</b>.</p> + + <p>If you have reason to modify a TFM file, you will + almost certainly do so by converting it to PL format + first. You can convert it back into a TFM file with the + <b>PLtoTF</b> utility.</p> + + <p>See also HPTFM files.</p> + </dd> + + <dt><span class="term">toc</span></dt> + + <dd> + <p>Table of contents files are produced by the + \tableofcontents command in LaTeX. After seeing + \tableofcontents, LaTeX writes chapter, section, + subsection, etc., names to the TOC file. The next time + the document is formatted, LaTeX will insert the TOC + file at the point where you issue the \tableofcontents + command.</p> + </dd> + + <dt><span class="term">txt</span></dt> + + <dd> + <p>Generic ASCII text.</p> + </dd> + + <dt><span class="term">vf</span></dt> + + <dd> + <p>Virtual font files. They are described in more + detail in Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>. + In short, a virtual font maps a character to an + arbitrary sequence of <tt>DVI</tt> file commands. This + may be another character in a different font, a + different character in the same font, or something else + entirely.</p> + </dd> + + <dt><span class="term">vpl</span></dt> + + <dd> + <p>The virtual property list is a property list file + for virtual fonts (as opposed to being some sort of + property list file that was itself virtual ;-). VPL + files serve the same purpose for VF files that PL files + serve for TFM files. The VPL format is defined in the + \web documentation for <b>VPtoVF</b>.</p> + </dd> + + <dt><span class="term">xbm</span></dt> + + <dd> + <p>X11 bitmap files contain a bitmapped image. X11 + icons are frequently stored in XBM files. They also + occur in <tt>.icon</tt> files and files without + extensions (e.g., in + <tt>/usr/include/X11/bitmaps</tt>). I mention them here + only because I like to use icons on my X11 desktop, and + I have used <b>PKtoBM</b> to create several nice ones + from TeX PK files.</p> + + <p>X11 bitmap files are used for all bitmap displays in + the X11 server (not just icons). Because they are ASCII + and not binary, they are architecture independent, + which makes them very portable.\par</p> + </dd> + </dl> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2942243" name="ftn.id2942243" + href="#id2942243">129</a>]</sup> {The <b>PBMplus</b> + utilities are a collection of programs that allow + conversion between different graphic formats by using the + PBM format as a transition step.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2942471" name="ftn.id2942471" + href="#id2942471">130</a>]</sup> {Linear versus + non-linear scaling is a typographic issue better + discussed elsewhere. I mention it here just for + completeness.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2942788" name="ftn.id2942788" + href="#id2942788">131</a>]</sup> {The proof is left as an + exercise to the reader (I always wanted to say + that).}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2943178" name="ftn.id2943178" + href="#id2943178">132</a>]</sup> You already knew this, + didn't you?</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 16. TeX Utilities" + href="ch16.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Appendix B. Font Samples" + href="apb.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Chapter 16. TeX + Utilities </td> + + <td width="20%" align="center"><a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Appendix B. Font Samples</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/apb.html b/Master/texmf-doc/doc/english/make-tex-work/html/apb.html new file mode 100644 index 00000000000..87dccbe0fb9 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/apb.html @@ -0,0 +1,2557 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Appendix B. Font Samples</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt03.html" + title="Part III. A Tools Overview" /> + <link rel="previous" href="apa.html" + title="Appendix A. Filename Extension Summary" /> + <link rel="next" href="apc.html" + title="Appendix C. Resources" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Appendix A. Filename Extension Summary" + href="apa.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Appendix C. Resources" + href="apc.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="appendix"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="app.fonts" + name="app.fonts"></a>Appendix B. Font + Samples</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + </div> + + <p>This appendix showcases a number of MetaFont fonts. First, + several examples of encoding vectors are presented and then + samples of many fonts from the CTAN archives are + provided.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2941555" + name="id2941555"></a>Font Encodings</h2> + </div> + </div> + + <p>Font encoding vectors are described in Chapter <a + href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>. + Table <a href="apb.html#tab.cmrencode" + title="Table B.1. The Computer Modern Roman Font Encoding"> + Table B.1</a> shows the Computer Modern Text encoding, + Table <a href="apb.html#tab.cmmiencode" + title="Table B.2. The Computer Modern Math Italic Font Encoding"> + Table B.2</a> shows the Computer Modern Math Italic + encoding, Table <a + href="apb.html#tab.font.corkencoding" + title="Table B.3. The Cork Font Encoding">Table B.3</a> + shows the Cork encoding, and Table <a + href="apb.html#tab.adbstdencode" + title="Table B.4. The Adobe Standard Font Encoding"> + Table B.4</a> shows the Adobe Standard encoding.</p> + + <p>\font\dcr=cmr12 \typeout{Setting CMR Encoding table}</p> + + <div class="table"> + <a id="tab.cmrencode" name="tab.cmrencode"></a> + + <p class="title"><b>Table B.1. The Computer + Modern Roman Font Encoding</b></p> + + <table summary="The Computer Modern Roman Font Encoding" + border="1"> + <colgroup> + <col align="right" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + </colgroup> + + <thead> + <tr> + <th align="right">\colcount=0</th> + + <th align="center">\bf 0</th> + + <th align="center">\bf 1</th> + + <th align="center">\bf 2</th> + + <th align="center">\bf 3</th> + + <th align="center">\bf 4</th> + + <th align="center">\bf 5</th> + + <th align="center">\bf 6</th> + + <th align="center">\bf 7\strut</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="right">\colnum{0}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{1}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{2}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{3}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{4}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{5}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{6}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{7}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right"> </td> + + <td align="center">\bf 8</td> + + <td align="center">\bf 9</td> + + <td align="center">\bf A</td> + + <td align="center">\bf B</td> + + <td align="center">\bf C</td> + + <td align="center">\bf D</td> + + <td align="center">\bf E</td> + + <td align="center">\bf F\strut</td> + </tr> + </tbody> + </table> + </div> + + <p>\font\dcr=cmmi12 \typeout{Setting CMIT Encoding + table}</p> + + <div class="table"> + <a id="tab.cmmiencode" name="tab.cmmiencode"></a> + + <p class="title"><b>Table B.2. The Computer + Modern Math Italic Font Encoding</b></p> + + <table + summary="The Computer Modern Math Italic Font Encoding" + border="1"> + <colgroup> + <col align="right" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + </colgroup> + + <thead> + <tr> + <th align="right">\colcount=0</th> + + <th align="center">\bf 0</th> + + <th align="center">\bf 1</th> + + <th align="center">\bf 2</th> + + <th align="center">\bf 3</th> + + <th align="center">\bf 4</th> + + <th align="center">\bf 5</th> + + <th align="center">\bf 6</th> + + <th align="center">\bf 7\strut</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="right">\colnum{0}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{1}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{2}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{3}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{4}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{5}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{6}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{7}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right"> </td> + + <td align="center">\bf 8</td> + + <td align="center">\bf 9</td> + + <td align="center">\bf A</td> + + <td align="center">\bf B</td> + + <td align="center">\bf C</td> + + <td align="center">\bf D</td> + + <td align="center">\bf E</td> + + <td align="center">\bf F\strut</td> + </tr> + </tbody> + </table> + </div> + + <p>\typeout{Setting Cork Encoding table}</p> + + <div class="table"> + <a id="tab.font.corkencoding" + name="tab.font.corkencoding"></a> + + <p class="title"><b>Table B.3. The Cork Font + Encoding</b></p> + + <table summary="The Cork Font Encoding" border="1"> + <colgroup> + <col align="right" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + </colgroup> + + <thead> + <tr> + <th align="right"> </th> + + <th align="center">\bf 0</th> + + <th align="center">\bf 1</th> + + <th align="center">\bf 2</th> + + <th align="center">\bf 3</th> + + <th align="center">\bf 4</th> + + <th align="center">\bf 5</th> + + <th align="center">\bf 6</th> + + <th align="center">\bf 7\strut</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="right"> </td> + + <td align="center">\bf 8</td> + + <td align="center">\bf 9</td> + + <td align="center">\bf A</td> + + <td align="center">\bf B</td> + + <td align="center">\bf C</td> + + <td align="center">\bf D</td> + + <td align="center">\bf E</td> + + <td align="center">\bf F\strut</td> + </tr> + + <tr> + <td align="right">\endfoot \colnum{0}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{1}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{2}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{3}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{4}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{5}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{6}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{7}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{8}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{A}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{B}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{C}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{D}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{E}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{F}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + + <p>\font\dcr=grlg at 12pt \typeout{Setting Adobe Standard + Encoding table}</p> + + <div class="table"> + <a id="tab.adbstdencode" name="tab.adbstdencode"></a> + + <p class="title"><b>Table B.4. The Adobe + Standard Font Encoding</b></p> + + <table summary="The Adobe Standard Font Encoding" + border="1"> + <colgroup> + <col align="right" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + <col align="center" /> + </colgroup> + + <thead> + <tr> + <th align="right"> </th> + + <th align="center">\bf 0</th> + + <th align="center">\bf 1</th> + + <th align="center">\bf 2</th> + + <th align="center">\bf 3</th> + + <th align="center">\bf 4</th> + + <th align="center">\bf 5</th> + + <th align="center">\bf 6</th> + + <th align="center">\bf 7\strut</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="right"> </td> + + <td align="center">\bf 8</td> + + <td align="center">\bf 9</td> + + <td align="center">\bf A</td> + + <td align="center">\bf B</td> + + <td align="center">\bf C</td> + + <td align="center">\bf D</td> + + <td align="center">\bf E</td> + + <td align="center">\bf F\strut</td> + </tr> + + <tr> + <td align="right">\endfoot \colnum{0}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{1}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{2}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{3}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{4}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{5}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{6}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{7}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{8}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{A}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{B}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{C}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{D}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{E}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\colnum{F}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="right">\cline{2-9}</td> + + <td align="center">\row</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2945478" + name="id2945478"></a>Font Samples</h2> + </div> + </div> + + <p>MetaFont, like TeX, has been widely ported and many + people have developed fonts using it. The remainder of this + appendix shows examples of many of the fonts available in + the CTAN archives in February, 1994.</p> + + <p>\fontdir{fonts/ams/amsfonts/cyrillic} + \fontsample{wncyb10} \fontsample{wncyi10} + \fontsample{wncyr10} \fontsample{wncysc10} + \fontsample{wncyss10}</p> + + <p>\fontdir{fonts/ams/amsfonts/euler} \fontsample{euex10} + \fontsample{eufb10} \fontsample{eufm10} \fontsample{eurb10} + \fontsample{eurm10} \fontsample{eusb10} + \fontsample{eusm10}</p> + + <p>\fontdir{fonts/ams/amsfonts/extracm} \fontsample{cmbsy9} + \fontsample{cmcsc9} \fontsample{cmex9} + \fontsample{cmmib9}</p> + + <p>\fontdir{fonts/ams/amsfonts/symbols} \fontsample{msam10} + \fontsample[-52pt]{msbm10}</p> + + <p>\fontdir{fonts/apl} \fontsample{cmapl10}</p> + + <p>\fontdir{fonts/astro} \fontsample{astrosym}</p> + + <p>\fontdir{fonts/bard} \fontsample{bard}</p> + + <p>\fontdir{fonts/bashkirian} \fontsample{jkbash10} + \fontsample{jkcyr10}</p> + + <p>\fontdir{fonts/bbding} \fontsample{bbding10}</p> + + <p>\fontdir{fonts/bbold} \fontsample{bbold10} + \fontsample{cspex10}</p> + + <p>\fontdir{fonts/blackletter} \fontsample{blackletter}</p> + + <p>\fontdir{fonts/calligra} \fontsample{callig15}</p> + + <p>\fontdir{fonts/chess} \fontsample{chess10} + \fontsample{chessf10}</p> + + <p>\fontdir{fonts/cirth} \fontsample{cirbf} + \fontsample{cirsl} \fontsample{cirss} + \fontsample{cirth}</p> + + <p>\fontdir{fonts/cm} \fontsample{cmb10} + \fontsample{cmbsy10} \fontsample{cmbx10} + \fontsample{cmbxsl10} \fontsample{cmbxti10} + \fontsample{cmcsc10} \fontsample{cmdunh10} + \fontsample{cmex10} \fontsample{cmff10} \fontsample{cmfi10} + \fontsample{cmfib8} \fontsample{cmitt10} + \fontsample{cmmi10} \fontsample{cmmib10} \fontsample{cmr10} + \fontsample{cmsl10} \fontsample{cmsltt10} + \fontsample{cmss10} \fontsample{cmssbx10} + \fontsample{cmssdc10} \fontsample{cmssi10} + \fontsample{cmssq8} \fontsample{cmssqi8} + \fontsample{cmsy10} \fontsample{cmtcsc10} + \fontsample{cmtex10} \fontsample{cmti10} + \fontsample{cmtt10} \fontsample{cmu10} + \fontsample{cmvtt10}</p> + + <p>\fontdir{fonts/cm/utility} \fontsample{grdov5} + \fontsample{logo10} \fontsample{logo10} + \fontsample{logobf10} \fontsample{logobf10} + \fontsample{logosl10} \fontsample{logosl10} + \fontsample{slaps4} \fontsample{sldov6}</p> + + <p>\fontdir{fonts/cmastro} \fontsample{cmastro10}</p> + + <p>\fontdir{fonts/cmcyr} \fontsample{cmcbx10} + \fontsample{cmcbxsl10} \fontsample{cmcbxti10} + \fontsample{cmcitt10} \fontsample{cmcsl10} + \fontsample{cmcss10} \fontsample{cmcssdc10} + \fontsample{cmcti10} \fontsample{cmctt10} + \fontsample{cmcyr10}</p> + + <p>\fontdir{fonts/cmoefont} \fontsample{cmoebx10} + \fontsample{cmoer10} \fontsample{cmoesc10} + \fontsample{cmoesl10} \fontsample{cmoeti10} + \fontsample{cmoett10}</p> + + <p>\fontdir{fonts/cmpica} \fontsample{cmpicab} + \fontsample{cmpicati} \fontsample{cmpica}</p> + + <p>\fontdir{fonts/concrete} \fontsample{cccsc10} + \fontsample{ccmi10} \fontsample{ccr10} \fontsample{ccsl10} + \fontsample{ccslc9} \fontsample{ccti10}</p> + + <p>\fontdir{fonts/duerer} \fontsample{cdb10} + \fontsample{cdi10} \fontsample{cdr10} \fontsample{cdsl10} + \fontsample{cdss10} \fontsample{cdtt10}</p> + + <p>\fontdir{fonts/eiad} \fontsample{eiad10} + \fontsample{eiadbf10}</p> + + <p>\fontdir{fonts/elvish} \fontsample{teng10}</p> + + <p>\fontdir{fonts/engwar} \fontsample{engwar}</p> + + <p>\fontdir{fonts/fc} \fontsample{b-fcbx10} + \fontsample{b-fcbxi10} \fontsample{b-fcbxsl10} + \fontsample{b-fcbxu10} \fontsample{b-fccsc10} + \fontsample{b-fci10} \fontsample{b-fcitt10} + \fontsample{b-fcr10} \fontsample{b-fcsibx10} + \fontsample{b-fcsitt10} \fontsample{b-fcsl10} + \fontsample{b-fcss10} \fontsample{b-fcssbx10} + \fontsample{b-fcssi10} \fontsample{b-fcsstt10} + \fontsample{b-fctt10} \fontsample{b-fcu10}</p> + + <p>\fontdir{fonts/futhark} \fontsample{futhol10}</p> + + <p>\fontdir{fonts/georgian} \fontsample{georgian} + \fontsample{mxed10} \fontsample{mxedbf10}</p> + + <p>\fontdir{fonts/go} \fontsample{go10} + \fontsample{go1bla10} \fontsample{go1whi10} + \fontsample{go2bla10} \fontsample{go2whi10}</p> + + <p>\fontdir{fonts/gothic} \fontsample{yfrak} + \fontsample{ygoth} \fontsample{yinit} + \fontsample{yswab}</p> + + <p>\fontdir{fonts/greek/kd} \fontsample{kdbf10} + \fontsample{kdgr10} \fontsample{kdsl10} \fontsample{kdti10} + \fontsample{kdtt10}</p> + + <p>\fontdir{fonts/greek/kelly} \fontsample{cmg10} + \fontsample{cmgb10} \fontsample{cmgi10} + \fontsample{cmgtt10}</p> + + <p>\fontdir{fonts/greek/moschovakis} \fontsample{gecmbx10} + \fontsample{gecmml10} \fontsample{gecmr10} + \fontsample{gecmsc10} \fontsample{gecmsl10} + \fontsample{gecmss10} \fontsample{gecmti10} + \fontsample{gecmtt10}</p> + + <p>\fontdir{fonts/greek/yannis} \fontsample{mrgrbf10} + \fontsample{mrgrrg10} \fontsample{mrgrsl10} + \fontsample{mrgrti10} \fontsample{rgrbf10} + \fontsample{rgrrg10} \fontsample{rgrsl10} + \fontsample{rgrti10}</p> + + <p>\fontdir{fonts/halftone} \fontsample{halftone}</p> + + <p>\fontdir{fonts/hge} \fontsample{hge}</p> + + <p>\fontdir{fonts/hieroglyph} \fontsample{diacr10}</p> + + <p>\fontdir{fonts/karta} \fontsample{karta15}</p> + + <p>\fontdir{fonts/klinz} \fontsample{klinz}</p> + + <p>\fontdir{fonts/knot} \fontsample{knot1} + \fontsample{knot2} \fontsample{knot3} \fontsample{knot4} + \fontsample{knot5} \fontsample{knot6} + \fontsample{knot7}</p> + + <p>\fontdir{fonts/levy} \fontsample{grbld10} + \fontsample{grreg10} \fontsample{grtt10}</p> + + <p>\fontdir{fonts/malvern} \fontsample{fmvX10} + \fontsample{fmvb10} \fontsample{fmvi10} + \fontsample{fmvr10}</p> + + <p>\fontdir{fonts/ocr-a} \fontsample{ocr10}</p> + + <p>\fontdir{fonts/ocr-b} \fontsample{ocrb10}</p> + + <p>\fontdir{fonts/pandora} \fontsample{pnb10} + \fontsample{pnr10} \fontsample[-8pt]{pnsl10} + \fontsample{pnss10} \fontsample{pnssb10} + \fontsample[-8pt]{pnssi10} \fontsample{pntt9}</p> + + <p>\fontdir{fonts/phonetic} \fontsample{cmph10} + \fontsample{cmphb10} \fontsample{cmphi10}</p> + + <p>\fontdir{fonts/punk} \fontsample{punk10} + \fontsample{punkbx20} \fontsample{punksl20}</p> + + <p>\fontdir{fonts/redis} \fontsample{redis10} + \fontsample{redisbx10} \fontsample{rediss10}</p> + + <p>\fontdir{fonts/rsfs} \fontsample{rsfs10}</p> + + <p>\fontdir{fonts/rune} \fontsample{rune} + \fontsample{srune}</p> + + <p>\fontdir{fonts/srune} \fontsample{srune}</p> + + <p>\fontdir{fonts/stmary} \fontsample{stmary10}</p> + + <p>\fontdir{fonts/tengwar} \fontsample{tengwar}</p> + + <p>\fontdir{fonts/tsipa} \fontsample{tsipa10}</p> + + <p>\fontdir{fonts/twcal} \fontsample{twcal14}</p> + + <p>\fontdir{fonts/va} \fontsample{va14} + \fontsample{vacal14}</p> + + <p>\fontdir{fonts/wasy} \fontsample{wasy10}</p> + + <p>\fontdir{fonts/wasy2} \fontsample{wasy10} + \fontsample{wasyb10}</p> + + <p>\fontdir{fonts/wsuipa} \fontsample{wbxipa10} + \fontsample{wslipa10} \fontsample{wsuipa10}</p> + + <p>\fontdir{macros/latex/distribs/latex/fonts} + \fontsample{lasy10} \fontsample{lasyb10} + \fontsample{lcircle10} \fontsample{lcirclew10} + \fontsample{lcmss8} \fontsample{lcmssb8} + \fontsample{lcmssi8} \fontsample{line10} + \fontsample{linew10}</p> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Appendix A. Filename Extension Summary" + href="apa.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Appendix C. Resources" + href="apc.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Appendix A. Filename Extension + Summary </td> + + <td width="20%" align="center"><a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Appendix C. Resources</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/apc.html b/Master/texmf-doc/doc/english/make-tex-work/html/apc.html new file mode 100644 index 00000000000..d43d0de1651 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/apc.html @@ -0,0 +1,1168 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Appendix C. Resources</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt03.html" + title="Part III. A Tools Overview" /> + <link rel="previous" href="apb.html" + title="Appendix B. Font Samples" /> + <link rel="next" href="apd.html" + title="Appendix D. Long Examples" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Appendix B. Font Samples" + href="apb.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Appendix D. Long Examples" + href="apd.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="appendix"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="app.resources" + name="app.resources"></a>Appendix C. Resources</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + </div> + + <p>This appendix lists the resources described in this book. + Each of the tools (with the exception of tools mentioned only + in Chapter <a href="ch16.html" + title="Chapter 16. TeX Utilities">Chapter 16</a>, + <span class="emphasis"><em><a href="ch16.html" + title="Chapter 16. TeX Utilities">Chapter 16</a></em></span>, + which are already listed in a similar format) described in + the book is presented here. Each entry credits the author and + provides information about where the software can be + obtained.</p> + + <p>Most of the resources in this appendix are availble from + the CTAN archives. Where other sites are listed (for example, + <tt>oak.oakland.edu</tt> for MS-DOS software), the addresses + are only one possibility. Most of these archives are mirrored + around the world. When possible, use an FTP site that is + geographically nearby. If you are connected to the Internet, + the <tt>archie</tt> service can help you locate nearby + sites.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2943524" + name="id2943524"></a>TUG: The TeX Users Group</h2> + </div> + </div> + + <p>The TeX Users Group <span class="smallcaps">TUG</span>, + begun in 1980, is the international group for TeX users. + Their mission is to encourage and expand the use of TeX, + MetaFont, and related systems; to ensure the integrity and + portability of these systems; and to foster innovation in + high-quality electronic document preparation.</p> + + <p>Membership includes the quarterly <i>TUGboat</i>, the + newsletter TTN (also a quarterly), and a membership + directory; as well, <span class="smallcaps">TUG</span> + publishes an occasional series called TeXniques, for + special topics (e.g., PiCTeX, <tt>edmac.sty</tt>).</p> + + <p><span class="smallcaps">TUG</span> annual meetings are + held in various locations, currently in North America and + Europe, in a regular rotation; proceedings are published in + <i>TUGboat</i>. Most of the publications now available on + TeX, MetaFont, and related systems are available from the + <span class="smallcaps">TUG</span> office, which also + distributes the main public domain TeX implementations.</p> + + <p>In addition to its publications, <span + class="smallcaps">TUG</span> promotes active development + work via the Technical Council and its Technical Working + Groups. \pagebreak Efforts here include the CTAN archive + work, multilingual TeX, TeX for the disabled, and the + intersection of TeX with SGML and with Acrobat.</p> + + <p>Information about joining <span + class="smallcaps">TUG</span>, receiving <i>TUGboat</i>, and + attending the annual meetings is available from:</p> + + <p>TeX Users Group \\ P.O. Box 869 \\ Santa Barbara, + California \\ 93102 USA</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2946099" + name="id2946099"></a>Other User Groups</h3> + </div> + </div> + + <p>There are also many other user groups, often based on + language or geography: German-speaking users ({\sc + DANTE}), French-speaking users ({\sc + GUT}enberg\hskip.25pt), Dutch-speaking users ({\sc NTG}), + users in the Nordic countries (the Nordic group), users + in the UK ({\sc UK} TeX Users Group). There are active + groups in existence in Japan, in Russia (Cyr<span + class="smallcaps">TUG</span>), in Estonia, in Poland + ({\sc GUST}), and in the Czech Republic (Cs<span + class="smallcaps">TUG</span>), to name but a few.</p> + + <p>Contact <span class="smallcaps">TUG</span> for details + on how to get in touch with these or other TeX user + groups.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2946152" + name="id2946152"></a>TeX Software</h2> + </div> + </div> + + <p>\package{\cmactex} \author{Thomas R. Kiffe} + \ftp{CTAN:systems/mac/cmactex} \print</p> + + <p>\package{\directex} \author{Wilfried Ricken} + \ftp{CTAN:systems/mac/directtex} \print</p> + + <p>\package{\emTeX} <a id="ap03.emtex" + name="ap03.emtex"></a> \author{Eberhard Mattes} + \ftp{CTAN:systems/msdos/emtex} \print</p> + + <p>\package{\gTeX} \author{Young U. Ryu} + \ftp{CTAN:systems/msdos/gtex} \print</p> + + <p>\package{\oztex} <a id="ap03.oztex" + name="ap03.oztex"></a> \author{Andrew Trevorrow} + \files{$\Sigma$Edit} \ftp{CTAN:systems/mac/oztex}</p> + + <p>\package{\PCTeX} <a id="ap03.pctex" + name="ap03.pctex"></a> \author{Personal \TeX, Inc.} + \address{12 Madrona Avenue\\Mill Valley, CA 94941\\USA} + \phone{(415) 388--8853 / (413) 388--8865 FAX} \print</p> + + <p>\package{\sbTeX} <a id="ap03.sbtex" + name="ap03.sbtex"></a> \author{Wayne G. Sullivan} + \ftp{CTAN:systems/msdos/sbtex} \print</p> + + <p>\package{\TeX} <a id="ap03.tex" name="ap03.tex"></a> + \author{Donald Knuth} \ftp{CTAN:systems/web2c} \comment{The + \Web sources and the \Web2C programs are both available + here.} \print</p> + + <p>\package{texas} \author{Shih-Ping Chan} + \ftp{CTAN:systems/msdos/texas} \print</p> + + <p>\package{Textures} <a id="ap03.textures" + name="ap03.textures"></a> \author{Blue Sky Research} + \address{534 SW Third Avenue\\Portland, OR 97204\\USA} + \phone{(800) 622--8398 or (503) 222--9571 / (503) 222--1643 + FAX} \files{dvitool} \print</p> + + <p>\package{\TurboTeX} <a id="ap03.turbotex" + name="ap03.turbotex"></a> \author{Kinch Computer Company} + \address{501 Meadow Street\\Ithaca, NY 14850\\USA} + \phone{(607) 273--0222 / (607) 273--0484 FAX} \print</p> + + <p>\package{\utex} <a id="ap03.utex" name="ap03.utex"></a> + \author{ArborText} \address{1000 Victors Way\\Ann Arbor, MI + 48108\\USA} \phone{(313) 996--3566 / (313) 996--3573 FAX} + \print</p> + + <p>\package{\yyTeX} \author{\YY, Inc.} \address{106 Indian + Hill\\Carlisle, MA 01741\\USA} \phone{(508) 371--3286 / + (508) 371--2004 FAX} <a id="ap03.yytex" + name="ap03.yytex"></a> \print</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2946301" + name="id2946301"></a>TeX Shells</h2> + </div> + </div> + + <p>\vskip2pt</p> + + <p>\package{\fourTeX} \author{Wietse Dol, Erik Frambach, + Arjen Merckens, and Maarten van der Vlerk} + \ftp{CTAN:systems/msdos/4tex} \print</p> + + <p>\package{\PMTeX} \author{Guillaume Schiltz} + \ftp{CTAN:systems/os2/pmtex} \print</p> + + <p>\package{\TeXPert} \author{Johannes Martin} + \ftp{CTAN:systems/msdos/texpert} \print</p> + + <p>\package{\TeXShell} \author{J\"urgen Schlegelmilch} + \ftp{CTAN:systems/msdos/texshell} \print</p> + + <p>\package{X\TeX{}Shell} \author{Michael Hofmann} + \ftp{tsx-11.mit.edu:pub/linux/packages/TeX} \print</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2946342" + name="id2946342"></a>Editors</h2> + </div> + </div> + + <p>\vskip2pt</p> + + <p>\package{$\Sigma$Edit} \xref{\oztex}{ap03:oztex} + \print</p> + + <p>\package{Alpha} \author{Pete Keheler} + \ftp{CTAN:systems/mac} \print</p> + + <p>\package{BBEdit} \author{Rich Siegel} + \ftp{mac.archive.umich.edu:/mac/util/text} \print</p> + + <p>\package{Brief} \author{Borland International, Inc.} + \address{1800 Green Hills Road\\P.O. Box 660001\\Scotts + Valley, CA 95067--0001} \phone{(408) 438--8400} \print</p> + + <p>\package{demacs} \author{Manabu Higashida and Hirano + Satoshi} \ftp{oak.oakland.edu:/pub/msdos/demacs} \print</p> + + <p>\package{Doc} \xref{idraw}{ap03:idraw} \print</p> + + <p>\package{emacs} \xref{GNU emacs}{ap03:emacs} \print</p> + + <p>\package{epm} \author{International Business Machines} + \ftp{ftp.cdrom.com:/pub/os2/ibm/epm} \print</p> + + <p>\package{GNU emacs} <a id="ap03.emacs" + name="ap03.emacs"></a> \author{Free Software Foundation} + \address{675 Massachusetts Avenue\\Cambridge, MA + 02139\\USA} \ftp{prep.ai.mit.edu:/pub/gnu} \print</p> + + <p>\package{Jove} \author{Jonathan Payne} + \ftp{oak.oakland.edu:/pub/msdos/editor} \print</p> + + <p>\package{MathPad} \author{Roland Backhouse, Richard + Verhoeven, and Olaf Weber} \ftp{CTAN:support/mathpad} + \print</p> + + <p>\package{MEwin} <a id="ap03.mewin" + name="ap03.mewin"></a> \author{Pierre Perret} + \ftp{oak.oakland.edu:/pub/msdos/windows3} \print</p> + + <p>\package{MicroEMACS} \xref{MEwin}{ap03:mewin} \print</p> + + <p>\package{Multi-Edit} \author{American Cybernetics} + \address{1830 West University Drive, Suite 112\\Tempe, AZ + 85821} \phone{(602) 968--1945 / (602) 966--1654 FAX} + \print</p> + + <p>\package{Scientific Word} \author{TCI Software Research} + \address{1190 Foster Road\\Las Cruces, NM 88001\\USA} + \phone{(505) 522--4600 / (505) 522--0116} \print</p> + + <p>\package{Xnot} \author{Julie Melbin} + \ftp{oak.oakland.edu:/pub/msdos/editor} \print</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2946460" + name="id2946460"></a>Macro Packages (Formats)</h2> + </div> + </div> + + <p>\vskip2pt</p> + + <p>\package{\AMSTeX} \author{\ams} + \ftp{CTAN:fonts/ams/amstex} \print</p> + + <p>\package{Eplain} \xref{Extended Plain \TeX}{ap03:eplain} + \print</p> + + <p>\package{Extended Plain \TeX} <a id="ap03.eplain" + name="ap03.eplain"></a> \author{Karl Berry} + \ftp{CTAN:macros/eplain} \print</p> + + <p>\package{Lame\TeX} \author{Jonathan Monsarrat} + \ftp{CTAN:misc/lametex} \print</p> + + <p>\package{\LamSTeX} \author{Michael Spivak} + \ftp{CTAN:macros/lamstex} \print</p> + + <p>\package{\LaTeX} \author{Leslie Lamport} + \ftp{CTAN:macros/latex/core} \print</p> + + <p>\package{\LaTeXe} \author{Leslie Lamport, et. al.} + \ftp{CTAN:macros/latex2e/core} \print</p> + + <p>\package{Lollipop} \author{Victor Eijkhout} + \ftp{CTAN:macros/lollipop} \print</p> + + <p>\package{\MusicTeX} \author{Daniel Taupin} + \ftp{CTAN:macros/musictex} \print</p> + + <p>\package{Plain \TeX} \author{Donald Knuth} + \ftp{CTAN:macros/plain/base} \print</p> + + <p>\package{\SliTeX} \author{Leslie Lamport} + \ftp{CTAN:macros/latex/core} \print</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2946539" + name="id2946539"></a>Styles and Macros</h2> + </div> + </div> + + <p>\vskip2pt</p> + + <p>\package{\AMSLaTeX} \author{\ams} + \ftp{CTAN:fonts/ams/amslatex} \print</p> + + <p>\package{\arabTeX} \author{Klaus Lagally} + \ftp{CTAN:language/arabtex} \print</p> + + <p>\package{ascii.sty} \author{R. W. D. Nickalls} + \ftp{CTAN:fonts/ascii} \print</p> + + <p>\package{Babel} \author{J. L. Braams} + \ftp{language/babel} \print</p> + + <p>\package{bibunits.sty} \author{Jose Alberto} + \ftp{CTAN:macros/latex/contrib/misc} \print</p> + + <p>\package{chapterbib} \author{Niel Kempson and Donald + Arseneau} \ftp{CTAN:macros/latex/contrib/misc} \print</p> + + <p>\package{Chem\TeX} \author{Roswitha T. Haas and Kevin C. + O'Kane} \ftp{CTAN:macros/latex/contrib/chemtex} \print</p> + + <p>\package{ChemStruct} \author{Michael Ramek} + \ftp{CTAN:macros/latex/contrib/chemstruct} \print</p> + + <p>\package{\DraTeX} \author{Eitan M. Gurari} + \ftp{CTAN:macros/generic/dratex} \print</p> + + <p>\package{EDMAC} \author{John Lavagnino} + \ftp{CTAN:macros/plain/contrib/edmac} \print</p> + + <p>\package{eepic.sty} \author{Conrad Kwok} + \ftp{CTAN:macros/latex/contrib/eepic} \print</p> + + <p>\package{epic.sty} \author{Sunil Podar} + \ftp{CTAN:macros/latex/contrib/epic} \print</p> + + <p>\package{epsf.tex} \xref{dvips}{ap03:dvips} \print</p> + + <p>\package{epsfig.sty} \author{Sebastian Rahtz, Tom + Rokicki, Trevor Darrell, et. al.} + \ftp{CTAN:macros/latex/contrib/epsfig} \print</p> + + <p>\package{\FoilTeX} \author{James Hafner} + \ftp{CTAN:macros/foiltex} \print</p> + + <p>\package{idxmac.tex} \ftp{CTAN:indexing/makeindex/lib} + \print</p> + + <p>\package{index.sty} \author{David Jones} + \ftp{CTAN:macros/latex/contrib/misc}</p> + + <p>\package{\INRSTeX} \author{Michael J. Ferguson} + \ftp{CTAN:macros/inrstex} \print</p> + + <p>\package{isolatin1.sty} + \ftp{CTAN:macros/latex/contrib/misc} \print</p> + + <p>\package{Midnight} \author{Marcel van der Goot} + \ftp{CTAN:macros/generic/midnight} \print</p> + + <p>\package{multind} \author{F. W. Long} + \ftp{CTAN:macros/latex/contrib/misc} \print</p> + + <p>\package{\PiCTeX} \author{Michael Wichura} + \ftp{CTAN:graphics/pictex} \print</p> + + <p>\package{\REVTeX} \author{American Physical Society, + American Institute of Physics, and Optical Society of + America} \ftp{CTAN:macros/latex/contrib/revtex} \print</p> + + <p>\package{\ScriptTeX} \author{Adrian McCarthy} + \ftp{CTAN:macros/scripttex} \print</p> + + <p>\package{Seminar} \author{Timothy Van Zandt} + \ftp{CTAN:macros/latex/contrib/seminar} \print</p> + + <p>\package{\TeX/Mathematica} \author{Dan Dill} + \ftp{CTAN:macros/mathematica} \print</p> + + <p>\package{\TeX{}sis} \author{Eric Myers and Frank E. + Paige} \ftp{CTAN:macros/texsis} \print</p> + + <p>\package{Ver\TeX} \author{Hal Varian} + \ftp{CTAN:macros/plain/contrib} \print</p> + + <p>\package{\XYPic} \author{Kristoffer H. Rose} + \ftp{ftp.diku.dk:/diku/users/kris} \print</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2946714" + name="id2946714"></a>Styles That Produced This + Book</h3> + </div> + </div> + + <p>This book was formatted with an extensively modified + version of the standard LaTeX book style. In addition to + the <tt>pstricks</tt>, <tt>index.sty</tt>, + <tt>epsfig.sty</tt>, <tt>epic.sty</tt>, and + <tt>eepic.sty</tt> files described above, the following + styles were used to format this book: \vskip6pt</p> + + <p>\package{pageframe.sty} \author{Cameron Smith} + \ftp{CTAN:macros/latex/contrib/pageframe} \print</p> + + <p>\package{footnpag.sty} \author{Joachim Schrod} + \ftp{CTAN:macros/latex/contrib/footnpag} \print</p> + + <p>\package{fancybox.sty} \author{Timothy Van Zandt} + \ftp{CTAN:macros/latex/contrib/misc} \print</p> + + <p>\package{fancyheadings.sty} \author{Piet van Oostrum} + \ftp{CTAN:macros/latex/contrib/fancyheadings} \print</p> + + <p>\package{array.sty} \author{Frank Mittelbach and David + Carlisle} \ftp{CTAN:macros/latex/distribs/array} + \print</p> + + <p>\package{dcolumn.sty} \author{David Carlisle} + \ftp{CTAN:macros/latex/distribs/array} \print</p> + + <p>\package{tabularx.sty} \author{David Carlisle} + \ftp{CTAN:macros/latex/distribs/array} \print</p> + + <p>\package{longtable.sty} \author{David Carlisle} + \ftp{CTAN:macros/latex/distribs/array} \print</p> + + <p>\package{verbatim.sty} \author{Rainer Sch\"opf} + \ftp{CTAN:macros/latex/distribs/verbatim} \print</p> + + <p>\package{vrbinput.sty} \author{Bernd Raichle} + \ftp{CTAN:macros/latex/distribs/verbatim} \print</p> + + <p>\package{path.sty} \author{Philip Taylor} + \ftp{CTAN:macros/latex/contrib/misc} \print</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2946829" + name="id2946829"></a>Utilities</h2> + </div> + </div> + + <p>\vskip2pt</p> + + <p>\package{afm2tfm} \xref{dvips}{ap03:dvips} \print</p> + + <p>\package{amSpell} \author{Erik Frambach} + \address{Faculty of Econometrics\\University of + Groningen\\Netherlands} \ftp{CTAN:support/amspel} + \print</p> + + <p>\package{animate} \xref{Image Magick}{ap03:imagemagick} + \print</p> + + <p>\package{\auctex} \author{Kresten Krab Thorup and Per + Abrahamsen} \ftp{CTAN:support/auctex} \print</p> + + <p>\package{awk} \author{Free Software Foundation} + \address{675 Massachusetts Avenue\\Cambridge, MA + 02139\\USA} \comment{The FSF's version of \program{awk} is + called \program{gawk}. Many commercial implementations of + \program{awk} are also available.} + \ftp{prep.ai.mit.edu:/pub/gnu} \print</p> + + <p>\package{bbfig} \author{Ned Betchelder} + \ftp{CTAN:dviware/dvips/dvips/contrib/bbfig} \print</p> + + <p>\package{bibclean} \author{Nelson H. F. Beebe} + \ftp{CTAN:bibtex/utils/bibclean} \print</p> + + <p>\package{bibdb} \author{Eyal Doron} + \ftp{CTAN:support/bibdb} \print</p> + + <p>\package{bibdestringify} + \xref{lookbibtex}{ap03:lookbibtex} \print</p> + + <p>\package{bibextract} <a id="ap03.bibextract" + name="ap03.bibextract"></a> \author{Nelson H. F. Beebe} + \ftp{CTAN:biblio/bibtex/utils/bibextract} \print</p> + + <p>\package{bibindex} <a id="ap03.bibindex" + name="ap03.bibindex"></a> \author{Nelson H. F. Beebe} + \ftp{CTAN:biblio/bibtex/utils/bibindex} \print</p> + + <p>\package{biblook} \xref{bibindex}{ap03:bibindex} + \print</p> + + <p>\package{bibsort} \author{Nelson H. F. Beebe} + \ftp{CTAN:biblio/bibtex/utils/bibsort} \print</p> + + <p>\package{\BibTeX} <a id="ap03.bibtex" + name="ap03.bibtex"></a> \author{Oren Patashnik} + \ftp{CTAN:biblio/bibtex} \print</p> + + <p>\package{bibview} \author{Holger Martin, Peter Urban, + and Armin Liebl} \comment{Available from volume 18 of the + \texttt{comp.sources.x} newsgroup.} \print</p> + + <p>\package{Bitmap} \author{Davor Matic} + \ftp{ftp.x.org:/contrib} \print</p> + + <p>\package{Bm2font} \author{Friedhelm Sowa} + \ftp{CTAN:graphics/bm2font} \print</p> + + <p>\package{citefind} \xref{bibextract}{ap03:bibextract} + \print</p> + + <p>\package{citetags} \xref{bibextract}{ap03:bibextract} + \print</p> + + <p>\package{combine} \xref{Image Magick}{ap03:imagemagick} + \print</p> + + <p>\package{convert} \xref{Image Magick}{ap03:imagemagick} + \print</p> + + <p>\package{crudetype} \author{R. M. Damerell} + \ftp{CTAN:dviware/crudetype} \print</p> + + <p>\package{detex} \author{Daniel Trinkle} + \ftp{CTAN:support/detex} \print</p> + + <p>\package{display} \xref{Image Magick}{ap03:imagemagick} + \print</p> + + <p>\package{dvgt} \author{Geoffrey Tobin} + \ftp{CTAN:dviware/dvgt} \print</p> + + <p>\package{dvi2tty} \author{Marcel J. E. Mol} + \ftp{CTAN:dviware/dvi2tty} \print</p> + + <p>\package{dvi2xx} <a id="ap03.dvi2xx" + name="ap03.dvi2xx"></a> \author{Gustaf Neumann} + \ftp{CTAN:dviware/dvi2xx} \print</p> + + <p>\package{dvicopy} <a id="ap03.dvicopy" + name="ap03.dvicopy"></a> \author{Peter Breitenlohner} + \ftp{CTAN:dviware/dvicopy} \print</p> + + <p>\package{dvideo} \xref{\TurboTeX}{ap03:turbotex} + \print</p> + + <p>\package{dvidot} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{dvidrv} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{dvidvi} \author{Tom Rokicki} + \ftp{CTAN:dviware/dvidvi} \print</p> + + <p>\package{dvidxx} \comment{See + Example \ref{ex:dvidxx} in + Chapter \ref{app:examples}, + \textit{\nameref{app:examples}}.} \print</p> + + <p>\package{dvihplj} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{DVILASER/HP} \xref{\utex}{ap03:utex} \print</p> + + <p>\package{DVILASER/PS} \xref{\utex}{ap03:utex} \print</p> + + <p>\package{\dvilaserhp} \xref{\utex}{ap03:utex} \print</p> + + <p>\package{\dvilaserps} \xref{\utex}{ap03:utex} \print</p> + + <p>\package{dvilj2} \xref{dvi2xx}{ap03:dvi2xx} \print</p> + + <p>\package{dvimsp} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{dvimswin} \author{J. D. McDonald} + \ftp{CTAN:dviware/dvimswin} \print</p> + + <p>\package{dvipaste} \author{Michael Spivak} + \ftp{CTAN:macros/lamstex/dvipaste} \print</p> + + <p>\package{dvipcx} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{dvipm} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{dvips} <a id="ap03.dvips" + name="ap03.dvips"></a> \author{Tomas Rokicki} + \ftp{CTAN:dviware/dvips} \print</p> + + <p>\package{dvipsk} \author{Karl Berry} + \ftp{CTAN:dviware/dvipsk} \comment{\program{dvips} enhanced + to support path searching for fonts.} \print</p> + + <p>\package{dvipsone} \xref{\yyTeX}{ap03:yytex} \print</p> + + <p>\package{dviscr} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{dvispell} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{DVITool} \author{Jeff W. McCarrell} + \ftp{CTAN:support/vortex/dvitool} \comment{Unrelated to the + \program{Textures} tool of the same name.} \print</p> + + <p>\package{dvitovdu} \author{Andrew Trevorrow} + \ftp{CTAN:dviware/dvitovdu} \print</p> + + <p>\package{dvitype} \xref{\texware}{ap03:texware} + \print</p> + + <p>\package{dvivga} \ftp{CTAN:dviware/dvivga} \print</p> + + <p>\package{dviwin} <a id="ap03.dviwin" + name="ap03.dviwin"></a> \author{Hippocrates Sendoukas} + \ftp{CTAN:dviware/dviwin} \print</p> + + <p>\package{DVIWindo} \xref{\yyTeX}{ap03:yytex} \print</p> + + <p>\package{enc-afm.pl} \comment{See + Example \ref{ex:encafmpl} in + Chapter \ref{app:examples}, + \textit{\nameref{app:examples}}.} \print</p> + + <p>\package{epmtex} \author{Jon Hacker} + \ftp{CTAN:systems/os2/epmtex} \print</p> + + <p>\package{epsfig} \author{Peter Whaite} + \ftp{CTAN:macros/latex/contrib/epsfig}</p> + + <p>\package{Excalibur} \author{Rick Zaccone} + \ftp{CTAN:systems/mac/excalibur} \print</p> + + <p>\package{Fig} \author{Supoj Sutanthavibul} \print</p> + + <p>\package{\FigMF} \author{Anthony Starks} + \ftp{CTAN:graphics/fig2mf} \print</p> + + <p>\package{fontinst} \author{Alan Jeffrey} + \ftp{CTAN:fonts/utilities/fontinst} \print</p> + + <p>\package{fontlib} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{GFtoDVI} \xref{\mfware}{ap03:mfware} \print</p> + + <p>\package{GFtoPK} \xref{\mfware}{ap03:mfware} \print</p> + + <p>\package{Ghostscript} <a id="ap03.ghostscript" + name="ap03.ghostscript"></a> \author{Aladdin Enterprises} + \address{P.O. box 60264\\Palo Alto, CA 94306\\USA} + \phone{(415) 322--0103 / (415) 322--1734 FAX} + \ftp{prep.ai.mit.edu:/pub/gnu} \print</p> + + <p>\package{Ghostview} \author{Timothy O. Theisen} + \ftp{prep.ai.mit.edu:/pub/gnu} \print</p> + + <p>\package{gnuplot} \author{Free Software Foundation} + \address{675 Massachusetts Avenue\\Cambridge, MA + 02139\\USA} \ftp{prep.ai.mit.edu:/pub/gnu} \print</p> + + <p>\package{GoScript} <a id="ap03.goscript" + name="ap03.goscript"></a> \author{LaserGo, Inc.} + \address{9369 Carroll Park Drive, Suite A\\San Diego, CA + 92121\\USA} \phone{(619) 450--4600 / (619) 450-9334 FAX} + \print</p> + + <p>\package{GoScript Plus} \xref{GoScript}{ap03:goscript} + \print</p> + + <p>\package{groff} <a id="ap03.groff" + name="ap03.groff"></a> \author{Free Software Foundation} + \address{675 Massachusetts Avenue\\Cambridge, MA + 02139\\USA} \comment{The FSF's version of \program{troff} + is called \program{groff}. Many commercial implementations + of \program{troff} are also available.} + \ftp{prep.ai.mit.edu:/pub/gnu} \print</p> + + <p>\package{hp2xx} \author{Heinz W. Werntges} + \ftp{CTAN:support/hp2xx} \print</p> + + <p>\package{HPTFM2PL} \author{Norman Walsh} + \ftp{CTAN:support/hp2pl} \print</p> + + <p>\package{Hyper\BibTeX} \author{Evan Antwork} + \ftp{mac.archive.umich.edu:/mac/misc/tex} \print</p> + + <p>\package{idraw} <a id="ap03.idraw" + name="ap03.idraw"></a> \ftp{interviews.stanford.edu} + \print</p> + + <p>\package{Image Alchemy} \author{Handmade Software, Inc.} + \address{15951 Los Gatos Blvd., Ste. 17\\Los Gatos, CA + 95032\\USA} \phone{(408) 358--1292 / (408) 358--2694} + \ftp{oak.oakland.edu:/pub/msdos/graphics} \print</p> + + <p>\package{Image Magick} <a id="ap03.imagemagick" + name="ap03.imagemagick"></a> \author{John Cristy} + \ftp{ftp.x.org:/contrib} \print</p> + + <p>\package{import} \xref{Image Magick}{ap03:imagemagick} + \print</p> + + <p>\package{Info-Zip} <a id="ap03.info-zip" + name="ap03.info-zip"></a> \author{Mark Adler, et. al.} + \files{zip, unzip} \ftp{ftp.uu.net:/pub/archiving/zip} + \print</p> + + <p>\package{\iniMF} \xref{\MF}{ap03:mf} \print</p> + + <p>\package{\iniTeX} \xref{\TeX}{ap03:tex} \print</p> + + <p>\package{ispell} \ftp{CTAN:support/ispell} \print</p> + + <p>\package{ivd2dvi} \author{Larry Denenberg} + \ftp{CTAN:dviware/ivd2dvi} \print</p> + + <p>\package{\jemtex} \author{Fran\c cois Jalbert} + \ftp{CTAN:systems/msdos/jemtex2} \print</p> + + <p>\package{LaCheck} \author{Kresten Krab Thorup and Per + Abrahamsen} \ftp{CTAN:support/lacheck} \print</p> + + <p>\package{lookbibtex} <a id="ap03.lookbibtex" + name="ap03.lookbibtex"></a> \author{John Heidemann} + \ftp{CTAN:biblio/bibtex/utils/lookbibtex} \print</p> + + <p>\package{Mac\BibTeX} \xref{\BibTeX}{ap03:bibtex} + \author{Michael Kahn} \ftp{CTAN:systems/mac} \comment{This + is a Mac port of \BibTeX.} \print</p> + + <p>\package{MacDVIcopy} \author{Yannis Haralambous} + \xref{dvicopy}{ap03:dvicopy} \comment{This is a Mac port of + \program{dvicopy}.} \print</p> + + <p>\package{MacGS} \author{Martin Fong} + \xref{GhostScript}{ap03:ghostscript} + \ftp{mac.archive.umich.edu:/mac/graphics/graphicsutil} + \comment{This is a Mac port of \program{GhostScript}.} + \print</p> + + <p>\package{MacMakeIndex} \author{Johnny Tolliver} + \xref{MakeIndex}{ap03:makeindex} \ftp{CTAN:systems/mac} + \comment{This is a Mac port of \program{MakeIndex}.} + \print</p> + + <p>\package{makebst} \author{Patrick W. Daly} + \ftp{CTAN:macros/latex/contrib/custom-bib} \print</p> + + <p>\package{makeidx.sty} \ftp{CTAN:indexing/makeindex/lib} + \print</p> + + <p>\package{MakeIndex} \author{Pehong Chen} + \ftp{CTAN:indexing/makeindex} <a id="ap03.makeindex" + name="ap03.makeindex"></a> \print</p> + + <p>\package{MakeIndx} \xref{MakeIndex}{ap03:makeindex} + \print</p> + + <p>\package{MakeInfo} \xref{\TeXinfo}{ap03:texinfo} + \print</p> + + <p>\package{maketcp} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{MakeTeXPK} \xref{dvips}{ap03:dvips} + \comment{There are several versions of this file available. + See Example \ref{ex:maketexpk} in + Chapter \ref{app:examples}, + \textit{\nameref{app:examples}}.} \print</p> + + <p>\package{MakeTeXTFM} \comment{See + Example \ref{ex:maketextfm} in + Chapter \ref{app:examples}, + \textit{\nameref{app:examples}}.} \print</p> + + <p>\package{\MF} <a id="ap03.mf" name="ap03.mf"></a> + \author{Donald Knuth} \ftp{CTAN:systems/web2c} \comment{The + \Web sources and the \Web2C programs are both available + here.} \print</p> + + <p>\package{\MF for Textures} \author{Blue Sky Research} + \address{534 SW Third Avenue\\Portland, OR 97204\\USA} + \phone{(800) 622--8398 or (503) 222--9571 / (503) 222--1643 + FAX} \ftp{CTAN:systems/mac/metafont/bluesky} \print</p> + + <p>\package{MFjob} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{\MFpic} \author{Thomas Leathrum} + \ftp{CTAN:graphics/mfpic} \print</p> + + <p>\package{MFT} \xref{\mfware}{ap03:mfware} \print</p> + + <p>\package{\mfware} <a id="ap03.mfware" + name="ap03.mfware"></a> \author{Donald Knuth} + \ftp{CTAN:systems/web2c} \comment{The \Web sources and the + \Web2C programs are both available here.} \print</p> + + <p>\package{mogrify} \xref{Image Magick}{ap03:imagemagick} + \print</p> + + <p>\package{montage} \xref{Image Magick}{ap03:imagemagick} + \print</p> + + <p>\package{Nikon II} \author{Bitware, Software & + Services} \address{P.O. Box 3097\\Manuka A.C.T. + 2603\\Australia} \ftp{ftp.cdrom.com:/pub/os2/2_x/graphics} + \print</p> + + <p>\package{nroff} \xref{groff}{ap03:groff} \print</p> + + <p>\package{PBMplus} <a id="ap03.pbmplus" + name="ap03.pbmplus"></a> \author{Jef Poskanzer} + \ftp{ftp.x.org:/contrib} \print</p> + + <p>\package{pbmtopk} <a id="ap03.pbmtopk" + name="ap03.pbmtopk"></a> \author{Angus Duggan} + \ftp{CTAN:graphics/pbmtopk} \print</p> + + <p>\package{pfatopfb} \xref{\tutils}{ap03:t1utils} + \print</p> + + <p>\package{pfbtopfa} \xref{\tutils}{ap03:t1utils} + \print</p> + + <p>\package{PFM2AFM} \author{Ken Borgendale} + \ftp{CTAN:fonts/utilities/pfm2afm} \print</p> + + <p>\package{pixmap} \author{Lionel Mallet} + \ftp{ftp.x.org:/contrib/pixmap} \print</p> + + <p>\package{PKBBOX} \author{Norman Walsh} + \ftp{CTAN:fonts/utilities/pkbbox} \print</p> + + <p>\package{PKEdit} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{PKtoGF} \xref{\mfware}{ap03:mfware} \print</p> + + <p>\package{pktopbm} \xref{pbmtopk}{ap03:pbmtopk} + \print</p> + + <p>\package{pktops} \xref{\yyTeX}{ap03:yytex} \print</p> + + <p>\package{PKtoPX} \xref{\mfware}{ap03:mfware} \print</p> + + <p>\package{PKtoSFP} \author{Norman Walsh} + \ftp{CTAN:font/softfonts} \print</p> + + <p>\package{PKtype} \xref{\mfware}{ap03:mfware} \print</p> + + <p>\package{PLtoTF} \xref{\texware}{ap03:texware} + \print</p> + + <p>\package{PM-Cam} \author{J. von Kaenel} + \ftp{ftp.cdrom.com:/pub/os2/ibm/ews} \print</p> + + <p>\package{\pmc} \author{Tom Ridgeway} + \ftp{CTAN:fonts/poorman} \print</p> + + <p>\package{\pmj} \author{Tom Ridgeway} + \ftp{CTAN:fonts/poorman} \print</p> + + <p>\package{Pmjpeg} \author{Norman Yee} + \ftp{ftp.cdrom.com:/pub/os2/2_x/graphics} \print</p> + + <p>\package{ps2epsi} \xref{ghostscript}{ap03:ghostscript} + \print</p> + + <p>\package{PS2PK} \author{Piet Tutelaers} + \ftp{CTAN:fonts/utilities/ps2pk} \print</p> + + <p>\package{\PSTricks} \author{Timothy Van Zandt} + \ftp{CTAN:graphics/pstricks} \print</p> + + <p>\package{PTI Jet} \xref{\PCTeX}{ap03:pctex} \print</p> + + <p>\package{PTI Laser/HP} \xref{\PCTeX}{ap03:pctex} + \print</p> + + <p>\package{PTI Laser/HP4} \xref{\PCTeX}{ap03:pctex} + \print</p> + + <p>\package{PTI Laser/PS} \xref{\PCTeX}{ap03:pctex} + \print</p> + + <p>\package{PTI View} \xref{\PCTeX}{ap03:pctex} \print</p> + + <p>\package{PXtoPK} \author{Peter Breitenlohner} + \ftp{systems/msdos/utilities} \print</p> + + <p>\package{RCS} \author{Walter F. Tichy} + \ftp{prep.ai.mit.edu:/pub/gnu} \print</p> + + <p>\package{Recode} \author{Francois Pinard} + \ftp{prep.ai.mit.edu:/pub/gnu} \print</p> + + <p>\package{REXX} \author{International Business Machines} + \print</p> + + <p>\package{\sbMF} \xref{\sbTeX}{ap03:sbtex} \print</p> + + <p>\package{sed} \author{Free Software Foundation} + \address{675 Massachusetts Avenue\\Cambridge, MA + 02139\\USA} \ftp{prep.ai.mit.edu:/pub/gnu} \comment{Many + commercial implementations of \program{sed} are also + available.} \print</p> + + <p>\package{\SeeTeX} <a id="ap03.seetex" + name="ap03.seetex"></a> \author{David Grunwald} + \ftp{CTAN:dviware/seetex} \print</p> + + <p>\package{sffx} \xref{Sfware}{ap03:sfware} \print</p> + + <p>\package{Sfload} \xref{Sfware}{ap03:sfware} \print</p> + + <p>\package{SFPtoPK} \author{Norman Walsh} + \ftp{CTAN:font/softfonts} \print</p> + + <p>\package{Sfware} <a id="ap03.sfware" + name="ap03.sfware"></a> \author{Norman Walsh} + \ftp{CTAN:font/softfonts/sfware} \print</p> + + <p>\package{tangle} \xref{\Web2c}{ap03:web2c} \print</p> + + <p>\package{tar} \author{Free Software Foundation} + \address{675 Massachusetts Avenue\\Cambridge, MA + 02139\\USA} \ftp{prep.ai.mit.edu:/pub/gnu} \comment{Many + commercial implementations of \program{tar} are also + available.} \print</p> + + <p>\package{tex386} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{\TeX Preview} \xref{\utex}{ap03:utex} + \print</p> + + <p>\package{texcad} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{texchk} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{texconv} \xref{\emTeX}{ap03:emtex} \print</p> + + <p>\package{\TeXinfo} <a id="ap03.texinfo" + name="ap03.texinfo"></a> \author{Free Software Foundation} + \address{675 Massachusetts Avenue\\Cambridge, MA + 02139\\USA} \ftp{prep.ai.mit.edu:/pbu/gnu} \print</p> + + <p>\package{\TeXtoXfont} \comment{See + Example \ref{ex:textoxfont} in + Chapter \ref{app:examples}, + \textit{\nameref{app:examples}}.} \print</p> + + <p>\package{\texware} <a id="ap03.texware" + name="ap03.texware"></a> \author{Donald Knuth} + \ftp{CTAN:systems/web2c} \comment{The \Web sources and the + \Web2C programs are both available here.} \print</p> + + <p>\package{TFtoPL} \xref{\texware}{ap03:texware} + \print</p> + + <p>\package{Tgif} \author{William Chia-Wei Cheng} + \ftp{ftp.x.org:/contrib} \print</p> + + <p>\package{\Tib} \author{James C. Alexander} + \ftp{CTAN:biblio/tib} \print</p> + + <p>\package{\tpre} \xref{\utex}{ap03:utex} \print</p> + + <p>\package{troff} \xref{groff}{ap03:groff} \print</p> + + <p>\package{\tutils} <a id="ap03.t1utils" + name="ap03.t1utils"></a> \author{I. Lee Hetherington} + \ftp{CTAN:fonts/utilities/t1utils} \print</p> + + <p>\package{txt2pcx} \author{DECISIONS Software} + \address{P.O. Box 31418\\Phoenix, AZ 85046\\USA} + \phone{(602) 992--0310} \print</p> + + <p>\package{unzip} \xref{Info-Zip}{ap03:info-zip} + \print</p> + + <p>\package{VFtoVP} \xref{\mfware}{ap03:mfware} \print</p> + + <p>\package{VPtoVF} \xref{\mfware}{ap03:mfware} \print</p> + + <p>\package{wbr} \xref{dviwin}{ap03:dviwin} \print</p> + + <p>\package{wdviwin} \xref{\TurboTeX}{ap03:turbotex} + \print</p> + + <p>\package{weave} \xref{\Web2c}{ap03:web2c} \print</p> + + <p>\package{xbibtex} \author{Nicholas Kelly and Christian + H. Bischof} \ftp{CTAN:biblio/bibtex/utils/xbibtex} + \print</p> + + <p>\package{Xdvi} \author{Paul Vojta} + \ftp{CTAN:dviware/xdvi} \print</p> + + <p>\package{\XeT} \ftp{noa.huji.ac.il:/tex} + \comment{Several implementations of \XeT-{}-\TeX are + available here.} \print</p> + + <p>\package{xfig} \author{Brian V. Smith} + \ftp{ftp.x.org:/contrib} \print</p> + + <p>\package{xloadimage} \author{Jim Frost} + \ftp{ftp.x.org:/contrib} \print</p> + + <p>\package{xpaint} \author{David Koblas} + \ftp{ftp.x.org:/contrib}</p> + + <p>\package{\XTeX} \xref{See\TeX}{ap03:seetex} \print</p> + + <p>\package{Xtexcad} \comment{Available from volume 17 of + the \texttt{comp.sources.x} newsgroup.} \print</p> + + <p>\package{xv} \author{John Bradley} + \ftp{ftp.x.org:/contrib} \print</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2948003" + name="id2948003"></a>Miscellaneous</h2> + </div> + </div> + + <p>\vskip2pt</p> + + <p>\package{4DOS} \author{JP Software Inc.} \address{P.O. + Box 1470\\E. Arlington, MA 02174\\USA} \phone{(617) + 646--3975} \ftp{oak.oakland.edu:/pub/msdos/4dos} \print</p> + + <p>\package{4OS2} \author{JP Software Inc.} \address{P.O. + Box 1470\\E. Arlington, MA 02174\\USA} \phone{(617) + 646--3975} \ftp{ftp.cdrom.com:/pub/os2/2_x/sysutils} + \print</p> + + <p>\package{Channel 1\regtm} \address{1030 Massachusetts + Avenue\\Cambridge, MA 02138} \phone{(617) 864--0100 voice / + (617) 354-3230 v32.bis modem} \comment{The Channel 1 BBS + carries a \TeX conference with many MS-DOS tools available + for downloading to registered users.} \print</p> + + <p>\package{edb} \author{Michael Ernst} + \ftp{theory.lcs.mit.edu:/pub/emacs/edb} \comment{Database + manager for GNU Emacs.} \print</p> + + <p>\package{Linux} \author{Linus Torvalds} + \ftp{ftp.cdrom.com:/pub/linux} \print</p> + + <p>\package{mewltx} \author{Michael F. Reid} + \ftp{CTAN:support/mewltx} \comment{\LaTeX extensions for + \filename{MicroEMACS}.} \xref{MEwin}{ap03:mewin} \print</p> + + <p>\package{modes.mf} \author{Karl Berry} + \ftp{CTAN:fonts/modes} \print</p> + + <p>\package{Perl} \author{Larry Wall} \print</p> + + <p>\package{TeX-index} <a id="ap03.texindex" + name="ap03.texindex"></a> \author{David Jones} + \ftp{CTAN:info} \comment{Also known as + \filename{tex-styles-and-macros.txt}.} \print</p> + + <p>\package{tex-styles-and-macros.txt} + \xref{TeX-index}{ap03:texindex} \print</p> + + <p>\package{\Web2c} <a id="ap03.web2c" + name="ap03.web2c"></a> \author{Karl Berry} + \ftp{CTAN:systems/web2c} \print</p> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Appendix B. Font Samples" + href="apb.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Appendix D. Long Examples" + href="apd.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Appendix B. Font + Samples </td> + + <td width="20%" align="center"><a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Appendix D. Long Examples</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/apd.html b/Master/texmf-doc/doc/english/make-tex-work/html/apd.html new file mode 100644 index 00000000000..e7e99b4f4b9 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/apd.html @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Appendix D. Long Examples</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt03.html" + title="Part III. A Tools Overview" /> + <link rel="previous" href="apc.html" + title="Appendix C. Resources" /> + <link rel="next" href="ape.html" + title="Appendix E. GNU Free Documentation License" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Appendix C. Resources" + href="apc.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Appendix E. GNU Free Documentation License" + href="ape.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="appendix"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="app.examples" + name="app.examples"></a>Appendix D. Long + Examples</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + </div> + + <p>This appendix contains the source for several scripts that + seemed too long to place in the running text. These scripts + are provided as examples only, they may not run on your + system without some modification.</p> + + <p>These examples are available online, see the Preface for + more information about retrieving online examples.</p> + + <p>The \program{MakeTeXPK.pl} script builds PK files from + MetaFont and PostScript fonts.</p> + + <div class="example"> + <a id="ex.maketexpk" name="ex.maketexpk"></a> + + <p class="title"> + <b>Example D.1. MakeTeXPK.pl</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="MakeTeXPK.pl"></a> +</pre> + </div> + + <p>The \program{MakeTeXTFM.pl} script builds TFM files from + \MF\ and PostScript (\ext{AFM} file) fonts.</p> + + <div class="example"> + <a id="ex.maketextfm" name="ex.maketextfm"></a> + + <p class="title"> + <b>Example D.2. MakeTeXTFM.pl</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="MakeTeXTFM.pl"></a> +</pre> + </div> + + <p>The \program{dvidxx.btm} script is written in + \program{4DOS}'s extended batch language. It performs + automatic font generation for \MF\ and PostScript fonts using + \emTeX's drivers (version 1.4s).</p> + + <div class="example"> + <a id="ex.dvidxx" name="ex.dvidxx"></a> + + <p class="title"> + <b>Example D.3. dvidxx.btm</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="dvidxx.btm"></a> +</pre> + </div> + + <p>The \program{makepk.btm} script is used by + \program{dvidxx.btm}, shown in Example~\ref{ex:dvidxx} in + this appendix.</p> + + <div class="example"> + <a id="ex.makepk" name="ex.makepk"></a> + + <p class="title"> + <b>Example D.4. makepk.btm</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="makepk.btm"></a> +</pre> + </div> + + <p>The \program{enc-afm.pl} script changes the encoding + vector in an \ext{AFM} file.</p> + + <div class="example"> + <a id="ex.encafmpl" name="ex.encafmpl"></a> + + <p class="title"> + <b>Example D.5. enc-afm.pl</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="enc-afm.pl"></a> +</pre> + </div> + + <p>The \program{TeXtoXfont} script is a \Unix\ shell script + (written in \program{bash}) which builds an X11 font from a + \MF\ or PostScript font.</p> + + <div class="example"> + <a id="ex.textoxfont" name="ex.textoxfont"></a> + + <p class="title"> + <b>Example D.6. TeXtoXfont</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="TeXtoXfont"></a> +</pre> + </div> + + <p>The \program{PStoXfont} script is used by + \program{TeXtoXfont}, shown in Example~\ref{ex:textoxfont} in + this appendix.</p> + + <div class="example"> + <a id="ex.pstoxfont" name="ex.pstoxfont"></a> + + <p class="title"> + <b>Example D.7. PStoXfont</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="PStoXfont"></a> +</pre> + </div> + + <p>The \program{txt2verb.pl} script translates arbitrary text + lines into a format suitable for including in + \verb|\verbatim| material in \TeX.</p> + + <div class="example"> + <a id="ex.txt2verb" name="ex.txt2verb"></a> + + <p class="title"> + <b>Example D.8. txt2verb.pl</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="txt2verb.pl"></a> +</pre> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Appendix C. Resources" + href="apc.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Appendix E. GNU Free Documentation License" + href="ape.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Appendix C. Resources </td> + + <td width="20%" align="center"><a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Appendix E. GNU Free Documentation + License</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ape.html b/Master/texmf-doc/doc/english/make-tex-work/html/ape.html new file mode 100644 index 00000000000..6e68d8f0bba --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ape.html @@ -0,0 +1,639 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Appendix E. GNU Free Documentation + License</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt03.html" + title="Part III. A Tools Overview" /> + <link rel="previous" href="apd.html" + title="Appendix D. Long Examples" /> + <link rel="next" href="bi01.html" title="Bibliography" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Appendix D. Long Examples" + href="apd.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a title="Bibliography" + href="bi01.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="appendix"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="gfdl" + name="gfdl"></a>Appendix E. GNU Free + Documentation License</h2> + </div> + </div> + + <p>Version 1.1, March 2000</p> + + <blockquote class="blockquote"> + <p>Copyright (C) 2000 Free Software Foundation, Inc. 59 + Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone + is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed.</p> + </blockquote> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2948209" + name="id2948209"></a>PREAMBLE</h2> + </div> + </div> + + <p>The purpose of this License is to make a manual, + textbook, or other written document "free" in the sense of + freedom: to assure everyone the effective freedom to copy + and redistribute it, with or without modifying it, either + commercially or noncommercially. Secondarily, this License + preserves for the author and publisher a way to get credit + for their work, while not being considered responsible for + modifications made by others.</p> + + <p>This License is a kind of "copyleft", which means that + derivative works of the document must themselves be free in + the same sense. It complements the GNU General Public + License, which is a copyleft license designed for free + software.</p> + + <p>We have designed this License in order to use it for + manuals for free software, because free software needs free + documentation: a free program should come with manuals + providing the same freedoms that the software does. But + this License is not limited to software manuals; it can be + used for any textual work, regardless of subject matter or + whether it is published as a printed book. We recommend + this License principally for works whose purpose is + instruction or reference.</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2948100" + name="id2948100"></a>APPLICABILITY AND DEFINITIONS</h2> + </div> + </div> + + <p>This License applies to any manual or other work that + contains a notice placed by the copyright holder saying it + can be distributed under the terms of this License. The + "Document", below, refers to any such manual or work. Any + member of the public is a licensee, and is addressed as + "you".</p> + + <p>A "Modified Version" of the Document means any work + containing the Document or a portion of it, either copied + verbatim, or with modifications and/or translated into + another language.</p> + + <p>A "Secondary Section" is a named appendix or a + front-matter section of the Document that deals exclusively + with the relationship of the publishers or authors of the + Document to the Document's overall subject (or to related + matters) and contains nothing that could fall directly + within that overall subject. (For example, if the Document + is in part a textbook of mathematics, a Secondary Section + may not explain any mathematics.) The relationship could be + a matter of historical connection with the subject or with + related matters, or of legal, commercial, philosophical, + ethical or political position regarding them.</p> + + <p>The "Invariant Sections" are certain Secondary Sections + whose titles are designated, as being those of Invariant + Sections, in the notice that says that the Document is + released under this License.</p> + + <p>The "Cover Texts" are certain short passages of text + that are listed, as Front-Cover Texts or Back-Cover Texts, + in the notice that says that the Document is released under + this License.</p> + + <p>A "Transparent" copy of the Document means a + machine-readable copy, represented in a format whose + specification is available to the general public, whose + contents can be viewed and edited directly and + straightforwardly with generic text editors or (for images + composed of pixels) generic paint programs or (for + drawings) some widely available drawing editor, and that is + suitable for input to text formatters or for automatic + translation to a variety of formats suitable for input to + text formatters. A copy made in an otherwise Transparent + file format whose markup has been designed to thwart or + discourage subsequent modification by readers is not + Transparent. A copy that is not "Transparent" is called + "Opaque".</p> + + <p>Examples of suitable formats for Transparent copies + include plain ASCII without markup, Texinfo input format, + LaTeX input format, SGML or XML using a publicly available + DTD, and standard-conforming simple HTML designed for human + modification. Opaque formats include PostScript, PDF, + proprietary formats that can be read and edited only by + proprietary word processors, SGML or XML for which the DTD + and/or processing tools are not generally available, and + the machine-generated HTML produced by some word processors + for output purposes only.</p> + + <p>The "Title Page" means, for a printed book, the title + page itself, plus such following pages as are needed to + hold, legibly, the material this License requires to appear + in the title page. For works in formats which do not have + any title page as such, "Title Page" means the text near + the most prominent appearance of the work's title, + preceding the beginning of the body of the text.</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2948673" + name="id2948673"></a>VERBATIM COPYING</h2> + </div> + </div> + + <p>You may copy and distribute the Document in any medium, + either commercially or noncommercially, provided that this + License, the copyright notices, and the license notice + saying this License applies to the Document are reproduced + in all copies, and that you add no other conditions + whatsoever to those of this License. You may not use + technical measures to obstruct or control the reading or + further copying of the copies you make or distribute. + However, you may accept compensation in exchange for + copies. If you distribute a large enough number of copies + you must also follow the conditions in section 3.</p> + + <p>You may also lend copies, under the same conditions + stated above, and you may publicly display copies.</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2948707" + name="id2948707"></a>COPYING IN QUANTITY</h2> + </div> + </div> + + <p>If you publish printed copies of the Document numbering + more than 100, and the Document's license notice requires + Cover Texts, you must enclose the copies in covers that + carry, clearly and legibly, all these Cover Texts: + Front-Cover Texts on the front cover, and Back-Cover Texts + on the back cover. Both covers must also clearly and + legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of + the title equally prominent and visible. You may add other + material on the covers in addition. Copying with changes + limited to the covers, as long as they preserve the title + of the Document and satisfy these conditions, can be + treated as verbatim copying in other respects.</p> + + <p>If the required texts for either cover are too + voluminous to fit legibly, you should put the first ones + listed (as many as fit reasonably) on the actual cover, and + continue the rest onto adjacent pages.</p> + + <p>If you publish or distribute Opaque copies of the + Document numbering more than 100, you must either include a + machine-readable Transparent copy along with each Opaque + copy, or state in or with each Opaque copy a + publicly-accessible computer-network location containing a + complete Transparent copy of the Document, free of added + material, which the general network-using public has access + to download anonymously at no charge using public-standard + network protocols. If you use the latter option, you must + take reasonably prudent steps, when you begin distribution + of Opaque copies in quantity, to ensure that this + Transparent copy will remain thus accessible at the stated + location until at least one year after the last time you + distribute an Opaque copy (directly or through your agents + or retailers) of that edition to the public.</p> + + <p>It is requested, but not required, that you contact the + authors of the Document well before redistributing any + large number of copies, to give them a chance to provide + you with an updated version of the Document.</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2948791" + name="id2948791"></a>MODIFICATIONS</h2> + </div> + </div> + + <p>You may copy and distribute a Modified Version of the + Document under the conditions of sections 2 and 3 above, + provided that you release the Modified Version under + precisely this License, with the Modified Version filling + the role of the Document, thus licensing distribution and + modification of the Modified Version to whoever possesses a + copy of it. In addition, you must do these things in the + Modified Version:</p> + + <div class="orderedlist"> + <ol type="A"> + <li> + <p>Use in the Title Page (and on the covers, if any) + a title distinct from that of the Document, and from + those of previous versions (which should, if there + were any, be listed in the History section of the + Document). You may use the same title as a previous + version if the original publisher of that version + gives permission.</p> + </li> + + <li> + <p>List on the Title Page, as authors, one or more + persons or entities responsible for authorship of the + modifications in the Modified Version, together with + at least five of the principal authors of the + Document (all of its principal authors, if it has + less than five).</p> + </li> + + <li> + <p>State on the Title page the name of the publisher + of the Modified Version, as the publisher.</p> + </li> + + <li> + <p>Preserve all the copyright notices of the + Document.</p> + </li> + + <li> + <p>Add an appropriate copyright notice for your + modifications adjacent to the other copyright + notices.</p> + </li> + + <li> + <p>Include, immediately after the copyright notices, + a license notice giving the public permission to use + the Modified Version under the terms of this License, + in the form shown in the Addendum below.</p> + </li> + + <li> + <p>Preserve in that license notice the full lists of + Invariant Sections and required Cover Texts given in + the Document's license notice.</p> + </li> + + <li> + <p>Include an unaltered copy of this License.</p> + </li> + + <li> + <p>Preserve the section entitled "History", and its + title, and add to it an item stating at least the + title, year, new authors, and publisher of the + Modified Version as given on the Title Page. If there + is no section entitled "History" in the Document, + create one stating the title, year, authors, and + publisher of the Document as given on its Title Page, + then add an item describing the Modified Version as + stated in the previous sentence.</p> + </li> + + <li> + <p>Preserve the network location, if any, given in + the Document for public access to a Transparent copy + of the Document, and likewise the network locations + given in the Document for previous versions it was + based on. These may be placed in the "History" + section. You may omit a network location for a work + that was published at least four years before the + Document itself, or if the original publisher of the + version it refers to gives permission.</p> + </li> + + <li> + <p>In any section entitled "Acknowledgements" or + "Dedications", preserve the section's title, and + preserve in the section all the substance and tone of + each of the contributor acknowledgements and/or + dedications given therein.</p> + </li> + + <li> + <p>Preserve all the Invariant Sections of the + Document, unaltered in their text and in their + titles. Section numbers or the equivalent are not + considered part of the section titles.</p> + </li> + + <li> + <p>Delete any section entitled "Endorsements". Such a + section may not be included in the Modified + Version.</p> + </li> + + <li> + <p>Do not retitle any existing section as + "Endorsements" or to conflict in title with any + Invariant Section.</p> + </li> + </ol> + </div> + + <p>If the Modified Version includes new front-matter + sections or appendices that qualify as Secondary Sections + and contain no material copied from the Document, you may + at your option designate some or all of these sections as + invariant. To do this, add their titles to the list of + Invariant Sections in the Modified Version's license + notice. These titles must be distinct from any other + section titles.</p> + + <p>You may add a section entitled "Endorsements", provided + it contains nothing but endorsements of your Modified + Version by various parties--for example, statements of peer + review or that the text has been approved by an + organization as the authoritative definition of a + standard.</p> + + <p>You may add a passage of up to five words as a + Front-Cover Text, and a passage of up to 25 words as a + Back-Cover Text, to the end of the list of Cover Texts in + the Modified Version. Only one passage of Front-Cover Text + and one of Back-Cover Text may be added by (or through + arrangements made by) any one entity. If the Document + already includes a cover text for the same cover, + previously added by you or by arrangement made by the same + entity you are acting on behalf of, you may not add + another; but you may replace the old one, on explicit + permission from the previous publisher that added the old + one.</p> + + <p>The author(s) and publisher(s) of the Document do not by + this License give permission to use their names for + publicity for or to assert or imply endorsement of any + Modified Version.</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2949025" + name="id2949025"></a>COMBINING DOCUMENTS</h2> + </div> + </div> + + <p>You may combine the Document with other documents + released under this License, under the terms defined in + section 4 above for modified versions, provided that you + include in the combination all of the Invariant Sections of + all of the original documents, unmodified, and list them + all as Invariant Sections of your combined work in its + license notice.</p> + + <p>The combined work need only contain one copy of this + License, and multiple identical Invariant Sections may be + replaced with a single copy. If there are multiple + Invariant Sections with the same name but different + contents, make the title of each such section unique by + adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or + else a unique number. Make the same adjustment to the + section titles in the list of Invariant Sections in the + license notice of the combined work.</p> + + <p>In the combination, you must combine any sections + entitled "History" in the various original documents, + forming one section entitled "History"; likewise combine + any sections entitled "Acknowledgements", and any sections + entitled "Dedications". You must delete all sections + entitled "Endorsements."</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2949073" + name="id2949073"></a>COLLECTIONS OF DOCUMENTS</h2> + </div> + </div> + + <p>You may make a collection consisting of the Document and + other documents released under this License, and replace + the individual copies of this License in the various + documents with a single copy that is included in the + collection, provided that you follow the rules of this + License for verbatim copying of each of the documents in + all other respects.</p> + + <p>You may extract a single document from such a + collection, and distribute it individually under this + License, provided you insert a copy of this License into + the extracted document, and follow this License in all + other respects regarding verbatim copying of that + document.</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2949112" + name="id2949112"></a>AGGREGATION WITH INDEPENDENT + WORKS</h2> + </div> + </div> + + <p>A compilation of the Document or its derivatives with + other separate and independent documents or works, in or on + a volume of a storage or distribution medium, does not as a + whole count as a Modified Version of the Document, provided + no compilation copyright is claimed for the compilation. + Such a compilation is called an "aggregate", and this + License does not apply to the other self-contained works + thus compiled with the Document, on account of their being + thus compiled, if they are not themselves derivative works + of the Document.</p> + + <p>If the Cover Text requirement of section 3 is applicable + to these copies of the Document, then if the Document is + less than one quarter of the entire aggregate, the + Document's Cover Texts may be placed on covers that + surround only the Document within the aggregate. Otherwise + they must appear on covers around the whole aggregate.</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2949149" + name="id2949149"></a>TRANSLATION</h2> + </div> + </div> + + <p>Translation is considered a kind of modification, so you + may distribute translations of the Document under the terms + of section 4. Replacing Invariant Sections with + translations requires special permission from their + copyright holders, but you may include translations of some + or all Invariant Sections in addition to the original + versions of these Invariant Sections. You may include a + translation of this License provided that you also include + the original English version of this License. In case of a + disagreement between the translation and the original + English version of this License, the original English + version will prevail.</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2949177" + name="id2949177"></a>TERMINATION</h2> + </div> + </div> + + <p>You may not copy, modify, sublicense, or distribute the + Document except as expressly provided for under this + License. Any other attempt to copy, modify, sublicense or + distribute the Document is void, and will automatically + terminate your rights under this License. However, parties + who have received copies, or rights, from you under this + License will not have their licenses terminated so long as + such parties remain in full compliance.</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2949201" + name="id2949201"></a>FUTURE REVISIONS OF THIS + LICENSE</h2> + </div> + </div> + + <p>The Free Software Foundation may publish new, revised + versions of the GNU Free Documentation License from time to + time. Such new versions will be similar in spirit to the + present version, but may differ in detail to address new + problems or concerns. See <a + href="http://www.gnu.org/copyleft/" + target="_top">http://www.gnu.org/copyleft/</a>.</p> + + <p>Each version of the License is given a distinguishing + version number. If the Document specifies that a particular + numbered version of this License "or any later version" + applies to it, you have the option of following the terms + and conditions either of that specified version or of any + later version that has been published (not as a draft) by + the Free Software Foundation. If the Document does not + specify a version number of this License, you may choose + any version ever published (not as a draft) by the Free + Software Foundation.</p> + </div> + + <div class="sect1"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2948479" + name="id2948479"></a>How to use this License for your + documents</h2> + </div> + </div> + + <p>To use this License in a document you have written, + include a copy of the License in the document and put the + following copyright and license notices just after the + title page:</p> + + <blockquote class="blockquote"> + <p>Copyright (c) YEAR YOUR NAME. Permission is granted to + copy, distribute and/or modify this document under the + terms of the GNU Free Documentation License, Version 1.1 + or any later version published by the Free Software + Foundation; with the Invariant Sections being LIST THEIR + TITLES, with the Front-Cover Texts being LIST, and with + the Back-Cover Texts being LIST. A copy of the license is + included in the section entitled "GNU Free Documentation + License".</p> + </blockquote> + + <p>If you have no Invariant Sections, write "with no + Invariant Sections" instead of saying which ones are + invariant. If you have no Front-Cover Texts, write "no + Front-Cover Texts" instead of "Front-Cover Texts being + LIST"; likewise for Back-Cover Texts.</p> + + <p>If your document contains nontrivial examples of program + code, we recommend releasing these examples in parallel + under your choice of free software license, such as the GNU + General Public License, to permit their use in free + software.</p> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Appendix D. Long Examples" + href="apd.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Bibliography" href="bi01.html"><img + src="figures/nav-next.png" alt="Next" border="0" /> + </a></td> + </tr> + + <tr> + <td width="40%" align="left">Appendix D. Long + Examples </td> + + <td width="20%" align="center"><a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> Bibliography</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch01.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch01.html new file mode 100644 index 00000000000..0a685eef905 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch01.html @@ -0,0 +1,2103 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 1. The Big Picture</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt01.html" + title="Part I. An Introduction to TeX" /> + <link rel="previous" href="pt01.html" + title="Part I. An Introduction to TeX" /> + <link rel="next" href="ch02.html" + title="Chapter 2. Editing" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 2. Editing" + href="ch02.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.tex" + name="chap.tex"></a>Chapter 1. The Big + Picture</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.texforbeginners" + name="sec.texforbeginners"></a>What Is TeX?</h2> + </div> + </div> + + <p>TeX<a id="id2856076" class="indexterm" + name="id2856076"></a><a id="id2855998" class="indexterm" + name="id2855998"></a> is a <span + class="emphasis"><em>typesetting system</em></span>. It is + a collection of programs, files, and procedures for + producing professional quality documents with minimum + effort.</p> + + <p>TeX's job is to translate the text you type into a + beautiful<a id="id2856025" class="indexterm" + name="id2856025"></a> typeset page. The key word here is + “beautiful,” and it is a very lofty + goal.<sup>[<a id="id2856038" name="id2856038" + href="#ftn.id2856038">1</a>]</sup> What I mean by beautiful + is that TeX, when presented with several paragraphs of + plain text and left to its own devices, produces a + remarkably aesthetic page. Despite the fact that TeX may + have to contend with multiple fonts<a id="id2856069" + class="indexterm" name="id2856069"></a> and mathematics<a + id="id2857340" class="indexterm" name="id2857340"></a>, it + still manages to typeset pages in which each of the + following aesthetic principles hold <span + class="emphasis"><em>simultaneously:</em></span></p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>The right margin is justified<a id="id2857364" + class="indexterm" name="id2857364"></a>.</p> + </li> + + <li> + <p>Proper justification is achieved without + letterspacing<a id="id2857382" class="indexterm" + name="id2857382"></a>.</p> + </li> + + <li> + <p>Interword spacing is neither too tight nor too + loose.<a id="id2857400" class="indexterm" + name="id2857400"></a></p> + </li> + + <li> + <p>The page is evenly gray.</p> + </li> + + <li> + <p>The baselines<a id="id2857426" class="indexterm" + name="id2857426"></a><a id="id2857433" + class="indexterm" name="id2857433"></a> of multiple + fonts are properly aligned.</p> + </li> + + <li> + <p>Hyphenation<a id="id2857454" class="indexterm" + name="id2857454"></a> is automatic, if required, and + usually correct.</p> + </li> + + <li> + <p>Ladders<a id="id2857471" class="indexterm" + name="id2857471"></a> are avoided.</p> + </li> + </ul> + </div> + + <p>TeX processes documents a paragraph at a time, rather + than a line at a time like most other programs. Internally, + TeX computes a value called <span + class="emphasis"><em>badness<a id="id2857492" + class="indexterm" name="id2857492"></a></em></span> for + each line of the paragraph<a id="id2857501" + class="indexterm" name="id2857501"></a>. Anything that + detracts from the appearance of a line (tight or loose + spacing, a hyphen, etc.) increases the badness associated + with that line. Every paragraph that TeX produces is + optimal in terms of the total amount of badness present. + Because TeX searches for an optimal solution, changing the + last word of a paragraph can affect the spacing of the + first line of the paragraph. After you've gained a little + bit of experience with TeX, you'll be able to override any + one, or all, of the rules it uses to compute badness, but + in most situations you won't want to. I will describe more + of TeX's approach to text formatting and how it differs + from that of word processors, desktop publishers, and other + markup languages in the following sections.</p> + + <p>TeX is not a simple program, but a set of programs, + tools, fonts, and other types of files. Two programs form + the core of the TeX typesetting system. One of them is TeX + itself, the program that reads your input files and + transforms them into typeset form. The other program is + MetaFont, a tool for creating fonts. Producing TeX + documents involves a series of steps, including editing the + document, running TeX itself, and processing TeX's output + in various ways.</p> + + <p>Over the years, TeX has been made available on almost + every computer platform<a id="id2857542" class="indexterm" + name="id2857542"></a>, so it is probably available for the + computer system that you use. Compiling TeX on different + systems has been possible, in large part, because TeX is a + text formatter and not a word processor. Unlike a word + processor, TeX never deals directly with displaying text on + the screen or interacting with input from the keyboard + (except in a very basic way). These features of an + application are typically the most difficult to port from + one system to another.</p> + + <p>Beyond the technical details that make translation from + one system to another possible, Donald Knuth<a + id="id2857571" class="indexterm" name="id2857571"></a> + added an important stipulation to the free distribution of + TeX: in order for any program to be called + “TeX,” it must pass a rigorous test suite<a + id="id2857586" class="indexterm" name="id2857586"></a>. + This means that the TeX you use behaves exactly like the + TeX I use.<sup>[<a id="id2857595" name="id2857595" + href="#ftn.id2857595">2</a>]</sup> This feature has + contributed greatly to TeX's success. It means that a large + community of TeX users can transparently share<a + id="id2857615" class="indexterm" name="id2857615"></a> + documents.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2857628" + name="id2857628"></a>TeX for Beginners</h2> + </div> + </div> + + <p>If you are already familiar with TeX, you may find some + of the material in this section repetitive. If so, just + skim it quickly. This section will help you understand how + TeX interprets the things you type into your input file. + When you understand the concepts discussed here, you'll be + ready to write really, really simple documents in TeX.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.tex.controlsequences" + name="sec.tex.controlsequences"></a>Boxes and + Glue</h3> + </div> + </div> + <a id="boxes.start" class="indexterm" + name="boxes.start"></a> + + <p>Despite the apparent complexity of TeX's job, it uses + a very simple metaphor: all typographic elements are + boxes<a id="id2857670" class="indexterm" + name="id2857670"></a>. The simplest boxes, individual + characters<a id="id2857681" class="indexterm" + name="id2857681"></a><a id="id2857691" class="indexterm" + name="id2857691"></a> have a set shape defined by the + font they come from. There are three parameters that + define a box: width<a id="id2857704" class="indexterm" + name="id2857704"></a><a id="id2857714" class="indexterm" + name="id2857714"></a>, height<a id="id2857725" + class="indexterm" name="id2857725"></a><a id="id2857735" + class="indexterm" name="id2857735"></a>, and depth<a + id="id2857744" class="indexterm" name="id2857744"></a><a + id="id2857754" class="indexterm" name="id2857754"></a>. + The distinction between height and depth is a bit subtle. + When a row of characters is typeset, every character + rests on an imaginary line called the <span + class="emphasis"><em>baseline</em></span>. Some + characters, like the lowercase “g,” descend + below the baseline<a id="id2857774" class="indexterm" + name="id2857774"></a>. The distance from the baseline to + the top of a box is its height; the distance from the + baseline to the bottom is its depth.</p> + + <p>Figure <a href="ch01.html#fig.charbox" + title="Figure 1.1. The Letters g and h inside their boxes."> + Figure 1.1</a> shows the character boxes formed by + the Computer Modern<a id="id2857800" class="indexterm" + name="id2857800"></a> Roman letters “g” and + “h.” The <span + class="emphasis"><em>x-y</em></span> distance of each box + is its height and the <span + class="emphasis"><em>y-z</em></span> distance is its + depth. The <span class="emphasis"><em>reference + point</em></span><a id="id2857830" class="indexterm" + name="id2857830"></a> of the box, marked with an <span + class="emphasis"><em>r</em></span>, is on the leftmost + edge of the box where the height and depth meet. + Characters that have no <span + class="emphasis"><em>descenders<a id="id2857848" + class="indexterm" name="id2857848"></a></em></span> (no + elements that go below the baseline), have a depth of + zero. TeX uses the character box metrics, but font + designers are free to allow glyphs to extend outside the + box (for example, at the top of the “g”).</p> + + <div class="figure"> + <a id="fig.charbox" name="fig.charbox"></a> + + <p class="title"><b>Figure 1.1. The Letters + “g” and “h” inside their + boxes.</b></p> + + <div class="mediaobject"> + <img src="figures/g-h.png" + alt="The Letters 'g' and 'h' inside their boxes" /> + </div> + </div> + + <p>The following paragraph demonstrates how TeX uses the + metrics from the physical dimensions of each character to + build word, line, and paragraph boxes.</p> + + <p class="box">TeX “glues”<a id="id2857937" + class="indexterm" name="id2857937"></a> character boxes + together to form words. When boxes are joined, they are + always joined so their reference points are horizontally + aligned as shown in <a href="ch01.html#ex.csexample" + title="Example 1.1. An Example of a TeX Document"> + Example 1.1</a>.<sup>[<a id="id2857956" + name="id2857956" href="#ftn.id2857956">3</a>]</sup> + Character-boxes (like <span class="box">t</span><span + class="box">h</span><span class="box">i</span><span + class="box">s</span>) are joined to form words, + word-boxes<a id="id2857992" class="indexterm" + name="id2857992"></a> (like <span + class="box">this</span>) are joined to form lines, and + line-boxes<a id="id2858011" class="indexterm" + name="id2858011"></a> form paragraphs. TeX accomplishes + the task of forming a justified paragraph by allowing the + glue between words to stretch<a id="id2858026" + class="indexterm" name="id2858026"></a> and shrink<a + id="id2858037" class="indexterm" name="id2858037"></a> a + little bit and by occasionally breaking the glue between + characters to insert a hyphen. Although the rules are + slightly different, TeX builds a page out of vertical + boxes (paragraphs, figures, etc.) in an analogous + manner.</p> + + <p>This is a very generalized overview. In reality, a lot + of subtlety is required to capture all of the nuances of + typographical appearance.</p> + <a id="id2858059" class="indexterm" name="id2858059"></a> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2858068" + name="id2858068"></a>Control Sequences</h3> + </div> + </div> + + <p>A <span class="emphasis"><em>control sequence<a + id="id2858081" class="indexterm" + name="id2858081"></a></em></span> is a special + “word” that you put in your document. These + extra words are instructions for TeX, and they do not + usually appear in your typeset document. Example <a + href="ch01.html#ex.csexample" + title="Example 1.1. An Example of a TeX Document"> + Example 1.1</a> shows a contrived example of a TeX + document that uses several control sequences.</p> + + <div class="example"> + <a id="ex.csexample" name="ex.csexample"></a> + + <p class="title"><b>Example 1.1. An Example + of a TeX Document</b></p> +<pre class="screen"> +\def\ora{O'Reilly \& Associates} +\font\orafont=grlg10 +\parskip=\baselineskip +\parindent=0pt +\pageno=5 +This book is published by \ora in +the \textit{Nutshell} series. +\bye +</pre> + </div> + + <p>In most macro packages, a control sequence is a + backslash followed by a sequence of letters.<sup>[<a + id="id2858135" name="id2858135" + href="#ftn.id2858135">4</a>]</sup> TeX is case-sensitive, + so the control sequence \large is different from \Large + (these control sequences switch to large and very large + fonts in the LaTeX macro package). Control sequences end + with the first non-letter, even if it isn't a space. For + example, \parskip0pt is the control sequence \parskip + followed by <tt>0pt</tt>. This control sequence tells TeX + to insert zero points of extra space between + paragraphs.</p> + + <p>Unless instructed otherwise (with control sequences), + TeX builds rectangular paragraphs out of lines of words. + Changing fonts, building tables, and typesetting + mathematical equations<a id="id2858193" class="indexterm" + name="id2858193"></a> are examples of situations in your + document where TeX needs extra information.</p> + + <p>The number of control sequences used in a TeX document + may seem overwhelming at first. Luckily, every control + sequence falls into one of several categories:</p> + + <div class="variablelist"> + <dl> + <dt><span class="term">Macro control + sequences</span></dt> + + <dd> + <p>Macro control sequences<a id="id2858228" + class="indexterm" name="id2858228"></a> associate a + name with an arbitrary string of text (including + other control sequences). They are interpreted by + replacing the control sequence with the text of its + definition.<sup>[<a id="id2858243" name="id2858243" + href="#ftn.id2858243">5</a>]</sup></p> + + <p>Macro control sequences are the root of TeX's + tremendous flexibility. By defining control + sequences with meaningful names, like \chapter and + \footnote, TeX can present a reasonably simple + interface to the user. By redefining those control + sequences, the typeset output can be modified + without requiring you to retype large quantities of + text.</p> + + <p>In <a href="ch01.html#ex.csexample" + title="Example 1.1. An Example of a TeX Document"> + Example 1.1</a>, the macro control sequence + \ora is defined as a shortcut for typing + “O'Reilly & Associates.” This is a + simple example of how a macro control sequence can + be used.</p> + </dd> + + <dt><span class="term">Font control sequences<a + id="id2858301" class="indexterm" + name="id2858301"></a></span></dt> + + <dd> + <p>In <a href="ch01.html#ex.csexample" + title="Example 1.1. An Example of a TeX Document"> + Example 1.1</a>, the line \font\orafont=grlg10 + creates a font control sequence called \orafont. + When \orafont is used, TeX will begin typesetting + in the font <tt>grlg10</tt>. The name of the font, + <tt>grlg10</tt> in this case, refers to an external + file that contains font metric information. Fonts + are discussed in Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>.</p> + </dd> + + <dt><span class="term">Registers</span></dt> + + <dd> + <p>Registers<a id="id2858391" class="indexterm" + name="id2858391"></a> are like variables in a + programming language. They hold a single value of a + particular type. Many types of values can be + stored: numbers (also called “count” + values because they are simple counting numbers + like 1, 2, 17, or -5), dimensions (also called + “lengths”; they are distances like + 3.5pt or 2in), boxes, glue, and token lists (an + internal representation of your document used by + TeX).<sup>[<a id="id2858415" name="id2858415" + href="#ftn.id2858415">6</a>]</sup></p> + + <p>If you are unfamiliar with computer programming, + think of these registers as place holders. When TeX + needs to save a piece of information, like how much + space should be inserted between paragraphs, it + stores the information in a register. When the + information is needed again, in this case when TeX + has finished typesetting one paragraph and is about + to start another, it can retrieve that information + from the register. Registers are usually given + names that at least hint at how they are used. This + helps people read and modify the rules that TeX + uses to typeset documents.</p> + + <p>In Example <a href="ch01.html#ex.csexample" + title="Example 1.1. An Example of a TeX Document"> + Example 1.1</a>, \parskip, \baselineskip, and + \parindent are dimension registers. The \pageno + control sequence is a count register.</p> + + <p>There are only 256 registers of each type. The + type of information (number, dimension, or token + list) that a register can contain is defined when + the control sequence is created. Once a variable + like \parindent is created to hold a dimension, it + can never hold a number or a token list.<sup>[<a + id="id2858485" name="id2858485" + href="#ftn.id2858485">7</a>]</sup></p> + + <p>Registers may seem unnecessary now that you know + about macro control sequences, which can store + arbitrary information. However, registers differ + from macro control sequences not only in the types + of values they can hold, but also in the types of + operations that can be performed on them. There is + a TeX command called \advance, for example, that + can increment the value stored in a register by an + arbitrary amount. You can't \advance a macro + control sequence.</p> + </dd> + + <dt><span class="term">Built-in commands</span></dt> + + <dd> + <p>A number of control<a id="id2858535" + class="indexterm" name="id2858535"></a> sequences + are built into TeX. These “primitive” + operations form the basis for all higher-level + functionality. There are a wide variety of control + sequences of this type. Everything that can be done + in TeX can be reduced to a sequence of primitive + operations.</p> + + <p>There is no way to know, simply by inspection, + if a control sequence is one of the built-in + sequences or not. Luckily, it doesn't matter very + often; it really only matters when you are writing + complex macros.</p> + + <p>The \font control sequence in <a + href="ch01.html#ex.csexample" + title="Example 1.1. An Example of a TeX Document"> + Example 1.1</a> is a built-in control + sequence. So is \advance, mentioned above.</p> + </dd> + </dl> + </div> + + <p>The number and kind of control sequences available + depends upon the macro package that you are using. (Macro + packages are discussed fully in Chapter <a + href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>.) + For the rest of this chapter, the default settings of + Plain TeX<a id="id2858616" class="indexterm" + name="id2858616"></a> are assumed.<sup>[<a id="id2858627" + name="id2858627" href="#ftn.id2858627">8</a>]</sup> There + are other macro packages, like LaTeX, Lollipop, and + TeXinfo, which have different default values.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.textformVSwordproc" + name="sec.textformVSwordproc"></a>Special + Characters</h3> + </div> + </div> + <a id="id2858665" class="indexterm" name="id2858665"></a> + + <p>In addition to control sequences, TeX reserves several + characters <a id="id2858675" class="indexterm" + name="id2858675"></a> for special purposes. Most of them + do not occur very frequently in ordinary text, but you + must be aware of them because there will be very + surprising consequences if you use them incorrectly.</p> + + <p>Table <a href="ch01.html#tab.activechars" + title="Table 1.1. Special Characters in Plain TeX "> + Table 1.1</a> shows all of the special characters in + Plain TeX.<sup>[<a id="id2858704" name="id2858704" + href="#ftn.id2858704">9</a>]</sup> Most of these + characters are special in other macro packages as well. + Font-specific characters are not reserved by TeX, but + they don't produce the results you would expect when + typeset in Computer Modern because of the way TeX expects + fonts to be laid out. Fonts are discussed in detail in + Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>.</p> + + <div class="table"> + <a id="tab.activechars" name="tab.activechars"></a> + + <p class="title"><b>Table 1.1. Special + Characters in Plain TeX <a id="id2858750" + class="indexterm" name="id2858750"></a></b></p> + + <table + summary="Special Characters in Plain TeX charactersspecialtypesetting" + border="1"> + <colgroup> + <col align="center" /> + <col /> + </colgroup> + + <thead> + <tr> + <th align="center">Character</th> + + <th>Meaning</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="center">#</td> + + <td>Used for parameter definition in macros and + tables</td> + </tr> + + <tr> + <td align="center">$</td> + + <td>Toggles in and out of math mode</td> + </tr> + + <tr> + <td align="center">%</td> + + <td>A comment (TeX ignores everything to the end + of the line)</td> + </tr> + + <tr> + <td align="center">&</td> + + <td>The column separator in tables</td> + </tr> + + <tr> + <td align="center">~</td> + + <td>The active space (an unbreakable space)</td> + </tr> + + <tr> + <td align="center">_</td> + + <td>Marks a subscript (valid only in math + mode)</td> + </tr> + + <tr> + <td align="center">^</td> + + <td>Marks a superscript (valid only in math + mode)</td> + </tr> + + <tr> + <td align="center">\</td> + + <td>Begins a control sequence</td> + </tr> + + <tr> + <td align="center">{</td> + + <td>Begins a group</td> + </tr> + + <tr> + <td align="center">}</td> + + <td>Ends a group</td> + </tr> + + <tr> + <td align="center">|</td> + + <td>Produces an em-dash (—) + (font-specific)</td> + </tr> + + <tr> + <td align="center"><</td> + + <td>Produces an upside down exclamation mark (¡) + (font-specific)</td> + </tr> + + <tr> + <td align="center">></td> + + <td>Produces an upside down question mark (¿) + (font-specific)</td> + </tr> + + <tr> + <td align="center">"</td> + + <td>Incorrect for quoted text; use “ and + ” instead (font-specific)</td> + </tr> + </tbody> + </table> + </div> + + <p>It is best to avoid these characters until you are + familiar with TeX. If you need to typeset<a + id="id2859024" class="indexterm" name="id2859024"></a> + one of these characters, <a href="ch01.html#tab.acttype" + title="Table 1.2. How to Typeset Special Characters"> + Table 1.2</a> shows what to put in your document. + You should also avoid characters outside the standard + printable ASCII character set<a id="id2859048" + class="indexterm" name="id2859048"></a> (characters with + ASCII values below 32 and above 126). TeX can be + configured to accept characters outside the printable + ASCII range, to support non-English languages, for + example, but it is not configured to do so “out of + the box.” Chapter <a href="ch07.html" + title="Chapter 7. International Considerations"> + Chapter 7</a>, <span class="emphasis"><em><a + href="ch07.html" + title="Chapter 7. International Considerations"> + Chapter 7</a></em></span>, discusses the issues of + typesetting in different languages.</p> + + <div class="table"> + <a id="tab.acttype" name="tab.acttype"></a> + + <p class="title"><b>Table 1.2. How to Typeset + Special Characters<a id="id2859097" class="indexterm" + name="id2859097"></a></b></p> + + <table + summary="How to Typeset Special Charactersspecial characterstypesetting" + border="1"> + <colgroup> + <col align="center" /> + <col /> + </colgroup> + + <thead> + <tr> + <th align="center">To Get</th> + + <th>Put This in Your Document</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="center">#</td> + + <td>\#</td> + </tr> + + <tr> + <td align="center">$</td> + + <td>\$</td> + </tr> + + <tr> + <td align="center">%</td> + + <td>\%</td> + </tr> + + <tr> + <td align="center">&</td> + + <td>\&</td> + </tr> + + <tr> + <td align="center">“</td> + + <td>``</td> + </tr> + + <tr> + <td align="center">”</td> + + <td>''</td> + </tr> + + <tr> + <td align="center">~</td> + + <td>\~</td> + </tr> + + <tr> + <td align="center">{</td> + + <td>$\{$</td> + </tr> + + <tr> + <td align="center">}</td> + + <td>$\}$</td> + </tr> + + <tr> + <td align="center"><</td> + + <td>$<$</td> + </tr> + + <tr> + <td align="center">></td> + + <td>$>$</td> + </tr> + + <tr> + <td align="center">|</td> + + <td>$|$</td> + </tr> + + <tr> + <td align="center">_</td> + + <td>$\underbar{\hbox{\ }}$</td> + </tr> + + <tr> + <td align="center">^</td> + + <td>$\hat{\hbox{ }}$</td> + </tr> + + <tr> + <td align="center">\</td> + + <td>$\backslash$</td> + </tr> + </tbody> + </table> + </div> + + <div class="sidebar"> + <p>Some of the suggestions in <a + href="ch01.html#tab.acttype" + title="Table 1.2. How to Typeset Special Characters"> + Table 1.2</a> will not always produce exactly what + you want. The entry for “~” really produces + a tilde accent, not a tilde character and the entries + for “{” through “\” all get the + actual characters from TeX's math fonts. The Computer + Modern text fonts don't include these characters so it + is necessary to get them from the math fonts. However, + if you are using PostScript or other kinds of fonts, + you may very well have curly braces, angle brackets, + underscores, etc. in the font. You can access these + characters directly with the \char primitive. I + strongly recommend that you always define macros for + this purpose, so that you can easily switch to some + other method if you change fonts. Introducing \char + primitives makes your document less portable. To use + the \char primitive, simply put the decimal ASCII value + of the character that you want to print. For example, + this book is typeset with PostScript fonts that include + a backslash character at position 92, so I defined \bs + to print a backslash like this:</p> +<pre class="screen"> +\def\bs{\char92\relax} +</pre> + + <p>Using \relax after the decimal value assures that + TeX won't get confused if I put a backslash in front of + other digits like this \bs300dpi.</p> + </div> + + <p>The braces<a id="id2859474" class="indexterm" + name="id2859474"></a> “{” and “}” + are a very special case. TeX uses curly braces to delimit + arguments and make changes (like switching fonts) that + are local to a small section of the document. These are + called <span class="emphasis"><em>grouping characters<a + id="id2859497" class="indexterm" + name="id2859497"></a></em></span><a id="id2859504" + class="indexterm" name="id2859504"></a> in TeX jargon. + For example, to typeset a single word in boldface, you + put {\bf word} into your input file. The \bf control + sequence switches to boldface type, and the curly braces + localize the effect to the single word <span + class="bold">word</span>. As a result, it is very + important that you avoid braces (except when you use them + as delimiters) and that you carefully match all opening + and closing braces. One of the most common errors in TeX + is to forget a closing brace.</p> + + <p>One last special character is the blank space<a + id="id2859543" class="indexterm" name="id2859543"></a>. + For the most part, TeX doesn't care how you space your + lines of text. Any space that occurs is simply a word + break to TeX, and inserting multiple spaces doesn't + influence how TeX typesets the line. TeX also considers + the end of a line an implicit space. If you are trying to + control the layout of your input text and want to break a + line without introducing a space, place a comment + character (% in most macro packages)<a id="id2859552" + class="indexterm" name="id2859552"></a> at the very end + of the line. If the last character of a line is the + comment character, TeX ignores the line break and all the + leading spaces on the following line. This allows you to + use indentation<a id="id2859574" class="indexterm" + name="id2859574"></a> to make your input file more + readable. \goodbreak</p> + + <p>For example, the following lines in your input + file:</p> +<pre class="screen"> +“This is some ex + ample text.” +</pre> + + <p>and this line:</p> +<pre class="screen"> +“This is some example text.” +</pre> + + <p>both produce:</p> + + <div class="literallayout"> + <p> + “This is some example text.”</p> + </div> + + <p>in your typeset document.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2859644" + name="id2859644"></a>Text Formatting Versus Word + Processing</h2> + </div> + </div> + + <p>For many people, writing documents with a computer + implies using a word processor like WordPerfect<a + id="id2859660" class="indexterm" name="id2859660"></a> or + Microsoft Word<a id="id2859674" class="indexterm" + name="id2859674"></a>.<a id="id2859683" class="indexterm" + name="id2859683"></a><a id="id2859696" class="indexterm" + name="id2859696"></a> The word processing program controls + every aspect of what you do: it's where you type your text, + where you see what it will look like, where you print, and + where you do everything else. Some of these environments, + the so-called WYSIWYG<a id="id2859715" class="indexterm" + name="id2859715"></a> (what-you-see-is-what-you-get) + programs, attempt to show you what the printed document + will actually look like <span + class="emphasis"><em>while</em></span> you edit it.<sup>[<a + id="id2859730" name="id2859730" + href="#ftn.id2859730">10</a>]</sup></p> + + <p>If WYSIWYG environments are what you're used to, or what + you expect, TeX's approach may seem very strange at first + because TeX is a <span class="emphasis"><em>text + formatter</em></span>,<a id="id2859754" class="indexterm" + name="id2859754"></a><a id="id2859767" class="indexterm" + name="id2859767"></a> not a word processor. Instead of + trying to show you what your document will look like while + you type, TeX expects you to do all the typing somewhere + else, and then pass it a source file containing all of your + text plus control sequences that tell TeX how you'd like it + printed.</p> + + <p>In <span class="emphasis"><em>The Psychology of Everyday + Things</em></span> [<a + href="bi01.html#dn:psyeveryday">dn:psyeveryday</a>], Donald + Norman<a id="id2859798" class="indexterm" + name="id2859798"></a> describes these two modes of + interaction as first person and third person. First person + interaction provides the user with the ability to directly + manipulate the elements of a task, whether it's flying an + airplane or resizing text. Third person interaction, on the + other hand, occurs where the user is expected to type + commands to the computer in an appropriate command + language; the shell prompt is a good example of third + person interaction.</p> + + <p>Is first person interaction really better? Well, it + depends. Norman writes, “Although they [WYSIWYG + environments] are often easy to use, fun, and entertaining, + it is often difficult to do a really good job with + them.” The problem which arises is that the user is + required to do the task, and he or she may not be very good + at it. Third person systems are better when the computer + program can be trusted to do a better job of the task than + the user.</p> + + <p>Is TeX really better than a word processor? Well, it + depends on the task and the person doing it. TeX probably + isn't better for designing one page flyers with lots of + fonts and graphics (although I've done it). But for longer + documents, TeX offers all of these advantages:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>TeX has a precise understanding of the rules of + typesetting,<a id="id2859861" class="indexterm" + name="id2859861"></a> so you don't have to.</p> + </li> + + <li> + <p>Predefined styles allow experts to extend (or + bend) the rules of typesetting without burdening the + user.</p> + </li> + + <li> + <p>Journals and magazines can achieve consistency of + appearance much more reliably because the consistency + is in the style files.</p> + </li> + + <li> + <p>TeX runs on cheap systems (old PCs with monochrome + monitors and no graphics capability, for + example).</p> + </li> + + <li> + <p>Although complex and difficult to learn, TeX + offers incredibly flexible table construction + tools.</p> + </li> + + <li> + <p>Few, if any, word processors can provide running + headers and footers as flexibly as TeX. Imagine the + task of writing a dictionary: the left and right hand + side headers change on each page, each time a new + entry is added.</p> + </li> + + <li> + <p>TeX offers flexible bibliography layouts.</p> + </li> + + <li> + <p>TeX is extensible.<a id="id2859945" + class="indexterm" name="id2859945"></a> Its behavior + can be modified by defining new commands and + environments without changing the actual program.</p> + </li> + </ul> + </div> + + <p>There are some other good reasons to separate document + creation from text formatting:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Documents are portable.<a id="id2859978" + class="indexterm" name="id2859978"></a> Because the + source files are just plain text without any + nonprintable characters, they can easily be copied + from one system to another.</p> + </li> + + <li> + <p>TeX is portable. TeX runs everywhere. You can + process your documents with TeX on unix workstations; + personal computers running MS-DOS, OS/2, and Windows; + IBM mainframes running VM/CMS; workstations running + VAX/VMS; Macintoshes; Amigas; Ataris; and just about + every other computer with a reasonable amount of + memory. And the typeset output will be the same! This + adds another dimension of portability to your + documents.</p> + </li> + + <li> + <p>TeX is free. You can afford to have it on every + system you use. Several sources of TeX software are + listed in the preface of this book.</p> + </li> + + <li> + <p>TeX allows you to separate markup and output. + Logical divisions in the text (chapters, sections, + itemized lists, etc.) are identified by control + sequences. An entirely different page layout can + result from simply changing the definition of a few + control sequences.</p> + + <p>This means that the look of your documents can be + changed (to fit the style guidelines of a particular + journal or publisher, for example) without changing + the text of your documents at all.</p> + </li> + + <li> + <p>Plain text files are easier to manipulate with + other tools than specially encoded word processor + files are. This means that you can use standard + utilities on your documents: revision control, grep, + shell scripts, etc. This is a less common practice in + non-unix environments, but it is still + convenient.</p> + </li> + + <li> + <p>You can continue to use your favorite editing + tools. The extent to which you find this advantageous + is dependent, naturally, on the extent to which you + have a favorite editing program. Nevertheless, this + can be a considerable advantage. For example, users + familiar with <b>emacs</b><a id="id2860077" + class="indexterm" name="id2860077"></a> can continue + to rely on all of the features they are used to, + including interactive spellchecking, access to online + services like Webster's dictionary, customized editor + macros, and convenient services like reading + mail.</p> + </li> + + <li> + <p>You get better looking output. TeX gives you far + more precise control over the placement of elements + on the page than most word processing programs. And + TeX is very intelligent about typesetting (paragraph + breaking, kerning<a id="id2860098" class="indexterm" + name="id2860098"></a>, ligatures<a id="id2860112" + class="indexterm" name="id2860112"></a>, etc.).</p> + </li> + </ul> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.howtexworks" + name="sec.howtexworks"></a>What About Desktop + Publishing?</h3> + </div> + </div> + + <p>Desktop publishing systems<a id="id2860137" + class="indexterm" name="id2860137"></a><a id="id2860150" + class="indexterm" name="id2860150"></a> like Ventura + Publisher<a id="id2860171" class="indexterm" + name="id2860171"></a> and Aldus PageMaker<a + id="id2860185" class="indexterm" name="id2860185"></a> + are noted for their ability to incorporate multiple fonts + and graphics into a document. As word processors become + more sophisticated, the line between word processing and + desktop publishing is becoming blurry.</p> + + <p>This book shows you many ways that TeX can provide + access to the same sophisticated features. TeX can + incorporate pictures and figures in a number of ways + (just take a look at the way I've wrapped text around + this kiwi),<sup>[<a id="id2860201" name="id2860201" + href="#ftn.id2860201">11</a>]</sup> and TeX can use + almost any font that another program can use---it can + certainly use <span class="emphasis"><em>all</em></span> + of the popular types of fonts. Like typical word + processors, desktop publishing programs force you to use + a single application to create your entire document, and + they lack the flexibility required to combine just the + pieces that you want. All of the advantages of text + formatting over word processing also apply to desktop + publishing programs. I'll grant, however, that WYSIWYG + environments are easier for first-time users. But that + doesn't make them better, it just makes them more + popular.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2860232" + name="id2860232"></a>What About troff?</h3> + </div> + </div> + + <p><b>troff</b><a id="id2860245" class="indexterm" + name="id2860245"></a> <a id="id2860259" class="indexterm" + name="id2860259"></a> is the “other” text + formatting system. If you've ever tried to read a unix + reference page without formatting it first, you've seen + <b>troff</b>. For a long time it was distributed as part + of all unix systems. Now it is more likely an extra-cost + option. The Free Software Foundation's <a id="id2860290" + class="indexterm" name="id2860290"></a><b>groff</b><a + id="id2860303" class="indexterm" name="id2860303"></a> + processor is a free, <b>troff</b>-compatible system.</p> + + <p>On the surface, it is easier to compare TeX and troff + than to compare TeX to the other document preparation + systems described in this chapter. In reality, the + differences are subtle: TeX and troff have the same + general paradigm; they are equally powerful to a large + extent, and both have advantages and disadvantages.</p> + + <p><b>troff</b> is similar to TeX in many ways. Like TeX, + troff processes a plain text file and produces a typeset + document. TeX and troff differ in the way that formatting + information is inserted into the text. TeX uses control + sequences<a id="id2860356" class="indexterm" + name="id2860356"></a>, where troff uses a mixture of + control sequences<sup>[<a id="id2860372" name="id2860372" + href="#ftn.id2860372">12</a>]</sup> and “dot” + commands (lines of text that begin with a period and + contain typesetting commands).</p> + + <p>Although I am inclined to say that troff documents are + far more cryptic than TeX documents, I am certain that + there are plenty of troff users who would disagree + (strongly).</p> + + <p>Objectively, TeX handles mathematical typesetting<a + id="id2860407" class="indexterm" name="id2860407"></a> + far better than troff and probably has better support for + multilingual documents<a id="id2860424" class="indexterm" + name="id2860424"></a><a id="id2860434" class="indexterm" + name="id2860434"></a>. The <b>nroff</b><a id="id2860451" + class="indexterm" name="id2860451"></a> processor, which + produces plain text output from a troff document, at one + time provided a strong argument in favor of troff for + typesetting documents required in both typeset and plain + text formats. However, the TeXinfo<a id="id2860469" + class="indexterm" name="id2860469"></a> macro package for + TeX has largely defeated that argument. In troff's + defense, TeXinfo is very, very different from other TeX + macro packages, so it really is necessary to plan ahead + and learn a very different set of macros to typeset both + plain text and typeset documents with TeXinfo. + Chapter <a href="ch10.html" + title="Chapter 10. Online Documentation">Chapter 10</a>, + <span class="emphasis"><em><a href="ch10.html" + title="Chapter 10. Online Documentation">Chapter 10</a></em></span>, + discusses this issue further.</p> + + <p>In my experience, there is more free support for TeX + than troff. TeX is supported by a large community of + users actively producing new, useful document-preparation + formats, styles, and tools. In addition, TeX is more + widely available than troff: a TeX port exists for almost + every practical computer system, whereas troff is still + mostly confined to unix systems (although the Free + Software Foundation's <b>groff</b> package has been + ported to similar systems like MS-DOS, Windows NT, and + OS/2).</p> + + <p>The following fragments show a side-by-side comparison + of TeX commands, on the left, and troff commands, on the + right:</p> +<pre class="screen"> +\begin{figure} .(z + \begin{center} .hl + \hrule Text to be floated. + \vspace{8pt} .sp + Text to be floated. .ce + \hrule .hl + \caption{Example figure...} Figure \*[fig]: Example figure... + \vspace{8pt} .)z + \end{center} +\end{figure} +</pre> + + <p>Both examples produce a floating figure that looks + like this:</p> + + <div class="figure"> + <a id="id2860574" name="id2860574"></a> + + <p class="title"><b>Figure 1.2. Example + figure produced by both TeX and troff</b></p> + + <div class="informaltable"> + <table width="100%" border="1"> + <colgroup> + <col /> + </colgroup> + + <tbody> + <tr> + <td>Text to be floated.</td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2860619" + name="id2860619"></a>What About SGML?</h3> + </div> + </div> + + <p>The Standard Generalized Markup Language (SGML)<a + id="id2860629" class="indexterm" name="id2860629"></a> is + a document description language. SGML aims to separate + the content of a document from its presentation. In other + words, SGML identifies the features of a document + (chapter headings, paragraphs, etc.) without specifying + how they are to be presented.</p> + + <p>This means that all SGML documents must interact with + a document formatter of some sort. Many people are + finding that TeX is a natural choice when selecting a + document formatter for their SGML environment. In fact, + LaTeX<a id="id2860647" class="indexterm" + name="id2860647"></a> already provides many SGML-like + commands because it was designed to separate markup from + presentation. One of the specific goals of an effort + (currently underway) to develop a new version of LaTeX is + to make SGML and LaTeX work together easily, cleanly, and + efficiently. For more information about the goals of this + project and information about what you can do to help, + please read <span class="emphasis"><em>The LaTeX3 + Project</em></span> [<a + href="bi01.html#l3:project">l3:project</a>].</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2860690" + name="id2860690"></a>How TeX Works</h2> + </div> + </div> + + <p>A functioning TeX system<a id="id2860698" + class="indexterm" name="id2860698"></a> in which you are + producing documents of medium size and complexity is really + a collection of tools and files that are related to each + other in well defined (if somewhat subtle) ways.</p> + + <p>One of the fundamental goals of this book is to shed + light on these relationships and allow you to put together + a TeX system that quickly and easily does the jobs you need + to accomplish.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="subsubsec.runningtex" + name="subsubsec.runningtex"></a>TeXing a Simple + Document</h3> + </div> + </div> + + <p>This section briefly describes what you need to know + about how TeX processes a simple document (that is, one + that does not contain complex document elements like a + table of contents, indexes, bibliographies, etc.). + Figure <a href="ch01.html#fig.wholesimple" + title="Figure 1.3. A high-level view of TeX">Figure 1.3</a> + shows how the standard TeX tools fit together at the most + basic level.</p> + + <div class="figure"> + <a id="fig.wholesimple" name="fig.wholesimple"></a> + + <p class="title"><b>Figure 1.3. A high-level + view of TeX</b></p> + + <div class="mediaobject"> + <img src="figures/tex.01.03.png" /> + </div> + </div> + + <p>Figure <a href="ch01.html#fig.wholething" + title="Figure 1.4. High-level view of TeX including more detail"> + Figure 1.4</a> expands on Figure <a + href="ch01.html#fig.wholesimple" + title="Figure 1.3. A high-level view of TeX">Figure 1.3</a>, + showing additional tools and files that you'll often need + to use.</p> + + <div class="figure"> + <a id="fig.wholething" name="fig.wholething"></a> + + <p class="title"><b>Figure 1.4. High-level + view of TeX including more detail</b></p> + + <div class="mediaobject"> + <img src="figures/tex.01.04.png" /> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2860862" + name="id2860862"></a>Editing your document</h4> + </div> + </div> + + <p>The most tangible and important part of your TeX + system is your document<a id="id2860872" + class="indexterm" name="id2860872"></a>. This is the + file (or files) in which you write down what you want + to typeset with TeX. In addition to the actual text, + you include control sequences to describe how you want + the final text to appear (size, font, justification, + etc.). The section “<a + href="ch01.html#sec.texforbeginners" + title="What Is TeX?">the section called “What Is + TeX?”</a>” earlier in this chapter tells + you briefly what goes into your document file.</p> + + <p>The most common way to create a document is with an + editor<a id="id2860909" class="indexterm" + name="id2860909"></a><a id="id2860916" + class="indexterm" name="id2860916"></a><a + id="id2860926" class="indexterm" name="id2860926"></a>, + which can provide you with a number of features to make + typing TeX documents easier. For example, an editor can + help you insert common control sequences<a + id="id2860940" class="indexterm" name="id2860940"></a> + automatically, run TeX automatically (from within the + editor), and keep you from making common mistakes (like + typing a left brace, but not the matching right one). + These features and how they work in editors including + GNU Emacs, aucTeX, and Multi-Edit are described in + Chapter <a href="ch02.html" + title="Chapter 2. Editing">Chapter 2</a>, + <span class="emphasis"><em><a href="ch02.html" + title="Chapter 2. Editing">Chapter 2</a></em></span>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2860982" + name="id2860982"></a>Running TeX</h4> + </div> + </div> + + <p>Once you have prepared your document file, it is + time to run<a id="id2860991" class="indexterm" + name="id2860991"></a><a id="id2861001" + class="indexterm" name="id2861001"></a> the TeX program + itself. This may not be as easy as it sounds. You need + to determine the name of the TeX program at your site, + to make sure all of the files TeX needs are available + to it; you also need to specify the correct + command-line options. Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>, + <span class="emphasis"><em><a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a></em></span>, + describes everything you need to know.</p> + + <p>TeX may find errors in your document (places where + TeX doesn't understand the instructions you used; not + spelling or grammatical errors, unfortunately ;-). + Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a> + also describes the most common errors you're likely to + make and gives advice for interpreting error + messages.</p> + + <p>If TeX is successful in formatting your document + (i.e., your document doesn't contain any errors), it + produces a <tt>DVI</tt> (DeVice Independent)<a + id="id2861075" class="indexterm" name="id2861075"></a> + file. The <tt>DVI</tt> file is a device-independent + representation of the typeset output of your document. + <tt>DVI</tt> files are transitory. Although there are a + few programs that can manipulate them (to rearrange the + order of the pages in the output, for example), most of + the time you will immediately transform them into + something else---either printed output or previewed + output on the screen. (See the following section + “<a href="ch01.html#subsubsec.printpreview" + title="Using macros">the section called “Using + macros”</a>.”)</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="subsubsec.printpreview" + name="subsubsec.printpreview"></a>Using macros</h4> + </div> + </div> + + <p>The control sequences<a id="id2861139" + class="indexterm" name="id2861139"></a> that you insert + in your document are defined by a macro package<a + id="id2861152" class="indexterm" + name="id2861152"></a>.<sup>[<a id="id2861160" + name="id2861160" href="#ftn.id2861160">13</a>]</sup> + Macro packages are collections of TeX commands (macros) + that extend TeX. Macro packages are frequently stored + in format files, specially compiled versions of the + macro package. The iniTeX<a id="id2861169" + class="indexterm" name="id2861169"></a> program + interprets all of the control sequences in a macro + package to create a format file that TeX reads when it + runs.</p> + + <p>Many macro packages are particularly effective in + implementing particular document styles or supporting + particular types of writing. Two of the most common are + Plain TeX<a id="id2861194" class="indexterm" + name="id2861194"></a> and LaTeX<a id="id2861205" + class="indexterm" name="id2861205"></a>. + Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>, + describes Plain TeX, LaTeX, and a number of other macro + packages that extend the power and ease of TeX.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2861241" + name="id2861241"></a>Using fonts</h4> + </div> + </div> + + <p>One of TeX's strengths is its support for a myriad + of predefined fonts<a id="id2861249" class="indexterm" + name="id2861249"></a> and its ability to let you create + fonts of your own. In addition to your document and the + format file, when TeX runs it needs font information as + well. This is provided in the form of a set of + <tt>TFM</tt> (TeX Font Metric)<a id="id2861277" + class="indexterm" name="id2861277"></a> files that tell + TeX the size and shape (roughly speaking, at least) of + each character, as well as some other information about + how characters are related to each other.</p> + + <p>Historically, the MetaFont<a id="id2861292" + class="indexterm" name="id2861292"></a> program was the + way a TeX user created fonts. Like TeX itself, MetaFont + is about ten years old. Ten years ago, it was a unique + program that was indispensible for creating the type of + output TeX produces. Today there are many competing + font technologies, all of them more common than + MetaFont, and MetaFont's role is diminishing. Many + people use TeX today without ever using MetaFont at + all. Nevertheless, MetaFont still has some importance, + and we describe how to run and use it in + Chapter <a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a>, + <span class="emphasis"><em><a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a></em></span>. + Because the standard fonts that come with TeX are still + the fonts produced by MetaFont, it will also be + mentioned elsewhere in this book.</p> + + <p>If you are writing complex documents, you may need + to learn a lot about fonts and how to define and use + them. Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>, + tells you everything you need to know, including + information about the New Font Selection Scheme, a new + way of describing and selecting fonts in TeX.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2861369" + name="id2861369"></a>Previewing or printing TeX + documents</h4> + </div> + </div> + + <p>After you have produced a <tt>DVI</tt> file, as + described in the section “<a + href="ch01.html#subsubsec.runningtex" + title="TeXing a Simple Document">the section called + “TeXing a Simple Document”</a>,” + later in this chapter, you run another program + (generically called a DVI driver)<a id="id2861405" + class="indexterm" name="id2861405"></a> to translate + the <tt>DVI</tt> file so you can either preview or + print your document. Driver programs need your + <tt>DVI</tt> file and some collection of fonts (usually + <tt>PK</tt> (packed)<a id="id2861442" class="indexterm" + name="id2861442"></a><a id="id2861461" + class="indexterm" name="id2861461"></a><a + id="id2861469" class="indexterm" name="id2861469"></a> + font files).<sup>[<a id="id2861489" name="id2861489" + href="#ftn.id2861489">14</a>]</sup> Many different + kinds of fonts are described in Chapter <a + href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>.</p> + + <p>Chapter <a href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a>, + <span class="emphasis"><em><a href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a></em></span>, + tells you how to print<a id="id2861540" + class="indexterm" name="id2861540"></a><a + id="id2861546" class="indexterm" name="id2861546"></a> + your documents and deal with the problems you may + encounter using bitmapped or scalable fonts, printing + pictures and figures, and other printing issues.</p> + + <p>Often you will want to look at your document before + you actually print it. Because TeX is not a WYSIWYG + system,<sup>[<a id="id2861567" name="id2861567" + href="#ftn.id2861567">15</a>]</sup> you cannot do this + until you have processed the <tt>DVI</tt> file. There + are a number of good previewing products<a + id="id2861597" class="indexterm" + name="id2861597"></a><a id="id2861603" + class="indexterm" name="id2861603"></a>, including + xdvi<a id="id2861617" class="indexterm" + name="id2861617"></a>, <b>dvimswin</b><a id="id2861634" + class="indexterm" name="id2861634"></a>, and + <b>dviscr</b><a id="id2861648" class="indexterm" + name="id2861648"></a>, that let you look at your + processed document on the screen before you decide + whether to print it. See Chapter <a + href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>, + <span class="emphasis"><em><a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a></em></span>, + for complete information.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2861683" + name="id2861683"></a>TeXing More Complex + Documents</h3> + </div> + </div> + + <p>This section briefly describes how TeX processes a + more complex document (that is, one that includes + elements like a table of contents, indexes, + bibliographies, etc.).</p> + + <p>Many TeX formats implement sophisticated + cross-referencing schemes. Cross references<a + id="id2861700" class="indexterm" name="id2861700"></a> + may sound rather esoteric, but they occur frequently. + Tables of contents, figure and table numbers, indexes, + and bibliographic references are all flavors of cross + referencing.</p> + + <p>Cross references make your document more complex + because they require more information than is immediately + available when TeX initially processes your document. For + example, if you refer to a figure which occurs later in + the document, TeX has no way of knowing what figure + number to insert into the text at the point of the + reference. These are called <span + class="emphasis"><em>forward references</em></span><a + id="id2861726" class="indexterm" + name="id2861726"></a>.</p> + + <p>TeX macro packages that support cross referencing + overcome the difficulty of forward references by + requiring you to process your document more than once. + Each time your document is processed, the necessary + reference information is stored into a separate file. If + that file exists when you process your document, the + information saved <span class="emphasis"><em>last + time</em></span> is loaded so that it is available <span + class="emphasis"><em>this time</em></span>. The practical + implication of this functionality is that documents with + cross references frequently have to be processed twice. + Occasionally, you may have to process a document three + times. This occurs when the inserted reference causes TeX + to format a paragraph differently, which in turn causes + TeX to change a page break.<sup>[<a id="id2861760" + name="id2861760" href="#ftn.id2861760">16</a>]</sup> + Because most changes are incremental while revising a + document, this is normally only an issue the first time + you process a document.</p> + + <p>The following sections describe the LaTeX methods for + constructing a table of contents, figure references, an + index, and a bibliography. LaTeX is used in this example + because it is a very common macro package and is typical + of the way macro packages provide these features. Similar + mechanisms exist in most formats, except Plain TeX.</p> + + <p>Figure <a href="ch01.html#fig.texcmplx" + title="Figure 1.5. TeXing a More Complex Document"> + Figure 1.5</a> shows the relationships between many + of the components described in the following sections. + LaTeX creates several sorts of auxiliary files depending + on the kind of cross references required by your document + and the style files you use. These auxiliary files may be + modified (and others may be created) by other sorts of + post-processing programs (like <b>MakeIndex</b><a + id="id2861811" class="indexterm" name="id2861811"></a> + for constructing indexes or BibTeX<a id="id2861819" + class="indexterm" name="id2861819"></a> for constructing + bibliographies). LaTeX uses these auxiliary files, if + they exist, to update your document when it is processed + again.</p> + + <div class="figure"> + <a id="fig.texcmplx" name="fig.texcmplx"></a> + + <p class="title"><b>Figure 1.5. TeXing a More + Complex Document</b></p> + + <div class="mediaobject"> + <img src="figures/tex.01.05.png" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2861875" + name="id2861875"></a>Building a Table of + Contents</h3> + </div> + </div> + + <p>A table of contents<a id="id2861885" class="indexterm" + name="id2861885"></a> is the simplest form of cross + reference. In LaTeX, you request a table of contents by + inserting the \tableofcontents command wherever you want + it to appear in your document. If you request the table + of contents at the end of your document rather than the + beginning, your document can be printed with only one + pass through TeX.</p> + + <p>LaTeX uses a file with the same name as your document + and the extension <tt>.toc</tt> to hold the table of + contents entries. You can control the level of detail in + your table of contents by setting the \secnumdepth + counter. A value of zero includes only chapters; one + includes chapters and sections; two includes chapters, + sections, and subsections, and so on.</p> + + <p>The LaTeX commands \listoftables and \listoffigures + perform the same functions as \tableofcontents for lists + of tables and figures. They use external files with the + extensions <tt>.lot</tt><a id="id2861950" + class="indexterm" name="id2861950"></a> and + <tt>.lof</tt><a id="id2861966" class="indexterm" + name="id2861966"></a>, respectively. As with the table of + contents, your document can be correctly formatted in one + pass if the \listoftables and \listoffigures commands are + placed at the end of the document.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2861991" + name="id2861991"></a>Figure References</h3> + </div> + </div> + + <p>Figure references<a id="id2862000" class="indexterm" + name="id2862000"></a> are a special case of LaTeX's cross + referencing mechanism. The LaTeX command + \label{<i><tt>string</tt></i>} creates a referent. You + refer to the label with the command + \ref{<i><tt>string</tt></i>}. In normal body text, the + label refers to the current section or subsection. In a + figure or table environment, the label refers to that + figure or table.</p> + + <p>If your document contains no forward references<a + id="id2862038" class="indexterm" name="id2862038"></a> + (if all \label commands occur before the \ref's that + refer to them) then it can be formatted in one pass. + Otherwise, TeX will have to be run two or three times to + make all of the references correct.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2862061" + name="id2862061"></a>Indexes and Glossaries</h3> + </div> + </div> + + <p>Indexes<a id="id2862070" class="indexterm" + name="id2862070"></a> and glossaries<a id="id2862079" + class="indexterm" name="id2862079"></a> differ from the + preceding forms of reference in that they must be + processed by a separate program. In general, this is true + regardless of the macro package or format you use. An + external program is required because indexes and + glossaries must be alphabetized, and in indexes, + consecutive page numbers have to be converted into + ranges, and so on.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2862096" + name="id2862096"></a>Bibliographies</h3> + </div> + </div> + + <p>LaTeX works in conjunction with another program, + called BibTeX<a id="id2862105" class="indexterm" + name="id2862105"></a>, to provide a flexible, convenient + way to construct bibliographies<a id="id2862119" + class="indexterm" name="id2862119"></a>. The \cite + commands allows you to refer to other documents in much + the same way that the \ref command allows you to refer to + other portions of the same document.</p> + + <p>You make a citation by placing the command + \cite{<i><tt>string</tt></i>} where you wish the citation + to occur. The <span + class="emphasis"><em>string</em></span> is a key that + refers to the document in your bibliography database that + you wish to cite. Example <a + href="ch01.html#ex.knuthbbl" + title="Example 1.2. A typical bibliography database entry"> + Example 1.2</a> is a typical entry in a bibliography + database. It describes Knuth's<a id="id2862157" + class="indexterm" name="id2862157"></a> classic book + <span class="emphasis"><em>The + TeXbook</em></span> [<a + href="bi01.html#kn:texbook">kn:texbook</a>]. The key for + this entry is “kn:texbook.”</p> + + <div class="example"> + <a id="ex.knuthbbl" name="ex.knuthbbl"></a> + + <p class="title"><b>Example 1.2. A typical + bibliography database entry</b></p> +<pre class="screen"> +@Book{kn:texbook, + author = "Donald E. Knuth", + title = "The {TeX}book", + publisher = "Addison-Wesley", + year = 1989, + edition = "Fifteenth", + isbn = "0-201-13447-0" + note = "Paperback ISBN: 0-201-13448-9" +} +</pre> + </div> + + <p>Each entry in the database consists of a type (book, + article, magazine, etc.), a key, and a number of fields. + The number and names of the fields depend on the type of + entry. The database is simply a plain ASCII file + containing any number of entries. You can have multiple + databases.</p> + + <p>These are the commands you use, in addition to \cite, + to include a bibliography in your document:</p> +<pre class="screen"> +\bibliographystyle{plain} +\bibliography{textools,refbooks} +</pre> + + <p>The \bibliographystyle command tells BibTeX how to + format the bibliography, and the \bibliography command + identifies which bibliographic databases contain the + citations that you have made. The “plain” + style of bibliography is selected, and the + <tt>textools</tt> and <tt>refbooks</tt> files contain the + bibliographic information for the documents cited. + Document styles can be used to alter the format of + citations in your text. The default extension for + bibliographic styles is <tt>.bst</tt><a id="id2862291" + class="indexterm" name="id2862291"></a>. The default + extension for database files is <tt>.bib</tt><a + id="id2862308" class="indexterm" + name="id2862308"></a>.</p> + + <p>LaTeX places citations and bibliography information + into the <tt>.aux</tt> file<a id="id2862331" + class="indexterm" name="id2862331"></a>. BibTeX reads the + <tt>.aux</tt><a id="id2862348" class="indexterm" + name="id2862348"></a> file and constructs a bibliography, + which it places into a file with the extension + <tt>.bbl</tt><a id="id2862366" class="indexterm" + name="id2862366"></a>, using the entries you cited and + the bibliography style you selected.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2862381" + name="id2862381"></a>Special Things</h3> + </div> + </div> + + <p>Sometimes, producing a complex document requires the + ability to interface with objects outside of TeX + (pictures or figures created by high-end graphics + packages, special features of a particular printer, + etc.). To support this kind of communication, TeX + provides a control sequence called \special. The + arguments passed to the \special command are written + directly to the <tt>DVI</tt> file for the DVI driver. It + is the responsibility of the DVI driver to handle them. + DVI drivers typically ignore \special commands that they + do not recognize.</p> + + <p>You will find \special commands of various kinds + described throughout this book, particularly when + discussing color typesetting in Chapter <a + href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>, + and graphics in Chapter <a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a>, + <span class="emphasis"><em><a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a></em></span>.</p> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2856038" name="ftn.id2856038" + href="#id2856038">1</a>]</sup> Before I proceed, the + notion of beautiful in this context needs some + explanation. Several people have pointed out that the + logo type used by many TeX-related programs (including + TeX itself) is intrinsically ugly. These same folks argue + that a sentence like “TeX is designed to typeset + beautiful pages” is self-contradictory because it + begins with such an ugly construction. Obviously, TeX + can't <span class="emphasis"><em>prevent</em></span> you + from typesetting ugly things. But TeX can typeset + beautiful things too. We at O'Reilly & Associates + think that this book, typeset completely in TeX, is an + excellent example.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2857595" name="ftn.id2857595" + href="#id2857595">2</a>]</sup> This is not a whole-truth. + Implementors of TeX may make some system-dependent + alterations as long as the resulting program still passes + the test suite; so our TeXs may not behave <span + class="emphasis"><em>exactly</em></span> the same way. + They will, however, produce identical documents given + identical input (unless the input relies on + system-dependent features not available in both TeXs, + naturally. ;-)</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2857956" name="ftn.id2857956" + href="#id2857956">3</a>]</sup> This is subtly different + from saying that they are joined at the baseline. There + are TeX commands which can change the position of the + reference point in a box, whereas the baseline is an + imaginary line that depends solely on the shape of the + character.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2858135" name="ftn.id2858135" + href="#id2858135">4</a>]</sup> Technically, it's any + character defined to be in the “escape” + category followed by any sequence of characters defined + to be in the “letter” category or a single + character in the “other” category.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2858243" name="ftn.id2858243" + href="#id2858243">5</a>]</sup> Actually, macro expansion + differs from pure textual replacement in a number of + technical ways, but they aren't important here.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2858415" name="ftn.id2858415" + href="#id2858415">6</a>]</sup> Technically, several other + kinds of values are stored this way as well, but they are + less common and won't be discussed in this book at + all.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2858485" name="ftn.id2858485" + href="#id2858485">7</a>]</sup> Most control sequences can + be redefined to hold different kinds of values, but they + can never hold different kinds of values at the same + time. A dimension register can be redefined to hold + tokens, for example, but then it can't hold dimensions + anymore (unless it is redefined again).</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2858627" name="ftn.id2858627" + href="#id2858627">8</a>]</sup> Plain TeX is the name of a + particular macro package. I selected it for the purpose + of example in this chapter because it is always installed + with TeX. Most of what follows in this chapter is true in + other macro packages as well, but some of the details are + different. See Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a> + for more information.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2858704" name="ftn.id2858704" + href="#id2858704">9</a>]</sup> All of these special + characters are configurable, but most macro packages use + the Plain TeX defaults.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2859730" name="ftn.id2859730" + href="#id2859730">10</a>]</sup> TeX pundits, and other + folks who have been frustrated by the limitations of + these environments, frequently refer to this as + WYSIAYG—what you see is <span + class="emphasis"><em>all</em></span> you get.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2860201" name="ftn.id2860201" + href="#id2860201">11</a>]</sup> TeX doesn't do this sort + of thing automatically, but it isn't hard to do. Why the + kiwi? It was on my business card at the time.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2860372" name="ftn.id2860372" + href="#id2860372">12</a>]</sup> Although it has a very + different notion of what constitutes a control + sequence.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2861160" name="ftn.id2861160" + href="#id2861160">13</a>]</sup> Well, actually, they're + TeX primitives, are defined by a macro package, defined + in a file loaded by a macro package, or defined in your + document.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2861489" name="ftn.id2861489" + href="#id2861489">14</a>]</sup> Some drivers may also + benefit from loading the <tt>TFM</tt> files used to + create your document.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2861567" name="ftn.id2861567" + href="#id2861567">15</a>]</sup> Textures for the Mac and + <b>Scientific Word</b> offer WYSIWYG-like environments, + but that's not the point ;-)</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2861760" name="ftn.id2861760" + href="#id2861760">16</a>]</sup> With extreme cleverness + or extreme bad luck you can create a document which will + <span class="emphasis"><em>never</em></span> format + correctly.</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 2. Editing" + href="ch02.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Part I. An + Introduction to TeX </td> + + <td width="20%" align="center"><a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 2. Editing</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch02.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch02.html new file mode 100644 index 00000000000..77c3f6ec357 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch02.html @@ -0,0 +1,2438 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 2. Editing</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt01.html" + title="Part I. An Introduction to TeX" /> + <link rel="previous" href="ch01.html" + title="Chapter 1. The Big Picture" /> + <link rel="next" href="ch03.html" + title="Chapter 3. Running TeX" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 1. The Big Picture" + href="ch01.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 3. Running TeX" + href="ch03.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.editing" + name="chap.editing"></a>Chapter 2. Editing</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>This chapter describes several writing environments + available for creating and modifying TeX documents. In + practice, you can use almost any editing program<a + id="id2788466" class="indexterm" name="id2788466"></a><a + id="id2788476" class="indexterm" name="id2788476"></a><a + id="id2788489" class="indexterm" name="id2788489"></a> you + wish, but I'll focus on GNU emacs<a id="id2788501" + class="indexterm" name="id2788501"></a> in this chapter. I've + chosen GNU emacs for two reasons: it is a popular and very + powerful editor available on many platforms (unix, NeXT, + MS-DOS, OS/2, Macintosh, VMS, Amiga, $…$), and it has + the most comprehensive TeX editing environment that I've ever + seen. At the end of the chapter, I'll discuss several other + editors for MS-DOS and OS/2 that also have TeX editing + environments.</p> + + <p>The sole requirement for a TeX editor is that it must save + files in a flat, ASCII<a id="id2788517" class="indexterm" + name="id2788517"></a> format without any additional + formatting characters or special encodings. Word processors, + such as Microsoft Word<a id="id2788382" class="indexterm" + name="id2788382"></a>, usually add special formatting + information to your document when they save it to disk. TeX + will not understand this information, so you cannot use a + word processor to edit TeX documents.<sup>[<a id="id2788393" + name="id2788393" href="#ftn.id2788393">17</a>]</sup></p> + + <p>A program that allows you to edit flat ASCII files is + usually called an editor (as opposed to a word processor<a + id="id2788413" class="indexterm" name="id2788413"></a>, for + example). Choosing an editor is a remarkably personal + decision. Computer programmers and other people who use + editors every day frequently become very attached to a + particular editor. This chapter explores a number of features + that an editor can provide to make editing TeX documents + easier. If possible, choose an editor that offers these + features. In any event, make sure you choose an editor you + will be comfortable using. You'll spend a lot of time using + it.</p> + + <p>Many editors have some sort of built-in programming + language. The features described in this chapter rely on + modifying the behavior of the editor with its programming + language. This does not mean that <span + class="emphasis"><em>you</em></span> will have to do any + programming. All of the editors discussed in this chapter + have TeX editing environments already available. However, if + you use another editor and it doesn't have a programming + language, it's unlikely that these features will be available + to you.</p> + + <p>The next section explores some helpful editor features. + All of the editors in this chapter provide some or all of the + features discussed, and require little or no programming on + your part.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.whatcando" name="sec.whatcando"></a>What Can an + Editor Do?</h2> + </div> + </div> + + <p>You will do most of your work with TeX in the editor<a + id="id2862669" class="indexterm" name="id2862669"></a>. + There are two ways that an editor can help you edit TeX + documents. One is to provide typing shortcuts that are + either intuitive replacements for cumbersome operations or + quick ways of typing common TeX commands. The other way + that an editor can help is by running TeX for you and + automatically displaying the location of formatting errors + in your document.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.auctex" + name="sec.auctex"></a>Quoting Automatically</h3> + </div> + </div> + <a id="id2862700" class="indexterm" name="id2862700"></a> + + <p>Most typewriters and many word processors use the same + symbol for opening and closing quotations. You are + probably used to typing the double-quote key to insert + quotation marks into your text. However, if you look + carefully at TeX output (or any professionally typeset + document) you will notice that the opening and closing + quotation marks do not look the same. The proper way to + type an opening quote (“) in TeX is with two single + back-quotes in a row (<tt>``</tt>). A closing quote + (”) is entered with two single quotes (apostrophes) + in a row (<tt>''</tt>). This process is tedious and + error-prone since you are used to typing something + else.</p> + + <p>If you accidentally use the double quote symbol in + your input, you most frequently get text that looks like + ”this.” The exact result is actually + dependent upon the font you are using. This is explained + in Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>. + Most programmable editors can change the meaning of the + double-quote key to insert the correct quotation + marks.</p> + + <p>If you are interested in programming your editor to do + this, you can use the following algorithm to select the + correct quotation marks most of the time: if the + character to the immediate left of the cursor is a space, + opening brace, parenthesis, or bracket, insert opening + quotes; otherwise, insert closing quotes. As a further + enhancement, double quotes should be inserted immediately + following a backslash.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2862787" + name="id2862787"></a>Matching Braces</h3> + </div> + </div> + <a id="id2862792" class="indexterm" name="id2862792"></a> + + <p>Braces, as mentioned in Chapter <a + href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a>, + <span class="emphasis"><em><a href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a></em></span>, + are used by TeX to delimit sections of text; they appear + often in TeX documents. GNU emacs<a id="id2862829" + class="indexterm" name="id2862829"></a>, Multi-Edit<a + id="id2862842" class="indexterm" name="id2862842"></a>, + and <b>Brief</b><a id="id2862858" class="indexterm" + name="id2862858"></a> can all be programmed to highlight + the matching open brace whenever you type a closing + brace.</p> + + <p>For example, if you have entered the text</p> +<pre class="screen"> +\footnote{This is {\it not} the only case.} +</pre> + + <p>and the next character that you type is <b>}</b>, the + open brace immediately following the word \footnote is + highlighted, or all of the text between that brace and + the current cursor position is highlighted. This feature + makes it easier to find places where you have forgotten + to insert a closing brace.</p> + + <p>If you usually work in “insert” mode, you + may also find it convenient to have the editor insert + braces in pairs and then insert text between them. This + can be accomplished in almost any editor that can be + programmed, even one that isn't equipped to handle brace + matching.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2862919" + name="id2862919"></a>Inserting Common Control + Sequences</h3> + </div> + </div> + + <p>Most editors can be programmed to insert arbitrary + text when a special key is pressed. This feature can be + used to insert common control sequences<a id="id2862931" + class="indexterm" name="id2862931"></a>. For example, you + might have <b>Alt-c</b> insert the \chapter control + sequence or <b>Ctrl-e</b> insert \begin{enumerate}.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2862968" + name="id2862968"></a>Running TeX Automatically</h3> + </div> + </div> + + <p>One of the nicest features that an editor can provide + is the ability to run TeX automatically<a id="id2862979" + class="indexterm" name="id2862979"></a> without leaving + the editor. This is a feature that programmers demand + because it allows them to run compilers<a id="id2862995" + class="indexterm" name="id2862995"></a> directly from the + editor. Editors that provide this feature usually include + some mechanism for programming the editor to locate the + position of errors reported by the compiler. The editor + searches for error messages<a id="id2863008" + class="indexterm" name="id2863008"></a> in the output + generated by the compiler, and it positions the cursor at + the location of each error. This speeds up the + traditional edit/compile/debug cycle of programming. You + can take advantage of these features to shorten the + edit/typeset/rewrite cycle of creating a TeX + document.</p> + + <p>All of the editors discussed in this chapter can + easily be adapted to run TeX in this way. If you already + have a favorite editor and want to add this functionality + for TeX, see the section “<a + href="ch02.html#sec.texcomp" title="Running TeX">the + section called “Running TeX”</a>” later + in this chapter; it describes the process at a very + general level.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2863045" + name="id2863045"></a>GNU Emacs</h2> + </div> + </div> + + <p>This section describes the TeX modes distributed as part + of GNU emacs<a id="id2863054" class="indexterm" + name="id2863054"></a>. Emacs is one of the most popular and + most powerful editors around. Distributed by the Free + Software Foundation (FSF)<a id="id2863066" + class="indexterm" name="id2863066"></a>, GNU emacs is the + de facto standard editor in many unix environments. + Recently, GNU emacs has been ported to many other + platforms, including MS-DOS (<b>demacs</b><a id="id2863083" + class="indexterm" name="id2863083"></a>), OS/2, Macintosh, + VMS, Amiga, and NeXT.</p> + + <div class="sidebar"> + <p>This section and the following section on aucTeX + assume that you are familiar with general emacs concepts. + In particular, you should be familiar with the concepts + of buffers, files, regions, command keys, editing modes, + and prefix arguments. If you are unfamiliar with these + concepts, you can learn about them in the online help, + called Info pages, for GNU emacs. Info pages should be + available by pressing <b>Ctrl-H</b> <b>i</b> in emacs. + You can also consult a reference to GNU emacs, such as + <span class="emphasis"><em>Learning GNU + Emacs</em></span> [<a + href="bi01.html#or:emacs">or:emacs</a>] for more + information.</p> + </div> + + <p>Customizing some of the features of GNU emacs requires + familiarity with GNU emacs lisp<a id="id2863141" + class="indexterm" name="id2863141"></a>, which is also + described in the Info pages.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2863154" + name="id2863154"></a>Starting TeX Mode</h3> + </div> + </div> + + <p>GNU emacs<a id="id2863163" class="indexterm" + name="id2863163"></a> provides two similar TeX editing + modes: one designed for editing Plain TeX documents + (<span class="emphasis"><em>plain-tex-mode</em></span>) + and the other for editing LaTeX documents (<span + class="emphasis"><em>latex-mode</em></span>). The <span + class="emphasis"><em>latex-mode</em></span> is a superset + of <span class="emphasis"><em>plain-tex-mode</em></span> + that provides additional shortcut keys for some LaTeX + control sequences.</p> + + <p>There are three ways to start TeX mode in GNU + emacs:</p> + + <div class="informaltable"> + <table border="1"> + <colgroup> + <col /> + <col /> + </colgroup> + + <tbody> + <tr> + <td><b>M-x tex-mode</b></td> + + <td>Attempts to select the correct mode.</td> + </tr> + + <tr> + <td><b>M-x plain-tex-mode</b></td> + + <td>Always selects Plain TeX mode.</td> + </tr> + + <tr> + <td><b>M-x latex-mode</b></td> + + <td>Always selects LaTeX mode.</td> + </tr> + </tbody> + </table> + </div> + + <p>If you use <b>M-x tex-mode</b>, emacs examines the top + of the buffer in order to select the appropriate mode. If + the control sequences \documentstyle or \begin{document} + occur near the top of the buffer, <span + class="emphasis"><em>latex-mode</em></span> is selected; + otherwise, the default mode is selected. The default mode + is stored in the emacs lisp variable + <tt>TeX-default-mode</tt>.</p> + + <p>You can also tell emacs to invoke TeX mode + automatically whenever you edit a file that has a name + ending in <tt>.tex</tt><a id="id2863317" + class="indexterm" name="id2863317"></a>. To do so, add + the following lines to your emacs startup file<a + id="id2863326" class="indexterm" name="id2863326"></a>, + usually called <tt>.emacs</tt> in your home + directory:<sup>[<a id="id2863345" name="id2863345" + href="#ftn.id2863345">18</a>]</sup></p> +<pre class="screen"> +(setq auto-mode-alist (append '(("\\.tex$" . tex-mode)) + auto-mode-alist)) +</pre> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2863366" + name="id2863366"></a>Typing in Emacs</h3> + </div> + </div> + + <p>The emacs TeX modes change the meaning of several keys + to provide features useful for editing TeX documents. + These special<a id="id2863375" class="indexterm" + name="id2863375"></a><a id="id2863388" class="indexterm" + name="id2863388"></a> key bindings apply only to buffers + that you edit while emacs is in <span + class="emphasis"><em>plain-tex-mode</em></span> or <span + class="emphasis"><em>latex-mode</em></span>.</p> + + <p>Automatic quotation, brace balancing in paragraphs, + inserting brace pairs, skipping over unmatched braces, + and closing open environments are supported.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2863418" + name="id2863418"></a>Running TeX Automatically</h3> + </div> + </div> + + <p>When TeX typesets your document, it produces + processing and error messages. By<a id="id2863429" + class="indexterm" name="id2863429"></a><a id="id2863442" + class="indexterm" name="id2863442"></a> running TeX for + you, emacs can capture these messages and display them in + a window. You can use this feature to help locate and + correct errors.</p> + + <p>Functions that run TeX from inside the editor rely on + emacs' ability to run a subshell<a id="id2863463" + class="indexterm" name="id2863463"></a>. Some + implementations of emacs, particularly implementations + for MS-DOS, which is unable to run concurrent processes, + cannot use this feature. aucTeX, a different editing + environment for GNU emacs, does allow you to use these + features with MS-DOS ports<a id="id2863473" + class="indexterm" name="id2863473"></a> of GNU emacs. + (aucTeX is described in the next section.)</p> + + <p>GNU emacs supports processing of both buffers and + regions. These modes don't locate errors for you + automatically, but they do place the output from TeX in + an emacs buffer so that you can find them yourself. + Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>, + <span class="emphasis"><em><a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a></em></span>, + describes how to interpret TeX output and find the + location of errors.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2863525" + name="id2863525"></a>aucTeX</h2> + </div> + </div> + + <p>This section provides an overview of aucTeX<a + id="id2863533" class="indexterm" name="id2863533"></a>,<a + id="id2863544" class="indexterm" name="id2863544"></a> a + powerful emacs macro package for editing LaTeX documents. + aucTeX is available on the CTAN archives in + <tt>support/auctex</tt>. More detailed information about + installing and customizing aucTeX can be found in the + documentation distributed with the package.</p> + + <p>aucTeX provides extensive support for editing TeX and + LaTeX documents in emacs. It provides many more features + than the ordinary GNU emacs TeX modes. Although useful for + both Plain TeX and LaTeX documents, aucTeX is designed with + the LaTeX user in mind.</p> + + <p>aucTeX is <span class="emphasis"><em>a lot</em></span> + more complex than GNU emacs TeX mode. In fact, it is so + complex that it may not be useful if you have a relatively + slow computer.<sup>[<a id="id2863594" name="id2863594" + href="#ftn.id2863594">19</a>]</sup> On my machine,<sup>[<a + id="id2863603" name="id2863603" + href="#ftn.id2863603">20</a>]</sup> aucTeX's performance + leaves a lot to be desired. On the other hand, aucTeX is + extensively configurable, and it is possible to streamline + it quite a bit.</p> + + <p>The descriptions that follow are for aucTeX version 8.0. + The versions change frequently as new features are added. + Consult the documentation which comes with aucTeX for a + list of the new features that have been added since this + book was published.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.multifile" + name="sec.multifile"></a>Starting aucTeX</h3> + </div> + </div> + + <p>The instructions provided with each release of aucTeX + describe how to build and install the software so that + aucTeX will automatically be invoked<a id="id2863666" + class="indexterm" name="id2863666"></a> when you edit a + file with a name ending in <tt>.tex</tt>.</p> + + <p>If you think aucTeX is already installed on your + system (because the emacs Info page for it is present, + for example), ask your system administrator where it is + installed. One common location is + <tt>/usr/local/lib/emacs/site-lisp/auctex</tt>.</p> + + <p>Adding the following line to your emacs startup file<a + id="id2863710" class="indexterm" name="id2863710"></a> + (typically <tt>.emacs</tt> in your home directory) will + load aucTeX each time you start emacs:</p> + + <div class="informalexample"> +<pre class="screen"> + (load-file "<span +class="emphasis"><em>/path/for/auctex</em></span>/tex-site.elc") +</pre> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2863748" + name="id2863748"></a>Typing in aucTeX</h3> + </div> + </div> + + <p>aucTeX provides a large number of typing shortcuts<a + id="id2863758" class="indexterm" name="id2863758"></a>. + Many of the keystroke shortcuts are designed specifically + to aid in typing LaTeX documents. In addition to command + keys, aucTeX provides another typing shortcut---command + completion<a id="id2863775" class="indexterm" + name="id2863775"></a> for LaTeX control sequences with + <b>C-c</b> <b>TAB</b>.</p> + + <p>If you type a backslash followed by the beginning of a + control sequence name into a buffer and then type + <b>C-c</b> <b>TAB</b>, aucTeX completes as much of the + control sequence as possible. Every time aucTeX adds + another letter to the control sequence name, it compares + the resulting name to a configurable list of LaTeX + control sequences. If it reaches a point where the + control sequence could be continued in two different + ways, it stops and displays all the possible completions. + For example, there are two control sequences in standard + LaTeX that begin with \re: \renewcommand and + \renewenvironment.</p> + + <p>If you type:</p> + + <div class="informalexample"> +<pre class="screen"> +\re <b>C-c</b> <b>TAB</b> +</pre> + </div> + + <p>aucTeX will insert <tt>new</tt> because that much of + the control sequence name can be deduced from the known + possibilities. This changes the text in your document + to:</p> +<pre class="screen"> +\renew +</pre> + + <p>Because aucTeX cannot figure out which of the + possibilities you want, it displays a list of the LaTeX + commands that begin with \renew. You can complete the + command by typing <span class="bold"><b>c</b></span> or + <span class="bold"><b>e</b></span> and pressing + <b>C-c</b> <b>TAB</b> again. If you want the + \renewcommand function, type:</p> + + <div class="informalexample"> +<pre class="screen"> +\renewc<b>C-c</b> <b>TAB</b> +</pre> + </div> + + <p>Now, aucTeX will insert <tt>ommand</tt> and return to + normal typing mode with the cursor positioned just after + the control sequence name:</p> +<pre class="screen"> +\renewcommand _ +</pre> + + <p>aucTeX has special support for LaTeX sectioning + commands and environments, changing fonts, commenting out + sections of a document, reformatting the input text, and + entering mathematics.</p> + + <p>TeX contains a lot of support for typesetting + mathematics<a id="id2863993" class="indexterm" + name="id2863993"></a>. In that spirit, aucTeX provides + a<a id="id2864010" class="indexterm" + name="id2864010"></a> minor mode<sup>[<a id="id2864021" + name="id2864021" href="#ftn.id2864021">21</a>]</sup> for + entering mathematical formulae.</p> + + <p>In mathematics minor mode, pressing <b>`</b> changes + the meaning of the next character you type. The next + character is interpreted as an abbreviation for a + mathematical symbol or function. For example, in aucTeX, + typing</p> + + <div class="informalexample"> + <p><b>$</b> <b>C-c</b> <b>~</b> <b>`</b> <b>a</b> + <b>`</b> <b><</b> <b>`</b> <b>b</b> <b>$</b></p> + </div> + + <p>inserts</p> +<pre class="screen"> +$α \leq β$ +</pre> + + <p>into your document (which is typeset like this: + α≤β).</p> + + <p>Table <a href="ch02.html#tbl.mathops" + title="Table 2.1. aucTeX Math Operators in Mathematics Minor-mode"> + Table 2.1</a> lists all of the abbreviations. The + first column of the table displays the shortcut keys. The + second and third columns show the command inserted in + your document and the typeset symbol, respectively <a + id="id2864136" class="indexterm" name="id2864136"></a><a + id="id2864171" class="indexterm" + name="id2864171"></a>.</p> + + <div class="table"> + <a id="tbl.mathops" name="tbl.mathops"></a> + + <p class="title"><b>Table 2.1. aucTeX Math + Operators in Mathematics Minor-mode</b></p> + + <table + summary="aucTeX Math Operators in Mathematics Minor-mode" + border="1"> + <colgroup> + <col /> + <col /> + <col /> + <col /> + <col /> + <col /> + </colgroup> + + <thead> + <tr> + <th>Keys</th> + + <th>Control Sequence</th> + + <th>Symbol</th> + + <th>Keys</th> + + <th>Control Sequence</th> + + <th>Symbol</th> + </tr> + </thead> + + <tbody> + <tr> + <td><tt>`a</tt></td> + + <td><tt>\alpha</tt></td> + + <td>$\alpha$</td> + + <td><tt>`C-f</tt></td> + + <td><tt>\rightarrow</tt></td> + + <td>$\rightarrow$</td> + </tr> + + <tr> + <td><tt>`b</tt></td> + + <td><tt>\beta</tt></td> + + <td>$\beta$</td> + + <td><tt>`C-p</tt></td> + + <td><tt>\uparrow</tt></td> + + <td>$\uparrow$</td> + </tr> + + <tr> + <td><tt>`d</tt></td> + + <td><tt>\delta</tt></td> + + <td>$\delta$</td> + + <td><tt>`C-n</tt></td> + + <td><tt>\downarrow</tt></td> + + <td>$\downarrow$</td> + </tr> + + <tr> + <td><tt>`e</tt></td> + + <td><tt>\epsilon</tt></td> + + <td>$\epsilon$</td> + + <td><tt>`<</tt></td> + + <td><tt>\leq</tt></td> + + <td>$\leq$</td> + </tr> + + <tr> + <td><tt>`f</tt></td> + + <td><tt>\phi</tt></td> + + <td>$\phi$</td> + + <td><tt>`></tt></td> + + <td><tt>\geq</tt></td> + + <td>$\geq$</td> + </tr> + + <tr> + <td><tt>`g</tt></td> + + <td><tt>\gamma</tt></td> + + <td>$\gamma$</td> + + <td><tt>`~</tt></td> + + <td><tt>\tilde</tt></td> + + <td>$\tilde{\phantom{a}}</td> + </tr> + + <tr> + <td><tt>`h</tt></td> + + <td><tt>\eta</tt></td> + + <td>$\eta$</td> + + <td><tt>`I</tt></td> + + <td><tt>\infty</tt></td> + + <td>$\infty$</td> + </tr> + + <tr> + <td><tt>`k</tt></td> + + <td><tt>\kappa</tt></td> + + <td>$\kappa$</td> + + <td><tt>`A</tt></td> + + <td><tt>\forall</tt></td> + + <td>$\forall$</td> + </tr> + + <tr> + <td><tt>`l</tt></td> + + <td><tt>\lambda</tt></td> + + <td>$\lambda$</td> + + <td><tt>`E</tt></td> + + <td><tt>\exists</tt></td> + + <td>$\exists$</td> + </tr> + + <tr> + <td><tt>`m</tt></td> + + <td><tt>\mu</tt></td> + + <td>$\mu$</td> + + <td><tt>`!</tt></td> + + <td><tt>\not</tt></td> + + <td>$\not\phantom{=}$</td> + </tr> + + <tr> + <td><tt>`n</tt></td> + + <td><tt>\nu</tt></td> + + <td>$\nu$</td> + + <td><tt>`i</tt></td> + + <td><tt>\in</tt></td> + + <td>$\in$</td> + </tr> + + <tr> + <td><tt>`o</tt></td> + + <td><tt>\omega</tt></td> + + <td>$\omega$</td> + + <td><tt>`*</tt></td> + + <td><tt>\times</tt></td> + + <td>$\times$</td> + </tr> + + <tr> + <td><tt>`p</tt></td> + + <td><tt>\pi</tt></td> + + <td>$\pi$</td> + + <td><tt>`.</tt></td> + + <td><tt>\cdot</tt></td> + + <td>$\cdot$</td> + </tr> + + <tr> + <td><tt>`q</tt></td> + + <td><tt>\theta</tt></td> + + <td>$\theta$</td> + + <td><tt>`@{</tt></td> + + <td><tt>\subset</tt></td> + + <td>$\subset$</td> + </tr> + + <tr> + <td><tt>`r</tt></td> + + <td><tt>\rho</tt></td> + + <td>$\rho$</td> + + <td><tt>`@}</tt></td> + + <td><tt>\supset</tt></td> + + <td>$\supset$</td> + </tr> + + <tr> + <td><tt>`s</tt></td> + + <td><tt>\sigma</tt></td> + + <td>$\sigma$</td> + + <td><tt>`[</tt></td> + + <td><tt>\subseteq</tt></td> + + <td>$\subseteq$</td> + </tr> + + <tr> + <td><tt>`t</tt></td> + + <td><tt>\tau</tt></td> + + <td>$\tau$</td> + + <td><tt>`]</tt></td> + + <td><tt>\supseteq</tt></td> + + <td>$\supseteq$</td> + </tr> + + <tr> + <td><tt>`v</tt></td> + + <td><tt>\vee</tt></td> + + <td>$\vee$</td> + + <td><tt>`\</tt></td> + + <td><tt>\backslash</tt></td> + + <td>$\backslash$</td> + </tr> + + <tr> + <td><tt>`u</tt></td> + + <td><tt>\upsilon</tt></td> + + <td>$\upsilon$</td> + + <td><tt>`/</tt></td> + + <td><tt>\setminus</tt></td> + + <td>$\setminus$</td> + </tr> + + <tr> + <td><tt>`x</tt></td> + + <td><tt>\chi</tt></td> + + <td>$\chi$</td> + + <td><tt>`+</tt></td> + + <td><tt>\cup</tt></td> + + <td>$\cup$</td> + </tr> + + <tr> + <td><tt>`y</tt></td> + + <td><tt>\psi</tt></td> + + <td>$\psi$</td> + + <td><tt>`-</tt></td> + + <td><tt>\cap</tt></td> + + <td>$\cap$</td> + </tr> + + <tr> + <td><tt>`z</tt></td> + + <td><tt>\zeta</tt></td> + + <td>$\zeta$</td> + + <td><tt>`(</tt></td> + + <td><tt>\langle</tt></td> + + <td>$\langle$</td> + </tr> + + <tr> + <td><tt>`D</tt></td> + + <td><tt>\Delta</tt></td> + + <td>$\Delta$</td> + + <td><tt>`)</tt></td> + + <td><tt>\rangle</tt></td> + + <td>$\rangle$</td> + </tr> + + <tr> + <td><tt>`G</tt></td> + + <td><tt>\Gamma</tt></td> + + <td>$\Gamma$</td> + + <td><tt>`C-e</tt></td> + + <td><tt>\exp</tt></td> + + <td>$\exp$</td> + </tr> + + <tr> + <td><tt>`Q</tt></td> + + <td><tt>\Theta</tt></td> + + <td>$\Theta$</td> + + <td><tt>`C-s</tt></td> + + <td><tt>\sin</tt></td> + + <td>$\sin$</td> + </tr> + + <tr> + <td><tt>`L</tt></td> + + <td><tt>\Lambda</tt></td> + + <td>$\Lambda$</td> + + <td><tt>`C-c</tt></td> + + <td><tt>\cos</tt></td> + + <td>$\cos$</td> + </tr> + + <tr> + <td><tt>`Y</tt></td> + + <td><tt>\Psi</tt></td> + + <td>$\Psi$</td> + + <td><tt>`C-^</tt></td> + + <td><tt>\sup</tt></td> + + <td>$\sup$</td> + </tr> + + <tr> + <td><tt>`P</tt></td> + + <td><tt>\Pi</tt></td> + + <td>$\Pi$</td> + + <td><tt>`C-_</tt></td> + + <td><tt>\inf</tt></td> + + <td>$\inf$</td> + </tr> + + <tr> + <td><tt>`S</tt></td> + + <td><tt>\Sigma</tt></td> + + <td>$\Sigma$</td> + + <td><tt>`C-d</tt></td> + + <td><tt>\det</tt></td> + + <td>$\det$</td> + </tr> + + <tr> + <td><tt>`U</tt></td> + + <td><tt>\Upsilon</tt></td> + + <td>$\Upsilon$</td> + + <td><tt>`C-l</tt></td> + + <td><tt>\lim</tt></td> + + <td>$\lim$</td> + </tr> + + <tr> + <td><tt>`V</tt></td> + + <td><tt>\Phi</tt></td> + + <td>$\Phi$</td> + + <td><tt>`C-t</tt></td> + + <td><tt>\tan</tt></td> + + <td>$\tan$</td> + </tr> + + <tr> + <td><tt>`O</tt></td> + + <td><tt>\Omega</tt></td> + + <td>$\Omega$</td> + + <td><tt>`^</tt></td> + + <td><tt>\hat</tt></td> + + <td>$\hat{\phantom{a}}$</td> + </tr> + + <tr> + <td><tt>`C-b</tt></td> + + <td><tt>\leftarrow</tt></td> + + <td>$\leftarrow$</td> + + <td> </td> + + <td> </td> + + <td> </td> + </tr> + </tbody> + </table> + </div> + + <p>Additional miscellaneous commands in aucTeX provide + automatic quotation, completion of “items” in + appropriate environments (<tt>itemize</tt> and + <tt>enumeration</tt> environments, for example), and + insertion of brace pairs<a id="id2865777" + class="indexterm" name="id2865777"></a> and skeletal + control sequences.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2865794" + name="id2865794"></a>aucTeX Outline Mode</h3> + </div> + </div> + + <p>Outline mode<a id="id2865803" class="indexterm" + name="id2865803"></a> is a convenient way to edit large + documents. In outline mode, portions of the document that + you are not editing are hidden from view. They aren't + removed or deleted. Emacs indicates hidden text with + ellipses.</p> + + <p>For example, in a large document with many sections, + you can use outline mode to hide all text except the + section headings, and then selectively expand just the + sections that you wish to edit.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2865831" + name="id2865831"></a>Intelligent Paragraph + Reformatting</h3> + </div> + </div> + + <p>aucTeX understands the TeX constructions for many + kinds of environments (the list environments, for + example) and performs paragraph reformatting<a + id="id2865843" class="indexterm" name="id2865843"></a> + within the restrictions of these environments. aucTeX + won't concatenate a whole series of list items together + into one huge paragraph, for example.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2865862" + name="id2865862"></a>Multi-file Documents</h3> + </div> + </div> + + <p>It is often convenient to edit a large document in + small pieces<a id="id2865873" class="indexterm" + name="id2865873"></a> rather than in one huge file. For + example, when writing a book, it is convenient to work on + chapters independently and store them in different files. + If you are working on a collaborative project, it may be + absolutely necessary to separate the document into + pieces.</p> + + <p>The TeX \input command allows you to construct a + driver file that automatically combines the individual + files that make up your document when you run TeX. The + driver file contains the document style options and other + setup information for the whole document. Each chapter + contains just the necessary text. When TeX encounters an + \input command, it typesets all of the text in the + specified file before continuing with the current + document. Example <a href="ch02.html#ex.driver" + title="Example 2.1. A Simple Driver File">Example 2.1</a> + shows an example of a driver file.</p> + + <div class="example"> + <a id="ex.driver" name="ex.driver"></a> + + <p class="title"><b>Example 2.1. A Simple + Driver File</b></p> +<pre class="screen"> +\documentstyle[ora]{book} +\begin{document} + \input{intro} + \input{chap1} + \input{chap2} +\end{document} +</pre> + </div> + + <p>aucTeX provides seamless support for multi-file + documents. In order to provide this support, aucTeX + relies on the “file variables” feature of + emacs, which allows you to associate editor variables + with particular buffers. An editor variable<a + id="id2865956" class="indexterm" name="id2865956"></a><a + id="id2865966" class="indexterm" name="id2865966"></a> is + a named variable that is local to the current buffer and + accessible by macro packages like aucTeX running under + emacs. Look up file variables in your emacs reference for + a more complete description. Example <a + href="ch02.html#ex.localvars" + title="Example 2.2. Local Variables in an Emacs Buffer"> + Example 2.2</a> shows some common local variables in + aucTeX.</p> + + <p>When you run TeX on a buffer, aucTeX looks for the + editor variable <tt>TeX-master</tt>. If + <tt>TeX-master</tt> is set to a filename, aucTeX runs TeX + on that file instead of running it directly on the file + you are editing. This is a tremendously useful feature + because it means that you do not have to put macro + definitions, document style options, and other setup + information at the top of each chapter. Simply set the + <tt>TeX-master</tt> variable in each chapter to name the + driver file.</p> + + <p>If you do not set the <tt>TeX-master</tt> variable, + aucTeX will prompt you for it the first time you run a + command. If the \documentstyle command occurs near the + top of your document, aucTeX assumes that the current + buffer <span class="emphasis"><em>is</em></span> the + master (because it contains setup information) and will + not prompt you for a different master file.</p> + + <p>Editor variables are defined by a “Local + Variables” declaration at the bottom of your file. + aucTeX inserts a Local Variables declaration + automatically if it prompts you for a master file. + Example <a href="ch02.html#ex.localvars" + title="Example 2.2. Local Variables in an Emacs Buffer"> + Example 2.2</a> shows how local variables + <tt>TeX-master</tt><a id="id2866076" class="indexterm" + name="id2866076"></a> and <tt>TeX-command-default</tt><a + id="id2866102" class="indexterm" name="id2866102"></a> + can be set to <tt>driver.tex</tt> and <tt>LaTeX</tt>, + respectively. Because these lines begin with a percent + sign, they are considered comments by TeX and do not + appear in the output. These should be the last lines in + the file.</p> + + <div class="example"> + <a id="ex.localvars" name="ex.localvars"></a> + + <p class="title"><b>Example 2.2. Local + Variables in an Emacs Buffer</b></p> +<pre class="screen"> +% Local Variables: +% TeX-master: "driver.tex" +% TeX-command-default: "LaTeX" +% End: +</pre> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.texcomp" + name="sec.texcomp"></a>Running TeX</h3> + </div> + </div> + + <p>Like GNU emacs TeX mode, aucTeX allows you to run + TeX<a id="id2866176" class="indexterm" + name="id2866176"></a> directly from within emacs as a + subshell. Running a program inside emacs creates a + process<a id="id2866196" class="indexterm" + name="id2866196"></a>. You can have only one active + process for each document, plus one process for TeXing a + region<a id="id2866208" class="indexterm" + name="id2866208"></a>. If you try to run two processes on + the same document, aucTeX will ask for permission to kill + the first before running the second. aucTeX supports the + processing of both the documents and the regions of a + document.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2866224" + name="id2866224"></a>Finding Errors</h3> + </div> + </div> + + <p>No matter how much experience you have with TeX, some + of the documents that you write will contain errors<a + id="id2866235" class="indexterm" name="id2866235"></a>. + aucTeX eases the burden of correcting these errors by + locating them automatically in your document.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2866254" + name="id2866254"></a>Multi-Edit</h2> + </div> + </div> + + <p><b>Multi-Edit<a id="id2866268" class="indexterm" + name="id2866268"></a></b><a id="id2866275" + class="indexterm" name="id2866275"></a> is an editor for + the MS-DOS environment. This section describes the + text-based version of <b>Multi-Edit</b>. A Windows version + is in the works, and it may exist by the time you read + this.</p> + + <p>Built to be a programmer's editor, <b>Multi-Edit</b> has + a number of features designed to add language-specific + intelligence to the editing environment. These features + (template editing, a customizable spellchecker, and + configurable brace matching) can be exploited for TeX as + readily as for any programming language. For several years, + at least since version 5.0, <b>Multi-Edit</b> has included + support for TeX.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2866322" + name="id2866322"></a>Setting Up TeX Support</h3> + </div> + </div> + + <p>Support for TeX<a id="id2866330" class="indexterm" + name="id2866330"></a> is included as a language type in + <b>Multi-Edit</b>. Language types are selected by + filename extension; this means that you configure + <b>Multi-Edit</b> to provide support for the “TeX + language” whenever you edit files with the + extension <tt>.tex</tt><a id="id2866371" + class="indexterm" name="id2866371"></a> (and other + extensions if you choose).</p> + + <p>Selecting the “Other/Install/Filename + extensions...” menu displays a list of configured + extensions. If TEX is not listed, press <b>Insert</b> to + add it. You will see a screen like the one shown in + Figure <a href="ch02.html#fig.meextsetup" + title="Figure 2.1. Extension setup in Multi-Edit"> + Figure 2.1</a>.</p> + + <div class="figure"> + <a id="fig.meextsetup" name="fig.meextsetup"></a> + + <p class="title"><b>Figure 2.1. Extension + setup in Multi-Edit</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.01.png" alt="Screenshot" /> + </div> + </div> + + <p>Customize the right margin, tab spacing, indent style, + and colors to values that you find comfortable. The edit + mode should be “text,” and the tab settings + should be set to “use tab and margin settings, + ignore format line.”</p> + + <p>Select TEX as the language type, and add TeX as a + compiler. One possible setting for TeX as a compiler (for + LaTeX documents, in this case) is shown in Figure <a + href="ch02.html#fig.melatexcmp" + title="Figure 2.2. LaTeX as a compiler in Multi-Edit"> + Figure 2.2</a>.</p> + + <div class="figure"> + <a id="fig.melatexcmp" name="fig.melatexcmp"></a> + + <p class="title"><b>Figure 2.2. LaTeX as a + compiler in Multi-Edit</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.02.png" alt="Screenshot" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2866543" + name="id2866543"></a>Typing in Multi-Edit</h3> + </div> + </div> + + <p>Brace matching<a id="id2866552" class="indexterm" + name="id2866552"></a> is provided automatically with + Multi-Edit's template expansion support. Consult your + Multi-Edit reference for more information about + templates.</p> + + <p>Multi-Edit language support does not include any TeX + key bindings by default. However, the macros are + provided, and you can install them with the + “Other/Install/Key mapping...” menu. The + following macros are available:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p><tt>tex^texquote</tt> inserts the appropriate + quotation marks. This macro can be bound to + <b>"</b> to provide smart quoting<a id="id2866605" + class="indexterm" name="id2866605"></a>.</p> + </li> + + <li> + <p><tt>tex^texnquote</tt> inserts the literal + double quote. It can be bound to <b>Alt-"</b>, for + example.</p> + </li> + + <li> + <p><tt>tex^texreformat</tt> is a replacement for + the reformat macro. If the filename extension is + <tt>.tex</tt>, this macro reformats the paragraph + with sensitivity to TeX macros. Otherwise it calls + the default reformatting macro.</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2866670" + name="id2866670"></a>Running TeX</h3> + </div> + </div> + + <p>Running TeX within Multi-Edit is accomplished by + specifying a compiler for TeX or LaTeX documents<a + id="id2866678" class="indexterm" name="id2866678"></a>. + In Figure <a href="ch02.html#fig.melatexcmp" + title="Figure 2.2. LaTeX as a compiler in Multi-Edit"> + Figure 2.2</a>, a batch file called <tt>TEXIT</tt> + is being used as the compiler for documents with the + extension <tt>.tex</tt>.</p> + + <p>Automatic compilation and location of errors is + provided by Multi-Edit language support when you have + selected <tt>TEX</tt> as the language-type for + <tt>.tex</tt> files.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2866742" + name="id2866742"></a>Brief</h2> + </div> + </div> + + <p><b>Brief</b><a id="id2866755" class="indexterm" + name="id2866755"></a><a id="id2866765" class="indexterm" + name="id2866765"></a><a id="id2866775" class="indexterm" + name="id2866775"></a> is a powerful programmer's editor + recently acquired by Borland International<a id="id2866788" + class="indexterm" name="id2866788"></a>. It is available + for both DOS and OS/2 systems. Like the other editors + discussed in this section, <b>Brief</b> offers a strong set + of programming features, including the ability to run + compilers automatically, and a flexible, C-like macro + programming language that allows you to customize the + editor.</p> + + <p>There is a LaTeX editing environment for <b>Brief</b> in + the CTAN archives. It includes multiple-language support + (currently supporting Norwegian) and control-key shortcuts + for many common LaTeX commands.</p> + + <p>The installation and setup program includes instructions + for defining program compilers. TeX can be defined to + process files with particular extensions. Once again, it is + a good idea to have the editor run a batch file so that the + batch file can determine what format file to use when + processing the document.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2866836" + name="id2866836"></a>MicroEMACS</h2> + </div> + </div> + + <p><b>MicroEMACS</b><a id="id2866848" class="indexterm" + name="id2866848"></a><a id="id2866855" class="indexterm" + name="id2866855"></a><a id="id2866865" class="indexterm" + name="id2866865"></a> is a powerful emacs-like editor for + MS-DOS and Microsoft Windows.<sup>[<a id="id2866878" + name="id2866878" href="#ftn.id2866878">22</a>]</sup> + Figure <a href="ch02.html#fig.editing.mew" + title="Figure 2.3. Editing a file with MicroEMACS"> + Figure 2.3</a> shows an example of <b>MicroEMACS</b> + editing a LaTeX document. In this case, the LaTeX + extensions to <b>MicroEMACS</b> have been loaded, and + “Help” is selected.</p> + + <div class="figure"> + <a id="fig.editing.mew" name="fig.editing.mew"></a> + + <p class="title"><b>Figure 2.3. Editing a file + with MicroEMACS</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.03.png" alt="Screenshot" /> + </div> + </div> + + <p>The online help for LaTeX is shown in Figure <a + href="ch02.html#fig.winhelp" + title="Figure 2.4. Microsoft Windows online help for LaTeX"> + Figure 2.4</a>. This is a Microsoft Windows help file, + available independently of <b>MicroEMACS</b> (although it + is nicely integrated here).</p> + + <div class="figure"> + <a id="fig.winhelp" name="fig.winhelp"></a> + + <p class="title"><b>Figure 2.4. Microsoft + Windows online help for LaTeX</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.04.png" alt="Screenshot" /> + </div> + </div> + + <p>The <b>MicroEMACS</b> environment also has the ability + to run other programs (including TeX to process documents) + and process the error output to aid in locating errors.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2867057" + name="id2867057"></a>epm: OS/2's Enhanced Editor</h2> + </div> + </div> + + <p><b>epm</b><a id="id2867070" class="indexterm" + name="id2867070"></a><a id="id2867077" class="indexterm" + name="id2867077"></a>, the enhanced editor for OS/2, can be + used to edit TeX documents. The <b>epmtex</b><a + id="id2867094" class="indexterm" name="id2867094"></a> + package adds a TeX item to the menu bar as shown in + Figure <a href="ch02.html#fig.editing.epm" + title="Figure 2.5. Editing a TeX document with epm under OS/2"> + Figure 2.5</a>.</p> + + <div class="figure"> + <a id="fig.editing.epm" name="fig.editing.epm"></a> + + <p class="title"><b>Figure 2.5. Editing a TeX + document with epm under OS/2</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.05.png" alt="Screenshot" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2867165" + name="id2867165"></a>Other Tools</h2> + </div> + </div> + + <p>There are many other editors that can be effective tools + for editing TeX documents. Some of the editors that you + might want to consider are <b>Jove</b><a id="id2867182" + class="indexterm" name="id2867182"></a>, an emacs-like + editor; <b>Xnot</b><a id="id2867203" class="indexterm" + name="id2867203"></a>, a Windows port of emacs; + <b>LSedit</b><a id="id2867217" class="indexterm" + name="id2867217"></a>, the VMS language-sensitive editor; + and <b>Alpha</b><a id="id2867232" class="indexterm" + name="id2867232"></a> and <b>BBedit</b><a id="id2867246" + class="indexterm" name="id2867246"></a>, two Macintosh + editors described in Chapter <a href="ch15.html" + title="Chapter 15. TeX on the Macintosh">Chapter 15</a>, + <span class="emphasis"><em><a href="ch15.html" + title="Chapter 15. TeX on the Macintosh">Chapter 15</a></em></span>.</p> + + <p>There are also a number of tools designed specifically + for editing TeX documents. <b>Scientific Word</b><a + id="id2867285" class="indexterm" name="id2867285"></a>, a + commercial environment, is described in Chapter <a + href="ch14.html" + title="Chapter 14. Commercial Environments">Chapter 14</a>, + <span class="emphasis"><em><a href="ch14.html" + title="Chapter 14. Commercial Environments">Chapter 14</a></em></span>. + Several free tools (<b>MathPad</b><a id="id2867324" + class="indexterm" name="id2867324"></a>, <b>Doc</b>, and + <b>XTeXShell</b><a id="id2867344" class="indexterm" + name="id2867344"></a>, for example) also exist, although + none were available<sup>[<a id="id2867356" name="id2867356" + href="#ftn.id2867356">23</a>]</sup> in time for review in + this edition of <i>Making TeX Work</i>.</p> + + <p>Another helpful tool is <b>LaCheck</b><a id="id2867378" + class="indexterm" name="id2867378"></a>, a LaTeX syntax + checker. <b>LaCheck</b> attempts to find and identify + problems with your document that will cause it to format + incorrectly. It runs much more quickly than TeX over a long + document and may identify some things (like</p> + + <p>missing italic correction) that are potentially + incorrect, even though they are not errors that will + prevent the document from formatting.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2867406" + name="id2867406"></a>TeX as a Compiler</h2> + </div> + </div> + + <p>This section discusses how to use TeX like a compiler<a + id="id2867415" class="indexterm" name="id2867415"></a> from + within your editor, and it is rather technical. You should + read this section before you attempt to program your own + editor to run TeX (if it doesn't already include support + for TeX). You may not be interested in this material if you + aren't planning to do that programming yourself. More + details on the types of TeX output used in this section can + be found in Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>, + <span class="emphasis"><em><a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a></em></span>.</p> + + <p>Many editors can run a compiler, capture the error + messages that the compiler produces, and walk through the + source file highlighting each error. Most editors with this + functionality can run TeX as a “compiler” for + documents.</p> + + <p>The discussion that follows is at a very abstract level. + The details vary so much from one editor to the next that + presenting more detail only confuses the issue further. To + implement this feature, you'll need to read your editor + reference carefully, and probably experiment on your own a + little bit.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2867481" + name="id2867481"></a>Processing a Document</h3> + </div> + </div> + + <p>Establish the TeX program as a compiler using whatever + features your editor provides to set up a compiler. + Experiment with your editor until you can process an + error-free document.</p> + + <p>After you have everything working, it may be desirable + to modify the compiler to run a batch file or shell + script instead of invoking the TeX program directly. This + will allow you to program the shell script so that it can + determine which format file to use.</p> + + <p>Running TeX is only the first step. Next, you have to + interpret the error messages<a id="id2867509" + class="indexterm" name="id2867509"></a> that TeX + produces. As a concrete example, Example <a + href="ch02.html#ex.madeuperr" + title="Example 2.3. A Contrived Error">Example 2.3</a> + shows some contrived output which demonstrates an + “undefined control sequence” error on line 6 + of the file <tt>wilma.tex</tt>.</p> + + <div class="example"> + <a id="ex.madeuperr" name="ex.madeuperr"></a> + + <p class="title"><b>Example 2.3. A Contrived + Error</b></p> +<pre class="screen"> +This is TeX version 3.141... +** (flintstone.tex +some +messages [1] +(fred.tex [2] +some more +messages +[3] ) (wilma.tex [4] +! Undefined control sequence. +the dog \dino + tipped over the car. +l.6 the dog \dino tipped over the car. +</pre> + </div> + + <p>Here are some suggestions for attacking the problem of + programming your favorite editor to process TeX error + messages<a id="id2867574" class="indexterm" + name="id2867574"></a>:</p> + + <div class="variablelist"> + <dl> + <dt><span class="term">Using the log file</span></dt> + + <dd> + <p>Don't worry about capturing the error messages + that TeX produces. It is much easier to get the + information from the log file<a id="id2867609" + class="indexterm" name="id2867609"></a>. Log files + are described in the section called “<a + href="ch03.html#sec.logfiles" title="Log Files">the + section called “Log Files”</a>” + in Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>, + <span class="emphasis"><em><a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a></em></span>.</p> + </dd> + + <dt><span class="term">Finding error + messages</span></dt> + + <dd> + <p>Any line in the log file that begins with an + exclamation point is an error message. In + Example <a href="ch02.html#ex.madeuperr" + title="Example 2.3. A Contrived Error">Example 2.3</a>, + the line that begins</p> +<pre class="screen"> +! Undefined control sequence. +</pre> + + <p>is an example of an error message.</p> + </dd> + + <dt><span class="term">Finding the source + line</span></dt> + + <dd> + <p>Following the error message, TeX shows the + context in which the error occurred. After that, + the line that begins with + <tt>l.<i><tt>nnn</tt></i></tt> (where + <tt><i><tt>nnn</tt></i></tt> is some decimal + number) identifies the line of the input file that + TeX was processing when the error occurred (in + Example <a href="ch02.html#ex.madeuperr" + title="Example 2.3. A Contrived Error">Example 2.3</a>, + TeX was on line 6 when the error occurred).</p> + </dd> + + <dt><span class="term">Finding the source + file</span></dt> + + <dd> + <p>When processing a document that uses the \input + command to include other files, there is no + guaranteed method of finding out the name of the + file TeX was processing when the error occurred. + Whenever TeX starts processing a file, it prints an + open parenthesis followed by the name of the file. + When it finishes processing the document, it prints + a close parenthesis.<sup>[<a id="id2867763" + name="id2867763" + href="#ftn.id2867763">24</a>]</sup> So the + following algorithm <span + class="emphasis"><em>usually</em></span> identifies + what file the error occurred in:</p> + + <p>Beginning at the line in the log file that + announces the error message (the line beginning + with “!”), search backwards for the + first unmatched open parenthesis. The word + following that open parenthesis is probably the + name of the file TeX was processing when the error + occurred.</p> + </dd> + + <dt><span class="term">Ignoring errors</span></dt> + + <dd> + <p>When you run TeX “by hand,” you want + TeX to stop and report errors to you as they occur + in your document. But if your editor is going to + handle any errors that occur, it is inconvenient to + have TeX stop and ask questions. In fact, it may + not be possible to run TeX from your editor in a + way that makes it even <span + class="emphasis"><em>feasible</em></span> for TeX + to stop and ask questions. You can use several + built-in control sequences to control the way TeX + responds to errors. They are summarized in + Table <a href="ch02.html#tab.modes" + title="Table 2.2. TeX Modes of Interaction "> + Table 2.2</a>.</p> + + <div class="table"> + <a id="tab.modes" name="tab.modes"></a> + + <p class="title"><b>Table 2.2. TeX + Modes of Interaction</b></p> + + <table summary="TeX Modes of Interaction " + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">Mode</th> + + <th align="left">TeX's Behavior</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\errorstopmode</td> + + <td align="left">Stop on errors (the + default behavior)</td> + </tr> + + <tr> + <td align="left">\scrollmode</td> + + <td align="left">Scroll errors, stop on + missing files</td> + </tr> + + <tr> + <td align="left">\nonstopmode</td> + + <td align="left">Scroll errors and missing + files</td> + </tr> + + <tr> + <td align="left">\batchmode</td> + + <td align="left">Scroll both and don't + summarize on screen</td> + </tr> + </tbody> + </table> + </div> + + <p>One common way of invoking TeX from an editor to + process a document is to use the command:</p> +<pre class="screen"> +tex \nonstopmode \input flintstone +</pre> + + <p>This uses the features discussed in the section + “<a href="ch03.html#sec.clineopts" + title="The Command Line">the section called + “The Command Line”</a>” in + Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a> + to pass a command to TeX on the command line. In + this case, the command tells TeX not to stop on any + kind of error.</p> + </dd> + + <dt><span class="term">Handling other + errors</span></dt> + + <dd> + <p>When searching for errors in the log file, you + may find it helpful to search for lines that begin + with the words “Overfull box”<a + id="id2868015" class="indexterm" + name="id2868015"></a> or “Underfull + box”<a id="id2868029" class="indexterm" + name="id2868029"></a> as well as lines that begin + with an exclamation point. Because TeX does not + print the <tt>l.nnn</tt> form of line-number + message in this case, you will have to look for the + line numbers in the warning message.</p> + + <p>Overfull box messages have the form:</p> + + <div class="informalexample"> +<pre class="screen"> +Overfull <span class="emphasis"><em>box</em></span> (<span +class="emphasis"><em>99.9</em></span>pt too wide) in paragraph at lines <span + class="emphasis"><em>n--m</em></span> +</pre> + </div> + + <p>The <tt><i><tt>box</tt></i></tt> will be either + <tt>hbox</tt>, indicating that something is too + wide, or <tt>vbox</tt> indicating that something is + too tall or too deep. The distance, + <tt><i><tt>99.9</tt></i>pt</tt>, indicates how + badly the box is overfull, and + <tt><i><tt>n</tt></i></tt> is the first line of the + paragraph in which the error occurs. Underfull box + messages are the same, except that they begin with + the word “Underfull.”</p> + + <p>There are several control sequences that you can + use to control how sensitive TeX is to + “bad” boxes. Any good TeX reference + will discuss these parameters in detail.</p> + </dd> + </dl> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2868148" + name="id2868148"></a>Spellchecking</h2> + </div> + </div> + + <p>Checking for spelling mistakes<a id="id2868157" + class="indexterm" name="id2868157"></a> is an important + part of any document creation process. Checking TeX + documents is difficult because these documents contain + control sequences that aren't words in the traditional + sense.</p> + + <p>Some editors offer ways of customizing the spellchecker. + Multi-Edit, for example, allows you to indicate that any + word beginning with a backslash should be ignored for the + purpose of spellchecking. Figure <a + href="ch02.html#fig.mespell" + title="Figure 2.6. Edit settings control word delimiters"> + Figure 2.6</a> shows the “Other/Install/Edit + Settings...” dialog where word delimiters are + controlled. This simple customization goes a long way + towards making spellchecking tolerable.</p> + + <p>External spellcheckers, such as the ones described here, + can also frequently be customized to ignore TeX control + sequences.</p> + + <div class="figure"> + <a id="fig.mespell" name="fig.mespell"></a> + + <p class="title"><b>Figure 2.6. Edit settings + control word delimiters</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.06.png" alt="Screenshot" /> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2868250" + name="id2868250"></a>ispell</h3> + </div> + </div> + + <p><b>ispell</b><a id="id2868263" class="indexterm" + name="id2868263"></a> is a common unix spellchecker. In + addition to being available from the shell prompt, GNU + emacs includes an <span + class="emphasis"><em>ispell-mode</em></span> that handles + TeX documents intelligently.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2868280" + name="id2868280"></a>amSpell</h3> + </div> + </div> + + <p><b>amSpell<a id="id2868293" class="indexterm" + name="id2868293"></a></b> is an MS-DOS spellchecker that + includes special support for TeX documents. When + spellchecking a TeX document, <b>amSpell</b> ignores all + TeX control sequences, as well as mathematics and the + arguments to reference and citation commands. The + standard accent primitives are also recognized, and + <b>amSpell</b> can identify and correct misspellings in + words that use them.</p> + + <p>An example of <b>amSpell</b> checking a document is + shown in Figure <a href="ch02.html#fig.amspell" + title="Figure 2.7. Spellchecking a document with amSpell"> + Figure 2.7</a>.</p> + + <div class="figure"> + <a id="fig.amspell" name="fig.amspell"></a> + + <p class="title"><b>Figure 2.7. Spellchecking + a document with amSpell</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.07.png" alt="Screenshot" /> + </div> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2868394" + name="id2868394"></a>Revision Control</h2> + </div> + </div> + + <p>Revision control<a id="id2868403" class="indexterm" + name="id2868403"></a> allows you to track modifications to + a file. It is frequently associated with programming where + the ability to find and correct bugs relies on being able + to recreate a problem exactly. It can be just as useful for + writers wishing to keep track of changes to an evolving + document. For example, I use revision control to keep track + of which versions of each chapter my editor has seen.</p> + + <p>One of the most common revision control systems is RCS<a + id="id2868424" class="indexterm" name="id2868424"></a>, + which was derived from SCCS<a id="id2868433" + class="indexterm" name="id2868433"></a>, a commercial + package. RCS is freely available under the GNU license. It + is possible to use RCS under unix, MS-DOS, and OS/2.</p> + + <p>The TeX macros shown in Example <a + href="ch02.html#ex.rcsmac" + title="Example 2.4. Revision Control Macros for TeX Documents Using RCS}"> + Example 2.4</a> can be used to include RCS information + as marginal notes in a document. The marginal notes in this + example are printed only when a draft is being + produced.</p> + + <p>These macros are my own, you will find others in the + CTAN archives in the directory + <tt>macros/latex/contrib/misc</tt>.</p> + + <div class="example"> + <a id="ex.rcsmac" name="ex.rcsmac"></a> + + <p class="title"><b>Example 2.4. Revision + Control Macros for TeX Documents Using RCS}</b></p> +<pre class="screen"> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% RCS definitions... +\newif\ifdraft +\def\RCSID$#1${ + \ifdraft{\tolerance=100000 + \hbadness=100000 + \raggedright + \marginpar{\tiny Draft #1}} + \typeout{Draft #1} + \else\typeout{Production run #1}\fi +} + +\def\RCSmargid$#1: #2 #3 #4 #5 #6 #7${ +% #1 = “Id” +% #2 = filename +% #3 = vers +% #4 = date +% #5 = time +% #6 = author +% #7 = state [locker] + \ifdraft + \setbox0=\hbox to 0pt{ + \tolerance=100000 + \hbadness=100000 + \parbox{4in}{ + \rm\tiny #2\\ #3\\ #4} + \hss} + \marginpar{\box0} + \typeout{Draft Id: #2 #3 #4 #5 #6 #7} + \fi +} +</pre> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2868511" + name="id2868511"></a>TeX Shells</h2> + </div> + </div> + + <p>The iterative nature of TeX (edit, TeX, BibTeX, make + indexes, preview, repeat) can be tedious to perform by + hand. As a result, several TeX “shells”<a + id="id2868526" class="indexterm" name="id2868526"></a> have + been developed which provide a more automatic interface to + many aspects of the TeX process. Several of these packages + are described below. In everyday use, they make TeX much + more user friendly.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2868544" + name="id2868544"></a>TeXShell</h3> + </div> + </div> + + <p>TeXShell<a id="id2868553" class="indexterm" + name="id2868553"></a> was designed as an add-on for + emTeX<a id="id2868569" class="indexterm" + name="id2868569"></a> (it installs directly into the + emTeX directory hierarchy). This character-based + interface is available for both MS-DOS and OS/2. TeXShell + provides an editor, a complete help system, and fully + customizable push-button access to TeX. An example of the + TeXShell interface is shown in Figure <a + href="ch02.html#fig.texshell" + title="Figure 2.8. TeXShell">Figure 2.8</a>. + The default TeX menu and help windows are shown.</p> + + <div class="figure"> + <a id="fig.texshell" name="fig.texshell"></a> + + <p class="title"> + <b>Figure 2.8. TeXShell</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.08.png" alt="Screenshot" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2868647" + name="id2868647"></a>TeXPert</h3> + </div> + </div> + + <p>TeXPert<a id="id2868656" class="indexterm" + name="id2868656"></a> is a character-based shell for TeX. + MS-DOS and OS/2 versions of TeXPert are available in + either German or English. The default configuration files + for TeXPert are designed to work with emTeX, but TeXPert + does not install directly into the emTeX directory + heirarchy. The TeXPert interface is shown in + Figure <a href="ch02.html#fig.texpert" + title="Figure 2.9. TeXPert">Figure 2.9</a>.</p> + + <div class="figure"> + <a id="fig.texpert" name="fig.texpert"></a> + + <p class="title"> + <b>Figure 2.9. TeXPert</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.09.png" alt="Screenshot" /> + </div> + </div> + + <p>TeXPert provides an editor, an archive tool for speedy + access to commonly used files, and an interface to + <b>grep</b> for quickly scanning files. The exact look + and feel of TeXPert can be customized.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2868748" + name="id2868748"></a>4TeX</h3> + </div> + </div> + + <p>The 4TeX<a id="id2868757" class="indexterm" + name="id2868757"></a> system uses the <b>4DOS</b><a + id="id2868776" class="indexterm" name="id2868776"></a> + extended batch language and a number of utilities to + integrate emTeX<a id="id2868784" class="indexterm" + name="id2868784"></a> with a wide variety of free, + shareware, and commercial tools. The system is well + documented in a manual that describes installation, + setup, use, and customization. The 4TeX interface is + shown in Figure <a href="ch02.html#fig.fourtex" + title="Figure 2.10. 4TeX">Figure 2.10</a>.</p> + + <div class="figure"> + <a id="fig.fourtex" name="fig.fourtex"></a> + + <p class="title"><b>Figure 2.10. 4TeX</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.10.png" alt="Screenshot" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2868860" + name="id2868860"></a>PMTeX</h3> + </div> + </div> + + <p>PMTeX<a id="id2868868" class="indexterm" + name="id2868868"></a> is an OS/2 presentation manager + program. Although it does not provide a built-in editor, + it can control four independent DOS and OS/2 sessions, + one each for editing, TeX processing, previewing, and + printing. The options passed to each program can be + controlled from the PMTeX Options menu.</p> + + <p>PMTeX was designed to work with emTeX, but can be + configured to use any TeX system. PMTeX was also designed + to support two preprocessors for phonetic transcription: + the TeuTeX-P<a id="id2868895" class="indexterm" + name="id2868895"></a> and ALDTeX-P<a id="id2868905" + class="indexterm" name="id2868905"></a> scanners. These + scanners are useful in dialectology and are available + separately from PMTeX's author.</p> + + <p>A example of the PMTeX interface is shown in + Figure <a href="ch02.html#fig.pmtex" + title="Figure 2.11. PMTeX">Figure 2.11</a>. + Note that the menu bar is very wide and does not fit in a + standard 640x480 VGA window.</p> + + <div class="figure"> + <a id="fig.pmtex" name="fig.pmtex"></a> + + <p class="title"> + <b>Figure 2.11. PMTeX</b></p> + + <div class="mediaobject"> + <img src="figures/tex.02.11.png" alt="Screenshot" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2868984" + name="id2868984"></a>TeXit</h3> + </div> + </div> + + <p>The TeXit<a id="id2868993" class="indexterm" + name="id2868993"></a> shell (which I wrote) is much less + ambitious in many ways. Written entirely in Perl, TeXit + does not offer a full screen interface or an editor at + all. Instead, it provides a simple menu of choices as + shown in Figure <a href="ch02.html#fig.texit" + title="Figure 2.12. TeXit">Figure 2.12</a> + (all of the menu choices are completely + customizable).</p> + + <div class="figure"> + <a id="fig.texit" name="fig.texit"></a> + + <p class="title"> + <b>Figure 2.12. TeXit</b></p> +<pre class="screen"> +Processing: ./driver.tex +Again? [?]status, [T]eX & View, [b]ibtex, [c]leanup, + [e]dit a file, [p]rint, [q]uery printer, [t]ex, + [v]iew, e[x]it: +</pre> + </div> + + <p>One of TeXit's strengths is its ability to parse the + log file created by TeX and to determine when additional + actions are required. For example, TeXit will recognize + when a document contains unresolved references and + citations and can automatically run BibTeX and repeatedly + run TeX to resolve the references. With the addition of a + few “user specified” rules in the document, + TeXit can easily handle index construction and other more + sophisticated relationships.</p> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2788393" name="ftn.id2788393" + href="#id2788393">17</a>]</sup> Most word processors can + be coerced into saving your document in plain text. If + your word processor can do this, you may be able to edit + TeX documents with it.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2863345" name="ftn.id2863345" + href="#id2863345">18</a>]</sup> On file systems that + don't allow filenames to begin with a period, the name + frequently begins with an underscore instead.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2863594" name="ftn.id2863594" + href="#id2863594">19</a>]</sup> That's one of the reasons + that the regular GNU emacs TeX modes are described + first.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2863603" name="ftn.id2863603" + href="#id2863603">20</a>]</sup> A 16MHz 386SX machine + with only 8Mb of memory struggling to run GNU emacs under + OS/2. ;-)</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2864021" name="ftn.id2864021" + href="#id2864021">21</a>]</sup> A minor mode is a kind of + editing environment provided by GNU emacs. If you are + unfamiliar with minor modes, consult your emacs + reference.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2866878" name="ftn.id2866878" + href="#id2866878">22</a>]</sup> There are two versions of + the program; the one discussed here is the version for + Windows.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2867356" name="ftn.id2867356" + href="#id2867356">23</a>]</sup> Or known to me, + anyway.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2867763" name="ftn.id2867763" + href="#id2867763">24</a>]</sup> Unfortunately, + parentheses can occur in the log file for other + reasons.</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 1. The Big Picture" + href="ch01.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 3. Running TeX" + href="ch03.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Chapter 1. The Big + Picture </td> + + <td width="20%" align="center"><a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 3. Running TeX</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch03.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch03.html new file mode 100644 index 00000000000..788caf7f753 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch03.html @@ -0,0 +1,1894 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 3. Running TeX</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt01.html" + title="Part I. An Introduction to TeX" /> + <link rel="previous" href="ch02.html" + title="Chapter 2. Editing" /> + <link rel="next" href="ch04.html" + title="Chapter 4. Macro Packages" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 2. Editing" + href="ch02.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 4. Macro Packages" + href="ch04.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.running" + name="chap.running"></a>Chapter 3. Running + TeX</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>The heart of processing a document with TeX is running<a + id="id2862591" class="indexterm" name="id2862591"></a><a + id="id2862603" class="indexterm" name="id2862603"></a> the + TeX program. In this chapter, you'll learn what happens + between the time you first start the TeX program and the time + it finishes. You'll also learn what files TeX really needs + (in addition to your document) and what to do when TeX finds + things in your document that it doesn't understand.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="run.sec.formatfiles" + name="run.sec.formatfiles"></a>What Do You Run?</h2> + </div> + </div> + + <p>The first thing you have to know is what program to run. + Unfortunately, the actual file you have to execute varies + between platforms and implementations. If you have built + and/or installed TeX yourself, you probably already know + what program to run. You'll have to ask your system + administrator for help if you can't figure out what the + name of the TeX executable is on your computer. The rest of + this chapter assumes that the command <tt>tex</tt> runs + TeX. You should substitute the name of the executable + program on your own system for <tt>tex</tt><a + id="id2862504" class="indexterm" name="id2862504"></a> in + the examples that follow.</p> + + <p>Most implementations of TeX have some hard-coded memory + limits<a id="id2862517" class="indexterm" + name="id2862517"></a>. These limitations may cause problems + if you are trying to run a very complex document through + TeX. To combat this problem, some distributions include two + versions of the TeX executable. One version is a + “small” TeX<a id="id2862533" class="indexterm" + name="id2862533"></a><a id="id2862543" class="indexterm" + name="id2862543"></a> that generally runs faster but has + less memory available to process your documents. The other + version, a “big” TeX<a id="id2869219" + class="indexterm" name="id2869219"></a><a id="id2869229" + class="indexterm" name="id2869229"></a>, can process more + complex documents but may run more slowly. If you get a + “TeX capacity exceeded” error, and you have a + big TeX available on your system, try processing your + document with the big TeX.</p> + + <p>If you still get an error, you have a document that is + simply too complex for your implementation of TeX to + handle, or you have an error in one of the macros in your + document. By examining the error log, described later in + this chapter in the section “<a + href="ch03.html#sec.logfiles" title="Log Files">the section + called “Log Files”</a>,” you can + determine what macro TeX is interpreting when the error + occurs. If the error occurs in a macro that you wrote, + check to make sure the macro functions the way you intended + by using it in a small test document.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2869278" + name="id2869278"></a>What Files Does TeX Need?</h2> + </div> + </div> + + <p>Naturally, TeX needs your input file in order to process + it. However, TeX must be able to find several other files<a + id="id2869287" class="indexterm" name="id2869287"></a><a + id="id2869299" class="indexterm" name="id2869299"></a> as + well. The files that TeX needs are normally created during + the installation process. Here is a common directory layout + for TeX on a unix system:</p> + + <div class="informaltable"> + <table border="1"> + <colgroup> + <col /> + <col /> + </colgroup> + + <tbody> + <tr> + <td><tt>/usr/local/lib/tex/formats</tt></td> + + <td>Format files</td> + </tr> + + <tr> + <td><tt>/usr/local/lib/tex/pool</tt></td> + + <td>Pool files</td> + </tr> + + <tr> + <td><tt>/usr/local/lib/tex/formats</tt></td> + + <td>Format files</td> + </tr> + + <tr> + <td><tt>/usr/local/lib/tex/inputs</tt></td> + + <td>“System” input files</td> + </tr> + + <tr> + <td><tt>/usr/local/lib/tex/macros</tt></td> + + <td>(styles, macros, and miscellaneous</td> + </tr> + + <tr> + <td><tt>/usr/local/lib/tex/lib</tt></td> + + <td>files distributed with TeX)</td> + </tr> + + <tr> + <td><tt>/usr/local/lib/tex/ps</tt></td> + + <td>PostScript support files</td> + </tr> + + <tr> + <td><tt>/usr/local/lib/tex/fonts/pk</tt></td> + + <td><tt>PK</tt> fonts</td> + </tr> + + <tr> + <td><tt>/usr/local/lib/tex/fonts/vf</tt></td> + + <td>Virtual fonts</td> + </tr> + + <tr> + <td><tt>/usr/local/lib/tex/fonts/tfm</tt></td> + + <td><tt>TFM</tt> metrics</td> + </tr> + </tbody> + </table> + </div> + + <p>A similar layout is frequently used on other operating + systems, except that the TeX files are often stored in a + top-level directory (for example, <tt>C:$\$TEX</tt> under + MS-DOS). Because TeX is very flexible and has many + different implementations, the exact directory structure + varies. Pool files are sometimes placed in the format file + directory (which is sometimes called <tt>fmt</tt> or + <tt>fmts</tt>, rather than <tt>formats</tt>). Input files + may occur in one or more of the standard places listed + above (<tt>inputs</tt>, <tt>macros</tt>, and <tt>lib</tt>) + as well as a number of other places (<tt>texinputs</tt> is + another common name).</p> + + <p>The files under the TeX tree usually come from outside + distributions, so you don't have to change them often. (You + definitely <span class="emphasis"><em>shouldn't</em></span> + put your personal macro files in that tree, even if you do + have access to it.)</p> + + <p>The following sections describe, in more detail, each of + the files that TeX needs.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2869610" + name="id2869610"></a>Pool Files</h3> + </div> + </div> + + <p>Pool files contain string constants used by TeX at + runtime. Each time TeX is compiled, it creates a pool + file<a id="id2869621" class="indexterm" + name="id2869621"></a> unique to the version being + compiled. The pool file from one version of TeX will not + work with a different version.</p> + + <p>In contrast to format files (discussed in the next + section), if you don't have a pool file, there's nothing + you can do about it. If you obtained precompiled programs + (from the Internet, from a friend, or commercially) and + you don't have a pool file, you received an incomplete + distribution.</p> + + <p>If you did not install TeX yourself, but find that the + pool file is missing, contact the system administrator + who performed the installation. He or she did something + wrong.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2869651" + name="id2869651"></a>Format Files</h3> + </div> + </div> + + <p>As mentioned in the section “<a + href="ch01.html#sec.tex.controlsequences" + title="Boxes and Glue">the section called “Boxes + and Glue”</a>” in Chapter <a + href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a>, + <span class="emphasis"><em><a href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a></em></span>, + all of the control sequences and macros that your + document uses must be defined somewhere. One way to do + this is to use the \input command to load all of the + definitions at the beginning of each document. However, + with large macro packages like LaTeX, this process can be + very time consuming. Format files<a id="id2869699" + class="indexterm" name="id2869699"></a> are a way of + predefining control sequences and macros so they don't + have to be interpreted by TeX every time they're used. If + TeX didn't use format files, you'd have to wait for TeX + to interpret all of LaTeX every time you processed a + document that used LaTeX.</p> + + <p><a id="run.sec.initexintro" + name="run.sec.initexintro"></a>Format files are created + by a special version of TeX, usually called iniTeX<a + id="id2869724" class="indexterm" name="id2869724"></a>. + Some implementations combine TeX and iniTeX into one + program. In this case, you must select iniTeX with a + special option when you run TeX. IniTeX interprets all + the control sequences in a macro package and builds the + in-memory data structures that the TeX program needs. + After loading the whole macro package, iniTeX writes the + memory image it has constructed to a format file. When + TeX later loads the format file, it simply copies it into + memory; no interpretation is necessary. This is why + loading a format file is such a fast way to define + control sequences<a id="id2869736" class="indexterm" + name="id2869736"></a>. This is also why format files are + not usually portable from one system to another,<sup>[<a + id="id2869760" name="id2869760" + href="#ftn.id2869760">25</a>]</sup> or even between + different versions of TeX on the same system. Different + versions of TeX are stored differently in memory, and + this difference in loading makes the format files + incompatible. For this reason, you need a + “big” iniTeX to make format files for a big + TeX and a “small” iniTeX for a small TeX.</p> + + <p>You will find a complete discussion of macro packages + and instructions for building format files for many of + the common macro packages in Chapter <a + href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.userfiles" + name="sec.userfiles"></a>User Files</h3> + </div> + </div> + + <p>When you run TeX<a id="id2869826" class="indexterm" + name="id2869826"></a>, you have to tell it what file to + process. If you specify a complete pathname, TeX will + load the specific file that you request. For example, I + could process the document <tt>myreport.tex</tt> in the + directory <tt>/home/norm/tex/</tt> by running:</p> +<pre class="screen"> +\$ <span class="bold"><b>tex /home/norm/tex/myreport</b></span> +</pre> + + <p>This example applies to both unix and PC + implementations of TeX. Even though MS-DOS and OS/2 + typically use the backslash to separate directory names, + <span class="emphasis"><em>always</em></span> use a + forward slash when entering filenames for TeX.</p> + + <p>If you specify a simple filename without a path, TeX + looks for the file in several user-defined and, possibly, + system-defined locations. In the following example, TeX + will attempt to locate the file <tt>myreport.tex</tt> in + order to process it:</p> +<pre class="screen"> +\$ <span class="bold"><b>tex myreport</b></span> +</pre> + + <p>If the file <tt>myreport.tex</tt> exists in several + directories, TeX will process the first file it finds + without looking for any others. TeX always prints the + complete name of the file it processes both on the + display and in the log file, so you can always tell what + file was really processed.</p> + + <p>The most common way to specify user-defined locations + is by setting the <tt>TEXINPUTS</tt> environment + variable<sup>[<a id="id2869931" name="id2869931" + href="#ftn.id2869931">26</a>]</sup> to a list of + subdirectories where TeX documents are kept. Setting + <tt>TEXINPUTS</tt> specifies where TeX should look for + <span class="emphasis"><em>documents</em></span> (files + that you input with \input or some other construct, style + files, and macros). To change where TeX looks for other + kinds of files (fonts, formats, pool files, etc.), + setting different environment variables or performing + some other customization is required. The format of the + environment variable differs according to the platform + you use. On unix systems, it is a list of directory names + separated by colons. Here is a typical example:</p> +<pre class="screen"> +.:/usr/local/lib/tex/inputs:/home/norm/tex/inputs +</pre> + + <p>On MS-DOS and OS/2 systems, it is a list of directory + names separated by semicolons. A typical example looks + like this:<sup>[<a id="id2869999" name="id2869999" + href="#ftn.id2869999">27</a>]</sup></p> +<pre class="screen"> +.;\tex\inputs;\tex\styles;\tex\macros +</pre> + + <p>Consult the documentation for your particular + implementation of TeX for more information about + system-defined locations where TeX looks for input files. + Unfortunately, this is not always well documented. For + example, an undocumented feature of version 1.4s of emTeX + always searches in the directory + <tt>\emtex\texinputs</tt> even if it does not occur in + the <tt>TEXINPUTS</tt> path. In fact, there is no way to + tell it <span class="emphasis"><em>not</em></span> to + look there, short of renaming the directory (which is + what I did).</p> + + <p>If TeX cannot find a file you specify, for example + <tt>rpt-data.tex</tt>, it displays a prompt like this + one:</p> +<pre class="screen"> +! I can't find file `rpt-data.tex'. +<*> \input rpt-data + +Please type another input filename: +</pre> + + <p>The general form of TeX error messages is discussed in + the section called “<a href="ch03.html#sec.errors" + title="What About Errors?">the section called “What + About Errors?”</a>” later in this chapter. + TeX announces an error by printing the error message on a + line that begins with an exclamation mark. Below the + error, TeX provides the context in which the error + occurred. In the example above, TeX encountered the + command \input rpt-data and tried to find the file + <tt>rpt-data.tex</tt> which it could not locate.</p> + + <p>Notice that TeX automatically added the extension + <tt>.tex</tt><a id="id2870120" class="indexterm" + name="id2870120"></a> to the name of the file it was + looking for. In any context where you specify a filename, + TeX will append <tt>.tex</tt> unless you specify an + alternate extension.</p> + + <p>TeX responds to a “can't find file” error + by asking you to type the name of a different file. Some + implementations of TeX allow you to abort by typing + Ctrl-C or Ctrl-D at this point,<sup>[<a id="id2870149" + name="id2870149" href="#ftn.id2870149">28</a>]</sup> but + other implementations insist that you enter a filename. + In this case, you'll find it convenient to create an + empty file called <tt>nul.tex</tt><a id="id2870165" + class="indexterm" name="id2870165"></a> in a directory in + your <tt>TEXINPUTS</tt> path so you can get around this + requirement by supplying a dummy answer to the prompt. + <tt>nul.tex</tt> is part of many standard + distributions.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.clineopts" name="sec.clineopts"></a>The Command + Line</h2> + </div> + </div> + + <p>Except for the name of a document, TeX has very few + command-line options<a id="id2870206" class="indexterm" + name="id2870206"></a>. The only option that is regularly + used is the name of a format file, but the use of this + option is frequently buried inside a batch file or shell + script.</p> + + <p>It is helpful to think of TeX, LaTeX, SliTeX, + etc. as different text processors (they aren't really; + they're all TeX with different format files). This illusion + is easy to provide with shell scripts or batch files. For + example, on an MS-DOS system, you could easily have three + batch files called <tt>tex.bat</tt>, <tt>latex.bat</tt>, + and <tt>slitex.bat</tt>:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>The <tt>tex.bat</tt> file runs the TeX executable + with the <tt>plain</tt> format file specified as an + option.</p> + </li> + + <li> + <p>The <tt>latex.bat</tt> file runs TeX with the + <tt>lplain</tt> format file.</p> + </li> + + <li> + <p>The <tt>slitex.bat</tt> file runs TeX with the + <tt>splain</tt> format file.</p> + </li> + </ul> + </div> + + <p>Now typing <span class="bold"><b>tex <span + class="emphasis"><em>filename</em></span></b></span> + processes Plain TeX documents; typing <span + class="bold"><b>latex <span + class="emphasis"><em>filename</em></span></b></span> + processes LaTeX documents; and typing <span + class="bold"><b>slitex <span + class="emphasis"><em>filename</em></span></b></span> + processes SliTeX documents.<sup>[<a id="id2870360" + name="id2870360" href="#ftn.id2870360">29</a>]</sup> The + role of format files and macro packages is described fully + in Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.runtex.cmdcautions" + name="sec.runtex.cmdcautions"></a>Command-line + Options</h3> + </div> + </div> + + <p>A formal specification of the TeX command line<a + id="id2870407" class="indexterm" name="id2870407"></a> + looks like this:</p> + + <div class="informalexample"> +<pre class="screen"> +$ tex <<span +class="emphasis"><em>switches</em></span>> <&<span +class="emphasis"><em>format</em></span>> <|<span +class="emphasis"><em>document</em></span>> <<span +class="emphasis"><em>tex-commands</em></span>> +</pre> + </div> + + <p>If this looks confusing, have no fear. I'll explain + what it means in English.</p> + + <p>After the name of the TeX program (or batch file), the + first things that can go on the command line are + implementation-dependent switches and options. For + example, implementations of TeX that combine iniTeX and + TeX into a single program may use <span + class="bold"><b>/I</b></span> as the switch to specify + that iniTeX processing<a id="id2870468" class="indexterm" + name="id2870468"></a> is desired (iniTeX, you may + remember, was described in the section “<a + href="ch03.html#run.sec.formatfiles" + title="What Do You Run?">the section called “What + Do You Run?”</a>,” earlier in this chapter). + There are no system-independent switches for TeX. Consult + the documentation that comes with your implementation for + more information about system-dependent switches.</p> + + <p>After any system-dependent switches, the first thing + that you can put on the TeX command line is the name of + the format file<a id="id2870509" class="indexterm" + name="id2870509"></a> to use. If you specify this option, + you must include it before any other options, and you + must put an ampersand (&)<a id="id2870520" + class="indexterm" name="id2870520"></a> in front of the + format file name. If you do not specify a format file, + TeX will use a default format, usually Plain TeX.</p> + + <p>After the format, TeX looks for the name of a document + to process. If TeX finds a filename on the command line, + it will process the document<a id="id2870537" + class="indexterm" name="id2870537"></a> contained in that + file before looking at any other options that may + follow.</p> + + <p>Finally, you can insert arbitrary TeX commands on the + command line by typing them just as you would in a + document. The section “<a + href="ch02.html#sec.texcomp" title="Running TeX">the + section called “Running TeX”</a>” in + Chapter <a href="ch02.html" + title="Chapter 2. Editing">Chapter 2</a>, + <span class="emphasis"><em><a href="ch02.html" + title="Chapter 2. Editing">Chapter 2</a></em></span>, + describes one particular instance where this is very + useful, but it isn't something that you are likely to do + very often.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2870602" + name="id2870602"></a>Command-line Cautions</h3> + </div> + </div> + + <p>There are some special restrictions on file names used + on the command line and on the way TeX interprets the + command line. These restrictions are summarized here.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="run.sec.misinterpret" + name="run.sec.misinterpret"></a>Misinterpretation + of the command line</h4> + </div> + </div> + + <p>Command lines that are typed at the operating system + prompt are actually seen by your operating system's + “command processor” before they are seen by + TeX. You must be aware of special processing that might + be performed by the command processor. Under unix, for + example, the backslash<a id="id2870634" + class="indexterm" name="id2870634"></a> is frequently + interpreted as a <span class="emphasis"><em>shell + escape</em></span> character<a id="id2870656" + class="indexterm" name="id2870656"></a>, and the + ampersand<a id="id2870668" class="indexterm" + name="id2870668"></a> has another special meaning + related to job control<a id="id2870677" + class="indexterm" name="id2870677"></a>. The ampersand + is also special under some MS-DOS and OS/2 command + processors where it is the default command separation + character and will not be passed to TeX as you would + expect.</p> + + <p>To insert these troublesome characters literally, + you must enclose the relevant sections of the command + line in quotation marks<a id="id2870695" + class="indexterm" name="id2870695"></a> or use some + form of shell escape mechanism. Under unix, place the + name of the format file, including the ampersand, in + double or single quotes and use two backslashes in a + row if you include TeX control sequences on the command + line. For example, type:</p> + + <div class="informalexample"> +<pre class="screen"> +$ <span +class="bold"><b>tex '&lplain' \\nonstopmode \\input doc1</b></span> +</pre> + </div> + + <p>instead of</p> + + <div class="informalexample"> +<pre class="screen"> +$ <span +class="bold"><b>tex &lplain \nonstopmode \input doc1</b></span> +</pre> + </div> + + <p>When using OS/2, place a ^ in front of an ampersand + to prevent it from being interpreted as a command + separator.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="sec.runtex.texwoopts" + name="sec.runtex.texwoopts"></a>Filenames and + TeX</h4> + </div> + </div> + + <p><a id="id2870772" class="indexterm" + name="id2870772"></a><a id="id2870779" + class="indexterm" name="id2870779"></a> <a + id="id2870793" class="indexterm" name="id2870793"></a> + It is easy for TeX to recognize the presence of a + format file on the command line; it must be the first + option and it must begin with an ampersand.<sup>[<a + id="id2870805" name="id2870805" + href="#ftn.id2870805">30</a>]</sup> After the format + file, TeX determines whether the next option is a file + name by looking at the first character of the option. + If the first character is not a backslash, it is a + filename; otherwise it is a TeX command, and TeX + assumes that no filename is present.</p> + + <p>On some systems, notably MS-DOS and OS/2, the + backslash<a id="id2870848" class="indexterm" + name="id2870848"></a> is used to delimit the + subdirectory components of a file name. On other + systems, a forward slash is used. Regardless of the + system you use, filenames passed to TeX <span + class="emphasis"><em>must</em></span> use forward + slashes to delimit filenames.</p> + + <p>For example, TeX will not process the file + <tt>letter.tex</tt> in the <tt>\tex\docs</tt> directory + of the current drive if you execute the following + command line on an MS-DOS system:</p> + + <div class="informalexample"> +<pre class="screen"> +\$ <span class="bold"><b>tex \tex\docs\letter</b></span> +</pre> + </div> + + <p>Instead, you must type the following, regardless of + the operating system you're using:</p> + + <div class="informalexample"> +<pre class="screen"> +\$ <span class="bold"><b>tex /tex/docs/letter</b></span> +</pre> + </div> + + <p>If you don't, TeX will complain that the control + sequence \tex is undefined. Even more confusing errors + may result if the first subdirectory happens to be a + valid control sequence.</p> + + <p>Unfortunately, filenames containing forward slashes + are not always recognized by operating systems that use + backslashes to delimit filenames. For example, under + MS-DOS, <tt>IF EXIST C:/CONFIG.SYS</tt> returns + false,<a id="id2870956" class="indexterm" + name="id2870956"></a> even when a file called + <tt>config.sys</tt> exists in the root directory of + drive C:. Therefore, it is most convenient to use + filenames with backslashes when other commands will be + used (for example in a batch file). Filenames in batch + files must have any backslashes translated into forward + slashes before being passed to TeX. MS-DOS's command + processor isn't really powerful enough, but the task is + quite doable with JP Software<a id="id2870971" + class="indexterm" name="id2870971"></a>'s <b>4DOS</b> + command processor. <b>4DOS</b><a id="id2871000" + class="indexterm" name="id2871000"></a> is a + replacement for MS-DOS's normal command processor; it + offers many advantages over the normal processor. You + can get a shareware version of <b>4DOS</b> from many + large MS-DOS archive sites on the Internet<sup>[<a + id="id2871022" name="id2871022" + href="#ftn.id2871022">31</a>]</sup> as well as most + large bulletin board systems. The following lines, + written in <b>4DOS</b><a id="id2871048" + class="indexterm" name="id2871048"></a>'s extended + batch language, will translate all backslashes in the + environment variable <tt>TEXFN</tt> to forward + slashes:</p> +<pre class="screen"> +:FixBacks + Set Count=%@Index[%TexFn,\] + If "%Count" eq "-1" Goto FixDone + Set Place=%@Eval[%Count+1] + Set TexFn=%@SubStr[%TexFn,0,%Count]/%@SubStr[%TexFn,%Place] + Goto FixBacks +:FixDone +</pre> + + <p>These lines also work under OS/2 with JP Software's + <b>4OS2</b> command processor (akin to <b>4DOS</b>; + shareware versions of <b>4OS2</b> are also available). + The same task can be completed in a single line with + <b>REXX</b><a id="id2871106" class="indexterm" + name="id2871106"></a> under OS/2:</p> +<pre class="screen"> +TEXFN = TRANSLATE(TEXFN, '\', '/') +</pre> + + <p><b>REXX</b> is an interpreted systems-programming + language distributed with OS/2. <b>REXX</b> runs under + many other IBM operating systems in addition to OS/2. + Several versions of <b>REXX</b> are available for + MS-DOS and unix systems, too.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2871151" + name="id2871151"></a>Multiple documents</h4> + </div> + </div> + + <p>Keep in mind<a id="id2871161" class="indexterm" + name="id2871161"></a> that TeX interprets only the + first option after the format file name as a document + name. If you type the command line:</p> + + <div class="informalexample"> +<pre class="screen"> +\$ <span class="bold"><b>tex doc1 doc2</b></span> +</pre> + </div> + + <p>TeX will process only <tt>doc1.tex</tt> as a + document. The result of the above command line<a + id="id2871206" class="indexterm" name="id2871206"></a> + will be exactly as if you had typed the literal word + “doc2” at the very end of the file + <tt>doc1.tex</tt>.</p> + + <p>To get TeX to process both <tt>doc1</tt> and + <tt>doc2</tt> as documents, type a command like the + following:</p> + + <div class="informalexample"> +<pre class="screen"> +\$ <span class="bold"><b>tex doc1 \input doc2</b></span> +</pre> + </div> + + <p>or, for complete clarity,</p> + + <div class="informalexample"> +<pre class="screen"> +\$ <span class="bold"><b>tex \input doc1 \input doc2</b></span> +</pre> + </div> + + <p>In either case, the structure of your document files + must allow them to be concatenated together. TeX does + not process <tt>doc1</tt> and then process + <tt>doc2</tt> separately. Instead, it processes all of + <tt>doc1</tt> and appends the text in the file + <tt>doc2</tt> directly onto the end of + <tt>doc1</tt>.</p> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2871334" + name="id2871334"></a>TeX Without Options</h2> + </div> + </div> + + <p>If you run TeX without specifying any options<a + id="id2871343" class="indexterm" name="id2871343"></a> at + all, it prints out some introductory information, then + produces a <tt>**</tt> prompt<a id="id2871366" + class="indexterm" name="id2871366"></a> and stops. Here's + what emTeX's <tt>tex386</tt> produces:</p> +<pre class="screen"> +This is emTeX (tex386), Version 3.141 [3c-beta8] +** +</pre> + + <p>This is the only situation where the <tt>**</tt> prompt + occurs. TeX now expects you to enter text. TeX will + interpret anything you type after the <tt>**</tt> prompt + <span class="emphasis"><em>exactly</em></span> as if you + had typed it on the command line. All of the rules + regarding slashes (described in “<a + href="ch03.html#run.sec.misinterpret" + title="Misinterpretation of the command line">the section + called “Misinterpretation of the command + line”</a>” earlier) apply to commands that you + type at the <tt>**</tt> prompt. Remember, however, that + input entered at the <tt>**</tt> prompt is not seen by the + operating system, so don't use quotation marks or doubled + backslashes.</p> + + <p>The last line of a document is usually a command telling + TeX that the document is finished. TeX responds by writing + the last page of the document and ending (returning control + to the operating system). If a document doesn't end with + such a command, TeX will wait for more input. When TeX runs + out of input, it displays the <tt>*</tt> prompt<a + id="id2871494" class="indexterm" name="id2871494"></a> + (single asterisk). Anything you type at the <tt>*</tt> + prompt is interpreted exactly as if it occurred in the + document that TeX was processing. You cannot specify an + alternate format or name a document at the <tt>*</tt> + prompt. You can, however, use \input to insert another + file.</p> + + <p>If emTeX processes a document called + <tt>unended.tex</tt>:</p> +<pre class="screen"> +% This is UNENDED.TEX +Now is the time for all good men +to come to the aid of their country. +% Note: there's no \bye command to end +% TeX's processing... +</pre> + + <p>the following output appears on the terminal:</p> +<pre class="screen"> +This is emTeX (tex386), Version 3.141 [3c-beta8] +**unended +(unended.tex) +* +</pre> + + <p>You can exit from the TeX program at the <tt>*</tt> + prompt by telling TeX that it should stop processing the + current document. Exactly how you get out depends on the + format file you use. The following table shows the stop + commands for some TeX macro packages<a id="id2871573" + class="indexterm" name="id2871573"></a><a id="id2871590" + class="indexterm" name="id2871590"></a><a id="id2871603" + class="indexterm" name="id2871603"></a><a id="id2871616" + class="indexterm" name="id2871616"></a><a id="id2871626" + class="indexterm" name="id2871626"></a>.</p> + + <div class="table"> + <a id="id2871639" name="id2871639"></a> + + <p class="title"><b>Table 3.1. </b></p> + + <table summary="" border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">Package</th> + + <th align="left">Command</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">Plain TeX</td> + + <td align="left">\bye</td> + </tr> + + <tr> + <td align="left">LaTeX</td> + + <td align="left">\end{document}<a id="id2871705" + class="indexterm" name="id2871705"></a></td> + </tr> + + <tr> + <td align="left">SliTeX</td> + + <td align="left">\end{document}</td> + </tr> + + <tr> + <td align="left">Lollipop</td> + + <td align="left">\Stop</td> + </tr> + + <tr> + <td align="left">TeXinfo</td> + + <td align="left"><tt>@bye</tt></td> + </tr> + </tbody> + </table> + </div> + + <p>If you do not know which format is in use, you can + almost always get out with the following steps:<sup>[<a + id="id2871781" name="id2871781" + href="#ftn.id2871781">32</a>]</sup></p> + + <div class="orderedlist"> + <ol type="1"> + <li> + <p>Type a control sequence that TeX will not + recognize (control sequences \undefined and + \gobbledygook will work). TeX will respond with the + question mark prompt.</p> + </li> + + <li> + <p>Enter <span class="bold"><b>x</b></span> at the + prompt. The question mark prompt is discussed fully + in the section “<a href="ch03.html#sec.qprompt" + title="Interpreting TeX Error Messages">the section + called “Interpreting TeX Error + Messages”</a>,” later in this + chapter.</p> + </li> + </ol> + </div> + + <p>To continue the above example, if I type \undefined at + the <tt>*</tt> prompt, TeX will respond:</p> +<pre class="screen"> +This is emTeX (tex386), Version 3.141 [3c-beta8] +**unended +(unended.tex) +*<span class="bold"><b>\undefined</b></span> +! Undefined control sequence. +<*> \undefined + +? +</pre> + + <p>If I enter <span class="bold"><b>x</b></span> at the + question mark prompt, TeX will print several informative + messages and then end, returning control to the operating + system.</p> +<pre class="screen"> +This is emTeX (tex386), Version 3.141 [3c-beta8] +**unended +(unended.tex) +*\undefined +! Undefined control sequence. +<*> \undefined + +? <span class="bold"><b>x</b></span> +No pages of output. +Transcript written on unended.log. +</pre> + + <p>One word of caution: some macro packages redefine the + meaning of the backslash (\)<a id="id2871940" + class="indexterm" name="id2871940"></a> character so that + it doesn't function as the beginning of a control sequence + (for example, the TeXinfo format uses the at-sign, + “@”). In this case, you must precede the + undefined control sequence by the escape character, even if + it isn't the backslash.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.errors" name="sec.errors"></a>What About + Errors?</h2> + </div> + </div> + + <p>When you write TeX documents, you will occasionally make + mistakes<a id="id2871979" class="indexterm" + name="id2871979"></a><a id="id2871992" class="indexterm" + name="id2871992"></a><a id="id2872002" class="indexterm" + name="id2872002"></a> and as a result, TeX won't be able to + process your document. There are six broad classes of + mistakes you're likely to make:</p> + + <div class="orderedlist"> + <ol type="1"> + <li> + <p>Naming documents or files that TeX cannot + find.</p> + </li> + + <li> + <p>Misspelling the name of a TeX control + sequence.</p> + </li> + + <li> + <p>Failing to close an environment or forgetting to + insert a closing brace after an opening brace.</p> + </li> + + <li> + <p>Using math operators outside of math mode or + forgetting to close an opened math environment.</p> + </li> + + <li> + <p>Requesting a font that TeX cannot find.</p> + </li> + + <li> + <p>Everything else.</p> + </li> + </ol> + </div> + + <p>TeX is legitimately criticized for having error messages + that are very difficult to understand. TeX frequently + provides far more information than you really need or want, + and the excess information often obscures the actual cause + of the error.</p> + + <p>Nevertheless, understanding what TeX does when it + encounters an error will help make error messages easier to + understand. Let's begin with an example. Example <a + href="ch03.html#ex.badfonttex" + title="Example 3.1. The Document BADFONT.TEX">Example 3.1</a> + shows a simple LaTeX document using the New Font Selection + Scheme (NFSS), which contains an error.<sup>[<a + id="id2872107" name="id2872107" + href="#ftn.id2872107">33</a>]</sup> The error is that the + control sequence \Large, which has been redefined to + request a 17pt font, contains a typo: + \cs[fontsize]{fontsiz} should be \fontsize.<sup>[<a + id="id2872135" name="id2872135" + href="#ftn.id2872135">34</a>]</sup></p> + + <div class="example"> + <a id="ex.badfonttex" name="ex.badfonttex"></a> + + <p class="title"><b>Example 3.1. The Document + BADFONT.TEX</b></p> +<pre class="screen"> +\documentstyle{article} +% The following definition changes the font that LaTeX +% uses for the 'Large' font. I have introduced a typo +% into the definition, “\fontsiz” should be “\fontsize”. +% The first time a \Large font is requested, an error will occur. +\renewcommand{\Large}{\fontsiz{17}{20pt}\selectfont} +\begin{document} + +This text precedes the first section header. + +% Note: LaTeX uses the \Large font in section +% headers...this will fail in a confusing way +% because the error is deep within the definition +% of \section where \Large is used... +\section{First Section} + +This is the first and only sentence of the first section. + +\end{document} +</pre> + </div> + + <p>When TeX processes this file, using LaTeX with the New + Font Selection Scheme, it produces these error + messages:</p> +<pre class="screen"> +This is TeX, Version 3.1415 (C version 6.1) +LaTeX Version 2.09 <25 March 1992> with NFSS2 +(badfont.tex (/work/nutshell/texguide/styles/latex/article.sty +Standard Document Style `article' <14 Jan 92>. +(/work/nutshell/texguide/styles/latex/art10.sty)) (badfont.aux) +(/usr/local/lib/tex/inputs/nfss2/T1cmr.fd) +! Undefined control sequence. +\Large ->\fontsiz{17}{20pt}\selectfont +<argument> \reset@font \Large + \bf +\@sect ...x \ifdim \@tempskipa >\z@ \begingroup #6 + \relax \@hangfrom {\hskip ... +l.21 \end{section} +\section{First Section} + +? +</pre> + + <p>These messages exemplify the kind of confusing error + messages that TeX produces. Remember the following rule: + Always look at the first and last line of the TeX error + message when trying to figure out what went wrong and where + it went wrong. In this case, the first line is:</p> +<pre class="screen"> +! Undefined control sequence. +</pre> + + <p>and the last line is:</p> +<pre class="screen"> +l.21 \end{section} +\section{First Section} +</pre> + + <p>The error is that the control sequence + \cs[fontsize]{fontsiz} is not defined and TeX was + processing line 21 of the file when it occurred.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.logfiles" + name="sec.logfiles"></a>Log Files</h3> + </div> + </div> + + <p>You don't have to remember or write down the error + messages that TeX produces. When TeX processes a + document, it produces a transcript<a id="id2872267" + class="indexterm" name="id2872267"></a> of everything + that occurs; you can refer to this transcript later if + you need to recall what errors occurred when you + processed your document. TeX stores this transcript in a + file which has the same name as the document and the + extension <tt>.log</tt>. For example, if you process + <tt>main.tex</tt>, TeX produces a transcript in + <tt>main.log</tt>.</p> + + <div class="note" + style="margin-left: 0.5in; margin-right: 0.5in;"> + <h3 class="title">Note</h3> + + <p>Log files go in the current directory. TeX always + places the log file in the current directory, even if + you specify a path when you format your document. For + example, if you process <tt>lectures/main.tex</tt>, TeX + produces a transcript in <tt>main.log</tt>, not in + <tt>lectures/main.log</tt> as you might expect.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.qprompt" + name="sec.qprompt"></a>Interpreting TeX Error + Messages</h3> + </div> + </div> + + <p>The first line of a TeX error message begins with an + exclamation point followed by the text of the message<a + id="id2872354" class="indexterm" name="id2872354"></a>. + The lines that follow it show the context in which the + error occurred.<sup>[<a id="id2872367" name="id2872367" + href="#ftn.id2872367">35</a>]</sup> In the previous + example, the error message indicates an <tt>Undefined + control sequence</tt>. This means that TeX encountered a + control sequence which was not previously defined.</p> + + <p>The final line, which says <tt>l.21 \section{First + Section}</tt>, occurs right above the question mark + prompt. It identifies the line in your document that TeX + was processing when it encountered the error. The error + occurred when TeX was at line 21 of the file, and that + line began with <tt>\section{First Section}</tt>.</p> + + <p>Between the first and last lines, TeX prints a + detailed description of how the error occurred. This is + necessary because the error may have occurred inside the + replacement text of a macro that you used. When TeX + encounters a control sequence, like \section, it has to + look up the definition to figure out how to typeset your + document. The definition of a control sequence may + contain other control sequences which also have to be + interpreted. It is possible for TeX to be several levels + deep, as it was in this case, when an error occurs. To + give the person who wrote the definition of the control + sequence an opportunity to figure out what went wrong, + TeX prints out a <span class="emphasis"><em>trace + back</em></span><a id="id2872434" class="indexterm" + name="id2872434"></a> of what happened before the error. + As you gain experience with a particular macro package, + you'll find the intervening lines more meaningful.</p> + + <p>Correcting an error depends entirely on the nature of + the error. In this case, all you need to do is correct + the typo.</p> + + <p>As stated above, there are six general classes of + errors you might encounter when you run TeX. The + following sections briefly describe each class.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2872461" + name="id2872461"></a>Naming a File TeX Cannot + Find</h3> + </div> + </div> + + <p>Missing documents are discussed in the section called + “<a href="ch03.html#sec.userfiles" + title="User Files">the section called “User + Files”</a>,” earlier in this chapter.</p> + + <p>If you request a format file<a id="id2872489" + class="indexterm" name="id2872489"></a> that cannot be + found, TeX issues the following warning message:</p> +<pre class="screen"> +Sorry, I can't find that format; will try the default +</pre> + + <p>TeX then attempts to typeset your document with Plain + TeX.<sup>[<a id="id2872514" name="id2872514" + href="#ftn.id2872514">36</a>]</sup> To correct this + problem, run TeX with the correct format file name. If + the format file isn't available, you will have to build + it. Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>, + describes how to build format files for several common + macro packages.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2872549" + name="id2872549"></a>Misspelling a Control Sequence + Name</h3> + </div> + </div> + + <p>Misspelling a control sequence name<a id="id2872558" + class="indexterm" name="id2872558"></a> is one of the + most common errors. For example, you might type + \ipnut{chap1} in your document instead of \input{chap1}. + The solution is straightforward and usually easy to + identify. In many cases, you can simply proceed after + encountering this error. Although TeX may not typeset + your document correctly, you can continue to look for + other errors. The section called “<a + href="ch03.html#sec.qprompt" + title="Interpreting TeX Error Messages">the section + called “Interpreting TeX Error + Messages”</a>,” later in this chapter, + describes how to continue after an error.</p> + + <p>In some cases, TeX may become badly confused by a + misspelled control sequence name, in which case you + should give up and fix the spelling error before trying + to process your document further. This may happen if you + misspell a LaTeX environment name (\begin{itemze} instead + of \begin{itemize}, for example),<sup>[<a id="id2872615" + name="id2872615" href="#ftn.id2872615">37</a>]</sup> + which will make LaTeX misinterpret many of the control + sequences which follow.</p> + + <p>Sometimes TeX will complain that a control sequence is + undefined when you <span + class="emphasis"><em>know</em></span> that the control + sequence is spelled correctly. When this occurs, make + sure that you are using the correct format file (see the + section “<a href="ch03.html#sec.clineopts" + title="The Command Line">the section called “The + Command Line”</a>” earlier in this chapter), + loading the correct macro files, and using the correct + style options.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2872653" + name="id2872653"></a>Failure to Close an + Environment</h3> + </div> + </div> + + <p>Failure to close an environment<a id="id2872662" + class="indexterm" name="id2872662"></a> is another very + common error. There are several distinct errors in this + category:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Failure to insert a closing brace (<tt>}</tt>) + for each opening brace may cause a “TeX + capacity exceeded” error when TeX processes + your document. This happens because sometimes TeX + tries to read everything between braces into + memory. If the closing brace is absent, TeX may run + out of memory.</p> + + <p>If the braces are supposed to enclose the + argument to a macro, you may also get this error:<a + id="id2872709" class="indexterm" + name="id2872709"></a></p> +<pre class="screen"> +! Paragraph ended before <span +class="emphasis"><em>macro</em></span> was complete. +</pre> + + <p>In order to help detect errors of this type, TeX + doesn't ordinarily allow the argument of a macro to + consist of more than one paragraph, so the first + blank line after the place where you failed to type + the closing brace may produce this error.</p> + </li> + + <li> + <p>Failure to close a begin/end environment pair + causes LaTeX to complain about a mismatch when it + encounters the next + \end{\texttt{<i><tt>environment</tt></i>}} + command.<a id="id2872764" class="indexterm" + name="id2872764"></a></p> + </li> + + <li> + <p>If your document ends with an open environment, + TeX will warn you that:</p> +<pre class="screen"> +! (\end occurs inside a group at level <span +class="emphasis"><em>n</em></span>) +</pre> + + <p>where <tt><i><tt>n</tt></i></tt> is the number + of open groups, usually 1.</p> + </li> + + <li> + <p>Failure to close a mathematics environment will + result in the error:</p> +<pre class="screen"> +! Missing $ inserted +</pre> + + <p>when TeX reaches a macro that does not make + sense in mathematics mode (like \section) or when a + surrounding group ends.</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2872844" + name="id2872844"></a>Math Outside of Math Mode</h3> + </div> + </div> + + <p>TeX has a lot of operators for special treatment of + mathematical formulas. These operators must occur inside + <span class="emphasis"><em>mathematics mode</em></span><a + id="id2872858" class="indexterm" name="id2872858"></a>,<a + id="id2872867" class="indexterm" name="id2872867"></a> + which is usually delimited by dollar signs in your + document.<a id="id2872879" class="indexterm" + name="id2872879"></a></p> + + <p>If you attempt to use math operators, superscripts, + subscripts, or other math-mode control sequences outside + of mathematics mode, the following error will occur:<a + id="id2872899" class="indexterm" + name="id2872899"></a></p> +<pre class="screen"> +! Missing $ inserted +</pre> + + <p>This is your clue that a mathematics environment has + not been closed properly or that you failed to open one + before using a math-mode operator.</p> + + <p>For example, the underscore character is usually + defined to be a math-mode operator which starts a + subscript, in other words <tt>H${}_2$O</tt> produces + “H${}_2$O” in your document.<sup>[<a + id="id2872944" name="id2872944" + href="#ftn.id2872944">38</a>]</sup> If you use the + underscore outside of mathematics mode, such as in + regular text:</p> +<pre class="screen"> +The file “test_one” contains the ... +</pre> + + <p>TeX will respond:</p> +<pre class="screen"> +! Missing $ inserted +<inserted text> + $ +<to be read again> + _ +The file “test_ + one” contains the ... +? +</pre> + + <p>In LaTeX, the easiest way around this problem is to + enclose the offending text in a “verbatim” + macro, like this:</p> +<pre class="screen"> + The file “<tt>test_one</tt>” contains the ... +</pre> + + <p>Note that the argument to the <tt>macro</tt>is + delimited by any two identical characters (in this case, + two “<tt>+</tt>” signs).</p> + + <p>In Plain TeX or another format, the problem can be + circumvented in similar ways; consult the reference for + the format you are using. Also consult Table <a + href="ch01.html#tab.acttype" + title="Table 1.2. How to Typeset Special Characters"> + Table 1.2</a> in Chapter <a href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a>, + <span class="emphasis"><em><a href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a></em></span>, + for a list of special characters and how to type them in + your documents.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2873082" + name="id2873082"></a>Missing Fonts</h3> + </div> + </div> + + <p>The first<a id="id2873090" class="indexterm" + name="id2873090"></a> time that you use each font, TeX + loads font metric information about the font. The font + metric information, stored in a <tt>TFM</tt> file, + includes information about the sizes of each character as + well as kerning and ligature information. These topics + are discussed fully in Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>.</p> + + <p>If you request a font that does not exist, for example + <tt>crm10</tt> (a misspelling of <tt>cmr10</tt>), TeX + cannot find a <tt>TFM</tt> file for the font and + therefore displays:</p> +<pre class="screen"> +Font \myfont=crm10 not loadable: Metric (TFM) file not found +</pre> + + <p>This means that TeX attempted to associate the font + described by the <tt>TFM</tt> file <tt>crm10.tfm</tt> + with the control sequence \myfont, but the <tt>TFM</tt> + file didn't exist. You must have a <tt>TFM</tt> file for + every font that you use.</p> + + <p>A second kind of error---actually, a warning---occurs + when you are using the New Font Selection Scheme (NFSS)<a + id="id2873221" class="indexterm" name="id2873221"></a>. + The NFSS performs font substitution, if possible, when an + unknown font is requested. The NFSS is described in + Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>, + in the “<a href="ch04.html#sec.latex" + title="LaTeX">the section called + “LaTeX”</a>” section.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2873273" + name="id2873273"></a>Everything Else</h3> + </div> + </div> + + <p>There are, unfortunately, lots of other errors that + can occur. Some of the errors are directly related to TeX + while others are warning and error messages associated + with particular macro packages. There is no way to + catalog every one of them or suggest what can be done in + every case.</p> + + <p>The best advice I can offer is to isolate the problem + in as small a document as possible, consult the + references you have available very carefully, and, if all + else fails, forward your problem to one of the electronic + forums that deal with TeX (the <tt>Info-TeX</tt> mailing + list<a id="id2873302" class="indexterm" + name="id2873302"></a> and the <tt>comp.text.tex</tt> + newsgroup<a id="id2873326" class="indexterm" + name="id2873326"></a>, for example).</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2873346" + name="id2873346"></a>The Question Mark Prompt</h2> + </div> + </div> + <a id="id2873352" class="indexterm" name="id2873352"></a> + + <p>When TeX encounters an error, it displays an error + message and a summary of the error, as described in the + section called “<a href="ch03.html#sec.errors" + title="What About Errors?">the section called “What + About Errors?”</a>” earlier in this chapter. + Following the error, TeX normally stops and displays the + question mark prompt.</p> + + <p>If you type a question mark of your own at the prompt, + TeX displays the actions available to you:</p> +<pre class="screen"> +? ? +Type <return> to proceed, +S to scroll future error messages, +R to run without stopping, Q to run quietly, +I to insert something, E to edit your file, +1 or ... or 9 to ignore the next 1 to 9 tokens +of input, H for help, X to quit. +? +</pre> + + <p>You can type any of the following responses at the + question mark prompt:<a id="id2873401" class="indexterm" + name="id2873401"></a></p> + + <div class="variablelist"> + <dl> + <dt><span class="term">Type <b>Return</b> to + proceed.</span></dt> + + <dd> + <p>Simply typing Return will cause TeX to ignore the + error and proceed. Depending on the nature of the + error, this may cause more errors immediately or + later on.</p> + </dd> + + <dt><span class="term">Type <b>S</b> to scroll future + error messages.</span></dt> + + <dd> + <p>Typing <b>S</b> tells TeX to continue and not to + stop for most future errors. TeX will continue to + print the error messages, both to the terminal and to + the log file, but it will not display the question + mark prompt again.</p> + + <p>TeX will still stop and ask about missing + files.</p> + </dd> + + <dt><span class="term">Type <b>R</b> to run without + stopping.</span></dt> + + <dd> + <p>The <b>R</b> option is just like <b>S</b> except + that it tells TeX to ignore missing files as well. + TeX will proceed blindly forward as best as it can. + You will still see all of the error messages scroll + by as TeX proceeds.</p> + </dd> + + <dt><span class="term">Type <b>Q</b> to run + quietly.</span></dt> + + <dd> + <p>This option is just like <b>R</b> except that + error messages are not displayed on the screen. The + messages are saved in the log file, however, even + though they are not displayed.</p> + </dd> + + <dt><span class="term">Type <b>I</b> to insert + something.</span></dt> + + <dd> + <p>If you notice a simple typo, you can correct it + with the <b>I</b> command. For example, suppose that + TeX complains of an undefined control sequence: + \cte{kn:art1}. You recognize that this should have + been \cite{kn:art1}. You can insert the correct + control sequence by responding <tt>i\cite</tt> to the + question mark prompt. TeX will ignore the misspelled + control sequence and insert the (correct) sequence + \cite in its place.</p> + + <p>Inserting words or commands at the question mark + prompt <span class="emphasis"><em>does + not</em></span> change your input file. It simply + instructs TeX to <span + class="emphasis"><em>pretend</em></span> that your + file contained a different sequence of words and + commands. You must change the input file with an + editor, or the same error will occur the next time + you format the document.</p> + </dd> + + <dt><span class="term">Type <b>E</b> to edit your + file.</span></dt> + + <dd> + <p>This option terminates TeX. If your system is + configured appropriately, an editor will be loaded + automatically, and the cursor will be placed at the + offending line in your input file. This is not + possible in all environments.</p> + </dd> + + <dt><span class="term">Type <b><i><tt>n</tt></i></b>, + where <i><tt>n</tt></i> is a number between 1 and + 9.</span></dt> + + <dd> + <p>This option tells TeX to ignore some of the input. + After skipping over the number of <span + class="emphasis"><em>tokens</em></span> you request, + TeX returns to the question mark prompt so that you + can delete more tokens.</p> + + <p>What's a token<a id="id2873692" class="indexterm" + name="id2873692"></a>? When TeX reads an input file, + it breaks each line down into the smallest, + indivisible chunks that have meaning. These are + called tokens. For the most part, tokens are + individual characters. The exceptions are control + sequences<a id="id2873705" class="indexterm" + name="id2873705"></a>, which are single tokens, and + white spaces which are also single tokens. There + <span class="emphasis"><em>are</em></span> other + exceptions (and more technical definitions of + “token”), but that's the gist of it.</p> + </dd> + + <dt><span class="term">Type <b>H</b> for + help.</span></dt> + + <dd> + <p>Typing <b>H</b> displays a slightly more verbose + description of the error that occurred and, usually, + suggests the nature of the corrective action that you + might take.</p> + </dd> + + <dt><span class="term">Type <b>X</b> to + quit.</span></dt> + + <dd> + <p>Typing <b>X</b> tells TeX to stop immediately and + ends the TeX program. If there are any completed + pages (pages processed before the error, in other + words), they are written to the <tt>DVI</tt> file + before TeX ends.</p> + </dd> + </dl> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2869760" name="ftn.id2869760" + href="#id2869760">25</a>]</sup> {The exception occurs in + some unix versions of TeX where provisions are made for + different architectures to share the same format files. + The exact same version of TeX must be running on both + architectures for this to work.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2869931" name="ftn.id2869931" + href="#id2869931">26</a>]</sup> {The exact name of the + environment variable<a id="id2869936" class="indexterm" + name="id2869936"></a><a id="id2869947" class="indexterm" + name="id2869947"></a> differs between + implementations.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2869999" name="ftn.id2869999" + href="#id2869999">27</a>]</sup> You will notice that I've + used backslashes<a id="id2870004" class="indexterm" + name="id2870004"></a> to separate directory components in + the path. Environment variables are handled by the + system-dependent portions of TeX, so it's okay to use + backslashes here. You can also use forward slashes, but I + use backslashes because that is more typical of MS-DOS + and OS/2 environments.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2870149" name="ftn.id2870149" + href="#id2870149">28</a>]</sup> {MS-DOS and OS/2 + implementations of TeX may use Ctrl-Z (possibly followed + by a carriage return) instead of Ctrl-C or Ctrl-D.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2870360" name="ftn.id2870360" + href="#id2870360">29</a>]</sup> {On unix systems, the + same effect is often achieved with symbolic links. Most + unix implementations look for different standard format + files based upon the name of the executable that starts + them.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2870805" name="ftn.id2870805" + href="#id2870805">30</a>]</sup> {In the unlikely event + that you have a TeX document stored in a file with a name + beginning with an ampersand, use the following trick to + process that file: instead of running <b>tex + &file</b>, run <b>tex \input &file</b> (or even + <b>tex &format \input &file</b>).</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2871022" name="ftn.id2871022" + href="#id2871022">31</a>]</sup> {For example, + <tt>oak.oakland.edu</tt> in the directory + <tt>/pub/msdos/4DOS</tt>.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2871781" name="ftn.id2871781" + href="#id2871781">32</a>]</sup> {Typing the break + character (<b>Ctrl-C</b> or <b>Ctrl-Break</b>, for + example) sometimes works as well, but some + implementations of TeX don't respond to the break + character at every prompt. On unix systems, use + <b>Ctrl-D</b>. EmTeX responds to <b>Ctrl-Z</b> followed + by <b>Return</b>.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2872107" name="ftn.id2872107" + href="#id2872107">33</a>]</sup> {The details of LaTeX and + the NFSS are discussed in Chapter <a + href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>. + It is simply convenient to use a concrete example in this + case. Do not be concerned if you do not use LaTeX or the + NFSS.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2872135" name="ftn.id2872135" + href="#id2872135">34</a>]</sup> {In practice, redefining + a control sequence like $\$<tt>Large</tt> in a document + is a bad idea. I've done it here only to provide an + example of an error that occurs inside another + macro.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2872367" name="ftn.id2872367" + href="#id2872367">35</a>]</sup> {The number of lines of + context shown in the error message is determined by the + value of the built-in parameter + $\$<tt>errorcontextlines</tt>.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2872514" name="ftn.id2872514" + href="#id2872514">36</a>]</sup> {It is possible to make + other formats the default, but in practice I've never + seen it done.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2872615" name="ftn.id2872615" + href="#id2872615">37</a>]</sup> Technically, LaTeX + environment names are not a control sequence names, but + they behave in very much the same way in LaTeX.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2872944" name="ftn.id2872944" + href="#id2872944">38</a>]</sup> {The empty curly braces + are necessary in this example because otherwise there + wouldn't be anything in front of the subscript command + for TeX to subscript below. Typically, another digit or + symbol would come in front of the subscript command. In + this case, I didn't want the “H” and + “O” in the math environment because letters + are printed in math-italics in math mode.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 2. Editing" + href="ch02.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 4. Macro Packages" + href="ch04.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 2. Editing </td> + + <td width="20%" align="center"><a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 4. Macro Packages</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch04.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch04.html new file mode 100644 index 00000000000..a64b3e597fb --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch04.html @@ -0,0 +1,2206 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 4. Macro Packages</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt01.html" + title="Part I. An Introduction to TeX" /> + <link rel="previous" href="ch03.html" + title="Chapter 3. Running TeX" /> + <link rel="next" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 3. Running TeX" + href="ch03.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.macpack" + name="chap.macpack"></a>Chapter 4. Macro + Packages</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>Everyone who uses TeX uses a macro package<a + id="id2869171" class="indexterm" name="id2869171"></a><a + id="id2869178" class="indexterm" name="id2869178"></a> (also + called a “format”). A macro package extends TeX + to provide functionality that is suited to a particular task + or set of tasks.</p> + + <p>This chapter provides a summary of TeX macro packages. + General-purpose packages designed to typeset a wide range of + documents---articles, books, letters, and reports---are + examined first. The general-purpose packages described are + Plain TeX, Extended Plain TeX, LaTeX2e, LaTeX, AMSTeX, + AMSLaTeX, Lollipop, and TeXinfo. After surveying the + general-purpose packages, several special-purpose packages + designed to handle specific tasks---typesetting + transparencies, music, chemistry or physics diagrams, + etc.---are described. The special-purpose packages surveyed + are SliTeX, FoilTeX, Seminar, MusicTeX, ChemStruct, and + ChemTeX.</p> + + <p>There are a lot of overlapping features and similar + commands in the general-purpose packages. To understand why + this is the case, consider how a new macro package comes into + existence. An ambitious person, who is very familiar with + TeX, decides that there are some things she would like to + express in her documents that are difficult to express with + existing formats. Perhaps, for example, no existing format + produces documents that match the precise specifications + required for publishing in her field, or perhaps she has in + mind a whole new document structuring paradigm. A more + mundane possibility is simply that she has been customizing + an existing format for some time and now feels it has enough + unique features to be useful to others.</p> + + <p>In any event, a new format is born. Now, if this format is + designed for a very specific task, writing multiple-choice + mathematics exams, for example, it might not have very many + general-purpose writing features. On the other hand, if it is + designed for writing longer, more general documents (e.g., + history textbooks or papers to appear in a particular + journal) then there are a number of features that it is + likely to include; provisions for numbered lists, cross + references, tables of contents, indexes, and quotations are + all examples of features common to many documents.</p> + + <p>To support these common features, many macro packages have + similar control sequences. This stems from the fact that they + are all built on top of a common set of primitives<a + id="id2869134" class="indexterm" name="id2869134"></a> and + that macro package authors tend to copy some features of + other packages into their own.</p> + + <p>You may find that you'd like to use the features of + several different packages in the same document. + Unfortunately, there is no provision for using multiple + formats to process a single document. The features required + to process most documents are shared by all of the + general-purpose formats, however. You are more likely to need + multiple macro packages if you want to use a special format + to construct a diagram or figure and incorporate it into a + document. Chapter <a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a>, + <span class="emphasis"><em><a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a></em></span>, + describes several ways to take “electronic + snippets” of one document and insert them into another, + which is one possible solution to this problem.</p> + + <p>If you're beginning to feel a little lost, have no fear. + Most general-purpose formats are sufficient for most + documents. And there's no reason why every document you write + has to be done with the same format. Many people find LaTeX + and Plain TeX sufficient, but if you're writing an article + for a particular journal and someone has written a format + specifically for that journal's documents, by all means use + it. It is more likely, however, that someone has written a + style file<a id="id2873990" class="indexterm" + name="id2873990"></a> which tailors LaTeX to the requirements + of the journal.</p> + + <p>In addition to describing some common macro packages in + this chapter, I'll describe how to build format files for + them. If the packages that you want to use have already been + installed at your site, you can ignore the installation + sections.</p> + + <p>The packages that you find most convenient will depend on + the tasks you perform and how well each package suits your + work style. The list of packages in this chapter is not meant + to be all-inclusive, nor is it my intention to suggest which + packages are best. Use the ones <span + class="emphasis"><em>you</em></span> like, for whatever + reasons.</p> + + <p>I can hear some of you already, “I don't really need + a macro package,” you say, “I can roll my own + with just TeX.”</p> + + <p>And you are absolutely correct.</p> + + <p>I don't recommend it, however. It's akin to using your + compiler without any of the built-in functions. Most TeX + primitives offer little support by themselves for writing + documents.</p> + + <div class="sidebar"> + <p class="title"><b>A New Perspective</b></p> + + <p>LaTeX2e<a id="id2874066" class="indexterm" + name="id2874066"></a> (and its successor, which will be + LaTeX3<a id="id2874077" class="indexterm" + name="id2874077"></a>) seek to address many of the problems + mentioned above by defining a core LaTeX format with + extension packages to provide custom features.</p> + + <p>The LaTeX2e system provides a single format <a + id="id2874097" class="indexterm" name="id2874097"></a> file + that supports LaTeX<a id="id2874111" class="indexterm" + name="id2874111"></a>, AMSTeX<a id="id2874123" + class="indexterm" name="id2874123"></a>, and SliTeX<a + id="id2874134" class="indexterm" name="id2874134"></a>. For + the time being, LaTeX2e is described separately in this + chapter along with the other formats. Be aware, however, + that LaTeX2e is now the standard LaTeX<sup>[<a + id="id2874145" name="id2874145" + href="#ftn.id2874145">39</a>]</sup>and you should migrate + to it as soon as possible.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="macpack.sec.latexvslatexe" + name="macpack.sec.latexvslatexe"></a>Installation: + Making Format Files</h2> + </div> + </div> + + <p>A format file<a id="id2874176" class="indexterm" + name="id2874176"></a><a id="id2874186" class="indexterm" + name="id2874186"></a>, as described in Chapter <a + href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>, + <span class="emphasis"><em><a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a></em></span>, + is a special “compiled” version of a macro + package. The iniTeX<a id="id2874224" class="indexterm" + name="id2874224"></a> program interprets all of the control + sequences in a macro package and writes the corresponding + memory image into a file. Loading a format file is much + faster than loading individual macro packages in your + document because TeX does not have to interpret any of the + control sequences while it is also processing text.</p> + + <p>In general, all format files should be stored in the + same directory.<sup>[<a id="id2874246" name="id2874246" + href="#ftn.id2874246">40</a>]</sup> If you install TeX in a + directory called <tt>tex</tt>, then formats typically go in + a directory called <tt>formats</tt><a id="id2874268" + class="indexterm" name="id2874268"></a> in the <tt>tex</tt> + directory<a id="id2874283" class="indexterm" + name="id2874283"></a>. This is not universally the case + because you need separate format directories for big and + small TeXs.<sup>[<a id="id2874291" name="id2874291" + href="#ftn.id2874291">41</a>]</sup></p> + + <p>Usually, an environment variable<a id="id2874326" + class="indexterm" name="id2874326"></a><a id="id2874333" + class="indexterm" name="id2874333"></a> indicates where the + format files are located. Environment variables are a + common way of customizing your interaction with programs. + They are usually set in your <tt>AUTOEXEC.BAT</tt> file<a + id="id2874354" class="indexterm" name="id2874354"></a> for + MS-DOS, <tt>CONFIG.SYS</tt><a id="id2874371" + class="indexterm" name="id2874371"></a> for OS/2, or the + <span class="emphasis"><em>rc</em></span>-file for a shell + (i.e., <tt>.cshrc</tt><a id="id2874392" class="indexterm" + name="id2874392"></a>, <tt>.kshrc</tt><a id="id2874409" + class="indexterm" name="id2874409"></a>) on unix systems. + Any good reference book for your operating system or shell + will describe how to use environment variables.</p> + + <p>A common name for the environment variable that + indicates where TeX formats are located is + <tt>TEXFORMATS</tt>. Implementations that provide big and + small TeXs need another variable to indicate the directory + that contains formats for big TeX.</p> + + <p>IniTeX is not always a separate program. Some + implementations of TeX combine the functionality of TeX and + iniTeX into a single program and use a special switch at + runtime to determine which function to perform. In this + chapter, all of the examples use the program name + <tt>initex</tt> to identify iniTeX. If you use an + implementation that doesn't provide a separate iniTeX + program, you should use the TeX program with the iniTeX + switch<a id="id2874454" class="indexterm" + name="id2874454"></a> instead. For example, for emTeX, use + <tt>tex /i</tt> instead of <tt>initex</tt> when you build a + format.</p> + + <p>Like TeX, iniTeX needs to be able to find input files<a + id="id2874487" class="indexterm" name="id2874487"></a>. + Usually, this is accomplished by searching the directories + listed in the <tt>TEXINPUTS</tt> environment variable. + Place the input files that iniTeX needs in a directory on + the <tt>TEXINPUTS</tt> path before running iniTeX unless + otherwise directed. The <tt>TEXINPUTS</tt> environment + variable is discussed in the “<a + href="ch03.html#sec.userfiles" title="User Files">the + section called “User Files”</a>” section + of Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2874541" + name="id2874541"></a>Hyphenation Patterns</h3> + </div> + </div> + + <p>In order for TeX to correctly hyphenate words, every + format file must contain a set of hyphenation patterns<a + id="id2874552" class="indexterm" name="id2874552"></a>. + The patterns are part of an algorithmic solution to the + problem of breaking a word into syllables for + hyphenation.</p> + + <p>The details of the hyphenation algorithm (given in + Appendix H of <span class="emphasis"><em>The + TeXbook</em></span> [<a + href="bi01.html#kn:texbook">kn:texbook</a>]) are too + complex to describe here, but two aspects of this + solution deserve particular emphasis. First, using + patterns means that a dictionary of hyphenated words is + not necessary.<sup>[<a id="id2874585" name="id2874585" + href="#ftn.id2874585">42</a>]</sup> This saves a lot of + space and time. Second, by loading different sets of + patterns, TeX can achieve equal success at hyphenating + any language---even English ;-). There are actually at + least two sets of hyphenation patterns for English, one + for British English and one for American English. + Chapter <a href="ch07.html" + title="Chapter 7. International Considerations"> + Chapter 7</a>, <span class="emphasis"><em><a + href="ch07.html" + title="Chapter 7. International Considerations"> + Chapter 7</a></em></span>, describes how to load + multiple sets of hyphenation patterns for typesetting + multilingual documents<a id="id2874620" class="indexterm" + name="id2874620"></a>.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2874634" + name="id2874634"></a>General-purpose Formats</h2> + </div> + </div> + + <p>This section describes several macro packages <a + id="id2874644" class="indexterm" name="id2874644"></a> that + are designed for formatting standard documents like + articles or books. In order to provide some form of + comparative measure, each macro package is used to create + the same document, a one-page report that looks like + Figure <a href="ch04.html#fig.sampresults" + title="Figure 4.1. Sample page">Figure 4.1</a>. + I constructed this example to demonstrate a few common + elements in a document: several sizes of headings, a + paragraph of text, inline and displayed mathematics, and a + few fonts. There are lots of other things that aren't shown + (tables, figures, footnotes, etc.), and these elements vary + as much as any other in the different macro packages.</p> + + <div class="figure"> + <a id="fig.sampresults" name="fig.sampresults"></a> + + <p class="title"><b>Figure 4.1. Sample + page</b></p> + + <div class="mediaobject"> + <img src="perf-ltx.eps" /> + </div> + </div> + + <p>Observant readers will notice that the examples are + shown in the Computer Modern fonts while the rest of this + book uses different fonts.<sup>[<a id="id2874736" + name="id2874736" href="#ftn.id2874736">43</a>]</sup> There + are a number of reasons why the example is shown in + Computer Modern. For one thing, all of the formats + discussed here use the Computer Modern fonts by default. + Using a different set of fonts would only add more + complexity to each example. A more subtle problem is that I + do not have appropriate mathematics fonts for Garamond. + There are a number of complex issues involving the use of + fonts in TeX. They are discussed in Chapter <a + href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2874772" + name="id2874772"></a>Plain TeX</h3> + </div> + </div> + + <p>Plain TeX<a id="id2874779" class="indexterm" + name="id2874779"></a> is the format <a id="id2874790" + class="indexterm" name="id2874790"></a> written by Donald + Knuth<a id="id2874805" class="indexterm" + name="id2874805"></a> during the development of TeX. It + is described fully in <span class="emphasis"><em>The + {TeX}book</em></span> [<a + href="bi01.html#kn:texbook">kn:texbook</a>].</p> + + <p>Plain TeX ties together the TeX primitives <a + id="id2874830" class="indexterm" name="id2874830"></a> in + a way that makes it practical to work in TeX. If you do + not have a computer programming background, you may find + Plain TeX a little bit intimidating. It is definitely a + “roll your own” environment. Although it + demonstrably contains all of the functionality required + to write everything from letters to books, there is very + little “user-friendly” packaging around the + internals of TeX.</p> + + <p>Aside from user interface considerations, which are + highly subjective, Plain TeX lacks some functionality + when compared to other formats. There is no provision in + Plain TeX for automatically numbered sections, labelled + figures, tables of contents, indexes, or bibliographies. + Any of these functions can be constructed in Plain TeX if + you are willing to invest the time and energy required to + write your own macros, but they are not built into Plain + TeX.</p> + + <p>If you enjoy writing your own macros or plan to + produce novel types of documents, a firm grasp of Plain + TeX will allow you to write anything in TeX. A firm grasp + of Plain TeX also makes it easier to understand and + modify other formats (like LaTeX) that are built on top + of Plain TeX.</p> + + <p>In addition, Plain TeX is the only format that is + always distributed with TeX. The other formats discussed + in this chapter are freely available but do not come with + TeX.</p> + + <p>The Plain TeX input that produces the report in + Figure <a href="ch04.html#fig.sampresults" + title="Figure 4.1. Sample page">Figure 4.1</a> + is shown in Example <a + href="ch04.html#ex.sampplaintex" + title="Figure 4.2. Plain TeX Input">Figure 4.2</a>.</p> + + <div class="figure"> + <a id="ex.sampplaintex" name="ex.sampplaintex"></a> + + <p class="title"><b>Figure 4.2. Plain TeX + Input</b></p> + + <div class="mediaobject"> + <img src="perf-ptx" /> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2874942" + name="id2874942"></a>Building the Plain TeX + format</h4> + </div> + </div> + + <p>To build Plain TeX<a id="id2874951" + class="indexterm" name="id2874951"></a>, you need only + two files: <tt>plain.tex</tt><a id="id2874971" + class="indexterm" name="id2874971"></a> and + <tt>hyphen.tex</tt><a id="id2874994" class="indexterm" + name="id2874994"></a>. These files are distributed with + TeX so they should be available as soon as you have + installed TeX. The <tt>hyphen.tex</tt> file is + language-dependent. Readers who frequently work with + non-English text should read Chapter <a + href="ch07.html" + title="Chapter 7. International Considerations"> + Chapter 7</a> for more information about obtaining + non-English hyphenation patterns.</p> + + <p>The command:</p> +<pre class="screen"> +\$ <span class="bold"><b>initex plain \dump</b></span> +</pre> + + <p>will create the Plain TeX format. Move the resulting + files, <tt>plain.fmt</tt><a id="id2875061" + class="indexterm" name="id2875061"></a> and + <tt>plain.log</tt><a id="id2875077" class="indexterm" + name="id2875077"></a>, into your TeX formats + directory.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2875093" + name="id2875093"></a>Extended Plain TeX</h3> + </div> + </div> + + <p>Extended Plain TeX<a id="id2875102" class="indexterm" + name="id2875102"></a><a id="id2875112" class="indexterm" + name="id2875112"></a> extends Plain TeX in a number of + useful ways without forcing you to use any particular + “style” of output. The argument is this: + although Plain TeX really doesn't provide all of the + features that you need (tables of contents, cross + references, citations, enumerated lists, convenient + access to verbatim input, etc), many of these features + don't have any direct impact on the appearance of your + document. Unfortunately, other general-purpose macro + packages like LaTeX, which do provide these features, + tend to force you to accept their notion of what the + typeset page should look like.<sup>[<a id="id2875131" + name="id2875131" href="#ftn.id2875131">44</a>]</sup></p> + + <p>Extended Plain TeX is an attempt to solve that + problem. It provides many behind-the-scenes features + without providing any general page layout commands (like + \chapter or \section), which means that these features + can be used inside Plain TeX without much difficulty and + without changing the layout of typeset pages.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2875171" + name="id2875171"></a>Building the Extended Plain + TeX format</h4> + </div> + </div> + + <p>To build the Extended Plain TeX format<a + id="id2875181" class="indexterm" name="id2875181"></a>, + you need the <tt>plain.tex</tt><a id="id2875201" + class="indexterm" name="id2875201"></a> and + <tt>hyphen.tex</tt> files <a id="id2875225" + class="indexterm" name="id2875225"></a> required to + build the Plain format as well as the + <tt>eplain.tex</tt> file <a id="id2875250" + class="indexterm" name="id2875250"></a> distributed + with Extended Plain TeX.<sup>[<a id="id2875268" + name="id2875268" href="#ftn.id2875268">45</a>]</sup> + Make and install the Plain TeX format first, then + change to the directory that contains the Extended + Plain TeX distribution.</p> + + <p>The command:</p> +<pre class="screen"> +$ <span class="bold"><b>initex \&plain eplain \dump</b></span> +</pre> + + <p>will create the Extended Plain TeX format. Move the + resulting files, <tt>eplain.fmt</tt> <a id="id2875315" + class="indexterm" name="id2875315"></a> and + <tt>eplain.log</tt><a id="id2875338" class="indexterm" + name="id2875338"></a>, into your TeX formats + directory.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2875359" + name="id2875359"></a>LaTeX2e Versus LaTeX</h3> + </div> + </div> + + <p>The tremendous popularity of LaTeX<a id="id2875368" + class="indexterm" name="id2875368"></a><a id="id2875378" + class="indexterm" name="id2875378"></a> in the TeX + community has had an unfortunate side effect: because it + is a very familiar and flexible format, many people have + used it as the basis for extensions of one sort or + another. This has resulted in a wide range of (slightly) + incompatible formats and a lot of frustration.</p> + + <p>This situation is being rectified by a new release of + LaTeX, currently called LaTeX2e<a id="id2875402" + class="indexterm" name="id2875402"></a><a id="id2875414" + class="indexterm" name="id2875414"></a>. The new release + replaces the existing dialects of LaTeX (LaTeX with and + without NFSS, SliTeX, AMSLaTeX, etc.) with a single core + system and a set of extension packages. LaTeX2e includes + a compatibility mode which will allow it to continue to + format existing documents without change (provided that + they do not rely on local modifications to the LaTeX + format, of course). Local modifications can also be + incorporated into the LaTeX2e system as extension + packages, making LaTeX2e a complete replacement for all + existing versions of LaTeX and packages closely derived + from LaTeX.</p> + + <p>The most significant and least compatible difference + between LaTeX and LaTeX2e<a id="id2875443" + class="indexterm" name="id2875443"></a><a id="id2875460" + class="indexterm" name="id2875460"></a> is the font + selection scheme. There are many control sequences for + selecting fonts in LaTeX. Some control the typeface (\rm, + \tt, \sc, etc.); some the size (\small, \normalsize, + \large, etc.); and some the appearance (\it, \bf, \em, + etc.). Under the Old Font Selection Scheme (OFSS)<a + id="id2875523" class="indexterm" name="id2875523"></a>, + the control sequences for selecting a font completely + override any font selection already in place. Consider, + for example, the control sequences \it and \bf, which + switch to italic and boldface. Using \bf\it produces + italic text, and \it\bf produces boldface text, and <span + class="emphasis"><em>neither</em></span> produces + boldfaced-italic text (which is probably what you + wanted).</p> + + <p>Under the New Font Selection Scheme<a id="id2875563" + class="indexterm" name="id2875563"></a><a id="id2875570" + class="indexterm" name="id2875570"></a>, typeface (called + <span class="emphasis"><em>family</em></span> in NFSS + parlance), appearance (called <span + class="emphasis"><em>series</em></span> and <span + class="emphasis"><em>shape</em></span>), and size are + viewed as orthogonal components in font selection. + Because these parameters are independent, selecting an + italic appearance with the \it control sequence switches + to italic in the current typeface and size. Under the + NFSS, \bf\cs{it} <span + class="emphasis"><em>does</em></span> select + boldface-italic in both the current typeface and size (if + it is available).</p> + + <p>LaTeX2e supports only the NFSS, version 2 (called + NFSS2)<a id="id2875613" class="indexterm" + name="id2875613"></a><a id="id2875624" class="indexterm" + name="id2875624"></a>. For more than a year, the NFSS + (initially version 1, and more recently version 2) has + been available as an extension for LaTeX 2.09. However, + in light of stable test releases of LaTeX2e, the NFSS2 + package for LaTeX 2.09 has been withdrawn. The discussion + of NFSS in this book applies equally well to LaTeX 2.09 + with NFSS2, but it is described in terms of LaTeX2e in an + effort to be more applicable in the future. The NFSS is + discussed in more detail in Chapter <a + href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.latexe" + name="sec.latexe"></a>LaTeX2e</h3> + </div> + </div> + + <p>Leslie Lamport<a id="id2875668" class="indexterm" + name="id2875668"></a>'s LaTeX format is probably the most + commonly used TeX format. It is described in <span + class="emphasis"><em>LaTeX: A Document Preparation + System</em></span> [<a + href="bi01.html#ll:latexbook">ll:latexbook</a>] and many + other TeX books. LaTeX2e<a id="id2875692" + class="indexterm" name="id2875692"></a> is the new + standard LaTeX. It is described in <span + class="emphasis"><em>{The LaTeX + Companion}</em></span> [<a + href="bi01.html#latexcompanion">latexcompanion</a>]. The + next edition of <span class="emphasis"><em>LaTeX: A + Document Preparation System</em></span> [<a + href="bi01.html#ll:latexbook">ll:latexbook</a>] will also + describe LaTeX2e.</p> + + <div class="sidebar"> + <p>At the time of this writing, LaTeX2e is available + only in a test release, but by the time you read this, + it is likely to be available as the new standard LaTeX. + It is described first in this chapter to emphasize that + you should begin using LaTeX2e as soon as possible. + Once LaTeX2e is out of testing, it will become LaTeX, + and support for older versions will not be provided (at + least not by the LaTeX developers). LaTeX2e includes a + compatibility mode<a id="id2875736" class="indexterm" + name="id2875736"></a> for old LaTeX documents so the + transition should be relatively painless.</p> + </div> + + <p>The central theme of LaTeX is “structured + document preparation.” An ideal LaTeX document is + described entirely in terms of its structure: chapters, + sections, paragraphs, numbered lists, bulleted items, + tables, figures, and all the other elements of a document + are identified descriptively. For example, you enclose + figures in a figure <span + class="emphasis"><em>environment</em></span> identified + by the control sequences \begin{figure} and + \end{figure}.</p> + + <p>When you are ready to print your document, select an + appropriate document class<a id="id2875794" + class="indexterm" name="id2875794"></a>, and LaTeX + formats your document according to the rules of the + selected style. In the case of the ideal document, it + might first be printed in a magazine or newsletter using + the article class. Later, when it is incorporated into a + book, selecting the book class is <span + class="emphasis"><em>all</em></span> that is required to + produce appropriate output; the document itself is + unchanged.</p> + + <p>LaTeX is written on top of Plain TeX. This means that + almost any control sequence <a id="id2875821" + class="indexterm" name="id2875821"></a> or macro that you + learn about in Plain TeX can also be used in LaTeX. Of + course, LaTeX insulates you from many Plain TeX commands + by wrapping a much more user-friendly interface around + them.</p> + + <p>The LaTeX2e input that produces the sample page in + Figure <a href="ch04.html#fig.sampresults" + title="Figure 4.1. Sample page">Figure 4.1</a> + is shown in Example <a + href="ch04.html#fig.samplatex2e" + title="Figure 4.3. LaTeX2e Input">Figure 4.3</a>. + The only difference between this document and an old + LaTeX document is the use of the \documentclass + declaration instead of the \documentstyle + declaration.<sup>[<a id="id2875867" name="id2875867" + href="#ftn.id2875867">46</a>]</sup> For more complex + documents, other minor changes may also be necessary.</p> + + <div class="figure"> + <a id="fig.samplatex2e" name="fig.samplatex2e"></a> + + <p class="title"><b>Figure 4.3. LaTeX2e + Input</b></p> + + <div class="mediaobject"> + <img src="perf-l2e.eps" /> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="sec.buildlatexe" + name="sec.buildlatexe"></a>Building the LaTeX2e + format</h4> + </div> + </div> + + <p>The LaTeX2e distribution is available from the + directory <tt>macros/latex2e/core</tt> in the CTAN + archives<a id="id2875937" class="indexterm" + name="id2875937"></a>.</p> + + <p>The following steps will build the LaTeX2e format. + For more complete installation instructions, read the + file <tt>install.l2e</tt> in the LaTeX2e + distribution.</p> + + <div class="orderedlist"> + <ol type="1"> + <li> + <p>Place the LaTeX2e distribution in a temporary + directory and make that directory the current + directory. After the installation is complete, + you will need to move only selected files into + the standard places.</p> + </li> + + <li> + <p>Restrict to only the current directory the + directories that TeX searches for input files</p> + + <p>This can usually be accomplished by setting + the environment variable + <tt>TEXINPUTS</tt><sup>[<a id="id2876004" + name="id2876004" + href="#ftn.id2876004">47</a>]</sup> to a single + period or the absolute path name of the current + directory.</p> + </li> + + <li> + <p>Copy the <tt>hyphen.tex</tt> file <a + id="id2876037" class="indexterm" + name="id2876037"></a> from the Plain TeX + distribution into the current directory.</p> + </li> + + <li> + <p>Issue the command:</p> +<pre class="screen"> +\$ <span class="bold"><b>initex unpack2e.ins</b></span> +</pre> + + <p>This will unpack all of the distribution + files.</p> + </li> + + <li> + <p>Build the format file by issuing the + command:</p> +<pre class="screen"> +\$ <span class="bold"><b>initex latex2e.ltx</b></span> +</pre> + + <p>Move the resulting files <tt>latex2e.fmt</tt> + <a id="id2876114" class="indexterm" + name="id2876114"></a> and <tt>latex2e.log</tt><a + id="id2876128" class="indexterm" + name="id2876128"></a> into the TeX formats + directory.</p> + </li> + + <li> + <p>In addition to the files needed to build the + format, unpacking the LaTeX2e distribution + creates many files that are needed for formatting + documents. These files must be placed in a + location where TeX will find them. However, in + order to maintain a functioning LaTeX 2.09 + system, you must not place the new files in the + same input directory as the existing + files.<sup>[<a id="id2876148" name="id2876148" + href="#ftn.id2876148">48</a>]</sup></p> + + <p>Create a new directory (or folder) for the new + files. On the unix system that I use, where + existing input files are stored in a directory + called <tt>/usr/local/lib/tex/inputs</tt>, I + created <tt>/usr/local/lib/tex/latex2e</tt> to + store the new files. You will have to add the new + directory to the <span + class="emphasis"><em>front</em></span> of the + list of directories that TeX searches for input + files whenever you format a document with + LaTeX2e.</p> + + <p>Move the files that the installation script + produces into the new directory. Move the files + <tt>docstrip.tex</tt>, <tt>latexbug.tex</tt>, + <tt>sfontdef.ltx</tt>, <tt>slides.ltx</tt>, + <tt>testpage.tex</tt>, and all of the files that + end in <tt>.cfg</tt>, <tt>.cls</tt>, + <tt>.clo</tt>, <tt>.def</tt>, <tt>.fd</tt>, and + <tt>.sty</tt>. You should also move the files + <tt>gglo.ist</tt> and <tt>gind.ist</tt> someplace + where <b>MakeIndex</b> can find them. + (<b>MakeIndex</b> is described in Chapter <a + href="ch12.html" + title="Chapter 12. Bibliographies, Indexes, and Glossaries"> + Chapter 12</a>, <span + class="emphasis"><em><a href="ch12.html" + title="Chapter 12. Bibliographies, Indexes, and Glossaries"> + Chapter 12</a></em></span>.)</p> + + <p>One of the aspects of the test releases that + continues to change is the exact list of files + that must be moved. Consult the + <tt>install.l2e</tt> file in the distribution for + the exact list. The list above is from the test + version of January 28, 1994.</p> + </li> + </ol> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.latex" + name="sec.latex"></a>LaTeX</h3> + </div> + </div> + + <p>This section briefly covers LaTeX version 2.09. This + version of LaTeX<a id="id2876362" class="indexterm" + name="id2876362"></a><a id="id2876373" class="indexterm" + name="id2876373"></a> is still very widely used but it is + being phased out.</p> + + <p>The LaTeX input to produce the sample page in + Figure <a href="ch04.html#fig.sampresults" + title="Figure 4.1. Sample page">Figure 4.1</a> + is shown in Example <a + href="ch04.html#fig.samplatex" + title="Figure 4.4. LaTeX Input File">Figure 4.4</a>.</p> + + <div class="figure"> + <a id="fig.samplatex" name="fig.samplatex"></a> + + <p class="title"><b>Figure 4.4. LaTeX Input + File</b></p> + + <div class="mediaobject"> + <img src="perf-ltx.eps" /> + </div> + </div> + + <p>Support for the NFSS in LaTeX 2.09 has been withdrawn. + If you need to build a format with support for NFSS, + consult the “<a href="ch04.html#sec.latexe" + title="LaTeX2e">the section called + “LaTeX2e”</a>” section of this + chapter.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="sec.buildlatexofss" + name="sec.buildlatexofss"></a>Building the LaTeX + format with the OFSS</h4> + </div> + </div> + + <p>The LaTeX <a id="id2876478" class="indexterm" + name="id2876478"></a><a id="id2876490" + class="indexterm" + name="id2876490"></a>distribution<sup>[<a + id="id2876500" name="id2876500" + href="#ftn.id2876500">49</a>]</sup> includes three + subdirectories, <tt>sty</tt>, <tt>doc</tt>, and + <tt>general</tt>. All of the LaTeX files required to + build the format file are in the <tt>general</tt> + subdirectory. You will also need the + <tt>hyphen.tex</tt> file <a id="id2876557" + class="indexterm" name="id2876557"></a> required to + build the Plain format.</p> + + <p>In the <tt>general</tt> subdirectory, the + command:</p> +<pre class="screen"> +\$ <span class="bold"><b>initex lplain</b></span> +</pre> + + <p>will create the LaTeX format. Move the resulting + files, <tt>lplain.fmt</tt> <a id="id2876609" + class="indexterm" name="id2876609"></a> and + <tt>lplain.log</tt><a id="id2876632" class="indexterm" + name="id2876632"></a>, to the TeX formats directory. In + order to complete the installation, copy the files from + the <tt>sty</tt> directory in the LaTeX distribution + into a directory where TeX searches for input + files.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.texincolor" + name="sec.texincolor"></a>AMSTeX</h3> + </div> + </div> + + <p>When the American Mathematical Society<a + id="id2876675" class="indexterm" name="id2876675"></a> + selected TeX as a document preparation system, they + decided to extend it in a number of ways to make the + creation of papers and journals easier. They had two + goals: to make it easier for authors to write + mathematical papers in TeX and to make the resulting + papers conform to a particular set of style + specifications. AMSTeX<a id="id2876684" class="indexterm" + name="id2876684"></a> is described completely in <span + class="emphasis"><em>The Joy of TeX</em></span> [<a + href="bi01.html#ms:joyoftex">ms:joyoftex</a>].</p> + + <p>AMSTeX provides many commands that resemble LaTeX + environments. These have the form + \<i><tt>environment</tt></i> … + \end<i><tt>environment</tt></i>. In addition, AMSTeX + provides the notion of a document style to control + style-related formatting issues.</p> + + <p>Another important contribution made by the American + Mathematical Society when creating AMSTeX was the + construction of a large number of new fonts<a + id="id2876739" class="indexterm" name="id2876739"></a><a + id="id2876757" class="indexterm" name="id2876757"></a>. + The American Mathematical Society provides fonts with + many more mathematical symbols than the fonts that come + with TeX. These fonts are available as a separate package + and can be used with any TeX macro package, not just + AMSTeX.</p> + + <p>The AMSTeX input required to produce the document in + Figure <a href="ch04.html#fig.amsresults" + title="Figure 4.6. AMS sample page">Figure 4.6</a> + is shown in Example <a + href="ch04.html#ex.sampamstex" + title="Figure 4.5. AMSTeX Input File">Figure 4.5</a>. + The result of formatting this document does not appear + exactly like Figure <a + href="ch04.html#fig.sampresults" + title="Figure 4.1. Sample page">Figure 4.1</a> + because AMSTeX uses the style conventions of the American + Mathematical Society.</p> + + <div class="figure"> + <a id="ex.sampamstex" name="ex.sampamstex"></a> + + <p class="title"><b>Figure 4.5. AMSTeX Input + File</b></p> + + <div class="mediaobject"> + <a type="simple" show="embed" actuate="onLoad" + href="perf-amt"></a> + </div> + </div> + + <div class="figure"> + <a id="fig.amsresults" name="fig.amsresults"></a> + + <p class="title"><b>Figure 4.6. AMS sample + page</b></p> + + <div class="mediaobject"> + <img src="perf-amt.eps" /> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2876876" + name="id2876876"></a>Building the AMSTeX + format</h4> + </div> + </div> + + <p>In order to build the AMSTeX format, you need the + <tt>plain.tex</tt> <a id="id2876893" class="indexterm" + name="id2876893"></a> and <tt>hyphen.tex</tt> files <a + id="id2876917" class="indexterm" name="id2876917"></a> + from Plain TeX and the <tt>amstex.ini</tt> <a + id="id2876941" class="indexterm" name="id2876941"></a> + and <tt>amstex.tex</tt> <a id="id2876959" + class="indexterm" name="id2876959"></a> files from the + AMSTeX distribution<a id="id2876970" class="indexterm" + name="id2876970"></a>.</p> + + <p>The command:</p> +<pre class="screen"> +\$ <span class="bold"><b>initex amstex.ini</b></span> +</pre> + + <p>will create the AMSTeX format. Move the resulting + files, <tt>amstex.fmt</tt> <a id="id2877015" + class="indexterm" name="id2877015"></a> and + <tt>amstex.log</tt><a id="id2877031" class="indexterm" + name="id2877031"></a>, into your TeX formats + directory.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2877047" + name="id2877047"></a>AMSLaTeX</h3> + </div> + </div> + + <p>AMSLaTeX<a id="id2877055" class="indexterm" + name="id2877055"></a><a id="id2877065" class="indexterm" + name="id2877065"></a>, like AMSTeX, provides many + features to make typesetting mathematics convenient while + meeting the standards of the American Mathematical + Society<a id="id2877079" class="indexterm" + name="id2877079"></a> for publication. However, AMSTeX + lacks many of the features that are present in LaTeX, + like automatically numbered sections and tools for + creating tables of contents and indexes.</p> + + <p>When LaTeX gained popularity, many authors requested + permission to submit articles to the American + Mathematical Society in LaTeX. In 1987, the American + Mathematical Society began a project to combine the + features of AMSTeX with the features of LaTeX. The result + is AMSLaTeX.</p> + + <p>AMSLaTeX provides all of the functionality of LaTeX + because it is an extension of LaTeX. It also provides the + functionality of AMSTeX in LaTeX syntax and access to + additional mathematical constructs and math symbols not + present in LaTeX. .</p> + + <p>The input required to produce Figure <a + href="ch04.html#fig.sampresults" + title="Figure 4.1. Sample page">Figure 4.1</a> + is not shown because they do not differ significantly + from the LaTeX sample. Because the sample document + doesn't use any of AMSLaTeX's additional features, it is + exactly the same as the LaTeX document.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2877132" + name="id2877132"></a>Building the AMSLaTeX + format</h4> + </div> + </div> + + <p>The AMSLaTeX macros are embodied entirely in style + files for LaTeX. It is not necessary to build a special + format file<a id="id2877141" class="indexterm" + name="id2877141"></a>. However, the AMSLaTeX macros + require the New Font Selection Scheme (NFSS). Consult + the section on LaTeX, above, for instructions on + building the LaTeX format with NFSS.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2877164" + name="id2877164"></a>Lollipop</h3> + </div> + </div> + + <p>It can be argued that LaTeX has the following + deficiency: although there are many different style + options available, it is not easy for a novice user to + change a style option. Changing the internals of most + LaTeX style options requires a deep understanding of + TeX.</p> + + <p>The Lollipop<a id="id2877183" class="indexterm" + name="id2877183"></a><a id="id2877189" class="indexterm" + name="id2877189"></a> format is very different from the + other formats. The central thrust of Lollipop is that it + should be easy to change and customize document styles. + All Lollipop documents are built from five different + generic constructs: headings, lists, text blocks, page + grids, and external items.</p> + + <p>The Lollipop input required to produce a document like + the sample page in Figure <a + href="ch04.html#fig.sampresults" + title="Figure 4.1. Sample page">Figure 4.1</a> + is shown in Example <a + href="ch04.html#ex.samplollipop" + title="Figure 4.7. Lollipop Input File">Figure 4.7</a>.</p> + + <div class="figure"> + <a id="ex.samplollipop" name="ex.samplollipop"></a> + + <p class="title"><b>Figure 4.7. Lollipop + Input File</b></p> + + <div class="mediaobject"> + <a type="simple" show="embed" actuate="onLoad" + href="perf-lol"></a> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2873878" + name="id2873878"></a>Building the Lollipop + format</h4> + </div> + </div> + + <p>To make <a id="id2873887" class="indexterm" + name="id2873887"></a>the Lollipop format, you need the + Lollipop distribution and the file <tt>hyphen.tex</tt> + from the Plain TeX distribution.</p> + + <p>This command will create the Lollipop format:</p> +<pre class="screen"> +\$ <span class="bold"><b>initex lollipop \dump</b></span> +</pre> + + <p>It should be performed in the directory where you + installed the Lollipop distribution so that all of the + Lollipop files can be located. Move the resulting files + <tt>lollipop.fmt</tt><a id="id2873932" + class="indexterm" name="id2873932"></a> and + <tt>lollipop.log</tt><a id="id2873950" + class="indexterm" name="id2873950"></a> into your TeX + formats directory.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2873910" + name="id2873910"></a>TeXinfo</h3> + </div> + </div> + + <p>The TeXinfo format is a general-purpose format, but it + was designed to support a particular application: to + produce both online documentation and professional + quality typeset documentation from the same source file. + It is discussed in more detail in Chapter <a + href="ch10.html" + title="Chapter 10. Online Documentation">Chapter 10</a>, + <span class="emphasis"><em><a href="ch10.html" + title="Chapter 10. Online Documentation">Chapter 10</a></em></span>.</p> + + <p>The input file shown in Example <a + href="ch04.html#ex.infinp" + title="Figure 4.8. TeXinfo Input">Figure 4.8</a> + produces the typeset output shown in Figure <a + href="ch04.html#fig.infex" + title="Figure 4.9. TeXinfo sample page">Figure 4.9</a>. + The input file for this example is complicated by the + fact that it contains mathematics. None of TeX's + sophisticated mechanisms for handling mathematics are + applicable to plain ASCII online documentation. The + online documentation produced by the example in + Example <a href="ch04.html#ex.infinp" + title="Figure 4.8. TeXinfo Input">Figure 4.8</a> + is shown in Figure <a href="ch04.html#fig.infinf" + title="Figure 4.10. Online documentation produced by MakeInfo"> + Figure 4.10</a>.</p> + + <p>The TeXinfo<a id="id2877600" class="indexterm" + name="id2877600"></a><a id="id2877609" class="indexterm" + name="id2877609"></a> format is the official + documentation format of the Free Software Foundation + (FSF)<a id="id2877625" class="indexterm" + name="id2877625"></a>. Although less commonly used, a + LaTeX variant called LaTeXinfo<a id="id2877634" + class="indexterm" name="id2877634"></a> is also + available.</p> + + <div class="figure"> + <a id="ex.infinp" name="ex.infinp"></a> + + <p class="title"><b>Figure 4.8. TeXinfo + Input</b></p> + + <div class="mediaobject"> + <a type="simple" show="embed" actuate="onLoad" + href="perf-inf"></a> + </div> + </div> + + <div class="figure"> + <a id="fig.infex" name="fig.infex"></a> + + <p class="title"><b>Figure 4.9. TeXinfo + sample page</b></p> + + <div class="mediaobject"> + <img src="perf-inf.eps" /> + </div> + </div> + + <div class="figure"> + <a id="fig.infinf" name="fig.infinf"></a> + + <p class="title"><b>Figure 4.10. Online + documentation produced by MakeInfo</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="perf-inf.inf"></a> +</pre> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2877747" + name="id2877747"></a>Other Formats</h3> + </div> + </div> + + <p>There are a number of other macro packages available + for TeX. Some of them are summarized below. The fact that + they are not discussed more fully here (or listed below, + for that matter) is not intended to reflect on the + quality of the format. The formats discussed above are + examples of the ways in which TeX can be extended. All of + the formats below extend TeX in a way similar to one of + the formats already mentioned. For any particular + application, one of these macro packages might be a + better choice than the formats discussed above.</p> + + <div class="variablelist"> + <dl> + <dt><span class="term">EDMAC</span></dt> + + <dd> + <p>Provides support for typesetting critical + editions of texts in a format similar to the Oxford + Classical Texts with marginal line numbers and + multiple series of footnotes and endnotes keyed by + line number. EDMAC<a id="id2877788" + class="indexterm" name="id2877788"></a><a + id="id2877796" class="indexterm" + name="id2877796"></a> is available from the CTAN + archives in the directory + <tt>macros/plain/contrib/edmac</tt>.</p> + </dd> + + <dt><span class="term">INRSTeX</span></dt> + + <dd> + <p>Provides support for multilingual documents in + French<a id="id2877842" class="indexterm" + name="id2877842"></a> and English. INRSTeX<a + id="id2877853" class="indexterm" + name="id2877853"></a><a id="id2877862" + class="indexterm" name="id2877862"></a> is + available from the CTAN archives in the directory + <tt>macros/inrstex</tt>.</p> + </dd> + + <dt><span class="term">LamSTeX</span></dt> + + <dd> + <p>Extends AMSTeX with LaTeX-like features and + improved support for commutative diagrams. + LamSTeX<a id="id2877908" class="indexterm" + name="id2877908"></a><a id="id2877921" + class="indexterm" name="id2877921"></a> is + available from the CTAN archives in + <tt>macros/lamstex</tt>.</p> + </dd> + + <dt><span class="term">REVTeX</span></dt> + + <dd> + <p>Extends LaTeX to provide support for typesetting + articles for journals of the American Physical + Society<a id="id2877974" class="indexterm" + name="id2877974"></a>, the Optical Society of + America<a id="id2877982" class="indexterm" + name="id2877982"></a>, and the American Institute + for Physics<a id="id2877992" class="indexterm" + name="id2877992"></a>. REVTeX<a id="id2878000" + class="indexterm" name="id2878000"></a><a + id="id2878010" class="indexterm" + name="id2878010"></a> is available in the directory + <tt>macros/latex/contrib/revtex</tt> of the CTAN + archives.</p> + </dd> + + <dt><span class="term">TeXsis</span></dt> + + <dd> + <p>Provides facilities for typesetting articles, + papers, and theses. It is particularly tuned for + physics papers. TeXsis<a id="id2878061" + class="indexterm" name="id2878061"></a><a + id="id2878071" class="indexterm" + name="id2878071"></a> also provides support for + other kinds of documents, such as letters and + memos. It is based upon Plain TeX. TeXsis is + available from the CTAN archives in the directory + <tt>macros/texsis</tt>.</p> + + <p>In addition to REVTeX and TeXsis, there are + several other packages in the <tt>macros</tt> + directory on CTAN that were designed for + typesetting documents about physics: PHYSE<a + id="id2878115" class="indexterm" + name="id2878115"></a><a id="id2878122" + class="indexterm" name="id2878122"></a>, PHYZZX<a + id="id2878134" class="indexterm" + name="id2878134"></a><a id="id2878141" + class="indexterm" name="id2878141"></a>, and + PSIZZLE<a id="id2878152" class="indexterm" + name="id2878152"></a><a id="id2878159" + class="indexterm" name="id2878159"></a>.</p> + </dd> + + <dt><span class="term">TeX/Mathematica</span></dt> + + <dd> + <p>Supports interactive use of Mathematica<a + id="id2878190" class="indexterm" + name="id2878190"></a> on unix workstations running + GNU emacs. Mathematica explorations can be + annotated with TeX/LaTeX, and Mathematica graphics + can be incorporated into documents. + TeX/Mathematica<a id="id2878198" class="indexterm" + name="id2878198"></a><a id="id2878213" + class="indexterm" name="id2878213"></a> is + available from the CTAN archives in the directory + <tt>macros/mathematica</tt>.</p> + </dd> + + <dt><span class="term">ScriptTeX</span></dt> + + <dd> + <p>Supports typesetting screenplays in TeX. + ScriptTeX<a id="id2878261" class="indexterm" + name="id2878261"></a><a id="id2878271" + class="indexterm" name="id2878271"></a> is + available from the CTAN archives in the directory + <tt>macros/scripttex</tt>.</p> + </dd> + + <dt><span class="term">VerTeX</span></dt> + + <dd> + <p>Supports typesetting articles for economic + journals. VerTeX<a id="id2878320" class="indexterm" + name="id2878320"></a><a id="id2878330" + class="indexterm" name="id2878330"></a> is + available from the CTAN archives in the directory + <tt>macros/plain/contrib/vertex</tt>.</p> + </dd> + </dl> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2878394" + name="id2878394"></a>Special-purpose Formats</h2> + </div> + </div> + + <p>In addition to the general-purpose packages <a + id="id2878402" class="indexterm" name="id2878402"></a> + discussed above, there are dozens, if not hundreds, of + extensions to TeX that are designed for very specific + tasks. Many of the extensions are LaTeX style files; they + provide styles for many academic journals, university + theses, resum\'es, diagrams of various sorts, PostScript + interfaces, linguistics, multinational language support, + unix “man” pages, program listings, and + countless other tasks.</p> + + <p>To give you a feel for the range of tasks that TeX can + perform, I've selected a few packages to highlight the + latitude of customization that is possible. Figure <a + href="ch04.html#fig.caffeine" + title="Figure 4.11. Caffeine by ChemTeX">Figure 4.11</a> + shows the chemical structure of caffeine (a molecule dear + to my heart) rendered with the ChemTeX<a id="id2878431" + class="indexterm" name="id2878431"></a><a id="id2878453" + class="indexterm" name="id2878453"></a> package. The source + is shown in Example <a + href="ch04.html#fig.caffeine-source" + title="Figure 4.12. The ChemTeX Source for Caffeine"> + Figure 4.12</a>. Another chemistry package, + ChemStruct<a id="id2878479" class="indexterm" + name="id2878479"></a><a id="id2878486" class="indexterm" + name="id2878486"></a>, was used to draw Figure <a + href="ch04.html#fig.lithium" + title="Figure 4.13. A lithium cation rendered by ChemStruct"> + Figure 4.13</a>. Its source is shown in + Example <a href="ch04.html#fig.lithium-source" + title="Figure 4.14. The ChemStruct Source for the Lithium Cation"> + Figure 4.14</a>. Taking TeX in another direction, the + MusicTeX<a id="id2878521" class="indexterm" + name="id2878521"></a><a id="id2878529" class="indexterm" + name="id2878529"></a> package was used to typeset the first + two bars of Mozart's K545 sonata in C-major in + Figure <a href="ch04.html#fig.mozart" + title="Figure 4.15. A little Mozart…">Figure 4.15</a>. + The MusicTeX input is shown in Example <a + href="ch04.html#fig.mozart-source" + title="Figure 4.16. The MusicTeX Source for Figure "> + Figure 4.16</a>. Several more examples are presented + in Chapter <a href="ch07.html" + title="Chapter 7. International Considerations">Chapter 7</a> + where formats for typesetting non-English languages are + described.</p> + + <div class="figure"> + <a id="fig.caffeine" name="fig.caffeine"></a> + + <p class="title"><b>Figure 4.11. Caffeine by + ChemTeX</b></p> + + <div class="mediaobject"> + <img src="caffeine.eps" /> + </div> + </div> + + <div class="figure"> + <a id="fig.caffeine-source" + name="fig.caffeine-source"></a> + + <p class="title"><b>Figure 4.12. The ChemTeX + Source for Caffeine</b></p> + + <div class="mediaobject"> + <a type="simple" show="embed" actuate="onLoad" + href="caffeine.tex"></a> + </div> + </div> + + <div class="figure"> + <a id="fig.lithium" name="fig.lithium"></a> + + <p class="title"><b>Figure 4.13. A lithium + cation rendered by ChemStruct</b></p> + + <div class="mediaobject"> + <img src="lithium.eps" /> + </div> + </div> + + <div class="figure"> + <a id="fig.lithium-source" name="fig.lithium-source"></a> + + <p class="title"><b>Figure 4.14. The ChemStruct + Source for the Lithium Cation</b></p> + + <div class="mediaobject"> + <a type="simple" show="embed" actuate="onLoad" + href="lithium.tex"></a> + </div> + </div> + + <div class="figure"> + <a id="fig.mozart" name="fig.mozart"></a> + + <p class="title"><b>Figure 4.15. A little + Mozart…</b></p> + + <div class="mediaobject"> + <img src="mozart.eps" /> + </div> + </div> + + <div class="figure"> + <a id="fig.mozart-source" name="fig.mozart-source"></a> + + <p class="title"><b>Figure 4.16. The MusicTeX + Source for Figure <a href="ch04.html#fig.mozart" + title="Figure 4.15. A little Mozart…">Figure 4.15</a></b></p> + + <div class="mediaobject"> + <a type="simple" show="embed" actuate="onLoad" + href="mozart.tex"></a> + </div> + </div> + + <p>Another popular special-purpose application of TeX is + the production of transparencies<a id="id2878799" + class="indexterm" name="id2878799"></a>, also called + foils<a id="id2878808" class="indexterm" + name="id2878808"></a> or slides<a id="id2878816" + class="indexterm" name="id2878816"></a>. There are a few + different options for this application.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2878827" + name="id2878827"></a>SliTeX</h3> + </div> + </div> + + <p>SliTeX is part of the standard LaTeX distribution. + Input to SliTeX consists of a main file and a slides + file. Individual slides are composed in a <tt>slide</tt> + environment.</p> + + <p>SliTeX<a id="id2878850" class="indexterm" + name="id2878850"></a><a id="id2878859" class="indexterm" + name="id2878859"></a> has provisions for black-and-white + slides, color slides, and overlays. Unlike the other + slide-making formats, which rely on \special printer + commands<sup>[<a id="id2878876" name="id2878876" + href="#ftn.id2878876">50</a>]</sup> to incorporate color, + SliTeX produces separate output pages for each color. For + example, if you use red to highlight words on an + otherwise black-and-white slide, SliTeX will produce two + output pages for the slide: one with all the black text + (excluding the words in red) and one with just the red + words. Both of these pages will be printed in black. You + must construct the colored slide by copying the pages + onto colored transparencies and overlaying them. + Producing slides with overlays in the same color is + accomplished with a special “invisible” + color. This method of producing colored transparencies + has been made obsolete by modern color printers. Of + course, nothing prevents you from using the \special + extensions of your DVI driver in SliTeX to produce + colored transparencies directly on a color printer.</p> + + <p>SliTeX has always been a separate macro package, + distinct from and not 100\% compatible with LaTeX. With + the introduction of LaTeX2e, SliTeX is simply an + extension package to the LaTeX2e core format. Support for + a separate SliTeX format is being phased out.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2878922" + name="id2878922"></a>FoilTeX</h3> + </div> + </div> + + <p>FoilTeX<a id="id2878931" class="indexterm" + name="id2878931"></a> is an extension of LaTeX for + producing slides. The primary advantage of FoilTeX over + SliTeX is that it is completely compatible with + LaTeX.<sup>[<a id="id2878942" name="id2878942" + href="#ftn.id2878942">51</a>]</sup> Note, however, that + the defaults in many cases are not precisely the same as + LaTeX because of the radically different goal of + FoilTeX.</p> + + <p>FoilTeX provides support for running headers and + footers, modified theorem environments for better + mathematics in slides, support for AMS and PostScript + fonts, and colors.</p> + + <p>Color slides in FoilTeX are handled by DVI driver + \special commands (most commonly <b>dvips</b> \specials). + However, FoilTeX includes a number of new and extended + features for better handling of color. See the section + “<a href="ch04.html#sec.texincolor" + title="AMSTeX">the section called + “AMSTeX”</a>” later in this chapter for + a detailed discussion of using color in TeX.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2878993" + name="id2878993"></a>Seminar</h3> + </div> + </div> + + <p>The Seminar<a id="id2879000" class="indexterm" + name="id2879000"></a> style is another alternative for + producing slides and notes. Like FoilTeX, the Seminar + style is designed to work on top of LaTeX. (Seminar also + works with AMSLaTeX.) \ The Seminar style is designed to + produce output for a PostScript printer. It isn't + strictly necessary to produce PostScript output, but if + you do not, many of Seminar's features will be + unavailable to you.</p> + + <p>Seminar provides for a mixture of portrait and + landscape styles and can support color using either a + color-separation technique (similar to SliTeX's method) + or direct use of PostScript color. In either case, the + PSTricks<a id="id2879012" class="indexterm" + name="id2879012"></a> macro package is required. (Consult + the section “<a + href="ch06.html#sec.pictures.pstricks" + title="PSTricks">the section called + “PSTricks”</a>” in Chapter <a + href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a>, + <span class="emphasis"><em><a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a></em></span>, + for more information.)</p> + + <p>The Seminar style has support for a number of + interesting options (including two-up printing of + slides), automatic resizing by changing a magnification + parameter, instructions for converting your SliTeX + slides, and several extensive demonstration files. Also + included are explicit instructions for placing + Encapsulated PostScript drawings in your slides.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2879086" + name="id2879086"></a>TeX in Color</h2> + </div> + </div> + + <p>With color printers<a id="id2879094" class="indexterm" + name="id2879094"></a><a id="id2879107" class="indexterm" + name="id2879107"></a> and copiers becoming more common, the + application of color, especially in transparencies, is more + important than ever. Unfortunately, TeX knows <span + class="emphasis"><em>nothing</em></span> about color.</p> + + <p>A little reflection about the design of TeX will make it + clear why this is the case. TeX produces device-independent + output. Even when color printers are as common as + “regular” printers, if that ever becomes the + case, it will always be true that color is an inherently + device-dependent attribute. It does not make sense for TeX + to understand color. However, this does not prevent TeX + from using color.</p> + + <p>At the lowest level, all that is required to use color + in TeX is some way of telling the printer “start + printing in <<span + class="emphasis"><em>color</em></span>> here.” + This is easily accomplished with a \special command. In the + discussion that follows, the <b>dvips</b> \special commands + are used as concrete examples, but conceptually, any color + printer can be used in this way.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2879169" + name="id2879169"></a>Setting Up Color</h3> + </div> + </div> + + <p>Color <a id="id2879178" class="indexterm" + name="id2879178"></a> support at the DVI driver level is + provided by \special commands, but these are not + typically convenient to enter directly into your + document. Frequently, these commands are specified in + terms of percentages of red, green, and blue (RGB color) + <a id="id2879192" class="indexterm" name="id2879192"></a> + or cyan, magenta, yellow, and black (CMYK color)<a + id="id2879209" class="indexterm" + name="id2879209"></a>.</p> + + <p>Higher-level support is provided by a collection of + color control sequences. These sequences are loaded + either by inputting the file <tt>colordvi.tex</tt><a + id="id2879233" class="indexterm" name="id2879233"></a> + (in Plain TeX, for example) or using the + <tt>colordvi</tt><a id="id2879253" class="indexterm" + name="id2879253"></a> style file (in LaTeX).</p> + + <p><b>dvips</b> defines the colors in terms of + “crayon names.” If you need very precise + control of the colors, you can adjust the precise mix of + CMYK values in the file <tt>colordvi.tex</tt> after + comparing the output of your printer with a standard + scale (typically, the PANTONE scale). The following color + names are standard in <b>dvips</b>.</p> + + <table class="simplelist" border="0" + summary="Simple list"> + <tr> + <td>Apricot</td> + + <td>Emerald</td> + + <td>OliveGreen</td> + + <td>RubineRed</td> + </tr> + + <tr> + <td>Aquamarine</td> + + <td>ForestGreen</td> + + <td>Orange</td> + + <td>Salmon</td> + </tr> + + <tr> + <td>Bittersweet</td> + + <td>Fuchsia</td> + + <td>OrangeRed</td> + + <td>SeaGreen</td> + </tr> + + <tr> + <td>Black</td> + + <td>Goldenrod</td> + + <td>Orchid</td> + + <td>Sepia</td> + </tr> + + <tr> + <td>Blue</td> + + <td>Gray</td> + + <td>Peach</td> + + <td>SkyBlue</td> + </tr> + + <tr> + <td>BlueGreen</td> + + <td>Green</td> + + <td>Periwinkle</td> + + <td>SpringGreen</td> + </tr> + + <tr> + <td>BlueViolet</td> + + <td>GreenYellow</td> + + <td>PineGreen</td> + + <td>Tan</td> + </tr> + + <tr> + <td>BrickRed</td> + + <td>JungleGreen</td> + + <td>Plum</td> + + <td>TealBlue</td> + </tr> + + <tr> + <td>Brown</td> + + <td>Lavender</td> + + <td>ProcessBlue</td> + + <td>Thistle</td> + </tr> + + <tr> + <td>BurntOrange</td> + + <td>LimeGreen</td> + + <td>Purple</td> + + <td>Turquoise</td> + </tr> + + <tr> + <td>CadetBlue</td> + + <td>Magenta</td> + + <td>RawSienna</td> + + <td>Violet</td> + </tr> + + <tr> + <td>CarnationPink</td> + + <td>Mahogany</td> + + <td>Red</td> + + <td>VioletRed</td> + </tr> + + <tr> + <td>Cerulean</td> + + <td>Maroon</td> + + <td>RedOrange</td> + + <td>White</td> + </tr> + + <tr> + <td>CornflowerBlue</td> + + <td>Melon</td> + + <td>RedViolet</td> + + <td>WildStrawberry</td> + </tr> + + <tr> + <td>Cyan</td> + + <td>MidnightBlue</td> + + <td>Rhodamine</td> + + <td>Yellow</td> + </tr> + + <tr> + <td>Dandelion</td> + + <td>Mulberry</td> + + <td>RoyalBlue</td> + + <td>YellowGreen</td> + </tr> + + <tr> + <td>DarkOrchid</td> + + <td>NavyBlue</td> + + <td>RoyalPurple</td> + + <td>YellowOrange</td> + </tr> + </table> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2879595" + name="id2879595"></a>Using Color</h3> + </div> + </div> + + <p>After <b>dvips</b> has loaded <tt>colordvi</tt>, + typesetting text in color is simply a matter of using the + appropriate color control sequence<a id="id2879619" + class="indexterm" name="id2879619"></a><a id="id2879629" + class="indexterm" name="id2879629"></a>. For example, to + typeset something in red, use the \Red control sequence + in your document, like this:</p> +<pre class="screen"> +\Red{something in red} +</pre> + + <p>Alternatively, you can change the default text color + with the \text\texttt{<span + class="emphasis"><em>color</em></span>} control + sequences. To make default color for all text blue, + enter:</p> +<pre class="screen"> +\textBlue +</pre> + + <p>To change the background color, use the \background + macro. For example, to make the current and all future + pages yellow, enter:</p> +<pre class="screen"> +\background{Yellow} +</pre> + + <p>You can enter a precise color by specifying it in + terms of its CMYK components. The \Color and \textColor + macros exist for this purpose. To typeset some text in a + color that is 25\% cyan, 35\% magenta, 40\% yellow, and + 10\% black,<sup>[<a id="id2879690" name="id2879690" + href="#ftn.id2879690">52</a>]</sup> enter:</p> +<pre class="screen"> +\Color{.25 .35 .4 .1}{some text} +</pre> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2879708" + name="id2879708"></a>Now I've Got Color, but I Need + Black and White!</h3> + </div> + </div> + + <p>If you have reason to print a colored TeX document on + a black and white printer, you don't have to tear out all + of the color commands. <b>dvips</b> includes a + <tt>blackdvi</tt> file <a id="id2879734" + class="indexterm" name="id2879734"></a>(analogous to + <tt>colordvi</tt><a id="id2879748" class="indexterm" + name="id2879748"></a>---an input file or style file + depending on your macro package), which translates all + color commands into black and white.</p> + + <p>Alternatively, “good” implementations of + PostScript in a black and white printer should translate + all colors into shades of grey. This can be an + inexpensive way to preview a color document. Most screen + previewers simply ignore color commands so they print in + black and white even if the document is colored.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2879774" + name="id2879774"></a>Color Under LaTeX2e</h3> + </div> + </div> + + <p>At the time of this writing, the LaTeX2e<a + id="id2879783" class="indexterm" name="id2879783"></a><a + id="id2879797" class="indexterm" name="id2879797"></a> + team has not officially adopted a standard for using + color. However, it is likely to follow a slightly + different model than the one described above. The final + design should provide color selection commands that are + device-independent at the DVI driver level (in other + words, the color commands will not insert device-specific + commands, like snippets of PostScript, into the + <tt>DVI</tt> files).</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2879830" + name="id2879830"></a>Color Is Subtle</h3> + </div> + </div> + + <p>Color commands implemented as \special commands may + introduce occasional problems. For example, if TeX + introduces a page break in a paragraph that you have + typeset in yellow (<tt>\Yellow{This is a long + paragraph...}</tt>), the resulting output may print the + page footer (and even the header) in yellow, although + that was not intended.</p> + + <p>Circumventing these problems may require careful use + of color commands in front of text that you want to + appear black. For example, in Plain TeX the difficulty + described above can be avoided by specifying that the + page number should be printed this way:</p> +<pre class="screen"> +\footline{\Black{\hss\tenrm\folio\hss}} +</pre> + + <p>This definition guarantees that the page number will + be set in black, and because it is a local color change, + colored text can flow across the page around it.</p> + + <p>You may want to make sure that other typographic + elements are printed in the current global color (which + may vary). <b>dvips</b> provides a local color macro + called \globalColor for that purpose. Every time the text + color is changed globally (with a \text\texttt{<span + class="emphasis"><em>Color</em></span>} command), + \globalColor is redefined to print text in that + color.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2879898" + name="id2879898"></a>Further Reading</h3> + </div> + </div> + + <p>Read the documentation for your DVI driver carefully + with respect to color. Because it is device-dependent, + there is a lot of room for interpretation, and it may not + always be obvious why some things appear the way they do. + And DVI drivers are free to implement color in any way + they choose.</p> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2874145" name="ftn.id2874145" + href="#id2874145">39</a>]</sup> At the time of this + writing, it's actually still in test-release, but it may + be available as a standard release by the time you read + this.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2874246" name="ftn.id2874246" + href="#id2874246">40</a>]</sup> On Macintosh systems and + other environments that don't have directories, format + files are typically stored in their own folders (or other + metaphorically appropriate place ;-).</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2874291" name="ftn.id2874291" + href="#id2874291">41</a>]</sup> The distinction between + big and small TeX is described in the section called + “<a href="ch03.html#run.sec.formatfiles" + title="What Do You Run?">the section called “What + Do You Run?”</a>” in Chapter <a + href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2874585" name="ftn.id2874585" + href="#id2874585">42</a>]</sup> {A small set of + exceptions is maintained because the algorithm isn't + perfect.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2874736" name="ftn.id2874736" + href="#id2874736">43</a>]</sup> {Really observant readers + may have noticed that it's a version of Garamond ;-)}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2875131" name="ftn.id2875131" + href="#id2875131">44</a>]</sup> {Of course, that's not + strictly true. You can change the page layout of LaTeX + (and most other packages) to be almost anything, but it + does require learning a lot about the macro package. If + you are already familiar with Plain TeX (or some other + Plain TeX-derived package), you probably have a set of + macros that produce documents in the style you like. Why + reinvent the wheel?</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2875268" name="ftn.id2875268" + href="#id2875268">45</a>]</sup> {Extended Plain TeX is + available in the <tt>macros/eplain</tt> directory in the + CTAN archives.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2875867" name="ftn.id2875867" + href="#id2875867">46</a>]</sup> {LaTeX2e will process + documents that use <tt>\ documentstyle</tt> in LaTeX 2.09 + compatibility mode.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2876004" name="ftn.id2876004" + href="#id2876004">47</a>]</sup> {Under emTeX, this + variable is called <tt>TEXINPUT</tt>. On the Macintosh, + file searching is frequently controlled by a + configuration file or dialog box.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2876148" name="ftn.id2876148" + href="#id2876148">48</a>]</sup> {Strictly speaking, this + is only true for files that have the extension + <tt>.sty</tt> because the old version of LaTeX will not + attempt to use the other files.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2876500" name="ftn.id2876500" + href="#id2876500">49</a>]</sup> {LaTeX is available in + the <tt>macros/latex/distribs/latex</tt> directory in the + CTAN archives.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2878876" name="ftn.id2878876" + href="#id2878876">50</a>]</sup> {The $\$<tt>special</tt> + mechanism is a way of passing arbitrary information + through TeX to the DVI driver that will ultimately print + the document.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2878942" name="ftn.id2878942" + href="#id2878942">51</a>]</sup> {With the caveat that it + still uses the Old Font Selection Scheme.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2879690" name="ftn.id2879690" + href="#id2879690">52</a>]</sup> {I made these numbers up. + I take no responsibility for the artistic merits (or lack + thereof) of the resulting color.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 3. Running TeX" + href="ch03.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Chapter 3. Running + TeX </td> + + <td width="20%" align="center"><a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Part II. Elements of a Complex + Document</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch05.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch05.html new file mode 100644 index 00000000000..ac0558358d6 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch05.html @@ -0,0 +1,3711 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 5. Fonts</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + <link rel="previous" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + <link rel="next" href="ch06.html" + title="Chapter 6. Pictures and Figures" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 6. Pictures and Figures" + href="ch06.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.fonts" + name="chap.fonts"></a>Chapter 5. Fonts</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>All of the common TeX macro packages use the Computer + Modern fonts<a id="id2855980" class="indexterm" + name="id2855980"></a><a id="id2855984" class="indexterm" + name="id2855984"></a><a id="id2855991" class="indexterm" + name="id2855991"></a><a id="id2877438" class="indexterm" + name="id2877438"></a> by default. In fact, the Computer + Modern fonts are so frequently used in TeX documents that + some people believe they are <span + class="emphasis"><em>the</em></span> TeX fonts and that no + other options are available.</p> + + <p>This is not the case. In fact, using different fonts in + TeX is quite easy. However, many interrelated font issues can + be quite complicated, and it is possible to do things that + make your documents print incorrectly (or make them + unprintable).</p> + + <p>This chapter explores all of the issues related to fonts + and how these issues are resolved by a combination of font + files, TeX macros, DVI drivers, and careful planning. At a + high level, it works like this:</p> + + <div class="orderedlist"> + <ol type="1"> + <li> + <p>TeX macros select a font (by assigning + \font\fontid=fonttfm). The macros may be very simple or + quite complex (as is the case in LaTeX's New Font + Selection Scheme).</p> + </li> + + <li> + <p>TeX loads the metric information from + <tt>fonttfm.tfm</tt><a id="id2879938" class="indexterm" + name="id2879938"></a>. Many implementations of TeX look + for this file in the directories on the + <tt>TEXFONTS</tt> path. TeX cannot process your + document if it cannot find the <tt>TFM</tt> file<a + id="id2879967" class="indexterm" + name="id2879967"></a>.<sup>[<a id="id2879974" + name="id2879974" + href="#ftn.id2879974">53</a>]</sup></p> + </li> + + <li> + <p>TeX writes a <tt>DVI</tt> file<a id="id2880010" + class="indexterm" name="id2880010"></a>. The + <tt>DVI</tt> file contains the name of each font (the + name of the <tt>TFM</tt> file) and the magnification + used (magnification is discussed in the section + “<a href="ch05.html#sec.issueofsize" + title="What TeX Needs To Know">the section called + “What TeX Needs To Know”</a>” later + in this chapter).</p> + </li> + + <li> + <p>The DVI driver attempts to locate font files for + each font used at each magnification. Depending on the + DVI driver, fonts can come from many places. Many + drivers consult a list of built-in fonts to see if the + desired font resides in the printer. Some also consult + a list of font substitutions. (This can be used to + substitute existing fonts for fonts that you do not + have, like Computer Modern Roman in place of Times + Roman if you don't have Times Roman.)</p> + + <p>Assuming that the font is not built-in<a + id="id2880077" class="indexterm" name="id2880077"></a> + or replaced by substitution of a built-in font, the DVI + driver looks for a font file. Most modern DVI drivers + look for <tt>PK</tt> fonts, although some also look for + <tt>GF</tt><a id="id2880109" class="indexterm" + name="id2880109"></a> and <tt>PXL</tt> fonts<a + id="id2880130" class="indexterm" name="id2880130"></a> + as well.</p> + + <p>The exact location of these files varies. Some + implementations look in the directories on the + <tt>TEXFONTS</tt> path, others look in the + <tt>TEXPKS</tt> or <tt>PKFONTS</tt> paths.</p> + + <p>A typical font directory on a unix system is + <tt>/usr/local/lib/tex/fonts/pk</tt>. The files in this + directory typically have names of the form + <tt>tfmname.999pk</tt>; where <span + class="emphasis"><em>tfmname</em></span> is the name of + the font and <span class="emphasis"><em>999</em></span> + is the resolution.</p> + + <p>On file systems which have short filenames (for + example, MS-DOS) a typical font directory is <tt>\bs + tex\bs fonts\bs 999dpi</tt> (or <tt>\bs tex\bs fonts\bs + dpi999</tt>).<sup>[<a id="id2880211" name="id2880211" + href="#ftn.id2880211">54</a>]</sup> The files are then + simply <tt>tfmname.pk</tt>.</p> + + <p>Some DVI drivers employ automatic font generation to + attempt to create the font if it cannot be found.</p> + </li> + + <li> + <p>The DVI driver produces output suitable for a + particular device. This may include one or more forms + of downloaded fonts as well as requests for built-in + fonts that are assumed to exist.</p> + </li> + </ol> + </div> + + <div class="note" + style="margin-left: 0.5in; margin-right: 0.5in;"> + <h3 class="title">Note</h3> + + <p>TeX output isn't printable directly. TeX typesets a + document in a device-independent fashion; it's the DVI + driver that actually <span + class="emphasis"><em>prints</em></span> the document. This + is important because many of the font issues are really DVI + driver issues more than TeX issues, and because the + distinction between TeXing a document and printing a + document is another layer of complexity that can be a + source of difficulty.,</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.issueofsize" name="sec.issueofsize"></a>What + TeX Needs To Know</h2> + </div> + </div> + + <p>TeX needs remarkably little information about a font. + Recall from Chapter <a href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a>, + <span class="emphasis"><em><a href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a></em></span>, + that TeX typesets each page using “boxes<a + id="id2880323" class="indexterm" name="id2880323"></a> and + glue<a id="id2880331" class="indexterm" + name="id2880331"></a>.” In order to perform this + function, TeX needs to know only the size of each character + (its width, height, and depth)<a id="id2880343" + class="indexterm" name="id2880343"></a><a id="id2880353" + class="indexterm" name="id2880353"></a><a id="id2880362" + class="indexterm" name="id2880362"></a><a id="id2880372" + class="indexterm" name="id2880372"></a><a id="id2880382" + class="indexterm" name="id2880382"></a><a id="id2880389" + class="indexterm" name="id2880389"></a><a id="id2880397" + class="indexterm" name="id2880397"></a>. In practice, TeX + fonts contain a little bit more information than simply the + size of each character. Generally, they contain ligature + and kerning information as well.</p> + + <p><span class="emphasis"><em>Ligatures</em></span><a + id="id2880416" class="indexterm" name="id2880416"></a> are + a typographic convention for replacing some letter + combinations with single symbols. In English, this is done + solely to improve the appearance of the letter + combinations. Figure <a href="ch05.html#fig.filig" + title="Figure 5.1. fi as two characters and as a ligature"> + Figure 5.1</a> shows a common ligature in English, + “fi.” Other common ligatures in English are + “ff”, “fl”, and the combinations + “ffi” and “ffl.” Other languages + have different ligatures.</p> + + <div class="figure"> + <a id="fig.filig" name="fig.filig"></a> + + <p class="title"> + <b>Figure 5.1. “fi” as two + characters and as a ligature</b></p> + + <div class="mediaobject"> + <img src="fi-ligs.eps" /> + </div> + </div> + + <p><span class="emphasis"><em>Kerning</em></span><a + id="id2880500" class="indexterm" name="id2880500"></a> is + the process of adding or removing small amounts of space + between characters to improve the appearance of particular + letter combinations. Although every character has a natural + width, some combinations of characters give the illusion of + too much or too little space. Figure <a + href="ch05.html#fig.kerning" + title="Figure 5.2. We unkerned and kerned">Figure 5.2</a> + shows a common example in the word “We.”</p> + + <div class="figure"> + <a id="fig.kerning" name="fig.kerning"></a> + + <p class="title"> + <b>Figure 5.2. “We” unkerned and + kerned</b></p> + + <div class="mediaobject"> + <img src="we-we.eps" /> + </div> + </div> + + <p>This is all the information that TeX needs, and it is + all that is contained in the <tt>TFM</tt> files that TeX + uses.<sup>[<a id="id2880575" name="id2880575" + href="#ftn.id2880575">55</a>]</sup></p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2880659" + name="id2880659"></a>Selecting a Font in TeX</h3> + </div> + </div> + + <p>TeX's macro language includes a \font primitive for + loading a font<a id="id2880668" class="indexterm" + name="id2880668"></a><a id="id2880678" class="indexterm" + name="id2880678"></a><a id="id2880691" class="indexterm" + name="id2880691"></a>. This primitive operation + associates a control sequence<a id="id2880701" + class="indexterm" name="id2880701"></a> with the metrics + in a particular <tt>TFM</tt> file. For example, the + following line associates the control sequence \tinyfont + with the metrics in <tt>cmr5.tfm</tt> (the Computer + Modern Roman 5pt font):</p> +<pre class="screen"> +\font\tinyfont=cmr5 +</pre> + + <div class="note" + style="margin-left: 0.5in; margin-right: 0.5in;"> + <h3 class="title">Note</h3> + + <p>Remember, only letters can appear in a TeX control + sequence. You cannot say \font\cmr5=cmr5 because \cmr5 + is not a valid control sequence.</p> + </div> + + <p>The control sequence defined with \font can + subsequently be used to change the current font. After + the above command, \tinyfont in your document selects the + Computer Modern Roman 5pt font as the current font.</p> + + <p>In practice, using the primitive operations to select + fonts has a number of disadvantages. Later in this + chapter, the worst of these disadvantages is described + and a better alternative is offered. For simplicity, the + primitive operations are used in most of the examples in + this chapter.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2880773" + name="id2880773"></a>Which Character Is Which?</h3> + </div> + </div> + + <p>How does TeX know which character<a id="id2880782" + class="indexterm" name="id2880782"></a> to use when it + reads a symbol from an input file? The answer is simple: + TeX considers each font to be an array of characters. It + uses the numeric ASCII<a id="id2880794" class="indexterm" + name="id2880794"></a> code of each character to determine + what element in the array to use.<sup>[<a id="id2880810" + name="id2880810" href="#ftn.id2880810">56</a>]</sup> This + is a reasonable and efficient scheme as long as the ASCII + values of the characters in your input file are the same + as the metric information that TeX is using.</p> + + <p>The section called “<a + href="ch05.html#sec.fonts.encodingvec" + title="Declaring a family">the section called + “Declaring a family”</a>” in this + chapter describes how the ordering of characters in a + font is determined. It also discusses some of the + problems that can arise when TeX and your printer have + conflicting information about the arrangement of + characters in the font. The “<a + href="ch05.html#sec.fonts.virtualfonts" + title="Virtual Fonts">the section called “Virtual + Fonts”</a>” section describes the TeX + mechanism for constructing fonts with different + arrangements of characters.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2880909" + name="id2880909"></a>The Issue of Size</h2> + </div> + </div> + + <p>In the purest sense, selecting a font determines only + what shape<a id="id2880917" class="indexterm" + name="id2880917"></a><a id="id2880921" class="indexterm" + name="id2880921"></a> each character will have; it does not + determine the size<a id="id2880932" class="indexterm" + name="id2880932"></a><a id="id2880939" class="indexterm" + name="id2880939"></a> of the font. Unfortunately in + practice, the issue of shape and size cannot be separated. + The same shapes <span + class="emphasis"><em>appear</em></span> to be different at + different sizes. <span class="emphasis"><em>Optical + scaling</em></span><a id="id2880960" class="indexterm" + name="id2880960"></a><a id="id2880967" class="indexterm" + name="id2880967"></a> uses different designs to make + letters at different sizes appear to have the same shape. + Conversly, linear scaling<a id="id2880980" + class="indexterm" name="id2880980"></a><a id="id2880987" + class="indexterm" name="id2880987"></a> produces characters + with exactly the same shape at different sizes, although + they appear slightly different.</p> + + <p>Because the size of an object affects the way that the + human eye and the brain perceive its shape, a simple linear + scaling of each character does not produce the most + aesthetically pleasing results. To overcome this problem, + TeX uses two different quantities to express the notion of + size: design size and magnification.</p> + + <p><span class="emphasis"><em>Design size</em></span><a + id="id2881047" class="indexterm" name="id2881047"></a> + addresses the issue of perception: a font looks most like + the way it was designed to appear when printed at or close + to its design size. Furthermore, two fonts with different + design sizes (say 8pt and 12pt) that are the same typeface + should <span class="emphasis"><em>appear</em></span> + identical when printed at 8pt and 12pt, respectively, even + though the actual shapes may be slightly different. The + design size of a font is intrinsic to the font itself and + cannot be changed or influenced by TeX. It is important + because it has a direct impact on the aesthetics of the + typeset page.</p> + + <p><span class="emphasis"><em>Magnification</em></span><a + id="id2881075" class="indexterm" name="id2881075"></a> + addresses the notion of linear scaling. Changing + magnifications changes the size of each character without + altering its actual shape. Although, as noted above, + changing its size may change its <span + class="emphasis"><em>apparent</em></span> shape. In + general, you should print fonts as close to their design + size as possible---in other words, with a magnifcation as + close to 1.0 as possible. Figure <a + href="ch05.html#fig.Rs" + title="Figure 5.3. The Computer Modern Roman letter R at 150pt: (a) from a 5pt design; (b) from a 17pt design"> + Figure 5.3</a> demonstrates how different characters + may look when printed at very large magnifications.</p> + + <div class="figure"> + <a id="fig.Rs" name="fig.Rs"></a> + + <p class="title"><b>Figure 5.3. The Computer + Modern Roman letter “R” at 150pt: (a) from a + 5pt design; (b) from a 17pt design</b></p> + + <div class="mediaobject"> + <img src="two-rs.eps" /> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.gettingtfms" + name="sec.gettingtfms"></a>Expressing Design Size in + TeX</h3> + </div> + </div> + + <p>The design size<a id="id2881175" class="indexterm" + name="id2881175"></a> of a font is an integral part of + the <tt>TFM</tt> file (because it is intrinsic to the + font that the <tt>TFM</tt> file<a id="id2881207" + class="indexterm" name="id2881207"></a> describes). In + order to select a different design size, you must select + a different <tt>TFM</tt> file. For example, the Computer + Modern Roman font is usually distributed at eight design + sizes: 5, 6, 7, 8, 9, 10, 12, and 17 points. Metrics for + these sizes are stored in the <tt>TFM</tt> files + <tt>cmr5.tfm</tt>, <tt>cmr6.tfm</tt>, <tt>cmr7.tfm</tt>, + $…$, and <tt>cmr17.tfm</tt>.</p> + + <p>Every font that you select has a specific design size, + even though you may elect to use the font at another + size.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2881284" + name="id2881284"></a>Expressing Magnification in + TeX</h3> + </div> + </div> + + <p>Magnification<a id="id2881294" class="indexterm" + name="id2881294"></a> can be expressed either implicitly + or explicitly in TeX. Implicitly, magnification can be + expressed by selecting a particular font <tt>at</tt> a + particular size. For example, the following line defines + the control sequence \big to be the Computer Modern Roman + 10pt font <tt>at</tt> a size of 12pt (an implicit + magnification of 120\%):</p> +<pre class="screen"> +\font\big=cmr10 at 12pt +</pre> + + <p>Explicit magnification is selected by requesting a + font <tt>scaled</tt> to a particular extent. For example, + the following line defines the control sequence \bigger + to be the Computer Modern Roman 10pt font at a + magnification of 144\% (in other words, at 14.4pt):</p> +<pre class="screen"> +\font\bigger=cmr10 scaled 1440 +</pre> + + <p>As you can see, TeX expects the <tt>scaled</tt> + magnification to be ten times the percentage of + magnification. The magnification that you request must be + an integer (you can't say <tt>scaled 1440.4</tt>). + Multiplying the magnification by 10 allows TeX to accept + fractional percentages like 104.5\%.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2881380" + name="id2881380"></a>Standard Magnifications</h3> + </div> + </div> + + <p>TeX provides seven standard magnifications. There are + several good reasons to use these magnifications whenever + possible. The most important is that most TeX systems can + easily print fonts at these sizes. As described later in + the section “<a href="ch08.html#sec.printing" + title="Printing Fonts">the section called “Printing + Fonts”</a>,” TeX's ability to select any font + at any magnification does not guarantee that it can be + printed at that size. By using standard sizes, you + increase the likelihood that your document will be + printable on your system and on other TeX systems (if + portability is an issue). Using standard sizes will also + give consistency to your documents. If you write many + documents separately that may eventually be collected + together (as a collection of short stories or a series of + technical reports, for example), the internal consistency + of sizes will make them appear more uniform. Finally, the + standard sizes have aesthetic characteristics as well. + Each size is 1.2 times the preceding size. The geometric + relationship between the sizes is designed to make them + appear pleasing when mixed together.</p> + + <p>The standard sizes can be selected with the \magstep + control sequence. The standard sizes (or steps) are + called <span class="emphasis"><em>magsteps</em></span> in + TeX jargon. The natural size of a font is its \magstep0 + size. The \magstep1 size is 20\% larger. And \magstep2 is + 20\% larger than that (44\% larger than the original + design), etc. To select the Computer Modern Roman 10pt + font at its next largest standard size, use:</p> +<pre class="screen"> +\font\larger=cmr10 scaled\magstep1 +</pre> + + <p>For those occasions when you want a font that is only + a little bit larger, TeX includes the control sequence + \magstephalf which is halfway between \magstep0 and + \magstep1.</p> + + <p>Most TeX formats that are based upon Plain TeX define + seven magsteps: \magstep0, \magstephalf, and \magstep1 + through \magstep5.</p> + + <p>By using different design sizes and different standard + magnifications, you gain access to a very wide range of + sizes. For example, given the seven standard design sizes + and seven standard magsteps, it is possible to print + Computer Modern Roman at any of the following sizes (all + sizes are in points):</p> + + <table class="simplelist" border="0" + summary="Simple list"> + <tr> + <td>5</td> + + <td>7.67</td> + + <td>9.6</td> + + <td>10.95</td> + + <td>13.15</td> + + <td>16.59</td> + + <td>19.91</td> + + <td>29.38</td> + </tr> + + <tr> + <td>5.48</td> + + <td>8</td> + + <td>9.86</td> + + <td>11.52</td> + + <td>13.82</td> + + <td>17</td> + + <td>20.4</td> + + <td>29.86</td> + </tr> + + <tr> + <td>6</td> + + <td>8.4</td> + + <td>10</td> + + <td>12</td> + + <td>14.4</td> + + <td>17.28</td> + + <td>20.74</td> + + <td>35.25</td> + </tr> + + <tr> + <td>6.57</td> + + <td>8.64</td> + + <td>10.08</td> + + <td>12.1</td> + + <td>14.52</td> + + <td>17.42</td> + + <td>22.39</td> + + <td>42.3</td> + </tr> + + <tr> + <td>7</td> + + <td>8.76</td> + + <td>10.37</td> + + <td>12.44</td> + + <td>14.93</td> + + <td>18.62</td> + + <td>24.48</td> + + <td>7.2</td> + </tr> + + <tr> + <td>9</td> + + <td>10.8</td> + + <td>12.96</td> + + <td>15.55</td> + + <td>18.66</td> + + <td>24.88</td> + + <td> </td> + + <td> </td> + </tr> + </table> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2881671" + name="id2881671"></a>Where Do TFM Files Come + From?</h3> + </div> + </div> + + <p>In order to use <span + class="emphasis"><em>any</em></span> font in TeX, you + must have a <tt>TFM</tt> file for it. How you can acquire + <tt>TFM</tt> files<a id="id2881705" class="indexterm" + name="id2881705"></a> for the fonts you use depends on + the kinds of fonts and where they were developed. The + following list offers suggestions for the most commonly + used fonts:</p> + + <div class="variablelist"> + <dl> + <dt><span class="term">PostScript fonts</span></dt> + + <dd> + <p>Every vendor that supplies PostScript fonts<a + id="id2881738" class="indexterm" + name="id2881738"></a><a id="id2881748" + class="indexterm" name="id2881748"></a> (either as + font files or built-in to a printer or cartridge) + should also supply Adobe Font Metric (<tt>AFM</tt>) + files. <tt>AFM</tt> files provide complete metric + information about the fonts.<sup>[<a id="id2881782" + name="id2881782" + href="#ftn.id2881782">57</a>]</sup> The + <tt>AFM</tt> files can be converted into + <tt>TFM</tt> files with the <b>afm2tfm</b> utility + distributed with <b>dvips</b>.</p> + </dd> + + <dt><span class="term">LaserJet built-in + fonts</span></dt> + + <dd> + <p>The complete metric information for LaserJet + built-in fonts<a id="id2881868" class="indexterm" + name="id2881868"></a> is supplied by + Hewlett-Packard in “Tagged Font Metric” + files. These are available directly from + Hewlett-Packard (unfortunately, they are not + distributed with the printers). The Tagged Font + Metrics can be converted into TeX <tt>TFM</tt> + files with <b>hptfm2pl</b>, a free utility written + by, well, me, actually.</p> + + <p>A collection of <tt>TFM</tt> files for the + standard built-in fonts on the LaserJet III and IV + printers is available in the CTAN archives in + <tt>/tex-archive/fonts/ljmetrics</tt>.</p> + </dd> + + <dt><span class="term">LaserJet softfonts</span></dt> + + <dd> + <p>Bitmapped LaserJet softfonts<a id="id2881950" + class="indexterm" name="id2881950"></a> can be + converted into TeX fonts with the <b>SFPtoPK</b><a + id="id2881968" class="indexterm" + name="id2881968"></a> utility. The resulting font + includes both TeX <tt>PK</tt> and <tt>TFM</tt> + files.</p> + + <p>Scalable LaserJet softfonts should be + distributed with Hewlett-Packard Tagged Font Metric + files. These can be converted into TeX <tt>TFM</tt> + files with the free utility <b>hptfm2pl</b><a + id="id2882018" class="indexterm" + name="id2882018"></a>.</p> + </dd> + + <dt><span class="term">TeX fonts + (<span>MetaFont</span>)</span></dt> + + <dd> + <p>The MetaFont<a id="id2882052" class="indexterm" + name="id2882052"></a> program renders TeX + <tt>MF</tt> files<a id="id2882076" + class="indexterm" name="id2882076"></a> and + produces a <tt>TFM</tt> file. Usually it produces a + <tt>GF</tt> file<a id="id2882115" class="indexterm" + name="id2882115"></a> as well, but the special mode + <span class="emphasis"><em>tfmonly</em></span> can + be used to create just the <tt>TFM</tt> + file.<sup>[<a id="id2882138" name="id2882138" + href="#ftn.id2882138">58</a>]</sup> MetaFont modes + and other aspects of font creation with MetaFont + are described in Chapter <a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a>, + <span class="emphasis"><em><a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a></em></span>.</p> + </dd> + + <dt><span class="term">TrueType fonts</span></dt> + + <dd> + <p>Incomplete metrics are frequently<a + id="id2882219" class="indexterm" + name="id2882219"></a> distributed in the form of + Windows' <tt>PFM</tt> files<a id="id2882240" + class="indexterm" name="id2882240"></a>. Some + commercial previewers for Windows can extract + metric information and build a <tt>TFM</tt> file. + However, at present, I do not know of any free + utilities which can build TeX metrics from TrueType + fonts.</p> + </dd> + </dl> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="sec.nfss2" + name="sec.nfss2"></a>The New Font Selection Scheme</h2> + </div> + </div> + + <p>The New Font Selection Scheme<a id="id2882292" + class="indexterm" name="id2882292"></a> is a method for + selecting fonts in Plain TeX and LaTeX. It was introduced + briefly in the section “<a + href="ch04.html#macpack.sec.latexvslatexe" + title="Installation: Making Format Files">the section + called “Installation: Making Format + Files”</a>” of Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>. + This section describes release two of the New Font + Selection Scheme (known as the NFSS2)<a id="id2882340" + class="indexterm" name="id2882340"></a> as it exists in the + LaTeX2e format. Because version one<a id="id2882349" + class="indexterm" name="id2882349"></a> is now obsolete, it + is not described.</p> + + <p>The NFSS defines a method of font selection used in + place of TeX's primitive \font command. The problem with + font selection using \font is that it ties a control + sequence to a particular font at a particular size, which + has unpleasant consequences when more than one font is used + in a document. Consider the definition \font\it=cmti10. + This associates the control sequence \it with the italic + Computer Modern font (at 10pt). After this definition, a + sentence like:</p> +<pre class="screen"> +This requires <span class="emphasis"><em>emphasis</em></span>. +</pre> + + <p>has the desired result, if Computer Modern Roman at 10pt + is the font in use when \it is encountered:</p> +<pre class="screen"> +\fontfamily{cmr}\selectfont +This requires <span class="emphasis"><em>emphasis</em></span>. +</pre> + + <p>If you are using some other font, perhaps in a chapter + heading, you get:</p> +<pre class="screen"> +\fontfamily{cmr}\fontseries{bx}\fontsize{14}{16pt}\selectfont +This requires {\fontfamily{cmr}\fontseries{m}\fontsize{10}{12pt}\selectfont +\it emphasis}. +</pre> + + <p>This is almost certainly not what you wanted. The NFSS + overcomes this difficulty by describing each font with five + independent parameters: encoding, family, series, shape, + and size.</p> + + <div class="variablelist"> + <dl> + <dt><span class="term">Font encoding</span></dt> + + <dd> + <p>The encoding<a id="id2882449" class="indexterm" + name="id2882449"></a> parameter identifies the + encoding vector of the font. Encoding vectors play an + important role in the selection of characters in a + font. Encoding vectors are described more thoroughly + later in this chapter. TeX Text, TeX Math Italic, and + Adobe Standard are all <span + class="emphasis"><em>encoding vectors</em></span><a + id="id2882461" class="indexterm" + name="id2882461"></a>.</p> + </dd> + + <dt><span class="term">Font family</span></dt> + + <dd> + <p>The family parameter describes the typeface of the + font<a id="id2882492" class="indexterm" + name="id2882492"></a>. Computer Modern, Times Roman, + Helvetica, Galliard, and Gill Sans are all <span + class="emphasis"><em>families</em></span>.</p> + </dd> + + <dt><span class="term">Font series</span></dt> + + <dd> + <p>Font series<a id="id2882523" class="indexterm" + name="id2882523"></a> describes the joint notions of + weight and width. Weight<a id="id2882533" + class="indexterm" name="id2882533"></a> is a measure + of how darkly each character is printed, and width<a + id="id2882543" class="indexterm" + name="id2882543"></a> is a measure of how wide or + narrow the font is. Standard abbreviations for weight + and width are shown in Table <a + href="ch05.html#tab.fontshapeww" + title="Table 5.1. Standard Weight and Width Designations "> + Table 5.1</a>. Normal, bold-compressed, + extrabold-ultraexpanded, and light-medium are all + examples of font <span + class="emphasis"><em>series</em></span>.</p> + + <div class="table"> + <a id="tab.fontshapeww" name="tab.fontshapeww"></a> + + <p class="title"><b>Table 5.1. Standard + Weight and Width Designations</b></p> + + <table + summary="Standard Weight and Width Designations " + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="left" /> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\rm\bf Abbr</th> + + <th align="left">\bf Weight</th> + + <th align="left">\rm\bf Abbr</th> + + <th align="left">\bf Width</th> + + <td class="auto-generated"> </td> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">ul</td> + + <td align="left">Ultra-light</td> + + <td align="left">uc</td> + + <td align="left">Ultra-condensed</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">el</td> + + <td align="left">Extra-light</td> + + <td align="left">ec</td> + + <td align="left">Extra-condensed</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">l</td> + + <td align="left">Light</td> + + <td align="left">c</td> + + <td align="left">Condensed</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">sl</td> + + <td align="left">Semi-light</td> + + <td align="left">sc</td> + + <td align="left">Semi-condensed</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">m</td> + + <td align="left">Medium (normal)</td> + + <td align="left">m</td> + + <td align="left">Medium</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">sb</td> + + <td align="left">Semi-bold</td> + + <td align="left">sx</td> + + <td align="left">Semi-expanded</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">b</td> + + <td align="left">Bold</td> + + <td align="left">x</td> + + <td align="left">Expanded</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">eb</td> + + <td align="left">Extra-bold</td> + + <td align="left">ex</td> + + <td align="left">Extra-expanded</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">ub</td> + + <td align="left">Ultra-bold</td> + + <td align="left">ux</td> + + <td align="left">Ultra-expanded</td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + + <p>The general rule for combining weight and width to + form a series abbreviation is to use the abbreviation + for weight followed by the abbreviation for width, + unless one is “medium,” in which case it + is left out. Table <a + href="ch05.html#tab.fontshapeex" + title="Table 5.2. Weight and Width Are Combined to Form Series "> + Table 5.2</a> shows how several weight/width + combinations are used to form the series. The series + designation for a light-medium font demonstrates that + a single medium attribute is omitted. If both the + width and weight are medium, use a single + “m” for the series.</p> + + <div class="table"> + <a id="tab.fontshapeex" name="tab.fontshapeex"></a> + + <p class="title"><b>Table 5.2. Weight and + Width Are Combined to Form Series</b></p> + + <table + summary="Weight and Width Are Combined to Form Series " + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Weight and Width</th> + + <th align="left">\bf Series</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">Bold extended</td> + + <td align="left">bx</td> + </tr> + + <tr> + <td align="left">Light medium</td> + + <td align="left">l</td> + </tr> + + <tr> + <td align="left">Medium extra-expanded</td> + + <td align="left">ex</td> + </tr> + + <tr> + <td align="left">Light extra-expanded</td> + + <td align="left">lex</td> + </tr> + + <tr> + <td align="left">Normal (medium, medium)</td> + + <td align="left">m</td> + </tr> + </tbody> + </table> + </div> + </dd> + + <dt><span class="term">Font shape</span></dt> + + <dd> + <p>The shape<a id="id2883001" class="indexterm" + name="id2883001"></a>, in conjunction with series, + defines the appearance of the font. Shape generally + refers to the style of the face. Bold, italic, + slanted, and outline are all examples of font + shape.</p> + + <p>The standard designations of font shape are shown + in Table <a href="ch05.html#tab.fontshapeshape" + title="Table 5.3. Standard Abbreviations of Font Shape"> + Table 5.3</a>.</p> + + <div class="table"> + <a id="tab.fontshapeshape" + name="tab.fontshapeshape"></a> + + <p class="title"><b>Table 5.3. Standard + Abbreviations of Font Shape</b></p> + + <table + summary="Standard Abbreviations of Font Shape" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\rm\bf Abbr.</th> + + <th align="left">\bf Shape</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">n</td> + + <td align="left">Normal</td> + </tr> + + <tr> + <td align="left">it</td> + + <td align="left">Italic</td> + </tr> + + <tr> + <td align="left">sl</td> + + <td align="left">Slanted</td> + </tr> + + <tr> + <td align="left">sc</td> + + <td align="left">Small caps</td> + </tr> + + <tr> + <td align="left">u</td> + + <td align="left">Upright italics</td> + </tr> + </tbody> + </table> + </div> + </dd> + + <dt><span class="term">Font size</span></dt> + + <dd> + <p>Font size<a id="id2883162" class="indexterm" + name="id2883162"></a> defines both the size of the + characters and the spacing between lines of text in + that size. The distinction between design size and + magnification, discussed at length in the first part + of this chapter, is hidden within the NFSS; you need + only select the size you want.<sup>[<a id="id2883176" + name="id2883176" + href="#ftn.id2883176">59</a>]</sup></p> + + <p>The spacing between lines of text is described as + the (vertical) distance between the baselines of two + consecutive lines of type. It is usually about 20\% + larger than the size of the font. For example, a 10pt + font is usually printed with 12pts between the + baselines of consecutive lines. The inter-line + distance that looks best depends on the font and + other design elements of the document. There really + isn't a good rule for the value that looks best, + which is why you have to specify it.</p> + </dd> + </dl> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.fonts.defnfss2" + name="sec.fonts.defnfss2"></a>Selecting Fonts with + the New Font Selection Scheme</h3> + </div> + </div> + + <p>One of the most visible differences in the NFSS2 is + that you are encouraged to change the way you select<a + id="id2883229" class="indexterm" name="id2883229"></a> + fonts. The NFSS2 defines nine control sequences<a + id="id2883241" class="indexterm" name="id2883241"></a> + for user-level font selection. They are shown in + Table <a href="ch05.html#tab.nfss2.userlevel" + title="Table 5.4. User-level Font Selection Control Sequences in NFSS2 "> + Table 5.4</a>.</p> + + <div class="table"> + <a id="tab.nfss2.userlevel" + name="tab.nfss2.userlevel"></a> + + <p class="title"><b>Table 5.4. User-level + Font Selection Control Sequences in NFSS2</b></p> + + <table + summary="User-level Font Selection Control Sequences in NFSS2 " + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Control Sequence</th> + + <th align="left">\bf Resulting Change</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\textrm\verb|{}|</td> + + <td align="left">Switch to roman family</td> + </tr> + + <tr> + <td align="left">\textsf\verb|{}|</td> + + <td align="left">Switch to sans-serif family</td> + </tr> + + <tr> + <td align="left">\texttt\verb|{}|</td> + + <td align="left">Switch to typewriter family</td> + </tr> + + <tr> + <td align="left">\textbf\verb|{}|</td> + + <td align="left">Switch to bold face + weight/width</td> + </tr> + + <tr> + <td align="left">\textmedium\verb|{}|</td> + + <td align="left">Switch to medium + weight/width</td> + </tr> + + <tr> + <td align="left">\textit\verb|{}|</td> + + <td align="left">Switch to italic shape</td> + </tr> + + <tr> + <td align="left">\textsl\verb|{}|</td> + + <td align="left">Switch to slanted shape</td> + </tr> + + <tr> + <td align="left">\textsc\verb|{}|</td> + + <td align="left">Switch to small-caps shape</td> + </tr> + + <tr> + <td align="left">\emph\verb|{}|</td> + + <td align="left">Switch to emphasized text</td> + </tr> + </tbody> + </table> + </div> + + <p>Instead of using \it, for example, to change to an + italic font within a group, you should use the \textit + command with the text as an argument. For example, + instead of using:</p> +<pre class="screen"> +This is some <span class="emphasis"><em>italic</em></span> text. +</pre> + + <p>you should use:</p> +<pre class="screen"> +This is some <span class="emphasis"><em>italic</em></span> text. +</pre> + + <p>The advantage of the new scheme is that these macros + are much more intelligent than the old ones. Notice that + I did not specify italic correction () in the second + case. This is because the \textit macro is able to + determine if the correction is necessary, and if so, + inserts it automatically.\ff{If you wish to suppress + italic correction, use \cs{nocorr} at the end (or + beginning) of the text.} The macros can also be + nested.</p> + + <p>The NFSS2 allows you to use the old font selection + macros, so existing documents will not be affected. If + you want to set several paragraphs in a different font, + you should continue to use the old selection macros + because you cannot pass more than one paragraph of text + to a macro.\ff[2]{It is possible to write macros that + accept multiple paragraphs of text, but the NFSS2 font + selection macros do not do so.}</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2883502" + name="id2883502"></a>Low-level interface to + NFSS</h4> + </div> + </div> + + <p>The user-level font selection commands are + implemented in terms of six low-level commands. At this + level, you must specify the encoding, family, series, + shape, and size of the font in order to select it. + There are six control sequences for selecting a font: + one each for specifying the font parameters and one for + actually switching to the new font. This strategy + allows the parameters to be independent; any parameters + that you do not explicitly change remain the same as + the current font.</p> + + <p>These six control sequences are:</p> + + <div class="variablelist"> + <dl> + <dt><span + class="term">\fontencoding{<i><tt>enc</tt></i>}</span></dt> + + <dd> + <p>Selects the encoding scheme + \textit<tt>enc</tt><a id="id2883556" + class="indexterm" name="id2883556"></a>. The + encoding schemes officially supported by the + NFSS2 are shown in Table <a + href="ch05.html#tab.nfss2.encoding" + title="Table 5.5. Encoding Schemes Supported by NFSS2"> + Table 5.5</a>.</p> + + <div class="table"> + <a id="tab.nfss2.encoding" + name="tab.nfss2.encoding"></a> + + <p class="title"> + <b>Table 5.5. Encoding Schemes + Supported by NFSS2</b></p> + + <table + summary="Encoding Schemes Supported by NFSS2" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Encoding</th> + + <td class="auto-generated"> </td> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\bf Scheme</td> + + <td align="left">\bf Encoding Name</td> + </tr> + + <tr> + <td align="left">T1</td> + + <td align="left">TeX text Cork + encoding</td> + </tr> + + <tr> + <td align="left">OT1</td> + + <td align="left">Old TeX text encoding + (the CMR encoding)</td> + </tr> + + <tr> + <td align="left">OT2</td> + + <td align="left">University of Washington + Cyrillic encoding</td> + </tr> + + <tr> + <td align="left">OT3</td> + + <td align="left">University of Washington + IPA encoding</td> + </tr> + + <tr> + <td align="left">OML</td> + + <td align="left">TeX math (italic) + letters</td> + </tr> + + <tr> + <td align="left">OMS</td> + + <td align="left">TeX math symbols</td> + </tr> + + <tr> + <td align="left">OMX</td> + + <td align="left">TeX math extended</td> + </tr> + + <tr> + <td align="left">U</td> + + <td align="left">Unknown encoding</td> + </tr> + </tbody> + </table> + </div> + </dd> + + <dt><span + class="term">\fontfamily{<i><tt>fam</tt></i>}</span></dt> + + <dd> + <p>Selects the family \textit<tt>fam</tt>.</p> + </dd> + + <dt><span + class="term">\fontseries{<i><tt>ser</tt></i>}</span></dt> + + <dd> + <p>Selects the series \textit<tt>ser</tt>.</p> + </dd> + + <dt><span + class="term">\fontshape{<i><tt>shp</tt></i>}</span></dt> + + <dd> + <p>Selects the shape \textit<tt>shp</tt>.</p> + </dd> + + <dt><span + class="term">\fontsize{<i><tt>ptsize</tt></i>}{<i><tt> + bskip</tt></i>}</span></dt> + + <dd> + <p>Selects the font size \textit<tt>ptsize</tt> + with a distance of \textit<tt>bskip</tt> between + lines. Note that \textit<tt>ptsize</tt> is a + simple number, whereas \textit<tt>bskip</tt> is a + TeX distance and you must specify units after the + number. Under the NFSS2, \textit<tt>ptsize</tt> + specifies the <span + class="emphasis"><em>actual</em></span> size of + the font,\ff{Under the NFSS1, the + \textit{\texttt{ptsize}} was simply a label; the + actual font loaded was the nearest magstep.} but + the NFSS2 will attempt to find a closest match if + there is no exact match for the requested size. A + warning message is issued if the size does not + exist and a closest match has to be selected. You + can control the sensitivity of the warning with + the \fontsubfuzz parameter. It is initially set + to 0.4pt, meaning that any font within 0.4pt of + the requested size will be used without issuing a + warning.</p> + </dd> + + <dt><span class="term">\selectfont</span></dt> + + <dd> + <p>Switches to the font described by the current + values of encoding, family, series, shape, and + size.</p> + </dd> + </dl> + </div> + + <p>From this description, can you figure out how the + control sequence <span + class="emphasis"><em>could</em></span> be defined under + the NFSS? See this footnote<sup>[<a id="id2855832" + name="id2855832" href="#ftn.id2855832">60</a>]</sup> + for the answer.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2855857" + name="id2855857"></a>Defining Fonts with NFSS2</h3> + </div> + </div> + + <p>The standard Computer Modern fonts and most PostScript + fonts can be selected by using the appropriate style + files or inputting the appropriate macros. However, if + you have nonstandard fonts or fonts for some other + device, you can easily add them to the NFSS<a + id="id2855870" class="indexterm" + name="id2855870"></a>.</p> + + <p>The internal interface to the NFSS has been entirely + redesigned. The new interface is much cleaner than the + interface to the NFSS1, but similar in design.</p> + + <p>If you are not very familiar with TeX, what follows + may be a bit confusing; treat this example as a sort of + “cookbook recipe” and substitute the font you + wish to define for the <tt>logo</tt> font (the + <tt>logo</tt> font is the typeface used for the MetaFont + logo).</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="sec.fonts.encodingvec" + name="sec.fonts.encodingvec"></a>Declaring a + family</h4> + </div> + </div> + + <p>In order to add a new typeface, you must declare a + new font family<a id="id2855932" class="indexterm" + name="id2855932"></a> with the control sequence + \DeclareFontFamily. If you are only adding new sizes or + shapes to an existing family, do not redeclare the + family.</p> + + <p>The parameters to \DeclareFontFamily are the + encoding, name, and loading options for the family. + Loading options are any commands that should be + executed every time this family is selected. For most + fonts, there are no loading options.<sup>[<a + id="id2855948" name="id2855948" + href="#ftn.id2855948">61</a>]</sup></p> + + <p>The following declaration creates the <span + class="emphasis"><em>logo</em></span> family with the + old TeX encoding and no loading options:</p> +<pre class="screen"> +\DeclareFontFamily{OT1}{logo}{} +</pre> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2884256" + name="id2884256"></a>Declaring shapes</h4> + </div> + </div> + + <p>After a family has been created, you must specify + what font shapes<a id="id2884266" class="indexterm" + name="id2884266"></a> are available with + \DeclareFontShape. To make the font usable, you must + declare at least one font shape for each family.</p> + + <p>The general form of a call to \DeclareFontShape + is:</p> +<pre class="screen"> +\DeclareFontShape{<i><tt>enc</tt></i>} + {<i><tt>fam</tt></i>} + {<i><tt>series</tt></i>} + {<i><tt>shape</tt></i>} + {<i><tt>sizes</tt></i>} + {<i><tt>loading options</tt></i>} +</pre> + + <p>The family <tt><i><tt>fam</tt></i></tt> (with the + appropriate encoding <tt><i><tt>enc</tt></i></tt>) must + already have been created with \DeclareFontFamily. The + <tt><i><tt>series</tt></i></tt> and + <tt><i><tt>shape</tt></i></tt> parameters identify the + name of the series and shape. Table <a + href="ch05.html#tab.fontshapeex" + title="Table 5.2. Weight and Width Are Combined to Form Series "> + Table 5.2</a> and Table <a + href="ch05.html#tab.fontshapeshape" + title="Table 5.3. Standard Abbreviations of Font Shape"> + Table 5.3</a> list some common series and shapes. + The \textit<tt>sizes</tt> parameter is a list of <span + class="emphasis"><em>font-shape + declarations</em></span>, described below, and the + \textit<tt>loading options</tt>, if specified, override + the loading options for the font family.</p> + + <p>Each font-shape declaration indicates how the + request for a font should be handled. The complete + syntax for font-shape declarations is described in + <span class="emphasis"><em>Interface Description of + NFSS2</em></span> [<a + href="bi01.html#nfss2interface">nfss2interface</a>]. + Here we look at three simple cases: substituting + another font for the one requested, generating the name + of the <tt>TFM</tt> file for the requested font, and + identifying a particular <tt>TFM</tt> file for a size + or range of sizes. Each of these techniques is used in + the declaration of the medium, normal logo font in + Example <a href="ch05.html#ex.logoshape" + title="Example 5.1. Font-shape Declaration with NFSS2"> + Example 5.1</a>. There should be no extra spaces + in the font size parameter. If you spread it over + multiple lines in your input file, make sure that a + comment character (\%) appears at the end of each + line.</p> + + <div class="example"> + <a id="ex.logoshape" name="ex.logoshape"></a> + + <p class="title"><b>Example 5.1. Font-shape + Declaration with NFSS2</b></p> +<pre class="screen"> +\DeclareFontShape{OT1}{logo}{m}{n}{ + <-8>sub * cmr/m/n + <8><9><10>gen * logo + <10.95>logo10 at 10.95pt + <12->logo10}{} +</pre> + </div> + + <p>Each font-shape declaration begins with one or more + size<a id="id2884513" class="indexterm" + name="id2884513"></a> specifications in angle brackets. + This indicates either a specific size + (<tt><10></tt> for a 10pt font) or a range of + sizes (<tt><8-9></tt> for any size larger than or + equal to 8pt and less than 9pt, <tt><-8></tt> for + all sizes less than 8pt, or <tt><10-></tt> for + all sizes larger than or equal to 10pt).</p> + + <p>In Example <a href="ch05.html#ex.logoshape" + title="Example 5.1. Font-shape Declaration with NFSS2"> + Example 5.1</a>, the first font-shape declaration + indicates that font substitution should be performed + for any request at a size smaller than 8pt. The string + <tt>cmr/m/n</tt> indicates that medium, normal, + Computer Modern Roman should be substituted in its + place. In general, the substitution specifies the + <tt><i><tt>family</tt></i>/<i><tt>shape</tt></i>/<i><tt> + series</tt></i></tt> to be substituted.</p> + + <p>The second declaration indicates that the name of + the external font for 8pt, 9pt and 10pt fonts should be + generated from the string <tt>logo</tt> and the size + (at 8pt, <tt>logo8</tt> will be used; at 9pt, + <tt>logo9</tt>; and at 10pt, <tt>logo10</tt>).</p> + + <p>The third declaration demonstrates that the font + specified (<tt>{logo10 at 10.95pt}</tt>) can be any + valid TeX font selection command. After special + declarations have been processed (substitution, + generation, etc.), the remaining declaration text is + passed to the TeX \font primitive.</p> + + <p>The last declaration specifies that <span + class="emphasis"><em>any</em></span> size larger than + 12pt is valid. Any size larger than 12pt will use the + font <tt>logo10</tt>, scaled appropriately. Automatic + font generation, if it is being used, can take care of + actually generating the font. Example <a + href="ch05.html#ex.logoshape" + title="Example 5.1. Font-shape Declaration with NFSS2"> + Example 5.1</a> was constructed to demonstrate + several features of the font-shape declaration syntax. + A simpler, more likely declaration for the medium + normal logo font is shown in Example <a + href="ch05.html#ex.logoshape2" + title="Example 5.2. Font-shape declaration with NFSS2 (simplified)"> + Example 5.2</a>.</p> + + <div class="example"> + <a id="ex.logoshape2" name="ex.logoshape2"></a> + + <p class="title"><b>Example 5.2. Font-shape + declaration with NFSS2 (simplified)</b></p> +<pre class="screen"> +\DeclareFontShape{OT1}{logo}{m}{n}{ + <-8>sub * cmr/m/n + <8-9>logo8 + <9-10>logo9 + <10->logo10}{} +</pre> + </div> + + <p>The 8pt design could have been scaled down for sizes + less than 8pt, but you should try to avoid large + deviations from the design size. Because the design for + my book does not require the logo font at sizes less + than 8pt, substitution was the best choice.<sup>[<a + id="id2884721" name="id2884721" + href="#ftn.id2884721">62</a>]</sup></p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2884733" + name="id2884733"></a>Storing Font Definitions</h3> + </div> + </div> + + <p>The NFSS will load your font definitions automatically + if you store them<a id="id2884743" class="indexterm" + name="id2884743"></a> in <tt>FD</tt> files<a + id="id2884764" class="indexterm" name="id2884764"></a> in + a directory where TeX looks for input files. Whenever an + unknown encoding/family is requested, NFSS attempts to + load the file <tt>encfamily.fd</tt>. For example, if the + font declarations described in the preceding sections are + stored in a file called <tt>OT1logo.fd</tt>, nothing + special has do be done to use the logo family. The first + time the logo family is selected, the definitions will be + read from <tt>OT1logo.fd</tt>.</p> + + <p>If you are using LaTeX2e (or LaTeX with the NFSS), + there must already be a large number of <tt>FD</tt> files + on your system. For more information about building the + LaTeX2e format (which includes the NFSS2), consult the + section “<a href="ch04.html#sec.buildlatexe" + title="Building the LaTeX2e format">the section called + “Building the LaTeX2e format”</a>” in + Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2884863" + name="id2884863"></a>Changing the Defaults</h3> + </div> + </div> + + <p>Sometimes you want the fonts that you define to + replace the standard Computer Modern fonts. This is + easily accomplished. The NFSS defines control sequences<a + id="id2884874" class="indexterm" name="id2884874"></a> + which identify the default fonts. These control sequences + are listed in Table <a + href="ch05.html#tab.nfssdefaults" + title="Table 5.6. Default Fonts ">Table 5.6</a>.</p> + + <div class="table"> + <a id="tab.nfssdefaults" name="tab.nfssdefaults"></a> + + <p class="title"><b>Table 5.6. Default + Fonts</b></p> + + <table summary="Default Fonts " border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Control Sequence</th> + + <th align="left">\bf Font</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\rmdefault</td> + + <td align="left">The default normal (roman) + font</td> + </tr> + + <tr> + <td align="left">\bfdefault</td> + + <td align="left">The default boldface font</td> + </tr> + + <tr> + <td align="left">\sfdefault</td> + + <td align="left">The default sans-serif font</td> + </tr> + + <tr> + <td align="left">\itdefault</td> + + <td align="left">The default italic font</td> + </tr> + + <tr> + <td align="left">\scdefault</td> + + <td align="left">The default caps and small-caps + font.</td> + </tr> + + <tr> + <td align="left">\defaultshape</td> + + <td align="left">The default shape + (<tt>n</tt>)</td> + </tr> + + <tr> + <td align="left">\defaultseries</td> + + <td align="left">The default series + (<tt>m</tt>)</td> + </tr> + </tbody> + </table> + </div> + + <p>If you have defined a new font, perhaps + <tt>garamond</tt> as I did for this book, you can make it + the default normal font by changing \rmdefault. In LaTeX, + the following command makes <tt>garamond</tt> the default + normal font:</p> +<pre class="screen"> +\renewcommand{\rmdefault}{garamond} +</pre> + + <p>In Plain TeX, it's written like this:</p> +<pre class="screen"> +\def\rmdefault{garamond} +</pre> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2885098" + name="id2885098"></a>NFSS Pitfalls</h3> + </div> + </div> + + <p>Defining your own fonts with the NFSS is + straightforward, but it is not without its subtleties. + There are several things going on behind the scenes that + you must be aware of if you are going to define your own + fonts.</p> + + <p>The first consideration is font substitution. When + NFSS cannot find a font, it tries to substitute a + different one. First, it tries to find the font you + requested in the default shape, then in the default + series, and finally, in the default family. You can + change the defaults used by NFSS2 with the + \DeclareFontSubstitution command:</p> +<pre class="screen"> +\DeclareFontSubstitution{<span +class="emphasis"><em>encoding</em></span>}{<span +class="emphasis"><em>family</em></span>}{<span +class="emphasis"><em>series</em></span>}{<span +class="emphasis"><em>shape</em></span>} +</pre> + + <p>You must specify the defaults for each encoding you + use because the encoding is never substituted.</p> + + <p>The next consideration is the use of mathematics<a + id="id2885156" class="indexterm" name="id2885156"></a><a + id="id2885166" class="indexterm" name="id2885166"></a>, + which is typeset using an entirely different set of + fonts. Even if you don't use any math in your document, + the NFSS is prepared to function in math-mode at a + moment's notice. In order to be prepared, it has to know + what fonts to use. Ordinarily, mathematics is typeset + using fonts at the same size as the current text font. + This means that every time you change font sizes for + text, NFSS changes font sizes for mathematics as + well.</p> + + <p>By default, the NFSS defines math fonts<a + id="id2885191" class="indexterm" name="id2885191"></a><a + id="id2885198" class="indexterm" name="id2885198"></a> + only at the following sizes: 5, 6, 7, 8, 9, 10, 11, 12, + 14, 17, 20, and 25pt. If you define a new font at a + different size, 24pt for example, the first time you try + to use that font, you will get several warning messages + indicating that <tt>cmr/m/n/24</tt> (Computer Modern + Roman), <tt>cmm/m/it/24</tt> (Computer Modern Math + Italic), <tt>cmsy/m/n/24</tt> (Computer Modern Math + Symbols), and <tt>lasy/m/n/24</tt> (LaTeX Symbols, if + using LaTeX), are not available. This is very confusing + because it won't appear that you have selected 24pt + Computer Modern <span + class="emphasis"><em>anywhere</em></span> in your + document.</p> + + <p>There are two ways to solve this problem:<sup>[<a + id="id2885254" name="id2885254" + href="#ftn.id2885254">63</a>]</sup></p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Redefine the required fonts at the sizes + requested. This involves copying the definition of + each of the fonts from NFSS <tt>FD</tt> files<a + id="id2885284" class="indexterm" + name="id2885284"></a> and adding new sizes.</p> + </li> + + <li> + <p>Tell NFSS to use existing math sizes for the new + text sizes that you define. This option is + reasonable only if you won't be using any math at + the new sizes (or the sizes are so close that the + mathematics doesn't appear disproportional). NFSS + includes a macro called \DeclareMathSizes for this + purpose. Insert it directly after the + \DeclareFontShape command that declares the new + font sizes. You must call \DeclareMathSizes once + for each new size. For example, to use the 25pt + math sizes with 24pt text, insert the following + control sequence after you define the 24pt + font:</p> +<pre class="screen"> +\DeclareMathSizes{25}{24}{20}{17} +</pre> + + <p>The general form of a call to \DeclareMathSizes + is:</p> +<pre class="screen"> +\DeclareMathSizes{<span class="emphasis"><em>text-size</em></span>} + <tt>{</tt><span +class="emphasis"><em>math-size</em></span><tt>}</tt> + <tt>{</tt><span +class="emphasis"><em>script-size</em></span><tt>}</tt> + <tt>{</tt><span +class="emphasis"><em>script-script-size</em></span><tt>}</tt> +</pre> + + <p>Where <span + class="emphasis"><em><tt>math-size</tt></em></span>, + <span + class="emphasis"><em><tt>script-size</tt></em></span>, + and <span + class="emphasis"><em><tt>script-script-size</tt></em></span> + are the normal (123), script ($x^{123}$), and + script-script ($x^{y^{123}}$) math sizes for the + specified <span + class="emphasis"><em><tt>text-size</tt></em></span>.</p> + </li> + </ul> + </div> + + <p>LaTeX sometimes resets the current font to the + \rmdefault font. For example, it does this when a \ref is + going to be printed. This means that the font you define + as the \rmdefault font should be available in every size + that you use. This may require redefining the Computer + Modern Roman font, as described above, if you add a new + size but leave Computer Modern as the default font.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2885459" + name="id2885459"></a>PostScript Fonts Under NFSS</h2> + </div> + </div> + + <p>PostScript fonts<a id="id2885469" class="indexterm" + name="id2885469"></a><a id="id2885481" class="indexterm" + name="id2885481"></a> and other scalable font technologies + like TrueType differ from the way the + “standard” TeX fonts work. They do not separate + the notions of design size and magnification. Instead, + PostScript fonts can be rendered at <span + class="emphasis"><em>any</em></span> size from a single + design. In daily use, the PostScript fonts under NFSS are + indistinguishable from non-PostScript fonts. The NFSS + distribution includes style files for accessing the 35 + standard PostScript fonts.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2885510" + name="id2885510"></a>Adjustments to Scale</h3> + </div> + </div> + + <p><a id="id2885518" class="indexterm" + name="id2885518"></a>Some combinations of PostScript + fonts, particularly PostScript fonts with Computer Modern + mathematics, look bad because there is a large + discrepancy between the apparent sizes of the fonts. For + example, as a consequence of design, 10pt Helvetica looks + bigger than 10pt Computer Modern Math Italic. In order to + correct this problem, you can specify a scaling factor + when declaring PostScript fonts.<sup>[<a id="id2885536" + name="id2885536" href="#ftn.id2885536">64</a>]</sup> The + scaling factor is specified in square brackets at the + beginning of the font-shape declaration in the + \DeclareFontShape command.</p> + + <p>The easiest way to find an approximation of the + correct scaling factor is to look at the <span + class="emphasis"><em>x-height</em></span> of each + font.<sup>[<a id="id2885557" name="id2885557" + href="#ftn.id2885557">65</a>]</sup> The x-height is the + height of a lowercase “x” in the font. The + following macro will print the x-height of a font:</p> +<pre class="screen"> +\def\showxheight#1{ + \font\fontfoo=#1 at 10pt + \message{The x-height of #1 at 10pt is \the\fontdimen5\fontfoo}} +</pre> + + <p>The following TeX input will print the x-heights of + Helvetica and Computer Modern Roman (assuming that your + Helvetica font is called <tt>phvr</tt>):</p> +<pre class="screen"> +\input showxheight +\showxheight{phvr} +\showxheight{cmr10} +\bye +</pre> + + <p>On my system, the x-height of Helvetica is 5.23pt and + the x-height of Computer Modern Roman is 4.30554pt. The + following font declaration makes Helvetica have the same + apparent size as Computer Modern Roman:</p> +<pre class="screen"> +\DeclareFontShape{OT1}{phv}{m}{n}{ + <-> [0.8232] phvr}{} +</pre> + + <p>Compare scaled Helvetica to unscaled Helvetica:</p> + + <p>FIXME: Unscaled Helvetica, Computer Modern Roman, + Scaled Helvetica</p> + + <p>Unscaled Helvetica looks much larger than Computer + Modern, but the scaled Helvetica appears a little too + small. Experimentation is the only way to find the scale + that looks best.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2885640" + name="id2885640"></a>When Things Go Wrong</h2> + </div> + </div> + + <p>A number of font-related problems can arise<a + id="id2885650" class="indexterm" name="id2885650"></a> + which either prevent you from formatting and printing your + document or cause the output to differ from what you + anticipated. The following sections describe many common + problems and their solutions.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2885669" + name="id2885669"></a>When TeX Complains</h3> + </div> + </div> + + <p>The first time an error can occur is when TeX is + processing your document. Some of these errors prevent + TeX from continuing while others are simply warnings.</p> + + <div class="variablelist"> + <dl> + <dt><span class="term"><tt>! Font \myfont=xxxxx not + loadable: Metric (TFM) file not + found.</tt></span></dt> + + <dd> + <p>This error indicates that TeX tried to process a + \font control sequence which assigned the font + <tt>xxxxx</tt> to the control sequence \myfont, but + TeX could not find a <tt>TFM</tt> file for the font + <tt>xxxxx</tt>. All the characters from the missing + font will be blank in the resulting <tt>DVI</tt> + file.</p> + + <p>You cannot process your document until this + error is corrected, which is a matter of fixing the + offending \font command if you are using the old + font selection scheme.</p> + + <p>Under the NFSS2, this error occurs if you + specify an invalid font in the command + \DeclareFontShape. Examine the font that you were + attempting to select and make sure that it + exists.</p> + </dd> + + <dt><span class="term"><tt>Warning Font/shape `x/y/z' + undefined on input line + <i><tt>n</tt></i></tt></span></dt> + + <dd> + <p>This is a warning message from the NFSS. It + indicates that you requested the font family + <tt>x</tt>, series <tt>y</tt>, and shape + <tt>z</tt>, but the requested font does not exist. + This message is followed by another indicating + which font NFSS chose to substitute in place of the + one you requested. NFSS substitutes the closest + possible font to the one you requested. It is + usually an acceptable replacement.</p> + + <p>For example, if you are currently using Computer + Modern Bold Extended and you select Computer Modern + Typewriter, the NFSS will report that there is no + bold-extended-typewriter font and that normal + typewriter is being substituted in its place.</p> + </dd> + + <dt><span class="term"><tt>! Font x/y/z/999 not + found.</tt></span></dt> + + <dd> + <p>This is a fatal error from the NFSS. It + indicates that you selected font family <tt>x</tt>, + series <tt>y</tt>, shape <tt>z</tt> at a size of + 999pts and that no such font exists. This error + occurs when the size 999 is not defined in the + \DeclareFontShape command for x/y/z.</p> + </dd> + + <dt><span class="term"><tt>Missing character: There + is no X in font foo!</tt></span></dt> + + <dd> + <p>This is a warning message from TeX. Usually it + occurs only in the log file. This error occurs when + you attempt to access a character that does not + exist in the current font. This can happen if you + select the wrong font or if the selected font has a + different encoding vector than anticipated. See the + section “<a + href="ch05.html#sec.fonts.encodingvec" + title="Declaring a family">the section called + “Declaring a family”</a>” in this + chapter for more information.</p> + </dd> + </dl> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2885907" + name="id2885907"></a>When the DVI Driver + Complains</h3> + </div> + </div> + + <p>Getting TeX to successfully produce a <tt>DVI</tt> + file<a id="id2885925" class="indexterm" + name="id2885925"></a> is only half the battle. The next + hurdle is getting a DVI driver to print it. Here are some + of the things that can go wrong:</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2885937" + name="id2885937"></a>Can't find PK file</h4> + </div> + </div> + + <p>When a DVI driver complains that it cannot find the + appropriate <tt>PK</tt> file, there are several things + that could be wrong.</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>The font is built into the printer.</p> + + <p>If the DVI driver complains that it cannot + find the <tt>PK</tt> file for a built-in font, + you need to adjust the DVI driver's configuration + to indicate that the font is built-in. Exactly + how this is done depends on the DVI driver that + you are using. For example, if you are using + <b>dvips</b>, add an entry to the + <tt>psfonts.map</tt> file<a id="id2886005" + class="indexterm" name="id2886005"></a>. If you + are using emTeX, add an entry to the font + substitution file specified in the configuration + file. Consult the references for your particular + DVI driver for more information about using + built-in fonts.</p> + </li> + + <li> + <p>The font does not exist on the printer you are + using.</p> + + <p>This is the same problem as the error above + except that it cannot be fixed. For example, I + have <tt>TFM</tt> files for many PostScript fonts + at home because it helps me format bits of + documentation that I bring home from work without + error. However, if I try to print one of these + documents without first changing the fonts, the + DVI driver complains that it cannot find several + fonts. There is no way that I can correct this + because the missing fonts are built-in fonts for + a printer that I do not have at home. In this + case, font substitution by the DVI driver may + allow you to preview (and even print) the + document, but it won't look very good unless the + font metrics of the substituted font are very + close to the metrics for the original.</p> + </li> + + <li> + <p>Uncommon size or font (no <tt>PK</tt> + file).</p> + + <p>The Computer Modern family contains a number + of fonts that are very rarely used. If you don't + keep <tt>PK</tt> files for these fonts around all + the time and attempt to use one of them (or + attempt to use a common font at a very unusual + size), the DVI driver will not be able to find + the necessary <tt>PK</tt> file. You have to build + the <tt>PK</tt> file first. Consult + Chapter <a href="ch11.html" + title="Chapter 11. Introducing MetaFont"> + Chapter 11</a> for more information about + building <tt>PK</tt> files with MetaFont. Also + consult the section called “<a + href="ch05.html#sec.autofont" + title="Automatic Font Generation by DVI Drivers">the + section called “Automatic Font Generation + by DVI Drivers”</a>” later in this + chapter.</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2886152" + name="id2886152"></a>Accents don't work or the + wrong characters are printed</h4> + </div> + </div> + + <p>This problem is usually caused by a bad encoding + vector. See the section “<a + href="ch05.html#sec.fonts.encodingvec" + title="Declaring a family">the section called + “Declaring a family”</a>” in this + chapter for more information.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2886177" + name="id2886177"></a>Printer prints the right + characters but the wrong font</h4> + </div> + </div> + + <p>This is usually an indication that you are trying to + use a font that does not exist on the printer. + PostScript printers, for example, substitute Courier + for any font that does not exist.</p> + + <p>Another possibility is that you have configured your + DVI driver incorrectly. I once told <b>dvips</b> to + download Galliard when I used Garamond. It took me + quite a while to find that error. Make sure that the + printer contains the fonts that you think it does and + make sure that you are mapping the TeX font names to + the correct printer fonts.</p> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2886211" + name="id2886211"></a>Encoding Vectors</h2> + </div> + </div> + + <p>An encoding vector<a id="id2886220" class="indexterm" + name="id2886220"></a> describes the order and position of + characters within a font. The purpose of this section is to + help you understand the role that encoding vectors play in + the translation of text from your input file to printed + output.</p> + + <p>Encoding vectors cause a lot of confusion. Whenever the + characters that you type in your input file are printed + incorrectly (“<tt>flight</tt>” in your input + file prints out as “ight”; + “\oe{}vres” prints out as + “\'uvres”; or “<tt>---</tt>” prints + out as “-{}-{}-” instead of “---”), + you've probably encountered some sort of encoding + problem.</p> + + <p>The root of this problem is that the characters in your + input file are really just numbers between 0 and + 255.<sup>[<a id="id2886286" name="id2886286" + href="#ftn.id2886286">66</a>]</sup> The number 65 is + usually a capital A, but there is nothing intrinsic to the + value 65 to signify this. In order to display these byte + values, they have to be translated into symbols.</p> + + <p>These problems arise because there are at least four + different translations occurring between what you type and + what appears on the printed (or previewed) page:</p> + + <div class="orderedlist"> + <ol type="1"> + <li> + <p>You type some symbols on the keyboard, and they + are displayed by your editor. The configuration of + your system determines how these characters appear. + Sometimes they are from the ISO Latin-1 symbol set, + sometimes US ASCII, sometimes something else, and + sometimes it is user configurable. If you confine + yourself to pure ASCII, you're pretty safe, but + that's not convenient for languages other than + English. When you are typing documents in Spanish, + it's very convenient to be able to type + “\ n” directly in your document.</p> + </li> + + <li> + <p>TeX reads your input file and translates it into + an internal encoding (basically ASCII). (The reverse + translation is performed before TeX prints any output + to the terminal or the log file.) The translation + tables used in this step are generally determined + when the TeX program is compiled, but several modern + TeXs allow you to modify these tables at runtime.</p> + + <p>TeX assumes that fonts use TeX's internal + encoding. For example, on an IBM mainframe, which + uses the EBCDIC character set<a id="id2886356" + class="indexterm" name="id2886356"></a>, TeX + translates a capital A (EBCDIC 193) into ASCII 65 and + assumes that position 65 of the metric information + for the current font contains the information + (including ligature and kerning information) for a + capital A.</p> + </li> + + <li> + <p>If you use control sequences to represent special + characters (\oe for “\oe”, for example), + the macro package you use is responsible for defining + those control sequences so they produce the correct + characters. If the macro package assumes that the + “\oe” character appears at position 247 + of the current font, the output will not be correct + in a font with a different encoding.</p> + </li> + + <li> + <p>The DVI driver reads TeX's <tt>DVI</tt> file and + assumes that the encoding vector of each font used in + the <tt>DVI</tt> file is the same as the encoding + vector of the actual fonts in the output device. For + <tt>PK</tt> fonts, this is probably true (since the + DVI driver sends the font to the printer), but for + fonts built into the printer, it is less likely to be + true.</p> + </li> + </ol> + </div> + + <p>You may think of a font as a collection of 1 to 256 + different symbols in a particular order. This is really a + font plus a particular encoding vector. It is more accurate + to think of a font as simply a collection of symbols (with + no particular number or ordering). An encoding vector + selects which symbols are used and in what order they + appear. Typically, an encoding vector can contain only 256 + different symbols. It is important to note that changing an + encoding vector of a font does not simply permute the order + of the characters in the font, it can change which symbols + are actually present as well.</p> + + <p>Encoding vectors are either implicit or explicit. Most + fonts have an implicit encoding, but some (for example, + Adobe Type 1 fonts) contain an explicit, configurable + encoding. TeX fonts have an implicit encoding. TeX actually + uses several different encoding vectors (it uses more than + one because it has both text or body fonts and several + kinds of math and symbol fonts). The character set tables + in Appendix <a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a>, + <span class="emphasis"><em><a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a></em></span>, + show the encoding of several different fonts.</p> + + <p>\font\mathit=cmmi10 Most macro packages assume that the + TEX TEXT encoding is being used. For example, Plain TeX + defines the control sequence \AE as an abbreviation for + character number 29 in the current font. Even when control + sequences aren't involved, problems can arise if the output + font does not have the anticipated encoding. The byte-value + 34 in your input file is almost always the literal double + quote character (<tt>"</tt>) and usually prints as a double + quote (which is probably what your editor displays and + probably what you expect). If the font encoding is + something different, the result will not be what you + expect. For example, if the current font has the TEX MATH + ITALIC encoding, the result is + “{\mathit\char34}”.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.fonts.virtualfonts" + name="sec.fonts.virtualfonts"></a>Virtual Fonts</h2> + </div> + </div> + + <p>Virtual fonts<a id="id2886658" class="indexterm" + name="id2886658"></a><a id="id2886666" class="indexterm" + name="id2886666"></a> (stored in <tt>VF</tt> files<a + id="id2886687" class="indexterm" + name="id2886687"></a><sup>[<a id="id2886706" + name="id2886706" href="#ftn.id2886706">67</a>]</sup>) are a + relatively new addition to the TeX family. When TeX was + originally defined in 1970, Knuth<a id="id2886736" + class="indexterm" name="id2886736"></a> chose a character + encoding that suited his purposes, and very little effort + was made to parameterize the encoding. (In fact, any TeX + macro writer can use <span + class="emphasis"><em>any</em></span> encoding she wants, + but no general mechanism for identifying the encoding + exists.<sup>[<a id="id2886754" name="id2886754" + href="#ftn.id2886754">68</a>]</sup>) Virtual fonts combat + this problem by allowing the creator to define a virtual + font in terms of (multiple) characters from one or more + fonts.</p> + + <p>Virtual fonts are used most commonly to change the + encoding vector of a font. This provides a convenient way + of mapping different fonts into the required encoding so + that they are easy to use in TeX. A virtual font consists + of a <tt>VF</tt> file and a <tt>TFM</tt> file. TeX uses the + <tt>TFM</tt> file as it would any other.</p> + + <p>Figure <a href="ch05.html#fig.vfdiagram" + title="Figure 5.4. How TeX uses a virtual font">Figure 5.4</a> + shows how a virtual font is used by the TeX system. In this + case, a virtual font <tt>ctmr</tt> has been created + combining characters from the fonts <tt>trr0n</tt>, + <tt>trr6m</tt>, <tt>trr6j</tt>, and <tt>trr10j</tt>.</p> + + <div class="figure"> + <a id="fig.vfdiagram" name="fig.vfdiagram"></a> + + <p class="title"><b>Figure 5.4. How TeX uses a + virtual font</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>The document uses the font <tt>ctmr</tt>. TeX uses the + font metric information in <tt>ctmr.tfm</tt> to compose the + <tt>DVI</tt> file. The DVI driver, however, discovers a + <tt>VF</tt> file named <tt>ctmr</tt>, so it uses the + instructions in the virtual font to select characters from + the four built-in fonts. This is a practical example. It + shows how the HP LaserJet built-in fonts may be accessed + with the standard TeX text encoding.</p> + + <p>In practice, virtual fonts suffer from one limitation: A + virtual font can only permute the encoding vector; it + cannot access characters that do not appear in the encoding + vector of the “real” font. For example, an + Adobe Type 1 font might contain all of the characters + that appear in the TeX text encoding, but many of them do + not appear in the standard Adobe encoding vector. A virtual + font alone cannot remap the characters into the TeX text + encoding. The encoding vector of the font must also be + changed. Several PostScript DVI drivers have this + ability.</p> + + <p>Virtual fonts are binary files and are very difficult to + edit. To make it possible to construct virtual fonts by + hand, TeX includes standard utilities (<b>VFtoVP</b><a + id="id2886971" class="indexterm" name="id2886971"></a> and + <b>VPtoVF</b><a id="id2886985" class="indexterm" + name="id2886985"></a>) for converting the binary + <tt>VF</tt> format into a human-readable <tt>VPL</tt> + format. The <tt>VPL</tt> files are text files that can be + edited with a text editor.</p> + + <p>A complete description of how to create virtual fonts is + beyond the scope of this book. If you are interested in + experimenting with virtual fonts, I strongly recommend that + you examine the <b>fontinst</b> package.<sup>[<a + id="id2887038" name="id2887038" + href="#ftn.id2887038">69</a>]</sup> <b>fontinst</b><a + id="id2887070" class="indexterm" name="id2887070"></a> + allows you to construct <tt>VPL</tt> files with TeX + documents. This isn't as strange as it first sounds. + Virtual font files have to include the metric information + from <tt>TFM</tt> files for each font that they include. + Because TeX can easily read this information, and the + output is a plain text document anyway, TeX is a very + capable, if somewhat slow, tool.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.autofont" name="sec.autofont"></a>Automatic + Font Generation by DVI Drivers</h2> + </div> + </div> + + <p>Recent releases of many popular DVI drivers (\dvips<a + id="id2887119" class="indexterm" name="id2887119"></a>, + xdvi<a id="id2887132" class="indexterm" + name="id2887132"></a>, \SeeTeX<a id="id2887140" + class="indexterm" name="id2887140"></a>, and emTeX<a + id="id2887151" class="indexterm" name="id2887151"></a>'s + DVI drivers, to name a few) include the ability to generate + missing fonts automatically<a id="id2887162" + class="indexterm" name="id2887162"></a><a id="id2887174" + class="indexterm" name="id2887174"></a>. Automatic font + generation overcomes two problems simultaneously: it + reduces disk space requirements, and it makes font + generation easier. Most implementations of TeX are + distributed with a complete set of Computer Modern fonts at + seven or more magnifications. This can easily amount to + several megabytes of disk space (even more if you are using + other fonts, like the \AmS fonts<a id="id2887193" + class="indexterm" name="id2887193"></a> from the American + Mathematical Society<a id="id2887205" class="indexterm" + name="id2887205"></a>). In practice, you probably use only + a small subset of these fonts.</p> + + <p>One way to combat the disk-space problem is to delete + all of the TeX fonts on your system and build just the ones + you actually use. In the days before automatic font + generation, this would have been quite unpleasant. The + first time you discovered that you needed a font that you + did not have, you would have to stop your DVI driver, + figure out what size was missing, figure out how to get + MetaFont to build the font that was missing at the + appropriate resolution, run MetaFont, store the font in the + right place, and return to your DVI driver. Moments later, + you might discover that you had to do the whole process + again for some other font.</p> + + <p>Using a driver that provides automatic font generation + makes it nearly painless to delete fonts and let them be + built automatically.<sup>[<a id="id2887238" + name="id2887238" href="#ftn.id2887238">70</a>]</sup> The + DVI driver determines the resolution required, runs + MetaFont with the appropriate parameters, stores the font + in the correct place, and continues processing the document + uninterrupted.</p> + + <p>The down side of automatic font generation is that you + must keep the MetaFont program around and make available + the source files for the Computer Modern fonts (and any + other MetaFont fonts that you use). If you do not already + have these files on your hard disk, the potential disk + space savings are somewhat reduced. (MetaFont is discussed + fully in Chapter <a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a>.) + Moreover, automatic font generation can only build + <tt>PK</tt> files<a id="id2887281" class="indexterm" + name="id2887281"></a>; if <tt>TFM</tt> files are also + missing, you will have to build those by hand before TeX + can process your document.<sup>[<a id="id2887312" + name="id2887312" href="#ftn.id2887312">71</a>]</sup></p> + + <p>Another benefit of automatic font generation is that it + can be used to provide previewers, even non-PostScript + previewers, with the ability to preview documents that use + PostScript fonts, provided that you have the Printer Font + ASCII (<tt>PFA</tt>)<a id="id2887344" class="indexterm" + name="id2887344"></a> or Printer Font Binary + (<tt>PFB</tt>)<a id="id2887363" class="indexterm" + name="id2887363"></a> font sources and Adobe Font Metric + (<tt>AFM</tt>)<a id="id2887382" class="indexterm" + name="id2887382"></a> for your PostScript fonts.</p> + + <p>The following lines, added to the <tt>MakeTeXPK</tt><a + id="id2887401" class="indexterm" name="id2887401"></a> + script distributed with <b>dvips</b>, provide automatic + font generation for PostScript fonts with <b>ps2pk</b><a + id="id2887423" class="indexterm" name="id2887423"></a>. + This is useful even on systems where PostScript printers + are used for output, because previewers like <b>xdvi</b><a + id="id2887438" class="indexterm" name="id2887438"></a> also + use <b>MakeTeXPK</b> to build missing fonts.</p> +<pre class="screen"> +# Look for a PostScript outline font... +if [ -r /usr/local/lib/tex/ps/outlines/$NAME.pfa ] +then + echo Building TeX font from PostScript outline + # Hack. If $6 is null, $DESTDIR => $6 ... + PStoTeXfont $1 $2 $3 $4 $5 $6 $DESTDIR + exit 0 +else + echo Building TeX font from MetaFont outline +fi +</pre> + + <p>In this example, PostScript fonts are stored in the + <tt>/usr/local/lib/tex/ps/outlines</tt> directory. You + should change this directory to something appropriate for + your system. On a unix system, the <b>PStoTeXfont</b> + script shown in Example <a + href="ch05.html#ex.pstotexfont" + title="Example 5.3. The PStoTeXfont script">Example 5.3</a> + is appropriate.<sup>[<a id="id2887500" name="id2887500" + href="#ftn.id2887500">72</a>]</sup> A <b>Perl</b> version + of <b>MakeTeXPK</b> that handles both MetaFont and + PostScript fonts is shown in Example <a + href="apd.html#ex.maketexpk" + title="Example D.1. MakeTeXPK.pl">Example D.1</a> + in Appendix <a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a>, + <span class="emphasis"><em><a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a></em></span>.</p> + + <div class="example"> + <a id="ex.pstotexfont" name="ex.pstotexfont"></a> + + <p class="title"><b>Example 5.3. The + PStoTeXfont script</b></p> +<pre class="screen"> +#!/usr/local/bin/bash +# +# This script file makes a new TeX font from a PS outline. +# +# Parameters are: +# +# name dpi bdpi [mag mode destdir] +# +# `name' is the name of the font, such as `ptmr'. `dpi' +# is the resolution the font is needed at. `bdpi' is +# the base resolution. +# +# This script ignores the remaining parameters. They are +# left here to document the fact that the caller may provide +# them. They may be provided because the caller thinks +# MetaFont is going to do the work... +# +# Of course, this needs to be set up for your site. +# +# TEMPDIR needs to be unique for each process because of the +# possibility of simultaneous processes running this script. + +TEMPDIR=/tmp/temp-tex-PS.$$ +NAME=$1 +DPI=$2 +BDPI=$3 + +LOCALDIR=/usr/local/lib/mf/fonts +DESTDIR=$LOCALDIR/pk + +BASENAME=$NAME.$DPI +PFADIR=/usr/local/lib/tex/ps/outlines + +# Clean up on normal or abnormal exit +trap "cd /; rm -rf $TEMPDIR" 0 1 2 15 + +mkdir $TEMPDIR +cd $TEMPDIR + +# We proceed by making a 10pt font at the resolution +# requested... +echo Making ${DPI}dpi version of $NAME. +ps2pk -X$DPI -P10 -a$PFADIR/$NAME.afm $PFADIR/$NAME.pfa ${BASENAME}pk + +mv ${BASENAME}pk $DESTDIR + +exit 0 +</pre> + </div> + + <p>A similar script for using automatic font generation + under emTeX with <b>4DOS</b> is shown in Examples <a + href="apd.html#ex.dvidxx" + title="Example D.3. dvidxx.btm">Example D.3</a> + and <a href="apd.html#ex.makepk" + title="Example D.4. makepk.btm">Example D.4</a> + in Appendix <a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a>. + Several other options are available for performing + automatic font generation on a number of platforms, + including a <b>REXX</b> version for OS/2 and a compiled + program called <b>MKTeXPK</b>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.t1fonts" name="sec.t1fonts"></a>Math Fonts in + TeX</h2> + </div> + </div> + + <p>Changing math fonts<a id="id2887679" class="indexterm" + name="id2887679"></a><a id="id2887686" class="indexterm" + name="id2887686"></a> is more difficult than changing text + fonts. In addition to the large number of special symbols + that must be available, TeX needs a lot more information to + use the fonts because the characters are combined more + frequently and in more complex ways. For example, the open + brace character (\{) in math mode is + “extensible;” this means that it can be as + large as required. In order for TeX to construct a brace of + arbitrary size, one of the math fonts (the math extensions + font) contains four different characters that TeX combines + to form the brace:</p> + + <p>FIXME: brace pieces</p> + + <p>Extensible recipes for characters like “\{”, + “\}”, “(”, and “)” are + examples of additional metric information that must be + available in math fonts for TeX.</p> + + <p>In addition to the Computer Modern math fonts, there are + really only three other choices at present: the \AmS + fonts<a id="id2887745" class="indexterm" + name="id2887745"></a> (MetaFont fonts freely distributed by + the American Mathematical Society<a id="id2887758" + class="indexterm" name="id2887758"></a> which extend but do + not replace the Computer Modern math fonts), the Lucida + Bright+New Math fonts<a id="id2887768" class="indexterm" + name="id2887768"></a>, and the MathTime fonts<a + id="id2887778" class="indexterm" name="id2887778"></a>. + Lucida Bright and MathTime are both sets of commercial + PostScript Type 1 fonts.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2887790" + name="id2887790"></a>Concrete Examples</h2> + </div> + </div> + + <p>The following sections describe by example how you can + use several different kinds of fonts in TeX. The tools + described are generally free and generally available for + multiple platforms. Where specific commercial tools are + used, free alternatives are discussed.</p> + + <p>The specific tools I mention here are not the only tools + available nor are they necessarily the best, although I + hope I've found the best ones. If you have found a + different and better solution, don't abandon it in favor of + what I use here. But please do tell me about the method + that you have found. With every passing day, more free + software becomes available.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2887816" + name="id2887816"></a>MetaFont Fonts</h3> + </div> + </div> + + <p>Chapter <a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a> + describes how to use MetaFont to create fonts for TeX.<a + id="id2887825" class="indexterm" name="id2887825"></a><a + id="id2887847" class="indexterm" name="id2887847"></a> If + you have MetaFont installed, you can easily create fonts + that are usable in TeX.</p> + + <p>MetaFont reads <tt>MF</tt> files, which are plain text + files that describe a font analogous to the way TeX reads + <tt>TEX</tt> files that describe a document.</p> + + <p>Appendix <a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a>, + <span class="emphasis"><em><a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a></em></span>, + contains examples of many MetaFont fonts. Consult the + “Definitive List of All Fonts Available for + {MetaFont}” [<a + href="bi01.html#lreq:metafonts">lreq:metafonts</a>] for + an up-to-date list with availability information.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2887929" + name="id2887929"></a>PostScript Type 1 Fonts</h3> + </div> + </div> + + <p>PostScript printers have many PostScript Type 1<a + id="id2887939" class="indexterm" name="id2887939"></a><a + id="id2887949" class="indexterm" name="id2887949"></a> + fonts built in. If you want to use built-in fonts, you + only need the metric information for them and a + PostScript DVI driver. The <b>dvips</b> driver is the + most popular free DVI driver. Several commercial drivers + are also available.</p> + + <p>The metric information should be available in the form + of Adobe Font Metric (<tt>AFM</tt>) files<a + id="id2887986" class="indexterm" name="id2887986"></a> + from the printer vendor or directly from Adobe Systems<a + id="id2888007" class="indexterm" name="id2888007"></a>, + Inc. You need a program that will convert <tt>AFM</tt> + files into <tt>TFM</tt> files<a id="id2888034" + class="indexterm" name="id2888034"></a>. There are + several free programs that will do this conversion (one + is included with <b>dvips</b>), and your DVI driver may + have included one. In general, if one came with your DVI + driver, that is the one you should use.</p> + + <p>If you want to use PostScript Type 1 fonts on + non-PostScript devices, like most screen previewers, you + need the “sources” for the fonts that you + want to use. Many font vendors sell fonts in Adobe + Type 1 format. In addition, there are many + Type 1 fonts available on the Internet and on + bulletin board systems.<sup>[<a id="id2888068" + name="id2888068" href="#ftn.id2888068">73</a>]</sup></p> + + <p>Several companies have made complete, high-quality + fonts available. They are:</p> + + <div class="table"> + <a id="id2888084" name="id2888084"></a> + + <p class="title"><b>Table 5.7. </b></p> + + <table summary="" border="1"> + <colgroup> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">IBM Courier</th> + + <th>URW Antiqua</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">Bitstream Courier</td> + + <td>URW Grotesk Bold</td> + </tr> + + <tr> + <td align="left">Bitstream Charter</td> + + <td>Nimbus Roman No9</td> + </tr> + </tbody> + </table> + </div> + + <p>Check the license that accompanies these fonts to make + sure that you can use them legally.</p> + + <p>PostScript Type 1 font sources are available in + Printer Font ASCII (<tt>PFA</tt>)<a id="id2888169" + class="indexterm" name="id2888169"></a> and Printer Font + Binary (<tt>PFB</tt>)<a id="id2888188" class="indexterm" + name="id2888188"></a> formats.<sup>[<a id="id2888196" + name="id2888196" href="#ftn.id2888196">74</a>]</sup> The + <tt>PFB</tt> format is more compact, but less portable. + unix systems usually use <tt>PFA</tt> files, while MS-DOS + and OS/2 systems use <tt>PFB</tt> files. Several existing + programs can convert <tt>PFB</tt> files into <tt>PFA</tt> + files and vice-versa. For the remainder of this section, + I will consistently refer to PostScript Type 1 + source files as <tt>PFA</tt> files, although you can use + <tt>PFB</tt> files instead if they are supported on your + platform.</p> + + <p>In addition to the <tt>PFA</tt> files, you will also + need metric information for the fonts. The metric + information <span class="emphasis"><em>should</em></span> + be available in <tt>AFM</tt> format. If you purchased + fonts from a vendor and did not receive <tt>AFM</tt> + files, you should complain. Fonts from free sources, like + Internet archive sites and bulletin board systems + sometimes include only Printer Font Metric + (<tt>PFM</tt>)<a id="id2888341" class="indexterm" + name="id2888341"></a> files. These are Microsoft Windows + printer metric files, and they do not contain enough + information to make a <tt>TFM</tt> file.</p> + + <p>It is possible to create a <tt>TFM</tt> file from the + <tt>PFM</tt> file, but the metrics are not particularly + good. To do this:</p> + + <div class="orderedlist"> + <ol type="1"> + <li> + <p>Convert the <tt>PFM</tt> file into an incomplete + <tt>AFM</tt> file with the <b>PFM2AFM</b><a + id="id2888427" class="indexterm" + name="id2888427"></a> utility.</p> + </li> + + <li> + <p>Use the <b>PS2PK</b><a id="id2888449" + class="indexterm" name="id2888449"></a> program to + make a <tt>PK</tt> file.</p> + </li> + + <li> + <p>Use <b>PKBBOX</b><a id="id2888481" + class="indexterm" name="id2888481"></a> to create a + more complete <tt>AFM</tt> file from the incomplete + <tt>AFM</tt> file and the <tt>PK</tt> file.</p> + </li> + </ol> + </div> + + <p>The <tt>AFM</tt> file manufactured in this way can be + used to create a <tt>TFM</tt> file. The <tt>PK</tt> file + can be used by any DVI driver that understands TeX + <tt>PK</tt> fonts (almost all drivers have this + ability).</p> + + <p>Creating <tt>PK</tt> files does require more disk + space, but it has the advantage that you can print TeX + documents which use PostScript Type 1 fonts on + non-PostScript devices. This includes fast, + <tt>PK</tt>-based screen previewers like <b>xdvi</b> and + emTeX's <b>dviscr</b> that do not understand + PostScript.</p> + + <p>Programs like <b>dvipsone</b><a id="id2888617" + class="indexterm" name="id2888617"></a> and + <b>dviwindo</b><a id="id2888631" class="indexterm" + name="id2888631"></a> which run under the Microsoft + Windows environment can use PostScript fonts directly if + Adobe Type Manager (ATM)<a id="id2888641" + class="indexterm" name="id2888641"></a> is installed on + the system. However, it is still necessary to construct + the <tt>TFM</tt> files for TeX.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2888662" + name="id2888662"></a>{Using a new PostScript font + in TeX (for PostScript printers)}</h4> + </div> + </div> + + <p>This section presents a step-by-step description of + how to use a new PostScript font in TeX with a + PostScript printer or previewer. In this situation, you + have a PostScript printer, and you use <b>dvips</b> to + print your documents. This method also allows you to + preview your documents with <b>Ghostscript</b>.</p> + + <p>For either method, you must first obtain the + PostScript sources for the font that you want to use. + You <span class="emphasis"><em>must</em></span> have a + <tt>PFA</tt> or <tt>PFB</tt> file and an <tt>AFM</tt> + file. As a concrete example, I'll use the “Nimbus + Roman 9L Regular” font. For this font, I obtain + <tt>unmr.pfa</tt> and <tt>unmr.afm</tt>. These fonts + are available from the CTAN archives in the directory + <tt>fonts/urw</tt>.<sup>[<a id="id2888763" + name="id2888763" href="#ftn.id2888763">75</a>]</sup> In + order to use the font in TeX, you must create TeX font + metrics for it using <b>afm2tfm</b><a id="id2888801" + class="indexterm" name="id2888801"></a> (in particular, + the version of <b>afm2tfm</b> that comes with + <b>dvips</b>).</p> + + <p>First, however, we must decide what encoding vector + to use. Frequently, the fonts you obtain use Adobe + Standard Encoding. The problem with this encoding is + that it isn't very complete; it leaves out a lot of + standard TeX characters (like the ligatures + “fi” and “fl” as well as many + accented and international letters). Instead of using + Adobe Standard Encoding<a id="id2888843" + class="indexterm" name="id2888843"></a>, I recommend + using the Cork Encoding<a id="id2888852" + class="indexterm" name="id2888852"></a>. The Cork + Encoding has several advantages; it is a superset of + the original TeX text encoding; it is becoming a new + standard for TeX; and it is supported by the NFSS2. Of + course, the Cork Encoding is not suitable for all + fonts; there's no reason to try to re-encode a symbol + font into the Cork Encoding---that doesn't even make + any sense.</p> + + <p>Luckily, using the Cork Encoding is no more + difficult than using whatever encoding the distributed + font contains. <b>afm2tfm</b> will do all the work. You + only need to obtain the appropriate encoding file. In + this case, the file is <tt>ec.enc</tt>, and it is + distributed with both <b>dvips</b> and NFSS2. Use + <b>afm2tfm</b> to generate the metrics:</p> +<pre class="screen"> +\$ {\bf afm2tfm unmr.afm -v unmr.vpl -T ec.enc unmr0.tfm} +</pre> + + <p>This command reads <tt>unmr.afm</tt>, the original + <tt>AFM</tt> file with an arbitrary encoding, and the + encoding vector <tt>ec.enc</tt>. It creates the virtual + font <tt>unmr.vpl</tt> and the <tt>TFM</tt> file + <tt>unmr0.tfm</tt>.</p> + + <p>The relationship between these files is subtle. The + <tt>AFM</tt> file contains metric information for all + the possible glyphs<a id="id2888978" class="indexterm" + name="id2888978"></a> in the font. The encoding file + establishes the encoding vector---which particular + characters occur in exactly what order. These two files + are combined to produce character metric information + for the specific encoding vector. This information is + saved in the <tt>TFM</tt> file. This is a + “raw” <tt>TFM</tt> file<a id="id2889015" + class="indexterm" name="id2889015"></a>.<sup>[<a + id="id2889026" name="id2889026" + href="#ftn.id2889026">76</a>]</sup> It does not have + any ligature or kerning information and <span + class="emphasis"><em>may</em></span> have a different + encoding from the virtual font (although, in this case + it has the same encoding).</p> + + <p>The next step is to produce a virtual font from the + <tt>VPL</tt> file<a id="id2889087" class="indexterm" + name="id2889087"></a>:</p> +<pre class="screen"> +\$ {\bf vptovf unmr.vpl unmr.vf unmr.tfm} +</pre> + + <p>This produces a virtual font file, <tt>unmr.vf</tt>, + and an appropriate <tt>TFM</tt> file. This <tt>TFM</tt> + file has ligature and kerning information for the + characters in the font as well as the metrics for the + individual glyphs.</p> + + <p>The names of the virtual font files and the related + <tt>TFM</tt> files are entirely arbitrary. You can give + them any names you wish. In the long run, you will + benefit if you choose a naming scheme that allows you + to determine which files are which simply by examining + the names. If you have a lot of fonts, take a look at + <span class="emphasis"><em>{Filenames for + Fonts}</em></span> [<a + href="bi01.html#tug:filenames-fonts">tug:filenames-fonts</a>]. + It is also available electronically from CTAN in the + directory <tt>info/filename</tt>.</p> + + <p>Now you should install the <tt>VF</tt> and + <tt>TFM</tt> files in the appropriate directories and + proceed to use the <tt>unmr</tt> font. TeX will do the + right thing because the <tt>TFM</tt> file contains the + appropriate metric information, and the DVI driver will + do the right thing because it has a virtual font which + specifies how the characters should be mapped into the + printer.</p> + + <p>Now that TeX is happy, we have the additional + problem of making the PostScript printer happy. The + easiest way to do this is to tell <b>dvips</b> to do it + for us. The <tt>psfonts.map</tt> file used by + <b>dvips</b> identifies which fonts are built into the + printer and which fonts need to be downloaded.</p> + + <p>Each line in the <tt>psfonts.map</tt> file describes + how a particular TeX font should be interpreted. The + simplest lines identify the PostScript name of fonts + built into the printer. For \linebreak</p> + + <p>example, the following line indicates that + <b>dvips</b><a id="id2889279" class="indexterm" + name="id2889279"></a> should use the PostScript font + Times-Roman (which is assumed to be resident in the + printer) everywhere that the <tt>DVI</tt> file uses the + font <tt>rptmr</tt>:</p> +<pre class="screen"> +rptmr Times-Roman +</pre> + + <p>To automatically download a PostScript font<a + id="id2889318" class="indexterm" name="id2889318"></a>, + add <tt><</tt><tt><i><tt>fontfile</tt></i></tt> to + the corresponding line in the <tt>psfonts.map</tt> + file. The following entry indicates that the PostScript + font CharterBT-Roman should be used where + <tt>rbchr</tt> is used in the document. In addition, + <b>dvips</b> should download the font from the file + <tt>/usr/local/lib/fonts/psfonts/bchr.pfa</tt> if it is + used in the document.</p> +<pre class="screen"> +rbchr CharterBT-Roman </usr/local/lib/fonts/psfonts/bchr.pfa +</pre> + + <p>Additional PostScript commands can be added to the + entry to perform special effects. Some of these are + described in the documentation for <b>dvips</b>. They + require a knowledge of PostScript that is beyond the + scope of this book.</p> + + <p>Adding the following line to <tt>psfonts.map</tt> + will download and use the Nimbus URW font we installed + above. (It is shown on two lines only because of the + constraints of the page; you should enter it on one + line):</p> +<pre class="screen"> +unmr0 NimbusRomanNo9L-Regular <unmr.pfa + "ECEncoding ReEncodeFont" <ec.enc +</pre> + + <p>This line identifies the font <tt>unmr0</tt> as the + NimbusRomanNo9L-Regular PostScript font, re-encoded + with the ECEncoding described in the file + <tt>ec.enc</tt>. Because this font is not resident in + the printer, you must also tell <b>dvips</b> to + download the font from <tt>unmr.pfa</tt>. If you keep + encoding files or PostScript fonts (<tt>PFB</tt> or + <tt>PFA</tt> files) in nonstandard locations, you will + have to specify the full path of <tt>ec.enc</tt> and/or + <tt>unmr.pfa</tt>.</p> + + <p>Notice that you specify the <span + class="emphasis"><em>raw</em></span> font in the + <tt>psfonts.map</tt> file. TeX and <b>dvips</b> will + use the virtual font to determine which character(s) + from which raw font(s) should <span + class="emphasis"><em>actually</em></span> be used to + print your document. <b>afm2tfm</b> prints the line + that should be added to the font map file when it is + finished converting the font, so you don't always have + to remember which is which.</p> + + <p>The <tt>psfonts.map</tt> file (and the encoding and + font files) are typically stored in a system-default + location. On unix systems, this is frequently + <tt>/usr/local/lib/tex/ps</tt>. If you can't (or don't + want) to change files in this directory, you can use + your own font map file.</p> + + <p>When you run <b>dvips</b>, it loads a initialization + file (typically <tt>~/.dvipsrc</tt>). If you put the + following line in that file:</p> +<pre class="screen"> +p +/home/jdoe/myfonts.map +</pre> + + <p>it extends the system-wide font map using the file + <tt>/home/jdoe/myfonts.map</tt>, which has the same + format as the <tt>psfonts.map</tt> file.</p> + + <p>If you use the <tt><font.pfa</tt> syntax in your + font map file to download PostScript fonts, you may + discover that <b>dvips</b> is producing very large + output files (or takes a long time to print, if output + is going directly to a printer). The reason is that + <b>dvips</b> is downloading the font at the beginning + of every document that uses it. If you have a few fonts + that you use all the time, it may be faster and more + convenient to download the fonts manually at the + beginning of the day and then remove the + <tt><font.pfa</tt> portion of the font mapping line + (leave the encoding file, however). This will produce + smaller output files because <b>dvips</b> will assume + that the fonts are already downloaded. Of course, the + trade-off is that your documents will not print + correctly (because the appropriate fonts are not + attached to the PostScript file) if you mail them to a + colleague who doesn't download the same fonts you do, + or if you forget to download the fonts again after + someone power-cycles the printer.<sup>[<a + id="id2889655" name="id2889655" + href="#ftn.id2889655">77</a>]</sup></p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2889664" + name="id2889664"></a>{Using a new PostScript font + in TeX (for non-PostScript devices)}</h4> + </div> + </div> + + <p>Using PostScript fonts for screen previewing or + printing on non-PostScript printers is a very different + process from printing on PostScript devices. You still + need the <tt>AFM</tt> and <tt>PFA</tt> files.</p> + + <p>This time you're going to create <tt>PK</tt> files + with <b>ps2pk</b><a id="id2889716" class="indexterm" + name="id2889716"></a>, so virtual fonts are less + useful. In fact, you have to give the <tt>AFM</tt> file + the correct encoding in order to get the right + <tt>PK</tt> file, so we'll avoid virtual fonts + altogether. Of course, if you need several different + encodings (perhaps TeX Text, Cork, and Adobe Standard) + for different documents, you'll be better off with one + or two raw font files and several virtual fonts, but + for the moment let's imagine that that is not the + case.</p> + + <p>Example <a href="apd.html#ex.encafmpl" + title="Example D.5. enc-afm.pl">Example D.5</a> + in Appendix <a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a>, + <span class="emphasis"><em><a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a></em></span>, + is a Perl script that changes the encoding vector in an + <tt>AFM</tt> file to reflect the encoding specified in + an encoding file (like the ones used in the preceding + section). This is an important step because + <b>ps2pk</b> uses the encoding in the <tt>AFM</tt> file + to determine which glyphs to render.<sup>[<a + id="id2889816" name="id2889816" + href="#ftn.id2889816">78</a>]</sup></p> + + <p>To install this script, save it in a file called + <tt>enc-afm.pl</tt> and change the top of the script + (the <tt>#!</tt> line) to reflect where Perl is + installed on your system. Users of Perl on non-unix + systems may have to work a little harder, or simply use + the syntax <span class="emphasis"><em>{perl + enc-afm.pl}</em></span> to run the script. unix users + can create a symbolic link to <tt>enc-afm.pl</tt> + called <tt>enc-afm</tt>, and mark it as executable.</p> + + <p>Using this script, transform <tt>unmr.afm</tt> into + <tt>unmrX.afm</tt>:</p> +<pre class="screen"> +\$ <span +class="bold"><b>enc-afm unmr.afm ec.enc > unmrX.afm</b></span> +</pre> + + <p>Now the <tt>unmrX.afm</tt> file has the Cork + encoding. We can use this file to create a <tt>TFM</tt> + file for TeX:</p> +<pre class="screen"> +\$ <span class="bold"><b>afm2tfm unmrX.afm unmr.tfm</b></span> +</pre> + + <p>This <tt>TFM</tt> file should be moved to the + directory where you store <tt>TFM</tt> files for + TeX.</p> + + <p>Unlike PostScript fonts on PostScript devices, + different <tt>PK</tt> files must be created for each + size required. As a concrete example, let's assume we + want a 14pt font. The easiest way to create a 14pt font + with <b>ps2pk</b> is to use the <span + class="emphasis"><em>-P</em></span> parameter to + specify the size. Unfortunately, this will cause some + DVI drivers to complain because <span + class="emphasis"><em>-P</em></span> sets the design + size of the <tt>PK</tt> file, and it won't match the + design size in the <tt>TFM</tt> file. A better solution + is to determine the resolution you need with the + following formula:</p> + + <p>$$\hbox{resolution} = {{\hbox{base resolution} * + \hbox{point size}}\over{10}}$$</p> + + <p>The factor 10 is used because it is the nominal + design size of PostScript fonts (at least, that's what + <b>afm2tfm</b> uses). For example, if we are creating a + 14pt font for a 300dpi laser printer, the desired + resolution is $300*14/10 = 420$. Now we can create the + font:</p> +<pre class="screen"> +\$ <span +class="bold"><b>ps2pk -X420 -aunmrX.afm unmr.pfa unmr.420pk</b></span> +</pre> + + <p>This command creates a 420dpi <tt>PK</tt> file using + the <tt>AFM</tt> file <tt>unmrX.afm</tt>. The font + source comes from <tt>unmr.pfa</tt>, and the resulting + <tt>PK</tt> file is called <tt>unmr.pk</tt>. On MS-DOS + systems, name the output <tt>PK</tt> file + <tt>unmr.pk</tt> because <tt>unmr.420pk</tt> is not a + valid filename. Move the resulting <tt>PK</tt> file to + the appropriate directory. On unix systems, it is + probably <tt>/usr/local/lib/tex/fonts/pk</tt>; while on + MS-DOS and other systems, it is probably something like + <tt>/texfonts/420dpi</tt>.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2890165" + name="id2890165"></a>HP LaserJet Softfonts</h3> + </div> + </div> + + <p>Bitmapped HP LaserJet Softfonts<a id="id2890174" + class="indexterm" name="id2890174"></a> can easily be + converted into TeX <tt>PK</tt> files with the + <b>SFPtoPK</b> utility. Then they can be used with almost + any DVI driver.</p> + + <p>Scalable LaserJet Softfonts can be used by TeX if two + conditions are met: metric information is available, and + the DVI driver that you are using can access built-in + printer fonts. Metric information for Scalable LaserJet + Softfonts distributed by Hewlett-Packard come in the form + of Tagged Font Metric files. Tagged Font Metric files + have the extension <tt>TFM</tt>, but they should not be + confused with TeX <tt>TFM</tt> files. The utility + <b>hptfm2pl</b> converts Tagged Font Metric files into + TeX <tt>PL</tt> files (<tt>PL</tt> is a human-readable + text format of <tt>TFM</tt> files). <tt>PL</tt> files are + transformed into <tt>TFM</tt> files by the standard TeX + utility <b>PLtoTF</b>.</p> + + <p>To use Scalable LaserJet Softfonts, you must convert + the metric information into TeX <tt>TFM</tt> files so + that TeX can use the font, and then you must inform your + DVI driver that the fonts are built into the printer. + Before printing your document, download the Scalable + LaserJet Softfont to your printer. The <b>sfload</b> + utility that is part of Sfware can download Scalable + LaserJet Fonts. Many other free and shareware font + downloading programs exist, too.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2890329" + name="id2890329"></a>TrueType Fonts</h3> + </div> + </div> + + <p>At present, TrueType fonts<a id="id2890338" + class="indexterm" name="id2890338"></a> can be used only + on systems that have built-in TrueType support (the + Macintosh and MS-DOS computers running Microsoft Windows + 3.1 fall into this category). You must use DVI drivers + that communicate with the printer through the system's + printer interface.</p> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2879974" name="ftn.id2879974" + href="#id2879974">53</a>]</sup> {Some fonts may be + preloaded in the format file. TeX does not need + <tt>TFM</tt> files for those fonts since the metric + information is already available.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2880211" name="ftn.id2880211" + href="#id2880211">54</a>]</sup> {Older DVI drivers may + still use <tt>PXL</tt> files. They are frequently stored + in directories with names like <tt>pxl999</tt>.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2880575" name="ftn.id2880575" + href="#id2880575">55</a>]</sup> {Actually, <tt>TFM</tt> + files contain a little bit more information. The width of + a space, the amount of stretch and shrink allowed between + words, the amount of extra space allowed after a + punctuation mark, and some specialized information used + only in fonts for mathematics also appear in the + <tt>TFM</tt> files<a id="id2880604" class="indexterm" + name="id2880604"></a>. In principle, <tt>TFM</tt> files + can contain even more information, although they rarely + do. For a complete, detailed description of the + information stored in a <tt>TFM</tt> file, consult + Appendix F of <span class="emphasis"><em>The + TeXbook</em></span> [<a + href="bi01.html#kn:texbook">kn:texbook</a>] and <span + class="emphasis"><em>{The TF To PL + Processor}</em></span> [<a + href="bi01.html#texware:tftopl">texware:tftopl</a>].}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2880810" name="ftn.id2880810" + href="#id2880810">56</a>]</sup> {This is true even if + your computer's natural character set is not ASCII. It is + the responsibility of the implementor to map the + computer's natural character set into ASCII.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2881782" name="ftn.id2881782" + href="#id2881782">57</a>]</sup> {Actually, for math + fonts, TeX requires several metrics that are not usually + provided. <b>afm2tfm</b><a id="id2881795" + class="indexterm" name="id2881795"></a> has options which + allow you to specify these extra metrics when you convert + the <tt>AFM</tt> file.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2882138" name="ftn.id2882138" + href="#id2882138">58</a>]</sup> {If your MetaFont + distribution does not include a <span + class="emphasis"><em>tfmonly</em></span> mode, you can + find one in the <tt>modes.mf</tt> file on CTAN. Consult + Chapter <a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a>, + <span class="emphasis"><em><a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a></em></span>, + for more information.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2883176" name="ftn.id2883176" + href="#id2883176">59</a>]</sup> {This doesn't mean that + every size you want is available. See the section + “<a href="ch05.html#sec.fonts.defnfss2" + title="Selecting Fonts with the New Font Selection Scheme"> + the section called “Selecting Fonts with the New + Font Selection Scheme”</a>” for information + about defining font sizes in the NFSS.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2855832" name="ftn.id2855832" + href="#id2855832">60</a>]</sup> + “$\backslash$<tt>fontshape{it}</tt>$\backslash$<tt>selectfont</tt>”</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2855948" name="ftn.id2855948" + href="#id2855948">61</a>]</sup> {One possible use of + loading options is to inhibit hyphenation in fixed-width + fonts intended for use in verbatim material. The loading + options <tt>{\ hyphenchar\ font=-1}</tt> have this + effect.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2884721" name="ftn.id2884721" + href="#id2884721">62</a>]</sup> {The only reason that + sizes less than 8pt need to be declared at all is that + marginal notes (used for editorial comments while the + book was in revision) were set in 5pt, and the logo font + occasionally turned up in a marginal note.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2885254" name="ftn.id2885254" + href="#id2885254">63</a>]</sup> {Under earlier versions + of the NFSS, this problem actually resulted in an error + rather than a warning. If you wish, you can simply ignore + the warning; you no longer have to fix the problem.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2885536" name="ftn.id2885536" + href="#id2885536">64</a>]</sup> {Actually, you can + declare a scaling factor in any font declaration, + although it seems to make less sense for non-PostScript + fonts.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2885557" name="ftn.id2885557" + href="#id2885557">65</a>]</sup> {Usually, scaling fonts + to the same x-height makes them look acceptable together, + but depending on the particular fonts involved, a little + more or a little less scaling may be required to achieve + a pleasant balance.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2886286" name="ftn.id2886286" + href="#id2886286">66</a>]</sup> {In some special versions + of TeX, notably those for handling languages like + Japanese, this may be extended to a much larger number, + but the problem is the same.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2886706" name="ftn.id2886706" + href="#id2886706">67</a>]</sup> {For a complete + description, consult <span class="emphasis"><em>{The VP + To VF Processor}</em></span> [<a + href="bi01.html#texware:vptovf">texware:vptovf</a>] and + <span class="emphasis"><em>{The VF to VP + Processor}</em></span> [<a + href="bi01.html#texware:vftovp">texware:vftovp</a>].}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2886754" name="ftn.id2886754" + href="#id2886754">68</a>]</sup> {Version 2 of NFSS + includes “encoding” as a parameter in font + selection. In the long run, this will allow macro writers + to hide many of these difficulties, dramatically reducing + the burden currently placed on the user.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2887038" name="ftn.id2887038" + href="#id2887038">69</a>]</sup> {You can retrieve the + <b>fontinst</b> package from the CTAN archives in the + directory <tt>fonts/utilities/fontinst</tt>.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2887238" name="ftn.id2887238" + href="#id2887238">70</a>]</sup> {It's still a bit + tedious, at least on slow machines, but now you can walk + away and get a cup of coffee ;-). All the fonts will be + built automatically.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2887312" name="ftn.id2887312" + href="#id2887312">71</a>]</sup> {Recent versions of TeX + derived from the \Web2C package can build <tt>TFM</tt> + files automatically as well.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2887500" name="ftn.id2887500" + href="#id2887500">72</a>]</sup> {OK, so not <span + class="emphasis"><em>every</em></span> example in this + book is in <b>Perl</b>.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2888068" name="ftn.id2888068" + href="#id2888068">73</a>]</sup> {Before you use these + “free” fonts, be aware that many are of + questionable legality.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2888196" name="ftn.id2888196" + href="#id2888196">74</a>]</sup> {PostScript fonts for the + Macintosh are stored in <tt>PFB</tt> format (essentially) + in the resource fork of the printer font file. The metric + information is stored in the screen font, which also + contains bitmaps for on-screen display.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2888763" name="ftn.id2888763" + href="#id2888763">75</a>]</sup> {The Nimbus fonts + actually come with <tt>TFM</tt> and <tt>VF</tt> files + which makes some of the following steps redundant. But + because most fonts <span + class="emphasis"><em>don't</em></span> come with TeX + metrics, the example is important.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2889026" name="ftn.id2889026" + href="#id2889026">76</a>]</sup> {Raw <tt>TFM</tt> files + used to be identified with an “r” prefix, but + recently the trend has turned towards a “0” + suffix. For a more complete discussion of font names, + consult <span class="emphasis"><em>Filenames for + Fonts</em></span> [<a + href="bi01.html#tug:filenames-fonts">tug:filenames-fonts</a>].}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2889655" name="ftn.id2889655" + href="#id2889655">77</a>]</sup> {Some spooling software + will transparently handle these problems (by downloading + fonts that you forget) if the fonts are available.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2889816" name="ftn.id2889816" + href="#id2889816">78</a>]</sup> {This step isn't + necessary when using a PostScript printers because the + PostScript font always contains all the glyphs. The font + created by <b>ps2pk</b> will only contain the characters + in a single encoding.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 6. Pictures and Figures" + href="ch06.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Part II. Elements + of a Complex Document </td> + + <td width="20%" align="center"><a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 6. Pictures and Figures</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch06.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch06.html new file mode 100644 index 00000000000..a89d17fadf5 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch06.html @@ -0,0 +1,3381 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 6. Pictures and Figures</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + <link rel="previous" href="ch05.html" + title="Chapter 5. Fonts" /> + <link rel="next" href="ch07.html" + title="Chapter 7. International Considerations" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 5. Fonts" href="ch05.html"><img + src="figures/nav-prev.png" alt="Prev" border="0" /> + </a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 7. International Considerations" + href="ch07.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.pictures" + name="chap.pictures"></a>Chapter 6. Pictures + and Figures</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>Pictures<a id="id2884175" class="indexterm" + name="id2884175"></a> and figures<a id="id2884189" + class="indexterm" name="id2884189"></a> are an important + component of many documents. This chapter explores how they + can be incorporated into your TeX documents. There are many + ways to include pictures and figures in TeX. The most + important considerations are the type of image<a + id="id2855783" class="indexterm" name="id2855783"></a>, the + type of printer you will be using, what platform you are + using, and how portable the document must be.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.devindrev" name="sec.devindrev"></a>Different + Kinds of Images</h2> + </div> + </div> + + <p>Images<a id="id2883926" class="indexterm" + name="id2883926"></a> come from many, many different + sources, but they can be divided into two broad classes: + bitmapped and scalable (or vector). Bitmapped images<a + id="id2883939" class="indexterm" name="id2883939"></a><a + id="id2883949" class="indexterm" name="id2883949"></a> are + produced whenever an image is scanned from a drawing, + photograph, or other printed work. They are also produced + by most simple paint programs. Scalable images<a + id="id2883964" class="indexterm" name="id2883964"></a><a + id="id2883971" class="indexterm" name="id2883971"></a><a + id="id2883981" class="indexterm" name="id2883981"></a> are + produced by some more sophisticated drawing programs, many + commercial sources, and some other applications. Both + classes have advantages and disadvantages.</p> + + <p>Files that contain graphic images usually end with an + extension<a id="id2890375" class="indexterm" + name="id2890375"></a> that identifies the format of the + image. The extension is a common and convenient nickname + for the image format. In this chapter, I refer to graphic + image formats by their extension (for example, GIF images + or XBM images) without explanation. I do this partly + because it is easy, but also because it is the most common + way of referring to them, and you don't really need to know + anything about the image formats to use them. If your DVI + driver understands PCX images, you just need a PCX image; + you don't have to have a detailed understanding of the + format (thank goodness). If you want to know more, refer to + the filename extension glossary in Appendix <a + href="apa.html" + title="Appendix A. Filename Extension Summary">Appendix A</a>, + which will help you identify each of the formats discussed + in this chapter.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2890411" + name="id2890411"></a>Bitmapped Images</h3> + </div> + </div> + + <p>Photographs<a id="id2890419" class="indexterm" + name="id2890419"></a> and images with a lot of subtle + detail are almost always stored as bitmaps. Scanners + always produce bitmapped images<a id="id2890430" + class="indexterm" name="id2890430"></a>. Some bitmap + images can be converted into scalable formats. High-end + graphic packages like \product{CorelDRAW}<a + id="id2890443" class="indexterm" name="id2890443"></a> + and \product{\idx{Adobe Illustrator}} can do this, but + most cannot. The exceptions are line drawings and other + very high contrast images. Bitmaps are also + “cheap” to print. Neither the computer nor + the printer must do very much work to print a + black-and-white bitmap image. (Color bitmap images must + be dithered before they can be printed, but that's a + separate consideration because it need be done only once, + not every time the image is printed.) Bitmapped images + are also easy to convert from one format to another.</p> + + <p>Unfortunately, bitmap images are very + device-dependent. They are stored as a two-dimensional + array of dots, which gives them a fixed resolution. A + $3\times5$-inch bitmap image that prints correctly on + your 300dpi laser printer will only be a + $\frac{3}{4}\times1\frac{1}{4}$-inch picture if you make + your final copy on a 1200dpi photo-typesetter.</p> + + <p>Bitmap images also require considerable memory and + disk space to store. The $3\times5$ image described above + requires more than 150Kb of memory (if it is + uncompressed).</p> + + <p>A final consideration is that bitmap images do not + scale very well. Enlarging or reducing the image requires + either removing some dots (causing a loss of detail) or + inserting extra dots (frequently giving slanted lines a + very jagged appearance). Rescaling images by exact + integer amounts (doubling or tripling its size, for + example, but not making it 2$\frac{1}{2}$ times as large) + works reasonably well (except for jagged edges). Shaded + regions, which are composed of a regular pattern of black + and white dots, are frequently disrupted by irregular + “blotching” if non-integral scaling is + used.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2884033" + name="id2884033"></a>Scalable Images</h3> + </div> + </div> + + <p>Many graphic images can be represented more compactly + as a collection of lines, curves, and other discrete + elements. Images of this type are called <span + class="emphasis"><em>scalable</em></span> or <span + class="emphasis"><em>vector</em></span> images<a + id="id2884054" class="indexterm" name="id2884054"></a><a + id="id2884061" class="indexterm" name="id2884061"></a>. + Instead of storing every pixel in a rectangular array, + vector images store the encoded instructions for + “drawing” the image. This provides a compact + representation. A circle, no matter how large, can be + represented with just a few data points: the position of + the center, the radius, the width and color of the line + that forms the circle, and the pattern that fills the + circle. It is also easy to change the size of the image; + if you halve every measurement, the image is drawn at one + half the size with minimal loss of detail.</p> + + <p>One drawback of scalable images is that they require + considerable computational power to render. Every printer + ultimately prints the page as a large bitmap; the print + engine has to translate the lines, curves, and fills of a + scalable image into a bitmap before this is + possible.<sup>[<a id="id2884093" name="id2884093" + href="#ftn.id2884093">79</a>]</sup> Previewing scalable + images requires translating them into bitmaps to display + them. This can be a noticeably slow process unless you + have a very fast computer.</p> + + <p>The other significant drawback of scalable images is + that they are difficult to translate from one format to + another. For example, to translate a PostScript image<a + id="id2884111" class="indexterm" name="id2884111"></a> + into something that can be printed on a non-PostScript + printer, you have to have a program that understands all + of the commands in the PostScript file. A bitmap + conversion, on the other hand, doesn't require any + understanding of graphics commands; it simply has to know + how to rearrange the bits in the array. What it boils + down to is this: it's a lot easier to write a translation + program to “reverse the order of all the bits in + each byte in each row” than it is to write one that + can “draw the bezier curve with these three control + points using a dashed, light-blue line $\frac{1}{8}$ of + an inch wide.”</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2884144" + name="id2884144"></a>Device Independence Revisited</h2> + </div> + </div> + + <p>Pictures<a id="id2890779" class="indexterm" + name="id2890779"></a> and figures<a id="id2890791" + class="indexterm" name="id2890791"></a> are a foreign + concept to TeX. Remember, TeX cares only about building + pages out of boxes and glue. TeX's notion of a picture is + frequently nothing more than “something special goes + here (I don't know what) and it's 5 inches wide, 2 inches + high, and 1 inch deep.” This is device independence, + of a sort, but many of the easiest ways to include pictures + and figures in TeX do rely on features of a specific DVI + driver or a specific kind of printer. If document + portability is an issue, consider carefully before you + select a particular way of including pictures and + figures.</p> + + <p>On the bright side, most DVI drivers<a id="id2890822" + class="indexterm" name="id2890822"></a> provide some + mechanism for incorporating pictures and figures. As long + as it is possible to convert the images from the format + originally used to a format that another DVI driver + understands, document portability can be achieved. For + example, it is possible to print PostScript figures on a + non-PostScript device if they are first converted into + another format with <b>Ghostscript</b> or some other + PostScript interpreter. Unfortunately, it is usually + inconvenient to convert pictures from one format to + another, and some conversions may distort the images a + little bit (or a lot).</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.ptexpic" name="sec.ptexpic"></a>Using Only + TeX</h2> + </div> + </div> + + <p>This section describes picture and figure environments + that don't use any external programs. Graphics created in + this way are entirely device-independent and can be printed + with any DVI driver.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2890867" + name="id2890867"></a>Plain TeX</h3> + </div> + </div> + + <p>Plain TeX<a id="id2890880" class="indexterm" + name="id2890880"></a><a id="id2890893" class="indexterm" + name="id2890893"></a><a id="id2890906" class="indexterm" + name="id2890906"></a> has no built-in provision for + creating pictures or figures. It is possible to do simple + diagrams and graphs by writing macros that place + individual points on the page. Figure <a + href="ch06.html#fig.plaintex" + title="Figure 6.1. An example diagram in Plain TeX"> + Figure 6.1</a> shows several data points plotted in + Plain TeX. The input was derived from macros presented in + Appendix D of <span class="emphasis"><em>The + TeXbook</em></span> [<a + href="bi01.html#kn:texbook">kn:texbook</a>]; it is shown + in Example <a href="ch06.html#ex.plaintexm" + title="Example 6.1. The Input for the Plain TeX Diagram"> + Example 6.1</a>.</p> + + <div class="figure"> + <a id="fig.plaintex" name="fig.plaintex"></a> + + <p class="title"><b>Figure 6.1. An example + diagram in Plain TeX</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <div class="example"> + <a id="ex.plaintexm" name="ex.plaintexm"></a> + + <p class="title"><b>Example 6.1. The Input + for the Plain TeX Diagram</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="tex.06.01.tex"></a> +</pre> + </div> + + <p>With special-purpose fonts, it is possible to make + more complex figures in Plain TeX. However, LaTeX + provides a <tt>picture</tt> environment which greatly + simplifies the process.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.pictures.latex" + name="sec.pictures.latex"></a>LaTeX</h3> + </div> + </div> + + <p>The <tt>picture</tt> environment in LaTeX<a + id="id2891050" class="indexterm" name="id2891050"></a><a + id="id2891064" class="indexterm" name="id2891064"></a><a + id="id2891076" class="indexterm" name="id2891076"></a> is + implemented on top of the kinds of primitive operations + shown in Example <a href="ch06.html#ex.plaintexm" + title="Example 6.1. The Input for the Plain TeX Diagram"> + Example 6.1</a>. Working in the <tt>picture</tt> + environment is a lot like working on graph paper: you + begin by specifing how big the graph paper is and the + distance between lines on the paper (the lines aren't + really there; they're just used for reference), and then + inside the <tt>picture</tt> environment, you put <span + class="emphasis"><em>picture elements</em></span> down on + the page at the intersections of the lines on the + grid.</p> + + <p>LaTeX provides picture elements for text, boxes, solid + and empty circles, lines, and arrows. Lines and arrows + can be drawn at angles, but they are formed by taking + characters from a special set of fonts so there is a + limited number of angles available. The advantage of + using special fonts to draw the lines is that it is + relatively efficient.</p> + + <p>Figure <a href="ch06.html#fig.latexpic" + title="Figure 6.2. A parallelogram in LaTeX">Figure 6.2</a> + is a simple figure drawn with LaTeX's <tt>picture</tt> + environment. The LaTeX input for this environment is + shown in Example <a href="ch06.html#ex.latexpicsrc" + title="Example 6.2. The LaTeX Input for ">Example 6.2</a>.</p> + + <div class="figure"> + <a id="fig.latexpic" name="fig.latexpic"></a> + + <p class="title"><b>Figure 6.2. A + parallelogram in LaTeX</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <div class="example"> + <a id="ex.latexpicsrc" name="ex.latexpicsrc"></a> + + <p class="title"><b>Example 6.2. The LaTeX + Input for <a href="ch06.html#fig.latexpic" + title="Figure 6.2. A parallelogram in LaTeX">Figure 6.2</a></b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="tex.06.02.tex"></a> +</pre> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="sec.Fig" + name="sec.Fig"></a>The epic and eepic styles</h4> + </div> + </div> + + <p>Constructing diagrams using <tt>picture</tt> + primitives is very tedious because each element of the + picture has to be placed individually. The <span + class="emphasis"><em>epic</em></span> style extends + LaTeX's picture environment by adding several + higher-level commands for picture construction. These + commands allow you to draw solid, dotted, and dashed + lines with arbitrary slopes, create matrices and grids + with a single command, join several independently + placed elements together, and read a list of points + from an external file.</p> + + <p>The diagrams produced by <tt>epic.sty</tt><a + id="id2891283" class="indexterm" name="id2891283"></a> + are still limited by the fonts available to LaTeX. The + <tt>eepic.sty</tt><a id="id2891298" class="indexterm" + name="id2891298"></a> extends <tt>epic.sty</tt> by + using \special commands to construct the more complex + figure elements. The \special commands are the same as + those used by <tt>tpic</tt> (see the “<a + href="ch06.html#sec.tpic" title="MetaFont">the section + called “MetaFont”</a>” section in + this chapter) and are supported by many DVI + drivers.</p> + + <p>Figure <a href="ch06.html#fig.epic" + title="Figure 6.3. A figure created with (a) epic, and (b) eepic"> + Figure 6.3</a> shows a figure constructed with the + <span class="emphasis"><em>epic</em></span> macros. + Figure <a href="ch06.html#fig.epic" + title="Figure 6.3. A figure created with (a) epic, and (b) eepic"> + Figure 6.3</a> (a) uses <tt>epic.sty</tt>, and (b) + uses <tt>eepic.sty</tt>. Notice that <tt>eepic.sty</tt> + provides circles of arbitrary size and smooth lines at + any angle. The end points of the radial lines in this + figure were calculated by another program and read from + a data file by <span + class="emphasis"><em>epic</em></span>. The source for + these figures is shown in Example <a + href="ch06.html#ex.epicsrc" + title="Example 6.3. The epic Input for ">Example 6.3</a> + (both diagrams were created with the same source).</p> + + <div class="example"> + <a id="ex.epicsrc" name="ex.epicsrc"></a> + + <p class="title"><b>Example 6.3. The epic + Input for <a href="ch06.html#fig.epic" + title="Figure 6.3. A figure created with (a) epic, and (b) eepic"> + Figure 6.3</a></b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="tex.06.03.tex"></a> +</pre> + </div> + + <div class="figure"> + <a id="fig.epic" name="fig.epic"></a> + + <p class="title"><b>Figure 6.3. A figure + created with (a) epic, and (b) eepic</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2891474" + name="id2891474"></a>The bezier style</h4> + </div> + </div> + + <p>The <span class="emphasis"><em>bezier</em></span> + style<a id="id2891487" class="indexterm" + name="id2891487"></a> allows you to construct curved + lines in the LaTeX picture environment. An example is + shown in Figure <a href="ch06.html#fig.bezier" + title="Figure 6.4. Several bezier curves created with the LaTeX bezier style"> + Figure 6.4</a>. Its source is shown in + Example <a href="ch06.html#ex.beziersrc" + title="Example 6.4. The Input for ">Example 6.4</a>. + The grid in this example was created with <span + class="emphasis"><em>epic</em></span> for + convenience.</p> + + <div class="example"> + <a id="ex.beziersrc" name="ex.beziersrc"></a> + + <p class="title"><b>Example 6.4. The Input + for <a href="ch06.html#fig.bezier" + title="Figure 6.4. Several bezier curves created with the LaTeX bezier style"> + Figure 6.4</a></b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="tex.06.04.tex"></a> +</pre> + </div> + + <div class="figure"> + <a id="fig.bezier" name="fig.bezier"></a> + + <p class="title"><b>Figure 6.4. Several + bezier curves created with the LaTeX bezier + style</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2891594" + name="id2891594"></a>Other styles</h4> + </div> + </div> + + <p>In addition to these styles, there are several other + style files for doing particular types of drawing. + Styles exist for drawing logical circuit diagrams, bar + charts, trees, and more.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2891609" + name="id2891609"></a>Other approaches</h4> + </div> + </div> + + <p>Because constructing LaTeX drawing by hand is + tedious, several programs have been written that allow + you to construct diagrams visually and then produce the + appropriate <tt>picture</tt> environments + automatically. The <b>texcad</b><a id="id2891633" + class="indexterm" name="id2891633"></a> program + distributed with emTeX<a id="id2891642" + class="indexterm" name="id2891642"></a> is one such + program. A similar program called <b>xtexcad</b><a + id="id2891659" class="indexterm" name="id2891659"></a> + runs under X11 on some platforms, and there is a Fig + translator for the LaTeX <tt>picture</tt> environment. + (For more information about Fig, see the “<a + href="ch06.html#sec.Fig" + title="The epic and eepic styles">the section called + “The epic and eepic styles”</a>” + section later in this chapter.)</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2891692" + name="id2891692"></a>PiCTeX</h3> + </div> + </div> + + <p>PiCTeX<a id="id2891701" class="indexterm" + name="id2891701"></a><a id="id2891712" class="indexterm" + name="id2891712"></a> is a macro package that you can + load on top of Plain TeX or LaTeX.<sup>[<a id="id2891727" + name="id2891727" href="#ftn.id2891727">80</a>]</sup> It + does an amazing job of plotting mathematical functions<a + id="id2891735" class="indexterm" name="id2891735"></a> + and two-dimensional graphs directly in TeX. An example of + PiCTeX (taken from <span class="emphasis"><em>The PiCTeX + Manual</em></span> [<a + href="bi01.html#mw:pictex">mw:pictex</a>]) is shown in + Figure <a href="ch06.html#fig.pictex" + title="Figure 6.5. Sample diagrams using PiCTeX"> + Figure 6.5</a>. The source for this figure is shown + in Example <a href="ch06.html#ex.pictexsrc" + title="Example 6.5. PiCTeX Input for ">Example 6.5</a>.</p> + + <div class="figure"> + <a id="fig.pictex" name="fig.pictex"></a> + + <p class="title"><b>Figure 6.5. Sample + diagrams using PiCTeX</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <div class="example"> + <a id="ex.pictexsrc" name="ex.pictexsrc"></a> + + <p class="title"><b>Example 6.5. PiCTeX Input + for <a href="ch06.html#fig.pictex" + title="Figure 6.5. Sample diagrams using PiCTeX"> + Figure 6.5</a></b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="tex.06.05.tex"></a> +</pre> + </div> + + <p>The primary drawback of PiCTeX is that it requires a + considerable amount of memory to use. Even relatively + simple looking graphs require a big TeX to plot with + PiCTeX. PiCTeX also produces very, very large + <tt>DVI</tt> files (the graphs are drawn by interpreting + and plotting each pixel individually). This usually + results in very large output files from the DVI driver, + and some printers may have difficulty printing your + documents.</p> + + <p>The PiCTeX macros are freely available, but the manual + is not. You can purchase the manual directly from the + author of PiCTeX or from the TeX User's Group.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2891884" + name="id2891884"></a>XYPic</h3> + </div> + </div> + + <p><b>XYPic</b><a id="id2891897" class="indexterm" + name="id2891897"></a><a id="id2891907" class="indexterm" + name="id2891907"></a> is another add-on macro package for + TeX, LaTeX, and other formats. It provides considerably + more flexibility than the LaTeX picture environment + without resorting to the resource-expensive strategy of + PiCTeX.</p> + + <p><b>XYPic</b> provides many more arrows than LaTeX + (including curved and self-pointing forms), a wider + variety of dashed and dotted lines, provision for lines + that bend and go around \linebreak</p> + + <p>other picture elements, and annotations for lines and + arrows. It seems especially well suited to typesetting + commutative diagrams, simple state-transition diagrams, + and complex annotated matrices.</p> + + <p>The syntax used in <b>XYPic</b> diagrams is not as + straightforward as LaTeX's picture environment. An + example of a complex <b>XYPic</b> diagram is shown in + Figure <a href="ch06.html#fig.xypic" + title="Figure 6.6. An XYPic diagram">Figure 6.6</a>. + The corresponding source is shown in Example <a + href="ch06.html#ex.xypicsrc" + title="Example 6.6. The XYPic Input for ">Example 6.6</a>.</p> + + <div class="figure"> + <a id="fig.xypic" name="fig.xypic"></a> + + <p class="title"><b>Figure 6.6. An XYPic + diagram</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <div class="example"> + <a id="ex.xypicsrc" name="ex.xypicsrc"></a> + + <p class="title"><b>Example 6.6. The XYPic + Input for <a href="ch06.html#fig.xypic" + title="Figure 6.6. An XYPic diagram">Figure 6.6</a></b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="tex.06.06.tex"></a> +</pre> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2892057" + name="id2892057"></a>DraTeX</h3> + </div> + </div> + + <p>DraTeX<a id="id2892066" class="indexterm" + name="id2892066"></a><a id="id2892077" class="indexterm" + name="id2892077"></a> is a macro package that can be + loaded on top of Plain TeX or LaTeX and provides many + sophisticated drawing features. An example is shown in + Figure <a href="ch06.html#fig.dratex" + title="Figure 6.7. An DraTeX diagram">Figure 6.7</a>. + The source is in Example <a + href="ch06.html#ex.dratexsrc" + title="Example 6.7. The DraTeX Input for ">Example 6.7</a>.</p> + + <div class="figure"> + <a id="fig.dratex" name="fig.dratex"></a> + + <p class="title"><b>Figure 6.7. An DraTeX + diagram</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <div class="example"> + <a id="ex.dratexsrc" name="ex.dratexsrc"></a> + + <p class="title"><b>Example 6.7. The DraTeX + Input for <a href="ch06.html#fig.dratex" + title="Figure 6.7. An DraTeX diagram">Figure 6.7</a></b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="tex.06.07.tex"></a> +</pre> + </div> + + <p>DraTeX offers a wide variety of low-level drawing + commands: straight lines at arbitrary angles, circles of + any size, bezier curves, rectangular or polar coordinate + systems, perspective for three-dimensional figures, + user-definable shading patterns, clipping, repetition, + and user-definable drawing objects and commands. A + supporting package, AlDraTeX<a id="id2892187" + class="indexterm" name="id2892187"></a>, provides + high-level drawing commands for pie charts, XY charts, + bar charts, spread diagrams, grid diagrams, trees, and + diagram annotations (arrows, edges, labels).</p> + + <p>Although it is a flexible and portable solution, + beware that complex figures may require considerable time + to compute and will almost certainly require a big TeX. + The resulting <tt>DVI</tt> files tend to be large as + well.</p> + + <p>DraTeX and AlDraTeX are described in <span + class="emphasis"><em>TeX & LaTeX: Drawing and + Literate Programming</em></span> [<a + href="bi01.html#eg:dratex">eg:dratex</a>].</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2892246" + name="id2892246"></a>Using a Little Help</h2> + </div> + </div> + + <p>On most platforms, if you have TeX, MetaFont<a + id="id2892255" class="indexterm" name="id2892255"></a> is + available. Because MetaFont was designed for drawing, it + has much better support for pictures and figures than TeX. + There are three utilities that allow you to combine TeX and + MetaFont to create pictures: <b>MFPic</b> and + <b>Fig2MF</b>.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2892297" + name="id2892297"></a>MFPic</h3> + </div> + </div> + + <p><b>MFPic</b>'s <tt>picture</tt> environment and + LaTeX's <tt>picture</tt> environment are implemented very + differently. The commands in <b>MFPic</b> don't attempt + to typeset your diagram with special fonts; instead, they + write MetaFont commands to another file. This file must + be processed with MetaFont before your document can be + viewed.</p> + + <p>Because MetaFont is used to draw the actual diagram, + the <b>MFPic</b> macros are much more flexible than the + LaTeX picture creation commands. <b>MFPic</b> macros + provide lines (at any angle), rectangles, polygons, + circles (of any size), ellipses, cyclic and acyclic + curves, arcs, and wedges (all empty, shaded, or + filled).</p> + + <p>Unlike <b>Fig2MF</b>, described below, <b>MFPic</b> + can plot user-specified functions (parametrically or + directly, using polygonal or bezier interpolation).</p> + + <p>Finally, because <b>MFPic</b> works so directly with + TeX, it can include labels and captions in the figure as + well as allowing “MetaFont hackers” to insert + MetaFont code directly.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2892403" + name="id2892403"></a>Fig2MF</h3> + </div> + </div> + + <p>The “Fig” in <b>Fig2MF</b><a + id="id2892422" class="indexterm" name="id2892422"></a> + stands for the Fig graphics code (in this case, Fig + version 2.1). Fig is a device-independent way of + representing figures. Like TeX <tt>DVI</tt> files, Fig + graphics<a id="id2892446" class="indexterm" + name="id2892446"></a> are always translated into a + device-dependent form before they are printed. + <b>Fig2MF</b> translates Fig graphics into MetaFont code, + which can be rendered into a font that is usable by TeX + on any platform.</p> + + <p>At present, there are a few limitations on + <b>Fig2MF</b>: text objects are ignored, and arrowed and + non-solid line styles are not supported. The advantage of + <b>Fig2MF</b> is that very good interactive drawing + programs, like <b>xfig</b>, can be used to create + figures.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.tpic" + name="sec.tpic"></a>MetaFont</h3> + </div> + </div> + + <p>If the idea of programming directly in MetaFont<a + id="id2892507" class="indexterm" name="id2892507"></a> is + appealing to you, start by reading “Simple Drawings + in MetaFont” [<a + href="bi01.html#zw:simple">zw:simple</a>]. This is a + short document (freely available) that describes how + simple drawings can easily be rendered directly in + MetaFont.</p> + + <p>In order to use MetaFont creatively, <span + class="emphasis"><em>The \MF{}book</em></span> [<a + href="bi01.html#kn:mfbook">kn:mfbook</a>] is really a + necessity, but you can get a feel for the picture + creation process in MetaFont without it.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2892560" + name="id2892560"></a>Using a Little More Help</h2> + </div> + </div> + + <p>A couple of TeX macro packages combine the convenience + of using only TeX commands to produce pictures and figures + with the power of PostScript<a id="id2892571" + class="indexterm" name="id2892571"></a><a id="id2892581" + class="indexterm" name="id2892581"></a>. Using these macros + makes your documents less portable because they rely on a + PostScript printer or PostScript interpreter to be + printed.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.pictures.pstricks" + name="sec.pictures.pstricks"></a>PSTricks</h2> + </div> + </div> + + <p>The PSTricks<a id="id2892610" class="indexterm" + name="id2892610"></a><a id="id2892620" class="indexterm" + name="id2892620"></a> macro package is a TeX-PostScript + hybrid. The advantage of this approach is that PSTricks is + able to provide much wider functionality than the preceding + packages without leaving TeX. The disadvantage is that it + makes your documents dependent on a PostScript printer.</p> + + <p>One of the neatest features of PSTricks is the ability + to interact with other TeX objects. You can add PostScript + annotations (curved lines, labels, etc.) to the entries in + a table, for example, or point to other elements on the + page.</p> + + <p>In addition to allowing you to insert essentially + arbitrary PostScript commands directly into your document, + PSTricks provides TeX macros for most common picture + elements including: commands for curved and straight lines + (at arbitrary angles), a wide variety of arrow heads and + tails, pattern-filled regions, regular and irregular + polygonal shapes, text scaling and rotation, and grids.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2892664" + name="id2892664"></a>TeXdraw</h2> + </div> + </div> + + <p>TeXdraw, like \product{\PSTricks}, provides support for + pictures and figures by relying on a PostScript back + end.</p> + + <p>TeXdraw<a id="id2892679" class="indexterm" + name="id2892679"></a><a id="id2892688" class="indexterm" + name="id2892688"></a> is organized into a toolbox of simple + routines from which more complex commands can be + constructed. The TeXdraw manual [<a + href="bi01.html#pk:texdraw">pk:texdraw</a>] includes + several examples of how complex commands can be built from + toolbox routines.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2892716" + name="id2892716"></a>tpic</h2> + </div> + </div> + + <p>The “pic”<a id="id2892728" class="indexterm" + name="id2892728"></a> drawing language was designed for + <b>troff</b> documents. The <b>tpic</b><a id="id2892749" + class="indexterm" name="id2892749"></a><a id="id2892756" + class="indexterm" name="id2892756"></a><a id="id2892766" + class="indexterm" name="id2892766"></a> program interprets + pic drawings and produces TeX output to render them. The + output relies on a set of \special commands, which must be + implemented by the DVI driver to actually produce the + output. The <b>tpic</b> \specials are implemented by many + DVI drivers.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.scaleformat" name="sec.scaleformat"></a>Using a + Lot of Help</h2> + </div> + </div> + + <p>Although many nice effects can be achieved directly in + TeX or with MetaFont, you will probably want to include + some other form of image (e.g., an encapsulated PostScript + figure or a scanned photograph) in a TeX document + eventually.</p> + + <p>There are a myriad of choices when this occurs. To a + large extent, the options available depend on the kind of + printer you have, which DVI drivers you use, and to what + extent you are willing to sacrifice device + independence.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2892815" + name="id2892815"></a>Electronic Cut-and-paste</h3> + </div> + </div> + + <p>Documents<a id="id2892828" class="indexterm" + name="id2892828"></a> that require complex graphics may + be difficult to produce as a single TeX document. You may + exceed the memory limitations of your version of TeX if + you try to put too many figures on a given page, or you + may wish to include graphics from incompatible macro + packages (suppose you are using the Lollipop format for + example, and you want to include a LaTeX + <tt>picture</tt>).</p> + + <p>You can always leave blank space in your document, + print the graphic on a separate page, and then combine + the two pages with scissors, glue, and a photocopy + machine. However, there are many times when this is + inappropriate (not to mention the aesthetic sensibilities + it may disturb).</p> + + <p>Another solution is to use a program that can perform + cut-and-paste operations on the output files before they + are printed. If you use Plain TeX or LamSTeX, one option + is <b>DVIpaste</b><a id="id2892877" class="indexterm" + name="id2892877"></a>. <b>DVIpaste</b> can insert parts + of one <tt>DVI</tt> file into another. It is part of the + LamSTeX distribution. The documentation for + <b>DVIpaste</b> contains a good example of its use. + Unfortunately, <b>DVIpaste</b> relies on macros that are + incompatible with most other macro packages.</p> + + <p>Some DVI drivers like <b>dvimsp</b><a id="id2892928" + class="indexterm" name="id2892928"></a>,<sup>[<a + id="id2892937" name="id2892937" + href="#ftn.id2892937">81</a>]</sup> which comes with + emTeX, can translate <tt>DVI</tt> files into bitmapped + images that can then be incorporated into your document + directly. Figures <a href="ch04.html#fig.caffeine" + title="Figure 4.11. Caffeine by ChemTeX">Figure 4.11</a>, + <a href="ch04.html#fig.lithium" + title="Figure 4.13. A lithium cation rendered by ChemStruct"> + Figure 4.13</a>, and  <a + href="ch04.html#fig.mozart" + title="Figure 4.15. A little Mozart…">Figure 4.15</a> + in Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>, + were inserted into this book using <b>dvidot</b><a + id="id2893022" class="indexterm" + name="id2893022"></a>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2893032" + name="id2893032"></a>Scalable Image Formats</h3> + </div> + </div> + + <p>Several of the most commonly encountered scalable + image formats are PostScript (usually encapsulated)<a + id="id2893044" class="indexterm" name="id2893044"></a><a + id="id2893054" class="indexterm" name="id2893054"></a>, + HPGL (Hewlett-Packard's<a id="id2893063" + class="indexterm" name="id2893063"></a> Plotter + language), DXF (Autocad's vector format)<a id="id2893072" + class="indexterm" name="id2893072"></a>, and the Fig + graphics<a id="id2893081" class="indexterm" + name="id2893081"></a> language. PostScript and HPGL are + used by specific printers and plotters, DXF files are + created by many computer-aided design programs, and Fig + is a graphic language understood by several free editing + tools---it is always converted into something else before + it is printed. Many programs that can edit scalable + images have their own vendor-specific formats. Luckily, + these programs can usually produce PostScript or HPGL + output as well.</p> + + <p>PostScript images are the most commonly encountered + scalable images. Drawing packages that output PostScript + generally produce <span class="emphasis"><em>encapsulated + PostScript</em></span> (EPS)<a id="id2893109" + class="indexterm" name="id2893109"></a><a id="id2893117" + class="indexterm" name="id2893117"></a>. Similarly, most + PostScript clip-art is distributed in EPS format. + Encapsulated PostScript is a subset of the PostScript + language. One of the most important features of EPS + images is a <span class="emphasis"><em>bounding + box</em></span><a id="id2893135" class="indexterm" + name="id2893135"></a><a id="id2893145" class="indexterm" + name="id2893145"></a>. The bounding box identifies the + size of the EPS image. This information is used to + determine the scaling factor required to get an image of + the correct size.</p> + + <p>Generic PostScript can sometimes be converted into + encapsulated PostScript. For example, the + <b>ps2epsi</b><a id="id2893170" class="indexterm" + name="id2893170"></a> program that comes with + <b>Ghostscript</b><a id="id2893185" class="indexterm" + name="id2893185"></a> attempts to convert generic + PostScript into encapsulated PostScript.</p> + + <p>Some software produces reasonable PostScript figures, + but fails to include the bounding box. For those + situations, the <b>bbfig</b><a id="id2893206" + class="indexterm" name="id2893206"></a> program that + comes with <b>dvips</b> may help. <b>bbfig</b> uses the + printer to calculate a bounding box that you can insert + into the figure. After you have printed the figure, you + can construct a bounding box by hand, if necessary + (sometimes <b>bbfig</b> gets confused). Simply measure + the height and width of the figure and its position on + the page (measured from the bottom-left corner). The + bounding box is a rectangle measured from the lower-left + corner of the figure to the upper-right corner. An + example is shown in Figure <a + href="ch06.html#fig.epsbox" + title="Figure 6.8. A PostScript bounding box example"> + Figure 6.8</a>.</p> + + <div class="figure"> + <a id="fig.epsbox" name="fig.epsbox"></a> + + <p class="title"><b>Figure 6.8. A PostScript + bounding box example</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>The bounding box is measured in PostScript points. + There are 72 PostScript points to the inch, so the image + in Figure <a href="ch06.html#fig.epsbox" + title="Figure 6.8. A PostScript bounding box example"> + Figure 6.8</a> has the following bounding box:</p> + + <div class="informalexample"> + <p><!-- %BoundingBox: 115.2 180 468 626.4 --></p> + </div> + + <p>If you are printing your document on a PostScript + printer, you will find that PostScript images are easy to + handle; every PostScript DVI driver that I have seen + allows you to incorporate encapsulated PostScript with + one or more \special commands. The section “<a + href="ch06.html#sec.incps" + title="Bitmapped Image Formats">the section called + “Bitmapped Image Formats”</a>” later in + this chapter describes two ways of incorporating + encapsulated PostScript images into Plain TeX or LaTeX + documents for printing on a PostScript printer.</p> + + <p>PostScript output on non-PostScript devices is much + more difficult, although it can be achieved with a + PostScript interpreter like <b>Ghostscript</b>.<sup>[<a + id="id2893346" name="id2893346" + href="#ftn.id2893346">82</a>]</sup> For a detailed + description of how PostScript images can be converted + into another format with <b>Ghostscript</b>, see the + “<a href="ch06.html#sec.gs" + title="Image Magick">the section called “Image + Magick”</a>” section later in this + chapter.</p> + + <p>Hewlett-Packard HPGL<a id="id2893388" + class="indexterm" name="id2893388"></a> is the plotter + language developed by HP for its line of pen-based + plotting devices. Many computer-aided design and drafting + programs can produce HPGL. In addition to plotters, the + HP LaserJet III and more recent HP LaserJet printers also + understand HPGL. On an HP LaserJet III or later model + printer, you can print HPGL directly if your DVI driver + allows you to include printer-specific data. This ability + was introduced in version 1.4t of the emTeX + <b>dvihplj</b><a id="id2893402" class="indexterm" + name="id2893402"></a> driver.</p> + + <p>If your DVI driver does not support printer-specific + files or your printer does not understand HPGL, there are + at least two conversion programs (<b>hp2xx</b><a + id="id2893432" class="indexterm" name="id2893432"></a> + and <b>hp2ps</b><a id="id2893446" class="indexterm" + name="id2893446"></a>) that may be able to convert your + HPGL drawings into another form you can use.</p> + + <p>The Fig graphics language was designed to represent + pictures and figures in an easy to interpret and portable + manner. The <b>Fig</b><a id="id2893467" class="indexterm" + name="id2893467"></a> and <b>xfig</b><a id="id2893481" + class="indexterm" name="id2893481"></a> drawing programs + work with Fig graphics<a id="id2893490" class="indexterm" + name="id2893490"></a>. Several other programs, like + <b>gnuplot</b><a id="id2893505" class="indexterm" + name="id2893505"></a>, can also produce Fig graphics. See + the “<a href="ch06.html#sec.Fig" + title="The epic and eepic styles">the section called + “The epic and eepic styles”</a>” + section for more information.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.incps" + name="sec.incps"></a>Bitmapped Image Formats</h3> + </div> + </div> + + <p>Including bitmapped images<a id="id2893540" + class="indexterm" name="id2893540"></a> is easier than + including scalable images because no real interpretation + of commands is necessary. Over the years, lots of + different ways have been developed for including + bitmapped images in TeX documents. Since the development + of the <b>bm2font</b> program, most of these methods have + become obsolete. As a result, this section examines only + a few methods.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2893563" + name="id2893563"></a>DVI driver {\ttbackslash + special}</h4> + </div> + </div> + + <p>The first method is DVI driver-specific: if your DVI + driver includes a \special command for including + bitmapped graphic images, you can simply use that + command. The disadvantage of using a DVI driver + \special is that it makes the document less portable. + Instead of being printable with any DVI driver, it now + requires a DVI driver that recognizes a particular + \special command. Note also that some DVI drivers do + not handle color images very well; you may need to + convert the image to black and white first. (Many + programs described in the “<a + href="ch06.html#sec.picconv" + title="Manipulating Images">the section called + “Manipulating Images”</a>” section + later in this chapter can perform this operation.)</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2893598" + name="id2893598"></a>bm2font</h4> + </div> + </div> + + <p>On most platforms, <b>bm2font</b><a id="id2893612" + class="indexterm" name="id2893612"></a> provides an + ideal solution for including bitmapped images. This + program translates bitmapped images into <tt>PK</tt><a + id="id2893630" class="indexterm" name="id2893630"></a> + fonts and produces a snippet of TeX code that can be + used to print the image in your document. Because most + DVI drivers can use <tt>PK</tt> fonts, a high degree of + portability is maintained. Some portability is still + lost since the bitmapped image has a fixed resolution, + but that is a consequence of using the bitmapped image, + not <b>bm2font</b>. All of the bitmap images in this + book were included with the <b>bm2font</b> program.</p> + + <p>This book is a good example of an instance where + portability is required. I could easily have included + the graphics with the \special command of the DVI + driver that I use most frequently (<b>dvihplj</b>), but + then I couldn't have produced pages suitable for final + publication.</p> + + <p><b>bm2font</b> can read a number of common graphic + image formats including <tt>GIF</tt><a id="id2893714" + class="indexterm" name="id2893714"></a>, Windows + <tt>BMP</tt><a id="id2893731" class="indexterm" + name="id2893731"></a>, and <tt>PCX</tt><a + id="id2893753" class="indexterm" name="id2893753"></a>. + It can translate color images into black and white + using a number of dithering<a id="id2893763" + class="indexterm" name="id2893763"></a> methods, and it + can scale the image to a specific size (although + scaling bitmap images is not usually very + effective).</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2893776" + name="id2893776"></a>pbmtopk</h4> + </div> + </div> + + <p>The <b>pbmtopk</b><a id="id2893790" + class="indexterm" name="id2893790"></a> program + provides a solution similar to <b>bm2font</b>. Because + <b>pbmtopk</b><a id="id2893812" class="indexterm" + name="id2893812"></a> is a smaller program, it may be + easier to port to other systems. The <b>pbmtopk</b> + distribution includes <b>pktopbm</b><a id="id2893834" + class="indexterm" name="id2893834"></a>, which can + translate <tt>PK</tt> files back into <tt>PBM</tt><a + id="id2893860" class="indexterm" name="id2893860"></a> + bitmaps.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2893872" + name="id2893872"></a>Inserting PostScript Images into + TeX</h3> + </div> + </div> + + <p>If you are using Plain TeX or LaTeX and printing your + documents on a PostScript printer<a id="id2893883" + class="indexterm" name="id2893883"></a>, there are + several (essentially equivalent) style files that you can + use to include your figures.</p> + + <p>One is <tt>epsfig.sty</tt><a id="id2893906" + class="indexterm" name="id2893906"></a>, which can be + used as a LaTeX style option or be inserted directly into + Plain TeX documents with \input.<sup>[<a id="id2893914" + name="id2893914" href="#ftn.id2893914">83</a>]</sup> The + <tt>epsfig</tt> style option is supported by LaTeX2e as + well.</p> + + <p>After the style file is loaded, you can use the macro + \epsfig to include your figure. The complete syntax for + \epsfig is:</p> +<pre class="screen"> + \epsfig{figure=, height=, width=, rheight=, rwidth=, + bbllx=, bblly=, bburx=, bbury=, + clip=, angle=, silent=} +</pre> + + <p>In practice, only a few of these options are commonly + used. Here is a description of each:</p> + + <div class="variablelist"> + <dl> + <dt><span class="term"><tt>figure=</tt></span></dt> + + <dd> + <p>Identifies the name of the file containing the + PostScript figure. This option is required.</p> + </dd> + + <dt><span class="term"><tt>height=, + width=</tt></span></dt> + + <dd> + <p>Specify the height and width of the figure. If + only one is specified, the other will be scaled + automatically to keep the proportions of the + original figure. If both are given, the figure will + be scaled (anamorphically) to the requested + size.</p> + </dd> + + <dt><span class="term"><tt>rheight=, + rwidth=</tt></span></dt> + + <dd> + <p>Provide the “reserved” height and + width of the figure. This is how big the TeX box + that encloses the figure will be. By default, the + box is as big as the figure.</p> + </dd> + + <dt><span class="term"><tt>bbllx=, bblly=, bburx=, + bbury=</tt></span></dt> + + <dd> + <p>Specify the bounding box<a id="id2894103" + class="indexterm" name="id2894103"></a> of the + figure. If not specified (it usually isn't), the + bounding box is read from the PostScript + figure.</p> + </dd> + + <dt><span class="term"><tt>clip=</tt></span></dt> + + <dd> + <p>Indicates whether or not the figure should be + “clipped” at its bounding box. Clipping + prevents lines in the figure from extending beyond + the bounding box.</p> + </dd> + + <dt><span class="term"><tt>angle=</tt></span></dt> + + <dd> + <p>Allows you to specify that the figure should be + rotated. Always specify the angle of rotation in + degrees. The figure is always rotated + counter-clockwise.</p> + </dd> + + <dt><span class="term"><tt>silent=</tt></span></dt> + + <dd> + <p>Turns off informative messages printed by the + macros as the figure is processed.</p> + </dd> + </dl> + </div> + + <p>The parameters to the \epsfig macro have to obey TeX's + strict parsing rules. In particular, you must not put + spaces around the equal sign in any option. The + <tt>clip=</tt> and <tt>silent=</tt> options have no + values, but you must include the equal sign anyway.</p> + + <p>For example, Figure <a + href="ch06.html#fig.psfigure" + title="Figure 6.9. An example of an encapsulated figure"> + Figure 6.9</a> was inserted by \epsfig using the + following commands:</p> +<pre class="screen"> +\begin{figure} + \epsfig{figure=figs/sample.eps} + \caption{An example of an encapsulated figure.} + \label{fig.psfigure} +\end{figure} +</pre> + <a id="id2894252" class="indexterm" name="id2894252"></a> + + <div class="figure"> + <a id="fig.psfigure" name="fig.psfigure"></a> + + <p class="title"><b>Figure 6.9. An example of + an encapsulated figure</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>Figure <a href="ch06.html#fig.psfigurerot" + title="Figure 6.10. Another example of an encapsulated figure (resized and rotated)"> + Figure 6.10</a> demonstrates a few of other + <tt>epsfig</tt> options:</p> +<pre class="screen"> +\begin{figure} + \epsfig{figure=figs/sample.eps,width=6cm,angle=45} + \caption{Another example of an encapsulated figure + (resized and rotated)} + \label{fig.psfigurerot} +\end{figure} +</pre> + <a id="id2894324" class="indexterm" name="id2894324"></a> + + <div class="figure"> + <a id="fig.psfigurerot" name="fig.psfigurerot"></a> + + <p class="title"><b>Figure 6.10. Another + example of an encapsulated figure (resized and + rotated)</b></p> + + <div class="mediaobject"> + <img src="figs/tex.06.09.eps" /> + </div> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.picconv" name="sec.picconv"></a>Manipulating + Images</h2> + </div> + </div> + + <p>There are literally dozens of software packages + available for manipulating graphic images<a id="id2894380" + class="indexterm" name="id2894380"></a>. The discussion + that follows focuses on a small handful of these programs. + The programs selected are representative of the kinds of + tools available, but this is by no means an endorsement + that these are the best tools. Table <a + href="ch06.html#tab.manipover" + title="Table 6.1. Graphics Manipulation Packages"> + Table 6.1</a> summarizes the programs described in + this section.</p> + + <p>If you cannot find any way of converting a particular + image, remember that you may be able to display the image + and capture it with another program that can save the image + in a more tractable format.</p> + + <div class="table"> + <a id="tab.manipover" name="tab.manipover"></a> + + <p class="title"><b>Table 6.1. Graphics + Manipulation Packages</b></p> + + <table summary="Graphics Manipulation Packages" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Program</th> + + <th align="left">\bf Platforms</th> + + <th align="left">\bf Cost</th> + + <th align="left">\bf Purpose</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">Image Magick</td> + + <td align="left">unix</td> + + <td align="left">Free</td> + + <td align="left">Display, manipulate, convert and + capture images</td> + </tr> + + <tr> + <td align="left">PBMplus</td> + + <td align="left">All</td> + + <td align="left">Free</td> + + <td align="left">Convert and manipulate images</td> + </tr> + + <tr> + <td align="left">xv</td> + + <td align="left">unix</td> + + <td align="left">SW${}^1$</td> + + <td align="left">Display, manipulate, convert and + capture images</td> + </tr> + + <tr> + <td align="left">xloadimage</td> + + <td align="left">unix</td> + + <td align="left">Free</td> + + <td align="left">Display images</td> + </tr> + + <tr> + <td align="left">Image Alchemy</td> + + <td align="left">MS-DOS${}^2$</td> + + <td align="left">SW</td> + + <td align="left">Convert images</td> + </tr> + + <tr> + <td align="left">ColorView</td> + + <td align="left">MS-DOS</td> + + <td align="left">SW</td> + + <td align="left">Convert images</td> + </tr> + + <tr> + <td align="left">Jpeg4</td> + + <td align="left">MS-DOS</td> + + <td align="left">SW</td> + + <td align="left">Convert images</td> + </tr> + + <tr> + <td align="left">pmjpeg</td> + + <td align="left">OS/2</td> + + <td align="left">SW</td> + + <td align="left">Display and convert images</td> + </tr> + + <tr> + <td align="left">txt2pcx</td> + + <td align="left">MS-DOS</td> + + <td align="left">SW</td> + + <td align="left">Translate text into graphic image + format</td> + </tr> + + <tr> + <td align="left">Ghostscript</td> + + <td align="left">All</td> + + <td align="left">Free</td> + + <td align="left">Convert PostScript to other + formats</td> + </tr> + + <tr> + <td align="left">GoScript</td> + + <td align="left">MS-DOS</td> + + <td align="left">\$\$${}^3$</td> + + <td align="left">Convert PostScript to other + formats</td> + </tr> + + <tr> + <td align="left">hp2xx</td> + + <td align="left">unix</td> + + <td align="left">Free</td> + + <td align="left">Convert HPGL to other formats</td> + </tr> + + <tr> + <td align="left">\multicolumn{4}{l}{ ${}^1$\vrule + height11pt width0pt\tiny Shareware: “Try + before you buy,” but not free.}</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\multicolumn{4}{l}{ ${}^2$\tiny + Also available for Sun workstations; see + documentation.}</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.gs" + name="sec.gs"></a>Image Magick</h3> + </div> + </div> + + <p><b>Image Magick<a id="id2894787" class="indexterm" + name="id2894787"></a></b> is a collection of eight + programs for manipulating images. These programs work + with MIFF files<a id="id2894797" class="indexterm" + name="id2894797"></a> by default. MIFF is the + “machine-independent file format” developed + by the package's author. If you are going to manipulate + images with these tools, the author recommends converting + them to MIFF format first. The <b>convert</b> program + reads and writes a large number of image formats, so + conversion to and from MIFF format is + straightforward.</p> + + <p><b>Image Magick</b> requires the Independent JPEG + Group<a id="id2894834" class="indexterm" + name="id2894834"></a>'s JPEG library in order to + manipulate JPEG images. Similarly, Sam Leffler<a + id="id2894844" class="indexterm" name="id2894844"></a>'s + TIFF software library is required to manipulate TIFF<a + id="id2894854" class="indexterm" name="id2894854"></a> + images. Both of these are compile-time options. If you + did not build <b>Image Magick</b>, you may not be able to + manipulate JPEG or TIFF images. To manipulate PostScript + images, <b>Ghostscript</b> must be available.</p> + + <p>The programs described below are the <b>Image + Magick</b> tools that allow you to manipulate images in + ways that may be necessary or useful for creating + printable images. Other tools, like <b>animate</b><a + id="id2894899" class="indexterm" name="id2894899"></a>, + included in the <b>Image Magick</b> distribution, aren't + described here because they have no bearing on + printability.</p> + + <div class="variablelist"> + <dl> + <dt><span class="term"><b>display</b></span></dt> + + <dd> + <p>This program<a id="id2894938" class="indexterm" + name="id2894938"></a> allows you to preview images + on an X11 display. The number of colors in the + image is reduced to match the number of colors of + your display, if necessary. Program options allow + you to specify a variety of image-processing + operations on the image (noise reduction, scaling, + manipulation of the color map, etc.).</p> + + <p>Conversion to MIFF format, as recommended above, + isn't necessary for simply displaying the + image.</p> + </dd> + + <dt><span class="term"><b>import</b></span></dt> + + <dd> + <p>This program<a id="id2894981" class="indexterm" + name="id2894981"></a> allows you to capture visible + portions of an X11 display. You can capture any + visible window, the entire display, or any + rectangular portion of the display. <b>import</b> + can save the image in any format recognized by + <b>convert</b>.</p> + </dd> + + <dt><span class="term"><b>convert</b></span></dt> + + <dd> + <p>As the name implies, this utility<a + id="id2895033" class="indexterm" + name="id2895033"></a> converts images between + graphics formats. The following standard formats + are recognized:</p> + + <table class="simplelist" border="0" + summary="Simple list"> + <tr> + <td>MIFF</td> + + <td>BMP</td> + + <td>CMYK</td> + + <td>EPS</td> + + <td>FAX</td> + + <td>GIF</td> + + <td>IRIS</td> + + <td>JPEG</td> + + <td>PICT</td> + + <td>PNM</td> + </tr> + + <tr> + <td>PS</td> + + <td>RGB</td> + + <td>RLE</td> + + <td>SUN</td> + + <td>TGA</td> + + <td>TEXT</td> + + <td>TIFF</td> + + <td>XBM</td> + + <td>XWD</td> + + <td> </td> + </tr> + </table> + + <p>Additionally, a few less-standard formats are + recognized. A complete list is available in the + manual page for <b>convert</b>.</p> + </dd> + + <dt><span class="term"><b>combine</b></span></dt> + + <dd> + <p>This program combines<a id="id2895167" + class="indexterm" name="id2895167"></a> two images + by blending them together. The result varies + tremendously, depending on the kind of blending + used. Simple overlaps, various kinds of cutouts, + and more complex color blendings are possible.</p> + </dd> + + <dt><span class="term"><b>montage</b></span></dt> + + <dd> + <p>Unlike <b>combine</b>, <b>montage</b><a + id="id2895217" class="indexterm" + name="id2895217"></a> combines multiple images by + <span class="emphasis"><em>tiling<a id="id2895229" + class="indexterm" + name="id2895229"></a></em></span>. (The images are + laid next to each other rather than on top of each + other.) Optionally, the image name can appear below + each tile.</p> + </dd> + + <dt><span class="term"><b>mogrify</b></span></dt> + + <dd> + <p><b>mogrify</b><a id="id2895268" + class="indexterm" name="id2895268"></a> is used to + transform an image (or series of images). You can + specify alternate color maps in a variety of ways, + as well as dithering<a id="id2895280" + class="indexterm" name="id2895280"></a> and error + correcting transformations. The images can also be + rolled, rotated, rescaled, and sheared. (Shearing<a + id="id2895290" class="indexterm" + name="id2895290"></a> transforms a rectangle into a + parallelogram by shifting the X or Y axis.)</p> + </dd> + </dl> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2895306" + name="id2895306"></a>PBMplus</h3> + </div> + </div> + + <p>The <b>PBMplus<a id="id2895320" class="indexterm" + name="id2895320"></a></b> package is a large collection + of image translation programs. This package was written + originally for unix, but has since been ported to MS-DOS + and OS/2.</p> + + <p><b>PBMplus</b> defines three file formats<a + id="id2895342" class="indexterm" name="id2895342"></a><a + id="id2895350" class="indexterm" name="id2895350"></a><a + id="id2895357" class="indexterm" + name="id2895357"></a>:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>PBM---The Portable Bitmap format for black and + white images</p> + </li> + + <li> + <p>PGM---The Portable Graymap format for grayscaled + images</p> + </li> + + <li> + <p>PPM---The Portable Pixmap format for color + images</p> + </li> + </ul> + </div> + <br /> + <br /> + + <p>Translation from one format to another is accomplished + by translating into the appropriate portable format + first, and then translating the portable bitmap into the + destination format.</p> + + <p>The following image formats are supported by the + PBMPlus tools:</p> + + <table class="simplelist" border="0" + summary="Simple list"> + <tr> + <td>Abekas YUV bytes</td> + + <td>MGR bitmaps</td> + </tr> + + <tr> + <td>Andrew Toolkit raster objects</td> + + <td>MTV or PRT ray traced images</td> + </tr> + + <tr> + <td>Atari Degas .pi1 images</td> + + <td>MacPaint files</td> + </tr> + + <tr> + <td>Atari Degas .pi3 files</td> + + <td>Macintosh PICT files</td> + </tr> + + <tr> + <td>Atari Spectrum files</td> + + <td>PCX files</td> + </tr> + + <tr> + <td>AutoCAD slides</td> + + <td>PostScript “images”</td> + </tr> + + <tr> + <td>Bennet Yee “faces”</td> + + <td>QRT ray tracer files</td> + </tr> + + <tr> + <td>CMU window manager bitmaps</td> + + <td>Raw grayscale bytes</td> + </tr> + + <tr> + <td>Doodle brush files</td> + + <td>Raw RGB bytes</td> + </tr> + + <tr> + <td>FITS files</td> + + <td>Sun icons</td> + </tr> + + <tr> + <td>GIF files</td> + + <td>Sun rasterfiles</td> + </tr> + + <tr> + <td>Gould scanner files</td> + + <td>TIFF images</td> + </tr> + + <tr> + <td>Group 3 faxes</td> + + <td>TrueVision Targa files</td> + </tr> + + <tr> + <td>HIPS files</td> + + <td>Usenix FaceSaver(tm) images</td> + </tr> + + <tr> + <td>HP PaintJet files</td> + + <td>X10/X11 window dumps</td> + </tr> + + <tr> + <td>IFF ILBM files</td> + + <td>X11 pixmaps</td> + </tr> + + <tr> + <td>IMG (GEM) images</td> + + <td>XBM files</td> + </tr> + + <tr> + <td>Img-whatnot files</td> + + <td>Xim file</td> + </tr> + + <tr> + <td>Lisp Machine bitmaps</td> + + <td> </td> + </tr> + </table> + + <p>The <b>PBMplus</b> tools translate the image into the + appropriate portable format (PBM, PGM, or PPM) depending + on the nature of the image. Similarly, the tools can all + work with “lower” formats. (PPM tools can + work with PGM and PBM files, and PGM tools can work with + PBM files.) For example, there is no + “<b>pbmtopcx</b>,” however the + <b>ppmtopcx</b><a id="id2895625" class="indexterm" + name="id2895625"></a> tool will create a black and white + PCX file if you use a PBM file as the input. Once + converted into a portable format, the image can be + translated back into (almost) any of the supported + formats.</p> + + <p>In addition to image conversion, the PBMPlus tools + include programs to perform a wide variety of image + manipulations.</p> + + <table class="simplelist" border="0" + summary="Simple list"> + <tr> + <td>Apply Conway's rules of life</td> + + <td>Create a blank image</td> + </tr> + + <tr> + <td>Create a mask bitmap</td> + + <td>Reduce/enlarge an image</td> + </tr> + + <tr> + <td>Convert text into a bitmap</td> + + <td>Create a UPC bitmap</td> + </tr> + + <tr> + <td>Bentleyize a greymap</td> + + <td>Apply edge-detection</td> + </tr> + + <tr> + <td>Apply edge-enhancement</td> + + <td>Generate a histogram</td> + </tr> + + <tr> + <td>Normalize contrast</td> + + <td>Apply an “oil-painting” filter</td> + </tr> + + <tr> + <td>Create a “ramp”</td> + + <td>Generate textural features</td> + </tr> + + <tr> + <td>Perform bitwise arithmetic</td> + + <td>Perform MxN convolution</td> + </tr> + + <tr> + <td>Crop an image</td> + + <td>Cut/Paste rectangles</td> + </tr> + + <tr> + <td>Color-reduce</td> + + <td>Flip/rotate</td> + </tr> + + <tr> + <td>Apply gamma-correction</td> + + <td>Build a visual index</td> + </tr> + + <tr> + <td>Invert an image</td> + + <td>Add a border to an image</td> + </tr> + + <tr> + <td>Scale an image</td> + + <td>Shear an image</td> + </tr> + + <tr> + <td>Smooth an image</td> + + <td>Build a tiled image</td> + </tr> + + <tr> + <td>Colorize a graymap</td> + + <td>Dither color images</td> + </tr> + + <tr> + <td>Create fractal terrain</td> + + <td>Apply Laplacian-relief filter</td> + </tr> + </table> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2895807" + name="id2895807"></a>xv</h3> + </div> + </div> + + <p><b>xv</b><a id="id2895821" class="indexterm" + name="id2895821"></a> is an interactive image + viewing/converting tool that runs on X11 servers + (including MS-DOS implementations of X11 such as + Desqview/X).</p> + + <p>You can view GIF<a id="id2895837" class="indexterm" + name="id2895837"></a>, PBM<a id="id2895845" + class="indexterm" name="id2895845"></a>, XBM<a + id="id2895854" class="indexterm" name="id2895854"></a>, + Sun rasterfile<a id="id2895863" class="indexterm" + name="id2895863"></a>, JPEG<a id="id2895871" + class="indexterm" name="id2895871"></a>, and TIFF<a + id="id2895880" class="indexterm" name="id2895880"></a> + images. You can save any image in one of those formats or + in encapsulated PostScript. In addition, you can capture + any visible portion of the X11 server window + interactively with <b>xv</b>.</p> + + <p>Like most of the tools described here, <b>xv</b> + includes a number of image manipulation tools (cropping, + scaling, editing the color map, etc.). If you try to view + an image that is larger than your display, <b>xv</b> + automatically scales it to fit. I find that <b>xv</b>'s + interactive nature makes it easier to use for image + manipulation than the command-driven tools.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2895932" + name="id2895932"></a>xloadimage</h3> + </div> + </div> + + <p>The <b>xloadimage</b><a id="id2895946" + class="indexterm" name="id2895946"></a> program is + another X11 picture display tool. Like <b>xv</b> and + <b>Image Magick</b>'s <b>display</b>, it has a number of + picture manipulation options (although they are not + interactive).</p> + + <p>One advantage of <b>xloadimage</b> is that it does not + rescale images that are too large to fit within the + display. Instead, it places them in a scrollable window. + I find this behavior superior to <b>xv</b>'s solution of + rescaling a very large image even though you are + interested only in a small section of it.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2896003" + name="id2896003"></a>Image Alchemy</h3> + </div> + </div> + + <p><b>Image Alchemy</b><a id="id2896018" + class="indexterm" name="id2896018"></a> is a shareware + tool for converting graphic images between various + formats. Although the manual mentions a version for Sun + workstations, I have only seen the MS-DOS version.</p> + + <p>Note that the unregistered shareware version of this + program will only convert images which are 640$\times$480 + pixels or smaller.</p> + + <p>The following is a list of the graphic formats + recognized by version 1.5 of <b>Image Alchemy</b>:</p> + + <table class="simplelist" border="0" + summary="Simple list"> + <tr> + <td>ADEX</td> + + <td>PCPAINT/Pictor Page Format</td> + </tr> + + <tr> + <td>Autologic</td> + + <td>PCX</td> + </tr> + + <tr> + <td>Binary Information Files (BIF)</td> + + <td>Portable BitMap (PBM)</td> + </tr> + + <tr> + <td>Encapsulated PostScript (EPS)</td> + + <td>Q0</td> + </tr> + + <tr> + <td>Erdas LAN/GIS</td> + + <td>QDV</td> + </tr> + + <tr> + <td>Freedom of the Press</td> + + <td>QRT</td> + </tr> + + <tr> + <td>GEM VDI Image File</td> + + <td>Scodl</td> + </tr> + + <tr> + <td>GIF</td> + + <td>Silicon Graphics Image</td> + </tr> + + <tr> + <td>HP Printer Command Language (PCL)</td> + + <td>Stork</td> + </tr> + + <tr> + <td>HP Raster Transfer Language (RTL)</td> + + <td>Sun Raster</td> + </tr> + + <tr> + <td>HSI JPEG</td> + + <td>TIFF</td> + </tr> + + <tr> + <td>HSI Palette</td> + + <td>Targa</td> + </tr> + + <tr> + <td>HSI Raw</td> + + <td>Utah Raster Toolkit (RLE)</td> + </tr> + + <tr> + <td>IFF/ILBM</td> + + <td>Vivid</td> + </tr> + + <tr> + <td>JPEG/JFIF</td> + + <td>Windows Bitmap (BMP)</td> + </tr> + + <tr> + <td>Jovian VI</td> + + <td>WordPerfect Graphic File</td> + </tr> + + <tr> + <td>Macintosh PICT/PICT2</td> + + <td>XBM</td> + </tr> + + <tr> + <td>MTV Ray Tracer</td> + + <td>XWD</td> + </tr> + </table> + + <p><b>Image Alchemy</b> can also perform a number of + image manipulations like rescaling, cropping, and color + map changes.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2896234" + name="id2896234"></a>ColorView</h3> + </div> + </div> + + <p><b>ColorView<a id="id2896248" class="indexterm" + name="id2896248"></a></b> is a shareware MS-DOS program + for displaying and converting graphic images. Although + designed to work with VESA SuperVGA adapters, + <b>ColorView</b> can also work with plain VGA adapters. + It does require a 80286 or a more powerful processor.</p> + + <p><b>ColorView</b> can read JPEG<a id="id2896279" + class="indexterm" name="id2896279"></a>, GIF (87 and + 89)<a id="id2896288" class="indexterm" + name="id2896288"></a>, BMP<a id="id2896296" + class="indexterm" name="id2896296"></a>, and RLE<a + id="id2896310" class="indexterm" name="id2896310"></a> + images. It can write GIF (87), 8-bit BMP, 24-bit BMP, + JPEG, and RLE images. It can perform image translation + without displaying the images, so a VGA or SuperVGA + adapter is not required for translation.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2896325" + name="id2896325"></a>Jpeg4</h3> + </div> + </div> + + <p>This<a id="id2896334" class="indexterm" + name="id2896334"></a> is the Independent JPEG Group<a + id="id2896343" class="indexterm" name="id2896343"></a>'s + JPEG Software. The compression tool can convert GIF<a + id="id2896353" class="indexterm" name="id2896353"></a>, + PPM<a id="id2896361" class="indexterm" + name="id2896361"></a>, and Targa (TGA)<a id="id2896370" + class="indexterm" name="id2896370"></a> images into + JPEG<a id="id2896379" class="indexterm" + name="id2896379"></a> format. The decompression tool + converts JPEG images into GIF, PPM (or PGM<a + id="id2896389" class="indexterm" name="id2896389"></a>), + or Targa formats.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2896400" + name="id2896400"></a>pmjpeg</h3> + </div> + </div> + + <p>The <b>pmjpeg</b><a id="id2896415" class="indexterm" + name="id2896415"></a> program is an OS/2 2.x program that + can read and display JPEG<a id="id2896424" + class="indexterm" name="id2896424"></a>, TIFF<a + id="id2896433" class="indexterm" name="id2896433"></a>, + Targa<a id="id2896441" class="indexterm" + name="id2896441"></a>, GIF<a id="id2896450" + class="indexterm" name="id2896450"></a>, PCX<a + id="id2896459" class="indexterm" name="id2896459"></a>, + and Windows<a id="id2896467" class="indexterm" + name="id2896467"></a> or OS/2 BMP<a id="id2896482" + class="indexterm" name="id2896482"></a> images. In + addition, <b>pmjpeg</b> can write images in any of these + formats except Windows BMP. <b>pmjpeg</b> can also + capture all or part of the desktop. Some of the other + features of <b>pmjpeg</b> are color map editing, contrast + enhancement, image cropping, scaling, rotation, batch + translation of images into JPEG format, cyclic slideshow + presentations, and the ability to reduce an image to the + system palette colors.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2896523" + name="id2896523"></a>txt2pcx</h3> + </div> + </div> + + <p><b>txt2pcx</b><a id="id2896537" class="indexterm" + name="id2896537"></a> is a memory-resident MS-DOS utility + that captures text-mode screens as PCX graphic images. + See the discussion of screen capturing in the “<a + href="ch06.html#sec.screendump" title="GoScript">the + section called “GoScript”</a>” section + of this chapter for more information about why this is + sometimes desirable.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2896564" + name="id2896564"></a>Ghostscript</h3> + </div> + </div> + + <p><b>Ghostscript</b><a id="id2896577" class="indexterm" + name="id2896577"></a> is distributed by the Free Software + Foundation (FSF)<a id="id2896586" class="indexterm" + name="id2896586"></a>. It is one of the few freely + available programs that can convert PostScript images + into other formats.</p> + + <p><b>Ghostscript</b> is a (mostly) complete PostScript<a + id="id2896608" class="indexterm" name="id2896608"></a> + interpreter. Converting an entire page of PostScript into + another format is straightforward with + <b>Ghostscript</b>. The following example converts the + PostScript file <tt>file.ps</tt> into a monochrome GIF<a + id="id2896637" class="indexterm" name="id2896637"></a> + image called <tt>image1.gif</tt>:</p> +<pre class="screen"> +\$ <span +class="bold"><b>gs -r300 -sDEVICE=gifmono -sOutputFile=image1.gif file.ps</b></span> + +</pre> + <br /> + <br /> + + <p>The parameter <span + class="emphasis"><em>-r300</em></span> indicates that + <b>Ghostscript</b> should generate output at a resolution + of 300dpi. This controls the size of the bitmap. If you + plan to print the resulting bitmap, you should specify + the same resolution as your printer. If <tt>file.ps</tt> + contains more than one page, you can use a <tt><!-- + d</tt> in the output file's name to identify how multiple + pages --> should be handled. For example, if + <tt>file.ps</tt> contains three pages, the following + command will extract the first page into + <tt>image1.gif</tt>, the second page into + <tt>image2.gif</tt>, and the third page into + <tt>image3.gif</tt>:<sup>[<a id="id2896732" + name="id2896732" href="#ftn.id2896732">84</a>]</sup></p> +<pre class="screen"> +\$ <span +class="bold"><b>gs -r300 -sDEVICE=gifmono -sOutputFile=image\%d.gif file.ps</b></span> + +</pre> + \vskip-\baselineskip <br /> + <br /> + + <p>For incorporating images into TeX, it is more common + to convert an encapsulated PostScript (EPS)<a + id="id2896761" class="indexterm" name="id2896761"></a><a + id="id2896769" class="indexterm" name="id2896769"></a><a + id="id2896779" class="indexterm" name="id2896779"></a> + image into a bitmapped format than it is to convert + entire pages. Encapsulated PostScript is described + earlier in this chapter in the section “<a + href="ch06.html#sec.scaleformat" + title="Using a Lot of Help">the section called + “Using a Lot of Help”</a>.” It is + slightly more difficult to convert encapsulated + PostScript because of the bounding box<a id="id2896806" + class="indexterm" name="id2896806"></a>. To convert this + into a bitmap of exactly the right size, you have to tell + <b>Ghostscript</b> to move the image to the upper-left + corner of the page (where <b>Ghostscript</b> always + begins its conversion) and tell it how big the image is + in pixels.</p> + + <p>The following steps are necessary to produce exactly + the right size bitmap of the encapsulated PostScript + figure:</p> + + <div class="orderedlist"> + <ol type="1"> + <li> + <p>Find the size of the bounding box. Examine the + PostScript file using a text editor. Find the line + that begins with <tt><!-- % BoundingBox:</tt> + --> followed by four numbers. Those numbers are + the lower-left x-coordinate (llx), the lower-left + y-coordinate (lly), the upper-right x-coordinate + (urx), and the upper-right y-coordinate (ury), + respectively.</p> + </li> + + <li> + <p>Create another file called <tt>trans.ps</tt> + that contains the single line:</p> +<pre class="screen"> +<span class="emphasis"><em>llx</em></span> neg <span +class="emphasis"><em>lly</em></span> neg translate +</pre> + </li> + + <li> + <p>Calculate the width of the bounding box: + $width_{bb} = urx - llx$.</p> + </li> + + <li> + <p>The width you have just calculated is the width + at 72dpi. To convert this to the resolution that + you will be using, multiply by the resolution and + divide by 72. For example, if you will be printing + at 300dpi and the width of the bounding box + $width_{bb}$ is 216, the width at 300dpi, <span + class="emphasis"><em>width</em></span>, is $(216 + \times 300) \div 72 = 900$.</p> + </li> + + <li> + <p>Calculate the corrected height in an analogous + manner using $height_{bb} = ury - lly$ as a + starting point. For example, if $height_{bb} = + 360$, the height you get at 300dpi is 1500.</p> + </li> + + <li> + <p>Finally, run <b>Ghostscript</b> using the <span + class="emphasis"><em>-g</em></span> parameter to + select the image size ($width \times height$). For + example, to translate the EPS file <tt>card.ps</tt> + into the GIF file <tt>card.gif</tt> at 300dpi + assuming the height and width calculated above, + run:</p> +<pre class="screen"> +\$ <span +class="bold"><b>{gs -r300 -g900x1500 -sDEVICE=gifmono {\bs} + -sOutputFile=card.gif trans.ps card.ps}</b></span> + +</pre> + </li> + </ol> + </div> + + <p>The <span class="emphasis"><em>Perl</em></span> script + shown in Example <a href="ch06.html#ex.gseps" + title="Example 6.8. Converting Encapsulated PostScript to a Bitmap with Ghostscript"> + Example 6.8</a> automates this process.</p> + + <div class="example"> + <a id="ex.gseps" name="ex.gseps"></a> + + <p class="title"><b>Example 6.8. Converting + Encapsulated PostScript to a Bitmap with + Ghostscript</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="gs-eps.pl"></a> +</pre> + </div> + + <p>The primary disadvantage of <b>Ghostscript</b> is that + the selection of free PostScript fonts is quite limited. + The only freely available fonts are: IBM Courier, + Bitstream Courier, Bitstream Charter, Adobe Utopia, URW + Antiqua, URW Grotesk Bold, Nimbus Roman No9, and Nimbus + Sans. Unless you have the PostScript sources for other + fonts used in your figures (<tt>PFA</tt> or <tt>PFB</tt> + and <tt>AFM</tt> files), <b>Ghostscript</b> will use + crude approximations of the desired font.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.screendump" + name="sec.screendump"></a>GoScript</h3> + </div> + </div> + + <p><b>GoScript</b><a id="id2897134" class="indexterm" + name="id2897134"></a> is a commercial PostScript<a + id="id2897143" class="indexterm" name="id2897143"></a> + interpreter sold by LaserGo, Inc.<a id="id2897155" + class="indexterm" name="id2897155"></a> <b>GoScript</b> + is available for MS-DOS systems only. A special version + is available for Microsoft Windows.</p> + + <p>The primary advantage of a commercial interpreter is + that it comes with more high-quality fonts. The + <b>GoScript</b> program comes with “clones” + of the 13 standard PostScript fonts:</p> + + <table class="simplelist" border="0" + summary="Simple list"> + <tr> + <td>Times Roman</td> + + <td>Times Italic</td> + </tr> + + <tr> + <td>Times Bold</td> + + <td>Times Bold Italic</td> + </tr> + + <tr> + <td>Helvetica</td> + + <td>Helvetica Oblique</td> + </tr> + + <tr> + <td>Helvetica Bold</td> + + <td>Helvetica Bold Oblique</td> + </tr> + + <tr> + <td>Courier</td> + + <td>Courier Oblique</td> + </tr> + + <tr> + <td>Courier Bold</td> + + <td>Courier Bold Oblique</td> + </tr> + + <tr> + <td>Symbol</td> + + <td> </td> + </tr> + </table> + + <p>The <b>GoScript Plus</b> program includes clones of + all 35 standard fonts (the standard 13 plus AvantGarde, + Bookman, Helvetica-Narrow, New Century Schoolbook, + Palatino in four styles, Zapf Chancery Italic, and Zapf + Dingbats). For MS-DOS users, this program has the + additional advantage of being quite a bit faster than + <b>Ghostscript</b>.</p> + + <p>Although <b>GoScript</b> can use any PostScript + Type 1 or Type 3 font, the fonts supplied with + <b>GoScript</b> are not in a standard PostScript format, + so they cannot be used with other applications.</p> + + <p>On a 300dpi LaserJet printer, <b>GoScript</b> did not + seem to align the baseline of bitmapped PostScript fonts + with great accuracy. This is unfortunate, because the + Computer Modern fonts created with MetaFont for TeX are + bitmapped.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2897312" + name="id2897312"></a>hp2xx</h3> + </div> + </div> + + <p><b>hp2xx</b><a id="id2897329" class="indexterm" + name="id2897329"></a> converts scalable images in HPGL<a + id="id2897338" class="indexterm" name="id2897338"></a> + into other formats. HPGL is Hewlett-Packard's command + language for controlling pen-based plotters. (HP's + LaserJet series of printers, starting with the LaserJet + III, also understand HPGL.)</p> + + <p>Many computer-aided drafting packages can save + diagrams in HPGL format. Other software that works with + scalable images is likely to be able to save in HPGL + format as well. Because HPGL support is uncommon in + printers, you will probably have to convert HPGL diagrams + into another format to include them in your TeX + documents. <b>hp2xx</b> output comes in three flavors: + scalable graphics, TeX commands, and bitmapped + graphics.</p> + + <div class="variablelist"> + <dl> + <dt><span class="term">Scalable graphics</span></dt> + + <dd> + <p>The supported scalable graphics formats are + encapsulated PostScript and MetaFont source + code.</p> + </dd> + + <dt><span class="term">TeX commands</span></dt> + + <dd> + <p>HPGL drawings composed of mostly straight lines + can be rendered in TeX. <b>hp2xx</b>'s TeX output + is designed for either the emTeX DVI drivers (it + relies on \special commands to draw lines at + arbitrary angles) or the <span + class="emphasis"><em>epic</em></span> macros (which + also use \special commands that must be supported + by your DVI driver).</p> + </dd> + + <dt><span class="term">Bitmapped graphics</span></dt> + + <dd> + <p>Bitmaps can be produced in PBM<a id="id2897448" + class="indexterm" name="id2897448"></a>, PCX<a + id="id2897457" class="indexterm" + name="id2897457"></a>, or PCL<a id="id2897465" + class="indexterm" name="id2897465"></a> (HP + LaserJet bitmap) formats. You can select image size + and resolution to produce a bitmap that will print + at the correct size for your printer.</p> + </dd> + </dl> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2897483" + name="id2897483"></a>Image Editors</h2> + </div> + </div> + + <p>Although many images<a id="id2897492" class="indexterm" + name="id2897492"></a><a id="id2897500" class="indexterm" + name="id2897500"></a> are available on the Net and + commercially, it is very likely that you will want to + create your own pictures and diagrams for some of the + documents that you write. A few common drawing tools are + described below. Table <a + href="ch06.html#tab.drawingtools" + title="Table 6.2. Graphics Editing Packages">Table 6.2</a> + summarizes the packages discussed here. There are many more + commercial packages for image editing---so many, in fact, + that I'm not going to make any effort to describe them + here.</p> + + <div class="table"> + <a id="tab.drawingtools" name="tab.drawingtools"></a> + + <p class="title"><b>Table 6.2. Graphics Editing + Packages</b></p> + + <table summary="Graphics Editing Packages" border="1"> + <colgroup> + <col align="left" /> + <col align="center" /> + <col align="center" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">Program</th> + + <th align="center">Platforms</th> + + <th align="center">Cost</th> + + <th align="left">Purpose</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">xfig</td> + + <td align="center">unix</td> + + <td align="center">free</td> + + <td align="left">Edit scalable Fig drawings</td> + </tr> + + <tr> + <td align="left">idraw</td> + + <td align="center">unix</td> + + <td align="center">free</td> + + <td align="left">Edit encapsulated PostScript + images</td> + </tr> + + <tr> + <td align="left">tgif</td> + + <td align="center">unix</td> + + <td align="center">free</td> + + <td align="left">Edit scalable drawings</td> + </tr> + + <tr> + <td align="left">pixmap</td> + + <td align="center">unix</td> + + <td align="center">free</td> + + <td align="left">Edit X11 XBM and XPM files</td> + </tr> + + <tr> + <td align="left">texcad</td> + + <td align="center">MS-DOS</td> + + <td align="center">free</td> + + <td align="left">Edit LaTeX picture + environments</td> + </tr> + + <tr> + <td align="left">xtexcad</td> + + <td align="center">unix</td> + + <td align="center">free</td> + + <td align="left">An X11 implementation of + <b>texcad</b></td> + </tr> + </tbody> + </table> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2897734" + name="id2897734"></a>xfig</h3> + </div> + </div> + + <p><b>xfig</b><a id="id2897747" class="indexterm" + name="id2897747"></a> is an editing tool for scalable + images stored in the Fig format, described in the + “<a href="ch06.html#sec.Fig" + title="The epic and eepic styles">the section called + “The epic and eepic styles”</a>” + section of this chapter. An example of a drawing being + constructed with <b>xfig</b> is shown in Figure <a + href="ch06.html#fig.sd-xfig" + title="Figure 6.11. Editing an image with xfig"> + Figure 6.11</a>.</p> + + <div class="figure"> + <a id="fig.sd-xfig" name="fig.sd-xfig"></a> + + <p class="title"><b>Figure 6.11. Editing an + image with xfig</b></p> + + <div class="mediaobject"> + <img src="tex.06.11.eps" /> + </div> + </div> + + <p>The objects in Fig are arcs, circles, open and closed + splines, ellipses, regular and irregular polygons, + polylines, boxes, arc-boxes (boxes with rounded corners), + text, and encapsulated PostScript. Compound objects can + be constructed by binding these objects together.</p> + + <p>As a consequence of Fig's device independence, it can + be translated into a number of different output formats. + A completed Fig drawing can be rendered in PostScript, + PiCTeX, \linebreak</p> + + <p>LaTeX's <tt>picture</tt> environment, MetaFont, or any + of the pic, epic, eepic, box, eepicemu and \special + environments. Figures can also be saved as X11 bitmaps. + Not all of the output formats support all of the features + of Fig. For example, arbitrarily sloped lines are not + supported by the LaTeX <tt>picture</tt> environment, and + encapsulated PostScript makes sense only for PostScript + output.</p> + + <p><b>xfig</b> supports rotation, flipping, scaling, and + duplication of objects. However, it imposes some + limitations on the figures that you create. Objects that + contain boxes, arc-boxes, circles, or ellipses can be + rotated only in 90 degree increments. Text objects cannot + be flipped over.</p> + + <p>When objects are placed on the “canvas,” + you can elect to have <b>xfig</b> restrict their + placement to $\frac{1}{16}$, $\frac{1}{4}$, or + $\frac{1}{2}$-inch intervals. Restricted placement makes + alignment of a large number of objects easier. + Unrestricted placement is also allowed, and there is an + alignment operator that can center (vertically and + horizontally) any number of objects. A nonprinting grid + is available in several sizes, independent of the + restriction on object placement. In a similar way, + <b>xfig</b> can be instructed to draw sloped lines within + specific limits (for example, only allowing lines at + slopes supported by LaTeX's <tt>picture</tt> + environment). Precise numeric-coordinate placement of + individual objects is also supported.</p> + + <p><b>xfig</b> provides access to the standard 35 + PostScript fonts as well as the standard LaTeX fonts. + Eight-bit input, allowing access to international + symbols, is also provided.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2897932" + name="id2897932"></a>idraw</h3> + </div> + </div> + + <p><b>idraw</b><a id="id2897946" class="indexterm" + name="id2897946"></a>, the InterViews drawing editor, is + an X Windows application for editing encapsulated + PostScript figures. Figure <a + href="ch06.html#fig.sd-idraw" + title="Figure 6.12. Editing an image with idraw"> + Figure 6.12</a> shows a drawing constructed with + <b>idraw</b>.</p> + + <div class="figure"> + <a id="fig.sd-idraw" name="fig.sd-idraw"></a> + + <p class="title"><b>Figure 6.12. Editing an + image with idraw</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>The objects in <b>idraw</b> are lines, ellipses, open + and closed splines, irregular polygons, polylines, + rectangles, and text. Compound objects can be constructed + by gluing these objects together. Fonts, brushes, and + patterns can be customized and extended with X-defaults. + <b>idraw</b> supports the full complement of rotation, + flip, scale, and duplicate operations with or without + grid lines and optional gravity.</p> + + <p>Unfortunately, the “gravity” option, which + allows you to create horizontally and vertically aligned + objects, is not preserved when a file is saved. It is + very difficult to recover the alignment of a file when it + has been saved and reloaded.</p> + + <p>Graphics in TIFF, encapsulated PostScript, X11 bitmap + format, and Unidraw format can be imported into + <b>idraw</b> figures.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2898057" + name="id2898057"></a>tgif</h3> + </div> + </div> + + <p><b>tgif</b><a id="id2898071" class="indexterm" + name="id2898071"></a>, like <b>xfig</b> and <b>idraw</b>, + is an editor for scalable drawings. The + “gif\,” in <b>tgif</b> has nothing to do with + the bitmap GIF format. The captured screen in + Figure <a href="ch06.html#fig.sd-tgif" + title="Figure 6.13. Editing an image with tgif"> + Figure 6.13</a> shows a drawing being constructed + with <b>tgif</b>.</p> + + <div class="figure"> + <a id="fig.sd-tgif" name="fig.sd-tgif"></a> + + <p class="title"><b>Figure 6.13. Editing an + image with tgif</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p><b>tgif</b> stores objects as a set of Prolog + “facts.” Several programs are provided for + interpretation of <b>tgif</b> objects outside of + <b>tgif</b>. Only four output types are built into + <b>tgif</b>: PostScript<a id="id2898193" + class="indexterm" name="id2898193"></a>, encapsulated + PostScript (EPS)<a id="id2898202" class="indexterm" + name="id2898202"></a>, X11 bitmaps<a id="id2898211" + class="indexterm" name="id2898211"></a>, and X11 + pixmaps.</p> + + <p><b>tgif</b> has a number of interesting features + including the ability to design hierarchical drawings in + either a “top down” or “bottom + up” manner, and the separation of an object's <span + class="emphasis"><em>representation</em></span> from its + <span class="emphasis"><em>instantiation</em></span>. In + addition, arbitrary text-based attributes can be attached + to each object. <b>tgif</b> uses these attributes in a + number of ways, such as the execution of system commands + based upon object attributes.</p> + + <p>The objects supported by <b>tgif</b> are arcs, + ellipses, rectangles, rounded-corner rectangles, + polylines, polygons, open and closed splines, text, X11 + bitmaps, some forms of X11 pixmaps, and encapsulated + PostScript. These objects can be grouped together.</p> + + <p><b>tgif</b> supports only five fonts (Times, Courier, + Helvetica, New Century Schoolbook, and Symbol) at a few + fixed sizes. The fill patterns, line styles, text-styles, + and other attributes are similarly fixed (although more + generous in number).</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2898297" + name="id2898297"></a>bitmap/pixmap</h3> + </div> + </div> + + <p><b>bitmap</b><a id="id2898311" class="indexterm" + name="id2898311"></a> and <b>pixmap</b><a id="id2898325" + class="indexterm" name="id2898325"></a> are standard + tools distributed with the X11 Window System. The + <b>pixmap</b> tool provides a superset of the functions + in <b>bitmap</b>, including support for color images. An + example of the <b>bitmap</b> program editing a small X + icon is shown in Figure <a + href="ch06.html#fig.xbitmap" + title="Figure 6.14. An example of bitmap editing an icon"> + Figure 6.14</a>.</p> + + <div class="figure"> + <a id="fig.xbitmap" name="fig.xbitmap"></a> + + <p class="title"><b>Figure 6.14. An example + of bitmap editing an icon</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2898403" + name="id2898403"></a>Other Bitmap Editors</h3> + </div> + </div> + + <p>Free or inexpensive bitmap editors<a id="id2898413" + class="indexterm" name="id2898413"></a> are available for + almost every computer system. The selection of a + particular package depends in large part on what kinds of + diagrams you need to create.</p> + + <p>The primary disadvantage of bitmap editing is that it + is difficult to create bitmaps large enough to be used at + printer resolution. Even a “full screen” + image on a high-resolution monitor is only a couple of + inches across (at best) on a laser printer.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2898442" + name="id2898442"></a>texcad/xtexcad</h3> + </div> + </div> + + <p><b>texcad</b><a id="id2898456" class="indexterm" + name="id2898456"></a> is an MS-DOS program (distributed + with emTeX) for editing LaTeX <tt>picture</tt> + environments. <b>xtexcad</b><a id="id2898478" + class="indexterm" name="id2898478"></a> is a similar + program that runs under the X11 Window system.</p> + + <p>The LaTeX <tt>picture</tt> environment suffers from + two limitations: it can only draw relatively simple + diagrams, and it is very difficult to use. <b>texcad</b> + and <b>xtexcad</b> remove the second limitation. With one + of these programs, the LaTeX <tt>picture</tt> environment + becomes a viable option for many diagrams.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2898527" + name="id2898527"></a>Screen Dumps</h2> + </div> + </div> + + <p>If you are writing a document that describes a computer + program, it is frequently desirable to include an image of + the running program (a captured screen or screen dump<a + id="id2898539" class="indexterm" name="id2898539"></a>) in + the document. There are several ways that this can be + accomplished<a id="id2898549" class="indexterm" + name="id2898549"></a><a id="id2898556" class="indexterm" + name="id2898556"></a><a id="id2898563" class="indexterm" + name="id2898563"></a><a id="id2898570" class="indexterm" + name="id2898570"></a><a id="id2898577" class="indexterm" + name="id2898577"></a><a id="id2898584" class="indexterm" + name="id2898584"></a><a id="id2898591" class="indexterm" + name="id2898591"></a><a id="id2898598" class="indexterm" + name="id2898598"></a>:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p><b>Screen Thief</b> for MS-DOS</p> + </li> + + <li> + <p><b>GrabIt</b> for Microsoft Windows</p> + </li> + + <li> + <p><b>xv</b>, <b>Image Magick</b>, or <b>xwd</b> for + X11 workstations</p> + </li> + + <li> + <p><b>PM-Cam</b>, <b>Nikon II</b>, or <b>pmjpeg</b> + for OS/2</p> + </li> + </ul> + </div> + + <p>The captured screen may be in a graphics format that is + directly usable by your DVI driver or by <b>bm2font</b>. If + not, one or more of the conversion programs described in + “<a href="ch06.html#sec.picconv" + title="Manipulating Images">the section called + “Manipulating Images”</a>” earlier in + this chapter will help you convert it into a usable + format.</p> + + <p>The most common output devices for TeX are laser + printers with a resolution of 300dpi or higher. By + contrast, the resolution of a typical display is around + 80dpi. This discrepancy may require you to enlarge the + bitmap image to make it legible in your document. For + example, a 640x480 bitmap image is only about two inches + wide when printed at 300dpi. In color images, <span + class="emphasis"><em>dithering<a id="id2898740" + class="indexterm" name="id2898740"></a></em></span>, which + increases the number of dots used to represent each pixel + in the original image, has a natural enlarging effect on + the image, and this reduces the magnitude of the problem. + However, some scaling may still be necessary.</p> + + <p>If the screen you want to include is only text (this + includes IBM's line-drawing characters and other symbols), + you can include it as a special “verbatim” + environment if you have an appropriate font. The advantages + of this method are that the actual screen text can be + incorporated directly into your document (making the + document more portable and easier to distribute, if that is + a concern), and that the resulting document is small and + easy to print. The disadvantage of this approach is that + information about color is lost. If parts of the on-screen + text appear in different colors for highlighting, using a + pure-text approach may not produce acceptable results. For + example, compare Figure <a + href="ch06.html#fig.textshot" + title="Figure 6.15. A text mode screen dump.">Figure 6.15</a> + with the results in Figure <a + href="ch02.html#fig.melatexcmp" + title="Figure 2.2. LaTeX as a compiler in Multi-Edit"> + Figure 2.2</a> in Chapter <a href="ch02.html" + title="Chapter 2. Editing">Chapter 2</a>, + <span class="emphasis"><em><a href="ch02.html" + title="Chapter 2. Editing">Chapter 2</a></em></span>.</p> + + <div class="figure"> + <a id="fig.textshot" name="fig.textshot"></a> + + <p class="title"><b>Figure 6.15. A text mode + screen dump.</b></p> + + <div class="literallayout"> + <p>\screendump{metext}</p> + </div> + </div> + + <p>To insert pure-text screen captures, you have to have a + font with exactly the same encoding as the text on the + screen (for more information about font encodings, see the + section “<a href="ch05.html#sec.fonts.encodingvec" + title="Declaring a family">the section called + “Declaring a family”</a>” in + Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>). + On MS-DOS and OS/2 PCs, this is sometimes a problem because + the IBM line drawing characters do not appear in most + fonts. Several commercial fonts provide the appropriate + character set, but so do the freely available IBM Courier + fonts (distributed by IBM for the X11 Consortium). The IBM + Courier fonts are PostScript Type 1 fonts. If you need + TeX <tt>PK</tt> fonts, use the <b>ps2pk</b> program as + described in the section called “<a + href="ch05.html#sec.t1fonts" title="Math Fonts in TeX">the + section called “Math Fonts in TeX”</a>” + in Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>.</p> + + <p>To use the IBM Courier fonts to print captured screens, + you will need <tt>AFM</tt> files<a id="id2898938" + class="indexterm" name="id2898938"></a> that have the + correct encoding vector. <tt>AFM</tt> files with the IBM + OEM character set encoding are available from the CTAN + archives in the directory <tt>fonts/courier</tt>.</p> + + <p>After the appropriate font is available, you are almost + ready to reproduce a captured screen. One problem remains: + TeX cannot \input binary files. Because screen dumps + frequently contain characters from outside the normal ASCII + range, they must be considered binary in this context. To + overcome this difficulty, it is necessary to process the + screen dump and convert it into a text file. The + <b>Perl</b> script in Example <a + href="apd.html#ex.txt2verb" + title="Example D.8. txt2verb.pl">Example D.8</a> + in Appendix <a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a>, + <span class="emphasis"><em><a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a></em></span>, + will perform this conversion.</p> + + <p>After conversion, the TeX code shown in Example <a + href="ch06.html#ex.texscreencapt" + title="Example 6.9. Script for Inserting a Captured Text Screen"> + Example 6.9</a> will insert the screen. This code will + work in both Plain TeX and LaTeX. Similar code can be + written for other formats. Figure <a + href="ch06.html#fig.textshot" + title="Figure 6.15. A text mode screen dump.">Figure 6.15</a> + was produced with this code.</p> + + <div class="example"> + <a id="ex.texscreencapt" name="ex.texscreencapt"></a> + + <p class="title"><b>Example 6.9. Script for + Inserting a Captured Text Screen</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" +href="screendump.sty"></a> +</pre> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2884093" name="ftn.id2884093" + href="#id2884093">79</a>]</sup> {Some devices, most + notably plotters, don't work this way. They really draw + lines and curves with physical pens.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2891727" name="ftn.id2891727" + href="#id2891727">80</a>]</sup> And probably any other + format derived from Plain TeX.</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2892937" name="ftn.id2892937" + href="#id2892937">81</a>]</sup> {<b>dvimsp</b> has been + replaced by <b>dvidot</b> in the beta test + distributions.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2893346" name="ftn.id2893346" + href="#id2893346">82</a>]</sup> {In fairness, the degree + of difficulty depends on the platform you work on. Some + systems, like the Amiga, have very good support for + PostScript output, even on non-PostScript devices. + Alternatively, if you have a fast computer, the extra + translation through <b>Ghostscript</b> may be quite + painless.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2893914" name="ftn.id2893914" + href="#id2893914">83</a>]</sup> {The <tt>epsfig.sty</tt> + style relies on <tt>epsf.tex</tt><a id="id2893934" + class="indexterm" name="id2893934"></a> to provide + low-level support for including EPS images. The + <tt>epsf.tex</tt> file is part of the <b>dvips</b> + distribution.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2896732" name="ftn.id2896732" + href="#id2896732">84</a>]</sup> {Under MS-DOS and OS/2, + remember that the command processor performs variable + substitution with the percent sign. Use two consecutive + percent signs.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 5. Fonts" href="ch05.html"><img + src="figures/nav-prev.png" alt="Prev" border="0" /> + </a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 7. International Considerations" + href="ch07.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 5. Fonts </td> + + <td width="20%" align="center"><a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 7. International + Considerations</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch07.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch07.html new file mode 100644 index 00000000000..0b39091b781 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch07.html @@ -0,0 +1,2409 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 7. International + Considerations</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + <link rel="previous" href="ch06.html" + title="Chapter 6. Pictures and Figures" /> + <link rel="next" href="ch08.html" + title="Chapter 8. Printing" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 6. Pictures and Figures" + href="ch06.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 8. Printing" + href="ch08.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.foreign" + name="chap.foreign"></a>Chapter 7. International + Considerations</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>Although the standard TeX macro packages and the Computer + Modern fonts were designed to typeset documents written + primarily in English, TeX enjoys widespread international + use<a id="id2890702" class="indexterm" + name="id2890702"></a><a id="id2890737" class="indexterm" + name="id2890737"></a><a id="id2890746" class="indexterm" + name="id2890746"></a>.</p> + + <p>From a technical standpoint, languages can be divided into + two categories: those that are “like English” + (meaning that they use a relatively small number of + characters and are typeset horizontally, left to right) and + those that are not. German, French, and Russian are all + “like English” in this sense. Hebrew, Chinese, + and Japanese are not (Hebrew<a id="id2890473" + class="indexterm" name="id2890473"></a> is typeset right to + left, and Chinese<a id="id2890482" class="indexterm" + name="id2890482"></a> and Japanese<a id="id2890491" + class="indexterm" name="id2890491"></a> use thousands of + characters).<sup>[<a id="id2890500" name="id2890500" + href="#ftn.id2890500">85</a>]</sup></p> + + <p>This chapter explores some of the issues that arise when + TeX is used to typeset languages other than English. For + simplicity, we'll look at languages like English first, and + then describe some environments for typesetting much more + complex languages.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.for.printing" + name="sec.for.printing"></a>Typesetting in Any + Language</h2> + </div> + </div> + + <p>In order to typeset<a id="id2899108" class="indexterm" + name="id2899108"></a> any language with TeX, three things + have to happen:</p> + + <div class="orderedlist"> + <ol type="1"> + <li> + <p>TeX has to read the input file and perform the + correct mapping from the input file's character set + to its internal representation of each character. The + character set used in the input file will vary + depending upon the language. For instance, if you're + writing a document in French<a id="id2899141" + class="indexterm" name="id2899141"></a>, it is as + natural to use “é” in your input file as + it is to use any other letter.</p> + </li> + + <li> + <p>TeX has to typeset the document according to the + rules of the language being used. Naturally, this + means that there must be some way of declaring what + language is being used, and appropriate macros have + to exist to embody the rules of that language. Users + familiar only with English may not recognize the + importance of language-specific rules because English + has so few rules. Other languages have many. In + German<a id="id2899172" class="indexterm" + name="id2899172"></a>, for example, if the consonants + “ck” in a word are broken by a hyphen, + the “c” becomes a “k” + (“k-k”). In French<a id="id2899199" + class="indexterm" name="id2899199"></a>, small + amounts of extra space are placed around various + punctuation marks.</p> + + <p>A good reference manual for internationalization + is <span class="emphasis"><em>{Software + Internationalization and Localization: An + Introduction}</em></span> [<a + href="bi01.html#eu:international">eu:international</a>].</p> + </li> + + <li> + <p>The <tt>DVI</tt> file that results from + typesetting the document must be printed correctly. + In other words, all of the accented characters and + symbols used by the language must be available (or + constructed) for previewing and printing.</p> + </li> + </ol> + </div> + + <p>Early attempts to write documents in languages other + than English were hampered by several limitations in the + TeX program. In particular, fonts were limited to 128 + characters, and only a single set of hyphenation patterns + could be loaded (effectively preventing multilingual + documents from being hyphenated correctly). These technical + problems were corrected in TeX version 3.x (first released + in 1990). The remaining difficulties---mostly a lack of + standardization and the need to develop relevant + language-specific macros---are being addressed by the TUG<a + id="id2899266" class="indexterm" name="id2899266"></a> + Technical Working Group on Multiple Language Coordination + (TWGMLC)<a id="id2899280" class="indexterm" + name="id2899280"></a>.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2899289" + name="id2899289"></a>Reading Input Files</h3> + </div> + </div> + + <p>The first point to consider when typesetting is that + every input file is written in some character set. For + example, because this book is written in English and I + work in the United States, the source code for this book + is written in 7-bit ASCII<a id="id2899303" + class="indexterm" name="id2899303"></a>. If this book + were written in another language, a different character + set, perhaps ISO Latin1, would be more appropriate.</p> + + <p>When TeX reads your input file, characters like + “é” and “\guillemet” have to be + translated into a form that TeX can use. For example, + “é” should be translated into é and, if the + DC fonts are in use, “\guillemet” should be + translated into character 19; otherwise, if the DC + fonts<a id="id2899343" class="indexterm" + name="id2899343"></a> are not in use, + “\guillemet” should be translated into + <tt>$<<$</tt> which will give the approximate + result. The DC fonts are discussed in the section called + “<a href="ch07.html#sec.for.printing" + title="Typesetting in Any Language">the section called + “Typesetting in Any Language”</a>,” + later in this chapter.</p> + + <p>It is always possible to access characters from + another symbol set by using a control sequence<a + id="id2899384" class="indexterm" name="id2899384"></a>. + Table <a href="ch07.html#tab.accentedchar" + title="Table 7.1. Standard Control Sequences for Symbols from Other Character Sets"> + Table 7.1</a> shows the standard TeX control + sequences for accessing accented characters and + characters from other alphabets.<sup>[<a id="id2899397" + name="id2899397" href="#ftn.id2899397">86</a>]</sup></p> + + <div class="table"> + <a id="tab.accentedchar" name="tab.accentedchar"></a> + + <p class="title"><b>Table 7.1. Standard + Control Sequences for Symbols from Other Character + Sets</b></p> + + <table + summary="Standard Control Sequences for Symbols from Other Character Sets" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="left" /> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Control</th> + + <th align="left"> </th> + + <th align="left">\bf Control</th> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\bf Sequence</td> + + <td align="left">\bf Symbol</td> + + <td align="left">\bf Sequence</td> + + <td align="left">\bf Symbol</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\`e</td> + + <td align="left">\`e</td> + + <td align="left">\oe</td> + + <td align="left">\oe</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\'e</td> + + <td align="left">é</td> + + <td align="left">\ae</td> + + <td align="left">\ae</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\"e</td> + + <td align="left">\"e</td> + + <td align="left">\o</td> + + <td align="left">\o</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\u{e}</td> + + <td align="left">\u{e}</td> + + <td align="left">\aa</td> + + <td align="left">\aa</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\.e</td> + + <td align="left">\.e</td> + + <td align="left">\l</td> + + <td align="left">\l</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\t{ee}</td> + + <td align="left">\t{ee}</td> + + <td align="left">\OE</td> + + <td align="left">\OE</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\d{e}</td> + + <td align="left">\d{e}</td> + + <td align="left">\AE</td> + + <td align="left">\AE</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\H{e}</td> + + <td align="left"> + {\fontfamily{cmr}\selectfont\H{e}}</td> + + <td align="left">\O</td> + + <td align="left">\O</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\^e</td> + + <td align="left">\^e</td> + + <td align="left">\AA</td> + + <td align="left">\char'302</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\v{e}</td> + + <td align="left">\v{e}</td> + + <td align="left">\L</td> + + <td align="left">\L</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\=e</td> + + <td align="left">\=e</td> + + <td align="left"><tt>?`</tt></td> + + <td align="left">?`</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\&nbsp;e</td> + + <td align="left">\ e</td> + + <td align="left"><tt>!`</tt></td> + + <td align="left">!`</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\c{e}</td> + + <td align="left">\c{e}</td> + + <td align="left">\ss</td> + + <td align="left">\ss</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\b{e}</td> + + <td align="left">\b{e}</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + + <p>Table <a href="ch07.html#tab.newaccentedchar" + title="Table 7.2. New Control Sequences Proposed by TWGMLC"> + Table 7.2</a> shows new control sequences proposed + by the TWGMLC for characters not available in standard + TeX and LaTeX distributions.<sup>[<a id="id2899840" + name="id2899840" href="#ftn.id2899840">87</a>]</sup></p> + + <div class="table"> + <a id="tab.newaccentedchar" + name="tab.newaccentedchar"></a> + + <p class="title"><b>Table 7.2. New Control + Sequences Proposed by TWGMLC</b></p> + + <table + summary="New Control Sequences Proposed by TWGMLC" + border="1"> + <colgroup> + <col align="left" /> + <col align="center" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\multicolumn{2}{l|}{\bf Control + Sequences}</th> + + <th align="center">\bf Symbols</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left"><tt>,,</tt></td> + + <td align="center"><tt>''</tt></td> + + <td align="left">\dcr\char18 \ \char16</td> + + <td>German quotations + ({\dcr\char18}G\"ansef\"u\ss{}chen{\dcr\char16})</td> + </tr> + + <tr> + <td align="left">French quotations + (guillemets)</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\dh</td> + + <td align="center">\DH</td> + + <td align="left">\dcr\char240 \ \char208</td> + + <td>Icelandic eth</td> + </tr> + + <tr> + <td align="left">\dj</td> + + <td align="center">\DJ</td> + + <td align="left">\dcr\char158 \ \char208</td> + + <td>Serbocroation dj</td> + </tr> + + <tr> + <td align="left">\ng</td> + + <td align="center">\NG</td> + + <td align="left">\dcr\char173 \ \char141</td> + + <td>Sami ng</td> + </tr> + + <tr> + <td align="left">\th</td> + + <td align="center">\TH</td> + + <td align="left">\dcr\char254 \ \char222</td> + + <td>Icelandic thorn</td> + </tr> + + <tr> + <td align="left"><tt>\k e</tt></td> + + <td align="center"> </td> + + <td align="left">\dcr\char166</td> + + <td>Polish ogonek subscript</td> + </tr> + + <tr> + <td align="left"><tt>\r u</tt></td> + + <td align="center"> </td> + + <td align="left">\dcr\char183</td> + + <td>Czech circle accent</td> + </tr> + + <tr> + <td align="left">\v{d}</td> + + <td align="center">\V{D}</td> + + <td align="left">\dcr\char164 \ \char132</td> + + <td>Czech d and D with ha\v{c}ek</td> + </tr> + + <tr> + <td align="left">\v{l}</td> + + <td align="center">\V{l}</td> + + <td align="left">\dcr\char169 \ \char137</td> + + <td>Slovakian l and L with ha\v{c}ek</td> + </tr> + + <tr> + <td align="left">\v{t}</td> + + <td align="center">\V{T}</td> + + <td align="left">\dcr\char180 \ \char148</td> + + <td>Czech t and T with ha\v{c}ek</td> + </tr> + </tbody> + </table> + </div> + + <p>The only technical problem associated with using + language-specific character sets in your input files is + that you must have some way of telling TeX to perform the + appropriate substitutions. One method is to use a special + style file like <tt>isolatin1</tt>.<sup>[<a + id="id2900193" name="id2900193" + href="#ftn.id2900193">88</a>]</sup> This style uses + “active characters” to map the ISO Latin1 + input character set to TeX's representation. It could be + adapted to other character sets as well. Another + possibility is to rely on system-dependent extensions to + TeX. For example, emTeX provides extensive support for + “code pages,” which address this problem.</p> + + <p>The only other problem created by using different + input character sets is one of compatibility. If you + write files using the ISO Latin1 character set and send + them to someone who uses a different character set, the + file will appear to be incorrect.<sup>[<a id="id2900241" + name="id2900241" href="#ftn.id2900241">89</a>]</sup></p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2900256" + name="id2900256"></a>Appearances can be + deceiving</h4> + </div> + </div> + + <p>A document stored on disk is really just a file + containing a series of characters, each represented by + a unique numerical value. For an editor to display a + document, each numerical value must be translated into + a visual representation of the character. Frequently + this translation is performed by the operating system + or computer hardware. In an analogous way, each numeric + value must be translated into a printable character + when the document is typeset.</p> + + <p>Figure <a href="ch07.html#fig.charmap" + title="Figure 7.1. Character mapping example"> + Figure 7.1</a> shows how this translation is + performed for display by the operating system and for + printing by TeX (using the <tt>isolatin1</tt> style, + for example). This figure shows the disparity that + occurs if the two translation tables are not the + same.</p> + + <div class="figure"> + <a id="fig.charmap" name="fig.charmap"></a> + + <p class="title"><b>Figure 7.1. Character + mapping example</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p>How can this arise? Well, suppose, for example, that + a colleague is writing a document in French<a + id="id2900326" class="indexterm" name="id2900326"></a>. + He has a TeXnical problem that he would like me to + investigate. I agree to take a look, and he sends the + file to me. My colleage is using the ISO Latin1 + character set in his input file because it contains + many symbols that are convenient for writing French + (including the guillemets). I receive the file and edit + it on my PC. The file that I see displayed looks like + gibberish. That's because I'm using the IBM OEM + encoding on my PC, which is sufficient for English. All + of the special characters in the ISO Latin1 character + set appear incorrect. Bewildered, I TeX and preview the + document to see what it's supposed to look like. To my + surprise, the previewed document looks fine.</p> + + <p>In this case, I can correct the problem by changing + the “code page” used on my PC or by + translating the input file with a program like GNU + <b>recode</b><a id="id2900364" class="indexterm" + name="id2900364"></a>.<sup>[<a id="id2900372" + name="id2900372" + href="#ftn.id2900372">90</a>]</sup></p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2900395" + name="id2900395"></a>Changing the Rules</h3> + </div> + </div> + + <p>In order to select languages, the TWGMLC has proposed + a set of language switching macros. These are shown in + Table <a href="ch07.html#tab.langswitch" + title="Table 7.3. Language Switch Macros Proposed by TUG"> + Table 7.3</a>.<sup>[<a id="id2900417" + name="id2900417" href="#ftn.id2900417">91</a>]</sup></p> + + <p>Selecting a language has three effects:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>It establishes the correct hyphenation + environment<a id="id2900456" class="indexterm" + name="id2900456"></a>.</p> + + <p>Language-specific hyphenation patterns are + loaded, if necessary, and correct values for the + minimum length of a hyphenated word fragment are + set.</p> + + <p>At the time of this writing, hyphenation + patterns are already available, or under + development, for Armenian, Bulgarian, Cambodian, + Catalan, Croation, Czech, Danish, Dutch, English + (U.K. and U.S.), Esperanto, Estonian, Finnish, + French, German, Greek (both modern and ancient), + Hungarian, Icelandic, Italian, Kirundi, Latin, + Lithuanian, Norwegian, Polish, Portuguese, Russian, + Slovak, Swahili, Swedish, Yiddish, and Yoruba.</p> + </li> + + <li> + <p>It loads the correct fonts and special + characters.</p> + + <p>Even languages which use the same alphabet may + have different fonts<a id="id2900507" + class="indexterm" name="id2900507"></a><a + id="id2900517" class="indexterm" + name="id2900517"></a><a id="id2900527" + class="indexterm" name="id2900527"></a> in order to + provide specific features of the language. For + example, the “fi” ligature<a + id="id2900547" class="indexterm" + name="id2900547"></a> makes sense only when + typesetting English, and the \th and \TH macros + make sense only when typesetting languages that + need “{\dcr\char254}” and + “{\dcr\char222}.”</p> + + <div class="table"> + <a id="tab.langswitch" name="tab.langswitch"></a> + + <p class="title"><b>Table 7.3. Language + Switch Macros Proposed by TUG</b></p> + + <table + summary="Language Switch Macros Proposed by TUG" + border="1"> + <colgroup> + <col align="center" /> + <col align="left" /> + <col align="center" /> + <col align="left" /> + <col align="center" /> + <col align="left" /> + <col align="center" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="center">Macro Switch</th> + + <th align="left">Language</th> + + <th align="center">Macro Switch</th> + + <th align="left">Language</th> + + <th align="center">Macro Switch</th> + + <th align="left">Language</th> + + <th align="center">Macro Switch</th> + + <th align="left">Language</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="center">AB</td> + + <td align="left">Abkhazian</td> + + <td align="center">FY</td> + + <td align="left">Frisian</td> + + <td align="center">MG</td> + + <td align="left">Malagasy</td> + + <td align="center">SB</td> + + <td align="left">Sorbian</td> + </tr> + + <tr> + <td align="center">OM</td> + + <td align="left">Afan Oromo</td> + + <td align="center">GL</td> + + <td align="left">Galician</td> + + <td align="center">ML</td> + + <td align="left">Malayalam</td> + + <td align="center">ES</td> + + <td align="left">Spanish</td> + </tr> + + <tr> + <td align="center">FF</td> + + <td align="left">Afar</td> + + <td align="center">KA</td> + + <td align="left">Georgian</td> + + <td align="center">MS</td> + + <td align="left">Malay</td> + + <td align="center">SU</td> + + <td align="left">Sudanese</td> + </tr> + + <tr> + <td align="center">AF</td> + + <td align="left">Afrikaans</td> + + <td align="center">DE</td> + + <td align="left">German</td> + + <td align="center">MT</td> + + <td align="left">Maltese</td> + + <td align="center">SW</td> + + <td align="left">Swahili</td> + </tr> + + <tr> + <td align="center">SQ</td> + + <td align="left">Albanian</td> + + <td align="center">EL</td> + + <td align="left">Greek</td> + + <td align="center">MI</td> + + <td align="left">Maori</td> + + <td align="center">SV</td> + + <td align="left">Swedish</td> + </tr> + + <tr> + <td align="center">AM</td> + + <td align="left">Amharic</td> + + <td align="center">KL</td> + + <td align="left">Greenlandic</td> + + <td align="center">MR</td> + + <td align="left">Marathi</td> + + <td align="center">TL</td> + + <td align="left">Tagalog</td> + </tr> + + <tr> + <td align="center">AR</td> + + <td align="left">Arabic</td> + + <td align="center">GN</td> + + <td align="left">Guarani</td> + + <td align="center">MO</td> + + <td align="left">Moldavian</td> + + <td align="center">TG</td> + + <td align="left">Tajik</td> + </tr> + + <tr> + <td align="center">HY</td> + + <td align="left">Armenian</td> + + <td align="center">GU</td> + + <td align="left">Gujarati</td> + + <td align="center">NA</td> + + <td align="left">Nauru</td> + + <td align="center">TA</td> + + <td align="left">Tamil</td> + </tr> + + <tr> + <td align="center">AS</td> + + <td align="left">Assamese</td> + + <td align="center">HA</td> + + <td align="left">Hausa</td> + + <td align="center">NE</td> + + <td align="left">Nepali</td> + + <td align="center">TT</td> + + <td align="left">Tatar</td> + </tr> + + <tr> + <td align="center">AY</td> + + <td align="left">Aymara</td> + + <td align="center">HE</td> + + <td align="left">Hebrew</td> + + <td align="center">NO</td> + + <td align="left">Norwegian</td> + + <td align="center">TE</td> + + <td align="left">Telugu</td> + </tr> + + <tr> + <td align="center">AZ</td> + + <td align="left">Azerbaijani</td> + + <td align="center">HI</td> + + <td align="left">Hindi</td> + + <td align="center">OC</td> + + <td align="left">Occitan</td> + + <td align="center">TY</td> + + <td align="left">Thai</td> + </tr> + + <tr> + <td align="center">BA</td> + + <td align="left">Bashkir</td> + + <td align="center">HU</td> + + <td align="left">Hungarian</td> + + <td align="center">OR</td> + + <td align="left">Oriya</td> + + <td align="center">BO</td> + + <td align="left">Tibetan</td> + </tr> + + <tr> + <td align="center">EU</td> + + <td align="left">Basque</td> + + <td align="center">IS</td> + + <td align="left">Icelandic</td> + + <td align="center">PS</td> + + <td align="left">Pashto</td> + + <td align="center">TI</td> + + <td align="left">Tigrinya</td> + </tr> + + <tr> + <td align="center">BN</td> + + <td align="left">Bengali</td> + + <td align="center">ID</td> + + <td align="left">Indonesian</td> + + <td align="center">FA</td> + + <td align="left">Persian</td> + + <td align="center">TO</td> + + <td align="left">Tonda</td> + </tr> + + <tr> + <td align="center">DZ</td> + + <td align="left">Bhutani</td> + + <td align="center">IA</td> + + <td align="left">Interlingua</td> + + <td align="center">PL</td> + + <td align="left">Polish</td> + + <td align="center">TS</td> + + <td align="left">Tsonga</td> + </tr> + + <tr> + <td align="center">BH</td> + + <td align="left">Bihari</td> + + <td align="center">IE</td> + + <td align="left">Interlingue</td> + + <td align="center">PT</td> + + <td align="left">Portuguese</td> + + <td align="center">TR</td> + + <td align="left">Turkish</td> + </tr> + + <tr> + <td align="center">BI</td> + + <td align="left">Bislama</td> + + <td align="center">IU</td> + + <td align="left">Inuktitut</td> + + <td align="center">PA</td> + + <td align="left">Punjabi</td> + + <td align="center">TK</td> + + <td align="left">Turkmen</td> + </tr> + + <tr> + <td align="center">BR</td> + + <td align="left">Breton</td> + + <td align="center">IK</td> + + <td align="left">Inupiak</td> + + <td align="center">QU</td> + + <td align="left">Quechua</td> + + <td align="center">TW</td> + + <td align="left">Twi</td> + </tr> + + <tr> + <td align="center">BG</td> + + <td align="left">Bulgarian</td> + + <td align="center">GA</td> + + <td align="left">Irish</td> + + <td align="center">RM</td> + + <td align="left">Rhaeto-Roman</td> + + <td align="center">GB</td> + + <td align="left">U.K. English</td> + </tr> + + <tr> + <td align="center">MY</td> + + <td align="left">Burmese</td> + + <td align="center">IT</td> + + <td align="left">Italian</td> + + <td align="center">RO</td> + + <td align="left">Romanian</td> + + <td align="center">US</td> + + <td align="left">U.S. English</td> + </tr> + + <tr> + <td align="center">BE</td> + + <td align="left">Byelorussian</td> + + <td align="center">JA</td> + + <td align="left">Japanese</td> + + <td align="center">RU</td> + + <td align="left">Russian</td> + + <td align="center">UG</td> + + <td align="left">Uigur</td> + </tr> + + <tr> + <td align="center">KM</td> + + <td align="left">Cambodian</td> + + <td align="center">JW</td> + + <td align="left">Javanese</td> + + <td align="center">SE</td> + + <td align="left">Sami</td> + + <td align="center">UK</td> + + <td align="left">Ukrainian</td> + </tr> + + <tr> + <td align="center">CA</td> + + <td align="left">Catalan</td> + + <td align="center">KN</td> + + <td align="left">Kannada</td> + + <td align="center">SM</td> + + <td align="left">Samoan</td> + + <td align="center">UR</td> + + <td align="left">Urdu</td> + </tr> + + <tr> + <td align="center">ZH</td> + + <td align="left">Chinese</td> + + <td align="center">KS</td> + + <td align="left">Kashmiri</td> + + <td align="center">SG</td> + + <td align="left">Sangho</td> + + <td align="center">UZ</td> + + <td align="left">Uzbek</td> + </tr> + + <tr> + <td align="center">CO</td> + + <td align="left">Corsican</td> + + <td align="center">KK</td> + + <td align="left">Kazakh</td> + + <td align="center">GD</td> + + <td align="left">Scots Gaelic</td> + + <td align="center">VI</td> + + <td align="left">Vietnamese</td> + </tr> + + <tr> + <td align="center">HR</td> + + <td align="left">Croatian</td> + + <td align="center">RW</td> + + <td align="left">Kinyarwanda</td> + + <td align="center">SR</td> + + <td align="left">Serbian</td> + + <td align="center">VO</td> + + <td align="left">Volapuk</td> + </tr> + + <tr> + <td align="center">CS</td> + + <td align="left">Czech</td> + + <td align="center">KY</td> + + <td align="left">Kirghiz</td> + + <td align="center">ST</td> + + <td align="left">Sesotho</td> + + <td align="center">CY</td> + + <td align="left">Welsh</td> + </tr> + + <tr> + <td align="center">DA</td> + + <td align="left">Danish</td> + + <td align="center">RN</td> + + <td align="left">Kirundi</td> + + <td align="center">TN</td> + + <td align="left">Setswana</td> + + <td align="center">WO</td> + + <td align="left">Wolof</td> + </tr> + + <tr> + <td align="center">NL</td> + + <td align="left">Dutch</td> + + <td align="center">KO</td> + + <td align="left">Korean</td> + + <td align="center">SN</td> + + <td align="left">Shona</td> + + <td align="center">XH</td> + + <td align="left">Xhosa</td> + </tr> + + <tr> + <td align="center">EO</td> + + <td align="left">Esperanto</td> + + <td align="center">KU</td> + + <td align="left">Kurdish</td> + + <td align="center">SD</td> + + <td align="left">Sindhi</td> + + <td align="center">YI</td> + + <td align="left">Yiddish</td> + </tr> + + <tr> + <td align="center">ET</td> + + <td align="left">Estonian</td> + + <td align="center">LO</td> + + <td align="left">Laothian</td> + + <td align="center">SI</td> + + <td align="left">Singhalese</td> + + <td align="center">YO</td> + + <td align="left">Yoruba</td> + </tr> + + <tr> + <td align="center">FO</td> + + <td align="left">Faroese</td> + + <td align="center">LV</td> + + <td align="left">Latvian</td> + + <td align="center">SS</td> + + <td align="left">Siswati</td> + + <td align="center">ZA</td> + + <td align="left">Zhuang</td> + </tr> + + <tr> + <td align="center">FJ</td> + + <td align="left">Fiji</td> + + <td align="center">LN</td> + + <td align="left">Lingala</td> + + <td align="center">SK</td> + + <td align="left">Slovak</td> + + <td align="center">ZU</td> + + <td align="left">Zulu</td> + </tr> + + <tr> + <td align="center">FI</td> + + <td align="left">Finnish</td> + + <td align="center">LT</td> + + <td align="left">Lithuanian</td> + + <td align="center">SL</td> + + <td align="left">Slovenian</td> + + <td align="center">FR</td> + + <td align="left">French</td> + </tr> + + <tr> + <td align="center">MK</td> + + <td align="left">Macedonian</td> + + <td align="center">SO</td> + + <td align="left">Somali</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + </li> + + <li> + <p>It defines special primitive operations, if + appropriate.</p> + + <p>For example, right-to-left typesetting + primitives are necessary only for languages like + Hebrew<a id="id2901991" class="indexterm" + name="id2901991"></a> which are typeset + right-to-left.</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2902005" + name="id2902005"></a>Printing the Result</h3> + </div> + </div> + + <p>The Computer Modern Fonts<a id="id2902014" + class="indexterm" name="id2902014"></a> are insufficient + for typesetting languages other than English. In order to + overcome this difficulty, the TeX User's Group has + extended the Computer Modern encoding vector and + established a new standard.</p> + + <p>The new standard fonts are known variously as the Cork + fonts<a id="id2902035" class="indexterm" + name="id2902035"></a><a id="id2902042" class="indexterm" + name="id2902042"></a>, the DC fonts<a id="id2902053" + class="indexterm" name="id2902053"></a><a id="id2902060" + class="indexterm" name="id2902060"></a>, and the EC + fonts<a id="id2902072" class="indexterm" + name="id2902072"></a><a id="id2902079" class="indexterm" + name="id2902079"></a>. These are all synonymous. The new + standard was created following discussions at the TeX + User's Group meeting in Cork, Ireland in 1990, hence the + name Cork. The MetaFont fonts<a id="id2902090" + class="indexterm" name="id2902090"></a><a id="id2902104" + class="indexterm" name="id2902104"></a>, which embody + this encoding, will eventually become the EC fonts. The + current versions, available now, are still being refined + (in the sense that some of the letter forms are being + refined; the encoding will not change). These are called + the DC fonts.</p> + + <p>There is a distinction between the standard encoding + vector and the MetaFont fonts that replace Computer + Modern. Therefore, I will refer to the standard encoding + as the “Cork Encoding<a id="id2902133" + class="indexterm" name="id2902133"></a>” and to the + MetaFont fonts as the “DC fonts”.<sup>[<a + id="id2902146" name="id2902146" + href="#ftn.id2902146">92</a>]</sup></p> + + <p>At the time of this writing, the DC fonts are not a + complete superset of Computer Modern because the DC Math + fonts have not yet been released. (The DC fonts<a + id="id2902163" class="indexterm" name="id2902163"></a><a + id="id2902173" class="indexterm" name="id2902173"></a> + will contain the upper-case Greek<a id="id2902185" + class="indexterm" name="id2902185"></a> alphabet, which + is currently missing from the DC fonts.) When the DC Math + fonts are released, the DC fonts will be a complete + superset of Computer Modern. The only apparent difference + will be that the accents on the DC fonts are not at + exactly the same height as the accented characters + constructed with the \accent primitive using Computer + Modern.<sup>[<a id="id2902200" name="id2902200" + href="#ftn.id2902200">93</a>]</sup></p> + + <p>The Cork Encoding is shown in Table <a + href="apb.html#tab.font.corkencoding" + title="Table B.3. The Cork Font Encoding">Table B.3</a> + in Appendix <a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a>, + <span class="emphasis"><em><a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a></em></span>. + There are 255 symbols in this vector with one blank for + special purposes. Unlike the Computer Modern fonts, which + have different encoding vectors in some typefaces + (Computer Modern Roman is not the same as Computer Modern + Typewriter, for example), all of the DC fonts have the + same encoding vector.</p> + + <p>Several people have commented that the Cork Encoding + suffers from a “design error” because it + places characters in positions 0-31, which are frequently + inaccessible in other applications, and because it places + a nonstandard character at position 32, where a space + usually occurs. This is not a design error. Bear in mind + that the DC fonts are designed to be TeX output fonts. + Font creators, working in other environments (for + example, TrueType or PostScript) are free to divide the + Cork Encoding into two separate font files and provide a + virtual font for TeX that establishes the correct + encoding. The motivation for putting as many symbols as + possible in a single font is that TeX cannot kern<a + id="id2902271" class="indexterm" name="id2902271"></a> + across fonts.</p> + + <p>This is not meant to imply that the DC fonts should + always be virtual<a id="id2902285" class="indexterm" + name="id2902285"></a><a id="id2902295" class="indexterm" + name="id2902295"></a><a id="id2902302" class="indexterm" + name="id2902302"></a>. In fact, the DC fonts should be + the “real” fonts upon which virtual fonts are + based. A virtual Computer Modern font based upon the real + DC fonts is infinitely preferable to a virtual DC font + built on Computer Modern because:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>You need a “real” font to make + virtual fonts, and the Computer Modern fonts don't + contain enough <span + class="emphasis"><em>real</em></span> + characters.</p> + </li> + + <li> + <p>Expressing accented characters in MetaFont is + much better than building accents inside a virtual + font. The virtual font has less information to work + with (it has only boxes).</p> + </li> + + <li> + <p>Different languages use accents at different + heights. A simple “patch” to the + MetaFont code for a real font with accents is far + superior to introducing another set of virtual + fonts for every language.</p> + </li> + </ul> + </div> + + <p>From a purely practical point of view, the correct way + to deal with these and related problems is to use the + babel style files.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="sec.babel" + name="sec.babel"></a>The Babel Styles</h2> + </div> + </div> + + <p>The babel styles<a id="id2902395" class="indexterm" + name="id2902395"></a><a id="id2902402" class="indexterm" + name="id2902402"></a> are a collection of style files for + LaTeX that provide features for typesetting in many + languages. The babel styles are compatible with Plain TeX + and all versions of LaTeX. (In particular, they are being + adopted as the standard multilingual styles in LaTeX2e and + will be the standard in LaTeX3 when it is released.)</p> + + <p>To date, babel styles exist for Catalan, Croatian, + Cyrillic, Czech, Danish, Dutch, English, Esperanto, + Finnish, French, Galician, German, Italian, Hungarian, + Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, + Slovenian, Spanish, Swedish, and Turkish, as well as + several dialects (American as a dialect of English, for + example).</p> + + <p>Example <a href="ch07.html#ex.usinglangs" + title="Example 7.1. {A Sample Multilingual Document Using English and French}"> + Example 7.1</a> shows the skeletal structure of a + document using the English and French styles. Within the + document, the \selectlanguage control sequence is used to + switch between languages.<sup>[<a id="id2890568" + name="id2890568" href="#ftn.id2890568">94</a>]</sup> The + language that is in effect by default is determined when + the format file is created.</p> + + <div class="example"> + <a id="ex.usinglangs" name="ex.usinglangs"></a> + + <p class="title"><b>Example 7.1. {A Sample + Multilingual Document Using English and French}</b></p> +<pre class="screen"> +\documentstyle[english,francais]{article} +\begin{document} +This is a document which uses both English and +French. \selectlanguage{french} Mais, je ne parle plus +fran\c{c}ais. \selectlanguage{english} So I won't try +to make this example very long. +\end{document} +</pre> + </div> + + <p>Selecting a language automatically has the following + effects:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>It selects hyphenation patterns<a id="id2890625" + class="indexterm" name="id2890625"></a> for the + language. This means that paragraphs of text will be + hyphenated according to the conventions of the + language in use.<sup>[<a id="id2890639" + name="id2890639" href="#ftn.id2890639">95</a>]</sup> + Switching hyphenation patterns is possible only if + the format file being used by TeX contains + hyphenation rules for language<a id="id2890550" + class="indexterm" name="id2890550"></a>.</p> + </li> + + <li> + <p>It automatically translates the names of all the + document elements into the selected language. For + example, if you insert the \tableofcontents when + French<a id="id2890670" class="indexterm" + name="id2890670"></a> is the selected language, the + table of contents will be called the “Table des + mati\`eres” instead of “Table of + Contents.”</p> + </li> + + <li> + <p>It alters the format of the date produced by the + \today macro to fit the conventions of the selected + language. In American, \today is “January 30, + 1994”; in English it is “30th January + 1994”; and in French it is “30 janvier + 1994.”<a id="id2902752" class="indexterm" + name="id2902752"></a></p> + </li> + + <li> + <p>It defines particular typing shortcuts to make + writing the selected language more convenient for the + typist. For example, the French<a id="id2902772" + class="indexterm" name="id2902772"></a> style makes + several punctuation characters into macros so that + extra space is automatically inserted before them + according to French typographic conventions<a + id="id2902783" class="indexterm" + name="id2902783"></a>.</p> + </li> + </ul> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.babelfmt" + name="sec.babelfmt"></a>Building Multilingual Babel + Formats</h3> + </div> + </div> + + <p>Building a multilingual format file<a id="id2902810" + class="indexterm" name="id2902810"></a> is very much like + building a format<a id="id2902819" class="indexterm" + name="id2902819"></a> for a single language. The only + difference is that instead of loading a single set of + hyphenation patterns (generally from a file called + <tt>hyphen.tex</tt>), you will need hyphenation patterns + for each language that you want to use. These can be + obtained from the CTAN archives in the directory + <tt>tex-archive/language/hyphenation</tt>.</p> + + <p>If you have a file called <tt>hyphen.tex</tt> on your + system, rename it. This file is distributed as part of + the standard TeX distribution and contains American + English hyphenation patterns, so <tt>ushyphen.tex</tt> is + an appropriate name.</p> + + <p>Next, create a file called <tt>language.dat</tt> that + contains one line for each language you want to use. Each + line should list the language name and the file + containing hyphenation patterns for that language. For + example, an appropriate <tt>language.dat</tt> file for + the format used to typeset Example <a + href="ch07.html#ex.usinglangs" + title="Example 7.1. {A Sample Multilingual Document Using English and French}"> + Example 7.1</a> might contain these lines:</p> +<pre class="screen"> +english ehyphen.tex +francais fr8hyph.tex +</pre> + + <p>Now, proceed to construct the format file using + iniTeX<a id="id2902920" class="indexterm" + name="id2902920"></a> according to the instructions + distributed with the format or by following the + suggestions in Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>. + When iniTeX complains that it cannot find + <tt>hyphen.tex</tt>, provide the alternate name + <tt>babel.hyphen</tt>. This will use + <tt>language.dat</tt> to load the appropriate hyphenation + patterns and associate them with the languages you + specified.</p> + + <div class="note" + style="margin-left: 0.5in; margin-right: 0.5in;"> + <h3 class="title">Note</h3> + + <p>The first language that you list in + <tt>language.dat</tt> will be the default language for + the format file that you create.</p> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.asciijtex" name="sec.asciijtex"></a>TeX + Pitfalls</h2> + </div> + </div> + + <p>TeX 3.x, the Cork Encoding<a id="id2903012" + class="indexterm" name="id2903012"></a>, and + language-specific macro files are not “magic + bullets” that can solve all of the problems that + arise in typesetting multilingual documents or writing + macros that are useful in all language contexts. Some of + the deficiencies are really insoluble without changing the + TeX program in ways that are not allowed by Knuth. Two such + problems are mentioned here:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>The \uppercase and \lowercase primitives are + problematic.</p> + + <p>There is a strict one-to-one mapping between + lowercase and uppercase letters in TeX. + Unfortunately, accented letters may require different + mappings. Consider these examples:</p> +<pre class="screen"> +<para> \begin{tabular}{lll} + <literal>\"I with two dots</literal> & \"I with two dots & What you typed \\ + <literal>\"i with two dots</literal> & \"i with two dots & Result of \lowercase \\ + <literal>\"\i with two dots</literal> & \"\i with two dots & Correct lowercase + \end{tabular} +</pre> + + <p>Because no information about the accent is known, + the result of passing your text to the \lowercase + primitive is not correct.</p> + + <p>This problem can be minimized by using an input + character set which contains the accented letters + that you need. This allows you to establish the + appropriate one-to-one relationships.</p> + + <p>Some of the characters chosen for the Cork + encoding were driven by this weakness as well. The + only reason that “{\dcr\char"DF}” is a + glyph is so that it can be the \uppercase character + for “{\dcr\char"FF}.”</p> + + <p>TeX doesn't distinguish between a dash used in a + compound word (for example, + “wish-fulfillment”) and a dash used for + hyphenation.</p> + + <p>This distinction isn't necessary in English + because English doesn't have any end-of-word + ligatures<a id="id2903112" class="indexterm" + name="id2903112"></a>. Imagine a language where + “sh” should become “x” at the + end of a word.<sup>[<a id="id2903130" + name="id2903130" href="#ftn.id2903130">96</a>]</sup> + A compound word like “push-ready” should + be typeset “pux-ready” whereas a word + like “pushover” should remain + “push-over” if it is hyphenated across a + line break.</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2903161" + name="id2903161"></a>Very Complex Languages</h2> + </div> + </div> + + <p>The following sections describe TeX packages + (collections of macros, fonts, and other files) that allow + you to typeset languages very different from English.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2903174" + name="id2903174"></a>Japanese</h3> + </div> + </div> + + <p>Typesetting Japanese<a id="id2903183" + class="indexterm" name="id2903183"></a> involves solving + several problems. The first is the task of entering + Japanese text with an editor. There are many editors on + many platforms that can handle Japanese input. Although + there are also established ways to romanize Japanese text + so that it can be displayed on terminals that do not + provide support for Japanese input, these are bound to be + inconvenient for anyone seriously writing in Japanese. If + you are in a position to edit Japanese text, you are + probably already aware of several good editors.</p> + + <p>The second problem is that typesetting Japanese with + TeX requires many, many fonts. The fact that a single + font can hold no more than 256 symbols means that dozens + (perhaps hundreds) of fonts are required to represent all + of the myriad symbols used in everyday Japanese writing. + There are some hard-coded limits on the number of fonts + that a single TeX document can use, and it is possible to + bump into them pretty quickly when typesetting a language + like Japanese.</p> + + <p>Another problem is printing the output. Assembling a + collection of fonts that contain high-quality glyphs for + all of the necessary characters is a time consuming and + potentially expensive task. At present, the + freely-available fonts are of relatively low quality.</p> + + <p>A complete discussion of these issues, and many others + can be found in <span class="emphasis"><em>Understanding + Japanese Information Processing</em></span> [<a + href="bi01.html#kl:japinfoproc">kl:japinfoproc</a>].</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2903244" + name="id2903244"></a>ASCII Nihongo TeX</h4> + </div> + </div> + + <p>ASCII Nihongo TeX<a id="id2903253" class="indexterm" + name="id2903253"></a><a id="id2903264" + class="indexterm" name="id2903264"></a> (also known as + \jtex<a id="id2903278" class="indexterm" + name="id2903278"></a>) is a complete, Japanized version + of TeX. Instead of trying to shoehorn Japanese into + traditional TeX programs, all of the programs have been + modified to accept files containing standard Japanese + text (two bytes per character). This section describes + the ASCII Corporation<a id="id2903294" + class="indexterm" name="id2903294"></a>'s version of + \jtex. See the section called “<a + href="ch07.html#sec.nttjtex" title="NTT \jtex">the + section called “NTT \jtex”</a>” for + information about NTT's version of \jtex. You can get + the ASCII version of \jtex from + <tt>ftp.ascii.co.jp</tt> (133.152.1.1).</p> + + <p>ASCII Nihongo TeX is based on TeX 2.9 and can read + input files coded with JIS, Shift-JIS, EUC, and KUTEN. + The <tt>DVI</tt> files produced by ASCII \jtex are not + standard <tt>DVI</tt> files. In order to support the + large character set for Japanese writing, the + <tt>DVI</tt> files use commands that are not output by + standard TeX, so many drivers do not support them. You + cannot process <tt>DVI</tt> files produced by ASCII + \jtex with most standard DVI drivers.</p> + + <p>Release notes with version 1.7 of \jtex indicate + that it will be the last public release of \jtex. + Another product, called pTeX (for Publishing TeX) may + be released at some time in the future. One advantage + of pTeX will be the ability to typeset vertically.</p> + + <p>The primary disadvantage of the \jtex system is that + there are no freely-available fonts for it. The authors + assume that you will be using fonts resident in your + printer. You may be able to purchase Japanese fonts + from some font vendors, although I've seen no detailed + instructions for using them with \jtex. Other, albeit + more minor, disadvantages are the need to build and + maintain an entire parallel TeX distribution and the + fact that standard <tt>DVI</tt> drivers cannot process + \jtex <tt>DVI</tt> files.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="sec.nttjtex" + name="sec.nttjtex"></a>NTT \jtex</h4> + </div> + </div> + + <p>\jtex\index{NTT jtex@NTT \jtex}<a id="id2903430" + class="indexterm" name="id2903430"></a> is a complete, + Japanized version of TeX. Instead of trying to shoehorn + Japanese into traditional TeX programs, all of the + programs have been modified to accept files containing + standard Japanese text (two bytes per character). This + section describes NTT's version of \jtex. See the + section called “<a href="ch07.html#sec.asciijtex" + title="TeX Pitfalls">the section called “TeX + Pitfalls”</a>” for information about ASCII + Corporation's version of \jtex. You can get the NTT + version of \jtex from <tt>ftp.math.metro-u.ac.jp</tt> + (133.86.76.25)</p> + + <p>NTT \jtex is based on TeX 3.14 and can read input + files coded with JIS, Shift-JIS, and EUC. In addition + to support for commercial Japanese fonts, NTT \jtex + includes a set of fonts generated from 24x24 dot + bitmaps (JIS C-6234). Unlike ASCII \jtex, NTT produces + standard <tt>DVI</tt> files.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2903490" + name="id2903490"></a>Poor Man's Japanese TeX</h4> + </div> + </div> + + <p>Poor Man's Japanese TeX (\,\pmj)<a id="id2903500" + class="indexterm" name="id2903500"></a><a + id="id2903512" class="indexterm" name="id2903512"></a> + is a freely-available Japanese typesetting system that + sits on top of standard TeX. The Japanese sections of + the input file must use the Shift-JIS encoding; a + conversion program is supplied to convert JIS encoded + input files into Shift-JIS. If you use another + encoding, such as EUC<a id="id2903531" + class="indexterm" name="id2903531"></a>, you will have + to find some way to convert it into Shift-JIS before + you can use \pmj.</p> + + <p>\pmj solves the font problem in a clever way: + MetaFont outlines for Japanese characters are + mechanically produced from freely-available bitmaps. + This results in relatively low quality characters, but + at least they're free!</p> + + <p>The Paulownia Court, the opening passage from the + 800-year-old novel <span class="emphasis"><em>The Tale + of the Genji</em></span>, is shown in Figure <a + href="ch07.html#fig.pmj" + title="Figure 7.2. Poor Man's Japanese">Figure 7.2</a>. + This sample was typeset by \pmj.</p> + + <div class="figure"> + <a id="fig.pmj" name="fig.pmj"></a> + + <p class="title"><b>Figure 7.2. Poor Man's + Japanese</b></p> + + <div class="mediaobject"> + <img src="pgenji.eps" /> + </div> + </div> + + <p>The \pmj documentation lists the following + advantages and disadvantages:</p> + + <p>\pmj Advantages</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>It is available now.</p> + </li> + + <li> + <p>It is free.</p> + </li> + + <li> + <p>It works with standard TeX.</p> + </li> + + <li> + <p>It is device independent, but has relatively + poor quality fonts. The relative lack of quality + is magnified by higher resolution output devices, + unfortunately.</p> + </li> + + <li> + <p>It uses a set of free fonts mechanically + produced from bitmaps.</p> + </li> + </ul> + </div> + + <p>\pmj Disadvantages</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>It is somewhat crude and unlikely to be + improved upon to any great extent.</p> + </li> + + <li> + <p>It uses low quality fonts.</p> + </li> + + <li> + <p>It requires a large number of fonts and as a + result, lots of disk space.</p> + </li> + + <li> + <p>It provides no access to slanted, bold, or + other Japanese type-styles.</p> + </li> + + <li> + <p>It cannot typeset vertically.</p> + </li> + + <li> + <p>It may take days to build the required + fonts.</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2903726" + name="id2903726"></a>\jemtex</h4> + </div> + </div> + + <p>\jemtex<a id="id2903735" class="indexterm" + name="id2903735"></a><a id="id2903745" + class="indexterm" name="id2903745"></a> is a lot like + \pmj; it uses fonts constructed from a collection of + 24x24 dot bitmaps. The \jemtex font maker includes a + number of options for tailoring the appearance of the + characters.</p> + + <p>A sample of Japanese typeset with \jemtex is shown + in Figure <a href="ch07.html#fig.jemtex" + title="Figure 7.3. \jemtex sample">Figure 7.3</a>.</p> + + <div class="figure"> + <a id="fig.jemtex" name="fig.jemtex"></a> + + <p class="title"><b>Figure 7.3. \jemtex + sample</b></p> + + <div class="mediaobject"> + <img src="jgenji.eps" /> + </div> + </div> + + <p>\jemtex takes a very different approach to + processing Japanese text. Instead of providing TeX + macros to interpret two-byte Japanese symbols in the + input file, \jemtex provides a preprocessor which + translates the Japanese input into equivalent TeX + input. The preprocessor understands EUC<a + id="id2903810" class="indexterm" name="id2903810"></a> + and Shift-JIS input files.</p> + + <p>Using a preprocessor has several advantages:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>TeX can process the files very quickly. + Because the input files are not edited by hand, + they are designed to be processed quickly by TeX + rather than by human eyes.</p> + </li> + + <li> + <p>Only the fonts that are actually used must be + loaded. A system like \pmj must load all of the + Japanese fonts because it does not know which + ones will actually be used. \jemtex knows exactly + which fonts are required for each document.</p> + </li> + + <li> + <p>The preprocessor can handle subtle spacing + issues automatically.</p> + </li> + + <li> + <p>The preprocessor can provide discretionary + hyphens for TeX, thereby allowing TeX to + hyphenate Japanese correctly.</p> + </li> + </ul> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2903882" + name="id2903882"></a>Chinese</h3> + </div> + </div> + + <p>The general problems that apply to Japanese + typesetting also apply to Chinese.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2903893" + name="id2903893"></a>Poor Man's Chinese TeX</h4> + </div> + </div> + + <p>Poor Man's Chinese TeX (\pmc)<a id="id2903902" + class="indexterm" name="id2903902"></a> <a + id="id2903916" class="indexterm" name="id2903916"></a> + <a id="id2903924" class="indexterm" + name="id2903924"></a> <a id="id2903939" + class="indexterm" name="id2903939"></a> is closely + related to \pmj. The Chinese input files should be + encoded with 8-bit GB encoding (GB 2312-80). If you use + another encoding, you will have to convert it into the + 8-bit GB encoding before you can use \pmc.</p> + + <p>The \pmc package uses the same technique as \pmj to + construct Chinese fonts. The relative advantages and + disadvantages of \pmj apply equally to \pmc.</p> + + <p>Two sets of Chinese characters are available: + traditional and simplified.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2903985" + name="id2903985"></a>Arabic</h3> + </div> + </div> + + <p>Typesetting in Arabic<a id="id2904001" + class="indexterm" name="id2904001"></a> can be + accomplished with the \arabTeX<a id="id2904010" + class="indexterm" name="id2904010"></a> package. \arabTeX + includes a complete set of fonts and macros for producing + documents in Persian, Arabic, and related scripts. An + example of Arabic is shown in Figure <a + href="ch07.html#fig.flang.arab" + title="Figure 7.4. Arabic text typeset with ArabTeX"> + Figure 7.4</a> on page <a + href="ch07.html#fig.flang.arab" + title="Figure 7.4. Arabic text typeset with ArabTeX"> + Figure 7.4</a>.</p> + + <div class="figure"> + <a id="fig.flang.arab" name="fig.flang.arab"></a> + + <p class="title"><b>Figure 7.4. Arabic text + typeset with ArabTeX</b></p> + + <div class="mediaobject"> + <img src="arab.eps" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2904076" + name="id2904076"></a>Hebrew</h3> + </div> + </div> + + <p>Typesetting left-to-right Hebrew<a id="id2904085" + class="indexterm" name="id2904085"></a> (or occasional + Hebrew words in an English document) is relatively easy. + The required fonts and TeX macros are available from + \path|noa.huji.ac.il| and on the CTAN archives in + <tt>language/hebrew</tt>.<sup>[<a id="id2904109" + name="id2904109" href="#ftn.id2904109">97</a>]</sup></p> + + <p>Typesetting right-to-left Hebrew is more complicated. + First, you will need an editor that handles right-to-left + text entry, preferably one that displays Hebrew text.</p> + + <p>After you have constructed a document that uses + right-to-left Hebrew, you will need a special version of + TeX, called \XeT<a id="id2904128" class="indexterm" + name="id2904128"></a>, to process it. \XeT is a version + of TeX that understands right-to-left typesetting.</p> + + <p>Early versions of \XeT, called TeX-\XeT<a + id="id2904148" class="indexterm" name="id2904148"></a>, + produced nonstandard <tt>DVI</tt> files called + <tt>IVD</tt> files<a id="id2904178" class="indexterm" + name="id2904178"></a>. If you use TeX-\XeT, a special + program called <b>ivd2dvi</b><a id="id2904204" + class="indexterm" name="id2904204"></a> must be used to + translate the <tt>IVD</tt> files into <tt>DVI</tt> files + before they can be printed. More recently, \XeT has been + reimplemented to produce standard <tt>DVI</tt> files. The + new version is called TeX\hbox{-{}-}\XeT<a id="id2904243" + class="indexterm" name="id2904243"></a>.<sup>[<a + id="id2904255" name="id2904255" + href="#ftn.id2904255">98</a>]</sup> They are functionally + identical. You can get unix and PC versions of \XeT from + \path|noa.huji.ac.il|. An example of Hebrew is shown in + Figure <a href="ch07.html#fig.hebrew" + title="Figure 7.5. Hebrew">Figure 7.5</a> + on page <a href="ch07.html#fig.hebrew" + title="Figure 7.5. Hebrew">Figure 7.5</a>.</p> + + <div class="figure"> + <a id="fig.hebrew" name="fig.hebrew"></a> + + <p class="title"> + <b>Figure 7.5. Hebrew</b></p> + + <div class="mediaobject"> + <img src="hebrew-sample.eps" /> + </div> + </div> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2890500" name="ftn.id2890500" + href="#id2890500">85</a>]</sup> {Chinese and Japanese are + also typeset vertically. At present, TeX does not support + vertical typesetting, although there is at least one + effort underway to provide that feature. See the section + called “<a href="ch07.html#sec.asciijtex" + title="TeX Pitfalls">the section called “TeX + Pitfalls”</a>” for more information on + vertical typesetting.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2899397" name="ftn.id2899397" + href="#id2899397">86</a>]</sup> {The accent macros are + shown with a lower case e; naturally, any letter that + needs to be accented can be used in place of the e.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2899840" name="ftn.id2899840" + href="#id2899840">87</a>]</sup> {These characters are + available in the DC fonts and were not previously + available in standard TeX.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2900193" name="ftn.id2900193" + href="#id2900193">88</a>]</sup> {<tt>isolatin1.sty</tt> + is available from the CTAN archives in + <tt>macros/latex/contrib/misc/</tt>.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2900241" name="ftn.id2900241" + href="#id2900241">89</a>]</sup> {If you use electronic + mail to send files that use any characters other than the + printable subset of 7-bit ASCII (space through tilde), + you are bound to run into problems. You can combat this + problem by using a wrapper (like uuencoding or MIME + messages) when you send the mail, but those tools are + outside the scope of this book. Ask your system + administrator for more assistance with sending binary + mail.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2900372" name="ftn.id2900372" + href="#id2900372">90</a>]</sup> {<b>recode</b> is + available from <tt>prep.ai.mit.edu</tt> and other places + where GNU software is archived.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2900417" name="ftn.id2900417" + href="#id2900417">91</a>]</sup> {These are + “low-level” macros. A higher-level interface + will be provided for each language. See the section + called “<a href="ch07.html#sec.babel" + title="The Babel Styles">the section called “The + Babel Styles”</a>” later in this chapter for + more information.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2902146" name="ftn.id2902146" + href="#id2902146">92</a>]</sup> {Because the “EC + fonts” don't exist yet, I won't mention them + again.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2902200" name="ftn.id2902200" + href="#id2902200">93</a>]</sup> {Actually, the issue of + accents is a difficult one. Different languages which + have the same letters do not always place accents at the + same height. This is yet another problem that will have + to be resolved.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2890568" name="ftn.id2890568" + href="#id2890568">94</a>]</sup> {Another control + sequence, <tt>\ iflanguage</tt>, is provided so that you + can write macros which are sensitive to the language in + use when they are expanded.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2890639" name="ftn.id2890639" + href="#id2890639">95</a>]</sup> {Paragraphs that contain + multiple languages will be hyphenated according to the + rules of the language in effect when the paragraph + ends.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2903130" name="ftn.id2903130" + href="#id2903130">96</a>]</sup> {This is a concocted + example; to my knowledge, it doesn't actually appear in + any language.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2904109" name="ftn.id2904109" + href="#id2904109">97</a>]</sup> {At the time of this + writing, the material at \path|noa.huji.ac.il| is more + up-to-date than the material in the CTAN archives.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2904255" name="ftn.id2904255" + href="#id2904255">98</a>]</sup> {Yes, the only difference + between the names really is the number of hyphens!}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 6. Pictures and Figures" + href="ch06.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 8. Printing" + href="ch08.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 6. Pictures and Figures </td> + + <td width="20%" align="center"><a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 8. Printing</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch08.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch08.html new file mode 100644 index 00000000000..8144b2cb503 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch08.html @@ -0,0 +1,2376 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 8. Printing</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + <link rel="previous" href="ch07.html" + title="Chapter 7. International Considerations" /> + <link rel="next" href="ch09.html" + title="Chapter 9. Previewing" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 7. International Considerations" + href="ch07.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 9. Previewing" + href="ch09.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.printing" + name="chap.printing"></a>Chapter 8. Printing</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p><a id="id2902696" class="indexterm" + name="id2902696"></a><a id="id2902703" class="indexterm" + name="id2902703"></a> The emphasis in this book so far has + been on getting TeX to process a document that contains all + the desired typographic elements without error. The result of + this effort is a <tt>DVI</tt> file<a id="id2902726" + class="indexterm" name="id2902726"></a>.</p> + + <p>The next step is translating the <tt>DVI</tt> file into a + printed document<a id="id2902441" class="indexterm" + name="id2902441"></a>. That is the focus of this chapter. + Usually, you want to preview a document before you print it, + but in many ways previewers are just a special kind of + printer. The two do differ significantly, however, so we will + discuss them separately. (Chapter <a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>, + <span class="emphasis"><em><a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a></em></span>, + describes previewers.)</p> + + <p>This chapter explores the issues related to printing a DVI + file. There are sections concerning the printing of fonts, + the printing of pictures and figures, and descriptions of + several kinds of drivers you can use to print TeX + documents.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.printing" name="sec.printing"></a>Printing + Fonts</h2> + </div> + </div> + + <p>If you have <a id="id2902499" class="indexterm" + name="id2902499"></a><a id="id2902509" class="indexterm" + name="id2902509"></a> a <tt>TFM</tt> file for a font, you + can use that font in TeX. In fact, you can use that font at + an arbitrary magnification in TeX, which means that you can + use Courier at 13.4pt as easily as Computer Modern Roman at + 10pt. Unfortunately, this ease of use does not imply that + the resulting <tt>DVI</tt> file will be easy to print. It + doesn't even imply that it will be possible to print the + document. For example, if you request Courier at 13.4pt, + but it is available in your printer only at 10pt and 12pt + (and you have no other source for Courier), there is no way + to print your document without distortion.</p> + + <p>This section discusses the issues involved in getting + the desired fonts to print from your DVI file. Both + bitmapped and scalable fonts are considered, as well as + fonts built into the printer. You will also gain a better + understanding of why some documents do not print, and learn + alternatives that may enable you to print your + documents.</p> + + <p>Every font can be classified in two broad, independent + ways: internal versus external, and scalable versus + bitmapped. Each class of fonts has some advantages and some + unique problems. In general, there are more restrictions on + built-in fonts than on external fonts, and more + restrictions on bitmapped fonts than on scalable fonts.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.bitfonts" + name="sec.bitfonts"></a>Built-in Fonts</h3> + </div> + </div> + + <p>Built-in fonts<a id="id2904394" class="indexterm" + name="id2904394"></a>, whether scalable or bitmapped, + pose two problems. First, you must obtain the appropriate + <tt>TFM</tt> files<a id="id2904419" class="indexterm" + name="id2904419"></a>. Usually, the metric information + has to be supplied by the vendor and then translated into + TeX <tt>TFM</tt> format using a conversion tool. No + vendor that I am aware of distributes TeX metric<a + id="id2904441" class="indexterm" name="id2904441"></a> + information directly. The section called “<a + href="ch05.html#sec.gettingtfms" + title="Expressing Design Size in TeX">the section called + “Expressing Design Size in TeX”</a>” in + Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>, + describes several options for obtaining metric + information for built-in fonts.</p> + + <p>The second problem is that the DVI driver you are + using must “know” somehow that the + <tt>TFM</tt> file corresponds to one of the printer's + internal fonts. When the DVI driver examines the + <tt>DVI</tt> file, the only information available about + each font is the name of the <tt>TFM</tt> file that + describes its metrics. The most common way DVI drivers + handle this problem is with a font translation file or a + font substitution file.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2904532" + name="id2904532"></a>Font substitution in + emTeX</h4> + </div> + </div> + + <p>emTeX's DVI driver reads a user-specified font + substitution file<a id="id2904540" class="indexterm" + name="id2904540"></a> before processing the + <tt>DVI</tt> file. A line like the following in the + font substitution file informs the <b>dvihplj</b><a + id="id2904572" class="indexterm" name="id2904572"></a> + driver that <tt>lpr1610u</tt> is an internal font and + describes the LaserJet control sequence required to + select it:</p> + + <div class="informalexample"> + <div class="literallayout"> + <p> + lpr1610u 300 => pcl: 10U s0P s16.66H s8.5V s0S s0B s0T</p> + </div> + </div> + + <p>Other substitutions are also possible. For example, + if you work with documents that come from other systems + that allow long filenames, you can substitute the long + names for shorter filenames that are legal under + MS-DOS. The following line in a font substitution file + tells emTeX that the font “<tt>tmsrmn</tt>” + should be used anywhere that a <tt>DVI</tt> file uses + the font “<tt>Times-Roman</tt>”:</p> + + <div class="informalexample"> + <div class="literallayout"> + <p>Times-Roman -> tmsrmn</p> + </div> + </div> + + <p>You can use even more sophisticated substitutions, + including pattern matching, for example. Consult <span + class="emphasis"><em>The {emTeX} DVI Driver + Manual</em></span> [<a + href="bi01.html#em:dvidrv">em:dvidrv</a>] for more + information.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2904676" + name="id2904676"></a>Font substitution in + \dvips</h4> + </div> + </div> + + <p>The <b>dvips</b><a id="id2904690" class="indexterm" + name="id2904690"></a> program, which translates + <tt>DVI</tt> files into PostScript, also reads a font + substitution file before processing a <tt>DVI</tt> + file. In addition to identifying which fonts are built + into the printer, the substitution file can also + instruct <b>dvips</b> to download PostScript fonts that + are not resident in your printer if they are used in a + document.</p> + + <p><b>dvips</b> has a system-wide font substitution + file called <tt>psfonts.map</tt><a id="id2904749" + class="indexterm" name="id2904749"></a>. This file is + distributed with <b>dvips</b> and can be customized by + your system administrator. You can tell <b>dvips</b> to + load a personal font substitution file by using the + <span class="emphasis"><em>p</em></span> command in + <b>dvips</b>'s initialization file (called + <tt>.dvipsrc</tt> in your home directory on unix + systems). Consult the <b>dvips</b> documentation for + more information about setting up an initialization + file.</p> + + <p>The following lines in a font substitution file + indicate that the font <tt>grbk</tt> (which is the name + of the <tt>TFM</tt> file) corresponds to the built-in + printer font Garamond-Book. The <tt>TFM</tt> file + <tt>hlvcd</tt> corresponds to the printer font + Helvetica-Condensed. Helvetica-Condensed is not built + into the printer but is stored in the file + <tt>/home/walsh/fonts/helvcd.pfb</tt>. If + <tt>hlvcd</tt> is used in a document, <b>dvips</b> will + download <tt>helvcd.pfb</tt> automatically when it + converts the document.</p> +<pre class="screen"> +grbk Garamond-Book +hlvcd Helvetica-Condensed </home/walsh/fonts/helvcd.pfb +</pre> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2904885" + name="id2904885"></a>Font substitution in other + drivers</h4> + </div> + </div> + + <p>Other DVI drivers, particularly those written for + operating environments like Microsoft Windows that + provide a standard interface to printers, may leave the + distinction between built-in and external fonts up to + the operating environment. If this is the case, you + must use the tools provided by the operating system to + support the printers and fonts that you require.</p> + + <p>If your DVI driver does use a font substitution + file, make sure that the translations specified + actually exist. The DVI driver cannot practically + determine if the font you have specified as built into + the printer really exists or not. If it doesn't, you + won't get the output you expect, and the DVI driver + will not be able to diagnose the problem.</p> + + <p>The most significant disadvantage of using built-in + fonts is that they are not usually available for + on-screen previewing of your document. Some form of + font substitution has to be employed to preview a + document. Sometimes this reduces the utility of + on-screen previewing. Chapter <a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>, + <span class="emphasis"><em><a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a></em></span>, + discusses this issue in more detail.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2904946" + name="id2904946"></a>External Fonts</h3> + </div> + </div> + + <p>External fonts<a id="id2904955" class="indexterm" + name="id2904955"></a>, those that aren't built into the + printer, pose a different set of problems. First, they + have to be available to the DVI driver, and they have to + be represented in a manner that the DVI driver + understands. For the vast majority of DVI drivers, this + means that the fonts must be stored in files on your hard + disk in <tt>PK</tt> format. The <tt>PK</tt><a + id="id2904990" class="indexterm" name="id2904990"></a> + files contain a compressed, bitmapped rendering of the + font at a particular resolution. For more information + about <tt>PK</tt> files and other bitmapped-font issues, + see “<a href="ch08.html#sec.bitfonts" + title="Built-in Fonts">the section called “Built-in + Fonts”</a>” later in this chapter.</p> + + <p>Most DVI drivers locate fonts by searching in the + directories contained in an environment variable or in + some system-dependent locations.</p> + + <p>Once the fonts are available, the DVI driver has two + options for using them: it can download them to the + printer, or it can send them as bitmapped graphic images. + Most laser printers can accept downloadable fonts, + although they may require additional memory to accept + large numbers of fonts. In either case, the printable + files are generally larger and print more slowly than + documents that use the printer's built-in fonts. Of + course, using external fonts does give you far more + flexibility than using only built-in fonts.</p> + + <p>Unlike a missing internal font, if you attempt to use + an external font that is not available, your DVI driver + will be able to detect the problem and may be able to + substitute another font or compensate in some other + way.</p> + + <div class="sidebar"> + <p class="title"><b>Increasing Printing Speed</b></p> + + <p>How can you increase printing speed<a id="id2905074" + class="indexterm" name="id2905074"></a> if you + frequently print, on a laser printer, documents that + use a small number of external fonts (for example, + several sizes of Computer Modern)? A handy trick is to + download the fonts manually and then tell the DVI + driver that the fonts are built-in.</p> + + <p>Suppose you use the 7pt, 10pt, and 12pt sizes of + Computer Modern Roman, and the 12pt and 14pt sizes of + Computer Modern Bold Extended in most of your + documents. If you are printing on an HP LaserJet + printer with emTeX's <b>dvihplj</b>, you could convert + the relevant <tt>PK</tt> files into HP LaserJet + softfonts with <b>PKtoSFP</b><a id="id2905121" + class="indexterm" name="id2905121"></a> (see the + discussion of bitmapped fonts in the next section to + determine which <tt>PK</tt> files are relevant). Then + download them to the printer every morning with a + utility like <b>Sfload</b><a id="id2905150" + class="indexterm" name="id2905150"></a>. <b>Sfload</b> + is part of the <b>Sfware</b><a id="id2905171" + class="indexterm" name="id2905171"></a> package. + (Disclaimer: I wrote <b>Sfware</b> so I'm partial to + it. There are many other programs that can download + softfonts.) In the font-substitution file for + <b>dvihplj</b><a id="id2905194" class="indexterm" + name="id2905194"></a>, simply indicate that those fonts + are built-in, and <b>dvihplj</b> will no longer + download them for each document. This can significantly + decrease the amount of data that must be sent to the + printer for each document.</p> + + <p>Beware, however, that if you fail to download the + fonts, you will get very badly garbled output when you + print a document.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2905223" + name="id2905223"></a>Bitmapped Fonts</h3> + </div> + </div> + + <p>Each character in a bitmapped font is represented by a + rectangular array of dots. Some of the dots in this array + are “on,” and some are “off.” + When the dots are printed very close together, they + provide the illusion of a solid character. Bitmapped + fonts are common in the TeX community because all of the + fonts created by MetaFont are printed in bitmapped + form.</p> + + <p>The notion of magnification discussed in the section + called “<a href="ch05.html#sec.issueofsize" + title="What TeX Needs To Know">the section called + “What TeX Needs To Know”</a>” in + Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a> is + interpreted as an issue of resolution when dealing with + bitmapped fonts.</p> + + <p>Resolution<a id="id2905279" class="indexterm" + name="id2905279"></a> is used in a slightly + counter-intuitive way by DVI drivers. Generally, + resolution is described as a feature of a device that + affects the <span + class="emphasis"><em>appearance</em></span> of images + printed on that device and not their <span + class="emphasis"><em>size</em></span>. For example, in + comparing two drawings in which one was printed on 150dpi + dot-matrix printer and the other was printed on a 300dpi + laser printer, I might say, “the laser printed page + looks better because it was printed at a higher + resolution.”</p> + + <p>That's true, but what isn't usually stated explicitly + is that the comparison is between a 150dpi drawing + rendered at 150dpi and a 300dpi drawing rendered at + 300dpi. This is the situation shown in Figure <a + href="ch08.html#fig.reschange" + title="Figure 8.1. Resolution of the bitmap and the device changed simultaneously"> + Figure 8.1</a> where a 4dpi image is printed at 4dpi + next to an 8dpi image printed at 8dpi.</p> + + <div class="figure"> + <a id="fig.reschange" name="fig.reschange"></a> + + <p class="title"><b>Figure 8.1. Resolution of + the bitmap and the device changed + simultaneously</b></p> +<pre class="screen"> + \input{ft-resch.fig} +</pre> + </div> + + <p>What if the resolution of the printer were held + constant? That's the situation shown in Figure <a + href="ch08.html#fig.sizechange" + title="Figure 8.2. Resolution of the bitmap changed while device held constant"> + Figure 8.2</a>. The 4dpi image printed at 4dpi is + shown next to the 8dpi image printed at 4dpi. The result + is that the size of the image is doubled.</p> + + <div class="figure"> + <a id="fig.sizechange" name="fig.sizechange"></a> + + <p class="title"><b>Figure 8.2. Resolution of + the bitmap changed while device held constant</b></p> +<pre class="screen"> + \input{ft-sizch.fig} +</pre> + </div> + + <p>This is the technique that DVI drivers use to print a + larger magnification of the same font; they print a + version of the font designed for a correspondingly + higher-resolution device. The same technique is used to + print at smaller magnifications.</p> + + <p>Most DVI drivers use bitmapped fonts stored in + <tt>PK</tt> files<a id="id2905416" class="indexterm" + name="id2905416"></a>. The <tt>PK</tt> format is a highly + compressed binary format.<sup>[<a id="id2905446" + name="id2905446" href="#ftn.id2905446">99</a>]</sup> Two + other bitmapped font formats (sometimes accepted by DVI + drivers) are associated with TeX: <tt>GF</tt><a + id="id2905494" class="indexterm" name="id2905494"></a> + and <tt>PXL</tt> files<a id="id2905511" class="indexterm" + name="id2905511"></a>. The <tt>GF</tt> format is a very + flat, uncompressed bitmap format produced by several + utility programs, including MetaFont. The <b>GFtoPK<a + id="id2905547" class="indexterm" + name="id2905547"></a></b> program converts <tt>GF</tt> + files into <tt>PK</tt> files. The <tt>PXL</tt> format<a + id="id2905584" class="indexterm" name="id2905584"></a> is + an uncompressed bitmap format; it has been superseded by + the <tt>PK</tt> format (which achieves better + compression) and is completely obsolete. If you still + have <tt>PXL</tt> files, you should convert them to + <tt>PK</tt> format with the <b>PXtoPK</b><a + id="id2905640" class="indexterm" name="id2905640"></a> + utility. If you are using a DVI driver that still + requires <tt>PXL</tt> files, you should find out about an + upgrade; the program is obsolete.</p> + + <p>The fact that DVI drivers use different resolutions of + the same font file to obtain different magnifications + introduces a naming problem. How can the DVI driver + distinguish between <tt>cmr12.pk</tt> at 300dpi and + <tt>cmr12.pk</tt> at 360dpi (or any other + resolution)?</p> + + <p>On unix systems, this problem is usually resolved by + putting the resolution in the filename in front of the + extension <span class="emphasis"><em>pk</em></span>. For + example, <tt>cmr12.300pk</tt> is <tt>cmr12</tt> at 300dpi + while <tt>cmr12.360pk</tt> is <tt>cmr12</tt> at + 360dpi.</p> + + <p>On many other systems, where the operating system + imposes limits on the length of filenames, a solution is + achieved by storing the fonts in different + subdirectories. On MS-DOS, for example, the 300dpi + version of <tt>cmr12</tt> might be stored in <span + class="emphasis"><em>\bs texfonts\bs 300dpi\bs + cmr12.pk</em></span> while the 360dpi version is stored + in <span class="emphasis"><em>\bs texfonts\bs 360dpi\bs + cmr12.pk</em></span>.</p> + + <p>In either case, you should obey the conventions + specified by your DVI driver to assure that the DVI + driver can find the fonts. One common solution to the + problem of finding fonts is to use an environment + variable to list the directories where <tt>PK</tt> files + occur. For example, on a unix system, the environment + variable <tt>TEXPKS</tt> might hold a list of directories + separated by colons:<sup>[<a id="id2905773" + name="id2905773" href="#ftn.id2905773">100</a>]</sup></p> +<pre class="screen"> +TEXPKS=/usr/local/lib/tex/fonts:/usr/local/lib/tex/fonts/pk: /usr/local/lib/mf/fonts:/usr/local/lib/mf/fonts/pk +</pre> + + <p>Under MS-DOS, the environment variable + <tt>DVIDRVFONTS</tt> might hold a list of directories + separated by semicolons:</p> +<pre class="screen"> +DVIDRVFONTS=C:\TEXFONTS;C:\MYFONTS +</pre> + + <p>The format of the environment variable and how it is + created or modified is determined by the operating + environment that you are using. The name of the + environment variable differs according to the DVI + driver.</p> + + <p>To recap, TeX works with <span + class="emphasis"><em>magnifications</em></span><a + id="id2905827" class="indexterm" name="id2905827"></a><a + id="id2905837" class="indexterm" name="id2905837"></a> of + abstract, scalable measurements; DVI drivers work with + <span class="emphasis"><em>resolutions</em></span> of + fixed, bitmapped images.</p> + + <p>To convert a magnification into a resolution, multiply + the resolution of your output device by the + magnification. A font at a magnification of 120\% on a + 300dpi laser printer has a resolution of 360dpi.</p> + + <p>To convert a resolution into a magnification, divide + the font resolution by the resolution of the printer. A + 420dpi font on a 300dpi laser printer has a magnification + of 140\%.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2905872" + name="id2905872"></a>Scalable Fonts</h3> + </div> + </div> + + <p>Although scalable fonts<a id="id2905881" + class="indexterm" name="id2905881"></a> used to be very + uncommon, the proliferation of PostScript printers and + products like Adobe Type Manager (not to mention built-in + support for TrueType fonts in Apple System 7.0 and + Microsoft Windows 3.1) have made these fonts very common. + It is important to remember that scalable fonts are + ultimately converted into bitmapped fonts. All printers + eventually treat the page as a very large bitmap and + either do or do not deposit a small amount of ink in each + position in the bitmap.</p> + + <p>Most DVI drivers leave the work of performing this + rasterization to someone else. If you are not using a + PostScript printer, you probably rely on some other piece + of software to do the work. Adobe Type Manager and + built-in support for TrueType are the most common + software solutions. Some printers, like the LaserJet III, + have built-in scalable fonts as well, even though they + are not PostScript printers.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2905916" + name="id2905916"></a>Font Printing Pitfalls</h3> + </div> + </div> + + <p>Sometimes you need a font at a size that is not + available. Because scalable fonts are available at any + size, this is a problem only with bitmapped fonts<a + id="id2905928" class="indexterm" name="id2905928"></a><a + id="id2905940" class="indexterm" name="id2905940"></a>. + Remember that MetaFont creates bitmapped fonts, but they + can be scaled because the <tt>MF</tt> source for the font + is not a bitmap. You can't scale the <tt>PK</tt> file, + but you can generate a new <tt>PK</tt> file at the size + you need. In order to do this, you must have MetaFont + installed, and you must have the <tt>MF</tt> source for + the font. Chapter <a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a>, + <span class="emphasis"><em><a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a></em></span>, + describes how to create a MetaFont font at any size.</p> + + <p>If the font isn't a MetaFont font, or you don't have + the <tt>MF</tt> source, you may still be able to scale + the font. However, you should be aware before you try + that the result may be unacceptable. Scaling bitmapped + fonts causes ugly, jagged edges if the font is scaled + larger, and loss of detail if it is scaled smaller. Small + changes in size are sometimes manageable.</p> + + <p>The <b>dvips</b> driver will scale bitmapped fonts if + it cannot find or build the requested font. + Alternatively, the <b>sffx</b><a id="id2906056" + class="indexterm" name="id2906056"></a> program can scale + HP LaserJet softfonts. I don't know of any other scaling + options.</p> + + <p>Non-scalable fonts that are built into the printer + cannot be scaled at all. If you need to have a built-in + font at an unavailable size, you will have to substitute + another font in place of the built-in one.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2906078" + name="id2906078"></a>Printing Pictures and Figures</h2> + </div> + </div> + + <p>Pictures<a id="id2906087" class="indexterm" + name="id2906087"></a><a id="id2906097" class="indexterm" + name="id2906097"></a> and figures<a id="id2906108" + class="indexterm" name="id2906108"></a><a id="id2906118" + class="indexterm" name="id2906118"></a> are frequently the + least portable elements of a document. Chapter <a + href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a>, + <span class="emphasis"><em><a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a></em></span>, + describes many of the options that are available for + including pictures and figures in a document.</p> + + <p>If the method used is supported by the DVI driver and + printer that you use, pictures and figures are + transparently printed. They are even less difficult to + print than fonts. On the other hand, if you are attempting + to print a document which incorporates pictures and figures + using a method not supported by your DVI driver or printer, + it may be exceptionally difficult to print the + document.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906166" + name="id2906166"></a>Unsolvable Problems</h3> + </div> + </div> + + <p><tt>DVI</tt> files are not always + “complete” with respect to pictures and + figures. Many documents use \special commands to access + DVI driver or printer-specific features in order to + include pictures and figures. These \specials may have + just the name of an external file that contains the + graphic image to be included. For example, using the + emTeX drivers, I can include a bitmapped graphic image + with the command \special\verb|{em:graph spslogo}|. When + emTeX's DVI drivers process this command, the graphic + image in the file <tt>spslogo.pcx</tt> is included in the + output. If I transmit this <tt>DVI</tt> file to another + computer but forget to transmit the file + <tt>spslogo.pcx</tt>, there is no way to print the + <tt>DVI</tt> file with the SPS logo.</p> + + <p>At first, it may seem that a good solution to the + problem described above would be to include the actual + data for the image in the \special command. But to do + that, TeX would have to process the image data, defeating + the purpose of the \special mechanism. The \special + mechanism is better because it is open ended---it can + handle new types of graphics, for example, without + changing TeX.</p> + + <p>The second, essentially unsolvable, problem involves + <tt>DVI</tt> files containing \special commands that have + embedded data. For example, one set of picture drawing + \special commands are the <tt>tpic</tt> \specials. If + your DVI driver does not understand these commands, there + is no practical way to extract them from the <tt>DVI</tt> + file in order to convert them into a format your DVI + driver understands. There may not even be a practical way + of extracting them from the TeX document to construct a + printable image. You simply can't print that document + with the <tt>tpic</tt> figures intact.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906292" + name="id2906292"></a>Solvable Problems</h3> + </div> + </div> + + <p>If you have a document that includes an external + picture or figure using a method that your DVI driver or + printer does not understand, and you have the file that + contains the graphic image and the TeX source for the + document, you may be able to print it.</p> + + <p>The section called “<a + href="ch06.html#sec.picconv" + title="Manipulating Images">the section called + “Manipulating Images”</a>” in + Chapter <a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a>, + lists a wide variety of picture conversion tools that may + allow you to convert the image into a printable form. For + example, if the document in question uses a \special + command to include a <tt>PCX</tt> graphic image, but your + DVI driver only understands the Macintosh <tt>PICT</tt> + format, you could use the <b>PBMplus</b><a id="id2906359" + class="indexterm" name="id2906359"></a> utilities to + convert the <tt>PCX</tt> image into <tt>PICT</tt> + format.</p> + + <p>A conversion that might frequently be necessary if you + work on both PostScript and non-PostScript printers is + conversion from encapsulated PostScript to a bitmap + format. This is a translation that <b>Ghostscript</b> or + some other PostScript interpreter can perform.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906405" + name="id2906405"></a>Pictures Using Only TeX</h3> + </div> + </div> + + <p>Device-independent pictures created using only TeX + pose no particular printing problems. These include the + LaTeX <tt>picture</tt> environment, as well as the PiCTeX + and <b>XYPic</b> macro packages.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906432" + name="id2906432"></a>MetaFont Figures</h3> + </div> + </div> + + <p>Pictures<a id="id2906441" class="indexterm" + name="id2906441"></a><a id="id2906454" class="indexterm" + name="id2906454"></a> created with MetaFont (using + <b>MFPic</b>, <b>Fig2MF</b>, or MetaFont directly) are + really MetaFont fonts. As a result, they can be created + for almost any raster output device.<sup>[<a + id="id2906483" name="id2906483" + href="#ftn.id2906483">101</a>]</sup> As long as MetaFont + is available and the figures aren't too large, they pose + no problems. Very large images may break some DVI drivers + or may not be printable on some output devices.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906500" + name="id2906500"></a>Scalable Images</h3> + </div> + </div> + + <p>Scalable formats<a id="id2906509" class="indexterm" + name="id2906509"></a>, primarily PostScript and HPGL, are + difficult to convert to other printing technologies. + However, the <b>Ghostscript</b><a id="id2906527" + class="indexterm" name="id2906527"></a> program is one + option for PostScript figures, and <b>hp2xx</b><a + id="id2906542" class="indexterm" name="id2906542"></a> + can convert a subset of HPGL commands into other + formats.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906554" + name="id2906554"></a>Bitmap Images</h3> + </div> + </div> + + <p>Bitmap images<a id="id2906563" class="indexterm" + name="id2906563"></a> are generally the easiest to + convert from one format to another, but there is another + issue that is more difficult to deal with---resolution. + Printing a bitmap image at 1200dpi if the original is + only 300dpi is not easy.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2906581" + name="id2906581"></a>Selected Drivers</h2> + </div> + </div> + + <p>Table <a href="ch08.html#tab.drivers" + title="Table 8.1. Common DVI Drivers">Table 8.1</a> + lists a number of common DVI drivers<a id="id2906602" + class="indexterm" name="id2906602"></a><a id="id2906609" + class="indexterm" name="id2906609"></a> used to print TeX + documents (as opposed to previewing them). These drivers + are discussed in more detail in this section. The list of + drivers described here is nowhere near complete. The + presence or absence of a particular driver from this list + is not intended as a reflection on the quality of the + driver. I tried to select a representative set of free and + commercial drivers. Drivers for other printers usually + offer similar features.</p> + + <div class="table"> + <a id="tab.drivers" name="tab.drivers"></a> + + <p class="title"><b>Table 8.1. Common DVI + Drivers</b></p> + + <table summary="Common DVI Drivers" border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf DVI driver</th> + + <th align="left">\bf Supplier</th> + + <th align="left">\bf System</th> + + <th align="left">\bf Printers</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left"><b>dvihplj</b></td> + + <td align="left">Free (emTeX)</td> + + <td align="left"> </td> + + <td align="left">HP LaserJet compatible</td> + </tr> + + <tr> + <td align="left"><b>dvidot</b></td> + + <td align="left">Free (emTeX)</td> + + <td align="left">MS-DOS+OS/2</td> + + <td align="left">Most dot matrix</td> + </tr> + + <tr> + <td align="left"><b>dvipcx</b></td> + + <td align="left">Free (emTeX)</td> + + <td align="left"> </td> + + <td align="left"><tt>PCX</tt> graphic images</td> + </tr> + + <tr> + <td align="left"><b>dvilj2</b></td> + + <td align="left">Free (<span + class="emphasis"><em>dvi2xx</em></span>)</td> + + <td align="left">Most</td> + + <td align="left">HP LaserJet compatible</td> + </tr> + + <tr> + <td align="left"><b>dvips</b></td> + + <td align="left">Free (<span + class="emphasis"><em>dvips</em></span>)</td> + + <td align="left">Most</td> + + <td align="left">PostScript</td> + </tr> + + <tr> + <td align="left"><b>DVILASER/HP</b></td> + + <td align="left">ArborText</td> + + <td align="left">MS-DOS, Unix</td> + + <td align="left">HP LaserJet compatible</td> + </tr> + + <tr> + <td align="left"><b>DVILASER/PS</b></td> + + <td align="left">ArborText</td> + + <td align="left">MS-DOS, Unix</td> + + <td align="left">PostScript</td> + </tr> + + <tr> + <td align="left"><b>PTI Laser/HP</b></td> + + <td align="left">Personal TeX</td> + + <td align="left">MS-DOS</td> + + <td align="left">HP LaserJet compatible</td> + </tr> + + <tr> + <td align="left"><b>PTI Laser/PS</b></td> + + <td align="left">Personal TeX</td> + + <td align="left">MS-DOS</td> + + <td align="left">PostScript</td> + </tr> + + <tr> + <td align="left"><b>PTI Jet</b></td> + + <td align="left">Personal TeX</td> + + <td align="left">MS-DOS</td> + + <td align="left">HP DeskJet compatible</td> + </tr> + + <tr> + <td align="left"><b>dvipsone</b></td> + + <td align="left">Y&Y</td> + + <td align="left">MS-DOS</td> + + <td align="left">PostScript</td> + </tr> + </tbody> + </table> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2906990" + name="id2906990"></a>emTeX Drivers</h3> + </div> + </div> + + <p>The emTeX<a id="id2906999" class="indexterm" + name="id2906999"></a> distribution includes three DVI + drivers: <b>dvihplj</b><a id="id2907020" + class="indexterm" name="id2907020"></a> for printing on + HP LaserJet, DeskJet, PaintJet, QuietJet printers (as + well as the Kyocera laser printer), <b>dvidot</b><a + id="id2907035" class="indexterm" name="id2907035"></a> + for printing on a wide variety of dot-matrix printers, + and <b>dvipcx</b><a id="id2907050" class="indexterm" + name="id2907050"></a> for translating DVI files into + <tt>PCX</tt> graphics images (for faxing, for example). + The printers that <b>dvidot</b> supports are listed + below. If your dot-matrix printer isn't listed, detailed + instructions in the emTeX documentation will probably + allow you to construct an appropriate parameter file.</p> + + <table class="simplelist" border="0" + summary="Simple list"> + <tr> + <td>Apple Imagewriter</td> + + <td>IBM Proprinter 4202</td> + </tr> + + <tr> + <td>C.ITOH 8510A</td> + + <td>IBM Proprinter 4207</td> + </tr> + + <tr> + <td>Canon Bubble Jet BJ-10e</td> + + <td>IBM Proprinter 4208</td> + </tr> + + <tr> + <td>EPSON FX and RX series</td> + + <td>NEC P6, Panasonic KX-P1124</td> + </tr> + + <tr> + <td>EPSON LQ series</td> + + <td>NEC P7</td> + </tr> + + <tr> + <td>IBM Proprinter 4201</td> + + <td>Tandy DMP-130</td> + </tr> + </table> + + <p>All of the emTeX drivers support several \special + commands for including bitmapped graphics and lines at + any angle.</p> + + <p>The Computer Modern fonts in <tt>PK</tt> format occupy + several directories and considerable space on disk. To + minimize the impact of keeping several magnifications of + fonts around, the emTeX drivers introduced the concept of + <span class="emphasis"><em>font libraries</em></span>. + Font libraries<a id="id2907170" class="indexterm" + name="id2907170"></a> are single files that contain many, + many <tt>PK</tt> fonts<a id="id2907189" class="indexterm" + name="id2907189"></a><a id="id2907208" class="indexterm" + name="id2907208"></a>. The fonts distributed with emTeX + are distributed in font library format. The + <b>fontlib</b> program, distributed with emTeX, allows + you to create and maintain font libraries of your + own.</p> + + <p>The emTeX drivers support automatic font generation + starting with version 1.4S. This is accomplished by a + second program, <b>dvidrv</b><a id="id2907239" + class="indexterm" name="id2907239"></a>, that runs the + DVI driver and then <b>MFjob</b><a id="id2907254" + class="indexterm" name="id2907254"></a>, if required, to + build the fonts. The relationship between these + components is shown in Figure <a + href="ch08.html#fig.emdvi" + title="Figure 8.3. Previewing and printing with emTeX"> + Figure 8.3</a>.</p> + + <div class="figure"> + <a id="fig.emdvi" name="fig.emdvi"></a> + + <p class="title"><b>Figure 8.3. Previewing + and printing with emTeX</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p>Starting with version 1.4t,<sup>[<a id="id2907302" + name="id2907302" href="#ftn.id2907302">102</a>]</sup> + emTeX's <b>dvihplj</b> supports 600dpi fonts (for the + LaserJet 4 series) and built-in printer fonts.</p> + + <p>The following list of features highlights some of the + capabilities of the emTeX drivers:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Printing of a range of pages</p> + </li> + + <li> + <p>Printing of multiple copies (with or without + collating)</p> + </li> + + <li> + <p>Reverse ordering of pages</p> + </li> + + <li> + <p>Selection of duplex printing</p> + </li> + + <li> + <p>Ability to scale <tt>PK</tt> files to the + requested size if an appropriate <tt>PK</tt> file + is unavailable. This may result in poorer output + quality due to distortion, but that's not emTeX's + fault.</p> + </li> + + <li> + <p>Extremely flexible support for printing booklets + and “n-up” arrangements of pages</p> + </li> + + <li> + <p>Selection of paper size and dimensions (margins, + etc.)</p> + </li> + + <li> + <p>Transformations (rotation by a multiple of 90 + degrees)</p> + </li> + + <li> + <p>Changes in magnification and resolution of + output</p> + </li> + + <li> + <p>Support for font libraries</p> + </li> + + <li> + <p>Support for font compression in printers with + that feature</p> + </li> + + <li> + <p>Ability to download each page as a large bitmap + (to overcome font limitations in some printers)</p> + </li> + + <li> + <p>Support for automatic font generation</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2907474" + name="id2907474"></a>dvilj2</h3> + </div> + </div> + + <p><b>dvilj2</b><a id="id2907487" class="indexterm" + name="id2907487"></a> is a free driver for the HP + LaserJet Series II printer. It is part of the + <b>dvi2xx</b> distribution, which also includes drivers + for the HP LaserJet Series IIP and III printers, as well + as a driver for the IBM 3812 page printer.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2907508" + name="id2907508"></a>dvips</h3> + </div> + </div> + + <p><b>dvips</b><a id="id2907521" class="indexterm" + name="id2907521"></a> is one of the most popular + PostScript <tt>DVI</tt> drivers. It is available for + unix, MS-DOS, and OS/2 platforms. It may also be + available on other platforms because the source code is + freely available. <b>dvips</b> supports a wide range of + \special commands for controlling the PostScript output, + including pictures and figures and raw PostScript + code.</p> + + <p>The following list of features highlights some of + <b>dvips</b>'s capabilities:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Inclusion of printer-specific prologue files</p> + </li> + + <li> + <p>Support for compressed PostScript pictures and + figures</p> + </li> + + <li> + <p>Automatic creation of pseudo-bold and + pseudo-italic fonts</p> + </li> + + <li> + <p>Ability to run as a filter</p> + </li> + + <li> + <p>Automatic splitting of documents into sections + to prevent out-of-memory errors on the printer</p> + </li> + + <li> + <p>Printing of crop marks</p> + </li> + + <li> + <p>Printing of a range of pages (by physical sheet + or TeX page number)</p> + </li> + + <li> + <p>Selection of manual-feed on the printer</p> + </li> + + <li> + <p>Limit on number of output pages</p> + </li> + + <li> + <p>Reverse order of pages</p> + </li> + + <li> + <p>Selection of paper type</p> + </li> + + <li> + <p>Changes in magnification of the output</p> + </li> + + <li> + <p>Printing of odd/even pages only</p> + </li> + + <li> + <p>Printing of multiple copies (with or without + collating)</p> + </li> + + <li> + <p>Stripping of comments (to avoid printer/spooler + bugs)</p> + </li> + + <li> + <p>Moving of printed image left/right or up/down + page</p> + </li> + + <li> + <p>Compression of fonts before downloading</p> + </li> + </ul> + </div> + + <p>An option to the <b>dvips</b> driver can be used to + indicate which printer the output is destined for. This + allows many printer-specific options (resolution, paper + sizes, etc.) to be specified in a configuration file, + removing from the user the burden of remembering + them.</p> + + <p>Automatic font generation is supported by + <b>dvips</b>, as described above. <b>dvipsk</b><a + id="id2907755" class="indexterm" name="id2907755"></a>, a + modified version of <b>dvips</b>, also supports a + font-searching mechanism that greatly simplifies the task + of specifying which directories contain font files. If + any directory specification in the font path ends with + two slashes, <b>dvips</b> searches that directory and all + of its subdirectories for the font files. This allows you + to create a font directory structure like the one shown + here:</p> +<pre class="screen"> +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span> +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span> +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/src +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/tfm +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/vf +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/vpl +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/glyphs +/usr/local/lib/tex/fonts/<span +class="emphasis"><em>supplier</em></span>/<span +class="emphasis"><em>typeface</em></span>/glyphs/pk +</pre> + + <p>This arrangement is advantageous because it organizes + your fonts and simplifies maintenance of the directories + that contain them. If <tt>/usr/local/lib/tex/fonts//</tt> + is in the font search path, <b>dvips</b> will search + through all of the font directories for the files that it + needs. For example, it might find the <tt>TFM</tt> file + for <tt>cmr10</tt> in + <tt>/usr/local/lib/tex/fonts/free/cm/tfm</tt>. The + directory + <tt>/usr/local/lib/tex/fonts/adobe/garamond/glyphs/type1</tt> + is the location for the PostScript source of the + Garamond-Italic font.</p> + + <p>The <b>dvips</b> distribution includes the + <b>afm2tfm</b><a id="id2907929" class="indexterm" + name="id2907929"></a> program for creating TeX font + metrics from Adobe <tt>AFM</tt> files<a id="id2907948" + class="indexterm" name="id2907948"></a>. This version of + <b>afm2tfm</b> can perform several useful tasks such as + automatically creating appropriate virtual fonts (for + mapping TeX font encodings to PostScript encodings) or + changing the encoding of the PostScript font.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.pr.dvilaserhp" + name="sec.pr.dvilaserhp"></a>DVILASER/HP</h3> + </div> + </div> + + <p>ArborText<a id="id2907992" class="indexterm" + name="id2907992"></a>'s \dvilaserhp<a id="id2908001" + class="indexterm" name="id2908001"></a> DVI driver + translates TeX <tt>DVI</tt> files into a format that can + be printed on HP LaserJet printers. These drivers are + available for both MS-DOS and supported unix + workstations. The following discussion is based on + experiences with \dvilaserhp version 5.3.3, the MS-DOS + implementation of ArborText's HP LaserJet driver.</p> + + <p>\dvilaserhp functions in the way you would expect, + generating LaserJet printable documents from TeX + <tt>DVI</tt> files. It also has many special features. + Some of the more interesting features are summarized + below. \dvilaserhp can print documents using <tt>PK</tt> + files, HP LaserJet softfonts, and built-in fonts + (including fonts from cartridges).</p> + + <p>ArborText supplies a complete set of Computer Modern + fonts in <tt>PK</tt> format. Recent releases of + \dvilaserhp can use the virtual fonts introduced in TeX + version 3.0.</p> + + <p>ArborText's \dvilaserhp DVI driver provides the + following features:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Selectable number of copies</p> + </li> + + <li> + <p>Optional reverse ordering of pages</p> + </li> + + <li> + <p>Selectable manual-feed</p> + </li> + + <li> + <p>Portrait or landscape orientation</p> + </li> + + <li> + <p>Selectable page size</p> + </li> + + <li> + <p>Ability to scale <tt>PK</tt> files to the + requested size if an appropriate <tt>PK</tt> file + is unavailable. This may result in poorer output + quality due to distortion, but that's not + \dvilaserhp's fault.<sup>[<a id="id2908153" + name="id2908153" + href="#ftn.id2908153">103</a>]</sup></p> + </li> + + <li> + <p>Page movement and reordering options (for + printing multiple pages on a single sheet of paper, + for example)</p> + </li> + + <li> + <p>Configurable font substitution</p> + </li> + + <li> + <p>Support for LaserJet “overlays.” + \dvilaserhp recognizes \special commands for + inserting raw HP LaserJet format documents and + inserting HP LaserJet overlays<sup>[<a + id="id2908216" name="id2908216" + href="#ftn.id2908216">104</a>]</sup></p> + </li> + + <li> + <p>An interactive mode (useful for printing only + selected pages from a document without re-running + \dvilaserhp many times or when many options are + going to be used)</p> + </li> + + <li> + <p>Selectable paper tray</p> + </li> + </ul> + </div> + + <p>Many other utilities come with \dvilaserhp; they are + summarized in Table <a + href="ch08.html#tab.dvilaserhp.util" + title="Table 8.2. Other \protect\dvilaserhp Utilities"> + Table 8.2</a>.<a id="id2908263" class="indexterm" + name="id2908263"></a><a id="id2908269" class="indexterm" + name="id2908269"></a><a id="id2908276" class="indexterm" + name="id2908276"></a><a id="id2908283" class="indexterm" + name="id2908283"></a> <a id="id2908292" class="indexterm" + name="id2908292"></a><a id="id2908299" class="indexterm" + name="id2908299"></a><a id="id2908306" class="indexterm" + name="id2908306"></a><a id="id2908313" class="indexterm" + name="id2908313"></a><a id="id2908320" class="indexterm" + name="id2908320"></a> <a id="id2908328" class="indexterm" + name="id2908328"></a><a id="id2908335" class="indexterm" + name="id2908335"></a><a id="id2908342" class="indexterm" + name="id2908342"></a>\index{VPtoVF}{\def\x{${}^1$}</p> + + <div class="table"> + <a id="tab.dvilaserhp.util" + name="tab.dvilaserhp.util"></a> + + <p class="title"><b>Table 8.2. Other + \protect\dvilaserhp Utilities</b></p> + + <table summary="Other \protect\dvilaserhp Utilities" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Utility</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it aftovp</td> + + <td align="left">Converts <tt>VPL</tt> from + <tt>AFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it gftopk\,\x</td> + + <td align="left">Converts <tt>GF</tt> files into + <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it hpformat</td> + + <td align="left">A print formatter for ASCII + files</td> + </tr> + + <tr> + <td align="left">\it packpxl</td> + + <td align="left">Creates packed (byte-aligned) + <tt>PXL</tt> file</td> + </tr> + + <tr> + <td align="left">\it painthp</td> + + <td align="left">Converts MacPaint files into HP + LaserJet format</td> + </tr> + + <tr> + <td align="left">\it pcltopk\,\x</td> + + <td align="left">Converts HP LaserJet softfonts + into <tt>PK</tt>/<tt>TFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it pktopx\,\x</td> + + <td align="left">Converts <tt>PK</tt> files into + <tt>PXL</tt> files</td> + </tr> + + <tr> + <td align="left">\it pxtopk\,\x</td> + + <td align="left">Converts <tt>PXL</tt> files into + <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it spr</td> + + <td align="left">A serial-line print spooler</td> + </tr> + + <tr> + <td align="left">\it tftovp</td> + + <td align="left">Converts <tt>VPL</tt> from + <tt>TFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it unpkpxl</td> + + <td align="left">Creates standard, word-aligned + <tt>PXL</tt> file</td> + </tr> + + <tr> + <td align="left">\it vftovp\,\x</td> + + <td align="left">Converts <tt>VF</tt> files into + <tt>VPL</tt> files</td> + </tr> + + <tr> + <td align="left">\it vptovf\,\,\x</td> + + <td align="left">Converts <tt>VPL</tt> files into + <tt>VF</tt> files</td> + </tr> + </tbody> + </table> + </div> + + <p>ArborText recently released <b>DVILASER/HP3 drivers<a + id="id2908752" class="indexterm" + name="id2908752"></a></b> for the HP LaserJet III and IV + printers. In addition to the features described above, + <b>DVILASER/HP3</b> supports more complex documents, + compressed font downloading, 600dpi and duplex printing, + paper tray and output bin selection, and the ability to + include TIFF images via a \special command.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.pr.dvilaserps" + name="sec.pr.dvilaserps"></a>DVILASER/PS</h3> + </div> + </div> + + <p>ArborText<a id="id2908789" class="indexterm" + name="id2908789"></a>'s \dvilaserps<a id="id2908797" + class="indexterm" name="id2908797"></a> DVI driver + translates TeX <tt>DVI</tt> files into PostScript. These + drivers are available for both MS-DOS and supported unix + workstations. The following discussion is based on + experiences with \dvilaserps version 6.3.5, the MS-DOS + implementation of ArborText's PostScript driver.</p> + + <p>PostScript DVI drivers are more flexible than many + other DVI drivers because PostScript is a very powerful + page description language. Some of \dvilaserps's more + interesting features are summarized below. \dvilaserps + can print documents using <tt>PK</tt> files, downloadable + PostScript fonts, and built-in fonts. ArborText supplies + <tt>TFM</tt> files for many built-in PostScript fonts. + Recent releases of \dvilaserps can use the virtual fonts + introduced in TeX version 3.0.</p> + + <p>ArborText's \dvilaserps DVI driver provides the + following features:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Options for loading custom PostScript prologue + code</p> + </li> + + <li> + <p>Ability to be used as a filter (sends PostScript + code to standard output)</p> + </li> + + <li> + <p>Selectable number of copies</p> + </li> + + <li> + <p>Optional reverse ordering of pages</p> + </li> + + <li> + <p>Portrait or landscape orientation</p> + </li> + + <li> + <p>Selectable page size</p> + </li> + + <li> + <p>Ability to scale <tt>PK</tt> files to the + requested size if an appropriate <tt>PK</tt> file + is unavailable. This may result in poorer output + quality due to distortion, but that's not + \dvilaserps's fault.</p> + </li> + + <li> + <p>Page movement and reordering options (for + printing multiple pages on a single sheet of paper, + for example)</p> + </li> + + <li> + <p>Selectable paper tray</p> + </li> + + <li> + <p>Configurable font substitution</p> + </li> + + <li> + <p>Support for LaserJet “overlays”</p> + </li> + + <li> + <p>An interactive mode (useful for printing only + selected pages from a document without re-running + \dvilaserps many times or when many options are + going to be used)</p> + </li> + + <li> + <p>Ability to download <tt>PK</tt> files + permanently, speeding printing of future + documents</p> + </li> + + <li> + <p>Document, page, or encapsulated PostScript + document structuring options</p> + </li> + + <li> + <p>Optional clipping of characters that fall + outside the normally printable page area</p> + </li> + </ul> + </div> + + <p>Many other utilities come with \dvilaserps. They are + summarized in<a id="id2909044" class="indexterm" + name="id2909044"></a><a id="id2909051" class="indexterm" + name="id2909051"></a><a id="id2909058" class="indexterm" + name="id2909058"></a><a id="id2909065" class="indexterm" + name="id2909065"></a> <a id="id2909073" class="indexterm" + name="id2909073"></a><a id="id2909080" class="indexterm" + name="id2909080"></a><a id="id2909087" class="indexterm" + name="id2909087"></a><a id="id2909094" class="indexterm" + name="id2909094"></a><a id="id2909102" class="indexterm" + name="id2909102"></a> <a id="id2909110" class="indexterm" + name="id2909110"></a><a id="id2909117" class="indexterm" + name="id2909117"></a><a id="id2909124" class="indexterm" + name="id2909124"></a><a id="id2909131" class="indexterm" + name="id2909131"></a> <a id="id2909140" class="indexterm" + name="id2909140"></a><a id="id2909147" class="indexterm" + name="id2909147"></a> Table <a + href="ch08.html#tab.dvilaserps.util" + title="Table 8.3. Other \protect\dvilaserps Utilities"> + Table 8.3</a>.</p> + + <div class="table"> + <a id="tab.dvilaserps.util" + name="tab.dvilaserps.util"></a> + + <p class="title"><b>Table 8.3. Other + \protect\dvilaserps Utilities</b></p> + + <table summary="Other \protect\dvilaserps Utilities" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Utility</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it afmtopl</td> + + <td align="left">Converts <tt>AFM</tt> files into + unmapped <tt>PL</tt> files</td> + </tr> + + <tr> + <td align="left">\it afmtoplm</td> + + <td align="left">Converts <tt>AFM</tt> files into + mapped <tt>PL</tt> files\y</td> + </tr> + + <tr> + <td align="left">\it aftovp</td> + + <td align="left">Converts <tt>VPL</tt> from + <tt>AFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it gftopk\,\x</td> + + <td align="left">Converts <tt>GF</tt> files into + <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it packpxl</td> + + <td align="left">Creates packed (byte-aligned) + <tt>PXL</tt> file</td> + </tr> + + <tr> + <td align="left">\it pktopx\,\x</td> + + <td align="left">Converts <tt>PK</tt> files into + <tt>PXL</tt> files</td> + </tr> + + <tr> + <td align="left">\it pltotf\,\,\x</td> + + <td align="left">Converts <tt>PL</tt> files into + <tt>TFM</tt> files</td> + </tr> + + <tr> + <td align="left">\it psformat</td> + + <td align="left">A print formatter for ASCII + files</td> + </tr> + + <tr> + <td align="left">\it pxtopk\,\x</td> + + <td align="left">Converts <tt>PXL</tt> files into + <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it spr</td> + + <td align="left">A serial-line print spooler</td> + </tr> + + <tr> + <td align="left">\it tftopl\,\x</td> + + <td align="left">Converts <tt>TFM</tt> files into + <tt>PL</tt> files</td> + </tr> + + <tr> + <td align="left">\it tftovp</td> + + <td align="left">Converts <tt>VPL</tt> from + <tt>TFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it unpkpxl</td> + + <td align="left">Creates standard, word-aligned + <tt>PXL</tt> file</td> + </tr> + + <tr> + <td align="left">\it vftovp\,\x</td> + + <td align="left">Converts <tt>VF</tt> files into + <tt>VPL</tt> files</td> + </tr> + + <tr> + <td align="left">\it vptovf\,\,\x</td> + + <td align="left">Converts <tt>VPL</tt> files into + <tt>VF</tt> files</td> + </tr> + + <tr> + <td align="left">\multicolumn{2}{l}{ ${}^1$\vrule + height11pt width0pt\tiny A standard, or otherwise + freely available, utility.}</td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + + <p>\dvilaserps recognizes \special commands for inserting + raw PostScript files and commands, encapsulated + PostScript files, and automatic page overlays (which can + be selectively enabled and disabled). Other \special + commands allow you to set most of the \dvilaserps + command-line options directly in the document, rotate any + TeX “box” to any angle, and print change + bars. For LaTeX users, ArborText includes a plug-in + replacement for LaTeX's picture environments that uses + PostScript instead of special fonts to draw each + figure.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2909658" + name="id2909658"></a>PTI Laser/HP and PTI Jet</h3> + </div> + </div> + + <p><b>PTI Laser/HP</b><a id="id2909683" class="indexterm" + name="id2909683"></a> and <b>PTI Jet</b><a id="id2909696" + class="indexterm" name="id2909696"></a> are distributed + together by Personal TeX, Inc.<a id="id2909706" + class="indexterm" name="id2909706"></a> <b>PTI + Laser/HP</b> is an HP LaserJet driver. <b>PTI Jet</b> is + a DeskJet driver. The <b>PTI Jet</b> driver works with a + standard DeskJet printer; no additional options or memory + are required. The <b>PTI Laser/HP</b> driver is for HP + LaserJet II and III series printers. A separate program, + <b>PTI Laser/HP4</b>, is sold for LaserJet 4 series + printers (to support 600dpi fonts, for example).</p> + + <p>The following features are available in these + drivers:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Support for font substitution</p> + </li> + + <li> + <p>Support for built-in fonts</p> + </li> + + <li> + <p>Printing multiple copies of each page</p> + </li> + + <li> + <p>Setting page size</p> + </li> + + <li> + <p>Printing in landscape mode</p> + </li> + + <li> + <p>Selecting magnification</p> + </li> + + <li> + <p>Ability to print a range of pages (by physical + sheet or TeX page number)</p> + </li> + + <li> + <p>Reversing order of pages</p> + </li> + + <li> + <p>Ability to move the page image left/right or + up/down the page</p> + </li> + + <li> + <p>Support for 256 character fonts</p> + </li> + </ul> + </div> + + <p><b>PTI Laser/HP</b> offers the following additional + features, which are not supported by <b>PTI Jet</b>:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Ability to reserve printer font ID numbers</p> + </li> + + <li> + <p>A utility program, <b>sftopk</b>, for converting + HP LaserJet softfonts into TeX <tt>PK</tt> + fonts</p> + </li> + + <li> + <p>Support for directly including HP LaserJet + printer commands via the \special mechanism in + TeX</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2909924" + name="id2909924"></a>PTI Laser/PS</h3> + </div> + </div> + + <p><b>PTI Laser/PS</b><a id="id2909938" class="indexterm" + name="id2909938"></a> is Personal TeX's PostScript DVI + driver. In addition to the DVI driver, the <b>PTI + Laser/PS</b> package includes utilities for spooling + output to a serially-connected printer and converting + <tt>AFM</tt> files into <tt>TFM</tt> files.</p> + + <p>Some of <b>PTI Laser/PS</b>'s more interesting options + are summarized below.</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Ability to select different printer + resolutions</p> + </li> + + <li> + <p>Selectable number of copies</p> + </li> + + <li> + <p>Configurable font substitution</p> + </li> + + <li> + <p>Selectable page size</p> + </li> + + <li> + <p>An interactive mode for selecting options and + reacting to errors (characters that fall off the + page, missing fonts, etc.)</p> + </li> + + <li> + <p>Portrait or landscape orientation</p> + </li> + + <li> + <p>Selectable TeX magnification</p> + </li> + + <li> + <p>Option files for storing frequently used + options.</p> + </li> + + <li> + <p>Selectable output filename</p> + </li> + + <li> + <p>Options to select individual pages or ranges of + pages by TeX page number or physical sheet + number</p> + </li> + + <li> + <p>Optional reverse ordering of pages</p> + </li> + + <li> + <p>Adjustable page offset (adjusts the position of + the printed page on the physical page)</p> + </li> + + <li> + <p>Support for 256-character fonts</p> + </li> + + <li> + <p>Special support for the eccentricities of the + Apple LaserWriter printer</p> + </li> + </ul> + </div> + + <p><b>PTI Laser/PS</b> recognizes a \special command for + inserting raw PostScript files into the printed document. + The horizontal and vertical size of the inserted image + can be changed.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2910137" + name="id2910137"></a>dvipsone</h3> + </div> + </div> + + <p><b>dvipsone</b><a id="id2910149" class="indexterm" + name="id2910149"></a> is a commercial PostScript driver + for MS-DOS distributed by Y&Y Inc.<a id="id2910159" + class="indexterm" name="id2910159"></a> It produces + PostScript output from a TeX <tt>DVI</tt> file. + <b>dvipsone</b> is designed for a + “bitmap-free” environment. This makes + <b>dvipsone</b> almost unique among <tt>DVI</tt> drivers + because it <span class="emphasis"><em>cannot</em></span> + use standard <tt>PK</tt> fonts. To use <b>dvipsone</b>, + you must have PostScript fonts for every font that you + use (or the font must be built into the printer).<sup>[<a + id="id2910231" name="id2910231" + href="#ftn.id2910231">105</a>]</sup> Y&Y sells a + complete set of Computer Modern fonts in Adobe + Type 1 format.</p> + + <p><b>dvipsone</b> has a rich set of features:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Printing multiple <tt>DVI</tt> files with a + single command</p> + </li> + + <li> + <p>Printing pages in reverse order</p> + </li> + + <li> + <p>Printing only odd or even pages</p> + </li> + + <li> + <p>Ability to force output to conform to EPS + standards</p> + </li> + + <li> + <p>Assumption that all requested fonts are + printer-resident</p> + </li> + + <li> + <p>Insertion of verbatim PostScript</p> + </li> + + <li> + <p>Printing a range of pages</p> + </li> + + <li> + <p>Resizing of the output</p> + </li> + + <li> + <p>Rotation of output by arbitrary angle</p> + </li> + + <li> + <p>Shifting output left/right or up/down</p> + </li> + + <li> + <p>Printing arbitrary number of copies</p> + </li> + + <li> + <p>Selection of paper type (letter, landscape, + legal, etc.)</p> + </li> + + <li> + <p>Insertion of user-specified PostScript + prologue</p> + </li> + + <li> + <p>Conservation of memory by downloading partial + fonts</p> + </li> + + <li> + <p>Remapping of the font encoding on-the-fly</p> + </li> + + <li> + <p>Support for ten different styles of \special + commands for including encapsulated PostScript + images</p> + </li> + </ul> + </div> + + <p>Perhaps the most interesting feature of the + <b>dvipsone</b> driver is its ability to download partial + PostScript fonts. Y&Y claim that partial font + downloading is a feature unique to <b>dvipsone</b>. A + moderately complex TeX document may use twenty or more + fonts and each font is typically between 20K and 30K. + This means that the DVI driver downloads roughly 500K of + font data for the document. In addition to requiring + considerable printer memory, all that font data increases + the amount of time that it takes to send your document to + the printer. The partial font downloading feature of + <b>dvipsone</b> means that only the characters that are + actually used in your document are sent to the printer. + The ability to download partial fonts can result in a + substantially smaller PostScript file.</p> + + <p>Several other utilities are distributed with + <b>dvipsone</b>. They are summarized in <a id="id2910495" + class="indexterm" name="id2910495"></a><a id="id2910502" + class="indexterm" name="id2910502"></a><a id="id2910510" + class="indexterm" name="id2910510"></a><a id="id2910517" + class="indexterm" name="id2910517"></a> <a id="id2910525" + class="indexterm" name="id2910525"></a><a id="id2910532" + class="indexterm" name="id2910532"></a><a id="id2910539" + class="indexterm" name="id2910539"></a> Table <a + href="ch08.html#tab.dvipsone.util" + title="Table 8.4. Other dvipsone Utilities">Table 8.4</a>.</p> + + <div class="table"> + <a id="tab.dvipsone.util" name="tab.dvipsone.util"></a> + + <p class="title"><b>Table 8.4. Other dvipsone + Utilities</b></p> + + <table summary="Other dvipsone Utilities" border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left"><span>\bf Utility</span></th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left"><tt>download</tt></td> + + <td align="left">Robust font-downloading program + for PostScript fonts</td> + </tr> + + <tr> + <td align="left"><tt>afmtotfm</tt>\,\x</td> + + <td align="left">Converts <tt>AFM</tt> files into + <tt>TFM</tt> files</td> + </tr> + + <tr> + <td align="left"><tt>tfmtoafm</tt></td> + + <td align="left">Converts <tt>TFM</tt> files into + <tt>AFM</tt> files</td> + </tr> + + <tr> + <td align="left"><tt>pfatopfb</tt>\,\x</td> + + <td align="left">Convert <tt>PFA</tt> files into + <tt>PFB</tt> files</td> + </tr> + + <tr> + <td align="left"><tt>pfbtopfa</tt>\,\x</td> + + <td align="left">Convert <tt>PFB</tt> files into + <tt>PFA</tt> files</td> + </tr> + + <tr> + <td align="left"><tt>twoup</tt></td> + + <td align="left">Reorders pages in a PostScript + file</td> + </tr> + + <tr> + <td align="left"><tt>pktops</tt></td> + + <td align="left">Provides access to <tt>PK</tt> + fonts for <b>dvipsone</b></td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2905446" name="ftn.id2905446" + href="#id2905446">99</a>]</sup> {For a complete, detailed + description of the <tt>PK</tt> and <tt>GF</tt> formats, + consult <span class="emphasis"><em>The GF to PK + Processor</em></span> [<a + href="bi01.html#mfware:gftopk">mfware:gftopk</a>].}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2905773" name="ftn.id2905773" + href="#id2905773">100</a>]</sup> {A backslash is used + here to escape the end of the first line. This is a + standard way to continue a line in most unix shells. + Naturally, you can simply enter it as one line in your + editor, if you prefer.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2906483" name="ftn.id2906483" + href="#id2906483">101</a>]</sup> {Because figures are + frequently much larger than individual characters, + MetaFont may have difficulty with large figures at very + high resolutions.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2907302" name="ftn.id2907302" + href="#id2907302">102</a>]</sup> {In alpha-testing at the + time of this writing.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2908153" name="ftn.id2908153" + href="#id2908153">103</a>]</sup> {The scaling uses the + next larger-sized <tt>PK</tt> file, and ArborText claims + that this results in good quality over a large range of + point sizes without providing <tt>PK</tt> files for every + exact size.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2908216" name="ftn.id2908216" + href="#id2908216">104</a>]</sup> {Consult your HP + LaserJet reference manual for more information about + overlays.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2910231" name="ftn.id2910231" + href="#id2910231">105</a>]</sup> {The <b>dvipsone</b> + distribution includes a utility which can convert + <tt>PK</tt> fonts into bitmapped PostScript fonts. This + program translates a <tt>PK</tt> file into an Adobe + Type 3 font. Once in Type 3 format, + <b>dvipsone</b> can use the font. Using Type 3 fonts + created in this way adds resolution-dependence to your + PostScript file.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 7. International Considerations" + href="ch07.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 9. Previewing" + href="ch09.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 7. International + Considerations </td> + + <td width="20%" align="center"><a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 9. Previewing</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch09.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch09.html new file mode 100644 index 00000000000..641c668e9dc --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch09.html @@ -0,0 +1,1550 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 9. Previewing</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + <link rel="previous" href="ch08.html" + title="Chapter 8. Printing" /> + <link rel="next" href="ch10.html" + title="Chapter 10. Online Documentation" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 8. Printing" + href="ch08.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 10. Online Documentation" + href="ch10.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.preview" + name="chap.preview"></a>Chapter 9. Previewing</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p><a id="id2902540" class="indexterm" + name="id2902540"></a><a id="id2902547" class="indexterm" + name="id2902547"></a>Because TeX is not interactive, most TeX + documents are developed iteratively. After adding a + significant amount of text or changing the format of a + document, you'll want to see what the document looks like. + Then you can add more text or try different formats. Then, + it's helpful to see it again $…$</p> + + <p>You could print the document, but that's wasteful and slow + (not to mention environmentally unfriendly). This is where + screen previewers enter the picture. They allow you to look + at your document on a video display.</p> + + <p>Accurate previewing is more difficult than printing your + document for several reasons. Screen displays are much more + diverse than printers (previewing on a PC is very different + from previewing on a workstation running X11 even though + printing to a LaserJet printer is essentially the same from + both places). Also, it's very difficult to preview documents + that use printer-specific features. For example, if you use a + PostScript figure in your document, it will be very easy to + print on a PostScript printer, but on most platforms it is + much more difficult to preview that document on the screen + (two exceptions are the Amiga and NeXT which have integrated + support for displaying PostScript images).</p> + + <p>In the following sections I'll explore options for + previewing on several platforms. The X Window System is + usually associated with unix workstations, but several PC + implementations (running under both MS-DOS and OS/2) are now + available. The X11 previewers described here may be available + for those systems, but I haven't seen them. + <b>Ghostscript</b> is another previewing option that is + available on several platforms so it is described in its own + section.</p> + + <p>Table <a href="ch09.html#tab.previewers" + title="Table 9.1. Common Previewers">Table 9.1</a> + summarizes the previewers described here.</p> + + <div class="table"> + <a id="tab.previewers" name="tab.previewers"></a> + + <p class="title"><b>Table 9.1. Common + Previewers</b></p> + + <table summary="Common Previewers" border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="center" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Previewer</th> + + <th align="left">\bf Supplier</th> + + <th align="center">\bf OS</th> + + <th align="left">\bf Comments</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\program{xdvi}</td> + + <td align="left">Free (xdvi)</td> + + <td align="center">Unix/DesqView</td> + + <td align="left">X11</td> + </tr> + + <tr> + <td align="left"><b>\XTeX</b></td> + + <td align="left">Free (\XTeX)</td> + + <td align="center">Unix</td> + + <td align="left">X11</td> + </tr> + + <tr> + <td align="left"><b>Ghostscript</b></td> + + <td align="left">Free (gs)</td> + + <td align="center">most</td> + + <td align="left">PostScript</td> + </tr> + + <tr> + <td align="left"><b>Ghostview</b></td> + + <td align="left">Free (Ghostview)</td> + + <td align="center">Unix, Windows</td> + + <td align="left">PostScript</td> + </tr> + + <tr> + <td align="left"><b>dviscr</b></td> + + <td align="left">Free (emTeX)</td> + + <td align="center">MS-DOS, OS/2</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left"><b>dvipm</b></td> + + <td align="left">Free (emTeX)</td> + + <td align="center">OS/2</td> + + <td align="left">Presentation Manager</td> + </tr> + + <tr> + <td align="left"><b>dvivga</b></td> + + <td align="left">Free (dvivga)</td> + + <td align="center">MS-DOS</td> + + <td align="left">EGA/VGA</td> + </tr> + + <tr> + <td align="left"><b>TeX Preview</b></td> + + <td align="left">ArborText</td> + + <td align="center">MS-DOS, Unix</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left"><b>dvideo</b></td> + + <td align="left">Kinch Software</td> + + <td align="center">MS-DOS</td> + + <td align="left">EGA</td> + </tr> + + <tr> + <td align="left"><b>PTI View</b></td> + + <td align="left">Personal TeX</td> + + <td align="center">MS-DOS</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left"><b>dvimswin</b></td> + + <td align="left">Free (dvimswin)</td> + + <td align="center">MS-DOS</td> + + <td align="left">Windows</td> + </tr> + + <tr> + <td align="left"><b>dviwin</b></td> + + <td align="left">Free (dviwin)</td> + + <td align="center">MS-DOS</td> + + <td align="left">Windows</td> + </tr> + + <tr> + <td align="left"><b>wdviwin</b></td> + + <td align="left">Kinch Software</td> + + <td align="center">MS-DOS</td> + + <td align="left">Windows</td> + </tr> + + <tr> + <td align="left"><b>DVIWindo</b></td> + + <td align="left">Y&Y</td> + + <td align="center">MS-DOS</td> + + <td align="left">Windows</td> + </tr> + + <tr> + <td align="left"><b>dvi2tty</b></td> + + <td align="left">Free (dvi2tty)</td> + + <td align="center">Most</td> + + <td align="left">ASCII</td> + </tr> + + <tr> + <td align="left"><b>dvigt/dvitovdu</b></td> + + <td align="left">Free</td> + + <td align="center">Most</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left"><b>crudetype</b></td> + + <td align="left">Free</td> + + <td align="center">VMS</td> + + <td align="left">ASCII</td> + </tr> + </tbody> + </table> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.ghostscript" + name="sec.ghostscript"></a>Previewing Under X11</h2> + </div> + </div> + + <p><a id="id2911438" class="indexterm" + name="id2911438"></a><a id="id2911448" class="indexterm" + name="id2911448"></a>The three most common X11 previewers + are <b>xdvi</b>, \XTeX, and <b>Ghostview</b> (really a + PostScript previewer). <b>Ghostview</b> runs on top of + <b>Ghostscript</b> and is described in the “<a + href="ch09.html#sec.ghostscript" + title="Previewing Under X11">the section called + “Previewing Under X11”</a>” section of + this chapter.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2911502" + name="id2911502"></a>Previewing with xdvi</h3> + </div> + </div> + + <p>You can retrieve <b>xdvi</b><a id="id2911516" + class="indexterm" name="id2911516"></a> from the CTAN + archives in the directory <tt>dviware/xdvi</tt>.</p> + + <p>Figure <a href="ch09.html#fig.xdvi" + title="Figure 9.1. How Previewing with xdvi Works"> + Figure 9.1</a> shows the preview process under xdvi. + <b>xdvi</b> reads the <tt>DVI</tt> file and loads the + <tt>PK</tt> files<a id="id2911583" class="indexterm" + name="id2911583"></a> for any fonts that are required. If + xdvi cannot find a requested font, it will run + \MakeTeXPK<a id="id2911608" class="indexterm" + name="id2911608"></a> to create the font. \MakeTeXPK is a + shell script (or a batch file called <tt>maketexp</tt><a + id="id2911623" class="indexterm" name="id2911623"></a> + under MS-DOS) that tries to use MetaFont or + <b>ps2pk</b><a id="id2911637" class="indexterm" + name="id2911637"></a> to build the font.</p> + + <div class="figure"> + <a id="fig.xdvi" name="fig.xdvi"></a> + + <p class="title"><b>Figure 9.1. How + Previewing with xdvi Works</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>After forming each page, xdvi passes it off to the X11 + Window Manager to be displayed. Previewing under xdvi is + shown in Figure <a href="ch09.html#fig.preview.xdvi" + title="Figure 9.2. Previewing with xdvi">Figure 9.2</a>.</p> + + <div class="figure"> + <a id="fig.preview.xdvi" name="fig.preview.xdvi"></a> + + <p class="title"><b>Figure 9.2. Previewing + with xdvi</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>Screen resolution is typically much lower than printer + resolution. Because xdvi uses the <tt>PK</tt> files at + printer resolution, it must scale them before using them + for display purposes. The scaling process allows xdvi to + use <span + class="emphasis"><em>anti-aliasing</em></span><a + id="id2911760" class="indexterm" name="id2911760"></a> to + improve image quality on color displays. Anti-aliasing is + a technique used to improve the appearance of scaled + images by using colored pixels around the edges of the + image to provide the illusion of partial pixels. This can + dramatically improve the readability of the displayed + text. If the \ps font files are available, xdvi can + display documents that use \ps fonts; otherwise, it + performs font substitution.</p> + + <p>A recent addition to xdvi is the ability to preview + documents that include PostScript figures. The figures + are rendered behind the scenes by <b>Ghostscript</b> and + displayed by xdvi. In my opinion, this addition really + makes xdvi one of the finest X11 previewers available. It + is fast, uses printer fonts, has anti-aliasing for superb + readability on color displays, and can include PostScript + figures.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2911812" + name="id2911812"></a>Previewing with \xtex</h3> + </div> + </div> + + <p>The \xtex previewer<a id="id2911822" class="indexterm" + name="id2911822"></a><a id="id2911832" class="indexterm" + name="id2911832"></a> is very similar to xdvi. The + primary difference is that \xtex uses X11 fonts for + display. This means that \xtex must build fonts at the + appropriate resolution. After the fonts have been built, + \xtex is typically a very fast previewer.</p> + + <p>You can retrieve \xtex from the CTAN archives in the + directory <tt>dviware/xtex</tt>.</p> + + <div class="figure"> + <a id="fig.xtex" name="fig.xtex"></a> + + <p class="title"><b>Figure 9.3. How + Previewing with xtex Works</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>Figure <a href="ch09.html#fig.xtex" + title="Figure 9.3. How Previewing with xtex Works"> + Figure 9.3</a> shows the preview process under + \xtex. Like xdvi, \xtex uses the \MakeTeXPK program to + build <tt>PK</tt> files for fonts that are unavailable. + Additionally, \xtex uses the \TeXtoXfont shell script, or + batch file, to convert <tt>PK</tt> fonts into X11 display + fonts.</p> + + <p>The \xtex previewer relies on the X11 Window Manager + to build the display. However, if \ps figures are present + in your document, \xtex will attempt to display them. + When \xtex is built, you can specify that \ghostscript or + another \ps interpreter be used to handle \ps + figures.</p> + + <p>An example of \xtex's display is shown in + Figure <a href="ch09.html#fig.preview.xtex" + title="Figure 9.4. Previewing with xtex">Figure 9.4</a>.</p> + + <div class="figure"> + <a id="fig.preview.xtex" name="fig.preview.xtex"></a> + + <p class="title"><b>Figure 9.4. Previewing + with xtex</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2912002" + name="id2912002"></a>Previewing with Ghostscript</h2> + </div> + </div> + + <p>Previewing with <b>Ghostscript</b> <a id="id2912018" + class="indexterm" name="id2912018"></a><a id="id2912028" + class="indexterm" name="id2912028"></a> is quite different + from previewing with xdvi and \xtex. Most previewers + process the <tt>DVI</tt> file to build the display. + \ghostscript is a general-purpose program for displaying + \ps files. Under X11, an additional program called + \ghostview provides more sophisticated control of + previewing.</p> + + <p><b>Ghostscript</b> and <b>Ghostview</b><a id="id2912074" + class="indexterm" name="id2912074"></a> are products of the + Free Software Foundation (FSF)<a id="id2912083" + class="indexterm" name="id2912083"></a>. You can retrieve + them from the GNU archives on <tt>prep.ai.mit.edu</tt> in + the directory <tt>/pub/gnu</tt> or from any mirror of those + archives.</p> + + <p><b>Ghostscript</b> reads and interprets the \ps file + created by a program such as \dvips. It provides its own + means of handling font substitution if the appropriate + fonts are unavailable. Because \dvips converts the TeX + <tt>DVI</tt> file into \ps, \ghostscript can display all of + the elements of the document including \ps figures and + other PostScript printer-specific commands.</p> + + <p>An example of <b>Ghostview</b>'s display is shown in + Figure <a href="ch09.html#fig.preview.ghostview" + title="Figure 9.5. Previewing with Ghostview">Figure 9.5</a>.</p> + + <div class="figure"> + <a id="fig.preview.ghostview" + name="fig.preview.ghostview"></a> + + <p class="title"><b>Figure 9.5. Previewing with + Ghostview</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2912205" + name="id2912205"></a>Previewing with emTeX</h2> + </div> + </div> + + <p>Figure <a href="ch08.html#fig.emdvi" + title="Figure 8.3. Previewing and printing with emTeX"> + Figure 8.3</a> in Chapter <a href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a>, + <span class="emphasis"><em><a href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a></em></span>, + shows the relationship between the various components + involved when processing a <tt>DVI</tt> file with emTeX<a + id="id2912253" class="indexterm" name="id2912253"></a><a + id="id2912265" class="indexterm" name="id2912265"></a>. + Previewing and printing are very similar operations with + emTeX. To preview, you use the <b>dviscr</b><a + id="id2912285" class="indexterm" name="id2912285"></a> + driver, and the result is displayed on the screen. To + print, use one of the other DVI drivers, and the result is + a file that can be sent directly to your printer. + Chapter <a href="ch13.html" + title="Chapter 13. Non-commercial Environments">Chapter 13</a>, + <span class="emphasis"><em><a href="ch13.html" + title="Chapter 13. Non-commercial Environments">Chapter 13</a></em></span>, + discusses emTeX in more detail.</p> + + <p><b>dvidrv</b> runs the appropriate DVI driver: + <b>dviscr</b> for previewing, <b>dvihplj</b><a + id="id2912340" class="indexterm" name="id2912340"></a> for + printing to an HP LaserJet printer, or <b>dvidot</b><a + id="id2912355" class="indexterm" name="id2912355"></a> for + printing to other dot matrix printers.</p> + + <p>The DVI driver reads the <tt>DVI</tt> file and loads + fonts from <tt>PK</tt> files<a id="id2912388" + class="indexterm" name="id2912388"></a> or <tt>FLI</tt> + font libraries<a id="id2912417" class="indexterm" + name="id2912417"></a>. If your document uses graphics, they + are loaded from <tt>PCX</tt><a id="id2912445" + class="indexterm" name="id2912445"></a> or <tt>MSP</tt> + files<a id="id2912463" class="indexterm" + name="id2912463"></a>.</p> + + <p>If your document uses a font that is not available, the + DVI driver writes the commands necessary to build the font + to the <tt>MFJ</tt> file<a id="id2912487" class="indexterm" + name="id2912487"></a>.<sup>[<a id="id2912496" + name="id2912496" href="#ftn.id2912496">106</a>]</sup> + Before performing font substitution, the driver will ask if + you wish to build the missing fonts. If you elect to build + them, the DVI driver stops and returns control to the + <b>dvidrv</b><a id="id2912513" class="indexterm" + name="id2912513"></a> program.</p> + + <p><b>dvidrv</b> notices that the DVI driver stopped + because of missing fonts and runs <b>MFjob<a id="id2912538" + class="indexterm" name="id2912538"></a></b> to build them. + After building the fonts, the previewer is run again to + display the document.</p> + + <p>The <b>dvidrv</b> program is quite simple. With some + care, it can be replaced by a batch file that does more + work.<sup>[<a id="id2912560" name="id2912560" + href="#ftn.id2912560">107</a>]</sup> For example, I have + replaced <b>dvidrv</b> with a <b>4DOS<a id="id2912587" + class="indexterm" name="id2912587"></a></b> batch file + called <b>dvidxx</b> that can automatically build \ps fonts + by calling <b>ps2pk</b> in addition to building MetaFont + fonts with <b>MFjob</b>. The <b>dvidxx</b> batch file is + printed in Example <a href="apd.html#ex.dvidxx" + title="Example D.3. dvidxx.btm">Example D.3</a> + in Appendix <a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a>, + <span class="emphasis"><em><a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a></em></span>.</p> + + <p>A full-screen preview with <b>dviscr</b> is shown in + Figure <a href="ch09.html#fig.preview.dviscr" + title="Figure 9.6. Previewing with emTeX's dviscr"> + Figure 9.6</a>.</p> + + <div class="figure"> + <a id="fig.preview.dviscr" name="fig.preview.dviscr"></a> + + <p class="title"><b>Figure 9.6. Previewing with + emTeX's dviscr</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>Under OS/2, the <b>dvipm</b><a id="id2912715" + class="indexterm" name="id2912715"></a> previewer offers + more power. A sample <b>dvipm</b> display is shown in + Figure <a href="ch09.html#fig.preview.dvipm" + title="Figure 9.7. Previewing with emTeX's dvipm"> + Figure 9.7</a> later in this chapter.</p> + + <div class="figure"> + <a id="fig.preview.dvipm" name="fig.preview.dvipm"></a> + + <p class="title"><b>Figure 9.7. Previewing with + emTeX's dvipm</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>The <b>dviscr</b> and <b>dvipm</b> previewers use <span + class="emphasis"><em>anti-aliasing<a id="id2912793" + class="indexterm" name="id2912793"></a></em></span> to + obtain better image quality on a color display. However, + this translates into a poorer quality image when captured + for display in a black-and-white book.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2912806" + name="id2912806"></a>Previewing with dvivga</h2> + </div> + </div> + + <p><b>dvivga</b><a id="id2912819" class="indexterm" + name="id2912819"></a><a id="id2912827" class="indexterm" + name="id2912827"></a> is an MS-DOS previewer for EGA and + VGA displays. You can retrieve <b>dvivga</b> (and a + complete set of the Computer Modern fonts in <tt>PK</tt> + format) from the CTAN archives in the directory + <tt>dviware/dvivga</tt>. <b>dvivga</b> requires <tt>PK</tt> + fonts at screen-resolutions (around 100dpi); that is why a + special set of fonts is provided. If you are using a + dot-matrix printer with a similar resolution, the special + fonts may already be installed on your system.</p> + + <p><b>dvivga</b> does not support any \special commands for + including pictures or figures, but it does support + configurable font-substitution for fonts that are + unavailable.</p> + + <p>Figure <a href="ch09.html#fig.dvivga.vga" + title="Figure 9.8. Previewing with dvivga">Figure 9.8</a> + shows a preview of the sample document from Chapter <a + href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>. + This image is from a VGA display.</p> + + <div class="figure"> + <a id="fig.dvivga.vga" name="fig.dvivga.vga"></a> + + <p class="title"><b>Figure 9.8. Previewing with + dvivga</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.arb.preview" name="sec.arb.preview"></a>TeX + Preview</h2> + </div> + </div> + + <p><b>TeX Preview</b>\index{TeX Preview previewing@TeX + Preview previewing}<a id="id2912979" class="indexterm" + name="id2912979"></a> is the ArborText<a id="id2912993" + class="indexterm" name="id2912993"></a> <tt>DVI</tt> + previewer for MS-DOS. A similar previewer is available for + unix workstations running the X Window System (versions for + Motif and Open Look environments are also available). The + following discussion is based on experiences with <b>TeX + Preview</b> version 6.1.2, the MS-DOS implementation of + ArborText's TeX previewer.</p> + + <p><b>TeX Preview</b> supports a wide range of graphics + adapters, including EGA, VGA, and Hercules adapters as well + as the Olivetti Monochrome Graphics adapter, the Tecmar + Graphics Master, the Genius VHR Full Page Display Monitor, + the ETAP Neftis Monitor, the Toshiba 3100, and the AT&T + PC6300 display.</p> + + <p>Figure <a href="ch09.html#fig.tpre.vga" + title="Figure 9.9. Previewing with ArborText's Previewer"> + Figure 9.9</a> shows a preview of the sample document + from Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>. + This image is from a VGA display. Three additional features + of the driver, not exercised in this example, are the + ability to scale fonts to any size, display rulers and + bitmapped graphics, and a “two-up” mode for + viewing two pages at a time.</p> + + <div class="figure"> + <a id="fig.tpre.vga" name="fig.tpre.vga"></a> + + <p class="title"><b>Figure 9.9. Previewing with + ArborText's Previewer</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>When <b>TeX Preview</b> is displaying a <tt>DVI</tt> + file, you can move around the page and between pages; you + can change the magnification, search for text in the + <tt>DVI</tt> file, show the attributes of the character + under the cursor (font, dimensions, magnification, etc.), + and switch to another file. A configuration file allows you + to specify a wide range of options to control how <b>TeX + Preview</b> appears when it starts up.</p> + + <p>ArborText supplies a full set of Computer Modern Roman + <tt>PK</tt> files at screen resolutions as well as a + complete set of Times Roman and Helvetica fonts at screen + resolutions. The additional PostScript fonts are derived + from official Adobe sources and allow you to preview + documents that will be printed on PostScript printers + (provided that they use only Times, Helvetica, and Computer + Modern fonts). They are designed specifically to work with + <tt>TFM</tt> files provided with <b>DVILASER/PS</b>, + ArborText's PostScript DVI driver.</p> + + <p>If you want to use additional fonts, for example the + \AmS-fonts or Computer Modern fonts at unusual sizes, you + may wish to generate <tt>PK</tt> files at the appropriate + resolutions. <b>TeX Preview</b> will perform font + substitution for missing fonts (you can control what + substitutions are made) and can use the <tt>DVI</tt> driver + metric information, so generating additional fonts is not + necessary.</p> + + <p><b>TeX Preview</b> understands the virtual font + mechanisms introduced in TeX version 3.0. Several + additional utilities provided with <b>TeX Preview</b> allow + you to construct virtual fonts. These utilities are + summarized in Table <a href="ch09.html#tab.tpre.utils" + title="Table 9.2. TeX Preview Utilities">Table 9.2</a><a + id="id2913251" class="indexterm" name="id2913251"></a><a + id="id2913268" class="indexterm" name="id2913268"></a><a + id="id2913275" class="indexterm" name="id2913275"></a> <a + id="id2913283" class="indexterm" name="id2913283"></a><a + id="id2913290" class="indexterm" name="id2913290"></a><a + id="id2913297" class="indexterm" name="id2913297"></a><a + id="id2913304" class="indexterm" name="id2913304"></a><a + id="id2913311" class="indexterm" name="id2913311"></a> <a + id="id2913320" class="indexterm" name="id2913320"></a>.</p> + + <div class="table"> + <a id="tab.tpre.utils" name="tab.tpre.utils"></a> + + <p class="title"><b>Table 9.2. TeX Preview + Utilities</b></p> + + <table summary="TeX Preview Utilities" border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Utility</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it aftovp</td> + + <td align="left">Converts <tt>VPL</tt> from + <tt>AFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it gftopk\,\x</td> + + <td align="left">Converts <tt>GF</tt> files into + <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it packpxl</td> + + <td align="left">Creates packed (byte-aligned) + <tt>PXL</tt> file</td> + </tr> + + <tr> + <td align="left">\it pktopx\,\x</td> + + <td align="left">Converts <tt>PK</tt> files into + <tt>PXL</tt> files</td> + </tr> + + <tr> + <td align="left">\it pxtopk\,\x</td> + + <td align="left">Converts <tt>PXL</tt> files into + <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it tftovp</td> + + <td align="left">Converts <tt>VPL</tt> from + <tt>TFM</tt> file</td> + </tr> + + <tr> + <td align="left">\it unpkpxl</td> + + <td align="left">Creates standard, word-aligned + <tt>PXL</tt> file</td> + </tr> + + <tr> + <td align="left">\it vftovp\,\x</td> + + <td align="left">Converts <tt>VF</tt> files into + <tt>VPL</tt> files</td> + </tr> + + <tr> + <td align="left">\it vptovf\,\x</td> + + <td align="left">Converts <tt>VPL</tt> files into + <tt>VF</tt> files</td> + </tr> + </tbody> + </table> + </div> + + <p>ArborText's <b>TeX Preview</b> program recognizes + \special commands for drawing change bars and for rotating + <span class="emphasis"><em>any</em></span> TeX + “box” through a multiple of 90 degrees. These + are the same \special commands recognized by other + ArborText DVI drivers.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2913678" + name="id2913678"></a>dvideo</h2> + </div> + </div> + + <p>The MS-DOS based EGA previewer <b>dvideo</b><a + id="id2913692" class="indexterm" name="id2913692"></a><a + id="id2913700" class="indexterm" name="id2913700"></a> is + distributed as part of the TurboTeX<a id="id2913713" + class="indexterm" name="id2913713"></a> distribution by the + Kinch Computer Company<a id="id2913726" class="indexterm" + name="id2913726"></a>. TurboTeX is described more + completely in the section called “<a + href="ch14.html#sec.com.turbo" + title="µTeX by ArborText">the section called “µTeX by + ArborText”</a>” in Chapter <a + href="ch14.html" + title="Chapter 14. Commercial Environments">Chapter 14</a>, + <span class="emphasis"><em><a href="ch14.html" + title="Chapter 14. Commercial Environments">Chapter 14</a></em></span>. + TurboTeX also includes a Microsoft Windows previewer.</p> + + <p>Figure <a href="ch09.html#fig.ttexd.ega" + title="Figure 9.10. Previewing with TurboTeX dvideo (using limited selection of fonts)"> + Figure 9.10</a> shows a <b>dvideo</b> preview of the + sample document from Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>.</p> + + <div class="figure"> + <a id="fig.ttexd.ega" name="fig.ttexd.ega"></a> + + <p class="title"><b>Figure 9.10. Previewing + with TurboTeX dvideo (using limited selection of + fonts)</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>The preview displayed here uses the default set of fonts + distributed with TurboTeX. This does not include several of + the large sizes used by this example. In practice, you will + have to purchase or build many fonts before you can use + TurboTeX.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2913841" + name="id2913841"></a>PTI View</h2> + </div> + </div> + + <p><b>PTI View</b><a id="id2913854" class="indexterm" + name="id2913854"></a> <a id="id2913866" class="indexterm" + name="id2913866"></a> is the MS-DOS previewer that comes + with PCTeX, distributed by Personal TeX, Inc.<a + id="id2913876" class="indexterm" name="id2913876"></a> + PCTeX is described in the section called “<a + href="ch14.html#sec.pctex" title="PCTeX">the section called + “PCTeX”</a>” in Chapter <a + href="ch14.html" + title="Chapter 14. Commercial Environments">Chapter 14</a>, + <span class="emphasis"><em><a href="ch14.html" + title="Chapter 14. Commercial Environments">Chapter 14</a></em></span>.</p> + + <p>Figure <a href="ch09.html#fig.ptipreview" + title="Figure 9.11. Previewing with Personal TeX's Previewer"> + Figure 9.11</a> shows a <b>PTI View</b> preview of the + sample document from Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>.</p> + + <div class="figure"> + <a id="fig.ptipreview" name="fig.ptipreview"></a> + + <p class="title"><b>Figure 9.11. Previewing + with Personal TeX's Previewer</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p><b>PTI View</b> is distributed with a complete set of + the Computer Modern fonts in <tt>PK</tt> format (<b>PTI + View</b> can use the same <tt>PK</tt> fonts as your + printer, regardless of the printer's resolution). It can + display the preview in many video modes, including several + high-resolution super VGA modes.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2914028" + name="id2914028"></a>Previewing Under Windows</h2> + </div> + </div> + + <p>Most MS-DOS previewers are inappropriate for previewing + in Windows<a id="id2914039" class="indexterm" + name="id2914039"></a><a id="id2914049" class="indexterm" + name="id2914049"></a> because they assume that they can + control the entire display. Recently, several commercial + and free previewers for Windows have become available. They + are described in this section.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2914065" + name="id2914065"></a>dvimswin</h3> + </div> + </div> + + <p>The <b>dvimswin</b><a id="id2914079" class="indexterm" + name="id2914079"></a><a id="id2914089" class="indexterm" + name="id2914089"></a> previewer is a Windows version of + <b>dvivga</b>. It uses the same screen-resolution fonts + for displaying your <tt>DVI</tt> file and offers + font-substitution for missing fonts.</p> + + <p>You can retrieve <b>dvimswin</b> from the CTAN + archives in the directory <tt>dviware/dvimswin</tt>. The + <b>dvimswin</b> previewer is shown in Figure <a + href="ch09.html#fig.preview.dvimswin" + title="Figure 9.12. Previewing with dvimswin">Figure 9.12</a>.</p> + + <div class="figure"> + <a id="fig.preview.dvimswin" + name="fig.preview.dvimswin"></a> + + <p class="title"><b>Figure 9.12. Previewing + with dvimswin</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2914192" + name="id2914192"></a>dviwin</h3> + </div> + </div> + + <p>The <b>dviwin</b><a id="id2914207" class="indexterm" + name="id2914207"></a><a id="id2914214" class="indexterm" + name="id2914214"></a> previewer is another free Microsoft + Windows previewer. <b>dviwin</b> can use either screen or + printer resolution fonts to display your <tt>DVI</tt> + file. You can retrieve <b>dviwin</b> from the CTAN + archives in the directory <tt>dviware/dviwin</tt>.</p> + + <p>What makes <b>dviwin</b> unique is its support for + \special commands. <b>dviwin</b> understands \special + commands for including pictures and figures, as well as + the emTeX and <tt>tpic</tt> drawing primitives.</p> + + <p><b>dviwin</b> has built-in support for <tt>PCX</tt><a + id="id2914309" class="indexterm" name="id2914309"></a>, + <tt>BMP</tt><a id="id2914326" class="indexterm" + name="id2914326"></a>, and <tt>MSP</tt><a id="id2914348" + class="indexterm" name="id2914348"></a> graphic formats. + Additionally, it can use any graphics filter installed in + your Windows environment. Many commercial programs + include additional filters to handle the images that they + construct. <b>dviwin</b> also supports emTeX font + libraries<a id="id2914367" class="indexterm" + name="id2914367"></a> and customizable automatic font + generation. By using <b>dviwin</b>, you can print your + <tt>DVI</tt> files on any Microsoft Windows-supported + printer. The <b>dviwin</b> previewer is shown in + Figure <a href="ch09.html#fig.preview.dviwin" + title="Figure 9.13. Previewing with dviwin">Figure 9.13</a>.</p> + + <div class="figure"> + <a id="fig.preview.dviwin" + name="fig.preview.dviwin"></a> + + <p class="title"><b>Figure 9.13. Previewing + with dviwin</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>The <b>dviwin</b> distribution includes two additional + utilities: <b>clipmeta</b><a id="id2914464" + class="indexterm" name="id2914464"></a> for creating + <tt>MSP</tt> graphic files from any image captured in the + Windows clipboard, and <b>wbr</b>,<a id="id2914491" + class="indexterm" name="id2914491"></a> a text-file + browser.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2914502" + name="id2914502"></a>wdviwin</h3> + </div> + </div> + + <p>As mentioned above, the TurboTeX<a id="id2914510" + class="indexterm" name="id2914510"></a> package includes + a Windows DVI driver, <b>wdviwin</b><a id="id2914528" + class="indexterm" name="id2914528"></a><a id="id2914536" + class="indexterm" name="id2914536"></a>, distributed by + the Kinch Computer Company<a id="id2914548" + class="indexterm" name="id2914548"></a>. Sample output + from this previewer is shown in Figure <a + href="ch09.html#fig.preview.wttpreview" + title="Figure 9.14. Previewing with TurboTeX's wdviwin"> + Figure 9.14</a>. This sample shows the status + window, the preview window, and a few of the available + tools.</p> + + <div class="figure"> + <a id="fig.preview.wttpreview" + name="fig.preview.wttpreview"></a> + + <p class="title"><b>Figure 9.14. Previewing + with TurboTeX's wdviwin</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2914603" + name="id2914603"></a>DVIWindo</h3> + </div> + </div> + + <p>The <b>DVIWindo</b><a id="id2914617" class="indexterm" + name="id2914617"></a><a id="id2914627" class="indexterm" + name="id2914627"></a> previewer by Y&Y<a + id="id2914641" class="indexterm" name="id2914641"></a> is + unique among the previewers used here. <b>DVIWindo</b> + has no support for <tt>PK</tt> fonts; it relies entirely + on scalable fonts<a id="id2914671" class="indexterm" + name="id2914671"></a> provided by Microsoft Windows. + (This means either PostScript Type 1 fonts rendered + by <b>Adobe Type Manager</b><a id="id2914689" + class="indexterm" name="id2914689"></a> or built-in + TrueType font <a id="id2914698" class="indexterm" + name="id2914698"></a> support.) As a result, to use the + <b>DVIWindo</b> previewer, you must purchase the Computer + Modern fonts in TrueType or Adobe Type 1 format (or + not use them at all).</p> + + <p>The <b>DVIWindo</b> previewer is shown in + Figure <a href="ch09.html#fig.preview.dviwindo" + title="Figure 9.15. Previewing with Y&Y's DVIWindo"> + Figure 9.15</a>. The pull-down menu shown in this + image is the “TeX Menu,” a new feature of + <b>DVIWindo</b> 1.1. This menu, which can be customized + to include any programs you wish, allows <b>DVIWindo</b> + to function as a TeX shell. Once <b>DVIWindo</b> is + running, you can edit files and format documents with TeX + directly from this menu.</p> + + <div class="figure"> + <a id="fig.preview.dviwindo" + name="fig.preview.dviwindo"></a> + + <p class="title"><b>Figure 9.15. Previewing + with Y&Y's DVIWindo</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p>The real advantage of using scalable fonts is that you + can resize the image in arbitrary ways.<sup>[<a + id="id2914807" name="id2914807" + href="#ftn.id2914807">108</a>]</sup> For example, + Figure <a href="ch09.html#fig.preview.dviwindo2" + title="Figure 9.16. DVIWindo preview much enlarged"> + Figure 9.16</a> shows a much-enlarged version of the + same page. Similar enlargement with non-scalable fonts + would require that the <tt>PK</tt> fonts exist at very + high-resolutions (occupying considerable disk space) or + produce very jagged output. The jaggedness of the image + shown here is the result of magnifying the captured + screen image, not the previewer. Several useful + information boxes are also shown in these images.</p> + + <div class="figure"> + <a id="fig.preview.dviwindo2" + name="fig.preview.dviwindo2"></a> + + <p class="title"><b>Figure 9.16. DVIWindo + preview much enlarged</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p><b>DVIWindo</b> has several other interesting + features:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Portions of a document may be copied into the + Windows clipboard and then pasted into other + applications. This allows you to construct complex + mathematics in TeX, for example, and paste them + into another Windows application. The pasted + material will appear as a single graphical object + that can be moved, resized, and cropped. The + material is not rendered as a bitmap, so it can be + resized without loss of quality!</p> + </li> + + <li> + <p>TIFF images are displayed in the document. If + you use <b>dvipsone</b> (Y&Y's PostScript + printer driver) and create both TIFF and EPS + (encapsulated PostScript) versions of an image, + <b>DVIWindo</b> will automatically display the TIFF + image, and <b>dvipsone</b> will automatically print + the EPS image.</p> + </li> + + <li> + <p>Colored text and rules can be incorporated into + a document with \special commands.</p> + </li> + + <li> + <p>You can create “hypertext” buttons + in your document. Selecting a button (an area of + text or a rule) automatically moves you to a + destination marker in the document. These buttons + are only meaningful to <b>DVIWindo</b>, but they do + allow you to move around quickly in a document + while you are writing it. Of course, they could + also be very handy if you use <tt>DVI</tt> files + for online documentation.</p> + </li> + </ul> + </div> + + <p>In addition to the <b>DVIWindo</b> executable, several + programs are provided to help you work with PostScript + fonts under Windows. They are summarized in Table <a + href="ch09.html#tab.dviwindo" + title="Table 9.3. DVIWindo Utilities">Table 9.3</a>.</p> + + <div class="table"> + <a id="tab.dviwindo" name="tab.dviwindo"></a> + + <p class="title"><b>Table 9.3. DVIWindo + Utilities</b></p> + + <table summary="DVIWindo Utilities" border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Utility</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it pfatopfb\,\x</td> + + <td align="left">Convert <tt>PFA</tt> files into + <tt>PFB</tt> files</td> + </tr> + + <tr> + <td align="left">\it pfbtopfa\,\x</td> + + <td align="left">Convert <tt>PFB</tt> files into + <tt>PFA</tt> files</td> + </tr> + + <tr> + <td align="left">\it tifftags</td> + + <td align="left">Show the tags used in a + <tt>TIFF</tt> image</td> + </tr> + + <tr> + <td align="left">\it reencode</td> + + <td align="left">Change the encoding of a + PostScript font</td> + </tr> + + <tr> + <td align="left">\it afmtotfm\,\x</td> + + <td align="left">Convert <tt>AFM</tt> files into + <tt>TFM</tt> files</td> + </tr> + + <tr> + <td align="left">\it tfmtoafm</td> + + <td align="left">Convert <tt>TFM</tt> files into + <tt>AFM</tt> files</td> + </tr> + + <tr> + <td align="left">\it afmtopfm</td> + + <td align="left">Convert <tt>AFM</tt> files into + <tt>PFM</tt> files</td> + </tr> + + <tr> + <td align="left">\it pfmtoafm</td> + + <td align="left">Convert <tt>PFM</tt> files into + <tt>AFM</tt> files</td> + </tr> + + <tr> + <td align="left">\it safeseac</td> + + <td align="left">Circumvents problem with + accented letters in PS fonts under Windows</td> + </tr> + + <tr> + <td align="left">\it cleanup</td> + + <td align="left">Removes inactive Windows from + the desktop</td> + </tr> + + <tr> + <td align="left">\it sysseg</td> + + <td align="left">Displays information about + Windows system memory</td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.preview.tty" + name="sec.preview.tty"></a>Previewing on a TTY</h2> + </div> + </div> + + <p><a id="id2915365" class="indexterm" + name="id2915365"></a>Graphical workstations and personal + computers with graphics capabilities are a natural + environment for previewing TeX output. Unfortunately, they + aren't always available. This section describes several + previewers that work in less sophisticated + environments.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2915377" + name="id2915377"></a>dvi2tty</h3> + </div> + </div> + + <p>The <b>dvi2tty</b> program<a id="id2915398" + class="indexterm" name="id2915398"></a><a id="id2915408" + class="indexterm" name="id2915408"></a> attempts to + convert TeX output into ASCII text. This program is + designed to provide an approximation of troff<a + id="id2915421" class="indexterm" name="id2915421"></a>'s + <b>nroff</b><a id="id2915435" class="indexterm" + name="id2915435"></a> processor. To get the best results, + you will have to reformat your document using a limited + subset of TeX's capabilities. A LaTeX style file is + included for this purpose. You can retrieve + <b>dvi2tty</b> from the CTAN archives in the directory + <tt>dviware/dvi2tty</tt>.</p> + + <p>The output from <b>dvi2tty</b> is imperfect in many + ways, but it can provide a workable ASCII document. I + used it to produce plain ASCII documentation in my + <b>Sfware</b><a id="id2915485" class="indexterm" + name="id2915485"></a> package, for example. + <b>dvi2tty</b> also provides a quick-and-dirty method of + applying some standard text processing tools, like + <b>grep</b><a id="id2915508" class="indexterm" + name="id2915508"></a>, to TeX output.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2915519" + name="id2915519"></a>dvgt/dvitovdu</h3> + </div> + </div> + + <p><a id="id2915526" class="indexterm" + name="id2915526"></a><a id="id2915533" class="indexterm" + name="id2915533"></a><a id="id2915540" class="indexterm" + name="id2915540"></a>These programs share a common + history. As a result, they offer an overlapping set of + features. The most recent work has been done on the + <b>dvgt</b> processor. You can retrieve <b>dvgt</b> from + the CTAN archives in the directory + <tt>dviware/dvgt</tt>.</p> + + <p>Unlike <b>dvi2tty</b>, which is a conversion program, + <b>dvgt</b> is an interactive previewer. One very neat + feature of <b>dvgt</b> is its ability to preview TeX + output on a number of graphics terminals, including + Tektronix 4010, VT240, VT640, Gigi, Regis, VIS500, + VIS550, VIS603, and VIS630 terminals. The importance of + this feature is that many versions of <b>Kermit</b><a + id="id2915617" class="indexterm" name="id2915617"></a> + and <b>NCSA Telnet</b><a id="id2915631" class="indexterm" + name="id2915631"></a> (and possibly other communications + programs) support one of these terminal types. This means + that you can preview documents even when you are away + from your workstation, by using dial-up access with + either a graphics terminal or plain ASCII.</p> + + <p>Even when output is limited to plain ASCII, + <b>dvgt</b> attempts to make its output resemble the + printed page. To do this, it frequently drops characters + out of the middle of words and performs other + space-saving abbreviations. The result is a crude, but + workable preview, on a plain ASCII terminal.</p> + + <p>Figure <a href="ch09.html#fig.dvgttek" + title="Figure 9.17. Previewing with dvgt under Tektronix 4010 emulation"> + Figure 9.17</a> shows an example of <b>dvgt</b> + display in tek4010 emulation. This is a somewhat + contrived example since the emulation is being performed + by an xterm.</p> + + <div class="figure"> + <a id="fig.dvgttek" name="fig.dvgttek"></a> + + <p class="title"><b>Figure 9.17. Previewing + with dvgt under Tektronix 4010 emulation</b></p> + + <div class="mediaobject"> + <img src="FIXME:" /> + </div> + </div> + + <p><b>dvitovdu</b> is an older version of the program. It + is available in source code form in both C and Pascal. + You can retrieve <b>dvitovdu</b> from the CTAN archives + in the directory <tt>dviware/dvitovdu</tt>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2915747" + name="id2915747"></a>crudetype</h3> + </div> + </div> + + <p><b>crudetype</b><a id="id2915760" class="indexterm" + name="id2915760"></a><a id="id2915770" class="indexterm" + name="id2915770"></a> is another plain-ASCII previewer. + It provides features similar to <b>dvgt</b> and + <b>dvitovdu</b>. It is written in <span + class="sc">Web</span>, but it cannot be translated to C + with the <b>web2c</b> conversion tool (so you will have + to have a Pascal compiler).</p> + + <p>The <b>crudetype</b> program was written with VMS in + mind, although it may be portable to other systems. You + can retrieve <b>crudetype</b> from the CTAN archives in + the directory <tt>dviware/crudetype</tt>.</p> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2912496" name="ftn.id2912496" + href="#id2912496">106</a>]</sup> {Some setup is required + to obtain this functionality. By default, the driver asks + for the name of a font to substitute in place of the + missing font.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2912560" name="ftn.id2912560" + href="#id2912560">107</a>]</sup> {Particularly in + networked environments where <b>dvidrv</b> assures that + temporary filenames won't collide between users.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2914807" name="ftn.id2914807" + href="#id2914807">108</a>]</sup> {Most previewers support + resizing, but they are generally limited to the + resolutions for which <tt>PK</tt> fonts are + available.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 8. Printing" + href="ch08.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 10. Online Documentation" + href="ch10.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 8. Printing </td> + + <td width="20%" align="center"><a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 10. Online Documentation</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch10.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch10.html new file mode 100644 index 00000000000..9eea2211c0b --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch10.html @@ -0,0 +1,782 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 10. Online Documentation</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + <link rel="previous" href="ch09.html" + title="Chapter 9. Previewing" /> + <link rel="next" href="ch11.html" + title="Chapter 11. Introducing MetaFont" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 9. Previewing" + href="ch09.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 11. Introducing MetaFont" + href="ch11.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.online" + name="chap.online"></a>Chapter 10. Online + Documentation</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>Some common kinds of documentation---for example, manuals + for computer programs---present a unique challenge to the + author. In many cases, it would be nice to be able to provide + online documentation<a id="id2910943" class="indexterm" + name="id2910943"></a><a id="id2910951" class="indexterm" + name="id2910951"></a> in addition to a typeset manual.</p> + + <p>One option is to maintain two different documents: one for + publication and one for online access. This is difficult to + maintain and is prone to error. As the documentation evolves, + it is almost inevitable that some changes to one document + will not be implemented in the other.</p> + + <p>Another option is to include only very limited formatting + information in the document designed for publication so that + it is easy to “strip out” the formatting commands + and produce an online manual. The unfortunate side effect of + this approach is that the resulting typeset documentation + doesn't have a very professional appearance.</p> + + <p>With care, TeX can be the basis for a middle-ground + approach to this problem.<sup>[<a id="id2910836" + name="id2910836" href="#ftn.id2910836">109</a>]</sup> If you + are starting a new documentation project, TeXinfo<a + id="id2910846" class="indexterm" name="id2910846"></a> and + LameTeX<a id="id2910856" class="indexterm" + name="id2910856"></a> provide two alternatives for the + production of typeset and online documentation from the same + source. \LaTeX2HTML<a id="id2910870" class="indexterm" + name="id2910870"></a> and \LaTeX2hy<a id="id2910881" + class="indexterm" name="id2910881"></a> provide alternatives + that may be suitable for existing documentation.</p> + + <p>You'll find that the best results occur when you plan + ahead: if you know that you need both typeset and ASCII + documentation, try to use tools that will make the task + easier. But, even if you try to plan ahead, it's not uncommon + to find out after the fact that you need or want ASCII + documentation. If you don't have the TeX sources, you'll just + have to take the best results you can get with one of the + tools described later in this chapter and do whatever + hand-editing is required.</p> + + <p>If you have the TeX sources for a document, here are some + guidelines that can help improve the quality of the + conversion to plain ASCII:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Redefine all font commands to use \tt. This makes + TeX work with a fixed-width font. You will probably get + many, many overfull and underfull box messages. This + can't be helped. Setting \tolerance and \hbadness to + large values (10000 with TeX 2.x or 100000 with TeX + 3.x, for example) will reduce the number of + warnings.</p> + + <p>Similarly, redefine all the commands that change + font size to select the same size (probably 10pt or + 12pt will work best, but larger values may be better if + you have wide margins).</p> + </li> + + <li> + <p>Don't use any special fonts---no <tt>picture</tt> + environments in LaTeX, for example. Take out rules, + too.</p> + </li> + + <li> + <p>Use \raggedright. There's no point in trying to line + up the right margin.</p> + </li> + + <li> + <p>Remove or redefine all mathematics to avoid the use + of math-mode. It won't work; don't ask TeX to try.</p> + </li> + + <li> + <p>Remove all tables (\halign in Plain TeX, + <tt>tabular</tt> environments in LaTeX).</p> + </li> + + <li> + <p>Remove floating environments; this may help.</p> + </li> + + <li> + <p>Depending on your level of expertise and the number + of documents that you have to convert, redefine + footnotes and other environments to give you more + marginal improvements.</p> + </li> + </ul> + </div> + + <p>The <tt>ascii.sty</tt> style<a id="id2916135" + class="indexterm" name="id2916135"></a> for LaTeX + encapsulates many of these rules for you.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2916146" + name="id2916146"></a>Something Is Lost</h2> + </div> + </div> + + <p>Many things that can easily be represented on paper + cannot be represented in plain ASCII. One reason for this + is that plain ASCII output is not proportionally spaced. + Also, in ASCII you can move up or down only by rows, and + left or right only by columns; you can't move down “3 + points” on a terminal to typeset a subscript, for + example.</p> + + <p>These differences combine to make many things + impossible. For all of its marvelous sophistication, TeX + cannot help you typeset mathematics<a id="id2916172" + class="indexterm" name="id2916172"></a> in plain ASCII. It + just can't be done. Most tables can't be done in plain + ASCII either (at least not if you want lines that are only + 80 characters or so long).</p> + + <p>The following sections describe tools that may help you + achieve the goal of online and typeset documentation from + the same sources. Each tool has its own advantages and + disadvantages. The ones that work best for you will depend + on the type of documentation you are producing and the + amount of work you are willing to do.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2916199" + name="id2916199"></a>TeXinfo</h2> + </div> + </div> + + <p>TeXinfo<a id="id2916208" class="indexterm" + name="id2916208"></a> is the document formatting system + adopted by the Free Software Foundation (FSF)<a + id="id2916220" class="indexterm" name="id2916220"></a> and + the GNU Project<a id="id2916230" class="indexterm" + name="id2916230"></a>. It is a special TeX format that is + very different from standard TeX.<sup>[<a id="id2916239" + name="id2916239" href="#ftn.id2916239">110</a>]</sup> The + goal of TeXinfo is to devise an input format that can be + processed by TeX to produce typeset output and then be + processed by another program to produce <span + class="emphasis"><em>hypertext</em></span> output. (The + other program in this case is <b>MakeInfo</b><a + id="id2916259" class="indexterm" + name="id2916259"></a>.)</p> + + <p>TeXinfo supports ordinary text, sectioning commands, + itemize and enumeration environments, footnotes, + cross-references, tables of contents, lists of figures and + tables, and multiple indexes.</p> + + <p>The TeXinfo example from Chapter <a + href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>, + is reproduced in Example <a + href="ch10.html#ex.on.infinp" + title="Example 10.1. TeXinfo Commands">Example 10.1</a> + (the TeXinfo input), Figure <a + href="ch10.html#fig.on.infex" + title="Figure 10.1. TeXinfo sample page">Figure 10.1</a> + (the typeset page), and Figure <a + href="ch10.html#fig.on.infinf" + title="Figure 10.2. Online documentation produced by MakeInfo"> + Figure 10.2</a> (the resulting online + documentation).</p> + + <div class="example"> + <a id="ex.on.infinp" name="ex.on.infinp"></a> + + <p class="title"><b>Example 10.1. TeXinfo + Commands</b></p> +<pre class="programlisting"> +<a type="simple" show="embed" actuate="onLoad" href="perf-inf"></a> +</pre> + </div> + + <div class="figure"> + <a id="fig.on.infex" name="fig.on.infex"></a> + + <p class="title"><b>Figure 10.1. TeXinfo sample + page</b></p> + + <div class="mediaobject"> + <img src="perf-inf.eps" /> + </div> + </div> + + <div class="figure"> + <a id="fig.on.infinf" name="fig.on.infinf"></a> + + <p class="title"><b>Figure 10.2. Online + documentation produced by MakeInfo</b></p> + + <div class="literallayout"> + <p>  <br /> +     \FramedVerbInput{perf-inf.inf}<br /> + + </p> + </div> + </div> + + <p>The output from <b>MakeInfo</b> is very nearly pure + ASCII. The motivation for {hypertext} output is to make + cross references dynamic<a id="id2916438" class="indexterm" + name="id2916438"></a> when the “info” version + of the document is used for online reference.<sup>[<a + id="id2916455" name="id2916455" + href="#ftn.id2916455">111</a>]</sup> The result is close + enough to pure ASCII that converting it to pure ASCII is + not (usually) too difficult. For example, the <span + class="emphasis"><em>comp.fonts</em></span> newsgroup<a + id="id2916474" class="indexterm" name="id2916474"></a>'s + Frequently Asked Questions list is maintained as a TeXinfo + document. It is posted as an info version that has been + processed by a Perl script to “flatten” the + hypertext.</p> + + <p>The TeXinfo format is well documented, so a brief + description here will suffice. First, the backslash, which + is ordinarily used to introduce control sequences in TeX, + is not special. Instead the “@”-sign is used. + Second, a TeXinfo document is divided into “nodes<a + id="id2916507" class="indexterm" + name="id2916507"></a>.” A node corresponds roughly to + a chapter or a large section of a chapter. In the online + documentation, it is easy to jump between related + nodes.</p> + + <p>Because the info version of the document is ASCII text, + many of the special typesetting features of TeX aren't + applicable. To support them in the typeset document, + TeXinfo allows you to specify that some portions of the + input should be seen only by TeX and some should be seen + only by <b>MakeInfo</b>. Example <a + href="ch10.html#ex.on.infinp" + title="Example 10.1. TeXinfo Commands">Example 10.1</a> + uses this feature to typeset mathematics using the best + features of both TeX and <b>MakeInfo</b>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2916555" + name="id2916555"></a>\LaTeX2HTML</h2> + </div> + </div> + + <p>\LaTeX2HTML<a id="id2916564" class="indexterm" + name="id2916564"></a> attempts to convert LaTeX documents + into HTML<a id="id2916576" class="indexterm" + name="id2916576"></a>, the document structuring language + used by the World Wide Web (WWW)<a id="id2916586" + class="indexterm" name="id2916586"></a> project. HTML + stands for HyperText Markup Language<a id="id2916595" + class="indexterm" name="id2916595"></a>; it is a way of + describing documents in terms of their structure (headings, + paragraphs, lists, etc.). SGML<a id="id2916606" + class="indexterm" name="id2916606"></a>, the Standard + Generalized Markup Language, provides a framework for + developing structured documentation; HTML is one specific + SGML document type. HTML documents are displayed by special + programs called browsers<a id="id2916618" class="indexterm" + name="id2916618"></a> that interpret the markup and present + the information in a consistent manner. Because an HTML + document is described in terms of its structure and not its + appearance, HTML documents can be effectively displayed by + browsers in non-graphical environments.</p> + + <p>One of the most important features of HTML documents is + the ability to form hypertext links<a id="id2916638" + class="indexterm" name="id2916638"></a><a id="id2916647" + class="indexterm" name="id2916647"></a> between documents. + Hypertext links allow you to build dynamic relationships + between documents. For example, selecting a marked word or + phrase in the current document displays more information + about the topic, or a list of related topics.</p> + + <p>\LaTeX2HTML preserves many of the features of a LaTeX + document in HTML. Elements that are too complex to + represent in HTML, such as mathematical equations and logos + like “TeX,” are converted into graphic images + that can be displayed online by graphical browsers. All + types of cross referencing elements (including footnotes) + are preserved as hypertext links.</p> + + <p>When installed, \LaTeX2HTML understands many basic LaTeX + commands, but it can be customized to handle other styles. + \LaTeX2HTML is written in <b>Perl</b>.</p> + + <p>All in all, \LaTeX2HTML is one of the easiest and most + effective tools for translating typeset documentation into + a format suitable for online presentation. In a graphical + environment like X11, Microsoft Windows, or the Macintosh, + HTML documents offer very good support for online + documentation.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2916701" + name="id2916701"></a>LameTeX</h2> + </div> + </div> + + <p>LameTeX<a id="id2916710" class="indexterm" + name="id2916710"></a> is a PostScript translator<a + id="id2916722" class="indexterm" name="id2916722"></a> for + a (very limited) subset of LaTeX. One of its original + design goals, the inclusion of sophisticated PostScript + commands directly in a LaTeX document, has been superseded + by the PSTricks<a id="id2916733" class="indexterm" + name="id2916733"></a> package. However, one of the side + effects of a special-purpose translator for LaTeX is the + ability of that translator to produce different kinds of + output, including plain ASCII.</p> + + <p>The primary advantage of this method is that it does not + require learning an entirely foreign macro package like + TeXinfo. The disadvantage is that it understands only a + very small subset of LaTeX. This subset includes <span + class="emphasis"><em>only</em></span> the following + commands:</p> + + <div class="informaltable"> + <table border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="left" /> + </colgroup> + + <tbody> + <tr> + <td align="left">\#</td> + + <td align="left">\footnotesize</td> + + <td align="left">\ref</td> + </tr> + + <tr> + <td align="left">\$</td> + + <td align="left">\hspace</td> + + <td align="left">\rm</td> + </tr> + + <tr> + <td align="left">\%</td> + + <td align="left">\hspace*</td> + + <td align="left">\sc</td> + </tr> + + <tr> + <td align="left">\ </td> + + <td align="left">\huge</td> + + <td align="left">\scriptsize</td> + </tr> + + <tr> + <td align="left">\Huge</td> + + <td align="left">\include</td> + + <td align="left">\section</td> + </tr> + + <tr> + <td align="left">\LARGE</td> + + <td align="left">\input</td> + + <td align="left">\section*</td> + </tr> + + <tr> + <td align="left">\Large</td> + + <td align="left">\it</td> + + <td align="left">\setlength</td> + </tr> + + <tr> + <td align="left">\_</td> + + <td align="left">\item</td> + + <td align="left">\sf</td> + </tr> + + <tr> + <td align="left">\addtolength</td> + + <td align="left">\itemize</td> + + <td align="left">\sl</td> + </tr> + + <tr> + <td align="left">\backslash</td> + + <td align="left">\label</td> + + <td align="left">\small\smallskip</td> + </tr> + + <tr> + <td align="left">\begin</td> + + <td align="left">\large</td> + + <td align="left">\subparagraph</td> + </tr> + + <tr> + <td align="left">\bf</td> + + <td align="left">\ldots</td> + + <td align="left">\subparagraph*</td> + </tr> + + <tr> + <td align="left">\bigskip</td> + + <td align="left">\medskip</td> + + <td align="left">\subsection</td> + </tr> + + <tr> + <td align="left">\center</td> + + <td align="left">\newlength</td> + + <td align="left">\subsection*</td> + </tr> + + <tr> + <td align="left">\chapter</td> + + <td align="left">\newline</td> + + <td align="left">\subsubsection</td> + </tr> + + <tr> + <td align="left">\chapter*</td> + + <td align="left">\normalsize</td> + + <td align="left">\subsubsection*</td> + </tr> + + <tr> + <td align="left">\clearpage</td> + + <td align="left">\par</td> + + <td align="left">\tiny</td> + </tr> + + <tr> + <td align="left">\description</td> + + <td align="left">\paragraph</td> + + <td align="left">\today</td> + </tr> + + <tr> + <td align="left">\document</td> + + <td align="left">\paragraph*</td> + + <td align="left">\tt</td> + </tr> + + <tr> + <td align="left">\documentstyle</td> + + <td align="left">\part</td> + + <td align="left">\verbatim</td> + </tr> + + <tr> + <td align="left">\em</td> + + <td align="left">\part*</td> + + <td align="left">\verbatim*</td> + </tr> + + <tr> + <td align="left">\end</td> + + <td align="left">\quotation</td> + + <td align="left">\verse</td> + </tr> + + <tr> + <td align="left">\enumerate</td> + + <td align="left">\quote</td> + + <td align="left">\vspace</td> + </tr> + + <tr> + <td align="left">\flushleft</td> + + <td align="left">\raggedleft</td> + + <td align="left">\vspace*</td> + </tr> + + <tr> + <td align="left">\flushright</td> + + <td align="left">\raggedright</td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + + <p>In addition, unlike LaTeX, LameTeX doesn't understand + any Plain TeX commands (other than the ones listed).</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2917217" + name="id2917217"></a>latex2hy</h2> + </div> + </div> + + <p><b>latex2hy</b><a id="id2917230" class="indexterm" + name="id2917230"></a> is a LaTeX-to-ASCII converter<a + id="id2917238" class="indexterm" name="id2917238"></a>. It + has several options for controlling the input and output + character sets. In addition, <b>latex2hy</b> has a number + of options for improving the quality of both ASCII and + printed documentation. For example, input documents can + contain both TeX and ASCII representations for complex + objects (like mathematical formulae). The printed + documentation uses the TeX version while <b>latex2hy</b> + uses the ASCII version. Provision is also made for + “fixups,” which allow character sequences from + the input text to be translated into different sequences on + output. For example, “$9.81\frac{m}{s^2}$” can + be automatically translated into <tt>9.81m/s^2</tt>. By + adding specific fixups to each document that you translate, + you can obtain successively better approximations + automatically.</p> + + <p><b>latex2hy</b> gives particular attention to cross + references<a id="id2917305" class="indexterm" + name="id2917305"></a>. Cross references are translated into + “links<a id="id2917320" class="indexterm" + name="id2917320"></a>” between topics in <span + class="emphasis"><em>hypertext</em></span> output formats. + Currently, only the <span + class="emphasis"><em>TurboVision</em></span><a + id="id2917336" class="indexterm" name="id2917336"></a> + hypertext format is supported, although several other + formats are being considered.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2917348" + name="id2917348"></a>detex</h2> + </div> + </div> + + <p><b>detex</b><a id="id2917361" class="indexterm" + name="id2917361"></a> is a simple program that does little + more than strip control sequences and other TeXish + character sequences from your document. Doing this makes + the document more amenable to other kinds of processing + (like spellchecking) but does a poor job of producing + “online documentation.” Still, it's an + option.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2917381" + name="id2917381"></a>dvispell</h2> + </div> + </div> + + <p>The <b>dvispell</b><a id="id2917395" class="indexterm" + name="id2917395"></a> program produces plain text output + from a <tt>DVI</tt> file. It is not a spellchecker, but it + was designed to extract the words from a TeX document which + were then fed to a spellchecking program that was unable to + ignore TeX control sequences.</p> + + <p>The <b>dvispell</b> program is part of the emTeX<a + id="id2917428" class="indexterm" name="id2917428"></a> + package, and it is remarkably sophisticated. There are many + ways in which <b>dvispell</b> can be programmed to perform + complex manipulations. One special strength of + <b>dvispell</b> is its ability to handle conversion of + accented characters and Greek symbols.</p> + + <p><b>dvispell</b> differs from the other programs + described here because it works with TeX output, the + <tt>DVI</tt> file. On the one hand, this provides + <b>dvispell</b> with more information (character positions, + line breaks, floating bodies, etc). On the other hand, all + of the formatting commands are missing, so it isn't easy to + determine what the user had in mind. (It's a bit like + reverse-engineering a piece of software---without the + source code, it's not always easy to tell why things look + the way they do.) But <b>dvispell</b> gives you access to + most of the information that is present in the <tt>DVI</tt> + file.</p> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2910836" name="ftn.id2910836" + href="#id2910836">109</a>]</sup> {Structured markup + languages like SGML also address this problem, but they + introduce their own set of difficulties. Regardless of + whatever advantages they may hold, I'm not going to + discuss them here.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2916239" name="ftn.id2916239" + href="#id2916239">110</a>]</sup> {A LaTeX implementation, + called LaTeXinfo, is also available.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2916455" name="ftn.id2916455" + href="#id2916455">111</a>]</sup> {“Info” is + the name of both the output format and a program for + displaying the text in a hypertext fashion. Another + common way to access info files is with the GNU emacs + online help system.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 9. Previewing" + href="ch09.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 11. Introducing MetaFont" + href="ch11.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 9. Previewing </td> + + <td width="20%" align="center"><a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 11. Introducing MetaFont</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch11.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch11.html new file mode 100644 index 00000000000..b75eb560ed1 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch11.html @@ -0,0 +1,1139 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 11. Introducing MetaFont</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + <link rel="previous" href="ch10.html" + title="Chapter 10. Online Documentation" /> + <link rel="next" href="ch12.html" + title="Chapter 12. Bibliographies, Indexes, and Glossaries" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 10. Online Documentation" + href="ch10.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 12. Bibliographies, Indexes, and Glossaries" + href="ch12.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.mf" + name="chap.mf"></a>Chapter 11. Introducing + MetaFont</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>TeX builds pages out of boxes<a id="id2915957" + class="indexterm" name="id2915957"></a> and glue<a + id="id2915971" class="indexterm" name="id2915971"></a>. The + smallest boxes are usually individual characters. MetaFont<a + id="id2915983" class="indexterm" name="id2915983"></a> is a + tool that creates the actual characters.</p> + + <p>In the last few years, a real explosion has taken place in + the number of readily available fonts<a id="id2916000" + class="indexterm" name="id2916000"></a><a id="id2915858" + class="indexterm" name="id2915858"></a><a id="id2915866" + class="indexterm" name="id2915866"></a>. Today, many people + have access to a large number of high quality typefaces. Not + too long ago (before Adobe Type Manager (ATM)<a + id="id2915883" class="indexterm" name="id2915883"></a> was + available for the Macintosh and Microsoft Windows), fonts + were too expensive to be generally available. In those days, + a font building tool like MetaFont was essential if TeX was + going to have a number of typefaces and a large number of + mathematical symbols. Today, the role of MetaFont is + diminishing. Many people choose to use PostScript fonts<a + id="id2915891" class="indexterm" name="id2915891"></a> almost + entirely. In fact, with PostScript alternatives to the + Computer Modern Math fonts<a id="id2915912" class="indexterm" + name="id2915912"></a><a id="id2915918" class="indexterm" + name="id2915918"></a> now available, it's possible to use TeX + without using MetaFont fonts at all.</p> + + <p>On the other hand, lots of people do still use the + Computer Modern fonts, and there are many other MetaFont + fonts (for non-English languages like Arabic and Japanese, + for example), so MetaFont is still a useful tool. Also, it + can be used to make nice portable diagrams.</p> + + <p>This chapter cannot teach you how to harness all of + MetaFont's power. The only practical way to learn how to + design your own images with MetaFont is to read <span + class="emphasis"><em>The \MF{}book</em></span> [<a + href="bi01.html#kn:mfbook">kn:mfbook</a>] (even if your + images are nowhere near as complex as an entire font).</p> + + <p>What you will learn from this chapter is how to run + MetaFont to create TeX <tt>PK</tt> fonts<a id="id2917710" + class="indexterm" name="id2917710"></a> and <tt>TFM</tt> + files<a id="id2917745" class="indexterm" + name="id2917745"></a> from existing MetaFont programs. The + Computer Modern fonts, the \AmS fonts, and the DC Fonts are + all created with MetaFont. It is not unreasonable to imagine + that you might someday want to create one of these fonts at a + non-standard size or unusual magnification.</p> + + <p>Knowing how to run MetaFont will also help you set up a + system for performing automatic font generation. This can + save a lot of disk space. See the section called “<a + href="ch05.html#sec.autofont" + title="Automatic Font Generation by DVI Drivers">the section + called “Automatic Font Generation by DVI + Drivers”</a>” in Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, <span + class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>, + for more information about setting up automatic font + generation.</p> + + <p>From many perspectives, TeX and MetaFont behave in + analogous ways. Where TeX reads a plain text <tt>TEX</tt> + document, processes it, and produces a <tt>DVI</tt> file, + MetaFont reads a plain text <tt>MF</tt> program, processes + it, and produces a generic bitmap font file as output.</p> + + <p>Because you probably aren't going to be writing your own + font programs for MetaFont, you have to get them from + somewhere. Many distributions of TeX include MetaFont and the + font files for the Computer Modern fonts. This chapter will + concentrate on just the Computer Modern font programs because + those are the most likely to be available.</p> + + <p>Many MetaFont fonts can be retrieved from the CTAN + archives. Table <a href="ch11.html#tab.mf.mfdistrib" + title="Table 11.1. Some Popular MetaFont Fonts on the CTAN Archives"> + Table 11.1</a> lists some common fonts and their + location in the CTAN archives. A collection of font samples + is shown in Appendix <a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a>, + <span class="emphasis"><em><a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a></em></span>.</p> + + <div class="table"> + <a id="tab.mf.mfdistrib" name="tab.mf.mfdistrib"></a> + + <p class="title"><b>Table 11.1. Some Popular + MetaFont Fonts on the CTAN Archives</b></p> + + <table + summary="Some Popular MetaFont Fonts on the CTAN Archives" + border="1"> + <colgroup> + <col /> + <col /> + </colgroup> + + <thead> + <tr> + <th>Fonts</th> + + <th>Location</th> + </tr> + </thead> + + <tbody> + <tr> + <td>Standard Computer Modern</td> + + <td><tt>fonts/cm</tt></td> + </tr> + + <tr> + <td>Standard LaTeX</td> + + <td><tt>macros/latex/distribs/base/fonts</tt></td> + </tr> + + <tr> + <td>A<sub>m</sub>S Fonts</td> + + <td><tt>fonts/ams</tt></td> + </tr> + + <tr> + <td>DC Fonts</td> + + <td><tt>fonts/dc</tt></td> + </tr> + + <tr> + <td>Concrete</td> + + <td><tt>fonts/concrete</tt></td> + </tr> + + <tr> + <td>Pandora</td> + + <td><tt>fonts/pandora</tt></td> + </tr> + + <tr> + <td>Ralph Smith's Script Font</td> + + <td><tt>fonts/rsfs</tt></td> + </tr> + + <tr> + <td>St. Mary's Road</td> + + <td><tt>fonts/stmary</tt></td> + </tr> + </tbody> + </table> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.mf.gettingstarted" + name="sec.mf.gettingstarted"></a>What to Run?</h2> + </div> + </div> + + <p>Like TeX itself, the actual MetaFont file you have to + execute <a id="id2918084" class="indexterm" + name="id2918084"></a> varies between platforms and + implementations. If you have built and/or installed TeX, + you probably already know what program to run. You'll have + to ask your system administrator for help if you cannot + figure out what the name of the MetaFont executable is on + your computer. In the rest \linebreak</p> + + <p>of this chapter, I'll assume that the command <span + class="emphasis"><em>mf</em></span> runs MetaFont. You + should substitute the name of the executable program on + your system for <span class="emphasis"><em>mf</em></span> + in the examples that follow.</p> + + <p>MetaFont comes in big and small versions just like TeX. + You will need the big MetaFont if you are building fonts + for very high-resolution devices or at very large sizes. + Most fonts can be built with a small MetaFont.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2918131" + name="id2918131"></a>What Files Does MetaFont + Need?</h2> + </div> + </div> + + <p>In addition to the MetaFont programs, MetaFont<a + id="id2918140" class="indexterm" name="id2918140"></a> must + be able to find several other files. The files that are + needed are normally created during the installation + process. The sections that follow describe each of the + files that MetaFont needs.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2918156" + name="id2918156"></a>Pool Files</h3> + </div> + </div> + + <p>The pool file<a id="id2918169" class="indexterm" + name="id2918169"></a> for each version of MetaFont has + the same purpose as the pool file created for TeX. It is + created when MetaFont is compiled. If you don't have a + pool file, there's nothing you can do about it. If you + obtained precompiled programs (from the Internet, from a + friend, or commercially) and you don't have the pool file + needed by MetaFont, you received an incomplete + distribution.</p> + + <p>If you did not install MetaFont, and the pool file is + missing, contact the system administrator who performed + the installation. Something was done incorrectly.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2918200" + name="id2918200"></a>Base Files</h3> + </div> + </div> + + <p>Base files<a id="id2918209" class="indexterm" + name="id2918209"></a> for MetaFont are analogous to + format files for TeX. Unlike TeX, which has many + different format files, there are relatively few base + files for MetaFont.</p> + + <p>Base files are created by a special version of + MetaFont, usually called \iniMF. However, some + implementations combine MetaFont and \iniMF into one + program, in which case you must select \iniMF with a + special option when you run the program.</p> + + <p>Like iniTeX, \iniMF interprets all the control + sequences in a set of base macros and builds the + in-memory data structures that the MetaFont program + needs. After loading all the files, \iniMF writes the + memory image into a base file. When MetaFont loads the + base file, it simply copies it into memory; no + interpretation is necessary.</p> + + <p>Because MetaFont loads the base files without + interpretation, they are not generally portable from one + system to another, or even between different versions of + MetaFont on the same system. Different versions of + MetaFont load differently in memory, and this makes the + base files incompatible. For example, you need a big + \iniMF to make base files for big MetaFont and small + \iniMF for a small MetaFont.</p> + + <p>The “<a href="ch11.html#sec.mf.gettingstarted" + title="What to Run?">the section called “What to + Run?”</a>” section later in this chapter + describes how to build a base file, if you do not already + have one.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2918279" + name="id2918279"></a>MetaFont Programs</h3> + </div> + </div> + + <p>When you run MetaFont, you have to tell it what file + (MetaFont program)<a id="id2918287" class="indexterm" + name="id2918287"></a> to process. MetaFont programs are + stored in files with the extension <tt>.mf</tt>. If you + specify a complete pathname, MetaFont will load the + specific file that you request. If you specify a simple + filename without a path, MetaFont looks for the file in + several user-defined and, possibly, system-defined + locations. The most common way to specify user-defined + locations is by setting the <tt>MFINPUTS</tt> environment + variable to a list of subdirectories where MetaFont + programs are kept. The format of the environment variable + differs according to the platform you use. On unix + systems, it is a list of directory names separated by + colons. On MS-DOS and OS/2 systems, it is a list of + directory names separated by semicolons. Consult the + documentation for the particular implementation of + MetaFont you use for more information about + system-defined locations where MetaFont looks for input + files.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2918336" + name="id2918336"></a>Command-line Options</h2> + </div> + </div> + + <p>In addition to the name of the MetaFont program, + MetaFont has very few command-line<a id="id2918345" + class="indexterm" name="id2918345"></a><a id="id2918360" + class="indexterm" name="id2918360"></a> options. The name + of a base file is the only option regularly used. In this + section, I'll explain what can go on the MetaFont command + line.</p> + + <p>A formal specification of the MetaFont command line + looks like this:</p> +<pre class="screen"> +$ <span class="bold"><b>mf <span +class="emphasis"><em>switches</em></span> <span +class="bold"><b>&</b></span><span +class="emphasis"><em>base</em></span> mf-program mf-commands</b></span> +</pre> + + <p>After the name of the MetaFont program, the first things + that you can specify on the command line are + implementation-dependent switches and options. For example, + implementations of MetaFont that combine \iniMF and + MetaFont into a single program may use the switch <span + class="emphasis"><em>/I</em></span> to specify that \iniMF + processing is desired. There are no system-independent + switches for MetaFont. Consult the documentation that comes + with your implementation for more information about + system-dependent switches.</p> + + <p>After any system-dependent switches, you can specify the + name of the base file to use. This option, if present, must + come before any other options, and you must put an + ampersand (&) in front of the base file name. If you do + not specify a base file, MetaFont will use a default + base.</p> + + <p>After the base, MetaFont looks for the name of a + MetaFont program file. If MetaFont finds a filename on the + command line, it will process the program contained in that + file before looking at any other options that may + follow.</p> + + <p>Finally, you can insert arbitrary MetaFont commands on + the command line by typing them just as you would in a + program. In fact, this is frequently done to change the + size or magnification of the font being created. Exactly + how this is accomplished is described in the section called + “<a href="ch11.html#sec.buildfont" + title="Running MetaFont">the section called “Running + MetaFont”</a>” later in this chapter.</p> + + <p>Please read the section called “<a + href="ch03.html#sec.runtex.cmdcautions" + title="Command-line Options">the section called + “Command-line Options”</a>” in + Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>, + <span class="emphasis"><em><a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a></em></span>, + for a detailed description of some common problems with + MetaFont commands on the command line. They are exactly the + same problems that can occur on the TeX command line.</p> + + <p>Also, the behavior of MetaFont when run without any + options at all is the same as the behavior of TeX as + described in the section called “<a + href="ch03.html#sec.runtex.texwoopts" + title="Filenames and TeX">the section called + “Filenames and TeX”</a>” in + Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2918545" + name="id2918545"></a>Building a Base File</h2> + </div> + </div> + + <p>Building a base file<a id="id2918553" class="indexterm" + name="id2918553"></a> for MetaFont is exactly analogous to + building a format file for TeX. Fortunately, there are far + fewer base files. The two most common base files are the + <span class="emphasis"><em>plain</em></span> <a + id="id2918571" class="indexterm" name="id2918571"></a> base + and the <span class="emphasis"><em>cmbase</em></span><a + id="id2918583" class="indexterm" name="id2918583"></a> (the + base used for the Computer Modern fonts). Use the \iniMF + program<a id="id2918593" class="indexterm" + name="id2918593"></a> to build a base file. For example, to + build the plain base, use:</p> +<pre class="screen"> +\$ <span class="bold"><b>inimf plain</b></span> +</pre> + + <p>Move the resulting files, <tt>plain.base</tt><a + id="id2918627" class="indexterm" name="id2918627"></a> and + <tt>plain.log</tt><a id="id2918646" class="indexterm" + name="id2918646"></a>, into the directory where MetaFont + looks for base files (typically in a <tt>bases</tt> or + <tt>formats</tt> subdirectory under the standard TeX + directory).</p> + + <p>The <span class="emphasis"><em>cmbase</em></span> is + actually an extension of the plain base. To build it, use + the command:</p> +<pre class="screen"> +\$ <span class="bold"><b>inimf &plain cmbase</b></span> +</pre> + + <p>Remember to use appropriate quotation or shell escape + characters to prevent the ampersand from being + misinterpreted.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.buildfont" name="sec.buildfont"></a>Running + MetaFont</h2> + </div> + </div> + + <p><a id="id2918724" class="indexterm" + name="id2918724"></a><a id="id2918736" class="indexterm" + name="id2918736"></a>The sections that follow describe how + to use MetaFont to make a font from an existing <tt>MF</tt> + file. You should reread the sections “<a + href="ch05.html#sec.issueofsize" + title="What TeX Needs To Know">the section called + “What TeX Needs To Know”</a>” from + Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>, + and “<a href="ch08.html#sec.bitfonts" + title="Built-in Fonts">the section called “Built-in + Fonts”</a>” from Chapter <a + href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a>, + <span class="emphasis"><em><a href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a></em></span>, + if you are unfamiliar with the notions of bitmap and device + resolution and magnification and design size in TeX + fonts.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2918826" + name="id2918826"></a>Picking a Mode</h3> + </div> + </div> + + <p>The input to MetaFont<a id="id2918833" + class="indexterm" name="id2918833"></a> is an + “outline” description of a font. The output + is a set of bitmaps that realize the outline on a + particular device at a particular size.</p> + + <p>Output from MetaFont is naturally device-dependent + because different printers have different resolutions. + But even two printers with the same resolution sometimes + produce different looking results from the same bit + patterns. For example, some laser printers are + “write white” printers, and some are + “write black” printers---depending on whether + the printer fills in the black (text) areas or the white + (non-text) areas of the page. A small, intricate bitmap + (like a character from a font) designed for a write-black + printer may not look as good on a write-white printer and + vice versa.</p> + + <p>There are several internal parameters that can be + modified to produce optimal output on any given device. + These parameters are grouped together in a <span + class="emphasis"><em>mode</em></span>. Whenever you run + MetaFont to create a new set of bitmaps, you must select + a mode.</p> + + <p>There are no rules for determining what parameters + produce the best mode for a particular printer; it's just + done by trial and error (set some values, print a font, + see if it looks good, adjust some values, print another + font, etc.).</p> + + <p>Luckily, a large collection of predefined MetaFont + modes is available in the CTAN archives. The file + <tt>fonts/modes/modes.mf</tt> contains appropriate + MetaFont modes for many printers.</p> + + <p>Each mode has a name<a id="id2918916" + class="indexterm" name="id2918916"></a>. For example, + <tt>laserwriter</tt> and <tt>LNOthree</tt> are two modes + from <tt>modes.mf</tt>. See “<a + href="ch11.html#sec.buildfont" + title="Running MetaFont">the section called + “Running MetaFont”</a>,” later in this + chapter for how to select a mode when you run + MetaFont.</p> + + <p>Internally, MetaFont has a variable called + <tt>mode</tt> that it uses to keep track of the current + mode. The examples in this chapter use the + <tt>laserwriter</tt> mode because that is appropriate for + my printer.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2918994" + name="id2918994"></a>Proofing mode</h4> + </div> + </div> + + <p>Proofing mode<a id="id2919003" class="indexterm" + name="id2919003"></a> is the mode that MetaFont uses if + you do not select another mode. In proofing mode, + MetaFont displays each character on the screen. This + mode does not usually produce a useful font because it + sets the device resolution to 2601.72 dots per inch + (dpi). That resolution is chosen so that there are + exactly 36 pixels per point (one point is 1/72.27 + inches in TeX).</p> + + <p>Because font designers are going to want to look at + a font on the screen far more often than they will want + to print it, MetaFont uses proofing mode as the + default.</p> + + <p>If you find that MetaFont is producing fonts with + huge resolutions (thousands of dots per inch) or fonts + without <tt>TFM</tt> files, you're probably running in + proofing mode. Remember to use the mode-setting + commands on the command line when you run MetaFont. + These commands are described in “<a + href="ch11.html#sec.buildfont" + title="Running MetaFont">the section called + “Running MetaFont”</a>,” later in + this chapter.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2919066" + name="id2919066"></a>Selecting a Size</h3> + </div> + </div> + + <p>The design size<a id="id2919075" class="indexterm" + name="id2919075"></a> of the font you are creating is + determined by the <tt>MF</tt> file you use. For example, + the design size of <tt>cmr10.mf</tt> is 10pt. The design + size of <tt>cmr12.mf</tt> is 12pt, etc. To select how + large you want the bitmaps to be, you must set the + magnification. There is no other way to select the size + when you are running MetaFont.</p> + + <p>If you know the design size of a font and the size of + the bitmaps that you actually want to produce, it is easy + to calculate the magnification required. The + magnification is simply the ratio of the size you want to + the design size.</p> + + <p>For example, suppose you need a 16pt version of + Computer Modern Roman. First, pick the font that has a + design size closest to the size you want---in this case, + Computer Modern Roman 17pt (<tt>cmr17.mf</tt>). To + calculate the magnification, simply divide 16 by 17; in + other words, the desired magnification is 0.9412. To make + a 13pt version of <tt>cmr12</tt>, use a magnification of + 1.0833. Remember, in order to use these fonts in TeX, you + will have to use the <tt>at</tt> or <tt>scaled</tt> + operators (for example, <tt>\font\cmrxvi=cmr17 at + 16pt</tt>).</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2919175" + name="id2919175"></a>Making a GF Font</h3> + </div> + </div> + + <p><a id="id2919183" class="indexterm" + name="id2919183"></a><a id="id2919196" class="indexterm" + name="id2919196"></a><a id="id2919208" class="indexterm" + name="id2919208"></a>After you have selected a mode and a + magnification, running MetaFont is easy. In general, you + use a command line like the following:</p> +<pre class="screen"> +\$ <span class="bold"><b>mf {\bs}mode=</b></span><span +class="emphasis"><em>selected-mode</em></span><span +class="bold"><b>; mag=</b></span><span +class="emphasis"><em>desired-magnification</em></span><span +class="bold"><b>; {\bs}input</b></span> <span +class="emphasis"><em>mf-file</em></span> +</pre> + + <p>For example, on a unix system, the following command + line would make a GF file for the Computer Modern Roman + 12pt font at a size of 13pt:</p> +<pre class="screen"> +\$ <span +class="bold"><b>mf '{\bs}mode=laserwriter; mag=1.0833; {\bs}input cmr12'</b></span> +</pre> + + <p>Note the use of quotation marks to avoid + shell-expansion of the backslash characters.</p> + + <p>On an MS-DOS or OS/2 system, where the backslash is + not a special character, the 13pt version of + <tt>cmr12</tt> is made with the following command:</p> +<pre class="screen"> +\$ <span +class="bold"><b>mf {\bs}mode=laserwriter; mag=1.0833; {\bs}input cmr12</b></span> +</pre> + + <p>As you can see, the semicolons are <span + class="emphasis"><em>required</em></span> in both + cases.</p> + + <p>Magnification<a id="id2919326" class="indexterm" + name="id2919326"></a> can be expressed with the + <tt>magstep()</tt> function if the font is being built at + a standard magstep size. For example, the following + command builds a 14.44pt version of <tt>cmr12</tt>:</p> +<pre class="screen"> + \$ <span +class="bold"><b>mf {\bs}mode=hplaser; mag=magstep(1); {\bs}input cmr12</b></span> +</pre> + + <p>This corresponds to \magstep1. This example also + illustrates how a different mode can be selected. In this + case, the font is being built for an HP LaserJet printer. + The command is shown without quotations, but they are + still necessary on unix systems.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2919378" + name="id2919378"></a>Making a PK Font</h3> + </div> + </div> + + <p><a id="id2919390" class="indexterm" + name="id2919390"></a><a id="id2919415" class="indexterm" + name="id2919415"></a><a id="id2919427" class="indexterm" + name="id2919427"></a>Running MetaFont, as shown above, + produces a <tt>TFM</tt> file and a <tt>GF</tt> file. TeX + only needs the <tt>TFM</tt> file, which can simply be + copied to the appropriate directory. For the Computer + Modern fonts, you probably already have copies of the + <tt>TFM</tt> files, so the duplicates produced by + MetaFont can be deleted. The <tt>TFM</tt> file does not + change at different magnifications, so you do not need to + save different <tt>TFM</tt> files for different + sizes.</p> + + <p>The <tt>GF</tt> file contains a font in the + “generic bitmap” format. Most DVI drivers use + <tt>PK</tt> files. The <b>GFtoPK</b> program converts + <tt>GF</tt> fonts into <tt>PK</tt> fonts. If MetaFont + creates the file <tt>cmr12.gf</tt>, you can convert it + into a <tt>PK</tt> file by issuing the command:</p> +<pre class="screen"> + \$ <span class="bold"><b>gftopk cmr12.gf cmr12.pk</b></span> +</pre> + + <p>After conversion, you should move the <tt>PK</tt> file + to the appropriate directory for your DVI driver and + delete the <tt>GF</tt> file. <tt>PK</tt> files are + generally stored in one of two directory structures. On + operating systems that support long filenames, it is most + common to store all the <tt>PK</tt> files for a given + font in the same directory, using the extension to + identify the resolution. In this case, a 360dpi version + of <tt>cmr10</tt> would be stored as + <tt>cmr10.360pk</tt>. Under operating systems like + MS-DOS, which do not support long filenames, different + resolutions are stored in their own directories. In this + case the 360dpi font just described would be stored as + <tt>cmr10.pk</tt> in a directory called <tt>360dpi</tt> + or <tt>dpi360</tt>.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2919679" + name="id2919679"></a>What About Errors?</h2> + </div> + </div> + + <p>Because I'm operating under the assumption that you are + not writing your own MetaFont programs, errors<a + id="id2919688" class="indexterm" name="id2919688"></a> are + far less likely. Nevertheless, there are a few things that + can go wrong.</p> + + <p>Figure <a href="ch11.html#fig.eight" + title="Figure 11.1. A figure eight created with MetaFont"> + Figure 11.1</a> shows a simple figure eight created + with MetaFont. The code which creates this symbol is shown + in Example <a href="ch11.html#ex.eightcode" + title="Example 11.1. The Code for the Figure Eight"> + Example 11.1</a>.</p> + + <div class="figure"> + <a id="fig.eight" name="fig.eight"></a> + + <p class="title"><b>Figure 11.1. A figure eight + created with MetaFont</b></p> +<pre class="screen"> +8 +</pre> + </div> + + <div class="example"> + <a id="ex.eightcode" name="ex.eightcode"></a> + + <p class="title"><b>Example 11.1. The Code for + the Figure Eight</b></p> +<pre class="screen"> +mode_setup; +u# := 2mm#; +define_pixels(u); + +beginchar("A", 8u#, 9u#, 5u#); + z1 = ( 0u, 0u); + z2 = ( 8u, 0u); + z3 = ( 1u, 8u); + z4 = ( 7u, 8u); + pickup pencircle scaled 1u#; + draw z4 .. z1 .. z2 .. z3 .. cycle; + pickup pencircle scaled 3u#; + drawdot z1; + drawdot z2; + drawdot z3; + drawdot z4; +endchar; + +\end +</pre> + </div> + + <p>Let's look at some of the things that can go wrong. In + the following examples, a unix implementation of MetaFont + is being used. Quotation marks are used to prevent + misinterpretation of the backslashes.</p> + + <div class="variablelist"> + <dl> + <dt><span class="term"><tt>! I can't find file + `mode=laserwriter.mf'.</tt></span></dt> + + <dd> + <p>If you forget to put a backslash in front of the + <tt>mode</tt> parameter, MetaFont thinks that mode + specification is the name of the <tt>MF</tt> file. + For example, <tt>mode=laserwriter</tt> is + misinterpreted as the filename:</p> +<pre class="screen"> +$ mf 'mode=laserwriter; \input eight' +This is METAFONT, Version 2.71 (C version 6.1) +! I can't find file `mode=laserwriter.mf'. +<*> mode=laserwriter + ; \input eight +Please type another input file name: +</pre> + </dd> + + <dt><span class="term"><tt>! Value is too large + (xxxx).</tt></span></dt> + + <dd> + <p>This error occurs if some element of the image + goes outside of the bounds allowed by MetaFont. + Frequently, this occurs in proofing mode when the + image is so large that it can't be rendered.<sup>[<a + id="id2919870" name="id2919870" + href="#ftn.id2919870">112</a>]</sup> In this example, + MetaFont is in proofing mode because I forgot the + \mode=laserwriter parameter on the command line:</p> +<pre class="screen"> +$ mf '\input eight' +This is METAFONT, Version 2.71 (C version 6.1) +(eight.mf +! Value is too large (4097). +<recently read> ; + +beginchar->...rdp:=(EXPR3);w:=hround(charwd*hppp); + h:=vround(charht*hppp); +l.5 beginchar("A", 8u#, 9u#, 5u#) + ; +? +</pre> + + <p>This doesn't mean that MetaFont can't render very + large images; it just means that my design isn't + robust enough to handle an extremely high + resolution.</p> + </dd> + + <dt><span class="term"><tt>! Curve out of + range.</tt></span></dt> + + <dd> + <p>This error is also caused by an image that is too + large to be rendered.<sup>[<a id="id2919932" + name="id2919932" href="#ftn.id2919932">113</a>]</sup> + Again, MetaFont is trying to create the image at an + extremely high resolution; it is in proofing mode + because I forgot the \mode=laserwriter parameter on + the command line:</p> +<pre class="screen"> +$ mf '\input eight' +This is METAFONT, Version 2.71 (C version 6.1) +(eight.mf +! Curve out of range. +<to be read again> + ; +l.11 draw z4 .. z1 .. z2 .. z3 .. cycle; + +? +</pre> + </dd> + + <dt><span class="term"><tt>unknown + string</tt></span></dt> + + <dd> + <p>This is what happens if you forget the semicolon + after the \mode parameter. In this example, MetaFont + thinks that “<tt>laserwriter \input + eight</tt>” is the mode, which doesn't make + sense:</p> +<pre class="screen"> +$ mf '\mode=laserwriter \input eight' +This is METAFONT, Version 2.71 (C version 6.1) +(eight.mf +>> unknown string mode_name0 +! Not a string. +<to be read again> + ; +mode_setup->...nput "&mode)else:mode_name[mode]fi; + if.unknown.mag:... +l.1 mode_setup + ; +? +</pre> + </dd> + + <dt><span class="term"><tt>! Extra tokens will be + flushed.</tt></span></dt> + + <dd> + <p>Oops, another missing semicolon:</p> +<pre class="screen"> +$ mf '\mode=laserwriter; mag=magstep(1) \input eight' +This is METAFONT, Version 2.71 (C version 6.1) +(eight.mf +! Extra tokens will be flushed. +<to be read again> + warningcheck +mode_setup->warningcheck + :=0;if.unknown.mode:mode=proof;fi... +l.1 mode_setup +? +</pre> + </dd> + + <dt><span class="term">Nothing + happens…</span></dt> + + <dd> + <p>MetaFont is sitting at the asterisk prompt waiting + for you to do something. You forgot to \input the + font:</p> +<pre class="screen"> +$ mf '\mode=laserwriter; eight' +This is METAFONT, Version 2.71 (C version 6.1) + +* +</pre> + </dd> + + <dt><span class="term"><tt>Output written on + eight.nnngf…</tt></span></dt> + + <dd> + <p>Success! A 300dpi version of <tt>eight.mf</tt> has + been created and stored in the file + <tt>eight.300gf</tt>:</p> +<pre class="screen"> +$ mf '\mode=laserwriter; \input eight' +This is METAFONT, Version 2.71 (C version 6.1) +(eight.mf [65] ) +Font metrics written on eight.tfm. +Output written on eight.300gf (1 character, 1964 bytes). +Transcript written on eight.log. +</pre> + + <p>On systems that place restrictions on the length + of a filename extension, it is abbreviated to + <tt>eight.300</tt>. The next step is to run <span + class="emphasis"><em>gftopk eight.300gf</em></span>. + This will produce <tt>eight.300pk</tt>, which our DVI + driver can use.</p> + </dd> + </dl> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2920144" + name="id2920144"></a>Other Errors</h3> + </div> + </div> + + <p>The list of errors in the preceding sections is hardly + exhaustive. For example, the gothic fonts (see + Appendix <a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a>, + <span class="emphasis"><em><a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a></em></span>) + produce two more errors when rendered at low resolutions: + <span class="emphasis"><em>! inconsistent + equation</em></span>, caused by apparently contradictory + statements (probably due to rounding errors) and <span + class="emphasis"><em>{! strange path}</em></span>, caused + by a path that does not appear to run counter-clockwise + (again probably caused by rounding errors, these are very + complex fonts).<sup>[<a id="id2920188" name="id2920188" + href="#ftn.id2920188">114</a>]</sup></p> + + <p>Most of the other errors that are encountered can be + ignored (the preceding examples from the gothic fonts can + certainly be ignored---at least at 300dpi). Entering + <b>H</b> at MetaFont's question mark prompt will describe + the cause of the error in more detail.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2920215" + name="id2920215"></a>Output at Very High + Resolutions</h2> + </div> + </div> + + <p>Producing MetaFont output for very high resolution <a + id="id2920224" class="indexterm" name="id2920224"></a> + devices like phototypesetters is sometimes difficult. This + will frequently require a big MetaFont for the same reasons + that processing a large document requires a big TeX.</p> + + <p>It is possible to construct examples that cannot be + rendered at very high resolutions because they are simply + too large and complex.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2920252" + name="id2920252"></a>Output at Very Low + Resolutions</h2> + </div> + </div> + + <p><a id="id2920260" class="indexterm" + name="id2920260"></a>The intricate detail of many + characters is difficult to render at very low resolutions. + Yet, it is sometimes desirable to produce output at low + resolutions for on-screen previewers and dot matrix + printers.</p> + + <p>Usually, errors like “<tt>strange turning + path</tt>” that result from attempting to produce + output at low resolutions can be ignored, but sometimes the + resulting characters will be distorted.</p> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2919870" name="ftn.id2919870" + href="#id2919870">112</a>]</sup> {Obtaining this error + from <tt>eight.mf</tt> required changing unit size from + 2mm to 5mm.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2919932" name="ftn.id2919932" + href="#id2919932">113</a>]</sup> {Obtaining this error + from <tt>eight.mf</tt> required changing unit size from + 2mm to 4mm.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2920188" name="ftn.id2920188" + href="#id2920188">114</a>]</sup> {There are very specific + rules about which way paths must be drawn so that + MetaFont's algorithms for filling in the character's + outline can succeed.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 10. Online Documentation" + href="ch10.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 12. Bibliographies, Indexes, and Glossaries" + href="ch12.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Chapter 10. Online + Documentation </td> + + <td width="20%" align="center"><a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 12. Bibliographies, Indexes, and + Glossaries</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch12.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch12.html new file mode 100644 index 00000000000..99e5fde712f --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch12.html @@ -0,0 +1,1542 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 12. Bibliographies, Indexes, and + Glossaries</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt02.html" + title="Part II. Elements of a Complex Document" /> + <link rel="previous" href="ch11.html" + title="Chapter 11. Introducing MetaFont" /> + <link rel="next" href="pt03.html" + title="Part III. A Tools Overview" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 11. Introducing MetaFont" + href="ch11.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.bibtex" + name="chap.bibtex"></a>Chapter 12. Bibliographies, + Indexes, and Glossaries</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>Bibliographies<a id="id2917618" class="indexterm" + name="id2917618"></a><a id="id2917626" class="indexterm" + name="id2917626"></a> and indexes<a id="id2917640" + class="indexterm" name="id2917640"></a><a id="id2917647" + class="indexterm" name="id2917647"></a> are typically + difficult to incorporate into a document. Bibliographies have + stringent, but varying, presentation requirements (the MLA + wants bibliographies to look one way, the Association of + Computing Machinery wants them another, etc.). Indexes don't + vary that much, but they are tedious to put together.</p> + + <p>BibTeX provides a powerful mechanism for handling + bibliographies and citations. <b>Tib</b> is another + bibliography package for TeX. The <b>MakeIndex</b> program + helps manage the construction of one or more indexes for a + document. Glossaries are also constructed with the + <b>MakeIndex</b> program<a id="id2917542" class="indexterm" + name="id2917542"></a><a id="id2917549" class="indexterm" + name="id2917549"></a>.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.indexeslooklike" + name="sec.indexeslooklike"></a>BibTeX</h2> + </div> + </div> + + <p><a id="id2917577" class="indexterm" + name="id2917577"></a>What's wrong with doing bibliographies + by hand? Two things. First, it is tedious to typeset each + bibliography entry according to the strict requirements of + the publisher. Chances are, you'll have to look up the + requirements each time, and you're bound to make mistakes. + Second, no matter what field you work in, it's likely that + you'll cite some of the same articles and books in more + than one publication. Computers are supposed to reduce + effort, not replicate it.</p> + + <p>BibTeX provides a powerful mechanism for dealing with + bibliographies in a mechanical way, considerably reducing + effort on your part. Rather than formatting each + bibliography entry, you build a database of bibliography + information<a id="id2920467" class="indexterm" + name="id2920467"></a>. Each time you want to make a + citation, you simply use BibTeX to build the bibliography + from your database into your document. That's easy to do, + as you'll see in a few minutes.</p> + + <p>The idea of a bibliography database is introduced in + Appendix B of <span class="emphasis"><em>LaTeX: A + Document Preparation System</em></span> [<a + href="bi01.html#ll:latexbook">ll:latexbook</a>] and is + described in more detail in <span + class="emphasis"><em>\BibTeX{}ing</em></span> [<a + href="bi01.html#op:btxdoc">op:btxdoc</a>] and <span + class="emphasis"><em>Designing BibTeX + Styles</em></span> [<a + href="bi01.html#op:btxhak">op:btxhak</a>]. The purpose of + this chapter is to familiarize you with the concepts of a + bibliography database and to describe many of the freely + available tools for manipulating databases. It is not + intended to replace any of the preceding documents.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2920526" + name="id2920526"></a>How BibTeX Works</h3> + </div> + </div> + + <p>The LaTeX command \cite inserts citations<a + id="id2920539" class="indexterm" name="id2920539"></a> + into your document.<sup>[<a id="id2920553" + name="id2920553" href="#ftn.id2920553">115</a>]</sup> You + use a short <span class="emphasis"><em>key</em></span><a + id="id2920570" class="indexterm" name="id2920570"></a> to + identify the publication you cite. For example, in this + book, when I want to cite <span class="emphasis"><em>The + TeXbook</em></span> [<a + href="bi01.html#kn:texbook">kn:texbook</a>], I use the + command <tt>FIXME:</tt>. The string <tt>kn:texbook</tt> + is the key. When you build your bibliography database, + you assign a key to each document in the database.</p> + + <p>When LaTeX processes your document, it stores + information about the documents that you cite (including + the key for each document) in the <tt>AUX</tt> file<a + id="id2920623" class="indexterm" name="id2920623"></a>. + The following commands identify how the bibliography + should be formatted and what bibliography databases + contain the publications you cite. LaTeX also writes this + information to the <tt>AUX</tt> file:</p> +<pre class="screen"> +\bibliographystyle{abbrv} +\bibliography{texpubs} +</pre> + + <p>BibTeX examines the <tt>AUX</tt> file and extracts the + appropriate entries from the bibliography database. It + then formats those entries according to the <span + class="emphasis"><em>bibliography style</em></span> that + you specify. The bibliography style (stored in a plain + text file with the extension <tt>BST</tt>)<a + id="id2920687" class="indexterm" name="id2920687"></a> + tells BibTeX exactly how each entry should be formatted. + After formatting the entries, BibTeX writes a + <tt>BBL</tt> file<a id="id2920710" class="indexterm" + name="id2920710"></a> that LaTeX incorporates into your + document (at the place where the \bibliography command + occurs) the next time you process it.</p> + + <p>Sometimes it seems confusing to use LaTeX to create a + bibliography. If LaTeX keeps warning you about + “unknown citations” for documents that you + <span class="emphasis"><em>know</em></span> are in the + database, try the following: run LaTeX, then BibTeX, then + LaTeX, and then LaTeX again.</p> + + <p>The first time you run LaTeX, it writes the citation + keys to the <tt>AUX</tt> file (but it doesn't know what + publications they refer to). BibTeX writes the + <tt>BBL</tt> file, which includes the printable, + formatted bibliography and information about what + publication corresponds to each citation. The second time + you run LaTeX, it still doesn't know what publication + each citation refers to because it hasn't seen the + <tt>BBL</tt> file yet (bibliographies are usually at the + end of a document). During the second pass, LaTeX writes + the citation referents to the <tt>AUX</tt> file. Finally, + on the third LaTeX pass, it knows what each citation + refers to, so it can typeset the citations as well as the + bibliography!</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2920800" + name="id2920800"></a>Building a Bibliography + Database</h3> + </div> + </div> + + <p>A bibliography database<a id="id2920809" + class="indexterm" name="id2920809"></a><a id="id2920817" + class="indexterm" name="id2920817"></a> is a plain text + file that contains information about a collection of + publications. Bibliography databases generally have the + extension <tt>.bib</tt>. Example <a + href="ch12.html#ex.bib.bibexample" + title="Example 12.1. A Sample BibTeX entry">Example 12.1</a> + is an example of a single database entry. This entry is + from a database of TeX-related publications that I put + together while writing this book.</p> + + <div class="example"> + <a id="ex.bib.bibexample" name="ex.bib.bibexample"></a> + + <p class="title"><b>Example 12.1. A Sample + BibTeX entry</b></p> +<pre class="screen"> +@book{kn:texbook, + author = "Donald E. Knuth", + title = "The {TeX}book", + publisher = "Addison-Wesley", + year = 1989, + edition = "Fifteenth", +} +</pre> + </div> + + <p>The entry in Example <a + href="ch12.html#ex.bib.bibexample" + title="Example 12.1. A Sample BibTeX entry">Example 12.1</a> + describes <span class="emphasis"><em>The + {TeX}book</em></span> by Donald Knuth<a id="id2920892" + class="indexterm" name="id2920892"></a>. The key for this + entry is <tt>kn:texbook</tt>.</p> + + <div class="note" + style="margin-left: 0.5in; margin-right: 0.5in;"> + <h3 class="title">Note</h3> + + <p>All of the keys in a BibTeX database must be unique. + If you use multiple databases for a single document, + all of the keys in all of the databases must be + unique.</p> + </div> + + <p>In database jargon, the bibliography database contains + a collection of records describing publications. There + may be several types of records in the same database. + Each record contains several fields, some of which are + required and some optional. The required fields vary + according to the type of record.</p> + + <p>In English, this means that each entry in the database + describes a specific type of publication (book, article, + technical report, etc.). Every publication is described + by its characteristics. For example, books have a title, + an author or editor, a publisher, and a year of + publication. Some books also have a publisher's address, + a volume or number, a series, edition, or month of + publication (or some combination of these elements). + These characteristics are called <span + class="emphasis"><em>fields</em></span>, and they are + identified by their name.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2920948" + name="id2920948"></a>Database entries</h4> + </div> + </div> + + <p>This is the general structure<a id="id2920957" + class="indexterm" name="id2920957"></a><a + id="id2920968" class="indexterm" name="id2920968"></a> + of an entry in a bibliography database:</p> +<pre class="screen"> +<tt>@</tt><span +class="emphasis"><em>type</em></span><tt>{</tt><span +class="emphasis"><em>key</em></span>, + <span class="emphasis"><em>field1</em></span> = "<span +class="emphasis"><em>value1</em></span>", + <span class="emphasis"><em>field2</em></span> = "<span +class="emphasis"><em>value2</em></span>", + . . . + <span class="emphasis"><em>fieldn</em></span> = "<span +class="emphasis"><em>valuen</em></span>" +<tt>}</tt> +</pre> + + <p>Always enter complete bibliography information in + mixed case. Never abbreviate or set field values in all + upper or all lowercase, even if the bibliography style + that you most frequently use specifies, for example, + that book titles appear in uppercase or that only the + author's first initial should appear. BibTeX will take + care of formatting the entry according to the style. If + you store incomplete information in the database, + BibTeX can't work correctly if you change styles.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2921042" + name="id2921042"></a>Entry types</h4> + </div> + </div> + + <p>Table <a href="ch12.html#tab.bib.entries" + title="Table 12.1. Types of Entries with Required and Optional Fields"> + Table 12.1</a> shows the required and optional + fields for article and book entries. Similar lists + exist for the other standard entry types: booklet, + conference, inbook, incollection, inproceedings, + manual, mastersthesis, phdthesis, proceedings, + techreport, unpublished, and a catch-all miscellaneous + type.</p> + + <div class="table"> + <a id="tab.bib.entries" name="tab.bib.entries"></a> + + <p class="title"><b>Table 12.1. Types of + Entries with Required and Optional Fields</b></p> + + <table + summary="Types of Entries with Required and Optional Fields" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Type</th> + + <th align="left">\bf Required Fields</th> + + <th align="left">\bf Optional Fields</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">article</td> + + <td align="left">author</td> + + <td align="left">month</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left">journal</td> + + <td align="left">number</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left">title</td> + + <td align="left">pages</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left">year</td> + + <td align="left">volume</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left"> </td> + + <td align="left">note</td> + </tr> + + <tr> + <td align="left">book</td> + + <td align="left">author or editor</td> + + <td align="left">address</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left">publisher</td> + + <td align="left">edition</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left">title</td> + + <td align="left">month</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left">year</td> + + <td align="left">volume or number</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left"> </td> + + <td align="left">series</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left"> </td> + + <td align="left">note</td> + </tr> + </tbody> + </table> + </div> + + <p>Fields that are neither required nor optional are + ignored. Therefore, you can and should associate + arbitrary information about a publication in its entry. + Abstracts and keywords, for example, are two additional + pieces of information that you might keep for some + publications. They can be stored in <tt>abstract</tt> + and <tt>keyword</tt> fields in each entry, even though + it is unlikely that they will ever occur in a + bibliography.</p> + + <div class="note" + style="margin-left: 0.5in; margin-right: 0.5in;"> + <h3 class="title">Note</h3> + + <p>The types of records that are valid, and the + required and optional fields they contain are + determined solely by the bibliography style. There is + nothing in the BibTeX program that makes <span + class="emphasis"><em>book</em></span> and <span + class="emphasis"><em>article</em></span> entries more + legitimate than <span + class="emphasis"><em>reptile</em></span> or <span + class="emphasis"><em>cartoon</em></span> entries.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2921363" + name="id2921363"></a>Abbreviations</h4> + </div> + </div> + + <p><a id="id2921371" class="indexterm" + name="id2921371"></a>The database entry structure that + I've shown isn't entirely accurate. In my example, + every field has a quoted string value. The truth is, + every value is either a quoted string or an + abbreviation or a number. An abbreviation is created + with the <tt>@string</tt> command. Typically, + <tt>@string</tt> commands are placed at the top of the + bibliography database. For example, the following + command defines <tt>ora</tt> to be an abbreviation for + O'Reilly & Associates.</p> +<pre class="screen"> +<tt>@string{ora = "O'Reilly & Associates, Inc."}</tt> +</pre> + + <p>The months of the year should always be specified + with abbreviations so that bibliography styles can + redefine how they appear in the bibliography (for this + reason, three-letter abbreviations for the months are + defined in the standard styles---you don't have to + define them yourself). The names of journals that you + cite frequently are also obvious candidates for + abbreviation.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2921436" + name="id2921436"></a>Preamble</h4> + </div> + </div> + + <p><a id="id2921443" class="indexterm" + name="id2921443"></a>Sometimes it is helpful to define + TeX control sequences in a bibliography database. + BibTeX provides a <tt>@preamble</tt> entry for this + purpose.</p> + + <p>Consider the following example, paraphrased from + <span + class="emphasis"><em>\BibTeX{}ing</em></span> [<a + href="bi01.html#op:btxdoc">op:btxdoc</a>]: You have a + database which contains entries for each volume of a + two-volume set by the same author. It happens that + Volume One has been reprinted, so it has a more recent + date than Volume Two. The standard styles sort by + author and then date, so as it stands, the bibliography + would list Volume Two before Volume One.</p> + + <p>To correct this problem, you could specify the dates + for Volume One as:</p> +<pre class="screen"> +year = "{\noopsort{1990a}}1992" +</pre> + + <p>and for Volume Two:</p> +<pre class="screen"> +year = "{\noopsort{1990b}}1990" +</pre> + + <p>BibTeX will sort “1990a” before + “1990b,” so they will appear in the correct + order, and the following definition for \noopsort will + simply discard its argument, so nothing extra will + appear in the bibliography:<sup>[<a id="id2921530" + name="id2921530" + href="#ftn.id2921530">116</a>]</sup></p> +<pre class="screen"> +\def\noopsort#1{} +</pre> + + <p>The best place to put this definition is in the + database that uses it (so that it will always be + present when that database is used). The + <tt>@preamble</tt> command simply copies its argument + to the top of the <tt>BBL</tt> file, so this definition + at the top of the database will do exactly what we + want:</p> +<pre class="screen"> +@preamble{"\def\noopsort#1{}"} +</pre> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2921587" + name="id2921587"></a>Comments</h4> + </div> + </div> + + <p><a id="id2921594" class="indexterm" + name="id2921594"></a>Anything that does not appear + inside a <tt>@</tt><span + class="emphasis"><em><tt>type</tt></em></span><tt>{}</tt> + command is a comment. However, many programs that + manipulate bibliography databases will misplace + comments appearing before or after an entry if the + entries are reordered.</p> + + <p>BibTeX includes a <tt>@comment</tt> entry for + backwards compatibility with older systems. Unlike TeX, + the percent sign (\%) is <span + class="emphasis"><em>not</em></span> a comment + character in BibTeX.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2921649" + name="id2921649"></a>Special characters</h4> + </div> + </div> + + <p>Inserting TeX control sequences<a id="id2921657" + class="indexterm" name="id2921657"></a><a + id="id2921671" class="indexterm" + name="id2921671"></a><a id="id2921681" + class="indexterm" name="id2921681"></a> (to form + accented characters, for example) into a bibliography + entry requires special care. Some styles specify that + entries should be shifted to upper or lowercase, and + shifting the case control sequence names would make + them different.</p> + + <p>BibTeX is aware of the case sensitivity of TeX + control sequence names and will not change them. To + specify accents or other special characters, always + enclose them in <tt>{</tt> and <tt>}</tt> braces. The + same treatment should be given to portions of an + author's name that should remain in lowercase even if + the rest of the name is shifted to uppercase.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2921724" + name="id2921724"></a>Bibliography Styles</h3> + </div> + </div> + + <p>BibTeX styles<a id="id2921733" class="indexterm" + name="id2921733"></a> are really programs written in a + simple but powerful stack-based language and interpreted + by BibTeX.<sup>[<a id="id2921744" name="id2921744" + href="#ftn.id2921744">117</a>]</sup> Don't confuse + bibliography styles (<tt>BST</tt> files)<a id="id2921775" + class="indexterm" name="id2921775"></a> with LaTeX styles + (<tt>STY</tt> files<a id="id2921796" class="indexterm" + name="id2921796"></a>); they are unrelated. Although a + complete description of the BibTeX language is not + presented here, a short example will help give you a + sense of the language.</p> + + <p>Each <tt>BST</tt> file defines a number of functions. + The highest level functions determine how each entry is + formatted: when BibTeX needs to format a + “book” entry, it executes the <tt>book</tt> + function, which must be defined by the <tt>BST</tt> file + in use or an error will result.</p> + + <p>Let's consider part of the task of formatting a book + entry. These code fragments are from the standard + bibliography style <tt>plain.bst</tt>. When the + <tt>book</tt> function is ready to output the book title, + it calls the <tt>format.btitle</tt> function, shown + here:</p> +<pre class="screen"> +FUNCTION {format.btitle} +{ title emphasize +} +</pre> + + <p>This function places the <span + class="emphasis"><em>title</em></span> field on top of + the stack and calls <tt>emphasize</tt>:</p> +<pre class="screen"> +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "<span class="emphasis"><em>" swap$ * "</em></span>" * } + if$ +} +</pre> + + <p>This is what <tt>emphasize</tt> will do when the <span + class="emphasis"><em>title</em></span> is not an empty + field:</p> + + <div class="orderedlist"> + <ol type="1"> + <li> + <p>Duplicate what is on the top of the stack.</p> + </li> + + <li> + <p>Test the value on the top of the stack. The + <tt>empty$</tt> function removes the top value from + the stack and places a boolean “true” + value there if what it removed was an empty field, + and a “false” value otherwise.</p> + </li> + + <li> + <p>Push <tt>{ pop$ "" }</tt> onto the stack.</p> + </li> + + <li> + <p>Push <tt>{ "<emphasis>" swap$ * + "</emphasis>" * }</tt> onto the stack.</p> + </li> + + <li> + <p>Test the condition. The <tt>if$</tt> function + takes three values from the stack: a boolean value, + something to do if that value is true, and + something to do if that value is false. In this + case, the title is not an empty field, so the value + is false. The <tt>{ pop$ "" }</tt> value is + discarded, and <tt>{ "<emphasis>" swap$ * + "</emphasis>" * }</tt> is evaluated.</p> + </li> + + <li> + <p>Push <tt>{\em</tt>  onto the top of the + stack.</p> + </li> + + <li> + <p>Swap the top two items on the stack. Now + \em  is below the book title on the stack.</p> + </li> + + <li> + <p>Concatenate the top two items on the stack. Now + the top of the stack holds the value <tt>\bs + em <i><tt>book title</tt></i></tt>.</p> + </li> + + <li> + <p>Push <tt>}</tt> onto the top of the stack.</p> + </li> + + <li> + <p>Concatenate the top two items on the stack. Now + the top of the stack holds the value + <tt>{\ttopenbrace\bs em <i><tt>{book + title}</tt></i><tt>}</tt>}</tt>.</p> + </li> + </ol> + </div> + + <p>The resulting value left on top of the stack when + <tt>emphasize</tt> is finished is the TeX code required + to print the book title with emphasis.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922142" + name="id2922142"></a>Special-purpose styles</h4> + </div> + </div> + + <p>A number of styles<a id="id2922152" + class="indexterm" name="id2922152"></a> have been + written to allow you to develop special-purpose + bibliographies. A few of them are listed here:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p><tt>bibunits</tt> supports multiple + bibliographies in different sections of a single + document.</p> + </li> + + <li> + <p><tt>chapterbib</tt> supports separate + bibliographies in each chapter of a single + document.</p> + </li> + + <li> + <p><tt>makebst</tt> asks a number of questions + about the bibliography style you need and + constructs an appropriate BibTeX style.</p> + </li> + </ul> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2922224" + name="id2922224"></a>Bibliography Database Tools</h3> + </div> + </div> + + <p><a id="id2922232" class="indexterm" + name="id2922232"></a><a id="id2922242" class="indexterm" + name="id2922242"></a>There are a lot of programs designed + to help you extract information from bibliography + databases, sort the entries, build subset-bibliographies + that contain only some of the entries from a larger + bibliography, and enter or edit information in an + existing or new database. A lot of these programs are + written in unix shell<a id="id2922253" class="indexterm" + name="id2922253"></a> script languages and rely on + existing text-processing tools like <b>awk</b>, + <b>sed</b>, <b>sort</b>, and <b>grep</b>. Of course, many + of these text-processing tools have been ported to other + operating systems. Most of the utilities written in shell + script languages can be modified to work in other + environments by an ambitious individual.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922304" + name="id2922304"></a>bibsort</h4> + </div> + </div> + + <p>The <b>bibsort</b><a id="id2922318" + class="indexterm" name="id2922318"></a> shell script + reorders the entries in a bibliography database into + alphabetical order by entry key name. <tt>@string</tt> + commands are reordered by macro name. This program + cannot deal correctly with comments that appear outside + of an entry. These comments are always associated with + the preceding entry, which is frequently incorrect.</p> + + <p>Consider carefully before you reorder the entries in + a database. BibTeX places some restrictions on the + available orderings. Cross references, for example, + must appear before the entry to which they refer.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922350" + name="id2922350"></a>biblook</h4> + </div> + </div> + + <p><b>biblook</b><a id="id2922362" class="indexterm" + name="id2922362"></a> is an interactive program that + searches rapidly through a bibliography database for + key words in specified fields. Compound conditions + (using “and” and “or”) can be + specified. The entries located by a search can be saved + into a separate file.</p> + + <p>To use <b>biblook</b>, you must preprocess the + database with <b>bibindex</b><a id="id2922400" + class="indexterm" name="id2922400"></a>, which builds a + binary index of the entries. Differences in case are + removed, TeX control sequences are stripped out, and + non-alphanumeric characters are removed. This increases + the likelihood of correct matches.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922415" + name="id2922415"></a>bibclean</h4> + </div> + </div> + + <p><b>bibclean</b><a id="id2922428" class="indexterm" + name="id2922428"></a> is a syntax checker for + bibliography databases. Running <b>bibclean</b> before + using <b>bibsort</b>, <b>biblook</b>, or any other + programs described here can eliminate a lot of the + problems these programs may encounter. Although + bibliography databases are plain text files with a very + loose structure, some tools are more easily confused + than others.</p> + + <p><b>bibclean</b> identifies possible problems in the + database and pretty-prints it in a standard way. The + following formatting changes are made by + <b>bibclean</b>:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>The structure of each database entry is made + consistent with respect to the following + criteria: the “@” sign that begins + the entry type is moved into column 1; each line + in the entry is changed to contain exactly one + “field = value” pair; and the closing + right brace is placed in column 1 on a line of + its own. Additionally, outer parentheses are + converted into braces; tabs are expanded into + blanks; hyphens in a sequence of pages are + converted into en-dashes; and month names are + converted into standard abbreviations.</p> + </li> + + <li> + <p>Long string values are split at a blank and + continued on the following line. The continuation + lines are indented.</p> + </li> + + <li> + <p>Individual names in the author and editor + fields are normalized. A single space is placed + after periods that separate initials, and all + entries are converted into “first-name + middle-name last-name” form (instead of + “last-name, first-name” form, for + example).</p> + </li> + + <li> + <p>The checksums of ISBN and ISSN numbers are + verified.</p> + </li> + + <li> + <p>Uppercase letters that appear outside of + braces are enclosed in braces to prevent them + from being erroneously shifted to lowercase by + some bibliography styles.</p> + </li> + + <li> + <p>Text outside of entries is not changed. + Entries are separated by a single blank line.</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922594" + name="id2922594"></a>citetags</h4> + </div> + </div> + + <p><a id="id2922602" class="indexterm" + name="id2922602"></a>When documents must be transmitted + in “source” form (meaning that the actual + TeX files will be shipped around), it's generally + unnecessary to include entire bibliography databases. + In these cases, it would be more convenient to send + only the bibliography entries that are actually + used.</p> + + <p>The <b>citetags</b> program extracts the citations + from an <tt>AUX</tt> file. This list of citations can + be passed to the <b>citefind</b> program to build a + small bibliography database of just the required + entries.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922652" + name="id2922652"></a>citefind</h4> + </div> + </div> + + <p><b>citefind</b><a id="id2922665" class="indexterm" + name="id2922665"></a> processes a list of citations and + a list of bibliography databases and writes out a new + database containing just the entries required to match + the citations present. This provides a minimal database + that can be shipped with the document if the TeX files + must be processed on another computer.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922681" + name="id2922681"></a>bibextract</h4> + </div> + </div> + <a id="id2922687" class="indexterm" + name="id2922687"></a> + + <p>Given a list of fields and values (specified as + regular expressions), <b>bibextract</b> creates a new + database containing only the entries that match one or + more of the specified values in one or more of the + specified fields. The necessary <tt>@string</tt> and + <tt>@preamble</tt> commands are also included in the + new database.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922726" + name="id2922726"></a>lookbibtex</h4> + </div> + </div> + + <p><b>lookbibtex</b><a id="id2922738" class="indexterm" + name="id2922738"></a> offers the same features as + <b>bibextract</b>. However, <b>lookbibtex</b> is + written in <b>Perl</b> rather than a shell script + language.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922771" + name="id2922771"></a>bibdestringify</h4> + </div> + </div> + + <p>As the name implies, <b>bibdestringify</b><a + id="id2922786" class="indexterm" name="id2922786"></a> + replaces all <tt>@string</tt> macros in a database by + their textual expansions.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922804" + name="id2922804"></a>edb</h4> + </div> + </div> + + <p><b>edb</b><a id="id2922817" class="indexterm" + name="id2922817"></a>, or the “Emacs + Database” is a powerful database programming + system built on top of GNU Emacs Lisp<a id="id2922831" + class="indexterm" name="id2922831"></a>. <b>edb</b> has + been used to write a database-editing mode for BibTeX + databases. It can be extended to handle new entry + types.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922854" + name="id2922854"></a>Emacs BibTeX mode</h4> + </div> + </div> + + <p>BibTeX mode<a id="id2922863" class="indexterm" + name="id2922863"></a><a id="id2922876" + class="indexterm" name="id2922876"></a> is a mode for + editing BibTeX databases in emacs. It provides some + template expansion and alignment features, but is + essentially a text-editing mode (as opposed to + <b>edb</b>, which is specifically a database-entry + editor).</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922902" + name="id2922902"></a>bibview</h4> + </div> + </div> + + <p><b>bibview</b><a id="id2922915" class="indexterm" + name="id2922915"></a> is an X Window-based program for + editing bibliography databases. Figure <a + href="ch12.html#fig.bib.bibview" + title="Figure 12.1. Editing an article entry with \program{bibview}"> + Figure 12.1</a> shows an example of <b>bibview</b> + editing a database entry.</p> + + <div class="figure"> + <a id="fig.bib.bibview" name="fig.bib.bibview"></a> + + <p class="title"><b>Figure 12.1. Editing an + article entry with \program{bibview}</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p>Unlike the <b>xbibtex</b> program, <b>bibview</b> + can handle optional and ignored fields in bibliography + entries. It does not handle new entry types.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2922989" + name="id2922989"></a>xbibtex</h4> + </div> + </div> + + <p><b>xbibtex</b><a id="id2923002" class="indexterm" + name="id2923002"></a> is an X Window-based program for + creating bibliography databases. Figure <a + href="ch12.html#fig.bib.xbibtex" + title="Figure 12.2. Editing an article entry with \program{xbibtex}"> + Figure 12.2</a> shows an example of <b>xbibtex</b> + creating a bibliography entry.</p> + + <div class="figure"> + <a id="fig.bib.xbibtex" name="fig.bib.xbibtex"></a> + + <p class="title"><b>Figure 12.2. Editing an + article entry with \program{xbibtex}</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p>It does not appear that <b>xbibtex</b> can edit + existing entries. It also does not handle unexpected + fields or new entry types.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2923067" + name="id2923067"></a>bibdb</h4> + </div> + </div> + + <p>The <b>bibdb</b><a id="id2923082" class="indexterm" + name="id2923082"></a> program is an MS-DOS-based + bibliography database editor. The screen capture in + Figure <a href="ch12.html#fig.bib.bibdb" + title="Figure 12.3. Editing an article entry with \program{bibdb}"> + Figure 12.3</a> shows an example of <b>bibdb</b> + editing a bibliography entry. <b>bibdb</b> displays + only fields that have values.</p> + + <div class="figure"> + <a id="fig.bib.bibdb" name="fig.bib.bibdb"></a> + + <p class="title"><b>Figure 12.3. Editing an + article entry with \program{bibdb}</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p>Although it does not handle arbitrary fields, + <b>bibdb</b> has a large selection of optional fields. + It does not handle new entry types.</p> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2923157" + name="id2923157"></a>Tib</h2> + </div> + </div> + + <p><b>Tib</b><a id="id2923170" class="indexterm" + name="id2923170"></a> is another tool for maintaining + bibliography databases. The format of a <b>Tib</b> database + is the same as the format for the <b>troff</b> <b>refer</b> + processor.<sup>[<a id="id2923201" name="id2923201" + href="#ftn.id2923201">118</a>]</sup> An example entry for + <span class="emphasis"><em>The TeXbook</em></span> is shown + in Example <a href="ch12.html#ex.tibdb" + title="Example 12.2. A Tib style database entry">Example 12.2</a>.</p> + + <div class="example"> + <a id="ex.tibdb" name="ex.tibdb"></a> + + <p class="title"><b>Example 12.2. A Tib style + database entry</b></p> +<pre class="screen"> + + + +</pre> + </div> + + <p>Unlike BibTeX, which relies on the citation macros to + format citations correctly, <b>Tib</b> actually replaces + the citations<a id="id2923270" class="indexterm" + name="id2923270"></a> with the appropriate information. In + other words, <b>Tib</b>-style citations are not control + sequences; they are just text strings. The <b>Tib</b> + processor creates an entirely new document file that should + be passed to TeX.</p> + + <p>The general format of a <b>Tib</b> citation is + <tt>[.</tt><tt><i><tt>citation + key(s)</tt></i></tt><tt>.]</tt>. <b>Tib</b> databases do + not contain a key field; instead, the citation keys can + come from any fields in the database entry (you can exclude + some fields if you wish). The punctuation around citations + in square brackets is adjusted by <b>Tib</b>. An alternate + form of citation using angle brackets inserts a citation + without adjusting any of the surrounding punctuation.</p> + + <p>The bibliography is inserted into your document wherever + the string “<tt>.[]</tt>” occurs at the + beginning of a line. Analogous to BibTeX, the format of the + reference list is controlled by a <b>Tib</b> style. Styles + for roughly fifteen technical journals are provided.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2923378" + name="id2923378"></a>Making Indexes</h2> + </div> + </div> + + <p>Constructing an index<a id="id2923387" class="indexterm" + name="id2923387"></a><a id="id2923394" class="indexterm" + name="id2923394"></a> for a TeX document is relatively + straightforward. First, you must identify each occurrence + of each word or concept that you want indexed. To do this, + you must insert \index entries into your document.<sup>[<a + id="id2923416" name="id2923416" + href="#ftn.id2923416">119</a>]</sup> When you format your + document containing the index entries, an <tt>IDX</tt> + file<a id="id2923469" class="indexterm" + name="id2923469"></a> is created that contains all of the + entries along with the page number where each entry + occurred.</p> + + <p>The <b>MakeIndex</b><a id="id2923488" class="indexterm" + name="id2923488"></a> program<sup>[<a id="id2923499" + name="id2923499" href="#ftn.id2923499">120</a>]</sup> reads + the <tt>IDX</tt> file, sorts and collates the entries, and + writes an <tt>IND</tt> file<a id="id2923532" + class="indexterm" name="id2923532"></a>. The + <b>MakeIndex</b> program can also load an index style file, + discussed in the next section.</p> + + <p>When LaTeX processes your document, it inserts the + contents of the <tt>IND</tt> file into your document at the + point where you use the \printindex control sequence.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2923569" + name="id2923569"></a>Index Entries</h3> + </div> + </div> + + <p>Index entries<a id="id2923578" class="indexterm" + name="id2923578"></a><a id="id2923588" class="indexterm" + name="id2923588"></a><a id="id2923598" class="indexterm" + name="id2923598"></a> use special characters to identify + different types of entries (simple entries, + multiple-level entries, see-also's, etc.). The exact + characters used are controlled by the index style file, + and it may be convenient to select an alternate style. + For example, <b>MakeIndex</b> uses the double-quote + character by default to identify literal characters in + the index entry, but the German<a id="id2923626" + class="indexterm" name="id2923626"></a> Babel style makes + the literal double quote character a shortcut for the + umlaut accent; this use makes it unavailable as the + quotation character in index entries.</p> + + <p>Another point to consider when coding index entries is + that the arguments to the index macros are expanded by + TeX. This makes it difficult to insert some control + sequences<a id="id2923644" class="indexterm" + name="id2923644"></a> in an index entry (for example + <tt><a id="id2923661" class="indexterm" + name="id2923661"></a></tt>). In LaTeX, you can combat + this problem by using the control sequence: <tt><a + id="id2923682" class="indexterm" + name="id2923682"></a></tt>.</p> + + <p>A complete list of the different kinds of index + entries that can be created is included in <span + class="emphasis"><em>{MakeIndex: An Index Processor for + LaTeX}</em></span> [<a + href="bi01.html#ll:makeindex">ll:makeindex</a>].</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2923830" + name="id2923830"></a>Index Format</h2> + </div> + </div> + + <p>The format of the index is controlled by both the index + style (which specifies whether or not headings should be + present, what the delimiters should be, etc.) and the + definition of several control sequences:<sup>[<a + id="id2923841" name="id2923841" + href="#ftn.id2923841">121</a>]</sup></p> + + <div class="variablelist"> + <dl> + <dt><span class="term">\bs\texttt{theindex}</span></dt> + + <dd> + <p>Controls what happens just before the index is + printed. This sequence should establish a new page, + set up running headers and footers, select multiple + columns, and do whatever other global setup is + desired.</p> + </dd> + + <dt><span class="term">\bs\texttt{item}</span></dt> + + <dd> + <p>Executed just before a first-level entry.</p> + </dd> + + <dt><span class="term">\bs\texttt{subitem}</span></dt> + + <dd> + <p>Executed just before a second-level entry.</p> + </dd> + + <dt><span + class="term">\bs\texttt{subsubitem}</span></dt> + + <dd> + <p>Executed just before a third-level entry.</p> + </dd> + + <dt><span + class="term">\bs\texttt{indexspace}</span></dt> + + <dd> + <p>Executed between alphabetical sections.</p> + </dd> + + <dt><span + class="term">\bs\texttt{endtheindex}</span></dt> + + <dd> + <p>Controls what happens just after the index is + printed. This sequence should undo anything that was + started by \theindex.</p> + </dd> + </dl> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2923963" + name="id2923963"></a>Special-purpose styles</h2> + </div> + </div> + + <p>A number of styles have been written to allow you to + develop special-purpose indexes. <b>multind</b> and + <b>index</b> are described here.</p> + + <p><tt>multind</tt> supports multiple indexes in a single + document.</p> + + <p><tt>index</tt> is a reimplementation of the LaTeX + indexing commands. It stores index entries in the + <tt>AUX</tt> files so that portions of a document can be + reformatted without losing the entire index. It also + provides support for multiple indexes and replaces the + <span class="emphasis"><em>makeidx</em></span> style + option.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2924031" + name="id2924031"></a>Making Glossaries</h2> + </div> + </div> + + <p><a id="id2924039" class="indexterm" + name="id2924039"></a><a id="id2924046" class="indexterm" + name="id2924046"></a>The LaTeX command \glossary can be + used to accumulate words and concepts for a document + glossary. The output, stored in a <tt>GLO</tt> file<a + id="id2924076" class="indexterm" name="id2924076"></a>, is + very similar to an <tt>IDX</tt> file<a id="id2924094" + class="indexterm" name="id2924094"></a>. Like an index, the + glossary file can be processed by <b>MakeIndex</b><a + id="id2924109" class="indexterm" name="id2924109"></a> to + produce a sorted list of terms. To produce a glossary, you + must create an index style for the glossary. Here is a + minimal <tt>glossary.ist</tt>:</p> +<pre class="screen"> +keyword "\\glossaryentry" +preamble "\n\\begin{theglossary}\n" +postamble "\n\\end{theglossary}\n" +</pre> + + <p>The output file that <b>MakeIndex</b> creates will have + to be edited by hand, naturally, in order to incorporate + the definitions of the entries. You will also have to + define an appropriate glossary environment by defining the + control sequences<a id="id2924153" class="indexterm" + name="id2924153"></a> used to make the glossary:</p> + + <div class="variablelist"> + <dl> + <dt><span + class="term">\bs\texttt{theglossary}</span></dt> + + <dd> + <p>Controls what happens just before the glossary is + printed. This sequence should establish a new page, + set up running headers and footers, and do whatever + other global setup is desired.</p> + </dd> + + <dt><span class="term">\bs\texttt{item}</span></dt> + + <dd> + <p>Executed just before a glossary item.</p> + </dd> + + <dt><span + class="term">\bs\texttt{endtheglossary}</span></dt> + + <dd> + <p>Controls what happens just after the glossary is + printed. This sequence should undo anything that was + started by \theglossary.</p> + </dd> + </dl> + </div> + + <p>Finally, you will have to \input or \include the + glossary in your document.</p> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2920553" name="ftn.id2920553" + href="#id2920553">115</a>]</sup> {For Plain TeX and other + formats derived from Plain, the <tt>btxmac.tex</tt> + macros provide these commands.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2921530" name="ftn.id2921530" + href="#id2921530">116</a>]</sup> {This example uses Plain + TeX syntax rather than a LaTeX <tt>\bs newcommand</tt>, + because BibTeX databases can be used from Plain TeX as + well as LaTeX.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2921744" name="ftn.id2921744" + href="#id2921744">117</a>]</sup> {A complete description + of BibTeX's programming language can be found in <span + class="emphasis"><em>Designing BibTeX + Styles</em></span> [<a + href="bi01.html#op:btxhak">op:btxhak</a>].}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2923201" name="ftn.id2923201" + href="#id2923201">118</a>]</sup> {<span + class="emphasis"><em>refer</em></span> databases can + reportedly be converted to and from BibTeX format.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2923416" name="ftn.id2923416" + href="#id2923416">119</a>]</sup> {The format you use must + also provide support for indexing. In LaTeX<a + id="id2923420" class="indexterm" name="id2923420"></a>, + most of the support is built in, but you must use the + makeidx style option<a id="id2923437" class="indexterm" + name="id2923437"></a>. In Plain TeX and other + Plain-derived formats, input the <tt>idxmac.tex</tt> + macros at the top of your document. The rest of this + section assumes that you use LaTeX, although the + principles hold for any macro package that supports + indexing.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2923499" name="ftn.id2923499" + href="#id2923499">120</a>]</sup> {Frequently called + <tt>makeidx</tt> on MS-DOS systems.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2923841" name="ftn.id2923841" + href="#id2923841">121</a>]</sup> {In LaTeX, these control + sequences have default definitions that you may not need + to change.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 11. Introducing MetaFont" + href="ch11.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 11. Introducing MetaFont </td> + + <td width="20%" align="center"><a + title="Part II. Elements of a Complex Document" + href="pt02.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> Part III. A + Tools Overview</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch13.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch13.html new file mode 100644 index 00000000000..821c3409e15 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch13.html @@ -0,0 +1,2491 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 13. Non-commercial + Environments</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt03.html" + title="Part III. A Tools Overview" /> + <link rel="previous" href="pt03.html" + title="Part III. A Tools Overview" /> + <link rel="next" href="ch14.html" + title="Chapter 14. Commercial Environments" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 14. Commercial Environments" + href="ch14.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.freetex" + name="chap.freetex"></a>Chapter 13. Non-commercial + Environments</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p><a id="id2920434" class="indexterm" + name="id2920434"></a>This chapter offers an overview of + several common free and shareware TeX systems. If you notice + any conflicts between the information in this chapter and the + documentation that comes with the software, please consider + the documentation to be more accurate and up-to-date. I've + attempted to provide hints and practical suggestions, but + software installation is largely dependent on your system + configuration and the way you want to use TeX.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="free.web" + name="free.web"></a>Web2C</h2> + </div> + </div> + + <p><a id="id2920341" class="indexterm" + name="id2920341"></a><a id="id2920347" class="indexterm" + name="id2920347"></a> The official sources for all of the + standard TeX programs are distributed in a format known as + \web.<sup>[<a id="id2920364" name="id2920364" + href="#ftn.id2920364">122</a>]</sup> \web is an + implementation of a programming style known as + “literate programming.” One central tenet of + literate programming is that source code and documentation + should be written in parallel. Literate programming + enforces this tenet by combining the two in a single file. + \web source files contain a mixture of source code and + documentation.</p> + + <p>In \web files, the documentation is written in TeX, and + the source code is written in Pascal. (Other literate + programming environments use different documentation and + programming languages.) To print the documentation, a + special preprocessor called <b>weave</b><a id="id2920395" + class="indexterm" name="id2920395"></a> transforms the \web + source into a TeX document that can be formatted and + printed. Another preprocessor, called <b>tangle</b><a + id="id2924413" class="indexterm" name="id2924413"></a>, + transforms the \web source into a Pascal program that can + be compiled and executed.</p> + + <p>In practice, it is far more likely that you have access + to a C compiler than to a Pascal compiler. This is where + <b>Web2C</b> comes in. <b>Web2C</b> is a special-purpose + Pascal-to-C translator that makes it possible to compile + and build the TeX sources in most unix environments (and + probably many other environments as well).</p> + + <p>Karl Berry<a id="id2924450" class="indexterm" + name="id2924450"></a> maintains the <b>Web2C</b> + distribution. You can retrieve it from the CTAN archives in + the directory <tt>systems/unix/web2c</tt>.</p> + + <p>Preparing to build TeX with the <b>Web2C</b> + distribution is very straightforward. Unpack the archive + files, read the file named <tt>README</tt>, and follow the + instructions in the file named <tt>INSTALL</tt>. Many + people have built TeX using these sources. If you have + difficulty, readers of the <tt>Info-TeX</tt> mailing list<a + id="id2924515" class="indexterm" name="id2924515"></a> or + the <tt>comp.text.tex</tt> newsgroup<a id="id2924539" + class="indexterm" name="id2924539"></a> will almost + certainly be able to help.</p> + + <p>In my experience, there are only two parts of the + installation that are likely to cause any difficulty: + compiling <tt>tangleboot.c</tt> and building the X Windows + support in MetaFont.</p> + + <p>Because <b>tangle</b> is written in \web, there is an + obvious bootstrapping problem (how do you <b>tangle</b> + <tt>tangle.web</tt> in order to compile <b>tangle</b>?). + The <b>Web2C</b> distribution includes a small C program + called <tt>tangleboot.c</tt><a id="id2924617" + class="indexterm" name="id2924617"></a>, which overcomes + this hurdle. It's possible that getting + <tt>tangleboot.c</tt> to compile on your machine may + require some tinkering. I had this problem on one machine + with one release of <b>Web2C</b>. Subsequent releases of + <b>Web2C</b> seem to have corrected this problem (in my + case, at least).</p> + + <p>Compiling X Window support for MetaFont has regularly + been a thornier problem. If you are not comfortable + programming in C, I cannot suggest a simple way to correct + these difficulties in the general case. (However, asking + for help in the appropriate newsgroups is very likely to + produce a solution for any particular problem.)</p> + + <p>The most common errors that I've encountered in building + the X Windows support for MetaFont are conflicting + prototypes and type definitions. My solution to these + problems, inelegant though it may be, has generally been to + “correct” or remove the offending declarations + from the MetaFont sources. (Note: the X Window support is + written directly in C, not \web, so it is considerably + easier to edit.) In my experience, this has always been + successful, but your mileage may vary.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.emtex.testinstall" + name="sec.emtex.testinstall"></a>emTeX</h2> + </div> + </div> + + <p><a id="id2924692" class="indexterm" + name="id2924692"></a><a id="id2924702" class="indexterm" + name="id2924702"></a> The emTeX distribution is a very + complete, free distribution of TeX for MS-DOS and OS/2 + systems. emTeX will run on any 80x86 processor, although + some of the larger, faster executables require at least a + 386. There is no single right way to install TeX, so what + follows is only one possible installation. This + installation uses the default directories and assumes a + single-user environment. Installing emTeX in a network + environment is mentioned briefly in “<span + class="emphasis"><em><a href="ch13.html#sec.netemtex" + title="Installing emTeX on a Network">the section called + “Installing emTeX on a + Network”</a></em></span>,” later in this + chapter. Incorporating the more recent, beta test versions + of emTeX is described in the section called \linebreak</p> + + <p>“<a href="ch13.html#sec.betaemtex" + title="Environment variables">the section called + “Environment variables”</a>.” emTeX is + available on CTAN in the directory + <tt>systems/msdos/emtex</tt>.</p> + + <p>On the whole, the installation instructions for emTeX + are provided in the distribution. Begin by reading the + English or German versions of the documentation provided. + Additionally, you should read the DVI driver documentation + at least once. (It's quite long, and you may not remember + all of it after a single reading, but at least you'll have + a feel for what can be done.)</p> + + <p>Table <a href="ch13.html#tab.emtexfilesum" + title="Table 13.1. Summary of the \protect\emTeX Distribution"> + Table 13.1</a> summarizes the files in the + distribution. The standard emTeX distribution occupies six + high-density floppy disks. A complete installation requires + more than 12 megabytes of storage without fonts. You must + also get a set of fonts (available in font library format + for emTeX) or set up automatic font generation.</p> + + <div class="table"> + <a id="tab.emtexfilesum" name="tab.emtexfilesum"></a> + + <p class="title"><b>Table 13.1. Summary of the + \protect\emTeX Distribution</b></p> + + <table + summary="Summary of the \protect\emTeX Distribution" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="right" /> + <col align="right" /> + </colgroup> + + <thead> + <tr> + <th align="left"> </th> + + <th align="left"> </th> + + <th align="right"> </th> + + <th align="right">\multicolumn{1}{l}{\bf + Expanded}</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left"><span>\bf File</span></td> + + <td align="left">\bf Abbreviated Contents</td> + + <td align="right">\multicolumn{1}{l}{\bf Size}</td> + + <td align="right">\multicolumn{1}{|l}{\bf + Size}</td> + </tr> + + <tr> + <td align="left">\it *.eng</td> + + <td align="left">English documentation</td> + + <td align="right">125Kb</td> + + <td align="right">125Kb</td> + </tr> + + <tr> + <td align="left">\it{}*.ger</td> + + <td align="left">German documentation</td> + + <td align="right">140Kb</td> + + <td align="right">140Kb</td> + </tr> + + <tr> + <td align="left">\it{}*.exe</td> + + <td align="left">Delete, remove, pkunzip</td> + + <td align="right">227Kb</td> + + <td align="right">227Kb</td> + </tr> + + <tr> + <td align="left">\it tex1.zip</td> + + <td align="left">TeX executables, <tt>TFM</tt>s, + inputs</td> + + <td align="right">368Kb</td> + + <td align="right">645Kb</td> + </tr> + + <tr> + <td align="left">\it tex2.zip</td> + + <td align="left">Plain formats, more + <tt>TFM</tt>s</td> + + <td align="right">262Kb</td> + + <td align="right">403Kb</td> + </tr> + + <tr> + <td align="left">\it blatex.zip</td> + + <td align="left">Big TeX LaTeX format</td> + + <td align="right">227Kb</td> + + <td align="right">494Kb</td> + </tr> + + <tr> + <td align="left">\it latex1.zip</td> + + <td align="left">Documentation and formats</td> + + <td align="right">243Kb</td> + + <td align="right">393Kb</td> + </tr> + + <tr> + <td align="left">\it latex2.zip</td> + + <td align="left">LaTeX styles and + <tt>TFM</tt>s</td> + + <td align="right">233Kb</td> + + <td align="right">705Kb</td> + </tr> + + <tr> + <td align="left">\it latexdoc.zip</td> + + <td align="left">LaTeX style documentation</td> + + <td align="right">110Kb</td> + + <td align="right">315Kb</td> + </tr> + + <tr> + <td align="left">\it makeindx.zip</td> + + <td align="left"><b>MakeIndex</b></td> + + <td align="right">52Kb</td> + + <td align="right">152Kb</td> + </tr> + + <tr> + <td align="left">\it pictex.zip</td> + + <td align="left">PiCTeX macros</td> + + <td align="right">43Kb</td> + + <td align="right">144Kb</td> + </tr> + + <tr> + <td align="left">\it texware.zip</td> + + <td align="left"><b>texchk</b>, <b>texconv</b>, + <b>maketcp</b>,</td> + + <td align="right">265Kb</td> + + <td align="right">433Kb</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left">TeXware</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it dvidrv1.zip</td> + + <td align="left">Driver configuration, batch,</td> + + <td align="right">119Kb</td> + + <td align="right">370Kb</td> + </tr> + + <tr> + <td align="left">\it</td> + + <td align="left">and setup files</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it dvidrv2.zip</td> + + <td align="left">Driver executables</td> + + <td align="right">345Kb</td> + + <td align="right">551Kb</td> + </tr> + + <tr> + <td align="left">\it dvidrv3.zip</td> + + <td align="left">Preview executables</td> + + <td align="right">293Kb</td> + + <td align="right">506Kb</td> + </tr> + + <tr> + <td align="left">\it texcad.zip</td> + + <td align="left">TeXCad</td> + + <td align="right">118Kb</td> + + <td align="right">236Kb</td> + </tr> + + <tr> + <td align="left">\it bmf1.zip</td> + + <td align="left">Big MetaFont</td> + + <td align="right">261Kb</td> + + <td align="right">472Kb</td> + </tr> + + <tr> + <td align="left">\it mf1.zip</td> + + <td align="left">MetaFont executables</td> + + <td align="right">245Kb</td> + + <td align="right">398Kb</td> + </tr> + + <tr> + <td align="left">\it mf2.zip</td> + + <td align="left">MetaFont sources,</td> + + <td align="right">337Kb</td> + + <td align="right">613Kb</td> + </tr> + + <tr> + <td align="left">\it</td> + + <td align="left">OS/2 executable</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it mf3.zip</td> + + <td align="left">MetaFont sources</td> + + <td align="right">273Kb</td> + + <td align="right">768Kb</td> + </tr> + + <tr> + <td align="left">\it mfware1.zip</td> + + <td align="left"><tt>GF</tt> tools, <tt>PK</tt> + tools</td> + + <td align="right">320Kb</td> + + <td align="right">504Kb</td> + </tr> + + <tr> + <td align="left">\it bibtex.zip</td> + + <td align="left">BibTeX</td> + + <td align="right">117Kb</td> + + <td align="right">319Kb</td> + </tr> + + <tr> + <td align="left">\it bmf2.zip</td> + + <td align="left">OS/2 executable,</td> + + <td align="right">266Kb</td> + + <td align="right">564Kb</td> + </tr> + + <tr> + <td align="left"> </td> + + <td align="left">Big MetaFont bases</td> + + <td class="auto-generated"> </td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it btex1.zip</td> + + <td align="left">Big TeX executables</td> + + <td align="right">259Kb</td> + + <td align="right">447Kb</td> + </tr> + + <tr> + <td align="left">\it btex2.zip</td> + + <td align="left">Big TeX Plain format</td> + + <td align="right">269Kb</td> + + <td align="right">533Kb</td> + </tr> + + <tr> + <td align="left">\it emsy.zip</td> + + <td align="left">Special fonts from emTeX</td> + + <td align="right">8Kb</td> + + <td align="right">11Kb</td> + </tr> + + <tr> + <td align="left">\it mfware2.zip</td> + + <td align="left"><b>MFjob</b>, some more + inputs</td> + + <td align="right">138Kb</td> + + <td align="right">230Kb</td> + </tr> + + <tr> + <td align="left">\it misc_mf.zip</td> + + <td align="left">Miscellaneous inputs</td> + + <td align="right">36Kb</td> + + <td align="right">130Kb</td> + </tr> + + <tr> + <td align="left">\it pkedit.zip</td> + + <td align="left"><b>PKEdit</b></td> + + <td align="right">51Kb</td> + + <td align="right">97Kb</td> + </tr> + + <tr> + <td align="left">\it dvidrvma.zip</td> + + <td align="left">DVI driver manual</td> + + <td align="right">178Kb</td> + + <td align="right">494Kb</td> + </tr> + + <tr> + <td align="left">\it web.zip</td> + + <td align="left">\web tools</td> + + <td align="right">128Kb</td> + + <td align="right">252Kb</td> + </tr> + + <tr> + <td align="left">\it g*.zip</td> + + <td align="left">German versions of TeX</td> + + <td align="right">800Kb</td> + + <td align="right">1614Kb</td> + </tr> + </tbody> + </table> + </div> + + <p>For simplicity, the discussion that follows assumes that + you have enough disk space to install the entire 12Mb + distribution. If you can't get that much space (even + temporarily), you can perform the steps discussed in the + section “<a href="ch13.html#sec.emtex.smaller" + title="Installing Fonts">the section called + “Installing Fonts”</a>” as you + install.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2925718" + name="id2925718"></a>Where to Start</h3> + </div> + </div> + + <p>Begin by reading the English (<tt>*.eng</tt>) or + German (<tt>*.ger</tt>) documentation files on the first + disk. Where there is disagreement between this book and + those files, believe the files---especially if a new + version of emTeX has been released.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2925747" + name="id2925747"></a>Unpacking the Archives</h3> + </div> + </div> + + <p>The emTeX<a id="id2925756" class="indexterm" + name="id2925756"></a> distribution is a collection of + <tt>ZIP</tt> files spread over six disks. You must + install these files into your hard drive. If you have + more than one hard disk, you may install emTeX on any + drive you choose. Select one with more than 12Mb of free + space, at first. You can copy the files onto another + drive after you've deleted things that you don't + need.</p> + + <p>All of the emTeX files are installed in a subdirectory + tree rooted at <tt>emtex</tt>. If you absolutely must use + a different subdirectory tree, unpack each archive file + into a temporary directory and then copy the files into + the subtree you want to use. You will have to do much + more extensive customization of the batch files and + configuration files before emTeX will work. That sort of + customization isn't described here in detail.</p> + + <p>Make the root directory of the hard disk that you wish + to install onto the current directory, and then use the + <b>pkunzip</b><a id="id2925817" class="indexterm" + name="id2925817"></a> program distributed on the first + disk, or any later version of <b>pkunzip</b>, to unpack + each of the archive files. You can also use the + <b>Info-Zip</b><a id="id2925862" class="indexterm" + name="id2925862"></a> version of <b>unzip</b> (version + 5.0 or later) to unpack the archives. If you do not want + the German versions of the TeX macro files, do not bother + to unpack the <tt>lkurz.zip</tt> or <tt>g*.zip</tt> files + on disk six.</p> + + <p>After you have unpacked the files, you will have a + directory tree rooted at <tt>\bs EMTEX</tt> containing + about 12Mb of files and the following additional + directories: <tt>bibinput</tt>, <tt>bmfbases</tt>, + <tt>btexfmts</tt>, <tt>doc</tt>, <tt>mfbases</tt>, + <tt>mfinput</tt>, <tt>MFjob</tt>, <tt>remove</tt>, + <tt>texfmts</tt>, <tt>texinput</tt>, and + <tt>tfm</tt>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2925984" + name="id2925984"></a>Setting Up the Environment</h3> + </div> + </div> + <a id="id2925990" class="indexterm" name="id2925990"></a> + + <p>A lot of information about where and how things are + installed for emTeX is stored in the \glo{environment}. + If you are unfamiliar with the DOS or OS/2 environment, + consult your operating system reference for more details. + In brief, the environment<a id="id2926007" + class="indexterm" name="id2926007"></a> is a collection + of named strings. For example, your <tt>PATH</tt> is in + the environment.</p> + + <p>The emTeX distribution includes a batch file called + <tt>set-tex</tt><a id="id2926042" class="indexterm" + name="id2926042"></a>, which sets all of the environment + variables that emTeX uses. Edit this file and change all + references to C: to the drive where you installed emTeX. + If you installed emTeX on drive C:, you needn't change + anything. The section “<a + href="ch13.html#sec.emtex.basiccust" + title="Deleting extra documentation">the section called + “Deleting extra documentation”</a>” + later in this chapter describes the variables used by + emTeX in greater detail.</p> + + <p>If you are using MS-DOS and haven't already made the + environment larger than its default size, you may need to + do so in order to use emTeX. Insert the following + command, or something like it, in your + <tt>CONFIG.SYS</tt> file:</p> +<pre class="screen"> +SHELL=C:\COMMAND.COM /P /E:1024 +</pre> + + <p>This is very system-dependent. You will have to use + different settings if you keep <tt>COMMAND.COM</tt> in a + subdirectory or if you use a different command + processor.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2926107" + name="id2926107"></a>Testing the Installation</h3> + </div> + </div> + + <p><a id="id2926114" class="indexterm" + name="id2926114"></a>After you have set up the + environment, make the <tt>emtex</tt> directory the + current directory and test TeX by typing:</p> + + <div class="informalexample"> +<pre class="screen"> +C:\ttbackslash{}EMTEX>{\bf tex} +This is emTeX, Version 3.0 [3a] (no format preloaded) +**{\bf \ttbackslash{}relax} + +*{\bf This is a test} + +*{\bf \ttbackslash{}bye} +[1] +Output written on texput.dvi (1 page, 224 bytes). +Transcript written on texput.log. +</pre> + </div> + + <p>This will produce a small <tt>DVI</tt> file called + <tt>texput.dvi</tt><a id="id2926173" class="indexterm" + name="id2926173"></a>. Keep this file; you can use it in + a few minutes to test the previewer.</p> + + <p>To test LaTeX, enter the command:</p> +<pre class="screen"> +\$ <span class="bold"><b>tex &lplain testpage</b></span> +</pre> + + <p>See the section “<a + href="ch03.html#sec.runtex.cmdcautions" + title="Command-line Options">the section called + “Command-line Options”</a>” in + Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>, + <span class="emphasis"><em><a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a></em></span>, + for an explanation of some potential problems with using + the ampersand (&) character on the command line.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.emtex.smaller" + name="sec.emtex.smaller"></a>Installing Fonts</h3> + </div> + </div> + + <p><a id="id2926254" class="indexterm" + name="id2926254"></a><a id="id2926267" class="indexterm" + name="id2926267"></a>There are several sets of fonts + available for emTeX. You should select the set that is + appropriate for your printer. They are summarized in + Table <a href="ch13.html#tab.emtex.fontlibs" + title="Table 13.2. Fonts Libraries Available for \protect\emTeX on CTAN"> + Table 13.2</a>. The CTAN directory + <tt>systems/msdos/emtex</tt> contains the libraries or + disks of libraries.</p> + + <div class="table"> + <a id="tab.emtex.fontlibs" + name="tab.emtex.fontlibs"></a> + + <p class="title"><b>Table 13.2. Fonts + Libraries Available for \protect\emTeX on CTAN</b></p> + + <table + summary="Fonts Libraries Available for \protect\emTeX on CTAN" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf CTAN Directory</th> + + <th align="left">\bf Resolution</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it fx_\,fonts</td> + + <td align="left">240x216</td> + + <td align="left">Epson FX series printers, Tandy + DMP-130 printer</td> + </tr> + + <tr> + <td align="left">\it fx_med_\,fonts</td> + + <td align="left">240x144</td> + + <td align="left">Epson FX series (for Windows + drivers)</td> + </tr> + + <tr> + <td align="left">\it ito_\,fonts</td> + + <td align="left">160x144</td> + + <td align="left">C. ITOH 8510A printers</td> + </tr> + + <tr> + <td align="left">\it lj_\,fonts</td> + + <td align="left">300x300</td> + + <td align="left">300dpi Laser printers</td> + </tr> + + <tr> + <td align="left">\it p6h_\,fonts</td> + + <td align="left">360x360</td> + + <td align="left">Epson LQ series, NEC P6 \</td> + + <td>P7, IBM Proprinter, and Panasonic KX-P1124 + printers</td> + </tr> + + <tr> + <td align="left">\it p6m_\,fonts</td> + + <td align="left">360x180</td> + + <td align="left">Epson LQ series, NEC P6 \</td> + + <td>P7, IBM Proprinter, and Panasonic KX-P1124 + printers</td> + </tr> + + <tr> + <td align="left">\it p6l_\,fonts</td> + + <td align="left">180x180</td> + + <td align="left">Epson LQ series, NEC P6 \</td> + + <td>P7, IBM Proprinter and Panasonic KX-P1124 + printers</td> + </tr> + + <tr> + <td align="left">\it psfonts</td> + + <td align="left">300x300</td> + + <td align="left">Standard 35 PostScript + fonts</td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + + <p>Not every font set is appropriate for every model of + the series mentioned. If your printer isn't mentioned, + use the <b>dvidot</b><a id="id2926534" class="indexterm" + name="id2926534"></a> program included with emTeX to + generate an appropriate configuration file. Select the + font set with the same resolution as your printer.</p> + + <p>The PostScript fonts included in the + <tt>psfonts</tt><a id="id2926555" class="indexterm" + name="id2926555"></a> libraries are suited primarily for + previewing. The quality of many of the fonts is + substandard. (They were generated from unhinted outlines + with <b>Ghostscript</b><a id="id2926572" + class="indexterm" name="id2926572"></a>.) A font + substitution file is provided for 300dpi, 180dpi, and + 360dpi printers.</p> + + <p>Once you have retrieved the font libraries that you + need, unpack them (if they are in <tt>ZIP</tt> archives) + and place the <tt>FLI</tt> files in the <tt>\bs + TEXFONTS</tt> directory of the drive where you installed + emTeX. The amount of disk space required depends on the + font set that you install. It can be more than 5.5 + megabytes. The section called “<a + href="ch13.html#sec.emtex.autofont" + title="Running emTeX 386 in Windows">the section called + “Running emTeX 386 in Windows”</a>,” + later in this chapter, provides an overview of automatic + font generation under emTeX. This can save a considerable + amount of disk space.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2926632" + name="id2926632"></a>Testing font installation</h4> + </div> + </div> + + <p>After you have installed a font set, you should be + able to preview and print TeX documents. If you + followed the instructions in “<a + href="ch13.html#sec.emtex.testinstall" + title="emTeX">the section called + “emTeX”</a>,” earlier in this + chapter, you have two <tt>DVI</tt> files in your + <tt>\bs EMTEX</tt> directory.</p> + + <p>First, figure out which configuration file is + appropriate for your installation. The table near the + top of <tt>dvidrv.doc</tt> in the emTeX documentation + directory should help you determine which one is + appropriate.</p> + + <p>The default configuration file for previewing is the + LaserJet configuration. If you installed the LaserJet + fonts (<tt>lj\ttunder*.fli</tt>), you do not have to + change the previewer. Otherwise, edit the preview batch + file (<tt>v.bat</tt> for MS-DOS systems and + <tt>v.cmd</tt> for OS/2 systems) and change the + configuration file. The preview batch file looks like + this:</p> +<pre class="screen"> +@echo off +dviscr @lj.cnf /ocr=1 /fl=-1 +</pre> + + <p>The configuration file name is <tt>lj.cnf</tt>. If, + for example, you are using the Epson FX series printer + fonts, you would change this to <tt>fx.cnf</tt>:</p> +<pre class="screen"> +@echo off +dviscr @fx.cnf /ocr=1 /fl=-1 +</pre> + + <p>Now type <span class="bold"><b>v texput</b></span> + to preview the test file. Under OS/2, you should do + this from a full-screen session, not a windowed + session. You can type <span class="bold"><b>v + testpage</b></span> to preview the LaTeX test page, if + you created it.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2926788" + name="id2926788"></a>Making emTeX Smaller</h3> + </div> + </div> + + <p><a id="id2926796" class="indexterm" + name="id2926796"></a>The complete distribution of emTeX + is much larger than the practical requirements. This + section discusses the pros and cons of deleting (or at + least archiving) parts of the emTeX distribution.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="sec.emtex.basiccust" + name="sec.emtex.basiccust"></a>Deleting extra + documentation</h4> + </div> + </div> + + <p>The <tt>\bs emtex\bs doc</tt> directory contains two + complete sets of documentation, one in English and the + other in German. Delete the set that you do not need. + This will save about 500Kb.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2926842" + name="id2926842"></a>Deleting extra + executables</h4> + </div> + </div> + + <p>There are six versions of the TeX and MetaFont + executables in the emTeX distribution. You can probably + delete at least four from each. Follow these + guidelines:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>If you have a 80286 or larger processor, + delete the non-286 versions: <tt>btex.exe</tt>, + <tt>tex.exe</tt>, <tt>bmf.exe</tt>, and + <tt>mf.exe</tt>.</p> + </li> + + <li> + <p>If you do not have OS/2, delete the OS/2 + versions: <tt>btexp.exe</tt>, <tt>texp.exe</tt>, + <tt>bmfp.exe</tt>, and <tt>mfp.exe</tt>. + Conversely, if you have OS/2 and you are + satisfied that you will never want to run TeX or + MetaFont under DOS or Windows, delete the + non-OS/2 versions: <tt>btex286.exe</tt>, + <tt>tex286.exe</tt>, <tt>bmf286.exe</tt>, + <tt>mf286.exe</tt>, and the non-286 versions + listed above. If you need both, you'll have to + keep both around, of course.</p> + </li> + + <li> + <p>Finally, if disk space is at a premium and/or + you have a fast computer, you may choose to + delete the small versions of TeX and MetaFont. + The small versions are faster than the big + versions, but large or complex documents and + fonts may require the big versions, so don't + delete them. If you want to delete the small + versions, delete <tt>tex.exe</tt>, + <tt>tex286.exe</tt>, <tt>mf.exe</tt>, + <tt>mf286.exe</tt>, <tt>texp.exe</tt>, and + <tt>mfp.exe</tt>. In this case you must keep at + least one of <tt>btex.exe</tt>, + <tt>btex286.exe</tt>, and <tt>btexp.exe</tt> + depending on your environment. Similarly, you + must keep at least one of the big \MF{}s. If + you've decided to delete the small versions, you + can also delete two directories: + <tt>emtex{\bs}mfbases</tt> and + <tt>emtex{\bs}texfmts</tt>. These contain the + format files and base files for the small + versions of TeX and MetaFont.</p> + </li> + </ul> + </div> + + <p>Suppose that you have a 80386 computer running + MS-DOS (not OS/2) and you are willing to sacrifice the + speed of the small versions of TeX and MetaFont. You + would keep the <tt>btex286.exe</tt> and + <tt>bmf286.exe</tt> executables and delete the rest + plus the formats and bases that you don't need, saving + 2704Kb. You can save an equivalent amount of space by + deleting the big 80286 versions and keeping the big + non-286 versions, or by deleting all of the non-OS/2 + versions, depending on your environment.</p> + + <p>Table <a href="ch13.html#tab.emtexotherex" + title="Table 13.3. Other \protect\emTeX Executables"> + Table 13.3</a> summarizes the other executables in + the emTeX distribution. This will help you decide which + programs you need to keep. Programs that you don't feel + you need should probably be stored in archive files, + possibly on diskettes, in case you change your + mind.</p> + + <div class="table"> + <a id="tab.emtexotherex" name="tab.emtexotherex"></a> + + <p class="title"><b>Table 13.3. Other + \protect\emTeX Executables</b></p> + + <table summary="Other \protect\emTeX Executables" + border="1"> + <colgroup> + <col align="left" /> + <col align="right" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Program</th> + + <th align="right">\multicolumn{1}{|l|}{\bf + Size}</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it ask.exe</td> + + <td align="right">6Kb</td> + + <td align="left">Prompts user in batch file, + only used by gh.bat</td> + </tr> + + <tr> + <td align="left">\it bibtex.exe</td> + + <td align="right">94Kb</td> + + <td align="left">BibTeX</td> + </tr> + + <tr> + <td align="left">\it chtopx.exe</td> + + <td align="right">39Kb</td> + + <td align="left">Obsolete: converts + <tt>CHR</tt> files to <tt>PXL</tt> format</td> + </tr> + + <tr> + <td align="left">\it pxtoch.exe</td> + + <td align="right">40Kb</td> + + <td align="left">Obsolete: converts + <tt>PXL</tt> files to <tt>CHR</tt> format</td> + </tr> + + <tr> + <td align="left">\it pxtopk.exe</td> + + <td align="right">49Kb</td> + + <td align="left">Obsolete: converts + <tt>PXL</tt> files to <tt>PK</tt> format</td> + </tr> + + <tr> + <td align="left">\it dvidot.exe</td> + + <td align="right">129Kb</td> + + <td align="left">Dot matrix printer driver</td> + </tr> + + <tr> + <td align="left">\it dvihplj.exe</td> + + <td align="right">134Kb</td> + + <td align="left">HP LaserJet printer + driver</td> + </tr> + + <tr> + <td align="left">\it makedot.exe</td> + + <td align="right">54Kb</td> + + <td align="left">Updates dot matrix printer + parameters</td> + </tr> + + <tr> + <td align="left">\it dvimsp.exe</td> + + <td align="right">128Kb</td> + + <td align="left">Converts <tt>DVI</tt> files + into graphic images</td> + </tr> + + <tr> + <td align="left">\it fontlib.exe</td> + + <td align="right">67Kb</td> + + <td align="left">Font library management</td> + </tr> + + <tr> + <td align="left">\it maketcp.exe</td> + + <td align="right">28Kb</td> + + <td align="left">Change the TeX code page</td> + </tr> + + <tr> + <td align="left">\it MFjob.exe</td> + + <td align="right">51Kb</td> + + <td align="left">MetaFont driver</td> + </tr> + + <tr> + <td align="left">\it pcltomsp.exe</td> + + <td align="right">56Kb</td> + + <td align="left">Converts HP LaserJet graphics + into <tt>MSP</tt> or <tt>PCX</tt> format</td> + </tr> + + <tr> + <td align="left">\it pkedit.exe</td> + + <td align="right">94Kb</td> + + <td align="left">Edits <tt>PK</tt> files</td> + </tr> + + <tr> + <td align="left">\it pktopx.exe</td> + + <td align="right">55Kb</td> + + <td align="left">Converts <tt>PK</tt> files to + <tt>PXL</tt> format</td> + </tr> + + <tr> + <td align="left">\it texcad.exe</td> + + <td align="right">79Kb</td> + + <td align="left">Interactive LaTeX drawing + tool</td> + </tr> + + <tr> + <td align="left">\it texchk.exe</td> + + <td align="right">49Kb</td> + + <td align="left">Syntax checker for LaTeX</td> + </tr> + + <tr> + <td align="left">\it texconv.exe</td> + + <td align="right">27Kb</td> + + <td align="left">Converts input files (see + “code pages”)</td> + </tr> + + <tr> + <td align="left">\it dviscr.exe</td> + + <td align="right">215Kb</td> + + <td align="left">Previewer</td> + </tr> + + <tr> + <td align="left">\it dviscrs.exe</td> + + <td align="right">164Kb</td> + + <td align="left">Previewer for small-memory + configurations</td> + </tr> + + <tr> + <td align="left">\it dvivik.exe</td> + + <td align="right">142Kb</td> + + <td align="left">Previewer for Viking I + displays</td> + </tr> + + <tr> + <td align="left">\it dvitype.exe</td> + + <td align="right">72Kb</td> + + <td align="left">Texware: shows <tt>DVI</tt> + file</td> + </tr> + + <tr> + <td align="left">\it pltotf.exe</td> + + <td align="right">74Kb</td> + + <td align="left">Texware: converts <tt>PL</tt> + files to <tt>TFM</tt> format</td> + </tr> + + <tr> + <td align="left">\it tftopl.exe</td> + + <td align="right">48Kb</td> + + <td align="left">Texware: converts <tt>TFM</tt> + files to <tt>PL</tt> format</td> + </tr> + + <tr> + <td align="left">\it gftodvi.exe</td> + + <td align="right">69Kb</td> + + <td align="left">Mfware: makes proof sheets for + a font</td> + </tr> + + <tr> + <td align="left">\it gftopk.exe</td> + + <td align="right">53Kb</td> + + <td align="left">Mfware: converts <tt>GF</tt> + files to <tt>PK</tt> format</td> + </tr> + + <tr> + <td align="left">\it gftopxl.exe</td> + + <td align="right">59Kb</td> + + <td align="left">Mfware: converts <tt>GF</tt> + files to <tt>PXL</tt> format</td> + </tr> + + <tr> + <td align="left">\it gftype.exe</td> + + <td align="right">61Kb</td> + + <td align="left">Mfware: shows <tt>GF</tt> + file</td> + </tr> + + <tr> + <td align="left">\it mft.exe</td> + + <td align="right">55Kb</td> + + <td align="left">Mfware: pretty-prints + <tt>MF</tt> files</td> + </tr> + + <tr> + <td align="left">\it pktogf.exe</td> + + <td align="right">47Kb</td> + + <td align="left">Mfware: converts <tt>PK</tt> + files to <tt>GF</tt> format</td> + </tr> + + <tr> + <td align="left">\it pktype.exe</td> + + <td align="right">45Kb</td> + + <td align="left">Mfware: shows <tt>PK</tt> + file</td> + </tr> + + <tr> + <td align="left">\it makeindx.exe</td> + + <td align="right">102Kb</td> + + <td align="left">Builds indices for + documents</td> + </tr> + + <tr> + <td align="left">\it pooltype.exe</td> + + <td align="right">31Kb</td> + + <td align="left">Web: shows contents of pool + files</td> + </tr> + + <tr> + <td align="left">\it tangle.exe</td> + + <td align="right">52Kb</td> + + <td align="left">Web: creates compilable + file</td> + </tr> + + <tr> + <td align="left">\it weave.exe</td> + + <td align="right">72Kb</td> + + <td align="left">Web: creates documentation + file</td> + </tr> + + <tr> + <td align="left">\it vftovp.exe</td> + + <td align="right">69Kb</td> + + <td align="left">Virtual fonts: converts + <tt>VF</tt> files to <tt>VPL</tt> format</td> + </tr> + + <tr> + <td align="left">\it vptovf.exe</td> + + <td align="right">73Kb</td> + + <td align="left">Virtual fonts: converts + <tt>VPL</tt> files to <tt>VF</tt> format</td> + </tr> + </tbody> + </table> + </div> + + <p>Deciding which programs to remove from the emTeX + directory depends, to a large extent, on how you use + TeX. If you haven't been using TeX for very long, try + to keep as many things as you can until you get a + better feel for what you'll be using. Save copies of + all the programs you delete on floppy disks so that + they are easy to get back. Here are some + suggestions:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Delete the previewer and printer drivers that + you don't need.</p> + </li> + + <li> + <p>Delete obsolete programs unless you know you + need them.</p> + </li> + + <li> + <p>Delete \web programs if you'll never be + compiling TeX yourself or reading TeX program + source code.</p> + </li> + + <li> + <p>Delete <b>Mfware</b> programs if you won't be + doing a lot of work with fonts. Note: keep + <b>gftopk.exe</b> if you want to use automatic + font generation.</p> + </li> + + <li> + <p>Delete <b>Texware</b> and <b>Virtual</b> font + programs if you won't be working with virtual + fonts. (You can probably delete + <b>dvitype.exe</b>, in any case).</p> + </li> + + <li> + <p>Delete <b>bibtex.exe</b> if you won't be + working with bibliographic databases.</p> + </li> + + <li> + <p>Delete <b>makeindx.exe</b> if you won't be + working with indexes.</p> + </li> + + <li> + <p>Delete <b>ask.exe</b> if you won't be using + <b>gh.bat</b>.</p> + </li> + </ul> + </div> + + <p>Next, figure out what batch files you'll be using + and delete (or archive) all the others. If you aren't + using OS/2, this includes all of the <tt>*.cmd</tt> + files.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2928261" + name="id2928261"></a>Deleting extra printer + drivers</h4> + </div> + </div> + + <p>Read about the <b>dvidot</b><a id="id2928276" + class="indexterm" name="id2928276"></a> program for + printing to a dot matrix printer, if you have one. When + you figure out which of the <tt>DOT</tt> parameter + files you need, delete (or archive) the rest. Follow + these guidelines:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>If you don't have a Viking I display, delete + <b>dvivik.exe</b>.</p> + </li> + + <li> + <p>If you don't have a laser printer, delete + <b>dvihplj.exe</b>.</p> + </li> + + <li> + <p>Delete <b>dviscrs.exe</b> if you have enough + memory to use <b>dviscr</b> instead. If you are + always going to use a Windows or OS/2 previewer, + you can delete <b>dviscr.exe</b> as well.</p> + </li> + </ul> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2928367" + name="id2928367"></a>Basic Customization</h3> + </div> + </div> + + <p><a id="id2928375" class="indexterm" + name="id2928375"></a>There are two ways to customize + emTeX. One way is to customize the environment variables + that emTeX uses; the other is to customize the + configuration files that emTeX uses for previewing and + printing (configuration files have no effect on TeX + itself).</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="sec.betaemtex" + name="sec.betaemtex"></a>Environment variables</h4> + </div> + </div> + + <p>There are thirteen environment variables<a + id="id2928409" class="indexterm" + name="id2928409"></a><a id="id2928422" + class="indexterm" name="id2928422"></a> that emTeX + uses. For simplicity in the following discussion, + assume that emTeX is installed on drive C:. If it is + not, change <span + class="emphasis"><em>every</em></span> reference to C: + to the drive actually in use.</p> + + <div class="variablelist"> + <dl> + <dt><span class="term"><tt>EMTEXDRV</tt><a + id="id2928458" class="indexterm" + name="id2928458"></a> (Not set by + default)</span></dt> + + <dd> + <p>Special note: this variable will become + obsolete with the next release of emTeX.</p> + + <p>This variable tells emTeX what drive to use + when searching for default paths. Although I + don't recommend it, if you use entirely standard + paths for your files, you can rely on the + compiled-in defaults in the emTeX + executables.<sup>[<a id="id2928486" + name="id2928486" + href="#ftn.id2928486">123</a>]</sup> The + <tt>EMTEXDRV</tt> environment variable should be + set to the single letter of the drive on which + these paths reside. For example, if you installed + emTeX on drive C: (in completely standard + directories), you could set + <tt><tt>EMTEXDRV</tt>=C</tt>.</p> + </dd> + + <dt><span class="term"><tt>EMTEXDIR</tt><a + id="id2928532" class="indexterm" + name="id2928532"></a> (Not set by + default)</span></dt> + + <dd> + <p>Special note: this is a new variable; it will + become available with the next release of emTeX. + <tt>EMTEXDIR</tt> replaces <tt>EMTEXDRV</tt>.</p> + + <p>This variable tells emTeX what path to use + when searching for default paths. The + <tt>EMTEXDIR</tt> environment variable should be + set to the root path where emTeX is installed + (for example, <tt>C:\EMTEX</tt>).</p> + </dd> + + <dt><span class="term"><tt>TEXINPUT</tt><a + id="id2928598" class="indexterm" + name="id2928598"></a></span></dt> + + <dd> + <p>Defines the directories that emTeX uses when + searching for TeX input files. You would + typically leave + <tt>C:{\bs}EMTEX{\bs}TEXINPUT</tt> in this path + and extend it with directories of your own in + place of <tt>C:{\bs}MYTEX</tt>.</p> + </dd> + + <dt><span class="term"><tt>TEXFMT</tt><a + id="id2928651" class="indexterm" + name="id2928651"></a></span></dt> + + <dd> + <p>Specifies where small versions of TeX look for + format files. Typically you would leave this set + as it is and add new format files to that + directory. You do not have to set this variable + if you are not using the small versions of + TeX.</p> + </dd> + + <dt><span class="term"><tt>BTEXFMT</tt><a + id="id2928691" class="indexterm" + name="id2928691"></a></span></dt> + + <dd> + <p>Specifies where large versions of TeX look for + format files. You will typically leave this set + as it is and add new format files to the + directory specified. If you do not use large + versions of TeX, you need not set this + variable.</p> + </dd> + + <dt><span class="term"><tt>TEXTFM</tt><a + id="id2928731" class="indexterm" + name="id2928731"></a></span></dt> + + <dd> + <p>TeX uses the directories stored in this + variable when searching for <tt>TFM</tt> files + for fonts used in your documents. If you install + new fonts, you should put the <tt>TFM</tt> files + for these fonts in their own directory and add + the name of that directory to the <tt>TEXTFM</tt> + path.</p> + </dd> + + <dt><span class="term"><tt>MFINPUT</tt><a + id="id2928794" class="indexterm" + name="id2928794"></a></span></dt> + + <dd> + <p>The MetaFont program looks for input files in + this path. It is analogous to the + <tt>TEXINPUT</tt> variable. If you add new + MetaFont fonts to your system, for example, the + \AmS fonts, place them in a different directory + and add that directory to this path. If you do + not use MetaFont, you do not need this + variable.</p> + </dd> + + <dt><span class="term"><tt>MFBAS</tt><a + id="id2928840" class="indexterm" + name="id2928840"></a></span></dt> + + <dd> + <p>Analogous to <tt>TEXFMT</tt>. Specifies where + small versions of MetaFont look for base files. + If you do not use MetaFont, you do not need this + variable.</p> + </dd> + + <dt><span class="term"><tt>BMFBAS</tt><a + id="id2928882" class="indexterm" + name="id2928882"></a></span></dt> + + <dd> + <p>Analogous to <tt>BTEXFMT</tt>. Specifies where + large versions of MetaFont look for base files. + If you do not use MetaFont, you do not need this + variable.</p> + </dd> + + <dt><span class="term"><tt>MFJOB</tt><a + id="id2928924" class="indexterm" + name="id2928924"></a></span></dt> + + <dd> + <p>Specifies where <b>MFjob</b> looks for input + files. If you are not using MetaFont or + <b>MFjob</b> for font generation, you do not need + this variable.</p> + </dd> + + <dt><span class="term"><tt>BIBINPUT</tt><a + id="id2928976" class="indexterm" + name="id2928976"></a></span></dt> + + <dd> + <p>Specifies where <b>bibtex</b> searches for + bibliography database files (<tt>BIB</tt> files). + Clearly, if you're not using BibTeX, you don't + need <tt>BIBINPUT</tt>.</p> + </dd> + + <dt><span class="term"><tt>DVIDRVINPUT</tt><a + id="id2929034" class="indexterm" + name="id2929034"></a></span></dt> + + <dd> + <p>This tells the emTeX DVI drivers where to + search for <tt>DVI</tt> files. In practice, I + simply set this to “<tt>.</tt>” so + that only the current directory is used. If you + find it convenient to search for <tt>DVI</tt> + files, by all means set it to an appropriate + path. The default path includes + <tt>C:{\bs}EMTEX{\bs}DOC</tt> so that it is easy + to preview or print the local guide.</p> + </dd> + + <dt><span class="term"><tt>DVIDRVFONTS</tt><a + id="id2929109" class="indexterm" + name="id2929109"></a></span></dt> + + <dd> + <p>This tells the emTeX DVI drivers where to + search for fonts. The <tt>C:{\bs}TEXFONTS</tt> + directory is the default location for font + libraries. If other fonts are installed, it's + natural to include them in this path. For + example, preview versions of the PostScript fonts + are now available from CTAN in font library + format. If you install those libraries in + <tt>C:{\bs}PSFONTS</tt>, you should change the + <tt>DVIDRVFONTS</tt> environment variable to + include both paths.</p> + </dd> + + <dt><span class="term"><tt>DVIDRVGRAPH</tt><a + id="id2929166" class="indexterm" + name="id2929166"></a></span></dt> + + <dd> + <p>The emTeX DVI drivers can incorporate + <tt>PCX</tt> and <tt>MSP</tt> graphics with a + \special command. The <tt>DVIDRVGRAPH</tt> + environment variable tells the drivers where to + look for the graphic files. The <tt>$r</tt> + portion of the path is replaced by the resolution + of the image required. For example, I set this to + <tt>C:{\bs}TEXGRAPH{\bs}GR\$r</tt> and put 300dpi + graphic images in + <tt>C:{\bs}TEXGRAPH{\bs}GR300</tt>, 420dpi images + in <tt>C:{\bs}TEXGRAPH{\bs}GR420</tt>, etc. The + default value of this variable is set so that the + local guide will print properly.</p> + </dd> + </dl> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2929255" + name="id2929255"></a>Setting up configuration + files</h4> + </div> + </div> + + <p><a id="id2929262" class="indexterm" + name="id2929262"></a>Configuration file options are + described completely in the DVI driver documentation + that accompanies emTeX. Read the English or German + versions of <tt>dvidrv.doc</tt> carefully. The + “out of the box” configuration is + sufficient for most uses, but specifying a new + configuration file is a convenient way to alter the + default size of the page in preview mode or set up + emTeX to print pages in “two-up” or + “four-up” variations (for printing + booklets, for example).</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2929307" + name="id2929307"></a>Installing the Beta Test + Versions of emTeX</h3> + </div> + </div> + + <p>It has been several years since the standard + distribution of emTeX was assembled. In that time, + several other releases have been made. These are beta + test releases, but they are as rock-solid as the standard + distribution. Personally, I encourage you to install the + beta test versions, especially because they offer + features not found in the standard release.</p> + + <p>The beta test versions are stored in a series of + <tt>ZIP</tt> files at CTAN in the directory + <tt>systems/msdos/emtex/betatest</tt>. Table <a + href="ch13.html#tab.emtex.betasummary" + title="Table 13.4. The Beta Test Files for \protect\emTeX"> + Table 13.4</a> summarizes the files in the beta test + distribution.\footnote{As this chapter is being written, + Eberhard Mattes\index{Mattes, Eberhard} is working on a + new version of \emTeX. This new version will, at some + point, replace the existing beta test files, making this + section somewhat out of date. Use the <span + class="emphasis"><em>READ.ME</em></span> files in the + actual distribution as the definitive source of + information.</p> + + <div class="table"> + <a id="tab.emtex.betasummary" + name="tab.emtex.betasummary"></a> + + <p class="title"><b>Table 13.4. The Beta Test + Files for \protect\emTeX</b></p> + + <table summary="The Beta Test Files for \protect\emTeX" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf File</th> + + <th align="left">\bf Contents</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it btexb8.zip</td> + + <td align="left">Big \TeX executables</td> + </tr> + + <tr> + <td align="left">\it dvidrv_1.zip</td> + + <td align="left">New drivers and support + files</td> + </tr> + + <tr> + <td align="left">\it dvispell.zip</td> + + <td align="left">\program{dvispell}</td> + </tr> + + <tr> + <td align="left">\it maketcp.zip</td> + + <td align="left">\program{maketcp}</td> + </tr> + + <tr> + <td align="left">\it mfb1.zip</td> + + <td align="left">\MF executables</td> + </tr> + + <tr> + <td align="left">\it MFjob11l.zip</td> + + <td align="left">\program{MFjob}</td> + </tr> + + <tr> + <td align="left">\it mfpm.zip</td> + + <td align="left">OS/2 support for \MF + preview</td> + </tr> + + <tr> + <td align="left">\it pkeditpm.zip</td> + + <td align="left">OS/2 PM version of + \program{PKEdit}</td> + </tr> + + <tr> + <td align="left">\it tex386b8.zip</td> + + <td align="left">386 version of \TeX</td> + </tr> + + <tr> + <td align="left">\it texb5.zip</td> + + <td align="left">Small \TeX executables</td> + </tr> + </tbody> + </table> + </div> + + <p>To install the beta test versions, simply unpack the + archives into your <tt>\bs emtex</tt> directory, + replacing any existing files with the new versions. After + you have installed the beta test versions, you can repeat + the space-saving steps suggested earlier in this + chapter.</p> + + <p>What are the advantages of the beta test versions?</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>Automatic font generation is supported. This + means that you do not need large font library + files.</p> + </li> + + <li> + <p>The beta test versions are TeX version 3.141; + the standard distribution is the slightly older + version 3.0.</p> + </li> + + <li> + <p>The beta test distribution includes a + 386-specific version of TeX, which is much faster + than other versions.</p> + </li> + + <li> + <p>For OS/2 users, a Presentation Manager + <tt>DVI</tt> previewer is provided.</p> + </li> + </ul> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.emtex.autofont" + name="sec.emtex.autofont"></a>Running emTeX 386 in + Windows</h3> + </div> + </div> + + <p><a id="id2929644" class="indexterm" + name="id2929644"></a><a id="id2929656" class="indexterm" + name="id2929656"></a>The 386-specific version of TeX + provided by the beta test distributions of emTeX has some + compelling advantages over the other TeX executables: + it's a big TeX and it's fast. Unfortunately, it does not + run in Windows (or some other MS-DOS environments).</p> + + <p>The problem is memory management. In order to be large + and fast, the <tt>tex386</tt><a id="id2929686" + class="indexterm" name="id2929686"></a> executable relies + on some advanced features of the 386 (and higher) + processors. These features are provided under MS-DOS by a + “DOS extender.” The DOS extender<a + id="id2929701" class="indexterm" name="id2929701"></a> + allows MS-DOS applications to use “protected + mode,” where they can address more than 640Kb of + memory. There are several competing standards for + protected mode memory management. <tt>emx</tt><a + id="id2929728" class="indexterm" name="id2929728"></a>, + the extender implemented in emTeX, is not compatible with + the DPMI standard used by Microsoft Windows and some + other MS-DOS extenders (for example, MS-DOS sessions + under OS/2).</p> + + <p>Luckily, there is a freely available MS-DOS extender, + which is compatible with both DPMI and emTeX, the RSX + extender. Starting with version beta-11 of emTeX, the<a + id="id2929744" class="indexterm" name="id2929744"></a> is + very easy to use.<sup>[<a id="id2929756" name="id2929756" + href="#ftn.id2929756">124</a>]</sup></p> + + <p>There are two versions of the extender: <tt>rsx</tt><a + id="id2929798" class="indexterm" name="id2929798"></a>, + for use in MS-DOS with DPMI extenders<a id="id2929808" + class="indexterm" name="id2929808"></a>, and + <tt>rsxwin</tt><a id="id2929822" class="indexterm" + name="id2929822"></a>, for use in Windows. Both versions + are available on the CTAN archives in the directory + <tt>support/msdos/dpmi/rsx</tt>.</p> + + <p>To use the RSX extender in MS-DOS with <tt>tex386</tt> + version beta-11 or later, simply put <tt>rsx.exe</tt> + somewhere on your <tt>PATH</tt>. When emTeX discovers a + DPMI extender, it will use <tt>rsx</tt> instead of + <tt>emx</tt>.</p> + + <p>To use the RSX extender in Windows, you must modify + the command line that is executed to run <tt>tex386</tt>. + Where you currently use:</p> +<pre class="screen"> +<span class="emphasis"><em>d:{\bs}path1\bs</em></span>tex.exe <span +class="emphasis"><em>options</em></span> +</pre> + + <p>you must now use:</p> +<pre class="screen"> +<span +class="emphasis"><em>d:{\bs}path2\bs</em></span>rsxwin.exe -e <span +class="emphasis"><em>d:\bs path1\bs</em></span>tex386.exe <span +class="emphasis"><em>options</em></span> +</pre> + + <p>The <tt>rsxwin</tt> extender will set up an extender + for emTeX and then run TeX.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2929946" + name="id2929946"></a>Automatic Font Generation with + emTeX</h3> + </div> + </div> + + <div class="note" + style="margin-left: 0.5in; margin-right: 0.5in;"> + <h3 class="title">Note</h3> + + <p>Automatic font generation<a id="id2929960" + class="indexterm" name="id2929960"></a><a + id="id2929972" class="indexterm" name="id2929972"></a> + is not supported by the standard distribution of emTeX. + You must install the beta test versions to use + automatic font generation.</p> + </div> + + <p>The new versions of the emTeX DVI drivers include a + program called <b>dvidrv</b><a id="id2930004" + class="indexterm" name="id2930004"></a>, which handles + automatic font generation. The <b>dvidrv</b> program runs + the driver and if the driver indicates that fonts are + missing, gives you the opportunity to use font + substitution or build new fonts. The <b>MFjob</b> program + is used to build the fonts. <b>MFjob</b> runs the + MetaFont and <b>GFtoPK</b> to produce and install the + necessary fonts. <b>MFjob</b> installs the <tt>PK</tt> + files into the first directory on the font path.</p> + + <p>The <b>dvidrv</b> program can be replaced by a batch + file that can select an appropriate font-rendering + program (something other than MetaFont, for example) to + build the necessary fonts. This feature is only available + in the OS/2 versions of emTeX releases 1.4t and later. + The batch file in Example <a + href="apd.html#ex.dvidxx" + title="Example D.3. dvidxx.btm">Example D.3</a> + in Appendix <a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a>, + <span class="emphasis"><em><a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a></em></span>, + is a replacement for <b>dvidrv</b>. It uses + <b>ps2pk</b><a id="id2930120" class="indexterm" + name="id2930120"></a> to make <tt>PK</tt> versions of + PostScript Type 1 fonts if an appropriate + <tt>PFB</tt> file can be found. Otherwise, it calls + <b>MFjob</b> in the same way that <b>dvidrv</b> does.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.netemtex" + name="sec.netemtex"></a>Installing emTeX on a + Network</h3> + </div> + </div> + + <p>Ordinarily, emTeX does not require write access to any + of its data files, so installation on a network<a + id="id2930180" class="indexterm" name="id2930180"></a> is + not a problem. The location of temporary files that must + be writable is controlled with environment variables. If + automatic font generation is being used, there are two + applicable cautions.</p> + + <p>First, if you use the batch file approach to automatic + font generation in order to support different rendering + software, be aware that your batch file must handle the + fact that multiple files may be written to the same + directory from different users. Don't let filenames + collide.</p> + + <p>Second, it is ideal if you can provide a single + world-writable location for automatically generated + fonts. If multiple users are working with similar + documents, each will not need private copies of the fonts + they require. If your networking software tracks the time + of last file access, you can determine which files to + delete from this global font area on a regular basis.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2930222" + name="id2930222"></a>texas</h2> + </div> + </div> + + <p><b>texas</b><a id="id2930235" class="indexterm" + name="id2930235"></a> is a 32-bit MS-DOS version of TeX. It + is a big TeX. Unlike <b>tex386</b>, which comes with emTeX, + the <b>texas</b> executable uses a royalty-free, commercial + DOS extender. The advantage of this extender is that it can + run under Windows and other protected-mode environments + such as DESQview.</p> + + <p>Before you install <b>texas</b>, you should get a + complete TeX system from some other location (emTeX or + gTeX, for example). The <b>texas</b> distribution does not + include anything other than the TeX executable and the + MS-DOS extender---no format files, no input files, + nothing.</p> + + <p>The <span class="emphasis"><em>-i</em></span> switch + runs <b>texas</b> in iniTeX<a id="id2930301" + class="indexterm" name="id2930301"></a> mode. Using the + instructions from Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>, + you should be able to build new format files for use with + <b>texas</b> if you have another TeX distribution to work + from.</p> + + <p><b>texas</b> uses the following environment <a + id="id2930352" class="indexterm" name="id2930352"></a><a + id="id2930362" class="indexterm" name="id2930362"></a> + variables:</p> + + <div class="variablelist"> + <dl> + <dt><span class="term"><tt>TEXINPUTS</tt></span></dt> + + <dd> + <p><a id="id2930395" class="indexterm" + name="id2930395"></a>Defines the directories that + <b>texas</b> uses when searching for TeX input files. + You would typically leave the defaults in this path + and extend it with directories of your own in place + of <tt>C:{\bs}MYTEX</tt>.</p> + </dd> + + <dt><span class="term"><tt>TEXFORMATS</tt><a + id="id2930448" class="indexterm" + name="id2930448"></a></span></dt> + + <dd> + <p>Specifies where <b>texas</b> looks for format + files. Typically you would leave this set as is and + add new format files to that directory.</p> + </dd> + + <dt><span class="term"><tt>TEXFONTS</tt><a + id="id2930492" class="indexterm" + name="id2930492"></a></span></dt> + + <dd> + <p>TeX uses the directories stored in this variable + when searching for <tt>TFM</tt> files for fonts used + in your documents. If you install new fonts, you + should put the <tt>TFM</tt> files in their own + directory and add the name of that directory to the + <tt>TEXFONTS</tt> path.</p> + </dd> + + <dt><span class="term"><tt>TEXPOOL</tt><a + id="id2930555" class="indexterm" + name="id2930555"></a></span></dt> + + <dd> + <p>Specifies where <b>texas</b> looks for its pool + file. Unless you have installed <b>texas</b> in an + unusual way, you will not have to change this + setting.</p> + </dd> + + <dt><span class="term"><tt>DOS4GVM</tt><a + id="id2930602" class="indexterm" + name="id2930602"></a></span></dt> + + <dd> + <p><b>texas</b> uses a DOS extender<a id="id2930630" + class="indexterm" name="id2930630"></a> to overcome + memory limitations under MS-DOS. If the extender runs + out of memory, it writes parts of the memory-image + that it is maintaining out to disk. This environment + variable specifies where that information should be + written. You do not usually need to change this + setting.</p> + </dd> + </dl> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2930652" + name="id2930652"></a>sbTeX</h2> + </div> + </div> + + <p>sbTeX<a id="id2930661" class="indexterm" + name="id2930661"></a> is another MS-DOS implementation of + TeX. The <tt>sb38tex</tt><a id="id2930680" + class="indexterm" name="id2930680"></a> distribution + includes TeX and iniTeX executables, <tt>TFM</tt> files for + the Computer Modern Roman fonts, and TeX sources for the + Plain TeX format. This is TeX version 3.141. You will have + to get DVI drivers and other TeX tools from a different + package.</p> + + <p>The <tt>sb32xet</tt><a id="id2930712" class="indexterm" + name="id2930712"></a> distribution is \XeT version + 3.1.<sup>[<a id="id2930721" name="id2930721" + href="#ftn.id2930721">125</a>]</sup> The source files for + the \XeT <tt>nailp</tt> format are included, as well as the + supporting files for Hebrew.</p> + + <p>The <tt>sbmf13</tt><a id="id2930746" class="indexterm" + name="id2930746"></a> distribution is MetaFont version + 2.71. Only the sources for the Plain MetaFont base file are + provided. Like the sbTeX distribution, this is a very + minimal set of files. Only the <b>GFtoPK</b><a + id="id2930763" class="indexterm" name="id2930763"></a> + utility is included; all of the other MetaFont programs you + need will have to be obtained from another package.</p> + + <p>The default directories for sbTeX are <tt>\bs TEX\bs + INPUTS</tt> for input files, <tt>\bs TEX\bs FORMATS</tt> + for format files, and <tt>{\bs TEX\bs FONTTFMS}</tt> for + <tt>TFM</tt> files. The default drive is C:, but that can + be changed with the <b>sb38set</b> program.</p> + + <p>You can also modify these paths by setting the + <tt>TEXINPUTS</tt> environment variable<a id="id2930826" + class="indexterm" name="id2930826"></a><a id="id2930839" + class="indexterm" name="id2930839"></a> for input files, + the <tt>FMTSB</tt> environment variable for format files, + and the <tt>FONTTFMS</tt> environment variable for + <tt>TFM</tt> files. Additionally, sbTeX uses the + <tt>SBFTMP</tt> environment variable to determine where + temporary files should be located if font caching is + performed. Here is a more complete description of sbTeX's + environment variables:</p> + + <div class="variablelist"> + <dl> + <dt><span class="term"><tt>TEXINPUTS</tt></span></dt> + + <dd> + <p><a id="id2930903" class="indexterm" + name="id2930903"></a>Defines the directories that + sbTeX uses when searching for TeX input files. You + would typically leave the defaults in this path and + extend it with directories of your own in place of + <tt>C:{\bs}MYTEX</tt>.</p> + </dd> + + <dt><span class="term"><tt>FMTSB</tt><a id="id2930949" + class="indexterm" name="id2930949"></a></span></dt> + + <dd> + <p>Specifies where sbTeX looks for format files. + Typically you would leave this set as it is and add + new format files to that directory.</p> + </dd> + + <dt><span class="term"><tt>FONTTFMS</tt><a + id="id2930987" class="indexterm" + name="id2930987"></a></span></dt> + + <dd> + <p>TeX uses the directories stored in this variable + when searching for <tt>TFM</tt> files for fonts used + in your documents. If you install new fonts, you + should put the <tt>TFM</tt> files for these fonts in + their own directory and add the name of that + directory to the <tt>FONTTFMS</tt> path.</p> + </dd> + + <dt><span class="term"><tt>SBFTMP</tt><a id="id2931046" + class="indexterm" name="id2931046"></a></span></dt> + + <dd> + <p>When font-caching is enabled, sbTeX writes cached + information to disk when it runs out of memory. This + environment variable specifies where that information + should be written. You do not usually need to change + this setting.</p> + </dd> + </dl> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2931076" + name="id2931076"></a>gTeX</h2> + </div> + </div> + + <p>The gTeX<a id="id2931085" class="indexterm" + name="id2931085"></a> package is distributed in two ways. + One way is intended to supplement (actually, replace part + of) the emTeX distribution. The advantage of gTeX + executables over emTeX is that they will run under Windows. + The 386 versions of emTeX executables will not run under + Windows. On the other hand, although gTeX will run in an + MS-DOS session under OS/2, only the emTeX executables will + actually run in a native OS/2 session. The other + distribution is a complete set of <tt>TFM</tt> files, + source, and input files for Plain TeX, LaTeX, and AMSTeX. + In either distribution, you must get DVI drivers and some + ancillary programs from another complete package (like + emTeX).</p> + + <p>The following programs are included in the gTeX + distribution:</p> +<pre class="screen"> +\begin{tabular}{lll} +&BibTeX; & <command>GFtoPK</command> & <command>VFtoVP</command> \\ +<command>DVItype</command> & <command>MFT</command> & <command>VPtoVF</command> \\ +<command>DVIcopy</command> & <command>PKtoGF</command> \ & <command>MakeIndx</command> \\ +<command>GFtoDVI</command> \ & <command>PKtype</command> & &MF; \\[2pt] +\multicolumn{3}{l}{\program{amSpell} (a third party spell-checker, not traditionally part of \TeX)}\\[2pt] +\multicolumn{3}{l}{\program{MEwin} (an Emacs-like editor for Windows, also not traditionally part of \TeX)}\\ +\end{tabular} +</pre> + + <p>The gTeX executables use the same environment + variables<a id="id2931134" class="indexterm" + name="id2931134"></a><a id="id2931160" class="indexterm" + name="id2931160"></a> as emTeX.</p> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2920364" name="ftn.id2920364" + href="#id2920364">122</a>]</sup> {Hence the spider on the + cover, by the way.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2928486" name="ftn.id2928486" + href="#id2928486">123</a>]</sup> {One of the reasons I + don't recommend it is that it isn't easy to determine + precisely what the compiled-in defaults are, and they may + change without notice.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2929756" name="ftn.id2929756" + href="#id2929756">124</a>]</sup> {Earlier versions of + <tt>tex386.exe</tt> had the <tt>emx</tt> extender + “bound” into the executable, which made the + process more complicated. The <tt>emx</tt> extender had + to be unbound before the new one could be used.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2930721" name="ftn.id2930721" + href="#id2930721">125</a>]</sup> {\XeT is a variant of + TeX that can typeset in both left-to-right and + right-to-left modes.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 14. Commercial Environments" + href="ch14.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Part III. A Tools + Overview </td> + + <td width="20%" align="center"><a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 14. Commercial Environments</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch14.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch14.html new file mode 100644 index 00000000000..fd0de2a07ff --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch14.html @@ -0,0 +1,866 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 14. Commercial Environments</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt03.html" + title="Part III. A Tools Overview" /> + <link rel="previous" href="ch13.html" + title="Chapter 13. Non-commercial Environments" /> + <link rel="next" href="ch15.html" + title="Chapter 15. TeX on the Macintosh" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 13. Non-commercial Environments" + href="ch13.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 15. TeX on the Macintosh" + href="ch15.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.commercialtex" + name="chap.commercialtex"></a>Chapter 14. Commercial + Environments</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>There are several commercial versions<a id="id2924356" + class="indexterm" name="id2924356"></a> of TeX on the market. + The advantage of commercial programs over free ones is that + they provide an automated installation procedure and some + level of technical support. There's no reason to believe that + a commercial implementation of TeX is necessarily better than + a free one (or vice versa, for that matter) because the + source code for TeX is in the public domain.</p> + + <p>The following sections highlight several commercial + implementations of TeX.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.com.turbo" name="sec.com.turbo"></a>µTeX by + ArborText</h2> + </div> + </div> + + <p>ArborText<a id="id2924394" class="indexterm" + name="id2924394"></a> sells µTeX<a id="id2924249" + class="indexterm" name="id2924249"></a> for MS-DOS<a + id="id2924260" class="indexterm" name="id2924260"></a> + systems as well as an implementation of TeX for unix + workstations. The ArborText previewer and DVI driver + software are also available for both unix and MS-DOS + systems. The following discussion is based on experiences + with µTeX version 3.14B, the MS-DOS implementation of + ArborText's TeX package.</p> + + <p>The µTeX package is a complete TeX implementation for + MS-DOS. The additional utilities, <b>PLtoTF</b><a + id="id2924296" class="indexterm" name="id2924296"></a>, + <b>TFtoPL</b><a id="id2924310" class="indexterm" + name="id2924310"></a>, and BibTeX<a id="id2924318" + class="indexterm" name="id2924318"></a>, are also included. + Neither MetaFont nor <b>MakeIndex</b> is provided.</p> + + <p>The default installation of µTeX creates format files + for Plain TeX and LaTeX. To be as fast as possible, µTeX + creates executable versions of TeX for each of these + formats; these versions have the appropriate macro packages + preloaded into the executable. You can use the standard + notation to load alternate macro packages if you wish to + save disk space.</p> + + <p>ArborText includes a lot of support for using TeX for + non-English documents<a id="id2931362" class="indexterm" + name="id2931362"></a>. Several files of international + hyphenation patterns (English, French<a id="id2931375" + class="indexterm" name="id2931375"></a>, German<a + id="id2931383" class="indexterm" name="id2931383"></a>, + Dutch<a id="id2931392" class="indexterm" + name="id2931392"></a>, and Portuguese<a id="id2931400" + class="indexterm" name="id2931400"></a>) are provided, as + well as reprints of the TUGboat articles describing new + features of TeX version 3.0 and virtual fonts.</p> + + <p>Designed for an MS-DOS environment having only limited + memory, µTeX uses a swap file (potentially located in EMS<a + id="id2931415" class="indexterm" name="id2931415"></a> or + XMS memory<a id="id2931426" class="indexterm" + name="id2931426"></a>) to process large files. Several + environment variables can be used to alter the size of + internal TeX data structures when a new format is being + produced. In terms of big and small versions, µTeX can be + configured either way. These choices are made when you + create the format file however, so you will need to use + iniTeX<a id="id2931434" class="indexterm" + name="id2931434"></a> (included with µTeX) to make a + “bigger” TeX.</p> + + <p>One of the most interesting features of µTeX is a + quick-and-dirty preview mode provided by the TeX + executable. After at least one page of your document has + been processed, you can switch to a preview mode and see + what the page looks like while TeX continues processing + your document. This previewer is not particularly + attractive, but it's quick and easy to use. No other + previewer is provided. ArborText sells a fully functional + previewer as a separate package.</p> + + <p>To print your documents, you must purchase or obtain a + DVI driver separately. ArborText sells two drivers, one for + HP LaserJet printers and another for PostScript printers. + The µTeX distribution includes a complete set of + <tt>TFM</tt> files, but it does not include any <tt>PK</tt> + files.</p> + + <p>The ArborText previewer is summarized in the section + called “<a href="ch09.html#sec.arb.preview" + title="TeX Preview">the section called “TeX + Preview”</a>” in Chapter <a + href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>, + <span class="emphasis"><em><a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a></em></span>. + The ArborText printer drivers, <b>DVILASER/HP</b><a + id="id2931542" class="indexterm" name="id2931542"></a> and + <b>DVILASER/PS</b><a id="id2931556" class="indexterm" + name="id2931556"></a>, are described in Chapter <a + href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a>, + <span class="emphasis"><em><a href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a></em></span>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2931589" + name="id2931589"></a>\yyTeX</h2> + </div> + </div> + + <p>\yyTeX<a id="id2931596" class="indexterm" + name="id2931596"></a> is an MS-DOS<a id="id2931608" + class="indexterm" name="id2931608"></a> implementation of + TeX by Y&Y Inc.<a id="id2931622" class="indexterm" + name="id2931622"></a> (a 386 or higher processor is + required). \yyTeX is sold as a bundled package with + <b>DVIWindo</b><a id="id2931641" class="indexterm" + name="id2931641"></a>, <b>dvipsone</b><a id="id2931655" + class="indexterm" name="id2931655"></a>,<sup>[<a + id="id2931663" name="id2931663" + href="#ftn.id2931663">126</a>]</sup> and a set of + PostScript fonts (either the Computer Modern fonts, the + Lucida Bright and Lucida New Math fonts, or the MathTime + fonts). The installation provides format files for Plain + TeX and LaTeX.</p> + + <p>\yyTeX stands out among TeX systems because of its + memory management. Unlike other TeX systems, which exist in + big and small versions, all of \yyTeX's memory management + is dynamic. All of the buffers that TeX uses (main memory, + font memory, string memory, etc.) will expand to meet the + needs of the most complex documents you create. The memory + required for hyphenation patterns is dynamically allocated + as well, which means that you can construct multilingual + formats with as many sets of hyphenation patterns as you + need (multilingual formats are discussed in more detail in + Chapter <a href="ch07.html" + title="Chapter 7. International Considerations">Chapter 7</a>, + <span class="emphasis"><em><a href="ch07.html" + title="Chapter 7. International Considerations">Chapter 7</a></em></span>). + The advantage of dynamic memory management over a fast and + big TeX is that \yyTeX starts out small (big TeXs reserve a + large fixed amount of memory even when processing simple + jobs that don't require very much). In a multitasking + environment where several programs are competing for + memory, one large program can slow the progress of the + entire system. \yyTeX's memory manager supports XMS<a + id="id2931742" class="indexterm" name="id2931742"></a>, + VCPI<a id="id2931757" class="indexterm" + name="id2931757"></a>, and DPMI<a id="id2931765" + class="indexterm" name="id2931765"></a>. This means that it + can run under MS-DOS with any of the common memory managers + and under Windows, Windows NT, and DOS sessions in OS/2<a + id="id2931776" class="indexterm" name="id2931776"></a><a + id="id2931789" class="indexterm" name="id2931789"></a><a + id="id2931802" class="indexterm" name="id2931802"></a>.</p> + + <p>\yyTeX has a couple of additional strengths for + multilingual use: it supports customizable input character + translation and more than 255 internal font numbers. Most + versions of TeX only support a maximum of 255 fonts in any + single document.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2931820" + name="id2931820"></a>Textures</h2> + </div> + </div> + + <p><b>Textures</b><a id="id2931838" class="indexterm" + name="id2931838"></a> is a commercial implementation of TeX + for the Macintosh<a id="id2931846" class="indexterm" + name="id2931846"></a> distributed by Blue Sky Research<a + id="id2931862" class="indexterm" name="id2931862"></a>. It + is described fully in Chapter <a href="ch15.html" + title="Chapter 15. TeX on the Macintosh">Chapter 15</a>, + <span class="emphasis"><em><a href="ch15.html" + title="Chapter 15. TeX on the Macintosh">Chapter 15</a></em></span>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2931894" + name="id2931894"></a>TurboTeX</h2> + </div> + </div> + + <p>TurboTeX<a id="id2931902" class="indexterm" + name="id2931902"></a> is a complete TeX system for MS-DOS<a + id="id2931914" class="indexterm" name="id2931914"></a><a + id="id2931927" class="indexterm" name="id2931927"></a> with + full support for Microsoft Windows. It is distributed by + the Kinch Computer Company<a id="id2931943" + class="indexterm" name="id2931943"></a>. The programs + included in TurboTeX version 3.0 are shown in Table <a + href="ch14.html#tab.turbotex" + title="Table 14.1. TurboTeX Programs">Table 14.1</a>. + The <b>dvideo</b> and <b>wdviwin</b> previewers are + described in Chapter <a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>.</p> + + <div class="table"> + <a id="tab.turbotex" name="tab.turbotex"></a> + + <p class="title"><b>Table 14.1. TurboTeX + Programs</b></p> + + <table summary="TurboTeX Programs" border="1"> + <colgroup> + <col /> + <col /> + </colgroup> + + <thead> + <tr> + <th>Program</th> + + <th>Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td><tt>dvialw</tt><sup>[<a id="tab.turbotex.ftn" + name="tab.turbotex.ftn" + href="#ftn.tab.turbotex.ftn">a</a>]</sup></td> + + <td>A PostScript DVI driver</td> + </tr> + + <tr> + <td><tt>dvideo</tt></td> + + <td>An EGA (non-Windows) previewer</td> + </tr> + + <tr> + <td><tt>wdviwin</tt></td> + + <td>A Windows previewer</td> + </tr> + + <tr> + <td><tt>dvielq</tt><sup>[<a + href="#ftn.tab.turbotex.ftn">a</a>]</sup></td> + + <td>An Epson LQ driver</td> + </tr> + + <tr> + <td><tt>dvieps</tt><sup>[<a + href="#ftn.tab.turbotex.ftn">a</a>]</sup></td> + + <td>An Epson/IBM graphics printer driver</td> + </tr> + + <tr> + <td><tt>dvijep</tt><sup>[<a + href="#ftn.tab.turbotex.ftn">a</a>]</sup></td> + + <td>An HP LaserJet PLus/Series II driver</td> + </tr> + + <tr> + <td><tt>dvijet</tt><sup>[<a + href="#ftn.tab.turbotex.ftn">a</a>]</sup></td> + + <td>An HP LaserJet/DeskJet driver</td> + </tr> + + <tr> + <td><tt>dvilj4</tt><sup>[<a + href="#ftn.tab.turbotex.ftn">a</a>]</sup></td> + + <td>An HP LaserJet 4 driver</td> + </tr> + + <tr> + <td><tt>initex</tt><sup>[<a + href="#ftn.tab.turbotex.ftn">a</a>]</sup></td> + + <td>iniTeX for building new format files</td> + </tr> + + <tr> + <td><tt>latex</tt><sup>[<a + href="#ftn.tab.turbotex.ftn">a</a>]</sup></td> + + <td>TeX with the LaTeX format preloaded</td> + </tr> + + <tr> + <td><tt>tex</tt><sup>[<a + href="#ftn.tab.turbotex.ftn">a</a>]</sup></td> + + <td>TeX with the Plain format preloaded</td> + </tr> + + <tr> + <td><tt>texidx</tt></td> + + <td>The GNU TeX indexing program</td> + </tr> + + <tr> + <td><tt>tif2hp</tt></td> + + <td>Converts TIFF bitmapped graphics to HP LaserJet + bitmaps</td> + </tr> + + <tr> + <td><tt>virtex</tt><sup>[<a + href="#ftn.tab.turbotex.ftn">a</a>]</sup></td> + + <td>TeX with no format preloaded</td> + </tr> + </tbody> + + <tbody class="footnotes"> + <tr> + <td colspan="2"> + <div class="footnote"> + <p><sup>[<a id="ftn.tab.turbotex.ftn" + name="ftn.tab.turbotex.ftn" + href="#tab.turbotex.ftn">a</a>]</sup> Windows + version included.</p> + </div> + </td> + </tr> + </tbody> + </table> + </div> + + <p>The Microsoft Windows version of TurboTeX is a superset + of the DOS version (you must install both, but you can + delete the non-Windows executable programs that have + Windows versions, if you wish).</p> + + <p>TurboTeX includes a complete MetaFont distribution. In + addition to the programs shown in Table <a + href="ch14.html#tab.turbomf" + title="Table 14.2. Turbo\protect\TeX \protect\MF Programs"> + Table 14.2</a>, the complete sources for the Computer + Modern, LaTeX, and \AmS-fonts are also provided.</p> + + <div class="table"> + <a id="tab.turbomf" name="tab.turbomf"></a> + + <p class="title"> + <b>Table 14.2. Turbo\protect\TeX \protect\MF + Programs</b></p> + + <table summary="Turbo\protect\TeX \protect\MF Programs" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Program</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it gftodvi\x</td> + + <td align="left">Creates proof sheets of MetaFont + characters</td> + </tr> + + <tr> + <td align="left">\it inimf</td> + + <td align="left">MetaFont with no base file + preloaded</td> + </tr> + + <tr> + <td align="left">\it mfscript</td> + + <td align="left">A script generator (for building + multiple fonts)</td> + </tr> + + <tr> + <td align="left">\it mfcga</td> + + <td align="left">MetaFont for CGA displays</td> + </tr> + + <tr> + <td align="left">\it mfhga</td> + + <td align="left">MetaFont for Hercules + displays</td> + </tr> + + <tr> + <td align="left">\it gftopk\x</td> + + <td align="left">Converts <tt>GF</tt> files to + <tt>PK</tt> files</td> + </tr> + </tbody> + </table> + </div> + + <p>At the time of this writing, a new version of TurboTeX + is actively being developed. Unfortunately, it was not + available for review in time for this edition of <span + class="emphasis"><em>Making TeX Work</em></span>. The Kinch + Computer Company claims that the next release will include + a big TeX running under Windows 3.1/Win32s and Windows NT + as a native, protected-mode 32-bit application. A new + Windows previewer will also be available, and it takes + advantage of Windows “multiple document + interface” to preview multiple documents in the same + session. Kinch will also provide a set of the standard + Computer Modern Fonts in TrueType and Type 1 formats.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="sec.pctex" + name="sec.pctex"></a>PCTeX</h2> + </div> + </div> + + <p>PCTeX<a id="id2932539" class="indexterm" + name="id2932539"></a> is a complete TeX system for MS-DOS<a + id="id2932551" class="indexterm" name="id2932551"></a> + distributed by Personal TeX, Inc.<a id="id2932565" + class="indexterm" name="id2932565"></a> It is one of two + offerings from PTI. The version for Windows is described + later in this chapter.</p> + + <p>PCTeX is sold in two configurations. The PCTeX Starter + System includes the latest releases of PCTeX and + PCTeX/386<a id="id2932582" class="indexterm" + name="id2932582"></a>, <b>PTI View</b><a id="id2932607" + class="indexterm" name="id2932607"></a> (for previewing), + one printer driver with the appropriate Computer Modern + fonts in <tt>PK</tt> format, <span + class="emphasis"><em>LaTeX For + Everyone</em></span> [<a + href="bi01.html#jh:latexforeveryone">jh:latexforeveryone</a>], + and the sources for Plain TeX, LaTeX, and AMSTeX. The PCTeX + Laser System includes Big PCTeX/386, LaserJet, LaserJet 4, + PostScript and DeskJet printer drivers (along with a + complete set of Computer Modern fonts in <tt>PK</tt> format + at 300dpi and 600dpi), and the <span + class="emphasis"><em>PC TeX Manual</em></span>, in addition + to everything contained in the Starter System.</p> + + <p>The discussion that follows is based on experiences with + the PCTeX Starter System with PCTeX version 3.14 and the + <b>PTI Laser/HP</b> DVI driver.</p> + + <p>In addition to the TeX executables and macro packages + mentioned above, PCTeX includes these standard TeX + utilities: BibTeX<a id="id2932675" class="indexterm" + name="id2932675"></a>, <b>PLtoTF</b><a id="id2932694" + class="indexterm" name="id2932694"></a>, <b>TFtoPL</b><a + id="id2932708" class="indexterm" name="id2932708"></a>, + <b>PXtoPK</b><a id="id2932722" class="indexterm" + name="id2932722"></a>, and <b>PKtoPX</b><a id="id2932735" + class="indexterm" name="id2932735"></a>. It does not + include any of the other standard utilities or the + <b>MakeIndex</b> processor. MetaFont is available as a + separate package (although it is being discontinued, so it + may not be available for long).</p> + + <p>Several additional features make PCTeX an attractive + commercial alternative:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>It uses a text-based “menu system” for + processing documents. This program makes the + edit/format/preview cycle a simple matter of + selecting the appropriate menu item. Figure <a + href="ch14.html#fig.pcmenu" + title="Figure 14.1. The PCTeX menu system">Figure 14.1</a> + shows this system in use.</p> + + <div class="figure"> + <a id="fig.pcmenu" name="fig.pcmenu"></a> + + <p class="title"><b>Figure 14.1. The + PCTeX menu system</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + </li> + + <li> + <p>Support is provided for Bitstream fonts<a + id="id2932819" class="indexterm" + name="id2932819"></a>. Bitstream<a id="id2932830" + class="indexterm" name="id2932830"></a> is a vendor + of high-quality scalable typefaces. The utilities + included with PCTeX allow you to create <tt>TFM</tt> + and <tt>PK</tt> files from Bitstream compressed + outline fonts.</p> + </li> + + <li> + <p>If you prepare multilingual documents, you'll + appreciate the attention they receive in the PCTeX + documentation. Although the ability to compose + multilingual documents is really a feature of TeX + version 3, not PCTeX in particular, PTI provides + step-by-step instructions for building a multilingual + format file. Support files for English, French<a + id="id2932869" class="indexterm" + name="id2932869"></a>, and Spanish<a id="id2932885" + class="indexterm" name="id2932885"></a> are + included.</p> + </li> + </ul> + </div> + + <p>PTI's previewer, <b>PTI View</b>, is described in + Chapter <a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>, + <span class="emphasis"><em><a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a></em></span>. + The <b>PTI Laser/HP</b> and <b>PTI Laser/PS</b> printer + drivers are discussed in Chapter <a href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a>, + <span class="emphasis"><em><a href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a></em></span>. + Drivers for DeskJet and Epson printers are also + available.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.pctexforwin" name="sec.pctexforwin"></a>PCTeX + For Windows</h2> + </div> + </div> + + <p>PCTeX For Windows<a id="id2932979" class="indexterm" + name="id2932979"></a><a id="id2932991" class="indexterm" + name="id2932991"></a> is a new offering from Personal TeX, + Inc.<a id="id2933006" class="indexterm" + name="id2933006"></a> PCTeX For Windows is a superset of + Personal TeX's MS-DOS version of PCTeX.</p> + + <p>This version of PCTeX is an integrated system with a + built-in editor (with complete on-line help), previewer, + and push-button access to PCTeX for composing your + documents. Figure <a href="ch14.html#fig.wpctex" + title="Figure 14.2. PCTeX For Windows editing and previewing a LaTeX document"> + Figure 14.2</a> shows PCTeX For Windows in action.</p> + + <div class="figure"> + <a id="fig.wpctex" name="fig.wpctex"></a> + + <p class="title"><b>Figure 14.2. PCTeX For + Windows editing and previewing a LaTeX document</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p><b>PCTeX For Windows</b> includes a complete set of + Computer Modern and \AmS fonts in scalable TrueType format. + This allows PCTeX to print directly to any printer (or + other device) supported by Microsoft Windows. To provide + better access to other TrueType fonts that you may have + installed, PCTeX includes a <tt>TFM</tt> generator for + TrueType fonts. This generator is shown in Figure <a + href="ch14.html#fig.wpctextttotf" + title="Figure 14.3. PCTeX For Windows TrueType font metric builder"> + Figure 14.3</a>.</p> + + <div class="figure"> + <a id="fig.wpctextttotf" name="fig.wpctextttotf"></a> + + <p class="title"><b>Figure 14.3. PCTeX For + Windows TrueType font metric builder</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p>Except for the <b>PXtoPK</b> and <b>PKtoPX</b> + utilities, <b>PCTeX For Windows</b> has all of the features + of the MS-DOS version of PCTeX.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2933148" + name="id2933148"></a>Scientific Word</h2> + </div> + </div> + + <p><b>Scientific Word</b><a id="id2933161" + class="indexterm" name="id2933161"></a>, a commercial + package from TCI Software Research<a id="id2933174" + class="indexterm" name="id2933174"></a>, bridges the gap + between TeX and word processing by providing a more or less + WYSIWYG interface on top of TeX. <b>Scientific Word</b> + requires Microsoft Windows<a id="id2933192" + class="indexterm" name="id2933192"></a>. Figure <a + href="ch14.html#fig.sciword" + title="Figure 14.4. Editing a document with Scientific Word "> + Figure 14.4</a> shows a sample document being edited + by <b>Scientific Word</b>.</p> + + <div class="figure"> + <a id="fig.sciword" name="fig.sciword"></a> + + <p class="title"><b>Figure 14.4. Editing a + document with Scientific Word</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p><b>Scientific Word</b> is a powerful program that might + prove to be invaluable in some circumstances. An ideal + candidate for <b>Scientific Word</b> is someone with little + or no desire to learn TeX, but who wants professional + quality output for documents containing a lot of + mathematics. <b>Scientific Word</b> is not simply a fast, + interactive previewer; it really is a visual editor that + produces TeX code behind the scenes. You enter document + elements (even complex elements like mathematics) in an + interactive push-button fashion, and <b>Scientific Word</b> + translates it into the appropriate LaTeX input. This is + very different from Blue Sky Research's <b>Textures</b> + where the user types in TeX but has nearly instantaneous + feedback.</p> + + <p>Unfortunately, the complexity of TeX vastly exceeds + <b>Scientific Word's</b> ability to act as a visual editor, + and this leads to a number of potentially confusing + discrepancies. For example, in a TeX document, the + \parindent and \parskip control sequences control the + indentation of the first line of a paragraph and the + distance between paragraphs. In <b>Scientific Word</b>, the + on-screen appearance of the document is controlled + separately. This difference is apparent in Figure <a + href="ch14.html#fig.sciword" + title="Figure 14.4. Editing a document with Scientific Word "> + Figure 14.4</a>, where the paragraphs appear to be + indented with no additional space between them, and + Figure <a href="ch14.html#fig.commercial.swpreview" + title="Figure 14.5. Preview of the Scientific Word document shown in Figure "> + Figure 14.5</a> (the same document shown in the + previewer) where the paragraphs are not indented but have + additional space between them.</p> + + <p>These discrepancies arise because <b>Scientific Word</b> + was designed with the same philosophy as LaTeX: separation + of content and form. The purpose of the <b>Scientific + Word</b> editor is to allow you to organize your thoughts + and perfect the content of your document. It is the job of + LaTeX, in conjunction with the document style options that + you select, to perfect the appearance of your document. The + display shown in Figure <a + href="ch14.html#fig.sciword" + title="Figure 14.4. Editing a document with Scientific Word "> + Figure 14.4</a> is not incorrect in any way, it just + isn't WYSIWYG. TCI Research claims that “by going + beyond WYSIWYG, <b>Scientific Word</b> allows you to focus + on the creative process $…$ and not the layout + commands necessary to typeset [your document].”</p> + + <div class="figure"> + <a id="fig.commercial.swpreview" + name="fig.commercial.swpreview"></a> + + <p class="title"><b>Figure 14.5. Preview of the + Scientific Word document shown in Figure <a + href="ch14.html#fig.sciword" + title="Figure 14.4. Editing a document with Scientific Word "> + Figure 14.4</a></b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p>When <b>Scientific Word</b> encounters TeX code that it + does not understand, it leaves a labelled grey box in the + display (you can see two such boxes above the chapter title + “Unsolved Problems” in Figure <a + href="ch14.html#fig.sciword" + title="Figure 14.4. Editing a document with Scientific Word "> + Figure 14.4</a>).<sup>[<a id="id2933466" + name="id2933466" href="#ftn.id2933466">127</a>]</sup> This + means that you can edit all of the TeX code in your + document from within <b>Scientific Word</b>, and small + amounts of customization do not require abandoning the + program. The <b>Scientific Word</b> technical reference, + included online with the program, describes how you can + tailor <b>Scientific Word</b> to recognize many of your + customizations.</p> + + <p>Behind the scenes, <b>Scientific Word</b> documents are + processed by a full-fledged TeX processor (TurboTeX<a + id="id2933511" class="indexterm" name="id2933511"></a> by + the Kinch Computer Company<a id="id2933524" + class="indexterm" name="id2933524"></a>). This includes + integrated document formatting and previewing under + Windows. Starting with version 1.1 of <b>Scientific + Word</b>, instructions are included to switch to a + different version of TeX, or different previewers and DVI + drivers, if you prefer.</p> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2931663" name="ftn.id2931663" + href="#id2931663">126</a>]</sup> {<b>DVIWindo</b> is + described in Chapter <a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>, + and <b>dvipsone</b> is described in Chapter <a + href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a>.}</p> + </div> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2933466" name="ftn.id2933466" + href="#id2933466">127</a>]</sup> {I forced the issue of + unrecognized control sequences by inserting \parskip and + \parindent control sequences into the body of the + document. They really belong in a document style + option.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 13. Non-commercial Environments" + href="ch13.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 15. TeX on the Macintosh" + href="ch15.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 13. Non-commercial + Environments </td> + + <td width="20%" align="center"><a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 15. TeX on the Macintosh</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch15.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch15.html new file mode 100644 index 00000000000..339ed29bd3f --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch15.html @@ -0,0 +1,958 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 15. TeX on the Macintosh</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt03.html" + title="Part III. A Tools Overview" /> + <link rel="previous" href="ch14.html" + title="Chapter 14. Commercial Environments" /> + <link rel="next" href="ch16.html" + title="Chapter 16. TeX Utilities" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 14. Commercial Environments" + href="ch14.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Chapter 16. TeX Utilities" + href="ch16.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.mac" + name="chap.mac"></a>Chapter 15. TeX on the + Macintosh</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p><a id="id2931284" class="indexterm" + name="id2931284"></a>For the most part, using TeX on the + Macintosh is like using TeX on any other system. Certainly, + the TeX documents that you edit are the same, and the output + (on paper) is the same as the output from any other version + of TeX.</p> + + <p>However, because they are immersed in a consistent + graphical environment, Macintosh tools have a substantially + different appearance from their non-graphical + counterparts.<sup>[<a id="id2931310" name="id2931310" + href="#ftn.id2931310">128</a>]</sup></p> + + <p>There are four implementations of TeX available for the + Macintosh. Of these four, one is commercial, two are + shareware, and one is (mostly) free. The following sections + present an overview of each implementation, in alphabetical + order.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.Excalibur" + name="sec.Excalibur"></a>CMacTeX</h2> + </div> + </div> + + <p>The CMacTeX<a id="id2931194" class="indexterm" + name="id2931194"></a> package includes the most recent + versions of TeX and MetaFont and all of the standard tools. + A port of \dvips\index{dvips!for Macintosh} is also + included, as well as a <tt>DVI</tt> previewer and a + <b>PrintPS<a id="id2931222" class="indexterm" + name="id2931222"></a></b> tool for printing PostScript + files directly to a LaserWriter printer over AppleTalk.</p> + + <p>Each utility is a straightforward port of its unix + counterpart. Command-line options have been replaced by + standard Mac dialog boxes and menus where appropriate. TeX + has been extended to include a built-in editor, although it + is not necessary to use that editor if you have another + favorite.</p> + + <p>By design, CMacTeX is a very modular package. This makes + it easy to substitute different tools, or different ports + of the same tools, where it is advantageous to do so. For + example, you can use <b>MacGS<a id="id2931255" + class="indexterm" name="id2931255"></a></b><a + id="id2933708" class="indexterm" name="id2933708"></a> (a + Macintosh version of <b>Ghostscript</b>) as a previewer if + you like.</p> + + <p>Small versions of TeX, iniTeX, MetaFont, and + <b>iniMF</b> are provided in the free distribution of + CMacTeX. Big versions are available only in a commercial + distribution purchased directly from the author. At the + time of this writing, the commercial distribution is + available on diskettes and via email. The commercial + version also provides fully automated font generation (see + “<a href="ch05.html#sec.autofont" + title="Automatic Font Generation by DVI Drivers">the + section called “Automatic Font Generation by DVI + Drivers”</a>” in Chapter <a + href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>) + and faster versions of TeX and MetaFont.</p> + + <p>The configuration files<a id="id2933780" + class="indexterm" name="id2933780"></a> used by CMacTeX + resemble the environment variables used by implementations + of TeX on other systems. You can set up multiple search + folders for input files and fonts, for example, by + providing a list of folder names separated by colons.</p> + + <p>Table <a href="ch15.html#tab.mac.cmacdist" + title="Table 15.1. Summary of the \protect\cmactex Distribution at CTAN"> + Table 15.1</a> summarizes the CMacTeX version 2.1 + distribution available on the CTAN archives (in + <tt>systems/mac/cmactex</tt>) as of July, 1993. The + top-level folders and their contents are presented, not a + list of the archive files that form the distribution.</p> + + <div class="table"> + <a id="tab.mac.cmacdist" name="tab.mac.cmacdist"></a> + + <p class="title"><b>Table 15.1. Summary of the + \protect\cmactex Distribution at CTAN</b></p> + + <table + summary="Summary of the \protect\cmactex Distribution at CTAN" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Folder</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it TeX</td> + + <td align="left">Small versions of TeX</td> + </tr> + + <tr> + <td align="left">\it Metafont</td> + + <td align="left">Small versions of MetaFont</td> + </tr> + + <tr> + <td align="left">\it view\</td> + + <td align="left">print</td> + + <td><tt>DVI</tt> previewer and <b>PrintPS</b></td> + </tr> + + <tr> + <td align="left">\it dvips5516</td> + + <td align="left">Complete distribution of \dvips, + version 5.516.</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it Utilities</td> + + <td align="left">All of the standard \texware and + \mfware utilities</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it ams</td> + + <td align="left">Versions of AMSTeX and + AMSLaTeX</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it ams-pk</td> + + <td align="left">\AmS-fonts in <tt>PK</tt> + format</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it ams-tfm</td> + + <td align="left"><tt>TFM</tt> files for the + \AmS-fonts</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it amsfonts</td> + + <td align="left">MetaFont sources for version 2.0 + of the \AmS-fonts</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it tfms</td> + + <td align="left"><tt>TFM</tt> files for the CMR and + LaTeX fonts</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it cmpk300</td> + + <td align="left">The CMR fonts in <tt>PK</tt> + format</td> + + <td class="auto-generated"> </td> + </tr> + + <tr> + <td align="left">\it lpk300</td> + + <td align="left">The LaTeX extensions to CMR in + <tt>PK</tt> format</td> + + <td class="auto-generated"> </td> + </tr> + </tbody> + </table> + </div> + + <p>The installation instructions for CMacTeX are easy to + understand, but you will have to configure CMacTeX before + you try to use it. Unfortunately, the default configuration + files do not reflect the layout of folders that results + directly from unpacking the archive files.</p> + + <p>CMacTeX includes a prebuilt format file for Plain TeX, + but if you want to use LaTeX, you will have to build the + format file with iniTeX first.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2934116" + name="id2934116"></a>DirectTeX</h2> + </div> + </div> + + <p>DirectTeX<a id="id2934125" class="indexterm" + name="id2934125"></a> <a id="id2934136" class="indexterm" + name="id2934136"></a> is a Macintosh Programmer's Workshop + (MPW)<a id="id2934152" class="indexterm" + name="id2934152"></a> based TeX package. It is distributed + in archive files containing eight disk images. You will + have to copy each disk image onto a diskette (using a tool + provided) before you can install DirectTeX.</p> + + <p>Because I don't have access to a Mac with MPW installed, + there is very little that I can say about DirectTeX at this + point.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2934176" + name="id2934176"></a>OzTeX</h2> + </div> + </div> + + <p>OzTeX<a id="id2934185" class="indexterm" + name="id2934185"></a> is a complete TeX package that + includes an integrated <tt>DVI</tt> previewer. OzTeX can + print TeX <tt>DVI</tt> files directly to any printer + selected by the <b>Chooser<a id="id2934223" + class="indexterm" name="id2934223"></a></b>. Because OzTeX + does not include MetaFont, you may need to get from some + other source <tt>PK</tt> files at a resolution appropiate + for your printer. The standard OzTeX distribution includes + a complete set of <tt>PK</tt> files<a id="id2934253" + class="indexterm" name="id2934253"></a> for 300dpi and + 360dpi printers.</p> + + <p>A default configuration file and a selection of + specialized configuration files for different printers and + environments are provided with OzTeX. The distinction + between big and small implementations of TeX has been + replaced by configurable memory limits<a id="id2934277" + class="indexterm" name="id2934277"></a>. With enough RAM + and appropriate configuration, you should be able to get + OzTeX to process any TeX file you give it.</p> + + <p>OzTeX includes a simple text editor called + <b>$\Sigma$Edit<a id="id2934309" class="indexterm" + name="id2934309"></a></b>, but you can replace it with any + editor you choose. Table <a + href="ch15.html#tab.mac.oztexdist" + title="Table 15.2. Summary of the \protect\oztex Distribution at CTAN"> + Table 15.2</a> summarizes the OzTeX version 1.5 + distribution available on the CTAN archives (in + <tt>systems/mac/oztex</tt>) as of July, 1993. The top-level + folders and their contents are given, not a list of the + archive files that form the distribution.</p> + + <div class="table"> + <a id="tab.mac.oztexdist" name="tab.mac.oztexdist"></a> + + <p class="title"><b>Table 15.2. Summary of the + \protect\oztex Distribution at CTAN</b></p> + + <table + summary="Summary of the \protect\oztex Distribution at CTAN" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Folder</th> + + <th align="left">\bf Contents</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it Configs</td> + + <td align="left">Configuration files</td> + </tr> + + <tr> + <td align="left">\it TeX-formats</td> + + <td align="left">Format files for Plain TeX and + LaTeX</td> + </tr> + + <tr> + <td align="left">\it TeX-fonts</td> + + <td align="left"><tt>TFM</tt> files for CMR, LaTeX, + and PostScript fonts</td> + </tr> + + <tr> + <td align="left">\it Help-files</td> + + <td align="left">Online help files</td> + </tr> + + <tr> + <td align="left">\it PS-files</td> + + <td align="left">PostScript sources for OzTeX's + PostScript built-in driver</td> + </tr> + + <tr> + <td align="left">\it TeX-docs</td> + + <td align="left">Example TeX files</td> + </tr> + + <tr> + <td align="left">\it LaTeX-docs</td> + + <td align="left">LaTeX sources for a 26 page User's + Guide to OzTeX</td> + </tr> + + <tr> + <td align="left">\it $\Sigma$Edit</td> + + <td align="left">A simple text editor desk + accessory</td> + </tr> + + <tr> + <td align="left">\it TeX-inputs</td> + + <td align="left">Input files for Plain TeX and + LaTeX</td> + </tr> + + <tr> + <td align="left">\it PK-files</td> + + <td align="left">A set of <tt>PK</tt> files for + 300dpi and 360dpi printers</td> + </tr> + </tbody> + </table> + </div> + + <p>The OzTeX <tt>DVI</tt> printer recognizes \special + commands for inserting PICT<a id="id2934565" + class="indexterm" name="id2934565"></a>, PNTG<a + id="id2934574" class="indexterm" name="id2934574"></a> + (<b>MacPaint</b>), and EPSF<a id="id2934589" + class="indexterm" name="id2934589"></a> images into your + documents. Provision is also made for including raw + PostScript code if the selected printer is a PostScript<a + id="id2934601" class="indexterm" name="id2934601"></a> + printer.</p> + + <p>OzTeX is a shareware program. If you continue to use it + after a reasonable trial period, you are expected to + purchase it.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2934618" + name="id2934618"></a>Textures</h2> + </div> + </div> + + <p><b>Textures<a id="id2934631" class="indexterm" + name="id2934631"></a></b> is a commercial implementation of + TeX from Blue Sky Research<a id="id2934639" + class="indexterm" name="id2934639"></a>. It has a number of + features that make it unique in the TeX market. It is + supported by a complete user's guide and access to + telephone and email product support.</p> + + <p>Textures supports an interactive preview mode called + <span class="emphasis"><em>Lightning</em></span> Textures<a + id="id2934662" class="indexterm" name="id2934662"></a><a + id="id2934669" class="indexterm" name="id2934669"></a>. It + is this feature that really sets Textures apart from other + implementations. In this mode, changes to your document are + reflected immediately in the preview window. In an + environment with sufficient resources (memory and + processing speed), the result is striking. Constructing + complex items like tables and mathematical formulae is much + easier, especially for the TeX novice, than using the + conventional edit, TeX, preview, debug cycle. Because the + log file is also visible, it's easy to see when you've + written erroneous TeX code.</p> + + <p>Note that <span class="emphasis"><em>Lightning + Textures</em></span> is not really a WYSIWYG environment + (like <b>Scientific Word</b>, for example) because you + still enter regular TeX commands in a purely textual + fashion. You get immediate feedback in a different + window.</p> + + <p>Textures is fast. Extensive instrumentation and + hand-tuning of the program has produced an executable that + is several (maybe many) times faster than other TeX + executables on similar hardware.</p> + + <p>A complete set of Computer Modern Roman fonts is + provided in Adobe Type 1 format. This means that any + font can be rendered at any size without loss of quality. + PostScript versions of the \AmS-fonts are also available. + The fonts can be purchased separately in either Macintosh + or Adobe <tt>PFB</tt> formats.</p> + + <p>Textures is a very integrated environment. This can + hardly be labelled a disadvantage considering how well it + works, but it does mean that some extra effort is required + if you want access to your document in a less integrated + fashion. Using another editor to compose your document is + possible, but it prevents you from using <span + class="emphasis"><em>Lighting</em></span> Textures. + Starting with version 1.6, the Textures editor includes a + macro programming language, so you can customize it with + features that you find useful. Blue Sky Research provides + the tools you need to incorporate other fonts into TeX or + extract TeX files (like <tt>DVI</tt> files) that are + normally hidden from view by Textures.</p> + + <p>Figure <a href="ch15.html#fig.mac.textures" + title="Figure 15.1. Editing, previewing, and typesetting in Textures"> + Figure 15.1</a> shows an example of a Textures + session. The preview quality in this image is less than + optimal because the Macintosh that Textures is running on + does not have Adobe Type Manager.</p> + + <div class="figure"> + <a id="fig.mac.textures" name="fig.mac.textures"></a> + + <p class="title"><b>Figure 15.1. Editing, + previewing, and typesetting in Textures</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + + <p>Because the Computer Modern Roman fonts are included in + Adobe Type 1 format, MetaFont is not provided in the + Textures package. Recently, BSR made their version of + MetaFont freely available. BSR's MetaFont was designed to + work with Textures, and creates output files that are + suitable for Textures, but not necessarily the standard + <tt>GF</tt> and <tt>TFM</tt> files you might expect. Those + files can be obtained elsewhere, of course.</p> + + <p>The Textures package includes implementations of many + auxiliary TeX programs including BibTeX<a id="id2934846" + class="indexterm" name="id2934846"></a>, <b>MakeIndex<a + id="id2934864" class="indexterm" name="id2934864"></a></b>, + the <b>Excalibur<a id="id2934878" class="indexterm" + name="id2934878"></a></b> spellchecker (see the “<a + href="ch15.html#sec.Excalibur" title="CMacTeX">the section + called “CMacTeX”</a>” section later in + this chapter), a <b>DVITool<a id="id2934906" + class="indexterm" name="id2934906"></a></b> for importing + and exporting <tt>DVI</tt> files, and font tools for + importing and exporting fonts. (Because Textures doesn't + use <tt>PK</tt> files directly, the standard \mfware tools + are not provided.) The Textures font tools are freely + available from Blue Sky Research; see the “<a + href="ch15.html#sec.bsrtools" title="BSR Font Tools">the + section called “BSR Font Tools”</a>” + section later in this chapter. Textures also supports + virtual fonts.</p> + + <p>Textures includes the Eplain<a id="id2934956" + class="indexterm" name="id2934956"></a> and Midnight<a + id="id2934964" class="indexterm" name="id2934964"></a> + macro packages in addition to Plain TeX and LaTeX. iniTeX + is built into Textures, so you can make additional format + files as described in Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>. + Making format files with Textures requires a Macintosh Plus + or other system with at least 1Mb of memory.</p> + + <p>The Textures previewer and printing operations + understand bitmap or scalable (EPSF) pictures inserted into + your document with \special commands. Although not visible + on the previewer, raw PostScript can also be inserted for + documents printed on PostScript devices.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2935013" + name="id2935013"></a>Other Tools</h2> + </div> + </div> + + <p>The following sections describe Macintosh versions of + other common tools. Some of these programs are unique to + the Mac, while others are ports of tools from other + systems.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2935026" + name="id2935026"></a>Alpha</h3> + </div> + </div> + + <p><b>Alpha<a id="id2935040" class="indexterm" + name="id2935040"></a></b> is a sophisticated shareware + editor for text files. <b>Alpha</b> uses <b>Tcl<a + id="id2935061" class="indexterm" + name="id2935061"></a></b>, an interpreted C-like + language, as a macro programming language for extending + the editor. LaTeX support, which is written in + <b>Tcl</b>, is very complete. An example of the + <b>Alpha</b> editor is shown in Figure <a + href="ch15.html#fig.mac.alpha" + title="Figure 15.2. Alpha editing the fonts chapter from this book"> + Figure 15.2</a>.</p> + + <div class="figure"> + <a id="fig.mac.alpha" name="fig.mac.alpha"></a> + + <p class="title"><b>Figure 15.2. Alpha + editing the fonts chapter from this book</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2935128" + name="id2935128"></a>BBEdit</h3> + </div> + </div> + + <p><b>BBEdit<a id="id2935142" class="indexterm" + name="id2935142"></a></b> is another shareware editor. + Like <b>Alpha</b>, it has a wide range of features + including a LaTeX-aware editing mode. An example of the + <b>BBEdit</b> editor is shown in Figure <a + href="ch15.html#fig.mac.bbedit" + title="Figure 15.3. \program{BBEdit} editing the fonts chapter from this book"> + Figure 15.3</a>.</p> + + <div class="figure"> + <a id="fig.mac.bbedit" name="fig.mac.bbedit"></a> + + <p class="title"> + <b>Figure 15.3. \program{BBEdit} editing the + fonts chapter from this book</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.bsrtools" + name="sec.bsrtools"></a>BSR Font Tools</h3> + </div> + </div> + + <p>The Macintosh Programmer's Workshop (MPW)<a + id="id2935216" class="indexterm" name="id2935216"></a> is + required to use the Blue Sky Research Font Tools. These + tools were written for Textures users so that they could + make other fonts, like those created with MetaFont, for + example, usable in Textures. In practice however, they + create standard Macintosh font resources, so the + resulting fonts can be used by any Mac application. + Table <a href="ch15.html#tab.mac.bsrtools" + title="Table 15.3. Font Tools in the BSR package"> + Table 15.3</a> describes the tools included in the + <b>BSR Font Tools<a id="id2935252" class="indexterm" + name="id2935252"></a></b> package.</p> + + <div class="table"> + <a id="tab.mac.bsrtools" name="tab.mac.bsrtools"></a> + + <p class="title"><b>Table 15.3. Font Tools in + the BSR package</b></p> + + <table summary="Font Tools in the BSR package" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Tool</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it GFtoPK</td> + + <td align="left">Converts MetaFont <tt>GF</tt> + files into standard <tt>PK</tt> format</td> + </tr> + + <tr> + <td align="left">\it PKtoFOND</td> + + <td align="left">Creates Mac FOND resource from + <tt>PK</tt> and <tt>TFM</tt> files</td> + </tr> + + <tr> + <td align="left">\it TFMtoSuit</td> + + <td align="left">Creates a font metrics + suitcase</td> + </tr> + + <tr> + <td align="left">\it NFNTcon</td> + + <td align="left">Finds NFNT resource numbering + conflicts</td> + </tr> + + <tr> + <td align="left">\it TFtoPL</td> + + <td align="left">Converts <tt>TFM</tt> files into + <tt>PL</tt> files</td> + </tr> + + <tr> + <td align="left">\it PLtoTF</td> + + <td align="left">Translates <tt>PL</tt> files + (back) into <tt>TFM</tt> files</td> + </tr> + </tbody> + </table> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2935468" + name="id2935468"></a>Excalibur</h3> + </div> + </div> + + <p><b>Excalibur<a id="id2935481" class="indexterm" + name="id2935481"></a></b> is a spellchecker designed to + work with LaTeX documents. An example of <b>Excalibur</b> + is shown in Figure <a + href="ch15.html#fig.mac.Excalibur" + title="Figure 15.4. \program{Excalibur} spellchecking the fonts chapter from this book"> + Figure 15.4</a>.</p> + + <div class="figure"> + <a id="fig.mac.Excalibur" name="fig.mac.Excalibur"></a> + + <p class="title"> + <b>Figure 15.4. \program{Excalibur} + spellchecking the fonts chapter from this book</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2935534" + name="id2935534"></a>HyperBibTeX</h3> + </div> + </div> + + <p><a id="id2935542" class="indexterm" + name="id2935542"></a>This is a hypercard stack for + maintaining bibliographic databases <a id="id2935554" + class="indexterm" name="id2935554"></a> <a id="id2935565" + class="indexterm" name="id2935565"></a> suitable for use + with BibTeX<a id="id2935577" class="indexterm" + name="id2935577"></a>. BibTeX is described in + Chapter <a href="ch12.html" + title="Chapter 12. Bibliographies, Indexes, and Glossaries"> + Chapter 12</a>, <span class="emphasis"><em><a + href="ch12.html" + title="Chapter 12. Bibliographies, Indexes, and Glossaries"> + Chapter 12</a></em></span>. An example of + HyperBibTeX is shown in Figure <a + href="ch15.html#fig.mac.hyperbib" + title="Figure 15.5. The \program{Hyper\BibTeX} view of a bibliographic database"> + Figure 15.5</a>.</p> + + <div class="figure"> + <a id="fig.mac.hyperbib" name="fig.mac.hyperbib"></a> + + <p class="title"><b>Figure 15.5. The + \program{Hyper\BibTeX} view of a bibliographic + database</b></p> +<pre class="screen"> +FIXME: +</pre> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2935646" + name="id2935646"></a>MacGS</h3> + </div> + </div> + + <p><b>MacGS<a id="id2935659" class="indexterm" + name="id2935659"></a></b> is a Macintosh port of GNU + <b>Ghostscript</b><a id="id2935673" class="indexterm" + name="id2935673"></a>, described in Chapter <a + href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>, + <span class="emphasis"><em><a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a></em></span>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2935708" + name="id2935708"></a>dvidvi</h3> + </div> + </div> + + <p><b>dvidvi<a id="id2935720" class="indexterm" + name="id2935720"></a></b> is a Macintosh port of the + <b>dvidvi</b> utility for rearranging pages in a + <tt>DVI</tt> file.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2935748" + name="id2935748"></a>MacDVIcopy</h3> + </div> + </div> + + <p><b>MacDVIcopy<a id="id2935761" class="indexterm" + name="id2935761"></a></b> is a port of the <b>DVICOPY<a + id="id2935775" class="indexterm" + name="id2935775"></a></b> utility, which transforms + virtual font references in a <tt>DVI</tt> file into the + appropriate non-virtual fonts or commands. This allows + DVI drivers and previewers that lack support for virtual + fonts to preview documents that use them.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2935800" + name="id2935800"></a>MacBibTeX</h3> + </div> + </div> + + <p>MacBibTeX<a id="id2935808" class="indexterm" + name="id2935808"></a> is a port of the standard BibTeX + utility for accessing bibliographic databases in a + document. BibTeX is described in Chapter <a + href="ch12.html" + title="Chapter 12. Bibliographies, Indexes, and Glossaries"> + Chapter 12</a>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2935830" + name="id2935830"></a>MacMakeIndex</h3> + </div> + </div> + + <p><b>MacMakeIndex<a id="id2935843" class="indexterm" + name="id2935843"></a></b> is a port of the standard + <b>MakeIndex</b> for creating sorted, multilevel indexes + in a document. <b>MakeIndex</b> is described in + Chapter <a href="ch12.html" + title="Chapter 12. Bibliographies, Indexes, and Glossaries"> + Chapter 12</a>.</p> + </div> + </div> + + <div class="footnotes"> + <br /> + <hr width="100" align="left" /> + + <div class="footnote"> + <p><sup>[<a id="ftn.id2931310" name="ftn.id2931310" + href="#id2931310">128</a>]</sup> {I'm not going to argue + about the relative merits of graphical and non-graphical + environments or particular implementations of graphical + environments. When all is said and done, the Mac <span + class="emphasis"><em>is</em></span> different. At least + today.}</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 14. Commercial Environments" + href="ch14.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 16. TeX Utilities" + href="ch16.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 14. Commercial Environments </td> + + <td width="20%" align="center"><a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 16. TeX Utilities</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/ch16.html b/Master/texmf-doc/doc/english/make-tex-work/html/ch16.html new file mode 100644 index 00000000000..8ab8648ab09 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/ch16.html @@ -0,0 +1,1805 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Chapter 16. TeX Utilities</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="pt03.html" + title="Part III. A Tools Overview" /> + <link rel="previous" href="ch15.html" + title="Chapter 15. TeX on the Macintosh" /> + <link rel="next" href="apa.html" + title="Appendix A. Filename Extension Summary" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 15. TeX on the Macintosh" + href="ch15.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a + title="Appendix A. Filename Extension Summary" + href="apa.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="chapter"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="chap.utils" + name="chap.utils"></a>Chapter 16. TeX + Utilities</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + <hr class="component-separator" /> + </div> + + <p>This chapter offers a brief summary of a large number of + TeX utilities (some more commonly used than others). Some of + these programs are mentioned elsewhere in this book in + connection with the particular tasks that they perform.</p> + + <p>Although many programs are described in this chapter, + there is no way that it can be entirely complete. There are + just too many programs on CTAN for me to be familiar with + <span class="emphasis"><em>all</em></span> of them. This list + is representative of the collection of programs present in + the archives during the winter of 1993. Regrettably, programs + not documented in English are not included at this time. Take + the time to explore the CTAN archives yourself; you won't be + disappointed.</p> + + <div class="sidebar"> + <p class="title"><b>Use the Web, Luke!</b></p> + + <p>One of the most convenient online tools for searching + the archives is the World Wide Web (WWW) interface + available at <tt>http://jasper.ora.com/ctan.html</tt>. The + WWW interface is constructed automatically from the most + recent list of files in the CTAN archives with annotations + taken from this chapter from the <tt>TeX-index</tt>, and + from the <tt>ctan.dat</tt> descriptions maintained by the + CTAN archivists.</p> + </div> + + <p>This chapter attempts to describe only part of the + archives. Here are some of the things that are <span + class="emphasis"><em>not</em></span> described in this + chapter:</p> + + <div class="itemizedlist"> + <ul type="disc"> + <li> + <p>The thirty or more packages in the + <tt>archive-tools</tt> directory. This directory + contains sources and executables for almost every + archiving tool imaginable. If you retrieve a file from + an FTP site and you don't have the tool necessary to + unpack it, you'll probably find it in here. You'll also + find other archive-related programs like an FTP server + and the <b>Gopher</b> sources.</p> + </li> + + <li> + <p>Files from the <tt>digests</tt>, + <tt>documentation</tt>, and <tt>help</tt> directories. + These are collections of electronic digests, documents, + and articles that discuss aspects of TeX. They are + recommended reading.</p> + </li> + + <li> + <p>Files from the <tt>fonts</tt> directory. These are + summarized in Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>.</p> + </li> + + <li> + <p>Files from the <tt>languages</tt> directory. These + are summarized in Chapter <a href="ch07.html" + title="Chapter 7. International Considerations"> + Chapter 7</a>, <span class="emphasis"><em><a + href="ch07.html" + title="Chapter 7. International Considerations"> + Chapter 7</a></em></span>.</p> + </li> + + <li> + <p>The many special macro files in the <tt>macros</tt> + subtree. Many macro formats are described in + Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>.</p> + </li> + + <li> + <p>Architecture-specific applications from the + <tt>systems</tt> subtree. These include applications + for Amiga, Atari, Macintosh, MS-DOS, OS/2, unix, VMS, + and Xenix systems. The Common-TeX distribution is also + available under this directory, as well as the standard + TeX distributions by Knuth. archiving tool imaginable. + If you retrieve a file from an FTP site and you don't + have the tool necessary to unpack it, you'll probably + find it in here. You'll also find other archive-related + programs like an FTP server and the <b>Gopher</b> + sources.</p> + </li> + + <li> + <p>Files from the <tt>digests</tt>, + <tt>documentation</tt>, and <tt>help</tt> directories. + These are collections of electronic digests, documents, + and articles that discuss aspects of TeX. They are + recommended reading.</p> + </li> + + <li> + <p>Files from the <tt>fonts</tt> directory. These are + summarized in Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>.</p> + </li> + + <li> + <p>Files from the <tt>languages</tt> directory. These + are summarized in Chapter <a href="ch07.html" + title="Chapter 7. International Considerations"> + Chapter 7</a>, <span class="emphasis"><em><a + href="ch07.html" + title="Chapter 7. International Considerations"> + Chapter 7</a></em></span>.</p> + </li> + + <li> + <p>The many special macro files in the <tt>macros</tt> + subtree. Many macro formats are described in + Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>.</p> + </li> + </ul> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2936355" + name="id2936355"></a>List of Tools</h2> + </div> + </div> + + <p>These tools are available in the CTAN archives in the + directories specified. This list is sorted by CTAN path + name so that related utilities appear near each other.</p> + + <p> + \package{bib2dvi}{bib2dvi}{sh}{biblio/bibtex/utils/bib2dvi}</p> + + <p><b>bib2dvi</b> is a shell script that creates a + printable listing of an entire BibTeX database.</p> + + <p> + \package{bibcard}{bibcard}{C}{biblio/bibtex/utils/bibcard}</p> + + <p><b>bibcard</b> is an X11 based database editor for + BibTeX databases. This is an OpenWindows application + requiring the <tt>xview</tt> and <tt>olgx</tt> + libraries.</p> + + <p> + \package{bibclean}{bibclean}{}{biblio/bibtex/utils/bibclean}</p> + + <p><b>bibclean</b> syntax-checks and pretty-prints a BibTeX + database.</p> + + <p> + \package{bibextract}{bibextract}{}{biblio/bibtex/utils/bibextract}</p> + + <p><b>bibextract</b> extracts bibliographic entries from a + list of BibTeX databases based upon a user-supplied regular + expression.</p> + + <p> + \package{citefind}{citefind}{}{biblio/bibtex/utils/bibextract}</p> + + <p><b>citefind</b> extracts bibliographic entries from a + list of BibTeX databases based upon a user-supplied list of + keys.</p> + + <p> + \package{citetags}{citetags}{}{biblio/bibtex/utils/bibextract}</p> + + <p><b>citetags</b> extracts citation tags from a list of + LaTeX source files. These tags can be fed to + <b>citefind</b> to produce a bibliography database + customized for a particular document.</p> + + <p> + \package{bibindex}{bibindex}{}{biblio/bibtex/utils/bibindex}</p> + + <p><b>bibindex</b> creates a bibliographic index for the + <b>biblook</b> program.</p> + + <p> + \package{biblook}{biblook}{}{biblio/bibtex/utils/bibindex}</p> + + <p><b>biblook</b> uses a binary index constructed by + <b>bibindex</b> to perform very fast lookups into BibTeX + databases.</p> + + <p> + \package{bibsort}{bibsort}{}{biblio/bibtex/utils/bibsort}</p> + + <p><b>bibsort</b> sorts a BibTeX database.</p> + + <p> + \package{bibtool}{bibtool}{}{biblio/bibtex/utils/bibtool}</p> + + <p><b>bibtool</b> performs a number of operations on BibTeX + databases. It can pretty-print and syntax-check a database, + automatically build new keys, extract particular entries, + sort a database, and perform a number of other operations. + The operation of <b>bibtool</b> can be customized with one + or more resource files.</p> + + <p> + \package{aux2bib}{aux2bib}{}{biblio/bibtex/utils/bibtools}</p> + + <p><b>aux2bib</b> extracts citations from a LaTeX + <tt>AUX</tt> file and constructs a bibliography that + contains only the entries required by the document.</p> + + <p> + \package{bibify}{bibify}{}{biblio/bibtex/utils/bibtools}</p> + + <p><b>bibify</b> attempts to generate an <tt>AUX</tt> file + that contains appropriate references for citations. This + eliminates one LaTeX pass over the document and may be much + faster for large documents. <b>bibify</b> cannot handle + documents that use multiple <tt>AUX</tt> files.</p> + + <p> + \package{bibkey}{bibkey}{}{biblio/bibtex/utils/bibtools}</p> + + <p>Lists all entries in a BibTeX database that contain a + particular keyword in the keyword field.</p> + + <p> + \package{cleantex}{cleantex}{}{biblio/bibtex/utils/bibtools}</p> + + <p>Deletes temporary files (<tt>AUX</tt>, <tt>LOF</tt>, + etc.) created by LaTeX.</p> + + <p> + \package{looktex}{looktex}{}{biblio/bibtex/utils/bibtools}</p> + + <p>Lists all BibTeX database entries that match a specified + regular expression.</p> + + <p> + \package{makebib}{makebib}{}{biblio/bibtex/utils/bibtools}</p> + + <p><b>makebib</b> creates a “portable” BibTeX + database by performing string substitutions, removing + comments, and optionally discarding all entries that do not + match a given list of keys.</p> + + <p> + \package{printbib}{printbib}{}{biblio/bibtex/utils/bibtools}</p> + + <p><b>printbib</b> creates a printable listing of an entire + BibTeX database. <b>printbib</b> is also available in the + <tt>biblio/bibtex/utils/printbib</tt> directory.</p> + + <p> + \package{bibview}{bibview}{Perl}{biblio/bibtex/utils/bibview}</p> + + <p><b>bibview</b> is an interactive Perl script that allows + you to view and search through a BibTeX database.</p> + + <p> + \package{HyperBibTeX}{HyperBibTeX}{}{biblio/bibtex/utils/hyperbibtex}</p> + + <p><b>HyperBibTeX</b> is a Macintosh tool for manipulating + BibTeX databases.</p> + + <p> + \package{bibdestringify}{bibdestringify}{}{biblio/bibtex/utils/lookbibtex}</p> + + <p><b>bibdestringify</b> performs BibTeX string + substitution on a BibTeX database.</p> + + <p> + \package{lookbibtex}{lookbibtex}{}{biblio/bibtex/utils/lookbibtex}</p> + + <p>Lists all BibTeX database entries that match a specified + regular expression.</p> + + <p>\package{r2bib}{r2bib}{C}{biblio/bibtex/utils/r2bib}</p> + + <p><b>r2bib</b> converts <b>refer</b> databases into BibTeX + databases.</p> + + <p> + \package{ref2bib}{ref2bib}{Perl}{biblio/bibtex/utils/ref2bib}</p> + + <p><b>ref2bib</b> converts <b>refer</b> databases into + BibTeX databases.</p> + + <p> + \package{xbibtex}{xbibtex}{}{biblio/bibtex/utils/xbibtex}</p> + + <p><b>xbibtex</b> is an X11 program for manipulating BibTeX + databases.</p> + + <p>\package{Public Doman DVI Driver + Family}{*}{C}{dviware/beebe}</p> + + <p>A collection of <tt>DVI</tt> drivers. This code has been + used as the basis for many other <tt>DVI</tt>-aware + programs. Table <a href="ch16.html#tab.util.beebedr" + title="Table 16.1. The Public Doman DVI Driver Family"> + Table 16.1</a> summarizes the drivers included in this + package.</p> + + <div class="table"> + <a id="tab.util.beebedr" name="tab.util.beebedr"></a> + + <p class="title"><b>Table 16.1. The Public + Doman DVI Driver Family</b></p> + + <table summary="The Public Doman DVI Driver Family" + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Driver</th> + + <th align="left">\bf Description</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it dvialw</td> + + <td align="left">PostScript (Apple LaserWriter + laser printer)</td> + </tr> + + <tr> + <td align="left">\it dvibit</td> + + <td align="left">Version 3.10 BBN BitGraph + terminal</td> + </tr> + + <tr> + <td align="left">\it dvica2</td> + + <td align="left">Canon LBP-8 A2 laser printer</td> + </tr> + + <tr> + <td align="left">\it dvican</td> + + <td align="left">Canon LBP-8 A2 laser printer</td> + </tr> + + <tr> + <td align="left">\it dvidjp</td> + + <td align="left">Hewlett-Packard Desk Jet plus + (from LaserJet)</td> + </tr> + + <tr> + <td align="left">\it dvie72</td> + + <td align="left">Epson 9-pin family 240/216-dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvie72</td> + + <td align="left">Epson 9-pin family 60/72-dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvieps</td> + + <td align="left">Epson 9-pin family 240/216-dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvieps</td> + + <td align="left">Epson 9-pin family 60/72-dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvigd</td> + + <td align="left">Golden Dawn Golden Laser 100 laser + printer</td> + </tr> + + <tr> + <td align="left">\it dviimp</td> + + <td align="left">imPRESS (Imagen laser printer + family)</td> + </tr> + + <tr> + <td align="left">\it dvijep</td> + + <td align="left">Hewlett-Packard LaserJet Plus + laser printer</td> + </tr> + + <tr> + <td align="left">\it dvijet</td> + + <td align="left">Hewlett-Packard 2686A Laser Jet + laser printer</td> + </tr> + + <tr> + <td align="left">\it dvil3p</td> + + <td align="left">Digital LN03-PLUS 300 dpi laser + printer</td> + </tr> + + <tr> + <td align="left">\it dvil3p</td> + + <td align="left">Digital LN03-PLUS 150 dpi laser + printer</td> + </tr> + + <tr> + <td align="left">\it dvil75</td> + + <td align="left">DEC LA75 144h x 144v dot matrix + printer</td> + </tr> + + <tr> + <td align="left">\it dvil75</td> + + <td align="left">DEC LA75 72h x 72v dot matrix + printer</td> + </tr> + + <tr> + <td align="left">\it dvim72</td> + + <td align="left">Apple ImageWriter 144 dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvim72</td> + + <td align="left">Apple ImageWriter 72 dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvimac</td> + + <td align="left">Apple ImageWriter 144 dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvimac</td> + + <td align="left">Apple ImageWriter 72 dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvimpi</td> + + <td align="left">MPI Sprinter 144h x 144v dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvimpi</td> + + <td align="left">MPI Sprinter 72h x 72v dot matrix + printer</td> + </tr> + + <tr> + <td align="left">\it dvio72</td> + + <td align="left">OKIDATA Pacemark 2410 144 dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvio72</td> + + <td align="left">OKIDATA Pacemark 2410 72 dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvioki</td> + + <td align="left">OKIDATA Pacemark 2410 144 dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvioki</td> + + <td align="left">OKIDATA Pacemark 2410 72 dpi dot + matrix printer</td> + </tr> + + <tr> + <td align="left">\it dviprx</td> + + <td align="left">Printronix 300/600 60h x 72v dpi + dot matrix printer</td> + </tr> + + <tr> + <td align="left">\it dvitos</td> + + <td align="left">Toshiba P-1351 180h x 180v dpi dot + matrix printer</td> + </tr> + </tbody> + </table> + </div> + + <p>\package{bitpxl}{bitpxl}{C}{dviware/bitpxl}</p> + + <p>Converts HP LaserJet bitmaps into PXL files.</p> + + <p>\package{cdvi}{cdvi}{}{dviware/cdvi}</p> + + <p>MS-DOS <tt>DVI</tt> file previewer. Does not support + external fonts, but has 16 Computer Modern fonts built + in.</p> + + <p> + \package{Crudetype}{crudetype}{Web}{dviware/crudetype/version3}</p> + + <p>A <tt>DVI</tt>-to-text translator. <b>Crudetype</b> + attempts to make a readable <tt>DVI</tt> file. An + interactive mode is available on some platforms. A + 132-column display is expected for most output.</p> + + <p>\package{DVItoVDU}{dvgt, dvitovdu, + dvi2vdu}{C}{dviware/dvgt}</p> + + <p><b>DVItoVDU</b> is a terminal previewer for <tt>DVI</tt> + files. The <b>dvgt</b> version supports graphics preview + using various graphics terminals and limited typeset + preview on other terminals such as the VT100 and VT220. + Tektronix emulation allows remote previewing of + <tt>DVI</tt> files through Telnet or using Kermit from a + PC, for example.</p> + + <p>\package{DVI2PCL}{dvi2pcl}{C}{dviware/dvi2pcl}</p> + + <p>Translates <tt>DVI</tt> files into HP LaserJet + format.</p> + + <p>\package{dvi2ps}{}{C}{dviware/dvi2ps}</p> + + <p>There are a number of translators called <b>dvi2ps</b>. + Some appear to be older <tt>DVI</tt> to PostScript + translators supporting the MIT <tt>printcap</tt> entries + and Apple LaserWriter printers, while others offer support + for Asian fonts compatible with the tools used by the + Japanese TeX User's Group and the <b>chfont</b> program, + better support for built-in printer features, and faster + execution.</p> + + <p>\package{psdvi}{psdvi}{C}{dviware/dvi2ps/psdvi}</p> + + <p>This program translates <tt>DVI</tt> files into + resolution-independent PostScript files. This allows the + PostScript output to be printed on high-resolution + phototypesetting equipment. Many other + <tt>DVI</tt>-to-PostScript converters assume that the + output resolution is 300dpi, which makes the PostScript + more difficult, or impossible, to print on high-resolution + devices.</p> + + <p>Because bitmapped fonts are inherently + resolution-dependent, documents that use them cannot be + translated with this driver. This means that none of the + Computer Modern or \AmS fonts can be used unless you have + them in PostScript Type 1 format.</p> + + <p>\package{DVI2QMS}{dvi2qms}{C}{dviware/dvi2qms}</p> + + <p>Translates <tt>DVI</tt> files into output suitable for + QMS 800/1200/2400 printers.</p> + + <p>\package{DVI2TTY}{dvi2tty}{C}{dviware/dvi2tty}</p> + + <p>Translates <tt>DVI</tt> files into plain ASCII text.</p> + + <p>\package{dvi2xx}{dvilj2, dvilj2p, dvilj, dviljp, + dvi3812}{C}{dviware/dvi2xx}</p> + + <p>Translates <tt>DVI</tt> files into output suitable for + the HP LaserJet family of printers and compatible printers. + It also supports output to the IBM 3812 printer. MS-DOS and + OS/2 executables are provided.</p> + + <p>\package{dviapollo}{dviapollo}{C}{dviware/dviapollo}</p> + + <p>A screen previewer for Apollo workstations.</p> + + <p>\package{dvibit}{dvibit}{C}{dviware/dvibit}</p> + + <p>A screen previewer for BBN BitGraph terminals.</p> + + <p>\package{dvibook}{dvibook}{C}{dviware/dvibook}</p> + + <p>Rearranges <tt>DVI</tt> file pages into a sequence + suitable for printing and folding into a book. Actually, it + produces signatures, which are small groups of pages that + can be folded together. A signature is composed of several + folded pages; a book is composed of many signatures bound + together.</p> + + <p>\package{DVIChk}{dvichk}{C}{dviware/dvichk}</p> + + <p><b>DVIChk</b> examines a <tt>DVI</tt> file and prints + out the page numbers that occur in the document in the + order in which they occur. Pages in a <tt>DVI</tt> file do + not have to occur in any particular order.</p> + + <p>\package{DVICOPY}{dvicopy}{Web}{dviware/dvicopy}</p> + + <p>This program copies a <tt>DVI</tt> file that contains + references to virtual fonts and creates an equivalent + <tt>DVI</tt> file with all references to virtual fonts + translated into references to the appropriate non-virtual + fonts.</p> + + <p>\package{DVIDIS}{dvidis}{C}{dviware/dvidis}</p> + + <p>A <tt>DVI</tt> file previewer for VaxStations running + VMS.</p> + + <p>\package{dvidoc}{dvidoc}{C}{dviware/dvidoc}</p> + + <p>Translates <tt>DVI</tt> files into plain ASCII. Although + it does not attempt to form the same page breaks, it does + claim to get the interword spacing correct.</p> + + <p>\package{DVIDVI}{dvidvi}{C}{dviware/dvidvi}</p> + + <p>Rearranges pages in a <tt>DVI</tt> file. The resulting + file is a new <tt>DVI</tt> file containing only the + selected pages. A Macintosh executable is available in + <tt>dviware/dvidvi/mac</tt>.</p> + + <p>\package{DVIEW}{dview}{}{dviware/dview}</p> + + <p>A very old previewer for MS-DOS. This program relies on + <tt>PXL</tt> files and requires the antique Almost Modern + fonts to print the user manual.</p> + + <p>\package{DVIIMP}{dviimp}{Web}{dviware/dviimp}</p> + + <p>Translates <tt>DVI</tt> files into a format suitable for + printing on an Imagen printer. This program reads + <tt>GF</tt> files rather than <tt>PK</tt> files.</p> + + <p>\package{dvimerge}{dvimerge}{<span + class="emphasis"><em>sh</em></span>}{dviware/dvimerge}</p> + + <p><b>dvimerge</b> is a shell script (written in <b>sh</b>) + that uses <b>dvidvi</b> and <b>dviconcat</b> to merge two + <tt>DVI</tt> files together.</p> + + <p>\package{DVIMSWin}{dvimswin}{}{dviware/dvimswin}</p> + + <p>A <tt>DVI</tt> previewer for MS-DOS running Windows 3.1. + This program uses <tt>PK</tt> fonts at screen resolution. + These can be generated by MetaFont or obtained from the + <b>dvivga</b> distribution.</p> + + <p>\package{dvipage}{dvipage}{C}{dviware/dvipage}</p> + + <p>A <tt>DVI</tt> previewer for workstations running + SunView version 3.0 or later.</p> + + <p>\package{dvipj}{dvipj}{C}{dviware/dvipj}</p> + + <p>This program is a modification of the <b>dvijet</b> + driver that supports color printing on the HP PaintJet + printer. To build this program, you need source from the + Public Doman DVI Driver Family.</p> + + <p>\package{dvips}{afm2tfm, dvips}{C}{dviware/dvips}</p> + + <p>The <b>dvips</b> program is the de facto standard + <tt>DVI</tt> to PostScript translator. Several versions are + available, although the most recent release seems to offer + a superset of the features provided by all the other + versions.</p> + + <p>\package{dvipsk}{afm2tfm, dvipsk}{C}{dviware/dvipsk}</p> + + <p><b>dvipsk</b> is a modification of <b>dvips</b> version + 5.516 that supports an extended path searching algorithm + for <tt>PK</tt> fonts.</p> + + <p>\package{DVISUN}{dvisun}{C}{dviware/dvisun}</p> + + <p>A <tt>DVI</tt> previewer for Sun II terminals.</p> + + <p>\package{dvitodvi}{dvitodvi}{C}{dviware/dvitodvi}</p> + + <p>Rearranges pages in a <tt>DVI</tt> file, producing a new + <tt>DVI</tt> file.</p> + + <p>\package{dvitool}{dvitool}{C}{dviware/dvitool}</p> + + <p>A <tt>DVI</tt> previewer for workstations running + SunView.</p> + + <p>\package{dvitops}{psfont, pfbtops, aftopl, + dvitops}{C}{dviware/dvitops/dvitops}</p> + + <p><b>dvitops</b> is a <tt>DVI</tt>-to-PostScript + translator. <b>psfont</b> can be used to download + PostScript fonts. <b>pfbtops</b> decodes printer font + binary files into printer font ASCII files. <b>aftopl</b> + builds a <tt>PL</tt> file from a PostScript <tt>AFM</tt> + file. <tt>PL</tt> files can be further translated into + <tt>TFM</tt> files with the standard <b>PLtoTF</b> + utility.</p> + + <p>\package{dvitovdu}{dvitovdu}{C}{dviware/dvitovdu}</p> + + <p>A <tt>DVI</tt> previewer for terminals. <b>dvitovdu</b> + handles plain ASCII terminals as well as some graphics + terminals. Includes VMS and unix ports.</p> + + <p>\package{dvitovdu}{dvitovdu}{C}{dviware/dvitovdu32}</p> + + <p>Another version of the <b>dvitovdu</b> <tt>DVI</tt> + previewer for terminals. <b>dvitovdu</b> handles plain + ASCII terminals as well as some graphics terminals. This + version seems to read only <tt>PXL</tt> files.</p> + + <p>\package{dvitty}{dvitty}{Pascal}{dviware/dvitty}</p> + + <p>A simple previewer for ASCII display of <tt>DVI</tt> + files.</p> + + <p>\package{DVIVGA}{dvivga}{}{dviware/dvivga}</p> + + <p>The <b>DVIVGA</b> distribution includes a program for + previewing <tt>DVI</tt> files on PCs with EGA, VGA, or MCGA + displays. <b>DVIVGA</b> is derived from the Public Doman + DVI Driver Family. \pagebreak The <b>DVIVGA</b> + distribution also includes a full set of <tt>PK</tt> fonts + at many resolutions: 70, 76, 84, 92, 100, 110, 121, 132, + 145, 174, 208, 250, and 300dpi. Other previewers that + require <tt>PK</tt> fonts at screen resolution (typically + near 100dpi) can also use these fonts.</p> + + <p>\package{DVIWIN}{dviwin}{}{dviware/dviwin}</p> + + <p>A screen previewer for MS-DOS running Windows 3.1. This + program includes the ability to use emTeX <tt>FLI</tt> font + libraries.</p> + + <p>\goodbreak + \package{eps}{eps}{C}{dviware/epson/eps-0.2}</p> + + <p>Prints a <tt>DVI</tt> file on an Epson dot-matrix + printer. Some <tt>PK</tt> fonts at the appropriate + resolutions are included in + <tt>dviware/epson/epson</tt>.</p> + + <p>\package{ivd2dvi}{ivd2dvi}{C}{dviware/ivd2dvi}</p> + + <p>The TeX-\XeT driver produces <tt>IVD</tt> files, which + are like <tt>DVI</tt> files except that they use some + special commands to perform reflection, which allows them + to print <span + class="emphasis"><em>right-to-left</em></span>.</p> + + <p>This program translates an <tt>IVD</tt> file into a + standard <tt>DVI</tt> file by replacing all of the special + commands with standard <tt>DVI</tt> file commands.</p> + + <p>\package{dvijep}{dvijep}{C}{dviware/kane}</p> + + <p>Another <tt>DVI</tt>-to-HP LaserJet+ driver.</p> + + <p>\package{dvijep\_p}{dvijep\_p}{C}{dviware/kane}</p> + + <p>A modified version of <b>dvijep</b> with Centronics PP8 + workarounds <span class="emphasis"><em>removed</em></span> + where they might confuse a real LaserJet+ printer.</p> + + <p>\package{dvi2kyo}{dvi2kyo}{C}{dviware/kyocera}</p> + + <p>A <tt>DVI</tt> translator that produces Kyocera's native + Prescribe command language rather than relying on Kyocera's + somewhat limited HP LaserJet compatibility mode.</p> + + <p>\package{kyodev}{kyodev}{C}{dviware/kyocera}</p> + + <p>This DVI driver produces output in Kyocera's native + Prescribe format.</p> + + <p>\package{dviplus}{dviplus}{Web}{dviware/laserjet}</p> + + <p>An old <tt>DVI</tt>-to-HP LaserJet Plus translator that + uses <tt>PXL</tt> files.</p> + + <p>\package{LN03 Driver}{ln03dvi}{C}{dviware/ln03}</p> + + <p>Translates <tt>DVI</tt> files into a format suitable for + printing on a Digital LN03 printer.</p> + + <p>\package{PSPrint}{psprint}{Pascal}{dviware/psprint}</p> + + <p>A PostScript printing program that can handle + <tt>DVI</tt> files, raw PostScript files, or text files. + This program is a combined <tt>DVI</tt>-to-PostScript + translator and file-printing utility.</p> + + <p>unix and VMS sources are provided, but a Pascal compiler + is required.</p> + + <p>\package{QMS}{dvilg8, dviqms12, + ddviqms8}{}{dviware/qms}</p> + + <p>An old VMS <tt>DVI</tt> driver for QMS printers.</p> + + <p>\package{QuicSpool}{pktoch, tfm2difont, tfm2ofont, + dumpdesc, cati}{C}{dviware/quicspool}</p> + + <p>This is a collection of programs for printing files to + QMS and Talaris laser printers. Support for <tt>DVI</tt> + files is included.</p> + + <p>\package{SCREENVIEW}{crude}{Web}{dviware/screenview}</p> + + <p>A VMS tool based on <b>Crudetype</b> for previewing + <tt>DVI</tt> files at an ASCII terminal.</p> + + <p>\package{See\protect\TeX}{xtex, texsun, texx, iptex, + mftops}{C}{dviware/seetex}</p> + + <p>The <b>SeeTeX</b> package contains a number of tools for + working with <tt>DVI</tt> files. The most substantial of + these tools are the <b>xtex</b> and <b>texsun</b> + previewers for workstations running the X Window system and + the SunView window system, respectively.</p> + + <p><b>xtex</b> is unique among X11 previewers because it + uses X Window fonts. This makes <b>xtex</b> quite fast. It + also means that <b>xtex</b> has to build a lot of new X + Window fonts the first few times that you use it. The + <b>mftops</b> program converts TeX <tt>PK</tt> fonts into X + Window fonts. <b>xtex</b> uses the <b>MakeTeXPK</b> program + to build new <tt>PK</tt> fonts at the necessary + resolutions. <b>xtex</b> also uses <b>Ghostscript</b> to + display the PostScript figures in your document. This is + typically much faster than using <b>GhostView</b> to + preview the entire document. The <b>texx</b> previewer is a + much simpler X Window previewer. It cannot interpret + PostScript, but it does recognize most of the <b>tpic</b> + specials. <b>SeeTeX</b> also includes <b>iptex</b>, an + Imagen printer driver.</p> + + <p>\obsolete{symbolics}{symbolics}{}{dviware/symbolics}</p> + + <p>\package{\TeX{}tool}{textool}{}{dviware/textool}</p> + + <p>This is a TeX previewer for the SunView window + system.</p> + + <p>\package{umddvi}{dvidmd, dvipr, dviselect, + iptex}{C}{dviware/umddvi}</p> + + <p><b>dvidmd</b> is a <tt>DVI</tt> previewer for DMD 5620 + displays. <b>dvipr</b> is a <tt>DVI</tt> driver for + Versatec printers. <b>iptex</b> is a <tt>DVI</tt> driver + for Imagen printers. Finally, <b>dviselect</b> extracts + pages from a <tt>DVI</tt> file and produces a new + <tt>DVI</tt> file containing the selected pages.</p> + + <p>\package{VU\protect\TeX}{vutex}{Web}{dviware/vutex}</p> + + <p>Another VMS <tt>DVI</tt> previewer for ASCII + terminals.</p> + + <p>\package{xdvi}{xdvi}{C}{dviware/xdvi}</p> + + <p>A screen previewer for workstations running the X11 + Window System. MS-DOS executables, useful only if you have + an X11 Window system running on your PC, are available in + the <tt>dviware/xdvi-dos</tt> directory.</p> + + <p>\package{xdvik}{xdvik}{C}{dviware/xdvik}</p> + + <p><b>xdvik</b> is a modification of <b>xdvi</b> that + supports an extended path searching algorithm for + <tt>PK</tt> fonts.</p> + + <p>\package{bit2spr}{bit2spr}{C}{graphics/bit2spr}</p> + + <p><b>bit2spr</b> converts X11 <tt>XBM</tt> bitmaps into a + “sprite” format that can be included directly + in TeX documents. The resulting sprites are fully portable, + although they require a lot of memory, which may make large + bitmaps impractical.</p> + + <p> + \package{bm2font}{bm2font}{C/Pascal}{graphics/bm2font}</p> + + <p>The <b>bm2font</b> program converts bitmapped images + into TeX, <tt>TFM</tt>, and <tt>PK</tt> files. + <b>bm2font</b> also generates the Plain TeX or LaTeX + statements necessary to insert the figure into your + document. Color images can be dithered in a number of + different ways. This is one of the most portable ways to + insert pictures into a document; almost every available DVI + driver can print TeX <tt>PK</tt> fonts.</p> + + <p>\package{fig2MF}{fig2mf}{C}{graphics/fig2mf}</p> + + <p>Translates Fig code into MetaFont source. This allows + you to use interactive drawing tools like <b>xfig</b> to + construct diagrams that can be included into your document + in a portable manner with <b>fig2MF</b>.</p> + + <p>\package{gnuplot}{gnuplot}{C}{graphics/gnuplot}</p> + + <p><b>gnuplot</b> is an interactive function plotting + program. Several different types of output are supported + and can be included directly into your document.</p> + + <p>\package{hpgl2ps}{hpgl2ps}{C}{graphics/hpgl2ps}</p> + + <p>This program translates HPGL Plotter language commands + into encapsulated PostScript.</p> + + <p>\package{mactotex}{mactotex}{C}{graphics/mactotex}</p> + + <p>This program cleans up Macintosh PostScript so it can be + included into your documents with <b>psfig</b>. (Some + printers have difficulty printing PostScript output + generated on a Macintosh because the PostScript is tailored + towards the Apple LaserWriter series of printers.)</p> + + <p>\package{MFPic}{mfpic}{C}{graphics/mfpic}</p> + + <p><b>MFPic</b> is a flexible replacement for the LaTeX + <tt>picture</tt> environment. Instead of relying on special + fonts to generate pictures, <b>MFPic</b> writes MetaFont + code, which generates a font containing the picture + specified. This makes <b>MFPic</b> more flexible than the + standard <tt>picture</tt> environment without losing + portability.</p> + + <p>\package{pbmtopk}{pbmtopk}{C}{graphics/pbmtopk}</p> + + <p>Translates <tt>PBM</tt> files into TeX <tt>PK</tt> + fonts.</p> + + <p>\package{PiCTeX}{pictex}{C}{graphics/pictex}</p> + + <p>A sophisticated macro package that works on top of Plain + TeX and LaTeX. It provides a device-independent way of + producing many kinds of figures. The PiCTeX implementation + frequently generates documents that are too complex for + “small” versions of TeX to render. The PiCTeX + manual is not freely available and must be purchased before + PiCTeX can be used.</p> + + <p>\package{Glo+Index}{idxtex, + glotex}{C}{indexing/glo+index}</p> + + <p>These are tools for automatic construction of indexes + and glossaries. The glossary building tool uses \glossary + entries from your document in conjunction with a database + of word definitions to automatically construct a glossary. + The <b>idxtex</b> program provides many of the same + features as the <b>MakeIndex</b> program.</p> + + <p>\package{MakeIndex}{makeindex, + makeindx}{C}{indexing/makeindex}</p> + + <p>This is the standard tool for processing \index entries + from LaTeX documents. <b>MakeIndex</b> reads the entries, + sorts them, handles a number of useful features (multilevel + indexes, special sorting criteria, etc.) and produces LaTeX + source code, which produces a typeset index.</p> + + <p>\package{RTF Translator}{rtf2text, rtf2troff, + *}{C++}{support/RTF-1_06a1}</p> + + <p>The <b>RTF Translator</b> package includes several + programs for converting RTF (Rich Text Format) files. RTF + files contain information about the structure as well as + the content of a document. Microsoft Word and several NeXT + tools can produce RTF files.</p> + + <p>Table <a href="ch16.html#tab.rtfxlate" + title="Table 16.2. RTF Translators">Table 16.2</a> + summarizes the translators provided. Note that there is no + TeX or LaTeX translator in this package at present.</p> + + <div class="table"> + <a id="tab.rtfxlate" name="tab.rtfxlate"></a> + + <p class="title"><b>Table 16.2. RTF + Translators</b></p> + + <table summary="RTF Translators" border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Program</th> + + <th align="left">\bf Translation</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it rtf2null</td> + + <td align="left">Removes RTF codes</td> + </tr> + + <tr> + <td align="left">\it rtf2text</td> + + <td align="left">Translates to ASCII text</td> + </tr> + + <tr> + <td align="left">\it rtf2troff</td> + + <td align="left">Translates to <b>ms</b> macros in + <b>troff</b></td> + </tr> + + <tr> + <td align="left">\it rtfwc</td> + + <td align="left">Counts actual words in an RTF + document</td> + </tr> + + <tr> + <td align="left">\it rtfdiag</td> + + <td align="left">Verifies the RTF parser (or the + RTF document)</td> + </tr> + + <tr> + <td align="left">\it rtfskel</td> + + <td align="left">A skeleton for producing new + translators</td> + </tr> + </tbody> + </table> + </div> + + <p>\package{accents}{accents}{Web}{support/accents}</p> + + <p><b>accents</b> generates a virtual font containing + accented letters arranged according to the KOI8-CS + character set. This program constructs the accented letters + from characters and accent marks, if necessary. If the + input font is in Adobe Standard Encoding, <b>accents</b> + can rearrange it into TeX Text encoding.</p> + + <p>\package{addindex}{addindex}{C}{support/addindex}</p> + + <p><b>addindex</b> inserts LaTeX \index commands into your + document. Presented with a list of words and index entries, + <b>addindex</b> reads your LaTeX files and indexes every + word from the list that occurs in your document.</p> + + <p>\package{amSpell}{amspell}{}{support/amspell}</p> + + <p>The <b>amSpell</b> program is an interactive MS-DOS + spellchecker for plain ASCII and TeX documents.</p> + + <p>\package{atops}{atops}{}{support/atops}</p> + + <p>A simple program to convert ASCII text files into + PostScript.</p> + + <p>\package{\auctex}{}{elisp}{support/auctex}</p> + + <p>A comprehensive TeX editing environment for GNU + emacs.</p> + + <p>\package{basix}{basix}{tex}{support/basix}</p> + + <p><b>basix</b> is a BASIC interpreter written entirely in + TeX. Honest. ;-)</p> + + <p>\package{BibDB}{bibdb}{}{support/bibdb}</p> + + <p>An MS-DOS program for editing BibTeX bibliographic + databases.</p> + + <p>\package{brief_t}{}{}{support/brief_t}</p> + + <p>The <b>brief_t</b> package is a LaTeX editing + environment for Borland International's <b>Brief</b> + editor.</p> + + <p>\package{c++2latex}{c2latex, + c++2latex}{C}{support/c++2LaTeX-1_1}</p> + + <p>This program parses your C or C++ programs and creates + LaTeX source code for pretty-printing them. The syntactic + elements of the source (keywords, identifiers, comments, + etc.) can be set in different fonts. Compiling this program + requires <b>flex</b>.</p> + + <p>\package{C2\LaTeX}{c2latex}{}{support/c2latex}</p> + + <p><b>C2LaTeX</b> is a filter designed to provide simple + literate programming support for C programming. This filter + massages LaTeX-coded C comments and source code into a + LaTeX document.</p> + + <p>\package{chi2tex}{chi2tex}{}{support/chi2tex}</p> + + <p><b>chi2tex</b> is an MS-DOS program for converting + <b>ChiWriter</b> documents into TeX.</p> + + <p>\package{detex}{detex, texspell}{C}{support/detex}</p> + + <p><b>detex</b> removes TeX control sequences from a + document. The <b>texspell</b> script pipes the resulting + output through a spell checker.</p> + + <p>\package{bibtex-mode, web-mode}{bibtex-mode.el, + web-mode.el}{elisp}{support/emacs-modes}</p> + + <p>GNU emacs macros that provide an enhanced editing + environment for BibTeX databases and <b>Web</b> source + files. Another substantial set of modes for editing LaTeX + documents is provided by aucTeX, listed separately.</p> + + <p>\package{flow}{flow}{C}{support/flow}</p> + + <p><b>flow</b> reads a plain text description of a flow + chart and produces the appropriate LaTeX <tt>picture</tt> + environment for printing the flow chart.</p> + + <p> + \package{byte2tex}{byte2tex}{C}{support/foreign/byte2tex}</p> + + <p>A translator for multilingual documents that use the + upper range of the ASCII character set as a second + alphabet. The translation performed is controlled by a + plain text description of the alphabet. See also <b>EDI</b> + and <b>cyrlatex</b>.</p> + + <p> + \package{cyrlatex}{cyrlatex}{tex}{support/foreign/cyrlatex}</p> + + <p>A LaTeX style for using the \AmS Cyrillic fonts as a + second alphabet under LaTeX. See also <b>EDI</b> and + <b>byte2tex</b>.</p> + + <p>\package{EDI}{edi}{}{support/foreign/edi}</p> + + <p>An MS-DOS editor for multilingual (particularly + Cyrillic) documents. <b>EDI</b> uses the upper range of the + ASCII character set as a programmable second alphabet. See + also <b>byte2tex</b> and <b>cyrlatex</b>. MS-DOS and Atari + executables are available.</p> + + <p>\package{genfam}{genfam, + modern}{Perl}{support/genfam}</p> + + <p>The <b>genfam</b> script reads a configuration file that + describes a set of fonts and then runs the appropriate + MetaFont commands to produce them. A sample configuration + file, <tt>modern</tt>, is provided for the Computer Modern + Roman family.</p> + + <p>\package{Ghostview}{ghostview}{C}{support/ghostview}</p> + + <p><b>Ghostview</b> provides an interactive interface to + <b>Ghostscript</b>, the GNU PostScript interpreter. + <b>Ghostview</b> requires X11, but there are ports to + Microsoft Windows and OS/2.</p> + + <p>\package{Stanford + GraphBase}{}{CWeb}{support/graphbase}</p> + + <p>This is a collection of <b>CWeb</b> programs for + studying combinatorial algorithms. It is related to TeX + only because <b>CWeb</b> files are part TeX.</p> + + <p>\package{HPTFM2PL}{hptfm2pl, + showsym}{}{support/hp2pl}</p> + + <p>This program reads Hewlett-Packard Tagged Font Metric + files and creates TeX <tt>PL</tt> files. The <tt>PL</tt> + files can be further translated into TeX <tt>TFM</tt> files + with the standard utility <b>PLtoTF</b>.</p> + + <p>Hewlett-Packard distributes metric information about + LaserJet built-in fonts and font cartridges in Tagged Font + Metric format, so this program gives you a way of getting + TeX metrics for those fonts. To actually use them, you must + have both the metrics and a DVI driver that can use + built-in fonts.</p> + + <p>\package{HP2\protect\TeX}{hp2tex, + hpopt}{}{support/hp2tex}</p> + + <p><b>HP2TeX</b> translates HPGL files into TeX documents + that use the \special commands found in emTeX for drawing + lines at arbitrary angles. This makes diagrams in HPGL + format that use only straight lines printable directly with + TeX. See also <b>HP2XX</b>.</p> + + <p>\package{HP2XX}{hp2xx}{}{support/hp2xx}</p> + + <p><b>HP2XX</b> converts HPGL diagrams into PostScript or + one of several bitmapped formats. It can also translate + some diagrams directly into TeX if \special commands are + available for drawing lines at any angle.</p> + + <p>MS-DOS, Sparc, Convex 210, and HP9000 executables are + available. A Windows front-end is also available for + MS-DOS.</p> + + <p>\package{HPtoMF}{hptomf}{}{support/hptomf}</p> + + <p><b>HPtoMF</b> converts HPGL (Hewlett-Packard's plotter + language) into a variety of other vector and raster + formats.</p> + + <p>\undescribed{HTML}{html}{}{support/html}</p> + + <p> + \package{HTMLto\LaTeX}{html2latex}{}{support/html2latex}</p> + + <p>This program converts HTML documents into LaTeX source + for printing.</p> + + <p>\package{Icons}{}{}{support/icons}</p> + + <p>This is a collection of icons for TeX and MetaFont. They + were designed by Donald Knuth for OpenWindows and have + subsequently been translated into Microsoft Windows, OS/2, + and X11 XBM format.</p> + + <p>\package{Imake-\TeX}{imaketex}{}{support/imaketex}</p> + + <p><b>Imake-TeX</b> helps you create an Imakefile for TeX + documents. Imakefiles are used to generate custom makefiles + for an application, in this case a LaTeX document.</p> + + <p>\package{ispell}{ispell}{C}{support/ispell}</p> + + <p>An interactive spellchecker. <b>ispell</b> is + intelligent about TeX documents and can handle languages + other than English. \editorial{there are two!}</p> + + <p>\package{jspell}{jspell}{C}{support/jspell}</p> + + <p><b>jspell</b> is an MS-DOS spellchecker. It includes + special support for TeX documents.</p> + + <p>\package{\TeX{}Tools}{textools}{}{support/kamal}</p> + + <p>The <b>TeXTools</b> package includes several tools for + manipulating TeX documents. <b>detex</b> strips TeX + commands from a file. <b>texeqn</b> extracts displayed + equations from a document. <b>texexpand</b> merges + documents loaded with \input or \include into a single + file. <b>texmatch</b> checks for matching delimiters. + <b>texspell</b> uses <b>detex</b> to spellcheck the + filtered version of a document.</p> + + <p>\package{LaCheck}{lacheck}{C}{support/lacheck}</p> + + <p><b>LaCheck</b> reads a LaTeX document and reports any + syntax errors it finds. This is faster than running the + document through TeX if you are only interested in finding + TeXnical mistakes.</p> + + <p> + \package{\LaTeX2HTML}{latex2html}{}{support/latex2html}</p> + + <p>Converts LaTeX documents into HTML documents, suitable + for browsing with a WWW browser. Many complex document + elements are handled automatically.</p> + + <p>\package{\LaTeX{}Mk}{latexmk}{}{support/latexmk}</p> + + <p>LaTeXMk is a <b>Perl</b> script that attempts to + determine what operations need to be performed on a + document to produce a complete <tt>DVI</tt> file. LaTeXMk + runs LaTeX, BibTeX, etc. until a complete document has been + built.</p> + + <p>\package{lgrind}{lgrind}{}{support/lgrind}</p> + + <p><b>lgrind</b> formats program sources using LaTeX. + Syntactic elements are identified by typographic changes in + the printed sources.</p> + + <p>\package{LSEdit}{}{}{support/lsedit}</p> + + <p>This is an add-on package for the VAX/VMS Language + Sensitive Editor (<b>LSEDI</b>). It provides an editing + environment for LaTeX documents.</p> + + <p>\package{make\_\hskip.25pt + latex}{make\_latex}{}{support/make\_latex}</p> + + <p>Provides a set of <b>make</b> rules for LaTeX + documents.</p> + + <p>\package{MakeProg}{makeprog}{Web}{support/makeprog}</p> + + <p><b>MakeProg</b> is a system for doing Literate + Programming in TeX. It provides a mechanism for combining + documentation with TeX macros. Donald Knuth's original + articles on Literate Programming are included with the + documentation.</p> + + <p>\package{MathPad}{mathpad}{}{support/mathpad}</p> + + <p>MathPad is an X11 editor for TeX sources. It was not + available (or known to me) in time for review in this + edition of <span class="emphasis"><em>Making TeX + Work</em></span>.</p> + + <p>\package{MC\TeX}{}{tex}{support/mctex}</p> + + <p>A TeX macro package for pretty-printing <b>Lisp</b> + code.</p> + + <p>\package{MEW\LaTeX}{}{}{support/mewltx}</p> + + <p>An extension to <b>microEMACS</b> for Windows. It + provides a LaTeX editing environment that allows you to + write, spellcheck, process, and view your document from + within <b>microEMACS</b>.</p> + + <p>\package{MNU}{}{DOS}{support/mnu}</p> + + <p><b>MNU</b> is an MS-DOS menu system written with batch + files. It was designed for running TeX but can be extended + to other applications.</p> + + <p>\package{pbm2\TeX}{pbm2tex}{}{support/pbm2tex}</p> + + <p><b>pbm2TeX</b> converts PBM files into LaTeX + <tt>picture</tt> environments. This provides a portable way + to include bitmap images in documents. The documents take a + long time to typeset, however, and may require a big + TeX.</p> + + <p>\package{PCWri\TeX}{}{}{support/pcwritex}</p> + + <p>Adds TeX to <b>PC-Write</b> as a special kind of + printer. Documents “printed” to the TeX printer + can be processed with TeX to get typeset output.</p> + + <p>\package{PM\TeX}{pmtex}{}{support/pmtex}</p> + + <p>An OS/2 Presentation Manager application that provides a + shell around common TeX-related activities (editing, + TeXing, previewing, printing, etc.).</p> + + <p>\package{PP}{pp}{}{support/pp}</p> + + <p>A Pascal or Modula-2 pretty-printer. It translates code + into a Plain TeX or LaTeX document. An MS-DOS executable is + provided.</p> + + <p>\package{PS2EPS}{ps2eps}{c}{support/ps2eps}</p> + + <p>Attempts to convert PostScript output from other + programs into encapsulated PostScript output suitable for + including in TeX documents with <b>dvips</b>, for example. + Support is included for converting output from <b>GEM</b> + 3.0, <b>DrawPerfect</b> 1.1, <b>PSpice</b> 4.05, + <b>OrCAD</b> 3.11, <b>PrintGL</b> 1.18, <b>Mathcad</b> 3.0, + and <b>GNUPlot</b> 3.0.</p> + + <p>\package{PS Utils}{psbook, psselect, pstops, psnup, + epsffit}{C}{support/psutils}</p> + + <p>A collection of utilities for transforming PostScript + output files in various ways. <b>psbook</b> rearranges + pages into signatures. <b>psselect</b> selects ranges of + pages. <b>pstops</b> performs arbitrary rearrangement and + selection of pages. <b>psnup</b> prints multiple pages on a + single sheet of paper. <b>epsffit</b> rescales an + encapsulated PostScript figure to fit within a specified + bounding box. These programs can be used to rearrange the + output from PostScript DVI drivers like <b>dvips</b>.</p> + + <p><b>PS Utils</b> also includes scripts for displaying + character information and “fixing” PostScript + output from other sources. (Some PostScript output is + nonstandard and must be fixed-up before it can be used with + the <b>PS Utils</b>.) These scripts are summarized in + Table <a href="ch16.html#tab.psutils.scripts" + title="Table 16.3. Additional Scripts in PS Utils "> + Table 16.3</a>.</p> + + <div class="table"> + <a id="tab.psutils.scripts" + name="tab.psutils.scripts"></a> + + <p class="title"><b>Table 16.3. Additional + Scripts in PS Utils</b></p> + + <table summary="Additional Scripts in PS Utils " + border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">\bf Script</th> + + <th align="left">\bf Purpose</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">\it getafm</td> + + <td align="left">Retrieves font metrics from the + printer</td> + </tr> + + <tr> + <td align="left">\it showchar</td> + + <td align="left">Prints a character and its + metrics</td> + </tr> + + <tr> + <td align="left">\it fixfmps</td> + + <td align="left">Fixes output from + <b>FrameMaker</b></td> + </tr> + + <tr> + <td align="left">\it fixwpps</td> + + <td align="left">Fixes output from + <b>WordPerfect</b></td> + </tr> + + <tr> + <td align="left">\it fixwfwps</td> + + <td align="left">Fixes output from <b>Word</b> for + Windows</td> + </tr> + + <tr> + <td align="left">\it fixmacps</td> + + <td align="left">Fixes Macintosh PostScript</td> + </tr> + + <tr> + <td align="left">\it fixpsditps</td> + + <td align="left">Fixes + <b>Transcript</b><tt>psdit</tt> files</td> + </tr> + + <tr> + <td align="left">\it fixpspps</td> + + <td align="left">Fixes output from + <b>PSPrint</b></td> + </tr> + </tbody> + </table> + </div> + + <p> + \package{rtf2\LaTeX}{rtf2latex}{C}{support/rtf2LaTeX}</p> + + <p>A conversion program to translate RTF sources into + LaTeX.</p> + + <p>\package{rtf2\TeX}{rtf2tex}{C}{support/rtf2TeX}</p> + + <p>A conversion program to translate RTF sources into + TeX.</p> + + <p> + \package{RTF-to-\LaTeX}{rtflatex}{Pascal}{support/rtflatex}</p> + + <p>Another conversion program to translate RTF sources into + LaTeX.</p> + + <p>\package{S2\LaTeX}{s2l}{C}{support/s2latex}</p> + + <p>A <b>Scribe</b>-to-LaTeX converter. Requires <b>lex</b> + and <b>yacc</b> to compile.</p> + + <p> + \package{Scheme\TeX}{schemetex}{C}{support/schemetex}</p> + + <p><b>SchemeTeX</b> provides support for Literate + Programming in <b>Scheme</b>. <b>Lex</b> is required to + build <b>SchemeTeX</b>.</p> + + <p>\package{\TeX{}OrTho}{texortho}{C}{support/spelchek}</p> + + <p><b>TeXOrTho</b> is a spellchecking filter for text + files. It was designed for spellchecking TeX and LaTeX + documents, but it is parameter-file driven so it may be + possible to extend it to other formats.</p> + + <p>\package{Tek2EEPIC}{tek2eepic}{C}{support/tek2eepic}</p> + + <p>A filter for Tektronix 4015 escape sequences that allows + graphics output designed for a Tektronix 4015 display to be + included in a TeX document. The resulting <tt>DVI</tt> file + must be processed by a DVI driver that recognizes the <span + class="emphasis"><em>tpic</em></span> \special + commands.</p> + + <p>\package{\TeX{}calc}{}{}{support/texcalc}</p> + + <p><b>TeXcalc</b> is an <b>InstaCalc</b> spreadsheet for + calculating TeX typeface design sizes based upon + magnification and scaling factors.</p> + + <p> + \package{\TeXinfo{}2HTML}{texi2html}{Perl}{support/texi2html}</p> + + <p>Translates GNU TeXinfo sources into HTML.</p> + + <p> + \package{\TeX{}i2roff}{texi2roff}{C}{support/texi2roff}</p> + + <p>This is a TeXinfo-to-<b>nroff</b> converter (although it + should be possible to process most documents with + <b>troff</b> as well).</p> + + <p>\package{\TeX{}it}{texit}{Perl}{support/texit}</p> + + <p>A <b>Perl</b> script for processing TeX documents + intelligently.</p> + + <p>\package{texproc}{texproc}{C}{support/texproc}</p> + + <p><b>texproc</b> is a filter that inserts the output from + a command into your document. This can be used, for + example, to automatically insert the output from + <b>GNUPlot</b> directly into your TeX document (assuming + that you use one of the TeX-compatible output terminals in + <b>GNUPlot</b>).</p> + + <p>\package{tgrind}{tgrind}{C}{support/tgrind}</p> + + <p><b>tgrind</b> is a source code pretty-printer modelled + after the standard BSD unix <b>vgrind</b> utility. It + produces a TeX or LaTeX document that typesets an + attractive program listing from your source code.</p> + + <p>\package{tr2\LaTeX}{tr2latex}{C}{support/tr2latex}</p> + + <p>Translates <b>troff</b> sources into LaTeX.</p> + + <p>\package{tr2\TeX}{tr2tex}{C}{support/tr2tex}</p> + + <p>Translates <b>troff</b> sources into Plain TeX.</p> + + <p>\package{TRANSLIT}{translit}{C}{support/translit}</p> + + <p><b>TRANSLIT</b> transliterates ASCII character codes. + Single characters can be translated into multiple + characters and vice versa, in addition to simple + permutations. This program allows files written in one + national character set to be translated into another + character set without losing characters or meaning.</p> + + <p>\package{TSpell}{tspell, chk, + putback}{C}{support/tspell}</p> + + <p>A spellchecking filter for TeX documents. It strips TeX + and LaTeX macros out of a document, runs the document + through a spellchecker, and restores the TeX and LaTeX + macros. It looks like it was designed for VAX machines.</p> + + <p> + \package{umlaute}{umlaute}{\protect\TeX}{support/umlaute}</p> + + <p>A collection of style files for processing TeX documents + with accented characters using machine-native character + encodings. Support for the ISO standard character set (ISO + Latin1) and the MS-DOS code page 437 character set is + provided.</p> + + <p>\package{undump}{undump}{C}{support/undump}</p> + + <p><b>undump</b> combines a core dump and an executable + program to build a new executable using the core dump to + provide initial values for all of the program's static + variables. One use of this program is to construct TeX + executables with macro packages preloaded. This is + unnecessary on most modern computers (they're fast enough + to simply load the format files). <b>undump</b> is no + longer a supported program.</p> + + <p>\package{untex}{untex}{C}{support/untex}</p> + + <p>Removes all LaTeX control sequences from a document. Can + optionally remove arguments to control sequences, as well + as all math-mode text. Replaces many accented characters + with their IBM OEM character set equivalents.</p> + + <p>\package{VMSSpell}{vmsspell}{}{support/vmsspell}</p> + + <p>A VMS spellchecking tool. Distributed in a VMS-style + archive package.</p> + + <p>\package{Vor\TeX}{}{Emacs lisp}{support/vortex}</p> + + <p>A GNU emacs editing mode for TeX documents. Also + provides support for BibTeX databases.</p> + + <p>\package{windex}{windex}{C}{support/windex}</p> + + <p><b>windex</b> is an aid for building indexes in LaTeX + documents. It modifies the LaTeX indexing macros to produce + a different output format. The <b>windex</b> program can + then sort the terms and construct an index for you.</p> + + <p> + \package{WP2\protect\LaTeX}{wp2latex}{C/Pascal}{support/wp2latex-5_1}</p> + + <p>This program attempts to translate WordPerfect v5.1 + documents into LaTeX.</p> + + <p>\package{xet}{xet}{C}{support/xet}</p> + + <p>The <b>xet</b> program removes all commands and + mathematical formulae from Plain TeX and LaTeX documents. + <b>xet</b> has a number of options for handling different + aspects of a document (such as accents and LaTeX + environments) and claims to be useful as a simple syntax + checker for TeX files.</p> + + <p>\package{xetal}{xetal}{C}{support/xetal}</p> + + <p>This is a more recent version of <b>xet</b>, described + above.</p> + + <p>\package{xlatex}{xlatex}{C}{support/xlatex}</p> + + <p>An X11 Windows application that ties together several + aspects of TeXing a document. It provides a “push + button” interface to editing, processing, previewing, + and printing your document.</p> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 15. TeX on the Macintosh" + href="ch15.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Appendix A. Filename Extension Summary" + href="apa.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Chapter 15. TeX on + the Macintosh </td> + + <td width="20%" align="center"><a + title="Part III. A Tools Overview" + href="pt03.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Appendix A. Filename Extension + Summary</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/co01.html b/Master/texmf-doc/doc/english/make-tex-work/html/co01.html new file mode 100644 index 00000000000..58229bc7ad0 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/co01.html @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Colophon</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="index.html" title="Making TeX Work" /> + <link rel="previous" href="bi01.html" title="Bibliography" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a title="Bibliography" + href="bi01.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Making TeX Work" href="index.html"><img + src="figures/nav-up.png" alt="Up" border="0" /> + </a> <img src="figures/nav-xnext.png" alt="Next" + border="0" /></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="colophon"> + <h2 class="title"><a id="colophon" + name="colophon"></a>Colophon</h2> + + <p><span class="bold"><b>About this Book</b></span></p> + + <p>This is an <span class="emphasis"><em>alpha</em></span> + edition of this book. This version may contain glaring + inconsistencies, missing sections, and other misfeatures + indicative of a “work in progress”.</p> + + <p><span class="bold"><b>About the Author</b></span></p> + + <p>Norm Walsh is a Production Tools Specialist at O'Reilly + and Associates' Cambridge office. Before Norm joined ORA, he + was a research assistant at the University of Massachusetts, + Amherst where he earned his master's degree in computer + science.</p> + + <p>Besides maintaining a number of TeX and font-related + resources on the Net, Norm enjoys bicycling, herpetology, + prestidigitation, and browsing record and book stores. Norm + lives in Boxborough, MA with his wife Deborah, two cats, a + box turtle, two toads, and two frogs.</p> + + <p><span class="bold"><b>Colophon</b></span></p> + + <p>Our look is the result of reader comments, our own + experimentation, and feedback from distribution channels.</p> + + <p>Distinctive covers complement our distinctive approach to + technical topics, breathing personality and life into + potentially dry subjects. <span class="sc">UNIX</span> and + its attendant programs can be unruly beasts. Nutshell + Handbooks® help you tame them.</p> + + <p>The animal featured on the cover of <i>Making TeX Work</i> + is the European garden spider. Garden spiders are orb + weavers, known for their intricate orb-shaped webs. Web + building is a complex process: support lines are constructed + first; then the radial lines; and finally the spiraling + strands are spun from the center outward. Without training + from adults, even the tiniest just-hatched spiderlings are + able to spin silk and weave webs. Another orb weaver, <span + class="emphasis"><em>nephila</em></span>, builds an extremely + thick and strong web, up to eight feet in diameter. People in + Southeast Asia have found an interesting use for this + spider's web—they bend a pliable stick into a loop and + pass it through the large web, resulting in a surprisingly + strong and effective fishing net!</p> + + <p>Spiders produce silk from glands called spinnerets. Orb + weavers can have three or four pairs of these glands, each + producing different textures of silk: non-stick silk for the + radial web lines, and sticky silk for the spiraling strands. + Some spiders even produce an ultraviolet silk to attract + insects. Spider silk, a super protein that hardens as it is + stretched from the spinnerets, may look delicate but it is + unbelievably tough. The relative tension necessary to break + it is far greater than for steel.</p> + + <p>When finished with the construction of its web, the garden + spider will often go to the center, hang upside down, and + wait for a flying or jumping insect to become ensnared. + Having poor eyesight, orb weavers rely on a highly-developed + sense of touch. When an insect because caught in th web and + struggles, the spider is alerted by the vibrations. It rushes + tout to secure its prey, usually wrapping it in silk. A + poison is injected into the victim, paralyzing it and + converting the contents of its body to a liquid. The spider + returns later to insert its tube-like fangs and suck up its + meal.</p> + + <p>The garden spider's profound sense of touch has another + purpose: it provides male spiders with a channel to + communicate with females. Before climbing onto the female's + web, the male taps out a special message. Then he cautiously + crawls toward his mate—a perilous task, for he is + always in danger of being mistaken for prey. It is commonly + thought that the female spider kills and eats the male after + mating, but this is an exaggeration. The male, who stops + eating during his mate-hunting ordeal, generally dies of + malnourishment and exhaustion.</p> + + <p>Spiders are similar to, but not the same as insects. They + belong to the class <span + class="emphasis"><em>Arachnida</em></span>, named after + Arachne, a maiden in Greek mythology. She defeated the + goddess Athena in a weaving contest. In a fury of anger, + Athena destroyed Arachne's weaving and beat the girl about + the head. In utter disgrace, Arachne hanged herself. A + regretful Athena changed Arachne into a spider so that she + could weave forever.</p> + + <p>While they are certainly not going to win any popularity + contests, spiders' insect-eating habits are extremely helpful + to humans. Every year, billions of spiders do away with a + large number of disease-carrying and crop-destroying insects. + If every spider ate just one a day for a year, those insects, + piled in one spot, would weigh as much as 50 million people. + Spiders are, by far, the most important predator of insects + in our world.</p> + + <p>Edie Freedman designed this cover and the entire UNIX + bestiary that appears on other Nutshell Handbooks. The beasts + themselves are adapted from nineteenth century engravings + from the Dover Pictorial Archive. The cover layout was + produced with QuarkXPress 3.1 using the ITC Garamond + font.</p> + + <p>The inside layout was designed by Edie Freedman and + implemented by Norm Walsh in TeX using the ITC Garamond font + family. The figures (except those in chapter 6) were created + in Aldus Freehand 3.1 by Chris Reilley. The colophon was + written by Elaine and Michael Kalantarian.</p> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a title="Bibliography" + href="bi01.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> </td> + </tr> + + <tr> + <td width="40%" align="left">Bibliography </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> </td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/amspell.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/amspell.png Binary files differnew file mode 100644 index 00000000000..93178755a7b --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/amspell.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/arab.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/arab.png Binary files differnew file mode 100644 index 00000000000..9276ca647d8 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/arab.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/badfont.err b/Master/texmf-doc/doc/english/make-tex-work/html/figures/badfont.err new file mode 100644 index 00000000000..01242196a7b --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/badfont.err @@ -0,0 +1,24 @@ +This is emTeX (tex386), Version 3.141 [3c-beta8] +**&lplain badfont +(badfont.tex +LaTeX Version 2.09 <25 March 1992> +(d:\tex\latex\sty\article.sty +Standard Document Style `article' <14 Jan 92>. +(d:\tex\latex\sty\art10.sty)) (badfont.aux) +! Font cmr/m/n/18 not found. +extract@fontinfo ...@name space not found} + fi +extract@font ...fontinfo font@info 3<@nil + csna... +define@newfont ... endcsname extract@font + fi e... +pickup@font ...@name relax define@newfont + fi +p@selectfont ...ze endcsname }pickup@font + font... +<argument> reset@font Large + bf +... +l.21 \section{First Section} + +? diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/bbox.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/bbox.png Binary files differnew file mode 100644 index 00000000000..9239fa11a6c --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/bbox.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/bezier.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/bezier.png Binary files differnew file mode 100644 index 00000000000..69136abd47c --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/bezier.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/caffeine.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/caffeine.png Binary files differnew file mode 100644 index 00000000000..479e1a7070c --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/caffeine.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/cover.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/cover.png Binary files differnew file mode 100644 index 00000000000..d4595f75cdb --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/cover.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/eepic.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/eepic.png Binary files differnew file mode 100644 index 00000000000..6dac200314b --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/eepic.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/eight.mf b/Master/texmf-doc/doc/english/make-tex-work/html/figures/eight.mf new file mode 100644 index 00000000000..ea2f5ba3663 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/eight.mf @@ -0,0 +1,19 @@ +mode_setup; +u# := 2mm#; +define_pixels(u); + +beginchar("A", 8u#, 9u#, 5u#); + z1 = ( 0u, 0u); + z2 = ( 8u, 0u); + z3 = ( 1u, 8u); + z4 = ( 7u, 8u); + pickup pencircle scaled 1u#; + draw z4 .. z1 .. z2 .. z3 .. cycle; + pickup pencircle scaled 3u#; + drawdot z1; + drawdot z2; + drawdot z3; + drawdot z4; +endchar; + +\end
\ No newline at end of file diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/epic.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/epic.png Binary files differnew file mode 100644 index 00000000000..a384bb56398 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/epic.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/fi-ligs.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/fi-ligs.png Binary files differnew file mode 100644 index 00000000000..93b1612cf4a --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/fi-ligs.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/frog.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/frog.png Binary files differnew file mode 100644 index 00000000000..76c296ffa82 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/frog.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/g-h.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/g-h.png Binary files differnew file mode 100644 index 00000000000..caa71c4adc8 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/g-h.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/gs-eps.1 b/Master/texmf-doc/doc/english/make-tex-work/html/figures/gs-eps.1 new file mode 100644 index 00000000000..10e335b5724 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/gs-eps.1 @@ -0,0 +1,40 @@ +#! perl +# +# Usage: gs-eps epsfile <outputfile> <resolution> <device> +# +# Where: epsfile is the encapsulated postscript file +# outputfile is the output file (the default name +# is <basename epsfile>.<device>) +# resolution is the output resolution (default=300) +# device is the GS driver to use (default=pbm) + +($epsfile,$outputfile,$res,$device) = @ARGV; + +if (! $epsfile) { + printf "Usage: gs-eps epsfile <outputfile> <resolution>"; + printf " <gsdriver>\n"; + printf "Note: parameters are positional. To specify a"; + printf " driver, you\n"; + printf "must also specify an outputfile and resolution.\n"; + exit 1; + } + +$epsfile =~ tr/\\/\//; # translate \foo\bar -> /foo/bar + +if (! -r $epsfile) { + printf "Cannot read file: $epsfile\n"; + exit 1; + } + +if (! $res) { $res = 300 } +if (! $device) { $device = "pbm" } + +if (! $outputfile ) { + @pathname = split(/\//,$epsfile); + $outputfile = $pathname[$#pathname]; + $outputfile =~ s/.eps$//; + $outputfile = join(".", $outputfile, $device); + } + +printf "Converting $epsfile to $outputfile at ${res}dpi...\n"; + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/gs-eps.2 b/Master/texmf-doc/doc/english/make-tex-work/html/figures/gs-eps.2 new file mode 100644 index 00000000000..7ba4b721355 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/gs-eps.2 @@ -0,0 +1,41 @@ +open (EPSFILE,$epsfile); + +undef $bbox; +undef $showpg; +while (<EPSFILE>) { + $bbox = $_ if /\%\%\s*BoundingBox:\s*\d+\s+\d+\s+\d+\s+\d+/; + $showpage = $_ if /showpage/; + last if ($bbox && $showpage); + } + +if (! $bbox) { + printf "Cannot find a bounding box in $epsfile"; + exit 1; + } + +$bbox =~ s/\D*//; # remove everything preceding the digits + +($llx,$lly,$urx,$ury) = split(/\s/,$bbox); + +$xsize = sprintf("%d", (($urx - $llx) * $res / 72) + 0.5); +$ysize = sprintf("%d", (($ury - $lly) * $res / 72) + 0.5); + +printf "$llx neg $lly neg translate .gt. gs-eps-a.$$\n"; +printf "quit .gt. gs-eps-b.$$\n"; + +if (! $showpg) { + printf "showpage .gt. gs-eps-b.$$\n"; + printf "quit .gtgt. gs-eps-b.$$\n"; + } + +# join sillyness to keep the length of lines in the +# script small enough to print in the book. +$gscmd = join(" ", "gs -sDEVICE=$device", + "-q -sOutputFile=$outputfile", + "-g${xsize}x${ysize} -r$res", + "gs-eps-a.$$ $epsfile -", + ".lt. gs-eps-b.$$"); + +printf "$gscmd\n"; + +printf "rm -f gs-eps-a.$$ gs-eps-b.$$\n"; diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/hebrew-sample.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/hebrew-sample.png Binary files differnew file mode 100644 index 00000000000..cdffc323e6b --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/hebrew-sample.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/jgenji.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/jgenji.png Binary files differnew file mode 100644 index 00000000000..aed7ef606da --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/jgenji.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/lint.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/lint.png Binary files differnew file mode 100644 index 00000000000..2554447f0cc --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/lint.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/lithium.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/lithium.png Binary files differnew file mode 100644 index 00000000000..fcecb0dc347 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/lithium.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.1 b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.1 new file mode 100644 index 00000000000..e521a3b8f50 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.1 @@ -0,0 +1,6 @@ +$ mf 'mode=localfont; \input eight' +This is METAFONT, Version 2.71 (C version d) +! I can't find file `mode=localfont.mf'. +<*> mode=localfont + ; \input eight +Please type another input file name: diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.2 b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.2 new file mode 100644 index 00000000000..c675a9ae738 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.2 @@ -0,0 +1,11 @@ +$ mf '\input eight' +This is METAFONT, Version 2.71 (C version d) +(eight.mf +! Value is too large (4097). +<recently read> ; + +beginchar->...rdp:=(EXPR3);w:=hround(charwd*hppp); + h:=vround(charht*hppp);d:=... +l.5 beginchar("A", 8u#, 9u#, 5u#) + ; +? diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.3 b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.3 new file mode 100644 index 00000000000..65d8b4f38f0 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.3 @@ -0,0 +1,12 @@ +$ mf '\mode=localfont \input eight' +This is METAFONT, Version 2.71 (C version d) +(eight.mf +>> unknown string mode_name0 +! Not a string. +<to be read again> + ; +mode_setup->...nput "&mode)else:mode_name[mode]fi; + if.unknown.mag:mag=1;fi.if... +l.1 mode_setup + ; +? diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.4 b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.4 new file mode 100644 index 00000000000..beb55d333fe --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.4 @@ -0,0 +1,12 @@ +$ mf '\mode=localfont; mag=magstep(1) \input eight' +Running MetaFont from /exp/rcf/share... +This is METAFONT, Version 2.71 (C version d) +(eight.mf +! Extra tokens will be flushed. +<to be read again> + warningcheck +mode_setup->warningcheck + :=0;if.unknown.mode:mode=proof;fi.numeric.aspect_rat... +l.1 mode_setup + ; +? diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.5 b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.5 new file mode 100644 index 00000000000..43aea3c7ffc --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.5 @@ -0,0 +1,6 @@ +$ mf '\mode=localfont; \input eight' +This is METAFONT, Version 2.71 (C version d) +(eight.mf [65] ) +Font metrics written on eight.tfm. +Output written on eight.300gf (1 character, 5444 bytes). +Transcript written on eight.log. diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.6 b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.6 new file mode 100644 index 00000000000..2bc42d544f0 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mferr.6 @@ -0,0 +1,4 @@ +$ mf '\mode=localfont; eight' +This is METAFONT, Version 2.71 (C version d) + +* diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/mozart.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mozart.png Binary files differnew file mode 100644 index 00000000000..14b576a38aa --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/mozart.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-amt.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-amt.png Binary files differnew file mode 100644 index 00000000000..bfca2fe30d8 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-amt.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-inf.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-inf.png Binary files differnew file mode 100644 index 00000000000..e0aff2def97 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-inf.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-lol.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-lol.png Binary files differnew file mode 100644 index 00000000000..a13d385c523 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-lol.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-ltx.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-ltx.png Binary files differnew file mode 100644 index 00000000000..23b583c291d --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-ltx.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-ptx.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-ptx.png Binary files differnew file mode 100644 index 00000000000..5f480fffb90 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/perf-ptx.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/pgenji.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pgenji.png Binary files differnew file mode 100644 index 00000000000..031857f4efd --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pgenji.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/pictex-example.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pictex-example.png Binary files differnew file mode 100644 index 00000000000..9bc5ae06783 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pictex-example.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/pictexex.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pictexex.png Binary files differnew file mode 100644 index 00000000000..9bc5ae06783 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pictexex.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/pmc-sample.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pmc-sample.png Binary files differnew file mode 100644 index 00000000000..c89f1903daf --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pmc-sample.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/pmcs-sample.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pmcs-sample.png Binary files differnew file mode 100644 index 00000000000..687e2cbe691 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pmcs-sample.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/pmj-sample.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pmj-sample.png Binary files differnew file mode 100644 index 00000000000..41dcf6f31f1 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/pmj-sample.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/sample.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/sample.png Binary files differnew file mode 100644 index 00000000000..768583dc343 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/sample.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.01.03.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.01.03.png Binary files differnew file mode 100644 index 00000000000..7334208f9b3 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.01.03.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.01.04.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.01.04.png Binary files differnew file mode 100644 index 00000000000..396f34575cb --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.01.04.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.01.05.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.01.05.png Binary files differnew file mode 100644 index 00000000000..6a260c65b74 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.01.05.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.01.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.01.png Binary files differnew file mode 100644 index 00000000000..bce3a64bead --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.01.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.02.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.02.png Binary files differnew file mode 100644 index 00000000000..601ac0fbb60 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.02.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.03.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.03.png Binary files differnew file mode 100644 index 00000000000..54ada26d77a --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.03.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.04.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.04.png Binary files differnew file mode 100644 index 00000000000..e30cd30dae1 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.04.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.05.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.05.png Binary files differnew file mode 100644 index 00000000000..d70f96f68ad --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.05.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.06.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.06.png Binary files differnew file mode 100644 index 00000000000..694a808c937 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.06.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.07.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.07.png Binary files differnew file mode 100644 index 00000000000..74531d7749c --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.07.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.08.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.08.png Binary files differnew file mode 100644 index 00000000000..cecf1f94c5c --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.08.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.09.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.09.png Binary files differnew file mode 100644 index 00000000000..17bb3af1235 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.09.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.10.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.10.png Binary files differnew file mode 100644 index 00000000000..5daef5c96f9 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.10.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.11.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.11.png Binary files differnew file mode 100644 index 00000000000..42f36aa3564 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.02.11.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.04.04.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.04.04.png Binary files differnew file mode 100644 index 00000000000..6a0bbdb8d73 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.04.04.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.05.04.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.05.04.png Binary files differnew file mode 100644 index 00000000000..e69297e94e1 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.05.04.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.05.06.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.05.06.png Binary files differnew file mode 100644 index 00000000000..b5b026e9ec9 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.05.06.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.01.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.01.png Binary files differnew file mode 100644 index 00000000000..530759e7a3a --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.01.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.02.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.02.png Binary files differnew file mode 100644 index 00000000000..600ffb5bc61 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.02.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.03.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.03.png Binary files differnew file mode 100644 index 00000000000..3fb6821a15c --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.03.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.04.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.04.png Binary files differnew file mode 100644 index 00000000000..a9e907586e0 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.04.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.05.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.05.png Binary files differnew file mode 100644 index 00000000000..06fc71848d6 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.05.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.06.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.06.png Binary files differnew file mode 100644 index 00000000000..507c9a42dc1 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.06.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.07.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.07.png Binary files differnew file mode 100644 index 00000000000..4387abe3f79 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.07.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.08.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.08.png Binary files differnew file mode 100644 index 00000000000..e977c221c44 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.08.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.09.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.09.png Binary files differnew file mode 100644 index 00000000000..76c296ffa82 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.09.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.11.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.11.png Binary files differnew file mode 100644 index 00000000000..62f6aba41d1 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.11.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.12.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.12.png Binary files differnew file mode 100644 index 00000000000..35b1c89f30b --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.12.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.13.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.13.png Binary files differnew file mode 100644 index 00000000000..45d2c1085ea --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.13.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.14.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.14.png Binary files differnew file mode 100644 index 00000000000..263bc7a1411 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.14.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.20.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.20.png Binary files differnew file mode 100644 index 00000000000..6afef50ec5f --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.06.20.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.07.01.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.07.01.png Binary files differnew file mode 100644 index 00000000000..f303e4156d0 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.07.01.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.08.03.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.08.03.png Binary files differnew file mode 100644 index 00000000000..fa0c367eb24 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.08.03.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.01.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.01.png Binary files differnew file mode 100644 index 00000000000..6ff1c1ec782 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.01.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.02.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.02.png Binary files differnew file mode 100644 index 00000000000..58df0224e1f --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.02.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.03.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.03.png Binary files differnew file mode 100644 index 00000000000..1102411266f --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.03.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.04.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.04.png Binary files differnew file mode 100644 index 00000000000..6614ea3912b --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.04.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.05.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.05.png Binary files differnew file mode 100644 index 00000000000..fa28961c414 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.05.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.06.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.06.png Binary files differnew file mode 100644 index 00000000000..9dfda0cefd3 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.06.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.07.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.07.png Binary files differnew file mode 100644 index 00000000000..55dc9b9c7bb --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.07.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.08.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.08.png Binary files differnew file mode 100644 index 00000000000..04c80e315dd --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.08.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.09.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.09.png Binary files differnew file mode 100644 index 00000000000..1beecc6f10a --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.09.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.10.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.10.png Binary files differnew file mode 100644 index 00000000000..aecd009a70f --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.10.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.11.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.11.png Binary files differnew file mode 100644 index 00000000000..399f09ca68c --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.11.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.12.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.12.png Binary files differnew file mode 100644 index 00000000000..4877acf713f --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.12.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.13.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.13.png Binary files differnew file mode 100644 index 00000000000..079a7b54faf --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.13.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.14.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.14.png Binary files differnew file mode 100644 index 00000000000..b40c43f2a57 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.14.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.15.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.15.png Binary files differnew file mode 100644 index 00000000000..e4362a8f3b9 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.15.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.16.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.16.png Binary files differnew file mode 100644 index 00000000000..cf1ff30acf0 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.16.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.17.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.17.png Binary files differnew file mode 100644 index 00000000000..05128392c97 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.09.17.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.12.01.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.12.01.png Binary files differnew file mode 100644 index 00000000000..3509192d3d7 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.12.01.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.12.02.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.12.02.png Binary files differnew file mode 100644 index 00000000000..89bff5c43b8 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.12.02.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.12.03.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.12.03.png Binary files differnew file mode 100644 index 00000000000..1ef84c323ff --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.12.03.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.01.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.01.png Binary files differnew file mode 100644 index 00000000000..80c64908d70 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.01.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.02.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.02.png Binary files differnew file mode 100644 index 00000000000..62d7aac9e69 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.02.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.03.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.03.png Binary files differnew file mode 100644 index 00000000000..92ff4140eae --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.03.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.04.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.04.png Binary files differnew file mode 100644 index 00000000000..25dbc639696 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.04.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.05.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.05.png Binary files differnew file mode 100644 index 00000000000..57c464c0aa2 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.14.05.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.01.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.01.png Binary files differnew file mode 100644 index 00000000000..ad0bbedae03 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.01.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.02.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.02.png Binary files differnew file mode 100644 index 00000000000..1bd690e1398 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.02.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.03.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.03.png Binary files differnew file mode 100644 index 00000000000..e70beb79290 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.03.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.04.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.04.png Binary files differnew file mode 100644 index 00000000000..5bf872d08b0 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.04.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.05.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.05.png Binary files differnew file mode 100644 index 00000000000..d53a8a24af4 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/tex.15.05.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/troffvstex.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/troffvstex.png Binary files differnew file mode 100644 index 00000000000..fa64d9cf8e4 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/troffvstex.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/two-rs.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/two-rs.png Binary files differnew file mode 100644 index 00000000000..c814e1dda6e --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/two-rs.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/we-we.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/we-we.png Binary files differnew file mode 100644 index 00000000000..0bd677e26e1 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/we-we.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/figures/xypic-example.png b/Master/texmf-doc/doc/english/make-tex-work/html/figures/xypic-example.png Binary files differnew file mode 100644 index 00000000000..899f655e3e9 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/figures/xypic-example.png diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/index.html b/Master/texmf-doc/doc/english/make-tex-work/html/index.html new file mode 100644 index 00000000000..f452a53a723 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/index.html @@ -0,0 +1,1956 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Making TeX Work</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="next" href="pr01.html" + title="Forward to the SourceForge Edition" /> + </head> + + <body> + <div class="book"> + <div class="titlepage"> + <div> + <div class="mediaobject"> + <img src="figures/cover.png" align="left" /> + </div> + </div> + + <div> + <h1 class="title"><a id="id2788873" + name="id2788873"></a>Making TeX Work</h1> + </div> + + <div> + <p class="titlepage-block"><span + class="authorgroup">by NormanWalsh</span><br /> + <span class="isbn">ISBN: 156592-051-1 + (out-of-print)</span><br /> + <span class="version">Version 1.0.1</span><br /> + <span class="date">Updated: Fri, 23 Aug 2002</span></p> + + <p class="copyright"><a + href="mtwcpyright.html">Copyright</a> © 1994 O'Reilly + & Associates, Inc. All rights reserved.</p> + <br clear="all" /> + </div> + <hr /> + </div> + + <div class="toc"> + <p><b>Table of Contents</b></p> + + <dl> + <dt><a href="pr01.html">Forward to the SourceForge + Edition</a></dt> + + <dd> + <dl> + <dt><a + href="pr01.html#id2841267">Acknowledgments</a></dt> + </dl> + </dd> + + <dt><a href="pr02.html">Preface</a></dt> + + <dd> + <dl> + <dt><a href="pr02.html#sec.implementation">Why Read + This Book?</a></dt> + + <dt><a href="pr02.html#id2788121">Scope of This + Book</a></dt> + + <dt><a href="pr02.html#id2855196">Conventions Used in + This Book</a></dt> + + <dt><a href="pr02.html#id2855490">How to Get + TeX</a></dt> + + <dd> + <dl> + <dt><a href="pr02.html#id2855700">Where Are the + Files?</a></dt> + + <dt><a href="pr02.html#id2855768">Getting + Software Without FTP</a></dt> + + <dt><a + href="pr02.html#sec.gettingexamples">Getting + Examples From This Book</a></dt> + </dl> + </dd> + + <dt><a href="pr02.html#id2856562">Versions of + TeX</a></dt> + + <dt><a href="pr02.html#id2856618">Implementations and + Platforms</a></dt> + + <dd> + <dl> + <dt><a href="pr02.html#id2856757">UNIX</a></dt> + + <dt><a href="pr02.html#id2856866">MS-DOS</a></dt> + + <dt><a href="pr02.html#id2856997">OS/2</a></dt> + + <dt><a + href="pr02.html#id2857046">Macintosh</a></dt> + </dl> + </dd> + + <dt><a href="pr02.html#id2857161">We'd Like to Hear + From You</a></dt> + + <dt><a + href="pr02.html#id2857251">Acknowledgments</a></dt> + </dl> + </dd> + + <dt>I. <a href="pt01.html">An Introduction to + TeX</a></dt> + + <dd> + <dl> + <dt>1. <a href="ch01.html">The Big Picture</a></dt> + + <dd> + <dl> + <dt><a href="ch01.html#sec.texforbeginners">What + Is TeX?</a></dt> + + <dt><a href="ch01.html#id2857628">TeX for + Beginners</a></dt> + + <dd> + <dl> + <dt><a + href="ch01.html#sec.tex.controlsequences">Boxes + and Glue</a></dt> + + <dt><a href="ch01.html#id2858068">Control + Sequences</a></dt> + + <dt><a + href="ch01.html#sec.textformVSwordproc">Special + Characters</a></dt> + </dl> + </dd> + + <dt><a href="ch01.html#id2859644">Text Formatting + Versus Word Processing</a></dt> + + <dd> + <dl> + <dt><a href="ch01.html#sec.howtexworks">What + About Desktop Publishing?</a></dt> + + <dt><a href="ch01.html#id2860232">What About + troff?</a></dt> + + <dt><a href="ch01.html#id2860619">What About + SGML?</a></dt> + </dl> + </dd> + + <dt><a href="ch01.html#id2860690">How TeX + Works</a></dt> + + <dd> + <dl> + <dt><a + href="ch01.html#subsubsec.runningtex">TeXing + a Simple Document</a></dt> + + <dt><a href="ch01.html#id2861683">TeXing More + Complex Documents</a></dt> + + <dt><a href="ch01.html#id2861875">Building a + Table of Contents</a></dt> + + <dt><a href="ch01.html#id2861991">Figure + References</a></dt> + + <dt><a href="ch01.html#id2862061">Indexes and + Glossaries</a></dt> + + <dt><a + href="ch01.html#id2862096">Bibliographies</a></dt> + + <dt><a href="ch01.html#id2862381">Special + Things</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>2. <a href="ch02.html">Editing</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#sec.whatcando">What Can an + Editor Do?</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#sec.auctex">Quoting + Automatically</a></dt> + + <dt><a href="ch02.html#id2862787">Matching + Braces</a></dt> + + <dt><a href="ch02.html#id2862919">Inserting + Common Control Sequences</a></dt> + + <dt><a href="ch02.html#id2862968">Running TeX + Automatically</a></dt> + </dl> + </dd> + + <dt><a href="ch02.html#id2863045">GNU + Emacs</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#id2863154">Starting + TeX Mode</a></dt> + + <dt><a href="ch02.html#id2863366">Typing in + Emacs</a></dt> + + <dt><a href="ch02.html#id2863418">Running TeX + Automatically</a></dt> + </dl> + </dd> + + <dt><a href="ch02.html#id2863525">aucTeX</a></dt> + + <dd> + <dl> + <dt><a + href="ch02.html#sec.multifile">Starting + aucTeX</a></dt> + + <dt><a href="ch02.html#id2863748">Typing in + aucTeX</a></dt> + + <dt><a href="ch02.html#id2865794">aucTeX + Outline Mode</a></dt> + + <dt><a href="ch02.html#id2865831">Intelligent + Paragraph Reformatting</a></dt> + + <dt><a href="ch02.html#id2865862">Multi-file + Documents</a></dt> + + <dt><a href="ch02.html#sec.texcomp">Running + TeX</a></dt> + + <dt><a href="ch02.html#id2866224">Finding + Errors</a></dt> + </dl> + </dd> + + <dt><a + href="ch02.html#id2866254">Multi-Edit</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#id2866322">Setting Up + TeX Support</a></dt> + + <dt><a href="ch02.html#id2866543">Typing in + Multi-Edit</a></dt> + + <dt><a href="ch02.html#id2866670">Running + TeX</a></dt> + </dl> + </dd> + + <dt><a href="ch02.html#id2866742">Brief</a></dt> + + <dt><a + href="ch02.html#id2866836">MicroEMACS</a></dt> + + <dt><a href="ch02.html#id2867057">epm: OS/2's + Enhanced Editor</a></dt> + + <dt><a href="ch02.html#id2867165">Other + Tools</a></dt> + + <dt><a href="ch02.html#id2867406">TeX as a + Compiler</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#id2867481">Processing + a Document</a></dt> + </dl> + </dd> + + <dt><a + href="ch02.html#id2868148">Spellchecking</a></dt> + + <dd> + <dl> + <dt><a + href="ch02.html#id2868250">ispell</a></dt> + + <dt><a + href="ch02.html#id2868280">amSpell</a></dt> + </dl> + </dd> + + <dt><a href="ch02.html#id2868394">Revision + Control</a></dt> + + <dt><a href="ch02.html#id2868511">TeX + Shells</a></dt> + + <dd> + <dl> + <dt><a + href="ch02.html#id2868544">TeXShell</a></dt> + + <dt><a + href="ch02.html#id2868647">TeXPert</a></dt> + + <dt><a + href="ch02.html#id2868748">4TeX</a></dt> + + <dt><a + href="ch02.html#id2868860">PMTeX</a></dt> + + <dt><a + href="ch02.html#id2868984">TeXit</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>3. <a href="ch03.html">Running TeX</a></dt> + + <dd> + <dl> + <dt><a href="ch03.html#run.sec.formatfiles">What + Do You Run?</a></dt> + + <dt><a href="ch03.html#id2869278">What Files Does + TeX Need?</a></dt> + + <dd> + <dl> + <dt><a href="ch03.html#id2869610">Pool + Files</a></dt> + + <dt><a href="ch03.html#id2869651">Format + Files</a></dt> + + <dt><a href="ch03.html#sec.userfiles">User + Files</a></dt> + </dl> + </dd> + + <dt><a href="ch03.html#sec.clineopts">The Command + Line</a></dt> + + <dd> + <dl> + <dt><a + href="ch03.html#sec.runtex.cmdcautions">Command-line + Options</a></dt> + + <dt><a + href="ch03.html#id2870602">Command-line + Cautions</a></dt> + </dl> + </dd> + + <dt><a href="ch03.html#id2871334">TeX Without + Options</a></dt> + + <dt><a href="ch03.html#sec.errors">What About + Errors?</a></dt> + + <dd> + <dl> + <dt><a href="ch03.html#sec.logfiles">Log + Files</a></dt> + + <dt><a + href="ch03.html#sec.qprompt">Interpreting TeX + Error Messages</a></dt> + + <dt><a href="ch03.html#id2872461">Naming a + File TeX Cannot Find</a></dt> + + <dt><a href="ch03.html#id2872549">Misspelling + a Control Sequence Name</a></dt> + + <dt><a href="ch03.html#id2872653">Failure to + Close an Environment</a></dt> + + <dt><a href="ch03.html#id2872844">Math + Outside of Math Mode</a></dt> + + <dt><a href="ch03.html#id2873082">Missing + Fonts</a></dt> + + <dt><a href="ch03.html#id2873273">Everything + Else</a></dt> + </dl> + </dd> + + <dt><a href="ch03.html#id2873346">The Question + Mark Prompt</a></dt> + </dl> + </dd> + + <dt>4. <a href="ch04.html">Macro Packages</a></dt> + + <dd> + <dl> + <dt><a + href="ch04.html#macpack.sec.latexvslatexe">Installation: + Making Format Files</a></dt> + + <dd> + <dl> + <dt><a href="ch04.html#id2874541">Hyphenation + Patterns</a></dt> + </dl> + </dd> + + <dt><a href="ch04.html#id2874634">General-purpose + Formats</a></dt> + + <dd> + <dl> + <dt><a href="ch04.html#id2874772">Plain + TeX</a></dt> + + <dt><a href="ch04.html#id2875093">Extended + Plain TeX</a></dt> + + <dt><a href="ch04.html#id2875359">LaTeX2e + Versus LaTeX</a></dt> + + <dt><a + href="ch04.html#sec.latexe">LaTeX2e</a></dt> + + <dt><a + href="ch04.html#sec.latex">LaTeX</a></dt> + + <dt><a + href="ch04.html#sec.texincolor">AMSTeX</a></dt> + + <dt><a + href="ch04.html#id2877047">AMSLaTeX</a></dt> + + <dt><a + href="ch04.html#id2877164">Lollipop</a></dt> + + <dt><a + href="ch04.html#id2873910">TeXinfo</a></dt> + + <dt><a href="ch04.html#id2877747">Other + Formats</a></dt> + </dl> + </dd> + + <dt><a href="ch04.html#id2878394">Special-purpose + Formats</a></dt> + + <dd> + <dl> + <dt><a + href="ch04.html#id2878827">SliTeX</a></dt> + + <dt><a + href="ch04.html#id2878922">FoilTeX</a></dt> + + <dt><a + href="ch04.html#id2878993">Seminar</a></dt> + </dl> + </dd> + + <dt><a href="ch04.html#id2879086">TeX in + Color</a></dt> + + <dd> + <dl> + <dt><a href="ch04.html#id2879169">Setting Up + Color</a></dt> + + <dt><a href="ch04.html#id2879595">Using + Color</a></dt> + + <dt><a href="ch04.html#id2879708">Now I've + Got Color, but I Need Black and + White!</a></dt> + + <dt><a href="ch04.html#id2879774">Color Under + LaTeX2e</a></dt> + + <dt><a href="ch04.html#id2879830">Color Is + Subtle</a></dt> + + <dt><a href="ch04.html#id2879898">Further + Reading</a></dt> + </dl> + </dd> + </dl> + </dd> + </dl> + </dd> + + <dt>II. <a href="pt02.html">Elements of a Complex + Document</a></dt> + + <dd> + <dl> + <dt>5. <a href="ch05.html">Fonts</a></dt> + + <dd> + <dl> + <dt><a href="ch05.html#sec.issueofsize">What TeX + Needs To Know</a></dt> + + <dd> + <dl> + <dt><a href="ch05.html#id2880659">Selecting a + Font in TeX</a></dt> + + <dt><a href="ch05.html#id2880773">Which + Character Is Which?</a></dt> + </dl> + </dd> + + <dt><a href="ch05.html#id2880909">The Issue of + Size</a></dt> + + <dd> + <dl> + <dt><a + href="ch05.html#sec.gettingtfms">Expressing + Design Size in TeX</a></dt> + + <dt><a href="ch05.html#id2881284">Expressing + Magnification in TeX</a></dt> + + <dt><a href="ch05.html#id2881380">Standard + Magnifications</a></dt> + + <dt><a href="ch05.html#id2881671">Where Do + TFM Files Come From?</a></dt> + </dl> + </dd> + + <dt><a href="ch05.html#sec.nfss2">The New Font + Selection Scheme</a></dt> + + <dd> + <dl> + <dt><a + href="ch05.html#sec.fonts.defnfss2">Selecting + Fonts with the New Font Selection + Scheme</a></dt> + + <dt><a href="ch05.html#id2855857">Defining + Fonts with NFSS2</a></dt> + + <dt><a href="ch05.html#id2884733">Storing + Font Definitions</a></dt> + + <dt><a href="ch05.html#id2884863">Changing + the Defaults</a></dt> + + <dt><a href="ch05.html#id2885098">NFSS + Pitfalls</a></dt> + </dl> + </dd> + + <dt><a href="ch05.html#id2885459">PostScript + Fonts Under NFSS</a></dt> + + <dd> + <dl> + <dt><a href="ch05.html#id2885510">Adjustments + to Scale</a></dt> + </dl> + </dd> + + <dt><a href="ch05.html#id2885640">When Things Go + Wrong</a></dt> + + <dd> + <dl> + <dt><a href="ch05.html#id2885669">When TeX + Complains</a></dt> + + <dt><a href="ch05.html#id2885907">When the + DVI Driver Complains</a></dt> + </dl> + </dd> + + <dt><a href="ch05.html#id2886211">Encoding + Vectors</a></dt> + + <dt><a + href="ch05.html#sec.fonts.virtualfonts">Virtual + Fonts</a></dt> + + <dt><a href="ch05.html#sec.autofont">Automatic + Font Generation by DVI Drivers</a></dt> + + <dt><a href="ch05.html#sec.t1fonts">Math Fonts in + TeX</a></dt> + + <dt><a href="ch05.html#id2887790">Concrete + Examples</a></dt> + + <dd> + <dl> + <dt><a href="ch05.html#id2887816">MetaFont + Fonts</a></dt> + + <dt><a href="ch05.html#id2887929">PostScript + Type 1 Fonts</a></dt> + + <dt><a href="ch05.html#id2890165">HP LaserJet + Softfonts</a></dt> + + <dt><a href="ch05.html#id2890329">TrueType + Fonts</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>6. <a href="ch06.html">Pictures and + Figures</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#sec.devindrev">Different + Kinds of Images</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#id2890411">Bitmapped + Images</a></dt> + + <dt><a href="ch06.html#id2884033">Scalable + Images</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#id2884144">Device + Independence Revisited</a></dt> + + <dt><a href="ch06.html#sec.ptexpic">Using Only + TeX</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#id2890867">Plain + TeX</a></dt> + + <dt><a + href="ch06.html#sec.pictures.latex">LaTeX</a></dt> + + <dt><a + href="ch06.html#id2891692">PiCTeX</a></dt> + + <dt><a + href="ch06.html#id2891884">XYPic</a></dt> + + <dt><a + href="ch06.html#id2892057">DraTeX</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#id2892246">Using a Little + Help</a></dt> + + <dd> + <dl> + <dt><a + href="ch06.html#id2892297">MFPic</a></dt> + + <dt><a + href="ch06.html#id2892403">Fig2MF</a></dt> + + <dt><a + href="ch06.html#sec.tpic">MetaFont</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#id2892560">Using a Little + More Help</a></dt> + + <dt><a + href="ch06.html#sec.pictures.pstricks">PSTricks</a></dt> + + <dt><a + href="ch06.html#id2892664">TeXdraw</a></dt> + + <dt><a href="ch06.html#id2892716">tpic</a></dt> + + <dt><a href="ch06.html#sec.scaleformat">Using a + Lot of Help</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#id2892815">Electronic + Cut-and-paste</a></dt> + + <dt><a href="ch06.html#id2893032">Scalable + Image Formats</a></dt> + + <dt><a href="ch06.html#sec.incps">Bitmapped + Image Formats</a></dt> + + <dt><a href="ch06.html#id2893872">Inserting + PostScript Images into TeX</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#sec.picconv">Manipulating + Images</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#sec.gs">Image + Magick</a></dt> + + <dt><a + href="ch06.html#id2895306">PBMplus</a></dt> + + <dt><a href="ch06.html#id2895807">xv</a></dt> + + <dt><a + href="ch06.html#id2895932">xloadimage</a></dt> + + <dt><a href="ch06.html#id2896003">Image + Alchemy</a></dt> + + <dt><a + href="ch06.html#id2896234">ColorView</a></dt> + + <dt><a + href="ch06.html#id2896325">Jpeg4</a></dt> + + <dt><a + href="ch06.html#id2896400">pmjpeg</a></dt> + + <dt><a + href="ch06.html#id2896523">txt2pcx</a></dt> + + <dt><a + href="ch06.html#id2896564">Ghostscript</a></dt> + + <dt><a + href="ch06.html#sec.screendump">GoScript</a></dt> + + <dt><a + href="ch06.html#id2897312">hp2xx</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#id2897483">Image + Editors</a></dt> + + <dd> + <dl> + <dt><a + href="ch06.html#id2897734">xfig</a></dt> + + <dt><a + href="ch06.html#id2897932">idraw</a></dt> + + <dt><a + href="ch06.html#id2898057">tgif</a></dt> + + <dt><a + href="ch06.html#id2898297">bitmap/pixmap</a></dt> + + <dt><a href="ch06.html#id2898403">Other + Bitmap Editors</a></dt> + + <dt><a + href="ch06.html#id2898442">texcad/xtexcad</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#id2898527">Screen + Dumps</a></dt> + </dl> + </dd> + + <dt>7. <a href="ch07.html">International + Considerations</a></dt> + + <dd> + <dl> + <dt><a + href="ch07.html#sec.for.printing">Typesetting in + Any Language</a></dt> + + <dd> + <dl> + <dt><a href="ch07.html#id2899289">Reading + Input Files</a></dt> + + <dt><a href="ch07.html#id2900395">Changing + the Rules</a></dt> + + <dt><a href="ch07.html#id2902005">Printing + the Result</a></dt> + </dl> + </dd> + + <dt><a href="ch07.html#sec.babel">The Babel + Styles</a></dt> + + <dd> + <dl> + <dt><a href="ch07.html#sec.babelfmt">Building + Multilingual Babel Formats</a></dt> + </dl> + </dd> + + <dt><a href="ch07.html#sec.asciijtex">TeX + Pitfalls</a></dt> + + <dt><a href="ch07.html#id2903161">Very Complex + Languages</a></dt> + + <dd> + <dl> + <dt><a + href="ch07.html#id2903174">Japanese</a></dt> + + <dt><a + href="ch07.html#id2903882">Chinese</a></dt> + + <dt><a + href="ch07.html#id2903985">Arabic</a></dt> + + <dt><a + href="ch07.html#id2904076">Hebrew</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>8. <a href="ch08.html">Printing</a></dt> + + <dd> + <dl> + <dt><a href="ch08.html#sec.printing">Printing + Fonts</a></dt> + + <dd> + <dl> + <dt><a href="ch08.html#sec.bitfonts">Built-in + Fonts</a></dt> + + <dt><a href="ch08.html#id2904946">External + Fonts</a></dt> + + <dt><a href="ch08.html#id2905223">Bitmapped + Fonts</a></dt> + + <dt><a href="ch08.html#id2905872">Scalable + Fonts</a></dt> + + <dt><a href="ch08.html#id2905916">Font + Printing Pitfalls</a></dt> + </dl> + </dd> + + <dt><a href="ch08.html#id2906078">Printing + Pictures and Figures</a></dt> + + <dd> + <dl> + <dt><a href="ch08.html#id2906166">Unsolvable + Problems</a></dt> + + <dt><a href="ch08.html#id2906292">Solvable + Problems</a></dt> + + <dt><a href="ch08.html#id2906405">Pictures + Using Only TeX</a></dt> + + <dt><a href="ch08.html#id2906432">MetaFont + Figures</a></dt> + + <dt><a href="ch08.html#id2906500">Scalable + Images</a></dt> + + <dt><a href="ch08.html#id2906554">Bitmap + Images</a></dt> + </dl> + </dd> + + <dt><a href="ch08.html#id2906581">Selected + Drivers</a></dt> + + <dd> + <dl> + <dt><a href="ch08.html#id2906990">emTeX + Drivers</a></dt> + + <dt><a + href="ch08.html#id2907474">dvilj2</a></dt> + + <dt><a + href="ch08.html#id2907508">dvips</a></dt> + + <dt><a + href="ch08.html#sec.pr.dvilaserhp">DVILASER/HP</a></dt> + + <dt><a + href="ch08.html#sec.pr.dvilaserps">DVILASER/PS</a></dt> + + <dt><a href="ch08.html#id2909658">PTI + Laser/HP and PTI Jet</a></dt> + + <dt><a href="ch08.html#id2909924">PTI + Laser/PS</a></dt> + + <dt><a + href="ch08.html#id2910137">dvipsone</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>9. <a href="ch09.html">Previewing</a></dt> + + <dd> + <dl> + <dt><a + href="ch09.html#sec.ghostscript">Previewing Under + X11</a></dt> + + <dd> + <dl> + <dt><a href="ch09.html#id2911502">Previewing + with xdvi</a></dt> + + <dt><a href="ch09.html#id2911812">Previewing + with \xtex</a></dt> + </dl> + </dd> + + <dt><a href="ch09.html#id2912002">Previewing with + Ghostscript</a></dt> + + <dt><a href="ch09.html#id2912205">Previewing with + emTeX</a></dt> + + <dt><a href="ch09.html#id2912806">Previewing with + dvivga</a></dt> + + <dt><a href="ch09.html#sec.arb.preview">TeX + Preview</a></dt> + + <dt><a href="ch09.html#id2913678">dvideo</a></dt> + + <dt><a href="ch09.html#id2913841">PTI + View</a></dt> + + <dt><a href="ch09.html#id2914028">Previewing + Under Windows</a></dt> + + <dd> + <dl> + <dt><a + href="ch09.html#id2914065">dvimswin</a></dt> + + <dt><a + href="ch09.html#id2914192">dviwin</a></dt> + + <dt><a + href="ch09.html#id2914502">wdviwin</a></dt> + + <dt><a + href="ch09.html#id2914603">DVIWindo</a></dt> + </dl> + </dd> + + <dt><a + href="ch09.html#sec.preview.tty">Previewing on a + TTY</a></dt> + + <dd> + <dl> + <dt><a + href="ch09.html#id2915377">dvi2tty</a></dt> + + <dt><a + href="ch09.html#id2915519">dvgt/dvitovdu</a></dt> + + <dt><a + href="ch09.html#id2915747">crudetype</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>10. <a href="ch10.html">Online + Documentation</a></dt> + + <dd> + <dl> + <dt><a href="ch10.html#id2916146">Something Is + Lost</a></dt> + + <dt><a + href="ch10.html#id2916199">TeXinfo</a></dt> + + <dt><a + href="ch10.html#id2916555">\LaTeX2HTML</a></dt> + + <dt><a + href="ch10.html#id2916701">LameTeX</a></dt> + + <dt><a + href="ch10.html#id2917217">latex2hy</a></dt> + + <dt><a href="ch10.html#id2917348">detex</a></dt> + + <dt><a + href="ch10.html#id2917381">dvispell</a></dt> + </dl> + </dd> + + <dt>11. <a href="ch11.html">Introducing + MetaFont</a></dt> + + <dd> + <dl> + <dt><a + href="ch11.html#sec.mf.gettingstarted">What to + Run?</a></dt> + + <dt><a href="ch11.html#id2918131">What Files Does + MetaFont Need?</a></dt> + + <dd> + <dl> + <dt><a href="ch11.html#id2918156">Pool + Files</a></dt> + + <dt><a href="ch11.html#id2918200">Base + Files</a></dt> + + <dt><a href="ch11.html#id2918279">MetaFont + Programs</a></dt> + </dl> + </dd> + + <dt><a href="ch11.html#id2918336">Command-line + Options</a></dt> + + <dt><a href="ch11.html#id2918545">Building a Base + File</a></dt> + + <dt><a href="ch11.html#sec.buildfont">Running + MetaFont</a></dt> + + <dd> + <dl> + <dt><a href="ch11.html#id2918826">Picking a + Mode</a></dt> + + <dt><a href="ch11.html#id2919066">Selecting a + Size</a></dt> + + <dt><a href="ch11.html#id2919175">Making a GF + Font</a></dt> + + <dt><a href="ch11.html#id2919378">Making a PK + Font</a></dt> + </dl> + </dd> + + <dt><a href="ch11.html#id2919679">What About + Errors?</a></dt> + + <dd> + <dl> + <dt><a href="ch11.html#id2920144">Other + Errors</a></dt> + </dl> + </dd> + + <dt><a href="ch11.html#id2920215">Output at Very + High Resolutions</a></dt> + + <dt><a href="ch11.html#id2920252">Output at Very + Low Resolutions</a></dt> + </dl> + </dd> + + <dt>12. <a href="ch12.html">Bibliographies, Indexes, + and Glossaries</a></dt> + + <dd> + <dl> + <dt><a + href="ch12.html#sec.indexeslooklike">BibTeX</a></dt> + + <dd> + <dl> + <dt><a href="ch12.html#id2920526">How BibTeX + Works</a></dt> + + <dt><a href="ch12.html#id2920800">Building a + Bibliography Database</a></dt> + + <dt><a + href="ch12.html#id2921724">Bibliography + Styles</a></dt> + + <dt><a + href="ch12.html#id2922224">Bibliography + Database Tools</a></dt> + </dl> + </dd> + + <dt><a href="ch12.html#id2923157">Tib</a></dt> + + <dt><a href="ch12.html#id2923378">Making + Indexes</a></dt> + + <dd> + <dl> + <dt><a href="ch12.html#id2923569">Index + Entries</a></dt> + </dl> + </dd> + + <dt><a href="ch12.html#id2923830">Index + Format</a></dt> + + <dt><a href="ch12.html#id2923963">Special-purpose + styles</a></dt> + + <dt><a href="ch12.html#id2924031">Making + Glossaries</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>III. <a href="pt03.html">A Tools Overview</a></dt> + + <dd> + <dl> + <dt>13. <a href="ch13.html">Non-commercial + Environments</a></dt> + + <dd> + <dl> + <dt><a href="ch13.html#free.web">Web2C</a></dt> + + <dt><a + href="ch13.html#sec.emtex.testinstall">emTeX</a></dt> + + <dd> + <dl> + <dt><a href="ch13.html#id2925718">Where to + Start</a></dt> + + <dt><a href="ch13.html#id2925747">Unpacking + the Archives</a></dt> + + <dt><a href="ch13.html#id2925984">Setting Up + the Environment</a></dt> + + <dt><a href="ch13.html#id2926107">Testing the + Installation</a></dt> + + <dt><a + href="ch13.html#sec.emtex.smaller">Installing + Fonts</a></dt> + + <dt><a href="ch13.html#id2926788">Making + emTeX Smaller</a></dt> + + <dt><a href="ch13.html#id2928367">Basic + Customization</a></dt> + + <dt><a href="ch13.html#id2929307">Installing + the Beta Test Versions of emTeX</a></dt> + + <dt><a + href="ch13.html#sec.emtex.autofont">Running + emTeX 386 in Windows</a></dt> + + <dt><a href="ch13.html#id2929946">Automatic + Font Generation with emTeX</a></dt> + + <dt><a + href="ch13.html#sec.netemtex">Installing + emTeX on a Network</a></dt> + </dl> + </dd> + + <dt><a href="ch13.html#id2930222">texas</a></dt> + + <dt><a href="ch13.html#id2930652">sbTeX</a></dt> + + <dt><a href="ch13.html#id2931076">gTeX</a></dt> + </dl> + </dd> + + <dt>14. <a href="ch14.html">Commercial + Environments</a></dt> + + <dd> + <dl> + <dt><a href="ch14.html#sec.com.turbo">µTeX by + ArborText</a></dt> + + <dt><a href="ch14.html#id2931589">\yyTeX</a></dt> + + <dt><a + href="ch14.html#id2931820">Textures</a></dt> + + <dt><a + href="ch14.html#id2931894">TurboTeX</a></dt> + + <dt><a href="ch14.html#sec.pctex">PCTeX</a></dt> + + <dt><a href="ch14.html#sec.pctexforwin">PCTeX For + Windows</a></dt> + + <dt><a href="ch14.html#id2933148">Scientific + Word</a></dt> + </dl> + </dd> + + <dt>15. <a href="ch15.html">TeX on the + Macintosh</a></dt> + + <dd> + <dl> + <dt><a + href="ch15.html#sec.Excalibur">CMacTeX</a></dt> + + <dt><a + href="ch15.html#id2934116">DirectTeX</a></dt> + + <dt><a href="ch15.html#id2934176">OzTeX</a></dt> + + <dt><a + href="ch15.html#id2934618">Textures</a></dt> + + <dt><a href="ch15.html#id2935013">Other + Tools</a></dt> + + <dd> + <dl> + <dt><a + href="ch15.html#id2935026">Alpha</a></dt> + + <dt><a + href="ch15.html#id2935128">BBEdit</a></dt> + + <dt><a href="ch15.html#sec.bsrtools">BSR Font + Tools</a></dt> + + <dt><a + href="ch15.html#id2935468">Excalibur</a></dt> + + <dt><a + href="ch15.html#id2935534">HyperBibTeX</a></dt> + + <dt><a + href="ch15.html#id2935646">MacGS</a></dt> + + <dt><a + href="ch15.html#id2935708">dvidvi</a></dt> + + <dt><a + href="ch15.html#id2935748">MacDVIcopy</a></dt> + + <dt><a + href="ch15.html#id2935800">MacBibTeX</a></dt> + + <dt><a + href="ch15.html#id2935830">MacMakeIndex</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>16. <a href="ch16.html">TeX Utilities</a></dt> + + <dd> + <dl> + <dt><a href="ch16.html#id2936355">List of + Tools</a></dt> + </dl> + </dd> + + <dt>A. <a href="apa.html">Filename Extension + Summary</a></dt> + + <dt>B. <a href="apb.html">Font Samples</a></dt> + + <dd> + <dl> + <dt><a href="apb.html#id2941555">Font + Encodings</a></dt> + + <dt><a href="apb.html#id2945478">Font + Samples</a></dt> + </dl> + </dd> + + <dt>C. <a href="apc.html">Resources</a></dt> + + <dd> + <dl> + <dt><a href="apc.html#id2943524">TUG: The TeX + Users Group</a></dt> + + <dd> + <dl> + <dt><a href="apc.html#id2946099">Other User + Groups</a></dt> + </dl> + </dd> + + <dt><a href="apc.html#id2946152">TeX + Software</a></dt> + + <dt><a href="apc.html#id2946301">TeX + Shells</a></dt> + + <dt><a href="apc.html#id2946342">Editors</a></dt> + + <dt><a href="apc.html#id2946460">Macro Packages + (Formats)</a></dt> + + <dt><a href="apc.html#id2946539">Styles and + Macros</a></dt> + + <dd> + <dl> + <dt><a href="apc.html#id2946714">Styles That + Produced This Book</a></dt> + </dl> + </dd> + + <dt><a + href="apc.html#id2946829">Utilities</a></dt> + + <dt><a + href="apc.html#id2948003">Miscellaneous</a></dt> + </dl> + </dd> + + <dt>D. <a href="apd.html">Long Examples</a></dt> + + <dt>E. <a href="ape.html">GNU Free Documentation + License</a></dt> + + <dd> + <dl> + <dt>0. <a + href="ape.html#id2948209">PREAMBLE</a></dt> + + <dt>1. <a href="ape.html#id2948100">APPLICABILITY + AND DEFINITIONS</a></dt> + + <dt>2. <a href="ape.html#id2948673">VERBATIM + COPYING</a></dt> + + <dt>3. <a href="ape.html#id2948707">COPYING IN + QUANTITY</a></dt> + + <dt>4. <a + href="ape.html#id2948791">MODIFICATIONS</a></dt> + + <dt>5. <a href="ape.html#id2949025">COMBINING + DOCUMENTS</a></dt> + + <dt>6. <a href="ape.html#id2949073">COLLECTIONS + OF DOCUMENTS</a></dt> + + <dt>7. <a href="ape.html#id2949112">AGGREGATION + WITH INDEPENDENT WORKS</a></dt> + + <dt>8. <a + href="ape.html#id2949149">TRANSLATION</a></dt> + + <dt>9. <a + href="ape.html#id2949177">TERMINATION</a></dt> + + <dt>10. <a href="ape.html#id2949201">FUTURE + REVISIONS OF THIS LICENSE</a></dt> + + <dt><a href="ape.html#id2948479">How to use this + License for your documents</a></dt> + </dl> + </dd> + + <dt><a href="bi01.html">Bibliography</a></dt> + </dl> + </dd> + </dl> + </div> + + <div class="list-of-figures"> + <p><b>List of Figures</b></p> + + <dl> + <dt>1.1. <a href="ch01.html#fig.charbox">The Letters g + and h inside their boxes.</a></dt> + + <dt>1.2. <a href="ch01.html#id2860574">Example figure + produced by both TeX and troff</a></dt> + + <dt>1.3. <a href="ch01.html#fig.wholesimple">A high-level + view of TeX</a></dt> + + <dt>1.4. <a href="ch01.html#fig.wholething">High-level + view of TeX including more detail</a></dt> + + <dt>1.5. <a href="ch01.html#fig.texcmplx">TeXing a More + Complex Document</a></dt> + + <dt>2.1. <a href="ch02.html#fig.meextsetup">Extension + setup in Multi-Edit</a></dt> + + <dt>2.2. <a href="ch02.html#fig.melatexcmp">LaTeX as a + compiler in Multi-Edit</a></dt> + + <dt>2.3. <a href="ch02.html#fig.editing.mew">Editing a + file with MicroEMACS</a></dt> + + <dt>2.4. <a href="ch02.html#fig.winhelp">Microsoft + Windows online help for LaTeX</a></dt> + + <dt>2.5. <a href="ch02.html#fig.editing.epm">Editing a + TeX document with epm under OS/2</a></dt> + + <dt>2.6. <a href="ch02.html#fig.mespell">Edit settings + control word delimiters</a></dt> + + <dt>2.7. <a href="ch02.html#fig.amspell">Spellchecking a + document with amSpell</a></dt> + + <dt>2.8. <a + href="ch02.html#fig.texshell">TeXShell</a></dt> + + <dt>2.9. <a href="ch02.html#fig.texpert">TeXPert</a></dt> + + <dt>2.10. <a href="ch02.html#fig.fourtex">4TeX</a></dt> + + <dt>2.11. <a href="ch02.html#fig.pmtex">PMTeX</a></dt> + + <dt>2.12. <a href="ch02.html#fig.texit">TeXit</a></dt> + + <dt>4.1. <a href="ch04.html#fig.sampresults">Sample + page</a></dt> + + <dt>4.2. <a href="ch04.html#ex.sampplaintex">Plain TeX + Input</a></dt> + + <dt>4.3. <a href="ch04.html#fig.samplatex2e">LaTeX2e + Input</a></dt> + + <dt>4.4. <a href="ch04.html#fig.samplatex">LaTeX Input + File</a></dt> + + <dt>4.5. <a href="ch04.html#ex.sampamstex">AMSTeX Input + File</a></dt> + + <dt>4.6. <a href="ch04.html#fig.amsresults">AMS sample + page</a></dt> + + <dt>4.7. <a href="ch04.html#ex.samplollipop">Lollipop + Input File</a></dt> + + <dt>4.8. <a href="ch04.html#ex.infinp">TeXinfo + Input</a></dt> + + <dt>4.9. <a href="ch04.html#fig.infex">TeXinfo sample + page</a></dt> + + <dt>4.10. <a href="ch04.html#fig.infinf">Online + documentation produced by MakeInfo</a></dt> + + <dt>4.11. <a href="ch04.html#fig.caffeine">Caffeine by + ChemTeX</a></dt> + + <dt>4.12. <a href="ch04.html#fig.caffeine-source">The + ChemTeX Source for Caffeine</a></dt> + + <dt>4.13. <a href="ch04.html#fig.lithium">A lithium + cation rendered by ChemStruct</a></dt> + + <dt>4.14. <a href="ch04.html#fig.lithium-source">The + ChemStruct Source for the Lithium Cation</a></dt> + + <dt>4.15. <a href="ch04.html#fig.mozart">A little + Mozart…</a></dt> + + <dt>4.16. <a href="ch04.html#fig.mozart-source">The + MusicTeX Source for Figure</a></dt> + + <dt>5.1. <a href="ch05.html#fig.filig">fi as two + characters and as a ligature</a></dt> + + <dt>5.2. <a href="ch05.html#fig.kerning">We unkerned and + kerned</a></dt> + + <dt>5.3. <a href="ch05.html#fig.Rs">The Computer Modern + Roman letter R at 150pt: (a) from a 5pt design; (b) from + a 17pt design</a></dt> + + <dt>5.4. <a href="ch05.html#fig.vfdiagram">How TeX uses a + virtual font</a></dt> + + <dt>6.1. <a href="ch06.html#fig.plaintex">An example + diagram in Plain TeX</a></dt> + + <dt>6.2. <a href="ch06.html#fig.latexpic">A parallelogram + in LaTeX</a></dt> + + <dt>6.3. <a href="ch06.html#fig.epic">A figure created + with (a) epic, and (b) eepic</a></dt> + + <dt>6.4. <a href="ch06.html#fig.bezier">Several bezier + curves created with the LaTeX bezier style</a></dt> + + <dt>6.5. <a href="ch06.html#fig.pictex">Sample diagrams + using PiCTeX</a></dt> + + <dt>6.6. <a href="ch06.html#fig.xypic">An XYPic + diagram</a></dt> + + <dt>6.7. <a href="ch06.html#fig.dratex">An DraTeX + diagram</a></dt> + + <dt>6.8. <a href="ch06.html#fig.epsbox">A PostScript + bounding box example</a></dt> + + <dt>6.9. <a href="ch06.html#fig.psfigure">An example of + an encapsulated figure</a></dt> + + <dt>6.10. <a href="ch06.html#fig.psfigurerot">Another + example of an encapsulated figure (resized and + rotated)</a></dt> + + <dt>6.11. <a href="ch06.html#fig.sd-xfig">Editing an + image with xfig</a></dt> + + <dt>6.12. <a href="ch06.html#fig.sd-idraw">Editing an + image with idraw</a></dt> + + <dt>6.13. <a href="ch06.html#fig.sd-tgif">Editing an + image with tgif</a></dt> + + <dt>6.14. <a href="ch06.html#fig.xbitmap">An example of + bitmap editing an icon</a></dt> + + <dt>6.15. <a href="ch06.html#fig.textshot">A text mode + screen dump.</a></dt> + + <dt>7.1. <a href="ch07.html#fig.charmap">Character + mapping example</a></dt> + + <dt>7.2. <a href="ch07.html#fig.pmj">Poor Man's + Japanese</a></dt> + + <dt>7.3. <a href="ch07.html#fig.jemtex">\jemtex + sample</a></dt> + + <dt>7.4. <a href="ch07.html#fig.flang.arab">Arabic text + typeset with ArabTeX</a></dt> + + <dt>7.5. <a href="ch07.html#fig.hebrew">Hebrew</a></dt> + + <dt>8.1. <a href="ch08.html#fig.reschange">Resolution of + the bitmap and the device changed simultaneously</a></dt> + + <dt>8.2. <a href="ch08.html#fig.sizechange">Resolution of + the bitmap changed while device held constant</a></dt> + + <dt>8.3. <a href="ch08.html#fig.emdvi">Previewing and + printing with emTeX</a></dt> + + <dt>9.1. <a href="ch09.html#fig.xdvi">How Previewing with + xdvi Works</a></dt> + + <dt>9.2. <a href="ch09.html#fig.preview.xdvi">Previewing + with xdvi</a></dt> + + <dt>9.3. <a href="ch09.html#fig.xtex">How Previewing with + xtex Works</a></dt> + + <dt>9.4. <a href="ch09.html#fig.preview.xtex">Previewing + with xtex</a></dt> + + <dt>9.5. <a + href="ch09.html#fig.preview.ghostview">Previewing with + Ghostview</a></dt> + + <dt>9.6. <a + href="ch09.html#fig.preview.dviscr">Previewing with + emTeX's dviscr</a></dt> + + <dt>9.7. <a href="ch09.html#fig.preview.dvipm">Previewing + with emTeX's dvipm</a></dt> + + <dt>9.8. <a href="ch09.html#fig.dvivga.vga">Previewing + with dvivga</a></dt> + + <dt>9.9. <a href="ch09.html#fig.tpre.vga">Previewing with + ArborText's Previewer</a></dt> + + <dt>9.10. <a href="ch09.html#fig.ttexd.ega">Previewing + with TurboTeX dvideo (using limited selection of + fonts)</a></dt> + + <dt>9.11. <a href="ch09.html#fig.ptipreview">Previewing + with Personal TeX's Previewer</a></dt> + + <dt>9.12. <a + href="ch09.html#fig.preview.dvimswin">Previewing with + dvimswin</a></dt> + + <dt>9.13. <a + href="ch09.html#fig.preview.dviwin">Previewing with + dviwin</a></dt> + + <dt>9.14. <a + href="ch09.html#fig.preview.wttpreview">Previewing with + TurboTeX's wdviwin</a></dt> + + <dt>9.15. <a + href="ch09.html#fig.preview.dviwindo">Previewing with + Y&Y's DVIWindo</a></dt> + + <dt>9.16. <a + href="ch09.html#fig.preview.dviwindo2">DVIWindo preview + much enlarged</a></dt> + + <dt>9.17. <a href="ch09.html#fig.dvgttek">Previewing with + dvgt under Tektronix 4010 emulation</a></dt> + + <dt>10.1. <a href="ch10.html#fig.on.infex">TeXinfo sample + page</a></dt> + + <dt>10.2. <a href="ch10.html#fig.on.infinf">Online + documentation produced by MakeInfo</a></dt> + + <dt>11.1. <a href="ch11.html#fig.eight">A figure eight + created with MetaFont</a></dt> + + <dt>12.1. <a href="ch12.html#fig.bib.bibview">Editing an + article entry with \program{bibview}</a></dt> + + <dt>12.2. <a href="ch12.html#fig.bib.xbibtex">Editing an + article entry with \program{xbibtex}</a></dt> + + <dt>12.3. <a href="ch12.html#fig.bib.bibdb">Editing an + article entry with \program{bibdb}</a></dt> + + <dt>14.1. <a href="ch14.html#fig.pcmenu">The PCTeX menu + system</a></dt> + + <dt>14.2. <a href="ch14.html#fig.wpctex">PCTeX For + Windows editing and previewing a LaTeX document</a></dt> + + <dt>14.3. <a href="ch14.html#fig.wpctextttotf">PCTeX For + Windows TrueType font metric builder</a></dt> + + <dt>14.4. <a href="ch14.html#fig.sciword">Editing a + document with Scientific Word</a></dt> + + <dt>14.5. <a + href="ch14.html#fig.commercial.swpreview">Preview of the + Scientific Word document shown in Figure</a></dt> + + <dt>15.1. <a href="ch15.html#fig.mac.textures">Editing, + previewing, and typesetting in Textures</a></dt> + + <dt>15.2. <a href="ch15.html#fig.mac.alpha">Alpha editing + the fonts chapter from this book</a></dt> + + <dt>15.3. <a + href="ch15.html#fig.mac.bbedit">\program{BBEdit} editing + the fonts chapter from this book</a></dt> + + <dt>15.4. <a + href="ch15.html#fig.mac.Excalibur">\program{Excalibur} + spellchecking the fonts chapter from this book</a></dt> + + <dt>15.5. <a href="ch15.html#fig.mac.hyperbib">The + \program{Hyper\BibTeX} view of a bibliographic + database</a></dt> + </dl> + </div> + + <div class="list-of-tables"> + <p><b>List of Tables</b></p> + + <dl> + <dt>1. <a href="pr02.html#id2855538"></a></dt> + + <dt>1.1. <a href="ch01.html#tab.activechars">Special + Characters in Plain TeX</a></dt> + + <dt>1.2. <a href="ch01.html#tab.acttype">How to Typeset + Special Characters</a></dt> + + <dt>2.1. <a href="ch02.html#tbl.mathops">aucTeX Math + Operators in Mathematics Minor-mode</a></dt> + + <dt>2.2. <a href="ch02.html#tab.modes">TeX Modes of + Interaction</a></dt> + + <dt>3.1. <a href="ch03.html#id2871639"></a></dt> + + <dt>5.1. <a href="ch05.html#tab.fontshapeww">Standard + Weight and Width Designations</a></dt> + + <dt>5.2. <a href="ch05.html#tab.fontshapeex">Weight and + Width Are Combined to Form Series</a></dt> + + <dt>5.3. <a href="ch05.html#tab.fontshapeshape">Standard + Abbreviations of Font Shape</a></dt> + + <dt>5.4. <a + href="ch05.html#tab.nfss2.userlevel">User-level Font + Selection Control Sequences in NFSS2</a></dt> + + <dt>5.5. <a href="ch05.html#tab.nfss2.encoding">Encoding + Schemes Supported by NFSS2</a></dt> + + <dt>5.6. <a href="ch05.html#tab.nfssdefaults">Default + Fonts</a></dt> + + <dt>5.7. <a href="ch05.html#id2888084"></a></dt> + + <dt>6.1. <a href="ch06.html#tab.manipover">Graphics + Manipulation Packages</a></dt> + + <dt>6.2. <a href="ch06.html#tab.drawingtools">Graphics + Editing Packages</a></dt> + + <dt>7.1. <a href="ch07.html#tab.accentedchar">Standard + Control Sequences for Symbols from Other Character + Sets</a></dt> + + <dt>7.2. <a href="ch07.html#tab.newaccentedchar">New + Control Sequences Proposed by TWGMLC</a></dt> + + <dt>7.3. <a href="ch07.html#tab.langswitch">Language + Switch Macros Proposed by TUG</a></dt> + + <dt>8.1. <a href="ch08.html#tab.drivers">Common DVI + Drivers</a></dt> + + <dt>8.2. <a href="ch08.html#tab.dvilaserhp.util">Other + \protect\dvilaserhp Utilities</a></dt> + + <dt>8.3. <a href="ch08.html#tab.dvilaserps.util">Other + \protect\dvilaserps Utilities</a></dt> + + <dt>8.4. <a href="ch08.html#tab.dvipsone.util">Other + dvipsone Utilities</a></dt> + + <dt>9.1. <a href="ch09.html#tab.previewers">Common + Previewers</a></dt> + + <dt>9.2. <a href="ch09.html#tab.tpre.utils">TeX Preview + Utilities</a></dt> + + <dt>9.3. <a href="ch09.html#tab.dviwindo">DVIWindo + Utilities</a></dt> + + <dt>11.1. <a href="ch11.html#tab.mf.mfdistrib">Some + Popular MetaFont Fonts on the CTAN Archives</a></dt> + + <dt>12.1. <a href="ch12.html#tab.bib.entries">Types of + Entries with Required and Optional Fields</a></dt> + + <dt>13.1. <a href="ch13.html#tab.emtexfilesum">Summary of + the \protect\emTeX Distribution</a></dt> + + <dt>13.2. <a href="ch13.html#tab.emtex.fontlibs">Fonts + Libraries Available for \protect\emTeX on CTAN</a></dt> + + <dt>13.3. <a href="ch13.html#tab.emtexotherex">Other + \protect\emTeX Executables</a></dt> + + <dt>13.4. <a href="ch13.html#tab.emtex.betasummary">The + Beta Test Files for \protect\emTeX</a></dt> + + <dt>14.1. <a href="ch14.html#tab.turbotex">TurboTeX + Programs</a></dt> + + <dt>14.2. <a + href="ch14.html#tab.turbomf">Turbo\protect\TeX + \protect\MF Programs</a></dt> + + <dt>15.1. <a href="ch15.html#tab.mac.cmacdist">Summary of + the \protect\cmactex Distribution at CTAN</a></dt> + + <dt>15.2. <a href="ch15.html#tab.mac.oztexdist">Summary + of the \protect\oztex Distribution at CTAN</a></dt> + + <dt>15.3. <a href="ch15.html#tab.mac.bsrtools">Font Tools + in the BSR package</a></dt> + + <dt>16.1. <a href="ch16.html#tab.util.beebedr">The Public + Doman DVI Driver Family</a></dt> + + <dt>16.2. <a href="ch16.html#tab.rtfxlate">RTF + Translators</a></dt> + + <dt>16.3. <a + href="ch16.html#tab.psutils.scripts">Additional Scripts + in PS Utils</a></dt> + + <dt>B.1. <a href="apb.html#tab.cmrencode">The Computer + Modern Roman Font Encoding</a></dt> + + <dt>B.2. <a href="apb.html#tab.cmmiencode">The Computer + Modern Math Italic Font Encoding</a></dt> + + <dt>B.3. <a href="apb.html#tab.font.corkencoding">The + Cork Font Encoding</a></dt> + + <dt>B.4. <a href="apb.html#tab.adbstdencode">The Adobe + Standard Font Encoding</a></dt> + </dl> + </div> + + <div class="list-of-examples"> + <p><b>List of Examples</b></p> + + <dl> + <dt>1.1. <a href="ch01.html#ex.csexample">An Example of a + TeX Document</a></dt> + + <dt>1.2. <a href="ch01.html#ex.knuthbbl">A typical + bibliography database entry</a></dt> + + <dt>2.1. <a href="ch02.html#ex.driver">A Simple Driver + File</a></dt> + + <dt>2.2. <a href="ch02.html#ex.localvars">Local Variables + in an Emacs Buffer</a></dt> + + <dt>2.3. <a href="ch02.html#ex.madeuperr">A Contrived + Error</a></dt> + + <dt>2.4. <a href="ch02.html#ex.rcsmac">Revision Control + Macros for TeX Documents Using RCS}</a></dt> + + <dt>3.1. <a href="ch03.html#ex.badfonttex">The Document + BADFONT.TEX</a></dt> + + <dt>5.1. <a href="ch05.html#ex.logoshape">Font-shape + Declaration with NFSS2</a></dt> + + <dt>5.2. <a href="ch05.html#ex.logoshape2">Font-shape + declaration with NFSS2 (simplified)</a></dt> + + <dt>5.3. <a href="ch05.html#ex.pstotexfont">The + PStoTeXfont script</a></dt> + + <dt>6.1. <a href="ch06.html#ex.plaintexm">The Input for + the Plain TeX Diagram</a></dt> + + <dt>6.2. <a href="ch06.html#ex.latexpicsrc">The LaTeX + Input for</a></dt> + + <dt>6.3. <a href="ch06.html#ex.epicsrc">The epic Input + for</a></dt> + + <dt>6.4. <a href="ch06.html#ex.beziersrc">The Input + for</a></dt> + + <dt>6.5. <a href="ch06.html#ex.pictexsrc">PiCTeX Input + for</a></dt> + + <dt>6.6. <a href="ch06.html#ex.xypicsrc">The XYPic Input + for</a></dt> + + <dt>6.7. <a href="ch06.html#ex.dratexsrc">The DraTeX + Input for</a></dt> + + <dt>6.8. <a href="ch06.html#ex.gseps">Converting + Encapsulated PostScript to a Bitmap with + Ghostscript</a></dt> + + <dt>6.9. <a href="ch06.html#ex.texscreencapt">Script for + Inserting a Captured Text Screen</a></dt> + + <dt>7.1. <a href="ch07.html#ex.usinglangs">{A Sample + Multilingual Document Using English and French}</a></dt> + + <dt>10.1. <a href="ch10.html#ex.on.infinp">TeXinfo + Commands</a></dt> + + <dt>11.1. <a href="ch11.html#ex.eightcode">The Code for + the Figure Eight</a></dt> + + <dt>12.1. <a href="ch12.html#ex.bib.bibexample">A Sample + BibTeX entry</a></dt> + + <dt>12.2. <a href="ch12.html#ex.tibdb">A Tib style + database entry</a></dt> + + <dt>D.1. <a + href="apd.html#ex.maketexpk">MakeTeXPK.pl</a></dt> + + <dt>D.2. <a + href="apd.html#ex.maketextfm">MakeTeXTFM.pl</a></dt> + + <dt>D.3. <a href="apd.html#ex.dvidxx">dvidxx.btm</a></dt> + + <dt>D.4. <a href="apd.html#ex.makepk">makepk.btm</a></dt> + + <dt>D.5. <a + href="apd.html#ex.encafmpl">enc-afm.pl</a></dt> + + <dt>D.6. <a + href="apd.html#ex.textoxfont">TeXtoXfont</a></dt> + + <dt>D.7. <a + href="apd.html#ex.pstoxfont">PStoXfont</a></dt> + + <dt>D.8. <a + href="apd.html#ex.txt2verb">txt2verb.pl</a></dt> + </dl> + </div> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/mtw.css b/Master/texmf-doc/doc/english/make-tex-work/html/mtw.css new file mode 100644 index 00000000000..6fc8bbe2b08 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/mtw.css @@ -0,0 +1,150 @@ +/* CSS2 Stylesheet for _Making TeX Work_ + * + * $Id: mtw.css,v 1.1 2002/08/23 14:31:13 nwalsh Exp $ + */ + +.box { border: thin solid #7F7F7F; + } + +DIV.example-output { + padding-left: 15px; + border-style: solid; + border-width: 0px; + border-left-width: 2px; + border-color: black; +} + +pre.screen { + background: #E8E8E8; +} + +pre.programlisting { + background: #E8E8E8; +} + +div.example-source { + background: #E8E8E8; +} + +p.publisher { + text-align: center; +} + +div.component-title { + text-align: right; +} + +h1,h2,h3,h4,h5,h6 { + font-style: italic; +} + +h1.label { + font-size: 150pt; + font-weight: normal; + font-family: sans-serif; + margin-bottom: 0px; + padding-bottom: 0px; + margin-top: 0px; + padding-top: 0px; +} + +div.component-title h1.title { + font-family: sans-serif; + margin-top: 0px; + padding-top: 0px; + margin-right: 20px; + font-size: 36pt; +} + +p.alpha-version { + margin-top: 0px; + padding-top: 0px; +} + +hr.component-separator { + height: 1px; +} + +div.refentry div.titlepage { + margin-left: 20px; +} + +div.refentry div.titlepage h1.title { + margin-left: -20px; + margin-bottom: 0px; + font-size: 36pt; +} + +body { + margin-top: 0px; + padding-top: 0px; + margin-left: 0px; + margin-right: 0px; + padding-left: 0px; + padding-right: 0px; +} + +div.navheader { + padding-top: 2px; + background-color: #c6bec6; + padding-right: 2px; + border-bottom-style: solid; + border-bottom-width: 1px; +} + +div.navfooter { + background-color: #c6bec6; + margin-bottom: 0px; + padding-bottom: 0px; + padding-left: 10px; + padding-right: 10px; + border-top-style: solid; + border-top-width: 1px; + padding-top: 2px; +} + +div.copyrightfooter { + background-color: #c6bec6; + margin-top: 0px; + padding-top: 0px; + padding-left: 10px; + padding-right: 10px; + padding-bottom: 2px; +} + +div.copyrightfooter p { + margin-top: 0px; + padding-top: 10px; +} + +div.refentry, +div.preface, +div.chapter, +div.appendix, +div.reference, +div.part, +div.bibliography, +div.glossary, +div.index, +div.colophon, +div.legalnotice { + margin-left: 10px; + margin-right: 10px; +} + +div.book { + margin-left: 10px; + margin-right: 10px; + margin-top: 5px; +} + +thead { + background-color: black; + color: white; +} + +table, +tbody,thead,tfoot, +tr,td { + border-color: #8F8F8F; +} diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/mtwcpyright.html b/Master/texmf-doc/doc/english/make-tex-work/html/mtwcpyright.html new file mode 100644 index 00000000000..64fd10d21c2 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/mtwcpyright.html @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Making TeX Work</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + </head> + + <body> + <div class="legalnotice"> + <p><i>Making TeX Work</i>. Copyright © 1994 O'Reilly & + Associates, Inc. All rights reserved.</p> + + <p>Permission is granted to copy, distribute and/or modify + this document under the terms of the GNU Free Documentation + License, Version 1.1 or any later version published by the + Free Software Foundation; with the Back-Cover Texts being <a + href="#backcover" target="_top">Back Cover Text</a>. A copy + of the license is included in <a href="ape.html" + title="Appendix E. GNU Free Documentation License">Appendix E</a>.</p> + + <p>Nutshell Handbook, the Nutshell Handbook logo, and the + O'Reilly logo are registered trademarks of O'Reilly & + Associates, Inc. The association between the image of a + spider and the topic of TeX is a trademark of O'Reilly & + Associates, Inc. Java and all Java-based trademarks and logos + are trademarks or registered trademarks of Sun Microsystems, + Inc., in the United States and other countries. O'Reilly + & Associates, Inc. is independent of Sun + Microsystems.</p> + + <p>Many of the designations used by manufacturers and sellers + to distinguish their products are claimed as trademarks. + Where those designations appear in this book, and O'Reilly + & Associates, Inc. was aware of a trademark claim, the + designations have been printed in caps or initial caps. While + every precaution has been taken in the preparation of this + book, the publisher assumes no responsibility for errors or + omissions, or for damages resulting from the use of the + information contained herein.</p> + + <p><a id="backcover" name="backcover"></a><b>Back Cover + Text: </b></p> + + <p>Visit O'Reilly on the Web at <a + href="http://www.oreilly.com/" + target="_top">www.oreilly.com</a>.</p> + <br /> + <br /> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/pr01.html b/Master/texmf-doc/doc/english/make-tex-work/html/pr01.html new file mode 100644 index 00000000000..5f97e9f53b3 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/pr01.html @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Forward to the SourceForge Edition</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="index.html" title="Making TeX Work" /> + <link rel="previous" href="index.html" + title="Making TeX Work" /> + <link rel="next" href="pr02.html" title="Preface" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Making TeX Work" href="index.html"><img + src="figures/nav-prev.png" alt="Prev" border="0" /> + </a> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a> <a title="Preface" + href="pr02.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="preface"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="id2788712" + name="id2788712"></a>Forward to the SourceForge + Edition</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + </div> + + <p>I wrote <i>Making TeX Work</i> in 1994. It has not been + updated and is unquestionably out-of-date. In fact, the TeX + sources are still in LaTeX 2.09.</p> + + <p>It is provided here for the benefit of those readers who + would like to read it (it has been out of print for several + years) or its TeX sources.</p> + + <p>I have no plans to update it.</p> + + <div class="important" + style="margin-left: 0.5in; margin-right: 0.5in;"> + <h3 class="title">Important</h3> + + <p>The conversion from TeX to XML <span + class="emphasis"><em>is not</em></span> complete. There are + lots of TeXisms left in the XML version. And tables that + haven't been converted. And figures that haven't been + converted. And probably lots of other stuff. I do plan, + over time, to fix those errors so that the XML sources are + a reasonable reflection of the published book.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2841267" + name="id2841267"></a>Acknowledgments</h2> + </div> + </div> + + <p>My thanks to Tim O'Reilly for agreeing to republish this + book under the <a href="ape.html" + title="Appendix E. GNU Free Documentation License"> + GNU Free Documentation License</a>.</p> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a title="Preface" + href="pr02.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Making TeX Work </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> Preface</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/pr02.html b/Master/texmf-doc/doc/english/make-tex-work/html/pr02.html new file mode 100644 index 00000000000..9442b1401d9 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/pr02.html @@ -0,0 +1,1296 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Preface</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="index.html" title="Making TeX Work" /> + <link rel="previous" href="pr01.html" + title="Forward to the SourceForge Edition" /> + <link rel="next" href="pt01.html" + title="Part I. An Introduction to TeX" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Forward to the SourceForge Edition" + href="pr01.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Making TeX Work" href="index.html"><img + src="figures/nav-up.png" alt="Up" border="0" /> + </a> <a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="preface"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="id2841290" + name="id2841290"></a>Preface</h2> + </div> + + <div> + <p class="releaseinfo">$Revision: 1.1 $</p> + </div> + + <div> + <p class="pubdate">$Date: 2002/08/23 14:31:13 $</p> + </div> + </div> + + <p>TeX is a tool for creating professional quality, typeset + pages of any kind. It is particularly good, perhaps + unsurpassed, at typesetting mathematics<a id="id2841277" + class="indexterm" name="id2841277"></a> <a id="id2841322" + class="indexterm" name="id2841322"></a>; as a result, it is + widely used in scientific writing. Some of its other + features, like its ability to handle multiple languages<a + id="id2787586" class="indexterm" name="id2787586"></a> <a + id="id2787597" class="indexterm" name="id2787597"></a> in the + same document and the fact that the content of a document + (chapters, sections, equations, tables, figures, etc.) can be + separated from its form (typeface, size, spacing, + indentation, etc.) are making TeX more common outside of + scientific and academic circles.</p> + + <p>Designed by Donald Knuth<a id="id2787617" + class="indexterm" name="id2787617"></a> in the late 1970s, + more than a decade of refinement has gone into the program + called “TeX” today. The resulting system produces + publication-quality output while maintaining portability + across an extremely wide range of platforms.</p> + + <p>Remarkably, TeX is free. This fact, probably as much as + any other, has contributed to the development of a complete + “TeX system” by literally thousands of + volunteers. TeX, the program, forms the core of this + environment and is now supported by hundreds of tools.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a + id="sec.implementation" + name="sec.implementation"></a>Why Read This Book?</h2> + </div> + </div> + + <p>This book is for anyone who uses TeX. Novices will need + at least one other reference, because this book does not + describe the nuts and bolts of writing documents with TeX + in any great detail.</p> + + <p>If you are new to TeX, there is much to learn. There are + many books that describe how to use TeX. However, the focus + of this book is mostly at a higher level. After digesting + Chapter <a href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a>, + <span class="emphasis"><em><a href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a></em></span>, + you should be able to proceed through the rest of the book + without much difficulty even if you have never seen TeX + before. So, if you are a system administrator interested in + learning enough about these programs to install and test + them for your users, you should be all set. If you are + interested in learning how to write documents with TeX, + this book will be helpful, but it will not be wholly + sufficient.</p> + + <p>Why do you need this book at all? Although many + individual components of the TeX system are well + documented, there has never before been a complete + reference to the whole system. This book surveys the entire + world of TeX software and helps you see how the various + pieces are related.</p> + + <p>A functioning TeX system is really a large collection of + programs that interact in subtle ways to produce a document + that, when formatted by TeX, prints the output you want. + All the different interactions that take place ultimately + result in less work for you, the writer, even though it may + seem like more work at first. Heck, it may <span + class="emphasis"><em>be</em></span> more work at first, but + in the long run, the savings are tremendous.</p> + + <p>Many books about TeX refer the reader to a “local + guide” for more information about previewing and + printing documents and what facilities exist for + incorporating special material into documents (like special + fonts and pictures and figures). In reality, very few local + guides exist.</p> + + <p>The TeX environment is now mature and stable enough to + support a more “global guide.” That is what + this book attempts to be. It goes into detail about + previewing and printing, about incorporating other fonts, + about adding pictures and figures to your documents, and + about many other things overlooked by other books.</p> + + <p>Because fonts play a ubiquitous role in typesetting, + this book is also about MetaFont, the tool that Donald + Knuth<a id="id2788111" class="indexterm" + name="id2788111"></a> designed for creating fonts.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2788121" + name="id2788121"></a>Scope of This Book</h2> + </div> + </div> + + <p>Here's how the book is laid out.</p> + + <p><span class="bold"><b>Part <a href="pt01.html" + title="Part I. An Introduction to TeX">Part I</a>: + <span class="emphasis"><em><a href="pt01.html" + title="Part I. An Introduction to TeX">Part I</a></em></span></b></span>.</p> + + <p>Chapter <a href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a>, + <span class="emphasis"><em><a href="ch01.html" + title="Chapter 1. The Big Picture">Chapter 1</a></em></span>. + If you don't know anything about TeX at all, this chapter + will help you get started. If you're a system adminstrator + charged with the task of installing and maintaining TeX + tools, you'll get enough information to do the job.</p> + + <p>Chapter <a href="ch02.html" + title="Chapter 2. Editing">Chapter 2</a>, + <span class="emphasis"><em><a href="ch02.html" + title="Chapter 2. Editing">Chapter 2</a></em></span>. + An overview of some environments that can make working with + TeX documents easier. It describes some editors that + “understand” TeX, how to integrate TeX into a + “programmer's editor,” spellchecking, revision + control, and other aspects of TeXnical editing.</p> + + <p>Chapter <a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a>, + <span class="emphasis"><em><a href="ch03.html" + title="Chapter 3. Running TeX">Chapter 3</a></em></span>. + The mechanics of running TeX, the program. It discusses + what things TeX needs to be able to run, how to start TeX, + command-line options, leaving TeX, and recovery from + errors.</p> + + <p>Chapter <a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a>, + <span class="emphasis"><em><a href="ch04.html" + title="Chapter 4. Macro Packages">Chapter 4</a></em></span>. + Overview of TeX macro packages. This chapter describes how + to make a format file, the major general-purpose writing + packages, some special-purpose writing packages, how to + make slides for presentations, and how to handle color in + TeX.</p> + + <p><span class="bold"><b>Part <a href="pt02.html" + title="Part II. Elements of a Complex Document">Part II</a>: + <span class="emphasis"><em><a href="pt02.html" + title="Part II. Elements of a Complex Document">Part II</a></em></span></b></span>.</p> + + <p>Chapter <a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a>, + <span class="emphasis"><em><a href="ch05.html" + title="Chapter 5. Fonts">Chapter 5</a></em></span>. + This chapter explores the issues that need to be addressed + when using fonts. Many of these issues are not particularly + TeX-related, but TeX is very flexible, and it's important + to understand the tradeoffs that must be made. This chapter + also examines some TeX-specific issues: font selection, + files that TeX needs, automatic font generation, and + virtual fonts.</p> + + <p>Chapter <a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a>, + <span class="emphasis"><em><a href="ch06.html" + title="Chapter 6. Pictures and Figures">Chapter 6</a></em></span>. + How many ways are there to include pictures and figures in + a TeX document? Lots and lots of ways. This chapter + examines them all.</p> + + <p>Chapter <a href="ch07.html" + title="Chapter 7. International Considerations">Chapter 7</a>, + <span class="emphasis"><em><a href="ch07.html" + title="Chapter 7. International Considerations">Chapter 7</a></em></span>. + TeX is well qualified to do international typesetting. This + chapter looks at the issues that are involved: representing + international symbols in your input file, what TeX + produces, getting the right fonts, multiple languages in + the same document, and macro packages and style files that + solve some of these problems. Some strategies for dealing + with very difficult languages (like Japanese and Arabic) + are also explored.</p> + + <p>Chapter <a href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a>, + <span class="emphasis"><em><a href="ch08.html" + title="Chapter 8. Printing">Chapter 8</a></em></span>. + What goes in has to come out. This chapter tells the what, + where, why, and how of printing your documents.</p> + + <p>Chapter <a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a>, + <span class="emphasis"><em><a href="ch09.html" + title="Chapter 9. Previewing">Chapter 9</a></em></span>. + Save paper; preview your documents before you print + them.</p> + + <p>Chapter <a href="ch10.html" + title="Chapter 10. Online Documentation">Chapter 10</a>, + <span class="emphasis"><em><a href="ch10.html" + title="Chapter 10. Online Documentation">Chapter 10</a></em></span>. + Online documentation is becoming increasingly popular. This + chapter explores different ways that both typeset and + online documentation can be produced from the same set of + input files.</p> + + <p>Chapter <a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a>, + <span class="emphasis"><em><a href="ch11.html" + title="Chapter 11. Introducing MetaFont">Chapter 11</a></em></span>. + Sometimes it is necessary or desirable to create a special + version of a standard TeX font. Maybe you really need the + standard 10pt font at 11.3pt. This chapter will tell you + how to work with existing MetaFont fonts. It <span + class="emphasis"><em>won't</em></span> tell you how to + create your own fonts; that's a whole different story.</p> + + <p>Chapter <a href="ch12.html" + title="Chapter 12. Bibliographies, Indexes, and Glossaries"> + Chapter 12</a>, <span class="emphasis"><em><a + href="ch12.html" + title="Chapter 12. Bibliographies, Indexes, and Glossaries"> + Chapter 12</a></em></span>. Maintaining a + bibliographic database can be a great timesaver. This + chapter looks at the BibTeX program and other tools for + building and using bibliographic databases. It also + discusses the creation of indexes and glossaries.</p> + + <p><span class="bold"><b>Part <a href="pt03.html" + title="Part III. A Tools Overview">Part III</a>: + <span class="emphasis"><em><a href="pt03.html" + title="Part III. A Tools Overview">Part III</a></em></span></b></span>.</p> + + <p>Chapter <a href="ch13.html" + title="Chapter 13. Non-commercial Environments">Chapter 13</a>, + <span class="emphasis"><em><a href="ch13.html" + title="Chapter 13. Non-commercial Environments">Chapter 13</a></em></span>. + Many TeX environments are freely available. This chapter + describes public domain, free, and shareware versions of + TeX.</p> + + <p>Chapter <a href="ch14.html" + title="Chapter 14. Commercial Environments">Chapter 14</a>, + <span class="emphasis"><em><a href="ch14.html" + title="Chapter 14. Commercial Environments">Chapter 14</a></em></span>. + A large, complex system like TeX can be overwhelming + (although I hope less so after you read this book ;-). One + of the advantages of selecting a commercial implementation + of TeX is that some form of customer support is usually + provided. Still other commercial implementations offer + features not found in any free releases. This chapter + describes several commercial TeX releases.</p> + + <p>Chapter <a href="ch15.html" + title="Chapter 15. TeX on the Macintosh">Chapter 15</a>, + <span class="emphasis"><em><a href="ch15.html" + title="Chapter 15. TeX on the Macintosh">Chapter 15</a></em></span>. + Many issues discussed in this book apply equally to all + platforms, including the Macintosh platform, but the Mac + has its own special set of features. This chapter looks at + some versions of TeX and other tools designed specifically + for use on the Mac.</p> + + <p>Chapter <a href="ch16.html" + title="Chapter 16. TeX Utilities">Chapter 16</a>, + <span class="emphasis"><em><a href="ch16.html" + title="Chapter 16. TeX Utilities">Chapter 16</a></em></span>. + This chapter lists many of the the utilities available in + the CTAN archives and provides a brief description of what + they do.</p> + + <p>Appendix <a href="apa.html" + title="Appendix A. Filename Extension Summary">Appendix A</a>, + <span class="emphasis"><em><a href="apa.html" + title="Appendix A. Filename Extension Summary">Appendix A</a></em></span>. + Lots of files can be identified by their extensions. This + appendix lists the extensions that are most often seen in + conjunction with TeX and describes what the associated + files contain.</p> + + <p>Appendix <a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a>, + <span class="emphasis"><em><a href="apb.html" + title="Appendix B. Font Samples">Appendix B</a></em></span>. + Examples of many MetaFont fonts available from the CTAN + archives.</p> + + <p>Appendix <a href="apc.html" + title="Appendix C. Resources">Appendix C</a>, + <span class="emphasis"><em><a href="apc.html" + title="Appendix C. Resources">Appendix C</a></em></span>. + A complete list of the resources described in this + book.</p> + + <p>Appendix <a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a>, + <span class="emphasis"><em><a href="apd.html" + title="Appendix D. Long Examples">Appendix D</a></em></span>. + This appendix contains examples (scripts, batch files, + programs) that seemed too long to place in the running + text.</p> + + <p><span class="emphasis"><em>Bibliography</em></span>. + Where I learned what I know. Also, where you can look for + more information about specific topics.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2855196" + name="id2855196"></a>Conventions Used in This Book</h2> + </div> + </div> + + <p>The following typographic conventions are used in this + book:</p> + + <div class="variablelist"> + <dl> + <dt><span class="term"><span + class="emphasis"><em>Italic</em></span></span></dt> + + <dd> + <p>is used for filenames, directories, user commands, + program names, and macro packages (except where the + distinctive logo type is used). Sometimes italics are + used in the traditional way for emphasis of new ideas + and important concepts.</p> + </dd> + + <dt><span class="term"><tt>Typewriter</tt></span></dt> + + <dd> + <p>is used for program examples, FTP sites, TeX + control sequences, and little bits of TeX syntax that + appear in running text (for example, typewriter text + in a reference to the LaTeX <tt>picture</tt> + environment is a clue that LaTeX literally uses the + word “picture” to identify this + environment).</p> + </dd> + + <dt><span class="term"><tt>\bf Typewriter + Bold</tt></span></dt> + + <dd> + <p>is used in examples to show the user's actual + input at the terminal.</p> + </dd> + + <dt><span class="term"><tt>\it Typewriter + Italic</tt></span></dt> + + <dd> + <p>identifies text that requires a context-specific + substitution. For example, <span + class="emphasis"><em><tt>filename</tt></em></span> in + an example would be replaced by some particular + filename.</p> + </dd> + + <dt><span class="term">Footnotes</span></dt> + + <dd> + <p>are used for parenthetical remarks. Sometimes, + lies are spoken to simplify the discussion, and the + footnotes restore the lie to the truth. (And + sometimes they don't ;-)</p> + </dd> + </dl> + </div> + + <p>Filename extensions, like “<span + class="emphasis"><em>.tex</em></span>” in + <tt>book.tex</tt>, are shown in uppercase letters when + referring to a particular type of file. For example, a TeX + Font Metric or <tt>TFM</tt> file would be + <tt>somefile.tfm</tt>. The actual extension of the file may + be different (upper or lowercase, longer or shorter) + depending on your operating environment.</p> + + <p>When the shell prompt is shown in an example, it is + shown as a dollar sign, \$. You should imagine that this is + your system's prompt, which might otherwise be + <tt><!--</tt> , <tt>C></tt>, --> <tt>[C:\]</tt>, + or a dialog box.</p> + + <p>When spaces are important in an example, the + “{ }” character is used to emphasize the + spaces. Effective,  isn't  it?</p> + + <p>In some places, I refer to specific keys that you should + press. When it's important that I mean pressing particular + keys and not typing something, I emphasize the keys. For + instance, an example that includes <b>Enter</b> means that + you should literally press the Enter or Return key. The + sequence <b>Ctrl-D</b> means that you should press and hold + the “Control” and “d” keys + simultaneously. Control-key combinations aren't case + sensitive, so you needn't press the shift key.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2855490" + name="id2855490"></a>How to Get TeX</h2> + </div> + </div> + + <p>TeX and the other programs mentioned in this book are + available from a number of places. It's impossible to list + all of the places where you might find any given tool, but + there is one place where you will almost certainly find + <span class="emphasis"><em>every</em></span> tool: the + Comprehensive TeX Archive Network (CTAN)<a id="id2855505" + class="indexterm" name="id2855505"></a>.</p> + + <p>This network is a fully-mirrored anonymous FTP hierarchy + in three countries. Always use the FTP site<a + id="id2855524" class="indexterm" name="id2855524"></a> that + is geographically closest to you. The following table lists + the current members of CTAN as of July, 1993:</p> + + <div class="table"> + <a id="id2855538" name="id2855538"></a> + + <p class="title"><b>Table 1. </b></p> + + <table summary="" border="1"> + <colgroup> + <col align="left" /> + <col align="left" /> + <col align="left" /> + <col align="left" /> + </colgroup> + + <thead> + <tr> + <th align="left">Geographic Location</th> + + <th align="left">Site</th> + + <th align="left">IP Address</th> + + <th align="left">Top Level Directory</th> + </tr> + </thead> + + <tbody> + <tr> + <td align="left">United States</td> + + <td align="left">\tt ftp.shsu.edu</td> + + <td align="left">192.92.115.10</td> + + <td align="left">\it /tex-archive</td> + </tr> + + <tr> + <td align="left">England</td> + + <td align="left">\tt ftp.tex.ac.uk</td> + + <td align="left">131.151.79.32</td> + + <td align="left">\it /tex-archive</td> + </tr> + + <tr> + <td align="left">Germany</td> + + <td align="left">\tt ftp.uni-stuttgart.de</td> + + <td align="left">129.69.8.13</td> + + <td align="left">\it /tex-archive</td> + </tr> + </tbody> + </table> + </div> + + <p>You may also access the CTAN archives by electronic + mail<a id="id2855672" class="indexterm" + name="id2855672"></a> if you do not have FTP access. For + up-to-date instructions about the mail server, send the + single-line message <tt>help</tt> to + <tt>fileserv@shsu.edu</tt>.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2855700" + name="id2855700"></a>Where Are the Files?</h3> + </div> + </div> + + <p>Every CTAN mirror site has the same well-organized + directory structure<a id="id2855710" class="indexterm" + name="id2855710"></a>. The top-level directory also + contains a complete catalog of current files organized by + name, date, and size. The catalogs are named + <tt>FILES.byname</tt>, <tt>FILES.bydate</tt>, and + <tt>FILES.bysize</tt>, respectively, in the top level + directory. The top-level directory contains the following + subdirectories:</p> +<pre class="screen"> +<table> +<title></title> +<tgroup cols="1"> +<colspec align="left"> +<colspec align="left"> +<thead> +<row> + <entry>Directory</entry> + <entry>Description of Contents </entry> +</row> +</thead> +<tbody> +<row> + <entry>tools</entry> + <entry>Archiving tools (<command>unzip</command>, <command>tar</command>, <command>compress</command>, etc.) </entry> +</row> +<row> + <entry>biblio</entry> + <entry>Tools for maintaining bibliographic databases </entry> +</row> +<row> + <entry>digests</entry> + <entry>Electronic digests (&TeX;hax, UK&TeX;, etc.)</entry> +</row> +<row> + <entry>info</entry> + <entry>Free documentation, many good guides </entry> +</row> +<row> + <entry>dviware</entry> + <entry>Printing and previewing software </entry> +</row> +<row> + <entry>fonts</entry> + <entry>Fonts for &TeX; </entry> +</row> +<row> + <entry>graphics</entry> + <entry>Software for working with pictures and figures </entry> +</row> +<row> + <entry>help</entry> + <entry>Online help files, etc. </entry> +</row> +<row> + <entry>indexing</entry> + <entry>Indexing and glossary building tools </entry> +</row> +<row> + <entry>language</entry> + <entry>Multi-national language support </entry> +</row> +<row> + <entry>macros</entry> + <entry>Macro packages and style files </entry> +</row> +<row> + <entry>misc</entry> + <entry>Stuff that doesn't fit in any other category </entry> +</row> +<row> + <entry>support</entry> + <entry>Tools for running and supporting &TeX;</entry> +</row> +<row> + <entry>systems</entry> + <entry>OS-specific programs and files</entry> +</row> +<row> + <entry>web</entry> + <entry>Sources for &TeX; programs (in &Web;) </entry> +</row> +</tbody> +</tgroup> +</table> +</pre> + + <p>The archives at <tt>ftp.shsu.edu</tt> and + <tt>ftp.tex.ac.uk</tt> also support <b>gopher</b><a + id="id2788674" class="indexterm" name="id2788674"></a> + access to the archives. The UK <b>gopher</b> supports + indexed access to the archives. A World Wide Web + (hypertext) interface<a id="id2788694" class="indexterm" + name="id2788694"></a> to the archives is available + from:</p> +<pre class="screen"> + +http://jasper.ora.com/ctan.html +</pre> + + <p>This interface includes brief descriptions of many + packages and the ability to perform keyword and date + searches.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2855768" + name="id2855768"></a>Getting Software Without + FTP</h3> + </div> + </div> + + <p>The electronic alternatives<a id="id2788563" + class="indexterm" name="id2788563"></a> to FTP, described + in the section “<a + href="pr02.html#sec.gettingexamples" + title="Getting Examples From This Book">the section + called “Getting Examples From This + Book”</a>” of this chapter are also viable + alternatives for getting software from the CTAN + archives.</p> + + <p>In addition, there are a number of ways to get + distributions through nonelectronic<a id="id2788597" + class="indexterm" name="id2788597"></a> channels. The + names and addresses of these sources are listed in + Appendix <a href="apc.html" + title="Appendix C. Resources">Appendix C</a>, + <span class="emphasis"><em><a href="apc.html" + title="Appendix C. Resources">Appendix C</a></em></span>.</p> + + <p>You can get many of the popular TeX distributions on + diskette from the TeX Users Group (TUG)<a id="id2856094" + class="indexterm" name="id2856094"></a>. Emacs, + <b>Ghostscript</b>, and other packages by the Free + Software Foundation (FSF)<a id="id2856119" + class="indexterm" name="id2856119"></a> are available on + tape directly from the FSF. You may also find large + bulletin board systems that support TeX (for example, + Channel1 in Cambridge, MA)</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="sec.gettingexamples" + name="sec.gettingexamples"></a>Getting Examples From + This Book</h3> + </div> + </div> + + <p>All of the substantial code fragments and programs + printed in this book are available online. The examples<a + id="id2856154" class="indexterm" name="id2856154"></a> in + this book are all in <b>Perl</b><a id="id2856168" + class="indexterm" name="id2856168"></a>, a language for + easily manipulating text, files, and processes. I decided + to use <b>Perl</b> simply because it is available for + every platform discussed in this book. It is the only + “universal” scripting language that will work + under MS-DOS, OS/2, unix, and the Macintosh. All of the + scripts in this book can be converted to a different + scripting language (the various unix shells or something + like <b>4DOS</b>'s extended batch language for MS-DOS and + OS/2) if you prefer. I've tried to write the <b>Perl</b> + scripts in a straightforward way so that any given task + won't be too difficult.</p> + + <p>The examples are available electronically in a number + of ways: by FTP, FTPMAIL, BITFTP, and UUCP. The cheapest, + fastest, and easiest ways are listed first. If you read + from the top down, the first one that works is probably + the best. Use FTP if you are directly on the Internet. + Use FTPMAIL if you are not on the Internet but can send + and receive electronic mail to Internet sites (this + includes CompuServe users). Use BITFTP if you send + electronic mail via BITNET. Use UUCP if none of the above + work.</p> + + <div class="note" + style="margin-left: 0.5in; margin-right: 0.5in;"> + <h3 class="title">Note</h3> + + <p>The examples were prepared using a unix system. If + you are running unix, you can use them without + modification. If you are running on another platform, + you may need to modify these examples to correct the + end-of-line markers. For example, whereas under unix + every line ends with a line feed character (the + carriage return is implicit), under DOS every line must + end with explicit carriage return and line feed + characters.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2856246" + name="id2856246"></a>FTP</h4> + </div> + </div> + + <p>To use FTP<a id="id2856255" class="indexterm" + name="id2856255"></a>, you need a machine with direct + access to the Internet. A sample session is shown + below.</p> +<pre class="screen"> +\${\bf ftp ftp.uu.net} Connected to ftp.uu.net. +220 ftp.UU.NET FTP server (Version 6.34 Oct 22 14:32:01 1992) ready. +Name (ftp.uu.net:prefect): {\bf anonymous} +331 Guest login ok, send e-mail address as password. +Password:{\bf prefect@guide.com} \ \ \ {\rm\it\small (use your user name and host here)} +230 Guest login ok, access restrictions apply. +ftp>{\bf cd /published/oreilly/nutshell/maketexwork} +250 CWD command successful. +ftp>{\bf get README} +200 PORT command successful. +150 Opening ASCII mode data connection for README (xxxx bytes). +226 Transfer complete. +local: README remote: README +xxxx bytes received in xxx seconds (xxx Kbytes/s) +ftp>{\bf binary} \ \ {\rm\it\small (select binary mode for compressed files)} +200 Type set to I. +{\rm\it\small \ (Repeat get commands for the other files.} +{\rm\it\small \ They are listed in the README file.)} +ftp>{\bf quit} 221 Goodbye. +\$ +</pre> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2856292" + name="id2856292"></a>FTPMAIL</h4> + </div> + </div> + + <p>FTPMAIL<a id="id2856301" class="indexterm" + name="id2856301"></a> is a mail server available to + anyone who can send electronic mail to, and receive it + from, Internet sites. This includes most workstations + that have an email connection to the outside world and + CompuServe<a id="id2856314" class="indexterm" + name="id2856314"></a> users. You do not need to be + directly on the Internet.</p> + + <p>Send mail to <span + class="emphasis"><em>ftpmail@decwrl.dec.com</em></span>. + In the message body, give the name of the anonymous FTP + host and the FTP commands you want to run. The server + will run anonymous FTP for you and mail the files back + to you. To get a complete help file, send a message + with no subject and the single word <tt>help</tt> in + the body. The following is an example mail session that + should get you the examples. This command sends you a + listing of the files in the selected directory and the + requested example files. The listing is useful if + there's a later version of the examples you're + interested in.</p> +<pre class="screen"> +\${\bf mail ftpmail@decwrl.dec.com} +Subject: {\bf{}reply prefect@guide.com} \ \ {\rm\it\small (where you want files mailed)} +{\bf{}connect ftp.uu.net} +{\bf{}chdir /published/oreilly/nutshell/maketexwork} +{\bf{}dir} +{\bf{}get README} +{\bf{}quit} +</pre> + + <p>A signature at the end of the message is acceptable + as long as it appears after <tt>quit</tt>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2856375" + name="id2856375"></a>BITFTP</h4> + </div> + </div> + + <p>BITFTP<a id="id2856384" class="indexterm" + name="id2856384"></a> is a mail server for BITNET + users. You send it electronic mail messages requesting + files, and it sends you back the files by electronic + mail. BITFTP currently serves only users who send it + mail from nodes that are directly on BITNET, EARN, or + NetNorth. BITFTP is a public service of Princeton + University.</p> + + <p>To use BITFTP, send mail containing your FTP + commands to <span + class="emphasis"><em>BITFTP@PUCC</em></span>. For a + complete help file, send <tt>HELP</tt> as the message + body.</p> + + <p>The following is the message body you should send to + BITFTP:</p> +<pre class="screen"> + +FTP ftp.uu.net +NETDATA USER anonymous +PASS<span +class="emphasis"><em>your Internet e-mail address</em></span> {\rm\it\small (not your BITNET address)} +CD /published/oreilly/nutshell/maketexwork +DIR +GET README +QUIT +</pre> + + <p>Questions about BITFTP can be directed to <span + class="emphasis"><em>MAINT@PUCC</em></span> on + BITNET.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2856447" + name="id2856447"></a>UUCP</h4> + </div> + </div> + + <p>UUCP<a id="id2856456" class="indexterm" + name="id2856456"></a> is standard on virtually all unix + systems and is available for IBM-compatible PCs and + Apple Macintoshes. The examples are available by UUCP + via modem from UUNET; UUNET's connect-time charges + apply. You can get the examples from UUNET whether you + have an account or not. If you or your company has an + account with UUNET, you will have a system with a + direct UUCP connection to UUNET. Find that system, and + type (as one line):</p> +<pre class="screen"> +\$ <span +class="bold"><b>uucp uunet\! /published/oreilly/nutshell/maketexwork/README \</b></span> +<span class="emphasis"><em>\ \ yourhost</em></span>\! /<span +class="emphasis"><em>yourname</em></span>/ +</pre> + + <p>The README file should appear some time later (up to + a day or more) in the directory <span + class="emphasis"><em>/usr/spool/uucppublic/yourname</em></span>. + If you don't have an account, but would like one so + that you can get electronic mail, contact UUNET at + 703-204-8000.</p> + + <p>If you don't have a UUNET account, you can set up a + UUCP connection to UUNET in the United States using the + phone number 1-900-468-7727. As of this writing, the + cost is 50 cents per minute. The charges will appear on + your next telephone bill. The login name is <span + class="emphasis"><em>uucp</em></span> with no password. + Your entry may vary depending on your UUCP + configuration.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h4 class="title"><a id="id2856527" + name="id2856527"></a>Gopher</h4> + </div> + </div> + + <p>If you are on the Internet, you can use the + <b>gopher</b><a id="id2856542" class="indexterm" + name="id2856542"></a> facility to learn about online + access to examples through the O'Reilly Online + Information Resource. Access <span + class="emphasis"><em>gopher.ora.com</em></span> as + appropriate from your site.</p> + </div> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2856562" + name="id2856562"></a>Versions of TeX</h2> + </div> + </div> + + <p>The most recent versions of TeX<a id="id2856571" + class="indexterm" name="id2856571"></a> and MetaFont<a + id="id2856585" class="indexterm" name="id2856585"></a> are + version 3.1415 and version 2.71, respectively. Version 3 of + TeX introduced several new features designed to improve + support for non-English languages (including the use of + 8-bit input and some refinements to hyphenation control). + If you use an older version of TeX, you should upgrade.</p> + + <p>Donald Knuth<a id="id2856609" class="indexterm" + name="id2856609"></a> has specified that TeX's version + number converges to $π$, therefore version 3.1415 is + only the fourth minor revision after version 3. The next + minor revision will be version 3.14159. Similarly, + MetaFont's version number converges to $e$ + (2.7182818284$…$).</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2856618" + name="id2856618"></a>Implementations and Platforms</h2> + </div> + </div> + + <p>The interface that TeX presents to the writer is very + consistent. Most of the examples described in this book are + applicable to every single implementation<a id="id2856636" + class="indexterm" name="id2856636"></a><a id="id2856653" + class="indexterm" name="id2856653"></a> of TeX. However, + TeX is not a closed system. It is possible to step outside + of TeX to incorporate special elements into your document + or take advantage of the special features of a particular + environment. These extensions can dramatically restrict the + portability of your documents.</p> + + <p>Many of the topics covered in this book offer + alternatives in those areas that are less portable. + Therefore, it is natural to ask what implementations are + really covered.</p> + + <p>Before outlining which implementations are covered, let + me suggest that this book will be useful even if you are + using an implementation not “officially” + covered here. The reality of the situation is this: many, + many tools have been ported with TeX. Many of the tools + mentioned in this book are available on platforms that are + not specifically discussed. Time and equipment constraints + prevented Amiga<a id="id2856696" class="indexterm" + name="id2856696"></a>, Atari<a id="id2856708" + class="indexterm" name="id2856708"></a>, NeXT<a + id="id2856719" class="indexterm" name="id2856719"></a>, + VMS<a id="id2856731" class="indexterm" + name="id2856731"></a>, and Windows NT<a id="id2856743" + class="indexterm" name="id2856743"></a> implementations of + TeX from being specifically addressed in this edition of + the book.</p> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2856757" + name="id2856757"></a>UNIX</h3> + </div> + </div> + + <p>unix<a id="id2856765" class="indexterm" + name="id2856765"></a> is probably the most common TeX + platform. The emphasis in this book is on unix + workstations running X11, producing output for PostScript + and HP LaserJet printers.</p> + + <p><b>Linux</b><a id="id2856788" class="indexterm" + name="id2856788"></a> and other personal computer + implementations of unix are not addressed specifically; + however, with the successful port of X11 to <b>Linux</b>, + I'm confident that every unix tool here can be, or has + been, ported to <b>Linux</b> (and probably other PC unix + environments).</p> + + <p>The only implementation of the TeX program for unix + considered in any detail is the free implementation + distributed in <span + class="emphasis"><em>web2c</em></span>. This distribution + is described in the section called “<a + href="ch13.html#free.web" title="Web2C">the section + called “Web2C”</a>” in Chapter <a + href="ch13.html" + title="Chapter 13. Non-commercial Environments"> + Chapter 13</a>, <span class="emphasis"><em><a + href="ch13.html" + title="Chapter 13. Non-commercial Environments"> + Chapter 13</a></em></span>. Most of the other unix + tools discussed here are also free.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2856866" + name="id2856866"></a>MS-DOS</h3> + </div> + </div> + + <p>With very few exceptions, the tools in this book are + available under MS-DOS<a id="id2856875" class="indexterm" + name="id2856875"></a>. Because PCs are very popular, a + lot of effort has gone into porting unix tools to MS-DOS. + Some packages, however, require a 386SX (or more + powerful) processor. For the most part, I focus on PCs + running MS-DOS only; however, Microsoft Windows<a + id="id2856888" class="indexterm" name="id2856888"></a> + and DesqView<a id="id2856906" class="indexterm" + name="id2856906"></a> are not entirely ignored.</p> + + <p>There are quite a few options when it comes to + selecting an implementation of the TeX program under + MS-DOS. Several free implementations are discussed as + well as some commercial implementations. For more + information about these implementations, consult + Chapter <a href="ch13.html" + title="Chapter 13. Non-commercial Environments"> + Chapter 13</a>, <span class="emphasis"><em><a + href="ch13.html" + title="Chapter 13. Non-commercial Environments"> + Chapter 13</a></em></span>, and Chapter <a + href="ch14.html" + title="Chapter 14. Commercial Environments">Chapter 14</a>, + <span class="emphasis"><em><a href="ch14.html" + title="Chapter 14. Commercial Environments">Chapter 14</a></em></span>.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2856997" + name="id2856997"></a>OS/2</h3> + </div> + </div> + + <p>In this book, OS/2 is treated primarily as a superset + of MS-DOS. When possible, I look at OS/2-specific + versions of each utility, but rely on MS-DOS as a + fall-back.</p> + + <p>Extensions to emTeX for OS/2<a id="id2857012" + class="indexterm" name="id2857012"></a> are explored, as + are editing environments such as <b>epm<a id="id2857032" + class="indexterm" name="id2857032"></a></b>. The + multi-threaded nature of OS/2 allows more complete + porting of unix tools. When better ports are available + for OS/2, they are discussed.</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h3 class="title"><a id="id2857046" + name="id2857046"></a>Macintosh</h3> + </div> + </div> + + <p>The Macintosh<a id="id2857054" class="indexterm" + name="id2857054"></a> is very different from the systems + described above. Chapter <a href="ch15.html" + title="Chapter 15. TeX on the Macintosh">Chapter 15</a>, + <span class="emphasis"><em><a href="ch15.html" + title="Chapter 15. TeX on the Macintosh">Chapter 15</a></em></span>, + discusses the Macintosh environment in detail.</p> + + <p>There are four implementations of TeX for the + Macintosh. Three are freely available, and one is + commercial: CMacTeX<a id="id2857095" class="indexterm" + name="id2857095"></a> is free, OzTeX<a id="id2857112" + class="indexterm" name="id2857112"></a> and DirectTeX<a + id="id2857123" class="indexterm" name="id2857123"></a> + are shareware, and <b>Textures</b><a id="id2857140" + class="indexterm" name="id2857140"></a> is a commercial + package from Blue Sky Research<a id="id2857150" + class="indexterm" name="id2857150"></a>.</p> + </div> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2857161" + name="id2857161"></a>We'd Like to Hear From You</h2> + </div> + </div> + + <p>We have tested and verified all of the information in + this book to the best of our ability, but you may find that + features have changed (or even that we have made + mistakes!). Please let us know about any errors you find, + as well as your suggestions for future editions, by + writing:</p> + + <div class="address"> + <p><br /> + O'Reilly & Associates, Inc.<br /> + 103 Morris Street, Suite A<br /> + Sebastopol, CA 95472<br /> + 1-800-998-9938 (in the US or Canada)<br /> + + 1-707-829-0515 (international/local)<br /> + 1-707-829-0104 (FAX)<br /> + </p> + </div> + + <p>You can also send us messages electronically. To be put + on the mailing list or request a catalog, send email + to:</p> + + <div class="informaltable"> + <table border="1"> + <colgroup> + <col /> + <col /> + </colgroup> + + <tbody> + <tr> + <td><span + class="emphasis"><em>nuts@ora.com</em></span></td> + + <td>(via the Internet)</td> + </tr> + + <tr> + <td><span + class="emphasis"><em>uunet!ora!nuts</em></span></td> + + <td>(via UUCP)</td> + </tr> + </tbody> + </table> + </div> + + <p>To ask technical questions or comment on the book, send + email to:</p> + + <p><span + class="emphasis"><em>bookquestions@ora.com</em></span> (via + the Internet)</p> + </div> + + <div class="section"> + <div class="titlepage"> + <div> + <h2 class="title" style="clear: both"><a id="id2857251" + name="id2857251"></a>Acknowledgments</h2> + </div> + </div> + + <p>This book would not exist if I had not received support + and encouragement from my friends and colleagues, near and + far. I owe the deepest debt of gratitude to my wife, + Deborah, for patience, understanding, and support as I + progressed through what is easily the most all-consuming + task I have ever undertaken.</p> + + <p>The earliest draft of this book came about because my + advisor at the University of Massachusetts, Eliot Moss, + allowed me to tinker with the TeX installation in the + Object Systems Lab and was always able to suggest ways to + make it better. My friends and colleages at UMass, Amer + Diwan, Darko Stefanovi\'c, Dave Yates, Eric Brown, Erich + Nahum, Jody Daniels, Joe McCarthy, Ken Magnani, Rick + Hudson, and Tony Hosking, asked all the hard questions and + didn't seem to mind when I used them as guinea pigs for my + latest idea.</p> + + <p>I'm indebted also to Eberhard Mattes, Geoffrey Tobin, + George D. Greenwade, Peter Schmitt, Sebastian Rahtz, and + Tomas Rokicki, who provided technical review comments on + the materials presented here. Jim Breen and Ken Lunde + offered invaluable feedback on Chapter 7.</p> + + <p>And I'd like to thank a lot of people at O'Reilly for + their help and enthusiasm; in particular, my editor, Debby + Russell, offered advice, helpful criticism, and support + beyond the call of duty (Debby keyed most of the index for + this book as production deadlines drew near and other + arrangements fell through); Chris Tong organized the raw + entries into a usable index; Lenny Muellner, Donna + Woonteiler, and Sheryl Avruch allowed me to work on the + book when it wasn't technically my job; Stephen Spainhour + copyedited it into English with the help of Leslie Chalmers + and Kismet McDonough (Stephen offered helpful suggestions + along the way, too); Jennifer Niederst helped me get the + design right; and Chris Reilly created the figures and + screen dumps. I enjoyed working with everyone at O'Reilly + so much that I left UMass and joined the production + department myself ;-).</p> + + <p>Several companies provided review copies of their + software while I was writing this book. I would like to + thank ArborText, Blue Sky Research, Borland International, + The Kinch Computer Company, LaserGo, Personal TeX, TCI + Software Research, and Y&Y, for their generosity.</p> + + <p>Finally, I'd like to thank the entire Internet TeX + community. Countless thousands of questions and answers on + the Net refined my understanding of how TeX works and what + it can do.</p> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Forward to the SourceForge Edition" + href="pr01.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Part I. An Introduction to TeX" + href="pt01.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Forward to the SourceForge + Edition </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> Part I. An + Introduction to TeX</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/pt01.html b/Master/texmf-doc/doc/english/make-tex-work/html/pt01.html new file mode 100644 index 00000000000..e86a45b1926 --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/pt01.html @@ -0,0 +1,489 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Part I. An Introduction to TeX</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="index.html" title="Making TeX Work" /> + <link rel="previous" href="pr02.html" title="Preface" /> + <link rel="next" href="ch01.html" + title="Chapter 1. The Big Picture" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a title="Preface" + href="pr02.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Making TeX Work" href="index.html"><img + src="figures/nav-up.png" alt="Up" border="0" /> + </a> <a title="Chapter 1. The Big Picture" + href="ch01.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="part"> + <div class="titlepage"> + <div> + <h1 class="title"><a id="part.intro" + name="part.intro"></a>An Introduction to TeX</h1> + </div> + </div> + + <div class="partintro"> + <p><a href="pt01.html" + title="Part I. An Introduction to TeX">Part I</a>, + introduces TeX and the tools that make up the TeX system. + It describes various editing environments that simplify the + job of editing TeX documents. It also discusses the + mechanics of running TeX and recovery from errors, and it + provides an overview of TeX macro packages and format + files.</p> + + <div class="toc"> + <p><b>Table of Contents</b></p> + + <dl> + <dt>1. <a href="ch01.html">The Big Picture</a></dt> + + <dd> + <dl> + <dt><a href="ch01.html#sec.texforbeginners">What Is + TeX?</a></dt> + + <dt><a href="ch01.html#id2857628">TeX for + Beginners</a></dt> + + <dd> + <dl> + <dt><a + href="ch01.html#sec.tex.controlsequences">Boxes + and Glue</a></dt> + + <dt><a href="ch01.html#id2858068">Control + Sequences</a></dt> + + <dt><a + href="ch01.html#sec.textformVSwordproc">Special + Characters</a></dt> + </dl> + </dd> + + <dt><a href="ch01.html#id2859644">Text Formatting + Versus Word Processing</a></dt> + + <dd> + <dl> + <dt><a href="ch01.html#sec.howtexworks">What + About Desktop Publishing?</a></dt> + + <dt><a href="ch01.html#id2860232">What About + troff?</a></dt> + + <dt><a href="ch01.html#id2860619">What About + SGML?</a></dt> + </dl> + </dd> + + <dt><a href="ch01.html#id2860690">How TeX + Works</a></dt> + + <dd> + <dl> + <dt><a + href="ch01.html#subsubsec.runningtex">TeXing a + Simple Document</a></dt> + + <dt><a href="ch01.html#id2861683">TeXing More + Complex Documents</a></dt> + + <dt><a href="ch01.html#id2861875">Building a + Table of Contents</a></dt> + + <dt><a href="ch01.html#id2861991">Figure + References</a></dt> + + <dt><a href="ch01.html#id2862061">Indexes and + Glossaries</a></dt> + + <dt><a + href="ch01.html#id2862096">Bibliographies</a></dt> + + <dt><a href="ch01.html#id2862381">Special + Things</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>2. <a href="ch02.html">Editing</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#sec.whatcando">What Can an + Editor Do?</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#sec.auctex">Quoting + Automatically</a></dt> + + <dt><a href="ch02.html#id2862787">Matching + Braces</a></dt> + + <dt><a href="ch02.html#id2862919">Inserting + Common Control Sequences</a></dt> + + <dt><a href="ch02.html#id2862968">Running TeX + Automatically</a></dt> + </dl> + </dd> + + <dt><a href="ch02.html#id2863045">GNU + Emacs</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#id2863154">Starting TeX + Mode</a></dt> + + <dt><a href="ch02.html#id2863366">Typing in + Emacs</a></dt> + + <dt><a href="ch02.html#id2863418">Running TeX + Automatically</a></dt> + </dl> + </dd> + + <dt><a href="ch02.html#id2863525">aucTeX</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#sec.multifile">Starting + aucTeX</a></dt> + + <dt><a href="ch02.html#id2863748">Typing in + aucTeX</a></dt> + + <dt><a href="ch02.html#id2865794">aucTeX + Outline Mode</a></dt> + + <dt><a href="ch02.html#id2865831">Intelligent + Paragraph Reformatting</a></dt> + + <dt><a href="ch02.html#id2865862">Multi-file + Documents</a></dt> + + <dt><a href="ch02.html#sec.texcomp">Running + TeX</a></dt> + + <dt><a href="ch02.html#id2866224">Finding + Errors</a></dt> + </dl> + </dd> + + <dt><a + href="ch02.html#id2866254">Multi-Edit</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#id2866322">Setting Up + TeX Support</a></dt> + + <dt><a href="ch02.html#id2866543">Typing in + Multi-Edit</a></dt> + + <dt><a href="ch02.html#id2866670">Running + TeX</a></dt> + </dl> + </dd> + + <dt><a href="ch02.html#id2866742">Brief</a></dt> + + <dt><a + href="ch02.html#id2866836">MicroEMACS</a></dt> + + <dt><a href="ch02.html#id2867057">epm: OS/2's + Enhanced Editor</a></dt> + + <dt><a href="ch02.html#id2867165">Other + Tools</a></dt> + + <dt><a href="ch02.html#id2867406">TeX as a + Compiler</a></dt> + + <dd> + <dl> + <dt><a href="ch02.html#id2867481">Processing a + Document</a></dt> + </dl> + </dd> + + <dt><a + href="ch02.html#id2868148">Spellchecking</a></dt> + + <dd> + <dl> + <dt><a + href="ch02.html#id2868250">ispell</a></dt> + + <dt><a + href="ch02.html#id2868280">amSpell</a></dt> + </dl> + </dd> + + <dt><a href="ch02.html#id2868394">Revision + Control</a></dt> + + <dt><a href="ch02.html#id2868511">TeX + Shells</a></dt> + + <dd> + <dl> + <dt><a + href="ch02.html#id2868544">TeXShell</a></dt> + + <dt><a + href="ch02.html#id2868647">TeXPert</a></dt> + + <dt><a href="ch02.html#id2868748">4TeX</a></dt> + + <dt><a + href="ch02.html#id2868860">PMTeX</a></dt> + + <dt><a + href="ch02.html#id2868984">TeXit</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>3. <a href="ch03.html">Running TeX</a></dt> + + <dd> + <dl> + <dt><a href="ch03.html#run.sec.formatfiles">What Do + You Run?</a></dt> + + <dt><a href="ch03.html#id2869278">What Files Does + TeX Need?</a></dt> + + <dd> + <dl> + <dt><a href="ch03.html#id2869610">Pool + Files</a></dt> + + <dt><a href="ch03.html#id2869651">Format + Files</a></dt> + + <dt><a href="ch03.html#sec.userfiles">User + Files</a></dt> + </dl> + </dd> + + <dt><a href="ch03.html#sec.clineopts">The Command + Line</a></dt> + + <dd> + <dl> + <dt><a + href="ch03.html#sec.runtex.cmdcautions">Command-line + Options</a></dt> + + <dt><a href="ch03.html#id2870602">Command-line + Cautions</a></dt> + </dl> + </dd> + + <dt><a href="ch03.html#id2871334">TeX Without + Options</a></dt> + + <dt><a href="ch03.html#sec.errors">What About + Errors?</a></dt> + + <dd> + <dl> + <dt><a href="ch03.html#sec.logfiles">Log + Files</a></dt> + + <dt><a + href="ch03.html#sec.qprompt">Interpreting TeX + Error Messages</a></dt> + + <dt><a href="ch03.html#id2872461">Naming a File + TeX Cannot Find</a></dt> + + <dt><a href="ch03.html#id2872549">Misspelling a + Control Sequence Name</a></dt> + + <dt><a href="ch03.html#id2872653">Failure to + Close an Environment</a></dt> + + <dt><a href="ch03.html#id2872844">Math Outside + of Math Mode</a></dt> + + <dt><a href="ch03.html#id2873082">Missing + Fonts</a></dt> + + <dt><a href="ch03.html#id2873273">Everything + Else</a></dt> + </dl> + </dd> + + <dt><a href="ch03.html#id2873346">The Question Mark + Prompt</a></dt> + </dl> + </dd> + + <dt>4. <a href="ch04.html">Macro Packages</a></dt> + + <dd> + <dl> + <dt><a + href="ch04.html#macpack.sec.latexvslatexe">Installation: + Making Format Files</a></dt> + + <dd> + <dl> + <dt><a href="ch04.html#id2874541">Hyphenation + Patterns</a></dt> + </dl> + </dd> + + <dt><a href="ch04.html#id2874634">General-purpose + Formats</a></dt> + + <dd> + <dl> + <dt><a href="ch04.html#id2874772">Plain + TeX</a></dt> + + <dt><a href="ch04.html#id2875093">Extended + Plain TeX</a></dt> + + <dt><a href="ch04.html#id2875359">LaTeX2e + Versus LaTeX</a></dt> + + <dt><a + href="ch04.html#sec.latexe">LaTeX2e</a></dt> + + <dt><a + href="ch04.html#sec.latex">LaTeX</a></dt> + + <dt><a + href="ch04.html#sec.texincolor">AMSTeX</a></dt> + + <dt><a + href="ch04.html#id2877047">AMSLaTeX</a></dt> + + <dt><a + href="ch04.html#id2877164">Lollipop</a></dt> + + <dt><a + href="ch04.html#id2873910">TeXinfo</a></dt> + + <dt><a href="ch04.html#id2877747">Other + Formats</a></dt> + </dl> + </dd> + + <dt><a href="ch04.html#id2878394">Special-purpose + Formats</a></dt> + + <dd> + <dl> + <dt><a + href="ch04.html#id2878827">SliTeX</a></dt> + + <dt><a + href="ch04.html#id2878922">FoilTeX</a></dt> + + <dt><a + href="ch04.html#id2878993">Seminar</a></dt> + </dl> + </dd> + + <dt><a href="ch04.html#id2879086">TeX in + Color</a></dt> + + <dd> + <dl> + <dt><a href="ch04.html#id2879169">Setting Up + Color</a></dt> + + <dt><a href="ch04.html#id2879595">Using + Color</a></dt> + + <dt><a href="ch04.html#id2879708">Now I've Got + Color, but I Need Black and White!</a></dt> + + <dt><a href="ch04.html#id2879774">Color Under + LaTeX2e</a></dt> + + <dt><a href="ch04.html#id2879830">Color Is + Subtle</a></dt> + + <dt><a href="ch04.html#id2879898">Further + Reading</a></dt> + </dl> + </dd> + </dl> + </dd> + </dl> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a title="Preface" + href="pr02.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 1. The Big Picture" + href="ch01.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left">Preface </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 1. The Big Picture</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/pt02.html b/Master/texmf-doc/doc/english/make-tex-work/html/pt02.html new file mode 100644 index 00000000000..840f2ee62bc --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/pt02.html @@ -0,0 +1,733 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Part II. Elements of a Complex + Document</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="index.html" title="Making TeX Work" /> + <link rel="previous" href="ch04.html" + title="Chapter 4. Macro Packages" /> + <link rel="next" href="ch05.html" + title="Chapter 5. Fonts" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 4. Macro Packages" + href="ch04.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Making TeX Work" href="index.html"><img + src="figures/nav-up.png" alt="Up" border="0" /> + </a> <a title="Chapter 5. Fonts" + href="ch05.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="part"> + <div class="titlepage"> + <div> + <h1 class="title"><a id="part.elements" + name="part.elements"></a>Elements of a Complex + Document</h1> + </div> + </div> + + <div class="partintro"> + <p><a href="pt02.html" + title="Part II. Elements of a Complex Document">Part II</a>, + describes the major components of TeX involved in producing + a non-trivial document. It discusses how to use different + font technologies, how to incorporate pictures and figures + into the document, how to typeset non-English languages, + and how to maintain complex structures like indexes and + bibliographies. This section also explains the preview and + printing processes in detail.</p> + + <div class="toc"> + <p><b>Table of Contents</b></p> + + <dl> + <dt>5. <a href="ch05.html">Fonts</a></dt> + + <dd> + <dl> + <dt><a href="ch05.html#sec.issueofsize">What TeX + Needs To Know</a></dt> + + <dd> + <dl> + <dt><a href="ch05.html#id2880659">Selecting a + Font in TeX</a></dt> + + <dt><a href="ch05.html#id2880773">Which + Character Is Which?</a></dt> + </dl> + </dd> + + <dt><a href="ch05.html#id2880909">The Issue of + Size</a></dt> + + <dd> + <dl> + <dt><a + href="ch05.html#sec.gettingtfms">Expressing + Design Size in TeX</a></dt> + + <dt><a href="ch05.html#id2881284">Expressing + Magnification in TeX</a></dt> + + <dt><a href="ch05.html#id2881380">Standard + Magnifications</a></dt> + + <dt><a href="ch05.html#id2881671">Where Do TFM + Files Come From?</a></dt> + </dl> + </dd> + + <dt><a href="ch05.html#sec.nfss2">The New Font + Selection Scheme</a></dt> + + <dd> + <dl> + <dt><a + href="ch05.html#sec.fonts.defnfss2">Selecting + Fonts with the New Font Selection + Scheme</a></dt> + + <dt><a href="ch05.html#id2855857">Defining + Fonts with NFSS2</a></dt> + + <dt><a href="ch05.html#id2884733">Storing Font + Definitions</a></dt> + + <dt><a href="ch05.html#id2884863">Changing the + Defaults</a></dt> + + <dt><a href="ch05.html#id2885098">NFSS + Pitfalls</a></dt> + </dl> + </dd> + + <dt><a href="ch05.html#id2885459">PostScript Fonts + Under NFSS</a></dt> + + <dd> + <dl> + <dt><a href="ch05.html#id2885510">Adjustments + to Scale</a></dt> + </dl> + </dd> + + <dt><a href="ch05.html#id2885640">When Things Go + Wrong</a></dt> + + <dd> + <dl> + <dt><a href="ch05.html#id2885669">When TeX + Complains</a></dt> + + <dt><a href="ch05.html#id2885907">When the DVI + Driver Complains</a></dt> + </dl> + </dd> + + <dt><a href="ch05.html#id2886211">Encoding + Vectors</a></dt> + + <dt><a + href="ch05.html#sec.fonts.virtualfonts">Virtual + Fonts</a></dt> + + <dt><a href="ch05.html#sec.autofont">Automatic Font + Generation by DVI Drivers</a></dt> + + <dt><a href="ch05.html#sec.t1fonts">Math Fonts in + TeX</a></dt> + + <dt><a href="ch05.html#id2887790">Concrete + Examples</a></dt> + + <dd> + <dl> + <dt><a href="ch05.html#id2887816">MetaFont + Fonts</a></dt> + + <dt><a href="ch05.html#id2887929">PostScript + Type 1 Fonts</a></dt> + + <dt><a href="ch05.html#id2890165">HP LaserJet + Softfonts</a></dt> + + <dt><a href="ch05.html#id2890329">TrueType + Fonts</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>6. <a href="ch06.html">Pictures and + Figures</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#sec.devindrev">Different + Kinds of Images</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#id2890411">Bitmapped + Images</a></dt> + + <dt><a href="ch06.html#id2884033">Scalable + Images</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#id2884144">Device + Independence Revisited</a></dt> + + <dt><a href="ch06.html#sec.ptexpic">Using Only + TeX</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#id2890867">Plain + TeX</a></dt> + + <dt><a + href="ch06.html#sec.pictures.latex">LaTeX</a></dt> + + <dt><a + href="ch06.html#id2891692">PiCTeX</a></dt> + + <dt><a + href="ch06.html#id2891884">XYPic</a></dt> + + <dt><a + href="ch06.html#id2892057">DraTeX</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#id2892246">Using a Little + Help</a></dt> + + <dd> + <dl> + <dt><a + href="ch06.html#id2892297">MFPic</a></dt> + + <dt><a + href="ch06.html#id2892403">Fig2MF</a></dt> + + <dt><a + href="ch06.html#sec.tpic">MetaFont</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#id2892560">Using a Little + More Help</a></dt> + + <dt><a + href="ch06.html#sec.pictures.pstricks">PSTricks</a></dt> + + <dt><a href="ch06.html#id2892664">TeXdraw</a></dt> + + <dt><a href="ch06.html#id2892716">tpic</a></dt> + + <dt><a href="ch06.html#sec.scaleformat">Using a Lot + of Help</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#id2892815">Electronic + Cut-and-paste</a></dt> + + <dt><a href="ch06.html#id2893032">Scalable + Image Formats</a></dt> + + <dt><a href="ch06.html#sec.incps">Bitmapped + Image Formats</a></dt> + + <dt><a href="ch06.html#id2893872">Inserting + PostScript Images into TeX</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#sec.picconv">Manipulating + Images</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#sec.gs">Image + Magick</a></dt> + + <dt><a + href="ch06.html#id2895306">PBMplus</a></dt> + + <dt><a href="ch06.html#id2895807">xv</a></dt> + + <dt><a + href="ch06.html#id2895932">xloadimage</a></dt> + + <dt><a href="ch06.html#id2896003">Image + Alchemy</a></dt> + + <dt><a + href="ch06.html#id2896234">ColorView</a></dt> + + <dt><a + href="ch06.html#id2896325">Jpeg4</a></dt> + + <dt><a + href="ch06.html#id2896400">pmjpeg</a></dt> + + <dt><a + href="ch06.html#id2896523">txt2pcx</a></dt> + + <dt><a + href="ch06.html#id2896564">Ghostscript</a></dt> + + <dt><a + href="ch06.html#sec.screendump">GoScript</a></dt> + + <dt><a + href="ch06.html#id2897312">hp2xx</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#id2897483">Image + Editors</a></dt> + + <dd> + <dl> + <dt><a href="ch06.html#id2897734">xfig</a></dt> + + <dt><a + href="ch06.html#id2897932">idraw</a></dt> + + <dt><a href="ch06.html#id2898057">tgif</a></dt> + + <dt><a + href="ch06.html#id2898297">bitmap/pixmap</a></dt> + + <dt><a href="ch06.html#id2898403">Other Bitmap + Editors</a></dt> + + <dt><a + href="ch06.html#id2898442">texcad/xtexcad</a></dt> + </dl> + </dd> + + <dt><a href="ch06.html#id2898527">Screen + Dumps</a></dt> + </dl> + </dd> + + <dt>7. <a href="ch07.html">International + Considerations</a></dt> + + <dd> + <dl> + <dt><a + href="ch07.html#sec.for.printing">Typesetting in + Any Language</a></dt> + + <dd> + <dl> + <dt><a href="ch07.html#id2899289">Reading Input + Files</a></dt> + + <dt><a href="ch07.html#id2900395">Changing the + Rules</a></dt> + + <dt><a href="ch07.html#id2902005">Printing the + Result</a></dt> + </dl> + </dd> + + <dt><a href="ch07.html#sec.babel">The Babel + Styles</a></dt> + + <dd> + <dl> + <dt><a href="ch07.html#sec.babelfmt">Building + Multilingual Babel Formats</a></dt> + </dl> + </dd> + + <dt><a href="ch07.html#sec.asciijtex">TeX + Pitfalls</a></dt> + + <dt><a href="ch07.html#id2903161">Very Complex + Languages</a></dt> + + <dd> + <dl> + <dt><a + href="ch07.html#id2903174">Japanese</a></dt> + + <dt><a + href="ch07.html#id2903882">Chinese</a></dt> + + <dt><a + href="ch07.html#id2903985">Arabic</a></dt> + + <dt><a + href="ch07.html#id2904076">Hebrew</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>8. <a href="ch08.html">Printing</a></dt> + + <dd> + <dl> + <dt><a href="ch08.html#sec.printing">Printing + Fonts</a></dt> + + <dd> + <dl> + <dt><a href="ch08.html#sec.bitfonts">Built-in + Fonts</a></dt> + + <dt><a href="ch08.html#id2904946">External + Fonts</a></dt> + + <dt><a href="ch08.html#id2905223">Bitmapped + Fonts</a></dt> + + <dt><a href="ch08.html#id2905872">Scalable + Fonts</a></dt> + + <dt><a href="ch08.html#id2905916">Font Printing + Pitfalls</a></dt> + </dl> + </dd> + + <dt><a href="ch08.html#id2906078">Printing Pictures + and Figures</a></dt> + + <dd> + <dl> + <dt><a href="ch08.html#id2906166">Unsolvable + Problems</a></dt> + + <dt><a href="ch08.html#id2906292">Solvable + Problems</a></dt> + + <dt><a href="ch08.html#id2906405">Pictures + Using Only TeX</a></dt> + + <dt><a href="ch08.html#id2906432">MetaFont + Figures</a></dt> + + <dt><a href="ch08.html#id2906500">Scalable + Images</a></dt> + + <dt><a href="ch08.html#id2906554">Bitmap + Images</a></dt> + </dl> + </dd> + + <dt><a href="ch08.html#id2906581">Selected + Drivers</a></dt> + + <dd> + <dl> + <dt><a href="ch08.html#id2906990">emTeX + Drivers</a></dt> + + <dt><a + href="ch08.html#id2907474">dvilj2</a></dt> + + <dt><a + href="ch08.html#id2907508">dvips</a></dt> + + <dt><a + href="ch08.html#sec.pr.dvilaserhp">DVILASER/HP</a></dt> + + <dt><a + href="ch08.html#sec.pr.dvilaserps">DVILASER/PS</a></dt> + + <dt><a href="ch08.html#id2909658">PTI Laser/HP + and PTI Jet</a></dt> + + <dt><a href="ch08.html#id2909924">PTI + Laser/PS</a></dt> + + <dt><a + href="ch08.html#id2910137">dvipsone</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>9. <a href="ch09.html">Previewing</a></dt> + + <dd> + <dl> + <dt><a href="ch09.html#sec.ghostscript">Previewing + Under X11</a></dt> + + <dd> + <dl> + <dt><a href="ch09.html#id2911502">Previewing + with xdvi</a></dt> + + <dt><a href="ch09.html#id2911812">Previewing + with \xtex</a></dt> + </dl> + </dd> + + <dt><a href="ch09.html#id2912002">Previewing with + Ghostscript</a></dt> + + <dt><a href="ch09.html#id2912205">Previewing with + emTeX</a></dt> + + <dt><a href="ch09.html#id2912806">Previewing with + dvivga</a></dt> + + <dt><a href="ch09.html#sec.arb.preview">TeX + Preview</a></dt> + + <dt><a href="ch09.html#id2913678">dvideo</a></dt> + + <dt><a href="ch09.html#id2913841">PTI View</a></dt> + + <dt><a href="ch09.html#id2914028">Previewing Under + Windows</a></dt> + + <dd> + <dl> + <dt><a + href="ch09.html#id2914065">dvimswin</a></dt> + + <dt><a + href="ch09.html#id2914192">dviwin</a></dt> + + <dt><a + href="ch09.html#id2914502">wdviwin</a></dt> + + <dt><a + href="ch09.html#id2914603">DVIWindo</a></dt> + </dl> + </dd> + + <dt><a href="ch09.html#sec.preview.tty">Previewing + on a TTY</a></dt> + + <dd> + <dl> + <dt><a + href="ch09.html#id2915377">dvi2tty</a></dt> + + <dt><a + href="ch09.html#id2915519">dvgt/dvitovdu</a></dt> + + <dt><a + href="ch09.html#id2915747">crudetype</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>10. <a href="ch10.html">Online + Documentation</a></dt> + + <dd> + <dl> + <dt><a href="ch10.html#id2916146">Something Is + Lost</a></dt> + + <dt><a href="ch10.html#id2916199">TeXinfo</a></dt> + + <dt><a + href="ch10.html#id2916555">\LaTeX2HTML</a></dt> + + <dt><a href="ch10.html#id2916701">LameTeX</a></dt> + + <dt><a href="ch10.html#id2917217">latex2hy</a></dt> + + <dt><a href="ch10.html#id2917348">detex</a></dt> + + <dt><a href="ch10.html#id2917381">dvispell</a></dt> + </dl> + </dd> + + <dt>11. <a href="ch11.html">Introducing + MetaFont</a></dt> + + <dd> + <dl> + <dt><a href="ch11.html#sec.mf.gettingstarted">What + to Run?</a></dt> + + <dt><a href="ch11.html#id2918131">What Files Does + MetaFont Need?</a></dt> + + <dd> + <dl> + <dt><a href="ch11.html#id2918156">Pool + Files</a></dt> + + <dt><a href="ch11.html#id2918200">Base + Files</a></dt> + + <dt><a href="ch11.html#id2918279">MetaFont + Programs</a></dt> + </dl> + </dd> + + <dt><a href="ch11.html#id2918336">Command-line + Options</a></dt> + + <dt><a href="ch11.html#id2918545">Building a Base + File</a></dt> + + <dt><a href="ch11.html#sec.buildfont">Running + MetaFont</a></dt> + + <dd> + <dl> + <dt><a href="ch11.html#id2918826">Picking a + Mode</a></dt> + + <dt><a href="ch11.html#id2919066">Selecting a + Size</a></dt> + + <dt><a href="ch11.html#id2919175">Making a GF + Font</a></dt> + + <dt><a href="ch11.html#id2919378">Making a PK + Font</a></dt> + </dl> + </dd> + + <dt><a href="ch11.html#id2919679">What About + Errors?</a></dt> + + <dd> + <dl> + <dt><a href="ch11.html#id2920144">Other + Errors</a></dt> + </dl> + </dd> + + <dt><a href="ch11.html#id2920215">Output at Very + High Resolutions</a></dt> + + <dt><a href="ch11.html#id2920252">Output at Very + Low Resolutions</a></dt> + </dl> + </dd> + + <dt>12. <a href="ch12.html">Bibliographies, Indexes, + and Glossaries</a></dt> + + <dd> + <dl> + <dt><a + href="ch12.html#sec.indexeslooklike">BibTeX</a></dt> + + <dd> + <dl> + <dt><a href="ch12.html#id2920526">How BibTeX + Works</a></dt> + + <dt><a href="ch12.html#id2920800">Building a + Bibliography Database</a></dt> + + <dt><a href="ch12.html#id2921724">Bibliography + Styles</a></dt> + + <dt><a href="ch12.html#id2922224">Bibliography + Database Tools</a></dt> + </dl> + </dd> + + <dt><a href="ch12.html#id2923157">Tib</a></dt> + + <dt><a href="ch12.html#id2923378">Making + Indexes</a></dt> + + <dd> + <dl> + <dt><a href="ch12.html#id2923569">Index + Entries</a></dt> + </dl> + </dd> + + <dt><a href="ch12.html#id2923830">Index + Format</a></dt> + + <dt><a href="ch12.html#id2923963">Special-purpose + styles</a></dt> + + <dt><a href="ch12.html#id2924031">Making + Glossaries</a></dt> + </dl> + </dd> + </dl> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 4. Macro Packages" + href="ch04.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 5. Fonts" href="ch05.html"><img + src="figures/nav-next.png" alt="Next" border="0" /> + </a></td> + </tr> + + <tr> + <td width="40%" align="left">Chapter 4. Macro + Packages </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 5. Fonts</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/make-tex-work/html/pt03.html b/Master/texmf-doc/doc/english/make-tex-work/html/pt03.html new file mode 100644 index 00000000000..18fd309698e --- /dev/null +++ b/Master/texmf-doc/doc/english/make-tex-work/html/pt03.html @@ -0,0 +1,948 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta name="generator" + content="HTML Tidy for Linux/x86 (vers 1st March 2002), see www.w3.org" /> + <meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1" /> + + <title>Part III. A Tools Overview</title> + <link rel="stylesheet" href="mtw.css" type="text/css" /> + <meta name="generator" + content="DocBook XSL Stylesheets V1.53.0" /> + <link rel="home" href="index.html" title="Making TeX Work" /> + <link rel="up" href="index.html" title="Making TeX Work" /> + <link rel="previous" href="ch12.html" + title="Chapter 12. Bibliographies, Indexes, and Glossaries" /> + <link rel="next" href="ch13.html" + title="Chapter 13. Non-commercial Environments" /> + </head> + + <body> + <div class="navheader"> + <table border="0" cellpadding="0" cellspacing="0" + width="100%" summary="Navigation table"> + <tr> + <td align="left"> <a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a> <a + title="Chapter 12. Bibliographies, Indexes, and Glossaries" + href="ch12.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> <a + title="Making TeX Work" href="index.html"><img + src="figures/nav-up.png" alt="Up" border="0" /></a> <a + title="Chapter 13. Non-commercial Environments" + href="ch13.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + + <td align="right"><i>Making TeX Work</i> Version 1.0.1 + <span class="alpha-version">(<a + href="co01.html"><em>Alpha</em></a>)</span></td> + </tr> + </table> + </div> + + <div class="part"> + <div class="titlepage"> + <div> + <h1 class="title"><a id="part.tools" + name="part.tools"></a>A Tools Overview</h1> + </div> + </div> + + <div class="partintro"> + <p><a href="pt03.html" + title="Part III. A Tools Overview">Part III</a>, + summarizes the tools you can use in processing TeX + documents. It describes the major free and commercial + implementations of TeX, and then briefly summarizes the + many TeXnical tools available.</p> + + <div class="toc"> + <p><b>Table of Contents</b></p> + + <dl> + <dt>13. <a href="ch13.html">Non-commercial + Environments</a></dt> + + <dd> + <dl> + <dt><a href="ch13.html#free.web">Web2C</a></dt> + + <dt><a + href="ch13.html#sec.emtex.testinstall">emTeX</a></dt> + + <dd> + <dl> + <dt><a href="ch13.html#id2925718">Where to + Start</a></dt> + + <dt><a href="ch13.html#id2925747">Unpacking the + Archives</a></dt> + + <dt><a href="ch13.html#id2925984">Setting Up + the Environment</a></dt> + + <dt><a href="ch13.html#id2926107">Testing the + Installation</a></dt> + + <dt><a + href="ch13.html#sec.emtex.smaller">Installing + Fonts</a></dt> + + <dt><a href="ch13.html#id2926788">Making emTeX + Smaller</a></dt> + + <dt><a href="ch13.html#id2928367">Basic + Customization</a></dt> + + <dt><a href="ch13.html#id2929307">Installing + the Beta Test Versions of emTeX</a></dt> + + <dt><a + href="ch13.html#sec.emtex.autofont">Running + emTeX 386 in Windows</a></dt> + + <dt><a href="ch13.html#id2929946">Automatic + Font Generation with emTeX</a></dt> + + <dt><a href="ch13.html#sec.netemtex">Installing + emTeX on a Network</a></dt> + </dl> + </dd> + + <dt><a href="ch13.html#id2930222">texas</a></dt> + + <dt><a href="ch13.html#id2930652">sbTeX</a></dt> + + <dt><a href="ch13.html#id2931076">gTeX</a></dt> + </dl> + </dd> + + <dt>14. <a href="ch14.html">Commercial + Environments</a></dt> + + <dd> + <dl> + <dt><a href="ch14.html#sec.com.turbo">µTeX by + ArborText</a></dt> + + <dt><a href="ch14.html#id2931589">\yyTeX</a></dt> + + <dt><a href="ch14.html#id2931820">Textures</a></dt> + + <dt><a href="ch14.html#id2931894">TurboTeX</a></dt> + + <dt><a href="ch14.html#sec.pctex">PCTeX</a></dt> + + <dt><a href="ch14.html#sec.pctexforwin">PCTeX For + Windows</a></dt> + + <dt><a href="ch14.html#id2933148">Scientific + Word</a></dt> + </dl> + </dd> + + <dt>15. <a href="ch15.html">TeX on the + Macintosh</a></dt> + + <dd> + <dl> + <dt><a + href="ch15.html#sec.Excalibur">CMacTeX</a></dt> + + <dt><a + href="ch15.html#id2934116">DirectTeX</a></dt> + + <dt><a href="ch15.html#id2934176">OzTeX</a></dt> + + <dt><a href="ch15.html#id2934618">Textures</a></dt> + + <dt><a href="ch15.html#id2935013">Other + Tools</a></dt> + + <dd> + <dl> + <dt><a + href="ch15.html#id2935026">Alpha</a></dt> + + <dt><a + href="ch15.html#id2935128">BBEdit</a></dt> + + <dt><a href="ch15.html#sec.bsrtools">BSR Font + Tools</a></dt> + + <dt><a + href="ch15.html#id2935468">Excalibur</a></dt> + + <dt><a + href="ch15.html#id2935534">HyperBibTeX</a></dt> + + <dt><a + href="ch15.html#id2935646">MacGS</a></dt> + + <dt><a + href="ch15.html#id2935708">dvidvi</a></dt> + + <dt><a + href="ch15.html#id2935748">MacDVIcopy</a></dt> + + <dt><a + href="ch15.html#id2935800">MacBibTeX</a></dt> + + <dt><a + href="ch15.html#id2935830">MacMakeIndex</a></dt> + </dl> + </dd> + </dl> + </dd> + + <dt>16. <a href="ch16.html">TeX Utilities</a></dt> + + <dd> + <dl> + <dt><a href="ch16.html#id2936355">List of + Tools</a></dt> + </dl> + </dd> + + <dt>A. <a href="apa.html">Filename Extension + Summary</a></dt> + + <dt>B. <a href="apb.html">Font Samples</a></dt> + + <dd> + <dl> + <dt><a href="apb.html#id2941555">Font + Encodings</a></dt> + + <dt><a href="apb.html#id2945478">Font + Samples</a></dt> + </dl> + </dd> + + <dt>C. <a href="apc.html">Resources</a></dt> + + <dd> + <dl> + <dt><a href="apc.html#id2943524">TUG: The TeX Users + Group</a></dt> + + <dd> + <dl> + <dt><a href="apc.html#id2946099">Other User + Groups</a></dt> + </dl> + </dd> + + <dt><a href="apc.html#id2946152">TeX + Software</a></dt> + + <dt><a href="apc.html#id2946301">TeX + Shells</a></dt> + + <dt><a href="apc.html#id2946342">Editors</a></dt> + + <dt><a href="apc.html#id2946460">Macro Packages + (Formats)</a></dt> + + <dt><a href="apc.html#id2946539">Styles and + Macros</a></dt> + + <dd> + <dl> + <dt><a href="apc.html#id2946714">Styles That + Produced This Book</a></dt> + </dl> + </dd> + + <dt><a href="apc.html#id2946829">Utilities</a></dt> + + <dt><a + href="apc.html#id2948003">Miscellaneous</a></dt> + </dl> + </dd> + + <dt>D. <a href="apd.html">Long Examples</a></dt> + + <dt>E. <a href="ape.html">GNU Free Documentation + License</a></dt> + + <dd> + <dl> + <dt>0. <a + href="ape.html#id2948209">PREAMBLE</a></dt> + + <dt>1. <a href="ape.html#id2948100">APPLICABILITY + AND DEFINITIONS</a></dt> + + <dt>2. <a href="ape.html#id2948673">VERBATIM + COPYING</a></dt> + + <dt>3. <a href="ape.html#id2948707">COPYING IN + QUANTITY</a></dt> + + <dt>4. <a + href="ape.html#id2948791">MODIFICATIONS</a></dt> + + <dt>5. <a href="ape.html#id2949025">COMBINING + DOCUMENTS</a></dt> + + <dt>6. <a href="ape.html#id2949073">COLLECTIONS OF + DOCUMENTS</a></dt> + + <dt>7. <a href="ape.html#id2949112">AGGREGATION + WITH INDEPENDENT WORKS</a></dt> + + <dt>8. <a + href="ape.html#id2949149">TRANSLATION</a></dt> + + <dt>9. <a + href="ape.html#id2949177">TERMINATION</a></dt> + + <dt>10. <a href="ape.html#id2949201">FUTURE + REVISIONS OF THIS LICENSE</a></dt> + + <dt><a href="ape.html#id2948479">How to use this + License for your documents</a></dt> + </dl> + </dd> + + <dt><a href="bi01.html">Bibliography</a></dt> + </dl> + </div> + </div> + + <div class="bibliography"> + <div class="titlepage"> + <div> + <h2 class="title"><a id="id2935958" + name="id2935958"></a>Bibliography</h2> + </div> + </div> + + <div class="bibliomixed"> + <a id="pk:texdraw" name="pk:texdraw"></a> + + <p class="bibliomixed">[pk:texdraw] manual author = + "Peter Kabal", title = "{\TeX draw}: PostScript drawings + from {\TeX}", edition = "1.4a", month = jul, year = 1992, + etext = "CTAN:graphics/texdraw/manual/*"</p> + </div> + + <div class="bibliomixed"> + <a id="chicman" name="chicman"></a> + + <p class="bibliomixed">[chicman] manual editor = "John + Grossman", Title = "The Chicago Manual of Style", + publisher = "University of Chicago Press", year = "1993", + edition = "fourteenth", organization = "University of + Chicago"</p> + </div> + + <div class="bibliomixed"> + <a id="lw:progperl" name="lw:progperl"></a> + + <p class="bibliomixed">[lw:progperl] book Author = "Larry + Wall and Randal L. Schwartz", Title = "Programming Perl", + Publisher = O'Reilly & Associates, Year = 1992, isbn + = "0-937175-64-1"</p> + </div> + + <div class="bibliomixed"> + <a id="eu:international" name="eu:international"></a> + + <p class="bibliomixed">[eu:international] book Author = + "Emmanual Uren and Robert Howard and Tiziana Perinotti", + title = "Software Internationalization and Localization: + An Introduction", publisher = "Van Nostrand Reinhold", + year = 1993, isbn = "0-442-01498-8"</p> + </div> + + <div class="bibliomixed"> + <a id="latexcompanion" name="latexcompanion"></a> + + <p class="bibliomixed">[latexcompanion] book author = + "Michel Goossens and Frank Mittelbach and Alexander + Samarin", title = "The {\LaTeX} Companion", publisher = + Addison Wesley, year = 1994, isbn = "0-201-54199-8"</p> + </div> + + <div class="bibliomixed"> + <a id="eg:dratex" name="eg:dratex"></a> + + <p class="bibliomixed">[eg:dratex] Book author = "Eitan + M. Gurari", title = "{\TeX} {\&} {\LaTeX}: Drawing + and Literate Programming", publisher = "McGraw Hill", + year = 1993, isbn = "0-07-911616-7"</p> + </div> + + <div class="bibliomixed"> + <a id="kl:japinfoproc" name="kl:japinfoproc"></a> + + <p class="bibliomixed">[kl:japinfoproc] Book author = + "Ken Lunde", title = "Understanding Japanese Information + Processing", address = "Sebastopol, CA", publisher = + O'Reilly & Associates, year = 1993, edition = + "first", isbn = "1-56592-043-0"</p> + </div> + + <div class="bibliomixed"> + <a id="kn:texbook" name="kn:texbook"></a> + + <p class="bibliomixed">[kn:texbook] Book author = "Donald + E. Knuth", title = "The {\TeX}book", publisher = Addison + Wesley, year = 1989, edition = "Fifteenth", isbn = + "0-201-13447-0", paperisbn = "0-201-13448-9"</p> + </div> + + <div class="bibliomixed"> + <a id="jh:latexforeveryone" + name="jh:latexforeveryone"></a> + + <p class="bibliomixed">[jh:latexforeveryone] Book author + = "Jane Hahn", title = "{\LaTeX} For Everyone", publisher + = "Personal {\TeX}, Inc.", year = 1991, edition = + "Second", paperisbn = "0-9631044-0-3"</p> + </div> + + <div class="bibliomixed"> + <a id="dn:psyeveryday" name="dn:psyeveryday"></a> + + <p class="bibliomixed">[dn:psyeveryday] Book author = + "Donald A. Norman", title = "The Psychology of Everyday + Things", publisher = "Basic Books, Inc.", year = 1988, + paperisbn = "0-465-06709-3"</p> + </div> + + <div class="bibliomixed"> + <a id="ll:latexbook" name="ll:latexbook"></a> + + <p class="bibliomixed">[ll:latexbook] Book author = + "Leslie Lamport", title = "{\rm \LaTeX:} A Document + Preparation System", publisher = Addison Wesley, year = + 1986, paperisbn = "0-201-15790-X"</p> + </div> + + <div class="bibliomixed"> + <a id="ll:makeindex" name="ll:makeindex"></a> + + <p class="bibliomixed">[ll:makeindex] unpublished author + = "Leslie Lamport", title = "MakeIndex: An Index + Processor for {\rm\LaTeX}", year = 1987, month = feb, + etext = "CTAN:indexing/makeindex/doc/*"</p> + </div> + + <div class="bibliomixed"> + <a id="dc:colorlatex" name="dc:colorlatex"></a> + + <p class="bibliomixed">[dc:colorlatex] unpublished author + = "David Carlisle", title = "The implementation of the + {\LaTeX} Colour interface", year = 1994, month = feb</p> + </div> + + <div class="bibliomixed"> + <a id="kn:mfbook" name="kn:mfbook"></a> + + <p class="bibliomixed">[kn:mfbook] Book author = "Donald + E. Knuth", title = "{\TheMFbook}", publisher = Addison + Wesley, year = 1986, isbn = "0-201-13445-4"</p> + </div> + + <div class="bibliomixed"> + <a id="ms:joyoftex" name="ms:joyoftex"></a> + + <p class="bibliomixed">[ms:joyoftex] Book author = + "Michel Spivak", title = "The Joy of {\TeX}---A Gourmet + Guide to Typesetting with the {\AMSTeX} Macro Package", + publisher = Addison Wesley, year = "1986"</p> + </div> + + <div class="bibliomixed"> + <a id="or:emacs" name="or:emacs"></a> + + <p class="bibliomixed">[or:emacs] Book author = "Debra + Cameron and Bill Rosenblatt", title = "Learning GNU + Emacs", address = "Sebastopol, CA", publisher = O'Reilly + & Associates, year = "1991", isbn = + "0-937175-84-6"</p> + </div> + + <div class="bibliomixed"> + <a id="gu:numbertheory" name="gu:numbertheory"></a> + + <p class="bibliomixed">[gu:numbertheory] Book author = + "Richard K. Guy", title = "Unsolved Problems in Number + Theory", publisher = "Springer-Verlag", year = 1981, isbn + = "0-387-90593-6", series = "Unsolved Problems in + Intuitive Mathematics", volume = 1</p> + </div> + + <div class="bibliomixed"> + <a id="js:comp" name="js:comp"></a> + + <p class="bibliomixed">[js:comp] unpublished author = + "Joachim Schrod", title = "The Components of {\TeX{}}", + year = 1991, month = mar, etext = + "CTAN:info/components-of-TeX/*"</p> + </div> + + <div class="bibliomixed"> + <a id="em:dvidrv" name="em:dvidrv"></a> + + <p class="bibliomixed">[em:dvidrv] manual author = + "Eberhard Mattes", title = "The {\emTeX} DVI Driver + Manual", year = 1993, month = Jun,</p> + </div> + + <div class="bibliomixed"> + <a id="mw:pictex" name="mw:pictex"></a> + + <p class="bibliomixed">[mw:pictex] manual author = + "Michael J. Wichura", title = "The {\PiCTeX} Manual", + year = 1992, month = mar, publisher = "The \TeX\ User's + Group"</p> + </div> + + <div class="bibliomixed"> + <a id="l3:project" name="l3:project"></a> + + <p class="bibliomixed">[l3:project] unpublished author = + "Frank Mittelbach and Chris Rowley", title = "The + {\LaTeX}3 Project", year = 1993, month = apr, etext = + "CTAN:info/ltx3pub/l3d001.tex"</p> + </div> + + <div class="bibliomixed"> + <a id="FAQ:comp.text" name="FAQ:comp.text"></a> + + <p class="bibliomixed">[FAQ:comp.text] unpublished author + = "Chris Lewis and Nils-Peter Nelson", title = + "Frequently Asked Questions for {\texttt{comp.text}}", + year = 1993, month = jun, etext = + "rtfm.mit.edu:/pub/usenet/comp.text.tex"</p> + </div> + + <div class="bibliomixed"> + <a id="texware:tftopl" name="texware:tftopl"></a> + + <p class="bibliomixed">[texware:tftopl] unpublished + author = "Donald E. Knuth", title = "The TF to PL + Processor", howpublished = "Part of the {\web} + distribution",</p> + </div> + + <div class="bibliomixed"> + <a id="texware:vptovf" name="texware:vptovf"></a> + + <p class="bibliomixed">[texware:vptovf] unpublished + author = "Donald E. Knuth", title = "The VP to VF + Processor", howpublished = "Part of the {\web} + distribution",</p> + </div> + + <div class="bibliomixed"> + <a id="mfware:gftopk" name="mfware:gftopk"></a> + + <p class="bibliomixed">[mfware:gftopk] unpublished author + = "Donald E. Knuth", title = "The GF to PK Processor", + howpublished = "Part of the {\web} distribution",</p> + </div> + + <div class="bibliomixed"> + <a id="texware:pltotf" name="texware:pltotf"></a> + + <p class="bibliomixed">[texware:pltotf] unpublished + author = "Donald E. Knuth", title = "The PL to TF + Processor", howpublished = "Part of the {\web} + distribution",</p> + </div> + + <div class="bibliomixed"> + <a id="texware:vftovp" name="texware:vftovp"></a> + + <p class="bibliomixed">[texware:vftovp] unpublished + author = "Donald E. Knuth", title = "The VF to VP + Processor", howpublished = "Part of the {\web} + distribution",</p> + </div> + + <div class="bibliomixed"> + <a id="gt:mfbeginners" name="gt:mfbeginners"></a> + + <p class="bibliomixed">[gt:mfbeginners] unpublished + author = "Geoffrey Tobin", title = "METAFONT for + Beginners", year = 1992, month = dec, etext = + "CTAN:info/metafont-for-beginners.tex"</p> + </div> + + <div class="bibliomixed"> + <a id="zw:simple" name="zw:simple"></a> + + <p class="bibliomixed">[zw:simple] unpublished author = + "Zden\v{e}k Wagner", title = "Simple Drawings in {\MF}", + year = "1993", etext = "CTAN:info/wagner-drawing.tex"</p> + </div> + + <div class="bibliomixed"> + <a id="lreq:metafonts" name="lreq:metafonts"></a> + + <p class="bibliomixed">[lreq:metafonts] unpublished + author = "Liam R. E. Quin", title = "Definitive List of + All Fonts Available for {\MF}", year = 1991, month = sep, + etext = "CTAN:info/metafonts.lst"</p> + </div> + + <div class="bibliomixed"> + <a id="mf:inrstexref" name="mf:inrstexref"></a> + + <p class="bibliomixed">[mf:inrstexref] Manual author = + "Michael J. Ferguson", title = "{\INRSTeX} Manual", + organization = "INRS Communications", year = "1991",</p> + </div> + + <div class="bibliomixed"> + <a id="pcl5:techref" name="pcl5:techref"></a> + + <p class="bibliomixed">[pcl5:techref] Manual title = "PCL + 5 Printer Language Technical Reference Manual", + organization = "Hewlett Packard", year = 1990, month = + sep, edition = "First"</p> + </div> + + <div class="bibliomixed"> + <a id="type1:format" name="type1:format"></a> + + <p class="bibliomixed">[type1:format] Manual title = + "Adobe Type 1 Font Format, version 1.1", organization = + Adobe Systems Incorporated, year = 1990, month = aug, + Edition = "First"</p> + </div> + + <div class="bibliomixed"> + <a id="intellifont" name="intellifont"></a> + + <p class="bibliomixed">[intellifont] Manual title = + "IntelliFont Scalable Typeface Format", organization = + "Agfa Compugraphic Division", year = 1991, Month = apr, + Edition = "First"</p> + </div> + + <div class="bibliomixed"> + <a id="nfss" name="nfss"></a> + + <p class="bibliomixed">[nfss] unpublished AUTHOR = "Frank + Mittelbach and Rainer {Sch\"opf}", TITLE = "The New Font + Selection Scheme---User Interface Standard to {\LaTeX}", + YEAR = 1990, howpublished = "Part of the NFSS + distribution"</p> + </div> + + <div class="bibliomixed"> + <a id="nfss2interface" name="nfss2interface"></a> + + <p class="bibliomixed">[nfss2interface] unpublished + AUTHOR = "Frank Mittelbach", TITLE = "Interface + description of NFSS2", YEAR = 1993, howpublished = "Part + of the NFSS2 distribution"</p> + </div> + + <div class="bibliomixed"> + <a id="psfonts" name="psfonts"></a> + + <p class="bibliomixed">[psfonts] Techreport key = Adobe + Systems Incorporated, TITLE = "Supporting Downloadable + PostScript Fonts", address = "Mountain View, CA", + INSTITUTION = Adobe Systems Incorporated, NUMBER = + "5040", YEAR = 1988, MONTH = jan, etext = + "CTAN:fonts/postscript/adobe/Documents/5040.Download_Fonts.ps"</p> + </div> + + <div class="bibliomixed"> + <a id="abffiles" name="abffiles"></a> + + <p class="bibliomixed">[abffiles] techreport key = adobe, + TITLE = "Adobe Binary Screen Font Files", INSTITUTION = + Adobe Systems Incorporated, YEAR = 1989, MONTH = jan, + NUMBER = 5006, etext = + "CTAN:fonts/postscript/adobe/Documents/5006.ABF_Spec.ps"</p> + </div> + + <div class="bibliomixed"> + <a id="afmfiles" name="afmfiles"></a> + + <p class="bibliomixed">[afmfiles] techreport key = adobe, + TITLE = "Adobe Font Metric Files", INSTITUTION = Adobe + Systems Incorporated, YEAR = 1990, MONTH = mar, NUMBER = + 5004, etext = + "CTAN:fonts/postscript/adobe/Documents/5004.AFM_Spec.ps"</p> + </div> + + <div class="bibliomixed"> + <a id="macfond" name="macfond"></a> + + <p class="bibliomixed">[macfond] Techreport key = adobe, + TITLE = "Macintosh {FOND} Resources", INSTITUTION = Adobe + Systems Incorporated, NUMBER = "0091", YEAR = 1990, MONTH + = jul, etext = + "jasper.ora.com:/pub/AdobeDocs/Specifications/0091-FondResources.ps"</p> + </div> + + <div class="bibliomixed"> + <a id="bdffiles" name="bdffiles"></a> + + <p class="bibliomixed">[bdffiles] techreport key = adobe, + TITLE = "Character Bitmap Distribution Format", + INSTITUTION = Adobe Systems Incorporated, YEAR = 1989, + MONTH = jan, NUMBER = 5005, etext = + "CTAN:fonts/postscript/adobe/Documents/5005.BDF_Spec.ps"</p> + </div> + + <div class="bibliomixed"> + <a id="dvi:standard" name="dvi:standard"></a> + + <p class="bibliomixed">[dvi:standard] unpublished key = + "tug dvi driver standards committee", author = "{The TUG + DVI Driver Standards Committee}", TITLE = "The DVI Driver + Standard, Level 0 Version 0.05", INSTITUTION = "The + {\TeX} User's Group", YEAR = 1991, MONTH = aug, etext = + "jasper.ora.com:/pub/docs/DVI-Standard-level0/*"</p> + </div> + + <div class="bibliomixed"> + <a id="faq:comp.text.tex" name="faq:comp.text.tex"></a> + + <p class="bibliomixed">[faq:comp.text.tex] unpublished + AUTHOR = "Bobby Bodenheimer", title = "{\TeX}, {\LaTeX}, + etc.: Frequently Asked Questions with Answers", year = + 1992, month = dec, etext = + "rtfm.mit.edu:/pub/usenet/comp.text.tex/*"</p> + </div> + + <div class="bibliomixed"> + <a id="faq:comp.fonts" name="faq:comp.fonts"></a> + + <p class="bibliomixed">[faq:comp.fonts] unpublished + AUTHOR = "Norman Walsh", title = "The + {\texttt{comp.fonts}} Frequently Asked Questions List", + year = 1992, month = dec, etext = + "rtfm.mit.edu:/pub/usenet/comp.fonts/FAQ.*"</p> + </div> + + <div class="bibliomixed"> + <a id="nw:fontbook" name="nw:fontbook"></a> + + <p class="bibliomixed">[nw:fontbook] unpublished AUTHOR = + "Norman Walsh", title = "Font Samples of + Internet-Available PostScript Type1 Fonts", year = 1992, + month = dec, etext = "jasper.ora.com:/pub/fontbook/*"</p> + </div> + + <div class="bibliomixed"> + <a id="metapost" name="metapost"></a> + + <p class="bibliomixed">[metapost] unpublished AUTHOR = + "John D. Hobby", title = "A User's Manual for MetaPost", + institution = "AT{\&}T Bell Laboratories", etext = + "research.att.com:/pub/research/cstr/162.Z"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:10-2" name="tug:10-2"></a> + + <p class="bibliomixed">[tug:10-2] ARTICLE AUTHOR = "Frank + Mittelbach and Rainer {Sch\"opf}", TITLE = "A new font + selection scheme for {\TeX} macro packages---the basic + macros", JOURNAL = "TUGboat", YEAR = 1989, MONTH = jul, + NUMBER = 2, VOLUME = 10, PAGES = "222--238"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:vfonts:dek" name="tug:vfonts:dek"></a> + + <p class="bibliomixed">[tug:vfonts:dek] ARTICLE AUTHOR = + "Donald E. Knuth", TITLE = "Virtual Fonts: More fun for + Grand Wizards", JOURNAL = "TUGboat", YEAR = 1990, MONTH = + apr, NUMBER = 1, VOLUME = 11, PAGES = "13--23"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:gr-tex-pc:1" name="tug:gr-tex-pc:1"></a> + + <p class="bibliomixed">[tug:gr-tex-pc:1] ARTICLE AUTHOR = + "Lee S. Pickrell", TITLE = "Combining graphics with + {\TeX} on IBM PC-compatible systems with LaserJet + printers", JOURNAL = "TUGboat", YEAR = 1990, MONTH = apr, + NUMBER = 1, VOLUME = 11, PAGES = "26--31"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:gr-tex-pc:2" name="tug:gr-tex-pc:2"></a> + + <p class="bibliomixed">[tug:gr-tex-pc:2] ARTICLE AUTHOR = + "Lee S. Pickrell", TITLE = "Combining graphics with + {\TeX} on PC systems with laser printers, part II", + JOURNAL = "TUGboat", YEAR = 1990, MONTH = jun, NUMBER = + 2, VOLUME = 11, PAGES = "200--206"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:gr-tex-implementation" + name="tug:gr-tex-implementation"></a> + + <p class="bibliomixed">[tug:gr-tex-implementation] + ARTICLE AUTHOR = "Gerhard Berendt", TITLE = "On the + implementation of graphics into {\TeX}", JOURNAL = + "TUGboat", YEAR = 1990, MONTH = jun, NUMBER = 2, VOLUME = + 11, PAGES = "190--194"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:mac-graphics-latex" + name="tug:mac-graphics-latex"></a> + + <p class="bibliomixed">[tug:mac-graphics-latex] ARTICLE + AUTHOR = "Len Schwer", TITLE = "Including Macintosh + graphics in {\LaTeX} documents", JOURNAL = "TUGboat", + YEAR = 1990, MONTH = jun, NUMBER = 2, VOLUME = 11, PAGES + = "194--200"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:nfss-userinterface" + name="tug:nfss-userinterface"></a> + + <p class="bibliomixed">[tug:nfss-userinterface] ARTICLE + AUTHOR = "Frank Mittelbach and Rainer {Sch\"opf}", TITLE + = "The new font family selection---User Interface to + Standard {\LaTeX}", JOURNAL = "TUGboat", YEAR = 1990, + MONTH = jun, NUMBER = 1, VOLUME = 11, PAGES = "297--305", + Note = "Reprinted with corrections in TUGboat 11:2."</p> + </div> + + <div class="bibliomixed"> + <a id="tug:transfig" name="tug:transfig"></a> + + <p class="bibliomixed">[tug:transfig] ARTICLE AUTHOR = + "Micah Beck and A. Siegal", TITLE = "Transfig: Portable + Graphics for {\TeX}", JOURNAL = "TUGboat", YEAR = 1990, + MONTH = sep, NUMBER = 3, VOLUME = 11, PAGES = + "373--380"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:vtex" name="tug:vtex"></a> + + <p class="bibliomixed">[tug:vtex] ARTICLE AUTHOR = + "Michael Vulis", TITLE = "V{\TeX} enhancements to the + {\TeX} language", JOURNAL = "TUGboat", YEAR = 1990, MONTH + = sep, NUMBER = 3, VOLUME = 11, PAGES = "429--435"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:filenames-fonts" + name="tug:filenames-fonts"></a> + + <p class="bibliomixed">[tug:filenames-fonts] ARTICLE + AUTHOR = "Karl Berry", TITLE = "Filenames for Fonts", + JOURNAL = "TUGboat", YEAR = 1990, MONTH = nov, NUMBER = + 4, VOLUME = 11, PAGES = "517--520"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:gr-tex-bm2font" name="tug:gr-tex-bm2font"></a> + + <p class="bibliomixed">[tug:gr-tex-bm2font] ARTICLE + AUTHOR = "Friedhelm Sowa", TITLE = "Integration of + graphics into {\TeX}", JOURNAL = "TUGboat", YEAR = 1991, + MONTH = mar, NUMBER = 1, VOLUME = 12, PAGES = + "58--63",</p> + </div> + + <div class="bibliomixed"> + <a id="tug:halftoning" name="tug:halftoning"></a> + + <p class="bibliomixed">[tug:halftoning] ARTICLE AUTHOR = + "Adrian F. Clark", TITLE = "Practical halftoning in + {\TeX}", JOURNAL = "TUGboat", YEAR = 1991, MONTH = mar, + NUMBER = 1, VOLUME = 12, PAGES = "157--165",</p> + </div> + + <div class="bibliomixed"> + <a id="tug:xbitmaps" name="tug:xbitmaps"></a> + + <p class="bibliomixed">[tug:xbitmaps] ARTICLE AUTHOR = + "Reinhard {F\"o\ss{}meier}", TITLE = "X bitmaps in + {\TeX}", JOURNAL = "TUGboat", YEAR = 1991, MONTH = jun, + NUMBER = 2, VOLUME = 12, PAGES = "229--232"</p> + </div> + + <div class="bibliomixed"> + <a id="tug:bm2font2" name="tug:bm2font2"></a> + + <p class="bibliomixed">[tug:bm2font2] ARTICLE AUTHOR = + "Friedhelm Sowa", TITLE = "Bitmaps and halftones with + BM2FONT", JOURNAL = "TUGboat", YEAR = 1991, MONTH = dec, + NUMBER = 3, VOLUME = 12, PART = "II", PAGES = + "534--539"</p> + </div> + + <div class="bibliomixed"> + <a id="op:btxdoc" name="op:btxdoc"></a> + + <p class="bibliomixed">[op:btxdoc] unpublished author = + "Oren Patashnik", title = "{\BibTeX}ing", year = 1988, + month = feb, etext = + "CTAN:biblio/bibtex/distribs/doc/btxdoc.tex"</p> + </div> + + <div class="bibliomixed"> + <a id="op:btxhak" name="op:btxhak"></a> + + <p class="bibliomixed">[op:btxhak] unpublished author = + "Oren Patashnik", title = "Designing {\BibTeX} Styles", + year = 1988, month = feb, etext = + "CTAN:biblio/bibtex/distribs/doc/btxhak.tex"</p> + </div> + </div> + </div> + + <div class="navfooter"> + <table width="100%" summary="Navigation table"> + <tr> + <td width="40%" align="left"><a + title="Chapter 12. Bibliographies, Indexes, and Glossaries" + href="ch12.html"><img src="figures/nav-prev.png" + alt="Prev" border="0" /></a> </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-home.png" + alt="Home" border="0" /></a></td> + + <td width="40%" align="right"> <a + title="Chapter 13. Non-commercial Environments" + href="ch13.html"><img src="figures/nav-next.png" + alt="Next" border="0" /></a></td> + </tr> + + <tr> + <td width="40%" align="left"> + Chapter 12. Bibliographies, Indexes, and + Glossaries </td> + + <td width="20%" align="center"><a title="Making TeX Work" + href="index.html"><img src="figures/nav-up.png" alt="Up" + border="0" /></a></td> + + <td width="40%" align="right"> +  Chapter 13. Non-commercial + Environments</td> + </tr> + </table> + </div> + </body> +</html> + diff --git a/Master/texmf-doc/doc/english/math-into-latex/errors.txt b/Master/texmf-doc/doc/english/math-into-latex/errors.txt new file mode 100644 index 00000000000..3ab9c0a06fd --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/errors.txt @@ -0,0 +1,32 @@ +Corrections to the book + +Math into LaTeX +An Introduction to LaTeX and AMS-LaTeX + +by George Gratzer, published by Birkhauser Boston, +ISBN 0-8176-3805-9. + +These errors have been corrected in the document mil.pdf. + +page xxvi, lines 11-12: +Package names are printed in Helvetica. (PJA) + +page 5, line 13: +"Unless there are" should read "Unless" (PJA) + +page 8, line 14: +"Since it only" should read "Since it" (PJA) + +page 12, line 25: +"3 + 5" should read "3+5" (PJA) + +page 358, Table B.6 +delete lines 9 of table (PJA) + +page 359, Table B.8 +correct order of entries: (PJA) + +\Tiny, \tiny, \SMALL or \scriptsize, \Small or \footnotesize, \small, +\normalsize, \large, \Large, \LARGE, \huge, \Huge + +Pedro J. Aphalo (PJA)
\ No newline at end of file diff --git a/Master/texmf-doc/doc/english/math-into-latex/gratzer b/Master/texmf-doc/doc/english/math-into-latex/gratzer new file mode 100644 index 00000000000..af9cde2ece8 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/gratzer @@ -0,0 +1,6 @@ +This small document was added to the mil (Math into +LaTeX) distribution, so that people looking for it with + +quote site index gratzer + +would find it. diff --git a/Master/texmf-doc/doc/english/math-into-latex/mil.txt b/Master/texmf-doc/doc/english/math-into-latex/mil.txt new file mode 100644 index 00000000000..0c63cfd6b51 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/mil.txt @@ -0,0 +1,88 @@ +November 7, 1995 + +The file mil.pdf provides an introduction to LaTeX: + +Math into LaTeX +Short Course + +based on the book + +Math into LaTeX +An Introduction to LaTeX and AMS-LaTeX + +by George Gratzer, published by Birkhauser Boston, +ISBN 0-8176-3805-9. + +The following parts are reproduced from the book: + + 1. Short contents + 2. Contents + 3. List of tables + 4. List of figures + 5. Preface + 6. Introduction + 7. Part I, A short course + 8. Appendix A, Math symbol tables + 9. Appendix B, Text symbol tables +10. Afterword + +In addition, there is an Index but it is not the full index for +the whole book but the index for the parts reproduced here. + +Please note that this material is copyrighted by Birkhauser +Boston; the copyright information and isbn number is on page 4 of +mil.pdf. + +mil.pdf is a portable document format (pdf) file. To view the pdf +file (it cannot be printed), you need the Acrobat Reader; it is +available (free of charge) from Adobe Inc. for the following +platforms: + +DOS +Windows 3.1, Windows NT, Windows 95 +Macintosh +Silicon Graphics Irix +Sun Sparc and HP + +If you do not have the reader, you can download it from the ftp site: + +ftp.adobe.com + +or from the WWW site: + +www.adobe.com + +Ask an Adobe dealer for a free copy. + +To see the thumbnail sketches of the pages, choose the + +Thumbnails and Page + +option in the View menu. + +Some pages on the Macintosh do not read correctly on the computer +monitor; it seems then preferable to read the printed version of +mil.pdf. If the System file contains only Adobe licensed fonts, all +the significant problems go away. + +The subdirectory + +templates + +contains the templates and sample documents for Part I of the book. + +This directory contains two more files: + +errors.txt is a listing of the errors in the book; + +gratzer is a file added to the distribution, so that people + looking for it with + + quote site index gratzer + + would find it. + +Please direct your comments concerning the Math into LaTeX, Short +Course to + +George_Gratzer@umanitoba.ca
\ No newline at end of file diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/article.tpl b/Master/texmf-doc/doc/english/math-into-latex/templates/article.tpl new file mode 100644 index 00000000000..16626ed4d58 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/article.tpl @@ -0,0 +1,95 @@ +% Sample file: article.tpl +% Typeset with LaTeX format + +\documentclass{article} +\usepackage{amsmath,amssymb} + +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}{Lemma} +\newtheorem{proposition}{Proposition} +\newtheorem{definition}{Definition} +\newtheorem{corollary}{Corollary} +\newtheorem{notation}{Notation} + +\begin{document} +\title{ + titleline1\\ + titleline2} +\author{name\thanks{support}\\ + addressline1\\ + addressline2\\ + addressline3} +\date{date} +\maketitle + +\begin{abstract} + abstract +\end{abstract} + +\begin{thebibliography}{99} + +\end{thebibliography} +\end{document} + +Papers: + +\bibitem{xxx} + author, \emph{title}, journal \textbf{volume} + (year), pages. + +Books: + +\bibitem{xxx} + author, \emph{title}, publisher, address, year. + +\bibitem{xxx} + author, \emph{title}, series, vol.~volume, + publisher, address, edition, date. + +\bibitem{xxx} + editor, ed., \emph{title}, publisher, address, year. + +Papers in books: + +\bibitem{xxx} + author, \emph{title}, book title, publisher, + year, pp~pages. + +\bibitem{xxx} + author, \emph{title}, book title (editor, ed.), + vol.~volume, publisher, publisher address, date, + pp.~pages. + +Theses: + +\bibitem{xxx} + author, \emph{title}, Ph.D. thesis, university, year. + +Tech reports: + +\bibitem{xxx} + author, \emph{title}, tech. report, university, year. + +Research notes: + +\bibitem{xxx} + author, \emph{title}, Research Note number, + university, location, date, research paper in + preparation. + +Conference proceedings: + +\bibitem{xxx} + author, \emph{title}, conference title (location, + year). + +\bibitem{xxx} + author, \emph{title}, conference title, year + (editor, ed.), vol.~volume, publisher, address, + pp.~pages. + +Abstracts: + +\bibitem{xxx} + author, \emph{title}, Abstract: journal, volume, + year.
\ No newline at end of file diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/article2.tpl b/Master/texmf-doc/doc/english/math-into-latex/templates/article2.tpl new file mode 100644 index 00000000000..d9af7aae62f --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/article2.tpl @@ -0,0 +1,100 @@ +% Sample file: article2.tpl for two authors +% Typeset with LaTeX format + +\documentclass{article} +\usepackage{amsmath,amssymb} + +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}{Lemma} +\newtheorem{proposition}{Proposition} +\newtheorem{definition}{Definition} +\newtheorem{corollary}{Corollary} +\newtheorem{notation}{Notation} + +\begin{document} + +\title{titleline1\\ + titleline2} +\author{name1\thanks{support1}\\ + address1line1\\ + address1line2\\ + address1line3 + \and + name2\thanks{support2}\\ + address2line1\\ + address2line2\\ + address2line3} +\date{date} +\maketitle + +\begin{abstract} + abstract +\end{abstract} + +\begin{thebibliography}{99} + +\end{thebibliography} +\end{document} + +Papers: + +\bibitem{xxx} + author, \emph{title}, journal \textbf{volume} + (year), pages. + +Books: + +\bibitem{xxx} + author, \emph{title}, publisher, address, year. + +\bibitem{xxx} + author, \emph{title}, series, vol.~volume, + publisher, address, edition, date. + +\bibitem{xxx} + editor, ed., \emph{title}, publisher, address, year. + +Papers in books: + +\bibitem{xxx} + author, \emph{title}, book title, publisher, + year, pp~pages. + +\bibitem{xxx} + author, \emph{title}, book title (editor, ed.), + vol.~volume, publisher, publisher address, date, + pp.~pages. + +Theses: + +\bibitem{xxx} + author, \emph{title}, Ph.D. thesis, university, year. + +Tech reports: + +\bibitem{xxx} + author, \emph{title}, tech. report, university, year. + +Research notes: + +\bibitem{xxx} + author, \emph{title}, Research Note number, + university, location, date, research paper in + preparation. + +Conference proceedings: + +\bibitem{xxx} + author, \emph{title}, conference title (location, + year). + +\bibitem{xxx} + author, \emph{title}, conference title, year + (editor, ed.), vol.~volume, publisher, address, + pp.~pages. + +Abstracts: + +\bibitem{xxx} + author, \emph{title}, Abstract: journal, volume, + year.
\ No newline at end of file diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/contents.doc b/Master/texmf-doc/doc/english/math-into-latex/templates/contents.doc new file mode 100644 index 00000000000..8ef21393743 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/contents.doc @@ -0,0 +1,14 @@ +article.tpl section 1-6 +article2.tpl section 1-6 +contents.doc this document +gallery.tex section 1-3 +ggart.tpl section 1-6 +ggart2.tpl section 1-6 +inbibl.tpl section 1-7.4 +intrart.tex section 1-5 +math.tex section 1-2.2 +mathb.tex section 1-2.2 +note1.tex section 1-1.2 +note1b.tex section 1-1.3 +note2.tex section 1-1.4 +noteslug.tex section 1-1.3 diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/gallery.tex b/Master/texmf-doc/doc/english/math-into-latex/templates/gallery.tex new file mode 100644 index 00000000000..630be7c11d9 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/gallery.tex @@ -0,0 +1,224 @@ +% Sample file: gallery.tex formula template file +% Typeset with LaTeX format + +\documentclass{article} +\usepackage{amsmath,amssymb} + +\begin{document} + +Step 1 +$\left[ \frac{n}{2} \right]$ + +Step 2 +\[ + \sum_{i = 1}^{ \left[ \frac{n}{2} \right] } +\] + +Step 3 +\[ + x_{i, i + 1}^{i^{2}} \qquad \left[ \frac{i + 3}{3} \right] +\] + +Step 4 +\[ + \binom{ x_{i,i + 1}^{i^{2}} }{ \left[ \frac{i + 3}{3} \right] } +\] + +Step 5 +$\sqrt{ \mu(i)^{ \frac{3}{2} } (i^{2} - 1) }$ + +Step 6 +$\sqrt[3]{ \rho(i) - 2 }$ $\sqrt[3]{ \rho(i) - 1 }$ + +Step 7 +\[ + \frac{ \sqrt{ \mu(i)^{ \frac{3}{2}} (i^{2} -1) } } + { \sqrt[3]{\rho(i) - 2} + \sqrt[3]{\rho(i) - 1} } +\] + +Step 8 +\[ + \sum_{i = 1}^{ \left[ \frac{n}{2} \right] } + \binom{ x_{i, i + 1}^{i^{2}} } + { \left[ \frac{i + 3}{3} \right] } + \frac{ \sqrt{ \mu(i)^{ \frac{3}{2}} (i^{2} - 1) } } + { \sqrt[3]{\rho(i) - 2} + \sqrt[3]{\rho(i) - 1} } +\] + +\[\sum_{i=1}^{\left[\frac{n}{2}\right]}\binom{x_{i,i+1}^{i^{2}}} +{\left[\frac{i+3}{3}\right]}\frac{\sqrt{\mu(i)^{\frac{3} +{2}}(i^{2}-1)}}{\sqrt[3]{\rho(i)-2}+\sqrt[3]{\rho(i)-1}}\] + +\[\sum_{i=1}^{\left[\frac{n}{2}\right]}\binom{x_{i,i+1}^{i^{2}}} +{\left[\frac{i+3}{3}\right]}\frac{\sqrt{\mu(i)^{\frac{3} +{2}}}(i^{2}-1)}}{\sqrt[3]{\rho(i)-2}+\sqrt[3]{\rho(i)-1}}\] + + +Formula 1 +\[ + x \mapsto \{\, c \in C \mid c \leq x \,\} +\] + +Formula 2 +\[ + \left| \bigcup (\, I_{j} \mid j \in J \,) \right| + < \mathfrak{m} +\] + +Formula 3 +\[ + A = \{\, x \in X \mid x \in X_{i} + \mbox{\quad for some } i \in I \,\} +\] + +Formula 4 +\[ + \langle a_{1}, a_{2} \rangle \leq \langle a'_{1}, a'_{2}\rangle + \qquad \mbox{if{f}} \qquad a_{1} < a'_{1} \quad \mbox{or} + \quad a_{1} = a'_{1} \mbox{ and } a_{2} \leq a'_{2} +\] + +Formula 5 +\[ + \Gamma_{u'} = \{\, \gamma \mid \gamma < 2\chi, + \ B_{\alpha} \nsubseteq u', \ B_{\gamma} \subseteq u' \,\} +\] + +Formula 6 +\[ + A = B^{2} \times \mathbb{Z} +\] + +Formula 7 +\[ + \left( \bigvee (\, s_{i} \mid i \in I \,) \right)^{c} = + \bigwedge (\, s_{i}^{c} \mid i \in I \,) +\] + +Formula 8 +\[ + y \vee \bigvee (\, [B_{\gamma}] \mid \gamma + \in \Gamma \,) \equiv z \vee \bigvee (\, [B_{\gamma}] + \mid \gamma \in \Gamma \,) \pmod{ \Phi^{x} } +\] + +Formula 9 +\[ + f(\mathbf{x}) = \bigvee\nolimits_{\!\mathfrak{m}} + \left(\, + \bigwedge\nolimits_{\mathfrak{m}} + (\, x_{j} \mid j \in I_{i} \,) \mid i < \aleph_{\alpha} + \,\right) +\] + +Formula 10 +\[ + \left. F(x) \right|_{a}^{b} = F(b) - F(a) +\] + +Formula 11 +\[ + u \underset{\alpha}{+} v \overset{1}{\thicksim} w + \overset{2}{\thicksim} z +\] + +Formula 12 +\[ + f(x) \overset{ \text{def} }{=} x^{2} - 1 +\] + +Formula 13 +\[ + \overbrace{a + b + \cdots + z}^{n} +\] + +Formula 14 +\[ + \begin{vmatrix} + a + b + c & uv\\ + a + b & c + d + \end{vmatrix} + = 7 +\] + +\[ + \begin{Vmatrix} + a + b + c & uv\\ + a + b & c + d + \end{Vmatrix} + = 7 +\] + +Formula 15 +\[ + \sum_{j \in \mathbf{N}} b_{ij} \hat{y}_{j} = + \sum_{j \in \mathbf{N}} b^{(\lambda)}_{ij} \hat{y}_{j} + + (b_{ii} - \lambda_{i}) \hat{y}_{i} \hat{y} +\] + +Formula 16 +\[ + \left( \prod^n_{\, j = 1} \hat x_{j} \right) H_{c} = + \frac{1}{2} \hat k_{ij} \det \hat{ \mathbf{K} }(i|i) +\] + +\[ + \biggl( \prod^n_{\, j = 1} \hat x_{j} \biggr) H_{c} = + \frac{1}{2} \hat{k}_{ij} \det \widehat{ \mathbf{K} }(i|i) +\] + +Formula 17 +\[ + \det \mathbf{K} (t = 1, t_{1}, \dots, t_{n}) = + \sum_{I \in \mathbf{n} }(-1)^{|I|} + \prod_{i \in I} t_{i} + \prod_{j \in I} (D_{j} + \lambda_{j} t_{j}) + \det \mathbf{A}^{(\lambda)} (\overline{I} | \overline{I}) = 0 +\] + +Formula 18 +\[ + \lim_{(v, v') \to (0, 0)} + \frac{H(z + v) - H(z + v') - BH(z)(v - v')} + {\| v - v' \|} = 0 +\] + +Formula 19 +\[ + \int_{\mathcal{D}} | \overline{\partial u} |^{2} + \Phi_{0}(z) e^{\alpha |z|^2} \geq + c_{4} \alpha \int_{\mathcal{D}} |u|^{2} \Phi_{0} + e^{\alpha |z|^{2}} + c_{5} \delta^{-2} \int_{A} + |u|^{2} \Phi_{0} e^{\alpha |z|^{2}} +\] + +Formula 20 +\[ + \mathbf{A} = + \begin{pmatrix} + \dfrac{\varphi \cdot X_{n, 1}} + {\varphi_{1} \times \varepsilon_{1}} + & (x + \varepsilon_{2})^{2} & \cdots + & (x + \varepsilon_{n - 1})^{n - 1} + & (x + \varepsilon_{n})^{n}\\ + \dfrac{\varphi \cdot X_{n, 1}} + {\varphi_{2} \times \varepsilon_{1}} + & \dfrac{\varphi \cdot X_{n, 2}} + {\varphi_{2} \times \varepsilon_{2}} + & \cdots & (x + \varepsilon_{n - 1})^{n - 1} + & (x + \varepsilon_{n})^{n}\\ + \hdotsfor{5}\\ + \dfrac{\varphi \cdot X_{n, 1}} + {\varphi_{n} \times \varepsilon_{1}} + & \dfrac{\varphi \cdot X_{n, 2}} + {\varphi_{n} \times \varepsilon_{2}} + & \cdots & \dfrac{\varphi \cdot X_{n, n - 1}} + {\varphi_{n} \times \varepsilon_{n - 1}} + & \dfrac{\varphi\cdot X_{n, n}} + {\varphi_{n} \times \varepsilon_{n}} + \end{pmatrix} + + \mathbf{I}_{n} +\] + +\end{document} + diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/ggart.tpl b/Master/texmf-doc/doc/english/math-into-latex/templates/ggart.tpl new file mode 100644 index 00000000000..b07fd2ec5b9 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/ggart.tpl @@ -0,0 +1,97 @@ +% Sample file: ggart.tpl +% Typeset with LaTeX format + +\documentclass{article} +\usepackage{amssymb,amsmath} + +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}{Lemma} +\newtheorem{proposition}{Proposition} +\newtheorem{definition}{Definition} +\newtheorem{corollary}{Corollary} +\newtheorem{notation}{Notation} + +\begin{document} +\title{titleline1\\ + titleline2} +\author{George Gr\"{a}tzer\thanks{Research supported by the + NSERC of Canada.}\\ + University of Manitoba\\ + Department of Mathematics\\ + Winnipeg, MN, R3T 2N2\\ + Canada} +\date{date} +\maketitle + +\begin{abstract} + abstract +\end{abstract} + +\begin{thebibliography}{99} + + +\end{thebibliography} +\end{document} + +Papers: + +\bibitem{xxx} + author, \emph{title}, journal \textbf{volume} + (year), pages. + +Books: + +\bibitem{xxx} + author, \emph{title}, publisher, address, year. + +\bibitem{xxx} + author, \emph{title}, series, vol.~volume, + publisher, address, edition, date. + +\bibitem{xxx} + editor, ed., \emph{title}, publisher, address, year. + +Papers in books: + +\bibitem{xxx} + author, \emph{title}, book title, publisher, + year, pp~pages. + +\bibitem{xxx} + author, \emph{title}, book title (editor, ed.), + vol.~volume, publisher, publisher address, date, + pp.~pages. + +Theses: + +\bibitem{xxx} + author, \emph{title}, Ph.D. thesis, university, year. + +Tech reports: + +\bibitem{xxx} + author, \emph{title}, tech. report, university, year. + +Research notes: + +\bibitem{xxx} + author, \emph{title}, Research Note number, + university, location, date, research paper in + preparation. + +Conference proceedings: + +\bibitem{xxx} + author, \emph{title}, conference title (location, + year). + +\bibitem{xxx} + author, \emph{title}, conference title, year + (editor, ed.), vol.~volume, publisher, address, + pp.~pages. + +Abstracts: + +\bibitem{xxx} + author, \emph{title}, Abstract: journal, volume, + year.
\ No newline at end of file diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/ggart2.tpl b/Master/texmf-doc/doc/english/math-into-latex/templates/ggart2.tpl new file mode 100644 index 00000000000..96b71eef459 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/ggart2.tpl @@ -0,0 +1,102 @@ +% Sample file: ggart2.tpl for two authors +% Typeset with LaTeX format + +\documentclass{article} +\usepackage{amssymb,amsmath} + +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}{Lemma} +\newtheorem{proposition}{Proposition} +\newtheorem{definition}{Definition} +\newtheorem{corollary}{Corollary} +\newtheorem{notation}{Notation} + +\begin{document} +\title{titleline1\\ + titleline2} +\author{George Gr\"{a}tzer\thanks{Research supported by the + NSERC of Canada.}\\ + University of Manitoba\\ + Department of Mathematics\\ + Winnipeg, MN, R3T 2N2\\ + Canada + \and + name2\thanks{support2}\\ + address2line1\\ + address2line2\\ + address2line3} +\date{date} +\maketitle + +\begin{abstract} + abstract +\end{abstract} + +\begin{thebibliography}{99} + + +\end{thebibliography} +\end{document} + +Papers: + +\bibitem{xxx} + author, \emph{title}, journal \textbf{volume} + (year), pages. + +Books: + +\bibitem{xxx} + author, \emph{title}, publisher, address, year. + +\bibitem{xxx} + author, \emph{title}, series, vol.~volume, + publisher, address, edition, date. + +\bibitem{xxx} + editor, ed., \emph{title}, publisher, address, year. + +Papers in books: + +\bibitem{xxx} + author, \emph{title}, book title, publisher, + year, pp~pages. + +\bibitem{xxx} + author, \emph{title}, book title (editor, ed.), + vol.~volume, publisher, publisher address, date, + pp.~pages. + +Theses: + +\bibitem{xxx} + author, \emph{title}, Ph.D. thesis, university, year. + +Tech reports: + +\bibitem{xxx} + author, \emph{title}, tech. report, university, year. + +Research notes: + +\bibitem{xxx} + author, \emph{title}, Research Note number, + university, location, date, research paper in + preparation. + +Conference proceedings: + +\bibitem{xxx} + author, \emph{title}, conference title (location, + year). + +\bibitem{xxx} + author, \emph{title}, conference title, year + (editor, ed.), vol.~volume, publisher, address, + pp.~pages. + +Abstracts: + +\bibitem{xxx} + author, \emph{title}, Abstract: journal, volume, + year.
\ No newline at end of file diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/inbibl.tpl b/Master/texmf-doc/doc/english/math-into-latex/templates/inbibl.tpl new file mode 100644 index 00000000000..7b47595e83d --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/inbibl.tpl @@ -0,0 +1,77 @@ +% Sample file: inbibl.tpl +% in article bibliography template file + +\begin{thebibliography}{99} +\bibitem{hA70} + Henry~H. Albert, + \emph{Free torsoids}, + Current Trends in Lattice Theory, D.~Van Nostrand, 1970. +\bibitem{hA70a} + Henry~H. Albert, + \emph{Free torsoids}, + Current Trends in Lattice Theory (G.~H. Birnbaum, ed.), vol.~7, + D.~Van Nostrand, Princeton-Toronto-London-Melbourne, + January 1970, + no translation available, pp.~173--215 (Hungarian). +\bibitem{sF90} + Soo-Key Foo, + \emph{Lattice Constructions}, + Ph.D. thesis, + University of Winnebago, 1990. +\bibitem{sF90a} + Soo-Key Foo, + \emph{Lattice Constructions}, + Ph.D. thesis, + University of Winnebago, Winnebago, MN, December 1990, + final revision not yet available (Chinese). +\bibitem{gF86} + Grant~H. Foster, + \emph{Computational complexity in lattice theory}, + tech. report, Carnegie Mellon University, 1986. +\bibitem{gF86a} + Grant~H. Foster, + \emph{Computational complexity in lattice theory}, + Research Note 128A, Carnegie Mellon University, + Pittsburgh PA, December 1986, + research article in preparation (English). +\bibitem{pK69} + Peter~A. Konig, + \emph{Composition of functions}, + Proceedings of the Conference on Universal Algebra + (Kingston, 1969). +\bibitem{pK69a} + Peter~A. Konig, + \emph{Composition of functions}, + Proceedings of the Conference on Universal Algebra, 1969 + (G.~H. Birnbaum, ed.), vol.~7, Canadian Mathematical + Society, Queen's Univ., available from the Montreal office, + pp.~1--106 (English). +\bibitem{wL75} + William~A. Landau, + \emph{Representations of complete lattices}, + Abstract: Notices Amer. Math. Soc., \textbf{18}, 937. +\bibitem{wL75a} + William~A. Landau, + \emph{Representations of complete lattices}, + Abstract: Notices Amer. Math. Soc. \textbf{18}, 937, + December 1975 (English). +\bibitem{gM68} + George~A. Menuhin, + \emph{Universal Algebra}, + D.~van Nostrand, Princeton-Toronto-London-Melbourne, 1968. +\bibitem{gM68a} + George~A. Menuhin, + \emph{Universal Algebra}, + University Series in Higher Mathematics, vol.~58, + D.~van Nostrand, Princeton-Toronto-London-Melbourne, + second ed., March 1968, no Russian translation (English). +\bibitem{eM57} + Ernest~T. Moynahan, + \emph{On a problem of M.~H. Stone}, + Acta Math. Acad. Sci. Hungar. \textbf{8} (1957), 455--460. +\bibitem{eM57a} + Ernest~T. Moynahan, + \emph{On a problem of M.~H. Stone}, + Acta Math. Acad. Sci. Hungar. \textbf{8} (1957), 455--460, + Russian translation available (English). +\end{thebibliography} diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/intrart.tex b/Master/texmf-doc/doc/english/math-into-latex/templates/intrart.tex new file mode 100644 index 00000000000..dbfa149f7af --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/intrart.tex @@ -0,0 +1,133 @@ +% Introductory sample article: intrart.tex +% Typeset with LaTeX format + +\documentclass{article} +\usepackage{amsmath,amssymb} +\newtheorem{theorem}{Theorem} +\newtheorem{definition}{Definition} +\newtheorem{notation}{Notation} + +\begin{document} +\title{A construction of complete-simple\\ + distributive lattices} +\author{George~A. Menuhin\thanks{Research supported + by the NSF under grant number~23466.}\\ + Computer Science Department\\ + Winnebago, Minnesota 23714\\ + menuhin@ccw.uwinnebago.edu} +\date{March 15, 1995} +\maketitle + +\begin{abstract} + In this note we prove that there exist \emph{complete-simple + distributive lattices}, that is, complete distributive + lattices in which there are only two complete congruences. +\end{abstract} + +\section{Introduction} \label{S:intro} +In this note we prove the following result: + +\begin{theorem} + There exists an infinite complete distributive lattice $K$ + with only the two trivial complete congruence relations. +\end{theorem} + +\section{The $\Pi^{*}$ construction} \label{S:P*} +The following construction is crucial in our proof of our Theorem: + +\begin{definition} \label{D:P*} + Let $D_{i}$, $i \in I$, be complete distributive + lattices satisfying condition~\textup{(J)}. Their + $\Pi^{*}$ product is defined as follows: + \[ + \Pi^{*} ( D_{i} \mid i \in I ) = + \Pi ( D_{i}^{-} \mid i \in I ) + 1; + \] + that is, $\Pi^{*} ( D_{i} \mid i \in I )$ is + $\Pi ( D_{i}^{-} \mid i \in I )$ with a new unit element. +\end{definition} + +\begin{notation} + If $i \in I$ and $d \in D_{i}^{-}$, then + \[ + \langle \dots, 0, \dots, \overset{i}{d}, \dots, 0, + \dots \rangle + \] + is the element of $\Pi^{*} ( D_{i} \mid i \in I )$ whose + $i$th component is $d$ and all the other components + are $0$. +\end{notation} + +See also Ernest~T. Moynahan~\cite{eM57a}. + +Next we verify the following result: + +\begin{theorem} \label{T:P*} + Let $D_{i}$, $i \in I$, be complete distributive + lattices satisfying condition~\textup{(J)}. Let $\Theta$ + be a complete congruence relation on + $\Pi^{*} ( D_{i} \mid i \in I )$. + If there exist $i \in I$ and $d \in D_{i}$ with + $d < 1_{i}$ such that for all $d \leq c < 1_{i}$, + \begin{equation} \label{E:cong1} + \langle \dots, 0, \dots,\overset{i}{d}, + \dots, 0, \dots \rangle \equiv \langle \dots, 0, \dots, + \overset{i}{c}, \dots, 0, \dots \rangle \pmod{\Theta}, + \end{equation} + then $\Theta = \iota$. +\end{theorem} + +\emph{Proof.} Since +\begin{equation} \label{E:cong2} + \langle \dots, 0, \dots, \overset{i}{d}, \dots, 0, + \dots \rangle \equiv \langle \dots, 0, \dots, + \overset{i}{c}, \dots, 0, \dots \rangle \pmod{\Theta}, +\end{equation} +and $\Theta$ is a complete congruence relation, it follows +from condition~(C) that +\begin{align} \label{E:cong} + & \langle \dots, \overset{i}{d}, \dots, 0, + \dots \rangle \equiv\\ + &\qquad \qquad \quad \bigvee ( \langle \dots, 0, \dots, + \overset{i}{c}, \dots, 0, \dots \rangle \mid d \leq c < 1 ) + \equiv 1 \pmod{\Theta}. \notag +\end{align} + +Let $j \in I$, $j \neq i$, and let $a \in D_{j}^{-}$. +Meeting both sides of the congruence \eqref{E:cong2} with +$\langle \dots, 0, \dots, \overset{j}{a}, \dots, 0, +\dots \rangle$, we obtain + +\begin{align} \label{E:comp} + 0 = & \langle \dots, 0, \dots, \overset{i}{d}, \dots, 0, \dots + \rangle \wedge \langle \dots, 0, \dots, \overset{j}{a}, + \dots, 0, \dots \rangle \equiv\\ + &\langle \dots, 0, \dots, \overset{j}{a}, \dots, 0, \dots + \rangle \pmod{\Theta}, \notag +\end{align} +Using the completeness of $\Theta$ and \eqref{E:comp}, +we get: +\[ + 0 \equiv \bigvee ( \langle \dots, 0, \dots, \overset{j}{a}, + \dots, 0, \dots \rangle \mid a \in D_{j}^{-} ) = 1 \pmod{\Theta}, +\] +hence $\Theta = \iota$. + +\begin{thebibliography}{9} + \bibitem{sF90} + Soo-Key Foo, \emph{Lattice Constructions}, Ph.D. thesis, + University of Winnebago, Winnebago, MN, December 1990. + \bibitem{gM68} + George~A. Menuhin, \emph{Universal Algebra}, D.~van Nostrand, + Princeton-Toronto-London-Mel\-bourne, 1968. + \bibitem{eM57} + Ernest~T. Moynahan, \emph{On a problem of M.~H. Stone}, Acta Math. + Acad. Sci. Hungar. \textbf{8} (1957), 455--460. + \bibitem{eM57a} + Ernest~T. Moynahan, \emph{Ideals and congruence relations in + lattices.~II}, Magyar Tud. Akad. Mat. Fiz. Oszt. K\"{o}zl. \textbf{9} + (1957), 417--434. +\end{thebibliography} + +\end{document} + diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/math.tex b/Master/texmf-doc/doc/english/math-into-latex/templates/math.tex new file mode 100644 index 00000000000..995b0cf52f5 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/math.tex @@ -0,0 +1,21 @@ +% Sample file: math.tex +% Typeset with LaTeX format +\documentclass{article} + +\begin{document} +In first year Calculus, we define intervals such as +$(u, v)$ and $(u, \infty)$. Such an interval is a +\emph{neighborhood} of $a$ +if $a$ is in the interval. Students should +realize that $\infty$ is only a +symbol, not a number. This is important since +we soon introduce concepts + such as $\lim_{x \to \infty} f(x)$. + +When we introduce the derivative +\[ + \lim_{x \to a} \frac{f(x) - f(a)}{x - a}, +\] +we assume that the function is defined and continuous +in a neighborhood of $a$. +\end{document} diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/mathb.tex b/Master/texmf-doc/doc/english/math-into-latex/templates/mathb.tex new file mode 100644 index 00000000000..4a1d4bbc1c3 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/mathb.tex @@ -0,0 +1,24 @@ +% Sample file: mathB.tex +% Typeset with LaTeX format +\documentclass{article} + +\begin{document} +In first year Calculus, we define intervals such as +%$(u, v)$ and $(u, \infty)$. Such an interval is a + $(u, v)$ and (u, \infty)$. Such an interval is a + {\emph{neighborhood} of $a$ +if $a$ is in the interval. Students should +realize that $\infty$ is only a +symbol, not a number. This is important since +we soon introduce concepts + such as $\lim_{x \to \infty} f(x)$. +%such as $\lim_{x \to \infty f(x)$. + +When we introduce the derivative +\[ + \lim_{x \to a} \frac{f(x) - f(a)}{x - a} + %\lim_{x \to a} \frac{f(x) - f(a) x - a} +\] +we assume that the function is defined and continuous +in a neighborhood of $a$. +\end{document} diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/note1.tex b/Master/texmf-doc/doc/english/math-into-latex/templates/note1.tex new file mode 100644 index 00000000000..6ae24ab3ec3 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/note1.tex @@ -0,0 +1,22 @@ +% Sample file: note1.tex +% Typeset with LaTeX format +\documentclass{article} + +\begin{document} +It is of some concern to me that +the terminology used in multi-section + math courses is not uniform. + +In several sections of the course on +matrix theory, the term + ``hamiltonian-reduced'' is used. + I, personally, would rather call these ``hyper-simple''. I +invite others to comment on this problem. + +Of special concern to me is the terminology in the course +by Prof.~Rudi Hochschwabauer. + Since his field is new, there is + no accepted +terminology. It is imperative +that we arrive at a satisfactory solution. +\end{document} diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/note1b.tex b/Master/texmf-doc/doc/english/math-into-latex/templates/note1b.tex new file mode 100644 index 00000000000..d117539c2b6 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/note1b.tex @@ -0,0 +1,22 @@ +% Sample file: note1b.tex +% Typeset with LaTeX format +\documentclass{article} + +\begin{document} +It is of some concern to me that +the terminology used in multi-section + math courses is not uniform. + +In several sections of the course on +matrix theory, the strange term + ``hamiltonian-reduced'' is used. + I, personally, would rather call these ``hyper-simple''. I +invite others to comment on this problem. + +Of special concern to me is the terminology in the course +by Prof.~Hochschwabauer. + Since his field is new, there is + no accepted +terminology. It is imperative +that we arrive at a satisfactory solution. +\end{document}
\ No newline at end of file diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/note2.tex b/Master/texmf-doc/doc/english/math-into-latex/templates/note2.tex new file mode 100644 index 00000000000..0e0ac630315 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/note2.tex @@ -0,0 +1,15 @@ +% Sample file: note2.tex +% Typeset with LaTeX format +\documentclass{article} + +\begin{document} +\begin{flushright} + \today +\end{flushright} +\textbf{From the desk of George Gr\"{a}tzer}\\[10pt] + +February~7--21 \emph{please} use my temporary e-mail address: +\begin{center} + \texttt{George\_Gratzer@umanitoba.ca} +\end{center} +\end{document} diff --git a/Master/texmf-doc/doc/english/math-into-latex/templates/noteslug.tex b/Master/texmf-doc/doc/english/math-into-latex/templates/noteslug.tex new file mode 100644 index 00000000000..723909db4d5 --- /dev/null +++ b/Master/texmf-doc/doc/english/math-into-latex/templates/noteslug.tex @@ -0,0 +1,22 @@ +% Sample file: noteslug.tex +% Typeset with the LaTeX format +\documentclass[draft]{article} + +\begin{document} +It is of some concern to me that +the terminology used in multi-section + math courses is not uniform. + +In several sections of the course on +matrix theory, the strange term + ``hamiltonian-reduced'' is used. + I, personally, would rather call these ``hyper-simple''. I +invite others to comment on this problem. + +Of special concern to me is the terminology in the course +by Prof.~Hochschwabauer. + Since his field is new, there is + no accepted +terminology. It is imperative +that we arrive at a satisfactory solution. +\end{document}
\ No newline at end of file diff --git a/Master/texmf-doc/doc/english/mathmode/Changes b/Master/texmf-doc/doc/english/mathmode/Changes new file mode 100644 index 00000000000..254ee0bfc66 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/Changes @@ -0,0 +1,34 @@ +..... Mathmode.ltx|tex|bib|ist + +2.09 2005-10-24 fix problem with braket package +2.08 2005-10-21 example for linear equation matrix + typos +2.07 2005-10-08 update everymath subsection +2.06 2005-08-28 add an example for braces around operators with + with stacked limits +2.05 2005-08-15 add an example for vertical line spacing +2.04 2005-07-07 small changes to the text +2.03 2005-07-07 wrong references +2.02 2005-07-07 typos +2.01 2005-07-02 do not use PSTricks with pdflatex +2.00 2005-06-30 typos +1.99 2005-06-03 typos and bugfix with sqrt +1.98 2005-05-13 small tweaks +1.97 2005-05-08 small tweaks +1.96 2005-05-03 small tweaks +1.95 2005-04-23 added xlongleftrightarrow +1.94 2005-04-10 small tweaks +1.93 2005-02-22 one more example for different vertical spacing + in arrays, amsmath without usind \def\arraystretch +1.92 2005-02-02 minor changes +1.91 2005-01-30 different sizes of operators +1.90 2004-12-22 preventing linebreaks for inline mode +1.89 2004-12-08 fixed typos +1.87 2004-11-14 fixed typos +1.86 2004-11-08 fixed a small bug with inline math +1.85 2004-11-08 forgot a LateX run for the TOC +1.84 2004-11-03 fixing typos +1.83 2004-10-18 added an example for alignat + Some more bib entries +1.82 2004-10-01 TeX math macros + diff --git a/Master/texmf-doc/doc/english/mathmode/Mathmode.bib b/Master/texmf-doc/doc/english/mathmode/Mathmode.bib new file mode 100644 index 00000000000..9bfd164295f --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/Mathmode.bib @@ -0,0 +1,226 @@ +@STRING{bretter = {Bretter, die die Welt bedeuten} } +@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} } +@STRING{PS = {{P}ost{S}cript} } + +@Manual{MathGuide, + Title = {Short Math Guide for \LaTeX}, + Author = {Downes, Michael}, + Organization = {American Mathematical Society}, + Address = {\url{http://www.ams.org/tex/short-math-guide.html}}, + Note = {}, + year = 2002, +} + +@Manual{Notes, + Title = {Technical Notes on the \texttt{amsmath} package}, + Author = {Downes, Michael}, + Organization = {American Mathematical Society}, + Address = {\url{ftp://ftp.ams.org/pub/tex/doc/amsmath/technote.pdf}}, + Note = {}, + year = 1999, +} + +@Manual{webmath, + Title = {Web Math Formulas Using \TeX}, + Author = {Fitzgerald, J. Anthony}, + Organization = {}, + Address = {\url{http://www.unb.ca/web/Sample/math/}}, + Note = {}, + year = 1997, +} + +@article{rahtz92, + Author = {Sebastian Rahtz and Leonor Barroca}, + Title = {A style option for rotated objects in {\LaTeX}}, + journal = {TUGboat Journal}, + year = 1992, + volume = 13, + number = 2, + pages = "156--180", + month = jul, +} + +@Manual{mathwriting87, + Title= {Mathematical Writing}, + Author= {Donald {E}. {K}nuth and {T}racy {L}arrabee and {P}aul {M}. Roberts}, + Organization = {Stanford University, Computer Science Department}, + Address = {\url{http://sunburn.stanford.edu/~knuth/papers/mathwriting.tex.gz}}, + Note = {}, + year = 1987, +} + +@Manual{harvard, + Title= {An Introduction to using {\LaTeX} in the {H}arvard {M}athematics {D}epartment}, + Author= {R. Kuhn and R. Scott and L. Andreev}, + Organization = {Harvard University, Department of Mathematics}, + Address = {\url{http://abel.math.harvard.edu/computing/latex/manual/texman.html}}, + Note = {}, + year = {}, +} + +@book{graetzer00, + Title = {Math into {\LaTeX}}, + Author = {George Grätzer}, + Publisher = {Birkhäuser Boston}, + Edition= {third}, + Year= {2000}, +} + +@Manual{impatient, + Title= {{\TeX} for the {I}mpatient}, + Author = {Paul W. Abrahams and Karl Berry and Kathryn Hargreaves}, + Address = {\url{http://tug.org/ftp/tex/impatient/book.pdf}}, + Note = {}, + year = {2003}, +} + +@book{knuth86, + Title = {The {\TeX}book}, + Author = {Donald E. Knuth}, + Publisher = {Addison Wesley Professional}, + Edition= {21}, + Year= {1986}, +} +@book{companion94, + Title = {The {\LaTeX} {C}ompanion}, + Author = {Michel Goosens and Frank Mittelbach and Alexander Samarin}, + Publisher = {Addison Wesley}, + Edition= {13}, + Year= {1994}, +} + +@Manual{eijkhout, + Title= {{\TeX} by {T}opic}, + Author = {Victor Eijkhout}, + Address = {\url{http://www.eijkhout.net/tbt/}}, + Note = {}, + year = {1992}, +} +@Manual{taylor00, + Title = {Commutative Diagrams in \TeX}, + Author = {Paul Taylor}, + Organization = {Department of Computer Science, Queen Mary and Westfield College}, + Address = {\url{http://www.dcs.qmw.ac.uk/~pt/diagrams/}}, + Note = {}, + year = 2000, +} +@Manual{selden00, + Title = {Math cheat sheet}, + Author = {Steve Seiden}, + Organization = {TUG}, + Address = {\url{http://www.tug.org/texshowcase/#math}}, + Note = {}, + year = 2000, +} + +@Manual{nist, + Title= {Typefaces for Symbols in Scientific +Manuscripts}, + Author = {NIST}, + Address = {\url{http://physics.nist.gov/Document/typefaces.pdf}}, + Note = {}, + year = {2004}, +} + +@Manual{expressionsI, + Title= {Ecrire des mathématiques avec \LaTeX}, + Author = {David Cobac}, + Address = {\url{http://crdp.ac-lille.fr/crdp2003/archives/latex/Ateliers/Atelier2/prepDocMaths.pdf}}, + Note = {}, + year = {2004}, +} + +@Manual{expressionsII, + Title= {Atelier documents mathématiques}, + Author = {David Cobac}, + Address = {\url{http://crdp.ac-lille.fr/crdp2003/archives/latex/Ateliers/Atelier2/Presentation4.pdf}}, + Note = {}, + year = {2004}, +} + +@Manual{kuester:2004, + Title= {Fonts for Mathematics}, + Author= {Johannes Küster}, + Address={\url{http://www.typoma.com/publ/20041002-atypi.pdf}}, + Note = {Vortrag auf der {AT}yp{I}-{K}onferenz in {P}rag}, + month={oct}, + year = {2004}, +} + +@Manual{kuester:2004-2, + Title= {Designing Math Fonts}, + Author= {Johannes Küster}, + Address={\url{http://www.typoma.com/publ/20040430-bachotex.pdf}}, + Note = {Vortrag auf der polnischen TeX-Konferenz »BachoTeX«}, + month={apr}, + year = {2004}, +} + +@article{bouchie98, + Author = {Thierry Bouche}, + Title = {Diversity in math fonts}, + journal = {TUGboat Journal}, + year = 1998, + volume = 19, + number = 2, + pages = "121--135", + Address={\url{http://www.tug.org/TUGboat/Articles/tb19-2/tb59bouc.pdf}}, +} + + @article{beccardi97, + Author = {Claudio Beccari}, + Title = {Typesetting mathematics for science + and technology according to ISO 31/XI}, + journal = {TUGboat Journal}, + year = 1997, + volume = 18, + number = 1, + pages = "39--47", + Address={\url{http://www.tug.org/TUGboat/Articles/tb18-1/tb54becc.pdf}}, +} + +@article{padovani03, + Author = {Luca Padovani}, + Title = {MathML formatting with TeX rules and TeX fonts}, + journal = {TUGboat Journal}, + year = 2003, + volume = 24, + number = 1, + pages = "53--61", + Address={\url{http://www.tug.org/TUGboat/Articles/tb24-1/padovani.pdf}}, +} + +@article{lawrence04, + Author = {Richard Lawrence}, + Title = {Math={T}ypography?}, + journal = {TUGboat Journal}, + year = 2003, + volume = 24, + number = 2, + pages = "165--168", + Address={\url{http://www.tug.org/TUGboat/Articles/tb24-2/tb77lawrence.pdf}}, +} +@Article{dtk04.2:voss, + author = {Herbert Vo{\ss}}, + title = {Farbige {M}athematik}, + journal = dtk, + year = 2004, + volume = {2/04}, + month = mar, + pages = {81--87}, + annote = bretter, + keywords = {}, +} + +@Article{dtk04.3:voss, + author = {Carole Siegfried and Herbert Vo{\ss}}, + title = {{M}athematik im {I}nline-Modus}, + journal = dtk, + year = 2004, + volume = {3/04}, + month = nov, + pages = {25--32}, + annote = bretter, + keywords = {}, +} + diff --git a/Master/texmf-doc/doc/english/mathmode/Mathmode.ist b/Master/texmf-doc/doc/english/mathmode/Mathmode.ist new file mode 100644 index 00000000000..898825bc52e --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/Mathmode.ist @@ -0,0 +1,35 @@ +%% +%% This is file `Letter.ist', +%% +%% The idea is from Ingo Kloeckl, Latex2e: +%% Herbert Voss 000726 +%% +%% This is a MAKEINDEX style file which should be used to +%% generate the formatted change history for use with the doc +%% package. The TeX commands used below are defined in +%% doc.sty. The commands for MAKEINDEX like `level' +%% `item_x1' are described in `` Makeindex, A General +%% Purpose, Formatter-Independent Index Processor'' by +%% Pehong Chen. +%% +headings_flag 1 % headings yes +heading_prefix "\\textbf{" % boldfont +heading_suffix "}\n" % newline +quote '"' +preamble + "\\begin{theindex}\n" +item_1 + "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}" +item_01 + "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}" +item_x1 + "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{--}" +item_2 + "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }" +item_12 + "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }" +item_x2 + "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }" +%% +%% +%% End of file `Letter.ist'. diff --git a/Master/texmf-doc/doc/english/mathmode/Mathmode.ltx b/Master/texmf-doc/doc/english/mathmode/Mathmode.ltx new file mode 100644 index 00000000000..ca4585d2e2c --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/Mathmode.ltx @@ -0,0 +1,306 @@ +%% +%% This is file `Mathmode.ltx', +%% +%% IMPORTANT NOTICE: +%% +%% Herbert Voss <voss@pstricks.de> +%% 2005-06-30 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% DESCRIPTION: +%% `Mathmode' is a document how the math mode works inside LaTeX +%% +\listfiles +\documentclass[11pt,a4paper,english]{article} +\usepackage{fixltx2e}%% the official fixes for LaTeX2e +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +%\usepackage{lmodern} +% +\usepackage{ifpdf} +\usepackage{ifvtex} +\ifvtex\pdffalse\fi +\usepackage{comment} +\usepackage{graphicx} +\usepackage{varwidth} +\usepackage{array} +\usepackage{delarray} +\usepackage{tabularx} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsopn} +\usepackage{bm} +\usepackage{upgreek} +\usepackage{cancel} +\newcommand\hcancel[2][black]{\setbox0=\hbox{#2}% + \rlap{\raisebox{.45\ht0}{\textcolor{#1}{\rule{\wd0}{1pt}}}}#2} +\DeclareMathOperator{\Res}{Res} +\usepackage{amscd} +\usepackage{accents} +\usepackage{dsfont} +\usepackage{multirow} +\usepackage{bigdelim} +\usepackage{framed} +\usepackage{longtable} +\usepackage{varioref} +% +\ifvtex + \usepackage{pstricks} + \usepackage{pst-node} +\else\ifpdf\usepackage{xcolor}\else + \usepackage{pstricks} + \usepackage{pst-node} +\fi\fi +\usepackage{makeidx} +\makeindex +\usepackage{url} +\usepackage{setspace} +\usepackage{framed} +% +% +\DeclareMathDelimiter{\Norm} + {\mathord}{largesymbols}{"3E}{largesymbols}{"3E} +% +\makeatletter +\def\mathllap{\mathstrut\mathpalette\mathllapinternal} +%\def\mathllap{\mathpalette\mathllapinternal} +\def\mathllapinternal#1#2{% + \llap{$\mathsurround=0pt#1{#2}$}% +} +\def\clap#1{\hbox to 0pt{\hss#1\hss}} +\def\mathclap{\mathpalette\mathclapinternal} +\def\mathclapinternal#1#2{% + \clap{$\mathsurround=0pt#1{#2}$}% +} + +\def\mathrlap{\mathpalette\mathrlapinternal} +\def\mathrlapinternal#1#2{% + \rlap{$\mathsurround=0pt#1{#2}$}% +} +\def\bijmap{\ensuremath{% + \mathrlap{\rightarrowtail}\rightarrow}} +% extensible Arrow +\newcommand{\xLongLeftRightArrow}[2][]{% + \ext@arrow 0055{\LongLeftRightArrowfill@}{#1}{#2}} +\def\LongLeftRightArrowfill@{% + \arrowfill@\Leftarrow\Relbar\Rightarrow} +\newcommand\xlongleftrightarrow[2][]{% + \ext@arrow 0055{\longleftrightarrowfill@}{#1}{#2}} +\def\longleftrightarrowfill@{% + \arrowfill@\leftarrow\relbar\rightarrow} +% +% +\def\@bracketheight{2pt} +\def\underbracket{\@ifnextchar[{\@underbracket}{\@underbracket[\@bracketheight]}} +\def\@underbracket[#1]{\@ifnextchar[{\@under@bracket[#1]}{\@under@bracket[#1][0.4em]}} +\def\@under@bracket[#1][#2]#3{%\message {Underbracket: #1,#2,#3} + \mathop {\vtop {\m@th \ialign {##\crcr $\hfil \displaystyle {#3}\hfil $% + \crcr \noalign {\kern 3\p@ \nointerlineskip }\upbracketfill{#1}{#2} + \crcr \noalign {\kern 3\p@ }}}}\limits} +\def\upbracketfill#1#2{$\m@th \setbox \z@ \hbox {$\braceld$} + \edef\@bracketheight{\the\ht\z@}\bracketend{#1}{#2} + \leaders \vrule \@height #1 \@depth \z@ \hfill + \leaders \vrule \@height #1 \@depth \z@ \hfill \bracketend{#1}{#2}$} +\def\bracketend#1#2{\vrule height #2 width #1\relax} +\def\overbracket{\@ifnextchar[{\@overbracket}{\@overbracket[\@bracketheight]}} +% +\def\@overbracket[#1]{\@ifnextchar[{\@over@bracket[#1]}{\@over@bracket[#1][0.3em]}} +\def\@over@bracket[#1][#2]#3{%\message {Overbracket: #1,#2,#3} + \mathop {\vbox {\m@th \ialign {##\crcr \noalign {\kern 3\p@ + \nointerlineskip }\downbracketfill {#1}{#2} + \crcr \noalign {\kern 3\p@ } + \crcr $\hfil \displaystyle {#3}\hfil $% + \crcr} }}\limits} +\def\downbracketfill#1#2{$\m@th \setbox \z@ \hbox {$\braceld$} + \edef\@bracketheight{\the\ht\z@}\downbracketend{#1}{#2} + \leaders \vrule \@height #1 \@depth \z@ \hfill + \leaders \vrule \@height #1 \@depth \z@ \hfill +\downbracketend{#1}{#2}$} +\def\downbracketend#1#2{\vrule depth #2 width #1\relax} +% +\def\rightharpoondownfill@{% + \arrowfill@\relbar\relbar\rightharpoondown} +\def\rightharpoonupfill@{% + \arrowfill@\relbar\relbar\rightharpoonup} +\def\leftharpoondownfill@{% + \arrowfill@\leftharpoondown\relbar\relbar} +\def\leftharpoonupfill@{% + \arrowfill@\leftharpoonup\relbar\relbar} +\newcommand{\xrightharpoondown}[2][]{% + \ext@arrow 0359\rightharpoondownfill@{#1}{#2}} +\newcommand{\xrightharpoonup}[2][]{% + \ext@arrow 0359\rightharpoonupfill@{#1}{#2}} +\newcommand{\xleftharpoondown}[2][]{% + \ext@arrow 3095\leftharpoondownfill@{#1}{#2}} +\newcommand{\xleftharpoonup}[2][]{% + \ext@arrow 3095\leftharpoonupfill@{#1}{#2}} +\newcommand{\xleftrightharpoons}[2][]{\mathrel{% + \raise.22ex\hbox{% + $\ext@arrow 3095\leftharpoonupfill@{\phantom{#1}}{#2}$}% + \setbox0=\hbox{% + $\ext@arrow 0359\rightharpoondownfill@{#1}{\phantom{#2}}$}% + \kern-\wd0 \lower.22ex\box0}% +} +\newcommand{\xrightleftharpoons}[2][]{\mathrel{% + \raise.22ex\hbox{% + $\ext@arrow 3095\rightharpoonupfill@{\phantom{#1}}{#2}$}% + \setbox0=\hbox{% + $\ext@arrow 0359\leftharpoondownfill@{#1}{\phantom{#2}}$}% + \kern-\wd0 \lower.22ex\box0}% +} + +\usepackage{empheq}% defines also harpoon macros + +\newcommand*{\threesim}{% + \mathrel{\vcenter{\offinterlineskip + \hbox{$\sim$}\vskip-.35ex\hbox{$\sim$}\vskip-.35ex\hbox{$\sim$}}}} +% +\newcounter{subequation} +% +\newlength\mtabskip\mtabskip=-1.25cm +% +\newcommand\eqnCnt[1][]{% + \refstepcounter{subequation}% + \begin{align}#1\end{align}% + \addtocounter{equation}{-1}% +} +\def\mtabLong{long} +\makeatletter +\newenvironment{mtabular}[2][\empty]{% + \parindent=0pt% + \def\@xarraycr{% + \global\stepcounter{equation}% + \setcounter{subequation}{0}% + \@ifnextchar[\@argarraycr{\@argarraycr[\mtabskip]}% + } + \let\theoldequation\theequation% + \renewcommand\theequation{\theoldequation.\alph{subequation}} + \edef\mtabOption{#1} + \setcounter{subequation}{0}% + \tabcolsep=0pt + \ifx\mtabOption\mtabLong\longtable{#2}\else\tabular{#2}\fi% +}{% + \ifx\mtabOption\mtabLong\endlongtable\else\endtabular\fi% + \let\theequation\theoldequation% + \stepcounter{equation} +} +% +\makeatother +\def\zero{\multicolumn{1}{>{\columncolor{white}}c}{0}} +\def\colCell#1#2{\multicolumn{1}{>{\columncolor{#1}}c}{#2}} +%% For printing a cirumflex inside a formula +\newcommand{\mathcircumflex}[0]{\mbox{\^{}}} +\providecommand{\tabularnewline}{\\} +\usepackage{exscale} +\usepackage{relsize} +\usepackage{xspace} +\usepackage[mathscr]{eucal} +\usepackage{dsfont} +\usepackage[bottom]{footmisc} +\usepackage{esint} +\usepackage{esvect} +\usepackage{remreset} +\usepackage{calc} +\usepackage{xypic} +\usepackage{fancyhdr} +% +\pagestyle{fancy} +\lfoot{\footnotesize\ttfamily\jobname.tex} +\cfoot{} +\rfoot{\thepage} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} +% +\definecolor{umbra}{rgb}{0.8,0.8,0.5} +\definecolor{gray90}{gray}{0.9} +% +\addtocontents{toc}{\hfill Page\endgraf\vspace{-4ex}} +\addtocontents{lof}{\ Figure\hfill Page} +\addtocontents{lot}{\ Table\hfill Page} +\let\myPart\part +\renewcommand\part[1]{\clearpage\myPart{#1}} +% +%%%%%%%%%%%%% Math symbols %%%%%%%%%%%%%%%%% +\newcommand{\mysin}{\operatorname{mysin}} +\newcommand{\eqdef}{\ensuremath{\stackrel{\mathrm{def}}{=}}} +\newcommand{\eqexcl}{\ensuremath{\stackrel{\mathrm{!}}{=}}} +\newcommand{\eqhat}{\ensuremath{\widehat{=}}} +% +\newlength{\fullwidth} +\setlength\fullwidth{\textwidth} +\addtolength\fullwidth{\marginparsep} +\addtolength\fullwidth{\marginparwidth} +% +\newlength{\LBoxWidth} +\newcommand{\LyXBox}[1]{% + \settowidth{\LBoxWidth}{#1} + \fbox{\parbox[c]{\LBoxWidth}{#1}}\xspace% +} +\let\mpar\marginpar +\renewcommand\marginpar[1]{% + \mpar{\small #1}% +} +\newcommand{\logo}{% + \bgroup + \psset{unit=1in,linewidth=2pt} + \psline(-2.5,2.5)(-2.5,-\paperheight) + \psline(-2,2.5)(-2,-\paperheight) + \rput[lb]{90}(-2.05,-0.7\paperheight){\red\Huge\textbf{\AllTeX}} + \rput[lb]{90}(-2.15,-0.1\paperheight){\red\Huge\textbf{Documentation}} + \egroup +} +\newcommand*{\CMD}[1]{\texttt{\textbackslash#1}} +% +\makeatletter +\def\La{% + L\kern-.36em{% + \setbox0\hbox{T}% + \vbox to\ht0{% + \hbox{$\m@th$% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont A}% + \vss% + }% + }% +} +\def\AllTeX{(\La\kern-.075em)\kern-.075em\TeX\xspace} +\def\AMS{American Mathematical Society\xspace} +\def\AmS{$\mathcal{A}$\kern-.1667em\lower.5ex\hbox + {$\mathcal{M}$}\kern-.125em$\mathcal{S}$\xspace} +\def\AmSmath{\AmS{}math\xspace} +\def\AmSLaTeX{\AmS-\LaTeX\xspace} +\def\AmSTeX{\AmS-\TeX\xspace} +\makeatother +% +\def\cIndex#1{\index{#1@\CMD{#1}}} +% +\usepackage{showexpl} +\lstset{language=[AlLaTeX]TeX} +% +\usepackage[% + pdftitle={TeX Mathmode},% + pdfauthor={Herbert Voss},% + urlcolor=blue,% + linktocpage,% + a4paper,% + colorlinks=true]{hyperref} +\usepackage{hypcap} +\usepackage{babel} + +\def\tIndex#1{\index{#1@{\UrlFont\texttt{#1}}}} +\def\cIndex#1{\index{#1@\CMD{#1}}} +\def\pIndex#1{\index{Parameter@\textbf{Parameter}!{\UrlFont\texttt{#1}}}} +\def\PIndex#1{\index{Paket@\textbf{Paket}!\texttt{#1}}} + +\usepackage{braket}% there were problems when loading before other packages ... + +\begin{document} + +\input{Mathmode.tex} +%\input{test.tex} + +\end{document} diff --git a/Master/texmf-doc/doc/english/mathmode/Mathmode.pdf b/Master/texmf-doc/doc/english/mathmode/Mathmode.pdf Binary files differnew file mode 100644 index 00000000000..5d33ec9bc14 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/Mathmode.pdf diff --git a/Master/texmf-doc/doc/english/mathmode/Mathmode.tex b/Master/texmf-doc/doc/english/mathmode/Mathmode.tex new file mode 100644 index 00000000000..5fde86ff401 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/Mathmode.tex @@ -0,0 +1,7061 @@ +%% +%% This is file `Mathmode.tex', +%% +%% IMPORTANT NOTICE: +%% +%% Herbert Voss <voss@pstricks.de> +%% 2005-06-30 +%% +%% This program can be redistributed and/or modified under the terms +%% of the LaTeX Project Public License Distributed from CTAN archives +%% in directory macros/latex/base/lppl.txt. +%% +%% DESCRIPTION: +%% `Mathmode' is a document how the math mode works inside LaTeX +%% +\def\MathmodeVersion{2.09} +\ifvtex\title{\logo Math mode - v.\MathmodeVersion}\else + \ifpdf\title{Math mode - v.\MathmodeVersion}\else + \title{\logo Math mode - v.\MathmodeVersion}\fi\fi +% +\author{Herbert Vo\ss\footnote{\sloppy Thanks for the feedback to: + Hendri Adriaens; + Alexander Boronka; Christian Faulhammer; Jos\'e{} Luis G\'omez Dans; + Azzam Hassam; Martin Hensel; + Morten H\o{}gholm; M. Kalidoss; Dan Lasley; + Angus Leeming; Tim Love; + Hendrik Maryns; Heinz Mezera; + David Neuway; + Joachim Punter; + Carl Riehm; Will Robertson; Christoph Rumsm\"uller; + Jos\'e{} Carlos Santos; Jens Schwaiger; Uwe Siart; Martin Sievers; Heiko Stamer; Uwe St\"ohr; + Carsten Thiel; + David Weenink; + Zou Yuan-Chuan; + Michael Zedler; + and last but not least a special thanks to Monika Hattenbach for her + excellent job of proofreading. +}} +\date{\today} + +\maketitle + +\begin{abstract} +More than once people say that \TeX{} was designed for mathematical or technical purpose. +This maybe true when we remember the reasons why Donald Knuth created \TeX{}. But nowadays +there are a lot +of examples where \TeX{} was used for publications without any mathematical or technical background. +Nevertheless, we have to consider, that writing publications with a lot of mathematical +material is one of the important advantages of \TeX{} and it seems that is impossible to +know all existing macros and options of \AllTeX{} and the several additional packages, +especially \AmSmath. This is the reason why I tried to collect all important +facts in this paper. + +\vspace{3cm} +\noindent Please report typos or any other comments to this documentation to +\href{mailto:voss@perce.de}{voss@perce.de}. +\noindent This document was written with the \LaTeX{} editor \verb+Kile 1.8+ \verb+(Qt 3.3+ \verb+KDE 3.4)+ +\href{http://sourceforge.net/projects/kile/}{http://sourceforge.net/projects/kile/} and the PDF output +was built with the Linux version of \texttt{V\TeX/Free}, Version 8.46 +(\href{http://www.micropress-inc.com/linux/}{http://www.micropress-inc.com/linux/}) + +This file can be redistributed and/or modified under the terms +of the LaTeX Project Public License Distributed from \verb+CTAN+ archives +in directory \url{CTAN://macros/latex/base/lppl.txt}. + +\end{abstract} + + +\clearpage +\tableofcontents{} + +\part{Standard \protect\LaTeX{} math mode} + +\section{Introduction} +The following sections describe all the math commands which are available +without any additional package. Most of them also work with special +packages and some of them are redefined. At first some important facts for typesetting math expressions. + +\section{The Inlinemode}\label{sec:The-Inlinemode} +As the name says this are always math expressions which are in a standard +textline, like this one: $f(x)=\int_{a}^{b}\frac{\sin x}{x}dx$. There +are no limitations for the height of the math expressions, so that +the layout may be very lousy if you insert a big matrix in an inline mode +like this: +$\underline{A}=\left[\begin{array}{ccc} +a & b & c\\ +d & e & f\\ +g & h & i\end{array}\right]$. In this case it is better to use the \verb|\smallmatrix| environment +$\underline{A}=\left[\begin{smallmatrix}% +a & b & c\cr +d & e & f\cr +g & h & i\end{smallmatrix}\right]$ from the \AmSmath{} package (see section \vref{sec:ams-matrix}) or the +displaymath mode\index{Display math mode} (section \ref{display} on page \pageref{display}). + +This inline mode is possible with three different commands: + +\bigskip +\begin{minipage}{0.35\fullwidth} +\(\sum_{i=1}^{n}i=\frac{1}{2}n\cdot(n+1)\)\\[10pt] +$\sum_{i=1}^{n}i=\frac{1}{2}n\cdot(n+1)$\\[10pt] +\begin{math} + \sum_{i=1}^{n}i=\frac{1}{2}n\cdot(n+1) +\end{math} +\end{minipage}\hfill +\begin{minipage}{0.62\fullwidth} +\begin{lstlisting} +\(\sum_{i=1}^{n}i=\frac{1}{2}n\cdot(n+1)\)\\[10pt] +$\sum_{i=1}^{n}i=\frac{1}{2}n\cdot(n+1)$\\[10pt] +\begin{math} + \sum_{i=1}^{n}i=\frac{1}{2}n\cdot(n+1) +\end{math} +\end{lstlisting} +\end{minipage} + +\begin{enumerate} +\item \CMD{( ... }\CMD{)} \marginpar{\CMD{(}...\CMD{)}}, the problem is that \verb+\(+ is +not a robust macro (see section~\vref{subsec:mathInTitles}). +\item \verb+$ ... $+ \marginpar{\$...\$} +\item \CMD{begin\{math\}} ... \CMD{end\{math\}}, also not robust% +\marginpar{\CMD{begin\{math\}}\\...\\\CMD{end\{math\}}} +\end{enumerate} + +In general \verb+$...$+ is the best choice, but this does not work in environments like \verb+verbatim+ +or \verb+alltt+. In this case \verb+\(...\)+ works. + + +\subsection{Limits}\label{sub:Limits-Inline} + +In the inline mode the limits\index{limits@\textbackslash limits} are by default only in +super\index{Superscript} or subscript mode\index{Subscript} and +the fractions\index{Fraction} are always in the scriptstyle\footnote{See section \vref{sec:Styles}.}\index{scriptstyle} +font size. For +example: $\int_{1}^{\infty}\frac{1}{x^2}dx=1$, which is not too +big for the textline. You % +\marginpar{\CMD{limits}}can change this with the command \CMD{limits}, +which must follow a math operator\footnote{To define a new operator see +page~\pageref{OperatorNames}}\index{Math operator} like % +\marginpar{\CMD{int}\\\CMD{lim}\\\CMD{prod}\\\CMD{sum}} + an integral (\CMD{int}\index{int@\textbackslash int}), a sum (\CMD{sum}\index{sum@\textbackslash sum}), +a product (\CMD{prod}\index{prod@\textbackslash prod}) or a limes +(\CMD{lim}\index{lim@\textbackslash lim}). But this $\int\limits_{1}^{\infty}\frac{1}{x^2}dx=1$ +does not look very nice in a text line when it appears between two lines, +especially when there are multiline limits.\footnote{For more +information about limits see section \vref{sub:Multiple-Limits} or section \vref{sec:limit-AMS}.} + + +\subsection{Fraction command}\label{sub:fraction command} + +For inlined formulas the fractions\index{Fraction} are by default +in the scriptstyle\index{scriptstyle@\textbackslash scriptstyle} (see tabular \vref{cap:Mathstyles}), +which is good for typesetting $y=\frac{a}{b+1}$, because the +linespacing % +\marginpar{\CMD{frac}}is nearly the same, but not optimal, when the formula shows some important +facts. There are two solutions to get a better reading: + +\begin{enumerate} +\item choose the display mode instead of the inline mode, which is the better +one; +\item set the fontstyle to \verb+displaystyle+\index{displaystyle@\textbackslash displaystyle}, which makes +the fraction $y={\displaystyle\frac{a}{b+1}}$ more readable but +the linespacing increases which is always a bad solution and should +only be used when the first solution makes no sense.\footnote{For an abbreviation see +section \vref{sec:ams-fraction}, there is a special \CMD{dfrac} macro.} + +\bigskip +\begin{minipage}{0.25\fullwidth} +$y=\frac{a}{b+1}={\displaystyle\frac{a}{b+1}}$ +\end{minipage}\hfill +\begin{minipage}{0.72\fullwidth} +\begin{lstlisting} +$y=\frac{a}{b+1}={\displaystyle\frac{a}{b+1}}$ +\end{lstlisting} +\end{minipage} +\end{enumerate} + + +\subsection[Math in Chapter/Section Titles]{\label{inline-chapter}Math in \CMD{part}, +\CMD{chapter}, \CMD{section}, +... titles like $f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right)$}\label{subsec:mathInTitles} + +All commands which appear in positions like contents, index, header, +... must be robust\footnote{% +\texttt{robust} means that the macro is not expanded before it is moved +into for example the tableofcontents file (\texttt{*.toc}). No robustness is +often a problem, when a macro is part of another macro.} +which is the case for \verb+$...$+ but not for \verb+\(\...\)+. +If you do not have any contents, index, a.s.o. +you can write the mathstuff in \CMD{chapter}\index{chapter@\textbackslash chapter}, +\CMD{section}\index{section@\textbackslash section}, +a.s.o without any restriction. Otherwise use \verb+\protect\(+ and \verb+\protect\)+ or the +\verb+$...$+ version. + +The whole math expression appears in the default font shape and not +in bold like the other text. Section \vref{sec:titleItem} describes how the math +expressions can be printed also in bold. + +\marginpar{\CMD{texorpdfstring}}% +There are problems with \verb+hyperref+\index{hyperref.sty} when there is a non +text part in a title. It is possible to tell \verb+hyperref+\index{hyperref.sty} to use different +commands, one for the title and another one for the bookmarks\index{texorpdfstring@\textbackslash texorpdfstring}: + +\begin{verbatim} +\texorpdfstring{<TeX part>}{<hyperref part>} +\end{verbatim} + +E.g. + +\begin{minipage}{\fullwidth} +\begin{lstlisting} +\texorpdfstring{$\int f(x)\,dx$}{Integral function} +\end{lstlisting} +\end{minipage} + + + +\subsection{Equation numbering} + +It is obvious that the numbering of inline mathstuff makes no sense! + +\subsection{Framed math} +With the \verb|\fbox| macro everything of inline math can be framed\index{Framed inline +math}\index{boxed inline math}, like the following one: + +\bigskip +\begin{minipage}{0.325\fullwidth} +\fbox{$f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right)$} +\end{minipage}\hfill +\begin{minipage}{0.67\fullwidth} +\begin{lstlisting} +\fbox{$f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right)$} +\end{lstlisting} +\end{minipage} + + +Parameters are the width of \verb|\fboxsep| and \verb|\fboxrule|, the predefined values +from \verb|latex.ltx| are: + +\bigskip +\begin{minipage}{\fullwidth} +\begin{lstlisting} +\fboxsep = 3pt +\fboxrule = .4pt +\end{lstlisting} +\end{minipage} + +The same is possible with the \verb|\colorbox| +\colorbox{yellow}{$f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right)$} +from the color package. + +\bigskip +\begin{minipage}{\fullwidth} +\begin{lstlisting} +\colorbox{yellow}{$f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right)$} +\end{lstlisting} +\end{minipage} + + + +\subsection{Linebreak} + +\LaTeX{} can break an inline formula only when a relation symbol ($=, <, >, \ldots$) or a +binary operation symbol ($+,-, \ldots$) exists and at least one of these symbols appears at +the outer level of a formula. +Thus \verb|$a+b+c$| can be broken across lines, but \verb|${a+b+c}$| not. + +\begin{itemize} +\item The default: \hspace{1cm} +$f(x)=a_nx^n+a_{n-1}x^{n-1}+a_{n-2}x^{n-2}+\ldots + +a_ix^i +a_2x^2 +a_1x^1 +a_0$ +\item The same inside a group \{...\}: +${f(x)=a_nx^n+a_{n-1}x^{n-1}+a_{n-2}x^{n-2}+\ldots + +a_ix^i +a_2x^2 +a_1x^1 +a_0}$ + +\item Without any symbol: \hspace{4cm} +$f(x)=a_n\left(a_{n-1}\left(a_{n-2}\left(\ldots\right)\ldots\right)\ldots\right)$ +\end{itemize} + +If it is not possible to have any mathsymbol, then split the inline formula in two +or more pieces (\verb|$...$ $...$|). If you do not want a linebreak for the whole +document, you can set in the preamble: +\begin{verbatim} +\relpenalty=9999 +\binoppenalty=9999 +\end{verbatim} + +\noindent +which is the extreme case of grudgingly allowing breaks in extreme cases. + + +\subsection{Whitespace}\label{subsec:whitespace} +\LaTeX{} defines the length \verb|\mathsurround|\index{mathsurround@\textbackslash mathsurround} with the default value of +\verb|0pt|. This length is added before and after an inlined math expression (see table \vref{tab:whitespace}). + +\begin{table}[htb] +\hspace*{-0.1\linewidth}% +\begin{tabular}{@{}cc@{}} +foo \fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}dx=1 $} bar & +\begin{minipage}{0.7\linewidth} +\begin{lstlisting} +foo \fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}dx=1 $} bar +\end{lstlisting} +\end{minipage}\tabularnewline +% +foo \rule{20pt}{\ht\strutbox}\fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}dx=1 $}\rule{20pt}{\ht\strutbox} bar & +\begin{minipage}{0.7\linewidth} +\begin{lstlisting} +foo \rule{20pt}{\ht\strutbox}\fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}dx=1 $}\rule{20pt}{\ht\strutbox} bar +\end{lstlisting} +\end{minipage}\tabularnewline +\setlength{\mathsurround}{20pt}foo \fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}dx=1 $} bar & +\begin{minipage}{0.7\linewidth} +\begin{lstlisting} +\setlength{\mathsurround}{20pt} +foo \fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}dx=1 $} bar +\end{lstlisting} +\end{minipage} +\end{tabular} +% +\caption{Meaning of \CMD{mathsurround}}\label{tab:whitespace} +\end{table} + + +\subsection{\AmSmath for the inline mode} + +None of the \AmSmath-functions are available in inline mode. + +\section{Displaymath mode}\label{display} +This means, that every formula gets its own paragraph (line). There are +some differences in the layout to the one from the title +of \ref{inline-chapter}. + + +\subsection{\texttt{equation} environment} + +For example: + +\bigskip\noindent +\begin{tabular}{cc} +\begin{minipage}{0.35\linewidth} +\begin{equation} + f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right) +\end{equation} +\end{minipage} & +\begin{minipage}{0.63\linewidth} +\begin{lstlisting} +\begin{equation} + f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right) +\end{equation} +\end{lstlisting} +\end{minipage} +\end{tabular} + +\bigskip +The delimiters\index{Delimiter} +\CMD{begin\{equation\} ... }\CMD{end\{equation\}} are the only difference to the inline version. There +are some equivalent commands for the display-math mode: + +\begin{enumerate} +\marginpar{\CMD{begin\{displaymath\}}\\ +\ldots\\ +\CMD{end\{displaymath\}}}% +\item \CMD{begin\{displaymath\}}\ldots\CMD{end\{displaymath\}}, same as +\CMD{[} \ldots \CMD{]} +% +\item \CMD{[\ldots}\CMD{]}. (see above) the short form of a displayed formula, no number% +\marginpar{\texttt{\textbackslash[\ldots\textbackslash{}]}} +\[ +f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right) +\] +displayed, no number. Same as 1. +% +\item \CMD{begin\{equation\}\ldots}\CMD{end\{equation\}}% +\marginpar{\CMD{begin\{equation\}}\\ +\ldots\\ +\CMD{end\{equation\}}}% +% +\begin{equation} +f(x)=\prod_{i=1}^{n}\left(i-\frac{1}{2i}\right)\end{equation} +\\ +displayed, a sequential equation number, which may be reset when +starting a new chapter or section. + + +\begin{enumerate} +\item There is only \textbf{one} equation number for the whole environment. +\item \marginpar{\CMD{nonumber}}There exists no star-version of the equation environment +because \verb|\[...\]| is the equivalent. With the tag +\CMD{nonumber}\index{nonumber@\textbackslash nonumber} it is possible to suppress the equation number: + +\begin{minipage}{0.5\linewidth} +\begin{equation} + f(x)= [...] \nonumber +\end{equation} +\end{minipage}% +\begin{minipage}{0.6\linewidth} +\begin{lstlisting} +\begin{equation} + f(x)= [...] \nonumber +\end{equation} +\end{lstlisting} +\end{minipage} +% +\end{enumerate} +\end{enumerate} + + +\subsection{\texttt{eqnarray} environment}\label{display:eqnarray} + +This is by default an array with three columns and as many rows as +you like. \marginpar{\CMD{begin\{eqnarray\}}\\ +...\\ +\CMD{end\{eqnarray\}}} It is nearly the same as an array with a \verb|rcl| column definition. + +It is \textbf{not possible} to change the internal behaviour of the \verb|eqnarray| environment without +rewriting the environment. +It is always an impli\-cit array with \textbf{three} columns and the horizontal +alignment \verb|right-center-left (rcl)| and small \textbf{symbol} sizes for the +middle column. All this can not be changed by the user without rewriting +the whole environment in \verb|latex.ltx|. + +\bigskip\noindent +\begin{tabular}{cc} +\begin{minipage}{0.35\linewidth} +\begin{eqnarray*} +\mathrm{left} & \mathrm{middle} & \mathrm{right}\\ +\frac{1}{\sqrt{n}}= & \frac{\sqrt{n}}{n}= & \frac{n}{n\sqrt{n}} +\end{eqnarray*} +\end{minipage} & +\begin{minipage}{0.63\linewidth} +\begin{lstlisting} +\begin{eqnarray*} +\mathrm{left} & \mathrm{middle} & \mathrm{right}\\ +\frac{1}{\sqrt{n}}= & \frac{\sqrt{n}}{n}= & \frac{n}{n\sqrt{n}} +\end{eqnarray*} +\end{lstlisting} +\end{minipage} +\end{tabular} + +\bigskip +The \verb|eqnarray| environment should not be used as an array. As seen in the above +example the typesetting is wrong for the middle column. The numbering of eqnarray +environments is always for every row, means, +that four lines get four different equation numbers (for the labels see section \ref{sec:Labels}): + +\bigskip +\begin{minipage}{0.5\columnwidth} +\begin{eqnarray} +y & = & d\label{eq:2}\\ +y & = & cx+d\\ +y & = & bx^{2}+cx+d\\ +y & = & ax^{3}+bx^{2}+cx+d\label{eq:5} +\end{eqnarray} +\end{minipage}\hfill +\begin{minipage}{0.43\columnwidth} +\begin{lstlisting} +\begin{eqnarray} +y & = & d\label{eq:2}\\ +y & = & cx+d\\ +y & = & bx^{2}+cx+d\\ +y & = & ax^{3}+bx^{2}+cx+d\label{eq:5} +\end{eqnarray} +\end{lstlisting} +\end{minipage} + + +\medskip +Toggling numbering off/on for \textbf{all} rows is possible +with the starred version of eqnarray. + +\medskip +\begin{minipage}{0.45\columnwidth} +\begin{eqnarray*} +y & = & d\label{eq:3}\\ +y & = & cx+d\\ +y & = & bx^{2}+cx+d\\ +y & = & ax^{3}+bx^{2}+cx+d\label{eq:4} +\end{eqnarray*} +\end{minipage} +\begin{minipage}{0.53\columnwidth} +\begin{lstlisting} +\begin{eqnarray*} +y & = & d\label{eq:3}\\ +y & = & cx+d\\ +y & = & bx^{2}+cx+d\\ +y & = & ax^{3}+bx^{2}+cx+d\label{eq:4} +\end{eqnarray*} +\end{lstlisting} +\end{minipage} + +\medskip +Toggling off/on for \textbf{single} rows is possible with the above +mentioned \CMD{nonumber}\index{nonumber@\textbackslash nonumber} tag at the end of a row +(before the newline command). +For example: + +\medskip +\begin{minipage}{0.45\columnwidth} +\begin{eqnarray} + y & = & d\nonumber \\ + y & = & cx+d\nonumber \\ + y & = & bx^{2}+cx+d\nonumber \\ + y & = & ax^{3}+bx^{2}+cx+d +\end{eqnarray} +\end{minipage} +\begin{minipage}{0.53\columnwidth} +\begin{lstlisting} +\begin{eqnarray} + y & = & d\nonumber \\ + y & = & cx+d\nonumber \\ + y & = & bx^{2}+cx+d\nonumber \\ + y & = & ax^{3}+bx^{2}+cx+d +\end{eqnarray} +\end{lstlisting} +\end{minipage} + + +\subsubsection{Short commands}\label{subsec:shortcommand} +It is possible to define short commands for the \verb|eqnarray| environment +\begin{lstlisting} +\makeatletter +\newcommand{\be}{% + \begingroup +% \setlength{\arraycolsep}{2pt} + \eqnarray% + \@ifstar{\nonumber}{}% +} +\newcommand{\ee}{\endeqnarray\endgroup} +\makeatother +\end{lstlisting} + +\makeatletter +\newcommand{\be}{% + \begingroup +% \setlength{\arraycolsep}{2pt} + \eqnarray% + \@ifstar{\nonumber}{}% +} +\newcommand{\ee}{\endeqnarray\endgroup} +\makeatother + +Now you can write the whole equation as + + +\begin{showexample}[width=0.5\columnwidth,wide] +\be + f(x) &=& \int\frac{\sin x}{x}dx +\ee +\end{showexample} + +\medskip +\noindent or, if you do not want to have a numbered equation as + +\begin{showexample}[width=0.5\columnwidth,wide] +\be* + f(x) &=& \int\frac{\sin x}{x}dx +\ee +\end{showexample} + + +\subsection{Equation numbering}\label{sub:Equationnumbering} + +For all equations which can have one or % +\marginpar{\CMD{nonumber}}more equation numbers (for every line/row) the numbering +for the whole equation can be disabled with switching from the unstarred to the star +version. This is still for the whole formula and doesn't work for single rows. +In this case use the \CMD{nonumber} tag. + +\begin{itemize} +\item This doc is written with the article-class, which counts the equations +continuously over all parts/sections. You can change this behaviour +in different ways (see the following subsections). +\item In standard \LaTeX{} it is a problem with too long equations and the +equation number, which may be printed with the equation one upon the other. In this case +use the \AmSmath package, where the number is set above or below +of a too long equation (see equation \vref{eq:braces}). +\item For counting subequations see section \vref{ams:subeqn}. +\end{itemize} + +\subsubsection{Changing the style} + +\marginpar{\CMD{theequation}}% +With the beginning of Section \vref{sec:alignat environment} the +counting changes from ``\ref{eq:IntoSection}{}'' into the new style +``\ref{eq:newCounting}''. The command sequence is + +\begin{lstlisting} +\renewcommand\theequation{% + \thepart-\arabic{equation}% +} +\end{lstlisting} +See section \vref{sec:Equation-numbering} for the \AmSmath command. + + +\subsubsection{Resetting a counter style} + +Removing a given reset is possible with the package \verb+remreset+.% +\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/contrib/supported/carlisle/remreset.sty}{CTAN://macros/latex/contrib/supported/carlisle/remreset.sty}} Write into the % +\marginpar{\CMD{@removefromreset}} preamble + +\begin{lstlisting} +\makeatletter +\@removefromreset{equation}{section} +\makeatother +\end{lstlisting} +or anywhere in the text. + +Now the equation counter is no longer reset when a new section starts. +You can see this after section~\vref{split}. + + +\subsubsection{Equation numbers on the left side} + +Choose package \texttt{leqno}% +\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/unpacked/leqno.sty}{CTAN://macros/latex/unpacked/leqno.sty}} +or have a look at your document class, if such an option exists. + +\subsubsection{Changing the equation number style} +The number style can be changed with a redefinition of + +\begin{verbatim} +\def\@eqnnum{{\normalfont \normalcolor (\theequation)}} +\end{verbatim} + +For example: if you want the numbers not in parentheses write + +\begin{lstlisting} +\makeatletter +\def\@eqnnum{{\normalfont \normalcolor \theequation}} +\makeatother +\end{lstlisting} + +For \AmSmath there is another macro, see section~\ref{sec:Equation-numbering} on +page~\pageref{sec:Equation-numbering}. + +\subsubsection{More than one equation counter} +You can have more than the default equation counter. With the following code you +can easily toggle between roman and arabic equation counting. +\makeatletter +%Roman counter +\newcounter{roem} +\renewcommand{\theroem}{\roman{roem}} + +% save the original counter +\newcommand{\c@org@eq}{} +\let\c@org@eq\c@equation +\newcommand{\org@theeq}{} +\let\org@theeq\theequation + +%\setroem sets roman counting +\newcommand{\setroem}{ + \let\c@equation\c@roem + \let\theequation\theroem} + +%\setarab the arabic counting +\newcommand{\setarab}{ + \let\c@equation\c@org@eq + \let\theequation\org@theeq} +\makeatother + +\begin{lstlisting} +%code by Heiko Oberdiek +\makeatletter +%Roman counter +\newcounter{roem} +\renewcommand{\theroem}{\roman{roem}} + +% save the original counter +\newcommand{\c@org@eq}{} +\let\c@org@eq\c@equation +\newcommand{\org@theeq}{} +\let\org@theeq\theequation + +%\setroem sets roman counting +\newcommand{\setroem}{ + \let\c@equation\c@roem + \let\theequation\theroem} + +%\setarab the arabic counting +\newcommand{\setarab}{ + \let\c@equation\c@org@eq + \let\theequation\org@theeq} +\makeatother +\end{lstlisting} + +The following examples show how it works: + +\noindent +\begin{minipage}{1.2\linewidth} +\begin{minipage}{0.38\linewidth} +\begin{align} +f(x) &= \int\sin x dx\label{eq:arab1}\\ +g(x) &= \int\frac{1}{x}dx +\end{align} +% +\setroem +% +\begin{align} +F(x) &=-\cos x\\ +G(x) &=\ln x\label{eq:rom1} +\end{align} +% +\setarab +% +\begin{align} +f^{\prime} (x) &= \sin x\\ +g^{\prime} (x) &= \frac{1}{x}\label{eq:arab2} +\end{align} +\end{minipage}\hfill +\begin{minipage}{0.58\linewidth} +\begin{lstlisting} +\begin{align} +f(x) &= \int\sin x dx\label{eq:arab1}\\ +g(x) &= \int\frac{1}{x}dx +\end{align} +% +\setroem +% +\begin{align} +F(x) &=-\cos x\\ +G(x) &=\ln x\label{eq:rom1} +\end{align} +% +\setarab +% +\begin{align} +f^{\prime} (x) &= \sin x\\ +g^{\prime} (x) &= \frac{1}{x}\label{eq:arab2} +\end{align} +\end{lstlisting} +\end{minipage} +\end{minipage} + +\medskip +There can be references to these equations in the usual way, like eq.\ref{eq:arab1}, +\ref{eq:arab2} and for the roman one eq.\ref{eq:rom1}. + + +\subsection{Labels}\label{sec:Labels} + +Every numbered equation can have a label\index{Label} to which a +reference\index{Reference} is possible. + +\begin{itemize} +\item There is one restriction for the label names, they cannot include +one of \LaTeX{}'s command characters.\footnote{\$ \_ \^{} \textbackslash{} \& \% \{ \}} +\item The label names are replaced by the equation number. +\end{itemize} +% +\marginpar{\CMD{tag}}If you do not want a reference to the equation number but to a self +defined name then use the \AmS{}math command \CMD{tag{...}}, +which is described in section \vref{sec:Labels-and-Tags}\index{tag@\textbackslash tag}. + +\subsection{Frames}\label{sec:Frames} +Similiar to the inline mode, displayed equations can also be framed with +the \verb|\fbox|\index{fbox@\textbackslash fbox} command, like equation \ref{eq:frame0}. +The only difference is +the fact, that the equation must be packed into a parbox or minipage. It is +nearly the same for a colored box, where the \verb|\fbox{...}| has to be +replaced with \verb|\colorbox{yellow}{...}|. The package \verb|color.sty| must +be loaded and --important -- the \verb|calc.sty| package to get a correct boxwidth. + +\noindent\fbox{\parbox{\linewidth-2\fboxsep-2\fboxrule}{% +\begin{equation}\label{eq:frame0} +f(x)=\int_1^{\infty}\dfrac{1}{x^2}dx=1 +\end{equation}% +}} + +\medskip +\begin{lstlisting} +\noindent\fbox{\parbox{\linewidth-2\fboxsep-2\fboxrule}{% +\begin{equation}\label{eq:frame0} + f(x)=\int_1^{\infty}\dfrac{1}{x^2}dx=1 +\end{equation}% +}} +\end{lstlisting} + + +If the equation number should not be part of the frame, then it is a bit +complicated. There is one tricky solution, which puts an unnumbered equation +just beside an empty numbered equation. The \verb|\hfill| is only useful for +placing the equation number right aligned, which is not the default. The +following four equations \ref{eq:frame2}-\ref{eq:frame5} are the same, +only the second one written with the \verb|\myMathBox| macro which has the +border and background color as optional arguments with the defaults +\verb|white| for background and \verb|black| for the frame. If there is only +one optional argument, then it is still the one for the frame color (\ref{eq:frame3}). + +\makeatletter +\def\myMathBox{\@ifnextchar[{\my@MBoxi}{\my@MBoxi[black]}} +\def\my@MBoxi[#1]{\@ifnextchar[{\my@MBoxii[#1]}{\my@MBoxii[#1][white]}} +\def\my@MBoxii[#1][#2]#3#4{% + \par\noindent% + \fcolorbox{#1}{#2}{% + \parbox{\linewidth-\labelwidth-2\fboxrule-2\fboxsep}{#3}% + }% + \parbox{\labelwidth}{% + \begin{eqnarray}\label{#4}\end{eqnarray}% + }% + \par% +} +\makeatother + +\begin{lstlisting} +\makeatletter +\def\myMathBox{\@ifnextchar[{\my@MBoxi}{\my@MBoxi[black]}} +\def\my@MBoxi[#1]{\@ifnextchar[{\my@MBoxii[#1]}{\my@MBoxii[#1][white]}} +\def\my@MBoxii[#1][#2]#3#4{% + \par\noindent% + \fcolorbox{#1}{#2}{% + \parbox{\linewidth-\labelwidth-2\fboxrule-2\fboxsep}{#3}% + }% + \parbox{\labelwidth}{% + \begin{eqnarray}\label{#4}\end{eqnarray}% + }% + \par% +} +\makeatother +\end{lstlisting} + +\begin{equation}\label{eq:frame2} + f(x)=x^2 +x +\end{equation} +\myMathBox[red]{\[f(x)=x^2 +x\]}{eq:frame3} +\myMathBox[red][yellow]{\[f(x)=x^2 +x\]}{eq:frame4} +\myMathBox{\[f(x)=x^2 +x\]}{eq:frame5} + +\medskip +\begin{lstlisting} +\begin{equation}\label{eq:frame2} + f(x)=x^2 +x +\end{equation} +\myMathBox[red]{\[f(x)=x^2 +x\]}{eq:frame3} +\myMathBox[red][yellow]{\[f(x)=x^2 +x\]}{eq:frame4} +\myMathBox{\[f(x)=x^2 +x\]}{eq:frame5} +\end{lstlisting} + +If you are using the \AmSmath package, then try the solutions from section +\vref{sec:ams-frames}. + +\section{\texttt{array} environment} +\marginpar{\CMD{begin\{array\}}\\...\\\CMD{end\{array\}}} +This is simply the same as the eqnarray environment only with the +possibility of variable rows \textbf{and} columns and the fact, that +the whole formula has only \textbf{one} equation number and that the +\verb|array| environment can only be part of another math environment, +like \verb|equation| or \verb|displaymath|. + +\begin{equation} +\left.% +\begin{array}{r@{\quad}ccrr} + \textrm{a}) & y & = & c & (constant)\\ + \textrm{b}) & y & = & cx+d & (linear)\\ + \textrm{c}) & y & = & bx^{2}+cx+d & (square)\\ + \textrm{d}) & y & = & ax^{3}+bx^{2}+cx+d & (cubic) +\end{array}% +\right\} \textrm{Polynomes} +\end{equation} + + +\begin{lstlisting} +\begin{equation} +\left.% +\begin{array}{r@{\\ +\quad}ccrr} + \textrm{a}) & y & = & c & (constant)\\ + \textrm{b}) & y & = & cx+d & (linear)\\ + \textrm{c}) & y & = & bx^{2}+cx+d & (square)\\ + \textrm{d}) & y & = & ax^{3}+bx^{2}+cx+d & (cubic) +\end{array}% +\right\} \textrm{Polynomes} +\end{equation} +\end{lstlisting} + + +The horizontal alignment of the columns is the same as the one from the +\texttt{tabular} environment. + +For arrays with delimiters see section \vref{delarray}. + +\subsection{Cases structure} + +If you do not want to use the \AmSmath package then write your own +cases structure\index{cases@\textbackslash cases} with the \verb|array| environment: + +\begin{showexample}[pos=b] +\begin{equation} +x=\left\{ \begin{array}{cl} +0 & \textrm{if A=...}\\ +1 & \textrm{if B=...}\\ +x & \textrm{this runs with as much text as you like, but without an raggeright text.}\end{array}\right. +\end{equation} +\end{showexample} + + +It is obvious, that we need a \CMD{parbox} if the text is longer than the possible linewidth. + +\begin{showexample}[pos=b] +\begin{equation} +x = \left\{% + \begin{array}{l>{\raggedright}p{.5\textwidth}}% + 0 & if A=...\tabularnewline + 1 & if B=...\tabularnewline + x & \parbox{0.5\columnwidth}{this runs with as much text as you like, % + because an automatic linebreak is given with % + a raggedright text. Without this % + \raggedright command, you'll get a formatted % + text like the following one ... but with a parbox ... it works} + \end{array}% + \right. % +\end{equation} +\end{showexample} + + + +\subsection{\texttt{arraycolsep}}\label{sec:arraycolsep} +\marginpar{\CMD{arraycolsep}}All the foregoing math environments use the array to typeset the math +expression. The predefined separation between two columns is the length +\verb|\arraycolsep|, which is set by nearly all document classes to \verb|5pt|, +which seems to be too big. The following equation is typeset with the +default value and the second one with \verb|\arraycolsep=1.4pt| + + +\bgroup +\fboxsep=0pt +\def\xstrut{\vphantom{\int\frac{\sin x}{x}}} +\begin{eqnarray*} +\boxed{f(x)\xstrut} & \boxed{=\xstrut} & \boxed{\int\frac{\sin x}{x}dx} +\end{eqnarray*} + +\vspace{-2ex} +\arraycolsep=1.4pt +\begin{eqnarray*} +\boxed{f(x)\xstrut} & \boxed{=\xstrut} & \boxed{\int\frac{\sin x}{x}dx} +\end{eqnarray*} +\egroup + +If this modification should be valid for all arrays/equations, then write it into the +preamble, otherwise put it into a group or define your own environment as done +in section \vref{subsec:shortcommand}. + +\begin{lstlisting} +\bgroup +\arraycolsep=1.4pt +\begin{eqnarray} +f(x) & = & \int\frac{\sin x}{x}dx +\end{eqnarray} +\egroup +\end{lstlisting} + +\begin{lstlisting} +\makeatletter +\newcommand{\be}{% + \begingroup + \setlength{\arraycolsep}{1.4pt} +[ ... ] +\end{lstlisting} + +\section{Matrix}\label{sec:matrix} +\marginpar{\CMD{matrix}\\\CMD{bordermatrix}}\TeX{} knows two macros and \LaTeX{} one more for typesetting a matrix\index{bordermatrix@\textbackslash bordermatrix}: + +\begin{showexample} +$\begin{matrix} + A & B & C \\ + d & e & f \\ + 1 & 2 & 3 \\ +\end{matrix}$ +\end{showexample} +\vspace{-10pt} +\begin{showexample} +$\bordermatrix{% + & 0 & 1 & 2 \cr + 0 & A & B & C \cr + 1 & d & e & f \cr + 2 & 1 & 2 & 3 \cr +}$ +\end{showexample} + +\iffalse % smallmatrix belongs to amsmath +\begin{minipage}{0.4\textwidth} +\begin{center} +$ +\begin{smallmatrix}% + A & B & C \\ + d & e & f \\ + 1 & 2 & 3 +\end{smallmatrix} +$ +\end{center} +\end{minipage}\hfill +\begin{minipage}{0.4\textwidth} +\begin{lstlisting} +\begin{smallmatrix}% + A & B & C \\ + d & e & f \\ + 1 & 2 & 3 +\end{smallmatrix} +\end{lstlisting} +\end{minipage} +\fi + +The first two macros are listed here for some historical reason, because the \verb|array| or especially the +\AmSmath package offers the same or better macros/environments. Nevertheless it is +possible to redefine the \verb|bordermatrix| macro to get other parentheses and a star +version which takes the left top part as matrix: + +\makeatletter +\newif\if@borderstar +\def\bordermatrix{\@ifnextchar*{% + \@borderstartrue\@bordermatrix@i}{\@borderstarfalse\@bordermatrix@i*}% +} +\def\@bordermatrix@i*{\@ifnextchar[{\@bordermatrix@ii}{\@bordermatrix@ii[()]}} +\def\@bordermatrix@ii[#1]#2{% +\begingroup + \m@th\@tempdima8.75\p@\setbox\z@\vbox{% + \def\cr{\crcr\noalign{\kern 2\p@\global\let\cr\endline }}% + \ialign {$##$\hfil\kern 2\p@\kern\@tempdima & \thinspace % + \hfil $##$\hfil && \quad\hfil $##$\hfil\crcr\omit\strut % + \hfil\crcr\noalign{\kern -\baselineskip}#2\crcr\omit % + \strut\cr}}% + \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}% + \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}% + \setbox\tw@\hbox{% + $\kern\wd\@ne\kern -\@tempdima\left\@firstoftwo#1% + \if@borderstar\kern2pt\else\kern -\wd\@ne\fi% + \global\setbox\@ne\vbox{\box\@ne\if@borderstar\else\kern 2\p@\fi}% + \vcenter{\if@borderstar\else\kern -\ht\@ne\fi% + \unvbox\z@\kern-\if@borderstar2\fi\baselineskip}% + \if@borderstar\kern-2\@tempdima\kern2\p@\else\,\fi\right\@secondoftwo#1 $% + }\null \;\vbox{\kern\ht\@ne\box\tw@}% +\endgroup +} +\makeatother + +\begin{showexample} +$\bordermatrix{% + & 1 & 2 \cr +1 & x1 & x2 \cr +2 & x3 & x4 \cr +3 & x5 & x6 +}$ +\end{showexample} +\vspace{-10pt} +\begin{showexample} +$\bordermatrix[{[]}]{% + & 1 & 2 \cr +1 & x1 & x2 \cr +2 & x3 & x4 \cr +3 & x5 & x6 +}$ +\end{showexample} +\vspace{-10pt} +\begin{showexample} +$\bordermatrix[\{\}]{% + & 1 & 2 \cr +1 & x1 & x2 \cr +2 & x3 & x4 \cr +3 & x5 & x6 +}$ +\end{showexample} +\vspace{-10pt} +\begin{showexample} +$\bordermatrix*{% + x1 & x2 & 1 \cr + x3 & x4 & 2 \cr + x5 & x6 & 3 \cr + 1 & 2 +}$ +\end{showexample} +\vspace{-10pt} +\begin{showexample} +$\bordermatrix*[{[]}]{% + x1 & x2 & 1 \cr + x3 & x4 & 2 \cr + x5 & x6 & 3 \cr + 1 & 2 +}$ +\end{showexample} +\vspace{-10pt} +\begin{showexample} +$\bordermatrix*[\{\}]{% + x1 & x2 & 1 \cr + x3 & x4 & 2 \cr + x5 & x6 & 3 \cr + 1 & 2 +}$ +\end{showexample} + + +There is now an optional argument for the parenthesis with \verb|()| as the default one. To get such a behaviour, write into the preamble: +\begin{lstlisting}[xleftmargin=-0.75cm,xrightmargin=-0.75cm] +\makeatletter +\newif\if@borderstar +\def\bordermatrix{\@ifnextchar*{% + \@borderstartrue\@bordermatrix@i}{\@borderstarfalse\@bordermatrix@i*}% +} +\def\@bordermatrix@i*{\@ifnextchar[{\@bordermatrix@ii}{\@bordermatrix@ii[()]}} +\def\@bordermatrix@ii[#1]#2{% +\begingroup + \m@th\@tempdima8.75\p@\setbox\z@\vbox{% + \def\cr{\crcr\noalign{\kern 2\p@\global\let\cr\endline }}% + \ialign {$##$\hfil\kern 2\p@\kern\@tempdima & \thinspace % + \hfil $##$\hfil && \quad\hfil $##$\hfil\crcr\omit\strut % + \hfil\crcr\noalign{\kern -\baselineskip}#2\crcr\omit % + \strut\cr}}% + \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}% + \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}% + \setbox\tw@\hbox{% + $\kern\wd\@ne\kern -\@tempdima\left\@firstoftwo#1% + \if@borderstar\kern2pt\else\kern -\wd\@ne\fi% + \global\setbox\@ne\vbox{\box\@ne\if@borderstar\else\kern 2\p@\fi}% + \vcenter{\if@borderstar\else\kern -\ht\@ne\fi% + \unvbox\z@\kern-\if@borderstar2\fi\baselineskip}% + \if@borderstar\kern-2\@tempdima\kern2\p@\else\,\fi\right\@secondoftwo#1 $% + }\null \;\vbox{\kern\ht\@ne\box\tw@}% +\endgroup +} +\makeatother +\end{lstlisting} + +The \verb|matrix| macro cannot be used together with the \AmSmath package, it redefines +this macro (see section \vref{sec:ams-matrix}). + +\section{Super/Subscript and limits}\label{sec:limits} +Writing $a_{min}$ and $a_{max}$ gives the same depth for the subscript, but +writing them in upright mode with \verb+\mbox+ gives a different depth: $a_{\mbox{min}}$ and $a_{\mbox{max}}$. +The problem is the different height, which can be modified in several ways +\begin{itemize} +\item \verb+$a_{\mbox{\vphantom{i}max}}+: $a_{\mbox{min}}$ and $a_{\mbox{\vphantom{i}max}}$; +\item \verb+$a_{\mathrm{max}}+: $a_{\mathrm{min}}$ and $a_{\mathrm{max}}$; +\item \verb+$a_{\max}+: $a_{\min}$ and $a_{\max}$. Both are predefined operators (see section~\vref{sec:ltxOperators}). +\end{itemize} + + +\subsection{Multiple limits}\label{sub:Multiple-Limits} + +\marginpar{\CMD{atop}}For general information about limits\index{Limits} read section +\vref{sub:Limits-Inline}. With the \CMD{atop}\index{atop@\textbackslash atop} command +multiple limits for a sum\index{sum@\textbackslash sum} or prod\index{prod@\textbackslash prod} +are possible. The syntax is: + +\begin{showexample}[width=0.4\linewidth] +\[ {above \atop below} \] +\end{showexample} + +\noindent which is nearly the same as a fraction without a rule. This can +be enhanced to \verb|a\atop b\atop c| and so on. For equation \ref{eq:atop} do the following steps: + +\begin{showexample}[width=0.4\linewidth] +\begin{equation}\label{eq:atop} +\sum_{{1\le j\le p\atop {% + {1\le j\le q\atop 1\le k\le r}}}% +}a_{ij}b_{jk}c_{ki} +\end{equation} +\end{showexample} + + +\bigskip +There are other solutions to get multiple limits, e.g. an array, +which is not the best solution because the space between the lines +is too big. The \AmSmath package provides several commands for limits (section \ref{sec:limit-AMS}) and the \CMD{underset} and \CMD{overset} commands (see section \ref{sec:misc-AMS}). + +\subsection{Problems} + +\begin{equation}\label{eq:disp-limits} +\fboxsep=0pt\fboxrule=0.1pt +\boxed{\sum_{ + {{1\le j\le p\atop {% + {1\le j\le q\atop 1\le k\le r}}}% + }}% +}\boxed{a_{ij}b_{jk}c_{ki}} +\end{equation} + +The equation \ref{eq:disp-limits} shows that the horizontal alignment +is not optimal, because the math expression on the right follows at the +end of the limits which are a unit together with the sum symbol. There +is an elegant solution with \AmSmath, described in subsection +\vref{subsec:ams-limits}. If you do not want to use \AmSmath, +then use \CMD{makebox}. But there is a problem when the general fontsize +is increased, \CMD{makebox} knows nothing about the actual math font +size. Equation \ref{eq:disp-limits2} shows the effect and equation +\ref{eq:disp-limits3} the view without the boxes. + +\vspace{\abovedisplayskip} +\begin{subequations} +\begin{minipage}{0.45\textwidth} +\begin{equation}\label{eq:disp-limits2} +\fboxsep=0pt\fboxrule=0.1pt +\boxed{\sum_{% + \makebox[0pt]{$% + {{\scriptscriptstyle 1\le j\le p\atop {% + {1\le j\le q\atop 1\le k\le r}}}}% + $}% + }% +}\boxed{a_{ij}b_{jk}c_{ki}} +\end{equation} +\end{minipage}\hfill +\begin{minipage}{0.45\textwidth} +\begin{equation}\label{eq:disp-limits3} +\sum_{% + \makebox[0pt]{$% + {{\scriptscriptstyle 1\le j\le p\atop {% + {1\le j\le q\atop 1\le k\le r}}}}% + $}}a_{ij}b_{jk}c_{ki} +\end{equation} +\end{minipage} +\end{subequations} + +\medskip +\begin{lstlisting} +\begin{equation} +\sum_{\makebox[0pt]{$% + {{\scriptscriptstyle 1\le j\le p\atop {% + {1\le j\le q\atop 1\le k\le r}}}}% + $}}a_{ij}b_{jk}c_{ki} +\end{equation} +\end{lstlisting} + + +\section{Roots}\label{sec:Roots} + +The square root\index{Root} \CMD{sqrt}\index{sqrt@\textbackslash sqrt} is the default +for \LaTeX{} and the $n$-th root can be inserted with the optional parameter \CMD{sqrt[n]\{\ldots\}}. +\marginpar{\CMD{sqrt}}. + +\begin{center} +\begin{tabular}{cc} + \verb|\sqrt{x}| & $\sqrt{x}$\\ + \verb|\sqrt[3]{x}| & $\sqrt[3]{x}$ +\end{tabular} +\end{center} + +There is a different typesetting in roots. Equation \vref{eq:root1} +has different heights for the roots, whereas equation \vref{eq:root2} +has the same one. This is possible with the % +\marginpar{\CMD{vphantom}}% +\verb+\vphantom+\index{vphantom@\textbackslash vphantom} command, +which reserves the vertical space (without a horizontal one) of the +parameter height. + +\begin{showexample}[width=0.35\linewidth,wide] +\begin{equation} + \sqrt{a}\,% + \sqrt{T}\,% + \sqrt{2\alpha k_{B_1}T^i}\label{eq:root1} +\end{equation} +\end{showexample} + + +\vspace{-10pt} +\begin{showexample}[width=0.35\linewidth,wide] +\begin{equation}\label{eq:root2} + \sqrt{a\vphantom{k_{B_1}T^i}}\,% + \sqrt{T\vphantom{k_{B_1}T^i}}\,% + \sqrt{2\alpha k_{B_1}T^i} +\end{equation} +\end{showexample} + + +The typesetting looks much better, especially when the formula +has different roots in a row, like equation \vref{eq:root1}. Using +\AmSmath with the \CMD{smash} command% +\footnote{The \CMD{smash} command exists also in \LaTeX{} +but without an optional argument, which makes the use for roots possible.% +} gives some more possibilities for the typesetting of roots (see section +\vref{sec:Roots-ams}). + + +\section[Brackets, braces \ldots]{Brackets, braces and parentheses}\label{sec:Brackets,-Braces-and} + +This is one of the major problems inside the math mode, because there is often a need for different brackets, braces and parentheses in different size. At first we had to admit, that +there is a difference between the characters ``\verb|()[]/\| +$\lbrace\rbrace$ +| +$\Vert$ +$\lfloor\rfloor$ +$\lceil\rceil$ +$\langle\rangle$ +$\uparrow\Uparrow$ +$\downarrow\Downarrow$ +$\updownarrow\Updownarrow${}'' +and their use as an argument % +\marginpar{\CMD{leftX}\\\CMD{rightX}} of the \CMD{left}\index{left@\textbackslash left} +and \CMD{right}\index{right@\textbackslash right} +command, where \LaTeX{} stretches the size in a way that everything between +the pair of left and right parentheses is smaller than the parentheses themselves. In some cases% +\footnote{See section \vref{cap:Use-of-the-vphantom} for example.% +} it may be useful to choose a fixed height, which is possible with +the \CMD{big}-series. Instead of writing \CMD{leftX} +or \CMD{rightX} one of the following commands can +be chosen: + +\medskip +\marginpar{\CMD{bigX}\\\CMD{BigX}\\\CMD{biggX}\\\CMD{BiggX}} +\index{big@\textbackslash big}\index{Big@\textbackslash Big}% +\index{bigg@\textbackslash bigg}\index{Bigg@\textbackslash Bigg} +\begin{tabular}{rl} +default & ()[]/\textbackslash$\lbrace\rbrace$|$\Vert$ $\lfloor\rfloor$ +$\lceil\rceil$ $\langle\rangle$ $\uparrow\Uparrow$ $\downarrow\Downarrow$% +$\updownarrow\Updownarrow$\\[2pt] +\CMD{bigX} & $\big(\big)$ $\big[\big]$ +$\bigl/\big\backslash\big\{\big\}$ +$\big|$ $\big\Vert$ $\big\lfloor\big\rfloor$ $\big\lceil\big\rceil$ +$\big\langle\big\rangle$ $\big\uparrow\big\Uparrow$ $\big\downarrow\big\Downarrow$ +$\big\updownarrow\big\Updownarrow$\\[2pt] +\CMD{BigX} & $\Big(\Big)$ +$\Big[\Big]$ $\Bigl/\Big\backslash\Big\{\Big\}$ +$\Big|$ $\Big\Vert$ $\Big\lfloor\Big\rfloor$ +$\Big\lceil\Big\rceil$ $\Big\langle\Big\rangle$ +$\Big\uparrow\Big\Uparrow$ $\Big\downarrow\Big\Downarrow$ +$\Big\updownarrow\Big\Updownarrow$\\[4pt] +\CMD{biggX} & $\bigg(\bigg)$ +$\bigg[\bigg]$ $\biggl/\bigg\backslash\bigg\{\bigg\}$% +$\bigg|$ $\bigg\Vert$ $\bigg\lfloor\bigg\rfloor$ $\bigg\lceil\bigg\rceil$ +$\bigg\langle\bigg\rangle$ $\bigg\uparrow\bigg\Uparrow$ +$\bigg\downarrow\bigg\Downarrow$ $\bigg\updownarrow\bigg\Updownarrow$\\[8pt] +\CMD{Big}gX & $\Bigg(\Bigg)$ +$\Bigg[\Bigg]$ $\Biggl/\Bigg\backslash\Bigg\{\Bigg\}$ +$\Bigg|$ $\Bigg\Vert$ $\Bigg\lfloor\Bigg\rfloor$ +$\Bigg\lceil\Bigg\rceil$ $\Bigg\langle\Bigg\rangle$ +$\Bigg\uparrow\Bigg\Uparrow$ $\Bigg\downarrow\Bigg\Downarrow$% +$\Bigg\updownarrow\Bigg\Updownarrow$ +\end{tabular} + +\medskip{} +Only a few commands can be written in a short form like \CMD{big(}. +The ``X{}'' has to be replaced with one of the following characters +or commands from table \ref{tab:big}, which shows the parentheses +character, its code for the use with one of the ``big{}'' commands +and an example with the code for that. + +\marginpar{\CMD{biglX}\\\CMD{bigrX}}% +For all commands there exists a left/right version \CMD{bigl}\index{bigl@\textbackslash bigl}, +\CMD{bigr}\index{bigr@\textbackslash bigr}, \CMD{Bigl}\index{Bigl@\textbackslash Bigl} +and so on, which only makes sense when writing things like: + +\begin{showexample}[width=0.3\linewidth,wide] +\begin{align} + \biggl)\times \frac{a}{b} \times\biggr( +\end{align} +\begin{align} + \bigg)\times \frac{a}{b} \times\bigg( +\end{align} +\end{showexample} + +\LaTeX{} takes the \verb|\biggl)| as a mathopen symbol, which has by default +another horizontal spacing. + +In addition to the above additional commands there exist some more: +\CMD{bigm}\index{bigm@\textbackslash bigm}, \CMD{Bigm}\index{Bigm@\textbackslash Bigm}, \CMD{biggm}\index{biggm@\textbackslash biggm} and \CMD{Biggm}\index{Biggm@\textbackslash Biggm}, +which work as the standard ones (without the addtional ``m{}'') +but add some more horizontal space% +\marginpar{\CMD{bigmX}\\\CMD{bigmX}} between the delimiter and the formula before and after (see table \ref{cap:Difference-between-the-bigg}). + +\begin{table}[htb] +\begin{showexample} +$3\bigg|a^2-b^2-c^2\bigg|+2$ +\end{showexample} +\vspace{-15pt} +\begin{showexample} +$3\biggm|a^2-b^2-c^2\biggm|+2$ +\end{showexample} +\caption{Difference between the default +\CMD{bigg} and the \CMD{biggm} command}\label{cap:Difference-between-the-bigg} +\end{table} + + +\newcommand{\xstrut}{\rule{0pt}{0.55cm}} +{\setlength{\hangindent}{-\marginparwidth} +\begin{longtable}{l>{\raggedright}p{2.4cm}l>{\raggedright}p{5.7cm}} +Char & Code & Example & Code\tabularnewline +\hline +\endhead +\xstrut$(\ )$ & ( ) & % + $3\Big(a^{2}+b^{c^{2}}\Big)$ & % + \texttt{3\CMD{Big}( a\^{}2+b\^{}\{c\^{}2\}\CMD{Big})}\tabularnewline +% +\xstrut$[\ ]$ & {[} {]}& +$3\Big[a^{2}+b^{c^{2}}\Big]$& +\texttt{3\CMD{Big}{[} a\^{}2+b\^{}\{c\^{}2\}\CMD{Big}{]}}\tabularnewline +% +\xstrut$/\ \backslash$ & \texttt{/}\CMD{backslash} & $3\Big/a^{2}+b^{c^{2}}\Big\backslash$ & +\texttt{3\CMD{Big}/ a\^{}2+b\^{}\{c\^{}2\}\CMD{Big}\CMD{backslash}}\tabularnewline +% +\xstrut$\{\ \}$ & \CMD{\{}\CMD{\}}\\ + & $3\Big\{ a^{2}+b^{c^{2}}\Big\}$ & +\texttt{3\CMD{Big}\CMD{\{} a\^{}2+b\^{}\{c\^{}2\}\CMD{Big}\CMD{\}}}\tabularnewline +% +\xstrut$\vert\ \Vert$ & | \CMD{Vert} & $3\Big|a^{2}+b^{c^{2}}\Big\Vert$ & \texttt{3\CMD{Big}|a\^{}2+b\^{}\{c\^{}2\}\CMD{Big}\CMD{Vert}}\tabularnewline +% +\xstrut$\lfloor\ \rfloor$ & \CMD{lfloor} \CMD{rfloor} & % + $3\Big\lfloor a^{2}+b^{c^{2}}\Big\rfloor$ & % + \texttt{3\CMD{Big}\CMD{lfloor} a\^{}2+b\^{}\{c\^{}2\} + \CMD{Big}\CMD{rfloor}}\tabularnewline +% +\xstrut$\lceil\ \rceil$ & \CMD{lceil}\CMD{rceil} & + $3\Big\lceil a^{2}+b^{c^{2}}\Big\rceil$ & + \texttt{3\CMD{Big}\CMD{lceil} a\^{}2+b\^{}\{c\^{}2\} \CMD{Big}% + \CMD{rceil}}\tabularnewline +% +\xstrut$\langle\ \rangle$ & \CMD{langle}\CMD{rangle} & + $3\Big\langle a^{2}+b^{c^{2}}\Big\rangle$ & + \texttt{3\CMD{Big}\CMD{langle} a\^{}2+b\^{}\{c\^{}2\}% + \CMD{Big}\CMD{rangle}}\tabularnewline +% +\xstrut$\uparrow\ \Uparrow$ & + \CMD{uparrow} \CMD{Uparrow} & + $3\Big\uparrow a^{2}+b^{c^{2}}\Big\Uparrow$ & + \texttt{3\CMD{Big}\CMD{uparrow} a\^{}2+b\^{}\{c\^{}2\}% + \CMD{Big}\CMD{Uparrow}}\tabularnewline +% +\xstrut$\downarrow\ \Downarrow$ & \CMD{downarrow} \CMD{Downarrow} & + $3\Big\downarrow a^{2}+b^{c^{2}}\Big\Downarrow$ & + \texttt{3\CMD{Big}\CMD{downarrow} a\^{}2+b\^{}\{c\^{}2\} + \CMD{Big}\CMD{Downarrow}}\tabularnewline +% +\xstrut$\updownarrow\ \Updownarrow$ & \CMD{updownarrow} \CMD{Updownarrow} & + $3\Big\updownarrow a^{2}+b^{c^{2}}\Big\Updownarrow$ & + \texttt{3\CMD{Big}\CMD{updownarrow} a\^{}2+b\^{}\{c\^{}2\} + \CMD{Big}\CMD{Updownarrow}}\tabularnewline +& & &\\ +\caption{Use of the different parentheses for the ``big{}'' commands} \label{tab:big}\tabularnewline +\end{longtable}} + + +\subsection{Examples} +\subsubsection{Braces over several lines}\label{cap:Use-of-the-vphantom} +The following equation in the single line mode looks like + + +\begin{equation} +\frac{1}{2}\Delta(f_{ij}f^{ij})=2\left(\sum_{i<j}\chi_{ij}(\sigma_{i}-\sigma_{j})^{2}+f^{ij}\nabla_{j}\nabla_{i}(\Delta f)+\nabla_{k}f_{ij}\nabla^{k}f^{ij}+f^{ij}f^{k}[2\nabla_{i}R_{jk}-\nabla_{k}R_{ij}]\right)\label{eq:braces} +\end{equation} + + +\noindent and is too long for the text width and the equation number has to be placed +under the equation.\footnote{In standard \LaTeX{} the equation and the number are +printed one over the other for too long +formulas. Only \AmSmath puts it one line over (left numbers) or under (right +numbers) the formula.} With the array environment the formula can be split in two smaller +pieces: + +{\arraycolsep=2pt +\begin{equation} +\begin{array}{rcl} + \frac{1}{2}\Delta(f_{ij}f^{ij}) & = & 2\left({\displaystyle + \sum_{i<j}}\chi_{ij}(\sigma_{i}-\sigma_{j})^{2}+f^{ij}% + \nabla_{j}\nabla_{i}(\Delta f)+\right.\\ +& & \left.+\nabla_{k}f_{ij}\nabla^{k}f^{ij}+f^{ij}f^{k}[2 + \nabla_{i}R_{jk}-\nabla_{k}R_{ij}]\right) +\end{array} +\end{equation} +} + + +It is obvious that there is a problem with the right closing parentheses. +Because of the two pairs ``\verb|\left( ... \right.|'' +and ``\verb|\left. ... \right)|'' +they have a different size because every pair does it in its own +way. Using the \CMD{Bigg} command changes this into a better +typesetting: + +{\arraycolsep=2pt +\begin{equation} +\begin{array}{rcl} + \frac{1}{2}\Delta(f_{ij}f^{ij}) & = & 2\Bigg({\displaystyle + \sum_{i<j}}\chi_{ij}(\sigma_{i}-\sigma_{j})^{2}+f^{ij}% + \nabla_{j}\nabla_{i}(\Delta f)+\\ +& & +\nabla_{k}f_{ij}\nabla^{k}f^{ij}+f^{ij}f^{k}[2 + \nabla_{i}R_{jk}-\nabla_{k}R_{ij}]\Bigg) +\end{array} +\end{equation} +} +\begin{lstlisting} +{\arraycolsep=2pt +\begin{equation} +\begin{array}{rcl} + \frac{1}{2}\Delta(f_{ij}f^{ij}) & = & 2\Bigg({\displaystyle + \sum_{i<j}}\chi_{ij}(\sigma_{i}-\sigma_{j})^{2}+f^{ij}% + \nabla_{j}\nabla_{i}(\Delta f)+\\ +& & +\nabla_{k}f_{ij}\nabla^{k}f^{ij}+f^{ij}f^{k}[2 + \nabla_{i}R_{jk}-\nabla_{k}R_{ij}]\Bigg) +\end{array} +\end{equation} +} +\end{lstlisting} + +Section~\vref{sec:Specials-for-multline} shows another solution +for getting the right size for parentheses when breaking the equation +in smaller pieces. + +\begin{align*} + B(r,\phi,\lambda) = & \,\dfrac{\mu}{r} + \Bigg[\sum_{n=2}^{\infty} \Bigg( \left( \dfrac{R_e}{r} \right)^n J_nP_n(s\phi) \\ + & +\sum_{m=1}^n \left( \dfrac{R_e}{r} \right) ^n + (C_{nm}\cos m\lambda+S_{nm}\sin m\lambda)P_{nm}(s\phi) \Bigg)\Bigg] +\end{align*} + +\begin{lstlisting} +\begin{align*} + B(r,\phi,\lambda) = & \,\dfrac{\mu}{r} + \Bigg[\sum_{n=2}^{\infty} \Bigg( \left( \dfrac{R_e}{r} \right)^n J_nP_n(s\phi) \\ + & +\sum_{m=1}^n \left( \dfrac{R_e}{r} \right) ^n + (C_{nm}\cos m\lambda+S_{nm}\sin m\lambda)P_{nm}(s\phi) \Bigg)\Bigg] +\end{align*} +\end{lstlisting} + + +\subsubsection{Middle bar} +See section \vref{sec:braket} for examples and the use of package \verb|braket.sty|. + +\subsection{New delimiters}\label{subsec:delim} +The default delimiters\index{Delimiter} are defined in the file \verb|fontmath.ltx|\index{fontmath.ltx} +which is stored in general +in \path{[TEXMF]/tex/latex/base/fontmath.ltx}. If we need for example a thicker vertical symbol +than the existing \verb|\vert| symbol we can define in the preamble: + +\begin{lstlisting} +\DeclareMathDelimiter{\Norm} + {\mathord}{largesymbols}{"3E}{largesymbols}{"3E} +\end{lstlisting} + +The character number $3E_{16}$ (decimal $62$) from the \verb|cmex10|\index{cmex10} font is the small +thick vertical rule. Now the new delimiter \verb|\Norm| can be used in the usual way: + +\begin{showexample}[width=0.3\linewidth,wide] +$\left\Norm *BLA* \right\Norm$ + +$\left\Norm \dfrac{*BLA*}{*BLUB*} \right\Norm$ +\end{showexample} + + + +\subsection{Problems with parentheses}\label{subsec:Problems-with-parenthesis} +\marginpar{\CMD{delimitershortfall}\\\CMD{delimiterfactor}}It is obvious that the following +equation has not the right size of the parenthesis in the +second integral, the inner one should be a bit smaller than the outer one. +\begin{showexample}[width=0.425\linewidth,wide] +\[ +\int_\gamma F'(z) dz =\int_\alpha^\beta +F'\left(\gamma (t)\right)\cdot\gamma '(t)dt +\] +\end{showexample} + +The problem is that \TeX{} controlls the height of the parenthesis with +\verb|\delimitershortfall|\index{delimitershortfall@\textbackslash delimitershortfall} and \verb|\delimiterfactor|\index{delimiterfactor@\textbackslash delimiterfactor}, with the default values +\begin{verbatim} +\delimitershortfall=5pt +\delimiterfactor=901 +\end{verbatim} + +\verb|\delimiterfactor/1000| is the relative size of the parenthesis for a given formula +environment. They could be of \verb|\delimitershortfall| too short. These values are valid +at the end of the formula, the best way is to set them straight before the math environment +or globally for all in the preamble. + + +\begin{showexample}[width=0.425\linewidth,wide] +{\delimitershortfall=-1pt +\[ +\int_\gamma F'(z) dz =\int_\alpha^\beta +F'\left(\gamma (t)\right)\cdot\gamma '(t)dt +\]} +\end{showexample} + +\section{Text in math mode}\label{sec:Text} + +Standard \index{Text}text in math mode should be written in upright shape and not +in the italic\index{Italic} one. This shape is reserved for the variable +names: $\boxed{{I\ am\ \textrm{text}\ inside\ math.}}$ (see also +(\vref{cap:Spaces-in-math mode}). There are different ways to write text inside math. + +\marginpar{\CMD{textstyle}\\\CMD{mbox}} + +\begin{itemize} +\marginpar{\CMD{mathrm}} +\item \CMD{mathrm}. It is like math mode (no spaces), but in upright mode +\item \CMD{textrm}. Upright mode with printed spaces (real textmode) +\item \CMD{mbox}. The font size is still the one from \CMD{textstyle} (see section \vref{sec:Styles}), so that you have to place additional +commands when you use \CMD{mbox} in a super- or subscript for limits. +\end{itemize} + +Inserting long text is possible with a \verb+parbox+, which can be aligned as usual to the top, +bottom or center, e.g.\index{Text!\textbackslash parbox} +\begin{eqnarray} + a+b+c+d+ef & = & g+h+i+j+k % + \qquad\textrm{\parbox[t]{.25\linewidth}{% + this is a very long description of a formula}% + } +\end{eqnarray} + +\begin{lstlisting} +\begin{eqnarray} + a+b+c+d+ef & = & g+h+i+j+k % + \qquad\textrm{\parbox[t]{.25\linewidth}{% + this is a very long description of a formula}% + } +\end{eqnarray} +\end{lstlisting} + +Additional commands for text inside math are provided by \AmSmath (see +section \vref{sec:Text-in-math mode}). + + +\section{Font commands} + +\subsection{Old-style font commands} + +Should never be used, but are still present and supported by \LaTeX{}. The +default syntax for the old commands is + +\begin{lstlisting} +{\XX test} +\end{lstlisting} +Table~\vref{cap:Old-Fontstyle-commands} shows what has to be replaced for the \verb+XX+. +The major difference to the new style is that these +\CMD{XX} are toggling the actual math mode into +the ``XX{}'' one, whereas the new commands start a group which +switches back to the mode before at its end. + +\begin{table}[!htb] +\centering\begin{tabular}{rc|rc|rc|cc|cc} +\CMD{bf}\index{bf@\textbackslash bf} & ${\bf {\bf test}}$ & +\CMD{cal}\index{cal@\textbackslash cal} & ${\cal TEST}$ & +\CMD{it}\index{it@\textbackslash it} & +${\it test}$ & +\CMD{rm}\index{rm@\textbackslash rm} & +${\rm test}$ & +\CMD{tt}\index{tt@\textbackslash tt} & +${\tt test}$\tabularnewline +\end{tabular} +\caption{Old font style commands}\label{cap:Old-Fontstyle-commands} +\end{table} + +\subsection{New-style font commands}\label{sub:New-Style-Fontcommands} + +% +\marginpar{\CMD{mathrm}\\ +\CMD{mathfrak}\\ +\CMD{mathcal}\\ +\CMD{mathsf}\\ +\CMD{mathbb}\\ +\CMD{mathtt}\\ +\CMD{mathit}\\ +\CMD{mathbf}} + +The default syntax is + +\begin{lstlisting} +\mathXX{test} +\end{lstlisting} +Table~\ref{cap:Fonts-in-math-mode} shows what has to be +replaced for the XX. See section \vref{sec:euscript.sty} for additional packages. + +\begin{table}[htb] +\includegraphics{styles} + +\iffalse +%\vspace{0.5ex} +%\rule{0.3\columnwidth}{0.5pt}\\ +%{}\textsuperscript{a}{\small Not available for lower letters. For mathcal there exists a +% non free font for lower letters (http://www.yandy.com)} +%\caption{Fonts in math mode}\label{cap:Styles-in-math mode} +%\end{table} + +%\begin{comment} + +\begin{table}[!htb] +\begin{minipage}{\linewidth} +\centering +\begin{tabularx}{.9\linewidth}{l|X} +\textbf{Command} & \textbf{Test}\tabularnewline\hline +default & $ABCDEFGHIJKLMNOPQRSTUVWXYZ$ + +$abcdefghijklmnopqrstuvwxyz$\tabularnewline +\CMD{mathfrak} & +$\mathfrak{{ABCDEFGHIJKLMNOPQRSTUVWXYZ}}$ +$\mathfrak{{abcdefghijklmnopqrstuvwxyz}}$\tabularnewline +\CMD{mathcal}% +\footnote{Not available for lower letters. For mathcal exists a + non free font for lower letters (http://www.yandy.com)}\addtocounter{mpfootnote}{-1} & +$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$\tabularnewline +\CMD{mathsf}& +$\mathsf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ +$\mathsf{abcdefghijklmnopqrstuvwxyz}$\tabularnewline + +\CMD{mathbb}${}^a$ & $\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$\tabularnewline +\CMD{mathtt} & $\mathtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ + +$\mathtt{abcdefghijklmnopqrstuvwxyz}$\tabularnewline +\CMD{mathit} & $\mathit{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ + +$\mathit{abcdefghijklmnopqrstuvwxyz}$\tabularnewline +\CMD{mathrm} & $\mathrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ + +$\mathrm{abcdefghijklmnopqrstuvwxyz}$\tabularnewline +\CMD{mathbf} & $\mathbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ + +$\mathbf{abcdefghijklmnopqrstuvwxyz}$\tabularnewline + +\CMD{mathds}${}^b$ & $\mathds{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$\tabularnewline +\end{tabularx} +\end{minipage} +\fi + +\caption{Fonts in math mode}\label{cap:Fonts-in-math-mode} +\end{table} + +\index{mathfrak@\textbackslash mathfrak}\index{mathsf@\textbackslash mathsf} +\index{mathbb@\textbackslash mathbb}\index{mathcal@\textbackslash mathcal} +\index{mathbf@\textbackslash mathbf}\index{mathit@\textbackslash mathit} +\index{mathrm@\textbackslash mathrm}\index{mathtt@\textbackslash mathtt} +\index{mathds@\textbackslash mathds}\index{double stroke} +\index{dsfont@\texttt{dsfont}}\index{Set symbol} +%\end{comment} + +\section{Space} +\subsection{Math typesetting}\label{subsec:mathskip} + +\marginpar{\CMD{thinmuskip}\\ +\CMD{medmuskip}\\ +\CMD{thickmuskip}} +\LaTeX\ defines the three math lengths\footnote{For more +information see: \url{http://www.tug.org/utilities/plain/cseq.html}} with the following +values\footnote{see \texttt{\small fontmath.ltx}}: + +\begin{lstlisting} +\thinmuskip=3mu +\medmuskip=4mu plus 2mu minus 4mu +\thickmuskip=5mu plus 5mu +\end{lstlisting} + +\noindent where \verb|mu| is the abbreviation for \verb|math unit|. +\[ +1 \mathrm{mu}= \dfrac{1}{18} \mathrm{em} +\] + +\begin{table}[htb] +\centering +\begin{tabular}{ll} +\fboxsep=0pt +\text{default} & $\boxed{f(x)=x^2+3x_0\cdot\sin x}$\\ +\CMD{thinmuskip=0mu} & {\thinmuskip=0mu $\boxed{f(x)=x^2+3x_0\cdot\sin x}$}\\ +\CMD{medmuskip=0mu} & {\medmuskip=0mu $\boxed{f(x)=x^2+3x_0\cdot\sin x}$}\\ +\CMD{thickmuskip=0mu} & {\thickmuskip=0mu $\boxed{f(x)=x^2+3x_0\cdot\sin x}$}\\ +all set to zero & {\thickmuskip=0mu\thinmuskip=0mu\medmuskip=0mu $\boxed{f(x)=x^2+3x_0\cdot\sin x}$}\\ +\end{tabular} +\caption{The meaning of the math spaces}\label{tab:mathSpaces} +\end{table} + +These lengths can have all glue and are +used for the horizontal spacing in math expressions where \TeX{} puts spaces between symbols +and operators. The meaning of these different +horizontal skips is shown in table \ref{tab:mathSpaces}. For a better typesetting \LaTeX{} +inserts different spaces between the symbols. + +\begin{description} +\item[\CMD{thinmuskip}] space between ordinary and operator atoms +\item[\CMD{medmuskip}] space between ordinary and binary atoms in display and text styles +\item[\CMD{thickmuskip}] space between ordinary and relation atoms in display and text styles +\end{description} + +\subsection{Additional horizontal spacing} +\marginpar{\CMD{thinspace}\\ +\CMD{medspace}\\ +\CMD{thickspace}\\ +\CMD{negthinspace}\\ +\CMD{negmedspace}\\ +\CMD{negthickspace}} + +\begin{table}[!htb] +\def\arraystretch{1.2} +\centering +\begin{tabular}{ll|ll} +\multicolumn{2}{l|}{Positive Space}&\multicolumn{2}{l}{Negative Space}\\\hline +\verb|$ab$| & $\boxed{a}\boxed{b}$\\ +\verb|$a b$| & $\boxed{a} \boxed{b}$\\ +\verb|$a\ b$| & $\boxed{a}\ \boxed{b}$\\ +\verb|$a\mbox{\textvisiblespace}b$| & $\boxed{a}\mbox{\textvisiblespace}\boxed{b}$\\ +\verb|$a\,b$|\index{,@\textbackslash ,} (\verb|$a\thinspace b$|)\index{thinspace@\textbackslash thinspace} & $\boxed{a}\,\boxed{b}$& +\verb|$a\! b$|\index{negthinspace@\textbackslash negthinspace} & $\boxed{a}\!\boxed{b}$\\ +\verb|$a\: b$|\index{:@\textbackslash :} (\verb|$a\medspace b$|)\index{medspace@\textbackslash medspace}& +$\boxed{a}\:\boxed{b}$& +\verb|$a\negmedspace b$|\index{negmedspace@\textbackslash negmedspace} & $\boxed{a}\negmedspace\boxed{b}$\\ +\verb|$a\; b$|\index{;@\textbackslash ;} (\verb|$a\thickspace b$|\index{thickspace@\textbackslash thickspace}& +$\boxed{a}\;\boxed{b}$& +\verb|$a\negthickspace b$|\index{negthickspace@\textbackslash negthickspace}& +$\boxed{a}\negthickspace\boxed{b}$\\ +\verb|$a\quad b$|\index{quad@\textbackslash quad} & $\boxed{a}\quad\boxed{b}$\\ +\verb|$a\qquad b$|\index{qquad@\textbackslash qquad} & $\boxed{a}\qquad\boxed{b}$\\ +\verb|$a\hspace{0.5cm}b$|\index{hspace@\textbackslash hspace}& $\boxed{a}\hspace{0.5cm}\boxed{b}$& +\verb|$a\hspace{-0.5cm}b$| & $\boxed{a}\hspace{-0.5cm}\boxed{b}$\\ +\verb|$a\kern0.5cm b$|\index{kern@\textbackslash kern} & $\boxed{a}\kern0.5cm \boxed{b}$ & \verb|$a\kern-0.5cm b$| & $\boxed{a}\kern-0.5cm \boxed{b}$\\ +\verb|$a\hphantom{xx}b$|\index{hphantom@\textbackslash hphantom} & $\boxed{a}\hphantom{xx}\boxed{b}$\\ +\verb|$axxb$| & $\boxed{a}xx\boxed{b}$ +\end{tabular} +\caption{Spaces in math mode}\label{cap:Spaces-in-math mode} +\end{table} + + +LaTeX defines the following short commands: + +\begin{verbatim} +\def\>{\mskip\medmuskip} +\def\;{\mskip\thickmuskip} +\def\!{\mskip-\thinmuskip} +\end{verbatim} +In math mode there is often a need for additional tiny spaces between variables, +e.g. $L\dfrac{di}{dt}$ written with a tiny space between $L$ and +$\dfrac{di}{dt}$ looks nicer: $L\:\dfrac{di}{dt}$. Table \ref{cap:Spaces-in-math mode} +shows a list of all commands for horizontal space which can be used +in math mode. The ``space{}'' is seen ``between{}'' the boxed a +and b. For all examples a is \texttt{\textbackslash{}boxed\{a\}} and +b is \texttt{\textbackslash{}boxed\{b\}}. The short forms for some +\marginpar{\CMD{hspace}\\ +\CMD{hphantom}\\ +\CMD{kern}}spaces may cause problems with other packages. In this case use the +long form of the commands. + +\subsection{Problems}\label{space:problems} +Using \verb+\hphantom+\index{hphantom@\textbackslash hphantom}\index{phantom@\textbackslash phantom} +in mathmode depends to on object. \verb+\hphantom+ reserves only the space of +the exact width without any additional space. In the following example the second line is +wrong: \verb+& \hphantom{\rightarrow} b\\+. It does not reserve any additional space. + +\begin{showexample}[width=0.15\linewidth,wide] +\begin{align*} +a & \rightarrow b\\ + & \hphantom{\rightarrow} b\\ + & \mkern\thickmuskip\hphantom{\rightarrow}\mkern\thickmuskip b\\ + & \mathrel{\hphantom{\rightarrow}} b +\end{align*} +\end{showexample} + +This only works when the math symbol is a mathrel one, otherwise you have to change the +horizontal space to \verb+\medmuskip+ or \verb+\thinmuskip+. For more informations +about the math objects look into \verb+fontmath.ltx+ or \verb+amssymb.sty+ or use the \verb+\show+ +macro, which prints out the type of the mathsymbol, e.g.: \verb+\show\rightarrow+ with the +output: + +\begin{lstlisting} +> \rightarrow=\mathchar"3221. +l.20 \show\rightarrow +\end{lstlisting} + +The first digit represents the type: + +\begin{tabular}{l@{ : }l} +0 & ordinary\\ +1 & large operator\\ +2 & binary operation\\ +3 & relation\\ +4 & opening\\ +5 & closing\\ +6 & punctuation\\ +7 & variable family +\end{tabular} + + +%\iffalse +\begingroup +\thinmuskip=3mu +\medmuskip=4mu plus 2mu minus 4mu +\thickmuskip=5mu plus 5mu + +\medskip +Grouping a math symbol can change the behaviour in horizontal spacing. Compare +$50\mkern\thinmuskip\times\mkern\thinmuskip10^{12}$ and $50{\times}10^{12}$, the first one is typeset with +\verb+$50\times10^{12}$+ and the second one with \verb+$50{\times}10^{12}$+. +\endgroup +%\fi +Another possibilty is to use the \verb+numprint+ package.\footnote{% +\href{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/numprint/}% +{CTAN://macros/latex/contrib/numprint/}} + +\subsection{Dot versus comma}\label{subsec:dot-comma} +\marginpar{\CMD{mathpunct}\\\CMD{mathord}}% +In difference to a decimal point\index{decimal point} and a \index{comma}comma as a marker of thousends a lot of +countries prefer it vice versa. To get the same behaviour the meaning of \index{dot}dot and +comma has to be changed: + +\begin{align} +1,234,567.89 & \textrm{ default}\\ +1.234.567,89 & \textrm{ vice versa, wrong spacing}\\\label{eq:comma} +1\mathpunct{.}234\mathpunct{.}567{,}89 & \textrm{ correct spacing} +\end{align} + + +\begin{lstlisting} +1,234,567.89 & \textrm{ default}\\ +1.234.567,89 & \textrm{ vice versa, wrong spacing}\\ +1\mathpunct{.}234\mathpunct{.}567{,}89 & \textrm{ correct spacing} +\end{lstlisting} + +The original definitions from \verb+fontmath.ltx+\footnote{% +Located in \url{texmf/tex/latex/base/}} are + +\begin{verbatim} +\DeclareMathSymbol{,}{\mathpunct}{letters}{"3B} +\DeclareMathSymbol{.}{\mathord}{letters}{"3A} +\end{verbatim} + +\noindent\index{mathord@\textbackslash mathord}\index{mathpunct@\textbackslash mathpunct}and can be changed for a documentwide other behaviour. In the above equation~\ref{eq:comma} the comma is only set in a pair of braces \verb+{,}+, which is the same as writing \verb+\mathord{,}+ because LaTeX{} handles everything +inside of parenthises as a formula, which gets the same spacing. + +It is also possible to use the package \verb+icomma.sty+\footnote{% +\href{ftp://ftp.dante.de/tex-archive/macros/latex/contrib/was/}% +{CTAN:// macros/latex/contrib/was/}} for a documentwide +correct spacing. + +\subsection{Vertical whitespace}\label{subsec:whitespace} +\subsubsection{Before/after math expressions}\label{subsubsec:displayskip} + +There are four predefined lengths, which control the vertical whitespace +of displayed formulas: +\begin{verbatim} +\abovedisplayskip=12pt plus 3pt minus 9pt +\abovedisplayshortskip=0pt plus 3pt +\belowdisplayskip=12pt plus 3pt minus 9pt +\belowdisplayshortskip=7pt plus 3pt minus 4pt +\end{verbatim} +\index{abovedisplayskip@\textbackslash abovedisplayskip} +\index{abovedisplayshortskip@\textbackslash abovedisplayshortskip} +\index{belowdisplayskip@\textbackslash belowdisplayskip} +\index{belowdisplayshortskip@\textbackslash belowdisplayshortskip} +The short skips are used if the formula starts behind the end of the foregoing +last line. Only for demonstration the shortskips +are set to \verb|0pt| in the following examples and the normal skips to \verb|20pt| without any glue: + +\medskip +\noindent\fbox{\begin{minipage}{\linewidth-2\fboxsep-2\fboxrule} +\abovedisplayshortskip=0pt +\belowdisplayshortskip=0pt +\abovedisplayskip=20pt +\belowdisplayskip=20pt +\noindent The line ends before. +\begin{equation} +f(x) = \int\frac{\sin x}{x}dx +\end{equation} +\noindent The line doesn't end before the formula. +\begin{equation} +f(x) = \int\frac{\sin x}{x}dx +\end{equation} +\noindent And the next line starts as usual with some text ... +\end{minipage}} + +\medskip +\begin{lstlisting} +\abovedisplayshortskip=0pt +\belowdisplayshortskip=0pt +\abovedisplayskip=20pt +\belowdisplayskip=20pt +\noindent The line ends before. +\begin{equation} + f(x) = \int\frac{\sin x}{x}dx +\end{equation} +\noindent The line doesn't end before the formula. +\begin{equation} + f(x) = \int\frac{\sin x}{x}dx +\end{equation} +\noindent And the next line starts as usual with some text ... +\end{lstlisting} + +\subsubsection{Inside math expressions}\label{subsec:vspacing} + +\paragraph{\CMD{\textbackslash [<length>]}} +This works inside the math mode in the same way as in the text mode. + + +\paragraph{\CMD{jot}}\marginpar{\CMD{jot}} +The vertical space between the lines for all math expressions which allow multiple +lines can be changed with the length +\verb|\jot|\index{jot@\textbackslash jot}, which is predefined as + +\begin{verbatim} +\newdimen\jot \jot=3pt +\end{verbatim} + +The following three formulas show this for the default value, \verb|\jot=0pt| and \verb|\jot=10pt|. + +\begin{minipage}{0.3\linewidth} +\begin{eqnarray*} + y & = & d\\ + y & = & c\frac{1}{x}+d\\ + y & = & b\frac{1}{x^{2}}+cx+d\\ +\end{eqnarray*} +\end{minipage}\hfill +\begin{minipage}{0.3\linewidth} +\jot=0pt +\begin{eqnarray*} + y & = & d\\ + y & = & c\frac{1}{x}+d\\ + y & = & b\frac{1}{x^{2}}+cx+d\\ +\end{eqnarray*} +\end{minipage}\hfill +\begin{minipage}{0.3\linewidth} +\jot=10pt +\begin{eqnarray*} + y & = & d\\ + y & = & c\frac{1}{x}+d\\ + y & = & b\frac{1}{x^{2}}+cx+d\\ +\end{eqnarray*} +\end{minipage} + +Defining a new environment with a parameter makes things easier, because changes to the +length are locally. +\begin{lstlisting} +\newenvironment{mathspace}[1]{% + \setlength{\jot}{#1}% + \ignorespaces% +}{% + \ignorespacesafterend% +} +\end{lstlisting} + +\paragraph{\CMD{arraystretch}}\cIndex{arraystretch} +\marginpar{\CMD{arraystretch}}% +The vertical space between the lines for all math expressions which contain an +\verb+array+ environment can be changed with the command +\verb|\arraystretch|, which is predefined +as +\begin{verbatim} +\def\arraystretch{1} +\end{verbatim} + +Renewing this definition is global to all following math expressions, so it should be used +in the same way as \verb+\jot+. + +\paragraph{\CMD{vskip}}\cIndex{vskip}\index{Vertical spacing}\index{Spacing!vertical} +Another spacing for single lines is possible with the \CMD{vskip} macro: + +\begin{LTXexample}[width=0.4\linewidth] +\[ +\begin{pmatrix} +0 & 1 & 1 & 0 & 0 & 1 \\ +1 & 0 & 0 & 1 & 1 & 0 \\ +\noalign{\vskip2pt} +0 & 1 & 1 & 0 & \dfrac{1}{\sqrt{2}} & 1\\ +\noalign{\vskip2pt} +1 & 0 & 1 & 0 & 1 & 0 \\ +0 & 1 & 0 & 1 & 0 & 1 \\ +\end{pmatrix} +\] +\end{LTXexample} + + + +\paragraph{Package \texttt{setspace}} +\PIndex{setspace} +To have all formulas with another vertical spacing, one can choose +the package \verb+setspace+ and redefining some of the math macros, e.g. + +\begingroup +\newcommand*\Array[2][1]{\setstretch{#1}\array{#2}} +\let\endArray\endarray + +\begin{lstlisting} +\newcommand*\Array[2][1]{\setstretch{#1}\array{#2}} +\let\endArray\endarray +\end{lstlisting} + +\begin{showexample}[width=0.25\linewidth] +\[ +\begin{Array}[2]{cc} +a =&b\\ +a =&b\\ +a =&b +\end{Array} +\] + +text $\begin{Array}{cc} +a =&b\\ +a =&b\\ +a =&b +\end{Array}$ text +\end{showexample} +\endgroup + +\section{Styles}\label{sec:Styles} + +\begin{table}[htb] +\newlength\formula +\settowidth{\formula}{$f(t)=\frac{T}{2\pi }\int \frac{1}{\sin \frac{\omega }{t}}dt$} +\begin{tabular}{l|ll} +Mode & Inline & Displayed\\\hline +default & $f(t)=\frac{T}{2\pi}\int\frac{1}{\sin\frac{\omega}{t}}dt$& +\begin{minipage}{\formula}\[ +f(t)=\frac{T}{2\pi}\int\frac{1}{\sin\frac{\omega}{t}}dt\] +\end{minipage}\\ +\CMD{displaystyle} & +${\displaystyle f(t)=\frac{T}{2\pi}\int\frac{1}{\sin\frac{\omega}{t}}dt}$& +\begin{minipage}{\formula}\[ +{\displaystyle f(t)=\frac{T}{2\pi}\int\frac{1}{\sin\frac{\omega}{t}}dt}\] +\end{minipage}\\ +\CMD{scriptstyle} & +${\scriptstyle {\textstyle f(t)=\frac{T}{2\pi}\int\frac{1}{\sin\frac{\omega}{t}}dt}}$& +\begin{minipage}{\formula}\[ +{\textstyle {\scriptstyle f(t)=\frac{T}{2\pi}\int\frac{1}{\sin\frac{\omega}{t}}dt}}\] +\end{minipage}\tabularnewline +\CMD{scriptscriptstyle} & +${\scriptscriptstyle f(t)=\frac{T}{2\pi}\int\frac{1}{\sin\frac{\omega}{t}}dt}$& +\begin{minipage}{\formula}\[ +{\scriptscriptstyle f(t)=\frac{T}{2\pi}\int\frac{1}{\sin\frac{\omega}{t}}dt}\] +\end{minipage}\tabularnewline +\CMD{textstyle} & +${\textstyle f(t)=\frac{T}{2\pi}\int\frac{1}{\sin\frac{\omega}{t}}dt}$& +\begin{minipage}{\formula}\[ +{\textstyle f(t)=\frac{T}{2\pi}\int\frac{1}{\sin\frac{\omega}{t}}dt}\] +\end{minipage} +\end{tabular} +\caption{Math styles}\label{cap:Mathstyles} +\end{table} + +\makeatletter +\newenvironment{smallequation}[1]{% + \skip@=\baselineskip + #1% + \baselineskip=\skip@ + \equation +}{\endequation \ignorespacesafterend} +\makeatother + +This depends on the environment in which they are used. An inline +formula has a default math % +\marginpar{\CMD{textstyle}\\ +\CMD{displaystyle}\\ +\CMD{scriptstyle}\\ +\CMD{scripscriptstyle}} fontsize called \CMD{textstyle}\index{textstyle@\textbackslash textstyle}, +which is smaller than the one for a display formula (see section \ref{display}), which is called +\CMD{displaystyle}\index{displaystyle@\textbackslash displaystyle}. +Beside this predefinition there are two other special fontstyles for +math, \CMD{scriptstyle}\index{scriptstyle@\textbackslash scriptstyle} +and \CMD{scriptscriptstyle}\index{scriptscriptstyle@\textbackslash scriptscriptstyle}. +They are called ``style{}'' in difference to ``size{}'', because +they have a dynamic character, their real fontsize belongs to the +environment in which they are used. A fraction for example is by default in scriptstyle when it is in an +inline formula like this $\frac{a}{b}$, which can be changed to +${\displaystyle \frac{a}{b}}$. +This may be in some cases useful but it looks in general ugly because +the line spacing is too big. +These four styles\index{Style} are predefined and together in a +logical relationship. It is no problem to use the other styles like +\CMD{large}\index{large@\textbackslash large}, +\CMD{Large}\index{Large@\textbackslash Large}, +... \textbf{outside} the math environment. For example a fraction written with +\CMD{Huge}\index{Huge@\textbackslash Huge}: {\Huge$\frac{a}{b}$} +(\verb|\Huge$\frac{a}{b}$|). This may cause some problems when you want to write +a displayed formula in another fontsize\index{Font size}, because it also affects the interline spacing of +the preceding part of the paragraph. +If you end the paragraph, you get problems with spacing and page breaking +above the equations. So it is better to declare the font size and then +restore the baselines: +\begin{smallequation}{\tiny} +\int_1^2\,\frac{1}{x^2}\,dx=0.5 +\end{smallequation} +\begin{lstlisting} +\makeatletter +\newenvironment{smallequation}[1]{% + \skip@=\baselineskip + #1% + \baselineskip=\skip@ + \equation +}{\endequation \ignorespacesafterend} +\makeatother + +\begin{smallequation}{\tiny} +\int_1^2\,\frac{1}{x^2}\,dx=0.5 +\end{smallequation} +\end{lstlisting} +If you use this the other way round for huge fontsizes, don't forget to load package +\verb+exscale+ (see section~\vref{sec:exscale}). Also see this section for diffent symbol sizes. + + + +\section{Dots\label{sec:Dots}} + +\marginpar{\CMD{cdots}\\ +\CMD{dots}\\ +\CMD{dotsb}\\ +\CMD{dotsc}\\ +\CMD{dotsi}\\ +\CMD{dotsm}\\ +\CMD{dotso}\\ +\CMD{ldots}\\ +\CMD{vdots}}% +In addition to the above decorations there are some more different +dots which are single commands and not by default over/under a letter. +It is not easy to see the differences between some of them. Dots from +lower left to upper right are possible with \verb|\reflectbox{$\ddots$}|\index{reflectbox@\textbackslash reflectbox} +\reflectbox{$\ddots$} + +\begin{table}[htb] +\centering\begin{tabular}{*{5}{rc}} +\CMD{cdots}\index{cdots@\textbackslash cdots}&$\cdots$ & +\CMD{ddots}\index{ddots@\textbackslash ddots}&$\ddots$ & +\CMD{dotsb}\index{dotsb@\textbackslash dotsb}&$\dotsb$ & +\CMD{dotsc}\index{dotsc@\textbackslash dotsc}&$\dotsc$ & +\CMD{dotsi}\index{dotsi@\textbackslash dotsi}&$\dotsi$ \\\hline +\CMD{dotsm}\index{dotsm@\textbackslash dotsm}&$\dotsm$ & +\CMD{dotso}\index{dotso@\textbackslash dotso}&$\dotso$ & +\CMD{ldots}\index{ldots@\textbackslash ldots}&$\ldots$ & +\CMD{vdots}\index{vdots@\textbackslash vdots}&$\vdots$ +\end{tabular} +\caption{Dots in math mode} +\end{table} + + + +\section{Accents}\label{sec:Accents} + +The letter ``a{}'' is only for demonstration. The table \ref{cap:Accents-in-math mode} +shows all in standard \LaTeX{} available accents and also the ones placed under a character. +With package \verb|amssymb| it is easy to define new accents. For +more information see section \vref{amssymb} or +other possibilities at section \vref{sec:package-accent}. + + +\begin{table}[htb] +\makebox[\textwidth]{% +\begin{tabular}{rc|rc|rc} +\CMD{acute}\index{acute@\textbackslash acute} &$\acute{a}$& +\CMD{bar}\index{bar@\textbackslash bar}&$\bar{a}$& +\CMD{breve}\index{breve@\textbackslash breve} & $\breve{a}$\\ +\CMD{bar}\index{bar@\textbackslash bar}&$\bar{a}$& +\CMD{breve}\index{breve@\textbackslash breve} &$\breve{a}$\tabularnewline +\CMD{check}\index{check@\textbackslash check} &$\check{a}$& +\CMD{dddot} \index{dddot@\textbackslash dddot}&$\dddot{a}$& +\CMD{ddot}\index{ddot@\textbackslash ddot}&$\ddot{a}$\tabularnewline +\CMD{dot}\index{dot@\textbackslash dot}&$\dot{a}$& +\CMD{grave}\index{grave@\textbackslash grave}&$\grave{a}$& +\CMD{hat}\index{hat@\textbackslash hat}&$\hat{a}$\tabularnewline +\CMD{mathring}\index{mathring@\textbackslash mathring}&$\mathring{a}$& +\CMD{overbrace}\index{overbrace@\textbackslash overbrace}&$\overbrace{a}$& +\CMD{overleftarrow}\index{overleftarrow@\textbackslash overleftarrow}&$\overleftarrow{a}$\tabularnewline +\CMD{overleftrightarrow}\index{overleftrightarrow@\textbackslash overleftrightarrow}&$\overleftrightarrow{a}$& +\CMD{overline}\index{overline@\textbackslash overline}&$\overline{a}$& +\CMD{overrightarrow}\index{overrightarrow@\textbackslash overrightarrow}&$\overrightarrow{a}$\tabularnewline +\CMD{tilde}\index{tilde@\textbackslash tilde}&$\tilde{a}$& +\CMD{underbar}\index{underbar@\textbackslash underbar}&$\underbar{a}$& +\CMD{underbrace}\index{underbrace@\textbackslash underbrace}&$\underbrace{a}$\tabularnewline +\CMD{underleftarrow}\index{underleftarrow@\textbackslash underleftarrow}&$\underleftarrow{a}$& +\CMD{underleftrightarrow}\index{underleftrightarrow@\textbackslash underleftrightarrow}& +$\underleftrightarrow{a}$& +\CMD{underline}\index{underline@\textbackslash underline}&$\underline{a}$\tabularnewline +\CMD{underrightarrow}\index{underrightarrow@\textbackslash underrightarrow}&$\underrightarrow{a}$& +\CMD{vec}\index{vec@\textbackslash vec}&$\vec{a}$& +\CMD{widehat}\index{widehat@\textbackslash widehat}&$\widehat{a}$\tabularnewline +\CMD{widetilde}\index{widetilde@\textbackslash widetilde}&$\widetilde{a}$ & & & & +\end{tabular}% +} +\caption{Accents in math mode}\label{cap:Accents-in-math mode} +\end{table} + +The letters \verb+i+ and \verb+j+ can be substituted with the macros \verb+\imath+ and \verb+\jmath+ when an accents is placed over these letters and the dot should +disappear: $\vec{\imath}\ \dddot{\jmath}$ (\verb+$\vec{\imath}\ \dddot{\jmath}$+). +\index{imath@\textbackslash imath}\index{jmath@\textbackslash jmath} + +Accents can be used in different ways, e.g. strike a single character with a horizontal line like +\verb+$\mathaccent`-A$+: $\mathaccent`-A$ or \verb+$\mathaccent\mathcode`-A$+: $\mathaccent\mathcode`-A$. +In section \vref{cancel.sty} is a better solution for more than one character. + +\subsection{Over- and underbrackets} +There are no \CMD{underbracket}\index{underbracket@\textbackslash{}underbracket} and \CMD{overbracket}\index{overbracket@\textbackslash{}overbracket} +commands in the list of accents. They can be defined in the preamble +with the following code. + +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1cm] +\makeatletter +\def\underbracket{% + \@ifnextchar[{\@underbracket}{\@underbracket [\@bracketheight]}% +} +\def\@underbracket[#1]{% + \@ifnextchar[{\@under@bracket[#1]}{\@under@bracket[#1][0.4em]}% +} +\def\@under@bracket[#1][#2]#3{%\message {Underbracket: #1,#2,#3} + \mathop{\vtop{\m@th \ialign {##\crcr $\hfil \displaystyle {#3}\hfil $% + \crcr \noalign {\kern 3\p@ \nointerlineskip }\upbracketfill {#1}{#2} + \crcr \noalign {\kern 3\p@ }}}}\limits} +\def\upbracketfill#1#2{$\m@th \setbox \z@ \hbox {$\braceld$} + \edef\@bracketheight{\the\ht\z@}\bracketend{#1}{#2} + \leaders \vrule \@height #1 \@depth \z@ \hfill + \leaders \vrule \@height #1 \@depth \z@ \hfill \bracketend{#1}{#2}$} +\def\bracketend#1#2{\vrule height #2 width #1\relax} +\makeatother +\end{lstlisting} + +\begin{enumerate} +\item \verb/\underbrace{...}/ is an often used command: +\begin{eqnarray} +\underbrace{{x^{2}+2x+1}} & = & f(x)\\ +\left(x+1\right)^{2}\,\,\,\nonumber +\end{eqnarray} + +\item Sometimes an under\textbf{bracket} is needed, which can be used in + more ways than \verb/\underbrace{...}/. An example for \verb/\underbracket{...}/: + + +\begin{eqnarray*} +\textrm{Hate Science }& \underbracket[0.5pt]{1\rightarrow2\rightarrow3\rightarrow4} + \underbracket[0.75pt][0.75em]{\rightarrow5\rightarrow6\rightarrow7} + \underbracket[1pt][1em]{\rightarrow8\rightarrow9\rightarrow10} & \textrm{Love Science}\\ + & \textrm{low}\hspace{1.5cm}\textrm{medium}\hspace{1.5cm}\textrm{high} + \end{eqnarray*} + + +\end{enumerate} + +\subsubsection{Use of \CMD{underbracket\{...\}}} + +The \verb/\underbracket{...}/ command has two optional parameters: + +\begin{itemize} +\item the line thickness in any valid latex unit, e.g. \verb/1pt/ +\item the height of the edge brackets, e.g. \verb/1em/ +\end{itemize} +using without any parameters gives the same values for thickness and +height as predefined for the \verb/\underbrace/ command. + + +\vspace{0.3cm} +\begin{center} +\begin{tabular}{|c|c|c|} +\hline +1.& \verb/$\underbracket{foo~bar}$/ & $\underbracket{foo~bar}$ \tabularnewline\hline +2.& \verb/$\underbracket[2pt]{foo~bar}$/ & $\underbracket[2pt]{foo~bar}$ \tabularnewline\hline +3.& \verb/$\underbracket[2pt][1em] {foo~bar}$/& $\underbracket[2pt][1em] {foo~bar}$\tabularnewline\hline +\end{tabular} +\end{center} + + +\subsubsection{Overbracket} + +In addition to the underbracket an overbracket is also useful, which can be used in +more ways than \verb/\overbrace{...}/. For example: + + +\begin{eqnarray*} +\textrm{Hate Science }& \overbracket[0.5pt]{1\rightarrow2\rightarrow3\rightarrow4} + \overbracket[0.75pt][0.75em]{\rightarrow5\rightarrow6\rightarrow7} + \overbracket[1pt][1em]{\rightarrow8\rightarrow9\rightarrow10} & \textrm{Love Science}\\ + & \textrm{low}\hspace{1.5cm}\textrm{medium}\hspace{1.5cm}\textrm{high}\nonumber + \end{eqnarray*} + + +The \verb/\overbracket{...}/ command has two optional parameters: + +\begin{itemize} +\item the line thickness in any valid latex unit, e.g. \verb/1pt/ +\item the height of the edge brackets, e.g. \verb/1em/ +\end{itemize} +using without any parameters gives the same values for thickness and +height as predefined for the \verb/\overbrace/ command. + + +\vspace{0.3cm} +\begin{center}\begin{tabular}{|c|c|c|} +\hline +1.&\verb/$\overbracket {foo\ bar}$/ & $\overbracket {foo\ bar}$ \tabularnewline\hline +2.&\verb/$\overbracket[2pt] {foo\ bar}$/ &$\overbracket[2pt] {foo\ bar}$ \tabularnewline\hline +3.&\verb/$\overbracket[2pt] [1em] {foo\ bar}$/&$\overbracket[2pt] [1em] {foo\ bar}$\tabularnewline\hline +\end{tabular} +\end{center} + + +\subsection{Vectors} + +Especially for vectors\index{Vector} there is the \verb|esvect.sty|\index{esvect.sty}% +\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/contrib/esvect/}% + {CTAN://macros/latex/contrib/esvect/}} package, which looks better than the +\CMD{overrightarrow}\index{overrightarrow@\textbackslash overrightarrow}, f.ex: + +\begin{table}[htb] +\centering\begin{tabular}{c|c} +\textbackslash{}vv\{...\}&\textbackslash{}overrightarrow\{...\}\tabularnewline\hline +$\vv{a}$ & $\overrightarrow{a}$\tabularnewline +$\vv{abc}$ & $\overrightarrow{abc}$\tabularnewline +$\vv{\imath}$ & $\overrightarrow{\imath}$\tabularnewline +$\vv*{A}{x}$ & $\overrightarrow{A}_{x}$\tabularnewline +\end{tabular} +\caption{Vectors with package \texttt{esvect.sty} (in the right column the +default one from \LaTeX{})} +\end{table} + + +Look into the documentation for more details about \verb|esvect.sty|. + +\section{Exponents and indices}\label{sec:exponents} +The two active characters \verb|_| and \verb|^| can only be used in math mode. The +\textbf{following} character will be printed as an index (\verb|$y=a_1x+a_0$|: $y=a_1x+a_0$) +or as an exponent (\verb|$x^2+y^2=r^2$|: $x^2+y^2=r^2$). For more than the next character +put it inside of \verb|{}|, like \verb|$a_{i-1}+a_{i+1}<a_i$|: $a_{i-1}+a_{i+1}<a_i$. + +Especially for multiple exponents \index{Multiple exponents} +there are several possibilities. For example: +\begin{equation} +((x^2)^3)^4 = {({(x^2)}^3)}^4 = {\left({\left(x^2\right)}^3\right)}^4 +\end{equation} + +\begin{lstlisting} +((x^2)^3)^4 = +{({(x^2)}^3)}^4 = +{\left({\left(x^2\right)}^3\right)}^4 +\end{lstlisting} + +For variables with both exponent\index{Exponent} and indices index\index{Indices} the order is not important, \verb|$a_1^2$| is +exactly the same than \verb|$a^2_1$|: $a_1^2=a^2_1$ + + +\section{Operators}\label{sec:ltxOperators} + +They are written in upright font shape and are placed with some additional +space before and after for a better typesetting. With the \AmSmath +package it is possible to define one's own operators\index{Operator} (see +section \vref{OperatorNames}). Table~\vref{tab:operator} and \vref{tab:operator2} show a list of +the predefined ones for standard \LaTeX{}. + +\begin{table}[htb] +\centering +\begin{tabular}{llllll} +\verb+\coprod+ &$\coprod$ &\verb+\bigvee+ &$\bigvee$ &\verb+\bigwedge+&$\bigwedge$\\ +\verb+\biguplus+&$\biguplus$&\verb+\bigcap+ &$\bigcap$ &\verb+\bigcup+ &$\bigcup$ \\ +\verb+\intop+ &$\intop$ &\verb+\int+ &$\int$ &\verb+\prod+ &$\prod$ \\ +\verb+\sum+ &$\sum$ &\verb+\bigotimes+&$\bigotimes$&\verb+\bigoplus+&$\bigoplus$\\ +\verb+\bigodot+ &$\bigodot$ &\verb+\ointop+ &$\ointop$ &\verb+\oint+ &$\oint$\\ +\verb+\bigsqcup+&$\bigsqcup$&\verb+\smallint+ &$\smallint$ +\end{tabular} +\caption{The predefined operators of \texttt{fontmath.ltx}}\label{tab:operator} +\end{table} +The difference between \verb+\intop+ and \verb+\int+ is that the first one has by default +over/under limits and the second subscript/superscript limits. Both can be changed +with the \verb+\limits+ or \verb+\nolimits+ command. The same behaviour happens to the +\verb+\ointop+ and \verb+\oint+ Symbols. + +\begin{table}[htb] +\centering +\begin{tabular}{llllll} +\verb+\log+ & $\log$ &\verb+\lg+ & $\lg$ &\verb+\ln+ & $\ln$ \\ +\verb+\lim+ & $\lim$ &\verb+\limsup+ & $\limsup$ &\verb+\liminf+ & $\liminf$ \\ +\verb+\sin+ & $\sin$ &\verb+\arcsin+ & $\arcsin$ &\verb+\sinh+ & $\sinh$ \\ +\verb+\cos+ & $\cos$ &\verb+\arccos+ & $\arccos$ &\verb+\cosh+ & $\cosh$ \\ +\verb+\tan+ & $\tan$ &\verb+\arctan+ & $\arctan$ &\verb+\tanh+ & $\tanh$ \\ +\verb+\cot+ & $\cot$ &\verb+\coth+ & $\coth$ &\verb+\sec+ & $\sec$ \\ +\verb+\csc+ & $\csc$ &\verb+\max+ & $\max$ &\verb+\min+ & $\min$ \\ +\verb+\sup+ & $\sup$ &\verb+\inf+ & $\inf$ &\verb+\arg+ & $\arg$ \\ +\verb+\ker+ & $\ker$ &\verb+\dim+ & $\dim$ &\verb+\hom+ & $\hom$ \\ +\verb+\det+ & $\det$ &\verb+\exp+ & $\exp$ &\verb+\Pr+ & $\Pr$ \\ +\verb+\gcd+ & $\gcd$ &\verb+\deg+ & $\deg$ &\verb+\bmod+ & $\bmod$ \\ +\verb+\pmod{a}+& $\pmod{a}$ +\end{tabular} +\caption{The predefined operators of \texttt{latex.ltx}}\label{tab:operator2} +\end{table} + + +\makeatletter +\newcommand\foo{\mathop{\operator@font foo}\nolimits} +\makeatother +For more predefined operator names see table~\vref{tab:amsopn}. It is easy to define a new operator with +\begin{lstlisting} +\makeatletter +\newcommand\foo{\mathop{\operator@font foo}\nolimits} +\makeatother +\end{lstlisting} + +Now you can use \verb|\foo| in the usual way: +\begin{showexample}[width=4cm] +\[ \foo_1^2 = x^2 \] +\end{showexample} +In this example \verb|\foo| is defined with \verb|\nolimits|, means that limits\index{Limits} are placed in +superscript/subscript mode and not over under. This is still possible with \verb|\limits| in the +definition or the equation: +\begin{showexample}[width=4cm] +\[ \foo\limits_1^2 = x^2 \] +\end{showexample} + +\AmSmath has an own macro for a definition, have a look at section \vref{OperatorNames}. + + +\section{Greek letters}\label{sec:greek} +The \AmSmath package simulates a bold font for the greek letters, it writes a greek character twice with a small kerning. The \verb|\mathbf{<character>}| doesn't work with lower greek character. See +section \vref{sec:greek-AMS} for the \verb|\pmb| macro, which makes it possible to print bold lower greek\index{Greek} letters. Not all upper case letters have own macro names. If there is no difference to the roman font, then the default letter is used, e.g.: A for the upper case of +$\alpha$. Table \ref{tab:greek-letters} shows only those upper case letters which have own macro names. Some of the lower case letters have an additional \verb|var| option for +an alternative. + +\bgroup +\tabcolsep=3pt +\begin{longtable}{lclccc} +lower & default & upper & default & \verb|\mathbf| & \verb|\mathit|\\\hline +\endhead +\verb|\alpha| & $\alpha$ \\ +\verb|\beta| & $\beta$ \\ +\verb|\gamma| & $\gamma$ + & \verb|\Gamma| & $\Gamma$ & $\mathbf{\Gamma}$ & $\mathit{\Gamma}$\\ +\verb|\delta| & $\delta$ + & \verb|\Delta| & $\Delta$ & $\mathbf{\Delta}$ & $\mathit{\Delta}$\\ +\verb|\epsilon| & $\epsilon$\\ +\verb|\varepsilon| & $\varepsilon$\\ +\verb|\zeta| & $\zeta$\\ +\verb|\eta| & $\eta$ \\ +\verb|\theta| & $\theta$ + & \verb|\Theta| & $\Theta$ & $\mathbf{\Theta}$ & $\mathit{\Theta}$\\ +\verb|\vartheta| & $\vartheta$\\ +\verb|\iota| & $\iota$\\ +\verb|\kappa| & $\kappa$\\ +\verb|\delta| & $\lambda$ + & \verb|\Lambda| & $\Lambda$ & $\mathbf{\Lambda}$ & $\mathit{\Lambda}$\\ +\verb|\mu| & $\mu$ \\ +\verb|\nu| & $\nu$\\ +\verb|\xi| & $\xi$ + & \verb|\Xi| & $\Xi$ & $\mathbf{\Xi}$ & $\mathit{\Xi}$\\ +\verb|\pi| & $\pi$ + & \verb|\Pi| & $\Pi$ & $\mathbf{\Pi}$ & $\mathit{\Pi}$\\ +\verb|\varpi| & $\varpi$ \\ +\verb|\rho| & $\rho$\\ +\verb|\varrho| & $\varrho$\\ +\verb|\sigma| & $\sigma$ + & \verb|\Sigma| & $\Sigma$ & $\mathbf{\Sigma}$ & $\mathit{\Sigma}$\\ +\verb|\varsigma| & $\varsigma$\\ +\verb|\tau| & $\tau$\\ +\verb|\upsilon| & $\upsilon$ + & \verb|\Upsilon| & $\Upsilon$ & $\mathbf{\Upsilon}$ & $\mathit{\Upsilon}$\\ +\verb|\phi| & $\phi$ + & \verb|\Phi| & $\Phi$ & $\mathbf{\Phi}$ & $\mathit{\Phi}$\\ +\verb|\varphi| & $\varphi$\\ +\verb|\chi| & $\chi$ \\ +\verb|\psi| & $\psi$ + & \verb|\Psi| & $\Psi$ & $\mathbf{\Psi}$ & $\mathit{\Psi}$\\ +\verb|\omega| & $\omega$ + & \verb|\Omega| & $\Omega$ & $\mathbf{\Omega}$ & $\mathit{\Omega}$\\[5pt] +\caption{The greek letters}\label{tab:greek-letters}\\ +\end{longtable} +\egroup + +Bold greek letters are possible with the package \verb+bm+ (see section \vref{sec:bm}) +and if they should also be upright with the package \verb+upgreek+: +\index{greek}\index{greek!upright}\index{greek!bold} + +\medskip +\verb+$\bm{\upalpha}, \bm{\upbeta} ... $+ $ \bm{\upalpha}, \bm{\upbeta} ... $ + + + + +\section{Pagebreaks} +\marginpar{\CMD{allowdisplaybreaks}}By default a displayed formula cannot have a pagebreak. This makes some sense, but sometimes it gives a better typesetting when a pagebreak is possible. + +\begin{verbatim} +\allowdisplaybreaks +\end{verbatim} + +\index{allowdisplaybreaks@\textbackslash allowdisplaybreaks} This macro enables \TeX{} to insert pagebreaks into displayed formulas whenever a newline command appears.\index{Pagebreak} With the command \verb+\displaybreak+ it is also possible to insert a pagebreak at any place.\index{displaybreak@\textbackslash displaybreak} + +\section{\CMD{stackrel}} + +\CMD{stackrel}\index{stackrel@\textbackslash stackrel} +puts a character on top of another one which may be important if a +used symbol is not predefined. For example ``$\stackrel{\wedge}{=}$'' +(\verb|\stackrel{\wedge}{=}|). +The syntax is + + +\begin{lstlisting} +\stackrel{top}{base} +\end{lstlisting} +Such symbols may be often needed so that a macro definition in the preamble makes some sense: + +\begin{lstlisting} +\newcommand{\eqdef}{% + \ensuremath{% + \stackrel{\mathrm{def}}{=}% + }% +} +\end{lstlisting} +With the \CMD{ensuremath}\index{ensuremath@\textbackslash ensuremath} +command we can use the new \CMD{eqdef} command in text +and in math mode, \LaTeX{} switches automatically in math mode, which +saves some keystrokes like the following command, which is written +without the delimiters (\texttt{\$...\$}) for the math mode \eqdef , +only \CMD{eqdef} with a space at the end. In math mode +together with another material it may look like $\vec{x}\eqdef\left(x_{1},\ldots,x_{n}\right)$ and as command sequence + +\begin{lstlisting} +$\vec{x}\eqdef\left(x_{1},\ldots,x_{n}\right)$ +\end{lstlisting} + +The fontsize of the top is one size smaller than the one from the +base, but it is no problem to get both the same size, just increase the +top or decrease the base. + +\section{\CMD{choose}} + +\CMD{choose}\index{choose@\textbackslash choose}\index{Binom} +is like \CMD{atop}\index{atop@\textbackslash atop} +with delimiters or like \CMD{frac}\index{frac@\textbackslash frac} +without the fraction line and also with delimiters. It is often used +for binoms and has the following syntax: + +\begin{lstlisting} +{above \choose below} +\end{lstlisting} +The two braces are not really important but it is safe to use them. + +\begin{equation} +{{m+1 \choose n}}={{m \choose n}}+{{m \choose k-1}}\label{eq:choose} +\end{equation} + +\begin{lstlisting} +{{m+1 \choose n}}={{m \choose n}}+{{m \choose k-1}}\label{eq:choose} +\end{lstlisting} + + +See section \vref{sub:Binoms} for the \AmSmath equivalents and enhancements. + +\section{Color in math expressions}\label{sec:color} +\index{Color}There is no difference in using colored text and colored math expressions. With +\begin{verbatim} +\usepackage{color} +\end{verbatim} + +\noindent in the preamble the macro \verb|\textcolor{<color>}{<text or math>}| exists. +\begin{equation} +\textcolor{blue}{f(x)} = \int\limits_1^{\infty}\textcolor{red}{\frac{1}{x^2}}\,dx=1 +\end{equation} + +\begin{lstlisting} +\begin{equation} +\textcolor{blue}{f(x)} = \int\limits_1^{\infty}\textcolor{red}{\frac{1}{x^2}}\,dx=1 +\end{equation} +\end{lstlisting} + +If all math expressions should be printed in the same color, then it is better +to use the \verb+everydisplay+ macro (section~\vref{sec:other}). + + +\section{Boldmath}\label{sec:boldmath} + +\marginpar{\CMD{mathversion}\\\CMD{boldmath}\\\CMD{unboldmath}}% +Writing a whole formula in bold\index{boldmath@\textbackslash boldmath} is possible with the command sequence +\verb|\boldmath ... \unboldmath|, which itself must be written in textmode (outside the +formula) or with the command \verb+{\mathversion{bold} ... }+. +\index{mathversion@\textbackslash mathversion}\index{boldmath@\textbackslash +boldmath}\index{unboldmath@\textbackslash unboldmath} + +\noindent\begin{minipage}{0.49\linewidth} +\[ +\sum_{% + \makebox[0pt]{$% + {{\scriptscriptstyle 1\le j\le p\atop {% + {1\le j\le q\atop 1\le k\le r}}}}% + $}% + }a_{ij}b_{jk}c_{ki} +\] +\end{minipage}\hfill +\begin{minipage}{0.49\linewidth} +\boldmath +\[ +\sum_{% + \makebox[0pt]{$% + {{\scriptscriptstyle 1\le j\le p\atop {% + {1\le j\le q\atop 1\le k\le r}}}}% + $}% + }a_{ij}b_{jk}c_{ki} +\] +\unboldmath +\end{minipage} + +\medskip +\begin{lstlisting} +\boldmath +\[ +\sum_{% + \makebox[0pt]{$% + {{\scriptscriptstyle 1\le j\le p\atop {% + {1\le j\le q\atop 1\le k\le r}}}}% + $}% + }a_{ij}b_{jk}c_{ki} +\] +\unboldmath +\end{lstlisting} + +The \verb+\mathversion+ macro defines a math style which is valid for all following +math expressions. If you want to have all math in bold then use this macro instead of +\verb+\boldmath+. But it is no problem to put \verb+\mathversion+ inside a group to hold +the changes locally. + +{\mathversion{bold}% +\begin{equation} +y(x) = ax^3+bx^2+cx+d +\end{equation}} + +\begin{lstlisting} +{\mathversion{bold}% +\begin{equation} +y(x) = ax^3+bx^2+cx+d +\end{equation}} +\end{lstlisting} + + +Single characters inside a formula can be written in bold with \verb|mathbf|, but only in upright mode, which is in general not useful as shown in equation~\ref{eq:bold}. It is better +to use package \verb|bm.sty| (see section \vref{sec:bm}). + +\begin{equation}\label{eq:bold} +\sum_{% + \makebox[0pt]{$% + {{\scriptscriptstyle 1\le j\le p\atop {% + {1\le j\le q\atop 1\le k\le r}}}}% + $}% + }a_{ij}\mathbf{b_{jk}}c_{ki} +\end{equation} + +\subsection[Bold math titles and items]{Bold math expressions as part of titles and items}\label{sec:titleItem} +By default the titles in sections, subsections, a.s.o. are printed in bold. Same for the +\verb|description| environment. The problem is that a math expression in one of these +environments is printed in default font shape, like the following example for a \verb|section| and +\verb|description| environment: + +\medskip +\fbox{% +\begin{minipage}{.75\linewidth} +\section*{\thesection\ Function $f(x)=x^2$} +\begin{description} +\item[This is $y=f(x)$] Only a demonstration. +\item[And $z=f(x,y)$] Another demonstration. +\end{description} +\end{minipage}% +} + +\medskip +With a redefinition of the \verb|section| and \verb|item| macros it is possible to get everything in bold font. + +\medskip +\fbox{% +\begin{minipage}{.75\linewidth} +\let\itemOld\item +\makeatletter +\renewcommand\item[1][]{% + \def\@tempa{#1} + \ifx\@tempa\@empty\itemOld\else\boldmath\itemOld[#1]\unboldmath\fi% +} +\makeatother +\section*{\thesection\ \boldmath Function $f(x)=x^2$\unboldmath} +\begin{description} +\item[This is $y=f(x)$] Only a demonstration. +\item[And $z=f(x,y)$] Another demonstration. +\end{description} +\end{minipage}% +} + + +\medskip +\begin{lstlisting} +\let\itemOld\item +\makeatletter +\renewcommand\item[1][]{% + \def\@tempa{#1} + \ifx\@tempa\@empty\itemOld\else\boldmath\itemOld[#1]\unboldmath\fi% +} +\makeatother +\let\sectionOld\section +\renewcommand\section[2][\empty]{% + \boldmath\sectionOld[#1]{#2}\unboldmath% +} +\end{lstlisting} + +\section{Multiplying numbers} +When the dot is used as the decimal marker as in the United States, the preferred sign +for the multiplication of +numbers or values of quantities is a cross (\verb|\times| $\times$ ), not a half-high and +centered dot (\verb|\cdot| $\cdot$ ). + +When the comma is used as the decimal marker as in Europe, the preferred sign for the +multiplication of +numbers is the half-high dot. The multiplication of quantity symbols (or numbers in +parentheses or values of +quantities in parentheses) may be indicated in one of the following ways: $ab$, +$a\cdot b$, $a\times b$. + +For more information see ``Nist Guide to SI Units -More on Printing and Using Symbols and +Numbers in Scientific and +Technical Documents''\footnote{\url{http://physics.nist.gov/Pubs/SP811/sec10.html}} or +the German DIN 1304, Teil 1. + + +\section{Other macros}\label{sec:other} +\marginpar{\CMD{everymath}\\\CMD{everydisplay}\\\CMD{underline}}% +There are some other macros which are not mentioned in the foregoing text. Here comes +a not really complete list of these macros. +\begin{description} +\item[\CMD{everymath}] \index{everymath@\textbackslash everymath} puts the argument before +any inlined math expression, e.g. \verb+\everymath{\small}+. +\item[\CMD{everydisplay}] \index{everydisplay@\textbackslash everydisplay} puts the +argument before any displayed math expression, e.g. \verb+\everydisplay{\color{blue}}+. +\item[\CMD{underline}] \index{underline@\textbackslash underline} underlines a math +expression and has to be used inside the math mode. +\[ +\underline{F(x)=\int f(x)\,dx} +\] +\end{description} + + + +\part{\texorpdfstring{\AmSmath}{amsmath} package}\label{par:AMSmath-package} + +In general the \AmS packages are at least a collection of three different ones: +\begin{enumerate} +\item \verb|amsmath.sty| +\item \verb|amssymb.sty| +\item \verb|amsfonts.sty| +\end{enumerate} +In the following only the first one is described in detail. + +The \AmSmath has the following options: + +\bigskip\noindent +\begin{tabularx}{\linewidth}{@{}lX@{}} +\verb+centertags+\index{centertags} & (default) For a split equation, place +equation numbers vertically centered on the total height of the equation.\\\hline +\verb+tbtags+\index{tbtags} & `Top-or-bottom tags' For a split equation, +place equation numbers level with the last (resp. first) line, if +numbers are on the right (resp. left).\\\hline +\verb+sumlimits+\index{sumlimits} & (default) Place the subscripts and superscripts +of summation symbols above and below, in displayed equations. This +option also affects other symbols of the same type -- $\prod$, $\coprod$, +$\bigotimes$, $\bigoplus$, and so forth -- but excluding integrals +(see below).\\\hline +\verb+nosumlimits+\index{nosumlimits} & Always place the subscripts and +superscripts of summation-type symbols to the side, even in displayed +equations.\\\hline +\verb+intlimits+\index{intlimits} & Like sumlimits, but for integral symbols.\\\hline +\verb+nointlimits+\index{nointlimits} & (default) Opposite of intlimits.\\\hline +\verb+namelimits+\index{namelimits} & (default) Like sumlimits, but for +certain `operator names' such as \verb+det+, \verb+inf+, \verb+lim+, \verb+max+, \verb+min+, that traditionally +have subscripts placed underneath when they occur in a displayed equation.\\\hline +\verb+nonamelimits+\index{nonamelimits} & Opposite of namelimits.\\\hline +\end{tabularx} +\bigskip + +To use one of these package options, put the option name in the optional +argument, e.g., +\verb|\usepackage[intlimits]{amsmath}|. The %%% ----- Martin ----- +\AmSmath also recognises the following options which are normally +selected (implicitly or explicitly) through the \verb|documentclass| +command, and thus need not be repeated in the option list of the \verb|\usepackage{amsmath}| statement. %%% ----- Martin ----- + +\bigskip\noindent +\begin{tabularx}{\linewidth}{@{}lX@{}} +\verb+leqno+\index{leqno} & Place equation numbers on the left.\\\hline +\verb+reqno+\index{reqno} & (default) Place equation numbers on the right.\\\hline +\verb+fleqn+\index{fleqn} & Position equations at a fixed indent from the +left margin rather than centered in the text column. \AmSmath defines the +length \CMD{mathindent} and uses it when the equations have only one +tabbing character (\verb+&+).\index{mathindent@\textbackslash mathindent}\\\hline +\end{tabularx} + +\bigskip\noindent All math environments are displayed ones, so there is no special inline +math. + +\section{\texttt{align} environments} + +There are four different align environments, described in the following +subsections. Their behaviour is shown in table \ref{cap:align}. The +code for all align environments was: + +\begin{lstlisting} +\begin{<name>} + <name> &= x & x &= x\\ + <name> &= x & x &= x +\end{<name>} +\end{lstlisting} + +\begin{table}[htb] +\begin{align*} +\framebox[0.125\columnwidth]{align} &= \framebox[0.125\columnwidth]{x} & \framebox[0.125\columnwidth]{x}&= & \framebox[0.125\columnwidth]{x}\\ +\framebox[0.125\columnwidth]{align}&= \framebox[0.1\columnwidth]{x} & \framebox[0.1\columnwidth]{x} &= \framebox[0.1\columnwidth]{x} +\end{align*} + +\begin{alignat*}{2} +\framebox[0.125\columnwidth]{alignat} &= \framebox[0.125\columnwidth]{x} & \framebox[0.125\columnwidth]{x} &= \framebox[0.125\columnwidth]{x}\\ +\framebox[0.125\columnwidth]{alignat} &= \framebox[0.1\columnwidth]{x} & \framebox[0.1\columnwidth]{x} &= \framebox[0.1\columnwidth]{x} +\end{alignat*} + +\begin{flalign*} +\framebox[0.125\columnwidth]{flalign} &= \framebox[0.125\columnwidth]{x} & \framebox[0.125\columnwidth]{x} &= \framebox[0.125\columnwidth]{x}\\ +\framebox[0.125\columnwidth]{flalign} &= \framebox[0.1\columnwidth]{x} & \framebox[0.1\columnwidth]{x} &= \framebox[0.1\columnwidth]{x} +\end{flalign*} + +\begin{xalignat*}{2} +\framebox[0.125\columnwidth]{xalignat} &= \framebox[0.125\columnwidth]{x} & \framebox[0.125\columnwidth]{x} &= \framebox[0.125\columnwidth]{x}\\ +\framebox[0.125\columnwidth]{xalignat} &= \framebox[0.1\columnwidth]{x} & \framebox[0.1\columnwidth]{x} &= \framebox[0.1\columnwidth]{x} +\end{xalignat*} + +\begin{xxalignat}{2} +\framebox[0.125\columnwidth]{xxalignat} &= \framebox[0.125\columnwidth]{x} & \framebox[0.125\columnwidth]{x} &= \framebox[0.125\columnwidth]{x}\\ +\framebox[0.125\columnwidth]{xxalignat} &= \framebox[0.1\columnwidth]{x} & \framebox[0.1\columnwidth]{x} &= \framebox[0.1\columnwidth]{x} +\end{xxalignat} + +\caption{Comparison between the different align environments +with the same code, where the first three can have an equation number}\label{cap:align} +\end{table} + +In difference to the \verb+eqnarray+ environment from standard \LaTeX{} +(section~\ref{display:eqnarray}), the ``three'' parts +of one equation \verb+expr.-symbol-expr.+ are divided by only one ampersand %%% ----- Martin ----- +in two parts. In general the ampersand should be before the symbol to get the right spacing, e.g. +\verb+y &= x+. Compare the following three equations, the second one has a wrong spacing. %%% ----- Martin ----- + + +\begin{minipage}{0.4\linewidth} +\begin{align} +\rnode[lt]{a}{y} &= \rnode[rt]{A}{x} +\end{align} +\vspace*{-3\abovedisplayskip} +\begin{align} +y =& x +\end{align} +\vspace*{-3\abovedisplayskip} +\begin{align} +\rnode[lb]{b}{y} ={}& \rnode[rb]{B}{x} +\end{align} +\ncline[nodesep=-10pt,linewidth=0.1pt]{A}{B} +\ncline[nodesepA=-11pt,nodesepB=-10pt,linewidth=0.1pt]{a}{b} +\end{minipage} +\hfill\begin{minipage}{0.4\linewidth} +\begin{lstlisting} + y &= x + y =& x + y ={}& x +\end{lstlisting} +\end{minipage} + +\subsection{The default \texttt{align} environment} + +The \texttt{eqnarray} environment has a not so good spacing between +the cells. Writing the equations no. \ref{eq:2} to \ref{eq:5} with +the \texttt{align} environment gives: + +\begin{align} + y & =d\label{eq:IntoSection}\\ + y & =cx+d\\ + y_{12} & =bx^{2}+cx+d\\ + y(x) & =ax^{3}+bx^{2}+cx+d +\end{align} + +\noindent The code looks like: +\begin{lstlisting} +\begin{align} + y & =d\label{eq:IntoSection}\\ + y & =cx+d\\ + y_{12} & =bx^{2}+cx+d\\ + y(x) & =ax^{3}+bx^{2}+cx+d +\end{align} +\end{lstlisting} + +\begin{itemize} +\item The \texttt{align} environment has an implicit \textbf{\{rlrl...\}} +horizontal alignment with a vertical column-alignment, e.g.: +\begin{showexample}[width=0.5\linewidth] +\begin{align*} + 1 & 2 & 3 +\end{align*} +\end{showexample} + +\item A nonumber-version \texttt{\small \textbackslash{}begin\{align{*}\}...\textbackslash{}end\{align{*}\}} +exists. +\item Unnumbered single rows are possible with \CMD{nonumber}. %%% ----- Martin ----- +\item The \texttt{align} environment takes the whole horizontal space if +you have more than two columns: +\begin{align} +y & =d & z & =1\\ +y & =cx+d & z & =x+1\\ +y_{12} & =bx^{2}+cx+d & z & =x^{2}+x+1\nonumber \\ +y(x) & =ax^{3}+bx^{2}+cx+d & z & =x^{3}+x^{2}+x+1 +\end{align} + +\end{itemize} +The code for this example looks like% +\begin{lstlisting} +\begin{align} + y & =d & z & =1\\ + y & =cx+d & z & =x+1\\ + y_{12} & =bx^{2}+cx+d & z & =x^{2}+x+1\nonumber \\ + y(x) & =ax^{3}+bx^{2}+cx+d & z & =x^{3}+x^{2}+x+1 +\end{align} +\end{lstlisting} + +\subsection{\texttt{alignat} environment\label{sec:alignat environment}} +\marginpar{\CMD{begin\{align\}\\...\\\CMD{end\{align\}}}} +\renewcommand{\theequation}{% + \thepart-\arabic{equation}% +} + +\begin{leftbar} +>From now the counting of the equation changes. It is introduced with a foregoing command, +which doesn't really make sense, it is only for demonstration:\\ +\verb|\renewcommand{\theequation}{\thepart-\arabic{equation}}|. +\end{leftbar} + + +This means ``align at several places{}'' and is something like +more than two \verb+align+ environment side by side. +Parameter is the number of the \verb+align+ environments, which +is not important for the user. The +above last \verb+align+ example looks like: + +\begin{alignat}{2} +y & =d & z & =1\label{eq:newCounting}\\ +y & =cx+d & z & =x+1\\ +y_{12} & =bx^{2}+cx+d & z & =x^{2}+x+1\nonumber \\ +y(x) & =ax^{3}+bx^{2}+cx+d\quad & z & =x^{3}+x^{2}+x+1\end{alignat} + + +The parameter was 2 and it is 3 for the following example: %%% ----- Martin ----- + +\begin{alignat}{3} +i_{11} & =0.25 & i_{12} & =i_{21} & i_{13} & =i_{23}\nonumber \\ +i_{21} & =\frac{1}{3}i_{11} & i_{22} & =0.5i_{12} & i_{23} & =i_{31}\\ +i_{31} & =0.33i_{22}\quad & i_{32} & =0.15i_{32}\quad & i_{33} & =i_{11}\end{alignat} + + +For this example the code is: +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{alignat}{3} + i_{11} & =0.25 & i_{12} & =i_{21} & i_{13} & =i_{23}\nonumber\\ + i_{21} & =\frac{1}{3}i_{11} & i_{22} & =0.5i_{12}& i_{23} & =i_{31}\\ + i_{31} & =0.33i_{22}\quad & i_{32} & =0.15i_{32}\quad & i_{33} & =i_{11} +\end{alignat} +\end{lstlisting} + +With the \verb+alignat+ environment one can easily align equations vertically +at more than one marker: + +\begin{alignat}{3} + abc &= xxx &&= xxxxxxxxxxxx &&= aaaaaaaaa \\ + ab &= yyyyyyyyyyyyyyy &&= yyyy &&= ab +\end{alignat} +\begin{lstlisting} +\begin{alignat}{3} + abc &= xxx &&= xxxxxxxxxxxx &&= aaaaaaaaa \\ + ab &= yyyyyyyyyyyyyyy &&= yyyy &&= ab +\end{alignat} +\end{lstlisting} + + + + +\begin{itemize} +\item The \texttt{alignat} environment has an implicit \{rlrl...rlrl\} +horizontal alignment with a vertical column alignment. +\item A nonumber-version \texttt{\small +\textbackslash{}begin\{alignat{*}\}...\textbackslash{}end\{alignat{*}\}} +exists. +\item Unnumbered single rows are possible with \CMD{nonumber}. %%% ----- Martin ----- +\end{itemize} + +\subsection{\texttt{flalign} environment}\label{ams:flalign} +\marginpar{\CMD{begin\{flalign\}\\...\\\CMD{end\{flalign\}}}}This is the new replacement for the \texttt{xalignat} and \texttt{xxalignat} +environments. It is nearly the same as the \texttt{xalignat} environment, only +more ``out spaced'' and ``left aligned''. + +\begin{showexample}[width=0.5\linewidth] +\begin{flalign} +i_{11} & =0.25\nonumber \\ +i_{21} & =\frac{1}{3}i_{11}\\ +i_{31} & =0.33i_{22} +\end{flalign} +\end{showexample} + +\medskip +As seen, the equations are not really left aligned, when they have only one +ampersand. In this case \verb+flalign+ has the same behaviour as the \verb+align+ +environment. + + +When there are more than one tabbing characters (\verb+&+), then the equations are +really left aligned. This is also an easy way to get an equation with only one +ampersand left aligned, see equation \ref{eq:leftaligned} below. +\begin{flalign} +i_{11} & =0.25 & i_{12} & =i_{21} & i_{13} & =i_{23}\nonumber \\ +i_{21} & =\frac{1}{3}i_{11} & i_{22} & =0.5i_{12} & i_{23} & =i_{31}\\ +i_{31} & =0.33i_{22} & i_{32} & =0.15i_{32} & i_{33} & =i_{11} +\end{flalign} +The code looks like: + +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{flalign} + i_{11} & =0.25 & i_{12} & =i_{21} & i_{13} & =i_{23}\nonumber\\ + i_{21} & =\frac{1}{3}i_{11} & i_{22} & =0.5i_{12}& i_{23} & =i_{31}\\ + i_{31} & =0.33i_{22}\quad & i_{32} & =0.15i_{32}\quad & i_{33} & =i_{11} +\end{flalign} +\end{lstlisting} + +\medskip +This environment can be used to mix centered and left aligned\index{Left aligned} +equations without +using the document wide valid option \verb|fleqn|. +\begin{align}\label{eq:centered} + f(x) & = \int\frac{1}{x^2}\,dx +\end{align} + +\begin{flalign}\label{eq:leftaligned} + f(x) & = \int\frac{1}{x^2}\,dx & +\end{flalign} +Equation \ref{eq:leftaligned} is left aligned in fact of the second tabbing +character \verb|&|. + +\begin{lstlisting} +\begin{align}\label{eq:centered} + f(x) & = \int\frac{1}{x^2}\,dx +\end{align} + +\begin{flalign}\label{eq:leftaligned} + f(x) & = \int\frac{1}{x^2}\,dx & +\end{flalign} +\end{lstlisting} + +Another case is placing text left aligned, whereas the formulas should be right aligned. + +\begin{flalign*} + && 12(x-1)+20(y-3)+14(z-2) &= 0\\ +\text{same as } && 6x+10y+7z &= 0 +\end{flalign*} + +\begin{lstlisting} +\begin{flalign*} + && 12(x-1)+20(y-3)+14(z-2) &= 0\\ +\text{same as } && 6x+10y+7z &= 0 +\end{flalign*} +\end{lstlisting} + + +\subsection{\texttt{xalignat} environment} +\marginpar{\CMD{begin\{xalignat\}\\...\\\CMD{end\{xalignat\}}}}% +This is an obsolete macro but still supported by the \AmSmath package. +Same as \texttt{alignat} environment, only a little more ``out spaced{}''. +\begin{xalignat}{3} +i_{11} & =0.25 & i_{12} & =i_{21} & i_{13} & =i_{23}\nonumber \\ +i_{21} & =\frac{1}{3}i_{11} & i_{22} & =0.5i_{12} & i_{23} & =i_{31}\\ +i_{31} & =0.33i_{22} & i_{32} & =0.15i_{32} & i_{33} & =i_{11} +\end{xalignat} +The same code looks like: + +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{xalignat}{3} + i_{11} & =0.25 & i_{12} & =i_{21} & i_{13} & =i_{23}\nonumber\\ + i_{21} & =\frac{1}{3}i_{11} & i_{22} & =0.5i_{12}& i_{23} & =i_{31}\\ + i_{31} & =0.33i_{22}\quad & i_{32} & =0.15i_{32}\quad & i_{33} & =i_{11} +\end{xalignat} +\end{lstlisting} + +\subsection{\texttt{xxalignat} environment} +\marginpar{\CMD{begin\{xxalignat\}\\...\\\CMD{end\{xxalignat\}}}}% +Like \texttt{xalignat} an obsolete macro but still supported by the \AmSmath package. +Same as \texttt{align} environment, only extremely ``out spaced{}'', +therefore no equation number! +\begin{xxalignat}{3} +i_{11} & =0.25 & i_{12} & =i_{21} & i_{13} & =i_{23}\\ +i_{21} & =\frac{1}{3}i_{11} & i_{22} & =0.5i_{12} & i_{23} & =i_{31}\\ +i_{31} & =0.33i_{22} & i_{32} & =0.15i_{32} & i_{33} & =i_{11} +\end{xxalignat} +The same code looks like: + +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{xxalignat}{3} + i_{11} & =0.25 & i_{12} & =i_{21} & i_{13} & =i_{23}\nonumber\\ + i_{21} & =\frac{1}{3}i_{11} & i_{22} & =0.5i_{12}& i_{23} & =i_{31}\\ + i_{31} & =0.33i_{22} & i_{32} & =0.15i_{32} & i_{33} & =i_{11} +\end{xxalignat} +\end{lstlisting} + +\subsection{\texttt{aligned} environment}\label{sec:aligned} +\marginpar{\CMD{begin\{aligned\}\\...\\\CMD{end\{aligned\}}}}In difference to the \verb|split| environment (section \vref{split})\index{Split equation}, the \verb|aligned| environment allows more than one horizontal alignment but has also only one equation number: +\begin{equation} +\begin{aligned} + 2x+3 &= 7 & 2x+3-3 &=7-3 \\ + 2x &= 4 & \frac{2x}2 &=\frac42\\ + x &= 2 +\end{aligned} +\end{equation} + +\begin{lstlisting} +\begin{equation} +\begin{aligned} + 2x+3 &= 7 & 2x+3-3 &= 7-3 \\ + 2x &= 4 & \frac{2x}2 &= \frac42\\ + x &= 2 +\end{aligned} +\end{equation} +\end{lstlisting} + +The \verb|aligned| environment is similar to the \verb|array|\index{array} environment, there exists no +starred version and it has only one equation number and has to be part of another math environment, which should be \verb|equation| environment. The advantage of \verb|aligned| is the much + better horizontal and vertical spacing. %%% ----- Martin ----- + + +\subsection{Problems} +When using one of the \verb+align+ environments, there should be no \verb+\\+ at the +end of the last line, otherwise you'll get another equation number for this ``empty{}'' line: %%% ----- Martin ----- + +\begin{showexample}[width=0.65\linewidth] +\begin{align} + 2x+3 &= 7\\ +\end{align} +\end{showexample} + +\begin{showexample}[width=0.65\linewidth] +\begin{align} + 2x+3 &= 7 +\end{align} +\end{showexample} +\section{Other environments} + +\subsection{\texttt{gather} environment} +\marginpar{\CMD{begin\{gather\}\\...\\\CMD{end\{gather\}}}} +This is like a multi line environment with no special horizontal alignment. +All rows are centered and can have an own equation number: +\begin{gather} +i_{11}=0.25\\ +i_{21}=\frac{1}{3}i_{11}\nonumber \\ +i_{31}=0.33i_{22} +\end{gather} +For this example the code looks like: +\begin{lstlisting} +\begin{gather} + i_{11} = 0.25\\ + i_{21} = \frac{1}{3}i_{11}\nonumber\\ + i_{31} =0.33i_{22} +\end{gather} +\end{lstlisting} + +\begin{itemize} +\item The \texttt{gather}\index{gather} environment has an implicit \texttt{\{c\}} +horizontal alignment with no vertical column alignment. It is just +like an one column array/table. +\item A nonumber-version \texttt{\small \textbackslash{}begin\{gather{*}\}...\textbackslash{}end\{gather{*}\}} +exists. +Look at section \vref{split} for an example. +\end{itemize} + +\subsection{\texttt{multline} environment} +\marginpar{\CMD{begin\{multline\}\\...\\\CMD{end\{multline\}}}} +This is also like a multi line% +\footnote{It is no typo, the name of the environment is \texttt{multline}, no +missing i here!} environment with a special vertical alignment. The \textbf{first} +row is \textbf{left aligned}, the second and all following ones except +the last one are \textbf{centered} and the \textbf{last} line is \textbf{right +aligned}. It is often used to write extremely long formulas: + + +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{multline} + A = \lim _{n\rightarrow \infty }\Delta x\left( a^{2}+\left( a^{2}+2a\Delta x + +\left( \Delta x\right) ^{2}\right)\right.\\ + +\left( a^{2}+2\cdot 2a\Delta x+2^{2}\left( \Delta x\right) ^{2}\right)\\ + +\left( a^{2}+2\cdot 3a\Delta x+3^{2}\left( \Delta x\right) ^{2}\right)\\ + + \ldots\\ + \left.+\left( a^{2}+2\cdot (n-1)a\Delta x +(n-1)^{2}\left( \Delta x\right) ^{2}\right) \right)\\ + = \frac{1}{3}\left( b^{3}-a^{3}\right) +\end{multline} +\end{lstlisting} +\begin{multline} +A=\lim_{n\rightarrow\infty}\Delta x\left(a^{2}+\left(a^{2}+2a\Delta x+\left(\Delta x\right)^{2}\right)\right.\label{eq:reset}\\ ++\left(a^{2}+2\cdot2a\Delta x+2^{2}\left(\Delta x\right)^{2}\right)\\ ++\left(a^{2}+2\cdot3a\Delta x+3^{2}\left(\Delta x\right)^{2}\right)\\ ++\ldots\\ +\left.+\left(a^{2}+2\cdot(n-1)a\Delta x+(n-1)^{2}\left(\Delta x\right)^{2}\right)\right)\\ +=\frac{1}{3}\left(b^{3}-a^{3}\right) +\end{multline} + + +\begin{figure}[htb] +\begin{multline} +\framebox[0.5\columnwidth]{x}\\ +\framebox[0.5\columnwidth]{x}\\ +\framebox[0.5\columnwidth]{x}\\ +\shoveright{\framebox[0.5\columnwidth]{x}}\\ +\framebox[0.5\columnwidth]{x}\\ +\framebox[0.5\columnwidth]{x} +\end{multline} +\caption{\texttt{multline} Alignment demo +(the fourth row is shifted to the right with \CMD{shoveright})} +\label{cap:multline-Alignment-Demo} +\end{figure} + +\begin{figure}[htb] +\begin{minipage}[c]{0.45\textwidth}% +\fbox{\parbox{\columnwidth}{\begin{multline} +\framebox[0.5\columnwidth]{\textrm{\textbackslash multlinegap=}}\\ +\framebox[0.5\columnwidth]{\the\multlinegap}\end{multline} +}} +\end{minipage}% +\hfill{}\begin{minipage}[c]{0.45\textwidth}% +{\setlength{\multlinegap}{0pt}\fbox{\parbox{\columnwidth}{\begin{multline} +\framebox[0.5\columnwidth]{\textbackslash\textrm{multlinegap=}}\\ +\framebox[0.5\columnwidth]{\the\multlinegap}\end{multline} +}}} +\end{minipage}% +\caption{\label{cap:multlinegap}Demonstration of \CMD{multlinegap} (default is 0pt)} +\end{figure} + + + +\begin{itemize} +\item A nonumber-version \CMD{begin\{multline{*}\}...}\CMD{end\{multline{*}\}} +exists. +\item By default only the last line (for right equation numbers) or the +first line (for left equation numbers) gets a number, the others can't. +\item The alignment of a single line can be changed with the command +\CMD{shoveright}\index{shoveright@\textbackslash shoveright} (figure \vref{cap:multline-Alignment-Demo}) +\item The first line and the last line have a small gap to the text border.% +\footnote{When the first (numbers left) or last line (numbers right) has an +equation number then \CMD{multlinegap} is not used +for these ones, only for the line without a number.} See figure \ref{cap:multlinegap}, where the length of \CMD{multlinegap}\index{multlinegap@\textbackslash multlinegap} +is set to \texttt{0pt} for the right one. +\end{itemize} + +\subsection{\texttt{split} environment}\label{split} +\marginpar{\CMD{begin\{split\}\\...\\\CMD{end\{split\}}}}% +\makeatletter +\@removefromreset{equation}{section} +\makeatother +% +\begin{leftbar} +>From now on the counting of the equations changes. It is introduced with a foregoing command, which doesn't really make sense, it is only for demonstration: %%% ----- Martin ----- +\begin{lstlisting} +\makeatletter +\@removefromreset{equation}{section} +\makeatother +\end{lstlisting} +\end{leftbar} + + +The \verb|split| environment is like the \verb|multline|\index{multline} +or \verb|array| environment for equations longer than the column +width. Just like the array environment and in contrast to \verb|multline|, +\verb|split| can only be used as \textbf{part of another environment}. +\verb|split| itself has no own numbering, this is given by the other +environment. Without an ampersand all lines in the split environment +are right-aligned and can be aligned at a special point by using an +ampersand. In difference to the \verb|aligned| environment (section \vref{sec:aligned}), the \verb|split| environment permits more than one horizontal alignment. + +It is important that the split environment has another behaviour when used inside one of the %%% ----- Martin ----- +``old'' \LaTeX{} environments \verb+\[...\]+ or \verb+\begin{equation}+ \verb+...+\verb+ \end{equation}+, in this +case more than one horizontal alignment tabs are possible. + +\hspace*{-\marginparwidth}% +\begin{minipage}{0.5\columnwidth} +\[ +\begin{split} + \framebox[0.35\columnwidth]{x}\\ + \framebox[0.75\columnwidth]{x}\\ + \framebox[0.65\columnwidth]{x}\\ + \framebox[0.95\columnwidth]{x} +\end{split} +\] +\end{minipage}\hfill% +\begin{minipage}{0.5\columnwidth} +\footnotesize\begin{verbatim} +\[ +\begin{split} + \framebox[0.35\columnwidth]{x}\\ + \framebox[0.75\columnwidth]{x}\\ + \framebox[0.65\columnwidth]{x}\\ + \framebox[0.95\columnwidth]{x} +\end{split} +\] +\end{verbatim} +\end{minipage} +\vspace{2ex} + +\hspace*{-\marginparwidth}% +\begin{minipage}{0.5\columnwidth} +\[ +\begin{split} + \vec{a} = {}&\framebox[0.35\columnwidth]{x}\\ + &\framebox[0.75\columnwidth]{x}\\ + &\framebox[0.65\columnwidth]{x}\\ + &\framebox[0.95\columnwidth]{x} +\end{split} +\] +\end{minipage}\hspace{1cm}% +\begin{minipage}{0.5\columnwidth} +\footnotesize\begin{verbatim} +\[ +\begin{split} + \vec{a} = {}&\framebox[0.35\columnwidth]{x}\\ + &\framebox[0.75\columnwidth]{x}\\ + &\framebox[0.65\columnwidth]{x}\\ + &\framebox[0.95\columnwidth]{x} +\end{split} +\] +\end{verbatim} +\end{minipage} +\vspace{1ex} + +The following example shows the \texttt{split} environment as part +of the \texttt{equation} environment: + +\begin{equation} +\begin{split}A_{1} & =\left|\int_{0}^{1}(f(x)-g(x))dx\right|+\left|\int_{1}^{2}(g(x)-h(x))dx\right|\\ + & =\left|\int_{0}^{1}(x^{2}-3x)dx\right|+\left|\int_{1}^{2}(x^{2}-5x+6)dx\right|\\ + & =\left|\frac{x^{3}}{3}-\frac{3}{2}x^{2}\right|_{0}^{1}+\left|\frac{x^{3}}{3}-\frac{5}{2}x^{2}+6x\right|_{1}^{2}\\ + & =\left|\frac{1}{3}-\frac{3}{2}\right|+\left|\frac{8}{3}-\frac{20}{2}+12-\left(\frac{1}{3}-\frac{5}{2}+6\right)\right|\\ + & =\left|-\frac{7}{6}\right|+\left|\frac{14}{3}-\frac{23}{6}\right|=\frac{7}{6}+\frac{5}{6}=2\,\textrm{FE}\end{split} +\label{eq:Beispiel-Integral}\end{equation} + + +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{equation} + \begin{split} + A_{1} & = \left| \int _{0}^{1}(f(x)-g(x))dx\right| +\left| + \int _{1}^{2}(g(x)-h(x))dx\right| \\ + & = \left| \int _{0}^{1}(x^{2}-3x)dx\right| +\left| + \int _{1}^{2}(x^{2}-5x+6)dx\right| \\ + & = \left| \frac{x^{3}}{3}-\frac{3}{2}x^{2}\right| _{0}^{1}+ + \left| \frac{x^{3}}{3}- + \frac{5}{2}x^{2}+6x\right| _{1}^{2}\\ + & = \left| \frac{1}{3}-\frac{3}{2}\right| +\left| + \frac{8}{3}-\frac{20}{2}+12- + \left( \frac{1}{3}-\frac{5}{2}+6\right) \right| \\ + & = \left| -\frac{7}{6}\right| +\left| \frac{14}{3}-\frac{23}{6} + \right| =\frac{7}{6}+\frac{5}{6}=2\, \textrm{FE} + \end{split} +\end{equation} +\end{lstlisting} + +\bigskip{} +The same using the \verb|array| environment with \verb|{rl}|-alignment +instead of \verb|split| gives same horizontal alignment, but another %%% ----- Martin ----- +vertical spacing% +\footnote{Can be changed with \texttt{\textbackslash renewcommand\textbackslash arraystretch\{1.5\}}} and the +symbols are only in scriptsize and not textsize:\footnote{See section \vref{sec:Styles}} %%% ----- Martin ----- + +\begin{equation} +\begin{array}{rl} +A_{1} & =\left|\int_{0}^{1}(f(x)-g(x))dx\right|+\left|\int_{1}^{2}(g(x)-h(x))dx\right|\\ + & =\left|\int_{0}^{1}(x^{2}-3x)dx\right|+\left|\int_{1}^{2}(x^{2}-5x+6)dx\right|\\ + & =\left|\frac{x^{3}}{3}-\frac{3}{2}x^{2}\right|_{0}^{1}+\left|\frac{x^{3}}{3}-\frac{5}{2}x^{2}+6x\right|_{1}^{2}\\ + & =\left|\frac{1}{3}-\frac{3}{2}\right|+\left|\frac{8}{3}-\frac{20}{2}+12-\left(\frac{1}{3}-\frac{5}{2}+6\right)\right|\\ + & =\left|-\frac{7}{6}\right|+\left|\frac{14}{3}-\frac{23}{6}\right|=\frac{7}{6}+\frac{5}{6}=2\,\textrm{FE} + \end{array} + \end{equation} + + +\begin{itemize} +\item There exists no starred version (\texttt{\textbackslash{}begin\{split{*}\}}) %%% ----- Martin ----- +of the \texttt{split} environment. +\end{itemize} + +\subsection[Specials]{Specials for \texttt{multline} and \texttt{split} +environments}\label{sec:Specials-for-multline} + +With the multline environment the equation~\vref{eq:braces} looks like: + +\begin{multline} +\frac{1}{2}\Delta(f_{ij}f^{ij})=2\left(\sum_{i<j}\chi_{ij}(\sigma_{i}-\sigma_{j})^{2}+f^{ij}\nabla_{j}\nabla_{i}(\Delta f)+\right.\\ ++\left.\nabla_{k}f_{ij}\nabla^{k}f^{ij}+f^{ij}f^{k}\left[2\nabla_{i}R_{jk}-\nabla_{k}R_{ij}\right]\right)\end{multline} + + +\noindent which is again a bad typesetting because of the two unequal parentheses. +Each one has a size which is correct for the line but not for the +whole formula. \LaTeX{} accepts only pairs of parentheses for one +line and has an ``empty{}'' parentheses, the dot ``\texttt{\textbackslash{}left.}'' +or ``\texttt{\textbackslash{}right.}''{} to get only one of the ``pair{}''. +There are different solutions to get the right size of the parentheses. +One of them is to use the \CMD{vphantom} command, +which reserves the vertical space without any horizontal one, like +a vertical rule without any thickness. The sum symbol from the first +line is the biggest one and responsible for the height, so this one is +the argument of \CMD{vphantom} which has to be +placed anywhere. + +\begin{multline} +\frac{1}{2}\Delta(f_{ij}f^{ij})= + 2\left(\sum_{i<j}\chi_{ij}(\sigma_{i}- + \sigma_{j})^{2}+f^{ij}\nabla_{j}\nabla_{i}(\Delta f)+\right.\\ + \left.+\nabla_{k}f_{ij}\nabla^{k}f^{ij}+ + f^{ij}f^{k}\left[2\nabla_{i}R_{jk}- + \nabla_{k}R_{ij}\right]\vphantom{\sum_{i<j}}\right) +\end{multline} + +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{multline} +\frac{1}{2}\Delta(f_{ij}f^{ij})= + 2\left(\sum_{i<j}\chi_{ij}(\sigma_{i}- + \sigma_{j})^{2}+f^{ij}\nabla_{j}\nabla_{i}(\Delta f)+\right.\\ + \left.+\nabla_{k}f_{ij}\nabla^{k}f^{ij}+ + f^{ij}f^{k}\left[2\nabla_{i}R_{jk}- + \nabla_{k}R_{ij}\right]\vphantom{\sum_{i<j}}\right) +\end{multline} +\end{lstlisting} + +Instead of using the \CMD{vphantom} command it is +also possible to use fixed-width parentheses, which is described in +section \vref{sec:Brackets,-Braces-and}. + + +\subsection{\texttt{cases} environment } + +This gives support for an often used mathematical construct.\index{cases@\textbackslash cases} +You can also choose the more than once described way to convert some +text into math, like +{\footnotesize\begin{verbatim} +$x=\begin{cases} + 0 & \text{if A=...}\\ + 1 & \text{if B=...}\\ + x & \textrm{this runs with as much text as you like, + but without an automatic linebreak, it runs out + of page....} +\end{cases}$%$ %%% ----- Martin -----(wegen EMacs Syntaxhighlighting) +\end{verbatim}} +\noindent which gives equation~\vref{eq:cases}. It is obvious what the problem +is. + +\begin{eqnarray} +x & = & \begin{cases} +0 & \text{if A=...}\\ +1 & \text{if B=...}\\ +x & \textrm{this runs with as much text as you like, but without a linebreak, it runs out of page....}\end{cases}\label{eq:cases}\end{eqnarray} + + +In this case it is better to use a parbox\index{parbox@\textbackslash parbox} +for the text part with a \texttt{flushleft} command for a better view. + +\begin{equation} +x=\begin{cases} +0 & \text{if A=...}\\ +1 & \text{if B=...}\\ +x & \parbox{5cm}{\flushleft this runs with as much text as you like, but without an automatic linebreak, it runs out of page....}\end{cases}\end{equation} + + + +\begin{lstlisting} +\begin{equation} +x=\begin{cases} + 0 & \text{if A=...}\\ + 1 & \text{if B=...}\\ + x & \parbox{5cm}{% + \flushleft% + this runs with as much text as you like, + but without an automatic linebreak, + it runs out of page....}% +\end{cases} +\end{equation} +\end{lstlisting} + +\begin{leftbar} +>From now on the counting of the equations changes. It is introduced with a foregoing command, which doesn't really make sense, it is only for demonstration: %%% ----- Martin ----- +\begin{lstlisting} +\renewcommand\theequation{\arabic{equation}} +\end{lstlisting} +\end{leftbar} + +\renewcommand\theequation{\arabic{equation}} + + +\subsection{Matrix environments}\label{sec:ams-matrix} +\begin{table}[htb] +\centering\begin{tabular}{rcrcrc} +\textbackslash{}Vmatrix\index{Vmatrix@\textbackslash Vmatrix}& +$\begin{Vmatrix}a & b\\ +c & d\end{Vmatrix}$& +\textbackslash{}Bmatrix\index{Bmatrix@\textbackslash Bmatrix}& +$\begin{Bmatrix}a & b\\ +c & d\end{Bmatrix}$& +\textbackslash{}matrix\index{matrix@\textbackslash matrix}& +$\begin{matrix}a & b\\ +c & d\end{matrix}$\tabularnewline +\rule{0pt}{0.85cm}\textbackslash{}vmatrix\index{vmatrix@\textbackslash vmatrix}& +$\begin{vmatrix}a & b\\ +c & d\end{vmatrix}$& +\textbackslash{}bmatrix\index{bmatrix@\textbackslash bmatrix}& +$\begin{bmatrix}a & b\\ +c & d\end{bmatrix}$& +\textbackslash{}pmatrix\index{pmatrix@\textbackslash pmatrix}& +$\begin{pmatrix}a & b\\ +c & d\end{pmatrix}$\tabularnewline[10pt] +&&&&\textbackslash{}smallmatrix\index{smallmatrix@\textbackslash smallmatrix}& +$\begin{smallmatrix}a & b\\ +c & d\end{smallmatrix}$ +\end{tabular} +\caption{Matrix environments} +\end{table} + +All matrix environments can be nested and an element may also contain +any other math environment, so that very complex structures are possible. +By default all cells have a centered alignment, which is often not the best +when having different decimal numbers or plus/minus values. Changing the +alignment to right (not for the \verb+smallmatrix+) is possible with +\marginpar{% +\texttt{matrix}\\ +\texttt{vmatrix}\\ +\texttt{Vmatrix}\\ +\texttt{bmatrix}\\ +\texttt{Bmatrix}\\ +\texttt{pmatrix}\\ +\texttt{smallmatrix}% +}% + +\begin{lstlisting} +\makeatletter +\def\env@matrix{\hskip -\arraycolsep + \let\@ifnextchar\new@ifnextchar + \array{*\c@MaxMatrixCols r}} +\makeatother +\end{lstlisting} + +The special matrix environment \verb+smallmatrix+, which decreases +horizontal and vertical space is typeset in scriptstyle. The \verb|smallmatrix| +\index{smallmatrix@\textbackslash smallmatrix} environment makes some sense +in the inline mode to decrease the line height. +For dots over several columns look for \CMD{hdotsfor} in the following section. + + + +\section{Vertical whitespace}\label{sec:ams-whitespace} +See section~\vref{subsec:whitespace} for the lengths which control the +vertical whitespace. There is no difference to \AmSmath. + +\section{Dots}\label{sec:ams-dots} + +In addition to section~\vref{sec:Dots} \AmSmath has two more commands +for dots: \CMD{dddot}\{...\}\footnote{already mentioned in section \ref{sec:Accents}} and \CMD{ddddot}\{...\} +\index{dddot@\textbackslash dddot}\index{ddddot@\textbackslash ddddot} + +\verb|$\dddot{y}$|: $\dddot{y}$ + +\verb|$\ddddot{y}$|: $\ddddot{y}$ + + +Another interesting dot command is \CMD{hdotsfor}\index{hdotsfor@\textbackslash hdotsfor} +with the syntax: + +\begin{lstlisting} +\hdotsfor[<spacing factor>]{<number of columns>} +\end{lstlisting} + +With the spacing factor the width of the dots can be stretched or +shrinked. The number of columns allows a continuing dotted line over +more columns. Equation \ref{eq:tridiagonal} shows the definition +of a tridiagonal matrix. + +\begin{equation} +\underline{A}=\left[\begin{array}{ccccccc} +a_{11} & a_{12} & 0 & \ldots & \ldots & \ldots & 0\\ +a_{21} & a_{22} & a_{23} & 0 & \ldots & \ldots & 0\\ +0 & a_{32} & a_{33} & a_{34} & 0 & \ldots & 0\\ +\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots\\ +\hdotsfor{7}\cr\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots\\ +0 & \ldots & 0 & a_{n-2,n-3} & a_{n-2,n-2} & a_{n-2,n-1} & 0\\ +0 & \ldots & \ldots & 0 & q_{n-1,n-2} & a_{n-1,n-1} & a_{n-1,n}\\ +0 & \ldots & \ldots & \ldots & 0 & a_{n,n-1} & a_{nn} +\end{array}\right]\label{eq:tridiagonal} +\end{equation} + +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{equation} +\underline{A}=\left[\begin{array}{ccccccc} +a_{11} & a_{12} & 0 & \ldots & \ldots & \ldots & 0\\ +a_{21} & a_{22} & a_{23} & 0 & \ldots & \ldots & 0\\ +0 & a_{32} & a_{33} & a_{34} & 0 & \ldots & 0\\ +\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots\\ +\hdotsfor{7}\cr\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots\\ +0 & \ldots & 0 & a_{n-2,n-3} & a_{n-2,n-2} & a_{n-2,n-1} & 0\\ +0 & \ldots & \ldots & 0 & q_{n-1,n-2} & a_{n-1,n-1} & a_{n-1,n}\\ +0 & \ldots & \ldots & \ldots & 0 & a_{n,n-1} & a_{nn} +\end{array}\right] +\end{equation} +\end{lstlisting} + + +\section{\texttt{fraction} commands}\label{sec:ams-fraction} + + +\subsection{Standard} + +Additional to the font size problem described in subsection~\vref{sub:fraction command} +\AmSmath supports some more commands for fractions\index{Fraction}. The \CMD{frac} command +described in \cite{MathGuide}, does no more exist in \AmSmath. %%% ----- Martin ----- + +\begin{itemize} +\item The global fraction definition has five parameters\index{genfrac@\textbackslash genfrac} +\index{fraction@\textbackslash frac} +\begin{lstlisting}[xleftmargin=-1em,xrightmargin=-1em] +\genfrac{<left delim>}{<right delim>}{<thickness>}{<mathstyle>}{<nominator>}{<denominator>} +\end{lstlisting} +where thickness can have any length with a valid unit like \\ +\verb|genfrac{}{}{1pt}{}{x^2+x+1}{3x-2}| +$\rightarrow\genfrac{}{}{1pt}{}{x^2+x+1}{3x-2}$ +\item \CMD{cfrac}\index{cfrac@\textbackslash cfrac} (continued fraction) which is +by default set in the display mathstyle and useful for fractions like +\begin{equation} +\cfrac{1}{\sqrt{2}+\cfrac{1}{\sqrt{3}+\cfrac{1}{\sqrt{4}+\cfrac{1}{\ldots}}}}\label{cfrac} +\end{equation} +which looks with the default \CMD{frac} command like +\begin{equation} + \frac{1}{\sqrt{2}+\frac{1}{\sqrt{3}+\frac{1}{\sqrt{4}+\frac{1}{\ldots}}}} +\end{equation} +where the mathstyle decreases for every new level in the fraction. +The \CMD{cfrac} command can be called with an optional +parameter which defines the placing of the nominator, which can be +\texttt{[l]}eft, \texttt{[r]}ight or \texttt{[c]}enter (the default - see +equation~\ref{cfrac}):\\ +\begin{minipage}[c]{0.40\textwidth}% +\[ +\cfrac[l]{1}{\sqrt{2}+\cfrac[l]{1}{\sqrt{3}+\cfrac[l]{1}{\sqrt{4}+\cfrac[l]{1}{\ldots}}}} +\] +\end{minipage}% +\hfill{}\begin{minipage}[c]{0.40\textwidth}% +\[\cfrac[r]{1}{\sqrt{2}+\cfrac[r]{1}{\sqrt{3}+\cfrac[r]{1}{\sqrt{4}+\cfrac[r]{1}{\ldots}}}}\] +\end{minipage}% + +\item \CMD{dfrac}\index{dfrac@\textbackslash dfrac} +which takes by default the displaystyle\index{displaystyle@\textbackslash displaystyle}, so that +fractions in inline mode $\dfrac{1}{2}$ have the same size than in +display mode. +\item \CMD{tfrac}\index{tfrac@\textbackslash tfrac} (vice versa to \CMD{dfrac}) which takes by default +the scriptstyle\index{scriptstyle@\textbackslash scriptstyle}, so that fractions in display +mode have the same size than in inline mode. +\end{itemize} + +\[\tfrac{2}{3} \text{\hspace{0.5cm}\CMD{tfrac\{2\}\{3\}}} \] +\[\frac{2}{3} \text{\hspace{0.5cm}\CMD{frac\{2\}\{3\}}} \] + + +\subsection{Binoms}\label{sub:Binoms} + +\marginpar{\CMD{binom}\\\CMD{dbinom}\\\CMD{tbinom}}They are like fractions without a rule and its syntax is different +to the \CMD{choose} command from standard \LaTeX{} +(see section \vref{sub:fraction command}). \AmSmath{} provides three +different commands for binoms just like the ones for fractions. + +\begin{table}[htb] +\centering% +\begin{tabular}{lcl} +Command & Inlinemath & Displaymath\tabularnewline +\hline +\texttt{\textbackslash{}binom\{m\}\{n\}} & $\binom{m}{n}$& +${\displaystyle \binom{m}{n}}$\tabularnewline +\texttt{\rule{0pt}{0.75cm}\textbackslash{}dbinom\{m\}\{n\}}& +$\dbinom{m}{n}$& +${\displaystyle \dbinom{m}{n}}$\tabularnewline +\texttt{\rule{0pt}{0.5cm}\textbackslash{}tbinom\{m\}\{n\}}& +$\tbinom{m}{n}$& +${\displaystyle \tbinom{m}{n}}$\tabularnewline +\end{tabular} +\caption{binom commands} +\end{table} + + +\section{Roots}\label{sec:Roots-ams} + +The typesetting for roots\index{uproot@\textbackslash uproot} is sometimes not +the best. Some solutions for better typesetting are % +\marginpar{\CMD{leftroot}\\\CMD{uproot}}% +described in section~\vref{sec:Roots} for standard \LaTeX{}. \AmSmath +has some more commands for the $n$-th root: + +\begin{lstlisting} +\sqrt[\leftroot{<number>}\uproot{<number>}<root>]{< ... >} +\end{lstlisting} + +\noindent \verb+<number>+ indicates a value for the points% +\footnote{In PostScript units (bp -- Big Points).} of which the root can be +adjusted to the left and/or to the top, e.g.: +$\sqrt[k_n]{a}$ (\verb+$\sqrt[k_n]{a}$+) has a too deep exponent, whereas $\sqrt[\uproot{2}k_n]{a}$ \verb+$\sqrt[\uproot{2}k_n]{a}$+ looks nicer. + + + +\subsection{Roots with \CMD{smash} command} + +\marginpar{\CMD{smash}}The default for a root\index{Root} with $\lambda_{k_{i}}$ as root +argument looks like $\sqrt{\lambda_{k_{i}}}$, which may be not the %%% ----- Martin ----- +best typesetting. It is possible to reduce the lowest point of the root +to the baseline with the \CMD{smash} command: $\sqrt{\lambda_{k_{i}}}\xrightarrow{\text{with \textbackslash smash}}\sqrt{\smash[b]{\lambda_{k_{i}}}}$ + + +The syntax of the \CMD{smash} command% +\footnote{In \texttt{latex.ltx} \CMD{smash} is defined without an optional argument.} renewed by the \AmSmath package is %%% ----- Martin ----- + +\begin{lstlisting} +\smash[<position>]{<argument>} +\end{lstlisting} +The optional argument for the position can be: + +\begin{description} +\item [t]keeps the bottom and annihilates the top +\item [b]keeps the top and annihilates the bottom +\item [tb]annihilates top and bottom (the default) +\end{description} + +\section{Accents}\label{amssymb} + +With the macro \verb|\mathaccent| it is easy to define new accent types, for example + +\begin{lstlisting} +\def\dotcup{$\mathaccent\cdot\cup$} +\end{lstlisting} + +$\mathaccent\cdot\cup$ + +\def\curvearrowleftright{% + \ensuremath{% + \mathaccent\curvearrowright{\mkern-5mu\curvearrowleft}% + }% +} + +Overwriting of two symbols is also possible: + +{\huge +$\curvearrowleft\curvearrowright\curvearrowleftright$} + +In this case the second symbol has to be shifted to the left for a length %%% ----- Martin ----- +of $5mu$ (mu: math unit\index{Math unit}). + +\begin{lstlisting} +\def\curvearrowleftright{% + \ensuremath{% + \mathaccent\curvearrowright{\mkern-5mu\curvearrowleft}% + }% +} +\end{lstlisting} + +For other possibilities to define new accents see section \vref{sec:package-accent}. %%% ----- Martin ----- + +\section{\CMD{mod} command} + +In standard \LaTeX{} the modulo command is not an operator, though %%% ----- Martin ----- +it is often used in formulas. \AmSmath provides two (three) different +commands for modulo, which are listed in tabular~\vref{cap:The-modulo commands}. + +\begin{itemize} +\item They all insert some useful space before and behind the mod-operator. +\end{itemize} + +\begin{table}[htb] +\centering\begin{tabular}{rrl} +a\textbackslash{}mod\{n\^{}2\}=b& +$\rightarrow$& +$a\mod{n^{2}}=b$\tabularnewline +a\textbackslash{}pmod\{n\^{}2\}=b& +$\rightarrow$& +$a\pmod{n^{2}}=b$\tabularnewline +a\textbackslash{}pod\{n\^{}2\}=b& +$\rightarrow$& +$a\pod{n^{2}}=b$\tabularnewline +\end{tabular} +\caption{\label{cap:The-modulo commands}The modulo commands and their meaning} +\end{table} + + + +\section{Equation numbering\label{sec:Equation-numbering}} + +See section \vref{sub:Equationnumbering} for equation numbering\index{Equation!numbering}. +It is mostly the % +\marginpar{\textbackslash{}numberwithin% +}same, only one command is new to \AmSmath. If you want +a numbering like ``\ref{eq:IntoSection}{}'' then write either in the preamble %%% ----- Martin ----- +or like this example anywhere in your doc: + +\begin{lstlisting} +\numberwithin{equation}{section} +\end{lstlisting} + +\begin{leftbar} +\numberwithin{equation}{section}From now on the numbering looks like %%% ----- Martin ----- +equation \vref{eq:IntoSection}. For the book-class you can get the +same for chapters. +\end{leftbar} + +If you want to get rid of the parentheses then write in the preamble: %%% ----- Martin ----- + +\begin{lstlisting} +\makeatletter +\def\tagform@#1{\maketag@@@{\ignorespaces#1\unskip\@@italiccorr}} +\makeatother +\end{lstlisting} + +Now the following four subequation numbers have no parentheses. + + + + +\makeatletter +\let\oldTagForm\tagform@ +\def\tagform@#1{\maketag@@@{\ignorespaces#1\unskip\@@italiccorr}} +\makeatother + +\subsection{Subequations}\label{ams:subeqn} + +Amsmath supports this with the environment \verb|subequation|\index{Subequations}. +For example: +\begin{subequations} +\begin{align} +y & = d\\ +y & = cx+d\\ +y & = bx^{2}+cx+d\\ +y & = ax^{3}+bx^{2}+cx+d +\end{align} +\end{subequations} + +\begin{lstlisting} +\begin{subequations} +\begin{align} +y & = d\\ +y & = cx+d\\ +y & = bx^{2}+cx+d\\ +y & = ax^{3}+bx^{2}+cx+d +\end{align} +\end{subequations} +\end{lstlisting} + +\makeatletter +\let\tagform@\oldTagForm +\makeatother + + +Inside of subequations only complete other environments (\texttt{\textbackslash{}begin\{...\} +... \textbackslash{}end\{...\}}) are possible. + +\begin{lstlisting} +\renewcommand{\theequation}{% + \theparentequation{}-\arabic{equation}% +} +\end{lstlisting} + +\begin{subequations} +\renewcommand{\theequation}{% + \theparentequation -\arabic{equation}% +}% +\begin{align} +y & = d\\ +y & = cx+d\label{eq:subequation-neu}\\ +y & = bx^{2}+cx+d\\ +y & = ax^{3}+bx^{2}+cx+d +\end{align} +\end{subequations} + +A ref to a subequation is possible like the one to equation \ref{eq:subequation-neu}. +The environment chooses the same counter ``\texttt{equation}'' +but saves the old value into ``\texttt{parentequation}''. + +\newcounter{mySubCounter} +\newcommand{\twocoleqn}[2]{ + \setcounter{mySubCounter}{0}% + \let\OldTheEquation\theequation% + \renewcommand{\theequation}{\OldTheEquation\alph{mySubCounter}}% + \noindent% + \begin{minipage}{.49\textwidth} + \begin{equation}\refstepcounter{mySubCounter} + #1 + \end{equation} + \end{minipage}\hfill% + \addtocounter{equation}{-1}% + \begin{minipage}{.49\textwidth} + \begin{equation}\refstepcounter{mySubCounter} + #2 + \end{equation} + \end{minipage} + \let\theequation\OldTheEquation +} + +It is also possible to place two equations side by side with counting as subfigures: + +\twocoleqn{y=f(x)}{y=f(z)} + +\vspace{1ex} +In this case, the \AmSmath internal subfigure counter cannot be used and an own +counter has to be defined: + +\begin{lstlisting} +\newcounter{mySubCounter} +\newcommand{\twocoleqn}[2]{ + \setcounter{mySubCounter}{0}% + \let\OldTheEquation\theequation% + \renewcommand{\theequation}{\OldTheEquation\alph{mySubCounter}}% + \noindent% + \begin{minipage}{.49\textwidth} + \begin{equation}\refstepcounter{mySubCounter} + #1 + \end{equation} + \end{minipage}\hfill% + \addtocounter{equation}{-1}% + \begin{minipage}{.49\textwidth} + \begin{equation}\refstepcounter{mySubCounter} + #2 + \end{equation} + \end{minipage}% + \let\theequation\OldTheEquation +} +[ ... ] +\twocoleqn{y=f(x)}{y=f(z)} +\end{lstlisting} + + +\section{Labels and tags}\label{sec:Labels-and-Tags} + +For the \CMD{label} command\index{label@\textbackslash label} \marginpar{\textbackslash{}tag% +} +see section \vref{sec:Labels}, it is just the same behaviour. \AmSmath +allows to define own single ``equation numbers\index{Equation number}'' +with the \CMD{tag} command. +\begin{align} +f(x) & =a\tag{linear}\label{eq:linear}\\ +g(x) & =dx^{2}+cx+b\tag{quadratic}\label{eq:quadratic}\\ +h(x) & =\sin x\tag*{trigonometric} +\end{align} + +\begin{lstlisting} +\begin{align} +f(x) & =a\tag{linear}\label{eq:linear}\\ +g(x) & =dx^{2}+cx+b\tag{quadratic}\label{eq:quadratic}\\ +h(x) & =\sin x\tag*{trigonometric} +\end{align} +\end{lstlisting} + +\begin{itemize} +\item The \CMD{tag} command is also possible for unnumbered +equations, \LaTeX{} changes the behaviour when a tag is detected. +\item There exists a starred version \verb|\tag{*}{...}|, %%% ----- Martin ----- +which supresses any annotations like parentheses for equation numbers\index{Equation!number}. +\item There exist two package options for tags, \verb|ctagsplit|\index{ctagsplit} %%% ----- Martin ----- +and \verb|righttag|\index{righttag} (look at the beginning of this +part on page~\pageref{par:AMSmath-package}). +\end{itemize} + + +\section{Limits}\label{sec:limit-AMS} + +By default the sum/prod has the limits above/below and the integral +at the side. To get the same behaviour for all symbols which can have +limits load the package \AmSmath in the preamble as %%% ----- Martin ----- + +\begin{lstlisting} +\usepackage[sumlimits,intlimits]{amsmath} +\end{lstlisting} + +There exist also options for the vice versa (see page~\pageref{par:AMSmath-package}). %%% ----- Martin ----- +See also section~\ref{sec:misc-AMS} for the additional commands \CMD{underset} and \CMD{overset}. + + + +\subsection{Multiple limits} + +For general information about limits\index{Limits} read section +\vref{sub:Limits-Inline}. Standard \LaTeX{} provides the \texttt{\textbackslash{}atop}\index{atop@\textbackslash atop} command +for multiple limits (section \vref{sub:Multiple-Limits}). \AmSmath \marginpar{\textbackslash{}substack% +} +has an additional command for that, which +can have several lines with the following syntax: +\marginpar{\CMD{begin\{Sb\}}\\...\\\CMD{end\{Sb\}}\\\CMD{begin\{Sp\}}\\...\\\CMD{end\{Sp\}}% +} + +\begin{lstlisting} +\substack{...\\...\\...} +\end{lstlisting} + +The environments described in \cite{MathGuide} + +\begin{lstlisting} +\begin{Sb} ... \end{Sb} +\begin{Sp} ... \end{Sp} +\end{lstlisting} +are obsolete and no more part of \AmSmath. + +The example equation \vref{eq:atop} with the \CMD{substack}\index{substack@\textbackslash substack} command +looks like: + +\begin{equation}\label{eq:multlimits} +\sum_{\substack{1\le i\le p\\ +1\le j\le q\\ +1\le k\le r} +}a_{ij}b_{jk}c_{ki} +\end{equation} + + +Insert these limits in the following way: +\begin{lstlisting} +\begin{equation} + \sum_{% + \substack{1\le i\le p\\ + 1\le j\le q\\ + 1\le k\le r} + }% + a_{ij}b_{jk}c_{ki} +\end{equation} +\end{lstlisting} + +\subsection{Problems}\label{subsec:ams-limits} + +There are still some problems with limits and the following math +expression. For example: + +\[ +X = \sum_{1\le i\le j\le n}X_{ij} +\] +\begin{lstlisting} +\[ +X = \sum_{1\le i\le j\le n}X_{ij} +\] +\end{lstlisting} + +\noindent does not look nice because of the long limit. Using a +\CMD{makebox} also does not really solve the problem, because +\CMD{makebox} is in \TeX{} horizontal mode and knows nothing about +the appropriate math font size, because limits have a smaller font size. +It is better to define a \CMD{mathclap}\index{mathclap@\textbackslash mathclap} macro, similiar to the two +macros \CMD{llap} and \CMD{rlap} and uses the also new defined \CMD{mathclap} macro\index{clap@\textbackslash clap}: + +\begin{lstlisting} +\def\mathllap{\mathpalette\mathllapinternal} +\def\mathllapinternal#1#2{% + \llap{$\mathsurround=0pt#1{#2}$}% $ +} +\def\clap#1{\hbox to 0pt{\hss#1\hss}} +\def\mathclap{\mathpalette\mathclapinternal} +\def\mathclapinternal#1#2{% + \clap{$\mathsurround=0pt#1{#2}$}% +} +\def\mathrlap{\mathpalette\mathrlapinternal} +\def\mathrlapinternal#1#2{% + \rlap{$\mathsurround=0pt#1{#2}$}% $ +} +\end{lstlisting} + + +Now we can write limits which have a boxwidth of 0pt and the right font +size and the following math expression appears just behind the symbol: + +\[ +X = \sum_{\mathclap{1\le i\le j\le n}}X_{ij} +\] +\begin{lstlisting} +\[ +X = \sum_{\mathclap{1\le i\le j\le n}}X_{ij} +\] +\end{lstlisting} + +Another problem occurs when having operators with stacked limits in braces:\index{substack@\textbackslash substack} +\index{Braces!Problems} +\index{Stacked limits} +\begin{align} +\left[\sum_{\substack{i,j\\i>j}} \dots \right] +\end{align} + +This case is not easy to handle when some other math expressions are around the braces +which should be on the same baseline. However, the following may help in some cases +to get better looking braces. + +\begin{LTXexample}[width=0.45\linewidth,wide] +\begin{align} +foo \left[\begin{array}{@{}c@{}} + \displaystyle\sum_{\substack{i,j\\i>j}} \dots + \end{array}\right] bar +\end{align} +\end{LTXexample} + + +\subsection{\CMD{sideset}} + +This is a command for a very special purpose, to combine over/under +limits with superscript/subscripts for \marginpar{\CMD{sideset}}the +sum-symbol. For example: it is not possible to place the prime +for the equation \ref{eq:sideset} near to the sum\index{sum@\textbackslash sum} symbol, +because it becomes an upper limit when writing without an preceeding \verb|{}|. +\begin{equation} +\sum_{n<k\atop n\ \textrm{odd}}{}'nE_{n}\label{eq:sideset} +\end{equation} + +The command \CMD{sideset}\index{sideset@\textbackslash sideset} +has the syntax + +\begin{lstlisting} +\sideset{<before>}{<behind>} +\end{lstlisting} + +It can place characters on all four corners of the sum-symbol: +\[ +\sideset{_{LowerLeft}^{UpperLeft}}{_{LowerRight}^{UpperRight}}\sum_{B}^{T} +\] + +\begin{lstlisting} +\[ +\sideset{_{LowerLeft}^{UpperLeft}}{_{LowerRight}^{UpperRight}}\sum_{B}^{T} +\] +\end{lstlisting} + +Now it is possible to write the equation \ref{eq:sideset} in a proper +way with the command \verb|\sideset{}{'}| before +the sum symbol: +\begin{equation} +\sideset{}{'}\sum_{n<k\atop n\ \textrm{odd}}nE_{n} +\end{equation} + + +\section{Operator names}\label{OperatorNames} + +\marginpar{\CMD{operatorname}}% +By default variables are written in italic\index{Italic} and operator +names\index{Operator!names} in upright mode, like $y=\sin(x)$.% +\footnote{See section \vref{sec:ltxOperators}, where all the standard \LaTeX{} %%% ----- Martin ----- +known operator names are listed. Package \AmSmath has +some more (see documentation).} This happens only for the known operator names, but creating a new +one is very easy with: + +\begin{lstlisting} +\newcommand{\mysin}{\operatorname{mysin}} +\end{lstlisting} + +Now \CMD{mysin} is also written in upright mode +$y=\mysin(x)$ and with some additional space before and behind. + +It is obvious, that only those names can be defined as new operator +names which are not commands in another way. Instead of using the +new definition as an operator, it is also possible to use the text +mode. But it is better to have all operators of the same type, so that +changing the style will have an effect for all operators. + +\marginpar{\CMD{operatornamewithlimits}}% +The new defined operator names cannot have limits\index{Limits}, only +superscript/subscript is possible. \verb+amsopn.sty+ has an additional command +\CMD{operatornamewithlimits}\index{operatornamewithlimits@\textbackslash operatornamewithlimits}, +which supports over/under limits like the one from \CMD{int} +or \CMD{sum}. + +\marginpar{\CMD{mathop}} +It is also possible to use the macro \verb+\mathop+ to declare anything +as operator, like +\[ \sideset{_1}{}{\mathop{\mathrm{B}}} \] +\begin{lstlisting} +\[ \sideset{_1}{}{\mathop{\mathrm{B}}} \] +\end{lstlisting} +With this definition it is possible to use \CMD{sideset} for a forgoing index, which +is only possible for an operator. + +For a real \LaTeX{} definition have a look at section \vref{sec:ltxOperators}. + + +\section{Text in math mode}\label{sec:Text-in-math mode} + +If you need complex structures between formulas, look also at section \ref{sec:verticalAlignment}. + +\subsection{\CMD{text} command} +\marginpar{% +\CMD{text}\\ +\CMD{mbox}\\ +\CMD{textnormal}\\ +\CMD{mathrm}% +}% +This is the equivalent command to \CMD{mathrm}\index{mathrm@\textbackslash mathrm} +or \CMD{mbox}\index{mbox@\textbackslash mbox} +from the standard \LaTeX{} (section~\vref{sec:Text}) with the exception, that \CMD{mathrm} +always uses the roman font and \CMD{text} the actual one and that the font size is different +when used in super- and subscript. + +For example: $\boxed{f(x)=x\quad\text{this was math}}$. + +\bigskip +{\sffamily\huge +$A^{\mbox{text}}_{\mbox{text}}$\quad +$A^{\text{text}}_{\text{text}}$\quad +$A^{\textnormal{text}}_{\textnormal{text}}$\quad +$A^{\mathrm{text}}_{\mathrm{text}}$ +} +\medskip +\begin{lstlisting} +$\boxed{f(x)=x\quad\text{this was math}}$ + +{\sffamily\huge +$A^{\mbox{text}}_{\mbox{text}}$\quad +$A^{\text{text}}_{\text{text}}$\quad +$A^{\textnormal{text}}_{\textnormal{text}}$\quad +$A^{\mathrm{text}}_{\mathrm{text}}$ +} +\end{lstlisting} + +The \verb+\text+ macro can be used at any place and can be in some cases a better +solution as \verb+\intertext+ (see section~\ref{subsec:intertext}). + +\begin{flalign*} + && 12(x-1) + 20(y-3) + 14(z-2) & = 0 &&\\ + \text{and} && 6x + 10y + 7z & = 0 && +\end{flalign*} + +\begin{align} + && 12(x-1) + 20(y-3) + 14(z-2) & = 0\\ + \text{and} && 6x + 10y + 7z & = 0 +\end{align} + +\begin{lstlisting} +\begin{flalign*} + && 12(x-1) + 20(y-3) + 14(z-2) & = 0 &&\\ + \text{and} && 6x + 10y + 7z & = 0 && +\end{flalign*} + +\begin{align} + && 12(x-1) + 20(y-3) + 14(z-2) & = 0\\ + \text{and} && 6x + 10y + 7z & = 0 +\end{align} +\end{lstlisting} + + + +\subsection{\CMD{intertext} command}\label{subsec:intertext} + +This is useful when you want to place some text between two parts +of math stuff without leaving the math mode, like the name +``intertext\index{intertext@\textbackslash intertext}'' %%% ----- Martin ----- +says. For example we write the equation~\vref{eq:Beispiel-Integral} +with an additional command after the second line. + +\[ + \begin{split} + A_{1} & = \left| \int _{0}^{1}(f(x)-g(x))dx\right| +\left| \int _{1}^{2}(g(x)-h(x))dx\right| \\ + & = \left| \int _{0}^{1}(x^{2}-3x)dx\right| +\left| \int _{1}^{2}(x^{2}-5x+6)dx\right| \\ + \intertext{Now the limits of the integrals are used} + & = \left| \frac{x^{3}}{3}-\frac{3}{2}x^{2}\right| _{0}^{1}+\left| \frac{x^{3}}{3}- + \frac{5}{2}x^{2}+6x\right| _{1}^{2}\\ + & = \left| \frac{1}{3}-\frac{3}{2}\right| +\left| \frac{8}{3}-\frac{20}{2}+12- + \left( \frac{1}{3}-\frac{5}{2}+6\right) \right| \\ + & = \left| -\frac{7}{6}\right| +\left| \frac{14}{3}-\frac{23}{6}\right| =\frac{7}{6}+ + \frac{5}{6}=2\, \textrm{FE} + \end{split} +\] + +The code looks like:\\ + + +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{equation} + \begin{split} + A_{1} & = \left| \int _{0}^{1}(f(x)-g(x))dx\right| +\left| \int _{1}^{2}(g(x)-h(x))dx\right| \\ + & = \left| \int _{0}^{1}(x^{2}-3x)dx\right| +\left| \int _{1}^{2}(x^{2}-5x+6)dx\right| \\ + \intertext{Now the limits of the integrals are used} + & = \left| \frac{x^{3}}{3}-\frac{3}{2}x^{2}\right| _{0}^{1}+\left| \frac{x^{3}}{3}- + \frac{5}{2}x^{2}+6x\right| _{1}^{2}\\ + & = \left| \frac{1}{3}-\frac{3}{2}\right| +\left| \frac{8}{3}-\frac{20}{2}+12- + \left( \frac{1}{3}-\frac{5}{2}+6\right) \right| \\ + & = \left| -\frac{7}{6}\right| +\left| \frac{14}{3}-\frac{23}{6}\right| =\frac{7}{6}+ + \frac{5}{6}=2\, \textrm{FE} + \end{split} +\end{equation} +\end{lstlisting} + +Writing very long text is possible by using a \verb+parbox+, see section~\vref{sec:Text} for %%% ----- Martin ----- +an example with \verb+\textrm+, which behaves in the same way as \verb+\text+. + + + + +\section{Extensible arrows} +\marginpar{% + \CMD{xrightarrow}\\ + \CMD{xleftarrow}\\ + \CMD{xmapsto}}To write something like $\xrightarrow[\text{below}]{\text{above the arrow}}$ you can use the following macro + +\begin{verbatim} +$\xrightarrow[\text{below}]{\text{above the arrow}}$ +\end{verbatim} +\index{Arrows}\index{Extensible arrows} + +\noindent and the same with \verb|\xleftarrow|. You can define your own extensible arrow macros +if you need other than these two predefined ones. To get a doublelined extensible +arrow like \verb|$\Longleftrightarrow$| ($\Longleftrightarrow$) but with the same +behaviour as an extensible one, write in the preamble %%% ----- Martin ----- + +\begin{lstlisting} +\newcommand\xLongLeftRightArrow[2][]{% + \ext@arrow 0055{\LongLeftRightArrowfill@}{#1}{#2}} +\def\LongLeftRightArrowfill@{% + \arrowfill@\Leftarrow\Relbar\Rightarrow} +\newcommand\xlongleftrightarrow[2][]{% + \ext@arrow 0055{\longleftrightarrowfill@}{#1}{#2}} +\def\longleftrightarrowfill@{% + \arrowfill@\leftarrow\relbar\rightarrow} +\end{lstlisting} + +The three parts \verb|\Leftarrow\Relbar\Rightarrow| define left|middle|right of the +arrow, where the middle part would be stretched in a way that the arrow is at least +as long as the text above and/or below it. This macro has one optional and one +standard parameter. The optional one is written below and the standard one above this %%% ----- Martin ----- +arrow. Now we can write + +\begin{verbatim} +$\xLongLeftRightArrow[\text{below}]{\text{above the arrow}}$ +$\xlongleftrightarrow[\text{below}]{\text{above the arrow}}$ +\end{verbatim} + +\noindent to get $\xLongLeftRightArrow[\text{below}]{\text{above the arrow}}$ or +$\xlongleftrightarrow[\text{below}]{\text{above the arrow}}$. +The ``number'' $0055$ after \verb+\ext@arrow+ defines the position relative to the extended error and is +not a number but four parameters for additional space in the math unit \verb+mu+. +\index{mapstofill@\CMD{mapstofill}} + +\makeatletter +\def\mapstofill@{% + \arrowfill@{\mapstochar\relbar}\relbar\rightarrow} +\renewcommand*\xmapsto[6][]{% + \ext@arrow #3#4#5#6\mapstofill@{#1}{#2}} +\makeatother +\begin{lstlisting} +\def\mapstofill@{% + \arrowfill@{\mapstochar\relbar}\relbar\rightarrow} +\newcommand*\xmapsto[2][]{% + \ext@arrow <four digits>\mapstofill@{#1}{#2}} +\end{lstlisting} + +{\fboxsep=0pt +\verb+$\ext@arrow 0000$+\quad{\huge $\xmapsto[\fbox{under}]{\fbox{over}}0000$} + +\verb+$\ext@arrow 9000$+\quad{\huge $\xmapsto[\fbox{under}]{\fbox{over}}9000$} + +\verb+$\ext@arrow 0900$+\quad{\huge $\xmapsto[\fbox{under}]{\fbox{over}}0900$} + +\verb+$\ext@arrow 0009$+\quad{\huge $\xmapsto[\fbox{under}]{\fbox{over}}0009$} + +\verb+$\ext@arrow 0090$+\quad{\huge $\xmapsto[\fbox{under}]{\fbox{over}}0090$} + +\verb+$\ext@arrow 0099$+\quad{\huge $\xmapsto[\fbox{under}]{\fbox{over}}0099$} + +\verb+$\ext@arrow 9999$+\quad{\huge $\xmapsto[\fbox{under}]{\fbox{over}}9999$} +} + +% $ +\begin{itemize} +\item 1st digit: space left +\item 2nd digit: space right +\item 3rd digit: space left and right +\item 4th digit: space relativ to the tip of the ``arrow'' +\end{itemize} + +The two macros \verb+\xrightarrow+ and \verb+\xleftarrow+ are defined as: +\begin{lstlisting} +\newcommand{\xrightarrow}[2][]{\ext@arrow 0359\rightarrowfill@{#1}{#2}} +\newcommand{\xleftarrow}[2][]{\ext@arrow 3095\leftarrowfill@{#1}{#2}} +\end{lstlisting} + + + +\section{Frames}\label{sec:ams-frames} +\marginpar{\CMD{boxed}}% +\AmSmath knows the macro \verb|\boxed|\index{boxed@\textbackslash boxed} which can +be used for inline $a\boxed{b+c}$ and displayed math expressions: + +\begin{align} +\boxed{f(x)=\int_1^{\infty}\frac{1}{x^2}\,dt=1} +\end{align} + +\begin{lstlisting} +\begin{align} +\boxed{f(x)=\int_1^{\infty}\frac{1}{x^2}\,dt=1} +\end{align} +\end{lstlisting} + +For coloured boxes use package \verb|empheq|. For an example see section \vref{sec:empheq}. + +\section{Greek letters}\label{sec:greek-AMS} +\marginpar{\CMD{pmb}}% +The \AmSmath package simulates a bold font for the greek letters by writing a greek %%% ----- Martin ----- +character twice with a small kerning. This is done with the macro +\verb|\pmb{<letter>}|\index{pmb@\textbackslash pmb}\index{Bold greek letters}. The +\verb|\mathbf{<character>}| doesn't work with lower greek character. + +\begin{tabular}{cc} +$\alpha$ & $\pmb{\alpha}$\\ +$\beta$ & $\pmb{\beta}$\\ +$\gamma$ & $\pmb{\gamma}$\\ +$\delta$ & $\pmb{\delta}$\\ +$\epsilon$ & $\pmb{\epsilon}$\\ +$\ldots$ & $\ldots$ +\end{tabular} + + +\section{Miscellaneous commands}\label{sec:misc-AMS} + +There are several commands which can be used in math mode:\marginpar{\CMD{overset}\\\CMD{underset}\\\CMD{boxed}} + +Some examples are shown in table~\vref{cap:Different-Mathcommands-supported-AMS}. + +\begin{table}[htb] +\centering +{\renewcommand{\arraystretch}{2} +\begin{tabular}{r|>{\raggedright}p{2cm}} +\verb|$\underset{under}{baseline}$| \index{underset@\textbackslash underset} & +$\underset{under}{baseline}$\tabularnewline +\verb|$\overset{over}{baseline}$| \index{overset@\textbackslash overset} & +$\overset{over}{baseline}$\tabularnewline +\end{tabular}} +\caption{Different mathcommands}\label{cap:Different-Mathcommands-supported-AMS} +\end{table} + +\CMD{underset} is a useful macro for having limits under non-operators (see page~\pageref{sec:amsopn}). %%% ----- Martin ----- + + +\part{\TeX{} and math} + +There is in general no need to use the \TeX{} macros, because the ones defined with \LaTeX{} +or with \AmSmath{} are much more useful. Nevertheless there may be situations, where someone %%% ----- Martin ----- +has to use one of the \TeX{} macros or special \TeX{} math length. One can not expect, that all +macros work in the usual way, a lot of them are redefined by \LaTeX{} %%% ----- Martin ----- +or \AmSmath{}. On the other hand some of these basic macros or length definitions are used +in the \TeX{} way, so it might be interesting to have all declared in a short way for some +information. + +\section{Length registers} + +\subsection{\CMD{abovedisplayshortskip}} +\cIndex{abovedisplayshortskip}A length with glue, see section~\ref{subsubsec:displayskip} for an example. + +\subsection{\CMD{abovedisplayskip}} +\cIndex{abovedisplayskip}A length with glue, see section~\ref{subsubsec:displayskip} for an example. + +\subsection{\CMD{belowdisplayshortskip}} +\cIndex{belowdisplayshortskip}A length with glue, see section~\ref{subsubsec:displayskip} for an example. + +\subsection{\CMD{belowdisplayskip}} +\cIndex{belowdisplayskip}A length with glue, see section~\ref{subsubsec:displayskip} for an example. + + +\subsection{\CMD{delimiterfactor}} +\cIndex{delimiterfactor}The height of a delimiter is often not optimally calculated by \TeX{}. In some cases it is %%% ----- Martin ----- +too short. With \verb+\delimiterfactor+ one can correct this height. The delimiterheight +is $<\textrm{calculated height}>\cdot <\textrm{\#1}>/1000$ where \verb+#1+ is the parameter of +\verb+\delimiterfactor+. The default value is $901$. + +\begin{showexample}[width=0.4\linewidth] +\[ +y = \left\{% + \begin{array}{ll} + x^2+2x &\textrm{if }x<0,\\ + x^3 &\textrm{if }0\le x<1,\\ + x^2+x &\textrm{if }1\le x<2,\\ + x^3-x^2 &\textrm{if }2\le x. + \end{array}% +\right. +\] +\end{showexample} + +\begin{showexample}[width=0.4\linewidth] +\[ +\delimiterfactor=1500 +y = \left\{% + \begin{array}{ll} + x^2+2x &\textrm{if }x<0,\\ + x^3 &\textrm{if }0\le x<1,\\ + x^2+x &\textrm{if }1\le x<2,\\ + x^3-x^2 &\textrm{if }2\le x. + \end{array}% +\right. +\] +\end{showexample} + +\subsection{\CMD{delimitershortfall}} +\cIndex{delimitershortfall}Additionally to the forgoing \verb+\delimiterfactor+ one can modify the height of the +delimiter with another value. \TeX{} makes the delimiter larger than the values of +$<\textrm{calculated height}>\cdot <\textrm{delimiterfactor}>/1000$ and $<\textrm{calculated height}>-<\textrm{delimitershortfall}>$. This makes it possible to always get different heights %%% ----- Martin ----- +of a sequence of delimiters. + +\begin{showexample}[width=0.3\linewidth] +$x\cdot\left(\left(x^2-y^2\right)-3\right)$\\[7pt] + +$ +\delimitershortfall-1pt +x\cdot\left(\left(x^2-y^2\right)-3\right)$ +\end{showexample} + +\begin{showexample}[width=0.2\linewidth] +$\left(\left(\left(A\right)\right)\right)$\\[7pt] + +$\delimitershortfall-1pt +\left(\left(\left(A\right)\right)\right)$ +\end{showexample} + + +\subsection{\CMD{displayindent}} +\cIndex{displayindent}This is the left shift amount of a line holding displayed equation. By default it is $0pt$ but +gets the value of an indented paragraph when there is an environment like the quotation one. + +The following formula is typeset in the usual way without modifying anything. + +\[ f(x) = \int \frac{\sin x}{x}dx \] + +Now we start a quotation environment which sets \verb+\labelwidth+ to new values for a greater %%% ----- Martin ----- +left margin. + +\begin{itemize} +\item The following formula is typeset in the usual way without modifying anything. + +\[ f(x) = \int \frac{\sin x}{x}dx \] + +\item Now we write the same equation, but now with modifying \verb+\displayindent+, it is set to +the negative \verb+\labelwidth+: + +\[ + \displayindent=-\labelwidth + f(x) = \int \frac{\sin x}{x}dx +\] +\end{itemize} + +\begin{lstlisting} +\[ + \displayindent=-\leftskip + f(x) = \int \frac{\sin x}{x}dx +\] +\end{lstlisting} + +\subsection{\CMD{displaywidth}} +\cIndex{displaywidth}The width of the line holding a displayed equation, which is by default \verb+\linewidth+. In the +second example the formula is centered for a display width of \verb+0.5\linewidth+. + +\[ f(x) = \int \frac{\sin x}{x}dx \] +\[ + \displaywidth=0.5\linewidth + f(x) = \int \frac{\sin x}{x}dx +\] +\begin{lstlisting} +\[ f(x) = \int \frac{\sin x}{x}dx \] +\[ + \displaywidth=0.5\linewidth + f(x) = \int \frac{\sin x}{x}dx +\] +\end{lstlisting} + +\subsection{\CMD{mathsurround}} +\cIndex{mathsurround}Extra space added when switching in and out of the +inline math mode (see section~\ref{subsec:whitespace}). + +\subsection{\CMD{medmuskip}} +\cIndex{medmuskip}See section~\ref{subsec:mathskip} for an example. + +\subsection{\CMD{mkern}} +\cIndex{mkern}Similiar to \verb+\kern+, but adds a math kern item to the current math list. Length must be a math unit. + +\subsection{\CMD{mskip}} +\cIndex{mskip}Similiar to \verb+\skip+, but adds math glue to the current math list. Length must be a math unit. + +\subsection{\CMD{muskip}} +\cIndex{muskip}Assigns a length with a math unit to one of the 256 \verb+\muskip+ register. + +\subsection{\CMD{muskipdef}} +\cIndex{muskipdef}Defines a symbolic name for a \verb+\muskip+ register. + +\subsection{\CMD{nonscript}} +\cIndex{nonscript}Ignores immediately following glue or kern in script and scriptscript styles, which makes +a redefinition of \verb+\mathchoice+ superfluous. + +\subsection{\CMD{nulldelimiterspace}} +\cIndex{nulldelimiterspace}This is the width of a null or missing delimiter, e.g. \verb+\right.+ or for the left one. + +\subsection{\CMD{predisplaysize}} +\cIndex{predisplaystyle}Is the effective width of the line preceeding a displayed equation, whether +\verb+\abovedisplayskip+ or \verb+abovedisplayshortskip+ is used for the vertical skip. + +\subsection{\CMD{scriptspace}} +\cIndex{scriptspace}The space inserted after an exponent or index, predefined as \verb+\scriptspace=0.5pt+ %%% ----- Martin ----- + +\subsection{\CMD{thickmuskip}} +\cIndex{thickmuskip}See section~\ref{subsec:mathskip}. + +\subsection{\CMD{thinmuskip}} +\cIndex{thinmuskip}The short version for positive skip is defined as \verb+\def\,{\mskip\thinmuskip}+ and the one +for a negative skip as \verb+\def\!{\mskip-\thinmuskip}+ (see also section~\ref{subsec:mathskip}). + + +\begin{showexample}[width=0.35\linewidth] +$\sqrt 2 x$ -- $\sqrt 2\,x$\\ +$\sqrt{\log x}$ -- $\sqrt{\,\log x}$\\ +$P\left({1/\sqrt n}\right)$ -- $P\left({1/ \sqrt n}\,\right)$\\[8pt] + $[0,1)$ -- $[\,0,1)$\\ +$x^2/2$ -- $x^2\!/2$\\ +\end{showexample} + +\begin{showexample}[width=0.35\linewidth] +\[\int\int_D dxdy \quad + \int\!\int_D dx\,dy\] +\[\int\!\!\int_D dx\,\,dy \quad + \int\!\!\!\int_D dx\,\,\,dy\] +\[\int\!\!\!\!\int_D dx\,\,\,\,dy \quad + \int\!\!\!\!\!\int_D dx\,\,\,\,\,dy\] +\[\int\!\!\!\int_D dx\,dy\] +\end{showexample} + +\subsection{\CMD{medmuskip}} +See section~\ref{subsec:mathskip}. + + +\section{Math font macros} +\subsection{\CMD{delcode}} +\cIndex{delcode}Each character has not only a \verb+\catcode+ and \verb+\mathcode+ but also a \verb+\delcode+ +which defines for a single chracter how it should look when used as a math delimiter. + +\subsection{\CMD{delimiter}} +\cIndex{delimiter}Every character can be declared as a delimiter, but \TeX{} must know which characters +should be used for the default and the big size. For \LaTeX{} the macro \verb+\DeclareMathDelimiter+ should be used (see section~\ref{subsec:delim}). + +In the following example \verb+\tdela+ is the character $0x22$ ($\uparrow$) from font number $2$ (\verb+csmy+) and character $0x78$ from font number $3$ (\verb+cmex+) for the big version. +\verb+\tdelb+ is the same vice versa ($\downarrow$). +\begin{showexample}[width=0.35\linewidth] +\def\tdela{\delimiter"4222378\relax} +\def\tdelb{\delimiter"5223379\relax} + +$\tdela x-y\tdelb(x+y)=x^2-y^2$ + +\[\tdela\sum_{n=0}^\infty {1\over2^n}\tdelb^2 = 4\] + +\[\left\tdela\sum_{n=0}^\infty {1\over2^n}\right\tdelb^2 = 4\] +\end{showexample} + +\subsection{\CMD{displaystyle}} +\cIndex{displaystyle}See section~\ref{sec:Styles} for an example. + +\subsection{\CMD{fam}} +\cIndex{fam}When \TeX{} switches into the math mode, it typesets everything using one of the 16 +possible families of fonts. \verb+\fam+ in an internal register where other macros can check which font is the actual one. At the beginning \TeX{} starts with \verb+\fam=-1+. + +\bigskip +\begin{center} +\begin{tabular}{ll} +\verb+\fam=-1+ & $\fam=-1 123abcABC\alpha\beta\gamma$\\ +\verb+\fam=0+ & $\fam=0 123abcABC\alpha\beta\gamma$\\ +\verb+\fam=1+ & $\fam=1 123abcABC\alpha\beta\gamma$\\ +\verb+\fam=2+ & $\fam=2 123abcABC\alpha\beta\gamma$\\ +\verb+\fam=3+ & $\fam=3 123abcABC\alpha\beta\gamma$\\ +\verb+\fam=4+ & $\fam=4 123abcABC\alpha\beta\gamma$\\ +\verb+\fam=5+ & $\fam=5 123abcABC\alpha\beta\gamma$ +\end{tabular} +\end{center} + + +\begin{showexample}[width=0.3\linewidth] +$\mathrm{123abcABC\alpha\beta\gamma (\the\fam)}$\\[5pt] +$\mathbf{123abcABC\alpha\beta\gamma (\the\fam)}$\\[5pt] +$\mathit{123abcABC\alpha\beta\gamma (\the\fam)}$\\[5pt] +$\mathtt{123abcABC\alpha\beta\gamma (\the\fam)}$\\[5pt] +$\mathsf{123abcABC\alpha\beta\gamma (\the\fam)}$\\[5pt] +$\mathnormal{123abcABC\alpha\beta\gamma (\the\fam)}$ +\end{showexample} + + +\subsection{\CMD{mathaccent}} +\cIndex{mathaccent}Requires three parameter as one number, the class, the font family and the character. + +\begin{showexample}[width=0.3\linewidth] +\def\dA{\mathaccent"7015\relax} +{\Large $\dA{A}$} +\end{showexample} + +\subsection{\CMD{mathbin}} +\cIndex{mathbin}Declares a following character as a binary symbol with another spacing before and behind such +a symbol. + +\begin{showexample}[width=0.3\linewidth] +{\Large +$a|b \quad a\mathbin| b$} +\end{showexample} + +\subsection{\CMD{mathchar}} +\cIndex{mathchar}Declares a math character by three integer numbers as Parameters, giving its class, %%% ----- Martin ----- +font family, and font position. In the following example \verb+\mathchar+ defines a +character of class 1 (big operators), font family 3 (math extension font) and number +58 (big sum character). + +\begin{showexample}[width=0.3\linewidth] +{\Large +$a\sum\limits_{i=1}^{\infty} b \quad + a\mathchar"1358\limits_{i=1}^{\infty} b$} +\end{showexample} + +\subsection{\CMD{mathchardef}} +\cIndex{mathchardef}This is in principle the same as \verb+\mathchar+, it only allows to make such definitions permanent. %%% ----- Martin ----- + +\begin{showexample}[width=0.25\linewidth] +\bgroup +\mathchardef\sum="1358 +$a\sum\limits_{i=1}^{\infty}\sqrt{i+1}$\\[5pt] +\egroup + +$a\sum\limits_{i=1}^{\infty}\sqrt{i+1}$ +\end{showexample} + + +\subsection{\CMD{mathchoice}} +\cIndex{mathchoice}Specifies specific subformula sizes for the 4 main styles: \verb+displaystyle+ -- \verb+textstyle+ -- +\verb+scriptstyle+ -- \verb+scriptscriptstyle+. + +\begin{showexample}[width=0.15\linewidth] +\Large +\def\myRule{{% + \color{red}% + \mathchoice{\rule{2pt}{20pt}}{\rule{1pt}{10pt}}% + {\rule{0.5pt}{5pt}}{\rule{0.25pt}{2.5pt}}% + \mkern2mu}} +$\myRule\sum\limits_{\myRule i=1}^{\myRule\infty}% + \myRule\frac{\myRule\sqrt{\myRule i+1}}{\myRule i^2}$ +\end{showexample} + +\subsection{\CMD{mathclose}}\label{subsec:mathclose} +\cIndex{mathclose}Assigns class 5 (closing character) to the following parameter, which can hold a single character +or a subformula. + +\begin{showexample}[width=0.2\linewidth] +{\large +$A:\frac{B}{C}:D$\\[5pt] +$A\mathopen:\frac{B}{C}\mathclose: D $} +\end{showexample} + + +\subsection{\CMD{mathcode}} +\cIndex{mathcode}A math font is far different from a text font. A lot of the characters has to be defined with +\verb+\mathcode+, which defines the character with its class, font family and character number, e.g. +\verb+\mathcode`\<="313C+. It defines the character ``<''{} as a realtion symbol (class 3) from +the font family 1 and the character number 0x3C, which is 60 decimal. + +\subsection{\CMD{mathop}} +\cIndex{mathop}Assigns class 1 (large operator) to the parameter, which can be a single character or a subformula. + +\begin{showexample}[width=0.2\linewidth] +\[ A_{i=1}^{\infty} \] +\[ \mathop{A}_{i=1}^{\infty} \] +\end{showexample} + +\subsection{\CMD{mathopen}} +\cIndex{mathopen}Vice versa to \verb+\mathclose+ (see section~\ref{subsec:mathclose}). + + +\subsection{\CMD{mathord}} +\cIndex{mathord}Assigns class 0 (ordinary character) to the following parameter, which can be a single character +or a subformula. + +\begin{showexample}[width=0.2\linewidth] +{\large +$y = f(x)$\\[5pt] +$y \mathord= f(x)$} +\end{showexample} + +\subsection{\CMD{mathpunct}} +\cIndex{mathpunct}Assigns class 6 (punctuation) to the following parameter, which can be a single character +or a subformula (see section~\ref{subsec:dot-comma} for an example). + +\subsection{\CMD{mathrel}} +\cIndex{mathrel}Assigns class 3 (relation) to the following parameter, which can be a single character +or a subformula. + +\begin{showexample}[width=0.25\linewidth] +{\large +$x_1 o x_2 o x_3$\\[5pt] +$x_1\mathrel o x_2\mathrel o x_3$} +\end{showexample} + + +\subsection{\CMD{scriptfont}} +\cIndex{scriptfont}Specifies the scriptstyle font (used for super/subscript) for a family. + +\begin{showexample}[width=0.25\linewidth] +$A_1$ +\font\tenxii=cmr12 +\scriptfont0=\tenxii +$A_1$ +\end{showexample} + + +\subsection{\CMD{scriptscriptfont}} +\cIndex{scriptscriptfont}Specifies the scriptscriptstyle font for a family. + +\subsection{\CMD{scriptscriptstyle}} +\cIndex{scriptscriptstyle}Selects scriptscript style for the following characters. + +\subsection{\CMD{scriptstyle}} +\cIndex{scriptstyle}Selects script style for the following characters. + + +\subsection{\CMD{skew}} +\cIndex{skew}Especially for italic characters double accents are often misplaced. \verb+\skew+ has three arguments +\begin{description} +\item[horizontal shift:] A value in math units for the additional shift of the accent. +\item[the accent:] The symbol which is placed above the character. +\item[the character:] This is in general a single character, but can also include itself an accent. +\end{description} + +\AmSmath\ redefines the setting of double accents. This is the reason why there are only a few +cases where someone has to use \verb+\skew+ when \verb+amsmath.sty+ is loaded, like +in this document. + +\begin{showexample}[width=0.2\linewidth] +\large +$\tilde i$ \qquad $\tilde{A}$\\[5pt] +$\skew{3}{\tilde}{i}$ \qquad $\skew{7}{\tilde}{A}$ +\end{showexample} + +\subsection{\CMD{skewchar}} +\cIndex{skewchar}Is -1 or the character (reference symbol) used to fine-tune the positioning of math accents. + +\subsection{\CMD{textfont}} +\cIndex{textfont}Specifies the text font for a family. + +\subsection{\CMD{textstyle}} +\cIndex{textstyle}Selects the text style for the following characters. + + + +\section{Math macros} + + +\subsection{\CMD{above}} +\cIndex{above} +\begin{showexample}[width=0.2\linewidth] +$a\above0pt b$\\[8pt] + +${a\above1pt b}$\\[8pt] + +${a\above2.5pt b}$\\[8pt] + +$\displaystyle{a\above0pt b}$ +\end{showexample} + + + +\subsection{\CMD{abovewithdelims}} +\cIndex{abovewithdelims} +\begin{showexample}[width=0.2\linewidth] +$a\abovewithdelims()0pt b$\\[8pt] + +\def\fdelimA{\abovewithdelims\{)1.0pt} +${a\fdelimA b}$\\[8pt] + +\def\fdelimB{\abovewithdelims[]2.0pt} +${a\fdelimB b}$\\[8pt] + +\def\fdelimC{\abovewithdelims\{.0pt} +$\displaystyle{a\fdelimC b}$ +\end{showexample} + +\subsection{\CMD{atop}} +\cIndex{atop} + +\begin{showexample}[width=0.2\linewidth] +$a\atop b$\\[8pt] + +$({n \atop k}) = {n!\above1pt k!(n-k)!}$\\[8pt] + +$\displaystyle{a\atop b}$ +\end{showexample} + + +\subsection{\CMD{atopwithdelims}} +\cIndex{atopwithdelims} +\begin{showexample}[width=0.2\linewidth] +$a\atopwithdelims() b$\\[8pt] + +${n \atopwithdelims() k} = {n!\above1pt k!(n-k)!}$\\[8pt] + +$\displaystyle{a\atopwithdelims\{. b}$ +\end{showexample} + +\subsection{\CMD{displaylimits}} +\cIndex{displaylimits}Resets the conventions for using limits with operators to the standard for the used environment. + +\subsection{\CMD{eqno}}\label{subsec:eqno} +\cIndex{eqno}Puts an equation number at the right margin, the parameter can hold anything. \verb+\eqno+ places +only the parameter, but doesn't increase any equation counter. + +\begin{showexample}[width=0.5\linewidth] +\[ y=f(x) \eqno{(A12)} \] +\end{showexample} + +\subsection{\CMD{everydisplay}} +\cIndex{everydisplay}Inserts the parameter at the start of every switch to display math mode. + +\begin{showexample}[width=0.4\linewidth] +\everydisplay{\color{red} +} +\[ f(x) = \int \frac{\sin x}{x}dx \] +\[ g(x) = \int \frac{\sin^2 x}{x^2}dx \] +\end{showexample} + +\subsection{\CMD{everymath}} +\cIndex{everymath}Same as \verb+\everydisplay+, but now for the inline mode. In the following example +the displaystyle is used (besides using color red) for every inline math expression. %%% ----- Martin ----- + +\bgroup +\begin{showexample}[width=0.45\linewidth] +\everymath{\color{red}% + \displaystyle} +\[ f(x) = \int \frac{\sin x}{x}dx \] +Instead of $\frac{\sin x}{x}$ + now with $\frac{\cos x}{x}$: +\[ g(x) = \int \frac{\cos x}{x}dx \] +\end{showexample} +\egroup + +Pay attention for side effects on footnotes and other macros which use the math mode for superscript +and other math related modes. In this case you'll get the footnotes also in red. + +\subsection{\CMD{left}} +\cIndex{left}\TeX{} calculates the size of the following delimiter needed at the left side of a formula. +Requires an additional \verb+right+. + +\subsection{\CMD{leqno}} +\cIndex{leqno}Vice versa to \verb+\eqno+ (see section~\ref{subsec:eqno}). + +\subsection{\CMD{limits}} +\cIndex{limits}Typesets limits above and/or below operators (see section~\ref{sec:limits}). + +\subsection{\CMD{mathinner}} +\cIndex{mathinner}Defines the following parameter as subformula. + +\subsection{\CMD{nolimits}} +\cIndex{nolimits}The opposit of \verb+\limits+, instead of above/below limits are placed to the right of large +operators (class 1). + + +\subsection{\CMD{over}} +\cIndex{over}Is equivalent to the fraction macro of \LaTeX{} and equivalent to the +\verb+\overwithdelims+, see section~\ref{subsec:overwithdelims}. + +\begin{showexample}[width=0.2\linewidth] +$ {a\over b} \qquad {{m\over n}\over{a+b}} $ +\[ {m\over n}\over{a+b} \] +\end{showexample} + + +\subsection{\CMD{overline}} +\cIndex{overline}Puts a line over the following character or subformula and has the same problems with different +heights as underlines (see section~\ref{subsec:underline}). + +\begin{showexample}[width=0.2\linewidth] +$\overline{x}+\overline{y}=\overline{z}$\\ +\let\ol\overline +$ \ol{x} + \ol{A} = \ol{z} $\\[5pt] +\def\yPh{\vphantom{A}} +$ \ol{x\yPh} + \ol{A} = \ol{z\yPh} $ +\end{showexample} + +\subsection{\CMD{overwithdelims}}\label{subsec:overwithdelims} +\cIndex{overwithdelims}Is a generalized fraction command with preset fraction bar thickness. %%% ----- Martin ----- + +\begin{showexample}[width=0.25\linewidth] +$ {a\overwithdelims() b} \qquad {{m\over n}\overwithdelims[]{a+b}} $ +\[ {m\over n}\overwithdelims\{.{a+b} \] +\end{showexample} + + +\subsection{\CMD{radical}} +\cIndex{radical}Makes a radical atom from the delimiter (27-bit number) and the math field. + +\begin{showexample}[width=0.2\linewidth] +\def\mySqrt{\radical"0270371\relax} +$ \mySqrt{\frac{1}{7}} $\\[5pt] + +\def\mySqrt{\radical"0270372\relax} +$ \mySqrt{\frac{1}{7}} $\\[5pt] + +\def\mySqrt{\radical"0270373\relax} +$ \mySqrt{\frac{1}{7}} $\\[5pt] + +\def\mySqrt{\radical"0270374\relax} +$ \mySqrt{\frac{1}{7}} $\\[5pt] +\end{showexample} + +\subsection{\CMD{right}} +\cIndex{right}Opposite to \verb+\left+, makes \TeX{} calculate the size of the delimiter needed at the right of a formula. + +\subsection{\CMD{underline}}\label{subsec:underline} +\cIndex{underline}When there is a combination of variables with and without an index, the underlines are typeset %%% ----- Martin ----- +with a different depth. Using \verb+\vphantom+ in this case is a good choice. + +\begin{showexample}[width=0.2\linewidth] +$\underline{x}+\underline{y}=\underline{z}$\\ + +\let\ul\underline +\def\yPh{\vphantom{y}} +$ \ul{x\yPh} + \ul{y} = \ul{z\yPh} $\\ + +$ \ul{x_1} + \ul{y_2} = \ul{z_3} $ +\end{showexample} + +\subsection{\CMD{vcenter}} +\cIndex{vcenter}Centers vertical material with respect to the axis. + + +\section{Math penalties} + +\subsection{\CMD{binoppenalty}} +\cIndex{binoppenalty}A penalty for breaking math expressions between lines in a paragraph. TeX breaks lines only +when the binary symbol is not the last one and when the penalty is below 10,000. + +\subsection{\CMD{displaywidowpenalty}} +\cIndex{displaywidowpenalty}The penalty which is added after the penultimate line immediately preceeding a display math formula. + +\subsection{\CMD{postdisplaypenalty}} +\cIndex{postdisplaypenalty}Is added immediately after a math display ends. + +\subsection{\CMD{predisplaypenalty}} +\cIndex{predisplaypenalty}Is added immediately before a math display starts. + +\subsection{\CMD{relpenalty}} +\cIndex{relpenalty}The penalty for a line break after a relation symbol (if a break is possible). + + +\part{Other packages} +The following sections are not a replacement for the package documentation! +\section{List of available math packages} + + +\begin{center} +\noindent +\begin{tabular}{llll} +\href{http://www.dante.de/CTAN/help/Catalogue/entries/accents.html}{accents}& +\href{http://www.dante.de/CTAN/help/Catalogue/entries/alphalph.html}{alphalph}& +\href{http://www.dante.de/CTAN/help/Catalogue/entries/amsart.html}{amsart}& +\href{http://www.dante.de/CTAN/help/Catalogue/entries/amsbook.html}{amsbook}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amsbsy.html}{amsbsy}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amscd.html}{amscd}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amscls.html}{amscls}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amsfonts.html}{amsfonts}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amslatex.html}{amslatex}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amsltx11.html}{amsltx11}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amsmath.html}{amsmath}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amsppt.html}{amsppt}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amsppt1.html}{amsppt1}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amsproc.html}{amsproc}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amssym.html}{amssym (plain TeX)}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amssymb.html}{amssymb (LaTeX)}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amstex.html}{amstex (Plain TeX)}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amstext.html}{amstext}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/amsthm.html}{amsthm}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/bez123.html}{bez123}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/bitfield.html}{bitfield}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/brclc.html}{brclc}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/breqn.html}{breqn}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/cancel.html}{cancel}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/cases.html}{cases}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/comma.html}{comma}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/datenumber.html}{datenumber}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/diagxy.html}{diagxy}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/doublestroke.html}{doublestroke}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/easyeqn.html}{easyeqn}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/easybmat.html}{easybmat}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/easymat.html}{easymat}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/eqnarray.html}{eqnarray}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/esvect.html}{esvect}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/fixmath.html}{fixmath}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/fltpoint.html}{ftlpoint}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/icomma.html}{icomma}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/leftidx.html}{leftidx}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/mathdots.html}{mathdots}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/mathematica.html}{mathematica}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/mil3.html}{mil3}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/mtbe.html}{mtbe}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/nath.html}{Nath}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/numprint.html}{numprint}\\ +\href{http://www.dante.de/CTAN//help/Catalogue/entries/random.html}{random}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/romannum.html}{romannum}& +\href{http://www.dante.de/CTAN//help/Catalogue/entries/texaide.html}{TeXaide}& +\end{tabular} +\end{center} + +The following examples depend on the listed versions of the packages: %%% ----- Martin ----- + +{\small +\begin{verbatim} + amsopn.sty 1999/12/14 v2.01 operator names + bm.sty 1999/07/05 v1.0g Bold Symbol Support (DPC/FMi) + empheq.sty 2004/08/03 v2.11 Emphasizing equations (MH) + amscd.sty 1999/11/29 v2.0 + accents.sty 2000/08/06 v1.2 Math Accent Tools + framed.sty 2002/12/29 v 0.5: framed or shaded text with page breaks + pstcol.sty 2001/06/20 v1.1 PSTricks color colompatibility (DPC) +pstricks.sty 2004/05/06 v0.2k LaTeX wrapper for `PSTricks' (RN,HV) +pstricks.tex 2003/03/07 v97 patch 15 `PSTricks' (tvz) +pst-node.sty 1997/03/25 package wrapper for PSTricks pst-node.tex +delarray.sty 1994/03/14 v1.01 array delimiter package (DPC) + xypic.sty 1999/02/16 Xy-pic version 3.7 + exscale.eps Graphic file (type veps) +\end{verbatim} +} + + +\section{\texttt{accents}}\label{sec:package-accent} +\index{Accent}If you want to write for example an underlined M, then you can do it by %%% ----- Martin ----- + +\medskip +\begin{tabular}{ll} +\verb|\underline{$M$}| & \underline{$M$}\\ +\verb|\underbar{$M$}| & \underbar{$M$}\\ +\verb|\underaccent{\bar}{M}| & $\underaccent{\bar}{M}$ +\end{tabular} +\medskip + +As seen, there is no difference between \verb|\underline| and \verb|\underbar|. For %%% ----- Martin ----- +some reasons it may be better to use the package \verb|accents.sty| with the +\verb|\underaccents| macro. + +\section{\texttt{amscd} -- commutative diagrams} + +\verb|amscd.sty|\index{amscd.sty} is part of the \AmSmath bundle +or available at CTAN% +\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/amscd.dtx}% +{CTAN://macros/latex/required/amslatex/math/amscd.dtx}} and has no options for the +\verb|\usepackage| command. +\texttt{amscd.sty} does not support diagonal arrows but is much %%% ----- Martin ----- +easier to handle than the complex pstricks\index{pstricks.sty} or +the xypic\index{xypic.sty} package. On the other hand simple diagrams +can be written with the array environment or look at \cite{taylor00}. + +\[ +\begin{CD} + R\times S\times T @>\text{restriction}>> S\times T \\ + @VprojVV @VVprojV \\ + R\times S @<<\text{inclusion}< S +\end{CD} +\] + +\begin{lstlisting} +\[ +\begin{CD} + R\times S\times T @>\text{restriction}>> S\times T \\ + @VprojVV @VVprojV \\ + R\times S @<<\text{inclusion}< S +\end{CD} +\] +\end{lstlisting} + + +\section{\texttt{amsopn}}\label{sec:amsopn} +With this package it is very easy to declare new math operators, which are written in +upright mode: + +$\underset{s=p}{Res}\quad\text{versus}\quad\underset{s=p}{\Res}$ + +\medskip +\begin{lstlisting} +\documentclass[10pt]{article} +\usepackage{amsmath} +\usepackage{amsopn} +\DeclareMathOperator{\Res}{Res} +\begin{document} +$\underset{s=p}{Res}\quad\underset{s=p}{\Res}$ +\end{document} +\end{lstlisting} + +Table~\ref{tab:amsopn} shows the predefined operatornames of \verb+amsopn+. + +\begin{table}[htb] +\centering +\begin{tabular}{llllll} +\verb+\arccos+ & $\arccos$ & \verb+\arcsin+ & $\arcsin$ & \verb+\arctan+ & $\arctan$\\ +\verb+\arg+ & $\arg$ & \verb+\cos+ & $\cos$ & \verb+\cosh+ & $\cosh$\\ +\verb+\cot+ & $\cot$ & \verb+\coth+ & $\coth$ & \verb+\csc+ & $\csc$\\ +\verb+\deg+ & $\deg$ & \verb+\det+ & $\det$ & \verb+\dim+ & $\dim$\\ +\verb+\exp+ & $\exp$ & \verb+\gcd+ & $\gcd$ & \verb+\hom+ & $\hom$\\ +\verb+\inf+ & $\inf$ & \verb+\injlim+ & $\injlim$ & \verb+\ker+ & $\ker$\\ +\verb+\lg+ & $\lg$ & \verb+\lim+ & $\lim$ & \verb+\liminf+ & $\liminf$\\ +\verb+\limsup+ & $\limsup$ & \verb+\ln+ & $\ln$ & \verb+\log+ & $\log$\\ +\verb+\max+ & $\max$ & \verb+\min+ & $\min$ & \verb+\Pr+ & $\Pr$\\ +\verb+\projlim+& $\projlim$& \verb+\sec+ & $\sec$ & \verb+\sin+ & $\sin$\\ +\verb+\sinh+ & $\sinh$ & \verb+\sup+ & $\sup$ & \verb+\tan+ & $\tan$\\ +\verb+\tanh+ & $\tanh$ +\end{tabular} +\caption{The predefined operators of \texttt{amsopn.sty}}\label{tab:amsopn} +\end{table} + + +\section{\texttt{bigdel}}\label{sec:bigdelim} +This is a very useful package together with the \verb|multirow.sty| package. +In the following example we need additional parentheses for a different +number of rows. This is also possible with the \verb|array| environment, +but not as easy as with \verb|bigdelim.sty|. The trick is that you need one +separate column for a big delimiter, but with empty cells in all rows, which +the delimiter spans. + +\[ + \begin{pmatrix} + & x_{11} & x_{12} & \dots & x_{1p} & \rdelim\}{4}{3cm}[some text]\\ + \ldelim[{5}{1cm}[text] & x_{21} & x_{22} & \dots & x_{2p} \\ + & \vdots\\ + & x_{n_1 1}& x_{n_1 2} & \dots & x_{n_1 p}\\ + & x_{n_1+1,1}&x_{n_1+1,2} & \dots & x_{n_1+1, p} & + \rdelim\}{3}{3cm}[some more text]\\ + & \vdots\\ + & x_{n_1+n_2, 1} & x_{n_1+n_2,2} & \dots & x_{n_1+n_2,p}\\ + & \vdots \\ + \end{pmatrix} +\] + +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\[ + \begin{pmatrix} + & x_{11} & x_{12} & \dots & x_{1p} & \rdelim\}{4}{3cm}[some text]\\ + \ldelim[{5}{1cm}[text] & x_{21} & x_{22} & \dots & x_{2p} \\ + & \vdots\\ + & x_{n_1 1}& x_{n_1 2} & \dots & x_{n_1 p}\\ + & x_{n_1+1,1}&x_{n_1+1,2} & \dots & x_{n_1+1, p} & + \rdelim\}{3}{3cm}[some more text]\\ + & \vdots\\ + & x_{n_1+n_2, 1} & x_{n_1+n_2,2} & \dots & x_{n_1+n_2,p}\\ + & \vdots \\ + \end{pmatrix} +\] +\end{lstlisting} + +As seen in the above listing the left big delimiter is placed in the first +column, all other rows start with second column. It is possible to use all +columns above and below the delimiter. For the \verb|array| environment +there must be two more columns defined, in case of a big delimiter left and +right. The syntax of \verb|\ldelim| and \verb|\rdelim| is: +\begin{verbatim} +\ldelim<delimiter>{<n rows>}{<added horizontal space>}[<text>] +\rdelim<delimiter>{<n rows>}{<added horizontal space>}[<text>] +\end{verbatim} + +Any delimiter which is possible for the \verb|\left| or \verb|\right| command +is allowed, e.g.: ``\verb/()[]{}|/''. The text is an optional argument and %%% ----- Martin ----- +always typeset in text mode. + +\section{\texttt{bm}}\label{sec:bm} +By default the math macro \verb|mathbf| writes everything in bold and in upright mode +$\mathbf{y=f(x)}$ (\verb|$\mathbf{y=f(x)}$|), but it should be in italic mode especially +for variables $\bm{y=f(x)}$ (\verb|$\bm{y=f(x)}$|). For writing a whole formula in bold +have a look at section \vref{sec:boldmath}. + + +\section{\texttt{braket}}\label{sec:braket} +It is available at + \href{http://www.ctan.org/tex-archive/macros/latex/contrib/other/misc/braket.sty}% +{CTAN://macros/latex/contrib/other/misc/braket.sty} +and provides several styles for writing math expressions inside brakets. For example: + +\[ \left\{ x\in\mathbf{R} | 0<{|x|}<\frac{5}{3}\right\} \] + +\begin{lstlisting} +\[ \left\{ x\in\mathbf{R} | 0<{|x|}<\frac{5}{3}\right\} \] +\end{lstlisting} + +\noindent looks not quit right and it is not really easy to get the first vertical line in the same +size as the outer braces. Some solution may be using \CMD{vphantom}: %%% ----- Martin ----- + +\[ +\left\{\vphantom{\frac{5}{3}}x\in\mathbf{R} \right|\left. 0<{|x|}<\frac{5}{3}\right\} +\] + +\begin{lstlisting} +\[ +\left\{\vphantom{\frac{5}{3}}x\in\mathbf{R} \right|\left. 0<{|x|}<\frac{5}{3}\right\} +\] +\end{lstlisting} + +\verb|braket.sty| has the macros + +\begin{lstlisting} +\Bra{<math expression>} +\Ket{<math expression>} +\Braket{<math expression>} +\Set{<math expression>} +\end{lstlisting} + +\noindent and the same with a leading lower letter, which are not really interesting. + +\[ \Bra{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \] +\[ \Ket{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \] +\[ \Braket{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \] +\[ \Braket{x\in\mathbf{R} | 0<\vert x\vert <\frac{5}{3}} \] +\[ \Set{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \] + +\begin{lstlisting} +\[ \Bra{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \] +\[ \Ket{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \] +\[ \Braket{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \] +\[ \Braket{x\in\mathbf{R} | 0<\vert x\vert <\frac{5}{3}} \] +\[ \Set{x\in\mathbf{R} | 0<|x|<\frac{5}{3}} \] +\end{lstlisting} + +The difference between the \CMD{Set} and the \CMD{Braket} macro is the handling of the +vertical lines. In \CMD{Set} only the first one gets the same size as the +braces\index{Braces} and in \CMD{Braket} all. + +\[ \Braket{ \phi | \frac{\partial^2}{\partial t^2} | \psi }\] +\[ \Set{ \phi | \frac{\partial^2}{\partial t^2} | \psi }\] +\begin{lstlisting} +\[\Braket{\phi | \frac{\partial^2}{\partial t^2} | \psi}\] +\[\Set{\phi | \frac{\partial^2}{\partial t^2} | \psi}\] +\end{lstlisting} + + +\CMD{Bra} and \CMD{Ket} do nothing with the inner vertical lines. + + +\section{\texttt{cancel}}\label{cancel.sty} +This is a nice package for canceling anything in mathmode with a slash, backslash or a \verb+X+. To get +a horizontal line we can define an additional macro called \verb+hcancel+ with an optional argument +for the line color (requires package \verb+color+): +\begin{lstlisting} +\newcommand\hcancel[2][black]{\setbox0=\hbox{#2}% + \rlap{\raisebox{.45\ht0}{\textcolor{#1}{\rule{\wd0}{1pt}}}}#2} +\end{lstlisting} + +It is no problem to redefine the \verb+cancel+ macros to get also colored lines. A horizontal line for +single characters is also decribed in section \vref{sec:Accents}. + +\medskip +\noindent +\verb+\cancel+: $f(x)=\dfrac{\left(x^2+1\right)\cancel{(x-1)}}{\cancel{(x-1)}(x+1)}$\\[0.5cm] +\verb+\bcancel+: $\bcancel{3}\qquad\bcancel{1234567}$\\[0.5cm] +\verb+\xcancel+: $\xcancel{3}\qquad\xcancel{1234567}$\\[0.5cm] +\verb+\hcancel+: $\hcancel{3}\qquad\hcancel[red]{1234567}$ + +\bigskip +\begin{lstlisting} +$f(x)=\dfrac{\left(x^2+1\right)\cancel{(x-1)}}{\cancel{(x-1)}(x+1)}$\\[0.5cm] +$\bcancel{3}\qquad\bcancel{1234567}$\\[0.5cm] +$\xcancel{3}\qquad\xcancel{1234567}$\\[0.5cm] +$\hcancel{3}\qquad\hcancel[red]{1234567}$ +\end{lstlisting} + + +\section{\texttt{delarray}}\label{delarray} + +Package \texttt{delarray.sty}% +\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/required/tools/delarray.dtx}{CTAN://macros/latex/required/tools/delarray.dtx}% +} supports different delimiters which are defined together with the +beginning of an array: + +\begin{lstlisting} +\begin{array}<delLeft>{cc}<delRight> +... +\end{lstlisting} + +\noindent defines an array with two centered columns and the delimiters\\ +``\texttt{<delLeft><delRight>}{}'', e.g. ``\texttt{()}{}''. + +\medskip{} +\begin{minipage}[c]{0.45\textwidth}% +\begin{lstlisting} +\[ +A=\begin{array}({cc}) + a & b\\ + c & d +\end{array} +\] +\end{lstlisting} + +\end{minipage}% +\hfill{}\begin{minipage}[c]{0.45\textwidth}% +\[ +A=\begin{array}({cc}) +a & b \\ +c & d +\end{array} +\] +\end{minipage}% + +\medskip{} + +\verb|delarray.sty| expects a pair of delimiters. If you need only +one (like the cases structure) then use the dot for an ``empty'' +delimiter, e.g. + +\medskip{} +\begin{minipage}[c]{0.45\textwidth}% +\begin{lstlisting} +\[ +A=\begin{array}\{{cc}. + a & b\\ + c & d +\end{array} +\] +\end{lstlisting} + +\end{minipage}% +\hfill{}\begin{minipage}[c]{0.45\textwidth}% +\[A=\begin{array}\{{cc}. +a & b \\ +c & d +\end{array}\] +\end{minipage}% + +\medskip{} + +\noindent which is a useful command for a cases structure without the \AmSmath package, which is described in the \AmSmath part. + + +\section{\texttt{empheq}}\label{sec:empheq} + +This package supports different frames for math environments of the \AmSmath +package. It doesn't support all the environments from standard \LaTeX{} which %%% ----- Martin ----- +are not modified by \AmSmath, e.g. \verb|eqnarray|. + +With the optional argument of the environment \verb|empheq| the preferred box type +can be specified. A simple one is \verb|\fbox| + +\begin{empheq}[box=\fbox]{align} + f(x)=\int_1^{\infty}\frac{1}{x^2}\,dt=1 +\end{empheq} + +\begin{lstlisting} +\begin{empheq}[box=\fbox]{align} + f(x)=\int_1^{\infty}\frac{1}{x^2}\,dt=1 +\end{empheq} +\end{lstlisting} + +The same is possible with the macro \verb|\colorbox|: +\begin{empheq}[box={\fboxsep=10pt\colorbox{yellow}}]{align} + f(x)=\int_1^{\infty}\frac{1}{x^2}\,dt=1 +\end{empheq} + +\begin{lstlisting} +\begin{empheq}[box={\fboxsep=10pt\colorbox{yellow}}]{align} + f(x)=\int_1^{\infty}\frac{1}{x^2}\,dt=1 +\end{empheq} +\end{lstlisting} + +The key \verb|box| can hold any possible \LaTeX{} command sequence. Boxing +subequations is also no problem, the \verb|empheq| environment works in the same way: + +\begin{subequations} +\begin{empheq}[box={\fboxsep=10pt\colorbox{cyan}}]{align} + f(x) & =\int_1^{\infty}\frac{1}{x^1}\,dt=1\\ + f(x) & =\int_2^{\infty}\frac{1}{x^2}\,dt=0.25 +\end{empheq} +\end{subequations} + +\begin{lstlisting} +\begin{subequations} +\begin{empheq}[box={\fboxsep=10pt\colorbox{cyan}}]{align} + f(x) & =\int_1^{\infty}\frac{1}{x^2}\,dt=1\\ + f(x) & =\int_2^{\infty}\frac{1}{x^2}\,dt=0.25 +\end{empheq} +\end{subequations} +\end{lstlisting} + +For more information on \verb|empheq| have a look at the documentation of the package +which is available at any CTAN server. + +\section{\texttt{esint}}\label{sec:esint} +This is a very useful package when you want nice double or triple integral or curve +integral symbols. The ones from \verb|wasysym|% +\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/contrib/wasysym/}% +{CTAN://macros/latex/contrib/wasysym/}} are not the best. +\verb|esint|\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/contrib/esint/}% +{CTAN://macros/latex/contrib/esint/} +\href{http://www.ctan.org/tex-archive/fonts/ps-type1/esint/}{CTAN://fonts/ps-type1/esint/}} supports the following symbols: + +\allowdisplaybreaks +\begin{align} +\text{\CMD{int}} &: \int\\ +\text{\CMD{iint}} &: \iint\\ +\text{\CMD{iiintop}} &: \iiintop\\ +\text{\CMD{iiiintop}} &: \iiiintop\\ +\text{\CMD{dotsintop}}&: \dotsintop\\ +\text{\CMD{ointop}} &: \ointop\\ +\text{\CMD{oiint}} &: \oiint\\ +\text{\CMD{sqint}} &: \sqint\\ +\text{\CMD{sqiint}} &: \sqiint\\ +\text{\CMD{ointctrclockwise}} &: \ointctrclockwise\\ +\text{\CMD{ointclockwise}} &: \ointclockwise\\ +\text{\CMD{varointclockwise}} &: \varointclockwise\\ +\text{\CMD{varointctrclockwise}} &: \varointctrclockwise\\ +\text{\CMD{fint}} &: \fint\\ +\text{\CMD{varoiint}} &: \varoiint\\ +\text{\CMD{landupint}} &: \landupint\\ +\text{\CMD{landdownint}} &: \landdownint +\end{align} + + +\section{\texttt{eucal} and \texttt{euscript.sty}}\label{sec:euscript.sty} + +These packages should be part of your local \TeX{} installation, because +they come with the \AmSmath packages. Otherwise get them from CTAN% +\footnote{\href{http://www.ctan.org/tex-archive/fonts/amsfonts/latex/euscript.sty}% +{CTAN://fonts/amsfonts/latex/euscript.sty}}. They support a scriptwriting of only uppercase +letters: + +\begin{center} +\texttt{\textbackslash{}mathscr\{...\}}\index{EuScript@\textbackslash EuScript} +{$\EuScript{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$} +\end{center} + +Read the documentation for the interdependence to the %%% ----- Martin ----- +\verb|\mathcal| command. For the above example the +package \verb|eucal.sty| was loaded with the option \verb|mathscr|. + + +\section{\texttt{exscale}}\label{sec:exscale} + +The following formula is written with the default fontsize where everything +looks more or less well: + +\[ +\int_{-1}^{+1}\frac{f(x)}{\sqrt{1-x^{2}}}\,% +dx\approx\frac{\pi}{n}\sum_{i=1}^{n}f\left(\cos\left(\frac{2i-1}{2n}\right)\right)\] + + +Writing the same with the fontsize \texttt{\textbackslash{}huge} gives +a surprising result, which belongs to the historical development of +\LaTeX{}, the int\index{int@\textbackslash int} and sum\index{sum@\textbackslash sum} symbols +are not stretched. This extreme fontsize is often needed for slides +and not only written ``just for fun{}''. + +\begin{center} +\includegraphics{exscale} +\end{center} + +Using the \texttt{exscale.sty}% +\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/base/}% +{CTAN://macros/latex/base/}} package, which should be part of any local \TeX{} +installation, all symbols get the right size. + +\begin{minipage}[c]{1.0\textwidth}% +\centering\huge\[ +\int_{-1}^{+1}\frac{f(x)}{\sqrt{1-x^{2}}}\, dx\approx\frac{\pi}{n}% +\sum_{i=1}^{n}f\left(\cos\left(\frac{2i-1}{2n}\right)\right)\] +\end{minipage}% + +\section{\texttt{relsize}}\label{sec:relsize} +Often consecutives math operators are used, like two sum symbols, e.g.: +\[ \sum\sum_{i=1}^n i^2 \] + + +As seen the sums are of the same size. To increase the first operator size, someone +can use the \verb+\scalebox+ macro from \verb+graphicx+ and write an own macro %%% ----- Martin ----- +\verb+\Sum+, e.g.:\index{Operator!size}\index{Size!Operator} + +\begin{lstlisting} +\def\Sum{\ensuremath\mathop{\scalebox{1.2}{$\displaystyle\sum$}}} +\[ \Sum_{j=1}\sum_{i=1}^\infty i \] +\end{lstlisting} + +\def\Sum{\ensuremath\mathop{\scalebox{1.2}{$\displaystyle\sum$}}} +\[ \Sum_{j=1}\sum_{i=1}^\infty i \] + +Another solution is to use the \verb+relsize+\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/ltxmisc/}% +{CTAN://macros/latex/ltxmisc/}} package together with the \verb+exscale+ +one. \verb+relsize+ defines a useful macro \verb+mathlarger+: + +\begin{showexample} +\[ \mathlarger{\sum}\sum_{i=1}^n i^2 \] +\end{showexample} + + +\section{\texttt{xypic}}\label{xypic.sty} + +The \texttt{xymatrix}\index{xymatrix@\textbackslash xymatrix} macro is part of the +\verb+xypic+ package% +\footnote{\href{http://www.ctan.org/tex-archive/support/latex2html/}% +{CTAN://macros/generic/diagrams/xypic/xy-3.7/}} which can be loaded with several options +which are not so important.% +\footnote{For more information look at the style file \texttt{xy.sty}, which +is often saved in \texttt{/usr/share/texmf/tex/generic}}. + +\begin{equation} +\xymatrix{A\POS[];[d]**\dir{~},[];[dr]**\dir{-} & B & C\\ +D & E\POS[];[l]**\dir{.},[];[r]**\dir{~} & F\POS[];[dl]**\dir{~}\\ +G & H & I} +\label{eq:xymatrix} +\end{equation} + + +This matrix was created with + +\begin{lstlisting} +\[ +\xymatrix{ A\POS [];[d]**\dir {~},[];[dr]**\dir {-} & B & C\\ + D & E\POS [];[l]**\dir {.},[];[r]**\dir {~} & F\POS [];[dl]**\dir {~}\\ + G & H & I} +\] +\end{lstlisting} + + +\part{Special symbols} + +In this section only those symbols are defined, which are not part of the %%% ----- Martin ----- +list of all available symbols: +\href{http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf}% +{CTAN://info/symbols/comprehensive/symbols-a4.pdf}. With +\verb+fontmath.ltx+ \LaTeX{} itself defines the following special symbols for using inside math: %%% ----- Martin ----- + +\begin{table}[htb] +\centering +\begin{tabular}{l|c} +Name & Meaning\\\hline +\verb+\mathparagraph+ & $\mathparagraph$\\ +\verb+\mathsection+ & $\mathsection$\\ +\verb+\mathdollar+ & $\mathdollar$\\ +\verb+\mathsterling+ & $\mathsterling$\\ +\verb+\mathunderscore+ & $\mathunderscore$\\ +\verb+\mathellipsis+ & $\mathellipsis$\\ +\end{tabular} +\caption{Predefined math symbols from \texttt{fontmath.ltx}}\label{fontmath.ltx} +\end{table} + +\section{Integral symbols} +\index{Integral symbols} + +\def\Xint#1{\mathchoice + {\XXint\displaystyle\textstyle{#1}}% + {\XXint\textstyle\scriptstyle{#1}}% + {\XXint\scriptstyle\scriptscriptstyle{#1}}% + {\XXint\scriptscriptstyle\scriptscriptstyle{#1}}% + \!\int} +\def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$} + \vcenter{\hbox{$#2#3$}}\kern-.5\wd0}} +\def\ddashint{\Xint=} +\def\dashint{\Xint-} +\def\clockint{\Xint\circlearrowright} % GOOD! +\def\counterint{\Xint\rotcirclearrowleft} % Good for Computer Modern! +\def\rotcirclearrowleft{\mathpalette{\RotLSymbol{-30}}\circlearrowleft} +\def\RotLSymbol#1#2#3{\rotatebox[origin=c]{#1}{$#2#3$}} + +\begin{center} +\begin{tabular}{lc} +Name & Symbol\\\hline +\verb|\dashint| & $\dashint$\\ +\verb|\ddashint| & $\ddashint$\\ +\verb|\clockint| & $\clockint$\\ +\verb|\counterint| & $\counterint$ +\end{tabular} +\end{center} + +For all new integral symbols limits can be used in the usual way: + +\begin{equation} +\ddashint_01=\dashint_10<\oint\limits_{-\infty}^\infty = \clockint\counterint_A +\end{equation} + +\begin{lstlisting} +\ddashint_01=\dashint_10<\oint\limits_{-\infty}^\infty = \clockint\counterint_A +\end{lstlisting} + +Put the following definitions into the preamble to use one or all of these new +integral symbols. + +\begin{lstlisting} +\def\Xint#1{\mathchoice + {\XXint\displaystyle\textstyle{#1}}% + {\XXint\textstyle\scriptstyle{#1}}% + {\XXint\scriptstyle\scriptscriptstyle{#1}}% + {\XXint\scriptscriptstyle\scriptscriptstyle{#1}}% + \!\int} +\def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$} + \vcenter{\hbox{$#2#3$}}\kern-.5\wd0}} +\def\ddashint{\Xint=} +\def\dashint{\Xint-} +\def\clockint{\Xint\circlearrowright} % GOOD! +\def\counterint{\Xint\rotcirclearrowleft} % Good for Computer Modern! +\def\rotcirclearrowleft{\mathpalette{\RotLSymbol{-30}}\circlearrowleft} +\def\RotLSymbol#1#2#3{\rotatebox[origin=c]{#1}{$#2#3$}} +\end{lstlisting} + +%\clearpage +\section{Harpoons} +\LaTeX{} knows no stretchable harpoon\index{Harpoon} symbols, like \verb|\xrightarrow|. +The following code defines several harpoon symbols.% +\index{xrightharpoondown@\textbackslash xrightharpoondown} +\index{xrightharpoonup@\textbackslash xrightharpoonup} +\index{xleftharpoondown@\textbackslash xleftharpoondown} +\index{xleftharpoonup@\textbackslash xleftharpoonup} +\index{xleftrightharpoons@\textbackslash xleftrightharpoons} +\index{xrightleftharpoons@\textbackslash xrightleftharpoons}% +% +\marginpar{\CMD{xrightharpoondown}\\% +\CMD{xrightharpoonup}\\% +\CMD{xleftharpoondown}\\% +\CMD{xleftharpoonup}\\% +\CMD{xleftrightharpoons}\\% +\CMD{xrightleftharpoons}% +} + +\begin{lstlisting} +\def\rightharpoondownfill@{% + \arrowfill@\relbar\relbar\rightharpoondown} +\def\rightharpoonupfill@{% + \arrowfill@\relbar\relbar\rightharpoonup} +\def\leftharpoondownfill@{% + \arrowfill@\leftharpoondown\relbar\relbar} +\def\leftharpoonupfill@{% + \arrowfill@\leftharpoonup\relbar\relbar} +\newcommand{\xrightharpoondown}[2][]{% + \ext@arrow 0359\rightharpoondownfill@{#1}{#2}} +\newcommand{\xrightharpoonup}[2][]{% + \ext@arrow 0359\rightharpoonupfill@{#1}{#2}} +\newcommand{\xleftharpoondown}[2][]{% + \ext@arrow 3095\leftharpoondownfill@{#1}{#2}} +\newcommand{\xleftharpoonup}[2][]{% + \ext@arrow 3095\leftharpoonupfill@{#1}{#2}} +\newcommand{\xleftrightharpoons}[2][]{\mathrel{% + \raise.22ex\hbox{% + $\ext@arrow 3095\leftharpoonupfill@{\phantom{#1}}{#2}$}% + \setbox0=\hbox{% + $\ext@arrow 0359\rightharpoondownfill@{#1}{\phantom{#2}}$}% + \kern-\wd0 \lower.22ex\box0}% +} +\newcommand{\xrightleftharpoons}[2][]{\mathrel{% + \raise.22ex\hbox{% + $\ext@arrow 3095\rightharpoonupfill@{\phantom{#1}}{#2}$}% + \setbox0=\hbox{% + $\ext@arrow 0359\leftharpoondownfill@{#1}{\phantom{#2}}$}% + \kern-\wd0 \lower.22ex\box0}% +} +\end{lstlisting} + +\begin{tabular}{ll} +\verb|\xrightharpoondown[under]{over}| & $\xrightharpoondown[under]{over}$\\[10pt] +\verb|\xrightharpoonup[under]{over}| & $\xrightharpoonup[under]{over}$ \\[10pt] +\verb|\xleftharpoondown[under]{over}| & $\xleftharpoondown[under]{over}$\\[10pt] +\verb|\xleftharpoonup[under]{over}| & $\xleftharpoonup[under]{over}$ \\[10pt] +\verb|\xleftrightharpoons[under]{over}|& $\xleftrightharpoons[under]{over}$\\[10pt] +\verb|\xrightleftharpoons[under]{over}|& $\xrightleftharpoons[under]{over}$ +\end{tabular} + + +\section{Bijective mapping arrow} + +To get something like \bijmap~we can define: +\begin{lstlisting} +\def\bijmap{% + \ensuremath{% + \mathrlap{\rightarrowtail}\rightarrow% + }% +} +\end{lstlisting} + +This uses the \verb+\mathrlap+ definition from section~\vref{subsec:ams-limits}. With this +definition a huge symbol is also possible: \verb+{\Huge\bijmap}+ {\Huge\bijmap}. + +\section{Stacked equal sign} +There are several symbols stacked with an equal sign, e.g. \verb+\doteq+, \verb+\equiv+ or +\verb+\cong+ ($\doteq$, $\equiv{}$, $\cong$ ). But there are still some missing, which are +shown in table~\ref{tab:equal} and the following definitions. + +\begin{table}[htb] +\centering +\begin{tabular}{ll} +\verb+\eqdef+ & \eqdef\\ +\verb+\eqexcl+ & \eqexcl\\ +\verb+\eqhat+ & \eqhat +\end{tabular} +\caption{New symbols in combination with the equal sign}\label{tab:equal} +\end{table} + +\begin{lstlisting} +\newcommand{\eqdef}{\ensuremath{\stackrel{\mathrm{def}}{=}}} +\newcommand{\eqexcl}{\ensuremath{\stackrel{\mathrm{!}}{=}}} +\newcommand{\eqhat}{\ensuremath{\widehat{=}}} +\end{lstlisting} + +\section{Other symbols} + +\begin{minipage}{0.7\linewidth} +\begin{lstlisting} +\newcommand*{\threesim}{% + \mathrel{\vcenter{\offinterlineskip + \hbox{$\sim$}\vskip-.35ex\hbox{$\sim$}\vskip-.35ex\hbox{$\sim$}}}} +$\threesim ABC$ +\end{lstlisting}% +\end{minipage}\hfill +\begin{minipage}{0.15\linewidth} +$\threesim ABC$ +\end{minipage} + + + + +\part{Examples} + +\section{Matrix} +\subsection{Identity matrix} + +There are several possibilities to write this matrix. Here is a solution +with the default array environment. + +\begin{minipage}[c]{0.4\textwidth}% +\[ +\left(\begin{array}{ccccc} +1\\ + & 1 & & \text{{\huge{0}}}\\ + & & 1\\ + & \text{{\huge{0}}} & & 1\\ + & & & & 1\end{array}\right)\] + +\end{minipage}% +\hfill{}\begin{minipage}[c]{0.49\textwidth}% +\begin{lstlisting} +\[ +\left(\begin{array}{ccccc} +1\\ + & 1 & & \text{{\huge{0}}}\\ + & & 1\\ + & \text{{\huge{0}}} & & 1\\ + & & & & 1\end{array}\right) +\] +\end{lstlisting} +\end{minipage}% + +\subsection{System of linear equations} + +\begin{LTXexample}[pos=t] +\[ +\begin{array}{l@{\:=\:}*{5}{l@{\:+\:}}l} +y_1 & x_{11} & x_{12} & x_{13} & \dots & x_{1(n-1)} & x_{1n} \\ +y_2 & x_{21} & x_{22} & x_{23} & \dots & x_{2(n-1)} & x_{2n} \\ +\ \vdots &\ \vdots &\ \vdots &\ \vdots &\ \vdots &\ \vdots &\ \vdots\\ +y_{n-1} & x_{(n-1)1} & x_{(n-1)2} & x_{(n-1)3} & \dots & x_{(n-1)3} & x_{(n-1)n}\\ +y_n & x_{n1} & x_{n2} & x_{n3} & \dots & x_{(n-1)(n-1)} & x_{nn} +\end{array} +\] +\end{LTXexample} + +\section{Cases structure} + +\index{Cases!numbered lines}Sometimes it is better to use the array environment instead of amsmath's %%% ----- Martin ----- +cases environment. To get optimal horizontal spacing for the conditions, +there are two matrixes in series, one $3\times 1$ followed by $3\times 3$ matrix. +To minimize the horizontal space around the variable $z$ a + +\begin{lstlisting} +\addtolength{\arraycolsep}{-3pt} +\end{lstlisting} +is a useful command. + +\begin{equation} +\addtolength{\arraycolsep}{-3pt} +I(z)=\delta_{0}\left\{% + \begin{array}{lcrcl} + D+z & \quad & -D & \le z\le & -p\\ + D-\frac{1}{2}\left(p-\frac{z^{2}}{p}\right)% + & \quad & -p & \le z\le & \phantom{-}p\\ + D-z & \quad & p & \le z\le & \phantom{-}D + \end{array}\right. +\end{equation} + +\begin{lstlisting} +\addtolength{\arraycolsep}{-3pt} +I(z)=\delta_{0}\left\{% + \begin{array}{lcrcl} + D+z & \quad & -D & \le z\le & -p\\ + D-\frac{1}{2}\left(p-\frac{z^{2}}{p}\right)% + & \quad & -p & \le z\le & \phantom{-}p\\ + D-z & \quad & p & \le z\le & \phantom{-}D + \end{array}\right. +\end{equation} +\end{lstlisting} + + +The \CMD{phantom}\index{phantom@\textbackslash phantom} command +replaces exactly that place with whitespace which the argument needs. + +\subsection{Cases with numbered lines} +This is not possible in an easy way, because \verb+cases+ uses the array +environment for typesetting which has by default no numbering. However, there +are some tricky ways to get numbered lines. The following three examples +use the \verb+tabular+, the \verb+tabularx+ and the \verb+array+ environment. + +\bigskip\noindent +\begin{tabular}{rc} +\ldelim\{{2}{2.75cm}[some text here] & %%% ----- Martin ----- + \parbox{{\linewidth-3cm-4\tabcolsep}}{ + \vspace*{1ex} + \begin{flalign} + x & = 2\quad\text{if }y >2 &\\ + x & = 3\quad\text{if }y \le 2& + \end{flalign}} +\end{tabular} + +\bigskip +\begin{lstlisting} +\begin{tabular}{rc} +\ldelim\{{2}{2.75cm}[some text here] & %%% ----- Martin ----- + \parbox{{\linewidth-3cm-4\tabcolsep}}{ + \vspace*{1ex} + \begin{flalign} + x & = 2\quad\text{if }y >2 &\\ + x & = 3\quad\text{if }y \le 2& + \end{flalign}} +\end{tabular} +\end{lstlisting} + + +\bigskip\noindent +\begin{tabularx}{\linewidth}{rXc} +\ldelim\{{2}{2.75cm}[some text here] %%% ----- Martin ----- + & $ x = 2\quad\text{if }y > 2 $ & \refstepcounter{equation}(\theequation)\\ + & $ x = 3\quad\text{if }y \le 2$ &\refstepcounter{equation}(\theequation) +\end{tabularx} + +\bigskip +\begin{lstlisting} +\begin{tabularx}{\linewidth}{rXc} +\ldelim\{{2}{2.75cm}[some text here] %%% ----- Martin ----- + & $ x = 2\quad\text{if }y > 2 $ & \refstepcounter{equation}(\theequation)\\ + & $ x = 3\quad\text{if }y \le 2$ &\refstepcounter{equation}(\theequation) +\end{tabularx} +\end{lstlisting} + + +\bigskip +\[ +\begin{array}{rc@{\qquad}c} +\ldelim\{{2}{2.75cm}[some text here] %%% ----- Martin ----- + & x = 2\quad\text{if }y > 2 & \refstepcounter{equation}(\theequation)\\ + & x = 3\quad\text{if }y \le 2& \refstepcounter{equation}(\theequation) +\end{array} +\] + + +\bigskip +\begin{lstlisting} +\[ +\begin{array}{rc@{\qquad}c} +\ldelim\{{2}{2.75cm}[some text here] %%% ----- Martin ----- + & x = 2\quad\text{if }y > 2 & \refstepcounter{equation}(\theequation)\\ + & x = 3\quad\text{if }y \le 2& \refstepcounter{equation}(\theequation) +\end{array} +\] +\end{lstlisting} + + + +\section{Arrays} + +There is a general rule that a lot of mathematical stuff should be +divided in smaller pieces. But sometimes it is difficult to get a nice +horizontal alignment when splitting a formula. The following ones +uses the \texttt{array} environment to get a proper alignment. + + +\subsection{Quadratic equation} + +\begin{equation} +\begin{array}{rcll} +y & = & x^{2}+bx+c\\ + & = & x^{2}+2\cdot{\displaystyle\frac{b}{2}x+c}\\ + & = & \underbrace{x^{2}+2\cdot\frac{b}{2}x+\left(\frac{b}{2}\right)^{2}}-{\displaystyle% + \left(\frac{b}{2}\right)^{2}+c}\\ + & & \qquad\left(x+{\displaystyle \frac{b}{2}}\right)^{2}\\ + & = & \left(x+{\displaystyle \frac{b}{2}}\right)^{2}-\left({\displaystyle% + \frac{b}{2}}\right)^{2}+c & \left|+\left({\displaystyle% + \frac{b}{2}}\right)^{2}-c\right.\\ +y+\left({\displaystyle \frac{b}{2}}\right)^{2}-c & = & \left(x+{\displaystyle% + \frac{b}{2}}\right)^{2} & \left|(\textrm{Scheitelpunktform})\right.\\ +y-y_{S} & = & (x-x_{S})^{2}\\ +S(x_{S};y_{S}) & \,\textrm{bzw.}\, & S\left(-{\displaystyle% + \frac{b}{2};\,\left({\displaystyle \frac{b}{2}}\right)^{2}-c}\right) +\end{array} +\end{equation} + +\begin{lstlisting} +\begin{equation} +\begin{array}{rcll} +y & = & x^{2}+bx+c\\ + & = & x^{2}+2\cdot{\displaystyle\frac{b}{2}x+c}\\ + & = & \underbrace{x^{2}+2\cdot\frac{b}{2}x+\left(\frac{b}{2}\right)^{2}}-{\displaystyle% + \left(\frac{b}{2}\right)^{2}+c}\\ + & & \qquad\left(x+{\displaystyle \frac{b}{2}}\right)^{2}\\ + & = & \left(x+{\displaystyle \frac{b}{2}}\right)^{2}-\left({\displaystyle% +\frac{b}{2}}\right)^{2}+c & \left|+\left({\displaystyle% +\frac{b}{2}}\right)^{2}-c\right.\\ +y+\left({\displaystyle \frac{b}{2}}\right)^{2}-c & = & \left(x+{\displaystyle% +\frac{b}{2}}\right)^{2} & \left|(\textrm{Scheitelpunktform})\right.\\ +y-y_{S} & = & (x-x_{S})^{2}\\ +S(x_{S};y_{S}) & \,\textrm{bzw.}\, & S\left(-{\displaystyle% +\frac{b}{2};\,\left({\displaystyle \frac{b}{2}}\right)^{2}-c}\right) +\end{array} +\end{equation} +\end{lstlisting} + + + +\subsection{Vectors and matrices} +\index{Vector} +\begin{equation} +\begin{array}{rcl} +\underline{RS} & = & \left(\begin{array}{cccccccc} +01 & a4 & 55 & 87 & 5a & 58 & db & 9e\\ +a4 & 56 & 82 & f3 & 1e & c6 & 68 & e5\\ +02 & a1 & fc & c1 & 47 & ae & 3d & 19\\ +a4 & 55 & 87 & 5a & 58 & db & 9e & 03\end{array}\right)\\ +\\ +\left(\begin{array}{c} + s_{i,0}\\ + s_{i,1}\\ + s_{i,2}\\ + s_{i,3} +\end{array}\right) & = & \underline{RS}\cdot% +\left(\begin{array}{c} + m_{8i+0}\\ + m_{8i+1}\\ + \cdots\\ + m_{8i+6}\\ + m_{8i+7} +\end{array}\right)\\ +\\ +S_{i} & = & \sum_{j=0}^{3}s_{i,j}\cdot2^{8j}\qquad i=0,1,...,k-1\\ +\\ +S & = & \left(S_{k-1},S_{k-2},...,S_{1},S_{0}\right) +\end{array} +\end{equation} + +\begin{lstlisting} +\begin{equation} +\begin{array}{rcl} +\underline{RS} & = & \left(\begin{array}{cccccccc} +01 & a4 & 55 & 87 & 5a & 58 & db & 9e\\ +a4 & 56 & 82 & f3 & 1e & c6 & 68 & e5\\ +02 & a1 & fc & c1 & 47 & ae & 3d & 19\\ +a4 & 55 & 87 & 5a & 58 & db & 9e & 03\end{array}\right)\\ +\\ +\left(\begin{array}{c} + s_{i,0}\\ + s_{i,1}\\ + s_{i,2}\\ + s_{i,3} +\end{array}\right) & = & \underline{RS}\cdot% +\left(\begin{array}{c} + m_{8i+0}\\ + m_{8i+1}\\ + \cdots\\ + m_{8i+6}\\ + m_{8i+7} +\end{array}\right)\\ +\\ +S_{i} & = & \sum_{j=0}^{3}s_{i,j}\cdot2^{8j}\qquad i=0,1,...,k-1\\ +\\ +S & = & \left(S_{k-1},S_{k-2},...,S_{1},S_{0}\right) +\end{array} +\end{equation} +\end{lstlisting} + + +\subsection{Cases with (eqn)array environment} + +This solution is important when \AmSmath can't be used. %%% ----- Martin ----- + +$\lim\limits_{n->\infty}q^{n}=\left\{% + \begin{array}{lc@{\kern2pt}c@{\kern2pt}r} + \textrm{divergent}\ & q & \le & -1\\ + 0 & |q| & < & 1\\ + 1 & q & = & 1\\ + \infty & q & > & 1 + \end{array}\right.$ + +\medskip +\begin{lstlisting} +$\lim\limits_{n->\infty}q^{n}=\left\{% + \begin{array}{lc@{\kern2pt}c@{\kern2pt}r} + \textrm{divergent}\ & q & \le & -1\\ + 0 & |q| & < & 1\\ + 1 & q & = & 1\\ + \infty & q & > & 1 + \end{array}\right.$ +\end{lstlisting} +%$ + +\subsection{Arrays inside arrays} +The array environment is a powerful one because it can be nested in several ways: + +\[ +\left( +\begin{array}{c@{}c@{}c} +\begin{array}{|cc|} +\hline +a_{11} & a_{12} \\ +a_{21} & a_{22} \\ +\hline +\end{array} & 0 & 0 \\ +0 & \begin{array}{|ccc|} + \hline + b_{11} & b_{12} & b_{13}\\ + b_{21} & b_{22} & b_{23}\\ + b_{31} & b_{32} & b_{33}\\ + \hline + \end{array} & 0 \\ +0 & 0 & \begin{array}{|cc|} + \hline + c_{11} & c_{12} \\ + c_{21} & c_{22} \\ + \hline + \end{array} \\ +\end{array} +\right) +\] + +\begin{lstlisting} +\[ +\left( +\begin{array}{c@{}c@{}c} + \begin{array}{|cc|}\hline + a_{11} & a_{12} \\ + a_{21} & a_{22} \\\hline + \end{array} & \mathbf{0} & \mathbf{0} \\ + \mathbf{0} & + \begin{array}{|ccc|}\hline + b_{11} & b_{12} & b_{13}\\ + b_{21} & b_{22} & b_{23}\\ + b_{31} & b_{32} & b_{33}\\\hline + \end{array} & \mathbf{0} \\ + \mathbf{0} & \mathbf{0} & + \begin{array}{|cc|}\hline + c_{11} & c_{12} \\ + c_{21} & c_{22} \\\hline + \end{array} \\ +\end{array} +\right) +\] +\end{lstlisting} + +\[ +Y^1= +\begin{array}{c} + \null\\[1ex]% kann weg + \left[\begin{array}{rrrr} + 0 & 0 & 1 & 0\\ + 1 & 0 & 1 & 0\\ + 1 & 1 & 1 & 1 + \end{array}\right]\\[3ex]\hline + \begin{array}{rrrr} +% \hdotsfor{4}\\% statt \\[3ex]\hline + 2 & 1 &3 & 1 + \end{array} +\end{array} +\] + +\begin{lstlisting} +\[ +Y^1= +\begin{array}{c} + \null\\[1ex]% only vor vertical alignment + \left[\begin{array}{rrrr} + 0 & 0 & 1 & 0\\ + 1 & 0 & 1 & 0\\ + 1 & 1 & 1 & 1 + \end{array}\right]\\[3ex]\hline + \begin{array}{rrrr} +% \hdotsfor{4}\\%( needs \AmSmath) instead of \\[3ex]\hline + 2 & 1 &3 & 1 + \end{array} +\end{array} +\] +\end{lstlisting} + +\subsection{Colored cells}\label{sub:color} +In general there is no difference in coloring tabular or array cells. The following example +shows how one can put \index{color}colors in rows, columns and cells. +\index{rowcolor@\textbackslash rowcolor}\index{columncolor@\textbackslash columncolor} + +\medskip +\includegraphics[width=\columnwidth]{colArray} +%\[ +%\left[\, +%\begin{array}{*{5}{>{\columncolor[gray]{0.95}}c}} +% {h_{k,1,0}(n)} & {h_{k,1,1}(n)} & {h_{k,1,2}(n)} & \zero & \zero \\ +% {h_{k,2,0}(n)} & {h_{k,2,1}(n)} & {h_{k,2,2}(n)} & \zero & \zero \\ +% {h_{k,3,0}(n)} & {h_{k,3,1}(n)} & {h_{k,3,2}(n)} & \zero & \zero \\ +% {h_{k,4,0}(n)} & \colCell{umbra}{h_{k,4,1}(n)} & {h_{k,4,2}(n)} & \zero & \zero \\ +% \zero & {h_{k,1,0}(n-1)} & {h_{k,1,1}(n-1)} & {h_{k,1,2}(n-1)} & \zero \\ +% \zero & {h_{k,2,0}(n-1)} & {h_{k,2,1}(n-1)} & {h_{k,2,2}(n-1)} & \zero \\ +% \zero & {h_{k,3,0}(n-1)} & {h_{k,3,1}(n-1)} & {h_{k,3,2}(n-1)} & \zero \\ +% \zero & \colCell{umbra}{h_{k,4,0}(n-1)} & {h_{k,4,1}(n-1)} & {h_{k,4,2}(n-1)} & \zero \\ +% \zero & \zero & {h_{k,1,0}(n-2)} & {h_{k,1,1}(n-2)} & {h_{k,1,2}(n-2)}\\ +% \rowcolor[gray]{0.75}% +% \zero & \zero & {h_{k,2,0}(n-2)} & {h_{k,2,1}(n-2)} & {h_{k,2,2}(n-2)}\\ +% \zero & \zero & {h_{k,3,0}(n-2)} & {h_{k,3,1}(n-2)} & {h_{k,3,2}(n-2)}\\ +% \zero & \zero & {h_{k,4,0}(n-2)} & {h_{k,4,1}(n-2)} & {h_{k,4,2}(n-2)} +%\end{array} \,\right] +%\end] + + +\medskip +\begin{lstlisting}[xrightmargin=-1cm] +... +\usepackage{array} +\usepackage{colortbl} +\definecolor{umbra}{rgb}{0.8,0.8,0.5} +\def\zero{\multicolumn{1}{>{\columncolor{white}}c}{0}} +\def\colCell#1#2{\multicolumn{1}{>{\columncolor{#1}}c}{#2}} +\begin{document} +\[\left[\, +\begin{array}{*{5}{>{\columncolor[gray]{0.95}}c}} + h_{k,1,0}(n) & h_{k,1,1}(n) & h_{k,1,2}(n) & \zero & \zero\\ + h_{k,2,0}(n) & h_{k,2,1}(n) & h_{k,2,2}(n) & \zero & \zero\\ + h_{k,3,0}(n) & h_{k,3,1}(n) & h_{k,3,2}(n) & \zero & \zero\\ + h_{k,4,0}(n)} & \colCell{umbra}{h_{k,4,1}(n)} & h_{k,4,2}(n) & \zero & \zero\\ + \zero & h_{k,1,0}(n-1) & h_{k,1,1}(n-1) & h_{k,1,2}(n-1) & \zero\\ + \zero & h_{k,2,0}(n-1) & h_{k,2,1}(n-1) & h_{k,2,2}(n-1) & \zero\\ + \zero & h_{k,3,0}(n-1) & h_{k,3,1}(n-1) & h_{k,3,2}(n-1) & \zero\\ + \zero & \colCell{umbra}{h_{k,4,0}(n-1)} & h_{k,4,1}(n-1) & h_{k,4,2}(n-1) & \zero\\ + \zero & \zero & h_{k,1,0}(n-2) & h_{k,1,1}(n-2) & h_{k,1,2}(n-2)\\ + \zero & \zero & h_{k,2,0}(n-2) & h_{k,2,1}(n-2) & h_{k,2,2}(n-2)\\ + \zero & \zero & h_{k,3,0}(n-2) & h_{k,3,1}(n-2) & h_{k,3,2}(n-2)\\ + \zero & \zero & h_{k,4,0}(n-2) & h_{k,4,1}(n-2) & h_{k,4,2}(n-2) +\end{array} \,\right]_{12\times 5}\] +... +\end{lstlisting} + + + +\section{Over- and underbraces} +\subsection{Braces and roots} +To put an underbrace in a root without enlarging the root symbol is possible with +the \verb+\makebox+ macro: + +\[ z =\;\;\underbrace{\makebox[\widthof{~$x^2+y^2$}][r]{$\sqrt{x^2+y^2}$}}_{=z^2} \] + +\begin{lstlisting} +\[ +z =\;\;\underbrace{% + \makebox[\widthof{~$x^2+y^2$}][r]{% + $\sqrt{x^2+y^2}$}}_{=z^2} +\] +\end{lstlisting} + + + +\subsection{Overlapping braces} +Overlapping under- and overbraces like% +\parbox{10em}{\begin{align*} +\qquad\overbrace{\qquad\qquad}^o\qquad\\[-16pt] +\underbrace{\qquad\qquad}_{u1}\underbrace{\qquad\qquad}_{u2} +\end{align*}} needs some tricky code, because we cannot have parts of the argument inside +\verb+overbrace+\index{overbrace@\textbackslash overbrace} and also \verb+underbrace+. +\index{underbrace@\textbackslash underbrace} The following equation~\vref{eq:pqFormel} +is an example for such a construction: + +\begin{align}\label{eq:pqFormel} +y &= 2x^2 -3x +5\nonumber\\ + & \hphantom{= \ 2\left(x^2-\frac{3}{2}\,x\right. }% + \textcolor{blue}{% + \overbrace{\hphantom{+\left(\frac{3}{4}\right)^2- % + \left(\frac{3}{4}\right)^2}}^{=0}}\nonumber\\[-11pt] + &= 2\left(\textcolor{red}{% + \underbrace{% + x^2-\frac{3}{2}\,x + \left(\frac{3}{4}\right)^2}% + }% + \underbrace{% + - \left(\frac{3}{4}\right)^2 + \frac{5}{2}}% + \right)\\ + &= 2\left(\qquad\textcolor{red}{\left(x-\frac{3}{4}\right)^2} + \qquad + \ \frac{31}{16}\qquad\right)\nonumber\\ +y\textcolor{blue}{-\frac{31}{8}} + &= 2\left(x\textcolor{cyan}{-\frac{3}{4}}\right)^2\nonumber +\end{align} + +\medskip +\begin{lstlisting} +\begin{align}\label{eq:pqFormel} +y &= 2x^2 -3x +5\nonumber\\ + & \hphantom{= \ 2\left(x^2-\frac{3}{2}\,x\right. }% + \textcolor{blue}{% + \overbrace{\hphantom{+\left(\frac{3}{4}\right)^2- % + \left(\frac{3}{4}\right)^2}}^{=0}}\nonumber\\[-11pt] + &= 2\left(\textcolor{red}{% + \underbrace{% + x^2-\frac{3}{2}\,x + \left(\frac{3}{4}\right)^2}% + }% + \underbrace{% + - \left(\frac{3}{4}\right)^2 + \frac{5}{2}}% + \right)\\ + &= 2\left(\qquad\textcolor{red}{\left(x-\frac{3}{4}\right)^2} + \qquad + \ \frac{31}{16}\qquad\right)\nonumber\\ +y\textcolor{blue}{-\frac{31}{8}} + &= 2\left(x\textcolor{cyan}{-\frac{3}{4}}\right)^2\nonumber +\end{align} +\end{lstlisting} + +\subsection[Vertical alignment]{Vertical alignment of different braces} +When having several braces in one formula line, then it looks better when all +braces are also on the same line, e.g.: + +\begin{equation} + \binom{x_R}{y_R} = \underbrace{r\vphantom{\binom{A}{B}}}_{\text{Scaling}}\cdot% + \underbrace{% + \begin{pmatrix} + \sin \gamma & -\cos \gamma \\ + \cos \gamma & \sin \gamma \\ + \end{pmatrix}% + }_{\text{Rotation}} + \binom{x_K}{y_K} + + \underbrace{\binom{t_x}{t_y}}_{\text{Translation}} +\end{equation} + +\begin{lstlisting} +\begin{equation} + \binom{x_R}{y_R} = \underbrace{r\vphantom{\binom{A}{B}}}_{\text{Skaling}}\cdot% + \underbrace{% + \begin{pmatrix} + \sin \gamma & -\cos \gamma \\ + \cos \gamma & \sin \gamma \\ + \end{pmatrix}% + }_{\text{Rotation}} + \binom{x_K}{y_K} + + \underbrace{\binom{t_x}{t_y}}_{\text{Translation}} +\end{equation} +\end{lstlisting} + +It is again the \verb+\vphantom+ macro which reserves the needed vertical space. +Nevertheless the horizontal space around the \verb+r+ of the first underbrace and the last \verb|+| should +be decreased to get a better typesetting. This is possible with \verb+\hspace+ or +simply \verb+\kern+: + +\[ \binom{x_R}{y_R} = % + \kern-10pt\underbrace{r\vphantom{\binom{A}{B}}}_{\text{Skaling}}\kern-10pt% + \cdot\underbrace{% + \begin{pmatrix} + \sin \gamma & -\cos \gamma \\ + \cos \gamma & \sin \gamma \\ + \end{pmatrix}% + }_{\text{Rotation}} + \binom{x_K}{y_K} +\kern-5pt% + \underbrace{\binom{t_x}{t_y}}_{\text{Translation}} \] + +\begin{lstlisting} +\[ \binom{x_R}{y_R} = % + \kern-10pt\underbrace{r\vphantom{\binom{A}{B}}}_{\text{Skaling}}\kern-10pt% + \cdot\underbrace{% + \begin{pmatrix} + \sin \gamma & -\cos \gamma \\ + \cos \gamma & \sin \gamma \\ + \end{pmatrix}% + }_{\text{Rotation}} + \binom{x_K}{y_K} +\kern-5pt% + \underbrace{\binom{t_x}{t_y}}_{\text{Translation}} \] +\end{lstlisting} + + +\subsection[Alignment]{Vertical and horizontal alignment} +The forgoing example simply uses \verb+\hspace+ to decrease the horizontal width between two +\index{underbrace@\textbackslash underbrace} underbraces. This may be okay for a single solution, but in general it is better to have some %%% ----- Martin ----- +code which works in any case. + +The following example looks simple but it needs some tricky code to get vertical and horizontal +alignment.\index{substack@\textbackslash substack} + +\def\num#1{\hphantom{#1}} +\def\vsp{\vphantom{\rangle_1}} + +\begin{equation*} + \frac{300}{5069}% + \underbrace{\longmapsto\vphantom{\frac{1}{1}}}_{% + \mathclap{\substack{% + \Delta a=271\num9\vsp \\[2pt] + \Delta b=4579\vsp\\[2pt] + \text{$1$ iteration}% + }}} \frac{29}{490}% + \underbrace{\longmapsto \frac{19}{321}\longmapsto}_{% + \mathclap{\substack{% + \Delta a=10\num{9}=\langle271\rangle_{29}\num{20}\\[2pt] + \Delta b=169=\langle4579\rangle_{490}\\[2pt] + \text{$2$ iterations} + }}} \frac{9}{152} + \underbrace{\longmapsto \frac{8}{135}\longmapsto\dots\longmapsto}_{% + \substack{% + \Delta a=1\num{7}=\langle10\rangle_{9}\num{119}\\[2pt] + \Delta b=17=\langle169\rangle_{152}\\[2pt] + \text{$8$ iterations} + }} \frac{1}{16} + \underbrace{\longmapsto\dots\longmapsto\vphantom{\frac{8}{135}}}_{% + \substack{% + \Delta a=0=\langle1\rangle_{1}\num{76} \\[2pt] + \Delta b=1=\langle17\rangle_{16} \\[2pt] + \text{$8$ iterations} + }} \frac{1}{1} +\end{equation*} + +It uses the macro \verb+\mathclap+ defined in section\vref{subsec:ams-limits} +\index{mathclap@\textbackslash mathclap}\index{vphantom@\textbackslash vphantom}\index{hphantom@\textbackslash hphantom} +, which gives a better result. %%% ----- Martin ----- +It is also possible to use \verb+\makebox[0pt]{...}+ but it works only in text mode +and this needs some more \verb+$...$+.\index{substack@\textbackslash substack} + +\begin{lstlisting} +\def\num#1{\hphantom{#1}} +\def\vsp{\vphantom{\rangle_1}} + +\begin{equation*} + \frac{300}{5069}% + \underbrace{\longmapsto\vphantom{\frac{1}{1}}}_{% + \mathclap{\substack{% + \Delta a=271\num9\vsp \\[2pt] + \Delta b=4579\vsp\\[2pt] + \text{$1$ iteration}% + }}} \frac{29}{490}% + \underbrace{\longmapsto \frac{19}{321}\longmapsto}_{% + \mathclap{\substack{% + \Delta a=10\num{9}=\langle271\rangle_{29}\num{20}\\[2pt] + \Delta b=169=\langle4579\rangle_{490}\\[2pt] + \text{$2$ iterations} + }}} \frac{9}{152} + \underbrace{\longmapsto \frac{8}{135}\longmapsto\dots\longmapsto}_{% + \substack{% + \Delta a=1\num{7}=\langle10\rangle_{9}\num{119}\\[2pt] + \Delta b=17=\langle169\rangle_{152}\\[2pt] + \text{$8$ iterations} + }} \frac{1}{16} + \underbrace{\longmapsto\dots\longmapsto\vphantom{\frac{8}{135}}}_{% + \substack{% + \Delta a=0=\langle1\rangle_{1}\num{76} \\[2pt] + \Delta b=1=\langle17\rangle_{16} \\[2pt] + \text{$8$ iterations} + }} \frac{1}{1} +\end{equation*} +\end{lstlisting} + + +\section{Integrals}\label{sec:Integrals} +\index{underset@\textbackslash underset} +\def\Q#1#2{\frac{\partial #1}{\partial #2}} +% +The \emph{first theorem of Green} is: +\[ +\underset{\mathcal{G}\quad}\iiint\!% + \left[u\nabla^{2}v+\left(\nabla u,\nabla v\right)\right]d^{3}V% + =\underset{\mathcal{S}\quad}\oiint u\Q{v}{n}d^{2}A +\] + +The \emph{second theorem of Green} is: + +\[ +\underset{{\mathcal{G}\quad}}\iiint\!% + \left[u\nabla^{2}v-v\nabla^{2}u\right]d^{3}V% + =\underset{\mathcal{S}\quad}\oiint% + \left(u\Q{v}{n}-v\Q{u}{n}\right)d^{2}A +\] + + +They are both written with the \texttt{esint.sty} package% +\footnote{See section~\vref{sec:Integrals}.}, which gives nice integral symbols. The \LaTeX{} code for the first equation is: + +\begin{lstlisting} +\[ +\underset{\mathcal{G}\quad}\iiint\!% + \left[u\nabla^{2}v+\left(\nabla u,\nabla v\right)\right]d^{3}V% + =\underset{\mathcal{S}\quad}\oiint u\Q{v}{n}d^{2}A +\] +\end{lstlisting} + +\noindent with the following definition in the preamble for the partial derivation: + +\begin{lstlisting} +\def\Q#1#2{\frac{\partial#1}{\partial #2}} +\end{lstlisting} + +\noindent which makes things easier to write. + +%-------------------------------------------------------------------------- +\section{Vertical alignment}\label{sec:verticalAlignment} +%-------------------------------------------------------------------------- +\subsection{Example 1} +%-------------------------------------------------------------------------- +Sometimes it may be useful to have a vertical alignment over the whole page with a mix of %%% ----- Martin ----- +formulas and text. Section \ref{sec:Text-in-math mode} shows the use of \CMD{intertext}. +There is another trick to get all formulas vertical aligned. Let's have the following +formulas distributed over the whole page: + +\begin{align*} + f(x) &= a\\ + g(x) &= x2-4x\\ +f(x)-g(x) &= x2+x3+x\\ + g &= x2+x3+x4+x5+b +\end{align*} + +They all have a different length of the left and right side. Now we want to write some +text and other objects between them, but let the alignment untouched. We choose the +longest left and the longest right side and take them for scaling with the \CMD{hphantom} +command: + +\begin{verbatim} +\hphantom{\mbox{$f(x)-g(x)$}} & \hphantom{\mbox{$= x^2+x^3+x^4+x^5+b$}} +\end{verbatim} + +This is the first (empty) line in every equation where now all other lines are aligned to +this one. For example: + +\medskip\noindent +\rule{\columnwidth}{1pt} +\newcommand{\x}{blah blah blah blah blah blah blah blah } +\addtolength{\abovedisplayshortskip}{-1cm} % decrease the skip +\addtolength{\abovedisplayskip}{-1cm} +\x\x\x\x\x +\begin{align} +\hphantom{\mbox{$f(x)-g(x)$}} & \hphantom{\mbox{$= x^2+x^3+x^4+x^5+b$}}\nonumber\\ +f(x) &= a\\ +g(x) &= x^2-4x +\end{align} + +\x\x\x\x\x +\begin{align} +\hphantom{\mbox{$f(x)-g(x)$}} & \hphantom{\mbox{$= x^2+x^3+x^4+x^5+b$}}\nonumber\\ +f(x)-g(x) &= x^2+x^3+x +\end{align} +\x\x\x\x\x + +\begin{align} +\hphantom{\mbox{$f(x)-g(x)$}} & \hphantom{\mbox{$= x^2+x^3+x^4+x^5+b$}}\nonumber\\ +g(x) &= x^2+x^3+x^4+x^5+b +\end{align} +\x\x\x\x\x +% restore old values +\addtolength{\abovedisplayshortskip}{1cm} +\addtolength{\abovedisplayskip}{1cm} + +\noindent +\rule{\columnwidth}{1pt} +\medskip + +The phantom line is empty but leaves the vertical space for a line. This could be +corrected with decreasing the \CMD{abovedisplayshortskip} length and restoring them +after the whole sequence of commands. The code of the above looks like: + +\begin{lstlisting} +\newcommand{\x}{blah blah blah blah blah blah blah blah } +\addtolength{\abovedisplayshortskip}{-1cm} % decrease the skip +\addtolength{\abovedisplayskip}{-1cm} +\x\x\x\x\x +\begin{align} +\hphantom{\mbox{$f(x)-g(x)$}} & \hphantom{\mbox{$= x^2+x^3+x^4+x^5+b$}}\nonumber\\ +f(x) &= a\\ +g(x) &= x^2-4x +\end{align} + +\x\x\x\x\x +\begin{align} +\hphantom{\mbox{$f(x)-g(x)$}} & \hphantom{\mbox{$= x^2+x^3+x^4+x^5+b$}}\nonumber\\ +f(x)-g(x) &= x^2+x^3+x +\end{align} +\x\x\x\x\x + +\begin{align} +\hphantom{\mbox{$f(x)-g(x)$}} & \hphantom{\mbox{$= x^2+x^3+x^4+x^5+b$}}\nonumber\\ +g(x) &= x^2+x^3+x^4+x^5+b +\end{align} +\x\x\x\x\x +% restore old values +\addtolength{\abovedisplayshortskip}{1cm} +\addtolength{\abovedisplayskip}{1cm} +\end{lstlisting} + + + + +Another case of aligning equations inside an itemize environment is the following one. +With the \verb+\makebox+ macro one can have the same size on the left side of the +equal sign to get a vertical alignment. + +\newsavebox\lW +\sbox\lW{$P_{3}+P_{2}-P_{1}$}% $ + +\begin{itemize} +\item first function \\ + $\displaystyle\makebox[\wd\lW][r]{$P_1$}=\sum_a \in A$ +\item but another one \\ + $\makebox[\wd\lW][r]{$\sin\left(P_1\right)$}=blabla$ +\item or perhaps \\ + $P_{3}+P_{2}-P_{1}=blablub$ +\end{itemize} + + +\begin{lstlisting} +\newsavebox\lW +\sbox\lW{$P_{3}+P_{2}-P_{1}$} + +\begin{itemize} +\item first function \\ + $\displaystyle\makebox[\wd\lW][r]{$P_1$}=\sum_a \in A$ +\item but another one \\ + $\makebox[\wd\lW][r]{$\sin\left(P_1\right)$}=blabla$ +\item or perhaps \\ + $P_{3}+P_{2}-P_{1}=blablub$ +\end{itemize} +\end{lstlisting} +%$ + +%-------------------------------------------------------------------------- +\subsection{Example 2} +%-------------------------------------------------------------------------- +This one comes from Hartmut Henkel and offers a special form of placing +additional text between the equation and the equationnumber. This makes only +sense when you load the documentclass with the option \verb+fleqn+. The example +places the additional text at \verb+0.5\textwidth+, changing this value is no +problem. + +\clearpage +\medskip +\noindent\rule{\linewidth}{1pt} +\begingroup +\small +text text text text text text text text text text text text text text +text text text text text text text text text text text text text text +text text text text text text text text text text text text text text +text text text text text text text text text text text text text text + +\makeatletter +\@fleqntrue +\let\old@mathmargin=\@mathmargin +\@mathmargin=-1sp +\let\oldmathindent=\mathindent +\let\mathindent=\@mathmargin +\newsavebox{\myendhook} % hier gehen die Tabellen rein +\def\tagform@#1{{(\maketag@@@{\ignorespaces#1\unskip\@@italiccorr)} + \makebox[0pt][r]{% hinter der Zeilennummer aufgehängt + \makebox[0.5\textwidth][l]{\usebox{\myendhook}}% + }% + \global\sbox{\myendhook}{}% Box wird geleert +}} +\makeatother +\sbox{\myendhook}{% +\begin{footnotesize}% +\begin{tabular}{@{}ll} +$a_0$ & Bohrscher Radius ($\mathrm{= 0{,}53\,\mbox{\AA}}$)\\ +$e$ & Elementarladung\\ +$N_{si}$ & Anzahl der Siliziumatome\\ +& pro Einheitsvolumen\\ +$m$ & Atomgewicht\\ +$Z$ & Kernladungszahl +\end{tabular} +\end{footnotesize}} + +\begin{equation} +\varepsilon = \frac{E \cdot 4 \cdot \pi \cdot \varepsilon_{0} +\cdot a_0 \cdot \left( Z_i^{\frac{2}{3}} + Z_{Si}^{\frac{2}{3}} +\right)^{-\frac{1}{2}}} {Z_i \cdot Z_{Si} \cdot e2 \cdot \left( 1 ++ \frac{m_i}{m_{Si}} \right)}\,; +\end{equation} + +\sbox{\myendhook}{abc} + +\begin{equation} +a2+b2=c2 +\end{equation} + +\begin{equation} +z = 9 +\end{equation} +text text text text text text text text text text text text text text +text text text text text text text text text text text text text text +text text text text text text text text text text text text text text +text text text text text text text text text text text text text text + +\endgroup +\noindent\rule{\linewidth}{1pt} + +\medskip +This solution works only with \AmSmath{}, without you have to redefine the +\LaTeX{} macro, which creates the equation number. + +\begin{lstlisting} +\newsavebox{\myendhook} % hier gehen die Tabellen rein +\def\tagform@#1{{(\maketag@@@{\ignorespaces#1\unskip\@@italiccorr)} + \makebox[0pt][r]{% hinter der Zeilennummer aufgehaengt + \makebox[0.4\textwidth][l]{\usebox{\myendhook}}% + }% + \global\sbox{\myendhook}{}% Box wird geleert +}} + +[ ... ] + +\sbox{\myendhook}{% +\begin{footnotesize}% +\begin{tabular}{@{}ll} +$a_0$ & Bohrscher Radius ($\mathrm{= 0{,}53\,\mbox{\AA}}$)\\ +$e$ & Elementarladung\\ +$N_{si}$ & Anzahl der Siliziumatome\\ +& pro Einheitsvolumen\\ +$m$ & Atomgewicht\\ +$Z$ & Kernladungszahl +\end{tabular} +\end{footnotesize}} + +\begin{equation} +\varepsilon = \frac{E \cdot 4 \cdot \pi \cdot \varepsilon_{0} +\cdot a_0 \cdot \left( Z_i^{\frac{2}{3}} + Z_{Si}^{\frac{2}{3}} +\right)^{-\frac{1}{2}}} {Z_i \cdot Z_{Si} \cdot e2 \cdot \left( 1 ++ \frac{m_i}{m_{Si}} \right)}\,; +\end{equation} + +\sbox{\myendhook}{abc} + +\begin{equation} +a2+b2=c2 +\end{equation} + +\begin{equation} +z = 9 +\end{equation} +\end{lstlisting} + + +%------------------------------------------------------------------------------ +\section{Node connections} +%------------------------------------------------------------------------------ +This is a typical application for PSTricks and it needs the package \verb+pst-node+ +and doesn't work with \verb+pdflatex+. Use \verb+VTeX+, \verb+ps4pdf+ or \verb+ps2pdf+. + +\medskip +\noindent\fbox{\includegraphics[width=\linewidth]{node}} + +\iffalse +\noindent\fbox{\parbox{\linewidth-2\fboxsep-2\fboxrule}{% +\psset{nodesep=3pt} +\definecolor{lila}{rgb}{0.6,0.2,0.5} +\definecolor{darkyellow}{rgb}{1,0.9,0} +Die Bindungsenergie im Tr\"opfchenmodell setzt sich aus +folgenden Teilen zusammen: +\begin{itemize} +\item dem \rnode{b}{Oberfl\"achenanteil} +\item dem \rnode{a}{Volumenanteil},\\[0.75cm] +\def\xstrut{\vphantom{\frac{(A)^1}{(B)^1}}} +\begin{equation} +E = +\rnode[t]{ae}{\psframebox*[fillcolor=darkyellow, + linestyle=none]{\xstrut a_vA}} + +\rnode[t]{be}{\psframebox*[fillcolor=lightgray, + linestyle=none]{\xstrut -a_fA^{2/3}}} + +\rnode[t]{ce}{\psframebox*[fillcolor=green, + linestyle=none]{\xstrut -a_c\dfrac{Z(Z-1)}{A^{1/3}}}} + +\rnode[t]{de}{\psframebox*[fillcolor=cyan, + linestyle=none]{\xstrut -a_s\frac{(A-2Z)^2}{A}}} + +\rnode[t]{ee}{\psframebox*[fillcolor=yellow, + linestyle=none]{\xstrut E_p}} +\end{equation}\\ +\item dem \rnode{c}{Coulomb-Anteil} +\item der \rnode{d}{Symmetrieenergie} +\item sowie einem \rnode{e}{Paarbildungsbeitrag}. +\end{itemize} +\nccurve[angleA=-90,angleB=90]{->}{a}{ae} +\nccurve[angleB=45]{->}{b}{be} +\nccurve[angleB=-90]{->}{c}{ce} +\nccurve[angleB=-90]{->}{d}{de} +\nccurve[angleB=-90]{->}{e}{ee} +}} +\fi + +\medskip +\begin{lstlisting}[tabsize=4] +\psset{nodesep=3pt} +\definecolor{lila}{rgb}{0.6,0.2,0.5} +\definecolor{darkyellow}{rgb}{1,0.9,0} +Die Bindungsenergie im Tr\"opfchenmodell setzt sich aus +folgenden Teilen zusammen: +\begin{itemize} +\item dem \rnode{b}{Oberfl\"achenanteil} +\item dem \rnode{a}{Volumenanteil},\\[1cm] +\def\xstrut{\vphantom{\frac{(A)^1}{(B)^1}}} +\begin{equation} +E = +\rnode[t]{ae}{\psframebox*[fillcolor=darkyellow, + linestyle=none]{\xstrut a_vA}} + +\rnode[t]{be}{\psframebox*[fillcolor=lightgray, + linestyle=none]{\xstrut -a_fA^{2/3}}} + +\rnode[t]{ce}{\psframebox*[fillcolor=green, + linestyle=none]{\xstrut -a_c\frac{Z(Z-1)}{A^{1/3}}}} + +\rnode[t]{de}{\psframebox*[fillcolor=cyan, + linestyle=none]{\xstrut -a_s\frac{(A-2Z)^2}{A}}} + +\rnode[t]{ee}{\psframebox*[fillcolor=yellow, + linestyle=none]{\xstrut E_p}} +\end{equation}\\[0.25cm] +\item dem \rnode{c}{Coulomb-Anteil} +\item der \rnode{d}{Symmetrieenergie} +\item sowie einem \rnode{e}{Paarbildungsbeitrag}. +\end{itemize} +\nccurve[angleA=-90,angleB=90]{->}{a}{ae} +\nccurve[angleB=45]{->}{b}{be} +\nccurve[angleB=-90]{->}{c}{ce} +\nccurve[angleB=-90]{->}{d}{de} +\nccurve[angleB=-90]{->}{e}{ee} +\end{lstlisting} + + + + +%----------------------------------------------------------------------------- +\section[Special Placement]{Special placement of displayed equations} +%----------------------------------------------------------------------------- + + + + +%----------------------------------------------------------------------------- +\subsection{Formulas side by side}\label{sec:sidebyside} +%----------------------------------------------------------------------------- + +Sometimes it may be useful to have numbered formulas side by side like the following ones: + +%\begin{framed} +\begin{mtabular}{*{2}{m{0.35\linewidth}m{0.15\linewidth}}} +\begin{align*} \oint E ds=0 \end{align*} & \eqnCnt % + & \begin{align*} \nabla\cdot B=0 \end{align*} & \eqnCnt[\label{blah}]\\ +\begin{align*} a =\frac{c}{d} \end{align*} & \eqnCnt % + & \begin{align*} b = 1 \end{align*} & \eqnCnt\\ +\begin{align*} c =1 \end{align*} & \eqnCnt[\label{blub}] + & \begin{align*} \int 2x dx = x^2+C \end{align*} & \eqnCnt +\end{mtabular} +%\end{framed} + + +And again a default display equation: +\begin{align} +F(x) &= \int_0^\infty\dfrac{1}{x}\,dx +\end{align} + +\begin{lstlisting}[tabsize=4] +\begin{mtabular}{*{2}{m{0.35\linewidth}m{0.15\linewidth}}} +\begin{align*} \oint E ds=0 \end{align*} & \eqnCnt % + & \begin{align*} \nabla\cdot B=0 \end{align*} & \eqnCnt[\label{blah}]\\ +\begin{align*} a =\frac{c}{d} \end{align*} & \eqnCnt % + & \begin{align*} b = 1 \end{align*} & \eqnCnt\\ +\begin{align*} c =1 \end{align*} & \eqnCnt[\label{blub}] + & \begin{align*} \int 2x dx = x^2+C \end{align*} & \eqnCnt +\end{mtabular} +\end{lstlisting} + +The new environment \verb|mtabular| has two arguments, one optional and one which is the same +as the one from the \verb|tabular| environment. With the option \verb|long| it is possible to have %%% ----- Martin ----- +all the formulas in a \verb|longtable| environment, which allows a pagebreak. The new macro +\verb|\eqnCnt| controls the counting of these equations as subequations for one tabular +line. This macro can have an optional argument for a label. At least it counts the equations. If the +equation number is not centered to the foregoing equation, then it needs some more horizontal +space in the tabular column. + +\begin{verbatim} +\eqnCnt[<optional label>] +\end{verbatim} + +The vertical space is controlled by the length \verb|mtabskip|, which is by default \verb|-1.25cm| and can be modified in the usual way. + +To define all these macros write into the preamble: +\begin{lstlisting}[tabsize=4] +\usepackage{amsmath} +\newcounter{subequation} +% +\newlength\mtabskip\mtabskip=-1.25cm +% +\newcommand\eqnCnt[1][]{% + \refstepcounter{subequation}% + \begin{align}#1\end{align}% + \addtocounter{equation}{-1}% +} +\def\mtabLong{long} +\makeatletter +\newenvironment{mtabular}[2][\empty]{% + \def\@xarraycr{% + \stepcounter{equation}% + \setcounter{subequation}{0}% + \@ifnextchar[\@argarraycr{\@argarraycr[\mtabskip]}% + } + \let\theoldequation\theequation% + \renewcommand\theequation{\theoldequation.\alph{subequation}} + \edef\mtabOption{#1} + \setcounter{subequation}{0}% + \tabcolsep=0pt + \ifx\mtabOption\mtabLong\longtable{#2}\else\tabular{#2}\fi% +}{% + \ifx\mtabOption\mtabLong\endlongtable\else\endtabular\fi% + \let\theequation\theoldequation% + \stepcounter{equation} +} +\makeatother +\end{lstlisting} + + +As seen in equation~\ref{blub} and equation~\ref{blah}, everything is +nonsense ... And the following tabular is defined as a longtable to enable pagebreaks. + + +\vspace*{10cm} +%\begin{framed} +\begin{mtabular}[long]{*{2}{m{0.35\linewidth}m{0.15\linewidth}}} +\begin{align*} \oint E ds=0 \end{align*} & \eqnCnt % + & \begin{align*} \nabla\cdot B=0 \end{align*} & \eqnCnt\\ +\begin{align*} a =\frac{c}{d} \end{align*} & \eqnCnt % + & \begin{align*} b = 1 \end{align*} & \eqnCnt\\ +\begin{align*} c =1 \end{align*} & \eqnCnt + & \begin{align*} \int 2x dx = x^2+C \end{align*} & \eqnCnt\\ +\begin{align*} \oint E ds=0 \end{align*} & \eqnCnt % + & \begin{align*} \nabla\cdot B=0 \end{align*} & \eqnCnt\\ +\begin{align*} a =\frac{c}{d} \end{align*} & \eqnCnt % + & \begin{align*} b = 1 \end{align*} & \eqnCnt\\ +\begin{align*} c =1 \end{align*} & \eqnCnt + & \begin{align*} \int 2x dx = x^2+C \end{align*} & \eqnCnt\\ +\begin{align*} \oint E ds=0 \end{align*} & \eqnCnt % + & \begin{align*} \nabla\cdot B=0 \end{align*} & \eqnCnt[\label{blah2}]\\ +\begin{align*} a =\frac{c}{d} \end{align*} & \eqnCnt % + & \begin{align*} b = 1 \end{align*} & \eqnCnt\\ +\begin{align*} c =1 \end{align*} & \eqnCnt[\label{blub2}] + & \begin{align*} \int 2x dx = x^2+C \end{align*} & \eqnCnt\\ +\begin{align*} \oint E ds=0 \end{align*} & \eqnCnt % + & \begin{align*} \nabla\cdot B=0 \end{align*} & \eqnCnt\\ +\begin{align*} a =\frac{c}{d} \end{align*} & \eqnCnt % + & \begin{align*} b = 1 \end{align*} & \eqnCnt\\ +\begin{align*} c =1 \end{align*} & \eqnCnt + & \begin{align*} \int 2x dx = x^2+C \end{align*} & \eqnCnt +\end{mtabular} +%\end{framed} + +As seen in equation~\ref{blub2} and equation~\ref{blah2}, everything is nonsense ... + + +And again a default display equation: +\begin{align} +F(x) &= \int_0^\infty\dfrac{1}{x}\,dx +\end{align} + +\begin{lstlisting}[tabsize=4] +\begin{mtabular}[long]{*{2}{m{0.375\linewidth}m{0.125\linewidth}}} +\begin{align*} \oint E ds=0 \end{align*} & \eqnCnt % + & \begin{align*} \nabla\cdot B=0 \end{align*} & \eqnCnt\\ +\begin{align*} a =\frac{c}{d} \end{align*} & \eqnCnt % + & \begin{align*} b = 1 \end{align*} & \eqnCnt\\ +\begin{align*} c =1 \end{align*} & \eqnCnt + & \begin{align*} \int 2x dx = x^2+C \end{align*} & \eqnCnt\\ + +[ ... ] +\end{lstlisting} + +%----------------------------------------------------------------------------- +\subsection[Itemize environment]{Formulas inside an itemize enviroment}\label{sec:itemize} +%----------------------------------------------------------------------------- +Without any modification it is not possible to get a numbered equation +at the same height as the symbol of the itemize environment\index{itemize@\texttt{itemize}}. This depends on %%% ----- Martin ----- +the \CMD{abovedisplayskip}. The formula has to be raised up for exactly this length. + +\begin{lstlisting} +\def\itemMath#1{% + \raisebox{-\abovedisplayshortskip}{% + \parbox{0.75\linewidth}{% + \begin{equation}#1\end{equation}}}} +% +\begin{itemize} +\item \itemMath{ f = l } +\item \itemMath{ g(x) = \int f(x) dx } +\end{itemize} +\end{lstlisting} + +\def\itemMath#1{% + \raisebox{-\abovedisplayshortskip}{% + \parbox{0.75\linewidth}{% + \begin{equation}#1\end{equation}}}} +% +\begin{itemize} +\item \itemMath{ f = l } +\item \itemMath{ g(x) = \int f(x) dx } +\end{itemize} + + +\part{Lists, bibliography and index} +\bgroup +\lhead{}\rhead{} +\clearpage\phantomsection\addcontentsline{toc}{section}{List of Figures} +\listoffigures +\clearpage\phantomsection\addcontentsline{toc}{section}{List of Tables} +\listoftables +\clearpage\phantomsection\addcontentsline{toc}{section}{Bibliography} + +{\nocite{*} +\raggedright +\bibliography{Mathmode} +\bibliographystyle{plain} +} +\clearpage\addcontentsline{toc}{section}{Index} +{\let\BSL\textbackslash +\renewcommand\textbackslash{{\tt\BSL}} +\printindex{} +} +\egroup + diff --git a/Master/texmf-doc/doc/english/mathmode/README b/Master/texmf-doc/doc/english/mathmode/README new file mode 100644 index 00000000000..068ccdd16b0 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/README @@ -0,0 +1,31 @@ +Mathmode.pdf : math in TeX/LaTeX; package amsmath.sty + needs package showexpl. Should be on CTAN in + the near future. Until then go to + http://perce.de/LaTeX/showexpl/ +Mathmode.ltx : main source file (preamble) +Mathmode.tex : document source +Mathmode.bib : BibTeX data +Mathmode.ist : index style file +showexpl.cfg : config file for the showexpl package + save it together with showexpl.sty +colArray,exscale, +node,styles : images +runVTeX : Shell script to tun vlatex +runLaTeX : Shell script to tun latex->dvips->ps2pdf + +building the document: +latex Mathmode.ltx +latex Mathmode.ltx +bibtex Mathmode +makeindex -s Mathmode.ist Mathmode.idx +latex Mathmode.ltx +dvips Mathmode.dvi +ps2pdf Mathmode.ps + + +or alternative with VTeX (http://www.micropress-inc.com/linux/) +vlatex Mathmode.ltx +vlatex Mathmode.ltx +bibtex Mathmode +makeindex -s Mathmode.ist Mathmode.idx +vlatex Mathmode.ltx diff --git a/Master/texmf-doc/doc/english/mathmode/colArray.eps b/Master/texmf-doc/doc/english/mathmode/colArray.eps new file mode 100644 index 00000000000..2c35d1793f2 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/colArray.eps @@ -0,0 +1,2856 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: xpdf/pdftops 2.02pl1 +%%LanguageLevel: 2 +%%BoundingBox: 0 0 390 189 +%%HiResBoundingBox: 0 0 389.54 188.63 +%%DocumentSuppliedResources: (atend) +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 2.02pl1 0 +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 14 def +/pdfSetup { + 3 1 roll 2 array astore + /setpagedevice where { + pop 3 dict begin + /PageSize exch def + /ImagingBBox null def + /Policies 1 dict dup begin /PageSize 3 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFill [0] def + /pdfStroke [0] def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def +} def +/pdfEndPage { end } def +% separation convention operators +/findcmykcustomcolor where { + pop +}{ + /findcmykcustomcolor { 5 array astore } def +} ifelse +/setcustomcolor where { + pop +}{ + /setcustomcolor { + exch + [ exch /Separation exch dup 4 get exch /DeviceCMYK exch + 0 4 getinterval cvx + [ exch /dup load exch { mul exch dup } /forall load + /pop load dup ] cvx + ] setcolorspace setcolor + } def +} ifelse +/customcolorimage where { + pop +}{ + /customcolorimage { + gsave + [ exch /Separation exch dup 4 get exch /DeviceCMYK exch + 0 4 getinterval + [ exch /dup load exch { mul exch dup } /forall load + /pop load dup ] cvx + ] setcolorspace + 10 dict begin + /ImageType 1 def + /DataSource exch def + /ImageMatrix exch def + /BitsPerComponent exch def + /Height exch def + /Width exch def + /Decode [1 0] def + currentdict end + image + grestore + } def +} ifelse +% PDF color state +/sCol { + pdfLastStroke not { + pdfStroke aload length + dup 1 eq { + pop setgray + }{ + dup 3 eq { + pop setrgbcolor + }{ + 4 eq { + setcmykcolor + }{ + findcmykcustomcolor exch setcustomcolor + } ifelse + } ifelse + } ifelse + /pdfLastStroke true def /pdfLastFill false def + } if +} def +/fCol { + pdfLastFill not { + pdfFill aload length + dup 1 eq { + pop setgray + }{ + dup 3 eq { + pop setrgbcolor + }{ + 4 eq { + setcmykcolor + }{ + findcmykcustomcolor exch setcustomcolor + } ifelse + } ifelse + } ifelse + /pdfLastFill true def /pdfLastStroke false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16L3 { + 1 index /CIDFont resourcestatus { + pop pop 1 index /CIDFont findresource /CIDFontType known + } { + false + } ifelse + { + 0 eq { /Identity-H } { /Identity-V } ifelse + exch 1 array astore composefont pop + } { + pdfMakeFont16 + } ifelse +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { end grestore } def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% color operators +/g { dup 1 array astore /pdfFill exch def setgray + /pdfLastFill true def /pdfLastStroke false def } def +/G { dup 1 array astore /pdfStroke exch def setgray + /pdfLastStroke true def /pdfLastFill false def } def +/rg { 3 copy 3 array astore /pdfFill exch def setrgbcolor + /pdfLastFill true def /pdfLastStroke false def } def +/RG { 3 copy 3 array astore /pdfStroke exch def setrgbcolor + /pdfLastStroke true def /pdfLastFill false def } def +/k { 4 copy 4 array astore /pdfFill exch def setcmykcolor + /pdfLastFill true def /pdfLastStroke false def } def +/K { 4 copy 4 array astore /pdfStroke exch def setcmykcolor + /pdfLastStroke true def /pdfLastFill false def } def +/ck { 6 copy 6 array astore /pdfFill exch def + findcmykcustomcolor exch setcustomcolor + /pdfLastFill true def /pdfLastStroke false def } def +/CK { 6 copy 6 array astore /pdfStroke exch def + findcmykcustomcolor exch setcustomcolor + /pdfLastStroke true def /pdfLastFill false def } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/awcp { % awidthcharpath + exch { + 1 string dup 0 3 index put 2 index charpath + 3 index 3 index rmoveto + 4 index eq { 5 index 5 index rmoveto } if + } forall + 6 {pop} repeat +} def +/Tj { fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + 1 index stringwidth pdfTextMat idtransform pop + sub 1 index length dup 0 ne { div } { pop pop 0 } ifelse + pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32 + 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0 + pdfTextMat dtransform + 6 5 roll + currentpoint 8 2 roll + pdfTextRender 1 and 0 eq { + 6 copy awidthshow + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 8 6 roll moveto + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + false awcp currentpoint stroke moveto + } { + 8 {pop} repeat + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto } def +/Tj16 { pdfTextRender 1 and 0 eq { fCol } { sCol } ifelse + 0 pdfTextRise pdfTextMat dtransform rmoveto + 2 index stringwidth pdfTextMat idtransform pop + sub exch div + pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32 + 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0 + pdfTextMat dtransform + 6 5 roll awidthshow + 0 pdfTextRise neg pdfTextMat dtransform rmoveto } def +/Tj16V { pdfTextRender 1 and 0 eq { fCol } { sCol } ifelse + 0 pdfTextRise pdfTextMat dtransform rmoveto + 2 index stringwidth pdfTextMat idtransform exch pop + sub exch div + 0 pdfWordSpacing pdfTextMat dtransform 32 + 4 3 roll pdfCharSpacing add 0 exch + pdfTextMat dtransform + 6 5 roll awidthshow + 0 pdfTextRise neg pdfTextMat dtransform rmoveto } def +/TJm { pdfFontSize 0.001 mul mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { pdfFontSize 0.001 mul mul neg 0 exch + pdfTextMat dtransform rmoveto } def +% Level 1 image operators +/pdfIm1 { + /pdfImBuf1 4 index string def + { currentfile pdfImBuf1 readhexstring pop } image +} def +/pdfIm1Sep { + /pdfImBuf1 4 index string def + /pdfImBuf2 4 index string def + /pdfImBuf3 4 index string def + /pdfImBuf4 4 index string def + { currentfile pdfImBuf1 readhexstring pop } + { currentfile pdfImBuf2 readhexstring pop } + { currentfile pdfImBuf3 readhexstring pop } + { currentfile pdfImBuf4 readhexstring pop } + true 4 colorimage +} def +/pdfImM1 { + /pdfImBuf1 4 index 7 add 8 idiv string def + { currentfile pdfImBuf1 readhexstring pop } imagemask +} def +% Level 2 image operators +/pdfImBuf 100 string def +/pdfIm { + image + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfImSep { + findcmykcustomcolor exch + dup /Width get /pdfImBuf1 exch string def + dup /Decode get aload pop 1 index sub /pdfImDecodeRange exch def + /pdfImDecodeLow exch def + begin Width Height BitsPerComponent ImageMatrix DataSource end + /pdfImData exch def + { pdfImData pdfImBuf1 readstring pop + 0 1 2 index length 1 sub { + 1 index exch 2 copy get + pdfImDecodeRange mul 255 div pdfImDecodeLow add round cvi + 255 exch sub put + } for } + 6 5 roll customcolorimage + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfImM { + fCol imagemask + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%BeginResource: font FGXNEI+CMEX10 +%!FontType1-1.0: FGXNEI+CMEX10 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMEX10) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /FGXNEI+CMEX10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [7 63776 659 40] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 50 /bracketlefttp put +dup 54 /bracketleftex put +dup 52 /bracketleftbt put +dup 51 /bracketrighttp put +dup 55 /bracketrightex put +dup 53 /bracketrightbt put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD76AE67CCBE6C569E3C7ED7D84E3C4204A9BD722 +50873EA47333356890CAF4A15A424FD4B234FE7DDA0F0D863C346058F4BEFE04 +3E4F768D805687A004B13452E895B459ED4E7E3D00D71DE3B36DEEF78B66260B +8C0108C27B385AA255B5F9F21F34B4E0E97A6C196B5530B656E80B32735A5236 +139BB8C47D6EB79D61BDF179B4B1F8D49461A22BBDE9291FD2B1CC422A4345C8 +C7E1C14B2A4747FFA7D56617B78A425B9532C933812BE51E236CA0E123AD7234 +9459840D2C05C10E35D1380519FCB9A0DD08DEF118264749B8C65005BD39FA71 +27C6B1427801223A24923A27F601DDD2C73F1722EBA3D878ADF3D628728744A8 +2BEBCC621729A9F9048FFE1C9F7BEEEDF314B45B5600B880DF842E731EA1C750 +0BC02BE4A2970886B606A337C2533E41678E509CA55C4D769A2C947623A71D51 +4BD6EF8CC32AEB8DC3AB64A169B8FCB6D1867D0143428ED2A5B60E870486A06B +FE4202AE7E10919CA6E42792CEB8906BEB5E589F61A1E0D4113AC2E617FD06B7 +0900F12FF3F7292A2621510928932E647456588E4C0821987A7E2C5AAF5A3308 +9D548D1F805C0943CE79B06FB75D3A92438B4DA5DA52CA4C02D148FB66EE55A2 +1E1F444B700F8C9C8F4EB07E3D44E9B2EEE7DB7E15CF0DAC8E385F2ECA975E7A +95B1BED8E5FB1ADF5E91226903B6EC0DAEE3452F7956F621260EE9FF63AB2BBC +962C25F65C69EDB56DE33D2389792E4939DB5E4A61D4313483A93586B570B925 +3DB8B56117A3E0D0677F6865A2C81AE7D40751471820B3A133973F213C391A57 +5A5D282B70CA0C22DEFAD4A251920DCBCFBE21703C45403C782D8EA736709C14 +16F2F73D094E1AA95ED1F0AB0A38641593A3D756455A2C7E6B363129869CBC89 +244132C3EB01A7A3F0562A0407BF498DE26E13C04047909D4DBFD1F48435F320 +D2EDA65DD7DFE28B21A6217E8E56885D88D2DABDEF5F60EEF16AB38EF4269351 +5683DD89EDAE81184157F06B3F4F90FE45CE58783B5ABC8530EE007406C16E13 +19C87A0671B1417F6C1AC21F5484CD43A5B33F08AE45CEA1682D582D431DD5D4 +9286E1EFBD889EA5A5003D1B7F46145095C7 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F10_0 /FGXNEI+CMEX10 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/bracketlefttp/bracketrighttp/bracketleftbt/bracketrightbt/bracketleftex/bracketrightex + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font TPVOAW+CMSY8 +%!FontType1-1.0: TPVOAW+CMSY8 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY8) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /TPVOAW+CMSY8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [0 -7 669 507] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 2 /multiply put +dup 163 /multiply put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD330986D3F10AF7B211765AF9751A064CB337B01 +56656DD95332590218B3675BDDD91DCA09CDF3C789636C6F792A396FE19645F2 +1B1867D6097F650D34C6B6C3368CE921E515344B1C5452C05252140DA29D404D +3D9CBCDAAE6E43FC6B07AFDED6F57C12B99B761D8478A484C6F4ED0B5834E6F6 +C5FACF0E1A4FF757DE8243E5C0867762774E4AFE53A5BC752BD9928AF5B1ED93 +2F821C28A58D73D8B25D28EF81264AD72C8384F071641662407585DFE3D8EBC3 +05E90AA9C7B65693A9F0137ABC75FF52261E44706141D8F4DCEE95280258B738 +0BAD7C4B16EF1AECBFA39D4A641E9D57D106E3B4C37C6DFC84306738A5F85172 +FC741BD63E8251B1FD74959DA4C9133CA03CFC169D4A888F08CEF635FC475554 +5639E768433BE8D7696E8C195F0609D5C887FB23BCA89D22ADC436596CAE59F9 +955606E6DD2456AEE72362219CF02BB28392AC5886EF4B73E2021EAB12E80549 +54E430E18066BC14D4941556BEBF7BD4AA09E10A0600823635C62F5FA09EB524 +32CBB82618413DD42038FF29DFCC4AA2EF733EB579F55C616789C4B03D5C8A98 +1352CBE43BDCA55A8FEC03EA950472507E5854B11B6CB96E4A16 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F28_0 /TPVOAW+CMSY8 1 1 +[ /.notdef/.notdef/multiply/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/multiply/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font EIXNXU+CMSY10 +%!FontType1-1.0: EIXNXU+CMSY10 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /EIXNXU+CMSY10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [0 0 694 270] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 0 /minus put +dup 161 /minus put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD58DEADE9FDD8D1161040A11504872D56EDB3D8A +754DA50DF613433572E45F990F01381BC7E8141871C01DE3E731162DE2206649 +4D782ACD8AA055EAE84DD0DEB16C09CFA1774FA78BCB61839501922FF62F7037 +3E6C1F5DBDD3567A54F189008B0F5225798FB59F3FD46468BD1CF510B02F535E +3EA7FFE2583BAE928445D43359B4A7C4BF027456BA45D781AB71B5A7DD87F16D +E8E2A0E5C3E7175363255A9FC1B2C1734066515DA9C0C9C3AB23EBAFC56EF014 +FD1CAE59E9643B8D659ED91F7E5D38225A489707A6406BB8FAB4AC592D8F7849 +6D1EE5D02F37964D389F52A9D6F6088DBA3E88BDA46B006DEB21A55DBFA37D2F +174498304AD593651746AD2A9F1C026F612184F0436B032B1C581A0735F9D473 +890E6E7D72F5B429717EA8E1654A07A9B576258F9DFDE14EAFF935DFECADEAC8 +35035CA459C4BDC9577484FF36EA4BE997A020DD0AD3DCE87894C773CFE10D88 +CD91683874A6FAB9D28597DB2E32D200C3D8 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F25_0 /EIXNXU+CMSY10 1 1 +[ /minus/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/minus/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font OLGOPF+CMR12 +%!FontType1-1.0: OLGOPF+CMR12 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR12) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /OLGOPF+CMR12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [41 -251 448 750] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 40 /parenleft put +dup 41 /parenright put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD65B1394C5DA048A67291055AB5DB47B8B684ECE +D09D12596FFBF8762672645CD374900036933D4775219099EFD39C31D30F9DBD +6083595B1E68741B8FCE3C9B027EC30236ACCDBB9896C9FCA4C6301DC8AE9269 +5EC0E3AD75FEB076B541B77B40E550E773448FA2FC9C8BA961481BAB7A648EBE +3C29ED5C003A0387861340BD11D6B0B742D6AC32A4091344F369337DD86341BB +8F27E31491A01359E9B96C59D0FDB9250261D172FF8C61E4DE6E3AB896C6E2C4 +BE44C5D06B5B9BEA4A7E93E8FE4A35A0D071D80E89DE1499AB7E1BE6CBC2BDF8 +AF334B300A413D55B1A318F7AD24845F526DC3E063357584044AF0ACE86FBCDB +6B30009F47DB92CEF89B175665A8FF23D7365D869965301F8DE7A1C86EF96F9F +DEF200EC2B6B8A2468319E169D51C169691EE6103F5471499E480A4D92426784 +88146BB0E5DE1404F6F21F0CE181E528E9803B73FC93BA6D35C6915D5F0C2361 +044F05A78263EFF8C4AA8C4962C462FDCCCD210B26ABFCDE09003C31819BF02C +812986C9D10814478B3D676498310A41E887F882A1948F6FCCC567A63D0DB7A0 +0A259B2B21411E66F9B23C99ADD7781F2EDC8E2FDF9721450C78E148671B42BC +E124EDF909B2ACE5A41ED78B02C1DD560D97BF929E0E8924CBF407AACEB39764 +D0DBD98B1ADE64414CA77F392B76E4A5D515CE4AC59D635AF0FA319F45C94A18 +62F3BE07204E9F1EBEAC4DA19E90B380D010A48AE852C95C4E7B09B3319D79B9 +69C07E3954302280AEA3BEF9AE3975732BB25A9D056D449E50F8F793FA82C9DE +B0017D31390E6681F3A25B49CB1E5E6CF4552FFFBFC87E906AFDFBAD70D8D4E3 +4F2311251F9C7FF07A6D23C60A718C97466695FD760D6138534AB2F85D974D9F +AD52F4933BC5D4A905B3E3C9DFA683C7D6400398D239615DC277D55D57666402 +8740E4051BFDB0978D4F4EE789761979100F7AF3C60C0F485C933FB700E7CEAE +35205A4C9932D94804EC46E9B1FD77EF87AB2159F3C568C10E5FF16E764B3E40 +0BF6960673C438A758A113C2C74E09BAC95448BC82DB65B3D4BBFDB0E98F30C0 +F6926666F5C474C85E1EFB078FA800EDC7FFC7C66073FA73C7229230E61CA4A4 +3F0B9EC8307C2331E7485EF2E09546FBD5DB8ECF7E9A0D7591E97D5C3F23353B +70A1EE4A3023FDCAF232FC050FB83CA44BFD1A299714B778F8D78CF2D4E56157 +30BCE71CA661F9515C4191A287238FD18BD19F156CECE14E07B4D79F42FBEFD3 +A0099D1CC89D97FBC413B41638E013ED5E68906FEDD201BC27FF619050989706 +749D3A2C1CE640FDFCF8C1D0184766A7B30DBFF484C7FCA3CEC622BCAC8C34CF +C0E082A9B598B0E359CF297203BC1AEB158D0A2B1A0A18A54BA61E4D1E69E02E +27E050CDB6C3CA9ABAE28E95B9CBA3A5DFA661B35D8B963AA28E42FABF1BA196 +1F58E8DCC61576A4D577800AAADEB58704ECDC4C27FAE09739847E1AC17EDE4C +6DBD98 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F22_0 /OLGOPF+CMR12 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /parenleft/parenright/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /zero/one/two/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font DIRGWX+CMR8 +%!FontType1-1.0: DIRGWX+CMR8 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR8) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /DIRGWX+CMR8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [30 -21 500 675] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 48 /zero put +dup 49 /one put +dup 50 /two put +dup 51 /three put +dup 52 /four put +dup 53 /five put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD65B1394C5DA048A67291055AB5DB47B8B684ECE +D09D12596FFBF8762672645CD374900036933D4775219099EFD39C31D30F9DBD +6083595B1E68741B8FCE3C9B027EC30236ADF0E7AC0DBE01565011494CE94F67 +CF1E81D9DDAD25BB3835257252F44792F8280E570F906E03366CF454A4BF386F +6312DB7993BB91E88F33CB1FC2FCE8497D778D2109DA3F11F0F2D12EA8693908 +29A9571036C39A88663C37727EA9D30FBA050EEAFF054D7FA644E535942B7F2C +5468F361E189A8BA7320D8623ECFFDD2658C8CFF8EE2D1243AA1BC321EE4B591 +70619FE57F47B1F1FBD28A7867AC779BF9C1783CB65A68C0E35E8778BEE76DD1 +8F4CF6D509D9C3D8AB52DE76E0C5BC3706E525D3E2F161484CAF7A0DF02E004A +29A233BCFF722B2A4F9459206B5CC933EDE2DD0F82433DA46E34DF88C49D2E09 +065864AC8C32F015C9DDC19934D79013881F69B63AF817718BD28AF0F7660FE7 +25DA085F7BB50D1DF286462957CFC10E4AD4D85EEA1B049E3D1B6E50E2DB2F4A +90E62CE09E7CB3894681DF62DF79E190EF0CCE1C95CDB7C7FAB6560BDE34ACF9 +072D7F390554DA636041528796A2C55BA8AEE96C8E4004439D73969DAED6D760 +3D6E79A332DD40348C1F8C7ECD1858CBAC53D006BB31A4C5B396B9C3888DA3DF +703405D0856E8CE20B2F9F047BE3446957CFDA266058DEE0BF71D2CE20C19D2A +B6B6C7F1BC86C1FE63585973A281DCBDEFAFCEAF5593EC4C0022F49A08845FAA +300FF94B264B6D3BF0191BA59C59DF64A0FF39C81195DD5D877FB46BA0FD7EBE +6E954A6A0F354D72EE20E10E65342B8D948BDB98668E2BAC530B137B1A925FB2 +8ABD4D366D217D3FD5F02BDDB00AC1633F1978D65906E950DB99947B2C348904 +34C550F7992C2B1C96E71D16A3CC9B2118521CFDE8B1B98A5023684F9E8D867F +331AE01015F25D5E13AE6F4B162E7F96127524440249B8317AE7104C3A849510 +39E71D4A4EFA857FCFF2DD40E0CBB7F5AC99A64A5187FF5EFEA9ACC578B19186 +1D177981A28036203F0A5017D5809EFF4F7A37708F1584FD3B6499CFD39BD38B +3769BC81B94B382288E47ABA78C76BED7FE0F025FBF6F4614D30E6A28BEBCD56 +465D4A3FA05C26F30CEBC0FB807BD6E318E07AD88FBA5227D8E1DFCBB5A73400 +24D1615859177A903A105096A57485A893F43C57D2CF18B847EC11C390E3E343 +B203460119CFAF486A6BD6E80F970A992F6A9CE36D5EB20003A875DDACEA27C1 +0F43FDD9E7260D17A4DE1E2A06173F7CC54BBEFCB8BF1AC66E3B558D33AA4CA3 +7A84E227A6CBD19A8E5EAF3BFDEF38D29255B194C0366EBB33EED5AB2883A3D4 +F8ECABC236274BC447492C26743E90A76918891A05B76912039E83CAE12CB81F +08952BCCC5F49616F8B8A347848E982FB47566181A9083154780204B1464E2A3 +7E955DD2D5207569E680FAFF75FBF15CFAD339336E72ECD8F02BE1E36C5766D7 +403DDF0EFE4E649FF4AEBB72269FE4CD461841E26FD077C7C477F18F9C2E8B22 +348C129E2A0E47412FB3C1DB7E1506958464342DA93C8296EEC2B66961D37EF4 +992765529F43F0C2B3A792C2F3C9B6243B9FC312F2FF83BCB7F54BD4EB7164B7 +9EC690B17DA645DED82991DA50A6D4E1EC176120C36EFFCD83C5A4337ACFC235 +05C86EF9FAD5C7A2C883EEF4A43C01A1465C0118C6743D1D9D8C913263F37884 +1150C98C8F1046CAE6D6A431CF07C7FD02BCE6B03C757F47F959D41AE303EB02 +EF2CD019DDC744CB9B970FAAC48550E1AD7856AB269789DDBDE2F3372D90495D +4599AB0BB3DA8447D61753EB670D54724F3A40EEE2F4EBC573153BE2F0F9FD53 +302EFBA66D24B22E5F93CDC6178C00A4132F289674 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F19_0 /DIRGWX+CMR8 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /zero/one/two/three/four/five/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font JGBJQA+CMMI8 +%!FontType1-1.0: JGBJQA+CMMI8 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI8) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /JGBJQA+CMMI8 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [57 -193 533 694] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 107 /k put +dup 59 /comma put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD65B1394C5DA048A67291055AB5DB47B8B6849C6 +5AB7A317015C551080CF75E94E9F4AD2A41500BAD9F4EAE3C2E015A7EA9C591F +E01C6166DCF0C8C1E49A5B340799A136AD1FEEA433C69C85A2653364A574EDF4 +5A8844DC56498429873D085FD21C513447BB6B65802B97B2F96BB61C3F213F00 +7B7F1EDF9FCC5CD2C2EC426D1DACC8982C8F37C8576EB18A674DD63BD0265B7F +223E3B0595A81A7741F42F4E310BA9F53937E96FD5BAB6A29417AB071821242D +9E2CC011303C6B82C6D982C2254FDD1DB36CCBDBD8A21F4B033DCD34396548BC +D33DF8D79BA763F3C3A71C149987AF7B1F0D5E32B6C41B563EAE06D0D7257DDD +132654A16CCDCC9272B36C450626A2A54D816087561A38C9CEC923DC33825306 +8290A9AE233F5FEA1D141912BCCCC9C331DF01F1A907937659D848811447D768 +5A80E16E8BD004945FD5419C044AC2DBD2F6CA307062472BC5BE6841268C2F91 +B1996928E9698F0EC65E0BB1752916397302DEABBE36B9BECFF0A2812F8A6389 +8D904F1671A4C4D446C578EBE8BB1707315FB88DD47A2D608CDA50F97CDEC36C +CA19D8AD0AB9B6E474E7D28A536246499ACFEEA6B6437E0ED5F9C97770171A86 +9C397251780C87E36E8ECDEDDD999CBE735F01FB9E6F43D217F939E015B01FF7 +5EA0E4C4CE067E62468084084D69385024403BE3C646E53F152458E02202D90F +13CEDD90E2D314E815DA7BEEB5C1A11613FC3E19F29EACC763E0391E8D21CE3C +7802D3E6A38821D48BC02A5D3502DE3FBD1F1C3BEA08C2E5B9E3452CB917A8DD +45E5067FA84F4208D377FD26FF0E4CA885BB52E698D0062935A38B9111338A32 +DF9E23E025B12BA09B9FD3E2BD9EB55FA54556525B51EDEC1B3DFD1E277D0CE8 +C594A8C3A848DBA4C6E4DB86BEE62091DF59C48D79FE70FCC1F9BAE6C3352A59 +AAC43FFD0466B6368D2E0A689576BF036AAD5D72016A97DD6180E89E053F +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F16_0 /JGBJQA+CMMI8 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/comma/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/k/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font TSAJCV+CMMI12 +%!FontType1-1.0: TSAJCV+CMMI12 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI12) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /TSAJCV+CMMI12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [27 -10 555 694] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 110 /n put +dup 104 /h put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD65B1394C5DA048A67291055AB5DB47B8B6849C6 +5AB7A317015C551080CF75E94E9F4AD2A41500BAD9F4EAE3C2E015A7EA9C591F +E01C6166DCF0C8C1E49A5B340799A136AD1E3C8AA3EA27312D553F2088704093 +7751C735CE592C288572864EB2718EB665BE90E509BAEE8508951E593D1E179F +0A470525771A782381BE0E9948E3D83B13FFD9774C91FB0C1008C7F16762BED0 +7E44AFCD43E2244A354B59E8A95A95BF8FD7B74DE96F37A1543E59996A8CB698 +A884F9F0B08EAAE5166094B0773D520FCF3A537BE7CFEE2B8C9880CE214B8C9C +0470FD9C04B8E67C2987FAC7A39193D572FDD46517E87D5BA492237CE61244DF +A9BB3C9B5ADFB3B9EA24865ECEC713B6BCD372E81DEBF23FC0F7D04792A9CA4C +8F1DD005C9EE62F8A04D68925046AC7F61D0001391BF09DC66D168B5395F02C7 +1A870375CF38B9011F0A4013E127D47E2B053470D392EDF1375E5140EC25100E +DAA39691AD088BF998FCB198CBA3A280FCA5386AB3D3FF6B75BDE154F280A737 +F61C40F11AD85203DA12048C9946F4F616197AAE8307C91930C5CD8E21F362B9 +2AF5D9740DFC4BD28F8CCB3911785ABACAC51ABDEC842BFD0CA7A1FC285C65E6 +C216C62605E2C2C4DF6A34BB6238CD491FEDFAEA8E24DCB3765F841D56B6DCD5 +7A1F1047F4315AA0DF1433B07EC31589F088EF67CCB96686CECB2C517D780CA5 +0A8DCE3B65C7DEB19EC3E36D7EF8E5FE19D1B10D9FA0DE18D28E8B4AE231005A +DA76D7A1C350195EE5772E7A2E1278C7FABA422C1ACC3EC125A9BF676BD7EB2D +B891F02058FE9C38DCB90841636170C1F1C56C7EB590CC60F0BBD4F1467CDE3C +1B90631450C4031EC206E6B3ACEF21EE7A05A86CFE4CA29D014E188E553B395D +208FEB1E433BD35FCE5E9DF228357C09F9F2DC8E38A8416516B5D557E2887226 +E9986E1BE85FF961A73240AA7B6C5DA7A4DD964E9936C80E446EFA7E3FE2F314 +B0BA860C8E9842D3D1AE9ABE9402D27695FD828E00DEB8B60A044C34CBFA78EF +3D3DF166E953F1BE161886CA4417FD33ABCF8010A88405B9D9B76F764125C767 +7FEB85CB115ED57B488500D43DFEFE85704F1D424BAF4BC30267C1B9ED3890A0 +992FF444D04E6E28BD4BB689 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F13_0 /TSAJCV+CMMI12 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /h/.notdef/.notdef/.notdef/.notdef/.notdef/n/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%EndSetup +pdfStartPage +[] 0 d +0 i +0 j +0 J +10 M +1 w +0 g +0 G +q +[0.1 0 0 0.1 0 0] cm +q +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 7.60098 174.785] Tm +0 0 Td +/F10_0 9.96264 Tf +(2) 6.63512 Tj +0 -17.541 Td +(6) 6.63512 Tj +0 -23.517 Td +(6) 6.63512 Tj +0 -29.493 Td +(6) 6.63512 Tj +0 -35.4689 Td +(6) 6.63512 Tj +0 -41.4449 Td +(6) 6.63512 Tj +0 -47.4299 Td +(6) 6.63512 Tj +0 -53.4059 Td +(6) 6.63512 Tj +0 -59.3819 Td +(6) 6.63512 Tj +0 -65.3579 Td +(6) 6.63512 Tj +0 -71.3339 Td +(6) 6.63512 Tj +0 -77.3099 Td +(6) 6.63512 Tj +0 -83.2949 Td +(6) 6.63512 Tj +0 -89.2709 Td +(6) 6.63512 Tj +0 -95.2469 Td +(6) 6.63512 Tj +0 -101.223 Td +(6) 6.63512 Tj +0 -107.199 Td +(6) 6.63512 Tj +0 -113.184 Td +(6) 6.63512 Tj +0 -119.16 Td +(6) 6.63512 Tj +0 -125.136 Td +(6) 6.63512 Tj +0 -131.112 Td +(6) 6.63512 Tj +0 -137.088 Td +(6) 6.63512 Tj +0 -143.064 Td +(6) 6.63512 Tj +0 -149.049 Td +(6) 6.63512 Tj +0 -155.421 Td +(4) 6.63512 Tj +Q +0.953 g +1 i +162 1607 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 21.218 165.065] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.74099 -1.79102 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3644 -1.79102 Td +(;) 2.34321 Tj +13.7076 -1.79102 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +17.9318 -1.79102 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.275 -1.79102 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.029 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.572 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5537 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +0.953 g +673 1607 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 82.5107 165.065] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.76531 -1.79102 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3888 -1.79102 Td +(;) 2.34321 Tj +13.732 -1.79102 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +17.9561 -1.79102 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2993 -1.79102 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0533 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5963 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5781 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +0.953 g +1389 1607 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 154.061 165.065] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.76533 -1.79102 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3888 -1.79102 Td +(;) 2.34321 Tj +13.732 -1.79102 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +17.9561 -1.79102 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2993 -1.79102 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0533 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5963 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5781 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +1 g +2104 1607 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 243.242 165.065] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +2820 1607 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 314.797 165.065] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.953 g +162 1463 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 21.218 150.62] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.74099 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3644 -1.79099 Td +(;) 2.34321 Tj +13.7076 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +17.9318 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.275 -1.79099 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.029 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.572 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5537 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +0.953 g +673 1463 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 82.5107 150.62] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.76531 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3888 -1.79099 Td +(;) 2.34321 Tj +13.732 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +17.9561 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2993 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0533 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5963 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5781 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +0.953 g +1389 1463 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 154.061 150.62] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.76533 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3888 -1.79099 Td +(;) 2.34321 Tj +13.732 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +17.9561 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2993 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0533 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5963 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5781 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +1 g +2104 1463 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 243.242 150.62] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +2820 1463 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 314.797 150.62] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.953 g +162 1318 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 21.218 136.175] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.74099 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3644 -1.79099 Td +(;) 2.34321 Tj +13.7076 -1.79099 Td +/F19_0 7.97011 Tf +(3) 4.22416 Tj +17.9318 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.275 -1.79099 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.029 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.572 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5537 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +0.953 g +673 1318 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 82.5107 136.175] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.76531 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3888 -1.79099 Td +(;) 2.34321 Tj +13.732 -1.79099 Td +/F19_0 7.97011 Tf +(3) 4.22416 Tj +17.9561 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2993 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0533 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5963 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5781 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +0.953 g +1389 1318 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 154.061 136.175] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.76533 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3888 -1.79099 Td +(;) 2.34321 Tj +13.732 -1.79099 Td +/F19_0 7.97011 Tf +(3) 4.22416 Tj +17.9561 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2993 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0533 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5963 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5781 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +1 g +2104 1318 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 243.242 136.175] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +2820 1318 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 314.797 136.175] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.953 g +162 1174 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 21.218 121.73] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.74099 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3644 -1.79099 Td +(;) 2.34321 Tj +13.7076 -1.79099 Td +/F19_0 7.97011 Tf +(4) 4.22416 Tj +17.9318 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.275 -1.79099 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.029 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.572 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5537 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +0.8 0.8 0.498 rg +673 1174 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 82.5107 121.73] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.76531 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3888 -1.79099 Td +(;) 2.34321 Tj +13.732 -1.79099 Td +/F19_0 7.97011 Tf +(4) 4.22416 Tj +17.9561 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2993 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0533 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5963 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5781 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +0.953 g +1389 1174 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 154.061 121.73] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.76533 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3888 -1.79099 Td +(;) 2.34321 Tj +13.732 -1.79099 Td +/F19_0 7.97011 Tf +(4) 4.22416 Tj +17.9561 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2993 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0533 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5963 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +36.5781 0 Td +/F22_0 11.9551 Tf +(\)) 4.54294 Tj +Q +1 g +2104 1174 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 243.242 121.73] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +2820 1174 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 314.797 121.73] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +162 1029 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 38.849 107.285] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.953 g +673 1029 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 72.298 107.285] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.745 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3685 -1.79099 Td +(;) 2.34321 Tj +13.7116 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +17.9358 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.279 -1.79099 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.033 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5759 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2127 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.1658 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +0.953 g +1389 1029 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 143.816 107.285] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77717 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +17.968 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3112 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +0.953 g +2104 1029 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 215.366 107.285] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +17.9679 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +1 g +2820 1029 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 314.789 107.285] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +162 885 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 38.849 92.84] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.953 g +673 885 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 72.298 92.84] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.745 -1.79102 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3685 -1.79102 Td +(;) 2.34321 Tj +13.7116 -1.79102 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +17.9358 -1.79102 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.279 -1.79102 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.033 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5759 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2127 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.1658 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +0.953 g +1389 885 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 143.816 92.84] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77717 -1.79102 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79102 Td +(;) 2.34321 Tj +13.7438 -1.79102 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +17.968 -1.79102 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3112 -1.79102 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +0.953 g +2104 885 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 215.366 92.84] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79102 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79102 Td +(;) 2.34321 Tj +13.7438 -1.79102 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +17.9679 -1.79102 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79102 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +1 g +2820 885 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 314.789 92.84] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +162 741 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 38.849 78.395] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.953 g +673 741 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 72.298 78.395] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.745 -1.79102 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3685 -1.79102 Td +(;) 2.34321 Tj +13.7116 -1.79102 Td +/F19_0 7.97011 Tf +(3) 4.22416 Tj +17.9358 -1.79102 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.279 -1.79102 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.033 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5759 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2127 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.1658 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +0.953 g +1389 741 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 143.816 78.395] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77717 -1.79102 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79102 Td +(;) 2.34321 Tj +13.7438 -1.79102 Td +/F19_0 7.97011 Tf +(3) 4.22416 Tj +17.968 -1.79102 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3112 -1.79102 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +0.953 g +2104 741 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 215.366 78.395] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79102 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79102 Td +(;) 2.34321 Tj +13.7438 -1.79102 Td +/F19_0 7.97011 Tf +(3) 4.22416 Tj +17.9679 -1.79102 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79102 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +1 g +2820 741 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 314.789 78.395] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +162 596 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 38.849 63.95] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.8 0.8 0.498 rg +673 596 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 72.298 63.95] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.745 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3685 -1.79099 Td +(;) 2.34321 Tj +13.7116 -1.79099 Td +/F19_0 7.97011 Tf +(4) 4.22416 Tj +17.9358 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.279 -1.79099 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.033 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5759 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2127 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.1658 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +0.953 g +1389 596 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 143.816 63.95] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77717 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(4) 4.22416 Tj +17.968 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3112 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +0.953 g +2104 596 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 215.366 63.95] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(4) 4.22416 Tj +17.9679 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(1\)) 10.389 Tj +Q +1 g +2820 596 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 314.789 63.95] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +162 452 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 38.849 49.505] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +673 452 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 100.162 49.505] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.953 g +1389 452 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 143.844 49.505] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.74895 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3724 -1.79099 Td +(;) 2.34321 Tj +13.7156 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +17.9397 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2829 -1.79099 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.0369 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5799 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2257 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.1698 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +0.953 g +2104 452 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 215.366 49.505] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +17.9679 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +0.953 g +2820 452 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 286.916 49.505] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +17.9679 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +1 g +162 307 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 38.849 35.051] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +673 307 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 100.162 35.051] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.953 g +1389 307 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 143.844 35.051] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.74895 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3724 -1.79099 Td +(;) 2.34321 Tj +13.7156 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +17.9397 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2829 -1.79099 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.0369 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5799 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2257 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.1698 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +0.953 g +2104 307 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 215.366 35.051] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +17.9679 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +0.953 g +2820 307 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 286.916 35.051] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +17.9679 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +1 g +162 163 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 38.849 20.606] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +673 163 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 100.162 20.606] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.953 g +1389 163 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 143.844 20.606] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.74895 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3724 -1.79099 Td +(;) 2.34321 Tj +13.7156 -1.79099 Td +/F19_0 7.97011 Tf +(3) 4.22416 Tj +17.9397 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2829 -1.79099 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.0369 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5799 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2257 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.1698 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +0.953 g +2104 163 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 215.366 20.606] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(3) 4.22416 Tj +17.9679 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +0.953 g +2820 163 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 286.916 20.606] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(3) 4.22416 Tj +17.9679 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +1 g +162 18 510.93 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 38.849 6.16099] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +1 g +673 18 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 100.162 6.16099] Tm +0 0 Td +/F22_0 11.9551 Tf +(0) 5.84604 Tj +Q +0.953 g +1389 18 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 143.844 6.16099] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.74895 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.3724 -1.79099 Td +(;) 2.34321 Tj +13.7156 -1.79099 Td +/F19_0 7.97011 Tf +(4) 4.22416 Tj +17.9397 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.2829 -1.79099 Td +/F19_0 7.97011 Tf +(0) 4.22416 Tj +25.0369 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.5799 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2257 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.1698 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +0.953 g +2104 18 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 215.366 6.16099] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(4) 4.22416 Tj +17.9679 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79099 Td +/F19_0 7.97011 Tf +(1) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +Q +0.953 g +2820 18 715.59 144.54 re +f +0 g +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 286.916 6.16099] Tm +0 0 Td +/F13_0 11.9551 Tf +(h) 6.73072 Tj +6.77715 -1.79099 Td +/F16_0 7.97011 Tf +(k) 4.40747 Tj +11.4006 -1.79099 Td +(;) 2.34321 Tj +13.7438 -1.79099 Td +/F19_0 7.97011 Tf +(4) 4.22416 Tj +17.9679 -1.79099 Td +/F16_0 7.97011 Tf +(;) 2.34321 Tj +20.3111 -1.79099 Td +/F19_0 7.97011 Tf +(2) 4.22416 Tj +25.0652 0 Td +/F22_0 11.9551 Tf +(\() 4.54294 Tj +29.6081 0 Td +/F13_0 11.9551 Tf +(n) 6.98178 Tj +39.2539 0 Td +/F25_0 11.9551 Tf +(\241) 9.28911 Tj +51.198 0 Td +/F22_0 11.9551 Tf +(2\)) 10.389 Tj +68.5981 168.624 Td +/F10_0 9.96264 Tf +(3) 6.63512 Tj +68.5981 151.083 Td +(7) 6.63512 Tj +68.5981 145.107 Td +(7) 6.63512 Tj +68.5981 139.131 Td +(7) 6.63512 Tj +68.5981 133.155 Td +(7) 6.63512 Tj +68.5981 127.179 Td +(7) 6.63512 Tj +68.5981 121.194 Td +(7) 6.63512 Tj +68.5981 115.218 Td +(7) 6.63512 Tj +68.5981 109.242 Td +(7) 6.63512 Tj +68.5981 103.266 Td +(7) 6.63512 Tj +68.5981 97.2901 Td +(7) 6.63512 Tj +68.5981 91.3141 Td +(7) 6.63512 Tj +68.5981 85.3291 Td +(7) 6.63512 Tj +68.5981 79.3531 Td +(7) 6.63512 Tj +68.5981 73.3771 Td +(7) 6.63512 Tj +68.5981 67.4011 Td +(7) 6.63512 Tj +68.5981 61.4251 Td +(7) 6.63512 Tj +68.5981 55.4401 Td +(7) 6.63512 Tj +68.5981 49.4641 Td +(7) 6.63512 Tj +68.5981 43.4881 Td +(7) 6.63512 Tj +68.5981 37.5121 Td +(7) 6.63512 Tj +68.5981 31.5361 Td +(7) 6.63512 Tj +68.5981 25.5601 Td +(7) 6.63512 Tj +68.5981 19.5751 Td +(7) 6.63512 Tj +68.5981 13.2031 Td +(5) 6.63512 Tj +75.2401 -4.83294 Td +/F19_0 7.97011 Tf +(12) 8.44832 Tj +83.6884 -4.83294 Td +/F28_0 7.97011 Tf +(\243) 6.58331 Tj +90.2717 -4.83294 Td +/F19_0 7.97011 Tf +(5) 4.22416 Tj +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%+ font FGXNEI+CMEX10 +%%+ font TPVOAW+CMSY8 +%%+ font EIXNXU+CMSY10 +%%+ font OLGOPF+CMR12 +%%+ font DIRGWX+CMR8 +%%+ font JGBJQA+CMMI8 +%%+ font TSAJCV+CMMI12 +%%EOF diff --git a/Master/texmf-doc/doc/english/mathmode/colArray.pdf b/Master/texmf-doc/doc/english/mathmode/colArray.pdf Binary files differnew file mode 100644 index 00000000000..5cfbbb8bb50 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/colArray.pdf diff --git a/Master/texmf-doc/doc/english/mathmode/exscale.eps b/Master/texmf-doc/doc/english/mathmode/exscale.eps new file mode 100644 index 00000000000..b56e6f87488 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/exscale.eps @@ -0,0 +1,1279 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: xpdf/pdftops 2.01 +%%LanguageLevel: 2 +%%BoundingBox: 0 0 477 68 +%%HiResBoundingBox: 0 0 476.22 67.27 +%%DocumentSuppliedResources: (atend) +%%EndComments +%%BeginProlog +%%BeginResource: procset xpdf 2.01 0 +/xpdf 75 dict def xpdf begin +% PDF special state +/pdfDictSize 14 def +/pdfSetup { + 3 1 roll 2 array astore + /setpagedevice where { + pop 3 dict begin + /PageSize exch def + /ImagingBBox null def + /Policies 1 dict dup begin /PageSize 3 def end def + { /Duplex true def } if + currentdict end setpagedevice + } { + pop pop + } ifelse +} def +/pdfStartPage { + pdfDictSize dict begin + /pdfFill [0] def + /pdfStroke [0] def + /pdfLastFill false def + /pdfLastStroke false def + /pdfTextMat [1 0 0 1 0 0] def + /pdfFontSize 0 def + /pdfCharSpacing 0 def + /pdfTextRender 0 def + /pdfTextRise 0 def + /pdfWordSpacing 0 def + /pdfHorizScaling 1 def +} def +/pdfEndPage { end } def +% separation convention operators +/findcmykcustomcolor where { + pop +}{ + /findcmykcustomcolor { 5 array astore } def +} ifelse +/setcustomcolor where { + pop +}{ + /setcustomcolor { + exch + [ exch /Separation exch dup 4 get exch /DeviceCMYK exch + 0 4 getinterval cvx + [ exch /dup load exch { mul exch dup } /forall load + /pop load dup ] cvx + ] setcolorspace setcolor + } def +} ifelse +/customcolorimage where { + pop +}{ + /customcolorimage { + gsave + [ exch /Separation exch dup 4 get exch /DeviceCMYK exch + 0 4 getinterval cvx + [ exch /dup load exch { mul exch dup } /forall load + /pop load dup ] cvx + ] setcolorspace + 10 dict begin + /ImageType 1 def + /DataSource exch def + /ImageMatrix exch def + /BitsPerComponent exch def + /Height exch def + /Width exch def + /Decode [1 0] def + currentdict end + image + grestore + } def +} ifelse +% PDF color state +/sCol { + pdfLastStroke not { + pdfStroke aload length + dup 1 eq { + pop setgray + }{ + dup 3 eq { + pop setrgbcolor + }{ + 4 eq { + setcmykcolor + }{ + findcmykcustomcolor exch setcustomcolor + } ifelse + } ifelse + } ifelse + /pdfLastStroke true def /pdfLastFill false def + } if +} def +/fCol { + pdfLastFill not { + pdfFill aload length + dup 1 eq { + pop setgray + }{ + dup 3 eq { + pop setrgbcolor + }{ + 4 eq { + setcmykcolor + }{ + findcmykcustomcolor exch setcustomcolor + } ifelse + } ifelse + } ifelse + /pdfLastFill true def /pdfLastStroke false def + } if +} def +% build a font +/pdfMakeFont { + 4 3 roll findfont + 4 2 roll matrix scale makefont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /Encoding exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16 { + exch findfont + dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + /WMode exch def + currentdict + end + definefont pop +} def +/pdfMakeFont16L3 { + 1 index /CIDFont resourcestatus { + pop pop 1 index /CIDFont findresource /CIDFontType known + } { + false + } ifelse + { + 0 eq { /Identity-H } { /Identity-V } ifelse + exch 1 array astore composefont pop + } { + pdfMakeFont16 + } ifelse +} def +% graphics state operators +/q { gsave pdfDictSize dict begin } def +/Q { end grestore } def +/cm { concat } def +/d { setdash } def +/i { setflat } def +/j { setlinejoin } def +/J { setlinecap } def +/M { setmiterlimit } def +/w { setlinewidth } def +% color operators +/g { dup 1 array astore /pdfFill exch def setgray + /pdfLastFill true def /pdfLastStroke false def } def +/G { dup 1 array astore /pdfStroke exch def setgray + /pdfLastStroke true def /pdfLastFill false def } def +/rg { 3 copy 3 array astore /pdfFill exch def setrgbcolor + /pdfLastFill true def /pdfLastStroke false def } def +/RG { 3 copy 3 array astore /pdfStroke exch def setrgbcolor + /pdfLastStroke true def /pdfLastFill false def } def +/k { 4 copy 4 array astore /pdfFill exch def setcmykcolor + /pdfLastFill true def /pdfLastStroke false def } def +/K { 4 copy 4 array astore /pdfStroke exch def setcmykcolor + /pdfLastStroke true def /pdfLastFill false def } def +/ck { 6 copy 6 array astore /pdfFill exch def + findcmykcustomcolor exch setcustomcolor + /pdfLastFill true def /pdfLastStroke false def } def +/CK { 6 copy 6 array astore /pdfStroke exch def + findcmykcustomcolor exch setcustomcolor + /pdfLastStroke true def /pdfLastFill false def } def +% path segment operators +/m { moveto } def +/l { lineto } def +/c { curveto } def +/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } def +/h { closepath } def +% path painting operators +/S { sCol stroke } def +/Sf { fCol stroke } def +/f { fCol fill } def +/f* { fCol eofill } def +% clipping operators +/W { clip newpath } def +/W* { eoclip newpath } def +% text state operators +/Tc { /pdfCharSpacing exch def } def +/Tf { dup /pdfFontSize exch def + dup pdfHorizScaling mul exch matrix scale + pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put + exch findfont exch makefont setfont } def +/Tr { /pdfTextRender exch def } def +/Ts { /pdfTextRise exch def } def +/Tw { /pdfWordSpacing exch def } def +/Tz { /pdfHorizScaling exch def } def +% text positioning operators +/Td { pdfTextMat transform moveto } def +/Tm { /pdfTextMat exch def } def +% text string operators +/awcp { % awidthcharpath + exch { + 1 string dup 0 3 index put 2 index charpath + 3 index 3 index rmoveto + 4 index eq { 5 index 5 index rmoveto } if + } forall + 6 {pop} repeat +} def +/Tj { fCol + 0 pdfTextRise pdfTextMat dtransform rmoveto + 1 index stringwidth pdfTextMat idtransform pop + sub 1 index length dup 0 ne { div } { pop pop 0 } ifelse + pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32 + 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0 + pdfTextMat dtransform + 6 5 roll + currentpoint 8 2 roll + pdfTextRender 1 and 0 eq { + 6 copy awidthshow + } if + pdfTextRender 3 and dup 1 eq exch 2 eq or { + 8 6 roll moveto + currentfont /FontType get 3 eq { fCol } { sCol } ifelse + false awcp currentpoint stroke moveto + } { + 8 {pop} repeat + } ifelse + 0 pdfTextRise neg pdfTextMat dtransform rmoveto } def +/Tj16 { pdfTextRender 1 and 0 eq { fCol } { sCol } ifelse + 0 pdfTextRise pdfTextMat dtransform rmoveto + 2 index stringwidth pdfTextMat idtransform pop + sub exch div + pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32 + 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0 + pdfTextMat dtransform + 6 5 roll awidthshow + 0 pdfTextRise neg pdfTextMat dtransform rmoveto } def +/Tj16V { pdfTextRender 1 and 0 eq { fCol } { sCol } ifelse + 0 pdfTextRise pdfTextMat dtransform rmoveto + 2 index stringwidth pdfTextMat idtransform exch pop + sub exch div + 0 pdfWordSpacing pdfTextMat dtransform 32 + 4 3 roll pdfCharSpacing add 0 exch + pdfTextMat dtransform + 6 5 roll awidthshow + 0 pdfTextRise neg pdfTextMat dtransform rmoveto } def +/TJm { pdfFontSize 0.001 mul mul neg 0 + pdfTextMat dtransform rmoveto } def +/TJmV { pdfFontSize 0.001 mul mul neg 0 exch + pdfTextMat dtransform rmoveto } def +% Level 1 image operators +/pdfIm1 { + /pdfImBuf1 4 index string def + { currentfile pdfImBuf1 readhexstring pop } image +} def +/pdfIm1Sep { + /pdfImBuf1 4 index string def + /pdfImBuf2 4 index string def + /pdfImBuf3 4 index string def + /pdfImBuf4 4 index string def + { currentfile pdfImBuf1 readhexstring pop } + { currentfile pdfImBuf2 readhexstring pop } + { currentfile pdfImBuf3 readhexstring pop } + { currentfile pdfImBuf4 readhexstring pop } + true 4 colorimage +} def +/pdfImM1 { + /pdfImBuf1 4 index 7 add 8 idiv string def + { currentfile pdfImBuf1 readhexstring pop } imagemask +} def +% Level 2 image operators +/pdfImBuf 100 string def +/pdfIm { + image + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfImSep { + findcmykcustomcolor exch + dup /Width get /pdfImBuf1 exch string def + begin Width Height BitsPerComponent ImageMatrix DataSource end + /pdfImData exch def + { pdfImData pdfImBuf1 readstring pop + 0 1 2 index length 1 sub { + 1 index exch 2 copy get 255 exch sub put + } for } + 6 5 roll customcolorimage + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +/pdfImM { + fCol imagemask + { currentfile pdfImBuf readline + not { pop exit } if + (%-EOD-) eq { exit } if } loop +} def +end +%%EndResource +%%EndProlog +%%BeginSetup +xpdf begin +%%BeginResource: font VWGKMN+CMMI12~1b +%!FontType1-1.0: VWGKMN+CMMI12~1b +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI12) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /VWGKMN+CMMI12~1b def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [-30 -250 1026 750] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 110 /n put +dup 105 /i put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD65B1394C5DA048A67291055AB5DB47B8B6849C6 +5AB7A317015C551080CF75E94E9F4AD2A41500BAD9F4EAE3C2E015A7EA9C591F +E01C6166DCF0C8C1E49A5B340799A136AD1E3C8AA3EA27312D553F2088704093 +7751C735CE592C288572864EB2718EB665BE90E509BAEE8508951E593D1E179F +0A470525771A782381BE0E9948E3D83B13FFD9774C91FB0C1008C7F16762BED0 +7E44AFCD43E2244A354B59E8A95A95BF8FD7B74DE96F37A1543E59996A8CB698 +A884F9F0B08EAAE5166094B0773D520FCF3A537BE7CFEE2B8C9880CE214B8C9C +0470FD9C04B8E67C2987FAC7A39193D572FDD46517E87D5BA492237CE61244DF +A9BB3C9B5ADFB3B9EA24865ECEC713B6BCD372E81DEBF23FC0F7D04792A9CA4C +8F1DD005C9EE62F8A04D68925046AC7F61D0001391BF09DC66D168B5395F02C7 +1A870375CF38B9011F0A4013E127D47E2B053470D392EDF1375E5140EC25100E +DAA39691AD088BF998FCB198CBA3A280FCA5386AB3D3FF6B75BDE154F280A737 +F61C40F11AD85203DA12048C9946F4F616197AAE8307C91930C5CD8E21F362B9 +2AF5D9740DFC4BD28F8CCB3911785ABACAC51ABDEC842BFD0CA7A1FC285C65E6 +C216C62605E2C2C4DF6A34BB6238CD491FEDFAEA8E24DCB3765F841D5744AD4D +F11999337A1E84F545EE750C887D6E9FB2D349DEFFDDF5EB4A3ECFB77CF3C0F9 +DE7C4040B1FF41582E46CDC7F0A6BF2CE267AC0054809344F3BA55AF06A18D9E +D7A3AE95C732A063B3D6B38DE09F2E538635328BFBCD164D6D717AE541C97351 +5CF12CEBF1648C6519B66A28A6A32D6BCF94CF46878EC9F53E3DE4B2A5723E9F +5B1218BFC88CFBFEA041CD85B31FC93543F693F28302FFB2CBFFB3BAF67C784D +7FDC0080AE67892EC5E11721A1E02A99820614A8D0FCCB30EC1182CD793416AD +D58E0F79924D1F9762C470DC8FCED3F7BC64BC20F0B02F505C6E44A79C309074 +8EF767B6A9677F6BD08BC0E214E1038C29266ACCDBB1F0E489A27F9ED3BA5DBB +DDCC78F28345162325531ABB +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F28_0 /VWGKMN+CMMI12~1b 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/i/.notdef/.notdef/.notdef/.notdef/n/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font VTBQKO+CMSY10~18 +%!FontType1-1.0: VTBQKO+CMSY10~18 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /VTBQKO+CMSY10~18 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [-29 -960 1116 775] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 161 /minus put +dup 112 /radical put +dup 188 /approxequal put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD58DEADE9FDD8D1161040A11504872D56EDB3D8A +754DA50DF613433572E45F990F01381BC7E8141871C01DE3E731162DE2206649 +4D782ACD8AA055EAE84DD0DEB16C09CFA1774FA78BCB61839501922FF62F7037 +3E6C1F5DBDD3567A54F189008B0F5225798FB59F3FD46468BD1CF510B02F535E +3EA7FFE2583BAE928445D43359B4A7C4BF027456BA45D781AB71B5A7DB2A069D +16B42DC713A3CCB6051AA434461CB1B788ABDAFC086C086AA2B775151523635A +1B20BADC61BCED288EFD4E6F6CA6A38374934CF2B9EC79B4A49C3651F5716CB7 +383810061D909D91062AA3DCE7FEE134D4401A8A658058ECD16AD20987BB1A7A +B461AB673C3ED13ED6BC70F9A82480BCDA3C25351DE936EC85246796682A66A9 +3CC542C440F8F35956A87DFD812F3705C0D4C212F288C90D06125B9C6B69592C +A913A2325D7C58E1603C566AD9D9D53D9D386E35E697440EF0F3D7B79A0D6756 +54F58C1E8930F1862D643C3C0A6B00FAC163BF8751934E084093C76CB577B99C +00D286B86F797664B8BFFE5B5D53BF76741014E5C4B55E49A7889782F28D9A5E +8350ACC37ADC389D4EA67615A01D7422E32693BCFF6404EF69E29CE4D9D96F09 +3ED1F60BF6D8A145FCCFEC6A6F5D776A7CC1C1EAE66F0A9ADD12786D8504E5DC +41DDAEB84DC3126FAD8C02D6A7CEBC17A423CF3D0620A1756A173715F2186F93 +899BBFEB55125ABC9CB09CBB3216D801A9E4082D88B7242CC8E4803DC014D01D +E52AD71B70176B9B7EF540031985ACF8224C6FB88175A75E1A5EFE4BE700FB22 +0C3FBD57D7A99CB5B6D836530EDFA1AF26FDF70026E6A24ED8B966C513DC21C6 +AF9245BD2AF5F4C2D010D87F0A3E82BD5FD9FE13A4586714A34ACA07C7F0ED95 +D20B892343C4B77BA94675A26C41ECAEA66D6C5E7A5E1155F6E0CB7D068E9BBB +D13286FB8BF5FC71B55132FF41C4B6B5CB9CEB99A052E277A51AC0BF479A6B78 +D0044B8B010E45315B96EAA354FD0533106B0107E35BA1DF3AE0 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F25_0 /VTBQKO+CMSY10~18 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /radical/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/minus/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/approxequal/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font GMDPHN+CMR17~15 +%!FontType1-1.0: GMDPHN+CMR17~15 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR17) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /GMDPHN+CMR17~15 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [-33 -250 945 749] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 99 /c put +dup 111 /o put +dup 115 /s put +dup 49 /one put +dup 50 /two put +dup 40 /parenleft put +dup 41 /parenright put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DC92E493E0F02C8730749B6C82051C4FDB560DF800B +3372035B0A49A3D7E42A6D95F9A429FCCC80B1170279BD4DB2682E62B674064E +66A05B6718BF415A81688C966D3AC974300F4F0E5909720B4F372628A04C7166 +8ED43DD0A3118B84EB6B9BB3A0201C51A16F58A501D371009A54963E9355FA89 +08EB383F3FF9B64870EE9055E705B9D1F8DFD5C46F9686AA5176D6B65F0FFA37 +E1850A8C517AD96C75F4AA246D7734069A6E2D0400996D685F13F94B8ADB2EBC +A4F3EF818A4394A41014E6CFB6C2ABF984DCFAA8C1512A6E2AA9CEC4AB751CF1 +2F7D24625D5D9EC359692DF2FDCAD13E24542459644DB61A3CB7DB848C8EBF6B +147A6E9921B11A232EB186DB5DE1736C1009CAA84DC481209DBE49DAE37602F8 +5CC48F26EFFFD7513A082C8C3BC70DB7E4AD67F59385742AB72A1243E010BC7E +88440B407BECAB190B3AE7C839957CED8E696F213DD9D88F98E659ECA455DDE4 +B8D56AA6D776E98A8EC8388573AE2DD9115F9D12B88C215E3B7C7493E99A0B97 +B1C8F494569BEFC3F62FD9F6E2B772C89291425B19294CC62810BE9A0DA0E6F9 +DEA04DBFC403A803642B45848ABBBB4AAD2C4E3578590A140FCFC68784220760 +169066FE6D42EDAA50D7379F956636CAA12EB3355179001AC725724CD11F9DFD +A1734DBE09F618B408ECB844C464E1858DD358960A13671B27753E5B1EB4535D +362964FF7756FD4C885E16888AEAC259A3B59B21BD4D9C7377E1F7137E1C031B +6F0654DDD45ED37084063A4DBD3F87357F1560F94A41B10CA70C128C4FCEF792 +FCA0702618A267A1D7D4C2C82BD79C5619C37E8369285FE9824D9790093D3339 +38464F72B9290DDDA15BC894FBD57969F3B96B87260278A0E7CD55A31EB8E3EA +C3F78926859CC87EA7376A8C02420A9BB0EDE1E72B7B7AEA72EA3606660F22CA +5256E999285FBF40105F8D36B3C34CF3C5705DF07CF612104D5CD94069A14A87 +FCD441BB7CAEA76A2BB5D9155E171FC3D801CACEA228A675CEA444B48573163F +46EB54553C57B42DEC78C3E61AC6BCBA64EA597E8E8F20B0D399BD2F3513CFDC +736A1BBE30A943295761FFB39C250465083707EB63316D0E7644F6FCD9BB91B8 +E56B6B03E6DEBB3951ACAD3B3D8AB237037D2DD3EBDC27D9DCC6BC88468F16BE +388700B9DB0CE45AF62989A0B8F03C823FC58E3BE50195B0ACCC033287844B07 +DC96A6275CAC5C0839384AB8EA4199C2EAEEF49783255F990329A080EAEF84A7 +18068E48B22736D1441C716B2087AF3AFE84C4A564B5A52F38B5D846ECB392F3 +3790597446B05F207CA509F0696864E4E961C75E8EA1DF3E5D4E4867BECDD278 +92DD7141EEDFBC49D0C369B73204C7FF5FF1BF41845EF6069E1FA40E09950075 +9963596457EA5F9CE76E00C27514B24C9A1F30EC551E0E27F07627A411BE7215 +65EC4E43C875BD36A6041A68FD80D1036FD5FF84B875A3AEBBA75D4AAF0D7B55 +D96FE480E7F940926349994D683EAC65ACCFE3CEB26C9ED046D33A55D3559043 +CD3891ED281A6AB9FD97D60A25BE7FED7E7CDB8CD71E102C209C0D9FCB424859 +1C295A908D39D38B7526FD8575DE4075903080E8006CED49B8C307874F3F7596 +5AA97290ED6B47A4F69035A382BE70BBB0886B874513DAB99741B00F843BEEC4 +6CEB7970030C848BAE523594089670770B755A6B71B5AC10383C77D31B9EC16B +320A6C02480190FBFE22087C0B9EBFAEA3D8C57E0C9569E471120B0FC326FBD6 +42F2B3DBF9718DB1B0B764186D6342008523B5256AD9A8E765A44DB34E1C6DFE +5E0FE7722BFD1B4FC592D3FA80D47B82BAE3C81E2AEF0E0B5AA54BA3776C7B3D +AF0785E90C37FD34E2A4A49A25C1BAAE889A05E40CFA6ED1D80B0A842CB5E10F +19E12C5567C8562B6238E0AB5986996C42C4CD594BBE9F8C7B05835AEA7D5CA8 +4D68 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F22_0 /GMDPHN+CMR17~15 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /parenleft/parenright/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/one/two/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/c/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/o + /.notdef/.notdef/.notdef/s/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font HKDPOA+CMMI12 +%!FontType1-1.0: HKDPOA+CMMI12 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI12) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /HKDPOA+CMMI12 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [-30 -250 1026 750] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 110 /n put +dup 100 /d put +dup 102 /f put +dup 105 /i put +dup 120 /x put +dup 188 /pi put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD65B1394C5DA048A67291055AB5DB47B8B6849C6 +5AB7A317015C551080CF75E94E9F4AD2A41500BAD9F4EAE3C2E015A7EA9C591F +E01C6166DCF0C8C1E49A5B340799A136AD1E3C8AA3EA27312D553F2088704093 +7751C735CE592C288572864EB2718EB665BE90E509BAEE8508951E593D1E179F +0A470525771A782381BE0E9948E3D83B13FFD9774C91FB0C1008C7F16762BED0 +7E44AFCD43E2244A354B59E8AD947BA45650E9630465990C59B1D22AB71C328D +BF073E8D3DC29C7AB59DE1A9E7F64217DBB4E390A8CAE5247C9E22BE72C36CA4 +307A6DCF57A06FCE790E6AD83376573DDD7BA1FD10B11267E2C1C6FAF1AE9F9D +B31AF4E80D4EB4EDAB99E2D0B0BCE5958B9F80DD9FB9927212D1936DB2EDAD98 +8515998AA3049ECCD236B9875E42F57F9571FDFB89A9E5FD7253EDAFCE0EE0F9 +EC2422A4D6E0C992411BFC35DAC2EA8FDD1D2CA95FA1979CA28A86D4471C845E +4E2C9D7AE95985A752918E35FB3FC26B5D0BB0340BC79E4A971F7C59342D176E +2FC2CF069F64E6A5EA6904A37FEE8B0213D2D584C62977658A5C03AB31191A41 +82E04F266FD1F55888E6308A98998A82E44B8519DE9A44FBD5E3CA6ADE489141 +040091A11B20CA210E5BD2242C0B2CE00241ABB36AD883842648ACF9FC576358 +073BD9C3338E1FD07D9B26AF79D4BA4CC833A222A736AEE1DCA28692F2357A12 +91EA41273C4B90515DEEFA7F26C5A45251C0BE651DDF80F10515C3E4CBC87A12 +3072B8B1A9564407B749EEA2405998657B46EBE5FB049119AEE96B6C3BFF49A9 +0DE6FDCB7338864C8BDD75627981D1249797950D7224BE7185F656BF1FD939E7 +DB1FC1BA4D955C1C4CDAED8833EE067F9D37B629BC5C4F530EC0F7E869234A64 +2205F24C1A838CAA882A549593D051DCB6A72AD0163479B32988451286D390AA +6EBE4B19A165325D87DDF1CC99E1C1466B8375E94A79304FCFE662B9125F96AB +F75058261AD939D67A64275154A19A7458A56C03515A7D0EF87BCFF4A45807D1 +1941D3708047DA79F991B4031FFF2F5C6AD5710F4C5ADA6C181A5DDA99A60EEF +13C09C03C362CC7083ACE9CF11A0523E8DDC8373D1485A574A8CF9E21F970E69 +F97592AA87C2F2ED60A799246EE61E1367CBB1538FC69221D200DA3390C0BB48 +A2145E37215CEC03FCBB7B1DC2F7A6097066F738935D577092646C3F6E598604 +A61B9CCFC69087687CC13D6D28BE93569CE284D14299D78679F4454B59F05239 +1E8E5B20981E8DB5E1380A12BEFA16F6A1A7B127A7A908F77BE2CE65734ED576 +D6B62AE0D8F1AE528F5FE566D972D7C77D052B7308616444904FB8EF9FBEC9FE +5EEE0F33524AE34CC4A96A043EF21990583B01BD9F672B8C0AA12D0DD2FF696B +8A6047D90FA5CC27408189B6552CFE421F9F8A4FCD41208AD7DEB636FA41E556 +02CA9B1A248F615FFEC52326C5A976538F33A39EEE88AE6B627418F276B7FF04 +48AC31A8F5147AA1A90BDCAB0ED8B344E9A5CC04227007973D985ECA98575677 +821259DA4986D04385DA7E6BC44AD6F31B8E869FEDDF4481287418A71F8C9A80 +59A1F75DE535B565D93C7D937808330FAA2469E07D2E686DAC7150ADBD41CE9A +E5EB3F948929F63EF4451BA693B18AB5F6212E538D3AC34712B1DAC35BD64FAF +AB56A3EA01A138CD6E5FBB95AE0D6DF986B5F96142DE610101EBA55027A7B63C +9581197FDDC3B49499655E79BFE4438DDF78BBAFE619DF3373B05E9254D4CE3E +2CF7518B7A400C33F18B70DB059B592FCD7D7ECC9765456FA96AEE8AF4ED9FEF +C49E53ECA496D87CB318E67DB72E74F8AD15B107F93F57B886BFD3AFF540DBD8 +B5B99461B96253972F4446ED5FF2D213A1557FB2E253AE65D302EF9C31520020 +FADF115851BF0DC5CCDB6EFB70579220317F4B5BA8577478A0B3C312F192354D +D68EB0F16C999B9D2D990230C05392E89F9CFABCDD735E1126326907CBD1E46D +4169FF09239803A63B467070A586DAAEB94056A9A603D120EC22BD1BC1F64ED6 +3F3683B85B599EECEC5BA2D35149FFFCBEDF0BAADC5A1E37E5FFF495EC53E6E5 +66CB05C7AB05AB5880537EF65342F94B11C5BD907E49E73A17B91CC78E151B50 +28298B2F4C8245469FDA4AFE5C3D16907C9FAD859413E63C476EFF20BD388031 +02738A3ECE2C44029A267063416DE2AA2F925BB98AB5FAFCA8B5FC0A23875DE5 +BD032086EECC4D3C3733DF9524D3743DE35BA57291EC86C6D913F25936A1CD93 +CD747134AA363960F975430F8C8E9E9BB0BF019BD933 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F19_0 /HKDPOA+CMMI12 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/d/.notdef/f/.notdef + /.notdef/i/.notdef/.notdef/.notdef/.notdef/n/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /x/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/pi/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font QPMPZX+CMSY10 +%!FontType1-1.0: QPMPZX+CMSY10 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /QPMPZX+CMSY10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [-29 -960 1116 775] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 161 /minus put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD58DEADE9FDD8D1161040A11504872D56EDB3D8A +754DA50DF613433572E45F990F01381BC7E8141871C01DE3E731162DE2206649 +4D782ACD8AA055EAE84DD0DEB16C09CFA1774FA78BCB61839501922FF62F7037 +3E6C1F5DBDD3567A54F189008B0F5225798FB59F3FD46468BD1CF510B02F535E +3EA7FFE2583BAE928445D43359B4A7C4BF027456BA45D781AB71B5A7DD87F16D +E8E2A0E5C3E7175363255A9FC1B2C1734066515DA9C0C9C3AB23EBAFC56EF014 +FD1CAE59E9643B8D659ED91F7E5D38225A489707A6406BB8FAB4AC592D8F7849 +6D1EE5D02F37964D389F52A9D6F6088DBA3E88BDA46B006DEB21A55DBFA37D2F +174498304AD593651746AD2A9F1C026F612184F0436B032B1C581A0735F9D473 +890E6E7D72F5B429717EA8E1654A07A9B576258F9DFDE14EAFF935DFECADEAC8 +35035CA459C4BDC9577484FF36EA4BE997A020DD0AD3DCE87894C773CFE10D88 +CD91683874A6FAB9D28597DB2E32D200C3D8 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F16_0 /QPMPZX+CMSY10 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/minus/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font FMXHGQ+CMR17 +%!FontType1-1.0: FMXHGQ+CMR17 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMR17) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /FMXHGQ+CMR17 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [-33 -250 945 749] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 49 /one put +dup 61 /equal put +dup 50 /two put +dup 43 /plus put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DC92E493E0F02C8730749B6C82051C4FDB560DF800B +3372035B0A49A3D7E42A6D95F9A429FCCC80B1170279BD4DB2682E62B674064E +66A05B6718BF415A81688C966D3AC974300F4F0E5909720B4F372628A04C7166 +8ED43DD0A3118B84EB6B9BB3A0201C51A16F58A501D371009A54963E9355FA89 +08EB383F3FF9B64870EE9055E705B9D1F8DFD5C46F9686AA5176D6B65F0FFA37 +E1850A8C517AD96C75F4AA246D7734069A6E2D0400996D685F13F94B8ADB2EBC +A4F3EF8CA9ADAC82E0E0954A0C130DB58F4DFA2B00096125908D48BA2A3820E8 +6DDB3410F1762CAF11DF653C038D246FA78CAD45798E2AC6B78EDDB1CB10F4D7 +7995A4BA42ACD9BFAB3A49212687EDCDCFE778F45CB79ECB0BC590C13559747A +0C3668D8F36BC1FE933655D192B3628733B3FD371059158F36DE32FD71828623 +28CD6FA21C09F301DB9DB95310B30111F4C4763972508DDFCBC9A82633F91B18 +36EB030057420C9C64757C5E04BC07374F1A294AD4CA4911D5EF23D0824B0992 +CF23BFE8C28491DC6EFAACF9211365E0C4AE8D49CAD65A63BCB5E73F0D82A36D +567C2DADA7723A330825965C0CF5F4DC7F548612315C980864E52AFF9F965E52 +5EBCB630E2ECC800EA94348A92AF68B527A15C058B513335B4B554C342F706E8 +CF055A882F0FC1CEA63DB77B6978C901FAF516B45F3DA50C7BDA40B2773EAD93 +C031D4DC1B7C7287B2D67F62FCC935D557891D8070FB33EBBE625D9D6EE5A822 +3138E151E3DD7D76D4F50F8A6A0B4F8B88E7C68B91782CFB0D351655D1B9BF1F +69082BD079D71FEAF70034A0091FE7DC364A2DA558A249CC98028A792E8F830A +24349E65CEEF9D8F8EDC942ACC37E19443B7708330066A4073DC09366B559F11 +1F7DEE651AA9E25810A21B55AC8A2589FC2AE5C644234975DC5BA11A9F2CADED +C08D4AA17D2A8BE14A1A1AF4016CD8E447E51DA8F8FCF401063B584036EAC168 +99F85D6C169588BB116C629ACC99A4DA205CDCC266AAF002C37467BF90CC9BD3 +13DB4DE913C883E0E4A2DF0C8F747D15C814EE909157A91FD159A296A20BF7FE +EBEF8789C72E5AA57F5F350FC62AAF594FAFBEE1DAE68F09A38D42CF5D28EDF8 +3117F5A4351CE7946B170B6492AB553EA05D3569BED2FD999481CDC0C5BAAB68 +C74E43B84C9262D11AD158634D715B +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F13_0 /FMXHGQ+CMR17 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/plus/.notdef/.notdef/.notdef/.notdef + /.notdef/one/two/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/equal/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%BeginResource: font LKHKAT+CMEX10 +%!FontType1-1.0: LKHKAT+CMEX10 +11 dict begin +/FontInfo 10 dict dup begin +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMEX10) readonly def +/FamilyName (Computer Modern) readonly def +/isFixedPitch false def +/ItalicAngle 0 def +/UnderlinePosition -100 def +/UnderlineThickness 50 def +end readonly def +/FontName /LKHKAT+CMEX10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/FontBBox [-24 62576 1454 772] readonly def +/StrokeWidth 0 def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 67 /parenrightex put +dup 65 /parenrightbt put +dup 48 /parenlefttp put +dup 66 /parenleftex put +dup 64 /parenleftbt put +dup 49 /parenrighttp put +dup 88 /summationdisplay put +dup 90 /integraldisplay put +readonly def +currentdict end +currentfile eexec +5AA4F71255501637F1A431BAB555283D093E1B588B45B0281559110D21315C62 +BD638C6B34BA54AA75227715D9947EBCD51A104CAEA657499E94138F5645BF68 +368BB1B1EC8E4776F067FFF2CE9B89FB7E63A7DB304498C1036D399C47A4CB79 +BD517EDB02BEB90195FD7DDAF3E839BCE2DB156D9337DBB2305A465B3E0FFB97 +1985C79DC71C47E26F9F0F042B2CDEE97B679358059256FB93D662D43C7ECB5B +1A564DFCECB963478373C69F52172F071E0AA6082A3E10D9E1CE02D4556639B7 +6E51CEE5CA47176526577DCAD76AE67CCBE6C569E3C7ED7D84E3C4204A9BD722 +50873EA47333356890CAF4A15A424FD4B234FE7DDA0F0D863C346058F4BEFE04 +3E4F768D805687A004B13452E895B459ED4E7E3D00D71DE3B36DEEF78B66260B +8C0108C27B385AA255B5F9F21F34B4E0E97A6C196B5530B656E80B32735A5236 +139BB8C47D6EB79D61BDF179B4B1F8D49461A22BBDE9291FD2B1CC422A4345C8 +C7E1C14B2A4747FFA7D56617B784AB2F039AF3677735ADC8A7B8FBB02DEA64B0 +A8B0648C161D8A5DAE080C457648BD7779A9914B34261E05772361416DA38509 +AC0CA4D0E6F2F98BE47CCACCF73287155C13CC294029B9439EC6F6EE9BBC17B3 +BB16CE22E953375B7F56B21D52BC08DDE83006C894C202741621B803D06DC55E +BBC434FDA9EC066DDBE85F4F0629DE55D6E1E17B131DB946D916043BC7161390 +37C8CBC62EFF69F32295B0A27F71F7BD67F0BA115D98586B501C770E872AAAA8 +DD5A1008A9EC8D282FBB02DE567D5CAF7386F32887E363DFD2000DB47A235EAE +BA1E784F1F2979B102A6A9E47EF56D26ABCE254F93FF3868AC838C275B7DC71B +4D629407C34ADAEE8DCA5336F904CD0C7979632100EF22E663B8FB94B48E3DF3 +115A44830144DCA2818D6019B5CE1C5DEE7C69DC6623A436FB0E53A493D2AB3F +3AD3777299633D08E12041E59D6194E01C3A8545539DCF4FE206E6CF3F813335 +1392420D6E48769A9A31776367CA81075DC893365E567AB5BD3D93A3B6AB82AA +F83642F1AAF9A6DAEEAF737A421987C60759C112157E100C9618DFC85EF7A7F6 +B8E17E6569D48FC48AB6F43F37AE90D46E64F2BE9A380E2AE66FE4B923ED515A +14A928734AAD4A735504CC8A1E555766275EB3802D4A167E0D3DCA110A0E5EC8 +266D006C0178FC930E18BBBD660D6E397A2B9C95C6F0BFA2051F793E6C5391E4 +64460DF0E3C5CB5575C3B8ED78875879372675829BB0400EC9CEC7B682909D09 +F5CF3F9AC8EEAF8B1A5DB066971C9BF29E4F2AEE7F27A28E7E9E497C15F83311 +42D9D116C1CF06D499E22AA4CE57505A567203432D954CDC3FCE9B4A735839DF +BC8258F7A5EA212E2243E1EFD925959F2B46DF97E71635BE193D414397B0D299 +C87281F1C95F6F65006CD3556A4280E96235DED6CFAA9E9B92F9E81A507DD424 +BF0A1687A5CEC773672CCC56020AA0A83ED2962D723177FE20B5700E3EE993B9 +8D28AC5B777B310C4677627BF7F53C180BE5E67856B8AC3DE43EAA4B03D9A975 +A3010EB7ACDD4DFFEF9CAE755DEA151B8057B46D28E426BD45A9681D93CFDE04 +F5ED385F637A00B595FA81E95D89C77E84728FC8A122D72981651D725D805D3F +D43912EC69C0A897BB9726EE0E14D4333FDBC4A3AFD82F11370A5D77A1C3CB51 +25866F96BA0D123A551DDCFE9C389020129315633F9F83ADFB273436A5235650 +B4F8053FC3929C224F328C368A85B2D2F460B831E364AC95C677A147996D13EE +60BC3AE1BB6F69CC95735374C008EB636D1D96D864661E6464E10DB9E59F376A +4CFEC4A34D36C446ED817FF1BB78FF3E8BD2B4B5794A109DC2341861F9FDDB4D +5E1730C9AB87BB4CB2513117D032BEB2B59F4666ED90EB0374A4E17762D9A502 +B786BB576E3D5A6CE3130137DCEC44EE57CEE44767849BF902F9FB85BB3CDCB4 +338BE4BF25EB8ED6BD4C6236EB71B77255EFC94D35AA568BB159BB2B57D5F47E +758D51E73818A1C665CF8A93C32575C889640153B137497E9F31935A8BB99394 +A8C08A909F73673253D9E825D3EE79E3F955AEADA53914E2443520ADFB632D5A +B146E2DD12385026B1B89138EDCF42A13A4F046D56450E51410D8AB3D6AFA4FB +43D2578D9AB19D104646193314CB8D680A853E8C8EAD9F22E27B5A49AD18479D +A48A9FD79891CADD4CE2D67BA14D569D429ACC48D45307E3F933D106F349A491 +7559FD7D453708EC4A29724D4B79CD363E82659002185897E6D5A6 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndResource +/F10_0 /LKHKAT+CMEX10 1 1 +[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /parenlefttp/parenrighttp/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /parenleftbt/parenrightbt/parenleftex/parenrightex/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /summationdisplay/.notdef/integraldisplay/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef + /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef] +pdfMakeFont +%%EndSetup +pdfStartPage +[] 0 d +0 i +0 j +0 J +10 M +1 w +0 g +0 G +q +[0.1 0 0 0.1 0 0] cm +q +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 38.43 38.241] Tm +0 0 Td +/F10_0 9.96264 Tf +(Z) 5.52927 Tj +9.96301 -7.029 Td +/F13_0 20.6626 Tf +(+1) 24.3199 Tj +5.53501 -23.391 Td +/F16_0 20.6626 Tf +(\241) 16.0548 Tj +21.5898 -23.391 Td +/F13_0 20.6626 Tf +(1) 9.46347 Tj +60.201 -0.495 Td +/F19_0 24.7871 Tf +(f) 11.9474 Tj +74.7944 -0.495 Td +/F22_0 24.7871 Tf +(\() 8.77463 Tj +83.569 -0.495 Td +/F19_0 24.7871 Tf +(x) 13.7816 Tj +97.3506 -0.495 Td +/F22_0 24.7871 Tf +(\)) 8.77463 Tj +Q +1 i +786 270 860.94 4.0498 re +f +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 78.57 23.796] Tm +0 0 Td +/F25_0 24.7871 Tf +(p) 20.6477 Tj +Q +992 238 654.3 9.98999 re +f +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 99.2176 2.43901] Tm +0 0 Td +/F22_0 24.7871 Tf +(1) 11.3525 Tj +16.8604 0 Td +/F25_0 24.7871 Tf +(\241) 19.2596 Tj +41.6279 0 Td +/F19_0 24.7871 Tf +(x) 13.7816 Tj +55.4563 7.16396 Td +/F13_0 20.6626 Tf +(2) 9.46347 Tj +70.7653 18.54 Td +/F19_0 24.7871 Tf +(dx) 26.3735 Tj +104.033 18.54 Td +/F25_0 24.7871 Tf +(\274) 19.2596 Tj +131.416 35.307 Td +/F19_0 24.7871 Tf +(\274) 13.7568 Tj +Q +2306 270 146.61 4.0498 re +f +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 230.715 3.97798] Tm +0 0 Td +/F19_0 24.7871 Tf +(n) 14.4757 Tj +29.484 33.156 Td +/F28_0 20.6626 Tf +(n) 12.067 Tj +28.332 30.168 Td +/F10_0 9.96264 Tf +(X) 14.3861 Tj +19.899 0.01801 Td +/F28_0 20.6626 Tf +(i) 6.90131 Tj +26.8003 0.01801 Td +/F13_0 20.6626 Tf +(=1) 24.3199 Tj +55.287 17.001 Td +/F19_0 24.7871 Tf +(f) 11.9474 Tj +74.025 49.698 Td +/F10_0 9.96264 Tf +(0) 8.71731 Tj +74.025 32.166 Td +(B) 8.71731 Tj +74.025 26.181 Td +(B) 8.71731 Tj +74.025 20.205 Td +(B) 8.71731 Tj +74.025 13.833 Td +(@) 8.71731 Tj +82.737 17.001 Td +/F22_0 24.7871 Tf +(cos) 30.3146 Tj +117.216 49.698 Td +/F10_0 9.96264 Tf +(0) 8.71731 Tj +117.216 32.166 Td +(B) 8.71731 Tj +117.216 26.181 Td +(B) 8.71731 Tj +117.216 20.205 Td +(B) 8.71731 Tj +117.216 13.833 Td +(@) 8.71731 Tj +127.134 33.768 Td +/F22_0 24.7871 Tf +(2) 11.3525 Tj +138.486 33.768 Td +/F19_0 24.7871 Tf +(i) 8.27889 Tj +152.273 33.768 Td +/F25_0 24.7871 Tf +(\241) 19.2596 Tj +177.041 33.768 Td +/F22_0 24.7871 Tf +(1) 11.3525 Tj +Q +3578 270 613.17 4.0498 re +f +q +[10 0 0 10 0 0] cm +[1 0 0 1 0 0] Tm +0 0 Td +[1 0 0 1 375.579 3.97798] Tm +0 0 Td +/F22_0 24.7871 Tf +(2) 11.3525 Tj +11.3525 0 Td +/F19_0 24.7871 Tf +(n) 14.4757 Tj +44.7751 49.698 Td +/F10_0 9.96264 Tf +(1) 8.71731 Tj +44.7751 32.166 Td +(C) 8.71731 Tj +44.7751 26.181 Td +(C) 8.71731 Tj +44.7751 20.205 Td +(C) 8.71731 Tj +44.7751 13.833 Td +(A) 8.71731 Tj +53.4961 49.698 Td +(1) 8.71731 Tj +53.4961 32.166 Td +(C) 8.71731 Tj +53.4961 26.181 Td +(C) 8.71731 Tj +53.4961 20.205 Td +(C) 8.71731 Tj +53.4961 13.833 Td +(A) 8.71731 Tj +Q +Q +Q +showpage +%%PageTrailer +pdfEndPage +%%Trailer +end +%%DocumentSuppliedResources: +%%+ font VWGKMN+CMMI12~1b +%%+ font VTBQKO+CMSY10~18 +%%+ font GMDPHN+CMR17~15 +%%+ font HKDPOA+CMMI12 +%%+ font QPMPZX+CMSY10 +%%+ font FMXHGQ+CMR17 +%%+ font LKHKAT+CMEX10 +%%EOF diff --git a/Master/texmf-doc/doc/english/mathmode/exscale.pdf b/Master/texmf-doc/doc/english/mathmode/exscale.pdf Binary files differnew file mode 100644 index 00000000000..3c674f79488 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/exscale.pdf diff --git a/Master/texmf-doc/doc/english/mathmode/node.eps b/Master/texmf-doc/doc/english/mathmode/node.eps new file mode 100644 index 00000000000..f5e247c0192 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/node.eps @@ -0,0 +1,585 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 102 487 491 710 +%%HiResBoundingBox: 102.3 487.6 490.902 709.3 +%................................. +%%Creator: ESP Ghostscript 815 (epswrite) +%%CreationDate: 2005/07/01 12:42:39 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +% This copyright applies to everything between here and the %%EndProlog: +% Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved. +%%BeginResource: procset GS_epswrite_2_0_1001 +/GS_epswrite_2_0_1001 80 dict dup begin +/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch +4 index eq and{ pop pop pop}{ PageSize dup 1 +5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec} +{ pop/setpagedevice where +{ pop 1 dict dup /PageSize PageSize put setpagedevice} +{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat +setpage}if}ifelse}ifelse}ifelse} bind def +/!{bind def}bind def/#{load def}!/N/counttomark # +/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}! +/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}! +/w/setlinewidth #/J/setlinecap # +/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat # +/m/moveto #/l/lineto #/c/rcurveto # +/p{N 2 idiv{N -2 roll rlineto}repeat}! +/P{N 0 gt{N -2 roll moveto p}if}! +/h{p closepath}!/H{P closepath}! +/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}! +/re{4 -2 roll m exch dup lx exch ly neg lx h}! +/^{3 index neg 3 index neg}! +/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}! +/q/gsave #/Q/grestore #/rf{re fill}! +/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}! +/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}! +/|{exch string readstring |=}! +/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}! +/@/currentfile #/${+ @ |}! +/B{{2 copy string{readstring pop}aload pop 4 array astore cvx +3 1 roll}repeat pop pop true}! +/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}! +/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}! +/Ic{exch Ix false 3 colorimage}! +/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>> +/CCITTFaxDecode filter}!/FX{<</EndOfBlock false F}! +/X{/ASCII85Decode filter}!/@X{@ X}!/&2{2 index 2 index}! +/@F{@ &2<<F}!/@C{@X &2 FX}! +/$X{+ @X |}!/&4{4 index 4 index}!/$F{+ @ &4<<F |}!/$C{+ @X &4 FX |}! +/IC{3 1 roll 10 dict begin 1{/ImageType/Interpolate/Decode/DataSource +/ImageMatrix/BitsPerComponent/Height/Width}{exch def}forall +currentdict end image}! +/~{@ read {pop} if}! +end readonly def +%%EndResource +/pagesave null def +%%EndProlog +%%Page: 1 1 +%%BeginPageSetup +GS_epswrite_2_0_1001 begin +/pagesave save store 197 dict begin +0.1 0.1 scale +%%EndPageSetup +gsave mark +Q q +0 0 250000 0 0 250000 ^ Y +K +1023 7011 87 79 /3D +$C +4r[W/6*`a+_1T$$L(;TB$g8FO"s4<JpgNmnID5Zohf&J.pA`nI^\@cCs1c>Ks8W-!rHeMDdf9/N +lg(aW]e<YD]e5XEKXqPE\3X(?YX)25#0IKTJ7P8V9SUp(~> +, +1110 7011 35 82 /6E +$C +4rKbRBS-J(gAh3Qs8W-!s8W-!s8W,b=n'a^GW[#X%gS0qnt!W-TA=qgm6_3~> +, +1151 7010 48 56 /3I +$C +22$Q(`F/uW3Y%]AF?k^E":a;okrtT4hOdNmo\];pK<P9hs8RIuUjq&9O8WG>hS3oG<pOO<-uCI= +'!Y9MK*i#$~> +, +1225 7011 76 79 /6I +$C +4pq)e9#tD`"qJ^.)mG.6@mJl)iP+2frP&:2hr"J6s8JAbdf2t:f;6=lKX`>L@C$MI//Aa$OS+CF +LV^^^Dng5JJ+ipBs8W,q?iNdt0"im&6<k/#6NSZ&Oo\m:))<.&!!~> +, +1304 7011 6E , +1338 7011 63 55 /3M +$C +4pDMuO!k&1JqahF>&-o[n,NFfs8W-!s8W-!s8W-!s8W-!s8KY)=DL;In*Dm2_[AX:0jW`)6,QNB +T](S0"r%~> +, +1406 7010 56 83 /6M +$C +.E!Xt5[Fp3E,^G^V[f4;&705m";oPqL,fCfR\fbTlhrL:f3eR0s8W-!s*t(I^]2'_s6[#Wp=APH +Cc/X:_1Y6!@^oicf-SAqs8W-!s8U]eA./b7-4^?ETu#[V~> +, +1458 7010 62 55 /3Q +$C +.Kqj]5iCT+#=62TK;SpG+T1:`TRjUV%JjP55CGcrs8W-!s8W-!s8W-!s8W-!s8W-!qYb05TkAn- +5\Ku~> +, +1518 7011 3M , +1586 6985 53 81 /6Q +$C +3erq(a?\\h#TYr9L_6E'3&a*RLS3LVH@7a,^Y\^'^Mg^<>@=n]!+OV$2!e0m,teSs_.5AJA3jm0 +^$XR`DV^CZ)[?X0+a>t4#3e'<\kUVfdVo!JJ,[4_YQ'*Kql]gmj>IpbXfH3S$H.N#(ardf\<$~> +, +1646 7010 38 56 /3U +$C +22O&UL+s2]P7Id8cu3!_p$'6WpKkV:HAG1tY`pG+&qm5N$C(c\;P:7m/R_Q)0BmtiYH+l'g\TZ/ +$n[2L(u^Q_n6gt~> +, +1693 7010 3I , +1737 7011 3M , +1805 7010 3I , +1850 7011 45 55 /6U +$C +4;j_.#5WrU%;Pb>s8W-!s8W-!s8W,VhT??38(4TB=CF#$6QY1\4,7P\n8Ql:@6a~> +, +1895 6985 6Q , +1947 7011 6E , +1989 7010 3I , +2063 7011 6E , +2096 7011 98 55 /3Y +$C +4rHkC/Dt+=:]qd@3=H1J&7C+tdnOV)]mB_Ys8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,u\nf(: +o[?G97rf3ZlGHZRHjF,s9GgEW0ZOE4WR*&-W&m;D3+t"=i5$-0^]~> +, +2217 7011 76 79 /6Y +$C +.K`Jf&/^$B5rPil?iU0+s8W-!s8W-!s8W-!s8W,pqZ[#Ns8VOpmpGNfdb_G%\HL=gM#[G~> +, +2287 7011 6U , +2336 7074 43 11 /4C +$C +-R,(S0V7^$J,emnBrarn~> +, +2335 7010 53 56 /7C +$C ++Mp`i@LtLb_B>H6&3!195rVBH]dEDpDO9ff>Q$4arH8)=rI=kDqu)#HrRY9*>BSNN<pJpR>7;fp +"^o.p@MC[.'S?\~> +, +2387 6985 61 81 /4G +$C +4;kjAL4QR:Xa=FTs8W-!s7>2/5kmY;*[H4(6&1+4ds?F$X6oqrs*akGrP/C3s8W-!p&FtDs0&T; +?.RSq<'uZ_8pCVL_Y,H"W&mh!T](S7(f50ZTE~> +, +2447 7011 51 82 /7G +$C +4q0\H%?SCn>5#`2s8W-!s8W-!s8W-!s8SLAQi:b,s8VurrVn>DKHEtTD*MlC.h,pEYb8jq6@]~> +, +2494 7010 46 56 /4K +$C +.E$f\^7bc<_@E+tH_LX?cld6mkU,roS'uJO[nkS0])V*rs1eQjjI'::VgiF<[p*'b]!dlYPVCOj +:r7hl%#!+~> +, +2539 7011 63 82 /7K +$C +4;gY>a+FL'-nmp&>&3i4^]4?6s8W-!s8W-!s8W-!s8W-!s8)/mn(QhFm4Q:__1]EBCUM&b0XrgH +s8W-!s8U]eB7PoVi:C(/n9=~> +, +2607 7010 3I , +2652 7011 3M , +2712 7011 3Y , +2813 7010 7C , +2873 7010 6M , +2933 7010 3I , +2978 7011 36 82 /4O +$C +1CVJF%@.D:2=5nns8W-!s8W-!s8W-!s8W-!s8W-!s8VrkoG8P/JAfqQ%j;o6~> +, +3012 7011 4O , +3081 7010 3U , +3128 7010 3I , +3172 7010 38 70 /7O +$C ++pEW0SHhr45r%='mA0N"s8W-!s8W-!s8W-!s8VoabkJb*+'64jmsf]AhXC~> +, +3214 7011 47 54 /4S +$C +-D7F,q]S:CKBtbXhm^@;pM[Oq\8C[-pNq8#^#%W7]6E)CmbGb[qgJG1]>!`NiP$sp^]~> +, +3259 7010 7O , +3329 7010 3U , +3368 7011 6E , +3410 7010 4K , +3454 7011 7K , +3550 7010 50 56 /0D +$C +-lGcV5f*alV[98VFRFcV62ATK_?MDL6)VGh^;'^Bs*oIoIJ\H,h[D[cHnb>(n6th&nAbch]ZkDH +o_O(;s'NOlol[`E_H%'k$re'?A1;H~> +, +3595 7010 3Q , +3663 7010 3U , +3730 7011 7G , +3778 7010 7C , +3830 7011 4O , +3872 6985 6Q , +3932 7010 3I , +3976 7011 3M , +4044 7010 6M , +4104 7010 3I , +4149 7011 3M , +4238 7011 6Y , +4311 7010 3I , +4356 7011 6E , +4389 7011 4O , +4431 7010 3I , +4476 7011 3M , +4572 7011 4S , +4617 7010 3Q , +4685 7010 3U , +4732 7010 0D , +4777 7011 3Y , +4878 7034 31 8 /4W +$C +/fDG(J,~> +, +1023 6867 3Y , +1125 6866 3I , +1170 6867 3M , +1238 6866 20 56 /0H +$C +-oatSY5de;W+nQss8S<'-UH@6okMu6~> +, +1208 6630 49 46 /5A +$C +-,MqMKH),n#>UgNFT"F"e,H!>rn$kWYA;k"C=T7k6OFZ,@%[~> +, +1324 6622 6M , +1384 6622 3I , +1429 6623 3Y , +1561 6621 79 83 /0L +$C +,!_:o%H)fR",&tc*<HH(";l4lDA$C):"!pCF`*CbS,F]"H@"G>\,'1`ot>e>J,f2l^]4?6s8W,n +Xfqd%fCl\Wrn:_mD/WW_e[2OI.qr3[g/cY1PW",t_GJ,U.gBZ(L*8j7K*<Gan,~> +, +1639 6622 61 83 /5E +$C +.0@REd0(F3i=Ns1TKq<9(j^*ppA=aSqu:U6qu>RRs*t(KqZ$T[J$8]Ug?gJpd_cB%+Q8%E?*;dp +L:[hJ(Bt8.s8W-!s8@<\E!X)t6O=!M_;G~> +, +1707 6622 3I , +1752 6623 6U , +1799 6623 59 82 /0P +$C +,DK@Z1$8Wu0MoRi'qj0\4obQ^s8W-!s8W-!s8W-!s8W-!s8W-!s8W,u7g2-TcliZ.p](9ns8VQf +p\46MmL]6L>HRk+[>#UPOI:h7GVURI~> +, +1865 6686 4C , +1865 6622 0D , +1918 6622 4K , +1963 6623 7K , +2031 6622 3I , +2076 6623 3M , +2144 6622 0D , +2189 6623 3M , +2249 6622 7O , +2290 6622 3I , +2335 6623 6E , +2369 6623 4O , +2410 6606 20 29 /5I +$C +5,mMqL@*a)DVqr%][<Z$WrHF,X]SC~> +, +1208 6386 5A , +1324 6378 6M , +1384 6378 3I , +1429 6379 3Y , +1553 6378 88 80 /0T +$C +.U@7(qX1u!Vs44We+>p2p?@%up%7'idVncIr@bX_Xo=[AV=s/'drkP0^X@&mS,U".qG$sUgSOW. +J*k\_dXTj4ICfA<ga8O6_$:*/WE;@~> +, +1631 6378 7C , +1683 6379 4O , +1717 6378 3Q , +1777 6379 3Y , +1879 6378 3I , +1923 6379 3M , +1991 6378 0D , +2036 6379 3M , +2096 6378 7O , +2138 6378 3I , +2183 6379 6E , +2216 6379 4O , +2255 6362 5I , +1486 5930 86 81 /5M +$C +/dMDs5]Qu8gkc);*oZm4^>$9omI.Z8rU'(Is0hCis1[mkU]%\$gU6SGqg\SECO^q\rUM.V_=mVP +hgP7rJ)>Gp5C]kHGQ7X9s8CdRs*`MtG+5WK-:!1d(`jWsJ,~> +, +1612 5946 81 27 /0X +$C +2@##8[3,GJC_%%PC&~> +, +255 230 0 rG +1732.9 5960.84 0 121.69 258.05 0 0 -243.37 ^ f +K +1767 5929 54 54 /5T +$C +,RfV[5f+!BBK@C#&KU'X_kuZ&dVc2UVU`8_qKD0(J*ke$s*+G9me;Loqu>Ke^\upaqmZRn]>+5m +DVop#[-uc:UCXfBDOq\RC;WS"$rFhK$n)~> +, +1822 5911 42 36 /1E +$C +,6n>]';@[4K6hIF8\Y/<IJroLpA]".rnlK.gu&+uh<P#WX6Y)@>7Ga*XZS;+J,~> +, +1877 5930 80 85 /5X +$C +-D7$-#)i4<%Rl!]_?Q^6]ALAA^U:gpol&`:htqlRrP-mtIJe<'=cL2id_ENqqgJG;pY/p'qtodT +pYXkN[p/=i^Mi"ZIFiU[^V9^Ep-4%Arr2ZcTE~> +, +2021 5921 81 78 /1I +$C +-!`b8s8W-!s8W-!s8W,sfH(@p.=_Bts8W-!s8W-!s8Vsm~> +, +191 G +2136.1 5960.84 0 121.69 541.55 0 0 -243.37 ^ f +K +2196 5957 79 5 /6D +$C +4pR+?[/~> +, +2315 5929 5T , +2370 5896 48 72 /1O +$C +-R_:0U3QCgmqptL_d%WIn)&WlJ,ep9rP/BAs7ZKl7KSJ(;A]',rnmaIG<t]2mb>2:<N';u~> +, +2432 5930 5X , +2512 5973 41 53 /6H +$C +4q1lUp?uSu\(g7.[r(O"K5TMW%c+aD[pe%bmI'lGRQF;@s8(t1$i\S`gIl6b#t"n0YmM=E@%[~> +, +2555 5953 40 80 /1T +$C +1[4f*g]$*>rP*dXJ(s_T\*q(MqgSG9rV,^ZDr6$$pAMbnqsW;=hm`R!II09~> +, +2596 5971 42 55 /6M +$C +,6CW5`$"9(D@dr.TM<jQ:I2J%hr!>g>?Li*?C%QgV$%L`$034jDA[QkIG](#ds?MYqU]G#Wo%YD +%4_Vo:rFb9:]~> +, +2707 5921 1I , +255 0 r5 +2821.31 5960.84 0 121.69 633.01 0 0 -243.37 ^ f +K +2882 5957 6D , +3002 5929 5T , +3057 5911 39 36 /1Z +$C +2$jCOF+bPGbW6"KU^TCF:u7hQX`=C>qu,Drk,3&$Dte1Yp)&$klki>3W+l_T~> +, +3111 5987 62 54 /6S +$C +4q5-;OdGDUfJd[7]sd=A\$pP;hefuR\$pSK]tW.R\%?hNgUD(V]6<SaFS+>"HZ-CJ[bgJ^D8!Ee +lo+@f_7*nO~> +, +3181 5967 23 80 /2E +$C +$DAqKWD_8\;Y7XPldGIXYLfuX<WE+!s8W&ls1dI+h>P+#g\1TXGMTlSmDEf~> +, +3207 5987 6S , +3277 6005 54 4 /6X +$C +0FCeQTE~> +, +3343 5987 31 53 /2I +$C +0H$HQ#n/Kes8W-!s8W-!s8W-!s7q<<,Os"[_;XAA~> +, +3385 5967 20 80 /7B +$C +-GJm"G4"/CmG%@5^MiQ;pYWaCrql`qs8K)!f<<f/X05f,oXu_R[9?P/:g/A~> +, +q[301.2 0 0 -4.8 3112.68 5957.68]concat +1 1 false[1 0 0 -1 0 0]@X +imagemask +!!~> +Q +3171 5886 63 57 /2P +$C +4:@8PU8bbgLeIr+R_.Bog[3V[s0p`igT,cbq_4#;rOTK;hg^'^rOTK;hf&J$rOTK;hf&IRqS0`B +m<A~> +, +3242 5910 24 40 /7I +$C +/e.D<gAh3Qs8W-!s8W-!jDse:#mZ6@J,~> +, +3272 5895 33 60 /2U +$C +4al5BqnDOnIG]8G^@1Ifhfnt3n*U)2GPf,C]D^W2pAWq~> +, +3309 5909 35 41 /7N +$C +3f*u*IgDS#";l4oFKV,$qsNeDZ0K&hWBpr7%tu=P(j><7qjK^<s8@(@]4kA$PVELR'E~> +, +3484 5921 1I , +0 255 r3 +3598.91 5960.84 0 121.69 677.42 0 0 -243.37 ^ f +K +3659 5957 6D , +3778 5929 5T , +3833 5911 37 36 /3A +$C +3XGpTF+bPHUS'm/S#5$]qqKupG.=Y_A/KSe$c5lA//8aSKrl@JT==9*4)Vq=XAh%c'E~> +, +3897 5967 2E , +3922 5987 2P , +3993 6005 6X , +4051 5987 6H , +4094 5987 6S , +4164 5967 7B , +4190 6014 34 40 /0E +$C +4pF0^hT]*Ug[3a5_qPX4Fre2<loT[Qn*QOV5QB\BV>[d0Q*dVHPVELR'E~> +, +q[343.2 0 0 -4.8 3891.48 5957.68]concat +1 1 false[1 0 0 -1 0 0]@X +imagemask +!!~> +Q +4029 5889 2P , +4305 5921 1I , +0 255 r6 +4419.71 5960.84 0 121.69 194.04 0 0 -243.37 ^ f +K +4454 5930 5M , +4534 5897 43 50 /3K +$C +-D8ENK>7ECrnlmoC`rQbU3Ic5)mN-2o\XQ\hqrd)hqn8/^V0TjhqmhZpK,+Q^?XLCL6gAE[OI*@ +(f8'X-i~> +, +4778 5909 33 102 /0O +$C +#sr>m<2icl8sLl*[9?S\BiiaT]mVP@WrMDa^T[\;s8W,fs51TjqtKj@rP*d;hm[M#[sN;cgU@XH +Yi3&$~> +, +4825 5930 36 81 /3O +$C +0F`<#CkDn+f>%@cs8W-!s8W-!s8W-!s8W-!s8W-!bHD@kQ/R`E*Zc@D*Zc@D~> +, +4877 5909 31 101 /0S +$C +,Q#B5mFZULgUD(V^"^9gmea`mIJ`L%hgbV%s1eU6s8)`0lhsoNqHm7RX/bHNX/].,9!kQqTV3i7 +(8(~> +, +1208 5396 5A , +1324 5388 56 83 /6M +$C +.E!Xt5[Fp3E,^G^V[f4;&705m";oPqL,fCfR\fbTlhrL:f3eR0s8W-!s*t(I^]2'_s6[#Wp=APH +Cc/X:_1Y6!@^oicf-SAqs8W-!s8U]eA./b7-4^?ETu#[V~> +, +1384 5388 3I , +1429 5389 3Y , +1561 5387 73 83 /0U +$C +,!b^,$c)ps%M1Tf1_Al'!X")]0^'WsPB7@RPB;G!S#"jel)M-^I4n7i?g>E+9E5%ls8Drs^Y^NK +rV'[RqV1l$qV,5&[C3Nl[MITLCCDo*(b@EN,7JP4C1\;1K-4MpM1T[~> +, +1640 5388 7C , +1692 5388 3Q , +1752 5389 4O , +1793 5388 7C , +1845 5389 3Y , +1939 5388 5E , +2007 5412 4W , +2039 5389 89 81 /3U +$C +4phQ,1jCb`Mh6Zp@9RF=Y4_[7f(HcAIbf.U?#T*`hR9nqXcHf?Z=t-BYH@OlIFA,C^V8rN\mO/m +pY@LW9D_?\qka7fIq`9/?g@L%^%He\?M]0~> +, +2125 5389 3M , +2185 5388 7O , +2227 5388 3I , +2271 5389 6E , +2305 5389 4O , +2344 5372 5I , +1208 5152 5A , +1324 5144 6M , +1384 5144 3I , +1429 5145 6U , +1507 5143 56 83 /0Y +$C +4W;3.(h_cZV?f:TV[inL_@>H.o\Qa7H@9,6hR[(*rkG:9Qc1H*Q"a83V$fm.KV9k&&qm25:kG@> +:fJ2F.LT4[[7Gl&qWlbb<W9bEp$9?Xf%<UKm;+Jb(b@Dp%'7>QiIZ;0'!)~> +, +1565 5119 62 80 /3Y +$C +3Xu^?KAA]ZIs+05L'ckqmJDA0pAOa[J%G+#FnGVnj='k+hd(.r>LusN9CGLQ8\aSlHKtLoIC`eM +2u6m!Qg_U@h/8hj0S>$D^7k<~> +, +1625 5145 98 55 /3Y +$C +4rHkC/Dt+=:]qd@3=H1J&7C+tdnOV)]mB_Ys8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W,u\nf(: +o[?G97rf3ZlGHZRHjF,s9GgEW0ZOE4WR*&-W&m;D3+t"=i5$-0^]~> +, +1718 5145 3Y , +1820 5144 3I , +1865 5144 7O , +1898 5145 6U , +1938 5145 6E , +1979 5144 3I , +2032 5144 3I , +2077 5145 3M , +2145 5144 3I , +2190 5145 6U , +2235 5119 6Q , +2287 5145 6E , +2329 5144 3I , +2381 5128 5I , +1208 4909 5A , +1324 4901 38 56 /6S +$C +22O&UL+s2]P7Id8cu3!_p$'6WpKkV:HAG1tY`pG+&qm5N$C(c\;P:7m/R_Q)0BmtiYH+l'g\TZ/ +$n[2L(u^Q_n6gt~> +, +1371 4901 7C , +1429 4900 80 56 /1C +$C +.a\;t>'JPgp"e6Rf(QiBrFt.oKHDBJl!O0dV0.:F[^So5[]fP=:%.bd:"T&ehfQGZXjt#Un(@&n +5C9TuVu>-nf6,tBJ%G*EY.rSlI9sL54+nG9_)_c+(f0W~> +, +1507 4902 6E , +1549 4901 3I , +1630 4901 3I , +1675 4902 6E , +1709 4902 3M , +1777 4901 3I , +1821 4902 3Y , +1944 4902 70 79 /4C +$C +4q2s;"lR4#[I&JDs8W-!s8W-!bC]MNfU`Ta%jAh$R_aF^p@rR8g])3j^]2'`s8W,t0E7mJQX6"O +V,3K]'f(:`KI@t@_,DM[TE~> +, +2017 4901 0D , +2069 4901 0D , +2114 4902 6U , +2154 4901 5E , +2214 4902 6E , +2247 4902 4O , +2289 4901 6M , +2341 4901 3Q , +2401 4902 3M , +2469 4876 6Q , +2529 4901 6S , +2568 4901 5E , +2636 4901 3I , +2681 4902 6E , +2714 4901 7O , +2748 4902 6U , +2795 4901 0D , +2848 4876 6Q , +2907 4901 19 13 /1G +$C +1al.ArB@FP>)!^~> +, +63 G +1849.37 6147.28 12.45 -34.87 12.45 34.87 -12.45 -13.95 f +4.98132 w +1905.19 6347.74 m +0 -80.16 -43.37 -155.16 -43.37 -214.4 c +S +2452.51 6145.88 -15.85 -33.46 33.46 15.85 -18.66 -1.05 f +2437.37 6662.53 m +184.29 0 129.6 -419.8 14.09 -535.32 c +S +3150.16 5774.4 -12.45 34.87 -12.45 -34.87 12.45 13.95 f +2371.25 5428.93 m +286.64 0 766.45 93.7 766.45 359.41 c +S +3949.95 5774.4 -12.45 34.87 -12.45 -34.87 12.45 13.95 f +2407.88 5173.23 m +554.96 0 1529.63 81.08 1529.63 615.12 c +S +4529.07 5774.4 -12.45 34.87 -12.45 -34.87 12.45 13.95 f +2933.17 4929.63 m +606.81 0 1583.45 272.84 1583.45 858.72 c +S +cleartomark end end pagesave restore showpage +%%PageTrailer +%%Trailer +%%Pages: 1 diff --git a/Master/texmf-doc/doc/english/mathmode/node.pdf b/Master/texmf-doc/doc/english/mathmode/node.pdf Binary files differnew file mode 100644 index 00000000000..d3d448e9735 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/node.pdf diff --git a/Master/texmf-doc/doc/english/mathmode/runLaTeX b/Master/texmf-doc/doc/english/mathmode/runLaTeX new file mode 100644 index 00000000000..3253d306df4 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/runLaTeX @@ -0,0 +1,8 @@ +#!/bin/sh +latex Mathmode.ltx +latex Mathmode.ltx +bibtex Mathmode +makeindex -s Mathmode.ist Mathmode.idx +latex Mathmode.ltx +dvips Mathmode.dvi +ps2pdf Mathmode.ps diff --git a/Master/texmf-doc/doc/english/mathmode/runVTeX b/Master/texmf-doc/doc/english/mathmode/runVTeX new file mode 100644 index 00000000000..a104575bcc5 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/runVTeX @@ -0,0 +1,6 @@ +#!/bin/sh +vlatex Mathmode.ltx +vlatex Mathmode.ltx +bibtex Mathmode +makeindex -s Mathmode.ist Mathmode.idx +vlatex Mathmode.ltx diff --git a/Master/texmf-doc/doc/english/mathmode/showexpl.cfg b/Master/texmf-doc/doc/english/mathmode/showexpl.cfg new file mode 100644 index 00000000000..bead32fe961 --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/showexpl.cfg @@ -0,0 +1,67 @@ +% config file for showexpl.sty +% +% Copyright Herbert Voss, 2005 +% Licence: LPPL. + +\ProvidesFile{showexpl.cfg} + [2005/06/30 v0.02 Definitions for the showexpl package (hv)] +% +\definecolor{hellgelb}{rgb}{1,1,0.85} +\definecolor{colKeys}{rgb}{0,0,1} +\definecolor{colIdentifier}{rgb}{0,0,0} +\definecolor{colComments}{rgb}{1,0,0} +\definecolor{colString}{rgb}{0,0.5,0} + +\lstset{% + preset=\centering,% + rframe={},% + language=[AlLaTeX]TeX,% + float=hbp,% + basicstyle=\footnotesize\ttfamily,% + identifierstyle=\color{colIdentifier},% + keywordstyle=\color{colKeys},% + stringstyle=\color{colString},% + commentstyle=\itshape\color{colComments},% +% columns=flexible,% +% columns=fullflexible,% + columns=fixed, + tabsize=4,% + frame=single,% + extendedchars=true,% + showspaces=false,% + showstringspaces=false,% + numbers=left,% + numberstyle=\tiny\ttfamily,% + breaklines=true,% + breakindent=10pt,% + backgroundcolor=\color{hellgelb},% + breakautoindent=true,% + captionpos=t,% + xleftmargin=1em,% + xrightmargin=\fboxsep,% + numbersep=1em,% +% xrightmargin=-1cm,% +% relwidth=0.5,% +% columnsep=10pt% +} +\lstnewenvironment{showexample}[1][] +{% + \@temptokena{#1}% + \begingroup + \advance\c@ltxexample\@ne \advance\c@lstlisting\@ne + \expandafter\lstset\expandafter{\SX@explpreset,#1}% + \edef\x{\endgroup + \def\noexpand\SX@codefile{\SX@codefile}% + \def\noexpand\SX@graphicname{\SX@graphicname}% + \def\noexpand\SX@graphicparam{\SX@graphicparam}}% + \x + \xdef\SX@@explpreset{\the\@temptokena,codefile=\SX@codefile, + graphic={[\SX@graphicparam]{\SX@graphicname}}}% + \setbox\@tempboxa=\hbox\bgroup% Warum noetig? + \lst@BeginWriteFile{\SX@codefile}% +} +{% + \lst@EndWriteFile\egroup + \SX@put@code@result +} +\renewcommand*\SX@Info{}% diff --git a/Master/texmf-doc/doc/english/mathmode/styles.eps b/Master/texmf-doc/doc/english/mathmode/styles.eps new file mode 100644 index 00000000000..c0aba03da6e --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/styles.eps @@ -0,0 +1,7360 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 0 0 344 254 +%%HiResBoundingBox: 0.787891 0.800000 343.700000 253.127734 +%......................................... +%%Creator: ESP Ghostscript 815 (epswrite) +%%CreationDate: 2005/07/01 10:36:53 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +% This copyright applies to everything between here and the %%EndProlog: +% Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved. +%%BeginResource: procset GS_epswrite_2_0_1001 +/GS_epswrite_2_0_1001 80 dict dup begin +/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch +4 index eq and{ pop pop pop}{ PageSize dup 1 +5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec} +{ pop/setpagedevice where +{ pop 1 dict dup /PageSize PageSize put setpagedevice} +{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat +setpage}if}ifelse}ifelse}ifelse} bind def +/!{bind def}bind def/#{load def}!/N/counttomark # +/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}! +/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}! +/w/setlinewidth #/J/setlinecap # +/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat # +/m/moveto #/l/lineto #/c/rcurveto # +/p{N 2 idiv{N -2 roll rlineto}repeat}! +/P{N 0 gt{N -2 roll moveto p}if}! +/h{p closepath}!/H{P closepath}! +/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}! +/re{4 -2 roll m exch dup lx exch ly neg lx h}! +/^{3 index neg 3 index neg}! +/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}! +/q/gsave #/Q/grestore #/rf{re fill}! +/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}! +/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}! +/|{exch string readstring |=}! +/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}! +/@/currentfile #/${+ @ |}! +/B{{2 copy string{readstring pop}aload pop 4 array astore cvx +3 1 roll}repeat pop pop true}! +/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}! +/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}! +/Ic{exch Ix false 3 colorimage}! +/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>> +/CCITTFaxDecode filter}!/FX{<</EndOfBlock false F}! +/X{/ASCII85Decode filter}!/@X{@ X}!/&2{2 index 2 index}! +/@F{@ &2<<F}!/@C{@X &2 FX}! +/$X{+ @X |}!/&4{4 index 4 index}!/$F{+ @ &4<<F |}!/$C{+ @X &4 FX |}! +/IC{3 1 roll 10 dict begin 1{/ImageType/Interpolate/Decode/DataSource +/ImageMatrix/BitsPerComponent/Height/Width}{exch def}forall +currentdict end image}! +/~{@ read {pop} if}! +end readonly def +%%EndResource +/pagesave null def +%%EndProlog +%%Page: 1 1 +%%BeginPageSetup +GS_epswrite_2_0_1001 begin +/pagesave save store 197 dict begin +0.1 0.1 scale +%%EndPageSetup +gsave mark +Q q +0 0 3440 2540 re +Y +K +q[1 0 0 1 0 0]concat +74 71 true[1 0 0 1 -69 -2446]@X +imagemask +z#QMR>z!!3-"rVuou!!!!0s8W,7z!.Y%Ks6p!g!!!'"s8W,sz#QOf(&,uV0!!",@n,NLhJ,fQL5QAM! +!'e7!!!%NK!!!!0huE`Xs82is!!hun!!E8r!!!!"p](:!s53kW!!)os!"]+FzIK0?Ys1eU7!!%HJ +!$D5kz56([Jrr<$!!!")@!'gG_z++O?@rVuou!!!O[!<;rsz%tFZ[qu?]s!!!8>!WW&tz#J^B?p](9o +!!!8>!WVopz#J^HAp](9o!!!,:"98,rz"2G$=n,NFg!!!,:#QO8nz!!!9(n,NFgz#QO8nz!!!9( +n,NFgz#QO8nz!!!9(n,NFgz&-),!z!!!Q0n,NFgz&-),!z!!!Q0n,NFgz&-),!z!!!Q0n,NFgz&-),! +z!!!9(n,NFgz#QO8nz!!!9(n,NFgz#QO8nz!!!9(n,NFgz#QO8nz#J^HAn,NFg!!!8>"98,rz#J^HA +p](9o!!!PF!WVopz&&85Gp](9o!!!PF!WW&tz&&82Fqu?]s!!"+V!<;rsz+2@l+rVuou!!#7!!'gG_z +5JR7`rr<$!!!%Ma!$D5kzs1eUFs*t(L!!*&7!!iP>!!!!"s1eU:s53kW!!E8:!!3,p!!!!(s1eU7 +s82is!"]+F!!%NK!!!!`s1eU75QAM!!.Y$a!!!Q0n,NLhs1eU7"98B$+8e@=!!!$!s8W,o+2@jV +!'gM`s54F'!!!!(s8W+L#J^<>!!%NKqu?i7z"96.:!Pe~> +Q +q[1 0 0 1 0 0]concat +52 45 true[1 0 0 1 -152 -2447]@X +imagemask +!!!Q0z!<<)g!!!!$s8W&u!!!Q0s8RTL!'gGbs53kWJ+*Gfn,NIghuFko!!3+M!"]&/"93lO#Q=]. +rr<$(rr<T/!!!-$J.MVZ!!E8:+8u6?"96.YrVup!s1gks!!!'"i'7,>!!3,X5PtK]!WV(Bqu?]t +s6tO9!!!'"n:1?9!!3,hJ,B9H!WVY=qu?]ts6tO9!!!'"n:1?9!!3,hJ,B9H!WVY=qu?]ts6r8N +!!!'"n3?gN!!3,h5PtK]!WV(Bqu?]ts55!s!!!'"i#hjs!!3,8&,ZD-!WTqGrVup!s*t@R!!!-$ +J-Z&R!!E6$"9/?$#Q=](s*t(Squ?`sJ,g,T!!%N,!$C\1!'frQJ%u$a&,l\2J,fQOs8W&u!!!"K +s6p!g!!!-$!!!!~> +Q +q[1 0 0 1 0 0]concat +91 45 true[1 0 0 1 -209 -2447]@X +imagemask +5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XbD!.XJ<!.XbD!.XbD!.XJ<!.XbD!.XbD!.XJ< +!.XbD!.XbD!.XJ<!.XnH!.XnH!.XJ<!.XnH!.XnH!.XJ<!.XtJ!.XtJ!.XJ<!.XtJ!.XtJ!.XJ< +!.Y"K!.Y"K!.XJ<!.X`n!.X`n!<;Ng!.XaY!<;f/!<:sW!.XUu!<;*;!<:sW"97od!WV-R!WTq8 +5QC6Q"961:#QMR>5QC4;s8RU6s8RTL5QC3ps8N'@s8Duu5QC3Xs82j%s7cQo!<;NgJ%u$as1eU7~> +Q +q[1 0 0 1 0 0]concat +91 45 true[1 0 0 1 -305 -2447]@X +imagemask +5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XbD!.XJ<!.XbD!.XbD!.XJ<!.XbD!.XbD!.XJ< +!.XbD!.XbD!.XJ<!.XnH!.XnH!.XJ<!.XnH!.XnH!.XJ<!.XtJ!.XtJ!.XJ<!.XtJ!.XtJ!.XJ< +!.Y"K!.Y"K!.XJ<!.X`n!.X`n!<;Ng!.XaY!<;f/!<:sW!.XUu!<;*;!<:sW"97od!WV-R!WTq8 +5QC6Q"961:#QMR>5QC4;s8RU6s8RTL5QC3ps8N'@s8Duu5QC3Xs82j%s7cQo!<;NgJ%u$as1eU7~> +Q +q[1 0 0 1 0 0]concat +54 45 true[1 0 0 1 -401 -2447]@X +imagemask +!!E7Oz5QC3Rs7cWps83-%r!39%rt#/-&-(QPO8ntsrr<SUs+!?5!!D-R!'gA]!WVop5PtK]s7cSD +p](<op],g=!!%ND!.XbD!.XbDJ+s!DJ+s"np](:Yp]*PR!!#7Y!'gA]!'g5Y+8c*=5PP3hrVup_ +p](R!!!#7Y!!E8:!'g5Y!WVWh5PP3YJ,B:2p](:9s1gko!!!9(s8Vio!!%NKs7cQo!!E9$p](9o +!!#7Yz!'g5Yz5PP3Y!!!!`p](<l!!#7Y!!3*"!.XbD"93lOJ+s!Gs*t*!n,N^nJ,k)g!!iP>!<;Ng +#QK;Ss53k^s*t.MhuF#^J-5he!!E6$#QK;S"9/?Crr<$"s8W,s!!!"Ks8Vio!!",@s1eU7!!E7O +!!!!~> +Q +q[1 0 0 1 0 0]concat +59 45 true[1 0 0 1 -456 -2447]@X +imagemask +5QCcQ5QCcA5QCcQ5QCcA5QCcQ5QCcA5QCcQ5QCcA5QCcQ5QCcA!.XbD!.XJ<!.XbD!.XJ<!.XbD +!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ< +!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD +!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ< +!.XbD!.XJ<!.XnH!.XJ<!.XnH!.XJ<!.XtJ!.XJ<!.XtJ!.XJ<!.Y"K!.XJ<!.X`n!<;Ng!.XaY +!<:sW!.XUu!<:sW"97od!WTq85QC6Q"96.:5QC4;s8RTL5QC3ps8N'!5QC3Xs82is!<;NgJ)C;,~> +Q +q[1 0 0 1 0 0]concat +58 69 true[1 0 0 1 -520 -2447]@X +imagemask +!!!Q/!<<)7!!%NK_#OGM!!E9$nGiO(!"],0r;Zf4!$D1Bs8W,7!.XbDJ,f9D!<:sW+91g1!WTq8 +&-(Pf"96.:#QN]^"93lO"979Z#QFc(!WV'X&,uV0!<:sW&,uV0!<:sW+8u6?!<:sW+8u6?!<:sW ++8u6?!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_ +!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW+8u6?!<:sW+8u6?!<:sW ++8u6?!<:sW&,lP/!<:sW&,uV0!<:sW#QFc(!<:sW#QK;S!<:sW"93lO!WV'X!WTq8"979Z!<:sW +#QN]^!.XJ<&-(Pf!'g5Y5QBXA!$D4@s8V!W!!iQ(rr:mV!!3-"q#B7P!!%NKi;_^8!!!9(!<:sWz +!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz +!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz"979ZzJ,eF,zJ,eF,zJ,eF,zJ,eF,z+917!~> +Q +q[4.8 0 0 -120 640.28 2531.28]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +73 67 true[1 0 0 1 -707 -2447]@X +imagemask +!!*'!s8W,gzs8W-!s6p!g!!*'!s8W,gzs8W-!s6p!g!!*'!s8W,gz!!3,pz!!!!"s7cQoz!!3,pz +!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz +!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!" +s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,p +z!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQo!!#1_!!3,p!!!7S +4obQ`s7cQo#Cnu<!!3,p!!!7S4obQ`s7cQo#Cnu<!!3,p!!!O[*WQ0@s7cQo%tG]$!!3,p!!!O[ +*rl9As7cQo%tG`%!!3,p!!!O[*rl9As7cQo++PF5!!3,p!!"*k++O=ls7cQo++PG`!!3,p!!#4` ++2@jWs7cQo56)e@!!3,p!!%KK+5d,"s7cQorr<T)!!3,p!!3*"&,ZD.s7cR!rr<T0^]FK1!'gJ` +&-)\0s8W-!rr<T0s8W-!s8W*!&-)\0s8W-!rr<T0s8W-!s8W*!&-)\0s8W-!rVu~> +Q +q[1 0 0 1 0 0]concat +47 45 true[1 0 0 1 -776 -2447]@X +imagemask +!!!9(J,fQLJ,f9D!!E9$rVup/s8W+L!$D4@J%u&6p](i_!<;Ng"7Q?k^]4E1"93lO!;m*%J,fRs +#QFc(!'Uqn!!!!_+8u6?!$36]!!!!-+8u6?!!#7]z5PtK]!!#7]z5PtK]!!%NHzJ,B9H!!%NHzJ,fQK +s8INJs8W,uJ,fQKs8ING!!!-#5PtK]"9(O_!!!-#5PtK]"9(O_!!!9'+8c*=#Q>hE!!!9%+8u6? +#Q,,3!!!Q-&,uV0&,6D0!!",9"93lO+7K=2^]6UW!<:sWJ)C<Vn,WL(!'gAds*t([s8W&u!!E9$ +qu?]ss8V!W!!!Q0!!!~> +Q +q[1 0 0 1 0 0]concat +39 45 true[1 0 0 1 -829 -2447]@X +imagemask +3!'';!'UqnquArGs8RU6s8W,75Q?6ui'7,>#OjtI!!E!\huEfU5JR7!r',]3!<,1_!!*!_!!!#u +4obQ_r]U;^!<,.^!!3']!!!-#!!!!(rVuou+8u6?!WW-!!'gM]!!iQ(quAt]s7cTos8VQjs8W,W +#QOi(^^pJFs*u3ks8E!?s8Vio5QCb6!'gMA!!#7]!!!!`n,NFg5JR7!n3;F'!:W4'!!)LQJ,fW> +++O=ln/m/\!UpW8!!D^$^]4W/#Oh^8n,rXiJ+*I<s8VQg5QCQK!!E8:Du~> +Q +q[1 0 0 1 0 0]concat +36 64 true[1 0 0 1 -875 -2446]@X +imagemask +!!",!!!!'"qu?^%s8Duu&-)Y0!$D1NJ,hh3#J^=(p]J;3J+*Qu!.XJ=huJ8r!Up*hn,`"Ys6p'Y +!<;Nhn,WLX!Up*hn,`"Ys6p'Y!<;Nhn,WLX!Up*hn,`"Ys6p!g!<;Ng!!*&g!!!$!n,NFgs6p!g +!<;Ng!!*&g!!!$!n,NFgs6p!g!<;Ng!!*&g!!!$!n,NFgs6p!g!<;Ng!!*&g!!!$!n,NFgs6p!g +!<;Ng!!*&g!!!$!n,NFgs6p!gs8W-!_#OH7s1n[7s8Tn7s8W,7&-)\0^]XVp!!!$!huE`WJ)C;, +!'fBA!!#7A!!!!@huE`W&)[Ef!"[uf!!!8^!!!!(huE`W#N,R^!!D-Z!!!,Z!!!!$huE`W"5j.Z +!!2!X!!!&X!!!!"huE`W!T3qX~> +Q +q[3093.6 0 0 -4.8 7.88 2412.48]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +52 71 true[1 0 0 1 -68 -2323]@X +imagemask +!!",1#N,R^!<;s%s6p!jp`Bb@n,O!7"3:H2!$?^lkPbG]56(\-p](;C!!#7Q!!)os!$C\1!W2ot ++7K74p](:)n,NRc!!!Q!!!hun!!hun#Oh]n#Oh^(n,NFnn,O!W!!!8n!$C,!!!hun+5d,!#Oh^8 +huE`^n,OQg!!!8n!'fBA!!hun5MuMA#Oh^XhuE`^n,P]2!!!8n!'fBA!!hun5MuMA#Oh^8huE`^ +n,OQg!!!8n!$C,!!!hun+5d,!#Oh^8huE`^n,O!W!!!8n!"\Q!!!hun#Oh]n#Oh]un,NFnn,NRc +!!!8n!!Dur!"\Q!!W2ot&+BQ!rVup?n,NH;!!",1!!#4`!'frQ!$AuVp[A._#N,XGn,NFjr""SP +!!!"KrWhom!!!Q!#Oh]n!!!!(n,NFg!!!8nz!!hunz#Oh]n!!!!(n,NFg!!!8nz!!hunz#Oh]n!!!!( +n,NFg!!!8nz!!hunz#Oh]n!!!!(n,NFg!!!8nz!!hunz#Oh]n!!!!(n,NFg!!!8nz!!hunz&+BQ! +!!!!@n,NFg!!iPnz#QO8n!!!!(s6p!g!!!-$n,NFg!!!!1!!~> +Q +q[1 0 0 1 0 0]concat +40 46 true[1 0 0 1 -123 -2323]@X +imagemask +!!",1!!!$!rVup#p^_lT&)[Q*!$?^khuGtA!,qpe!!"tYqu?^:!VcWp%KlJ+!"K8'!!!6/n,NFn +&)[Ef!tX;i!!=>$!!!!@huE`W+5d,!!'e7!!!#7!!!!!`^]4?75JR7!!'e7!!!#7!!!!!`^]4?7 +5QCc`s$-P`s8P=!!!#5J^]4@a5JR7!IimSK!.Q*K!!%KjhuEb,&)[EfIh1H;!.G1B!!*!'n,NIf +"8Dirquc]o!Vc]n!!2ipqu?ig!.FnMhuGtA#J^<MJ.I/1#N1(3!!3,t!!!!`huE~> +Q +q[1 0 0 1 0 0]concat +35 70 true[1 0 0 1 -167 -2324]@X +imagemask +5QCc!!'gM`^]6V!s1eU7s53kW!.TM!!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!`J,fQL5C`_6 +!'bu6!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!`J,fQL5C`_6 +!'bu6!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!`J,fQL5C`_6 +!'bu6!!#66!!!!`J,fQL5C`_65QCcQ!'gM`n,P]Qs6p!g56(Z`!'^G`!!#4`!!!!`z56(Z`!'^G` +!!#4`!!!!`z56(Z`!'^G`!!#4`!!!!`z56(Z`!'^G`!!#66!!!!@J,fQL++OlP!$?_5^]4n\5JR70 +^d$`W#N.i)!!D.D^]4E)5JR7!p`G"d!.GH/!!",?!!!!$p](~> +Q +q[1 0 0 1 0 0]concat +48 46 true[1 0 0 1 -197 -2323]@X +imagemask +!!E3#!!!!`s1f07!<7W.+8>m9!-ga+"8Dj9Igu_Y!"OG^&+BQ'IKpDA!!iK.+5d,$r!+>%!!E-$ ++5d,"qu\&!!!3!"+5d,"qu\&!!!3!"&+BQ"qu[K!!!3!"#P\9"qu?us!!2ut"8i-"qu?cs!!2ut +!<3$"qu?_H^]F?5!$C\2qu?^%quQ]q!!3,Yqu?]s+926=!!!$!qu?]s!!2ut!!!!"qu?]s!!2ut +!-eJEqu?cq!!2ut"9&9$qu?iu!!2ut"9&9$qu?iu!!2ut"9&9&p](Eo!!Dur!VcX"n,NL)!!hun +!8mhfhuEar!$AuV!'C6G!!!!@JGoNK!!iQ!zJ%u$a~> +Q +q[1 0 0 1 0 0]concat +52 45 true[1 0 0 1 -248 -2323]@X +imagemask +!!!Q)"7Q9j!.XtMs6p!hp]lHOn,NR[!Q4s,!!hE^j8K#Y&&80dqu?^=^]6Ik!!"*k!#t\5!$?^k ++7K715C`_En,NGQJ,g,L!!#66!!hun!'bu6#Oh]n5C`_=n,NGQJ,fiD!!#66!!hun!'bu6#Oh]n +5C`_=n,NGQJ,fiD!!#66!!hun!'bu6#Oh]n5C`_=n,NGQJ,fiD!!#66!!hun!'bu6#Oh]n5C`_= +n,NGQJ,fiD!!#66!!hun!'bu6#Oh]n5C`_=n,NGQJ,fiD!!#66!!hun!'bu6#Oh]n5C`_=n,NGQ +J,fiD!!#66!!hun!'bu6#Oh]n5C`_=n,NGQJ,fiD!!%M!!"\Q!!<7QL+7K7ps*t4On,P]QJ-5i@ +!'gL6"97ij!!%NL!!!!~> +Q +q[1 0 0 1 0 0]concat +25 70 true[1 0 0 1 -303 -2324]@X +imagemask +5QCb65QCb65QCb6!<:sW!.TM!!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6 +!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6 +!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6 +!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6!'bu6 +!'bu6!'bu6!'bu6!.TM!!<7QL5Q?665Q?665Q?66+9-ik!!%NL~> +Q +q[1 0 0 1 0 0]concat +32 62 true[1 0 0 1 -330 -2323]@X +imagemask +!!#66!!*&W!!E"8!!hF!!"ZjR!$Aub!$?^q!'bu<!'bu<!'bu=!'^Gc!'^Gc!.OtN!.OtN!.OtN +!.OtN!.OtN!.OtN!.OtN!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK +!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtKJ,fQHJ,fQH&-)\-"9/?$ +!<3$!!.OtK!.OtK!'^G`!$;1@!$;1@!"T&0!"T&0!"T&0!!`K(!!`K(!!`K(!!`K(!!`K(!!<3$ +!!<3$!!<3$~> +Q +q[4.8 0 0 -240 640.28 2407.68]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +68 71 true[1 0 0 1 -709 -2324]@X +imagemask +s8Vio!.Y%Ki;`iP!!%NKs7$'gp](;Ds8VQns*t(L!<;Ng!WN-"!!#7A!!%HJ!!!!`huEa@z5MuMA +*WQ0?!'fBA!"Ju/!!#7A!!!6(!!!!`huE`^z5MuMA"+U@O!'fBA!!0k8!!#7!!!!&8!!!!`^]4?7 +huE`W5JR7!!8mhW!'e7!!!$s<!!#7!!!!!Y!!!"K^]4?72uipYJ%u$a!#tt=!.Vca!!!u=!!%Ma +!!!!/!!!"K^]4?7#64`(It.M!!!iQ(s8RTL!!!-$s8W+L!!!!$s8W-!J,fQL!Pe[8It.M!!!2!X +!<7QL!!!#W!!*%LzDu]n<J,fQL!,qo<s*t(L!!"tY!<7QL!!!!]!!*%Lz)up!=z!"Ju/rr<$!!!!K/ +!<3$!!!!!(!!*$!z#CljTz!!@`Prr<$!!!!&8!WN-"!!!!"^]FH8z!8mnXz!!)Khrr<$!!!!"<!WE'! +z3!'!Yz!&t#Yz!!!u>rVuou!!!!?!WE'!z%Kl\1z!!`W*z!!!6+rVuou!!!!$KDkiNz"2k*<z!!1"8z +!!!#Zqu?]szj88lWz!-A&<z!!%BDz!!!!`qu?]sz+8c*=z!$D+=z!!!Q-z!!!!0qu?]sz#P\9!z +!!Durz!!!,rz!!!!"p](9oz!VcWpz!!)coz!!!"DzzGQ7^~> +Q +q[1 0 0 1 0 0]concat +71 68 true[1 0 0 1 -783 -2324]@X +imagemask +s8W-!s6p!g!<<*!s8W*!!!%NKs8W-!huE`WJ)C;,J+s!D!$C,!!"]&/!!",!!!!-$!!!!0n,NFg +s*t(L&+BQ!!.Wo,!"\Q!!!#7Q!!!Q!!!!!@p](:!p](9o&,6,)#P\9!!!iE%!!i9!!!!-#!!!9! +!!!!$rr<$$qu?]s!WN-""8i-!!!3+M!!E-!!!!$!J,f]Lzs*t(MrVuou!<9h7!WE'!!!*&7!!3'! +!!!"K^]4E7zJ%u$arr<$!!.Vca!<3$!!!%Ma!!*$!!!!"K^]4B7zs*t(LIt.M!!<7QL!.TM!!!*$! +!!%M!!!!'"!!!"KJ,fQMrVuou5JR7!"8i-!!'e7!!!i9!!!#7!!!!Q!!!!!`^]4@a^]4?7+92B@ +rVuou!$D7@s53kW!!",!!!E-!!!!!@huEaAJ,fQL&+BQ!&)[Ef!"\Q!!!i9!!!!Q!!!!'!!!!!0 +n,NFgrr<$!#P\9!!.TM!!!i9!!!#7!!!!9!!!!!@huE`^p](9o+7K71"8i-!!"\i)!!E-!!!!9! +!!!-!!!!!(qu?^!qu?]s#Q+Q%!WE'!!!E3#!!3'!!!!-#!!!'!!!!!$rVup!rVuou"9&9#!<3$! +!!E3#!!*$!!!!-#!!!$!!!!!$rVuourr<$!"9&9#!.TM!!!E3#!!%M!!!!9%!!!"KJ,fQSqu?]s +It.M!&,6,)!'e7!!$C\1!!#7!!!#7A!!!"KhuEfX^]4@as8W-!rr<$!s8W-!s82is!.Y%Ks8Tk7~> +Q +q[1 0 0 1 0 0]concat +72 72 true[1 0 0 1 -864 -2322]@X +imagemask +!!!-$J,fQL!!!!@s7cQozs8W*!z"93m9^]4?7!"\i)"7Q9j!!",!!!)co!!!!`^]4?uzIfKHK%fcS0 +!<)ru!!@`O!!2ut!!!&X!!!-!zn,NFnp](9o!-eJD#Oh]n!!"tY!"\Q!!!!!=!!!Q!z%KHJNhuE`W +!!`K(+5d,!!!!*$!'fBA!!!!$J,hgLz!Pe\"^]4?7!!0k85JR7!!!!#W!.VcazhuJ8Bz!+5eV^]4?7 +!!$s<J%u$a!!!!Q!.Vcaz0E?U<z!&+D&^]4?7zJ%u$az!.Wo,z!!%N,z!!!"KhuE`WzJ)C;,z!'fBAz +!!#7Az!!!!`n,NFgz5O\XQz!'frQz!!",1z!!!!@p](9oz+8>g9z!"\i)z!!!Q-z!!!!(qu?]sz +#Q=]'!!!!$J-5cNz"+ULQz!!C";rr<$!!!!,:!WN-"!!!!$^]=Cbz"2Fnd^]4?7!!D-ZJ%u$a!!!,Z +!'fBA!!!!$huFkWz"5j.in,NFg!!D]j&,6,)!!!,j!!iE%!!!!$n,NRiz#Oh]orVuou!!i9!!<3$! +!!!9!!!%Ma!!!!0p](:9huE`W&,6,)&+BQ!!$D+=!!iE%!!#7]!!!'!!!!!Zqu?]ss*t(LGl.OA +!'fBA!UtO<!!!Q-!!hFG!!!!$s*u2A*WQ0?!<<*!!"Ju/!!",@qu?s%zs1eU:~> +Q +q[1 0 0 1 0 0]concat +76 68 true[1 0 0 1 -942 -2324]@X +imagemask +s8W-!s*t(L!!*'!s8W,ozs8W-!s8N'!!!!"KhuEfXhuE`W!$C,!!$C\1!!!!@huE`Zqu?]s!"\Q! +!!*$!!!!!0n,NFgIt.M!!"\Q!!!",!!!!!0p](9o&+BQ!!!i9!!!!9!!!!!(p](9o"8i-!!!i9! +!!!'!!!!!(p](9o!<3$!!!E-!!!!"KJ,fQOqu?]s!'e7!!!E-!!!!!@^]4?:qu?]s!$C,!!!3'! +!!!!0n,NFhrVuou!"\i)!!3'!!!!!(p](9prVuou!!iE%!!*$!!!!!$rVuourr<$!!!E3#!!*$! +!!!!"rr<$!rr<$!!!3*"!!%M!!!!!"s*t(LIt.M!!!*%L!!%M!zs*t(LIt.M!!!*&7!!#7!zJ%u$a +5JR7!!!%Ma!!#7!zJ)C;,5JR7!!!#7A!!",!z5MuMA+5d,!!!#7A!!",!z5O\XQ+5d,!!!#7Q!!!Q!z ++7K71&+BQ!!!",1!!!Q!z+7K71&+BQ!!!",1!!!9!z+7K71#P\9!!!",1!!!9!z+7K71#P\9!!!",1 +!!!-!z+7K71"8i-!!!",1!!!-!z+7K71"8i-!!!",!!!!-#z+5d,!!WE'!!!",!!!!'!z+5d,!!WE'! +!!#7!!!!'"z5JR7!!<3$!!!#66!!!$!zIt.M!!<3$!!!%KK!!!$!J,fQLrr<$!!.TM!!!3'!!!!"K +J,fQOqu?]s!.TM!!!i9!!!!"K^]4?Fn,NFg!'e7!!'fBA!!!"KhuElZ^]4?7s8W-!s8N'!!!*'! +s8W,ozJ,fQKs1eU7~> +Q +q[1 0 0 1 0 0]concat +72 68 true[1 0 0 1 -1027 -2324]@X +imagemask +s8W-!s8W+L!<<*!s8W-!J,oWLs8W-!s1eU7J)C;,&-'EF!'fBA!!%N,!!",1!!!!@huEa!n,NFg +#N,R^&+BQ!!!D]j!"\Q!!!!&h!!!Q)zp](:)p](9o!-eJD#P\9!!!#+]!!i9!!!!!]!!!9%z)uosD +qu?]s!"Ju/"8i-!!!!K/!!E-!!!!!(!!!-#z#64`+rVuou!!@`O!WE'!!!!+O!!3'!!!!!"J,fWMz +!Pe[9rr<$-!!'e7!<3$!%KHLe!!*$!!"Ju/?iU3,!!!K/!+5d,s*t(Rz!.TM!#64`(!!%M!!!`K( +!!!"KJ,ffSzJ%u$hz!'e7!#CldS!!#7!!"XS[!!!!`^]6TLz5QCc`J,fQL!$D7@s1eU7!!",@s8Tk7 +!!!!@n,P\gz+7K78^]4?7!"\Q!"2Fm:!!!Q!!!2!X!!!!0n,NIHz&,6,)huE`W!!i9!!+5d,!!!9! +!!$s<!!!!(p](;5!!iQ)#Q+Q%0E<'m!!iE%!&+Bm!!!-!z$ig80qu?]s!"8i-"9&9#!!!E-!!E3# +!!!!-!!!'!z%KHJ0rVuou!"Ju/!WN-"!!!K/!!3*"!!!!/!!!$!z%KHJ/rr<$!!"Ju/!<7QL!!"&? +!!*%L!!!!?!!!"KJ,fQL*WQ0?It.M!!'^G`!.Vca!!%KK!!%Ma!!!'"!!!$!huE`frr<'!s8W-! +s8N'!s8W-!s8W*!!.Y%Ks8W,u~> +Q +q[1 0 0 1 0 0]concat +71 68 true[1 0 0 1 -1106 -2324]@X +imagemask +s8W,uz!<<*!rVuou!!*'!s8DuuzJ+s!Dz!'frQz!!",1z!!!!@n,NFgz&+BQ!z!"\Q!z!!!Q)z!!!!0 +p](9oz#P\9!z!!i9!z!!!9%z!!!!(qu?]sz"8i-!z!!E-!z!!!-#z!!!!$rVuouz!WE'!z!!3'!z +!!!'"!!!i9!!!!"rr<$=z!<3$!$ig8-!!*$!!"8i-!!!$!J,fuXzs*t(Zz!.TM!%KHJ/!!%M!!"Ju/ +!!!"K^]4lFzJ%u%+z!'e7!IfKHK!!#7`s8N'!!!!!`s8W+Lz5QCc`J,fQL!$C,!5C`_6!!",!!"XS[ +!!!!@n,N^/z+7K74^]4?7!"\Q!!Pe[8!!!Q!!!0k8!!!!0p](<Pz&,6,)huE`W!!i9!!+5d,!!!9! +!!$C,!!!!(qu?_9!&+BQ#Q+Q%?iVk\!!iE%!!!!Q!!!-!z2uip\rVuou!&srY"9&9#!!"tY!!E3# +!!!!Y!!!'!z2uipZrr<$!!&srY!WN-"!!"tY!!3*"!!!!Y!!!$!z49,?]rr<$!!'C5]!<7QL!!#+] +!!*%L!!!!]!!!"KJ,fQLHiO-HIt.M!!.4bH!.Vca!!)os!!%Ma!!!-!!!!$!huEa!qu?`ss8W-! +s8Duus8W-!s8W&u!.Y%Ks8W,s~> +Q +q[1 0 0 1 0 0]concat +72 72 true[1 0 0 1 -1184 -2322]@X +imagemask +!!!-$^]4?7!!!!@s82iszs8W+L"98E%"93lni!o_e!"\u-!Vd]9!!",1!!%Bf!!!!`^]4?U56(Z` +It.M!%mL$o!<3$!!!E6$!!3'!!!!'"!!!-!!!!!"s*t(Sp](9o!<7QL#P\9!!!*%L!"\Q!!!!"K +J,g,LzJ%u%+huE`W!.Vca+5d,!!!#7!!'fBA!!!!`^]6UWz5MuN+^]4?7!'fBA5JR7!!!",!!.Vca +!!!!@huJ8Bz+7K8[^]4?7!$C\1J%u$a!!",1!.Vca!!!!`quD5^!!!$!s8V#,^]4?7s8W,gJ%u$a +!<<*!n:0?rz!!%N,z!!!"KhuE`WzJ)C;,z!'fBAz!!#7Az!!!!`n,NFgz5O\XQz!'frQz!!",1z +!!!!@p](9oz+8>g9z!"\i)z!!!Q-z!!!!(qu?]sz#Q=]'!!!!$J-5cNz"+ULQz!!C";rr<$!!!!,: +!WN-"!!!!$^]=Cbz"2Fnd^]4?7!!D-ZJ%u$a!!!,Z!'fBA!!!!$huFkWz"5j.in,NFg!!D]j&,6,) +!!!,j!!iE%!!!!$n,NRiz#Oh]orr<$!!!i9!!<7QL!!!9!!!%Ma!!!!0p](:9huE`W&,6,)&+BQ! +!$D+=!!iE%!!#7]!!!'!!!!!Zqu?]ss*t(LGl.OA!'fBA!UtO<!!!Q-!!hFG!!!!$s*u2A*WQ0? +!<<*!!"Ju/!!",@qu?s%zs1eU:~> +Q +q[1 0 0 1 0 0]concat +84 68 true[1 0 0 1 -1262 -2324]@X +imagemask +s8W,g!WW3"huEcWs8Vips8W,W!!*'!s7cWps8V!W!!%N<!!!$!huE`W!'frQ!!%Maz+7K71!'e7! +!!!!@n,NFg5MuMA!!!Q!!!!!`huE`W!"\Q!!!",!z&,6,)!$C,!!!!!0p](9o+7K71!!!9!!!!!@ +n,NFg!!i9!!!!Q!z#Q+Q%!"\Q!!!!!(qu?]s&,6,)!!!-!!!!!0p](9o!!E-!!!!9!z"9&9#!!i9! +!!!!$rVuou#Q+Q%!!!'!!!!!(qu?]s!!3'!!!!-!z!WN-"!!E-!!!!!"rr<$!"9&9#!!!$!!!!!$ +rVuou!!*$!!!!'!z!<3$!!!3'!zs*t(L!WN-"!!!"KJ,fQMrr<$!!!%M!!!!$!z!.TM!!!*$!zJ%u$a +!<7QL!!!!`^]4?7s*t(L!!#7!!!!"KJ,fQL!'e7!!!%M!z5QCc`s8Tk7!!!!@s8W-!s1eU7!!",@ +s8W-!^]4?7!$C\1!!#7!z+7K71!'fBA!!!!0n,NFg5MuMA!!!Q!!!!!@huE`W!"\i)!!",!z&,6,) +!$C\1!!!!(p](9o+7K71!!!9!!!!!0n,NFg!!iE%!!!Q!z#Q+Q%!"\i)!!!!$qu?]s&,6,)!!!-! +!!!!(p](9o!!E3#!!!9!z"9&9#!!iE%!!!!"rVuou#Q+Q%!!!'!!!!!$qu?]s!!3*"!!!-!z!WN-" +!!E3#zrr<$!"9&9#!!!$!!!!!"rVuou!!*%L!!!'!z!<7QL!!3*"zIt.M!!WN-"!!!"KJ,fQLrr<$! +!!%Ma!!!$!z!.Vca!!*%LzJ%u$a!<7QL!!!$!n,NFhs53kW!<<*!p]:Eps53kWs8W,o!WW3"n,NH< +s8Vips8W,g~> +Q +q[1 0 0 1 0 0]concat +53 68 true[1 0 0 1 -1345 -2324]@X +imagemask +!<<*!p](9ps8W,o!!!$!s8Vio!!!"Kn,NFg!!#7Qz!$C\1z+7K71!!!!0n,NFg!!!Q!z!"\Q!z&,6,) +!!!!(p](9o!!!9!z!!i9!z#Q+Q%!!!!$qu?]s!!!-!z!!E-!z"9&9#!!!!"rVuou!!!'!z!!3'!z +!WN-"zrr<$!!!!$!z!!*%Lz!<7QLzIt.M!!!!"KJ,fQL!!%Maz!.Vcaz5JR7!!!!!`^]4?7!!#7Az +!'fBAz+5d,!!!!!@huE`W!!",1z!$C\1z&+BQ!!!!!0n,NFg!!!Q)z!"\i)z#P\9!!!!!(p](9o +!!!9%z!!iE%z"8i-!!!!!$qu?]s!!!-#z!!E3#z!WE'!!!!!"rVuou!!!'"z!!3*"z!<3$!zrr<$! +!!!$!J,fQL!!*%Lz!.TM!zIt.M!!!!"K^]4?7!!%Maz!.Wo,zs6p!g!!*'!s7cQo!<<*!p](9os8W,o +~> +Q +q[1 0 0 1 0 0]concat +59 70 true[1 0 0 1 -1404 -2322]@X +imagemask +!"\i)z!.Y"Kz!;IYOz"2G02z#CljQz#64c'z%KHKYz%KHJnJ,fQL+2@k@^]4?7+5d,@huE`W+7K7@ +n,NFg+8>gHn,NFg+8c*Dp](9o+8c*Dp](9o&,ZD0qu?]s&,ZD0qu?]s#Q+Q(qu?]s"8DiurVuou +!Up'irVuou!!!!"rVuou!!!!"rVuou!!!!"rr<$!zrr<$!zrr<$!zrr<$!zs*t(LzIt.M!zIt.M!z +It.M!zJ%u$az5JR7!z5JR7!z5JR7!z5MuMAz+5d,!z+5d,!z+5d,!z+7K71z&+BQ!z&+BQ!z&+BQ!z +&,6,)z#P\9!z#P\9!z#P\9!z#Q+Q%z"8i-!z"8i-!z"8i-!z"9&9#z!WE'!z!WE'!z!WE'!z!WN-"z +!<3$!z!<3$!z!<3$!z!<7QLz!.TM!z!.TM!z!.TM!z!.Vcaz!'e7!z!'e7!z!'e7!z!'fBAz!.XJ< +!!!!$s8W,W!!!!$s8W,W!!!!$s8W,W~> +Q +q[1 0 0 1 0 0]concat +84 68 true[1 0 0 1 -1469 -2324]@X +imagemask +s8W,g!!iQ(p](<os8Vio#QOi%!!*'!s7cR!s8Vus!!%N<!!!!`rr<$!!'frQ!!",?z+7K71!"\u- +!!!!@n,NFg&,6,)!!!Q!!!!!0p](9o!"\Q!!!",1z&+BQ!!$C\1!!!!0p](9o5O\XQ!!!9!!!!!` +huE`W!!i9!!!#7Az#Q+Q%!.Vca!!!!(qu?]sJ%u$a!!!-!!!!$!J,fQL!!E-!!!*%Lz"9&9#!WRZM +!!!!$rVup!rr<$!!!!'!!!!'"z!!3'!!!E3#z!WN-""9&9#!!!!"rr<$(qu?]s!!!$!!!!9%z!!*$! +!"\u-z!<7QL&,6,)zs1eUFp](9o!!!"Kn,OR"z!!%ND!$C\1z!.Wc(5MuMAzJ'S*ZhuE`W!!!!` +a+/ZTz!!#7"^jj-"z!'fE"J%u$az5N$edJ,fQL!!!!@i#McIz!!",!&,uV0z!$C\8rr<$!z+7KC3z +!!!!0n,WFfz!!!Q!!.FnJz!"\i)49,?]z&,6,7z!!!!(p](PLz!!!9!!!C":z!!iE%!T3qXz#Q+Q% +Du]k<!!!!$qu?^Zz!!!-!!!"&?z!!E3#!!`K(z"9&9#"2Fm:!!!!"rVup!huE`W!!!'!!!!"<z!!3*" +!!"tYz!WN-"!$2+?zrr<$!%fcS0!!!$!!!!!$J,fQL!!*%L!!!&Xz!<7QL!!)KgzIt.M!!'C5]!!!"K +J,fQL4obQ_!!%Ma!!!!@J,fQL!.Vca!!!PfzJ%u$a!"\i)!!!"Kn,NFg+9)<@!<<*!p](<os6p!g +s8W,o!!*'!n,NIgs8Vio!<<)g~> +Q +q[1 0 0 1 0 0]concat +60 68 true[1 0 0 1 -1562 -2324]@X +imagemask +s8W-!s8V!Ws8W-!s8VQgs8W-!s8VQg!.Wo,"97ij!'fBA!'g5Y!$C\1!"\i)!$C\1!!E-!!"\Q! +!!2ut!"\Q!!!)os!"\i)!!#1_!"\i)!!#1_!!i9!!!"&?!!i9!!!!N0!!iE%!!!6(!!iE%!!!6( +!!E-!!!!+O!!E-!!!!+O!!E3#!!!&8!!E3#!!!&8!!3'!!!!#7!!3'!!!!#W!!3*"!!!#W!!3*" +!!!",!!*$!!!!"<!!*$!!!!!Q!!*%L!!!!Q!!*%Lz!!%M!z!!%M!z!!%Maz!!%Maz!!#7!z!!#7!z +!!#7Az!!#7Az!!",!z!!",!z!!",1z!!",1z!!!Q!z!!!Q!z!!!Q)z!!!Q)z!!!9!z!!!9!z!!!9%z +!!!9%z!!!-!z!!!-!z!!!-#z!!!-#z!!!'!z!!!'!z!!!'"z!!!'"z!!!$!z!!!$!z!!!$!J,fQL +!!!$!J,fQL!!!"KJ,fQL!!!"KJ,fQL!!!"K^]4?7!!!"K^]4?7!!!"KhuE`W!!!$!p](9o!!*'! +s8Duu!!*'!s8N'!!!%NKs8Duu~> +Q +q[1 0 0 1 0 0]concat +100 68 true[1 0 0 1 -1630 -2324]@X +imagemask +s8W&u!rr?$s8V!W!<<*!!!@`Os8W,g!!%NKrW!&9!<<*!n,NFjs1eU>^]4@ahuE`W!.OtK#N,R^ +5MuMA!!#1_!!hun!$C,!!!!!?!!!8n!!",!z%KHJ6p](:9huE`W!"Ju/#Q+Q%&)[Ef!!!K/!!iE% +!"\Q!!!!!(!!!Q'!!!Q!z#64`7p&G('n,NFg!!`K(&*!Wi#Oh]n!!!6(!"\%=!!i9!!!!!$J,g,= +J,fiLz"+U@^i4o<tp](9o!!@`O&)c@G"8Dir!!!+O!"\!q!!E-!!!!!"^]5J70E;4Qz!Pe[Wi&C]= +qu?]s!!0k8+2A]n!W2ot!!!&8!$Aub!!3'!zhuFk7%KHP/z!8mi!^]jc>rVuou!!(pW+2@sY!<)ru +!!!#W!'e7$!!*$!zDu`,<!It1Mz!,qp&J,m@brr<$!!!$s<5C`aL!.OtK!!!"<!'bu6?iY\,z2ul0n +!,qpfJ,fQL!&ssCJ,h8'It.M!!!"tYIt.M9!'bu6!!!!Y!.TM!)ur4=z)utHg!"8il^]4?7!#tug +!!!3'5JR7!!!!u=IfKHQ!$AuV!!!!=!.OtK!rsG$z%KLtY!!.TlhuE`W!"K#/!!!%M+5d,!!!!K/ +rr<$!^^o?'!!!!/!<)ru!+6?,z#6=`'!!$C;n,NFg!!`N'!!!!Q&+BQ!!!!6(rVuou3!\pQ!!!!( +!<)ru!#Pt9z"+^@N!!!E4p](9o!!@fO!!!!-#P\9!!!!+PrVuou"p=W#!!!!$Jc#KJ!!<?$z!Q"[6 +!!!*'qu?]s!!0q6!!!!"KDY]L!!!&9qu?]s!5\R5!!!!"_>F95!!'k7z!9<tW!!!"-rVuou!!)'Wz +EW,q<!!!#Zp](9o!&4BPzj7iTS!!!l9z!-@o8!!!!9rr<$!!!%*8z%0$;-!!!"?p](9o!![oQzGPD.< +!!!4QJ,fQL!'g5Y!!!!$It.M!!!#7Qz!WRZM!!!"Kn,NFg!!0jm!!!"Ks6p!g!!!$!s6p!gs8VQgz +J,f!<!.Y%<z!.Y%<~> +Q +q[1 0 0 1 0 0]concat +84 68 true[1 0 0 1 -1738 -2324]@X +imagemask +s8W&u!!!%M!!!$!s8Duu!!@`O!!*'!rVuou"+U@O!!E8:!!!!(^]4?7!<3$!!!!8>z4obQ_!"ZjF +!!!!?z&&8/F!!"&?!!!!0huE`W!"Ju/!!",!z%KHJ/!$C,!!!!!/z5MuMA!!!3'!!!!`n,NFg!!`K( +!!%N<z#64`(!.XJ<!!!!(zJ$8nQ!!!*$!!!$!\,ZL/!!@`O!!*&/z"+U@O!WP+Z!!!!$J,fQMrtk_9 +!!!%M!!!-#)uos=!!0k8!!E3?z!Pe[8"8j,=!!!!"^]4?>r!WQ*!!!#7!!!9%%KHJ/!!(pW!"\i7z +!8mhW&,6V7zhuEa!n-/jm!!!",!!",1#64`(!!$s<!$C,(z!,qo<5MubHzDu]l&hueK0!!!!Q!!%Ma +"+U@O!!"tY!.VcdJ,fQL!&srYIt.WOz2uisYJ-!Fc!!!!9!!*%L!Pe[8!!!u=!WN-#^]4?7!#tt> +rr<)8z)up*?!!(pW!!!!-!!E3#!8mhW!!!K/"8i-!huE`W!"Ju6qu?`Tz%KHb3!!$s<!!!!'!"\i) +!,qo<!!!6(&,6,)Du]k<!!`KGn,NH-z#65k8!!"tY!!!!$!$C,!!&srY!!!+O5MuMA2uipY!!@a9 +huEa:z"+Ym:!!!u=!!!!"J:G?7!#tt=!!!&8s*t(L)uos=!!0n8J,fQhz!Pn^8!!!K/z_>aK8!"Ju/ +!!!#Xrr<$!%KHJ/!!)'Y!!!!/z!9=%Y!!!6(zA,H<,!!`K(!!!"Cqu?]s#64`(!!%6<!!!!(J,fQL +!.XbD!!!8>z5PP3Y!"[uf!!!"Kn,NFg5PtK]!<<)g!!!9(s53kWs8V!W!!iQ(n,NH<s53kW#QOhn~> +Q +q[1 0 0 1 0 0]concat +70 72 true[1 0 0 1 -1829 -2322]@X +imagemask +!!!9(z!!!"Ks6p!g!!!!"s8W&uz#Q=c(^]4?7!$C\1+7K71!!#7!!!i9!!!!"KJ,fWLzrr<$!s*t(L +!WE'!!'e7!!!E-!!!",!!!!9%!!!!0n,NFnp](9o#Q+Q%&+BQ!!!E3#!"\Q!!!!'"!!",1zs*t(k +huE`W!.Vca5MuMA!!#7!!'fBA!!!!`huH""z+7K7p^]4?7!"\i)J%u$a!!!Q-!.Vca!!!!(quD5^z +#Q=^Q^]4?7!!E3#J%u$a!!!-$!.Vca!!!!"s+#U7z!WR\"^]4?7!!*&7J%u$a!!!$!^jk8BzJ&$Qlz +!.WpVhuE`W!!%N,J)C;,!!!!`n3>h2z5O^nqz!'fs;n,NFg!!",15O\XQ!!!!@p`Ju*z+8?rIz!$CtX +p](9o!!!Q)+8>g9!!!!0p^d-"z&,Zt5z!"\u4qu?]s!!!Q-#Q+Q%!!!!0qucouz#Q+]'z!!iE&rVuou +!!!9%!WN-"!!!!(quH`sz#P\:KJ,fQL!!i9!It.M!!!!9!!'e7!!!!!(p])Doz#P\90huE`W!"\Q! +&+BQ!!!!Q!!!i9!!!!!0n,NRcz&)[Egqu?]s!"[uf!<)ru!!"+V!!%KK!!!!@^]4@!J,fQL5C`_6 +&&8/F!'^G`!!hE^!!%KK!!!,r!!!#uzqu?]tqu?]s!.OtK"8Dir!!"+V!!hE^!!!!(n,OQGz!<)uuz +!!",@p](9o!!!!"s1eU7~> +Q +q[1 0 0 1 0 0]concat +71 68 true[1 0 0 1 -1907 -2324]@X +imagemask +s8W,gz!<<*!p](9o!!*'!s7cQozJ+s!Dz!$C\1z!!",1z!!!!0n,NFgz&+BQ!z!"\i)z!!!Q)z!!!!( +p](9oz#P\9!z!!iE%z!!!9%z!!!!$qu?]sz"8i-!z!!E3#z!!!-#z!!!!"rVuouz!WE'!z!!3*"z +!!!'"zzrr<$!z!<3$!z!!*%Lz!!!$!J,fQLzIt.M!z!.TM!z!!%Maz!!!"K^]4?7z5JR7!z!'gM` +s*t(L!!#7`s8Vio!!!!`s8W,uz+5d,$s*t(L!$C,!!'fBA!!",!!!!Q)!!!!@huE`Zqu?]s&+BQ! +!WE'!!"\Q!!!*%L!!!Q!!!!"K^]4?Fn,NFg5JR7!#P\9!!'fBA!!i9!!!",1!!!9!!!!!@p](:! +p](9o&,6,)"8i-!!"\u-!!E-!!!!Q-!!!-!!!!!(qu?^!qu?]s#Q=]'"9&9#!!iK'!!3'!!!!9' +!!!'!!!!!$rVup!rVuou"9&9#!WN-"!!E3#!!*$!!!!-#!!!$!!!!!$rVuourr<$!"8i-!!<7QL +!!iE%!!%M!!!!9!!!!"KJ,fQ[p](9oIt.M!&+BQ!!.Vca!$C,!!!#7!!!%Ma!!!"KhuElZJ,fTL +s8W-!rVuous8W-!s7cQo!.Y%Ks8RTL~> +Q +q[1 0 0 1 0 0]concat +70 89 true[1 0 0 1 -1985 -2305]@X +imagemask +z!.FnJz!!3,8z!!!-$huE`W!!!!(s6p!gz#QOQ!z!"],-z!!!Q0rVuou!!!!0s8N'!z&-)Y0z!"],0 +J,fQL!!!Q!5JR7!!!!!0^^n3\z&&8;*z!"XS\huE`W!!!O[!8mhW!!!!0!!$s<z%fcTK!!!!(rso)0 +0E;(QJ,fNK!&srY!WN3#!!!Q1!!iK'5C`_6!!",/!"[uf!!!!`MuXC`zIgc;equ?]s!<*B,%R0pn +!!3!-!"L*$!!!,r"oo,DhuE`^p]^^,#Oh]n#Ohfq$j68)!"\Q$J/A=b!!!Pf!PgYprVup?huN7c +!.OtK+5d-KhuGul!'e7!++O>5^]6U7z+5d,`^]4?7!"\Q!5JR7!!!!9!!.Vca!!!!(p],fZz"8i.K +^]4?7!!E3#J%u$a!!!'!!.Vca!!!!"rr@Paz!<3%K^]4?7!!*%LJ%u$a!!!$!J:G?7zJ&$QLz!.Ve6 +^]4?7!!#7AJ%u$a!!!!`i.'Ybz5N"caz!$C\phuE`W!!",15MuMA!!!!@n3?CBz+8?rIz!"\iHn,NFg +!!!Q)+7K71!!!!0p`K82z&,6\1z!"\u<p](9o!!!Q-#Q+Q%!!!!(r!3-"z#Q+]'z!!iE(rVuou!!!9% +!WE'!!!!!(quQftz#Q+T%z!!i9!It.M!!!!9!!.TM!!!!!(p]*Ooz#P\9@huE`W!!i9!&)[Ef!!!Q! +!"\Q!!!!!0n,N^gz&+BQ$qu?]s!"[uf!W2ot!!",!!!)uu!!!!@^]4@az+2@jV5C`_6!'bu6!"ZjF +!!%KK!!!8n!!!"K!!!!$p](9orVuou!;lfs!W2ot!!%KK!!Dur!!!!@^]4Vtz#Oh^8^]4?7!!)uu +rr<$!!!!!@s7cQoz!WTq8!!~> +Q +q[1 0 0 1 0 0]concat +71 70 true[1 0 0 1 -2064 -2322]@X +imagemask +z!!!&tz!!!!0s+(.Ls6p!g5D-cOs8Vio!.P",s8W,o!!*$!DubCW!!!'"!&ss#huE`Xrr<l9+5d,! +"9/?@!"\Q!!!E6$$igh-!!!-$!"Ju>n,NFjrr<6'&+BQ!"9/?*!!i9!!!E6$!!!9!!!!-$!!!!( +p](9prr<$!#P\9!!WN-"!!E-!!!3*"!!!-!!!!'"!!!!$qu?]ts*t(L"8i-!!<7QL!!3'!!!*%L +!!!'!!!!$!J,fQMrVuous*t(L!WE'!!.TM!!!*$!!!%M!!!!$!!!!"KJ,fQLrr<$!It.M!!<3$! +!.TM!!!%M!!!%KK!!!"KJ,fTLzIt.M!rVuou!.TM!!W2ot!!#7!!!Dur!!!!`^]4W/z5JR7`huE`W +!'gM`s*t(L!!",@s8Tk7!!!!@huF;_z+5d,!rr<$!!$C,!!'e7!!!!Q!!!!Q!!!!!0n,NFnp](9o +&+BQ!!W2ot!"\Q!!!3*"!!!9!!!!$!J,fQSp](9oJ%u$a#P\9!!'e7!!!i9!!!#7A!!!9%!!!!` +n,NFjqu?]s+7K71"8i-!!$Ct9!!E-!!!",9!!!-#!!!!0p](9prVuou&,ZD-!WE'!!"\u-!!3'! +!!!Q-!!!'"!!!!0qu?]srr<$!&,6,)!<3$!!"\i)!!*$!!!!Q)!!!$!J,fQ[n,NFgIt.M!+7K71 +!.TM!!$C,!!!%M!!!#7!!!!"K^]4@aJ,fQL5JR7"rr<$!!.Wo,+8c*=!<<*!s8VQg!!*'!s8W,7 +!!!"Ks8W,s!!!~> +Q +q[1 0 0 1 0 0]concat +60 72 true[1 0 0 1 -2141 -2322]@X +imagemask +?iU`8zDufq<^]4?73!93\n,NFg49tW`qu?]s4s.Q?IK0?J5<]&I++O=k5PtK]&&8/F+8>g9#N,R^ ++7K71!Up'h+5d,!!VcWp+5d,!!;lfs&&8/F!.4bH&&8/F!'UA_%tFW[!'^G`#CldS!$;1@#CldS +!$?^k#CldS!$?^k#CldS!"ZjF"+U@O!"ZjF"+U@O!"ZjF"+U@O!"ZjF"+U@O!"[uf!It.M!"[uf +!It.M!"[uf!.Y%L!"[ufz!$C,!z!$C,!z!'fBAz!'fBAz!<:sWz!WTq8z&-'EFzs8Tk7!!!!0s8RTL +!!!$!s8N'!!!!-$s8N'!!!!Q0s8Duu!!",@s82is!!#7`s6p!g!!%NKs1eU7!!*'!rVuou!!*'! +huE`W!!3-!z!!3,Xz!!3+Mz!!E6$z!!E3#z!!E-!!!!-%!!E-!!!!K/!!Dur!!!K/!!Dur!!!K/ +!!Dur!!!K/!!2ip!!!6(!!2ip!!!6(!!2ip!!!6(!!2ip!!!6(!!)co!!!O[!!)os!!!O[!!%BH +!!!O[!!%HJ!!!O[!!#1_!!!PF!!")@!!"+V!!"*k!!"+V!!!PF!!#7!!!!8^!!%N,!!!,j!!%6$ +!!!#o!!2]L!!!"J!!D3<!!!!`^`UA]!!!!0s8N)g!!!!"s82k9z5MuMq~> +Q +q[1 0 0 1 0 0]concat +74 67 true[1 0 0 1 -2200 -2324]@X +imagemask +!.Y%Ks82is!!!"Ks8W,sz!.Y%Ks82isz#QN]^z!!!'"J,fQLz!<7QLz!!!"KJ,fQLz!.TM!z!!!"K +^]4?7z!.Vcaz!!!!`^]4?7z!'e7!z!!!!`huE`Wz!'fBAz!!!!@huE`Wz!$C,!z!!!!@n,NFgz!$C\1 +z!!!!0n,NFgz!"\Q!z!!!!0p](9oz!"\i)z!!!!(p](9oz!!i9!z!!!!(qu?]sz!!iE%z!!!!$qu?]s +z!!E-!z!!!!$rVuouz!!E3#z!!!!"rVuouz!!3'!z!!!!"rr<$!z!!3*"zzrr<$!z!!*$!zzs*t(Lz +!!*%LzzIt.M!z!!%M!zzJ%u$az!!%Mazz5JR7!z!!#7!zz5MuMA!!!%M!!#7A!!!3'"+U@O+5d,! +"on[S!!",!!!!3'!Pe[8+7K71"onY=!!",1!!!6(!8mhW&+BQ!#64b^!!!Q!!!!6(!+5d,&,6,) +#64aC!!!Q)!!!6(!,qo<#P\9!!rr<\!!!9!!!!+O!&srY#Q+Q%"+UA6!!!9%!!!+O!#tt="8i-! +#Cldq!!!-!!!!7S!$;1@"9&9##Cldb^]4K9!!!O[!"[uf!WE'!+2@jerW!!!!!*&7!!iQ(s8W-! +s1eU>s8W-!s8W,7!!iQ(s8W-!s1e~> +Q +q[1 0 0 1 0 0]concat +72 70 true[1 0 0 1 -2281 -2322]@X +imagemask +!!%N,z!!!-$qu?]s!!!!0s8RTLz5N!XAz!.OtNn,NFg!!)uu!;lfs!!!&t!!#1_!!!!$p](:)z"7Q9j +#CldS!!hun!!C":!!!Pf!!!&X!!!!0huE`Wn,NFg&)[Ef!-eJD!$C,!!!"tY!!"+V!!!!=!!!!@ +^]4?7*WQ0?+2@jV!"Ju/!$C,!!!!N0!!",!!!!!(!!!!@huE`W#CldS+5d,!!!@`O!$C,!!!!,: +!!",!!!!!"^]4?VhuE`W!Pe[8+7K71!!0k8!"\Q!!!!#W!!!Q!zhuE`fn,NFg!8mhW&+BQ!!!(pW +!"\i)!!!"<!!!9!zDu]kCp](9o!,qo<#P\9!!!$s<!!iE%!!!!Y!!!-!z2uip\qu?]s!&srY"9&9# +!!"tY!!3'!!!!!=!!!'!z)uos>rVuou!#tt=!WN-"!!!u=!!*$!!!!!/!!!$!z%KHJ/rr<$!!"Ju/ +!<7QL!!!K/!!*%L!!!!(!!!"KJ,fQL#64`(It.M!!!`K(!.Vca!!!6(!!%Ma!!!!$J,fR6^]4?7 +"+U@O5JR7!!!@`O!'fBA!!!+O!!#7A!!!!"^]4?VhuE`W!Pe[8+5d,!!!0k8!$C\1!!!&8!!",1z +huE`fn,NFg!8mhW&+BQ!!!(pW!"\i)!!!#W!!!9!zDu]kCp](9o!,qo<#P\9!!!%6D!!iE%!!!#s +!!!9%!!!!"rVup/rr<$!"96.Is8W+L!<<)u&-)\0J,oWLrs/T(s*t*!s8N~> +Q +q[1 0 0 1 0 0]concat +73 70 true[1 0 0 1 -2360 -2322]@X +imagemask +!!#+]zz4obQ_z!!#1_zz56(Z`z!!#4`zz5C`_6z!!%MazzJ%u$az!!%N,zzJ+*F<z!!%N<zzJ%,IYz +!!%MYzzs-s&hz!!*%Zzzs,I'Zz!!*%Szzs+c+)z!!*%OJ,fQLzrrKn8z!!*$"^]4?7!!!!"rrCsWz +!!3*"Du]k<!!!!"rr@!<z!!3*"2uipY!!!!"rr>.]z!!3*")uos=!!!!"rW!E.z!!3'!%fcS0!!!!$ +rW!0'z!!E3#"+U@O!!!!$rW!%Nz!!E3#!Pe[8!!!!$rVuuWz!!E3#!8mhW!!!!$qu?_9z!!E-!!-eJD +!!!!(qu?^Vz!!iE%!#tt=!!!!(qu?^:z!!iE%!"Ju/!!!!(qu?^-z!!i9!!!`K(!!!!(p](9rJ,fQL +!"\i)!!C":!!!!0p](9p^]4?7!"\i)!!(pW!!!!0p](9ohuE`W!"\i)!!$s<!!!!0p](9o2uipY +!"\Q!!!"tY!!!!0n,NFg)uos=!$C\1!!"&?!!!!@n,NFg%KHJ/!$C\1!!!6(!!!!@n,NFg#CldS +!$C\1!!!+O!!!!@n,NFg!Pe[8!$C,!!!!&8!!!!@huE`W!8mhW!'fBA!!!#g!!!!`huE`W!-eJD +!'fBA!!!"D!!!!`huE`W!'C5]!'fBA!!!"K!!!!`huE`W!.TM!!.XbD!!!'"n,P]Qs6p!g&-)Y0 +5QCcQ!!",@s+!?6s6p!g&-)Y0~> +Q +q[1 0 0 1 0 0]concat +100 70 true[1 0 0 1 -2437 -2322]@X +imagemask +!!@`O!!!u=z!!!+O!!!!=z!!!!$^]4?7*WQ0?z"5j.Z!$;1@z!!D-Z!!")@z!!!,j!!!!`J,fQL +!!!!(n,NFg5C`_6z#P\9!!'e7!z!!i9!!!#7!z!!!9%!!!!`huE`W!!!!(rVuou5O\XQz#Q=]'!'frQ +z!!iN(!!#7Yz!!!9$!!!!`fDkmO!!!!(qg\YH5MQ5=z#Pl.8!'ea/z!!i;7!!#7'z!!!9!huEaA +`rH)>!!!!(pg=(%5JmI$z&,:)D!.Vn:z!"\iY!!%MbJ,fQL!!!Q)2uir._8$$N!!!!0p`'86J&'tBz +&,6P5!.Vdlz!"\i7!!%MaDu]k<!!!Q)"onXQ^b>`g!!!!0n-8pnIt0KYz&+BZ$!.TM9z!"\Q$J,k(L +)uos=!!!Q!!Pe\bJ.;PZ!!!!0n,U6(It._'z&+BSW!.TM(z!"\Q!?i^4W!rr<$!!",1!,qr<J-1<% +!!!!@n,P-Bs*t-#z+7K7i!<7QM^]4?7!$C\1*!$"h!8mhW!!",1!"8l-J,isW!!!!@n,Npus*t)gz ++7K77!<3$!0E;(Q!$C,!#6=c(!&srY!!",!!!@cO!!!u=!!!!@huEk0rr<$=z+5d,"_#FB7%KHJ/ +!$C,!!5SU7!!WE'!!",!!!(sW!!!6(!!!!`huEacrr<$$z5MuMAEW6"="+U@O!'fBA!'1&Z!!0k8 +!!#7A!!!o:!!!&8!!!!`huE`trr<$!huE`W5MuMA%K?D.!+5d,!'fBA!"])0!!$s<!!#7!!!!9' +!!!!Q!!!!`^]4?>rVuou2uipY5JR7!"9&9#!#tt=!'e7!!!3'!!!!u=!!#7!!!!'!!!!!/!!!!` +^]4?8rVuou"onW'5JR7!"9&9#!!`K(!.Vca!!E3#!!!+O!!%Ma!!!-#!!!!$J,fS!^]4?:rVuou +!Pe[8J%u$a"9&9#!!2!X!.Vca!!E3#!!!,j!!%N,!!!-$!!!!$p](<op](:!s1eU7&,uVos8V!X +s8W*!!WW2h5QCcA!WW3"!!3-"n3?sQhuWlXrr<'!s6p~> +Q +q[1 0 0 1 0 0]concat +89 68 true[1 0 0 1 -2537 -2324]@X +imagemask +!WW2t!!#7`s6p!g!WW2t!!#7`s7cQo!WW2t!!#7`s7cQo!!iP^!!!-$p](9o!!*&7!!!$!n,NFg +!!#66!!!"KhuE`W!!"*k!!!"KhuE`W!!!7S!!!"K^]4?7!!!,:!!!$!^]4?7!!!&X!!!$!J,fQL +!!!#g!!!$!J,fQL!!!"D!!!'"J,fQL!!!!]!!!'"z!!!!?!!!-$z!!!!/!!!-#z!!!!(!!!-#z!!!!$ +J,fiRz!!!!"^]4W;zzhuF;czzn,O!ozzGQ8i\zz49-Jmzz*WR;Ozz%fei`zz#Co%szz"2KEEzz!T8IC +zz!:^$(zz!-nNozz!'("/zz!$2)izz!"])0zz!"])0zz!!iK'zz!!E3#zz!!iK'zz!!iE%zz!"\u-zz +!"\u-zz!$D1?zz!$D4@zz!$Crczz!'g(jzz!'fGXzz!.Wqbzz!.Ve'zz!.Ve/zz!<9hszz!<7Qjzz +!WRZ\zz!WN-)J,fQLz"9/?'^]4?7z"9&9$huE`Wz"9&9#n,NFgz#Q=]'GQ7^Dz#Q+Q%49,?]z&,ZD- +*WQ0?z&,6,)%KHJ/z+8>g9#64`(z+7K71#CldSz+7K71"5j.Zz5O\XQ"7Q9jz5O\XQ"8i-!zJ+s!D +"9/?$zs8Duu#QN]^!!!$!s8V!WJ,fNK!!!$!s8V!WJ,fP!!!!"Ks8V!W5QCb6~> +Q +q[1 0 0 1 0 0]concat +72 68 true[1 0 0 1 -2636 -2324]@X +imagemask +#QOi(J,fQL!!iQ(s1eU7!!!-$s8Tk7z"93lOz!!*%Lz!!!$!J,fQLzIt.M!z!.TM!z!!%M!z!!!"K +J,fQLz5JR7!z!'e7!z!!#7!z!!!!`^]4?7z+5d,!z!$C,!z!!",!z!!!!@huE`Wz&+BQ!z!"\Q!z +!!!Q!z!!!!0n,NFgz#P\9!z!!i9!z!!!9!z!!!!(p](9oz"8i-!z!!E-!z!!!9'z!!!!(rr<$!z +#QK;Sz!"]+Fz!!!Q*^]4?7!!!!0ptu,Pz+8BdTz!$C\iz!!#7Q49,?]!!!!`n/_Q0z5N!%Pz!.Wo3 +J,fQL!!%Ma"+U@O!!!"K^]D4Nzs1eWmz!<7QLn,NFg!!3+M!-eJD!!!'"J,h\3!!!!"rr<$?z"9/?$ +%KHJ/!!E3#!!`K(!!!-#!!!+O!!!!(rVup!^]4?7#Q+Q%!T3qX!"\u-!!)Kg!!!Q-!!!"D!!!!0 +p](9o49,?]+8>g9!#tt=!$Ct9!!!K/!!",1!!!!(!!!!`n,NFg#CldS5MuMA!!C":!.Wo,!!!&X +!!%N,!!!!"p](;D^]4?7!;lfss53kW!!3*"!WVWh!!!-$i;`iW^]4?Vs8N&us53kW+92B@s8Tk7 +!$D7@~> +Q +q[1 0 0 1 0 0]concat +68 68 true[1 0 0 1 -2715 -2324]@X +imagemask +5QCc`s8Tk7!'gM`s8W,W!!#7`s8W-!huEa!n,NG!s53kW&,6,)!<:sW!!iE%!!",1!!!-#!!!!0 +n,NFjrr<$!"7Q9j!WRZM!!2ip!!*&7!!!#o!!!"KhuE`WGQ7^D5O\XQ!'C5]!$C\1!!#+]!!!Q) +!!!!=!!!!(qu?]s*WQ0?"9&9#!"Ju/!!3*"!!!K/!!!'"J,fQSzs1eU7#64`(!.Wo,!!<3$!!#7Q +!!!+O!!!!@n,NFjJ,fQL&,6,)!It.M!!iE%!!0k8!!!-#!!!&8!!!!"rr<$!^]4?7!WRZM!.Y%L +!!*&7z!!!"KhuE`Wz5O\XQz!$Ct9z!!!Q)z!!!!(qu?]sz"9&9#z!!3*"z!!!'"J,fQLzs1eU7z +!.Wo,z!!#7Qz!!!!@p](9oz&,6,)z!!iE%z!!!-#z!!!!"rr<$!z!<7QLz!!*&7!!!!"J,fS!huE`W +!It.M5O\XQ!!0k8!$Ct9!!!&8!!!Q)z^]4?>qu?]s!8mhW"9&9#!!(pW!!3*"!!!"<!!!$!J,fQL +Du]k<s1eU7!-eJD!.Wo,!!%BH!!#7Q!!!!]!!!!@p](9o4obQ_&,6,)!'^G`!!iE%!!"*k!!!-# +!!!!@huE`Xrr<$!+7K71!<7QL!"]&/!!%Ma!!!Q0huEb,huE`fs8W-!s6p!g#QOi(s8VQg!!iQ( +s8W,g~> +Q +q[1 0 0 1 0 0]concat +46 45 true[1 0 0 1 -709 -2203]@X +imagemask +!'bu6qu?cthuiuZ"5rqZa++E14:d!n%tG-3J\W?-#9SKS56(f#!8p'A!WN.-IK0BJJ8fr;!.TMQ +IK0@4J2$s&!'bunrVup?J/J7c!$AunrVup?^_m%N!$Aurrr<$0^]=B7!"[ufrr<$0huNcW!"[uf +rr<$(huJ7W!!hunIt.M(n,Rrg!!hunIt.M$n,P\g!!Dur5JR7$p]*Oo!!Dur+5d,"p])Do!!2ut +&)[Egqu?uk!!2ut#Oh]nqu?io!!)uu!VcWprVuus!!)uu!;lftrVuqI!!3*"!'^Garr<$@J-5fO +!"ZjM56(Zci!qsO!!3!;%KHJ/J+s!D!!!Pf!!!~> +Q +q[1 0 0 1 0 0]concat +37 70 true[1 0 0 1 -762 -2203]@X +imagemask +!'bu6!!3,h!!!,Zqu?^%J3O#6%tGaP!$;1O^]5GV#N,SG!!D]j4obWY!'UA_quD0G!<)tI!!%HJ +IK0@t!.FnJ5Ce1_!'c!_!!#7!IK0?i^jZ7`+5hSJ!$C-K!!!Q!IfKHZn:(E<&+Dd`!"\ihJ,fiL +5C`_=pcj9/#P^N6!!i9@J,fiL+2@jYp`I9O"8EtR!!E!,^]4K3&)[Eip^c9_"8EDr!!E!$n,NR[ +#P\9$n-Ajk"7QQp!!hEarr<;>"8dTZ^]XDj%tF]UGWu0/r'1)Z!W32l!!2ut!!!#szrVuou!<)ru +!!)uu!!!"JzIfKHK!.OtK!!%KK!!!!`z56(Z`!'bu6!!#66!!!!@J,fQL++O=k!$AuV!!"+V!!!!0 +^]4?7&&8/F!"[uf!!",!!!!9(huE`^s53kW#QO8n!!!Q!!!!~> +Q +q[1 0 0 1 0 0]concat +39 45 true[1 0 0 1 -805 -2203]@X +imagemask +!"\u-!!%NKJ,fWF#Oh]qhuJ-)#J^<]!"XS[#CmnH!!0l"!!!#W56(Z`G^f\n!'#H.!!"!g!!!!/ +IK0?J"TAB$!!*$!!!!$!zrr<$!!<3$!!!*$!!!!$!zrr<$!!.TM!!!%M!!!!"KJ,fQLIt.M!!'e7! +!!#7!!!!!@^]4?7+5d,!!"[uf!!!Q!!!2!_n,NRc#P\9(p]L9k#Q+W#!!iE%qu?is!.FnMrW#._ +!W2p>J,oKI&&8/b!!hE^2uj!S!,qo<IfnU/!$D6V!!!-#!!~> +Q +q[1 0 0 1 0 0]concat +47 70 true[1 0 0 1 -848 -2203]@X +imagemask +!'bu6qu?cthuiuZ"5rqZa++E14:d!n%tG-3J\W?-#9SKS56(f#!8p'A!WN.-IK0BJJ8fr;!.TMQ +IK0@4J2$s&!'bunrVup?J/J7c!$AunrVup?^_m%N!$Aurrr<$0^]=B7!"[ufrr<$0huNcW!"[uf +rr<$(huJ7W!!hunIt.M(n,Rrg!!hunIt.M$n,P\g!!Dur5JR7$p]*Oo!!Dur+5d,"p])Do!!2ut +&)[Egqu?uk!!2ut#Oh]nqu?io!!)uu!VcWprVuus!!)uu!;lftrVuqI!!3*"!'^Garr<$@J-5fO +!"ZjM56(Zci!qu%!!3!;5C`_6J+u6Y!!!Pf++O=k!!"+Vz+2@jV!!"+Vz&&8/F!!!Pfz&)[Ef!!!Pfz +#N,R^!!!8nz#Oh]n!!!8nz"7Q9j!!!,rz"8Dir!!!,rz!VcWp!!!&tz!W2ot!!!&tz!W2ot!!!'!z +s8Duu!!*&uzs8Duu!!!'!~> +Q +q[1 0 0 1 0 0]concat +39 45 true[1 0 0 1 -900 -2203]@X +imagemask +!"\u-!!%NKJ,fTE#Oh]qn,Rh9#N,S(!"ZjF#Cm>8!!0kWJ,fT-*rl9@GWu0.!'!1C!!"!g!!!!/ +IfKHK"FgCO!!%KK!!!"KzIfKHK!.OtK!!%KK!!!"KzIt.M!!.TM!!!%M!!!!"KJ,fQLJ,fKJ!'gM` +n,P\g"9&9b^]6TL+5d,(^`VJ7"5j^J!!(pfn,NIX#Oh]nGR+!D!&t)U!!"tZqu?^V!<)ru2unF. +!&ssCJ,hP/+2@l$!!hE^Du^"8!8mhWrWBq9!$D5k!!!-#!!~> +Q +q[1 0 0 1 0 0]concat +51 90 true[1 0 0 1 -946 -2184]@X +imagemask +!Up'h!!!!0qu?]s!!"&Nz!&t46z4p/S#!!!"KKAZ_0!!%MbhuE`W!.ViSzJ&(OR!!!!`_"[m0!!#7! +p](9o!$B#Sz#Cq1%z!.FnJzIK0?J!!!"Jz!!#4`z!'^G`z56(Z`!!!!`J,fQL!!#66z!$?^kz++O=k +!!!!@^]4?7!!"+Vz!$AuVz&&8/F!!!!0^]4?7!!!Pfz!"[ufz&)[Ef!!!!0huE`W!!!8^z!!hunz +#Oh]n!!!!(n,NFg!!!8nz!!D]jz"7Q9j!!!!$p](9o!!!,rz!!Durz!VcWp!!!!"p](9o!!!&tz +!!2utz!W2otzqu?]s!!!#sz!!)uuz!<)ruzrVuou!!!#uz!!%HJz!.OtKzIfKHK!!!"Kz!!%KKz +!'^G`z56(Z`!!%NKs6p!g!.Y%Kn,NFgJ,fQ<z5C`_6!!!!@J,fQL!!"+Vz!$AuVz+2@jV!!!!@^]4?7 +!!!PFz!"[ufz&)[Ef!!!!0huE`W!!!Pfz!!hE^z#N,R^!!!!(n,NFg!!!8n%fcS0!!D^TJ,fQL"7SOj +!!!!$pclOo!!!&p5MuMA!!2jZhuE`W!;IYozHk5-8!!!"H#J^<>!!#1`^]4?7!$;Grz#QFc(!!!!" +qu?~> +Q +q[1 0 0 1 0 0]concat +51 64 true[1 0 0 1 -998 -2184]@X +imagemask +!"])0zs8VQg!!!&h"8i-!!!D]jIfKHK"8Dj<J,fQSqu@8c!!!-!!!hun!!E3#"8Dir"9&9$p](9p +qu?cq!!!"D!!)uuz!<)ruzIfKHK!!!"Kz!!%KKz!'^G`z5C`_6!!!!`J,fQL!!#66z!$?^k!!!8n ++2@jV!$D+\^]4?7Hk.=7!!!#o"4+a_!!2Qin)+0G"7Q;?huE`ZhuH""!!!8^!$C,!!!hE^&+BQ! +&&8/Un,NG!^]4W/!!!PF!!D]j!"ZjF"8Dir+2@jYp](:9huElS!!",!!!2ip!$C,!!W2ot+5d," +qu?^=huEfU!!!Q!!!)os!"\Q!!<)ru&+BQ!rVup/n,NIf!!!Q)!!%HJ!!i9!!.OtK#P\9!IfKHN +p](;D!!!-!!!#4`!!E-!!'bu6!W2ot5C`_7rVup_J,fTK!!"*k!!%KK!$AuV!.OtK+2@jV5C`_U +^]4?VJ,g\,!!!PF!'fBA!!hE^5MuMA"7Q;?huE`Xp]0L8!!!"H!QX*u!!#4cJ\V6c!"])0z!W2ot~> +Q +q[1 0 0 1 0 0]concat +50 70 true[1 0 0 1 -1058 -2203]@X +imagemask +)uos=56([I!!!$!^]6S!!!2TY!'^G`!T5p;5C`_9i"uGYJ,f]0$iiMB!!hEl!$?^k#N,dd+2@j] +n-8q8^]4W/!rsFY!!huqJ.KEq"8DnI&)[Eip]8/@huElS!Pf6(!!2ut^^&ct!W2r5#N,R^qu?^% +n,NIf!!!8n!!)uu!!D]j!.OtK"7Q9jIfKHNp](;D!!!,r!!#4`!!2ip!'bu6!W2ot5C`_7qu?^= +J,fWJ!!"+V!!)os!$AuV!<)ru+2@jVrVup/^]4B6!!!Pf!!%HJ!"[uf!.OtK&)[EfIt.M0huEb, +J,fi4!!#7!!!hE^!'fBA#N,R^5O\XXhuEaA\,[&T!!"+2!"ZjF!$BJd%tFW[+3/mRJ,fQk_=0Yh +!!!PFs82is!"\!0n,NFg&)[Ef!!!!0huE`W!!!8^z!!hunz#Oh]n!!!!(n,NFg!!!,jz!!Durz"8Dir +!!!!$p](9o!!!&pz!!2utz!W2ot!!!!"qu?]s!!!#sz!!)uuz!<)ruzrVuou!!!#uz!!%KKz!<3$! +!!!"Krr<$!!!%NKz!'gJ`z!<3$!!!!~> +Q +q[1 0 0 1 0 0]concat +33 67 true[1 0 0 1 -1107 -2203]@X +imagemask +!!%HJ!!!'"J,fQOiP5En#Jf6t!!g:n!!!PF2uiph^`3=S&&8SR!"ZjT!!!Pf"onW6i!05^#N,[a +!!huq!!!8n"+U@Rp]5mF"8DnI!!Dur!!!&t!!!!"qu?]s!;lfs!!)uu!!!#uzIfKHK!.OtK!!%KK +!!!!`J,fQL5C`_6!$?^k!!"+V!!.Tl^]4DN&)[Eg^^o?'!5K-'!!(p^n,NIH#Oh]n?jH0$!,r&0 +!!"\Tn,NGJ"7Q9j*!>[1!"K+h!!!6+huE`ZLVNli!WRZM!!%HJzzzzzzzzzzzzzzzzz!-eJD!!)os +!!!'!!!!!"rr<$!!WN-"!!*$!!!!$!zIfKHK!$2+~> +Q +q[1 0 0 1 0 0]concat +44 86 true[1 0 0 1 -1142 -2184]@X +imagemask +!<)ru!!!9(^]4?7%g2;$!!"*kqu?]s+2E=*!!",!++O=k+5e6V!!",1&&8/F+7KNn!!!Q!#Oh]n +&)[QZ!!!,:"8Dir!!!&pz!W2ot!!!&tz!;lfs!!!#uz!<)ru!!!#uz!.FnJ!!!"Kz!.OtK!!!"Kz +!'^G`!!!!`J,fQL!'bu6!!!!`J,fQL!$?^k!!!!@^]4?7!$AuV!!!!@^]4?7!"ZjF!!!!0huE`W +!"[uf!!!!0huE`W!!hE^!!!!(n,NFg!!hun!!!!(n,NFg!!D]j!!!!$p](9o!!Dur!!!!$p](9o +!!2ip!!!!"qu?]s!!2ut!!!!"qu?]s!!)os!!.TMrVup!^]=?6!!0k8rVuouhuJ3+!!(pWIfKHK +Dub@f!!"\QIfKHK2unF.!!!u=56(Z`$iiKl!!!K/4obQ_#692Q!!!,:HiO-H!:]a`!!!"Kn,NFg +!"ZjFzzzzzzzzzzzzzzzzzzzz!!!N0z+2@jV!!",!z5MuMA!!",!z+7K71!!",!z&)[Ef!!!,:~> +Q +q[1 0 0 1 0 0]concat +47 70 true[1 0 0 1 -1197 -2203]@X +imagemask +)uos@n,PWP!"\u-56([*%KJ]n!'UVf56(\4"+WUd!.4ft5C``]!Pfe-!;li4++O@h!8ns7!<)t+ ++2@mU!+6>Q!<)t;&&82E!&+rA!.Fo%&)[G;!&t5A!.Otc#N,T2!!!8n!<)ru#Oh`m!!!,j!WE'! +"7QEj!!!,r#P\9!"8Eu-!!!&qs1eU7!WW0"!!!'"n,NFg!WTq8!!!#thuE`W!<-p;!!!#u2uipY +!<*H.!!!"J#64`(!.P*$!!!"K!Pe`o!.P!a"8Dj\!+6'0!'buf#Q+QdJ2df3!'buR"9&9BJ.Db] +!$AuYJc#Ki^]EA@!$AuVpc&6a^]6Ug!"[uf&)[EuhuE`W!"[uf!!!!(huE`W!!hun!!!!(n,NFg +!!hun!!!!$n,NFg!!Dur!!!!$p](9o!!Dur!!!!"p](9o!!2ut!!!!"qu?]s!!2utzqu?]s!!)uuz +rVuou!!)uuzrVuou!!%HJzrr<$!!.Y"K!!!"Krr<$!!'gJ`zrr<$!~> +Q +q[1 0 0 1 0 0]concat +22 70 true[1 0 0 1 -1252 -2203]@X +imagemask +"7Q:$qu@fK!'UVf4p(e6"+Yh$J:7O7rW'b5!5SR6i-kZ6IfNl+!-!DfE'F=V5C`_uJ,hfa!$?^k ++2@ju^]5Il!"ZjF&)[EuhuF;G!!hE^#Oh]un,N^_!!D]j"8Diup](Ek!!2ip!W2ouqu?cq!!)os +!<)rurVurt!!%HJ!.OtKIfKIu!!#4`!'bu65C`_uJ,g[A!$AuV+2@ju^]4n\!"[uf&)[EuhuF#? +!!hun#Oh]un,NR[!!Dur#P\E$p]LQk!WW&t#P\~> +Q +q[1 0 0 1 0 0]concat +88 45 true[1 0 0 1 -1276 -2203]@X +imagemask +!!e#S!,qo<!;lfs&&8/Fp](9prr<$0^]4B4!!!8A^]4o'!!)os!!e&4!"[uf!<)ru%tJU!&)[Ef +rVup/J1ps.huEcV!!"*k2uj3Q!!%HJ!$?_2!!hun!.OtK+2A9b#Oh]nIfKHj^^^>Hn,NH<!!!PF +%KHV+!!#4`!"[ul!!Dur!'bu6&)[Zm"8Dir5C`_Ehu`r[p](:YJ,fiD!rrB"!!"*k!!huq!!2ut +!$AuV"8Dir!W2ot+2@jYp](9oqu?^=^]4K3!!!#u!!!PF!!2ut!!)uu!"[uf!W2ot!<)ru&)[Eg +qu?]sIK0?YhuEcV!!!"K!!!8^!!)uu!!%KK!!hun!<)ru!.OtK#Oh]nIK0?J56(Zgn,NH<!!!!` +J,f]@!!%KK!!#66!!Dur!.OtLJ3SPa"8Dir56(`"++O=np](:YJ-!G-^]4E5!!#66!5K\l!!2ut +!'bu6^`VJ7!WE'!++O@L&+BQ"rVup?J,nL<n,NLd!!"*k!+6>i!!2tI!$?^kE"C_(!VsM2++O>F +&'b.Uptu,o!!"th`rH/0Du`*&!#Q6!^]X'c!'UA_*"RSX"5k4#IK0?X*rp[!^^%[Q!!!9%!$D5k +!WVWh!!2Qh"8i-!J%u$~> +Q +q[1 0 0 1 0 0]concat +61 45 true[1 0 0 1 -1364 -2203]@X +imagemask +!!e#S!!hE^!"ZjF!$Ct9!"ZjF!'WLF!"[uf!.57V!"[uf!;m'%!"[uf!;lqL!!hE^!;lkJ!!hun +!;ll5!!hun!;li4!!hun!;liT!!D]j!<)t+!!Dur!<)t;!!Dur!.Fo%!!Dur!.Ou&!!2ip!.Ou. +!!2ut!'buN!!2ut!'bu6!!2ut!'bu6!!)os!$AuV!!)uu!$AuV!!)uu!$AuV!!)uu!"[uf!!%HJ +!"[uf!!%KK!"[uf!!%KK!!hun!!%KK!!hun!!#4`!!hun!!#66!!D]j!!#66!!Dur!J!Cb!!Dur +!Pfe-!!Dur!Pfem!!2ip!5K\l!!2ip!5K]7!!2ip!8nCW!!2ut!8nCW!!2ip!+6>i!!2ip!,rJ( +!!2ip!&+r/!!2ip!&tM0!!2Qh!#Q6!^]X'+!#uN"huhm;!"L(NHk4!m!!iE%+9-ik!!2Qh"8i-!~> +Q +q[1 0 0 1 0 0]concat +43 45 true[1 0 0 1 -1432 -2203]@X +imagemask +!"\Q!!!!"Krr<$!!VdbP!!!,Z"7Q9j#J^B8!!!O[!.FnJ++O>U!!#4`!$?^k56(Zo^]8ia!!hE^ +IfKHRn,Rq<!!DurIK0?Mp]19n!!2utrr<$"rW)ru!!)uurr<$!rrE'!!!*$!rr<$!It7P!!!%M! +rr<$!It3$!!!#7!It.M!5JVc!!!#7!It.M!5JTM!!!",!5JR7!+5e6V!!",!+5d,!+5d[f!!",! +&+BQ!+5dCn!!"+V#P\9!+2A!R!!"+V!W2ot+2@mS!!"*k!.FnJ++O>U!!")@!$?^k56(Zo^]8f` +!!hunHiO-Ip]1'h!!%KNn,NFg+90+V!!!-#!!!~> +Q +q[1 0 0 1 0 0]concat +53 63 true[1 0 0 1 -1472 -2185]@X +imagemask +J,fEH!!!"Ks82is!!%NKqu?]s!!3'!z!<)ruzrVuou!!!#uz!!%HJz!.OtKzIfKHK!!!"Kz!!#4`z +!'bu6z5C`_6!!!!`J,fQL!!"*kz!$AuVz+2@jV!!!!@^d!>L!!!PFs53kW!"\,+p](9o&*EqA!!!!0 +jo?J'!!!8l!"ZjF!!iE%#N,R^#Q+Q(n,NFnp](Ek!!!,r!!2ip!!Dur!;lfs"8DirrVup#p](;D +!!!&p!!%KK!!2ut!.TM!!W2ot5C`_7qu?^]^]4B4!!#7!!!)uu!$C,!!<)ru+5d,!rVup?huEb+ +!!!Q!!!%KK!"\Q!!.OtK&+BQ!IfKHZn,NGQ!!!9!!!#66!!i9!!'bu6#P\9!5C`_=p]5meJ,fiL +!Pfem!!i9"^`U>l"8Dl3+2@jYp]04_huElK!8nCG!!D]j?k;`,"7Q;0&,6,0huI^,p](QW!&+r= +!!g:>3"O=8#J^<V%u5ZGJ,gQ"J\W?-!"L(Npc\ZX#Q=]fp](9pp](i_!!~> +Q +q[1 0 0 1 0 0]concat +41 63 true[1 0 0 1 -1530 -2185]@X +imagemask +!$D7@^]4?Vs8Tk7!$D7@^]4?75MuMA!!!Pfz&)[Ef!!!Pfz#N,R^!!!8nz#Oh]n!!!,jz"7Q9j!!!,r +z"8Dir!!!&pz!VcWp!!!&tz!W2ot!'c#3!!!'"i;<QT"5rtR!!!8>4T5<\%tG.=!!")@#CZXQ56(fc +!!#4`!WN-"IK0BJ!!%HJ!.OtKIK0@4J,oQK!'bu6rVup_J,oQK!$?^krVup?^]=?6!$AuVrr<$0 +^]=B7!"ZjFrr<$0huNcW!"[ufrr<$(huJ7W!!hE^It.M(n,Rrg!!hunIt.M$n,P\g!!D]j5JR7$ +p]*Oo!!Dur+5d,"p])Do!!2ip&)[Egqu?uk!!2ut#Oh]nqu?io!!)os!VcWprVuus!!)uu!;lft +rVuqI!!3'!!'^Ga^An6UJ-3Od!"ZjM*rl9Ci!p7t!!2j7#CldSJ+s+r!!!Pf!It~> +Q +q[1 0 0 1 0 0]concat +47 45 true[1 0 0 1 -1570 -2203]@X +imagemask +!!e#S!!!!0^]4?7!"ZjF!!!!0huE`W!"[uf!!!!0huE`W!!hE^!!!!(n,NFg!!hun!!!!(n,NFg +!!D]j!!!!$p](9o!!Dur!!!!$p](9o!!2ip!!!!"qu?]s!!2ut!!!!"qu?]s!!)oszrVuou!!)uuz +rVuou!!%HJzIfKHK!!%KKzIfKHK!!#4`z5C`_6!!#66!!!%M5C`_6!Pfe-!!!&8+2@jV!5K\l!!!#7 ++5d.g!8nCG!W2rU&+B]!!+6?,"9&:>&(h!`!&+r=!WE'Y&'b4T!#Q6%!<)s<%thY]!"L(On2p[U +quD6A!!2Qh&)[~> +Q +q[1 0 0 1 0 0]concat +38 45 true[1 0 0 1 -1625 -2203]@X +imagemask +!'g5Y!!3-"!!!8^&&8/U!!2Qh)uot`!&srY49.&8!$2,h!!!N0IfKHZJ:E(L#Cq<>!!g;h^]4JP +5JR7$i'5!W"5k9:!!D-aJ,fi4!!!!(huE`W&)[Ef!'fBA!!*&W!!!Q0huEcWs1eU:s8RTL&-)Z[ +!$D7@!!#7`qu?^]s6p!gJ,b$!!.XJ<!!%Ma!!!"KzIK0E,!.FnMn,Rn;"8Dj[!!E-!4ob]_!$2+@ +qu@f=!.4bW!!!u=#Cle6!!C":GQ7d6!:TsgqubjW!'gL6!!!9%!!~> +Q +q[1 0 0 1 0 0]concat +37 63 true[1 0 0 1 -1664 -2203]@X +imagemask +!!)uu!!!-$J,fQS_r(Lp%tO-L!$?_N!!"*k)uos\J.;PZ5C`q<!'bu=!!#66"+UA9J,t0#++OC- +!$?^k^]5Il!8mi!^]<9m+2@ka!"ZjF!!!Pf!!!!0huE`W&)[Ef!!hE^!!!8n!!!!(n,NFg#Oh]n +!!D]j!!!,r!!!!$p](9o"8Dir!!2ip!!!&t!!!!"qu?]s!W2ot!!)os!!!#uzrVuou!<)ru!!%HJ +!!!"KzIfKHK!.OtK!!#4`!!E9$s6p-js8Vips8W,o!!"*k!!!!@^]4?7+2@jV!"ZjF!!!PF!!!!0 +huE`W&)[Ef!!hE^!!!8n!!!!(n,NFg#Oh]n!!D]j!!!,r!!!!$p](9o"8Dir!!2ip!!!&pzp](9o +!,qo~> +Q +q[1 0 0 1 0 0]concat +58 45 true[1 0 0 1 -1700 -2203]@X +imagemask +!!!'!!!g:>!!!Q0J047\!!"*ni-[Ka!!#1_E;1CQ!!%BH3;<s`!!)os*V^*E!!)os&,6A0!!2ip +#P\N(!!2ip"8Dru!!2ip"8DtK!!2ip!VcbI!!2ip!W2tK!!2ip!W2tK!!2ip!W2u6!!2ut!;li4 +!!2ut!<)u6!!2ut!<)ru!!2ut!<)ru!!)os!.FnJ!!)uu!.OtK!!)uu!.OtK!!%HJ!.OtK!!%KK +!'^G`!!%KK!'bu6!!#4`!'bu6!!#66!'bu6!!#66!$?^k!!"*k!$AuV!!"+V!$AuV!Iu9-!$AuV +!Pf6(!"ZjF!Pf6(!"[uf!5K-'!"[uf!8n+O!"[uf!8n+O!!hE^!+6'$!!hun!,r&0!!hun!&+NE +!!hun!&t)M!!D]j!#u+1!!Dur!"K+h!!Dur!!`Va!!Dur!!A"l!!2ip!!3+M!!)Kg!!%HJz~> +Q +q[1 0 0 1 0 0]concat +51 45 true[1 0 0 1 -1757 -2203]@X +imagemask +!!!$!z!!iP>z+2I@G!!!!`!&srY!!%HJ)uos=!.4bVzqu?s%!!!#s!!@`O!!2ip!It.M!VcWq^]4?8 +p](<P!!!&p!!$C,!!2ip!,qo<!VcWp0E;(Rqu?^V!!!&t!!!i9!!2ut!#P\9!W2ot)uos=qu?^* +!!!#u!!!K/!!)uu!"Ju/!.FnJ"onW'IfKHR!!!"K!!!6(!!#4`!!<3$!'bu6!rr<$5C`_9J,fQk +J,f\%!!"+V!!@`PJ02Q,"+UEf&)[Ei^]D4]huEkp!5K-'!!C":i!8`O"2Fop#Oh]u^]7aIn,O!7 +!,r&0!"[uf0E^eE+5d,Y"7Q:ThuF`!n,Rsr!"K+h!.Vca#6Wla5JR7$LVNmS^]4E8J,g[A!!%HJ +!"T&~> +Q +q[1 0 0 1 0 0]concat +73 45 true[1 0 0 1 -1809 -2203]@X +imagemask +!!!$!!!3'!z#QMRMs1eU7!!!PFn/m5>z56*Z,!,qo<!!%HJ*..`'zIK0fS!"8i-!!)os%ep#6zqu?us +!!`K(!!2ut"8Diu!!!!"p](Ek!!@`O!!2ip"8DisJ,fQMp](Ek!!0k8!!2ip"8Dir^]4?8p](Ek +!!(pW!!2ut"8Dir?iU0-qu?cm!!$s<!!2ut!VcWpDu]k=qu?cq!!"\Q!!)os!W2ot2uipYrVuus +!!"tY!!)uu!;lfs(]XO9IK0BI!!!u=!!%KK!<)ru)uos=IfKKJ!!!E-!!%KK!.FnJ$ig8-5C``` +!!!K/!!#66!.OtK%KHJ/++O?@!!!K/!!"+V!'^G`"on[S+2@k@J,ffS!Pf6(!'bu6%fcXG&)[FP +J,g)[!5K-'!$?^k%fcUf#Oh^8^]4lF!8n+O!$AuV++O?!#Oh^8^]5I,!,r&0!"ZjF5C`_f"7Q:$ +huJ7W!&t)M!"[ufs*t(h"7Q:$huNe-!"K+h!!hE_s*t(S"5j.ahuNcW!!A"l!!D-Zrr<$"s*t(M +^]8f`!!%HJz)uo~> +Q +q[1 0 0 1 0 0]concat +56 45 true[1 0 0 1 -1882 -2203]@X +imagemask +!"[uf5C`_65PP6YhuEb%*Wt?q!!)d!#J_;Z!W3%\J.;P[rW/(1#64f)!T*kZJ-#ZMrr<)8!WN0" +!!(pWrr@NK!8mj+!.OtKDu`!#56([;!!!!`J,hP/!!#66!&srY!'bu6(]XO9++O>.!!!!@^]4?7 +!!"+Vz!$AuVz&&8/F!!!!0huE`W!!!Pfz!"[ufz#N,R^!!!!(n,NFg!!!8nz!!hunz"7Q9j!!!!$ +p](9o0E;4M!!!!Y!!Dur!!"tY!VcWp!#P\:qu?]s)up$;!-eJP!!2utrW!E.!WE-"!!`K)rW3$! +!rrB$!WN-%J-#BErr<)8!V:jA!!(pZiP9pC!-eU]i#_q!4qE0_*WQ0Nrr>:Y!!!&t!"[u~> +Q +q[1 0 0 1 0 0]concat +53 64 true[1 0 0 1 -1938 -2184]@X +imagemask +!!*$!z#QN]^!!!!0!VcWp!!!u=IK0?J!&ss#z0E;X!!!!"J!!hE^!!%KK"7Q9j!.TM"p](9oJ%u*[ +!!!"K^]=94!!%Ma!.FnJ!'e7!IfKHK++O>U!!!!0!!#66z!$?^kz+2@jV!!!!@^]4?7!!!PF!!!!" +rX[oe!!!Q0O5L!<!$?j^huE`W4ok?8!!!"H!'frQ!!)os+7K71!;lg-n,NFhp](Qg!!!&p!!Dur +!!2ip"8Dir!VcWqp](9pp](?i!!!&p!!2ut!!2ip!W2ot!W2otqu?]tqu?`p!!!&t!!)uu!!2ut +!<)ru!;lfsIK0?JrVuqI!!!#u!!%KK!!%HJ!.OtK!.OtK56(Z`IfKI5!!!!`!!#66!!#66!'bu6 +!'bu6++O=k++O>5^]4?V^]5Il!Iu9-!$AuW^^o?'&&84]&)[EuhuLP'huF;G!8n+O!"[ufi!8`O +#N,Si#Oh]un,RD0n,N^_!&+NE!!hun3!8XM"7Q:1"7Q9mp](d+huElS!!`Va!!Dur",FYl!VcWq +s*t(Ln,NH;z~> +Q +q[1 0 0 1 0 0]concat +42 45 true[1 0 0 1 -1999 -2203]@X +imagemask +huF#?!!(pW+8>g9Du`-%!!"tYJ,]KK495E]J,gVks8Tk7%tjo^huF;fp^cio#QFc)p](DH!!)co +!Pe[849,B>!!!u=!,qo<*WQ1"!!!K/!#tt="onW5!!!3'!!`K(!!!!$^]4?7!!2!Xzn,NFg!!%6Dz +49,?]!!"&?z%fcS0!!!+Oz!T3qX!!!#gz!-eJD!!!!]z!$2+?!!!!0z!!e#S!!!!$^]4Am!!2!X +!+5d,n,NH-!!%6D!.4bWp](:Y!WW&t!$D7=*WQ0^s7d*)!"],!#CldZs54!0!!E8:!Pe[9s*t*b +!!#1_!5J~> +Q +q[1 0 0 1 0 0]concat +47 77 true[1 0 0 1 -66 -2077]@X +imagemask +z!#tt=!!!!_z!.FnJ!!!"Jz!<)ru!!!#uz!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz ++2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKzrVuou!!)uuzqu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg +!!hun!!!!(huE`W!"[uf!!!!0^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#uz +!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz+2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKz +rVuou!!)uu!!!!"qu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg!!hun!!!!(huE`W!"[uf!!!!0 +^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#sz!W2ot!!!&pz!VcWp!!!&hz +!8mhW!!!~> +Q +q[1 0 0 1 0 0]concat +54 44 true[1 0 0 1 -118 -2085]@X +imagemask +5Q:ug_>j"Ss,[3?s7h*DTE"Zcr."a=s7cQkJ,bT0j8\m=rs/S?s6p-[!;lg]!!D]jquAq]"7Q<g +!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gc +n,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d +56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcp]19n56(f\!<)s_!!DurrW#._"8i0!!'^GcquH`s56(fb +!<7R6!!E6%s1j'`"96:=nGWDPs8W-!rW%HJs7cQm!.Y%KoDe^gJ+s!'s82kHj8Zppp]*Ops+#Ug +!!!!_!"ZjF~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -171 -2085]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -224 -2085]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -277 -2085]@X +imagemask +&-)Z^s8V"As8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+5d,(n,NG1huF#O!!",1!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jV+918K^]4?Vs8W+L!!"+us8RTL!$BPerr<$!+2e-X!!!!@_#O00 +!!"+V+5d,!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +45 62 true[1 0 0 1 -329 -2085]@X +imagemask +"98E$rW!'#s8W*!#QOi(rr<<(s8W*!"98E$rr<*"s8W&u!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV +!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV +!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+V!!!'"s8W+L"98E$ +s1em>s8W,7#QOi(s1ea:s8W,7!WW3"s*t(L+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz ++5d18!!!Pf#N,R^&+Bhn!!!9!&+BQ!#Q>8/!!!-$s7cQo!WW2h!!!$!s6p!g!.Y%,!!!!@s1eU7 +!!3'!~> +Q +q[1 0 0 1 0 0]concat +49 44 true[1 0 0 1 -382 -2085]@X +imagemask +#QOi(p](:!s8W,s!!!Q0s8Vus!"],0s82is&-)\0qu?^%s8W,ozrVuou!!!#uz!!)uuz!<)ruzrVuou +!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrr<$!!!!$!z +!!*$!z!<3$!zs*t(L!!!$!J,fQL!!*%Lz!<9h7zs53kW!!!$!huE`W!!*&gz!<;fozs82j<!!!$! +rW#05!!*#uJ3SPhs8IN;It/(0r]gG_J.M\Z+92@k&-)V6s8RT[s8E-#rr<<(quD6Gz!"\Q!~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -435 -2085]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -487 -2085]@X +imagemask +&-)Z[J,d;+s8Tn7s55"!s1n[7n/q]1_#OH(+92AVs8V!fs8RV!s1eUF^]4W/!!!PF!"[uf!"ZjF ++2@jV&&8/e^]4?F^]6TL!!!PF!.OtK!"ZjFrr<$!&&82E!!!!0^]F?5!!!Pf"8Dir!"\Q(n,NFg +&,6D!!!!!0r"%]c!!!Q/+2@jV!"])oJ,fQL&-)Z[!!!!0s8N'!!!!PerVuou!"[ERz&'+SJ!!!!0 +_u9W9!!!PFrr<$!!"ZkpJ,fQL&&:EF!!!!0^`VJ7!!!PF&+BQ!!"ZjMp](9o&&8;F!!!!0^]FE7 +!!!PF!<3$!!"ZjFIt.M!&&9:err<$0^d%l!J,g+q5QCb6!"Zk0s8RTL&&:F0s*t([^`WUV!!!PFz +!"ZjFz&&8/F!!!!0^]4?7!!!PFz!"ZjFz&&8/F!!!!0^]4?7!!!PFz!"ZjFz&&8/F!!!!0^]4?7 +!"]+Fz+90+V!!!!@s1eU7!!",@J,fQL!$D5kz&,uV0!!!!~> +Q +q[4.8 0 0 -240 640.28 2168.88]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +74 72 true[1 0 0 1 -701 -2082]@X +imagemask +zJ,fQ\z!!(pW!#P\9!!!!"n,NGNz!!2ip!'^G`!!!!$rVuqJJ,fQL!!iN(!.Vca!!!!0s*t*!huEe. +!$D7!!<;fo!T3rBs6p$gqu?`l!<<#m!WW-!!'^Scq#1<orr<$@s8VRQ"96EW!"],0i"(J?J:IV% +s8Tk>j8XW0!!3-"J-#EEzs8N'!J,]KK!!#7_!!#7_z+8>g9&,lP/!!!PF!!!9%z"5j.Z#Q+Q%!!!&h +!!!9%z!;HNo#P\9!!!!"H!!!9!z!'^G`#P\9!!!!!0J,fiLz!!g:>#P\9!!!!!$huF#Wz!!2Qh#P\9! +zp](Qo!!!#W!!%BH#P\9!!-eJD4obi_!!!!=!!#4`#P\9!!"Ju/++OUk!!!!(J,g+q#P\9!!!g:> +#N,j^!!!!$^]4Vt#P\9!!!D-Z"7QQj!!!!$n,NR[#P\9!!!D]j"8E,r!!!!(n,NLa#P\9!!!i9! +!Vcop!!!!0p](?m#P\9!!$Ct9!W32t!!!!`n,NLe#P\9!!.XJ<!;m)s!!!$!huEcV#P\9!!<:sW +!<*5u!!!'"^]4B6#P\9!"93lO!<*5u!!!-$!!!#u#P\9!"9&9#!<*5u!!!9%!!!'"#P\9!#P\9! +!WNE"!!!9!!!!'"#P\9!#Oh]n!WNE"!!!8^!!!-$#P\9!"5j.Z"9&Q#!!!,Z!!!9'#P\9!!T3qX +#Q=u'!!!&h!!!Q/#P\9!!:Tsg+8uN?!!!"D!!#7]&,6,)!'C5]J,BiP!!!!?!!3,p#P\9!!"XSb +s7cWm!!!!(i'782!;lfs!!3-"s53m)zs8W,7!$2+?!!#7`s*t([z#QOc'!!e#S!!!"KhuE`X^]4?7z +!!'e7~> +Q +q[1 0 0 1 0 0]concat +77 72 true[1 0 0 1 -781 -2082]@X +imagemask +z!$Ct9z!!!$!rr<$!!WW3##QOh>!!!6(!!#7`s53kW#J^<>s8W,o!!!,j!!iQ(s82is!W2p^s8VRP +!!!"Ks8W-!!"XS[!$D7@s7cQr^]4?Fs8W,W!!2!X!!E9$rr<$"p](9os8Vus!!)os!!%NKhuE`W +rVuou+8u6?!!%KK!!!PFzIfKHK"5j.Z!!#66!!!&hz5C`_6!;lfs!!#66!!!"Jz5JR7!!'^G`!!#7! +!!!!@J,fQL5JR7!!"[uf!!#7!!!!!(n,NFg5JR7!!!Dur!!#7A!!!!$p](9o5MuMA!!E-!!!%N, +!!!!"qu?]sJ)C;,!!3'!!!%Ma&-)\2rVuous1gSo!!3'!!!3,8%KHJ0rVup!s1eki!!3*"!!E7O +"2Fm;rr<$(s*t..!!*$!!"])0!Up'hrr<$`rr<&o!!*%L!<<#u!;lfss6p9nqu?`r!!*'!s8Vio +!<)rus8W-!huEfW!!*%ks8RTL!WN-"s+C@L!!!-$!!*%LJ%u$a#QFc(s*u3L!!!Q/!!3+M#P\9! ++8u6@s*t.L!!",=!!3+M!.OtK5PtK^s*t(k^]8lZ!!3+M!!hE^J+*F=s*t(Op],g5!!3+M!!iE% +s53kZs*t([s+(-b!!E6$!"]+fs*t(Orr<$0s7lTo!!E6$!$D,Xrr<$(rr<$@p]19n!!iN(!$C\1 +rVup/rr<$@n,Rn;!"]*[!$C,!IK0?is*t)6huJ3+!'gM!!'fBA56(\5s1eV!huFi!!<<)W!'e7! +%tF]\q="B6^]4VT#QO;g!.Vca"7RE4n2p^N^]4E8s8V"!KE&^e!<<*!^^pJFJ,fS!s8RTOs8RTL +!$D7@!!*'!J,fQ[s82is5Q:]`!!3,h!!!Q-z5C`_6z~> +Q +q[1 0 0 1 0 0]concat +55 70 true[1 0 0 1 -869 -2083]@X +imagemask +!!!$!s*t(L!"],0^]4?75QCcQ!!!$!s8Vio!!E9$s8Duu#QOi(rr<$@s8W-!^]6V!rW!2]!.Y%, +!!2ips8RTL!.4hIrVuou*Wc<9!!!!'"97ij!!!!(s53kW!!!9(J,fQL!"])0z&,uV0!!!!@rVuou +!!",=z!$Ct9z+8>g9!!!!`n,NFg!!#7Qz!'fBAz5MuMA!!!"KhuE`W!!%MaGQ7^D!.Ve6zJ%uTQ +!!!"K^^'?/!!%M!!W2ot!.TM!rVuouIt.P!!!!"KJ,k(L!!%M!!.TM!!.TM!J%u$aIt.NK^]4@a +J,k)7!!%M!!.Wo,!.TM!J)C;,It.NKhuEaAJ,k)W!!#66!.Wo,!'bu6J)C;,5C`b6huEa!^]=DM +!!"+V!<9h7!$AuVs1eU7&)[Kg^]4?FhuWk.!!!8^!WRZM!!huos*t(L"8DuuJ,fQLp]LNr!!!"H +"9/?0!!"&Brr=.V!"X_^!'frQ"7uNmJ,TEJs8N*!rVuqJrrN/:!!"**!WRZM!!FBrrr<$!!!gFAz +"6][azs8Duu!!!!`rVuou!!!9'z!!2utz!.4bHz$ig~> +Q +q[1 0 0 1 0 0]concat +77 71 true[1 0 0 1 -922 -2082]@X +imagemask +z!!2Qhz!!!!0rVuou!It.M!.Y"K!!!+O!!!-$s1eU7!Pe[8+92B!!!!#W!!*'!s6p!g!:Tsns8W,s +!!!"H!.Y%Ki-kY+!'^Scs8N'@!!!!`s8W,o!"XS[!$D7@s53k^^]4?Fs8W*!!!D-Z!!iQ(p](9p +n,NFjs8Tk7!!)co!!3-!zHiO-Hs7cQo!!%HJ!!!-#z56(Z`!'^G`!!")@!!!!0^]4?7*rl9@!!hE^ +!!"*k!!!!$n,NFg%tFW[!!2ip!!!PFzqu?]s&&8/F!!)uu!!!8>zIfKHK#N,R^!!%KK!!!8^zIt.M! +#N,R^!!%M!!!!8^zs1eU7#Oh]n!!*&7!!!,j!!!!"s1eU7"7Q9j!!3+M!!!,j!!!!$s*t(L"7Q9j +!!iOS!!!,r!!!!0rr<$!"8Dir!"]&/!!!,r!!!!@rVuou"8Dir!'gA]!!!,r!!!"Kqu?]s"8Dir +!<;fo!!!,r!rr?$n,NFg#P\B$!<:sW!!!9!!rr?$huE`W#P\B$!<9h7!!!9!"+UCO^]4?7#P\CO +!.TM!!!!Q)"+UB$J,fQL&,67B!'bu6!!!Q)!Pe[WJ,fQL+8>lP!$AuV!!",9!T3qg^]4?75O\^3 +!!hE^!!#7Q!:Tsjn,NFgJ+*I5!!)co!!*&g!-eJDHiO-Is53m)!!#1_!!E8Z!'UA_%fcS7s1eV! +!!!7S!"]+F!$AuV!<<*As*t(khuE`W!.Y"K!"\i)!!!'"rVup'rVuou#QO]%!!E8:!!#7`p](9p +s8E!'s8VQg!!*'!s8W-!huE`W5QCc`s8RTL!!",@s8W,uz"98E$s7cQo!!!$!s8W,7z!$D7@rVuouz +J,b$!!!!~> +Q +q[1 0 0 1 0 0]concat +58 70 true[1 0 0 1 -1013 -2083]@X +imagemask +!!!!`s53kW!!!'"s7cQo!!!Q0s82is!!#7`s8N'!!!%NKs8RTL!!3-"s8V!W!!E9$s8VQg!!iQ( +^]F?5!"],-!!%HJ!$D71!!"*k!'gM!!!!,:!.Y"K!!!#7!.XtJz!<;foz!<;Ngz!WV'Xz!WTq8z +"93lOz"93lOz"9/?$z#Q=]'z#Q=]'z#Q+Q%z#Q+Q%z&,[LLz&,8BIz&,68)z&,6/(z&+BQ`J,fQL +&+BQ@^]4?7&+BQ@huE`W&+BQ0huE`W&+BQ0n,NFg&+BQ0p]/)0&+BQ0p]L!c&)[Eup]pQo&)[Eu +r#bq=&)[Eus8W&u&)[Eus8Vus&)[Euq>^3i&+BQ0pj_3%&+BQ@pclOo#Oh^8p^b.?#Oh^8p]l<L +#Oh^8p]1?p#Oh^8p](9o"8Dj\n,NFg"8Dj\n,NFg"8Dj\n,NFg!W2p^n,NFg!W2qIn,NFg!<)tJ +n,NFg!.FothuE`W!'^I5huE`W!"XU0huE`W!!g;hhugap!!2#-i!9#W!!)eDi",hf!!#7`i#i!7 +!!!Q0i#i!7!!!,Ii'6]2!!!!$i.'Yb!!!!"nGhDHzGlPPZz+90+Vz#QMR>z!WRZMz!'bu6z!"XS[z +!!*'"~> +Q +q[1 0 0 1 0 0]concat +64 83 true[1 0 0 1 -1071 -2070]@X +imagemask +!!!9!z!!",@J,fQL!!%NKn,NFg!!*'!qu?]s!!3,XIfKHK!!3,8%tFW[!!E6$#J^<>!!E3#"7Q9j +!!iK'!VcWp!!iE%!;lfs!!iE%!.FnJ!!i9!!'UA_!!i9!!'^G`!!i9!!'bu6!!i9!!$?^k!!i9! +!$AuV!!i9!!$AuV!!i9!!$AuV!!i9!!$C,!!!i9!!$C,!!!i9!!$C,!!!i9!!$C,!!!iE%!$C,! +!!iE%!'fBA!!iE%!'fBA!!iE%!.Wo,!!iE%!.Vca!!iE%!<9h7!!iE%!<7QL#RC8-!WRZM%M/I; +"9/?$&-)P-"9/?$"989!#Q=]'!WVop&,lP/!.XbD&,ZD-!$C\1+8>g9!!2!X5PP3Yz5O\XQzJ)C;,z +s1eU7!!!!"s1eU7!!!!"s*t(L!!!!$s*t@T!!!!$s1f$C!!!!(rnngt!!!!0rcgU,!!!!0r'12] +!!!!@p`KNd!!!!@p^dCT!!!!@n-Asn!!!!`huiuZ!!!!`huWfW!!!!`^]=?6!!!!@^]8`^!!!!@ +^]6=o!!!!@^]4oG!!!!0J,fQL!!!!(^]4?7!!!!(^]4?7!!!!$^]4?7!!!!"huE`W!$D7AhuE`W +!+5d,Du]k<!+5d,2uipY!+5d,*WQ0?!,qo<%tOET!&+BQ"69@\!&+BQ!WW0"!&srY!.Y$!!&srY +!<<)7!#tt="98DZ!#tt=&-)\!!"Ju/5QCcY!"T&0s8VkA!!g:Es8TkU!!i!Xs8N'0!!E9$s82j% +!!3-"s7cQr!!*'!s53kX!!%NKs*t(L!!",@qu?]s!!!9(n,NFg!!!$!z~> +Q +q[1 0 0 1 0 0]concat +66 72 true[1 0 0 1 -1140 -2082]@X +imagemask +!!!!`p](9o!!!!$s8RTLz+92AVz!.Y%Kn,NFg!!3-"s7cQo!!!-$s8Vus!!!!(s8W-!z+92?@5C`_6 +!'gMY!!hE^!!#7`^]4E)!!!"Krr<$!HiO-Hs8Duu!'UA_!WVop!!"*k!!3,h!!!!0^]4K:huE`W +#N,Res1eU7!!hE^#QK;S!!!,j!!iN(!!!!"p](j(z!W2p.rVuou!!2ut+8c*=!!!#u!$Ct9zrW"&8z +!<3$@n,NFg!!%KK5O^W4!!!"K!'ft&zIt0cA+5d,!!.TM`i!9#W!!%M!5MuYA!!!"KJ3UgMrVuou +J&":a!<3$!!.Ve6^]=Cb!!%MaJ%u&6^]4@a^jj-"J%u$as1j-"!.Vca!<9ia^]6UW!!3,8It.M` +huEfXJ:E(L5MuMDs+#TL!'fBA#QK<=J,k)W!$D4@5C```huH"A!'bu6J)C>,rW#05!.XJKs82j] +^]8las8Vio5JR8Ks8W,g!$AuVs53kVhuFk7!<:+>s1eUV^]=DNs8Duu&)[Hf_"[m0!"[ugs+#Is +!!!Pf!WRZk!!!!(n,`Q>%fcS0"7Q?kJ-Wji!!Duss*t40!!!#s!WRZNn,NFg4otZ`!-eJD!$;7A +!!#+]!!!7Trr<&u!!!!"nc&Rkrr<$!!<2uu#QK;S!!#7`!"]+f!!!!0It/X@n,NFg"s8@[s7cQo +!!!PFJ,f9D!!!!$^jl7fz!T="Iz!!$tfhuE`W!!!!Y5JR7!z#TnQsz!!!N0z!!!!(zz!WW3#~> +Q +q[1 0 0 1 0 0]concat +67 79 true[1 0 0 1 -1210 -2072]@X +imagemask +z!$?^kz!!%Maz!!!$!n,NFgzs7cQoz!.XtJz!!#1nz!!!!=#CldSz(^%PRz!!i\bz!!!!"n,NFg +&-)\1!;HO"!&+BQ!!)uu(]\d\!!!#u!"K#,zIfKu[rVuou!.OtRL]7>S!!%KK"98CO!!!"KJ-#]M +J,fQLIt.P!s1eU7!.TM!J,J4)!!%M!!'g6t!!!!`^]5JGDu]k<5JR7(^c2;o!'e7!!!#+]!!#7! +!!!!?!!!!`^]4?7*WQ0?5JR7!!$;1@!'e7!!!")@!!#7A!!!!@!!!!`huE`W5C`_65MuMA!'bu6 +!'fBA!!%KK!!#7A!!!"K!!!!`huE`Wrr<$!5MuMA!<3$!!'fBA!!3*"!!#7A!!!'"!!!!`huE`Z +rVuou5MuMA"9&9#!'fBA!!iK'!!#7A!!!9%!!!"KhuE`fqu?]sJ)C;,&,ZD-!.Wo,!$D1?!!%N, +!!",?!!!"K^]4@!rr<$!s1eU75PK[.!<9h7!.X$Z!!*&7!!%N-^]4E8^]4B7^u,1ps1eU7s1iRR +"93lO!<7R3!!iOS!!3+M*WR;^J,fWMJ.I21s*t(Mrr<0$s8N'!!WN-#s8W&u!!3*"!.Y%D!!!'! +!!#7`huE`XrVup/s*t(L!<)ru#Oh]n!!)uuz!!!#uzzIK0?Jz!'^G`z!!#4`z!!!!@J,fQLz%tFZTz +!!g:ErVuou!!!,:5Q:]`!!!!"i;`h-z!;$6jhuE`W!!%NKs6p!g!!!!`s8Vioz+91hXz!"]*[*WQ0? +!!!9'!"T&0!!!!"qu?hLz!;HNpJ,fQL!!$s<!.Y%~> +Q +q[1 0 0 1 0 0]concat +56 71 true[1 0 0 1 -1282 -2082]@X +imagemask +!!",!!!!!"!<;rs!!!&9s8RTL!!2ios53kW!<<)7n,NFgJ,]L2!!!"KrW!u>!!#7]!"XS[!$D+= +#J^<>&,6,,huE`^p](Ec!!!,j!!2ip!!2Qh!VcWp!:Tshqu?]s?iU3+!!!!A!!)uuz!<)ruzrr<$! +!!!$!z!!%KKz!.TM!zIt.M!!!!"KJ,fQL!!%M!z!.TM!zIt.M!!!!"KJ,fQL!!*%Lz!<7QLzs*t(L +!!!$!J,fQL!!*%Lz!<7QLzs*t(L!!!$!J,fQL!!*%Lz!<3$!!!!!"rr<$!!!!'"z!!3*"z!WN-" +!!!!"rr<$!!!!'"z!!3'!z!WE'!!!!!"rVuou!!!'!z!!3'!z!WE'"zrW!$#!!!"J!!@`O!!%KK +!It.M!'^Ga^]4?7*rl;V!!!!0J,nL-!!!,:!8mhW!!0k8Du]k<JD^EP!!!8^Du`!#!'g5q!'UA_ +s8EE,*rlQGrr<$@i'78AJ,g,[s8W,W!"],0s5WSK#QOi(!-eJGs8Vus)up$>s6p"!!!*'!^]4H: +!'gG_z&+BQ!!!~> +Q +q[1 0 0 1 0 0]concat +55 82 true[1 0 0 1 -1337 -2071]@X +imagemask +!!!-#z!$D6Vz5QC3Q!!!"Ks82is!!*&W4obQ_!WRZ\!!!!"rr<:S!!!-#!!C":!!E3#!T3qX"8i-! +n,NFjqu?`l!!!-!!!%6D!!E-!!.4bH#P\9!HiO-Op](;C!!!9!!!%HJ!!i9!!.OtK#P\9!IfKHR +p](;D!!!Q)!!%KK!"\i)!.TMY5PP3YIt/X@p](;DJ.M\T!!%M!"98,r!.OtLs6p!gIfKIuhuEcW +!!!PF!!*$!z!<3$!zrr<$!!!!'!z!!3'!z!WE'!!!!!"rVuou!!!-#z!!E-!z"8i-!!!!!$qu?]s +!!!-!z!!iE%z#P\9!!!!!(p](9o!!!9!z!!i9!z&,6,)!!!!0p](9o!!!Q!z!"\Q!z&+BQ!!!!!0 +n,NFg!!!Q!z!"\Q!z&+BQ!!!!!(n,NFg!!!,jz!!D]jz!VcWpzp](9o!!!"Hz!!#1_z!$2+?z%fcS0 +!!!!(z!!!+O!8mhW!!0k8?iU0,!8mir!!!7S?iW.d!$C,!!&srYJ+s!D)up!=rr<$?!!3-"^]4lF +#QOhn!!g:]s588)#Om6CJ.;P]s8W&u!WW9$s82is!!*'!n,NFg!.Y%,z5QAM!!!!!@rr<$!!!!Q-z +!!D]j!!!~> +Q +q[1 0 0 1 0 0]concat +71 71 true[1 0 0 1 -1392 -2082]@X +imagemask +!$2+?!!!#o!!%M!!!!!"rVuruhuE`W"9/?%s6p!g!!iP>"98,r!!!9(i!9;]!!!!0s6p9n%fcS0 +&-)D,rW@ZN!"],-!W2u6!!",=%KQ8(huEa!p]:Hb!8mhW+7K71DufA-!$C,!!$D8d!!",!!!",A +HiO.2huE`W!.4bH5JR7!!!%HJ!'e7!!!!"J!!#7!zIK0@4^]4?7!.OtKIt.M!!!%KK!.TM!!!!"K +!!%M!zrr<'!J,fQL!<3$!rr<$!!!*$!!WN-"!!!$!^]XT:zs7d-(z!<<*!rVuou!!3*As82is!!!'! +#QO]%!!!!"rW3&gz!WE'`^]4?7!!E3#&,6,)!!!-#!!3'!!!!!$qu?_HJ,fQL#Q+Q%&)[Ef!!iE% +!"\i)!!!9%!!!Q/!!!!0rVup?s*t(L&,lP/+9-ik!"])0!'frQ!!!Q,J,hgl!!!!0n\>,h^]4?7 ++7S1gJ%u$a!$C]L!.Vca!!",12uru/!!!!@n/_W1J,fQL+5dZ^s*t(L!$C,$s8N'!!!!Pf!WW0" +!!!!0huNfVz&)[FPrVuou!!hE^&,ZD-!!!8^!!D]n!!!!$n,NFg"onW'!Up'h!!WE'!!2Qh!!!6( +!!!#g!!!!(zGQ7^D%fcS0!&srY!"T&0!!#+]!!")@!!!!?!!!!@J,fQL%fcS05C`_6!!e#S!.TM! +!!!,:!!3+M!!!!"n,N^nJ,fQL!.Fo4rr<$!!!#7`s8Duu!!!!0s8Vusz"98Djz!!*'!^]4?7!!!!0 +rVuo~> +Q +q[1 0 0 1 0 0]concat +67 71 true[1 0 0 1 -1458 -2082]@X +imagemask +z!!iN(!!*'"!!*'!huEk0!!!9(s6p!h^]4@!s8Vio!Pe[9s8W,s!!2!X&-)\0qu?`d!'gM`s8Duu +p]:Eps8W&u!.5%Os8W-!!!%Its8VQhrr<$`s8W&u!'bu6+92B!!!"*k!$D7@!!!!(J,g,[qu?]s +"+U@Vs53kW!!C":#QK;S!!!&8!!%Ma!!!!"^]4?F^]4?7!5JR7!T3qX!!(pW!!)Kg!!!",!!!!Yz +?iU0,)uos=!+5d,!$2+?!!#7a!!!K/z!!!!0zz%tFW[z!"ZjFz!!!Pfz!!!!@huE`Wz+5d,!z!$C,!z +!!#7Az!!!!`huE`WzJ%u$az!.Vcaz!!*&7z!!!$!J,fQL!!!!"s*t(Lz!WRZMz!!E6$z!!!-$z!!!!( +rVuouz#Q=]'z!"\u-z!!!Q-!!!+O!!!!0p](:)qu?]s+8>g9+9-ik!$Ct9!$D5k!!",1!!#7Y!!!!@ +n,NGQhuE`W+7K715MuMA!$C,!!'fBA!!",!!!",!!!!!0huEa!huE`W&)[Ef+7K71!!hE^!$C\1 +!!!8^!!",1!!!!$huEa!n,NFg!T3qX+7K71!!)Kg!$C\1!!!#g!!",1zGQ7^cn,NFg!'C5]5O\XQ +!!"&?!'frQ!!!!(!!%N,z"2Fp:huE`W!!2j"s53kW!!!"Ks8Tk7z+92@kz!!E9$z!!!!`p](9~> +Q +q[1 0 0 1 0 0]concat +108 72 true[1 0 0 1 -1524 -2082]@X +imagemask +!!!'#z!!!!1!!!'##64`H!rr<$!&srY!rrj^!&+Y.!!!!]!!!+O+2@k9+2@jV!.OtK!Pj3C!'WX* +!!!"KJ,fW.s6p"1s53kW!<9h7!<<)s!"],!!!!$!n,NH<s8E!'s7cQo!WVop!.Y%+!!E9!!!!-$ +qu?^]s,V[4s8Duu"98B$!$D4C^]FJ\!!!9(c[Z!+rW1pWrs&N(#QK@*!!iE%n,Rh@J,fiS!'gMb +n,Rh9!!C":#QFc(z4obQbhuF#]z!!#4`!!2Qh#Q=]'z*rl9An,N^kz!!"*k!!2Qh#Q+Q%z%tFW\ +p](Qsz!!!PF!!)co#Q+Q%z&&8/Fp](Qsz!!!PF!!)os#P\9!z#N,R^qu?usz!!!8^!!)os#P\9!z +#Oh]nrW!2uz!!!8n!!)uu#P\9!z#Oh]nIK0WJz!!!,j!!%KK#P\9!!:Tsg"8DirIfK`K!!!"H!!!,r +!!%KK#P\9!!'UA_"8DirIfK`K!!!!0J,f]H!!%KK#P\9!!!g:>"8i-!It.e!!!!!$huElW!!%M! +#P\9!!!D]j"8i-!It.Xr!!!!"n,NRg!!%M!"8Dir!!2ip"8i-!It.Xr!!!!"qu?is!!%M!"8Dir +!!E-!"8i-!J%u0a!!!!$qu?is!!%Ma"8i-!!!iE%"9&9#J%u0a!!!!0qu?iu!!%Ma!W2ot!"\u- +"9&9#J%u*_!!!!@p](Eq!!%Ma!W2ot!'g5Y"9&9#J%u'`!!!"Kn,NRi!!%Ma!.FnJ!<;Ng"9&9# +J%u%J!!!$!huElY!!%Ma!$2+?!WTq8#Q=]'J%u%+!!!'"J,fiR!!*&7!"T&0"93lO#Q=]'s1eU> +J,f]O!!!9'!!*&7!!0k8"9&9#&,lP/s*t(OhuElW!!!Q-!!*%L!!hun"8i-!&,ZD-s*t([qu?io +!!",=!!3+M!"]&/"8Dir+8u6@s*t([s*t.F!!#7_!!3,8!$D6V!VcWp5Q:]cs1eUVs6p$`!!%NK +J-5i0!$C\A!-eJDs80S:s6p"Qn,NGN!!3,ii",g3!'fBA!'UAbs7#f5r]C0FhuEa!!"]+fJ,fEf +!.Vca!"Zkps1gl!r"">X^]4?:s8W+L&-)D0oDcT+!!3-"rr<0$n,`RhJ,fQLs8W&u!<9h7s8RTL +!!#7`qu?]s!!#7`z&-),!z+9)<@!!!$!J,fQL!!!9'zzz!;HNo~> +Q +q[1 0 0 1 0 0]concat +86 70 true[1 0 0 1 -1628 -2083]@X +imagemask +!!!8^z!.Y%L!$Ct9!!!!"^]4?75PtK]!!!,Z!!!"Krr<$!!!Dur!!*'!J,fQL#Q+Q%!<<)7!!!!( +rr<$!J)Tks!!!Q0J,fR6J9V%o!$D6V!!")@)uos=+91g1!"Ju=!!!!`r&=ZV%KH_6!!#7Y#QOi- +!!g:>!.XJ@z"2Fm:5O\XQ!!!!$huEaAhuE`W!!!&h!!#7Az!!2Qh!'e7!z!Up'hJ%u$a!!!!"p](;D +^]4?7!!!&p!!%Maz!!)os!.TM!z!;lfsIt.M!zqu?_HJ,fQL!!!#s!!%M!z!!)uu!.TM!z!<)ru +It.M!zrVuqJJ,fQL!!!#u!!%M!!!$C,!!)uu!.TM!!;HNo!<)ruIt.M!49,?]rVuqJJ,fQk!!!#u +!!%M!!!!O[!!*$!!.TM!!!g:>!<3$!It.M!"5j.Zrr<%KJ,fQOn,NIg!!%M!!!!,r!!*$!!.TM! +!!Dur!<3$!It.M!"8i-!rr<%KJ,fQSqu?`s!!%M!!!!Q-!!3*"!.TM!!"\u-!WN-"5C`_6+8c*> +rVup_J,fR6p](?o!!#66!!%ND!!3'!!$?^k!.XJ<"9&9#&&8/Fs53kZrVup'^]4E8^]4K9!!!8> +!!3,8!!E3#!!C":"93lO#Q=]'!T3q[rr<$(rVuouhuElY!!!9'!!!"D!!E-!!"])0!!E-!"8i-! +&,uV0"9&9&p](:9s*t(Srr</r!!",@J,fiS^]F31!'gM!!!iP^!VcWp5Pr4r&-)D)p](;Dq;;5` +rYPY1!!*&gn,O!o!!%BH!WVZa!$Ct9!'C5`s588)+7K714obifi'%-*n,NG1J.M[q*rpf[!!!Pf +J,b$@_#N<m!!iQ(s*tX[s53kW!WW3"!!iQ(huE`Ws8Vus!WW28!!!!`s7cQos8RTL!!!Q0huEaA +rr<$!!!3*"!!!9%!!!~> +Q +q[1 0 0 1 0 0]concat +77 76 true[1 0 0 1 -1711 -2082]@X +imagemask +z&,ZD-!!!-%!!3-"^]4?7"onW6s8VQg!!!N0!.Y%Kqu?]s#J^HAs8W*!!!!,j+92B@s*t(L!WW3" +s1f0'!!!$!s8Vio!Up'h!<<*!^]4@^!!!"Ks8Duu!$2+?!'gMY!!!!0!!!!@s1eU7!!g:>!"])0 +!!!!$huE`^n,NFg!!2Qh!!2Qhzp](9oHiO-H!!)os!!#1_zIK0?J*WQ0?!!%HJ!!!N0z56(Z`#CldS +!!#66!!!8>z++O=k#J^<>!!"+V!!!,Zz+2@jV"7Q9j!!"+V!!!,jz+5d,!#Oh]n!!!Pf!!!9!z&)[Ef +#P\9!!!!Q!!!!9!z&+BQ!&,6,)!!!Q!!!!Q)z&+BQ!+7K71!!!Q!!!#7Qz&,6,)J+*F<!!!Q)!!%N,z +&,6,)s1eU7!!!Q)!!3,8z&,6,,s*t(L!!!Q)!!E7Oz&,6,0rr<$!!!!Q)!"])0z&,6,8rVuou!!!Q) +!$D+=z&,6,Hqu?]s!!!Q)!$Ct9z&,6,Hp](9o!!",9!$Ct9z+8>gHn,NFg!!",9!"\Q!z+8>gHn,NFg +!!#7Y!!hE^z5PP3`huE`W!!#7Q!!D]jzJ+*F=n,NFg!!%N<!!2Qhzs6p!gp](9o!!3,X!!%BH!!!!" +s53kW4obQ_!!E8:!!!N0!!!!0s1eU7#CldS!$D5k!!!,:!!!$!s*t(L!.Y%L&-)Y0z5QCc`rVuou +!!*'!s8Vus!!!!"s8W-!p](9o!!E9$s8V!W!!!!$s8W-!J,fQL!!E9$s8Duu!!!!$s8W,Wz!!E9$ +huE`W!!!!"s*t(Lz!!)oszzGQ7^Dz!!"tYzz(]XO9z!!!E-z~> +Q +q[1 0 0 1 0 0]concat +83 91 true[1 0 0 1 -1794 -2063]@X +imagemask +z0E;(Qz!!!"Dzz!!%HJzz!'^G`zz5C`_6z!!!!`huE`Wz!!#7Qzz!'g5Yzz+8>g9z!!!!@n,NFgz +!!",1zz!$C\1zz+7K71z!!!!@n,NFgz!!",1zz!$C\1zz&+BQ!z!!!!0n,NFgz!!!Q!zz!"\Q!zz +&+BQ!z!It.\n,W@d!!!!"J,g,L#QFc(!!!&8!"\Q`s1eU7!!(pW&+T]"n,NFg!:Tt!s8W,ozGQ89S +s8Vus!!!!]!"],0s8Duu!!#1_+92B1*rl9@!$?dls8RTSJ,fQL&-)\0qu?i7!!!!0s8W,W!!0k8 +!!!9(s8N'!!8mhW!!E9$p](9ohuE`W!<<)g!!!#gzJ,f!<!!$s<!!!!0s6p!g!-eJD!!!!0n,NFg +p](9o!!!Q!!!!#oz!"\Q!!!)coz&+BQ!!W2ot!!!!0n,NFhqu?]s!!!Q!!!!-!z!"\Q!!!E-!z&+BQ! +#Q+Q%!!!!0n,NFnqu?]s!!!Q!!!!Q)!!$C,!"\Q!!$Ct9!;HNo&+BQ!+8>g949,?ln,NGQn,NG1 +!!!Q!!!%N<!!!O[!"\Q!!.Wo,!!g:>&+BQ!s53kW#N,Rmn,NIg^]4?:huF;W!!3+M!!!,j!"\Q! +!WRZM!!Dur&+BQ"rr<$!"8Dj,n,NLg!!!!(p](io!!3'!!!!Q-!"\Q!!<)ru!"\u-&+BQ!qu?]s ++8>gHn,NH9!!!!`p](io!!#+]!!%N<!"\Q!!$2+?!.XJ<&+BQ!%KHJ/s53kfn,NFn!!!'"^]4o7 +!!!+O!!3,8!"\Q!!!0k8"93lO&+BQ!"5j.]rr<$@n,NFnn,NRi!!",1!!!Q)!!E-!!$Ct9!$D1? +"8i-!+8>g9+9)<Cp](:9qu?^=s1ea3!!#7]!!",@huiHK!'gG_!'g6$!Up'hJ,]KK5MuMBn,NH< +mskC&huEcH!!*&^J,hgl!!)co!<;)p!'fBA!-eJEs2!Un5MuMA49,K`_!h=g^]4?U!!iOSHiSZ3 +!!")@+9-jT!.Vca!"ZmFrr=-ls1eU7"98E$!"],0^]4?8s8W&u"98CO!!!$!s82its8RTL!!#7` +p](;Drr<$!!"]+f!!",?z!WN-"!!Dur!!~> +Q +q[1 0 0 1 0 0]concat +81 80 true[1 0 0 1 -1877 -2078]@X +imagemask +zz$ig8-z!!!"Kzz!!3,8zz#QO8nz+8c*\s82j"!!!'"s+#V!rr<6'!$D7@i;`g!J.DV[J,fQEs82tL +#ClpVs8W-!n,Rt@n/q]1s8W,W!!!'"s8W,7&-'EF!!*'!s7cQps*t(L!<<*!^]4@azJ,fKJ!!"&? +!!!!`s7cQo!"T&0!!",@^]4?7#CldS!"])0!!!!$^]4?7#Oh]n!!!&h!!!!"n,NFg!!)Kg!!!"Hz +!;HNo!!#1_zHiO-H!$2+?!!!"Hz%fcS0!!#1_!!!!(J,fQL!'UA_!!!8>z56(Z`!!g:>!!!!@z"5j.Z +!!"*k!!!!$n,NFg!$?^k!!!,jz+2@jV!!hun!!!!0^]4?7#P\9!!!!PF!!!!(p](9o!"[uf!!!Q)z +&)[Ef!"\i)!!!!0huE`W+8>g9!!!Q!!!!!`n,NFg!"\Q!!!#7Qz&+BQ!!.XJ<!!!!0n,NFgs53kW +!!!Q)!!!$!^]4?7!"\i)!!3,8z&,6,)"93lO!!!!0p](9rs*t(L!!!Q)!!!9(z!"\i)!"])0z&,6,) +&,lP/!!!!0p](:9qu?]s!!!Q)!!",=z!"\i)!$Ct9z&,6,)+8>g9!!!!@p](:9p](9o!!",9!!!Q!z +!$Ct9!"\Q!z+8>g9&+BQ!!!!!`p](:!huE`W!!#7Y!!!8^z!'frQ!!D]jzJ+*F<!Up'h!!!"Kn,NFh +n,NFg!!*&g!!!#oz!<:sW!!%BH!!!!"s53kW!'UA_!!!-$^]4?7%fcS0!!iP>!!!!(J,fQL+9-ik +!!!,:!!!"Ks*t(L!!%NL!!E9$z!!%NKs8W&uz!WW3"s82is!!!!$s8W-!p](9o!!!-$s8W,Wz!!E9$ +s8RTLz"98E$rVuou!!!!$s8W,Wz!!!'"s53kWz!!*%Lzz!.4bHzzGQ7^Dz!!!!Yzz!!!i9zz!"8i-z +~> +Q +q[1 0 0 1 0 0]concat +85 71 true[1 0 0 1 -1959 -2082]@X +imagemask +!!!'#z!.Y%M!!`K(!!!!"^]4H:%tFW[!!!&X!!@`n^]4?7!!Dur!PgqXz"8i-!nGi7`!!!!(rVuru +s82is!!!9(J,k*!rVuou!"]+F!'gM0z+917!+9.+H!!!!@rqHI(rr^%:!!#7](]Xg?!Up'h!'g5Y +!!2utp](9o5O\XQ!-eKk!!!!`n,NFg!!#1_!!#7Az!'^G`!'fBAz*rl9@5MuMA!!!!@J,fR6^]4?7 +!!!O[!!#7!z!"ZjF!'e7!z&&8/F5JR7!!!!!(^]4@!J,fQL!!!8^!!#66z!!hE^!'bu6z#N,R^5C`_6 +!!!!(n,NGQJ,fQL!!!8n!!#66!!",A!!D]j!'bu6!,qo<"7Q9j5C`_6HiO-Kp](;DJ,fQj!!!,r +!!%M!!!!N0!!Dur!.TM!!!e#S"8DirIt.M!#J^<Ap](<oJ,fQOhuElW!!3+M!!!,j!!E3##QK;S +!!D]j"97:$s*t(L"8Dius8W-!!!!!$p](Eos8W&u!!!9%!!E-`s7cQo!"\u-"8iE(huE`W&,6,, +quD3H!!!!@p](Eo!$?^k!!#7Y!!E-!#N,R^!.XJ<"8i-$n,NFgJ)C;/qu?`p!!!$!huElY!!#1_ +!!3,8!!iK'!"XS[!WRZM#Q=]'"5j.]rr<$(qu?^=n,NRi!!!9%!!#7_!!E3#!"\u-!'gL6"8i-! +&,lP/5QBXDp](:)rVup_s1ea3!!",@!!%N,!!D]j!$D4@!.Vca!Up'h5Q?66J%u$bn,NGQs1eVa +^]4B(!!%NK^]8l"!!)co!<;ZK!.Vca!-eJEs7,RYs1eU749,K`nG!"`^]4?u!!iP^Hia7t!!")@ ++90,?!WRZM!"Zkps*u2Hs*t(L#QOi(!"],0J,fQMs8W&u#QOgS!!!$!s82its8N'!!!#7`p](<o +rVuou!"]+f!!#7]z!WN-"!!D]j!!~> +Q +q[1 0 0 1 0 0]concat +70 72 true[1 0 0 1 -2050 -2082]@X +imagemask +!!!!`rr<$!!!!!(s8Vioz+92B@z!<<*!s53kW!!3-"s8Vio!!!9(s54"Y!!!!0s8Duu5C`_6+91g1 +!!g:>!'gM!!!!&X!!%NKzn,NIgrVuou!.4bHs7cQo!!#1_!WVWh!!!!?!!E8Zz%fc_3^]4?7!"XSb +s*t(L!!!8>#QK;S!!!!(^^'l>z#N--lz!!D-iqu?]s!!!,j+8c*=!!!!$n/qE*z"7RE-z!!E!<n,NFg +!!!,r5O\XQ!!!!$pcn6Jz"8G+=z!!E-`huE`W!!!-!5MuMA!!!!$r'.ssz#Q-g%z!!iEd^]4?7!!!Q- +J%u$a!!!!0r-s4sz+8gV=!WV'X!'g6CJ-Z,S!!*&o5Ca:Es7c]rpcj9Ns8W-!s6r7'+92B@s8VRQ +J3X)6s8W,W5Cbuf"98E$^d!?6huH"Arr=-k5JR7"s8E!?J3UgL!$C\1++QS+z!$?_5J,fQL!!!O[ +++O=k!!!!0^^n3\z#J^kcz!!g:E^]4?7!!!8>!T3qX!!!!$huN6Hz!T3r?z!!2Qh#QOi)!!!#gz +#CldSp](9o!$C,!!-eJD!!%ND!!#+]!!!'"rVup>!!!!(s8N'!%fcS0&-)Z[!!e#S!'gM`^]4JP +!!*'!s53kXhuElZs+0Y>!;HO)s82k9!!#+]5QC3Q(]XOXJcGbc!#P\9#QOi(!!!E-!!3-"qu?^* +!!!"Ks6p!g"98E%&-'EFz!!3*"z!!!!=z~> +Q +q[1 0 0 1 0 0]concat +71 73 true[1 0 0 1 -2125 -2082]@X +imagemask +z!!e#Sz!!#7!!!!!#!!!$!n,NFg#64`+s7cQo!!C":&-)V/!!!&X!$D7@zp],gDs*t(L!.P+Ns8Tk7 +!!#7`s8W,W!!!!@s8Virn,NFg&-)[F!;HNo!!E9$!!#+]!!!'"qu?^<zs82is#64`(!.R04!!<3$ +!!!!0!!!$"z#CldSz!!C":z!!!&Xzzn,NFgz!:Tsgz!!%6Dz!!!"HzzIK0?Jz!.FnJz!!%KKz!!!$!z +zrr<$!z!WN-"z!!3*"z!!!-$z!!!!(rVuouz&,lP/z!$D+=z!!#7]z!!!!`p](9ozJ+*F<z!<;Ngz +!!3,Xz!!!'"^]4?7!+5d/s*t(L!!$s<"9/?$!!!#o!!iK'!!!!"qu@!$z!WE'(qu?]s!!3*""8i-! +!!!'"!!Dur!!!!$qu?ioz"8Disn,NFg!!D]j!Up'h!!!,Z!!)co!!!!$huEb%z"5j.ZGQ7^D!!2!X +!'C5]!!!&8!!!u=!!!!"huE`uz!8mhW%fcS0!!(pW!!e#S!!!"<!!!,:zDu]k=huE`W!&srY!Uq3# +!!!u=!!*'!rVup.!!!"Ks8N'!%tFWbs8W+L!!huns8W-!^]4E8s8W-!s1eU7s8W-!s8V!W!.Y%K +s8R`@!!",@s8Tk7GQ7^Gs8Vio!#P\9!'gG_!!!E-z!!!!%zz!W~> +Q +q[1 0 0 1 0 0]concat +70 72 true[1 0 0 1 -2192 -2082]@X +imagemask +!!!!@^]4B8!!!!"s6p!jJ,hh7&-)D)"2FnE!'gM]!!hunDup"=rW!2u!&tMhs8N'(qu@i=s8W+L +&,uV?s8W*(^^pHq#QOi!!T5("^^'o>^]<jGs6p-jrr<%D5QCKZs7cQo*'a38!<7QL!$6XZ"99JC +!!!OZn,NG!!!!!(s53kW#CldS"979Z!!C":!!3,8!!!&X!!!$!^]4?7n,NFgs*t(L!-eJD!<7QL +!!%BH!!*%L!!!!]!!!"KJ,fQL4obQ_It.M!!'^G`!.OtK!!"*k!!%KK!!!!@J,fS!z+2@jVIfKHK +!$AuV!.OtK!!"+V!!%KK!!!!@^]4@az+2@jVIfKHK!'e7!!.OtK!!#7!!!%KK!!!!`^]4@azJ%u$a +IfKHK!.Vca!.OtK!!*%L!!%KK!!!$!J,fS!!!!!"s*t(LIfKHK!WRZM!.OtK!!E6$!!%KK!!!9( +!!!$!!!!!(rVuourr<$!&,lP/!<3$!!"]&/!!*$!!!",=!!!$!!!!!@qu?]srr<$!5PP3Y!<3$! +!'g5Y!!*$!!!#7Q!!!$!!!!"Kn,NFgrr<$!J)C;,!<3$!!.Wo,!!*$!!!%Ma!!!$!!!!"K^]4?7 +rr<$!J%u$a!<3$!!'e7!!!*$!!!#66!!!$!!!!!@^]4?7s*t(L&&8/F!<7QL!"ZjF!!*%L!!!8> +!!!$!J,fQOhuE`Ws*t(L!T3qX!.Vca!!)Kg!!"+V!!!"D!!!!0^]4?749,?]"5j.Z!$2+?!!2Qh +!!!N0!!!#o!!!!(J,fQL2uipY"2Fm:!#P\9!!%NLz~> +Q +q[1 0 0 1 0 0]concat +86 71 true[1 0 0 1 -2257 -2082]@X +imagemask +z!!",!zz!<;Ngz!!!!(s82isz!!",@rVuouz!.Y%Kzzs8W,7!!!!9!!!-$rr_0Z!!!u=!"],)!;HNo +!"Ju/5QBXA49,?]#64c(s*t)5!!!!$^]XW9!!")@!!!&p+92*9!$?^k!!*'!s6p!g&&8/F!'gM` +^]4?FhuE`W+92?@!!!Pf!!!!0s82is!"\Q!!!!9(n,NFg&+BQ!!!3,8!!!!(p](9o!$?^k!!!9!z +"2Fm:!!i9!!!!!"huE`W#P\9!!!!#g!!!!(qu?]s!!%6D!!!9%z!'UA_!!iE%z*rl9@#Q+Q%!!!!0 +J,fQSqu?]s!!!O[!!!9%z!"ZjF!!iE%!+5d,#J^<>#P\9!p](:!huE`fp](:V!!!8^!!!Q)!!")@ +!!hE^!"\i)!"XS[#Oh]n&,6,)#J^<An,NG!p](9rhuElK!!!Q!!!!&h!!Dur!"\Q!!!2ip"8Dir +&+BQ!!VcWsp](:)n,NFjqu?io!!!Q!!!!-!!!Dur!"\Q!!!iE%"8i-!&)[Ef&,ZD0qu?^-huE`f +qu?is!!!Pf!!",=!!E-!!"[uf!'g5Y"8i-!&)[EfJ+*F?qu?^-huEcWn,NRg!!!Pf!!*&W!!E-! +!"[uf!WTq8"8i-!#N,Ras*t(OrVup'huElZ!!!9'!!!,j!!E6$!!iK'!!2Qh"9&9##Q=]'!:Tsj +qu?^%rr<$!GQ7jD!!!Q0!!!!Y!!Dur!"]*[!!#+]!VcWp+9-ik!#tt>p](:9s1eU7%KHM(!!#7` +huEcW!!)co!.Xh6!!E7O!-eJDJ,&d=#QMR>49,E^n2p[ms53l@!!E8j*WSG)n,OO1&-(Pu!<<)o +!"Zkps54.^s8N3%#QOi(^]XW:qu?]ts8W+L!WW2h!!!$!s8N'!s8Tk7!!#7`rVup_s*t(L!"],) +!!!Q/z!<9h7!!Dur!!~> +Q +q[1 0 0 1 0 0]concat +108 71 true[1 0 0 1 -2340 -2082]@X +imagemask +z++O=k!&srY!!!$"!!*&W!!!9(^]4?7!It.Ts7cQo5QC3Q!!!,:!$D7?!!*'!p](9o!T3rBs8RTS +s8W&u!!!#o!<<*!i'78Arr<$!!.4nKs8W-!s8EPE!!!!`+926>s8W,g"5j.Z!$D7@huH"As*t.> +!!!!0s8RTL&-)V/!;HNo!!iQ'!!!9(p](;A!!!!$s82is!WTq8!'UA_!!3,h!!!#u!!!!`zJ)C;, +!,qo<!'bu6!!#7Q!!!!Y!!!!@^]4?7!W2ot!#tt=!$AuV!!!!_!!!!/!!!!@huE`W!"T&0!"Ju/ +!$C,!!!!!(^]4?>!!!!@huE`W!!D-Z!!e#S!$C,!!!!!"n,NFn^]4?VhuE`W!!)os!!D-Z!$C,!z +HiO-Kn,NG1n,NFg!!#1_!!D]j!$C\1z56(Zcn,NG1n,NFg!!")@!!D]j!$C\1z++O=lp](:9huE`W +!!"*k!!2ip!$C,!!&+BQ%tFW\p](:9huEcT!!!PF!!2ip!$C,!!'UA_&&8/Gp](:9huE`f!!!PF +!!2ut!$C,!!!e#S#N,R_qu?^=huE`Z^]4Vt!!2ut!'fBA!!D-Z#N,R_qu?^]huE`Xn,N^_!!2ut +!'fBA!!2ip#Oh]oqu?^]huE`Xp](Qg!!2ut!'fBA!!E-!#Oh]oqu?^]huE`Zqu?uk!!2ut!'e7! +!!E-!#Oh]oqu?^]^]4?>qu?us!!2ut!'e7!!"\u-#P\9"qu?^]^]4?Vqu?us!!3'!!'e7!!'g5Y +#P\9"rVup_^]4@an,N^g!!3'!!'e7!!.XJ<#P\9"qu?^]^]4B7huF#W!!2ut!'e7!!WTq8#P\9$ +qu?^=^]4E8J,fiL!!E-!!$AuV"9/?$#P\9$qu?^-^]4K9!!!9!!!E-!!"[uf"9&9##P\9(qu?^% +huElW!!!Q)!!iE%!!D-Z"8i-!&,ZD<qu?]tn,NLa!!!Q-!"]&/!!)Kg!VcWp+8u6^rr<$!GQ7a= +!!",@!$D4@!!#+]!;HNo5Q?6us*t(Mqu?_E!!%NKJ:II3!!iK'!.4bHJ+LJUn_aBXrr<$_!!3,i +iW%j*!'gM!!$2+Bs5<MKi-58%s53kfJ.M\<J,d;J"98Dj!!hFHs1gl!J04gks6p!js8W+L&,uV7 +s8Vio!!3-"s*t@R!!E9$huE`WJ,fNK"8i-"s8RTL!!",@qu?cm!!%NJz#QOQ!!,qo<5PP3Y!!!"K +^]4?W!!!8>!!!~> +Q +q[1 0 0 1 0 0]concat +74 72 true[1 0 0 1 -2444 -2082]@X +imagemask +z!!!N0!!!!@J,fQLJ)C;,!.Wo,!!3,p!!!$!p](9rs82is!WW-!!!iQ'!!!-$rr<$0s8N'!"98D: +!$D7@J,fWMs53l!s8V!W!<7W>!'gM(n,NH;!-eK.rW%0C!-eK-!.XbD)uosu!"T'ZhuEl[!"],8 +JH*Cb!WW3#!!C%:^]4?7!!!!$i;\<-z!!2Wizzq>UEpz!!)uszzJ,TEJz!!%NHzz5PtK]z!!#7Yzz +5PP3Yz!!",9zz+8>g9z!!",1zz&+BQ!z!!!Q!zz&+BQ!z!!!Q!zz&+BQ!z!!!Pfzz&)[Efz!!!Pfzz +&)[Efz!!!Pfz!!"+V&)][fz&-)\0s53kW!!!9(s8W,gz"98E$s6p!gz&)[Efz!!!Pfzz&)[Efz!!!Q! +zz&+BQ!z!!!Q!zz&+BQ!z!!!Q!zz&+BQ!z!!!Q)zz&,6,)z!!!Q)zz&,ZD-z!!",=z!!iQ)+8u6? +!!!!=!!",?z!"Ju/5L0<3J,fQS!!%Mh!"[uf!!@`OJ&d']p](9p^]=CeJ3Wr3!!)Kjs+.t8rr<$! +r"&gXi;_`N!!%NKrr@'=^d%l"5QC``49'g2!!",@rW"&?J,fQL&-)P-&,uV0!!!9(p](R!z"97ij +!WE'!!!!'"huEcVz!<7QL!'UA_!!!"D!!!!=zz!!E9%~> +Q +q[1 0 0 1 0 0]concat +77 90 true[1 0 0 1 -2516 -2063]@X +imagemask +z+7K71z!!*&uz!!!!$s8RTLz!"],0huE`W!!!!@s+'kEz!$D1?*WQ0?!!!!`qu@6-z!'g5Y"2Fm: +!!!!@n,NLIz!"[uf!-eJD!!!!(huEa>z!!C":!$2+?!!!!"^]4?Fz!!'e7!"XS[zJ,fQS^]4?7z +!!D-Zz!!!!$n,NFgz!!2Qhz!!!!"p](9oz!!)osz#J^<>rVus!!!#7A!!%HJ!It.Ms7cQoIK0Da +!!iQ%!!#4`!8mi!s8Duu56(\&!.Y%K!!#66!'CA`s8N'!5C`_Us8W-!J,g[A!$D7@rr^%:+2@je +s8ViohuFk7!!iQ(huI]r+2@jYs8RTL0E<31!!3-!z&)[EfJ+*F<!!!Pf!!!9!z&)[Ef!.4bH!!!Pf +!!!!@z&)[Ef!!e#S!!!Pf!!!!$^]4?7&+BQ!!!2!X!!!Q!zn,NFg&+BQ!!!%6D!!!Q!z4obQ_#Oh]n +!!#1_!!!8nz*rl9@#Oh]n!!"*k!!!8nz%tFW[#Oh^9!!!PF!!!9!!-eJD&&8/F#P\9]!!!8>!!!9! +!$2+?#N,R^#P\90J,fi4!!!9!!!g:>#Oh]n#P\9$huF#O!!!9!!!2!X"7Q9j#P\9"n,NR[!!!9! +!!2ip"8Dir#P\9"p](Ek!!!9!!!E-!"8Dir#P\9(qu?io!!!9!!!iE%"8Dir#P\90qu?io!!!9! +!$Ct9"8i-!&,6,hp](Eo!!!Q)!.XJ<"8i-!&,6/)huElW!!!Q)!<9h7"8i-!&,62*^]4K7!!!Q) +"93lO#Q+Q%&,68,!!!9%!!",9"9&9##Q+Q%+8>s9!!!9'!!",1"8i-!&,lP/+7KC-!!!Q0!!#7Q +"8Dir&,uV05O\^K!!",@J,k)g!VcWp+8`hRs6p$`!!#7ZhuWlI!-eJDJ,&L8s6p#5!!*&gGR+9< +!'C5^s6r2_s53ku!!E8j%mU*P!"T&?s54.^s*t(Si'77W"98B$!!E9$s1eX7qu?]ts8W+L!.XbD +!!%NKrr<$`n,NFg5QC]_!"[uf!!!9(p](9r^]4?7!<:sW!!%NL~> +Q +q[1 0 0 1 0 0]concat +56 87 true[1 0 0 1 -2599 -2071]@X +imagemask +!!%NHz"98D:!!!!$s8Vio!!!-$JGoNK!!E6$++O=k"9&9*huE`ZrW!&q!!!-#!!2ut!!E3#!<)ru +"9&9#IfKTVrVup_J-QVa!!"+V"98?#!$AuVs82is&)[G;qu?^-huFks!!!8n!!Dur!!hunz#P\9! +!!!!$p](9o!!!,rz!!E-!z"8i-!!!!!$qu?]s!!!'!z!!3'!z!WE'!!!!!"rVuou!!!'"z!!3*"z +!WN-"!!!!"rr<$!!!!'"z!!3*"z!WN-"!!!!"rr<$!!!!'"z!!E6$z"9/?$!!!!$rr<$!!!!9(z +!"])0z+8u6?!!!!`rVuou!!%NJ!!!6(!WW-!!!hEms82is"98E$p](9ps8W,g!!!'"s8V!W!!*'! +s1eU7!.Y%Kz&-),!!!!!$^]4?7!!!#gz!!"tYz!#tt=z%fcS0!!!!(J,fQL!!!,:z!!2!Xz!Up'hz +p](9o!!!#sz!!)osz!.FnJzIK0?J!!!"Kz!!%KKz!.TM!zIt.M!!!!"KJ,fQL!!*&7z!WTq8"9/?+ +s1eU>s8W-!^]4oFs8W,7!"],0s8RTL&-)\0s*t(Ss8W-!!!!-$s8W&u!!E9$s7cQo!W2otzp](9o +!!!#gz!!$s<z!&+BQz&-)\1!!~> +Q +q[1 0 0 1 0 0]concat +44 51 true[1 0 0 1 -710 -1961]@X +imagemask +!$D7A!!!"<!!%NL!;lft^]4E7!!2!X"9/?'n,N^n^]X?3#QN]equ@9-p^dB)+926Ls+!?54qI\/ +5PuUas56-:#LED=5O\^Br%L@n!<;foJ)C;kp],fZ!$C\1J%u$pn,RsR!"\Q!J%u$pn,RsR!"\Q! +It.M0huJ7W!"[ufIt.M0huJ7W!"[uf5C`_EhuGul!"[uf5C`_EhuH!W!"[uf5JR70huH!W!"[uf +5JR70huH!W!"[uf5JR70huH!W!"[uf5JR70huFk7!"[uf+5d,0n,OQg!"\Q!+5d,0n,OQg!"\Q! +&+BT!n,N^_+91g1!Vucqn,NIgs8VQg!'gM`n,NG!s8VQg!!iQ(p](9ps7,ja!!*%LGQ7^D4ocE" +!!!9)!!!~> +Q +q[1 0 0 1 0 0]concat +39 71 true[1 0 0 1 -761 -1962]@X +imagemask +!!<3$!!!8>!!!!0n,NFg+8c*=!'gJ`!!*'!J,fWMs53kZs87*A#QO9U!"]+f*rliOJ.KF+rr<;^ +&,lP6p^d9&#P\i)!!E-0p](Eo&,6,,r!2us"8iE!!!3!&p](?m#P\9"r!2us!WE?!!!3'(p](?o +#P\9"rWi2u!WE?!!!3'(p](?o#P\9"rWi2u!WE?!!!3'(p](?o#P\9"rWi2u!WE?!!!3'(p](?o +#P\9"rWi?$!WE?(!!E3*qg]4V#Pm:BrWi5os8E8uJ,fKQpcnfX#P\i0r!3!%s6p9g"96.Ap]1<o +#P\:H!!i9!0E;@Q!!!!(p](9o#P\9!!!i9!!!!9!!!!!(p](9o#P\9!!!i9!!!!9%!!!!(qu?]s +#Q+Q%!!iK'!!!9'!!!!'56(Z`%NbZN!"K6a!!!K2^]4?C!T3qX$ik5H!"8iiz#QOi~> +Q +q[1 0 0 1 0 0]concat +31 49 true[1 0 0 1 -812 -1962]@X +imagemask +!!E9%!"T&0!$?^k!'fBA!.XJ<!<;fo!WW-!"98B$#QOh>&-(hN+901H+9-k=+9)<^+8u6C5PP3Y +5O\XQ5MuMA5MuMA5MuMA5MuMA5JR7!5JR7!5JR7!5JR7!5JR7!5JR7!5JR7!5JR7!5JR7!5JR7! +5JR7!5MuMA5MuMA+5d,!+5d,!+5d,!+5d,!+5d.7+7KBJ&+C+f"7Ug0!<<)g!.Y%D!$D7=!!iQ% +!!E8r!!*&g!!%Ma!!"&?~> +Q +q[1 0 0 1 0 0]concat +46 64 true[1 0 0 1 -842 -1962]@X +imagemask +!!!"Lz"2Fm:!!!8nz+8>g9!!#7]zJ,]KK!!3-"J,fQOs8Tk7!!iQ%huE`fs6t75!$D6V49,@'rr>4_ +!'gG_++O>Uqu@hS!'g5Y+5d,`n,O!W!'fBA&)[FPhuF;W!'fBA#Oh^XhuF#O!'e7!#Oh^X^]4W/ +!'e7!#P\9`^]4W7!'e7!"8Dj\^]4K3!'e7!"8Dj\^]4K3!'e7!"8Dj<^]4K3!$AuV"8Dj<^]4K3 +!$AuV"8i-@^]4K7!$C,!"8i-@huElW!$C,!#Q+Q4huF#[!!hun#Q+Q(n,N^k!!2ip#Q+Q%p](Qs +!!%BH#Q+Q%*WQ`K!!!N0+8c*=#67!d!!!%MJ,B9H!!*&s!!!!"s82is!!E8j!!!!(s53kW!$D6V +!!!!`rr<$!!.XtJ!!!'"p](9o#QO8n"oobF^]4Uis8RTL!WW3!!!!"Ks7cQo!'gMA!!!!0s*t(L +!!E-!zhuE`W~> +Q +q[1 0 0 1 0 0]concat +31 50 true[1 0 0 1 -899 -1962]@X +imagemask +!!WE'!"T&0!$AuV!'fBA!.XbD!<;rs!WW0""98CO#QOh>&-(\Z+90-$+9)<\5Q1Wc5PtK]5O\XQ +5MuMA5JR7!5JR7!5JR7!5JR7!5MuMA5O\XQ5PtK]5Q1W_5MlG@5L4i[5Jt8:5Jc7X5JV4<5JT5Y +5JS6=5JRa/5JRL(5JRB:5JR<X5JRNn+2AE^+2C,=+2EC*+5m1u&)mQ`"69FN!WW2X!.Y$a!'gJ` +!"]&/!!E-!!!2ip!!%6D!!!Q1~> +Q +q[1 0 0 1 0 0]concat +35 90 true[1 0 0 1 -931 -1943]@X +imagemask +!"8i-!!!K/!!!!/z#64`(!!`K(!!!7S!!!!(J,fQL"2Fm:!!C":!!!,Z!!!!$huE`W!Up'h!!2Qh +!!!&p!!!!"p](9o!;lfs!!)os!!!#szrVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou +!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uz +rVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu +!!E9$s*t+Ls8Tk7J,fQ,!!*&7!!!$!!!!!"rr<$!!WN-"!!3'!!!!'!!!!!$rVuou"9&9#!!E-! +!!!-!!!!!(qu?]s#P\9!!!i9!!!!8n!!!!(n,NFg&)[Ef!"[uf!!!Pf!!!!(^]4?7"2Fm:!!C": +!!!'"n,NFgs7cQo!.XnH!!%NJ!!!!`rr<$!+9-ik!"\#'!!!7S!!!!#!!!~> +Q +q[1 0 0 1 0 0]concat +48 67 true[1 0 0 1 -963 -1945]@X +imagemask +!!!#uz#QK;S!!#7`^]4?7s8V!W!!3-"n,NFns8Vio":tP4qu?sds7dW8"98D:#64f)rr<-$!<<#u +!It0"p](?1!'frQ!T3r"huEfI!!g:>!VcWshuEfU!!2Qh!W2otp](?o!!%BH!WN-"IfKNL!!*%L +!WN-#s1ea:!!E8j"9/?'s7c]q!!iQ%"9&92s8N3#!$D4OL].8qrWgLA!$D+>p\Y"5p],gA!$Ct9 +5PtL'n,O!o!'fBA#P\9`huF#W!'fBA#P\9`huF#W!'fBA#P\9`huF#W!'fBA#P\9`huF#W!'fBA +#P\9`^]4W7!$AuV#P\9@^]4W7!$AuV#P\9@^]4W7!$AuV#P\9@^]4W7!$AuV#P\9@huF#W!$C,! +#P\9@huF#W!$C,!"8Dj<huElS!"[uf"8Dj,huF;_!"\Q$s7cR!n3?sJ!!Dims7cQos8W,s!!%NK +s82is+92B=!!!Q0s82is"97k<!!!$!J0"[j!.FnP!!!!9!!!~> +Q +q[1 0 0 1 0 0]concat +38 90 true[1 0 0 1 -1022 -1944]@X +imagemask +!!!i9!!!!Yz49,?]!$2+?!!!N0!!!!$J,fQL!Pe[8!!(pW!!!"<z2uipY!#tt=!!"&?!!!!@z%fcS0 +!"XS[!!!PF!!!!(huE`W#Oh_D!!huo^]4W/!T3q_n,r.[#P\Q!!!E!$qu?io&,lP2p^dB)"8Eu< +!!E!<rW!&q+8c*@r#b\6"8j89!!E-@n,NRg+7K74r#ahs"8j8!!!E-@huElW+5d,$r#ahs"8j8! +!!E-@huElW+5d,$r#ahs"8j8!!!E-@huElW+5d,$r#ahs"8j8!!!E-@huElW&)[Eir"%]c"8i\f +!!E-0huElW&)[Eir"%]c"8i\f!!E-0n,NRg&,ZD4r"&c,&,Zt,J3WrBkMZC<&)mQgr"%`cs83Dc +J,fEWi#i!g&)[uuJ.LQCrW!Je!VcX*huN6H&)[Fq!"[uf!!!Pf!!!!0huE`W&)[Ef!"[uf!!!Q! +!!!!0n,NFg&+BQ!!"\Q!!!!Q)!!!!@p](9o+8c*=!$D+=!!"!f!!!!=56(Z`*$5.\!#Prk!!!i< +^]4?O!T3qX&--YL!!!!A!!!~> +Q +q[1 0 0 1 0 0]concat +30 69 true[1 0 0 1 -1065 -1963]@X +imagemask +!!#7a!!(pW!!)co!!2ut!!E3#!!E6$!!iOS!"]+f!"],!!"],)!"]&k!"\u5!!i9!!!i9!!!i9! +!!hun!!hun!!hun!!hun!!hun!!hun!!hun!!hun!!hun!!hun!!hun!!hun!!hun!!hun!!hun +!!hun!!hun!"\Q!!"\Q!!"\Q!!"\Q!!"\Q!!"\Q!!"\Q!"s<=7#J]a."98,r!WVop!.XbD!'frQ +!$AuV!"XS[!!`K(!!3-#zzzzzzzz!!*'"!!@`O!!g:>!"[uf!"\Q!!$Ct9!$Ct9!"\Q!!!hE^!!C": +!!.TM!!%NL~> +Q +q[1 0 0 1 0 0]concat +23 88 true[1 0 0 1 -1093 -1944]@X +imagemask +#QOiE!!#1_!"T&0#CldV^]4Dn!!)Kg!-eJD49,@$!!!K/!"T&0#CldZ^]4Vt!!D]j"8Diup](Ek +!!E-!"8i-$qu?is!!E-!!W2ouqu?cq!!2ut!W2ouqu?cq!!2ut!W2ouqu?cq!!2ut!W2ouqu?cs +!!3'!!WE'"rVuuu!!3'!!WE'"rVuuu!!3'!!WE'"rW!'"!!E3#"9&9&rW!'"!!iK'#Q=f9rWD'W +!WW-!J,TF4rW"&8!"\Q!#N,Ra^]4Cczzzzzz!!*'""+U@V^]4o'!$C\1+8>h#p])E*!"[uf"2Fm; +J,fS"~> +Q +q[1 0 0 1 0 0]concat +39 72 true[1 0 0 1 -1120 -1962]@X +imagemask +!!!'#!!!!(J,fQL&&8/F!$C,!!!%ND!!!$!qu?]ts8N'!"98CO!!iQ(^]4oFp[A.ns2"I1&-%0- +!"])0%KI%=!!E94qu?]s&,6,)!"\i)!!!Q)!!!!0p](9o&,6,)!"\i)!!!Q)!!!!0p](9o&,6,) +!"\i)!!!Q)!!!!0p](9o&,6,)!"\i)!!!Q)!!!!0p](9o&,6,)!"\i)!!!Q)!!!-$s8V!Xs8W,g +!<<*!p](ipp](:)n2p[N&+CV?!"\Q(!!!Q!#Cldbn,pH+&+BVX!"\Q"n,O!g!:Tt!p]1'h&,6/& +!"\i*qu@9*!WE'0qucou&,l\1!"])7rW!K'chmbRoDe^g&+KVo!"\Q`p](io+7K7@p]o^W&,61@ +!"\i)J,g,X!!!!0qu?]s%fQG.!"OGX!!!Kn!!!!-%tFW[$jXQJ!"8tf!!!9)n,NFg!-eJD!!!i9~> +Q +q[1 0 0 1 0 0]concat +22 70 true[1 0 0 1 -1167 -1963]@X +imagemask +!'gMaDu]n5!!2ut!WE'$rr<<(^^'nt#QO8us0r=5*!cBE#P\9(p](Qo!!i9!#P\9(p](Qo!!i9! +#P\9(p](Qo!!i9!#P\9(p](Qo!!i9!#P\9$p](Ec!!D]j"7Q9mn,NR[!!D]j"7Q9mn,NR[!!D]j +"7Q9mn,NR[!!D]j"7Q9mn,NR[!!D]j"7Q9mn,NR[!!hun#P\9(p](Qo!!i9!#P\9(qu@!"!!iK' +#Q=].rr<9g!!a$b#7&$K"5j@`n-/l;"99DA!!E~> +Q +q[1 0 0 1 0 0]concat +78 49 true[1 0 0 1 -1186 -1963]@X +imagemask +!!%NL!5JR75QCcb^]4Am!!$s<!!2!X!Up'hp](9rp](Eo!!)os!!E-!"9&9$rVup'rW!3'!!E6$ +!!iN(&-%.bs*t([rr<T0J-Z,4!"]&/&,uV7s6p"!qu@!$!!iQ!!"\u-#Q=].s#^8lp](Qs!!iK3 +!"\Q!#P\9(qu?^-n,N^g!!iE%!"\Q!#Oh]up](:)n,N^_!!Dur!"\Q!#Oh]qp](:)n,N^_!!Dur +!"\Q!#Oh]qp](:)n,N^_!!Dur!"\Q!#Oh]qp](:)n,N^_!!Dur!"\Q!#Oh]qp](:)n,N^_!!Dur +!"\Q!#Oh]qp](:)n,N^_!!Dur!"\Q!#Oh]qp](:)n,N^_!!Dur!"\Q!#Oh]qp](:)n,N^_!!Dur +!"\Q!#Oh]qp](:)n,N^_!!Dur!"\Q!#Oh]up](:)n,N^_!!i9!!"\Q!&+BQ(p](:)n,O!g!!i9! +!"\i)&+BQ(p](:)quAtV!"\i)#Ts'Hs8E!_p](dgs2Y0>JcGKF#QOPus7c!^p](Ernc/XZs8Vio +!WVZhs7$'gp](<on:1K-5QCKY!'fB`s1f`V^]4?V^^pDE#QFc(!"XSbp](Eo!!!!(!!D-Z!Up'h +!!3-#J,fR7!!!~> +Q +q[1 0 0 1 0 0]concat +54 49 true[1 0 0 1 -1263 -1963]@X +imagemask +!!%NL!$D7A!5JR7Du]k=huEb%!!!,r!!)os!!E-!!WE'!#Q=](rr<$0rr<0$J,g,[J-5i0!"])0 +#QO8n&,uV7s7cR)rW!3']DrK?!!iN4!"\i)#Q=i+&,6,,qu?^-p](Eo!!!9!!!E-!!!i9!"8i-! +#P\9$qu?^%p](Eo!!!9!!!E-!!!i9!"8i-!#P\9$qu?^%p](Eo!!!9!!!E-!!!i9!"8i-!#P\9$ +qu?^%p](Eo!!!9!!!E-!!!i9!"8i-!#P\9$qu?^%p](Eo!!!9!!!E-!!!i9!#Q+Q%#P\9(qu?^% +p](Qs!!!Q)!!iE%!"\u-#Q+Q%&,uV7qu?^-s*u3h!!XPBiW&fU#J^*7s82j!s7lWoqu?`spcnfV +!!%ND+926=!'fr`s6p!g+5d8$^]4?F^]FH8!!!7S!;lfs!!*'"0E;(~> +Q +q[1 0 0 1 0 0]concat +36 51 true[1 0 0 1 -1324 -1962]@X +imagemask +!#P\9!!#1_!!!"KJ,fQMs53kW"98,r!!iQ'!!!Q0s*t(ks7>.K+901H!'gJ`quAt\!.Ou5p],eo +5O\Y;^d%;g5JTMA!$B!@^]5J75JR7@i'5!W+5fB!!"\!P^]4o'5JR70i'2_l&+Df6!"\Q`J,g,L +5C`_En3;F'&+Df6!"\Q`J,g,L5C`_En3;F'&+Df6!"\Q`J,g,L+2@jen/oFG&+C[V!"\Q@^]4o7 ++2@jen/pQg&+C\!!"\Q0huNfH#Oi9(n,`$.s6p#6s8VQg5QCcQ!"],0huF#^rr<$"s7cQo!<:sW +!!%M!!!!!?z$ig8~> +Q +q[1 0 0 1 0 0]concat +46 75 true[1 0 0 1 -1365 -1944]@X +imagemask +!!iQ)!!!!?z!$?^k!!!!@huE`W!$C\1!!!!@n,NFg!$C\1!!!!@n,NFg!$C\1!!!!@n,NFg!$C\1 +!!!!@n,NFg!$C\1!!!!@n,NFg!$C\1!!!!@n,NFg!$C,!!!!!@huE`W!"[uf!!!!0huWlY!"[um +!!!!0i#dIL!"\!P^]4?Fi;`9H"qTnsp](QFs8Vus"98E$rW!!!s8O/@!<<)s&&80ps6pQW!'gM! +&+BQ@qu?uk!"\Q!#Oh^(n,N^g!"\Q!#P\90n,N^g!"\Q!#P\90n,NRc!"\Q!"8Dj,n,NRc!"\Q! +"8i-0n,NRg!"\Q!"8i-0n,NRg!"\Q!"8i-0n,NRg!"\Q!"8i-0n,NRg!"\Q!"8i-0n,NRg!"\Q! +"8i-0n,NRg!"\Q!#Q+Q4n,N^k!"\Q!#Q+Q4n,N^k!"\i)#Q+QDrW"&<!'fq&J,B:rpZ);O!.XP= +s7cTonGiO`!WV)-s7cWp^`WU7!WRZ\s*t+L!!iK'!<3$"p](;C!!)Kg!'UA_5QCd*z!$2+?!!!!/z +!!`K(!!!!$z!!*'"!!!~> +Q +q[1 0 0 1 0 0]concat +37 70 true[1 0 0 1 -1423 -1943]@X +imagemask +!!!!9z4obQ_!'bu6!!#7A!!!!`huE`W5MuMA!'fBA!!#7A!!!!`huE`W+5d,!!$C,!!!",!!!!!@ +huE`W+5d,!!$C,!!!",!!!!!@huE`W+5d,!!$C,!5QDna!:Tt1huWTQ+5d8#!$C,$rr=/!#QMR] +i",kG+5e7@p`JEYs83tsJ,Xm=i.(YhTAY4o&)Z;pn,r^KJ+*L=i.'YbJ)Ggl!$C-KJ,g\LIt.M@ +i.$7W+5hX!!$C-KJ,g\LIt.M@i.$7W+5hX!!$C-KJ,g\LIt.M@i.$7W+5hX!!$C-KJ,g\LIt.M@ +i'2_l+5fA6!$C,`J,g\L5JR7@i'5!W+5fB!!$C,`^]5J7+2@jui#gkW+5e7!!$C,0huj#K"7SPT +n,W([s6p"Qs8VQg+92B1!!iQ(n,NLhj7!$KrrMTh!.4e9!!!i92uipY!"]~> +Q +q[1 0 0 1 0 0]concat +42 49 true[1 0 0 1 -1464 -1963]@X +imagemask +!!!*$z#CldS!!!PFz+7K71!!#7YzJ,TEJ!!*'!!!!!"s8Tk7!!E8qhuE`^s5<AH!!iOS2uip`rr<<) +!!iN(!!!!(rVuou!!iE%!!!!(p](9o!!i9!!!!!(p](9o!!i9!!!!!$p](9o!!Dur!!!!$p](9o +!!Dur!!!!$p](9o!!Dur!!!!(p](9o!!i9!!!!!(p](9o!!i9!!!!!(p](9o!!i9!!!!!(p](9o +!!i9!!!!!(p](9o!!i9!!!!!(p]04P!!iE(p](:!rX\o,!"])OrW!-Es1eR6#J^09s*t4Oq>^K1 +!WVrppcniZpj_c5!.WoKhuEaA^^n3\!$?^rJ,fQS!!@`O!!3-$!!!~> +Q +q[1 0 0 1 0 0]concat +43 51 true[1 0 0 1 -1503 -1962]@X +imagemask +!!!*$z#CldS!!!Pfz+8>g9+94Y*!!$s<s8RTL3!93VhuFf/s5EkU&-)[FrW!3's+((K"98?#rW!!! +quH]r!.XJ<rr<$@^]=B7zrr<$!!!*$!zrr<$!!!*$!zrr<$!!!*$!!!WE'rr<$0J,oTL!"[ufrr<$@ +p]1<o!$D1@rr<$`s+gUS!'gM`rr<$`iW&oX!'fCkrr<$`^`WRV!'e7(rVup_^]F31!'e7!?iU0k +J,fQL!'bu6!!!!`J,fQL!'bu6!!!!`J,fQL!'bu6!!!!`J-!Fc!'buUhuEa!_#O00!!gFAqu?^! +ci<tE!!*'!rr<$!J,b/:!!#7`!8mhW&,lQ:!!!9!!$D7A!T3qX!!!#7!!!~> +Q +q[1 0 0 1 0 0]concat +38 66 true[1 0 0 1 -1547 -1963]@X +imagemask +!!!"L!!!!$^]4?7#Oh]n!"\i)!!",=!!!"Krr<$!s8RTL!WW2X!!E9$n,NRjnFutcs56!>"96.F +!!E7O!!!-#!!!!$rVuou"9&9#!!E3#!!!-#!!!!$rVuou"8i-!!!E-!!!!-!!!!!$qu?]s"8i-! +!!E-!!!!-!!!!!$qu?]s"8i-!!!E-!!!!-!!!!!$qu?]s"8i-!!!E-!!!!-!!!!!$qu?]s"8i-! +!!E-!!!E9$qu?cts8Duus8W*!!.Y%KJ,fWL!!!!"rVuou!WE'!!!3'!!!!'!!!!!"rVuou!WE'! +!!3'!!!!'!!!!!"rVuou!WE'!!!3'!!!!'!!!!!"rVuou!WE'!!!3'!!!!'!zrVuou!.OtK!!#4` +!!!!0z#CldS!!C":!!!#Wz5QC~> +Q +q[1 0 0 1 0 0]concat +54 49 true[1 0 0 1 -1581 -1963]@X +imagemask +!!!E-z!$2+??iU0,IfKK<!!!$!^]=-0!!E8Z!;lfs#QO8orr<$`s82otJ,k*!rr`;:!'gM0L]?94 +5Q:iKs6p"1quHcsqu@i.!'gB$!$AuV&,ZD-+2@jep](:)^]4o?!!!PF!!i9!!"[uf#Oh]n&)[Em +n,NG!huF#O!!!8^!!hun!!hE^#Oh]n#N,Ren,NFnn,N^_!!!8n!!hun!!hun#Oh]n#Oh]un,NFn +n,N^_!!!8n!!hun!!hun#Oh]n#Oh]un,NFnn,N^_!!!8n!!hun!!hun#Oh]n#Oh]un,NG!n,N^_ +!!!Q!!!hun!"\Q!#Oh]n+7K78p](:9n,N^g!!#7Q!!i9!%mTO`#P\9(s6p!np](Ern,N^g!!*&g +!"\i)!.Wo,#P\9!5JR7"p](:)J,fRo!!!6(!!!u=!!3-#!!!!~> +Q +q[1 0 0 1 0 0]concat +38 56 true[1 0 0 1 -1640 -1962]@X +imagemask +!!3-#!!!7S!!!!0huE`W+8>g9!'gA]!!%NK!!!'"s1eU:s8VQg#QORH!"]+f56)5o^`U?&s*tXL +&,uV?n.5Ku#Oi9%!!i9(p](Ek#P\9$p]p9g"8E,j!!E!$n,NRg#Oh]qr!2]k"8iDn!!3!&n,NLe +#Oh]or!2]k!W32l!!3!&n,NLe#Oh]or!2]k!W32l!!3!.n,NLe&+BQ"r"&8s!W3Jt!!E-0n,NRg +&+BQ$r"&8s"8i])!!E-0rW!&u+85aGr'0eg5Q!b9nGiE9n:1K9J)EQkr-uL(s7h(o#QMShJ-5fO +56(``!'^G`GQ8cb!$D7Oz%KHJ/!!`K(!!!*$!!!!"J,fQL~> +Q +q[1 0 0 1 0 0]concat +72 56 true[1 0 0 1 -1682 -1962]@X +imagemask +!!%NL!!#7a!!!#7!!!&h!!!!"huE`^qu?]s"7Q9j+9)<@!!Dur!.Y$a!!!9%!!*'!n,NG!rW!'# +s7cQo+9)<Os83o<!$D1?&-),0J,g\j!"]+F#N,S(qu@9-J-YQD+8>gHrr</j!$Ct9&,lP2p])E* +!"\u-"8Dj<n,O!o!!Dur&+BQ(p](?m!"\Q!#P\9"qu@8c!!i9!!W2p.huF#W!!2ut&)[Emp](?m +!"[uf#P\9"rW!Je!!i9!!WE'0huF#O!!3'!&)[Emn,NLg!"[uf#Oh]orW!Je!!hun!WE'0huF#O +!!3'!&)[Emn,NLg!"[uf#Oh]orW!Je!!hun!WE'0huF#O!!3'!&)[Emn,NLg!"[uf#P\9"rr<Sf +!!i9!!WN-1huF;_!!3*"&)[Eup](?p!"\Q!&,6,*rr=/1!$D+="9/?Cp],gD!"]&/+8u9?s1gku +!'gJcs82?drW%HBci<h@s8E"Jnc/XaJ,fKJs7$'gn3?sP!<:u,s1f0Fp]:E1+9)<Gs53nWJ.MPX +!WRZMs*t@D!!)uu!.OtN^]4@Z!!#4`!It.M&-)\Ozz*WQ0?z!"Ju/z!!!6(z!!!!$zz!It.Mz~> +Q +q[1 0 0 1 0 0]concat +39 66 true[1 0 0 1 -1759 -1946]@X +imagemask +!!`K(!!"+V!!!"KhuE`Xs7cQo"98,r!!iOS!!!9%!!!!0p](9o&+BQ!!"[uf!!!PF!!!!0^]4?7 +#J^<>!!e#S!!!,:!!!!"^]4?7!Pe[8!!(pXJ,fRW"2Fm:E!Pk4!&+rY!!!iXrVup,J,]KK#64_= +!!E9$huElZq="@ds588)!WTqV!!3+M"on](!!!!"rVuou!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot +!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot +!!2ut!!!-!!!!!$qu?]s"8i-!!!E-!!!!-#!5JR:rrM$X#QKGG%hJ]\r!39#s8E-#r."VEs85+V +!.Xbcn,P]B&)[F0huhm;&&84]!!`K(J,fWN!!!~> +Q +q[1 0 0 1 0 0]concat +46 75 true[1 0 0 1 -1797 -1943]@X +imagemask +!!!"Lz#J^<>!!!&Xz!:Tsg!!!!Yz!"Ju/!!!!(z!!@`O!!!!"^]4?7!!(pWzDu]k<!!%6Dz49,?] +!!#1_z*rl9@!!"*kz+2@jV!!!Pfz&)[Eg!!!Pf!!.TM&+BQ$huF#O!!hun#Oh]up](Qg!"\u-#P\9@ +rW!2u!$D4@#P\9`rW!2u!'gA]#P\9`qu?us!$Ct9#P\9@n,N^k!$C,!"8i-@huElW!$C,!"8i-@ +huElW!$C,!"8i-@huElW!$C,!"8i-@huElW!$C,!"8i-@huElW!$C,!"8i-@huElW!$C,!"8i-@ +huElW!$C,!"8i-@huElW!$C,!#Q+QDhuF#[!$C,!#Q+QDhuF#[!$C,!#Q+QDhuF#[!$C,!#Q+QD +huF#[!$Ct9#Q+Qdqu@!"!'gJ`+8c+gn%aGN!<;*Ns82lsiW&rQ!WV)-s7cWp^d%kg!<7Q[s1eX7 +!!iN(!.OtNqu?_G!!)Kg!'UA_?iU0hz!#tt=!!!!=z!"Ju/!!!!'z!!3-#!!!~> +Q +q[1 0 0 1 0 0]concat +34 68 true[1 0 0 1 -1847 -1944]@X +imagemask +!!D-Z!!",1!!!$!p](9ps82is#QOf(!"],0J,g,[_8$$mrW(jV+8c+X!'g5YHiP8X!'UB)huGtA +&&800!"ZjF56(r(!'bu9^]5I,!T3r"J-"R.++O@L!$?^kDu^uq!&ss#^]6=o+2@jr!$AuV%KITd +!!`KG^]4H:+2@jWJ02Q,!5K\l!!(q!^]4@R5JR7!3'Y1Y!$4A?!!!No^]4?>^VBgL"96.:!!3,8 +!!!'"^]4?Fs1eU7J,b$!#QOgS!!iQ(J,f]Orr<$"s82is!<;Ng!!%M!!!!!_z*WQ0?!"T&0!!!7S +!!!!$^]4?7!Pe[8!!2!X!!!&h!!!!"p](<p!W2ouJ-#WL!5J^9!!$sCrVupX&,lP/*Zt@]!"],- +!!!9(qu?^!s7cQo!WVWh!!*&W!!!!`^]4?7*rl9@!"8i-~> +Q +q[1 0 0 1 0 0]concat +47 77 true[1 0 0 1 -66 -1837]@X +imagemask +z!#tt=!!!!_z!.FnJ!!!"Jz!<)ru!!!#uz!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz ++2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKzrVuou!!)uuzqu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg +!!hun!!!!(huE`W!"[uf!!!!0^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#uz +!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz+2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKz +rVuou!!)uu!!!!"qu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg!!hun!!!!(huE`W!"[uf!!!!0 +^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#sz!W2ot!!!&pz!VcWp!!!&hz +!8mhW!!!~> +Q +q[1 0 0 1 0 0]concat +54 44 true[1 0 0 1 -118 -1845]@X +imagemask +5Q:ug_>j"Ss,[3?s7h*DTE"Zcr."a=s7cQkJ,bT0j8\m=rs/S?s6p-[!;lg]!!D]jquAq]"7Q<g +!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gc +n,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d +56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcp]19n56(f\!<)s_!!DurrW#._"8i0!!'^GcquH`s56(fb +!<7R6!!E6%s1j'`"96:=nGWDPs8W-!rW%HJs7cQm!.Y%KoDe^gJ+s!'s82kHj8Zppp]*Ops+#Ug +!!!!_!"ZjF~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -171 -1845]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -224 -1845]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -277 -1845]@X +imagemask +&-)Z^s8V"As8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+5d,(n,NG1huF#O!!",1!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jV+918K^]4?Vs8W+L!!"+us8RTL!$BPerr<$!+2e-X!!!!@_#O00 +!!"+V+5d,!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +39 44 true[1 0 0 1 -337 -1845]@X +imagemask +!!%N,!!!-$rVup/s8RTL5QCc!!.Y%KhuNfWs6p'hi#h^rrr<<%#Q=]*rX\c(!WEW!!!*!?huEcV +5JR7!IQtUJ!'EJr!!!"KJ,fQLIfKHK!.OtK!!%KK!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!.OtK +!!%KK!!!"KzIt.M!!'bu6!!#7!!!!!`^]4?7+5d,!n/q-"!Vd3#!!E-(qu@!""9/?+quQiU#Q+T% +s8VusJ,fQD!'gM`p](j)s6p!js8Tk7!'gG_~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -382 -1845]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +47 61 true[1 0 0 1 -435 -1845]@X +imagemask +!<<*!s82ots8W,u!WW3"s8E'!s8W,u!WW3"s8E#us8W,s!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru +!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru +!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru +!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru +!!!#u!!!$!s8Duu!WW3!!!!'"s8Duu!WW2t!!!'"s82is!<<)o!!!~> +Q +q[1 0 0 1 0 0]concat +35 31 true[1 0 0 1 -497 -1881]@X +imagemask +!;lil!!E6%rW!Ia_oDa!!U%@N*WUD:J3ErtJ\XAJ++_4T!$?d-HiO\mi-YM8^u0S?#Jf8H!!g;I +IK0W2!.FnMhuJ3+"5j/C!!D-Z56(fT!'^Gan,OO1!Up(2J-#->++OCe!"XS[p](Q7!;HO!^]=-0 +"5j1W!!2!Xqu?`d!W2otGQ[jD!'UY#!!!Oi)uos>p](9~> +Q +q[4.8 0 0 -120 640.28 1930.08]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +82 77 true[1 0 0 1 -702 -1840]@X +imagemask +!"XS[zz5MuMAz!!!"Kn,NFg!!!O[!!*&oz!'frQ!WW&tz5PtK`s8Duu!!!"Krr<0$rr<$!!!%NK +J-5iOJ,fQL!.Y$a"98D:zJ)S0FrXZdE!!!$!^]4K3#N,R^!!*&7!!D]mn,NFg!<7QL!T4"Rzs*t(M +huNNP!!!'"J,fSb!.4bH!!3+M!!#7a4obQ_!WN-"!!!!?!!!!"rr<$!!!!N0!!!'"z!!e#S!!3*"z +#CldS!WN-"!!!!$^]4?:rr<$!!!!&X!!!-#z!!3-"s8W&uz!<<*!s8DuuzJ,fQKrVuou!!!!`s8W,uz +!!#4_s8W&uz!$2+?"9&9#z%fcS3qu?]s!!!!0!!!-!z!!!7S!!iE%z!!g:>#Q+Q%z"2FmAqu?]s +!!!!"huF#[z!!!&h!!iE%z!!)Kg#Q+Q%z!-eJKqu?]szGQ8!Hz!!!!]!!iE%z!!"&?#Q+Q%z!$2+F +qu?]sz%fck0z!!!!0!!i9!z!!!7S#P\9!z!!C"Ap](9oz"2G0:z!!!!"i!9#Wz!!!&X&,6,)z!!)L! +p](9oz!:UNozzGRsQLz!!!!Y&,6,)z!!#+lp](9oz!$2[Gzz*Y8#Gz!!!!0&,6,)z!!!N?p](9oz +!!eS[zz#ESW[z!!!!$chIJ?z!!!,Ip](9oz!!2Q`zz!Uod`zzs7cQoz!!!$!p](9oz!!%NDzz!.XbDz +z5PP3Yz!!!!`p](9oz!!",9zz!$Ct9zz&,6,)z!!!!(p](9oz!!!9!zz!!Durzz!;HNozz2uip~> +Q +q[1 0 0 1 0 0]concat +69 72 true[1 0 0 1 -781 -1843]@X +imagemask +"+UA9p](9o!!D-]s8RTL!!!&p&-)\!!!!!"r#bt=rVuou!;o(]s8RTL!!*"Js*u3L!!!"Js82j! +p](9oJ,f!<!.4bH!'btk!!#4`!!#6u^]4?FJ,fR6O+731#J^<>+2IpW!!D-Z!$AuV!!!,j!!!PF +!!!!"p](:)huE`W!W2ot&)[Ef!!)os!!hun!!!#u!!!8nzrVup'n,NFg!.OtK#P\9!!!%KK!!Dur +!!!"KJ,f]HzIt.M$qu?]s!.TM!"8i-!!!%M!!!2ut!!!"KJ,fWJzs*t(MrVuou!<7QL!WE'!!!*%L +!!)uu!!!'"J,fTK!!!!"s*t(Lrr<$!"93lO!<3$!!!iN(!!%KK!!!Q0!!!"KJ,fQkrVuouIt.M! +J,TEJ!.TM!!WW&t!!%Ma!"],)!!!!`^jlCan,NFg5JVdKs53kW!'fC+s8RTL!!#7A&-)V/!!!!` +huj#Sz+7K8[^]4?7!$C\1&+BQ!!!",1!!E-!!!!!@p](;Dz+8>g9+2@jV!"\u-!!hE^!!!Q-!!!&p +!!!!0rVuouqu?]s&,lP/!.FnJ!"])0!!#4`!!!Q0!!!!@J,fQSs*t(L&&8/F#QK;S!"[uf!!iP> +!!!Pf!!!9(huE`^n,NFnqqqGS#Oh]n#Pmih!!i9!!!E&l!!!9!!!!,rqu?^-p](9rr-eVG&,6,) +"8j5@!"\i)!9<tfJ,g\d!!)oo#J^=(p](;DqucEgs7cQo5PtNZ"97ij!"]&/5QCcA!!!-#!$D7@ +huE`WrW!'#s*t(L!'UA_s8N'!!!!K/!"\i)~> +Q +q[1 0 0 1 0 0]concat +56 72 true[1 0 0 1 -851 -1843]@X +imagemask +!!#7Qz!WW0"!!!!(s8V!W!!!Q0s7cQo!$D7@rVuou5QAM`!!!"KrW!JE!!*&o!!D-Z!WVWh!;HNp +s1eU7HiO9K^]4?u!!E7O!!")@"9/?$!$?^rrVuou&&8GL!!!!(i!95]!!!,Z#Q+Q%!!2R"qu?]s +!,rJHz!"\i)z&,6,)!!!!0p](9o!!!Q)z!"\i)z&,6,)!!!!0p](9o!!!Q)z!!i9!z#P\9!!!!!( +p](9o!!!9!z!!i9!z#P\9!!!!!$p](9o!!!,rz!!E-!z"8i-!!!!!"qu?]s!!!&tz!!3'!z!<)ruz +rVuou!!!#uz!!%KKz!.OtKz5C`_6!!!!`J,fQL!!"*k!!#+]!$AuV!$;1@&&8/F++O>%huE`f^]4Vt +!!!Pf!!D]j!!hE^"7Q9j#Oh]op](:!n,NId!!!,r!!%BH!!Dur!'UA_!W2ot*rl9Aqu?^-J,fWL +!!!8>!!)uu!!D-Z!<)ru!Up'hrr<$!p](<o!!!!_!!3*"!!"*k"9/?$!!huurr<$!!WW3"zJ,fNK +!!!!@s8Duu!!!-$qu?]s!!#7Q~> +Q +q[1 0 0 1 0 0]concat +79 68 true[1 0 0 1 -910 -1845]@X +imagemask +!$D7?z!!!!@s8VQgz!"],0rr<$!!!!!(s8W,Wz!!3-"s82iszIfK`Rz!!%KK!'e7!z5C`_=n,NFg +!!#66!!)osz5JR7!56(Z`!!"+V!!!O[z+2@jV"5j.Z!!!Pf!!!&hz&)[Ef!.4bH!!!Pf!!!!_z#Oh]n +!$;1@!!!8n!!!!0J,fQL#Oh]n!!g:>!!!,r!!!!$huE`W"8Dir!!2Qh!!!-!zp](9o"8i-!!!%BH +!!!&tzIK0?J!W2ot!!#4`!!!'!z++O=k!<)ru!!"*k!!!#uz&&8/F!<3$!!!!Pf!!!"Kz&)[Ef!.OtK +!!!8n!!!"KJ,fQL#Oh]n!.TM!!!!,r!!!!`J,fQL"8Dir!'bu6!!!,r!!!!`^]4?7"8i-!!'e7! +!!!-!!!!!`^]4?7!W2ot!$AuV!!!&t!!!!@huE`W!WE'!!$C,!!!!'!!!!!@huE`W!WE'!!"[uf +!!!'!!!!!0huE`W!WE'!!"\Q!!!!'!!!!!0n,NFg!WE'!!"\Q!!!!-#!!!!0n,NFg"9&9#!!hun +!!!-#!!!!(p](9o"9&OU!!i9!!!!9'#N,Rep](9o#Q=hp!!i9!!!!Q-"8Dj$p](9o+8c07!!i9! +!!",=!W2p"qu?]s5PP6V!!E-!!!%ND!.FnMqu?]ss6p"P!!E-!!!E8j!$;1Cqu?^%s53kfJ-5]L +!$D6V!!hEaqu?_Hs*t(Mp]LEo#QOf(!!*%OrW)uuqu?]s5QCc`s8VQg!!!Q0s8W-!huE`W!WW3" +s8N'!!!!!`s8W,oz!!3-"rr<$!~> +Q +q[1 0 0 1 0 0]concat +59 72 true[1 0 0 1 -989 -1843]@X +imagemask +!!%N<z!!E9$z!"],0^]4?7!'gM`p](9o!.Y%KrVuou!<<(LIfKHK!WW&t&&8/F!WVWh"5j.Z"96.: +!:Tsg"93lO!.4bH"9/?$!'UA_"9/?$!$;1@"9&9#!$?^k"9&9#!"ZjF"8i-!!!hE^"8i-!!!D-Z +"8i-!!!2Qh!W2ot!!%6D!WE'!z!<)ruz!<)ruz!<)ruz!.OtKz!'^G`z!'bu6z!$?^kz!"ZjFz!!hE^ +z!!D-Zz!!2Qhz!!)coz!!%BHz!!#1_z!!"*kz!!!8^z!!!,rz!!!$!^]4?7!!!!`rVuou!!!!`s*t(L +!!!$!s1eU7!!!-$s53kW!!!9(s6p!g!!!Q0rVuou!!",@huE`W!!",@z!!#7_z!!#7Yz!!#7Qz!!%N< +z!!%N,z!!#7!z!!#7!z!!#7!z!!#7!z!!"+Vz!!"+Vz!!"+V!!%6D!!!Pf!!%BH!!!8^!!#4`!!!8^ +!!#66!!!,j!!"+V!!!&p!!"+V!!!#o!!",!!!!!]!!#7A!!!!@!!#7A!!!!0^]=Dm!!!!$p]LQSz +s8W,Wz5QCc!z&-)Z[z!WW0"z!$Ct9~> +Q +q[1 0 0 1 0 0]concat +86 71 true[1 0 0 1 -1050 -1842]@X +imagemask +!!hunzz5PtK]z!!!"Krr<$!z!!3-"^]4?7z"98DZz!!!!$s7u-az!!!9(_"[m0z!!iN(qu?]sz#Q=^P +z!!!!(rW%EJz!!!&t!'^G`z!!)os5C`_6z!&ss#J,fQLz!!"+Vzz!"ZjFzz&)[Efz!!!!(huE`Wz +!!!8nzz!!D]jzz"8Dirz!!!!$p](9oz!!!&tzz!!2utzz!<)ruzzrVuouz!!!$!zz!!%KKzz!.OtKzz +5C`_6z!!!!`J,fQLz!!#7!zz!$AuVzz+2@jYz!!!!0s8W,Wz!!!Q0s8VQgz!"],0s82isz#QOi( +qu?]s!!!!(s8W,sz!!!9!zz!!Durzz"8Dirz!!!!$qu?]sz!!!&tzz!!2utzz!WE'!zzrVuouz!!!#u +zz!!*$!zz!.OtKzzIfKHKz!!!"KJ,fQLz!!%M!z!!"&?!'bu6z!"XS[5C`_6z&&800^]4?7!!!!0 +huH!Wz!!!8n!$AuVz!!D]j+2@jVz"7Q:4huE`W!!!!"p])Doz!!!#o!"[ufz!!%BH&)[Efz!'UAn +n,NFnJ,fQL%tG2[!!!8^!!!!(i",;W!!hun!!!'"#Oh]n+8>g9!!%NKs8W-!p](9o!$D7@s8W,sz +#QOi(s8ViozJ,fQKs7cQo!!!!(s8W-!^]~> +Q +q[1 0 0 1 0 0]concat +63 82 true[1 0 0 1 -1131 -1833]@X +imagemask +!!",9z!!3-"z!"],0huE`W!'gM`p](9o!.Y%Kqu?]s!<<)756(Z`!.XnH%tFW[!'frQ#J^<>!"ZjF +"5j.Z!!@`O!Up'hz!VcWpz!;lfsz!;lfsz!.FnJz!.OtKz!'^G`z!'bu6z!$?^kz!$AuV!!!Q-!"ZjF +!!%NKJ.LQ<!!3-"n.4FW!!E9$r!2]k!!iQ(rs/#n!"]+f+33jN!$D5k"69.V!'gG_!W2Wl!'gA] +!.XnH!.XbD!'gA]!.XJ<!$D+=!.Wo,!"]&/!<:sW!!iK'!<9h7!!iK'!<9h7!!E6$!<7QL!!3*" +!<7QL!!3*"!WRZM!!*$!!WN-"!!*%L!WN-"!!%M!!WN-"!!%M!!WN-"!!#66!WN-"!!#7!!<3$! +!!#7!!<3$!!!"+V!<3$!!!"+V!<3$!!!!Pf!<3$!!!!8^!<3$!!!!&X!<3$!!!!",!.OtKz!.TM!z +!.TM!z!'bu6z!'bu6z!'e7!z!$AuVz!$AuVz!"[ufz!"[ufz!!hE^!!(pW!!hun!!)co!!D]j!!%BH +!!2ip!!#4`!!2ip!!"*k!!)os!!"*k!!%HJ!!!PF!!#1_!!!Pf!!")@!!!8n!!!O[!!!,j!!!8> +!!!,r!!!,Z!!!,r!!!&h!!!-!!!!#o!!!-!!!!"H!!!-#!!!!@!!!9'!!!!0^]4oE!!!!$quD6Gz +s8W,sz5QCc]z&-)\)z!<<)Wz!"])0~> +Q +q[1 0 0 1 0 0]concat +84 73 true[1 0 0 1 -1196 -1840]@X +imagemask +z!!!!$p](9oz!!!Q0zz!"]+F!!!,:z+91g1!!2Qh!!!!@s7cQo!VcWp!!",94obQ`qu?]s!'fs; +!!!#uz5O]bF!!)uu!!!!`i#f`7!.OtK!!#7A&&8/FIfKHK!'fBDhuEb,z5MuS#!!#66!!!!`huE`W +!'bu6!!#7Az5JR7!!'fBA!!!!@^]4?75MuMA!!"+V!!!!@huE`W!$C,!!!",!z&)[Ef!$C,!!!!!0 +huE`W+5d,!!!!Q!!!!!@huE`W!!hun!!",!z#Oh]n!$C,!!!!!(p](9o&)[Ef!!!,r!!!!0n,NFg +!!Dur!!!Q!z"8i-!!"\Q!!!!!"qu?]s&+BQ!!!!&t!!!!(n,NFg!!3'!!!!9!z!<)ru!!i9!zrVuou +#P\9!!!!#u!!!!$p](9o!!*$!!!!,rz!.OtK!!E-!zIfKHK!W2ot!!!"KJ,fQMqu?]s!!#66!!!'!z +!'bu6!!3'!z5JR7!!<)ru!!!!`s8W-!rVuou!!",@s8W-!z!$D7@s8W*!z+92B@s8N'!!!!!@n,NFf +s*t(L!!!Pf!!!!`J,fQL!"[uf!!#66z&+BQ!!$AuV!!!!0n,NFg+2@jV!!!Q!!!!!@^]4?7!!hun +!!!Pfz#P\9!!"[uf!!!!(p](9o#Oh]n!!!9!!!!!(n,N]D!!i9!!!!,j!!hE^#P\9!!!Dur"7Q9m +p](9o"8Diup](Eo!!!!"qu?io!!E-!!!!&t!!2ut"8i-!!!)os!;lg!qu?]s!<)ruqu?iszIK0@s +!!E-!!!!"K!!#1_"8i-!!!#4`!$;1CrVuou!'bu6%tFc]z++O=ri!95]!!!!@^]4E1&,lP/!!!PF +!!*'!rVuou!"[uf!'gM]z#N,R^&-)P-!!!!$n,NFhs7cQo!!!&h!!!!@huE`W!!$s~> +Q +q[1 0 0 1 0 0]concat +66 68 true[1 0 0 1 -1281 -1845]@X +imagemask +J,fQKrVuou!.Y%Ks8Tk7!!#7`s8W,o!!!!0s8W-!rVuou"98E$s8N'!!!!!@!!!O[z%tFWbhuE`W +!!g:>"7Q9j!!!8^!!Dur!!!!$n,NLaz"8Dirqu?]s!!2ip!.4bH!!!&t!!!u=zqu?]sz!<)ruz!!)uu +z!!!"KzzIfKHKz!.OtKz!!#66z!!!!`J,fQLz5JR7!z!$AuVz!!"+Vz!!!!@^]4?7z+5d,!z!"[ufz +!!!Pfz!!!!0n,NFgz&+BQ!z!!hunz!!!8nz!!!!(p](9oz#P\9!z!!Durz!!!,rz!!!!$qu?]sz +"8i-!z!!2utz!!!&tz!!!!"rVuouz!WE'!z!!)uuz!!!#uzzrr<$!z!<3$!z!!%KKz!!!"KzzIt.M!z +!'bu6z!!#66z!!!!@^]4?7"2Fm:+2@jV!!D-Z!$AuV!!!,r!!!Pf!!!!"qu?^-huE`W!W2ot#Oh]n +!!)uu!!hun!!!"J!!!,jz4obQ`p](9o!$;1@!VcWp!!!PF!!)os!!!!$rr<%Jz!WW3"s8Vio!!#7` +s8W,u!!!!0s8W-!s*t(L!<<*!s8Tk7!!!9(s8W,7~> +Q +q[1 0 0 1 0 0]concat +79 80 true[1 0 0 1 -1350 -1833]@X +imagemask +!"\i)z!!!"Ks*t(Lz!WW2hz!!!9(s82isz&-)\/z!!",@i#dILz5Q:]ghuE`W!!#7]!!2QhzJ+s!D +p](9o!!%N<!!%BHzs53kW56(Z`!!*&7!!"*kzs1eU7%tFW[!!*%L!!!8>zs*t(L#N,R^!!*%L!!!,jz +rr<$!!VcWp!!*$!!!!&pzrr<$!!W2ot!!*$!!!!#szIfKHK!<)ru!!#4`!!!"Jz*rl9@!.OtK!!!7S +!!!"Kzz!'bu6z!!!!`J,fQLz!'bu6z!!!!`^]4?7z!$AuVz!!!!@^]4?7z!$AuVz!!!!@huE`Wz +!"[ufz!!!!0huE`Wz!"[ufz!!!!0n,NFgz!!hunz!!!!(n,NFgz!!hunz!!!!(p](9oz!!Durz!!!!$ +p](9oz!!Durz!!!!"qu?]sz!!2utz!!!!"qu?]sz!!3'!zzrVuouz!!)uuzzrr<$!z!!%KKzzIfKHKz +!!%KKzz5C`_6z!!#66z"+U@O+2@jV!!!,Z!!"+Vz"7Q9j+2@jV!!!,r!!!Pfz!W2ot&)[Ef!!!&t +!!!8^z!<)ru#Oh]n!!!#u!!!,jz!.FnJ"8Dir!!!!`!!!&pz!$;1@!W2ot!!!!@J,fTIz!"ZjF!.FnJ +!!!!(huEb,z!!D-Z!'^G`zp](:9J,fQL!!%BH!"ZjFz4obQf^]4?7!!!PF!!D-Zz#P\9"p](9o!!!'" +s8W+Lz!.Y%Ks6p!g!!!!0s8W,oz!!E9$s82isz+92B?~> +Q +q[1 0 0 1 0 0]concat +76 72 true[1 0 0 1 -1428 -1843]@X +imagemask +"+U@O!!#7!!!!,Zzs82is!Up'h!!3-"!!!&t!!!!(s8Tk7!W2ot!"\u4n,NIf!!!!@p]:-i!<)ru +!$C,!HiO0G!!!!`^]6Ou!.OtK!.TM!*rl:j!!!$!J,g+1!'bu6!<3$!#J^=(J,fWL!!!8>!'bu6 +"8i-!"5j/$^]4K7!!!,Z!$AuV#P\9!!T3r"^]4W/!!!!A!"[uf&+BQ!!!!!0huFkWz!"[uf+2@jV +!!!!(n,P\gz!!hun5C`_6!!!!(n,Rrgz!!DurIfKHK!!!!$p],dDz!!DurrVuou!!!!"quH]rz!!2uu +qu?]s!!!!"quQ]qz!!3'$qu?]szrWDoqz!!*!#p](9ozrs/#nz!!%KRn,NFgzIg>HCz!!%KZhuE`Wz +IuiLfz!!#6EhuE`Wz5EES[z!!#7@^]4?7z5Ms6Vz!!"+uJ,fQLz+5_SKz!!",@J,fQLz+9-ikz!!!Pu +J,fQLz&+>#Kz!!!Q(^]4?7z&,3j>z!!!Q$huE`Wz#P%9`z!!!9!p](9oz#P`ZHz!!!9!4obQ_z#P]A@ +z!!!9!%tFW[z"8i8Zz!!!-!!Up'hz"8i/sz!!!-!!'UA_z"8i-@J,fQL!!!-!!!g:>z"8i-$n,NQ@ +!!!-#!!)co"5j.Zj8K#YIK0K.!!)oq!!"*k"7Q9jJ,TEJ#N,^R!!#7_!!!&p#Oh]n&,lP/!.POK +!!!-#!!!!@s6p!g!<)ru!!iP^!!!!_zs1eU7!"Ju/!!"*k~> +Q +q[1 0 0 1 0 0]concat +68 72 true[1 0 0 1 -1504 -1843]@X +imagemask +"+U@O!.Vca!!D-Z!"],)!!!&p!!*'!rr<$!qu@!%s8Tk7!.Fots8W,W!!#4os8W-!p](:9s8W-! +JG]BI&-)\0p],aC!"],0s*t)6!!!9(s7cQo5C`_=s8RTL!'e7!"8hQf!!"+V!!2ut!!!!0huEfUz +#N,R_rVuou!!D]j!<)ru!!!#g!!*$!z!!!"KJ,fQLzIt.M!z!.TM!z!!#7!z!!!!`^]4?7z5MuMAz +!$C,!z!!",!z!!!!@n,NFgz&+BQ!z!"\Q!z!!!Q)z!!!!0p](9oz#P\9!z!!i9!z!!!9%z!!!!( +qu?]sz"8i-!z!!E-!z!!!-#z!!!!"rVuouz!WE'!z!!3'!z!!!$!zzrr<$!z!<3$!z!!%M!z!!!"K +J,fQLzIt.M!z!'e7!z!!#7!z!!!!@^]4?7z+5d,!z!$C,!z!!!Q!z!!!!0n,NFgz#Oh]oz!!Dur +!T3qX!!!,r!!2ip!!!!"qu?cqz!W2ourVuou!!)uu!WN-"!!!"J!!3*"z56(`aJ,fQL!$?^ns*t(L +!!!PF"93lO!!!!(^^'miz"5j^iJ,fQL!!2j:rr<$!!!!"Ks8N'!z5QC``z!"],/z!!!-$qu?]sz +s7cQoz!"[uf~> +Q +q[1 0 0 1 0 0]concat +114 75 true[1 0 0 1 -1573 -1840]@X +imagemask +!$;1@zzzJ%u$azz!!!'"huE`Wz!!!O[!!E8jzz!$C\1"98,rzz5PtK`s7cQoz!!!!`rr<0$qu?]sz +!!#7`J-5iNzz!'gM!"98?#!!!!AzJ)S0DrZ;+?!!%6D!!!"K^]4E)%fcS0!;lfs!!%Ma!!(p^J,fQL +rVuou!.Vca!!!+O!!!'"zJ%u$a!!C":!!3+M!!!"K^]4?7!Pe[8"96.:!!%Ma!!!!"huE`Zs53kW +!.Vca!!!#W!!!9(n,NFgJ%u$a!!)Kg!!iQ!!!!"K^]4?7!,qo<#QO]%!!%MazDu]kKq>:3m!'e7! +!!!!Y!!!Q)rVuou5JR7!!!"tY!$C][!!!!`^]4?7!'C5]+7MLF!!#7!z)uos\i#f`7!'e7!!!!!= +!!#7A&)[Ef5JR7!!!!K/!'fBHn,NGQ^]4?7!"Ju/5JRBr!!#7!z%fcTZ^]F?5!'e7!!!!!(!!%Ma +!<)ru5JR7!!!!6(!.TM!IK0@4huE`W!!@`OIt.M`!!",!z"+UCOJ,g[A!$C,!!!!!$J,oTL!"ZjF ++5d,!!!!&8!<3$!#N,S(huE`W!!0k9rr<$$n,OQgz!Pea8!!!&p!$C,!zhuWfW!!2ip+5d,!!!!#W +!WE'!!;lg=huE`W!!(pZrVuouIK0oJz!,r&<!!!!`!"\Q!zE!-"<!!"*k&+BQ!!!!"<"8i-!!"ZjU +n,NFg!!"t`qu?]s#N--^z!&t5Y!!!!$i",;Wz3!]3Y!!!,j&+BQ!!!!!]#P\9!!!2j"n,NFg!!!uL +p](9o!;m)sz!#uO=zIL#WJz*"VN=!!!!`#P\9!!!!!?&+BQ!!!")Gp](9o!!!K>n,NFg!"Xk[z!"L+/ +z&'+GFz%NjU/!!!!(j88lW!!!!0+5d,!!!!,mqu?]s!!!6GhuE`W!!2upz!!baHz!;lZoz#=$!(z +J,B9H!!!!(^VBgL!!!"Kqu?]s!!!,9^]4?7!!#7]z!!C!Oz!$D1?z"93lOz&,lP/!!!!$s*t(L!!!!( +rVuou!!!-$J,fQL!!!-#z!!E7Oz!!E3#z!WRZMz!WN-"!!!!"s*t(Lzrr<$!!!!'"z!!!"Kz!!3*"z +!!#4`z!WN-"z!$;1@!!!!"rr<$!z++O=k!!!$!z!!!!0J,fQL!!)uuz!!!7Sz!.FnJz!!@`Oz4obQ_z +!It.M!!!!/zzJ,~> +Q +q[1 0 0 1 0 0]concat +100 82 true[1 0 0 1 -1693 -1840]@X +imagemask +"5j.Zzz!$Ct9zz!!#7]zz!!!"KrVuou!!#1_zs8Duu!!!"Kz!<<'!zIt.M!!!*'!J,fQL!<9h7!!!"K +s*t(L!!3,8zJ,d:a!!!'"^]4?7!.TX:!!!!$s1eU7!!#1`huE`W"979Z!!!!Y!8mhW!!iM]z!!)Kg +!!!Q-huE`W!!!"<!!!!0ptu,PzGQ7^D+8G=*z!&srY!$C]Lz!!"tY!!#7QDu]k<!!!!]!!!!`i,AYrz +)uos=5N$J\z!#tt=!.Ve/z!!!K/!!%Ma2uipY!!!!/!!!$!J2dN/z%KHJ/s+!'/z!!`K(!WN-^z +!!!6(!!3*")uos=!!!!(!!!-#!#tt=z"+U@RrW!o<z!!@`O"8i-?z!!!+O!!iE%%KHJ/!!!!"^]4W; +!"Ju/z!Pe[?p](d(z!!0k8&,6,8z!!!&X!"\Q!#64`(zhuFkg!!`K(z!8mi!n,N[nz!!(pW+5d,( +J,fQL!!!#g!'fBA"+U@OzDu`,\!!@`Oz!,qp&^]4Iez!!%6DJ%u$d^]4?7!!!!Y!.TM!!Pe[8z2uru/ +!!0k8z!&suYJ,fVcz!!#+]rr<$"huE`W!!!!=!WN-"!8mhWz*!-'>!!(pWz!#u%=!!!#gz!!"&B +rVuouDu]k<!!!!?"9&9#!,qo<z%KlV/!!$s<z!"K83!!!"Dz!!!K6qu?]s2uipY!!!!0#P\9!!&srYz +%hJF8!!#+]z!!a&0!!!!]z!!!67n,NFg)uos=!!!!(+7K71!#tt=z#G:Jc!!"&?z!!f.S!!!!/z +!!!8=huE`W%KHJ/!!!!$^Yf(l!"Ju/z"2DVO!!!6(z!!E8:!!!!(z!!!-$^]4?7#64`(!!!!$s*t(L +!!e#Sz"93lO!!!+Oz!!E7O!!!!$J,fQL!!!'"z"2Fm:!!!!"rr<$!!!0k8z!WN-"!!!&Xz!!3'!z +n,NFg!!!'!z!;lfszrVuou!!*&7z!.FnJ!!!"Ks1eU7!!!u=z5QAM!zz!'gMAzz!!",@n,NFgz!!!!0 +s6p!gzz#QO8nzz!!3,hzz!!!"Kn,NFgzz#Oh~> +Q +q[1 0 0 1 0 0]concat +72 72 true[1 0 0 1 -1797 -1843]@X +imagemask +!!",=z!!!'"s1eU7!!!!(s8Vusz+92B@z!'gM`s1eU7!!%NK^^oo7!!!$!rVurr!!!!"s7cQo56(Z` +"979Z!"XS[!!iP>!!!,Z!!!9(J,fQMn,NG!rr<$!!;HNo&,lP/!!#1_!$D+=!!!!@!!",9z%tFXE +p](9o!!g:>5O\XQ!!!8^!'frQ!!!!$n,P]2z!VcYEhuE`W!!)coJ)C;,!!!#s!.VcazIK4l5z!'^I5 +^]4?7!!#4`J%u$a!!!!@J:E(Lz+2EAVz!"ZkpJ,fQL!!!PfIt.M!!!!!(i.$7Wz#Om4nz!!i"CJ,fQL +!!!,rIt.M!!!!!$pj[eoz"8I@rz!!E-`J,fQL!!!&t5JR7!!!!!"r'.ssz!WG=!z!!3'@^]4?7!!!'! ++2@jVzrZC%uz!<3Sfz!!*$0huE`W!!!$!#Oh]nzrs/#nz!<3;n!:Tsg!!*$$p]13l!!!$!!VcYDz +rrN#tIfKHK!<3&s!'^G`!!*$!rW#05!!!'"!.FniJ,fQMrr>7`+2@jV!WN-AJ.KEq!!3*"++OUS +!!!'"!"ZjMhuE`Zrr<;^"7Q9j"9/?'n,`:a!!iK'!VcZi!!!9'!!)osqu?^-rVuqI!.FnJ+8c*= +56*kI!$D+=!$?_5!!#7Y!!!PF%tFZ[p](9rn,qSLs6p!g!Vc]j&-(Pf!!%HJJ,fQ,!!!!`!'gM` +J,fQL%tG2jrr<$!!!C";s82is!!!#W!'fBA~> +Q +q[1 0 0 1 0 0]concat +76 73 true[1 0 0 1 -1870 -1840]@X +imagemask +!!@`Oz!!!!$huE`Wz!!D]jz!!!!"p](9oz!!2utzzrVuouz!!)uuzzrVuouz!!%KKzzIfKHKz!!%KKz +z5C`_6z!!#66zz+2@jVz!!"+Vzz+2@jVz!!!Pfzz&)[Efz!!!Pfzz#Oh]nz!!!8nzz#Oh]nz!!!9!zz +"8Dirz!!!,rzz"8i-!z!!!&tIfKHKz!W7HBz!!!'!5Q:]`z!<+)?huE`W!!!#u"98,rz!<)s#rVuou +!!!$!!!#66z!.OtK#N,R^!!!"K!!!&hz!.TM!!.4bH!!!"KJ,fR5z!'bu6!$?^k!!!!`J,fQS^]4?7 +!'e7!!!D-Z!!!!`^]4?:n,NFg!$AuV!!2ip!!!!@^]4?7qu?]s!$AuV!!%HJ!!!!@huE`WIK0?J +!$C,!!!#4`!!!!0huE`W5C`_6!"[uf!!#66!!!!0n,NFg+2@jV!"\Q!!!"+V!!!!0n,NFg+5d,! +!"\Q!!!",!!!!!(n,NFg&)[Ef!!i9!!!!Q!#CldZp](9o+7KNn!!i9!!!",1"7Q9qp](9o+7KC- +!!i9!!!",1!VcX"p](9o5O\^O!!Dur!!#7Q!;lg!qu?]sJ+*Ge!!E-!!!*&W!'UAbqu?]ts53l! +!!E-!!!E8:!"XS^qu?^-s1eU>huilW!'gL6!!2isqu?ctrr<$!s+C:N5QC]_!!#7`s8W-!p](9o +#QOi(s8VQg!!!'"s8W-!J,fQL!'gM`s82is!!!!"s8W,7!!!~> +Q +q[1 0 0 1 0 0]concat +73 82 true[1 0 0 1 -1956 -1833]@X +imagemask +z!!E7Oz!!!"Ks6p!gz#QOi%z!!#7`s8N'!!!!!"s8W-!^]4?7!!iQ(p]KFS!!!!`s8RTMn,NFg"98Dr +!!)co!!",@s1eU7qu?^-s8W&u!!%HJ!.Y%Kn,NFgIfKIus8RTL!!#66!'gM`n,NFg++O>5s8W&u +!!!7S!!E9$s*t(L!It.M!!iP^zz+8>g9z!!!'!zz!.TM!z!!!!@^]4?7z!!hE^z!!!!"p](9o!!",9 +!!)oszs8RTLIK0?J!!E9$huGtA!!!!(s8Vus++O=k!"],0rr<SF!!!!@s1gjL#N,R^!'gJ`#N,^R +!!!"Kqu?ce!VcWp!.XbD!-eMA!!!$!huE`o!.FnJ!<:sW!!!"K!!!'"^]4?7!'^G`!WRZM!!!!` +J,fWMJ,fQL!$AuV!WN-"!!!!0^]4K:z!"[uf"9/?$!!!!0huElYz!!hun"9&9#!!!!(n,NRiz!!Dur +"9&9#!!!!$p](Eqz!!E-!!WE'!!!!!"qu?csz!!2ut!WE'!!!!!"rVuuuz!!3'!!WE'!!!!!"rVurtz +!!3'!!<)ruzrr<'!z!!*$!!.OtKzrr<%Kz!!*$!!'bu6zrr<$`J,fQL!!*$!!$?^kzrr<$@^]4?7 +!!*$!!"ZjF!!!!"rr<$0huE`W!!3*"!!hE^!!!!"rr<$$n,NFg!!3*"!!2Qh!!!!$rr<$"p](9o +!!E6$!!)os!!!!$rVuouIK0?J!!iK'!!#1_!!!!(rVuou*rl9@!"]&/!!!O[!!!!0qu?]s#J^<> +!$D+=!!!,Z!!!!`p](9o!Up'h!.XbD!!!"H!!!$!n,NFg!'UA_!WVWh!!!!0J,fiShuE`W!!hE^ ++90+V!!!!"rW)uuJ,fQL!!%NKs8N'!z+92B?z!!!9(s7cQoz!<<)Wz!!!!(rVuou~> +Q +q[1 0 0 1 0 0]concat +86 70 true[1 0 0 1 -2030 -1843]@X +imagemask +!!0k8!!!!0huE`W!Up'h!!#7_!!!!"p](9o!.Y$!!!!#szs8V!W!!)uu!!!'"s7cQo!<)ru!!E8Z +HiO-HIfKHK"96/#!!!"K!!!!(s*tW1!!%KK!!!9(!!g:>!'bu6!"]&/#N,R^5C`_6&,ZD0n,NG1 +^]4?Vqu?cm!!"+V!!",9!!)os!$AuV!'g5Y!.4bH&)[Ef5O\XQ)uosLhuEaAn,NFg!!!Pf!!%N,z +!!hun!.Wo,z#Oh]ns53kW!!!!(p](<o^]4?7!!!,r!!3,8z!!Dur!WRZMz"8Dius*t(L!!!!"qu?j!z +!!!&t!!iN(z!!2ut&,lP/z!WE'0rVuouzrW"&<z!!!#u!'gA]z!!*$"s7cQoz!.P+Nn,NFgzIf]TEz +!!!"K!<<#uz!!%M!J,b$!z!'buUs53kWz5C`_Up](9o!!!!`^]4K7z!!#7!!!%KKz!'e7!!$?^kz ++2@jV&&8/F!!!!@huE`^huE`W!!",!!!!,jz!$C,!!!2ipz&)[Ef!;lfs!!!!0huE`WIK0?J!!!Q! +!!!"Kz!"\Q!!!#4`z&+BQ!!'bu6!!!!0n,NFg+2@jV!!!8n!!!!@^]4?7!!i9!!!"+V!!e#S#P\9! +!$C,!#N,Rep](9o+5d,$n,N^g!!!!@huElS!!i9!!!",1!!2ip#P\9!!$C\1!W2p"qu?]s+7K71 +qu?is!!!!@n,NH;!!E-!!!#7Q!!#1_"8i-!!'frQ!$;1Cqu?]sJ+*F<%tFc[!!!'"huE`^huilW +!!iP^!!!&p"9&9#5QAM!!!*%OrW!3's*t(L!'gM`s8W-!z&-)\0s8W&u!!!!"s8W-!s7cQo!!!!` +s8W-!J,fQL!!!'"s8V!W!!!~> +Q +q[1 0 0 1 0 0]concat +67 72 true[1 0 0 1 -2114 -1843]@X +imagemask +!!!Q/z!!!$!s6p!g!!!!$s8W&uz&-)\0^]4?7!'gM`s6p!g!!%NKhuilW!!!$!rVuqI!!!!"s7cQo +%tFW[!WVWh!!g:>!!E8:!!!&h!!!-$J,fQLp](:!rr<$!!.4bH#Q=]'!!%HJ!!iK'!!!!`!!!9%z +56(Zgqu?]s!$?^k#P\9!!!"+V!!i9!!!!!@^]4W7z&)[Eip](9o!"[uf"8Dir!!!Pf!!2ut!!!!0 +n,NLez+7K71qu?]s!$C\1!.OtK!!",1!!#66!!!!`n,NG!^]4?75O\XQ"5j.Z!.XJ<!!$C,!!*&gz +!!!'"huE`W!!!!$s53kWz&-'EFz!$D5kz!!%NKJ,fQL!!!'"rr<$!!!!!(s8Duuz+92*9z!.Y%<z +!!3-"^]4?7!!!9(rr<$!!!!!0s82isz5QC3Qz!.Y$az!!%NKz!!!$!qu?]s!!!!"s7cQoz!WV'Xz +!!E8:z!!!-$J,fQL!!!!$rr<$!z"9/?$z!!E3#z!!!-#z!!!!$rVuouz!WE'!!'C5]!!2ut!!#4` +!!!'!!!!!`J,fQLrVuou5JR7!!<)ru!'e7!!!%HJ!!#7A!!!!`!!!!`huE`W*rl9@5MuMA!"XS[ +!.Wo,!!!8>!!*&W!!!!$huEfXhuE`W!VcX"s1eU7!!%KKJ,d:a!!!!@s8W+Lz#QOi(z!!3-"qu?]s +!!!!`s6p!gz"93lO~> +Q +q[1 0 0 1 0 0]concat +82 71 true[1 0 0 1 -2181 -1845]@X +imagemask +!!3-"rVuouz!WW3"^]4?7zs8W,Wz!!!"Ks8Vioz!!",@s82isz!!E9$qu?]sz!'UA_zz56(Z`z!!!!@ +J,fQLz!!!PFzz!"[ufzz#Oh]nz!!!!$n,NFgz!!!,rzz!!E-!zz!W2otz!!!!"rVuouz!!!#uzz +!!*$!zz!<3$!zzIt.M!z!!!"KJ,fQLz!!%Mazz!'e7!zz5JR7!z!!!!`huE`Wz!!",!zz!$C,!zz ++7K71z!!!!@n,NFgz!!!Q!zz!"\Q!zz&,6,)z!!!!0p](9oz!!!9!zz!!i9!zz#Q+Q%z!!!!(qu?]sz +!!!-!zz!!E-!zz"9&9#z!!!!$rVuouz!!!'!zz!!3*"zz!WN-"zzrr<$!!!!,:!!!$!z!!D]j!!*%Lz +"8Dir!<7QL!!!!"qu?]sIt.M!!!!'!!!!"KJ,fQL!!*$!!!%Maz!<3$!!'e7!zIfKHK5JR7!!!!!` +J,fR6^]4?7!!#66!!",!z!$AuV!$C,!z&&8/F+5d,!!!!!(huE`fn,NFg!!!,j!!!Q!z!!2Qh!!hunz +!;HNo#P\9!zJ,fQKs8Vio!!!!@s8W-!s8RTL!!!Q0s8W-!s6p!g!!E9$s8W-!qu?]s!.Y%Ks8W,uz +&-)\0s8W*!zz!$?^kzz#J^<>z!!!!"^]~> +Q +q[1 0 0 1 0 0]concat +71 71 true[1 0 0 1 -2262 -1842]@X +imagemask +z!!%6D!!)uu!!!'!!!!-$^]4?8s*t([s7cQo"979Z&-)V/!!E8j!$D7@J,f]Op]*PX&&8/Ir]C0F +p]9ja!WE'!5O\[J!!3'!!'fBA4obW_!!%N,!$;1ArVuqJhuF:<!WE'!J%u$h^]FE7!.Vca"5j4Z +!!%Ma!!2QhrVuqJ^]4B0!<3$!5JR7!HiX0H!'e7!!'UD_!!#7!!!")@rr<$`^]4?FJ:@P!5JR7! +#Jbfh!$AuV!!D//J,g\,!!!&hIt.M@huE`Xpcj9/&)[Ef!;o'3!"[uf!!%I4^]4o7!!!!_5JR7( +n,NFg59IZ@#Oh]n!$@iK!!i9!!!!PehuElS!!!!(cend*p](9o#OgRN!W2ot!!E8j!!2ut!!!'" +n,NLg!!!!"s6p!grVuou!<;Ng!<)ru!!%ND!!%KK!!!"Kp](;Dz5PP3Y5C`_6!$D+=!'bu6!!",= +!!#7!!!!!0qu?^=^]4?7&,ZD-+2@jV!!iK'!"[uf!!!-#!!!Pf!!!!$rVup'n,NFg!WN-"#Oh]n +!!3*"!!Dur!!!$!!!!,rzs*t(Op](9o!.TM!!W2ot!!%M!!!2ut!!!!`J,fWLz5JR7!rVuou!$AuV +!<)ru!!"+V!!%KK!!!!0huEb,z&)[EfIt.M!!"[uf!.TM!!!!8n!!#66!!!!(n,NGQJ,fQL#P\c/ +5JR7!!!E!,J3UgL!!!,r#Jbi)!!!!$qucG<^]4?7!W2rts1eU7!!3'!J,d:a!!!#u!$D6VzIK0KM +J,fQL!$2+?IfKHK!!!3~> +Q +q[1 0 0 1 0 0]concat +69 72 true[1 0 0 1 -2334 -1841]@X +imagemask +!!!3'z!!!!(zz#J^<>z!!D-Zz!!!,jz!!!!$qu?]sz"9&9#z!!E6$z!!!-$J,fQL!!!!$s1eU7z +!WV'Xz!!3,pz!!!'"qu?]s!!!!"rVccsz!W;rtz!!3"IJ,fQL!!!&t+2@jV!!!!"r"%]cz!W32lz +!!3'$p](9o!!!#u!W2otzrW)otz!<)tJz!!)uu5C`_6!!!#u!$AuVzrW!Jez!<)s'n,NFg!!)uu +"7Q9j!!!#u!!2ipzrVurrz!<)ruIK0?J!!)uu!'^G`!!!#u!!")@zrVup/J,fQL!<)ru#J^<>!!)uu +!!D-Z!!!#u!!!,ZzrVup!n,NFg!<)ru!;HNo!!)uu!!%6D!!!#u!!!"HzrVuou49,?]!<)ru!$2+? +!!3'!!!!N0!!!'!!!!!0!!!!"rVuou#CldS!WE'!!!e#S!!3'!!!!+O!!!'!!!!!"^]4?8qu?]s +!Pe[8"8i-!!!2!X!!E-!!!!#W!!!-!zhuE`Zqu?]s!:Tsg#Q+Q%!!)Kg!!i9!!!!#g!!!9!zn,NG! +p](9o!;HNo&+BQ!!!2ip!$C\1!!!&p!!#7Q!!!!$p](:YhuE`W&,6,)J)C;,!'g5Y!<9h7!!3,h +!!3,8!!!'"n,N^nJ,fQMs6p"Qrr<$!!WVWis8Duu!!3,X!WW&t!!!$!^]FK1zs*t*!n,NFg!.OtK +++O=k!!#+]~> +Q +q[1 0 0 1 0 0]concat +106 72 true[1 0 0 1 -2404 -1841]@X +imagemask +!!$C,z!WW3#zDu]k<!!!*$z!!%6Dz"+U@Oz49,?]!!!,:z!!#+]z"5j.Zz4obQ_!!!,jz!!#4`z +"8Dirz++O=k!!!,rz!!"+Vz#Q+Q%z+2@jV!!!9'z!!",!z#QFc(z+7K71!!!9(J,fQL!!",9z#QK;Sz +&,ZD-!!!9(^]4?7!!!Q-z#Q*EZz&,lP/!!!9"n,NFg!!!Q0z#Pdcgz&+>#K!!!9!p](9o!!!PuJ,fQL +#Om*@z&*L_.!!!8n4obQ_!!!8qhuE`W#Oic7z#P$^P!!!Q!*rl9@!!!8nn,NFg&+C*[z#OqKg!!!Q! +#CldS!!!8nHiO-H&+B\:z#OjhU!!!Q!"5j.Z!!!8n*WQ0?&+BVhz#Oif8!!!Q!!:Tsg!!!9!%fcS0 +&)[H_z"8E+O!!",!!-eJD!!!,r#J^<>+5d,]z"8Du6!!",!!'UA_!!!,r!T3qX+5d,?z"8Dod!!",! +!"T&0!!!,r!:Tsg+5d,0z"8Dk@!!"+V!!e#S!!!,r!.4bH5JR7$^]4?7"8DjY!!#7!!!C":!!!,r +!$2+?5JR7"huE`W"8Dj<!!#7!!!2!X!!!,r!"T&05JR7!n,NFg"8Dj$J,k(L!!$s<!!!,r!!e#S +It.M!GQ7^D"8Diu^]8k7!!"tY!!!,r!!2!XIt.M!49,?]"8DishuJ7W!!!u=!!!,r!!)Kgrr<$! +*WQ0?#P\9!n,WIg!!!K/!!!9!!!%6Drr<$!%KHJ/#P\9!495B]!!!N0!!!9!!!#+^rVuou#64`( +#P\9!*Wc6?!!!6(!!!9!!!"&@rVuou#CldS#Oh]n%fuY0!!!+O!!!Q!!!!6+qu?]s"+U@O&+BQ! +#D;pS!!!+O!!!Q!!!!+Rqu?]s"2Fm:+7K71"3:<>!!!,:!!",!!!!&_p](9o#J^<>5MuMA!U'4X +!!!8>!!#7A!!!#np](9o&&8/FJ%u$a!<;fo!!"+V!!%Ma!!!"Kn,NFgJ%u$as1eU7!.XJ<!!3,8 +!!3+M!!!!`n,NFhs1eU>rr<$!!'fBA!!3,8!$D4@!!!!@huE`Xs1e[8rVuou!'fBA!!3+M!WW&t +!!!!`^]4?7s*t.Mp](9o!$AuV!!*$!!.Wo,!!!!0^]4?7IK0?iJ,fQL!!@`O!!"tY~> +Q +q[1 0 0 1 0 0]concat +75 68 true[1 0 0 1 -2519 -1845]@X +imagemask +4obQ_!$C,!!!%M!!!!!`qu?]ss53kW!.Y"K!!*&g!!!$!s1eU7s6p!g!<<)W!!*&7!!!'"j7!$K +s*t(L!WR`G!!*%L!!!'"JG]BIIfKHK"9/@K!!%KK!!!-$!$2+?56(Z`"9&9#!!"*k!!!-#z++O=k +"9&9#!!!PF!!!-#z"5j.Z"9&9#!!!&h!!!-#z!;HNo"8i-!!!!"J!!!9%z!$;1@#Q+Q%!!!!0J,fiPz +!!hE^#Q+Q%!!!!"n,N^kz!!)os#Q+Q%z56(rdz!!"*k#Q+Q%z#N,jbz!!!&h#P\9!z!;mB&z!!!!` +&,6,)z!$@9sz!!!!(n+Zk_z!!3,pzzs7cQoz!!#7Yzz&,6,)z!!!Q)zz&,6,)z!!",?zz+9)<@z +!!",@^]4?7z+8=[nz!!",2p](9oz+7O^Zz!!",156(Z`z+7KfVz!!",1#N,R^z+7K=+z!!",!!.4bHz +5MuN+z!!#7A!"XS[z5MuMH^]4?7!!#7A!!D]jz5MuMBp](9o!!#7A!!%BHz5MuMA4obQ_!!#7A!!#4` +zJ)C;,++O=k!!%Ma!!"+V!!#+]J%u$a+2@jV4okVu!!",!!!"*ks1eU7+5d,!++aI-!!#7A!!!PI +s*t(LJ)C;,#QOgS!!3,X!!!'"s*t(Ls53kW!<<'!!!%N,!!!!`rVuou5JR7!!!Dur!!!O[~> +Q +q[1 0 0 1 0 0]concat +74 81 true[1 0 0 1 -2596 -1832]@X +imagemask +!!2ipz!!!!0rr<$!z!$D6Vz!!!!`s53kWz!.Y%Dz!!!$!s82isz!WW3"z!!!'"s8RTLz"93rP^]4?7 +!!!-#!'fBAz"8Dj<p](9o!!!,j!!iE%z"5j.[rVuou!!!&X!!*$!z!Pe[8It.M!!!!#7!!"+Vz!5JR7 +&)[Efz!!!Q!zz&,6,)z!!!Q-zz&,lP/z!!!Q0zz#QK;Sz!!!9(^]4?7z#P[-Vz!!!8qn,NFgz#P%Qhz +!!!8nqu?]sz#Om*@z!!!8n4obQ_z#Oif8z!!!8n%tFW[z#Ohu6z!!!8n"2Fm:z#OhiRz!!!8n!Up'hz +#Oh`_z!!!8n!-eJDz#Oh^Uz!!!8n!'C5]z#Oh^7z!!!Q!!"T&0z&+BQ0z!!!Q!!!e#Sz&+BQ$^]4?7 +!!!Q!!!C":z&+BQ"huE`W!!!Q!!!(pWz&+BQ!n,NFg!!!Pf!!$s<z&)[EfGQ7^D!!",!!!"tYz+5d,! +49,?]!!",!!!!u=z+5d,!)uos=!!",!!!!K/z5JR7!%KHJ/!!#7!!!!N0z5JR7!#64`(!!#7!!!!6(z +J%u$a#CldS!!%M!!!!+OzIt.M!"+U@O!!*%L!!!,:zrr<$!"2Fm:!!3*"!!!,:!!!!"rr<$!"2Fm: +!!E3#!!!,:!!!!$rVuou"2Fm:!!iE%!!!8>!!!!0qu?]s&&8/F!$Ct9!!"+V!!!!`p](9o5JR7] +!.XJ<!!E8:!'UG`huE`^s1eUV&-(Pf!!iOS!"],0^]4?>s*t(Ss8RTL!!E6$!!3-!!!!!$rVuou +s7cQo!!2ut!!",!zn,N~> +Q +q[1 0 0 1 0 0]concat +79 68 true[1 0 0 1 -2670 -1845]@X +imagemask +!Pe[8!.XnH!!!&h!!%NKs*t(L!;llts8W,W!!!"Ks8W-!s7cQo!'gM`s8W,s!!!!@s8W-!s8N'! +!!iQ(s8RTkJ,fQOs8W+L!"ZjF!!3-"!!!!(huE`Wqu?]s!!hun!!%HJ!!!!$p](9o56(Z`!!E-! +!!"*k!!!!"qu?]s#J^<>!!3'!!!!,ZzrVuou!Up'h!!*$!!!!#szIfKHK!.FnJ!!#66!!!!`z++O=k +!$?^k!!!7S!!!!0^]4?7!It.M!!D-Zz!!!!"n,NFgz!!)cozzHiO-Hz!!#1_zz*rl9@z!!!O[zz +#N,R^z!!!,jzz!VcWpz!!!#szz!.FoUz!!!!`!;HNoz!$?diz!!*'!s82iszs8W,sz!!%NKs82isz ++92B1zzIK0?Jz!!#4`zz++O=kz!!!PFzz&)[Efz!!!8^zz"7Q9jz!!!&pzz!;lfsz!!!"Jzz!'^G` +!!!*$!!!!@J,fQL"5j.Z!"ZjF!!!,r!!!!(huE`W!W2ot!!D]j!!!'!!!!!"p](9o!<)ru!!2ut +!!!"KzrVuou!'^G`!!%HJ!!!!@J,fQL56(Z`!"XS[!$D5k!!!!(^]4W>s1eU7!!Duss8W,Wzs8W-! +s6p!g!!#7`s8W,oz+92B@s7cQo!!!-$s8V#)z!<<)o!'UA_!!!!0rVup&~> +Q +q[1 0 0 1 0 0]concat +47 77 true[1 0 0 1 -66 -1718]@X +imagemask +z!#tt=!!!!_z!.FnJ!!!"Jz!<)ru!!!#uz!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz ++2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKzrVuou!!)uuzqu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg +!!hun!!!!(huE`W!"[uf!!!!0^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#uz +!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz+2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKz +rVuou!!)uu!!!!"qu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg!!hun!!!!(huE`W!"[uf!!!!0 +^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#sz!W2ot!!!&pz!VcWp!!!&hz +!8mhW!!!~> +Q +q[1 0 0 1 0 0]concat +54 44 true[1 0 0 1 -119 -1726]@X +imagemask +5Q:ug_>j"Ss,[3?s7h*DTE"Zcr."a=s7cQkJ,bT0j8\m=rs/S?s6p-[!;lg]!!D]jquAq]"7Q<g +!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gc +n,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d +56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcp]19n56(f\!<)s_!!DurrW#._"8i0!!'^GcquH`s56(fb +!<7R6!!E6%s1j'`"96:=nGWDPs8W-!rW%HJs7cQm!.Y%KoDe^gJ+s!'s82kHj8Zppp]*Ops+#Ug +!!!!_!"ZjF~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -171 -1726]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -224 -1726]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -277 -1726]@X +imagemask +&-)Z^s8V"As8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+5d,(n,NG1huF#O!!",1!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jV+918K^]4?Vs8W+L!!"+us8RTL!$BPerr<$!+2e-X!!!!@_#O00 +!!"+V+5d,!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +39 45 true[1 0 0 1 -337 -1725]@X +imagemask +GQ7^D!.4nK^]=9ss7cTns8W*!s8W-!_#OH7s5<qWs8VTgrr@QDs7cR!q#B7P"8r27!!3#tJ,fTI +s*t(LIfBBJ!.OqJ!!%KI!!!#uIK0?Jr-SJE!W2ot!!iE%!!",9!!!-$p](;Ds6p"!s8V!WJ,fP! +"98E#!"],0p])E9s*t)6s53kWJ+s!D!.Vca!!%KK!!C%9!!!8^qu?^%nGE7d#OqWk!"\Su!!!Q! +IfKHjn:,rg5O^o4!<;OQs8W,g+92B@n-B!ns6p-js8VQgJ,f,u!!iOT^]~> +Q +q[1 0 0 1 0 0]concat +45 62 true[1 0 0 1 -382 -1726]@X +imagemask +"98E$rW!'#s8W*!#QOi(rr<<(s8W*!"98E$rr<*"s8W&u!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV +!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV +!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+V!!!'"s8W+L"98E$ +s1em>s8W,7#QOi(s1ea:s8W,7!WW3"s*t(L+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz ++5d18!!!Pf#N,R^&+Bhn!!!9!&+BQ!#Q>8/!!!-$s7cQo!WW2h!!!$!s6p!g!.Y%,!!!!@s1eU7 +!!3'!~> +Q +q[4.8 0 0 -240 640.28 1810.08]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +62 69 true[1 0 0 1 -706 -1726]@X +imagemask +5C`_6!!!9%5JR7!!!!9%+2@jV!!!Q-+2@jV!!!Q)+5d,!!!!Q)&)[Ef!!",1&+BQ!!!",1#Oh]n +!!",1#Oh]n!!#7A#P\9!!!#7A"8Dir!!%N,"8i-!!!%Ma"8i-!!!%Ma!W2ot!!*%L!WE'!!!*%L +!<)ru!!*%L!<)ru!!3*"!<3$!!!3*"!.OtK!!E6$!.TM!!!E3#!'gM`s8W&u!'gM`s8Vus!'gM` +s8Vus!$D7@s8Vus!$D7@s8Vio!$D7@s8Vio!"[uf!$Ct9!"[uf!$C\1!!hun!$C\1!!hun!'fBA +!!i9!!'fBA!!Dur!'fBA!!Dur!.Vca!!E-!!.Vca!!2ut!.Vca!!2ut!<7QL!!)uu!<7QL!!)uu +!<3$!!!)uu!WN-"!!%KK!WN-"!!%KK"9&9#!!%M!"9&9#!!#66"9&9#!!#66#Q+Q%!!"+V#Q+Q% +!!"+V#P\9!!!"+V&,6,)!!!Pf&,6,)!!!Pf&+BQ!!!!Pf+7K71!!!8n+7K71!!!8n+5d,!!!!,j +5MuMA!!!,r5JR7!!!!,r5JR7!!!!&pJ%u$a!!!&tIt.M!!!!&tIt.M!!!!#ss*t(L!!!#urr<$! +!!!"Jrr<$!!!!"KrVuou!!!"KrVuou!!!!`rVuou!!!!`qu?]s!!!!`qu?]s!!!!@p](9o!!!!@ +p](9o!!!!0p](9o~> +Q +q[1 0 0 1 0 0]concat +52 69 true[1 0 0 1 -779 -1726]@X +imagemask +J,fQKJ,fS!s8W,o!!%NKs8W&u!.Y%Ks8RTLJ,fQKs53m,s8W-!n,Rrg!!E9!!.TM!!.XtJIt.M! +&,uWZJ,fQOs+#TL!!!'"J:E(L!!*&7It.M!!.Ve6J,fQL5N%$A!!!!`i.$7W!!",!It.M!!$C][ +J,fQL&+G(!!!!!0n:,rg!!!Q!It.M!!"\RKJ,fQL+5hX!!!!!@i.$7W!!",!It.M!!'e8KJ,fQL +J&$Pa!!!$!J:E(L!!3+MIt.M!"9/@NJ,fQSrW%Fu!!",=!.TM!!<;NgIt.M(s53m,s8W-!J,k*! +s8Vus!.Y%Ks53kWJ,fQK^]4@as8W,o!!%NKs8W&u!.TM!+9-ikIt.M"s1eVaJ,fS!n,Rrg!!",9 +!.TM!!!iE%It.M!"9&:MJ,fQMrW%Fu!!!$!!.TM!!!*$!It.M!!.TNKJ,fQLIt3$!!!!"KJ:E(L +!!%M!It.M!!.TNKJ,fQLIt3$!!!!"KJ:E(L!!*$!It.M!!WN.LJ,fQOrr@P!!!!9'!.TM!!"\u- +It.M!5PtM2J,fWMp],eo!$D71!.Y%Ks8Tk7J,fQKs*t*!s8W,u!!%NKs8Vio!.Y%Ks1eU7J,fQH +!!!!~> +Q +q[1 0 0 1 0 0]concat +58 73 true[1 0 0 1 -837 -1724]@X +imagemask +zJ,B9H!!!!(s8RTL!!!!`s8VQg!!!$!s8Vus!!!-$s8W*!!!!9(s8W,7!!",@^^'mi!!#7_!!%M! +!!%ND!!"*k!!*&W!!!7S!!3,8!!!+O!!E6$!!!"L!!E3#z!!iE%z!"\u-z!"\i)z!$C\1z!'frQz +!'fBAz!.Vcaz!.Vcaz!.Vcaz!<7QLz!<7QLz!WN-"z!WN-"z!WN-"z!WN-"z"9&9#z"9&9#z"9&9#z +"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z +"9&9#z!WN-"z!WN-"z!WN-"z!WN-"z!<7QLz!<7QLz!<9h7z!.Vcaz!.Vcaz!'fBAz!'frQz!$C\1z +!$Ct9z!"\u-z!!iE%z!!E3#z!!E6$z!!3,8!!!'#!!*&W!!!K/!!%ND!!#4`!!#7_!!*$!!!",@ +^^pGF!!!9(s8W*!!!!-$s8W*!!!!$!s8W*!!!!!`s8Vus!!!!(s8V!WzJ,B9H~> +Q +q[1 0 0 1 0 0]concat +57 69 true[1 0 0 1 -909 -1726]@X +imagemask +J,fQKzJ,fQKn,NFgJ,fQKqu?]sJ,fQKrr<$!J,fQKs1eU7J,fQKs53kWIt.M(s7cQoIt.M!J,B9H +It.M!+8u6?It.M!#QFc(It.M!"93lOIt.M!!<9h7It.M!!.VcaIt.M!!'fBAIt.M!!'frQIt.M! +!$C\1It.M!!"\i)It.M!!!i9!It.M!!!iE%It.M!!!E-!It.M!!!E3#It.M!!!E3#It.M!!!3'! +It.M!!!3*"It.M!!!3*"It.M!!!*$!It.M!!!*%LIt.M!!!*%LIt.M!!!*%LIt.M!!!*%LIt.M! +!!%M!It.M!!!%M!It.M!!!%M!It.M!!!%M!It.M!!!%M!It.M!!!%M!It.M!!!%M!It.M!!!%M! +It.M!!!*%LIt.M!!!*%LIt.M!!!*%LIt.M!!!*%LIt.M!!!*$!It.M!!!*$!It.M!!!3*"It.M! +!!3*"It.M!!!3'!It.M!!!E3#It.M!!!E-!It.M!!!iE%It.M!!!iE%It.M!!"\i)It.M!!"\i) +It.M!!$C\1It.M!!'fBAIt.M!!.Wo,It.M!!<9h7It.M!!WRZMIt.M!"93lOIt.M!#QFc(It.M! ++8u6?It.M!J,B9HIt.M(s6p!gJ,fQKs53kWJ,fQKs1eU7J,fQKrr<$!J,fQKqu?]sJ,fQKn,NFg +J,fQKz~> +Q +q[1 0 0 1 0 0]concat +46 69 true[1 0 0 1 -981 -1726]@X +imagemask +s8W-!s8;oss8W,ss8W-!s8;oss8W,ss8W-!s8;oss8W,ss8W-!s8;nIzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*'!s8W,7s8W-!s1n[7s8W,7s8W-!s1n[7s8W,7 +s8W-!s1nYbzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs8W-!s7lWos8W,os8W-! +s7lWos8W,os8W-!s7lWos8W,os8W-!s7c~> +Q +q[1 0 0 1 0 0]concat +43 69 true[1 0 0 1 -1041 -1726]@X +imagemask +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*'!s8W&us8W-!rW)uus8W&us8W-!rW)uus8W&us8W-!rW)tKzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs8W-!s5<qWs8W,Ws8W-!s5<qWs8W,Ws8W-! +s5<qWs8W,Ws8W-!s53~> +Q +q[1 0 0 1 0 0]concat +59 73 true[1 0 0 1 -1087 -1724]@X +imagemask +zJ+s!D!!!!(s8RTL!!!!`s8Vio!!!$!s8W*!!!!-$s8W,7!!!9(s8W,W!!",@^^pJ'!!#7_!!%N, +!!%ND!!",!!!*&W!!",!!!3,8!!",!!!E6$!!",!!!E3#!!",!!!iE%!!",!!"\u-!!",!!$Ct9 +!!",!!$C\1!!",!!'frQ!!",!!'fBA!!",!!.Vca!!",!!.Vca!!",!!<7QL!!",!!<7QL!!",! +!<7QL!!",!!WN-"!!",!!WN-"!!",!!WN-""98DZ!WN-""98DZ"9&9#"98DZ"9&9#"98DZ"9&9# +"98DZ"9&9#"98DZ"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z"9&9#z +"9&9#z"9&9#z"9&9#z!WN-"z!WN-"z!WN-"z!WN-"z!<7QLz!<7QLz!<9h7z!.Vcaz!.Vcaz!'fBAz +!'frQz!$C\1z!$Ct9z!"\u-z!!iE%z!!E3#!!!"L!!E6$!!!%M!!3,8!!!+O!!*&W!!!O[!!%ND +!!#66!!#7_!!*%L!!",@^^pI\!!!9(s8W,7!!!-$s8W+L!!!$!s8W&u!!!!`s8Vio!!!!(s8Tk7z +J+s!D~> +Q +q[1 0 0 1 0 0]concat +52 69 true[1 0 0 1 -1161 -1726]@X +imagemask +s*t(L!$C_1J,fQL+7T;\!!!!@nGe"=!!",1s*t(L!$C_1J,fQL+7T;\!!!!@nGe"=!!",1s*t(L +!$C_1J,fQL+7T;\!!!!@nGe"=!!",1s*t(L!$C_1J,fQL+7T;\!!!!@nGe"=!!",1s*t(L!$C_1 +J,fQL+7T;\!!!!@nGe"=!!",1s*t(L!$C_1J,fQL+7T;\!!!!@nGe"=!!",1s*t(L!$C_1J,fQL ++7T;\!!!!@nGe"=!!",1s*t(L!$C_1J,fQL+7T;\!!!!@nGe"=!!",1s*t(L!$C_1s8W-!s7$'g +s8W-!nGiOgs8W,gs8W-!s8VTgs8W-!s7$'gs8W-!nGe"=!!",1s*t(L!$C_1J,fQL+7T;\!!!!@ +nGe"=!!",1s*t(L!$C_1J,fQL+7T;\!!!!@nGe"=!!",1s*t(L!$C_1J,fQL+7T;\!!!!@nGe"= +!!",1s*t(L!$C_1J,fQL+7T;\!!!!@nGe"=!!",1s*t(L!$C_1J,fQL+7T;\!!!!@nGe"=!!",1 +s*t(L!$C_1J,fQL+7T;\!!!!@nGe"=!!",1s*t(L!$C_1J,fQL+7T;\!!!!@nGe"=!!",1s*t(L +!$C\~> +Q +q[1 0 0 1 0 0]concat +9 69 true[1 0 0 1 -1232 -1726]@X +imagemask +s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-" +s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-"s+(-" +s+(-"s+(-"s+(-"s+(-"s*t~> +Q +q[1 0 0 1 0 0]concat +38 71 true[1 0 0 1 -1251 -1724]@X +imagemask +!!E7O!!#7`n,NLhs82j-s8W*!+92B@J04gks1f0?"979i^]=Dm%fcSon.#Eu+7K[=!$Ct9!!!Q) +!!!!0p](9o#P\9!!!iE%!!!9%!!!!(qu?]s#Q+Q%!!iE%!!!9%!!!!(qu?]s#Q+Q%!!iE%!!!9% +!!!!(qu?]s#Q+Q%!!iE%!!!9%!!!!(qu?]s#Q+Q%!!iE%!!!9%!!!!(qu?]s#Q+Q%!!iE%!!!9% +!!!!(qu?]s#Q+Q%!!iE%!!!9%!!!!(qu?]s#Q+Q%!!iE%!!!9%!!!!(qu?]s#Q+Q%!!iE%!!!9% +!!!!(qu?]s#Q+Q%!!iE%!!!9%!!!!(qu?]s#Q+Q%!!iE%!!!9%!!!!(qu?]s#Q+Q%!!iE%!!!9% +!!!!(qu?]s#Q+Q%!!iE%!!!9%!!!!(qu?]s#Q+Q%!!iE%!!!9%!!!!(qu?]s#Q+Q%!!iE~> +Q +q[1 0 0 1 0 0]concat +56 69 true[1 0 0 1 -1306 -1726]@X +imagemask +It.M!!!E7NJ,fQL"9*e#!!!!(r-s4s!!!Q)It.M!!"\jSJ,fQL+7Oc1!!!!`i.$7W!!#7AIt.M! +!.Ve6J,fQLs+#TL!!!$!J:E(L!!3*"It.M!"9&:MJ,fQOrW%Fu!!!9%!.TM!!"\i)It.M!&,6-S +J,fQkn,Rrg!!#7A!.TM!!'fBAIt.M!J%u&6J,fTLJ,k(L!!*%L!.Vca!WN-"J)C;/rVuqJn,NRi +!!%ND!!iE%!.XnH&,6,)J,TEYp](;Drr=/1!!%NKJ3Vrl!.Y$aJ)C;,J,eGV^]4@a^[V8R!!%M@ +q>YsF!.U(.rr<$!Iu"('!!!"KKE(oN!!%M"s82is!.TP!p](9oIt3%D!!!"KJ3WN'!!%M!+7K71 +!.TM0p](9oIt.e%!!!"KJ-5cN!!%M!!WN-"!.TM!s*t(LIt.NK^]4@aJ,hgl!!%M!!$C\1!.TM! +&,6,)It.M(qu?_HJ,f]N!!%M!!!3*"!.TM!!<7QLIt.M!J%u&6J,fR6huJ7W!!",1!.TM!!"\i) +It.M!#Q+ROJ,fQOrW%Fu!!!'"!.TM!!!*%LIt.M!!.Ve6J,fQL5N%$A!!!!@n:,rg!!!Q)It.M! +!!iE~> +Q +q[1 0 0 1 0 0]concat +41 69 true[1 0 0 1 -1375 -1726]@X +imagemask +s8W-!s+(.Ls8W+Ls8W-!s+(.Ls8W+Ls8W-!s+(.Ls8W+Ls*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lzs*t(L!!*%Lz +s*t(L!!!~> +Q +q[1 0 0 1 0 0]concat +68 69 true[1 0 0 1 -1429 -1726]@X +imagemask +It.M!!!!!0n:,rgz&+G(!!!2ut!"\RKJ,f]N!!!Q!It.M$rVup/n:,rg#Q=]'&+G(!!!iN(!"\RK +J,fiS!!!Q!It.M0rr<$0n:,rg&)Vm;&+G(!!"[t;!"\RKJ,g\K^]4o7It.M@hnT4&n:,rg5EES[ +&+G(!!'cP&!"\RKJ,hfphuF;WIt.NK#Oh^(n:,rgIg>HC&+G(!!<*5m!"\RKJ,oQNp](ioIt.Ou +"8Dj,n:,rhquQQm&+G(!!W2ur!"\RKJ-#QKqu@8sIt.Xr!<)s/n:,rjp]19n&+G(!#Oh`m!"\RK +J-YQDIfL#KIt.dn!.OtZn:,s!huGtA&+G(!&)[FPJ.M.!J.LQ<5Ca:6It/WV!$Auen:,s1^]5Il +&+G(!5C`_U^^opaJ3SPa&)[ufIt0b6!"[uun:,t<!!!8n&+G(!IfKHRn.5#<J:@P!#Oi8nIt7Lu +!!E!,n:,uf!!!,r&+G("qu?]tp^ckDJc#KJ!W3JtIt@Lt!!3!.n:-)c!!!#u&+G($p](9orX\LJ +KCAj@!<*MuIu!Ln!!%KZn:-5_!!!"K&+G(0huE`W57d75O5L!<!'cP6IuiLf!!#6En:.(G!!!!@ +O77Xk^]4?7+4'G+T7?nA!"[EFJ%pL6!!!Pun:/3'!!!!0n*khAz#Oh/3rr<$!!!iPnJ,]KK!!!9( +n:1E;!!!!$s6tO;z"97k?qu?]s!!3,hJ,B9H!!!'"n:1?9!!!!"s6tO5z!<;P<p](9o!!*&gJ+*F< +!!!"Kn,~> +Q +q[1 0 0 1 0 0]concat +52 69 true[1 0 0 1 -1517 -1726]@X +imagemask +IfKHK!WVY=!!!!"s6tL<!!!-$n:(E<!!E8jIfKHK#QO:C!!!!(s6tL<!!!Q0n:(E<!"],!IfKHK ++7J]K!!!!@n*kf,!!#70n:(E<!'eg!IfKHKIuj)K!!!"KO77W!!!*$0n:(E<!<3T!IfKHLrX\LJ +!!!'!&+G&K!!E-0n:(E<"8i]!IfKHRp^ckD!!!9!&+G&K!"\Q0n:(E<&+C,!IfKHji",=,!!",! +&+G&K!'e70n:(E<5JRg!IfKIuJ.M.!!!%M!&+G&K!<3$0n:(E<rr<T!IfKNK!"\RK!!3'!&+G&K +"8i-0n:(E?qu@8sIfK`K!"\RK!!i9!&+G&K&+BQ0n:(EKn,O!gIfLSK!"\RK!$C,!&+G&K5JR70 +n:(F&^]4o7IfOtK!"\RK!.TM!&+G&Krr<$0n:(H<!!!Q!If]NK!"\RK!WE'!&+G&Nqu?^-n:(Q< +!!!Q!Ig>`K!"\RK#P\9!&+G&Zn,NG!n:(u<!!!Q!IimSK!"\RK+5d,!&+G'5^]4?Fn:*[<!!!Q! +It)tK!"\RKIt.M!&+G)K!!!!0n:1H<!!!Q!J,TEJ!"\RKrVuou&+G)H!!!!0n:1?9!!!Q!J+s!D +!"\Q~> +Q +q[1 0 0 1 0 0]concat +67 73 true[1 0 0 1 -1580 -1724]@X +imagemask +!!!!$s*t(Lz+91g1z!<<)uz!!E9$s*t(L!!!9(s8V!W!!!!@s8W,gz5Q:``p](9o!.XbD5Q1W_!!*&W +!"])0!!!'"J,f]OJ,fQOrr<$"s*t(L#Q=]'!<9h7!"\u-!!%N,!!",9!!!!`n,NG1n,NFg+7K71 +5O\XQ!"\i)!'fBA!!!Q-!!%Ma!!!!(qu?_H^]4?7#Q=]'s*t(L!!E3#!<7QL!!!-$!!3*"!!!!" +rr<*"z!WN-#rr<$!!!*%L"9&9#!!!$!J-5cNzs*t4Nz!<9h>rVuou!!%Ma#Q+Q%!!!"K^^'c;zJ%u<e +z!.Vchqu?]s!!%Ma#Q+Q%!!!!`^^'c;z5MueEz!'fBHp](9o!!#7A#P\9!!!!!`i!9#Wz5MueAz +!'fBHp](9o!!#7A#Q+Q%!!!!`^^'c;z5JRO%z!'e7(qu?]s!!%Ma#Q+Q%!!!"K^]XK7zJ%u0az!.TM$ +rVuou!!%M!"9&9#!!!$!J-#WLzs*t.Lz!<3$"rr<$!!!3*"!<3$!!!!'!!!*%L!!!!$rVuqJJ,fQL +"9&9#J%u$a!!iE%!'e7!!!!9%!!#7A!!!!0p](:9n,NFg+7K71&,6,)!$C\1!"\i)!!#7A!!!9% +!!!"K^]4?:rr<$!s*t(L!WRZM"9/?$!!*&7!!iK'!!!"Kn,OR.z5Q1Z_p](9o!$D7@s6p!g!!!9( +s8Tk7!!!!$s8W+Lz!<<)uz!!",@n,NFg!!!!"s*t(L!!~> +Q +q[1 0 0 1 0 0]concat +49 69 true[1 0 0 1 -1661 -1726]@X +imagemask +It.M!!!!"KJ,fQL!!%M!z!.TM!zIt.M!!!!"KJ,fQL!!%M!z!.TM!zIt.M!!!!"KJ,fQL!!%M!z +!.TM!zIt.M!!!!"KJ,fQL!!%M!z!.TM!zIt.M!!!!"KJ,fQL!!%M!z!.TM!zIt.M!!!!"KJ,fQL +!!%M!z!.TM!zIt.M!!!!"KJ,fQL!!%M!z!.TM!zIt.M!!!!"Ks8W&u!!%NKs8V!W!.Y%Ks7cQoJ,fQK +rVuqJs8W-!!!%NKs8W,7!.TM!&-(PfIt.M!s6p#<J,fR6p],eo!!!Q)!.TM!!!iE%It.M!"9&:M +J,fQMrW%Fu!!!'"!.TM!!!*$!It.M!!<3%KJ,fQLs+#TL!!!"KJ:E(L!!%M!It.M!!.TNKJ,fQL +It3$!!!!"KJ:E(L!!%M!It.M!!<7S!J,fQLrr@P!!!!$!!.TM!!!3*"It.M!!WE(KJ,fQOrW%Fu +!!!9%!.TM!!"\i)It.M!5PP5.J,fTLn,Rrg!"]+f!.Y%Ks8Tk7J,fQKrr<%Ks8W,u!!%NKs8Vio +!.Y%Ks1eU7J,fQJ!!!!~> +Q +q[1 0 0 1 0 0]concat +67 83 true[1 0 0 1 -1716 -1714]@X +imagemask +z!!!9(z!!!!(rVuouz&,ZD-z!$Ct9z!!#7Yz!!!!`n,NFgzJ)C;,z!<9h7z!!3+Mz!!!'"J,fQL +!!E7Rrr<$!!!",@s8Duu!!!$!s8Vus!!!!$s8W,sz#QOi(p](9o!$D7@s6p!g!!#7_!<;fo!!!"K +n,Rt9zs1eX7rVuou!WRZNs8N'!!!E6$!WW1M!!!9%!!E4M^]4?Fp](Qu5MuMA+8>g@r#bD.!$C\1 +&,779!!#7A!$C\@p](:Y^]6Ug#Q+Q%J%u%Ki!9/[!.TM!J%u0c!!*%L!<7QMrVuru!!*%L!WN-# +rr<$!!!3*"!WE'!!!!$!!!3'!zs*t4Nz!<7QOqu?]s!!%M!"8i-!!!!"KJ-YuPzJ%u<ez!.Vchqu?]s +!!#7!#Q+Q%!!!!`^^'W7z5JRO!z!'e7(p](9o!!#7A#P\9!!!!!`i!9#Wz5MueAz!'fBHp](9o!!#7A +#P\9!!!!!`i!9#Wz5MueAz!'e7(p](9o!!#7!#Q+Q%!!!!`^^'c;z5JRO%z!.Vcdqu?]s!!%Ma"8i-! +!!!"KJ-5cNzIt.Y#z!<7QMrVuou!!*%L!WN-"!!!$!!!3*"!!!!"rr<'!z!WE'!s*t(L!!E3#!.TM! +!!!-#!!%Ma!!!!(qu?^]^]4?7#Q+Q%5MuMA!"\i)!$C\1!!",1!!!Q)!!!!@n,NG!qu?]s5MuMA +#Q=]'!.Vca!!E6$!!*%L!!!'"J,f]Ozs53k^rVuou!.XbD+8c*=!!#7_!<;fo!!!!@s8W,gz#QOi( +^]4?7!!E9$s*t(L!!!$!s8Duuz+91g1z!!3+M!!!!~> +Q +q[1 0 0 1 0 0]concat +52 69 true[1 0 0 1 -1798 -1726]@X +imagemask +It.M!!$C][J,fQL+7Oc1!!!!`i.$7W!!#7!It.M!!.Ve6J,fQLs+#TL!!!$!J:E(L!!3*"It.M! +!WE(KJ,fQOrW%Fu!!!9%!.TM!!!i9!It.M!&,6-SJ,fQ[n,Rrg!!",1!.TM!!$C,!It.M!5JR8K +J,fS!^]8k7!!%M!!.TM!!<7QLIt.M!rr<%KJ,fWL!!%M!!!E3#!.TM!"8i-!It.M(qu?_HJ,fiL +!!%M!!"\Q!!.TM!&+BQ!It.M@huEb,J,hgl!!%M!!'e7!!.TM!It.M!J,fQKJ,fS!s8W,g!!%NK +s8Vus!.Y%Ks8N'!J,fQKs1eVas8W-!huJ7W!!iPn!.TM!!.XbDIt.M!+8c+gJ,fQSrW%Fu!!!-# +!.TM!!!3*"It.M!!<3%KJ,fQLs+#TL!!!"KJ:E(L!!%M!It.M!!.Ve6J,fQL5JVc!!!!!`^jgk7 +!!#7!It.M!!.Ve6J,fQLIt3$!!!!"KJ:E(L!!*%LIt.M!!<3%KJ,fQMrr@P!!!!-#!.TM!!!iE% +It.M!+8c+gJ,fS!p],eo!!iPn!.Y%Ks8Tk7J,fQKs*t*!s8W,u!!%NKs8Vio!.Y%Ks1eU7J,fQH +!!!!~> +Q +q[1 0 0 1 0 0]concat +49 73 true[1 0 0 1 -1854 -1724]@X +imagemask +!!!Q/z!WW2X!!!!0s8Vio!!#7`s8Duu!<<*!rr<$$s8W-!^]4oFs8W,W!$D79"97ij&-%.[J+*FK +qu?^=p](io!!!Q-!"ZjF!!iE%%fcS0"9&9)!!!!"rW!'$!!!'"z!!*$!z!<3$!zIfKHK!!!"KJ,fQL +!!%M!z!.TM!zIt.M!!!!"KJ,fQL!!*%Lz!<3$!zrr<$!!!!'"z!!E6$z#Q=]'!!!!0rVuou!!",=z +!.XnH!!!!$s7cQo!!",@n,NFg"98Dj!!!!@s8V!W!!*'!s1eU7"98E$!!!!(s8W&u!!!Q0s7cQo +!'gM`huE`W5QC``!!!"Ks6p!g!!*'!z!WVWh!!!!"s1eU7!!!-$J,fQL!!E6$z#Q=]'!!!!(qu?]s +!!!9%z!!i9!z#P\9!!!!!(p](9o!!!8nz!!hunz#P\9!!!!!(p](9o!!!9!z!!Durz"8i-!!"],2 +rVuou0E;.Q!!!"<!!*%L!!)Kg!<9h7"8DirJ+*FKp](:YrW)un!!",@s8Vio!!iQ(s7cQo"98E$ +huE`Ws8W+L!!!!`s82is!!!-$^]4?~> +Q +q[1 0 0 1 0 0]concat +63 68 true[1 0 0 1 -1909 -1726]@X +imagemask +!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0 +p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o +!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0 +p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o +!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0 +p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o +!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0 +p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o!!!!0p](9o +!!!!0p](9o!!!!0p](9o+92B@s8W,u+92B@s8W,u+92B@s8W,u+92B@s8W,u+92B@s8W,u+92B@ +s8W,u~> +Q +q[1 0 0 1 0 0]concat +50 71 true[1 0 0 1 -1986 -1724]@X +imagemask +!!!Q-z!.Y$a!!!!"s8VQg!!!9(s82is!$D7@rr<$!5QCc`J,fS!qucu7!!*&W!<:sW!WRZM5O\XT +rr<$0p](Qu!!!9!!"\u-!!E-!&,6,)"9&9Bn,NFhrW"&0!!!$!!'fBA!!*$!5MuMA!.TM`^]4?7 +It3$a!!!"KJ:G?7!!#66J%u$a!'e8KJ,fQL5JVc!!!!!`_#Job!!#7!s*t(L!'e:!J,fQL5J[;L +!!!!`_#Job!!#7!s*t(L!'e:!J,fQL5J[;L!!!!`_#Job!!#7!s*t(L!'e:!J,fQL5J[;L!!!!` +_#Job!!#7!s*t(L!'e:!J,fQL5J[;L!!!!`_#Job!!#7!s*t(L!'e:!J,fQL5J[;L!!!!`_#Job +!!#7!s*t(L!'e:!J,fQL5J[;L!!!!`_#Job!!#7!s*t(L!'e:!J,fQL5J[;L!!!!`_#Job!!#7! +s*t(L!'e:!J,fQL5J[;L!!!!`_#Job!!#7!s*t(L!'e:!J,fQL5J[;L!!!!`_#Job!!#7!s*t(L +!'e:!J,fQL5J[;L!!!!`_#Job!!#7!s*t(L!'e:!J,fQL5J[;L!!!!`_#Job!!#7!s*t(L!'e:! +J,fQL5J[;L!!!!`^]~> +Q +q[1 0 0 1 0 0]concat +64 69 true[1 0 0 1 -2046 -1726]@X +imagemask +!!!!@p](9o!!!!@p](9o!!!!@qu?]s!!!!`qu?]s!!!!`rVuou!!!"KrVuou!!!"KrVuou!!!"K +rr<$!!!!$!rr<$!!!!$!56(Z`!!!'"5C`_6!!!'"5C`_6!!!'!+2@jV!!!-#+2@jV!!!-#+2@jV +!!!9%&)[Ef!!!9%&)[Ef!!!9%&+BQ!!!!Q)#Oh]n!!!Q)#Oh]n!!!Q!#P\9!!!",1"8Dir!!",1 +"8i-!!!#7A!W2ot!!#7A!W2ot!!#7!!WE'!!!%Ma!<)ru!!%Ma!<3$!!!*%L!<3$!!!*%L!.OtK +!!*%L!.TM!!!3*"!'bu6!!3*"!'e7!!!E3#!'e7!!!E3#!$AuV!!E3#!$C,!!!iE%!"[uf!!iE% +!"\Q!!"\i)!"\Q!!"\i)!!hun!"\i)!!i9!!$C\1!!i9!!$C\1!!E-!!'frQ!!E-!!'fBA!!2ut +!'fBA!!3'!!.Vca!!3'!!.Vca!!)uu!<9h7!!*$!!<7QL!!%KK!<7QL!!%M!!WN-"!!%M!!WN-" +!!#66"9/?$!!#7!"9&9#!!"+V"9&9#!!",!#Q+Q%!!",!#Q+Q%!!!Pf#Q+Q%!!!Q!&,6,)!!!Q! +&,6,)!!!9!+8>g9!!!9!+7K71!!!,r+7K71!!!-!5MuMA!!!-!5MuMA!!!'!J)C;,!!!'!J%u$a +!!!#uJ%u$a!!!$!~> +Q +q[1 0 0 1 0 0]concat +91 69 true[1 0 0 1 -2112 -1726]@X +imagemask +!!!Q)!!!!"rVuou!!!Q)!!!!$rr<$!!!!Q)!!!!$rr<$!!!!Q-!!!!$rr<$!!!",=!!!!(s*t(L +!!",=!!!!(s*t(L!!",?!!!!(s*t(L!!#7_!!!!(s1eU7!!#6t!!!!0n%\o'!!#6t!!!!0n%\o' +!!#6u!!!!0n%\o'!!%M`!!!!@cend'!!%M@!!!!@cend'!!%KjJ,fQka5?pt!!*$@J,fR6a7''/ +!!*$@J,fR6a7''/!!*$0J,fR6L[Y9D!!3'0^]4@!KCAj@!!3'0^]4@aKD5EH!!3'0^]4@aKD5EH +!!3'(huEb,"8Dir!!E-(huEcW!W2ot!!E-(huEcW!W2ot!!E-(huEcV!W2ot!!iE(n,NIf!<)ru +!!i9$n,NLg!<)ru!!i9$n,NLg!<)ru!!i9$p](?m!<)ru!"\i*p](Eo!.OtK!"\Q"p](Eo!.OtK +!"\Q"p](Ek!.OtK!$C\1qu?io!.TM!!$C,!qu?us!'bu6!$C,!qu?us!'bu6!$C,!rW!2m!'bu6 +!'fBAIK0oJ!$AuV!'e7!IK0oJ!$AuV!'e7!IK0o:!$AuV!.Vca56)5P!"[uf!.TM!56)e`!"[uf +!.TM!56)e`!"[uf!<7QL5Caik!"[uf!<7QL++QSk!!hun!<3$!++QSk!!hun!<3$!++QS+!!hun +!WN-"&&:D[!!Dur!WE'!&&<[F!!Dur!WE'!&&<[F!!Dur"9&9#&)_p;!!E-!"9&9##N1(3!!2ut +"8i-!#N5U^!!2ut"8i-!#N5R]!!2ut#Q+Q%"7Z9i!!)uu#P\9!"7Z9i!!)uu#P\9!"7c?j!!)uu +&,6,)"7c9h!!*$!&,6,)!VuWn!!%KK&+BQ!!VuWn!!%KK+7K71!W2Wl!!%KK+7K71!;lNk!!#66 ++5d,!!;lNk!!#66+5d,!!<;fo!!#665MuMA!<;Ng!!#7!5MuMA!.XJ<!!"+V5JR7!!.XJ<!!"+V +J%u$a!.Wo,!!",!J%u$a!'fBA!!!PfIt.M!!'fBA!!!PfIt.M!!'fBA!!!Pf~> +Q +q[1 0 0 1 0 0]concat +64 69 true[1 0 0 1 -2206 -1726]@X +imagemask +J%u$a!!!9(J)C;,!!!9'5O\XQ!!!Q-+7K71!!",9&,6,)!!#7Q&,ZD-!!#7Q#Q=]'!!%N,"9&9# +!!*&7!WN-"!!3+M!WRZM!!3+M!<7QL!!E6$!.Vca!!iK'!'fBA!!iE%!'fBA!"\i)!$C\1!$Ct9 +!"\i)!'frQ!!iE%!'fBA!!iE%!.Vca!!E3#!<9h7!!3*"!WRZM!!3*"!WN-"!!*%L"9&9#!!%Ma +#Q=]'!!#7A#Q+Q%!!#7A&,6,)!!",1+7K71!!!Q)5MuMA!!!9!5MuMA!!!9%J%u$a!!!-#s*t(L +!!!'"rr<$!!!!$!rr<$!!!!$!rVuou!!!"Kqu?]s!!!!`p](9o!!!!@n,NFg!!!!@n,NFg!!!!` +p](9o!!!!`p](9o!!!"Kqu?]s!!!$!rVuou!!!'"rr<$!!!!-$rr<$!!!!-#s*t(L!!!9%s1eU7 +!!!Q-J%u$a!!",95MuMA!!",1+7K71!!#7A+8>g9!!%N,&,6,)!!*&7#Q+Q%!!3+M"9&9#!!3*" +"9/?$!!E6$!WN-"!!iK'!<7QL!"\u-!<9h7!"\i)!.Wo,!$Ct9!'fBA!'frQ!$C\1!.Wo,!$Ct9 +!<9h7!"\u-!<9h7!!iE%!WRZM!!iK'"9/?$!!E6$#QFc(!!3*"#Q=]'!!*%L&,ZD-!!*&7+8>g9 +!!%N,5PP3Y!!#7A~> +Q +q[1 0 0 1 0 0]concat +65 69 true[1 0 0 1 -2272 -1726]@X +imagemask +!!!!0n,NFgz&+BQ!z!"\Q!z!!!Q!z!!!!0n,NFgz&+BQ!z!"\Q!z!!!Q!z!!!!0n,NFgz&+BQ!z +!"\Q!z!!!Q!z!!!!0n,NFgz&+BQ!z!"\Q!z!!!Q!z!!!!0n,NFgz&+BQ!z!"\Q!z!!!Q!z!!!!0 +n,NFgz&+BQ!z!"\Q!z!!!Q!z!!!!0n,NFgz&+BQ!z!"\Q!z!!!Q!z!!!!@p](9oz+8c*=z!'gA]z +!!%NJz!!!"Krr<$!zs8RTLz!WW1Mz!!E6c^]4?7!!!-$5MuMA!!!!(rZC%uz&,m+/z!"\u<p](9o +!!",9#P\9!!!!!`p]LEoz5O\dSz!.Wo-rVuou!!*&W!WN-"!!!$!^]=Cb!!!!"s*t*!^]4?7"9/?$ +J%u$a!!iN(!'fBA!!!9'!!",1!!!!0qu?^-n,NFg+8c*=&,6,)!$Ct9!!iE%!!#7Q!!!-!!!!"K +n,NFjrVuouJ)C;,!WN-"!<9h7!!*$!!!3,8!!!$!J,fWMJ,fQLJ%u$drr<$!!'e7!#QFc(!!#7A +!"]&/!!!!@n,O!sz&,6,Hqu?]s!"\i)5PP3Y!!!9%!'frQ!!!!$rW%H+z!WE*!huE`W!!3*"s1eU7 +!!!$!J,~> +Q +q[1 0 0 1 0 0]concat +55 69 true[1 0 0 1 -2338 -1726]@X +imagemask +#QOi(s8W''s8W-!s8E9's8W-!rWiK's8W,u#QOi(s8W''s8W-!s8E-#z!!3+Mz!WRZMzs1eU7!!!"K +huE`W!!%N,z!'frQz+8>g9!!!!@p](9o!!!Q-z!!iE%z#Q=]'!!!!$rr<$!!!!'"z!!3+Mz!<9h7z +s1eU7!!!"KhuE`W!!#7Qz!'frQz+8>g9!!!!0qu?]s!!!Q-z!!iK'z"9/?$!!!!$rr<$!!!!'"J,fQL +!!*&7z!<9h7zJ)C;,!!!!`n,NFg!!#7Qz!$Ct9z&,ZD-!!!!0qu?]s!!!9'z!!E6$z"9/?$!!!!" +s*t(L!!!$!J,fQL!!*&7z!.Wo,zJ)C;,!!!!`n,NFg!!",9z!$Ct9z&,ZD-!!!!(rVuou!!!9'z +!!E6$z!WRZM!!!!"s*t(L!!!$!^]4?7!!%N,z!.Wo,z5O\XQ!!!!@p]LQrs8W,o"98E$s8W!!s8W-! +s83!!s8W-!qud!!s8W,s"98E$s8Vu~> +Q +q[1 0 0 1 0 0]concat +39 47 true[1 0 0 1 -706 -1605]@X +imagemask +!$C\1!!%NKJc5ZLs7-'hs8W&s"98E$rWiK's8E9'!<<$/qu@i<&+BQ(rX[oe"9&hh!!E3BhuEfW ++5d,"rZC%u!WEVf!!3'0n,NLg#P\9"rWiE&!WE3$huWfXs8N-!!.Y%KrW#1_s8E!'s8W&u!<<)u +!!!Q0rVuou!WE'!!!3'!!!!'!!!!!"rVuou!WE'!!!3'!!!!'!!!!!"rVuou!W2ot!!E-!!!!-! +!<<*)quM<J#P\>X!"\i*qu@i.!WR\"huWlXs53qXs8Tk7s8W+L!'gM_!!!9(p](9os1eU~> +Q +q[1 0 0 1 0 0]concat +47 70 true[1 0 0 1 -754 -1605]@X +imagemask +!!!$!!!!'!#QN]^!WF2@p](?o5QCW]!WN-!rW!!!s8W*!!WVp*s*t.MhuWkn!WTq8J)CA-J,hgl +!WN-"+7K=1!!!Q!!WE'!&,62)!!!9!!WE'!#Q+W%!!!-!!WE'!"8i3!!!!-!!WE'!!W2ut!!!'! +!WE'!!WE-!!!!'!!WE'!!WE-!!!!'!!WE'!!WE-!!!!'!!WE'!!WE-!!!!'!!WE'!!W2ut!!!-! +!WE'!"8i3!!!!-!!WE'!#P\?!!!!9!!WE'!&,62*!!",1!WRZM5O\^R^]8lB!WVWhs53qXr!38; +!WW3"s*t.Ls8W*!!WG=`rVuuu&-)P-!WE3$p](?o!'e7!!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z +!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z +!WE'!!!!'!z!WE'!!!!'!z~> +Q +q[1 0 0 1 0 0]concat +40 47 true[1 0 0 1 -808 -1605]@X +imagemask +!!!Q-!!!$!s*t(Os8VQg#QOi%!$D7@rr>:`s8N(Kp]pg!s1eVa!WRZM*s)?@!!`W*!!!*+qu?]s +#P\9!!!i9!!!!Q!!!!!0n,NFg+5d,!!$C,!!!",!!!!!@huE`W+5d,!!$AuV!!"+V!!!!@^]4?7 ++2@jV!$AuV!!",!!!!!@huE`W+5d,!!$C,!!!!Pf!!!!0n,NFg&+BQ!!!i9!!!!9!!!!!$qu?]s +"9&9#!Wi9#!!WH'J,gVjs1eV`!.XbGrW#1_s8N'@s8W*!#QOi%!!E9$n,NH<s1eU7&,lP~> +Q +q[1 0 0 1 0 0]concat +42 70 true[1 0 0 1 -852 -1605]@X +imagemask +!!*$!!!!!$s56,W!"],)5JR7@s8G6u!.Y%K5JR8Ks8W,7!<;O1s1e[8^^'nT"9/?%s1ea9!!*&7 +#Q+Q%J%u<a!!#7!&,6,)5JRg!!!#7!&+BQ!5JSB!!!#7!+5d,!5JSB!!!#7!+5d,!5JSB!!!#7! ++2@jV5JSAV!!#7!+2@jV5JSAV!!#7!+2@jV5JSAV!!#7!+5d,!5JSB!!!#7!+5d,!5JSB!!!#7! +&+BQ!5JRg!!!#7!&+BQ!5JRg)!!#7!#Q+Q%5JRO'!!#7!"9/?$J%u0dJ,oVb!WV'[s1eX7p^dD? +!.Y%Ks1eV!s8Uul!$D7@+2@jes8F+U!!E8j+2@jVIt/WVz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz ++2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz ++2@jV!!"+Vz+2@jV!!"+V~> +Q +q[1 0 0 1 0 0]concat +40 47 true[1 0 0 1 -904 -1605]@X +imagemask +!!!Q)!!!$!s*t(Os8V!W#QOi!!$D7@rW#1_s8N(Kn-Asns1eX7!WN-"*s)?@!"K,/!!!'*p](9o +#P\9!!!hun!!!Pf!!!!0huE`W+5d,!!$AuV!!"+V!!!!@^]4?7+2@jV!$AuV!!"*k!!!!`s8W-! +5QCc`ru_:@s8O2@s8W*@s8W-!+2@jV59IZ@!'_R`!!#4ohuEa@&)[EfILkoJ!.G1B!!%HQp](<l +"8i-"qucou!W2uu!!i9!s*tXL!.Wokn,P]Qs53l!s8Tk7&-)Z[!!E9#!!!'"qu?]s5MuM~> +Q +q[1 0 0 1 0 0]concat +34 70 true[1 0 0 1 -948 -1606]@X +imagemask +!.TM!!!%M!!!!"KJ,fQLIt.M!!.TM!!!%M!!!!"KJ,fQLIt.M!!.TM!!!%M!!!!"KJ,fQLIt.M! +!.TM!!!%M!!!!"KJ,fQLIt.M!!.TM!!!%M!!!!"KJ,fQLIt.M!!.TM!!!%M!!!!"KJ,fQLIt.M! +!.TM!!!%M!!!!"KJ,fQLIt.M!!.TM!!!%M!!!!"KJ,fQLIt.M!!.TM!!!%M!!!!"KJ,fQLIt.M! +!.TM!!!%M!!!#7`s53lAs8V!W5QCcA!'gM`huH"As53lAs8V!W!.OtK!!%KK!!!"KzIfKHK!.OtK +!!%KK!!!"KzIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK!!#4`!!!!`J,fQL5C`_6!$?^k!!"+V!!!!0 +n,P]R&,ZOF!!iQ(^]4K:s1eU8s8Tk7!.Y$a!!",@^]4?>rVu~> +Q +q[1 0 0 1 0 0]concat +47 66 true[1 0 0 1 -978 -1585]@X +imagemask +!!#7]!!!!$s8Tk7!$D7@p](;Ds8W&u!WW3"rr<0$s8W,7#QMREs54Fe!!%N<+8>g9+7LB1!!!Q) +5JR7!"8G*2!!!-!5C`_6!W504!!!&t5C`_6!W504!!!&t5C`_6"8j7V!!!,r+2@jV#P\hf!!",9 +&,6,*s6p9ns8W,g"98E$s53nWs8W,7!<<*!s*t.Ms8W&u!WW3"n,NRjs8N'!"8i-!!!!,jz"5j.Z +!!!,Zz"5j.Z!!!,Zz"5nZZ!!!,]s6p!g!WW2t!!!'"s8Duu!<<*!!!!$!s8RTL!<9k7^]4E8!'fBA +!WE'@huElW!"\Q!"8Dj$n,NRc!!hun#P\9$p](Qg!!Dur#Oh]qp](Qg!!Dur#Oh]qp](Qg!!Dur +#Oh]qp](Ek!!Dur"8Dj$n,NRc!!hun!W2p.n,NLg!$C,!!<3$`^]4B7_#M1M!.Y%Ks8E!_s8W,u +!$D7@s8E!'s8;or!!E8j+8c*=It.Os~> +Q +q[1 0 0 1 0 0]concat +42 69 true[1 0 0 1 -1028 -1606]@X +imagemask +!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V +!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V +!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V +!WN-"+2@pW!!#7!!WN-"5JR="J,hgL!WRZM5JR="^]8l"!WV'Xs*t.Mn,`Q>!WW'&s*t.Ls8W*! +!WITKrVuuu5QC]_!WEW0qu?cs#QO8n!WE*!J,fWLz!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'! +!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'! +!!!'!z!WE'!!!!~> +Q +q[1 0 0 1 0 0]concat +15 68 true[1 0 0 1 -1080 -1606]@X +imagemask +!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur +!W2ur!W2ur!W2ur!W2ur!W2ur!W2ur!W2urzzzzzzz!!!-#"9&E%"9&E%"9&E%"9&E%~> +Q +q[1 0 0 1 0 0]concat +25 88 true[1 0 0 1 -1096 -1586]@X +imagemask +!<3$!#QN]^5QC3QJ,f9DJ,fEHJ,fKJ4pV&e3!'$Z+9;EA!!%M!!!%M!!!#66!!#66!!#66!!#66 +!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66 +!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66 +!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66 +!!#66!!#66!!#66!!#66zzzzzzzzzzzzzzz!!*%L!!*%L!!*%L!!*%L!!*%L!!*%L!!*%L!!*%L +!!*%L~> +Q +q[1 0 0 1 0 0]concat +46 69 true[1 0 0 1 -1130 -1606]@X +imagemask +!W2ot#Q+W#!!!9!!W2ot&+BVt!!",!!W2ot+5d1t!!#7!!W2otIt.Rt!!%M!!W2otrr<)t!!3'! +!W2p"rVuus!!E-!!W2p&p](?m!"\Q!!WE'0n,NLh!$C,!!WR[7^]4E8^d#U7!WV)-J,fWMi;WcW +!WV]i!!!'"q>L?o!WW2t!!!'"s7cQo!WN,o!!!'!J+*F<!WG=A!!!'!5MuMA!WF21!!!'!&,6,) +!WE?%!!!'!"9&9#!WE-"!!!'!!<7QL!WE(K^]4E7!'fBA!WE'@n,NLg!"\i)!WE'(qu?cs!!E3# +!WE'"rr<*!!!*%L!WE'!J%u*a!!#7A!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'! +!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'! +!!!'!z!WE'!!!!~> +Q +q[1 0 0 1 0 0]concat +15 69 true[1 0 0 1 -1179 -1606]@X +imagemask +!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-! +!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-!!WE-! +!WE-!!WE-!!WE-!!WE-!!WE~> +Q +q[1 0 0 1 0 0]concat +70 45 true[1 0 0 1 -1203 -1606]@X +imagemask +!WE'!+2@jYquQcs!$AuV"8i3!!!"+V!!E-"rVup?^]4K7!WE'!+2@jYquQcs!$AuV"8i3!!!"+V +!!E-"rVup?^]4K7!WE'!+2@jYquQcs!$AuV"8i3!!!"+V!!E-"rVup?^]4K7!WE'!+2@jYquQcs +!$AuV"8i3!!!"+V!!E-"rVup?^]4K7!WE'!+2@jYquQcs!$AuV"8i3!!!"+V!!E-"rVup?^]4K7 +!WE'!+2@jYquQcs!$AuV"8i3!!!"+V!!E-"rVup?^]4K7!WE'!+2@jYquQcs!$AuV"8i3!!!",! +!!E-"rVup?huElW!WE'!+5d,$quQcs!$C,!"8i3"!!",!!!E-"rr<$@n,NRg!WN-"5O\XTquQhJ +!'frQ"8i3"J,hh/!!iE&s1eVaqu?us!WV'Xs82j-p]:Ea!WTn7+8>m8r!37o_#Nm)r;Zfs+92B1 +!W7HIrs/T(huWa?s8E-#s1e[5&-)P.s8RTMqucug!.Y"K!W2qIJ,g,T!!~> +Q +q[1 0 0 1 0 0]concat +42 45 true[1 0 0 1 -1282 -1606]@X +imagemask +!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V +!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V +!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V +!WN-"+2@pW!!#7!!WN-"5JR="J,hgL!WRZM5JR="^]8l"!WV'Xs*t.Mn,`Q>!WDp$s*t.Js8W*! +!W7HIrVuus5QC]_!W3K.qu?cq"97ij!W2qIJ,f~> +Q +q[1 0 0 1 0 0]concat +46 47 true[1 0 0 1 -1334 -1605]@X +imagemask +!!",1zs8N'!!!E9$^]4?Fs8V!W!$D7@p](:Ys8Vus!.XJ[rVuru^]XT:!WN-#s*t4N!!%Ma#Q+Q% +5JRO!!!#7A&,6,)+5d\!!!!Q!&+BQ!&+C\!!!!9!+5d,!#P]D!!!!9!5JR7!#P^O!!!!,r5JR7! +"8kC!!!!-!5JR7!"8kC!!!!-!5JR7!"8kC!!!!-!5JR7!"8G*r!!!,r+2@jV"8EtR!!!9!+5d,! +#P]D!!!!8n&)[Ef&+C,!!!!Q!#Oh]n+5dD!!!",!"8i-!5JRC#!!%M!!WN-"s*t+L^]XT:!.XJ[ +rVup_s8Vus!$D7@p](:!s8V!W!!E9$^]4?7s8Duu!!",1!!!~> +Q +q[1 0 0 1 0 0]concat +47 64 true[1 0 0 1 -1384 -1587]@X +imagemask +!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'!!!!'!z +!WE'!!!!'!z!WE'!!!!'!z!WE*!!!!'!#QN]^!WF2@p](?o5QCW]!WN-!rW!!!s8W*!!WVp*s*t.M +huj"p!WTq8s53qXJ,k)W!WN-"5O\^Q!!",1!WE'!&,62)!!!9!!WE'!#Q+W%!!!-!!WE'!"8i3! +!!!-!!WE'!!W2ut!!!'!!WE'!!WE-!!!!'!!WE'!!WE-!!!!'!!WE'!!WE-!!!!'!!WE'!!WE-! +!!!'!!WE'!"8i3!!!!-!!WE'!"8i3!!!!9%!WE'!#P\?!!!!Q)!WE'!&,62*!!",1!WRZM5O\^R +^]8lB!WVWis53qXr!38;!WW3"s*t.Ls8W*!!WG=`rVuuu&-)P-!WE3$p](9o!'e7!~> +Q +q[1 0 0 1 0 0]concat +42 64 true[1 0 0 1 -1438 -1587]@X +imagemask +z5JR7!!!#7!z5JR7!!!#7!z5JR7!!!#7!z5JR7!!!#7!z5JR7!!!#7!z5JR7!!!#7!z5JR7!!!#7!z +5JR7!!!#7!z5JR7!!!#7!!!*$!5JR7(s56,W!"],)5JR7`s8G6u!.Y%K^VBjLs8W,7!<;g9s1e[8 +^^'nT"93lPs1ea:!!*&7#Q=]'J%u<e!!#7!&,6,)5JRg)!!"+V&+BQ!+2Auf!!"+V+5d,!+2AuV +!!"+V+5d,!+2AuV!!"+V+5d,!+2Au6!!"+V+2@jV+2Au6!!"+V+2@jV+2Au6!!"+V+5d,!+2AuV +!!"+V+5d,!+2AuV!!"+V&+BQ!+2AEV!!#7!&,6,)5JRO!!!#7!#Q+Q%J%u0c!!%Ma"9/?$s1e[8 +J-#\c!WV'[s1eX7p^dD?!.Y%KhnT4Vs8S_,!$D7@+2@j]s83tS!!E8j+2@jVIt/WV~> +Q +q[1 0 0 1 0 0]concat +32 45 true[1 0 0 1 -1490 -1606]@X +imagemask +!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'! +!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WE'!!WN-"!WN-"!WRZM +!WRZM!WTq8!WV'X!WVWh!WVop!WW&t!WE#u!W;u5!W7HI!W51^!W4&>!W3K.!W3'"!W2rt!W2p>~> +Q +q[1 0 0 1 0 0]concat +35 47 true[1 0 0 1 -1523 -1605]@X +imagemask +!!iN(!!%NKhuElZs7cR)s8Vus5QCc`!'gM`rr>:Y!WR[7^]8k7*WQ1)^_d%O+2AEf!$C,!!!!Pf +!!!!0huE`W&)[Ef!"[uf!!",!!!!!@huE`W5JR7!!<9h7!!iOS!!%NKJ,g,[rr<$`s8Duus8Vus +!WW2p!!E9$huF#^s*t([s7cQo&-%.[!$Ct9!!",!!!!!@^]4?75JR7!!'bu6!!#66!!!!`J,fQL +5JR7!!$AuV!<=5"!!<3Cn,OO1&,ZJ.J-Z,Ss*t@Ss8RTOs8W+L!<<*!!!#7`p](:!s*t(~> +Q +q[1 0 0 1 0 0]concat +32 58 true[1 0 0 1 -1562 -1605]@X +imagemask +!!3'!!!iP^!"],)!$D7@!$D7@!'gM`!'fCj!'e7?!'bu<!.TM!!.TM!!.TM!!.OtK!.OtK!.OtK +!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK +!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtK!.OtKJ,fQHJ,fQHJ,fQHJ,fQHJ,fQHJ,fQH +!'^G`!'^G`!'^G`!'^G`!'^G`!'^G`!'^G`!'^G`!'^G`!'^G`!'^G`!'^G`!'^G`~> +Q +q[1 0 0 1 0 0]concat +42 45 true[1 0 0 1 -1597 -1605]@X +imagemask +!!E3#!!!!@s55!7!'gM]+2@l+s8O1V!<<*!T>1I,^`VIL!<3$(s1e[8!!3,8!WE'!s1e[7!!%Ma +!WE'!J%u*a!!#7!!WE'!5JR=!!!#7!!WE'!5JR=!!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V +!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V +!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V +!WE'!+2@pV!!"+V!WE'!+2@pV!!"+V!WE'!+2@~> +Q +q[1 0 0 1 0 0]concat +43 44 true[1 0 0 1 -1649 -1606]@X +imagemask +!!%MazJ)C;,!!%N,zs6p!g!!*&g!!!!"s6p!g!!3,p!!!!"rV-?m!!E&p!!!!$q>:3m!!i>t!!!!( +nGWCf!!i#m!!!!0nG`Ig!"\";!!!!@i-t_,!$C-KJ,fQk^d!>L!'e7`J,fR6J02Q,!'buU^]4@a +J03\L!.OtZhuEcW!"[uf!<3$(n,NIf!!hun!WE'(p](?m!!Dur"8i-$p](Eo!!E-!"8Disqu?us +!!3'!#Oh]nrW!Ju!!)uu&+BQ!rr<Sf!!%KK+5d,!It/X!!!%M!+2@jV5Cbu6!!#7!5C`_6+2EAV +!!"+VIt.M!+5hVK!!!Pf~> +Q +q[1 0 0 1 0 0]concat +65 44 true[1 0 0 1 -1695 -1606]@X +imagemask +!!E-!!$C\1!!!-!!!",1!!!!(rVup_p](9o#Q=]'5PP3Y!!iK'!'g5Y!!!Q0!!#7]!!!!0hZ*Y+ +qu?]s&)R?eIf'0G!$C*K!.OnI!!"+uJ,oNH!!!!@hgb_)rVuou5EC<pr-eVG!'cO[!W7EI!!#6E +^]F4[!!!!`O2(ekIfKHKIg=m4pcj9/!.P73"7SO*!!%KRhuiI5J,fTL#Ohib+2@jVrWDWpn/oFG +!<*)i#N-]>!!3'$n-@knhuEfU!VcoX&)[EgquQR'^^o?'"8i2p&&8_6!!E-!r"$RJn,NRc!;mqS +#Oh]qp]146J-YQD#P\;s++OIg!!hunINO(Bp](Qg!.I-4"8Dj,n,Ro%!!E-!&)[FO56(`^!"[uf +5<]&Jqu@hs!'bo4!WE'@huFjJ!!)uu+2@juHiO0G!'e7!+++%grr>:!!"\u-!.Ou5J,g,X!!%KK +It.M0p](;D!.TM!&,6,)5Ce4`!!i9!!'c!`!!!8n!!#66~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -1755 -1606]@X +imagemask +!WN-"!"\i)rr<$!+7K8[J,fQkhuH!W!!#7!!$C,!!.TM!&)[Efrr<$(n,NLg!!!9!!!2ut!!E-! +"8i-!!WE'(p](9orW!Ju!!!"K!$C,!!!#66+2@jV!$B!@J,fQL+2E@+!!!!0i;N]V!!!8oqu?]s +!!E&pz!WVopzs6p!g!!!"KhuE`W!!%Maz!'bu6z5JR7!!!!"KhuE`W!!*&Wz!WVWh!!!!$s7cQo +!!!9$qu?]s!"\W!z&)dHf!!!!@i.$7W!!#7!5C`_6!.TM`^]4?7rr=/!!!!'!!"\Q!!!E-!#P\9! +#P\9$qu?^-p](?o!!!Q!!!3'!!$C,!!<3$!5JR7!It.NKJ,fR6^]=B7!!",!~> +Q +q[1 0 0 1 0 0]concat +43 64 true[1 0 0 1 -1808 -1586]@X +imagemask +#Q+Q%!!",?z+9-ik!!",@J,fQL+90+V!!",@huE`W(^Jt!!!!!$n,NFg!!Dur!!!!"p](9o!!)coz +qu?]s!!)oszIK0?J!!%HJz4obQ_!!#4`z*rl9@!!"*kz++O=k!!!PFz+2@jV!!"+Vz5MuMA!!#7Az +J+*F<!!%N<zIII4:!!)umzrV-?m!!3#q!!!!"q"t*l!!E#o!!!!$q#16n!!i"B!!!!(n:(E<!!i"C +!!!!0i'2_l!"\!PJ,fQki'2_l!$Auu^]4@!^`U>l!'buUhuEb,J.LQ<!.TM0huEb,!!hun!<3$( +n,NIf!!i9!!WE'$p](?o!!Dur"8i-"qu?is!!2ut#P\9"rW!2u!!)uu#Oh]nrr<T!!!%KK&+BQ! +IfLSK!!%M!+5d,!5Cbu6!!#7!5JR7!+2EAV!!"+VIt.M!+5hVK!!!Pf~> +Q +q[1 0 0 1 0 0]concat +39 44 true[1 0 0 1 -1854 -1606]@X +imagemask +5QCc`r]gG_s8G7_s8W'_s8W,u5QCc`rZD1?s8EQ(!!!!0qu?]s#Q+Q%!!E3#!!!'"zs*t(L!<7QL +!!%Ma!!!!`huE`W+7K71!"\i)!!!Q)!!!!(qu?]s"9&9#!!3*"!!!'"zs*t(L!.Vca!!#7A!!!!@ +huE`W+7K71!"\i)!!!9%!!!!$rVuou!WE'!!!3*"!!!$!J,fQLJ%u$a!'e7!!!#7A!!!!@n,NFg +&,77Hs8W!=s8W,s+92B@rZD1?s8F,?s8W'?s8W,u~> +Q +q[1 0 0 1 0 0]concat +47 77 true[1 0 0 1 -66 -1479]@X +imagemask +z!#tt=!!!!_z!.FnJ!!!"Jz!<)ru!!!#uz!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz ++2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKzrVuou!!)uuzqu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg +!!hun!!!!(huE`W!"[uf!!!!0^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#uz +!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz+2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKz +rVuou!!)uu!!!!"qu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg!!hun!!!!(huE`W!"[uf!!!!0 +^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#sz!W2ot!!!&pz!VcWp!!!&hz +!8mhW!!!~> +Q +q[1 0 0 1 0 0]concat +54 44 true[1 0 0 1 -119 -1487]@X +imagemask +5Q:ug_>j"Ss,[3?s7h*DTE"Zcr."a=s7cQkJ,bT0j8\m=rs/S?s6p-[!;lg]!!D]jquAq]"7Q<g +!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gc +n,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d +56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcp]19n56(f\!<)s_!!DurrW#._"8i0!!'^GcquH`s56(fb +!<7R6!!E6%s1j'`"96:=nGWDPs8W-!rW%HJs7cQm!.Y%KoDe^gJ+s!'s82kHj8Zppp]*Ops+#Ug +!!!!_!"ZjF~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -171 -1487]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -224 -1487]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -277 -1487]@X +imagemask +&-)Z^s8V"As8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+5d,(n,NG1huF#O!!",1!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jV+918K^]4?Vs8W+L!!"+us8RTL!$BPerr<$!+2e-X!!!!@_#O00 +!!"+V+5d,!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +50 61 true[1 0 0 1 -329 -1487]@X +imagemask +!!!"K^]4?7++sUg!!!!@L]@>R!!"+5s8N'!!$D7@s*t(L+92B@huEa!s1n[(!!",@!$C\1!$D+= +&,6,)+8>g@qu?^=p](Eo!!",1!!3'!!$C,!!<3$!+5d,!rr<$@^]4@a!!"+V!!%M!!$AuV!'bu6 ++2@jV5C`_UJ,fR6J,g[A!!#66!$?^k!$AuV++O=k+2@ju^]4?V^]5Il!!"+V!$?^k!'bu6++O=k +5C`_UJ,fR6J,g[A!!#66!$AuV!.TM!+2@jVIfKHj^]4@a!!",!!!*$!!$C,!!WE'!+7K72rVup? +p](Eo!!",=!!i9!!$D4@+8>g9+90-+n,NG1s8W,W!!",@s8Tk7!$BPes*t(L+34E\!!!!@_>j91 +!!"+V5JR7!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +50 61 true[1 0 0 1 -382 -1487]@X +imagemask +!!!"K^]4?7++sUg!!!!@L]@>R!!"+5s8N'!!$D7@s*t(L+92B@huEa!s1n[(!!",@!$C\1!$D+= +&,6,)+8>g@qu?^=p](Eo!!",1!!3'!!$C,!!<3$!+5d,!rr<$@^]4@a!!"+V!!%M!!$AuV!'bu6 ++2@jV5C`_UJ,fR6J,g[A!!#66!$?^k!$AuV++O=k+2@ju^]4?V^]5Il!!"+V!$?^k!'bu6++O=k +5C`_UJ,fR6J,g[A!!#66!$AuV!.TM!+2@jVIfKHj^]4@a!!",!!!*$!!$C,!!WE'!+7K72rVup? +p](Eo!!",=!!i9!!$D4@+8>g9+90-+n,NG1s8W,W!!",@s8Tk7!$BPes*t(L+34E\!!!!@_>j91 +!!"+V5JR7!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +36 32 true[1 0 0 1 -440 -1522]@X +imagemask +!;lhE!!iN)rr<R^_rH7h!9_1K4offC^cVT]^qb<t+2Hf^!"ZkQHiODe@/L!0^gR'?#N0S!!!hF9 +qu?iW!;lg!huN`V"7Q;>!!D]jIK0E<!.FnKn,PZQ!VcXZ!!2ip56(]Y!$?^kp])Cd!;lg-^]=94 +#J^?;!!D-Zqu?ce!<)rup]:?o!.4m_!!#4g4obQnrX8c,!VcWp~> +Q +q[4.8 0 0 -120 640.28 1571.28]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +70 70 true[1 0 0 1 -705 -1487]@X +imagemask +5QC``"98E$r'15]!!iQ(s85+]rr<0$s8W!!i:$^H56(r(!V#"I!"XSbJ,o,t!!!7S%fcTThuE`^ +J.DV[3PYUp#Cmiq!'.gp!!e#o!!#0t!!!6(49,@%^]4?>!'C5]+2@jV%fghS!$AuV!"T'S!!!Pf +!!!K/n,NG!huE`u!:Tsg#N,R^*WY*u!!hE^!#u$t!!!8^!!#+^huE`ZhuEa>"2Fm:"7Q9j3!6qr +!!E9$s7chL!!!'"s8Vj!J,fQMs8W,g#64`(!;HNon.,L!!!)co!8n=e!!!#o!!2"!zHiO3**WQ0? +!.4bK^cVSs!!#+]"2I#!!!!!_!!@a2z4obh<GQ7^D!$2+FJ8bJg!!")@%fl)!!!!!@!"T)!z%fd(? +huE`W!"XT$!T3qX!!!7S*Ws1X!!!!(J33qLz#J`G(J,fQL!!C"r#CldS!!!,:GR"3K!!!!$i,B2,z +!T<GXz!!2$I*WQ0?!!!#hi#Vjuzn_bAez!;jPoz!!%A]2uipY!!!"GJ9V%ozIt2bDz!'c#'z!!#4` +n,NFg!!!!@!T3qXz*Wb1!z!$20Vz!!!N3^]4?7!!!!0"+U@Oz#7#bZz!!e:0z!!!7bz!!!!$NrT.[z +"3plHz!!D'Xz!!!&Tz!!!!"qu?]sz!;lfsz!!)coz!!!#ozzDu]k<z!,qo<!!!~> +Q +q[1 0 0 1 0 0]concat +62 68 true[1 0 0 1 -777 -1487]@X +imagemask +J,fQKs*t(LJ,fQKs82isJ,fQKs8RTL!-eM=&-(Pf!'C;?!WVop!'C;?!;ZTo!'C:t!-g^.!'C:t +!'D?R!'C:t!#u6Z!'C:t!$27#!'C:t!"K&!!'C:t!"T)!!'C:t!"T'S!'C:t!"T'S!'C:t!!`K` +!'C:t!!`Kd!'C:t!!`Kd!'C:t!!`Kd!'C:t!!`Kd!'C:t!!`Kd!'C:t!!`Kd!'C:t!!`Kd!'C:t +!"T&h!'C:t!"T&h!'C:t!"T'S!'C:t!"T'S!'C:t!"K"u!'C:t!$211!'C:t!$27#!'C:t!'CM% +!'C:t!.5<-!'C:t!;JbY!'C:t"7Z9i!'C:ts6':[!'C;^s8VQg!'C;^s8Tk7!'C;^s8Duu!'C:t +s8RTL!'C:t+90+V!'C:t#KQ<6!'C:t"6'"T!'C:t!UtI:!'C:t!:W/P!'C:t!:V'1!'C:t!-f"S +!'C:t!-ea!!'C:t!-ea!!'C:t!-eU]!'C:t!&t(r!'C:t!&t(r!'C:t!&t"p!'C:t!&t"p!'C:t +!&t"p!'C:t!&t(r!'C:t!-eU]!'C:t!-eU]!'C:t!-eTr!'C:t!-ea!!'C:t!:U5D!'C:t!:UL! +!'C:t!Uq-1!'C:t!T6-A!'C:t"2Og7!'C;?#KQT>!-eM=+917!J,fQKs8RTLJ,fQKs8DuuJ,fQK +s1eU7~> +Q +q[1 0 0 1 0 0]concat +68 72 true[1 0 0 1 -843 -1485]@X +imagemask +zJ+s!Dz&-)Z[z!.Y%Kn,NFg!!3-"s8Duu!!!9(s8W+L!!!!@n*gGZhuE`WJ"M5k5O\XQ!<,.^!!i9! +!!2kB!!!'!!!!,Zp](9oIfKHR_=.F)!'bu6%tWX=!!!PF!$;<Y!!!!(huGqC^]4?7"7Q:Q#CldS +!!2QhGR&a!!!!#g!;Hd!z?i][,z!!!&X%fcS0!!!!"i!o_ez"2GrXz!!C"Xz!!!+O)uos=!!!!( +J/eOhz#Cmcoz!!`Kdz!!!6(49,?]!!!!0!'C5]z%fe]lz!"T&hz!!!N02uipY!!!!/!&srYz%KJHgz +!"Jugz!!!K/2uipY!!!!/!&srYz%KJHgz!"Jugz!!!K/2uipY!!!!/!&srYz%KJHgz!"Jugz!!!N0 +2uipY!!!!0!'C5]z%fe]lz!!`Kdz!!!6(49,?]!!!!(J/eOhz#Cmcoz!!@`kz!It9f*WQ0?!!@`R +^`EIU!!!+O!T4Ff!!!!(J-"R<z#ClgD%fcS0!"XS[n-8pn!!!O[!-ea!!!!!@J,h\:J,fQL++O>T +"+U@O!'bu6*s9:Y!!%@r!"XXr!!!#jJ,fhjhuE`Xo7-fCi:$^H"64n3!V#RY!!gDl!!)qA!!",< +J,fS!49,@Gs*t(L+9)<@s8RTL!!iOS"94F4!!!'"n/qE1J,fQLJ,fPa"+U@O!"],0!!@`O!!!$! +n,NK>~> +Q +q[1 0 0 1 0 0]concat +69 68 true[1 0 0 1 -915 -1487]@X +imagemask +5QCc`rr<$!!'gM`s8Vio!!#7`s8W-!zp]1("s1eU7!-eP&!WVWh!!"tZhuJ9)!!!!Y!Pe\!rVuou +3!$ep%mPRE!&t"p!"Y.+!!"tZ^]4UphuEa:!Pe[;_=.F)3!$ep!PnI1!&t"p!!2#*!!"tZ^]4Am +49,@@!Pe[8n/_Q03!$ep!:UL!!&t"p!!$sK!!"tZ^]4@Z#Cle6!Pe[8GR&a!3!$ep!&t(r!&t"p +!!"t\^]6=p^]4?s!T3r;!Pe[849=@?3!$ep!'C8>!&t"p!!!u=n,PEK^]4?S!:TtJ!Pe[8*!#I. +3!$ep!#tuX!&t"p!!"&?Du_iu^]4?U!,qot!Pe[8*WUEb3!$ep!$2,b!&t"p!!"&?GQ9](^]4?U +!-eK'!Pe[8*WUEb3!$ep!$2,b!&t"p!!"&?GQ9](^]4?U!-eK'!Pe[8*WUEb3!$ep!$2,b!&t"p +!!"&?Du_iu^]4?U!,qot!Pe[8)uspX3!$ep!#u".!&t"p!!!u=n,PEK^]4?s!8mi:!Pe[8494:> +3!$ep!'C;?!&t"p!!"tZ^]6=p^]4@Z"2Fmr!Pe[8GQY_]3!$ep!,r0n!&t"p!!)Kn!!"tZ^]4B( +%fcSh!Pe[8i#Vju3!$ep!T6'?!&t"p!!C#a!!"tZ^]4JPp](:R!Pe[?Ja`X>3!$ep%gV"m!&t"p +!$<;5!!"tZ^]6QJ!!!!Y!T3s+qu?]sGQH_'s7cQo!;HQh&-(Pf!'gM`s8W*!!!#7`s8W,o!!!!` +s8W-!z~> +Q +q[1 0 0 1 0 0]concat +64 68 true[1 0 0 1 -987 -1487]@X +imagemask +5QCc`s8W,oJ,fQKs8W,o5QCc`s8W,o!-eP&!.XJt!&t#;!!i9Y!&t"p!!3']!'CA!!!%L2!'CA! +!!"+R!'CA!!!!8Z!'CA!!!!-!!'CA!!!!&t!'CA!!!!#u!'CA!!!!"J!'CA!!!!!_!'CA!!!!!? +!'CA!!!!!?!'CA!!!!!?!'CA!!!!!0!'CA!!!!!0!'CA!!!!!/!'CA!!&srY!'CA!!&srY!'CA! +!&srY!'CA!!&srY!'CA!!-eJD!'CA!!-eJD!'CA!!-eJD!'CA!!;HNo!'CA!!;HNo!'CA!!VcWp +!'CA!"8Dir!'CA!#P\9!!'CA!+1M:N!'CA!s#9uY!'CA`r&=ZV!'CA`n2LCJ!'CA`r&=ZV!'CA" +r\slX!'CA!5<&WC!'CA!&%DT>!'CA!"8Dir!'CA!!VcWp!'CA!!VcWp!'CA!!;HNo!'CA!!;HNo +!'CA!!-eJD!'CA!!-eJD!'CA!!-eJD!'CA!!&srY!'CA!!&su:!'CA!!&su:!'CA!!&su:!'CA! +!&t#;!'CA!!!!&X!'CA!!!!&X!'CA!!!!,Z!'CA!!!!,Z!'CA!!!!8^!'CA!!!!Pf!'CA!!!",! +!'CA!!!#4@!'CA!!!%E)!&t"p!!2lQ!&t#;!!i#O!;HTQ!.Wqb5QCc`s8W,WJ,fQKs8W,W5QCc` +s8W,W~> +Q +q[1 0 0 1 0 0]concat +58 68 true[1 0 0 1 -1053 -1487]@X +imagemask +5QCc`n,NFgJ,fQKp](9o5QCc`n,NFg!-eP6z!&t#;z!&t"pz!'CA!z!'CA!z!'CA!z!'CA!z!'CA!z +!'CA!z!'CA!z!'CA!z!'CA!z!'CA!z!'CA!z!'CA!z!'CA!z!'CA!z!'CA!!,qo<!'CA!!,qo<!'CA! +!,qo<!'CA!!,qo<!'CA!!:Tsg!'CA!!:Tsg!'CA!!:Tsg!'CA!!Up'h!'CA!!Up'h!'CA!"7Q9j +!'CA!#Oh]n!'CA!&+BQ!!'CA!5B$T&!'CA"rbqi;!'CA`pi$35!'CA`i,AYr!'CA`pi$35!'CA$ +r,;W9!'CA!5B$T&!'CA!+7K71!'CA!#Oh]n!'CA!"7Q9j!'CA!"7Q9j!'CA!!Up'h!'CA!!Up'h +!'CA!!:Tsg!'CA!!:Tsg!'CA!!:Tsg!'CA!!:Tsg!'CA!!,qtS!'CA!!,qtS!'CA!!,qtS!'CA! +!,r%U!'CA!!!!,:!'CA!!!!,:!'CA!!!!8>!'CA!!!!8>!'CA!!!!PF!'CA!!!"+V!'CA!!!"+V +!'CA!!!%G_!'CA!!!)i1!&t"p!!Dc,!&t#;!"\&(!;HTQ!<9mN5QCc`s8W,7J,fQKs8W,75QCc` +s8W,7~> +Q +q[1 0 0 1 0 0]concat +75 72 true[1 0 0 1 -1114 -1485]@X +imagemask +zJ,TEJz!"],0n,NFg!!!"Ks8W*!z!WV'[s1eU7!!!9(!!%NDz+8u6?5Q1W_!!%ND!!"#=J,fQLrpTmf +*$;rr!!2la!!!uD^]4?:iSX\9*!*hT!!g?U!!!u>^]4?FK>7He*!*hT!$;;n!!!u>^]4?u#CldS +*!*hT!'CJd!!!u>^]4@Z%fcS0*!*hT!;I')!!!u>^]4B(%KHJ/*!*hT!T4Ff!!!u>^]4Dn*WQ0? +*!*hT"2GrX!!!u>^]4JP)uos=*!*hT"+V?k!!#+^huF"4)uos=49=@?#Cno:!!#+]huEu^49,?] +GQ@45#66jd!!)cop](g)49,?dn,Rn;%feQh!.Y%Ks1f-F2uir.s8W,W%feQh!.Y%Ks1f*E2uipYz +%KJHgz!!!K/2uipYz%KJHgz!!!K/2uipYz%KJHgz!!!K/2uipYz%KJHgz!!!K/2uipYz%KJHgz!!!K/ +2uipYz%fe]lz!!!N049,?]z%fe]lz!!!6(49,?]z#66jdz!!!7S)uos=z#Cmcoz!!!+O*WQ0?!!.TM +"2GrX!!!!$J,f\e*WQ0?!!@`O!T4Ff!!!!$J,fW.%fcS0!!e#S!:UL!!!!!(J,fT=#64`(!"XS[ +!-ea!!!!!0J,fR3#CldS!$?^k!'UL8!!!!`J,fQk"2Fm:!.04r!"XY=!!!#jJ,fQS_;G:n!V:gA +!!D0K!!!,]J,fQMnFut`#K)&l!!)qA!!",<J,fQLIlm]25Q?66!!",@!!*'!J,fQL#QK;Vs,V[1 +!!!'"n/qE1J,fQL!.Y%K^]T)e!!!!0s8N'$J,fQL!!*&g!!@`O~> +Q +q[1 0 0 1 0 0]concat +76 68 true[1 0 0 1 -1192 -1487]@X +imagemask +5QCc`i'78As56-As8V"As8W,g5QCc`i'78As53m%!:TsgHiWpA!'C8>!!#+]n,NGN!T3qX*!"ms +!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms +!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms +!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms +!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms +!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!WW3"quGXT!'C;^s8VushuEa>!WW3"quGXT +!'C;^s8VushuEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms +!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms +!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms +!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!T3qX*!"ms +!'C;?!!!u=huEa>!T3qX*!"ms!'C;?!!!u=huEa>!8mhW494jN!-eM5!!%BHp]*PYs8V"!s8W,W +5QCc`i'78As6r8Qs8V"As8W,W~> +Q +q[1 0 0 1 0 0]concat +37 68 true[1 0 0 1 -1270 -1487]@X +imagemask +5QCc`n3?sQs7ehYs8VQg490U+!#u".!!"&?n,NG0!:Tsg*WY[0!$2-u!!"&?huE`u!8mhW*WY*u +!$2-u!!"&?huE`u!8mhW*WY*u!$2-u!!"&?huE`u!8mhW*WY*u!$2-u!!"&?huE`u!8mhW*WY*u +!$2-u!!"&?huE`u!8mhW*WY*u!$2-u!!"&?huE`u!8mhW*WY*u!$2-u!!"&?huE`u!8mhW*WY*u +!$2-u!!"&?huE`u!8mhW*WY*u!$2-u!!"&?huE`u!8mhW*WY*u!$2-u!!"&?huE`u!8mhW*WY*u +!$2-u!!"&?huE`u!8mhW*WY*u!$2-u!!"&?huE`u!8mhW*WY*u!$2-u!!"&?huE`u!8mhW*WY*u +!$2.0!!"&?n,NG0!:Tsg*!#I.!.4ck!'gM`s6r8Qs8VjYs8W,g~> +Q +q[1 0 0 1 0 0]concat +47 75 true[1 0 0 1 -1308 -1480]@X +imagemask +!$D1?!!!$!s53kW"98Dr!!!Q)+8u6?+7KfUJ,hcX#D^(p4F@7KhuJ!a"2WmqE#o+sn,RDK"2K-] +E#o+sGQ;\("2HkrGTHt&490ak"2GlV5PP>r)uq)M"2GlV#J^GW*WQ0?"2GrX!!!,:*WQ0?"2GrX +!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX +!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX +!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX +!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX +!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX!!!,:*WQ0?"2GrX +!!!,:*WQ0?%tG/j!!iQ(s8E!/s8W,u!!iQ(s8D~> +Q +q[1 0 0 1 0 0]concat +77 68 true[1 0 0 1 -1359 -1487]@X +imagemask ++92B@n,WLgs6r8Qs8VQgs8W,o+92B@n,WLgs6p#9!-eJD%KI#i!#u".!!!K/*rl9\!:Tsg*WSA( +!$2-u!!#1_HiO-f!8mhWHiSBk!$2-u!!%6Dn,NG0!8mhWn,_GI!$2-u!!2QkhuE`u!8mhZi!7$t +!$2-u!!g:EJ,fQj!8mh^J.DV[!$2-u!"T&N!!!!?!8mhu!'UA_!$2-u!'UC1!!!!?!8mj)!;HNo +!$2-u!;HQ`!!!!?!8mkH!T3qX!$2-u!T4'q!!!!?!8msp#J^<>!$2-u#J^k#!!!!?!8nB<%fcS0 +!$2-u%fdXN!!!!?!8nmu49,?]!$2-u490U+!!!!?!8r5)p](9o!$2.0p]9ja!!!!?!;Z*bhuE`W +!$2.=hugap!!!!?!<9h>J,fQL!$2.?J.DV[!!!!?!<7Qkz!$2.?^ch_u!!!!?!;GD6z!$2.3n9=p5 +!!!!?!:fjRz!$2.0rU9de!!!!?!:YKrz!$2.05JR7!!!!!?!:V(\z!$2.0&&8/F!!!!?!:U6Oz!$2.0 +"7Q9j!!!!?!:U$az!$2.0!;lfs!!!!?!:TtPz!$2.0!$;1@!!!!?!:Tt!J,fQL!$2.0!!g:>!!!!? +!:TsjhuE`W!$2.0!!2Qh!!!!?!:Tsgp](9o!$2.0!!%HJ!!!!?!:Tsg56(Z`!$2.0!!#66!!!!? +!:Tsg+2@jV!$2.0!!",!!!!!?!:Tsg+7K71!$2.0!!")8!!!!?!:Tsg*.@kf!#u".!!"!'!!!!= +!:Tsg4:f4-!.4ck!!%BOn,OR1s8VQjs8W*!5QCc`n-B!ns*u3ks8VQjs8W*!~> +Q +q[1 0 0 1 0 0]concat +64 68 true[1 0 0 1 -1436 -1487]@X +imagemask +5QCc`s8W,gJ,fQKs8W,o5QCc`s8W,o!-eP6!.Wod!&t#;!"\QY!&t"p!!2jS!'C:t!!*!\!'C:t +!!#5G!'C:t!!!PB!'C:t!!!9%!'C:t!!!-!!'C:t!!!&t!'C:t!!!#s!'C:t!!!"J!'C:t!!!!_ +!'C:t!!!!_!'C:t!!!!?!'C:t!!!!?!'C:t!!!!/!'C:t!!!!0!'C:t!!!!0!'C:t!!!!/!'C:tz +!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz +!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz +!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz!'C:tz +!&t"pz!&t"pz!;HTaz5QCc`^]4?7J,fQK^]4?75QCc`^]4?7~> +Q +q[1 0 0 1 0 0]concat +92 68 true[1 0 0 1 -1502 -1487]@X +imagemask +5QC]_!5JRVs8W,g5QC``!T3r"s8W,g5QC]_!T3r"s8W,g"8C^R"7Q9kp],dD!<7QL"7Q9jHiSBk +!.OtK"8Dir494jN!'UA_#P\9!*WY[0!'UA_#<2\`*WY*u!'UA_%m0gl*Wb1!!'UA_%m0gl%KYJf +!'UA_*Zb:]%KYJf!'UA_*Zb:]%KYJf!'UA_*"DrK%KYJf!'UA_4:_Dl%KYJf!'UA_4:_Dl%KYJf +!'UA_GR&a!%KYJf!'UA_GR&a!%KYJf!'UA_E"B_a%KYJf!'UA_n.3;7%KYJf!'UA_i#f`7%KYJf +!'UA`i#gkW%KYJf!'UA`i'#uu%KYJf!'UAb^ch/e%KYJf!'UAb^c:f`%KYJf!'UAbJ9^P`%KYJf +!'UAfJ8k8`%KYJf!'UAfJFId`%KYJf!'UAn!:Y@9%KYJf!'UAn!8os>%KYJf!'UB(!T6-A%KYJf +!'UB(!Pgl!%KYJf!'UB&"2GrX%KYJf!'UBF"2GuY%KYJf!'UBF#Cm<b%KYJf!'UC-#Cm>8%KYJf +!'UC-#65!Z%KYJf!'UC%%fcib%KYJf!'UDP%KHaL%KYJf!'UDP*WQ;X%KYJf!'UGA*WQ<#%KYJf +!'UGA49,E?%KYJf!'UM#49,EO%KYJf!'UM#2uj!K%KYJf!'UL8GQ7a5%KYJf!'UX<Du]n5%KYJf +!'UX<n,NH5%KYJf!'Unnn,NH9%KYJf!'UnnhuEa>%KYJf!'UknhuEa@%KYJf!'VG)^]4?u%KYJf +!'VG+^]4?U%KYJf!'WLI^]4?V%KYJf!'WLMJ,fQ[%KYJf!'YW4J,fQ[NWJ&<!'YW4!!!!(NWJ&< +!'Y?4!!!!(NWJ&<!']l^!!!!(c2li'!']ln!!!!$c2li'!'fB_!!!!$mK)5G!'fB]!!!!"mK)5G +!'e7]!!!!"rW(jV!'e7Y!!!!"rW(jV!'c!YzrW)Ef!'c!QzrW%0C!.P"<zIK4fs5QCcQzJ,fQ,5QCcA +z5QCcQ5QCcAz5QCcA~> +Q +q[1 0 0 1 0 0]concat +70 70 true[1 0 0 1 -1596 -1485]@X +imagemask +z!!!!=zz49-K'rr<$!!'C6Gs8RTL!!%BH+92?@!!!#s!!%Ma!!!!"qu?^]J,fQL!W2ot*rl9@!!D!V +!$;1@!!!8Z!!"&?!!!!0S,`O1z%ibQL*WQ0?!$3*[!$2+?!!#2&!!"&?!!!"H)uos[zGT6\`*WQ0? +!:Us.!$2+?!!2R/!!"&?!!!,Z)uos[!!!!$^`3=S*WQ0?#Cmco!$2+?!"XT"!!"&?!!")@)uos[ +!!!!?!'C5]*WQ0?490a/!$2+?!.4eE!!"&?!!)coqu?^<!!!&h!W2ot*WQ0@huilW!$2+?"5jF^ +!!"&?!!g:E]DqpQ!!!O[%m0gl*WQ0N!$=<'!$2+?*rm?E!!"&?!'UBF49,@&!!%BHGWYs+*WQ1b +!;JYV!$2+?p]0eG!!"&?!Up-J49,@&!!D-]^cVSs*WQ;X#J`G%!$2+FJ-UTe!!"&?%tG/j49,@& +!$;1^!'C5]*WR5]4od\F!$2,&!'C6D!!"&?HiSBk49,@&!;HQ`!'C5]*WY[1n,PQN!$21!!T3r? +!!"&Bhugap49,@&#J^Rp!'C5]*X@3#J,h\3!$2XN%fcSl!!"&^!$2+?49,@&4od\F!'C5]*]sEb +!!#+]!$6@bGQ7_+!!")8!:Tsg49,@'n,_GI!'C5]+5d1X!!#+]!$AuY^]4?s!!"+V#CldS49,@' +J.DV[!'C5]*rlfO!!#+]!$2+]!!!"J!!#1_49,?]IK0BG!-eJD!WRZ\s8Vio!.Y%D&-)\!!!%NK +r"&i-huEb,s7c~> +Q +q[1 0 0 1 0 0]concat +74 72 true[1 0 0 1 -1668 -1485]@X +imagemask +zs7cQoz!"],0^]4?7!!!"Ks8Vioz"97:$rVuou!!!Q0!!iOSz5PtK^s53kW!!%Ln!!*&gzr9s[d +H2IXB!!DcL!!#-1!!!!(iSX\9*Zk@^!"Zu_!!!K>J,fQk"+U@O%gTlM!$2Aq!!!6+huEa>#64`( +#D)@E!.5:W!!!+On,NH5%fcS0"+YUr!:UHu!!!,:HiO3:*WQ0?!Pget!T5"!!!!&8*WQ;X)uos= +!T5"!"2GlV!!!&X%KHT])uos=!T4Ig#Cno:!!!#W%fcib49,?]!8n(^#66jd!!!#W#Cm<b2uipY +!:U5D%feQh!!!#g"+Um^2uipY!:U)@%KJHg!!!#g"2GBH2uipY!:U*+%KL_R!!!"<"2GrXGQ7^D +!,r%U*WUEb!!!"<!Pf`VGQ7^D!,qtS*WUEb!!!"<!Pf`VGQ7^D!,qtS*WUEb!!!"<!Pf`VGQ7^D +!,qtS*WUEb!!!"<!Pf`VGQ7^D!,qtS*WUEb!!!"<!Pf0FGQ7^D!,r%U%KJHg!!!#g"2GBH2uipY +!:U*+%feQh!!!#g"+Um^2uipY!:U)@%feQh!!!#g#Cm$Z49,?]!8n*4#Cno:!!!#W#65!Z49,?] +!8n(^"+WK6!!!&X%fc^I)uos=!T4Ff"2GlV!!!&X*WQ6!*WQ0?!Pf`V!T5"!!!!&849,BN%KHJ/ +"2I#!!-f"S!!!,:GQ7_g%fcS0"+]k@!'CJd!!!7Tn,NG0#CldS#6Wla!"T0^!!!N7^]4?FK>7He +%M+'i!!hK@!!"&^!!!!"n_aBI4FR81!!)rd!!%EEzIs:qnqsXRc!!",=!!3,Xz&,uV7s*t(L!!!-$ +i#hpuz!.Y%Kp](9o!!!!0s8Tk7z!!*&oz~> +Q +q[1 0 0 1 0 0]concat +60 68 true[1 0 0 1 -1746 -1487]@X +imagemask +5QCc`huE`W5QCc`huE`W5QCc`^]4?7!;HTaz!-eP&z!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz +!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz +!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t"pz!&t#Zrr<$!!&t#Zs7cQo!&t#Zs8N'!!&t"p +&-'EF!&t"p"7P^Z!&t"p!TEeR!&t"p!:Y@9!&t"p!,t+%!&t"p!-f"S!&t"p!-ea!!&t"p!&t(r +!&t"p!&t(r!&t"p!'C;?!&t"p!'C;?!&t"p!'C8>!&t"p!'C8>!&t"p!'C8N!&t"p!#u".!&t"p +!#u".!&t"p!#u".!&t"p!#u".!&t"p!'C8>!&t"p!'C8>!&t"p!'C;?!&t"p!'C;?!&t"p!'C:t +!&t"p!&t(r!&t"p!&t46!&t"p!-f$)!&t"p!-fRc!&t"p!:YF;!&t#;!:fse!-eP&"7P^Z!;HQh +&-(Pf5QCc`s8RTL5QCc`s82is5QCc`s*t(L~> +Q +q[1 0 0 1 0 0]concat +74 88 true[1 0 0 1 -1807 -1469]@X +imagemask +z!!%NDz!!!!(s8Tk7z!'gM`p](9o!!!$!J:IOuz!W2uus*t(L!!!8n#QOgSz&&8_N#64`(!!")@ +5JR7!z4og$3z!!%BHqu?]szp]1'hz!!2QihuE`W!!!!"huhm;z!!C"=^]4?7!!!!(J-UT)z!!e#Zz +!!!!0J,]KKz!"],0^]4?7!!!$!s8Vioz"97:$rVuou!!!Q0!!iOSz5PtK^s53kW!!%Ln!!*&ozr9s[d +H2IXB!!DcL!!#-1!!!!(iSX\9*Zk@^!"Zu_!!!K>J,fQk"+U@O%gTlM!$2Aq!!!6+huEa>#64`( +#D)@E!.5:W!!!+On,NH5%fcS0"+YUr!:UHu!!!,:HiO3:*WQ0?!Pget!T5"!!!!&8*WQ;X)uos= +!T5"!"2GlV!!!&X%KHT])uos=!T4Ig#Cno:!!!#W%fcib49,?]!8n*4#66jd!!!#W#Cm<b2uipY +!:U5D%feQh!!!#g"+Um^2uipY!:U)@%KJHg!!!#g"2GBH2uipY!:U*+%KL_R!!!"<"2GrXGQ7^D +!,r%U*WUEb!!!"<!Pf`VGQ7^D!,qtS*WUEb!!!"<!Pf`VGQ7^D!,qtS*WUEb!!!"<!Pf`VGQ7^D +!,qtS*WUEb!!!"<!Pf`VGQ7^D!,qtS*WUEb!!!"<!Pf0FGQ7^D!,r%U%KJHg!!!#g"2GBH2uipY +!:U*+%feQh!!!#g"+Um^2uipY!:U)@%feQh!!!#g#Cm$Z49,?]!8n*4#Cno:!!!#W#65!Z49,?] +!8n(^"+WK6!!!&X%fc^I)uos=!T4Ff"2GlV!!!&X*WQ6!*WQ0?!Pf`V!T5"!!!!&849,BN%KHJ/ +"2I#!!-f"S!!!,:GQ7_g%fcS0"+]k@!'CJd!!!7Tn,NG0#CldS#6Wla!"T0^!!!N7^]4?FK>7He +%M+'i!!hK@!!"&^!!!!"n_aBI4FR81!!)rd!!%EEzIs:qnqsXRc!!",=!!3,Xz&,uV7s*t(L!!!-$ +i#hpuz!.Y%Kp](9o!!!!0s8Tk7z!!*&oz~> +Q +q[1 0 0 1 0 0]concat +70 68 true[1 0 0 1 -1885 -1487]@X +imagemask +5QCc`huH"Ar'15]s6p"Qs85+]s8V!WJ,f9DGQ@45!:U6O!'C8>!!(p^^]6IthuEf9%tFXB!T3q[ +^`NOV49=@?"2I)#!'C;?!!e%%!!#+^huF8fp](:V!T3qg!:Tsg49=@?*Wba1!'C;?!#u+!!!#+^ +huGkE^]4?s!T3s&#CldS49=@?GRo<)!'C;?!:V'1!!#+^huVaW!!!!]!T4":49,?]49=@B^jH+^ +!'C;?"+YUr!!#+^i!4f%!!!!]!T4Ihn,NFg49=@N!T3qX!'C;?*Ws1X!!#+^i&h6p!!!!]!T6'F +J,fQL49=Ab%fcS0!'C;?p^R9(!!#+^i:%cf!!!!]!TDs!z49=F!49,?]!'C;^s8N'!!!#+^s8W,W +!!!!]!WW3"qu?]s49=@Ns8Duu!'C;?!;ukI!!#+^huGq_^]4?s!T3r!#N,R^49=@?%fu/"!'C;? +!"T))!!#+^huEu^GQ7_+!T3q_!-eJD49=@?#Cno:!'C;?!!e$:!!#+^huF"4)uot$!T3q_J/eOh +49=@?#Cmiq!'C;?!!@`m!!#+^huEk0*WQ1&!T3q[J0"[j49=@?#Cmiq!'C;?!!e#o!!#+^huF"4 +)uot$!T3q_J33f349=@?#Cno:!'C;?!!`LK!!#+^huEu^p](:V!T3qg!:Tsg49=@?%g1_i!'C;? +!$2B\!!#+^huFf?J,fR3!T3r?IfKHK494jNqtpEo!-eM="98,r!'gM`s8W,7!!#7`s8W,u!!!!` +s8W-!huE`W~> +Q +q[1 0 0 1 0 0]concat +53 71 true[1 0 0 1 -1957 -1486]@X +imagemask +%KHb6J,fQ[!'gMY!!!PIs8W*!!"],/!<9h7&-),!5O\X_s1eUFp](dGJ,fiP!"M0m!!E6$%Qj^k +"4$rWGQ7^Ea++Zh!!!&;^^o?'!!2':&)[Ef!TDrI^]4?8i:%8-!!!&Xn.1$L!!2"s%fcS0!T7o- +!!!!"^j$@i!!!,:GRjcS!!C#]%KHJ/#Cq%/!!!!(J9VP(!!!N0GRa]R!$;2c$ig8-IK4<e!!!#s +!:Tsg!!2ipn,NFg#Oh`O!!!!@^]E?n!!%M!"5j.Z!WE'$^]4?Fp](PL!!#7A!"XS[!<7QL*rl9C +rVup^!!!8n!!%BH!$AuV!VcWp56(Zgn,NH;!!",!!!)co!.TM!!Up'irVup#huF;c!!!8>!'fBA +!!e#Ss*t(L%fc_2!!!!0!"\Q!!!"&?5JR7!!$2,iz*WZ*<!!!!=!Up'h!WX2BhuE`^!#u6Z!!!6( +*"RQ"!"T&L%fcS0%fdX]!!!!0!$30]!!")@*Zb:]!$;1N*WQ0?56)38!!!"K!"U+N!!%KK#EAca +!;?HuNW9%[k5YV1!!!,A!!26_!!e8Z!<7QL*sVcGJ%u%KpAb1Xn,WLg!!",=#QOf(!!iQ(pce`Y +!WW28%fcS0+8c*D!!~> +Q +q[1 0 0 1 0 0]concat +63 68 true[1 0 0 1 -2012 -1487]@X +imagemask +!!*'!s8V!W!!3-"s8V!W!!*'!s8V!W!!!&h!T3qX!!!#g"2Fm:!!!"<"2Fm:!!!"D"+U@O!!!"D +"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O +!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D +"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O +!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D +"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O +!!!"D"+U@O!!!"D"+U@O!!!"D"+U@O$ig9P"+U@]*WQ1b"+U@]*WQ1b"+U@]*WQ1b"+U@]*WQ1b +"+U@m*WQ1b"+U@m*rl:c"+U@m*rl:c"+UA8++O?9"+UA8++O?9"+UB#+2@l$"+UCN+5d-D"+UFO +*q0/S"+ULA*rH"_"+UX%*e"*6"+VJR*Zr1B"+Yk2*Y8$j",Hda+92B@s8W,u+92B@s8W,u&-)\0 +s8W,u~> +Q +q[1 0 0 1 0 0]concat +71 70 true[1 0 0 1 -2078 -1485]@X +imagemask +!!!!(s1eU7zJ,fEHz"98E$J,fQL!"],0s53kW!!",@^^oo7!!!!`T)\oizr&t)\IK0?J!VebW!'^G` +!!2#&!!!N0!!!,:Du]kCJ,fQS_!h=(#J^<>#Ct_4!!C":!"T(f!!!&X!!!N1huE`XhuE`u!T3qX +!:Tsg*Wa%V!!)Kg!#u$T!!!#g!!!u>^]4?7GQ7_+"2Fm:!-eJD49NA!!!%6D!'CA!!!!"D!!"t\ +^]4?7GQ7_'"2Fm:!-eJD3!6qr!!%BH!&t(r!!!!]!!"t\^]4?749,@@"2Fm:!'C5]3!6qr!!#+] +!&t(r!!!!]!!"t\^]4?749,@@"2Fm:!'C5]3!6qr!!#+]!&t(r!!!!]!!"t\^]4?749,@@"2Fm: +!'C5]3!6qr!!#+]!&t(r!!!!]!!"t\^]4?749,@@"2Fm:!'C5]3!6qr!!#+]!&t(r!!!!]!!"t\ +^]4?749,@@"2Fm:!'C5]3!6qr!!#+]!&t(r!!!!]!!"t\^]4?749,@@"2Fm:!'C5]3!6qr!!#+] +!&t(r!!!!]!!"t\^]4?749,@@"2Fm:!'C5]3!6qr!!#+]!&t(r!!!!]!!"t\^]4?749,@@"2Fm: +!'C5]3!6qr!!#+]!&t(r!!!"H!!"t\^]4?7HiO.+"2Fm:!.4bH3!6qr!!%BH!&t(r!!!"J!!"t\ +^]4?7rVupX"2Fm:!<)ru3!6qr!!)Hf!&t(r!!!&g!!%6E^]4?:kC<R-!Up'h#KPaes8W,W!.Y%H +5QCc`huJ9,r]gG_s53m,s82~> +Q +q[1 0 0 1 0 0]concat +72 70 true[1 0 0 1 -2150 -1485]@X +imagemask +z$ig8-z!#tt=z!!#1_z!!!!_zzIfKHKz!.OtKz!!%KKz!!!#nJ,fQLzo7-f@z!TUrqz!!2,qz!!!,; +huE`W!!!!$_;G:nz#Ct_4z!!e&Dz!!!6(n,NFg!!!!0!;HNoz%fuG*z!$219z!!"&Bqu?]s!!!!] +"8i-!z49s^Cz!-ea?z!!%6KT)\ik!!!#g%hAX?zn.-$0z!8nn'J,fQL!!2"!#CldS!!!&X49rY% +!!!!$^cV_7z"2K-`^]4?7!!e%!"5j.Z!!!7SGQH_&!!!!0!:U$Yz%fl)!n,NFg!$21!!;HNo!!"&@ +huNNP!!!!="2Fn]z49NA!HiO-H!'CM%!'C5]!!%6KJ,hb5!!!"D#Cle<zn.,L!*WQ0?!:UL!!$;1@ +!!2"!!!")@!!!&X*WQ0NJ,fQM^`EIU%tFW["2I#!!"XS[!!C#!!!!8>!!!7SGQ7^K^]4?>J9V%o +#N,R^%fghS!!hE^!"T)!!!!,j!!"&?n,NFjn,NG0!Up'h"7Q9j49=@?!!Dur!'C;?!!!&p!!"t\ +huE`Xqu?_A"2Fm:!W2otGQY_]!!1jT!:U*+!!!&V!!)KnJ,fQMc2[n'#CldS!RC`Hi!4c4!!1CG +"2G.l!!!&?J-UT0^]4?:a1r49"8Dir#D;Mqs8W*!!'gM_s8W-!J,k*!s*t(Krr<$`s8D~> +Q +q[1 0 0 1 0 0]concat +99 70 true[1 0 0 1 -2222 -1485]@X +imagemask +!!!!'z"onW'z%fcS0!"Ju/z!"T&0!!!N0z!!"*k!!!!@z!!!!@J,fQL++O=kz++O=k!'bu6z!'e7! +!!#66z!!#7!!!!!`^]4?7!!!!ZhuE`WHb]U]zH/JZ&!-u?[z!-mu5!!%#sz!!%!-!!!#hhuE`W!!!#g +Du]k<nDF9Hzn9=p5!T<GIz!8r)%!!2$Iz!!2"?!!!&8Du]k<!!!&X49,?`^j#hZ!!!!"^ch_u"2K-]z +"2K?c!!@arz!!C#c!!!7SHiO-H!!!7SIfKHRJG]BI!!!!(JH#TL%flS/z#6=LK!"T)/z!"T(mJ,g&[ +rVuou!!!N1j1kX9!WN-"!!!!/!TUrq*Ws^gz*Wa+8!#u*ez!$26YhuGkAO+731!!!u@_;G;U#D[g0 +!!!!]"+]k@GR'"Sz49pE+!-e_R^]4?7!&t46GQ;[n"2Fm:!!%6K!-eM5%g0TI!!!"D%fe]ln.#QYz +n.,L]!8nn!huE`W!:UHu49=@[!Up'h!!(pu!$21!49=pO!!!&X*WR5`^cVVd!!!!"i#D_-"2Hkr +p](9o!Pget%g.?,!;HNo!!C#!!!e:0GQ;sg!!!,:2uj2=J8bL9!!!!$J9V&!cN*G7HiO-H#Cq%! +"4$u:!.4bH!!e$n!!COIhuGq@!!!6(n,NLg!T3rA!!!!0!:TshrW1pW4obQ_%fkMf!;ll5!$;1@ +!"K%f!!)p!^]5GV!!"&@huEcT"2FmYJ,fQh!Pe[8GQWHr++O=k49NA!!-ea!!$?^k!'CA!!!%6K +J,g+q!!"t\J,fT=#64`7^]4@Z"+U@On.,L!&&8/FGR&a!!8n@f!"[uf!,r0n!!2!g!!!Pf!!)Kn +!!!&X%KHJ>huEcH#64`)^`EIU&+BQ!i"#ef"2GrX!"\Q!!T4Ig!!C"X!!!OK!!2!f!!!7S)uosL +GQ7c[%KHJ6J/eOh%sS'V^^^>E%fe]l!"V0l"+Uj]!"T&l!!!Kk!!e#b!!"&?*WQ0]*WQ_$%tFXD +!$?^k4s'cSs8VQhs8W,g!WW28J,fQD"98E$p]LQri.(e,n,`Rhs6p'hs1e~> +Q +q[1 0 0 1 0 0]concat +70 68 true[1 0 0 1 -2321 -1487]@X +imagemask +5QCb6#QOi(r'15]^^'o>s85+]s*t@Ss8W!%n9b39%tFc?!Vgm>!!@`V^]8Uu!!!+O%tFXBn,NFn +!"T&0*q0.0#65eF!"\Q!!"T&n!!!8n!!!K/49,?`n,NG0!-eJD!VcWp*!#I.!!)co!&suJ!!!#s +!!%6EhuE`WIK0@e"2Fm:!'^G`n-?`/!!"*k!8n*4!!!!0J-"R=z#J^GW*rl9@!!D-]J0"[j!!!&h +#Cno:!!!!"p^[@Pz!;m<,GQ7^D!!%Hh!:Tsg!!!!`*!,O/z+#j;Zz!"\i,^]4?7!!!8n#J^<>!!!!( +n-=IDz"5j[iz!!C"Yz!!!,:*WQ0?!!!!(J33f3z%fgtWz!"T'Sz!!"&?n,NFg!!!!]!Up'hz49=@?z +!-eU]z!!)Kj^]4?7!!!#g#CldS!!!!"i"(><z"2GG_z!!C"YhuE`W!!!7S5MuMA!!!!0!'TfOz%fgkL +z!$2.0qu?]s!!#+]n9b39!!!!]!T6-AzGQZkGz!:U*+++O=k!!)KnJ.I/1!!!&X#Cm&p!!!!$^^gDI +huE`W"2GrX"7Q9j!!e#q!!2ip!!!N049,E[!!!!@!'C5]qu?]s*WUEb!<)ru!'C7+!!)J<!!%6D +n,NIO^]4B0!:Tshj59n;n,VAH!TEeR"5j1S!!C%:!$D7@s1f`Vs6r8Qs8Tl!s8Vj9s8W,7+92B9~> +Q +q[1 0 0 1 0 0]concat +70 68 true[1 0 0 1 -2393 -1487]@X +imagemask +!!",@s8Vio!!!!@s8W,oz+92B@p](9o!!#+]49,?]!!!!?!-eJDz*WUEbz!"K!Jz!!!K/Du]k<!!!!/ +!,qo<z%KLGJz!"K!Jz!!!K/Du]k<!!!!/!,qo<z%KLGJz!"K!Jz!!!K/Du]k<!!!!/!,qo<z%KLGJz +!"K!Jz!!!K/Du]k<!!!!/!,qo<z%KLGJz!"K!Jz!!!K/Du]k<!!!!/!,qo<z%KLGJz!"K!Jz!!"&? +Du]k<!!!!]!,qo<z494jNz!-eM5z!!%6Ep](9o!!!#g!W2otzn,rRgz!T43Sz!!2!_ScA`j!!!,: +%hAX?!!!!(J.Dm8z#Cmj#J,fQL!"T&N"2Fm:!!!N049OLA!!!!?!&t#;z*WUEbn,NFg!'C7#!:Tsg +!!#+]n,R\5!!!"D!T3r?zp]9:Q49,?]!:U*+!$2+?!!2![^]5DU!!!&X#Cldb!!!!$^]si>#CldS +"2GEI!!e#S!!e#a!!!,:!!!7S*WQ0B^]4?F!#tt=!T3qX*rnD'!!)Kg!$2,"!!!#g!!#+]GQ7^D +p](:V!:Tsg!;lfsGQ?Y%!!)os!-eP&!!!#u!!)Kh^]4?8mf3@W!Pe[8!UkO>hugap!!C9W"5j93 +!!!PIi'78Aqu?_Hs85+]s8Duus8W!]s8Vus!.Y%H~> +Q +q[1 0 0 1 0 0]concat +63 68 true[1 0 0 1 -2465 -1487]@X +imagemask ++92B@s8W,g+92B@s8W,o+92B@s8W,o%fe]l!.WpO#Cmiq!!i:D#Cmiq!!3!W"2GEI!!%I-"2G.l +!!"*'!T435!!!PB!:U*+!!!9%!:U*+!!!-!!-eP&!!!&t!-eM5!!!#s!'C8N!!!#s!$2,b!!!"H +!$2,b!!!!_!"T&l!!!!_!"T&N!!!!?!!e#q!!!!?!!C"I!!!!?!!C"I!!!!/!!2!_J,fQZ!!2![ +^]4?E!!)Kj^]4?E!!%6EhuE`W!!%6En,NFg!!#+]n,NFg!!#1_GQ7^D!!"&?GQ7^D!!!N049,?] +!!!N04obQ_!!!7S*WQ0?!!!,:%fcS0!!!,:%fcS0!!!&X#CldS!!!&X"2Fm:!!!#g"2Fm:!!!"D +!T3qX!!!"D!T3qX!!!!]!:Tsg!!!!]!-eJD!!!!?!-eJD!!!!0!'C5]!!!!0!'C5]!!!!(J0"[j +!!!!(J.DV[!!!!$^^gDF!!!!"i!4c4!!!!"i!4c4!It.Mn,pH+"2Fm:n,_GI"2Fm:GQH_&"2Fm: +494jN!Pe[8494jN!T3qX*WUEb!T3qX*WS;&!Up'h%fe]l!VcWp#Cmiq!W2ot#Cmiq!WE'!"2GEI +!WN-""5jE7!Umf(!T435!9`hO!:U*+!9<tW!:U*+!9!n8!-eP&!<<*!s8W,g!<<*!s8W,g!.Y%K +s8W,g~> +Q +q[1 0 0 1 0 0]concat +47 77 true[1 0 0 1 -66 -1359]@X +imagemask +z!#tt=!!!!_z!.FnJ!!!"Jz!<)ru!!!#uz!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz ++2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKzrVuou!!)uuzqu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg +!!hun!!!!(huE`W!"[uf!!!!0^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#uz +!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz+2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKz +rVuou!!)uu!!!!"qu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg!!hun!!!!(huE`W!"[uf!!!!0 +^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#sz!W2ot!!!&pz!VcWp!!!&hz +!8mhW!!!~> +Q +q[1 0 0 1 0 0]concat +54 44 true[1 0 0 1 -118 -1367]@X +imagemask +5Q:ug_>j"Ss,[3?s7h*DTE"Zcr."a=s7cQkJ,bT0j8\m=rs/S?s6p-[!;lg]!!D]jquAq]"7Q<g +!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gc +n,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d +56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcp]19n56(f\!<)s_!!DurrW#._"8i0!!'^GcquH`s56(fb +!<7R6!!E6%s1j'`"96:=nGWDPs8W-!rW%HJs7cQm!.Y%KoDe^gJ+s!'s82kHj8Zppp]*Ops+#Ug +!!!!_!"ZjF~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -171 -1367]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -224 -1367]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -277 -1367]@X +imagemask +&-)Z^s8V"As8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+5d,(n,NG1huF#O!!",1!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jV+918K^]4?Vs8W+L!!"+us8RTL!$BPerr<$!+2e-X!!!!@_#O00 +!!"+V+5d,!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -329 -1367]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -382 -1367]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[4.8 0 0 -240 640.28 1451.28]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +50 62 true[1 0 0 1 -704 -1367]@X +imagemask +#QOQ!J,b$0s82lss1f0FquHcs^^pJC!<<)7&-)P-s8Tk>s7cSDs*t)6J,fiD!!#66!!hun!'bu6 +#Oh]n5JR7(n,NG1^]4o'!!"+V!"[uf!$AuV&)[Ef+2@jehuE`fhuF;G!!!Pf!$AuV!"],0s1eU7 +&-)\0^]4?>s8W,7!!!9(s8RTL!!iQ(s*t(L#QOi(J,fQSp]*O/!!!,r!.OtK!!DurIfKHK"8DkG +!!!!$p],dD!!!&t!.OtK!!2utrVuou!W2rs!!!!"quH]r!!!#s!<)ru!!)uuqu?]s!<*#szrW2os +!!!#u!W2ot!!%KLp](9o!.P+GzIfoHG!!!"K"8Dir!!#4cp](9o!'c,*z5DS_.!!!!`L[Y9D!!"*r +n,NFg!$@!Sz+33:>!!!!@cend'!!"+ehuE`W!"[Dkz&'r#k!!!!0n%\o'!!!Q0^]4?7!!iP>z#QK;S +!!!!(s*t(L!!!9(J,fQL!!E7Oz"9/?$!!!!$rr<$!!!!'"z!!)uu!!!~> +Q +q[1 0 0 1 0 0]concat +49 61 true[1 0 0 1 -756 -1367]@X +imagemask +#QOi(n,NG!s8W,u!!",@s8W+L!$D7@s8V!W&-)\0s6p!ns8W-!p](:YJ,hh3!!#66!"\u-!'bu6 +"9&9#5C`_7rVup_J,fTL!!#66!!%KK!'bu6!.OtK5C`_65C`_uJ,fR6J,hfa!!#66!'bu6!'bu6 +5C`_65C`_uJ,fR6J,hfa!!#66!'bu6!'bu65C`_6IfKI5J,fS!!!#66!!)uu!'bu6!<)ru5C`_7 +qu?^]J,f]H!!#66!!hun!'bu65MuMA5QCc`^]4@!s8W*!!!#7`s82is!'gM`qu?]s5QCc`!!!!` +s8W+L!!#66!WTq8!'bu65MuMA5C`_En,NGQJ,fiL!!#66!!Dur!'bu6!W2ot5C`_7qu?^]J,fWL +!!#66!!)uu!'bu6!<)ru5C`_6rVup_J,fTK!!#66!!)uu!'bu6!<)ru5C`_7qu?^]J,fWJ!!#66 +!!E-!!'bu6#P\9!5C`_En,NGQJ,k)g!!iQ(s8V!W&-)\0s1eUVs8W-!J,g\ks8W&u!"],0s7cQo +#QOi(^]4?~> +Q +q[1 0 0 1 0 0]concat +49 63 true[1 0 0 1 -809 -1366]@X +imagemask +!!!"K^]4?7!!E8rz&-)V/!!!!`s8RTL!!%NKs1eU7!WW3"huE`Zs1j-R!!!9(!"\i)!!iE%#Q+Q% +&,6,*rVup?n,NLg!!#7A!!*$!!'e7!!.OtKIt.M!It.NK!!!!`J,oTL!!#66!<)ru!'bu7rVuou +5C`e4!!!!`J-#QJ!!"*k"8i-!!"T&3p](9o!!!,rz!!Durz"8Dir!!!!(n,NFg!!!8nz!!hunz#Oh]n +!!!!(n,NFg!!!8nz!!hunz#Oh]n!!!!(n,NFg!!!8nz!!hunz#Oh]n!!!!(n,NFg!!!,rz!!Durz +"8Dir!!!!$p](9o*rlE@!!!!@J-#QJ!!#66!W2ot!'bu7rVuou5C`b5!!!!`J,oTL!!%M!!.OtK +!.TM!It.M!It.M`^]4B7J,hgl!!3+M!$C\1!WRZM&,6,,s*t(Squ@!%J,fiS!$D5k!!E8:J,b$! +!WW3"s*t(LJ,fQKJ,fR6s8O0k!!!Q0rZ?Xj!!E8j%tFW[!.TM0!!~> +Q +q[1 0 0 1 0 0]concat +49 61 true[1 0 0 1 -862 -1367]@X +imagemask +&-)\0!!!!@s8W,W!!",@s8Vio!$D7@s82is+92B@rVup/s8W-!!!!"K!!iOS!!%KK!<9h7!.OtK +J)C;,IfKHjn,NH<!!!Q!!!%KK!!i9!!.OtK#P\9!IfKHNqu?_H!!!&t!!%KK!!3'!!.OtK!<)ru +IfKHKrVuqJ!!!$!!!%KK!!%KK!.OtK!.OtKIfKHKIfKIu!!!!`J,k'!!!#66!.OtK!'bu6IfKHK +5C```!!!!`J,k'!!!#66!.OtK!'bu6IfKHK5C```!!!!`J,k'!!!#66!.OtK!'bu6IfKHK5C``` +!!!!`J,k'!!!#66!.OtK!'bu6IfKHK5C```!!!"KJ,k'!!!%KK!.OtK!.OtKIfKHKIfKIu!!!$! +!!%KK!!)uu!.OtK!WE'!IfKHLqu?_H!!!-!!!%KK!!E-!!.OtK#P\9!IfKHZp](;D!!!Q!!!%KK +!$C,!!.OtKJ)C;,IfKKK^]4@a!!iOS!"],0s8N'!+92B@rVup?s8W,s!!",@s8VQg!$D7@s1eU7 +&-)\0!!!!~> +Q +q[1 0 0 1 0 0]concat +51 61 true[1 0 0 1 -914 -1367]@X +imagemask +#QOi(s8TkFs8W-!s54Ffs8W-!i",kfs8W,W&-)\0s8V!^s8W-!s53l!^]4?FhuFk7!!!Pf!$AuV +!"[uf+2@jV&)[F0^]4?FhuFk7!!!Pf!$AuV!"[uf+2@jV&)[F0^]4?FhuFk7!!!Pf!$AuV!!g:> ++2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+V!:Tsg!$AuWp](9o+2@pP!!!!@^]F31 +!!"+V!VcWp!$AuWp](9o+92B9!!!!@s8Vio!!",@s7cQo!$D7@p](9o+92B9!!!!@s8Vio!!"+V +!VcWp!$AuWp](9o+2@pP!!!!@^]F31!!"+V!VcWp!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +$ig8L^]4?V!!"+V!!#66!$AuV!'bu6+2@jV5C`_U^]4@!J,g\,!!#66!$AuV!'bu6+2@jV5C`_U +^]4@!J-Z,Ss8W+L&-)\0s8RT[s8W-!s*tX[s8W-!J.M\[s8W*!#QOi(s8N'~> +Q +q[1 0 0 1 0 0]concat +50 61 true[1 0 0 1 -967 -1367]@X +imagemask +#QOh>!!!!0s8V!W!!!Q0s53kW!"],0huE`W&-)[f!!!!(s8Tk7!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz ++2@jV!!!!@^]=94!!"+V!;lfs!$AuVqu?]s+2@mS!!!!@^]=94!!",@s82is!$D7@qu?]s+92B= +!!!!@s8Vus!!",@s82is!$D7@qu?]s+2@mS!!!!@^]=94!!"+V!;lfs!$AuVqu?]s+2@mS!!!!@ +^]8TZ!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV"onWF^]4?FJ,g\,!!"+V!$AuV!$AuV ++2@jV+2@ju^]4?V^]5Il!!"+V!$AuV!$AuV+2@jV+2@ju^]4?V^^'o>s8W,7&-)\0s8TkFs8W-! +s1f0Fs8W-!^^pJFs8W+L#QOi(s8RT~> +Q +q[1 0 0 1 0 0]concat +50 63 true[1 0 0 1 -1020 -1366]@X +imagemask +!!!'!z!"]+Fn,NFg5QC9K!!!"Ks7uQm!!3-"rVQWq"98E$qu?^%rr`<!!!!9%!<;rs!"\i)J,B9H ++5d,`qu?^]huFks!!#7!!"\u-!.TM!&,ZD-IfKHRqu?`s!!!9%!!)uu!!iE%!WE'!"8i-"qu?^! +qu?cq!!!-!!!E-!!!E-!"8Dir"8i-$p](9pqu?io!!*'!J-YQD!WW28#Oh]os8Tk>n,NLhs1em/ +!!3-"^^'?/!<<(L#Oh]n!!!!(n,NFg!!!8nz!!hunz#Oh]n!!!!(n,NFg!!!8nz!!hunz#Oh]n!!!!( +n,NFg!!!8nz!!hunz"8Dir!!!!$p](9op](Ek!!!&p!!E-!!!2ut!W2ot!W2ouqu?]tqu?cs!!!-! +!!)uu!!E-!!<3$!"8i-!IfKHRqu?_HJ,fiP!!#7!!"\u-!'fBA&,ZD-+7K7Pqu?^-p]*PV!!!9% +!<;rs!!iN+s82is"98E$qu?]ss8W,s!!!"Ks7uQm!!#7`nGE7d!"]+Fp](9o!WE(D!!~> +Q +q[1 0 0 1 0 0]concat +51 61 true[1 0 0 1 -1072 -1367]@X +imagemask +&-)P-s8TkVs8E'!s55"!rW3'!i#i!u!WW2X&-)V0s8V!fs82lss1eV!J,f]H!!#66!!Dur!'bu6 +"8Dir5C`_9p](:YJ,f]H!!#66!!Dur!'bu6"8Dir5C`_9p](:YJ,f]H!!#66!!Dur!'bu6"8Dir +5C`_9p](:YJ,f]H!!#66!!Dur!'bu6"8Dir5C`_9p](:YJ,f]H!!#66!!Dur!'bu6"8Dir5C`_9 +p](:YJ,f]H!!#66!!Dur!'bu6"8Dir5QCc`p](:Ys8W,o!!#7`s8Vio!'gM`s7cQo5QCc`p](:Y +s8W,o!!#66!!Dur!'bu6"8Dir5C`_9p](:YJ,f]H!!#66!!Dur!'bu6"8Dir5C`_9p](:YJ,f]H +!!#66!!Dur!'bu6"8Dir5C`_9p](:YJ,f]H!!#66!!Dur!'bu6"8Dir5C`_9p](:YJ,f]H!!#66 +!!Dur!'bu6"8Dir5C`_9p](:YJ,f]H!"],-!<<)7+92<@s8V"!s8E'!s55"!rW3'!i",ke!WW2X +&-)P-s8Tk~> +Q +q[1 0 0 1 0 0]concat +37 61 true[1 0 0 1 -1133 -1367]@X +imagemask +5QCc`n:1K<s7h*Ds8VkDs8W,oJ,fQKpcnfYs6p!grVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu +!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru +!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou +!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru!!)uu!!!#uzrVup_s8W,gJ,fQKpj`>D +s7h*Ds8VkDs8W,o5QCc`n,~> +Q +q[1 0 0 1 0 0]concat +41 62 true[1 0 0 1 -1186 -1366]@X +imagemask +!$Ct9!!!$!rr<$!"98D:!!!Q0s6p!g+92B9!!#7`s82isJ++!J!!%Ma!WN-"rr<'!!!*%L!.TM! +s*t)6J,oV"!'bu6s*t)6J,k'!!$AuV4obR)^]4W?!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV +!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV +!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV +!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV +!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!!!@^]4?7!$AuV!!*'!rVup!s8W*!!!E9$s*t(Os8W+L +!!3-"rr<$!s8W&u~> +Q +q[1 0 0 1 0 0]concat +50 61 true[1 0 0 1 -1231 -1367]@X +imagemask +#QO8n&-%.js7cR9s1f0Fqu@i=^^pJC!$D6V&-)D)+90+]s6p"!s*t)5!!!,r!!#1_!!D]j!'UA_ +#Oh]n4obQfhuEa@!!!Pf!!#1_!"ZjF!'UA_++O=k4obRIJ,fR5!!#4`!!#1_!.OtK!'UA_IK0?J +4obT^!!!!_!!)os!!#4`!W2ot!'^Gap](9o5C`k*!!!!`^^'?/!!#7A#N,R^!'fr`huE`W5O]3! +!!!!`p`I9O!!#7]++O=k!'^BHJ,fQL56!hI!!!!_Isq@t!!#2IrVuou!'VM&z4qIPk!!!!_&,6,) +!!#1fp](9o!'UM[z4otQ]!!!!_!WE'!!!#1_rVuou!'UC4z4odft!!!!_!$AuV!!#1_+5d,!!'UAn +huE`W4obiW!!!!_!!Dur!!#1_!W2ot!'UA`rVuou4obT^!!!!_!!%KK!!#1_!'bu6!'UA_5JR7! +4obR)^]4?u!!!Pf!!iPn!'gJ`&-)D)J,b$0s82lss*tX[quHcsJ.M\T!.Y$!#QO8n5Q:]~> +Q +q[1 0 0 1 0 0]concat +50 61 true[1 0 0 1 -1283 -1367]@X +imagemask +#QOi(s8N'0s8W-!s*tX[s8W-!^^pJFs8W,7#QOi(s8Tk>s8W-!s1eUFhuEa!^]4o'!!"+V!"[uf +!$AuV&)[Ef+2@jehuEa!^]4o'!!"+V!"[uf!$AuV&)[Ef+2@jehuEa!^]4o'!!"*k!"[uf!"T&0 +&)[Ef!!!!0huE`W!!!Pfz!"[ufz&)[Ef!!!!0huE`W!!!Pfz!"[ufz&)[Ef!!!!0huE`W!!!Pfz +!"[ufz&)[Ef!!!!0huE`W!!!Pfz!"[ufz&)[Ef!!!!0huE`W!!!Pfz!"[ufz&)[Ef!!!!0huE`W +!!!Pfz!"[ufz&)[Ef!!!!0huE`W!!!Pfz!"[ufz&)[Ef!!!!0huE`W!!!Pfz!"[ufz&)[Ef!!!!0 +huE`W!!!Pfz!"[ufz&)[Ef!!!!0huE`W!!iQ(huE`W&-)\!!!!!0s8VQg!!!Q0s6p!g!"],0n,NFg +#QOh^!!!!~> +Q +q[1 0 0 1 0 0]concat +51 61 true[1 0 0 1 -1336 -1367]@X +imagemask +&-'EF#QMR]s53kfs55"!huFl!i#i!W!$D7!+917!&-(Pus1eU>s1eX4!!!"H!!)os!!%BH!;lfs +!.4bHqu?]sHiO0E!!!"H!!)os!!%BH!;lfs!.4bHqu?]sHiO0E!!!"H!!)os!!%BH!;lfs!.4bH +qu?]sHiO0E!!!"H!!)os!!%BH!;lhA!.4bHquHWpHiO0E!<)tG!!)otrW%<G!;lls!.4bHquQft +HiO0E"9/@K!!)p!rr@EH!;m*%J:%=sr!2\@HiO0E#L@pJ!!)p-cbOo.!;mAJ^jH+^r""RuHiO0E +%u9(j!!)p=LZ!O[!;mo@i-YM)r#Z%1HiO0E56LD&!!)p\!UtI:!;o"]pj<&Ar-e\AHiO0EHiWqh +!!)qE!;q3E!;u`pr-SJEr:g8>HiO0Ep],bj!!)um!.K:q!<)Zm5(!>1rU9eNHiO0Hn,P\#!!*&g +!$?Rg!<:sW+++%gs53l!qu?`shuF;c!"]+F!"]+F+90+V&-(Q0s1eU>s55"!J,fiSi#huL!!E8Z +&,lP/!WTq~> +Q +q[1 0 0 1 0 0]concat +50 61 true[1 0 0 1 -1389 -1367]@X +imagemask +#QOQ!&)[Eus82j=n,O"!qu@i.!"],-!'frQ&-)P-5O\XXs7cRYn,NGQ!!%N<!!#4`!.XJ<!'^G` +s6p!g56(]`n,NGQ!!)oc!!#4`!W2?d!'^GaoC)_[56(`Un,NGQ!!Di^!!#4`"68kN!'^Gcj7!$K +56(rKn,NGQ!!gF2!!#4`&&[l:!'^GoKCAj@56)4Hn,NGQ!$?j_!!#4`*s;!4!'^H*"7Q9j56*nM +n,NGQ!'UMS!!#4`IKT'>!'^I4"7Q9j56-'5n,NGQ!;lrg!!#4`p]L!c!'^JY"7Q9j56:N]n,NGQ +!Up3\!!#4an,r.[!'^ST"7Q9j56KgGn,NGQ#N,^R!!#4g^]X'+!'^_("7Q9j57bO3n,NGQ%tFcO +!!#4oJ-59@!'_QU"7Q9j59Bk-n,NGQ56(fT!!#5J!!D]j!'`XI"7Q9j5CNS7n,NGQHiO9<!!#62 +!!D]j!'gA]"7Q9j5PP3\n,NGQp](Ec!!iQ!!.Y$!&-),!s8TkFs6p$gs1f0FhuNfW^^pJ'!<<)7 +#QMR>J,b$~> +Q +q[1 0 0 1 0 0]concat +48 63 true[1 0 0 1 -1441 -1366]@X +imagemask +!!#7`n,NFjs8W*!!"],0s1eUVs8W,W!'gM`s6p"Qs8W,o!.XbDJ+s"n^]4oC!<7QL#Q+T%!!!-! +!<3$!!W2rs!!!'!!WE'!!WE-!!!!#u!W2ot!<*#s!!!#u!W2ot!<*#s!!!#u!W2ot!<*#s!!!#u +!W2ot!<*#s!!!"J!W2ot!.P%I!!!"K!W2ot!.P%I!!!"K!VcWp!.P%E!!!"K!VcWp!.P%E!!!"K +!VcWp!.P%E!!!"K!VcWp!.P%E!!!"K!VcWp!.P%E!!!"K!VcWp!.P%E!!!"K!VcWp!.P%I!!!"K +!W2ot!.P%I!!!"J!W2ot!.FtH!!!"J!W2ot!<*#s!!!#u!W2ot!<*#s!!!#u!W2ot!<*#s!!!#u +!WE'!!<)ut!!!'!!<)ru!W2rt!!!-!!<7QL"8i.K^]4oC!.XbD5PP4Cs8W,o!'gM`s6p"1s8W,W +!"],0s1eU:s8W*!!!#7`n,N~> +Q +q[1 0 0 1 0 0]concat +49 61 true[1 0 0 1 -1493 -1367]@X +imagemask +#QOc'!!!!0s8N'!!!!Q0s*t(L!"],0J,fQL&-)Y0!!!!(s8Duu!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz ++2@jV!!!!@^]4?7!!"+Vz!$D7@huE`W+92B=!!!!@s8W*!!!",@s8RTL!$D7@s1eU7+92B@n,NG1 +^]=E(!!"+V!$Ct9!$AuV#Q+Q%+2@jYqu?^=^]4E7!!"+V!!)uu!$AuV!<3$!+2@jVIfKHj^]4@a +!!"+V!!#66!$AuV!'bu6+2@jV5C`_U^]4@!J,g\,!!#66!$AuV!'bu6+2@jV5C`_U^]4@a!!"+V +!!%KK!$AuV!<3$!+2@jVrVup?^]4E7!!"+V!!E-!!$AuV#Q+Q%+2@jup](:9^]=E(!!iQ(s8V!W +&-)\0s1eUFs8W-!J,g,[s8W*!!"],0s82is#QOi(^]4?~> +Q +q[1 0 0 1 0 0]concat +48 76 true[1 0 0 1 -1546 -1353]@X +imagemask +z!;lfs!!!&tz"8i-!!!!-!z#P\9!!!!9!z&+BQ!!!",1z+5d,!!!#7Az5JR7!!!%M!zIt.M!5QC`` +!!E9$rr<$0s8W,7!$D7@s53lAs8W,g!'gM`s7cSDp]pio!.Vchs82lsJ.MDP!<3$0oDAUf!$C1t +!<)s?iVilW!'e=!!W2p^JGoTI!.TOu!W2qI!<*#s!.P"J!W2qH!<*#s!!!#u!W2ot!<*#s!!!#u +!W2ot!.FtH!!!"K!W2ot!.P%I!!!"K!VcWp!.P%E!!!"K!VcWp!.P%E!!!"K!VcWp!.P%E!!!"K +!VcWp!.P%E!!!"K!VcWp!.P%E!!!"K!VcWp!.P%E!!!"K!VcWp!.P%I!!!"K!W2ot!.P%I!!!"K +!W2ot!.FtH!!!"J!W2ot!<*#s!!!#u!W2ot!<*#s!!!#u!W2ot!<*#s!!!#u!W2ot!<*#u!!!'! +!<)ru!WE)u!!!&t!<3$!"8i0!J,fiP!.Vca&,ZEWp],g=!'gM`s7cRYs8W,g!$D7@s53kfs8W,7 +!!E9$rr<$!5QC3Q~> +Q +q[1 0 0 1 0 0]concat +53 62 true[1 0 0 1 -1597 -1366]@X +imagemask +z!.FnYs82its*u3kqu?j!^`WUU!!iP^+92<?&-(Q0s82j-s6pR!qu@i%n,PZQ!$B,R!'^G`+2djR +56([J_tX3r!!#7$p]*MY!'eBr!'^G`5Cr;(56([JJ,fR6!!#66!!#4`!'bu6!'^G`5C`_656([J +J,fR6!!#66!!#4`!'bu6!'^G`5C`_656([JJ,fR6!!#66!!#4`!.TM!!'^G`It.M!56(]`!!!!` +!!E6$!!#4`&,lP/!'gM`rVuou5QCc]!!!!`s8Vio!!#7`s6p!g!'gM`p](9o5QCc_!!!!`J.MY[ +!!#66!WRZM!'bu6It.M!5C`_u^]4@!J,g\L!!#66!$C,!!'bu6&)[Ef5C`_=n,NGQJ,fiD!!#66 +!!hun!'bu6#Oh]n5C`_=n,NGQJ,fiD!!#66!!hun!'bu6#Oh]n5C`_EhuEaAJ,g\L!!#66!$C,! +!'bu65JR7!5C```^]4@!J-#\#!!#66&,uV0&-)\0rVup?s8W,s!!",@s8Vio!$D7@s53kW&-)\0 +J,fQ[s8Vus!!!~> +Q +q[1 0 0 1 0 0]concat +48 63 true[1 0 0 1 -1650 -1366]@X +imagemask +!T4"Y^]4E)+92*9"7Z?jrW!&ts8W+L"98E$s1ea:s8W,W"98B$J+*R?p](j""979Z#P\E$J,f]L +"9/?$!W3'!!!!#u"8i-!!<*)u!!!"J"8i-!!.P+G!!!"K"8Dir!'^S\!!!!`"8Dir!.P+G!!!"K +!Up'h!.OtK!!!"Kz!<)ru!!!'!z!WE'!!!!9%z&,6,)!!%ND!!!!$s6p!g!.Y%,!!!9(s1eU75QCb6 +!!3-"rVup#s8Vio!"],0huEa!s8Duu!'gM!!!!"Kqu?]s!.Wo,!!!$!J,fQL!<3$!!!!'!z!W2ot +!Vc]j!!!&p"8Dir"8Dun!!!,r"8Dir"8Dun!!!,r"8Dir#P\Dr!!!9!!VcWp#P\>t!!!Q)!WE'! ++8>j8!!#7Y!<7QLJ+s"n^]=E0!'g5`s7cR9s8W,o!"],0rV-?ts8Voi!!3-"iV3BQJ,b&o!!!Q- +!,q~> +Q +q[1 0 0 1 0 0]concat +51 61 true[1 0 0 1 -1702 -1367]@X +imagemask +!!*'!rVuou!WW3!!!!!"s8W*!!!!'"s8N'!!!3-"rVuou!<<)uz!<)ruzrVuou!!!#uz!!)uuz!<)ru +zrVuou!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou +!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou!!!#uz +!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou!!!#u!!!!$!!)uu!rrkI!<)s/^^n3\rW!JE +&&82E!"[uu^]=?6&)[u6!<)s/i"*U'rW!Je&&82E!"[uu^]=?6&)[u6!<)s/i",kfs8W,W&-)\0 +s8V!fs8W-!s54Ffs8W-!i",kfs8W,7#QOi(s8RT~> +Q +q[1 0 0 1 0 0]concat +53 62 true[1 0 0 1 -1754 -1366]@X +imagemask +!!!'!z!"]+Fz5QC3Q!!!"Ks7cQo!!*'!rVuou!WW3"!!!!$rr`9$!!!9%!<7QL!"\i)J%u$a&+BQ@ +huEa!huFkW!!"+V!"\Q!!'bu6#Oh]n5C`_=n,NH<J,f]H!!%KK!!Dur!.OtK"8DirIfKHNp](;D +!!!&t!!%HJ!!2ut!<)ru!W2otrVup!qu?`r!!!&t!!)uu!!2ut!<)ru!W2otrVup!qu?`r!!!&t +!!)uu!!2ut!<)ru!W2otrVup!qu?`r!!!&t!!)uu!!2ut!<)ru!W2otrVup!qu?`r!!!&t!!)uu +!!2ut!<)ru!W2otrVup!qu?`r!!!&t!!)uu!!2ut!<)ru!W2otrVup!qu?`r!!!&t!!)uu!!2ut +!<)ru!W2otrVup!qu?`r!!!&t!!)uu!!2ut!<)ru!W2otrVup!qu?`r!!!&t!!)uu!!2ut!<)ru +!W2otrVup!qu?`r!!!&t!!)uu!!2ut+92*9J,f"&s82lss6tO<quHcspj`>A!<<)o5QCW]s8VR1 +s7cSDs6p~> +Q +q[1 0 0 1 0 0]concat +51 62 true[1 0 0 1 -1807 -1366]@X +imagemask +!!!#uz!!3*"z"9/?$!!!!$s*t(L!!!9(J,fQL!!iOSz#QK;S!!!!(s1eU7!!!Q0^]4?7!"]+Fz&+@:6 +!!!!0cend'!!"+ehuE`W!$BPFz+4&jF!!!!@a7''/!!#6=n,NFg!'c8.z5DS_.!!!!`KD5EH!!%KN +p](9o!.P+GzIfoHG!!!"K!W2ot!!*!!qu?]s!<*#szrW2os!!!#u!<)ru!!2utrVuou!W2rs!!!!" +quH]r!!!&t!.OtK!!DurIfKHK"8DkG!!!!$p],dD!!!,r!'bu6!!hun5C`_6#Oh^XJ,fQSn,P\' +!!!8n!$AuV!"[uf+2@jV&)[F0^]4?FhuFk7!!!Pf!"[uf!$AuV&)[Ef+2@jehuEa!^]4o'!!"+V +!!hun!'bu6#Oh]n5C`_=n,NGQJ,fiD!!#66!!Dur!.OtK"8DirIfKHNp](;D!!!,r!!%KK!!2ut +&-),!5QAM@s7cSDs55"!p],gDi#i!o!.Y%,+92*9J,eF;s6p"Qs1e~> +Q +q[1 0 0 1 0 0]concat +52 62 true[1 0 0 1 -1858 -1366]@X +imagemask +!!2Qh*WQ0?"8Dj\!!!!(p],eo!!!9!!.TM!!!iE%It.M!#Q+T%J,fQSquHc4!!!9%!<9h7!"]&/ +s1eU7&&&)=^]4?F^&duD!!!PD!VaA0!"ZdEpV6b/&&//>huE`f^B=5g!!"+5"6\SB!$@g8kMQ=? ++.n2GhuEa!+,An7!!")_LZ@:m!$;`,_r(Lp*tO.En,NGQ&')TW!!#4ocbo5P!'_"?_sdX+56oMc +n,NGP#L@tj!!#1fmt's.!'UYfJbT3FIKTV$p](;C"9/Ds!!%HMrrMlp!.G%M!;HNoHia6Ip](;A +!WE)o!!%BIrW)ir!.4eG!;lfsquD*Equ?`p!!!#s!!)os!!)os!;lfs!.4bHp](9oHiO0A!!!"H +!!)co!!%HJ!VcWp!.FnKp](9oIK0ED!!!"J!!2ip!!#1_!VcWp!'UA`n,NFg4obWQ!!!!`!!D]j +!!#4`"7Q9j!'^Gcn,NFg56(fT!!!!`!!D]j!!")@+9-ik#QN^Hs1eUFs6r8Q^]4oFn3?rg!"],! +5QAM!&-),@s*t(Ss53~> +Q +q[1 0 0 1 0 0]concat +50 61 true[1 0 0 1 -1911 -1367]@X +imagemask +#QOQ!J,b$0s82lss1f0FquHcs^^pJC!<<)7&-)P-s8Tk>s7cSDs*t)6^]4o7!!"+V!"[uf!$C,! ++5d,!&)[F0^]4?Fn,P\g!!!8n!'bu6!!i9!It.M!"8DkG!!!!$p]1<o!!!&t!<)ru!!2uuqu?]s +!<*#szrWDoq!!!"K"8Dir!!%KRn,NFg!'c8.z5EF_&!!!!@cend'!!"+u^]4?7!"]+Fz&-%.[!!!!( +s*t(L!!!9(z!!E6$z"9&9#!!!!"rVuou!!!&tz!!2utz"9&9#!!!!(rVuou!!!9(z!"])0z&-%.[ +!!!!@s*t(L!!"+u^]4?7!'fAVz5EF_&!!!"KO5L!<!!%KRn,NFg!<3;nzrWDoq!!!'!"8Dir!!2uu +qu?]s"8i2t!!!!$p]19n!!!9!!<)ru!"\Q!rr<$!&+BRK!!!!@huJ7W!!E9!"989!#QOc.s8E!' +s8E9'rW!3'rWiK&!!iQ'#QOc'"989$s82i~> +Q +q[1 0 0 1 0 0]concat +51 61 true[1 0 0 1 -1964 -1367]@X +imagemask +!!#7`n,NFg!'gMYzJ,f9D!!!"Ks7cQo!!#7`p](9o!'gMQz!<)ruzrVuou!!!#uz!!)uuz!<)ruz +rVuou!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou!!!#u +z!!3'!z!WN-"!!!!$rr<$!!!!-$J,fQL!!iOSz#QMR>!!!!0s1eU7!!!Pu^]4?7!$BPFz+33:>!!!!` +a7''/!!#6=n,NFg!.TXrzIfoHG!!!$!!W2ot!!*!!qu?]s!WE)u!!!!"rW)ot!!!-!!<3$!!!E-! +IfKHK"8DkGJ,fQSp]*O/!!!8n!'e7!!"\Q!+2@jV&)[F0huEa!huF;G!!"+V!"\Q!!'e7!&+BQ! +5C`_=p](;DJ,fiL!"],!!'gM!+92*9J,eFKs7cSDs55"!p],gDi#i!o!.Y%,&-),!5QAM~> +Q +q[1 0 0 1 0 0]concat +49 61 true[1 0 0 1 -2015 -1367]@X +imagemask +!WW3"s8N'$s8W-!s*t4Os8W-!J-5iOs8W+L"98E$s8RTOs8W-!s*t.L!!!!`J-#ZM!!#66!<3$! +!'bu6It.M!5C```^]4@!J,hgL!!#66!$C,!!'bu6&+BQ!5C`_En,NGQJ,fiL!!#66!!E-!!$;1@ +"8i-!!!!!"rVuou!!!$!z!!*$!z!.TM!z5JR7!!!!!`^]4?7!!",!z!"\Q!z&+BQ!!!!!(p](9o +!!!-!z!!E3#z!WE'!zrr<$!!!!$!J,fQL!!%M!z!'e7!z5MuMA!!!!@huE`W!!!Q!z!"\i)z#P\9! +!!!!$qu?]s!!!-#z!!3'!z!<3$!zs*t(L?iU1VJ,fTE!!#7!!!2ut!'fBA!W2ot+5d,"qu?^-n,NLe +!!!9!!!2ut!!i9!!W2ot"8i-"qu?]trVuus!!!'!!!3-"s8W*!!WW3"s8N'"s8W-!rr<*"s8W-! +!!3-"s8W*!!<<*!s8Du~> +Q +q[1 0 0 1 0 0]concat +53 45 true[1 0 0 1 -704 -1246]@X +imagemask +!!#7Qz!WW0"5O\XXs8Tq8p](j)s7?9c!$D7@s8Vio5QCc`s7cSDn-B!nn,WK=!<;Ng!<3$!5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf!VcWp&)[Eip](:)huEfQ!!!Pf!!2ut!"[uf!W2ot&)[EgrVup/ +huEcW!!!Pf!!*&7!"[uf!.XbD&)[Ef5Q:]ohuEa!s83Dc!!!9(s8V!W!!3-"s53kW!.Y%KhuE`W +&-)[fzs8V!Wzs53kW!!!!0huE`W!!!Pfz!"[ufz&)[Ef*rl9_huEaAJ,g\,!!%M!!'e7!!.VcaIt.M! +J%u*bJ,fS!^^pGF!!%NKs8Duu!'gM`qu?]s5QCcY!!!!@s8V!W!!!9(s*t(L!!*&o!!!!~> +Q +q[1 0 0 1 0 0]concat +50 62 true[1 0 0 1 -757 -1246]@X +imagemask +!!!"KJ,fQL%fu_"!!!!@L]@8P!!"+%s8N'!!$D7@s*t(L+92B@^]4?Vs1nZm!!",@!$C\1!$D+= +&,6,)+8>g@qu?^=p](Eo!!",1!!3'!!$C,!!<)ru+5d,!rr<$@huEb,!!"+V!!%M!!$AuV!'bu6 ++2@jV5C`_U^]4@!J,g\,!!"*k!$AuV!$AuV+2@jV+2@ju^]4?V^]5Il!!"+V!$AuV!$AuV+2@jV +++O>5^]4@!J,g\,!!#66!$AuV!'bu6+2@jVIt.M@^]4@a!!"+V!!%KK!$C,!!<3$!+5d,"rVup? +n,NLg!!",9!!E-!!$D+=#P\9!+9)<_p](:9s1j-R!!",@s8V!W!$D7@s1eU7+4'ueJ,fQka8c,= +!!"+Ws7cQo!$B!@^]4?7+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!!"+Vz+90+V!!!!@s1eU7!!#7`^]4?7!'gL6z5Q?66!!!!@rr<$!!!!~> +Q +q[1 0 0 1 0 0]concat +39 45 true[1 0 0 1 -818 -1246]@X +imagemask +!!%N,!!!-$qu?^-s8N'!5QCc!!.Y%KhuNfWs6p'hi#h^rrr<<%#Q+Q(r"&Q&!WEW!!!*!?huEcV +5JR7!IQtUJ!.I._!!!jcJ,fQLIfKHK!.OtK!!%KK!!!#uzrVuou!<)ru!!)uu!!!#uzrVuou!<)ru +!!%KK!!!"KzIfKHK!.TM!!!#66!!!!`^]4?7+2@jV!$C,!!:UNg!!E!,p](Eo#Q+Q(qucs!#Q+W& +i!9/[s8W,s!.Y%KquAt]s7cR)s8VQg"98D:!!%N,!!~> +Q +q[1 0 0 1 0 0]concat +52 62 true[1 0 0 1 -862 -1246]@X +imagemask +!!!Q!z!.XtMs53kXs8RlSn,NRjs2Y0/!"],0kPt#O+92B8s6p"Qp^dE)huH"""97ij!.Vcbs6p!g +rr<'!n,NIg!!%N<!!3'!!'frQ!W2ot5O\XTqu?^=n,NRc!!",1!!Dur!"\Q!#Oh]n&+BQ(n,NG! +n,N^_!!!8n!!hun!!hun#Oh]n#Oh]uhuE`^n,N^O!!!8n!!hE^!!hun#Oh]n#Oh]un,NFnn,N^_ +!!!8n!!hun!!hun#Oh]n#Oh]qp](:)n,NRc!!!Q!!!E-!!"\Q!!W2ot+7K72rVup?n,NIg!!#7Q +!!*%L!.XJ<!.Vcas6p!g5O\^Rn,NG1r!38k!!!Q0s8VQg!!iQ(p[A._"98Dan,NFgs8U./!!!!` +rs/#n!!!9!#Oh]n!!!!(n,NFg!!!8nz!!hunz#Oh]n!!!!(n,NFg!!!8nz!!hunz#Oh]n!!!!(n,NFg +!!!8nz!!hun!!!!(s6p!g!!!9(n,NFg!"],!z&-(Pf!!!!0s53kW!!!9(^]4~> +Q +q[1 0 0 1 0 0]concat +47 45 true[1 0 0 1 -915 -1246]@X +imagemask +!!!"K^]4?7#QO]%!!",@rr<$!J,fP!!!*'!s53kZs8W,g!!iP>5PP3hrW!K(!$Ct9"8i-@n,NLg +!'fBA!WE(K^]4B6!.TM!!.FqJ!!!"J!<3$!!&suXz!WE'!!!!&tz!W2ot!!!&tz!WW3"s83!!s8W,u +"98E$s8E-#s8W,u!WW3"s8E'!s8W,u!W2ot!<*#s!!!#u!W2ot!<)ut!!!#u!<)ru!W2rt!!!&t +!.OtK!W2qIJ,f]H!'e7!#P\9`huF#O!$C\1&+BQ0quAt>!!iN(s53kZs8W,7!!3-"s*t(Ls8W&u +!!#7`qu?]s&-),!!!!'"J,f~> +Q +q[1 0 0 1 0 0]concat +45 62 true[1 0 0 1 -968 -1247]@X +imagemask +"98E$rW!3's8W*!#QOi(rr<<(s8W*!#QOi(rr<0$s8W&u!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV +!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV +!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+V!!!-$s8W+L"98E$ +s1em>s8W,7#QOi(s1ea:s8W,7!WW3"s*t(L+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz +&)[Q*!!!Pf#N,R^&+C,!!!!9!&+BQ!#Q>8/!!!-$s7cQo!WW2h!!!$!s6p!g!'gMA!!!!@s1eU7 +!!3'!~> +Q +q[1 0 0 1 0 0]concat +52 67 true[1 0 0 1 -1020 -1224]@X +imagemask +!!!9(J,fQL!.Y%H!!!!$s8W*!!!!Q0s8Tk7!'gM`s6p!gJ,fQKp](<op],gC!!3+M!!iK'"9&9# +!WN-)p](9oIt.dn!!!!`J.LQ<!!"+V&&8/F!"ZjU^]4?7&&8^k!!!!(^^n3\!!!PF&&8/F!"ZjU +^]4?7&&8_6!!!!@^^'?/!!"*k#P\9!!.TM$qu?]trr<0$!!",@!!3-"s8W&u!<<*!s82isJ,fQK +n,NGQs8W,W!!",@s8N'!!'gM`n,NFg5C`_6!!!!`z!!%HJz!.FnJzIK0?J!!!"Jz!!%HYn,NFg!.OtI +zJ,fP!!!!!`s8V!W!!#7`s6p!g!'gM`p](9o+8?rU!!!!`i!9/[!!#7!!WE'!!.TM"rVuouIfKKK +!!!$!!!%KK!!)uu!.OtK!<)ruIfKHKrVup_J,fTK!!#66!!)uu!'bu6!<)ru5C`_6rVuqJ!!!#u +!!%KK!!*$!!.OtK!.OtKrr<$!It.S!!!!!`^]XQ@^]6UW#Q,+j!$CtXs,ZXL&-)\0s6p!ns8W-! +n,NRjs8W,W!!3-"TE!gL!.XtQs1eU7&+BT!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -1073 -1247]@X +imagemask ++92@ns8V"!s8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1huF#O!!",!!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jV+918K^]4?Vs8W,7!!"+us8RTL!$BPerr<$!+2e-X!!!!@_>j91 +!!"+V5MuMA!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz+90+V!!!!`s1eU7!!#7`J,fQL!'gL6z+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +38 61 true[1 0 0 1 -1134 -1247]@X +imagemask +5QCc`pj`>Ds87BHs8W"Hs8W,sJ,fQKr'15]s7cQoIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK!!%KK +!!!"KzIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK +!!%KK!!!"KzIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK!!%KK!$D7@!!#7`rr<$`s8N'!5QC``!'gM_ +!!",@rVuouzzzzzzzzzz!-eJD!!2ut!!!-#!!!!$rr<$!"9/?$!!E6$!!!-$!!!!$rVuou!W2ot +!!%6D!!~> +Q +q[1 0 0 1 0 0]concat +38 84 true[1 0 0 1 -1178 -1224]@X +imagemask +!!iN(!!#7`n,NIgs7cQps8W&u!WW3"!!E9$s*t4N!<9h:rW#1@"9&9BhuilW&+BVt!!hunp](Qg +!!!!$p](9o"8Dir!!Dur!!!&p!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t +!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t +!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t +!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t +!!3-"qu?j!s82j!s8Vus"98E!!!E9$p](?ps6p!gzzzzzzzzzz!!D-Z!!!8n!!!!0p](9o&,6,) +!"\u-!!!Q-!!!!0p](9o&,6,)!!hun!!!,Z~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -1231 -1247]@X +imagemask +&-)Z[J,d;+s8Tn7s55"!s1n[7n/q]1_#OH(+92AVs8V!fs8RV!s1eUF^]4W/!!!PF!"[uf!"ZjF ++5d,!&&8/e^]4?F^]6TL!!!PF!.OtK!"ZjFrVuou&&82E!!!!0^]F?5!!!Pf"8Dir!"\Q(n,NFg +&,6D!!!!!0r"%]c!!!Q/+2@jV!"])oJ,fQL&-'Cp!!!!0s8N'!!!!PerVuou!"[ERz&&\;F!!!!0 +_>XE7!!!PFrr<$!!"ZkpJ,fQL&&:EF!!!!0^`VJ7!!!PF&+BQ!!"ZjMp](9o&&8;F!!!!0^]FE7 +!!!PF!<3$!!"ZjFIt.M!&&9:err<$0^d%l!J,g+q5QCb6!"Zk0s8RTL&&:F0s*t([^`WUV!!!PFz +!"ZjFz&&8/F!!!!0^]4?7!!!PFz!"ZjFz&&8/F!!!!0^]4?7!!!PFz!"ZjFz&&8/F!!!!0^]4?7 +!"]+Fz+90+V!!!!@s1eU7!!",@J,fQL!$D5kz&,uV0!!!!~> +Q +q[1 0 0 1 0 0]concat +47 61 true[1 0 0 1 -1284 -1247]@X +imagemask +!<<*!s82ots8W,u!WW3"s8E'!s8W,u!WW3"s8E#us8W,s!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru +!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru +!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru +!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru!!!#uz!<)ru +!!!#u!!!$!s8Duu!WW3!!!!'"s8Duu!WW2t!!!'"s82is!<<)o!!!~> +Q +q[1 0 0 1 0 0]concat +52 44 true[1 0 0 1 -1337 -1247]@X +imagemask +5Q:ug_uJYEs,[3Cs6tO<huDm>n:1Jqs6'FOJ,bT0kPt$9rs/SAs54"K!;HPC!!D]jp],aC"7Q<c +!.FnMn,W4`IK0K>!;HPC!!D]jp],aC"7Q<c!.FnMn,W4`IK0K>!;HPC!!D]jp],aC"7Q<c!.FnM +n,W4`IK0K>!;HPC!!D]jp],aC"7Q<c!.FnMn,W4`IK0K>!;HPC!!D]jp],aC"7Q<c!.FnMn,W4` +IK0K>!;HPC!!D]jp],aC"7Q<g!.FnMn,W@dIK0KF!;lhG!!DurquD0G"8Dlq!.FnMquQcsIK0KJ +!WN.I!!E3$s+("I"9/E%_#+0ss24lqquD6Hs8W,o!.Y%KkPt;WJ,fQ/s6p#<j8Zsqn,P]3s+(.- +!!!"J!$?^k~> +Q +q[1 0 0 1 0 0]concat +52 44 true[1 0 0 1 -1389 -1247]@X +imagemask ++92@ns8V"!s8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1huF#O!!",!!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jus8V#,^]5JVs8W,7!'gM@s8RTL5Q?fErr<$`s+C@N!!",@!WVopz +5MuMA~> +Q +q[1 0 0 1 0 0]concat +48 45 true[1 0 0 1 -1442 -1246]@X +imagemask +!!!'!z&-'EF!!#7`n,NFgs8Vus!!3-"rVup#s8W*!!!iN+s*t([quD5^!$C\15MuN+huFkg!'e7! +&+BRKJ,fiL!.OtK"8Dlr!!!-!!<)ru!W2rs!!!'!!WE'!!<*#s!!!#u!W2ot!<*#s!!!#u!W2ot +!<*#s!!!"K!W2ot!.P%I!!!"J!W2ot!.FtH!!!#u!W2ot!<*#s!!!#u!W2ot!<)ut!!!#s!<)ru +!W2rt!!!&t!.OtK"8DkGJ,fiL!'e7!#Oh^XhuF;W!$C\15MuMPp],fZ!!iN+s*t(Os8W*!!!3-" +rVuous8Vus!!#7`n,NFg&-'EF!!!'!!!!~> +Q +q[1 0 0 1 0 0]concat +50 66 true[1 0 0 1 -1494 -1225]@X +imagemask ++92@k!!!!@s8Tk7!!#7`s1eU7!'gM`^]4?75QCc!!!!!@s8RTL!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz ++2EAV!!!!@_>j!)!!"+]s82is!$BPerr<$!+92B@J,fQks8W,7!!",@_#N<m!$D4@+7K71+8c*L +p](:9p](Qs!!",9!!E-!!$C\1!WE'!+5d,!rVup?huEcW!!",!!!%KK!$AuV!.TM!+2@jV5C`_U +^]4@!J,g\,!!#66!$AuV!$?^k+2@jV+2@ju^]4?V^]5Il!!"+V!$AuV!$AuV+2@jV+2@ju^]4?V +J,g\,!!#66!$AuV!'bu6+2@jV5C`_U^]4@aJ,g\,!!%KK!$AuV!.OtK+5d,!rr<$@huEfW!!",1 +!!3'!!$Ct9"8i-!+8c*Dp](:9rr=/9!$D7@^jkhR+92B@s53lAs8W-!^]6V!O8o61!'gL=s8Duu ++9)BAp](9o!!#7!!!!~> +Q +q[1 0 0 1 0 0]concat +54 66 true[1 0 0 1 -1546 -1225]@X +imagemask +!!!!"s8Vio!!!-$s82is!!E9$qu?]s"98E!!!!!$s8Vus!!!'"s7cQo!!!&tz!!2utz!W2ot!!!!" +qu?]s!!!&tz!!2utz!W2ot!!!!"qu?]s!!!&tz!!2utz!W2ot!!!!"qu?]s!!!&tz!!2utz!W2ot +!!iE&qu?]s5Q:c^!!!$!s2"U5!!E9$nb`@e#QOi"qu?^-s8W&q!!",=#QO]%!'frRs82isJ%u&6 +qu?_HJ,hh3!!*$!!$D+=!<)ru&,ZD.rVup/qu?cq!!!9%!!E-!!!iE%"8Dir"8i-$p](9rqu?uk +!!!-!!!hun!!2ut#Oh]n!W2p&n,NFhqu?uk!!!&t!!hun!!2ut#Oh]n!W2p&n,NFhqu?uk!!!&t +!!hun!!2ut"8Dir"8i-$p](9rqu?io!!!-!!!E-!!!E-!!W2ot#Q+Q&rVup'qu?`s!!!Q-!!*%L +!$D+=!.Vca5PtK]5MuNkqu?^]p]1?l!!",?"989!!"],0rVQWq"98Dsqu?]ts8VWe!!!"Ks5EkU +!!",@JbT3F!!E-!n,N~> +Q +q[1 0 0 1 0 0]concat +49 44 true[1 0 0 1 -1598 -1247]@X +imagemask +#QOi(p](:)s8W,s!!!Q0s8Vus!"],0s82is&-)\0qu?^%s8W,ozrVuou!!!#uz!!)uuz!<)ruzrVuou +!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou!!!$!z +!!*$!z!<3$!zrr<$!!!!$!J,fQL!!*%Lz!<9h7zs53kW!!!$!huE`W!!*&gz!<;fo%KHJ/s82j] +!!!$!rr>96!!*#u^jgk>s8INCIt/(0r]gG_J.M\Z+92@k&-)V6s8RT[s8E-#rr<<(quHcrz!"\Q!~> +Q +q[1 0 0 1 0 0]concat +39 45 true[1 0 0 1 -1658 -1246]@X +imagemask +GQ[u]!.5mgquHYEs8N*!s8W,7s8W-!i;`iWs7$'f!.XeDp](j"s53kZr;XP4!W;tJ!!)rsJ,fTK +rr<$!IfBBJ!.OnI!!*#t!!!#urVup!r-SJE"8i-!!"\i)!!%ND!!!Q0n,NRjs53lAs8Tk8s8W*! +#QOi%!"],0huFl!qu?^]s*t(LJ+*F<!.TM!!!*$!!!D0Y!!!8^qu?^%nGE7d#Oq]m!!i#m!!!Q! +IfKHZn:/4R5O^o4!<;O1s8W,g&-)\0n-B!ns6p-js8VQgJ,f,u!!iOThu~> +Q +q[1 0 0 1 0 0]concat +46 56 true[1 0 0 1 -1703 -1246]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQIt/(!!!%KK#P\9!IfKTG +!!)uu"8DirrVuus!!)uu!W2otrVuus!!)uu!W2otrVuus!!)uu!;HNorVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou#QOi(s1f0Fs8W,W&-)\0s54Ffs8W,W&-)\0s54.^s8W,7!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!%HJzHiO-H~> +Q +q[1 0 0 1 0 0]concat +52 44 true[1 0 0 1 -1755 -1246]@X +imagemask +!!!Q)z!.Y"Ns53kXs8U.>n,NRjs7cQ_!!iQ(s8VQg&-)\0s6p"!p]pj!huFkW!<;Ng!$AuVJ+*F< ++2@k@n,NG1^]5JG!!"+V!"\Q!!$AuV&+BQ!+2@jen,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1 +^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/ +!!"+V!!hun!$AuV#Oh]n+2@j]n,OR1^^'o/!$D6V#QO8n5QAM0s6p"Qs*tX[huH"AJ-Z,4!$D4@ +#QMR>~> +Q +q[1 0 0 1 0 0]concat +51 43 true[1 0 0 1 -1807 -1247]@X +imagemask +!!!#sz!!3'!z"9/?$!!!!$rr<$!!!!9(J,fQL!!iOSz#Od0C!!!!0cbKM\!!!PU^]4?7!"[,cz+,AbS +!!!!@LYr.4!!"*nn,NFg!'^STz56LBT!!!!`!VcWp!!%HKp](9o!.FtDzIK99G!!!#s!;lfs!!)os +qu?]s!;HPC!!!!"p],aC!!!&p!.FnJ!!2Qh56(Z`"7Q:T!!!!$n,PZQ!!!,Z!$?^k!!hE^++O=k +#N,S(J,fQS^]4n\!!!PF!"ZjF!"ZjF&&8/F%tFWbhuEa!J,fi4!!"*k!!hE^!$;1@"7Q9qs82ls +s1f0FrW3'!^`WUU!WW2X+92<@s8V!fs8E'!s1em>quHcs^]~> +Q +q[1 0 0 1 0 0]concat +52 43 true[1 0 0 1 -1859 -1247]@X +imagemask +!!2ipIK0?J"8i0!!!!!$rW)ru!!!-#!WN-"!!E6%s*t(L#QFi)J,fQSrr`:O!!!8]KE$H%!!hD6 +s*t(L#N(1&^]4?FhhU[9!!!PUa615<!"[DrkJ.&t&!,&W^]4?FLX4#V!!!Obn&O>d!$@!bLYr.4 ++,B<;huEa!KE$S^!!")Cs+B50!$;=C"7Q9j56:cdn,NGQ!WN8k!!#4arW2Kg!'^J_!Up'h4ofs2 +n,NGP!!!&p!!%HJ!!2ip!.FnJ!VcWpIK0?Jp](;A!!!#o!!%BH!!)os!;lfs!;lfsqu?]squ?`p +!!!#s!!)os!!%BH!;HNo!.4bWs7cSDs1f`VquHcsi#i!s!<<)g+926=s8VR1s82lss54Ffp],gD^]~> +Q +q[1 0 0 1 0 0]concat +50 43 true[1 0 0 1 -1912 -1247]@X +imagemask +#QO]%s8RT[s8E'!s1f0FrW3'!^^pJE!WW28&-)V0s8Tk>s82lss*t([huFk7!!!8^!$?^k!!D]j +56(Z`"8DkG!!!!"p]19n!!!#s!;lfs!!%HKp](9o!.G%>z56LBT!!!!@LYr.4!!!PU^]4?7!!hD3z +#QFc(!!!!$rr<$!!!!'!z!!)osz!;lfs!!!!"rVuou!!!-#z!!iN(z#QK;S!!!!0hnT3l!!"+e^]4?7 +!'c7szIg>HC!!!"J"8Dir!!*!!qu?]s!W2rq!!!!$p]19n!!!,j!.OtK!!hun5C`_9s8E'!rr<<( +rr`<$J.M\[#QOgS&-)Y7s8RTSs8N3$s*t4OrW3'!!!~> +Q +q[1 0 0 1 0 0]concat +51 66 true[1 0 0 1 -1964 -1224]@X +imagemask +!$?^kzJ)C;,!!!$!p](9o!!3,tz"98?#!!!!$s8N'!!!!9%rr<$!!!iEdJ,fQL#Q,[Z!!!!(r"$RC +!!!,r#N,R^!!E!$huE`W!8mtKz!!D]jz!Up'h!!!!"p](9o!!!&pz!!)coz!;lfszqu?]s!!!"Hz +!!%HJz!.FnJzIK0?J!!!"Kz!!*$!z!<7QL!!!!"s*t(L!!!'"J,fQL!!3,8z"96.:!!!!$pV6b/ +!!!8ehuE`W!!h]Fz#Nt"F!!!!0_sdX+!!!PIn,NFg!"X_Oz++a1e!!!!@JbT3F!!#4ap](9o!'^J]z +4okK\!!!"J!;lfs!!%HJIK0?J!;lhGzquD0G!!!#s!'^G`!!2ip56(Z`!VcXZ!!!!$n,OP\!!!,j +!$?^k!!D]j++O=k#N,Rm^]4?>huF;'!!!PF!"ZjF!"ZjF#N,R^&&8/MhuEa!J,fi4!!"*k!!D]j +#QO]%s8TkFs8E'!s1f0FrW3'!i",ke!WW2X&-)V0s8Tk>s82lss1e~> +Q +q[1 0 0 1 0 0]concat +48 43 true[1 0 0 1 -2016 -1247]@X +imagemask +"98E$s8E9's8W-!&-)\0s8NW0s8W-!&-)\0s8N?(s8W-!"9&9#!.P%L!!!"K!<7QL!.Ouu^]4@a +!'fBA!.Otjn,NGQ!"\i)!'^GgrVup>!!E6$!!!!"s*t(L!!*&7zJ)C;,!!#7Qz+8>g9!!!Q-z#Q=]' +!!!-$z!WRZM!!!$!^]4?7!.Wo,!!!!@n,NFg!"\i)!!!!(qu?]s!!E3#!T3qYrr</j!!*%L"8Dir +J%u0]!!#7Q"8Dir+8>s5!!!Q-"8Dir#Q=i*s8W,u"98E$s8N3$s8W-!"98E$s8N3$s8W-!!WW3" +s8D~> +Q +q[1 0 0 1 0 0]concat +47 77 true[1 0 0 1 -66 -1121]@X +imagemask +z!#tt=!!!!_z!.FnJ!!!"Jz!<)ru!!!#uz!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz ++2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKzrVuou!!)uuzqu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg +!!hun!!!!(huE`W!"[uf!!!!0^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#uz +!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz+2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKz +rVuou!!)uu!!!!"qu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg!!hun!!!!(huE`W!"[uf!!!!0 +^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#sz!W2ot!!!&pz!VcWp!!!&hz +!8mhW!!!~> +Q +q[1 0 0 1 0 0]concat +54 44 true[1 0 0 1 -118 -1129]@X +imagemask +5Q:ug_>j"Ss,[3?s7h*DTE"Zcr."a=s7cQkJ,bT0j8\m=rs/S?s6p-[!;lg]!!D]jquAq]"7Q<g +!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gc +n,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d +56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcp]19n56(f\!<)s_!!DurrW#._"8i0!!'^GcquH`s56(fb +!<7R6!!E6%s1j'`"96:=nGWDPs8W-!rW%HJs7cQm!.Y%KoDe^gJ+s!'s82kHj8Zppp]*Ops+#Ug +!!!!_!"ZjF~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -171 -1129]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -224 -1129]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -277 -1129]@X +imagemask +&-)Z^s8V"As8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+5d,(n,NG1huF#O!!",1!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jV+918K^]4?Vs8W+L!!"+us8RTL!$BPerr<$!+2e-X!!!!@_#O00 +!!"+V+5d,!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +38 61 true[1 0 0 1 -337 -1129]@X +imagemask +5QCc`pj`>Ds87BHs8W"Hs8W,sJ,fQKr'15]s7cQoIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK!!%KK +!!!"KzIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK +!!%KK!!!"KzIfKHK!.OtK!!%KK!!!"KzIfKHK!.OtK!!%KK!$D7@!!#7`rr<$`s8N'!5QC``!'gM_ +!!",@rVuouzzzzzzzzzz!-eJD!!2ut!!!'!!!!!$rr<$!"9/?$!!E6$!!!-$!!!!"rVuou!W2ot +!!%6D!!~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -382 -1129]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[4.8 0 0 -240 640.28 1212.48]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +65 71 true[1 0 0 1 -709 -1129]@X +imagemask +5QCW]!<<*!J3X)3!!*'!s+!?6qu?`ss8RTMs1eU7"96.:!.TM!!!*%L!!")@!!!"KJ,fQ[zIt.M! +#64`(!.TM!!!e#S!!%M!!!!+O!!!$!J,fQM^]4?7s*t(L!Pe[8!<7QL!!(pW!!*$!!!!#W!!!$!z +Du]k<rr<$!!&srY!<3$!!!"tY!!*$!!!!!=!!!$!z)uos=rr<$!!"Ju/!<3$!!!!K/!!*$!!!!!( +!!!$!z"+U@Orr<$!!!E9$s8N'!!!!'"s8W*!!!!!"s8W-!z!8mhXrVuou!!(pW!WE'!!!!"<!!3'!z +2uj!Yz!&srZrVuou!!!u=!WE'!!!!!=!!3'!z%KHP/z!"Ju0rVuou!!!6(!WE'!!!!!$J-#WLz"+UFO +z!!0k9rVuou!!!&8"9&9#zhuirYz!8mtWz!!$s?qu?]s!!!!Y"8i-!z3!9'Yz!#u+=z!!!u@qu?]s +!!!!/"8i-!z%KlV/z!!`W(z!!!+Rqu?]s!!!!$KDY]Lz!Q4g8z!!1.<z!!!#^qu?]szkP,#Wz!-e2<z +!!#7Yz!!!!`p](9oz+8>g9z!$Ct9z!!!Q)z!!!!0p](9oz#P\9!z!!Durz!!!,rz!!!!"p](9oz +!VcWpz!!)coz!!!#ozzDu]k~> +Q +q[1 0 0 1 0 0]concat +69 68 true[1 0 0 1 -783 -1129]@X +imagemask ++92B@s53kW!'gM`s8W&u!!",@s8W-!J,fQL+7K71s53kW!"\Q!!$Ct9!!!8n!!!9%!!!!(p](9r +rVuou#P\9!!WN-"!!Dur!!*%L!!!,r!!!"K^]4?:qu?]s5MuMA"8i-!!$C\1!!2ut!!!Q)!!!&t +!!!!0p](9prVuou#Q+Q%!WE'!!!iE%!!)uu!!!9%!!!#u!!!!$rVuourr<$!"9&9#!<3$!!!E3# +!!%KK!!!-#!!!"K!!!!"rVuouIt.M!!WE'!!.TM!!!3'!!!#66!!!-#!!!!`J,fQOrVuou5JR7! +"9&9#!'e7!!!E-!!!"+V!!!-!!!!!@^]4?>p](9o+5d,!&+BQ!!$C,!!"[uf!!!Pf!!#7!!!!!0 +huEcWz&-)\0qu?]s!"],0s1eU7!!!8n!!Dur!!!!(p](;Dz#P\9!+2@jV!!i9!!"[uf!!!,r!!!9! +!!!!$qu?^!qu?]s"8i-!!WE'!!!E-!!!*$!!!!&t!!!"KJ,fQMqu?]s5JR7!!WE'!!'fBA!!3'! +!!",!!!!#u!!!!@n,NFgrVuou+7K71!<3$!!"\Q!!!*$!!!!Q)!!!"K!!!!0p](9oIfKHK&,6,) +!.TM!!"\i)!!%M!!!!Q)!!!!`J,fQ[p](9o5C`_6&,6,)!'e7!!"\Q!!!#7!!!!Q!!!!!@^]4?V +n,NFg+2@jV+5d,!!$C,!!'e7!!!",!!!%M!!!!!`n,NRj!!!!@s8W-!rVuou+92B@s7cQo!$D7@ +s8RTL~> +Q +q[1 0 0 1 0 0]concat +69 72 true[1 0 0 1 -860 -1127]@X +imagemask +!!!-$z!!!!@s6p!gzs8W&uz"9/@Nz!!iE%&&8/F!!!Q!!!D]j!!!!@^]4B0z5C`_649,?]!.OtK +!$2+?!!)uu!!!N0!!!'!!!!!(J,fQMqu?]s"2Fm:"8i-!!!2!X!!Dur!!!#g!!!9!zDu]kCn,NFg +!&srY&+BQ!!!#+]!"\Q!!!!!=!!!Q!z*WQ0Nn,NFg!"Ju/+7K71!!!N0!$C\1!!!!(!!",1z#Cldr +n,NFg!!@`O+7K71!!!+O!$C\1!!!!$^]5JGz!It.ln,NFgz+7K71z!$C\1z!!",1z!!!!@p](9oz ++8>g9z!"\i)z!!!Q)z!!!!0p](9oz&,ZD-z!!iE%z!!!9%z!!!!(rVuouz#Q=]'z!!E3#z!!!-$z +!!!!"rr<$!z!WN-"!!!!=!!*%Lz*WQ3?J,fQL!"Ju/J%u$a!!!K/!.Vca!!!!/!!#7Az%fcSohuE`W +!"T&0+7K71!!!N0!"\Q!!!!!0!!!9!z%tFWbp](9o!"XS["8i-!!!"*k!!3'!!!!!@J,fTLz+2@jV +It.M!!$AuV!'e7!!!#7!!!",!!!!!`^]4?Fn,NFg5MuMA#P\9!!.Wo,!!E-!!!*&W!!!$!!!!#^ +huE`WIt.M"kO8HO!$C,!"2jU.!!!Q-!"XYM!!!!$s+!<6n,NFg!.Y%H!-eJD!!",@n,PEJ!!!!" +s*t(d~> +Q +q[1 0 0 1 0 0]concat +73 68 true[1 0 0 1 -923 -1129]@X +imagemask +5QCc`rr<$!!!#7`s8W,gz+92B@s8Duu!!!!@n,NRjJ,fQL!"\Q!!'fBA!!!!(p](:)n,NFg!!i9! +!!E-!!!!!(p](9orVuou!!i9!!!%KK!!!!$qu?]s5C`_6!!E-!!!",!!!!!$qu?]s&+BQ!!!E-! +!!!9!!!!!"rVuou"8Dir!!3'!!!!&t!!!!"rVuou!<)ru!!3'!!!!$!zrr<$!!.TM!!!*$!!!!"K +J,fQLrr<$!!'e7!!!*$!!!!!`huE`WIt.M!!$C,!!!%M!!!!!@n,NFgIt.M!!"\Q!!!%M!!!!!0 +p](9o5JR7!!"\i)!!#7!!!!!(qu?]s5JR7!!!iE%!!#7!!!!!$qu?]s+5d,!!!E3#!!",!!!!!$ +rVuou+5d,!!!E3#!!",!!!!!"rr<$!&+BQ!!!3*"!!!Q!!!!!"rr<$!&+BQ!!!3*"!!!Q!zs*t(L +#P\9!!!*%L!!!9!zs*t(L#P\9!!!*%L!!!9!zs*t(L"8Dir!!*%L!!!-!zIt.M!"8i-!!!%M!!!!-!z +It.M!!W2ot!!%M!!!!'!zIt.M!!WE'!!!%M!!!!'!zIt.M!!<)ru!!%M!!!!$!zIt.M!!<3$!!!%KK +!!!$!zrr<$!!.OtK!!*$!!!!"KJ,fQLrVuou!.TM!!!)uu!!!"KJ,fQMrVuou!'bu6!!2ut!!!!` +^]4?:p](9o!'e7!!!i9!!!!!`^]4?>n,NFg!$AuV!"[uf!!!!@huEaA^]4?7!$C,!!<7QL!!!!` +n,N^nz+92B@s82is!!",@s8W,gz+92B@s*t(L~> +Q +q[1 0 0 1 0 0]concat +70 68 true[1 0 0 1 -999 -1129]@X +imagemask +5QCc`s8Vus!'gM`s8W,u!!",@s8W-!rr<$!5PP3Y5Q:]`!"\i)!!E6$!!!9!!!!"KJ,fQSp](9o +5C`_6#P\9!!"ZjF!!i9!!!!8>!!!-!!!!!$^]4?:qu?]s"5j.Z"8i-!!!2!X!!E-!!!!#g!!!'!z +n,NFhrVuou!,qo<!WE'!!!%6D!!3'!!!!!Y!!!$!z49,?]rr<$!!#tt=!<3$!!!!u=!!*$!!!!!/ +!!!"KJ,fQL%KHJ/It.M=!!`K(!.TM!)up3D!!%M!!#ttD!!!!`^]5DU!rr<$5JR7/z!'e7!%KHJ/ +!!#7!!"Ju/!!!!@huF8fz+5d,0z!$C,!%fcS0!!",!!$;1@!!!!0n,Rrgz&-)\0J,fQL!"],0s*t(L +!!!Q0s8RTL!!!!(p]*Ooz#P\90^]4?7!!i9!#J^<>!!!9!!!C":!!!!$qu?cUz"8i-"huE`W!!E-! +!8mhW!!!-!!!(pW!!!!"rVurf!+5d,!WE'!Dueer!!3'!!,qpW!!!'!zDu]k<rr<$!!,qo<!<3$! +!!$s<!!*$!!!!"<!!!$!zDu]k<It.M!!,qo<!.TM!!!%6D!!%M!!!!"D!!!"KJ,fQLGQ7^D5JR7! +!-eJD!'e7!!!%6D!!#7!!!!"D!!!!`^]4?7p](9o+5d,!!;HNo!$C,!!!2ut!!",!!!!9%!!!!` +n,NGQqu?^]s8W-!s82is5QCc`s8Vus!$D7@s8W,o~> +Q +q[1 0 0 1 0 0]concat +69 68 true[1 0 0 1 -1066 -1129]@X +imagemask +5QCc_z!'gM`rr<$!!!",@s8Duuz5PtK]z!"\i)z!!!9!z!!!!(p](9oz#P\9!z!!iE%z!!!-!z!!!!$ +qu?]sz"8i-!z!!E3#z!!!'!z!!!!"rVuouz!WE'!z!!3*"z!!!$!zzrr<$!z!<3$!z!!*%Lz!!!"K +J,hP/zIt.MYz!.TM!49,?]!!%Ma!#tt=!!!!`^]5>Sz5JR7=z!'e7!*WQ0?!!#7A!$2+?!!!!@huFeu +z+5d,_z!$C,!IfKHK!!",@s8N'!!!!!0s8W*!z&-)\0z!"\Q!It.M!!!!Q)!$?^k!!!!(p](PLz +#P\9(J,fQL!!i9!"2Fm:!!!9%!!C":!!!!$qu?c5z"8i-"^]4?7!!E-!!T3qX!!!-#!!(pW!!!!" +rVurV!5JR7!WE'!huUUn!!3'!!!!&8!!!'"!!!!"huE`Wrr<$!!8mhW!<3$!!!(pW!!*$!!!!#W +!!!$!zhuE`WIt.M!!8mhW!.TM!!!(pW!!%M!!!!#W!!!"KJ,fQLn,NFg5JR7!!:Tsg!'e7!!!)Kg +!!#7!!!!&h!!!!`^]4?8n,NFg+5d,!"7Q9j!$C,!!!D]j!!",!!!!Q)!!!!`n,NH<p](:Ys8W-! +s7cQo5QCc`s8Vio!$D7@s8W,g~> +Q +q[1 0 0 1 0 0]concat +69 72 true[1 0 0 1 -1136 -1127]@X +imagemask +!!!-$J,fQL!!!!@s6p!gzs8W&u0E;(Q"93m9J8bJg!!iE%#N0P$!!!Q!!!2Ta!!!!@^]4@Zp](9o +5C`_64no!W!.OtK!$Ct9!!*$!!!!Q-!!!'!!!!!(qu?]tqu?]s"8i-!"8i-!!!E-!!!Dur!!!-# +!!!9!!!!!"rVup'p](9o!WE'!&+BQ!!!3'!!"\Q!!!!'"!!!Q!zrr<$0n,NFg!<3$!+7K71!!*$! +!$C\1!!!$!J,g\\zIt.M@n,NFg!.TM!+7K71!!%Ma!$C\1!!!$!huFkg!!!'"s8N'@n,NFjs8W*! ++7K71!WW3"!$C\1z!!",1z!!!!@p](9oz+8>g9z!"\i)z!!!Q)z!!!!0p](9oz&,ZD-z!!iE%z!!!9% +z!!!!(rVuouz#Q=]'z!!E3#z!!!-#z!!!!"rr<$!z!WN-"!!!!=!!*%Lz*WQ3?J,fQL!"Ju/J%u$a +!!!K/!.Vca!!!!/!!#7Az%fcSohuE`W!"T&0+7K71!!!N0!"\Q!!!!!0!!!9!z%tFWbp](9o!"XS[ +"8i-!!!"*k!!3'!!!!!@J,fTLz+2@jVIt.M!!$AuV!'e7!!!#7!!!",!!!!!`^]4?Fn,NFg5MuMA +#P\9!!.Wo,!!E-!!!*&W!!!$!!!!#^huE`WIt.M"kO8HO!$C,!"2jU.!!!Q-!"XYM!!!!$s+!<6 +n,NFg!.Y%H!-eJD!!",@n,PEJ!!!!"s*t(d~> +Q +q[1 0 0 1 0 0]concat +81 68 true[1 0 0 1 -1205 -1129]@X +imagemask +5QCcY"98E$!!!!`s8Virs8W+L!!",@s7c]rs8N'!!!#7Y!!!-$J,fQL!"\i)!!3*"z#P\9!!<3$! +!!!!(p](9orr<$!!!!9!!!!"KJ,fQL!!iE%!!%M!z"8i-!!.TM!!!!!$qu?]sIt.M!!!!-!!!!!` +^]4?7!!E3#!!#7!z!WE'!!'e7!!!!!"rVuou5JR7!!!!'!!!!!@huE`W!!3'!!!",!z!<3$!!$C,!z +rr<$!+5d,!!!!$!!!!!0n,NFg!!*$!!!!Q!z!.TM!!"\Q!zIt.M!&+BQ!!!!"KJ,fQ[p](9o!!%M! +!!!9!z!'e7!!!i9!z5JR7!#P\9!!!!!`^]4?>qu?]s!!#7!!!!-!z!$C,!!!E-!z+5d,!"8i-!!!!!@ +huE`ZrVuou!!",!!!!'!z!"\Q!!!3'!z&-)\0s8Duu!!!!0s8W-!rr<$!!!!Q0s8W-!z!!i9!!!*$!z +#P\9!!<3$!!!!!(p](9os*t(L!!!9!!!!"KJ,fQL!!E-!!!%M!z"8i-!!.TM!!!!!$qu?]sJ%u$a +!!!-!!!!!`^]4?7!!3'!!!#7!z!WE'!!'e7!!!!!"rVuou5MuMA!!!'!!!!!@huE`W!!*$!!!",!z +!<3$!!$C,!zrr<$!+7K71!!!$!!!!!0n,NFg!!%M!!!!Q!z!.TM!!"\Q!zIt.M!&,6,)!!!"KJ,fQS +p](9o!!#7!!!!9!z!'e7!!!i9!z5JR7!#Q+Q%!!!!`^]4?:qu?]s!!",!!!!-!z!$C,!!!E-!z+7K71 +"9&9#!!!!`p](9rs*t(L!$D7@p]LQrrr<$!5QCcY"98E$J,fQks8Virs8W+L~> +Q +q[1 0 0 1 0 0]concat +46 68 true[1 0 0 1 -1279 -1129]@X +imagemask +5QCcY!!#7`s82is5QCc]!!!!`p](9o!"\i)!!!!(p](9o!!i9!!!!!(p](9o!!i9!!!!!$qu?]s +!!E-!!!!!$qu?]s!!E-!!!!!"rVuou!!3'!!!!!"rVuou!!3'!zrr<$!!!*$!zrr<$!!!*$!zIt.M! +!!%M!zIt.M!!!%M!z5JR7!!!#7!z5JR7!!!#7!z+5d,!!!",!z+5d,!!!",!z&+BQ!!!!Q!z&+BQ! +!!!Q!z#P\9!!!!9!z#P\9!!!!9!z"8i-!!!!-!z"8i-!!!!-!z!WE'!!!!'!z!WE'!!!!'!z!<3$! +!!!$!z!<3$!!!!$!z!.TM!!!!"KJ,fQL!.TM!!!!"KJ,fQL!'e7!!!!!`^]4?7!'e7!!!!!`^]4?7 +!$C,!!!!!@huE`W!$C\1!!!!`p](9o5QCcY!!#7`s82is5QCc]~> +Q +q[1 0 0 1 0 0]concat +58 70 true[1 0 0 1 -1318 -1127]@X +imagemask +!!i9!z!$D4@z!.5=8z!:U6_z!T4"Vz!Pe^7z"+UB$z"+UA9J,fQL"+UA9^]4?7#Oh^8huE`W#Q+Q4 +huE`W#Q+Q4n,NFg#Q=].n,NFg"9&9*p](9o"9/?+p](9o"9/?'qu?]s!WE'$qu?]s!<)s#qu?]s +!.4bKqu?]s!!!!"rVuou!!!!"rVuou!!!!"rVuou!!!!"rVuouzrr<$!zrr<$!zrr<$!zrr<$!z +It.M!zIt.M!zIt.M!zIt.M!z5JR7!z5JR7!z5JR7!z5JR7!z+5d,!z+5d,!z+5d,!z+5d,!z&+BQ!z +&+BQ!z&+BQ!z&+BQ!z#P\9!z#P\9!z#P\9!z#P\9!z"8i-!z"8i-!z"8i-!z"8i-!z!WE'!z!WE'!z +!WE'!z!WE'!z!<3$!z!<3$!z!<3$!z!<3$!z!.TM!z!.TM!z!.TM!z!.TM!z!'e7!z!'e7!z!'e7!z +!.XJ<!!!!"s8W,7!!!!"s8W,7!!!!"s8W,7~> +Q +q[1 0 0 1 0 0]concat +82 68 true[1 0 0 1 -1370 -1129]@X +imagemask +5QCcY!"],0^]4@!s8Vio+92B!!!",@s7cR)s8Tk7!!#7Y!!!$!qu?]s!"\i)!!#7Qz#P\9!!'fBA +!!!!(p](9o5MuMA!!!9!!!!!`huE`W!!iE%!!#7!z"8i-!!.Vca!!!!$qu?]sIt.M!!!!-!!!!$! +J,fQL!!E3#!!*%Lz!WE'!!<3$!!!!!"rVup!rr<$!!!!'!!!!'"z!!3*"!!3'!z!<3$!"9&9#zrr<$$ +qu?]s!!!$!!!!-!z!!*$!!!iE%z!.TM!#P\9!zIt.M0p](9o!!!"KJ,g,Tz!!%M!!"\Q!z!'e7! ++7K71z5O\XphuE`W!!!!`p])Doz!!#7]!'fBAz!$D1?5JR7!z+7F`0^]4?7!!!!@kJ2S_z!!"," +i.$7Wz!"\Sgs*t(Lz&+FiDz!!!!0n36jPz!!!Q!+9)<@z!!i9(rVuouz#P\E#z!!!!(p]:?oz!!!9! +!;lfsz!!E-!HiO-Hz"8i-?z!!!!$qu@6-z!!!-!!!e#Sz!!3'!"5j.Zz!WE'"n,NFg!!!!"rVuqCz +!!!'!!!#+]z!!*$!!$2+?z!<3$!%tFW[zrr<$(^]4?7!!!$!!!!&Xz!!%M!!!)Kgz!.TM!!-eJDz +It.M!4obQ_!!!"KJ,fQkz!!#7!!!!7Sz!'e7!!!C":z5JR7!!Up'h!!!!`^]4?7p](9o!!",!!!!"Jz +!$C,!!!%KKz+7K71!.Vca!!!!`p](9os7cQo!$D7@p](R!s*t(L5QCcY!!iQ(^]4?Vs8Vio"98CO~> +Q +q[1 0 0 1 0 0]concat +58 68 true[1 0 0 1 -1447 -1129]@X +imagemask +5QCc`s8Tk75QCc`s8Tk7+92B@s8Tk7!'g5Y#QN]^!"\i)!<:sW!!i9!!'fBA!!i9!!"\Q!!!i9! +!!hun!!i9!!!Dur!!E-!!!2ip!!E-!!!)co!!E-!!!%BH!!E-!!!#+]!!3'!!!#+]!!3'!!!"&? +!!3'!!!"&?!!3'!!!!K/!!*$!!!!N0!!*$!!!!6(!!*$!!!!6(!!*$!!!!+O!!%M!!!!+O!!%M! +!!!,:!!%M!!!!&8!!%M!!!!&8!!#7!!!!#7!!#7!z!!#7!z!!#7!z!!",!z!!",!z!!",!z!!",!z +!!!Q!z!!!Q!z!!!Q!z!!!Q!z!!!9!z!!!9!z!!!9!z!!!9!z!!!-!z!!!-!z!!!-!z!!!-!z!!!'!z +!!!'!z!!!'!z!!!'!z!!!$!z!!!$!z!!!$!z!!!$!z!!!"KJ,fQL!!!"KJ,fQL!!!"KJ,fQL!!!"K +J,fQL!!!!`^]4?7!!!!`^]4?7!!!!`^]4?7!!!!`^]4?7!!!!@huE`W!!!!@huE`W!!!!@n,NFg +!!!!`qu?]s!!",@s8Duu!!#7`s8N'!!!",@s8N'!~> +Q +q[1 0 0 1 0 0]concat +96 68 true[1 0 0 1 -1509 -1129]@X +imagemask ++92?@#64l+s8Duu+92@k#Cm'Zs8N'!+92@k#ClpVs8Duu!<;Ng#J^<Arr<$!!'e7!#N,R_rVuou +!"XS[#N,R^rVuou!!e#S#Oh]nrVuou!!e#S&+BQ!rr<$!!!@`O&,6,)IfKHK!!@`O&,ZD-IfKHK +!!C":&,ZD-IfKHK!!0k8&+0DtIt.M!!!0k8&*<il5C`_6!!0k8&*Eom5C`_6!!2!X&*&0?5C`_6 +!!2!X&*&0?5JR7!!!(pW&&H$]+2@jV!!(pW+2GYl+2@jV!!)Kg+2He7+2@jV!!)Kg+2Dgq+5d,! +!!$s<+2Dgq&)[Ef!!$s<+2Bi9&)[Ef!!%6D+2A]n&)[Ef!!%6D+2Air&+BQ!!!"tY+2A?d#Oh]n +!!"tY+2A?d#Oh]n!!#+]++ORr#Oh]n!!#+]5C`h9#P\9!!!!u=5C`id"8Dir!!!u=5C`dM"8Dir +!!"&?5C`dM"8Dir!!"&?5C`al"8i-!!!!K/5C``A!W2ot!!!K/5C``Q!W2ot!!!N05C`_n!W2ot +!!!N05C`_N!WE'!!!!6(56(['!<)ru!!!6(IfKHW!<)ru!!!7SIfKHY!<)ru!!!7SIfKHR!<3$! +!!!+OIfKHN!.OtK!!!+OIfKHNJ:@P!!!!,:IfKHLJ:@P!!!!,:IfKHL^jgk7!!!&8IfKHKi'2_l +!!!&8IfKHK?pB/A!!!&XIK0?JE'JjQ!!!&XrVuou0L*>Q!!!#WrVuou3$5p9!!!#WrVuou*$;rr +!!!#grVuou$m37b!!!#grVuou%NjU/!!!"<rVuou"qTVl!!!"<rVuou#7o_m!!!"DrVuou"-;@? +!!!"DrVuou!KZ^M!!!!Zqu?]s!QX[0!!!!Zqu?]s!6=R/!!!!^qu?]s!9`hO!!!!^qu?]s!-e2< +!!!!>qu?]s!&OBM!!!!>qu?]s!'BrU!!!!@qu?]s!#t\5!!!!@qu?]s!$D+=!!!!`qu?]s!"])0 +!!",@qu?]s!!iQ'!!",@p](9o!!iQ(!!",@p](9o!!E9$~> +Q +q[1 0 0 1 0 0]concat +81 68 true[1 0 0 1 -1598 -1129]@X +imagemask +5QC``!!!K/!!!!`s8N'!!$2+?!!",@rr<$!*WQ0?!!*&W!!!!@z!'e7!!!#4`z++O=k!'^G`!!!!0 +J,fQL56(Z`!!!7S!!!"KJ,fQL!!e#S!!%M!z"+U@O!.TM!!!!!$J,fQLs*t(L!!!,:!!!$!^]4?7 +!!C":!!3,8z!Pe[8!WTq8!!!!"^]4?8s1eU7!!!&X!!!-$huE`W!!2!X!!E2Xz!8mhW"8q'WzhuE`^ +r87PT!!!#g!!!9!n,NFg!!)Kg!!i;gz!,qo<&+FN<zDu]kKn8J@-!!!"D!!!Q!GQ7^D!!%6D!$C-Dz +!&srY+5f*Yz2uiqCi&C]:!!!!]!!#7!49,?]!!#+]!'e7]z!#tt=J&!$(z)uotgJ/eOh!!!!?!!%M! +*WQ0?!!"&?!<7Qjz!"Ju/rr<N/z%KHM/!"Ju/!!!!0!!3'!%fcS0!!!N0!WE'0z!!`K+rW!0'z#64l( +!!`K(!!!!(J-5]L#CldS!!!7S#Q+Q,J,fQL!!@`Vp](DHz"+UXO!!@`O!!!!$^^p2?"2Fm:!!!,: +&+BQ$^]4?7!!0kGn,NL)z!Pff8!!0k8!!!!"i#gkW!T3qX!!!&X+5d,"huE`W!!(qA^]4Amz!8p)W +!!(pWzn:/4R!:Tsg!!!#gIt.M!n,NFg!!$tfJ,fRgz!-%sg!!$s<zGlIaD!-eJD!!!"Drr<$!GQ7^D +!!#%Z!!!!Yz!'1#Y!!"tYz4oPE]!'C5]!!!!`qu?]s49,?]!!",=!!!!_z!$D+=!!#4`z+8>g9!.TM! +!!!!@p](9os53kW!$D79!!",@rr<$!5QC3Q!$D7@J,fQks6p!g+92@k~> +Q +q[1 0 0 1 0 0]concat +66 72 true[1 0 0 1 -1680 -1127]@X +imagemask +!!!9'z!!!"Ks53kW!!!!"s8Vusz#Q=i*z!"\Q!J%u$a!!",!!$C,!!!!!`J,fiLzIfKHNqu?]s!<3$! +!<3$!!!3'!!!%M!!!!&t!!!!`^]4?:qu?]s+5d,!"8Dir!"\Q!!!i9!!!!9!!!!9!!!!!$qu?^- +p](9o"9&9#&+BQ!!!3*"!"\Q!!!!$!!!",1zs*t(kn,NFg!.Vca+7K71!!#7!!$C\1!!!!`huFkgz ++7K7Pn,NFg!$C\1+7K71!!!Q)!$C\1!!!!0p])E*z&,ZDLn,NFg!!iE%+7K71!!!9'!$C\1!!!!$ +rW"&0z"9/?Cp](9o!!E6$+8>g9!!!'"!"\i)!!!!"s*tXTz!WRZ\p](9o!!*%L&,ZD-!!!$!J-YuPz +s1em;z!<9h>qu?]s!!%Ma"9&9#!!!"K^]XQ9zJ%u0cz!.Vcbrr<$!!!%Ma!WN-"!!!!`^]=B7z5JR:! +J,fQL!'e7!It.M!!!#7!!.Vca!!!!`^]6U7z5JR7`huE`W!'e7!+5d,!!!#7!!"\Q!!!!!`^]4o7z +5JR7(p](9o!'bu6"8Dir!!#66!!2ut!!!!`J,fTKzIt.M!IK0?J!.OtK!'^G`!!%KK!!"*k!!!#u +!!!!0^]4?7rVuou#N,R^!W2ot!!D]j!!2ip!!!&p!!!,jzIK0?Qn,NFg!'^G`&&8/F!!!PF!$?^k +!!!!$n,Rq<z!<*#sz!!",@n,NFg!!!!"s*t(L~> +Q +q[1 0 0 1 0 0]concat +69 68 true[1 0 0 1 -1749 -1129]@X +imagemask +5QCcYz!'gM`p](9o!!",@s7cQoz+8c*=z!"\i)z!!!9!z!!!!(p](9oz#P\9!z!!iE%z!!!-!z!!!!$ +qu?]sz"8i-!z!!E3#z!!!'!z!!!!"rVuouz!WE'!z!!3*"z!!!$!zzrr<$!z!<3$!z!!*%Lz!!!"K +J,fQLzIt.M!z!.TM!z!!%Maz!!!!`^]4?7z5JR7!z!'e7!z!!#7Az!!!!@huE`Wz+5d,!z!$D7@ +rr<$!!!",@s8V!W!!!!0s8W,sz&+BQ(rr<$!!"\Q!!.Vca!!!Q!!!",!!!!!(p](:)n,NFg#P\9! +#P\9!!!i9!!!E3#!!!9!!!!'!!!!!$qu?]srr<$!"8i-!!<7QL!!E-!!!%Ma!!!-!!!!"K^]4?8 +rVuou5MuMA!WE'!!'fBA!!3'!!!#7Q!!!'!!!!!@n,NFgrr<$!+7K71!<3$!!$Ct9!!*$!!!",9 +!!!$!!!!!0p](9oIfKHK&,6,)!.TM!!"\i)!!%M!!!!Q)!!!"KJ,fQ[n,NFg5C`_6&+BQ!!'e7! +!"\Q!!!#7!!!",!!!!!`^]4?VhuE`W+2@jV5JR7!!$C,!!.TM!!!",!!!*$!!!!!`n,N^m!!!!@ +s8W-!p](9o+92B@s53kW!$D7@s8N'!~> +Q +q[1 0 0 1 0 0]concat +66 89 true[1 0 0 1 -1824 -1110]@X +imagemask +z"8Dirz!"]&/z!!",@z!!!!@s1eU7z5QAM!z!'gMAz!!#7`n,NFg!!!!`s7cQoz5QCKYz!'c&4z +!!#4`HiO-H!!!!_!'UA_z4ocW(z!'UAnz!!#+]#64`(!!!!]!!<3$z49,J6!!!!(rYtn?J,fQLJ,fEH +!It.M!WN9"!!.TM!!iK'IfKHK!!!Pr!$AuV!!!!@MuXshz57@N6p](9o!.PCW*;fd:!!*!.!#U1c +!!!&t"ooK)J,fQMr!!-<+2@jV"8E*$(_>O)!!DuuJ1q5t!!!8n!PgAkp](:!n,VD)!W2ot&+BRK +^]FE7!"\Q!++O@k!!!Q!zIfKHjhuE`W!.TM!+5d,!!!#7!!$C,!!!!!`huFkWz+5d,@huE`W!$C\1 ++5d,!!!!Q!!$C,!!!!!0p])Doz#P\9@huE`W!!iE%+7K71!!!-!!$C\1!!!!$rW"&0z"9&9Bn,NFg +!!3*"+7K71!!!'"!$C\1!!!!"rr<T)z!<7Q[p](9o!!*%L&,6,)!!!$!J.MDTzs*t@Pz!.Vchqu?]s +!!%Ma#Q+Q%!!!"K^]XK7zJ%u0cz!.VcdrVuou!!%Ma!WE'!!!!!`^]FH8z5JR:!z!'e7!s*t(L!!#7! +!.TM!!!!!`^]8l"z5JR7`^]4?7!'e7!5JR7!!!#7!!$C,!!!!!`^]4o7z5JR70n,NFg!'e7!#P\9! +!!#66!!Dur!!!!`J,fWJzIt.M!rVuou!.TM!!.OtK!!%KK!!#4`!!!"K!!!!@J,fQLrVuou&&8/F +!<)ru!!hE^!!2ut!!!,j!!!&p!!!!"p](9rn,NFg!.FnJ#Oh]n!!#4`!"ZjF!!!!0^]5I,z"7Q;?z +!!*!!qu?]s!!!!@s6p!gz!WRZM!!~> +Q +q[1 0 0 1 0 0]concat +68 70 true[1 0 0 1 -1893 -1127]@X +imagemask +z!!!8nz!!!!`quAt]s7cQorZ2&(s8Vio!W30&+92B9!!E-$J,g\d!!!-!"2FmIp](:!quOS5#P\9! +#Q+S[!!i9!!"\u-huF#W!!!Q-!:Tsnp](:)quC[9"8i-!&,ZEH!!E-!!"\u-!!!-!!!!9%!!!!$ +qu?^%qu?]s!WE'!#Q+Q%!!3'!!!iK'!!!'!!!!-#!!!!"rVup#rVuou!<3$!"9&9#!!*$!!!E3# +!!!$!!!!'!zrr<$"rVuou!.TM!!WE'!!!%M!!!3'!!!!"KJ,fWLzIt.M"rVuou!'e7!!WE'!!!#7! +!!2ut!!!!`^]4E5z5JR7"p](9o!$C,!"8Dir!!",!!!hun!!!!@huF;Gz+5d,`J,fQL!"],0rVuou +!!!Q0s8RTL!!!!0n,OR"z&+BQ"qu?]s!!i9!!.OtK!!!9!!!"+V!!!!(p](:)huE`W#P\9!#P\9! +!!E-!!!E-!!!!-!!!!'!!!!!$qu?]trr<$!"8i-!!<3$!!!3'!!!*%L!!!'!!!!"K^]4?8rVuou +J%u$a!WE'!!.Wo,!!*$!!!#7A!!!$!!!!!`huE`Wrr<$!5MuMA!<3$!!'fBA!!%M!!!#7Q!!!"K +J,fR6huE`WIt.M!+5d,!!.TM!!$C,!!!#66!!#7A!!!!`^]4@!^]4?75JR7!5JR7!!'e7!!.TM! +!!"+V!!%KK!!!!@huEfWz+5d,$qu?]s!'frQ5PP3Y!$D7@s8V!W!!",@s8W+L!!!!@s8W,o!!!~> +Q +q[1 0 0 1 0 0]concat +59 72 true[1 0 0 1 -1966 -1127]@X +imagemask +$igP1z)utKgJ,fQL%KZV0huE`W%g2_3p](9o%u9'CrVuou&'ob+56(Z`#Q=]'++O=k#Q+Q%&&8/F +#Q+Q%#N,R^#P\9!"7Q9j"7Q9j!Up'h"7Q9j!;HNo"7Q9j!;lfs"7Q9j!.4bH!T3qX!.FnJ!T3qX +!'UA_!T3qX!'^G`!T3qX!'^G`!8mhW!'^G`!8mhW!$?^k!:Tsg!$?^k!:Tsg!$?^k!,qo<!$?^k +!,qo<!$?^k!$D7A!$AuVz!'e7!z!'e7!z!'bu6z!.TM!z!<7QLz!WRZMz#QK;SzJ,]KK!!!!$s8N'! +!!!!`s8Duu!!!'"s82is!!!-$s82is!!!Q0s7cQo!!",@s53kW!!",@s*t(L!!#7`qu?]s!!%NK +^]4?7!!%NJz!!%N<z!!*&7z!!*%Lz!!*$!z!!*$!!!!i9!!)uu!!"tY!!)uu!!#+]!!)uu!!!u= +!!)uu!!!u=!!)uu!!!u=!!%HJ!!"&?!!%HJ!!"&?!!%HJ!!"&?!!#1_!!"&?!!#4`!!")@!!#4` +!!")@!!"*k!!#4`!!!O[!!#4`!!!PF!!#66!!!8^!!#66!!!,Z!!%M!!!!&h!!%M!!!!#s!!*&7 +!!!"J!!28u!!!!`J-X!-!!!!0i#dTe!!!!(s8N,X!!!!"s82lTz+5d-,~> +Q +q[1 0 0 1 0 0]concat +68 67 true[1 0 0 1 -2030 -1129]@X +imagemask +!WW3"s*t(L!!3-"s8RTL!!!'"s8W+Lz!'gG_z!!!Q)z!!!!(p](9oz#P\9!z!!E-!z!!!-!z!!!!$ +qu?]sz"8i-!z!!3'!z!!!'!z!!!!"rVuouz!WE'!z!!*$!z!!!$!zzrr<$!z!<3$!z!!%M!z!!!"K +J,fQLzIt.M!z!.TM!z!!#7!z!!!!`^]4?7z5JR7!z!'e7!z!!",!z!!!!@huE`Wz+5d,!z!$C,!z +!!!Q!z!!!!0n,NFgz&+BQ!z!"\Q!z!!!9!z!!!!(p](9oz#P\9!z!!i9!z!!!-!z!!!!$qu?]sz +"8i-!z!!E-!z!!!'!z!!!!"rVuou!!<3$!WE'!"+UW,!!3'!!!@`RJ,fTL!!!+O"+U@Orr<$$J-3Re +!<3$!"2FrQ!!*$!!!0k9huEb,J,fVc!T3qXIt.M"^]<9m!.TM!!Pe^)!!%M!!!0k8n,NGQ^]4Dn +!-eJD5JR7"huJ!%!'e7!!T3s*!!#7!!!2!X4obR)huEf9!'^G`+5d,$huGul!$C,!"7Q:4huFkg +!!hun+8c*\n,P]B!$D7@s8W-!n,O"!s8W-!s6p"!s8W-!s8VQ~> +Q +q[1 0 0 1 0 0]concat +65 70 true[1 0 0 1 -2109 -1127]@X +imagemask +!!E-!z!!",@J,fQL!!!"Ks6p!g!!!!"rWDoqz"8DkFz!!hE^*rl9@!!!PF!!e#S!!!!@^]4JPz++O=l +huE`W!'bu6!,qo<!!#4`!!"tY!!!"K!!!!]zIfKHK*WQ0?!.OtK!"T&0!!*$!!!!6(!!!$!!!!!( +J,fQLrr<$!"+U@O!<3$!!!0k8!!*$!!!!&8!!!$!zhuE`Wrr<$!!8mhW!<3$!!!)Kg!!*$!!!!"< +!!!"KJ,fQLDu]k<It.M!!,qo<!.TM!!!"tY!!%M!!!!!Y!!!!`^]4?72uipY5JR7!!&srY!'e7! +!!!u=!!#7!!!!!=!!!!@huE`W)uos=+5d,!!#tt=!$C,!!!!K/!!",!!!!!/!!!!0n,NFg%KHJ/ +&+BQ!!"Ju/!"\Q!!!!6(!!!Q!!!!!(!!!!(p](9o#64`(#P\9!!!`K(!!i9!!!!+O!!!9!!!!!$ +J,fQOqu?]s"+U@O"8i-!!!@`O!!E-!!!!&8!!!-!!!!!"^]4?8rVuou!Pe[8!WE'!!!0k8!!3'! +!!!#W!!!'!zhuE`Wrr<$!!8mhW!<3$!!!(pW!!*$!!!!"<!!!$!zDu]k<It.M!!,qo<!.TM!!!$s< +!!%M!!!!!Y!!!"KJ,fQL2uipY5JR7!!&srY!'e7!!!"tY!!#7!!!!!=!!!!`^]4?7)uos=+5d,! +!$2+?!$C,!!!#4`!!",1!!!!`J,fR6p](9os53l!s8Vio+92?@5QCcY!$D7@J04gkp])E9s*t~> +Q +q[1 0 0 1 0 0]concat +66 70 true[1 0 0 1 -2184 -1127]@X +imagemask +!!0k8z!!!&Xz!!!!"n,NFgz"7Q9jz!!Durz!!!,rz!!!!$qu?]sz"9&9#z!!E3#z!!!-$z!!!!$ +rr<$!z"93lOz!!E8:z!!!9&^]4?7!!!!(r87PTz#Q3K[z!!i:<z!!!9!GQ7^D!!!!(pc&6Rz#P]8=z +!!i9=z!!!9!%KHJ/!!!!(p^[?)z#P\N(z!"\i,J,fQL!!!Q)"+U@O!!!!0n,^<)z&+BVXz!"\Q! +huE`W!!!Q!!,qo<!!!!0n,RD-z&+BQYz!"\Q!49,?]!!!Q!!#tt=!!!!@n,Npuz+7K7?z!$C\1#64`( +!!",!!!e#S!!!!@huEk0z+5d,"^]4?7!$C,!!Pe[8!!",!!!(pW!!!!@huEcHz+5d,!Du]k<!'fBA +!&srY!!#7A!!"tY!!!!`huE`sz5JR7!*WQ0?!'e7!!"Ju/!!#7!!!!6(!!!!`^]4?>z5JR7!"+U@O +!'e7!!!C":!!#7!!!!&8!!!"K^]4?7huE`WJ%u$a!8mhW!.Vca!!$s<!!%M!!!!"D!!!"KJ,fQL +2uipYIt.M!!#tt=!.TM!!!!u=!!%M!!!!!/!!!"KJ,fQL%fcS0It.M!!"XS[!<7QL!!!PF!!*&7 +!!!!0huEfXhuE`W5PtM2s8RTL!WW28J,fPa!!3-"^jlCaJ,fWMs1e~> +Q +q[1 0 0 1 0 0]concat +92 70 true[1 0 0 1 -2258 -1127]@X +imagemask +!#tt=!!`K(z!$2+?!!e#Sz!'UA_!"XS[z!'^G`!"ZjFz!'^G`!"ZjFz!'bu6!"[ufz!'bu6!"[ufz +!'e7!!"\Q!z!'e7!!"\i)z!'fBA!"\i)z!'frQ!"\u-z!'frQ!"\u-z!'g5Y!"]&/z!'g5Y!"]&/z +!'f6=!"\f(z!'f6=!"\f(z!'ea/!"\[Oz!'ea/!"\[Oz!'eL(!"\V8z!'eL(!"\VXz!'eAO!"\SWz +!'eB:!"\Sgz!'e<8!"\R<z!'e9W!"\QYz!.VfB!$C\iz!.Ve'!$C\Mz!.Ve'!$C\Mz!.VdD!$C\?z +!.TMY!$C,/z!.TM=!$C,(z!.TM?!$C,(J,fQL!.TM/!$C,$J,fQL!.TM0!$C,$^]4?7!.TM(!$C," +^]4?7!.TM$J03\MhuE`W!.TM$J03\LhuE`W!.TM"^`VJ7Du]k<!.TM"^`VJ7Du]k<!.TM!i#gkW +2uipY!.TM!i#gkW2uipY!.TM!E$+!<)uos=!.TM!GTYiD*WQ0?!.TM!3$7&Y%KHJ/!.TM!4<NJ] +%fcS0!.TM!*$=)=#64`(!.TM!%NjU/#CldS!<7QL%NjU/"+U@O!<7QL#=%,H!Pe[8!<7QL#=%,H +!Pe[8!<7QL"2Eao!8mhW!<3$!"2DVO!8mhW!<3$!!WTq8!,qo<!<3$!!WTq8!-eJD!<3$!!<9h7 +!&srY!<3$!!<9h7!'C5]!<3$!!.Vca!#tt=!<3$!!'e7!!$2+?!<3$!!'e7!!"Ju/!<3$!!'e7! +!!`K(!<3$!!'e7!!!`K(!<3$!!'e7!!!@`O!<3$!!'e7!!!C":!<3$!!'e7!!!C":!<3$!!'e7! +!!D-Z!<3$!!'e7!!!D]j!WRZM!.Wo,!!Dur!WV'X!.XbD!"])0J,fP!+92AV!<<)gJ,fP!+92B! +!<<)gJ,fP!+92B!!<<)g~> +Q +q[1 0 0 1 0 0]concat +78 68 true[1 0 0 1 -2341 -1129]@X +imagemask +J,fKJ!.Y%KJ,k*!rVuqJs8Tk75QC]_!.Y%K^]4K:n,NFns53kW!.Wo,!!3,8!!!!@^]4?7s*t(L +!!g:>!!*%L!!!!$huE`Xrr<$!!!2!X!!3*"zn,NFhrr<$!!!%6D!!E3#z49,?`rVuou!!"&?!!E-!z +%KHJ6qu?]s!!!6(!!iE%z"+U@Vp](9o!!!,:!"\i)z!T3qgp](9o!!!#g!$C\1z!-eJcn,NFg!!!!] +!$C\1z!#tu'huE`W!!!!/!'fBAz!!`Kg^]4?7!!!!(J:G?7z!!C#d^]4?7!!!!"i.$7Wz!!)NgJ,fQL +zGlN9oz!!#%Zzz*WH*>z!!!Q/zz&,lP/z!!!9'zz"8i-!z!!!9%zz#Q+Q%z!!!Q)zz&,6,)z!!!Q-zz ++8u6?z!!",@zz+6S.Sz!!#7D^]4?7z5N1N#z!!%MahuE`WzJ&$"'z!!%Ma2uipYzs+!33z!!*%L +*WQ0?zs*tU[z!!3*"#CldS!!!!"rr</:z!!3'!!Pe[8!!!!$rVurVz!!E3#!,qo<!!!!(qu?_Az +!!iE%!'C5]!!!!(qu?^<z!"\i)!"T&0!!!!0p](:)J,fQL!"\i)!!g:>!!!!@p](:!n,NFg!$D+= +!"\u-!!!"Krr<$@s*t(L+92B!!<<)s!!",@s6p$gs82is+92B!!.Y%H~> +Q +q[1 0 0 1 0 0]concat +67 68 true[1 0 0 1 -2432 -1129]@X +imagemask +&-)\-z!"],0rVuou!!!Q0s8Duuz&,lP/z!!E-!z!!!-!z!!!!"rVuouz!WE'!z!!3'!z!!!'!zz +rVuouz!<3$!z!!*$!z!!!$!zzIfKHKz!.TM!z!!%M!z!!!"KJ,fQLz5C`_6z!'e7!z!!#7!z!!!!` +^]4?7z+2@jVz!$C,!z!!",!z!!!!@huE`Wz&+BQ!z!"\Q!z!!!Q)z!!!!@qu?]sz+8c*=z!$CV/z +!!#7Pz!!!!`kC<O4z5NBNZz!.Vi#z!!%MahuE`W!!!"K^i08Rzs+#=oz!<7R3z!!*%L*WQ0?!!!'" +!"Ju/!!!!"rr<9(z!WN-)J,fQL!!E3#"2Fm:!!!-#!!2!X!!!!$rVurVz#Q+Q%Du]k<!!iE%!&srY +!!!9%!!#+]!!!!(p](:8z&,6,)%fcS0!"\i)!!`K(!!!Q)!!!+O!!!!@n,NFj^]4?7+7K71!T3qX +!$C\1!!)Kg!!#7A!!!"D!!!!`huE`W2uipY5MuMA!'C5]!.Vca!!"&?!!%Ma!!!!0J,fS!^]4?7 +&&8/Fs1eU7!"\Q!!WV'X!!",=!<<*!J,fWMs5<qWs*t(Ms8V#,s8RTL!<<)W~> +Q +q[1 0 0 1 0 0]concat +66 68 true[1 0 0 1 -2490 -1129]@X +imagemask +&-)\0s8N'!!"],0s8W+L!!!9(s8W-!J,fQSqu?^=s1eU7"9&9#"96.:!!3*"!!%Ma!!!$!J,fQk +^]4?7It.M!&)[Ef!'e7!!!hE^!!#7A!!!,Z!!!!@n,NFhn,NFg&,6,)!Up'h!!iE%!!)Kg!!!-! +!!!"D!!!!"rVuouGQ7^D!WN-"!&srY!!*%L!!#+]!!!"K^]4?sz5MuMA)uos=!$C,!!#tt=!!!Q! +!!!K/!!!!0p](:(z#Q+Q%%KHJ/!!E3#!!`K(!!!'"!!!6(zrr<$(z!.TM!!WW3#!!%Maz!!!!`huE`W +z+7K71z!"\i)z!!!9!z!!!!$qu?]sz"9&9#z!!3*"z!!!$!J,fQLzJ%u$az!'e7!z!!",!z!!!!@ +n,NFgz&,6,)z!!iE%z!!!-#z!!!!"rVuouz!<3$!z!!*%LzDu]lf^]4?7!,qo<5MuMA!!$s<!$C\1 +!!!"D!!!Q!z2uip`p](9o!&srY#Q+Q%!!#+]!!E3#!!!!=!!!'"z*WQ0?s*t(L!$2+?!.TM!!!!N0 +!!#7!!!!!0J,fR6huE`W%tFW[+7K71!"ZjF!"\i)!!!8^!!!9%!!!!(p](9rqu?]s#Q+Q%"9&9# +!!E7O!!3*"!!!-$p](<oJ,fQOs8W-!s1eU7!WW3"s8Tk7!!3-"s8W,7~> +Q +q[1 0 0 1 0 0]concat +49 45 true[1 0 0 1 -709 -1008]@X +imagemask +!!2ut&&8/F#QFcghuE`fLVS:V!!")Ai:o83!'UC-p`'86HiQ>))uotd!$1hE!!)os&,6V7!;lg% +p^R9(qu?us#64f&!!E!$!!2ut!Vcm"!W2ouqu_HMqu?`p"+UFM!!)p!J-#QJ!;lqL!W2otrVup! +qu?`r!!!'!!!%HJ!!3'!!.FnJ!WE'!IfKHLrVuqJ!!!#u!!#4`!!*$!!'^G`!<3$!5C`_6IfKI5 +J,fS!J,g[A!!%M!!$?^k!'bu6+2@jV5JR7@^]4?V^]4n\!!"+V!"ZjF!"[uf&)[Ef&)[EuhuE`^ +n,O!W!!!,j!"[uf!!2ip&+BQ!!;lg-n,NFgHiP8X!!!!_!$C\1!!")@488dU!"XU"n,NFg#N5+0 +!!!!"s1eU7!!!!`!!!!~> +Q +q[1 0 0 1 0 0]concat +42 70 true[1 0 0 1 -760 -1008]@X +imagemask +!!)uu!!!!$s*t(L!"XkC!!!!@!VcWp!'UD\!!!!]!.FnJ!.4c2!!!"H!$?^k!;HO)^]4B0!"[uf +!;HO!huEcP!!hun!;HNrp](<h!!Dur!VcWqqu?cm!!2ut!W2ourVurr!!)uu!;lfsrr<&s!!*$! +!;lfsIfKKJ!!%M!!<)ruIt.NJ!!%M!!.FnJ5C```!!#66!.OtK5JR7`!!#7!!'^G`5JR7`J,g\, +!'bu6+2@juJ,g\,!$?^k+2@ju^]5I,!$AuV++O>5huFjL!"\Q!++O>%p])B9!"\u-56(ZoquAn\ +!!hrm4obQfpOIVk!!i&Pp](:!nGhDH!!D^4J,fQOp](9o!!Dur!!!!$p](9o!!2ip!!!!"p](9o +!!2ut!!!!"qu?]s!!)oszqu?]s!!)uuzrVuou!!%HJzIK0?J!!%KKzIfKHK!!#4`z56(Z`!!#66z +5C`_6!!#66z5C`_6!$D5k!!!!@s1eU7!"]+Fz+2@jV~> +Q +q[1 0 0 1 0 0]concat +43 45 true[1 0 0 1 -800 -1008]@X +imagemask +!!#7A!!!!"s82is!!hFH!!!!0J-Wji!$;1An,NGQ!!%6D!'UA_4obS3!!!N0!;lfs#ClgP!!!,: +!;lfs!Pea6!!!&X!W2ot!5JX5z!W2ot!!!&tz!W2ot!!!&tz!WE'!!!!'!z!WE'!!!!'!z!<3$! +!!!$!z!<3$!!!!"Kz!.TM!!!!"KJ,fQL!'bu6!!!!`^]4?7!$AuV%fcSO^]5I,!"[uf5JR7(n,P\g +!!D]j+5d,$p])Do!!2ut+5d,!qu?u[!!%HJ!Pe[856(`"!!!O["2Fm:#N,i;!!!&p*rl9@!.XnH +!!!!0n,N~> +Q +q[1 0 0 1 0 0]concat +52 70 true[1 0 0 1 -841 -1008]@X +imagemask +!!2ut&&8/F#QFcghuE`fK>;kR!!")Ai:o83!'UC-p`'86HiQ>))uotd!$1hE!!)os&,6V7!;lg% +p^R9(qu?us#64f&!!E!$!!2ut!Vcm"!W2ouqu_HMqu?cq"+UFM!!)p!J-#QJ!;lqL!W2otrVup! +qu?`r!!!'!!!%HJ!!3'!!.FnJ!WE'!IfKHLrVuqJ!!!#u!!#4`!!*$!!'^G`!<3$!5C`_6IfKI5 +J,fS!J,g[A!!%M!!$?^k!'bu6+2@jV5JR7@^]4?V^]4n\!!"+V!"ZjF!"[uf&)[Ef&)[EuhuE`^ +n,O!W!!!,j!"[uf!!2ip&+BQ!!;lg-n,NFgHiP8X!!!!_!$C\1!!")@488dU!"XU,p](9o#N5.I +!!!!"s2"I1!!!!`Jc#KJ!!!!"qu?]s!!!#sz!!)osz!<)ruzrVuou!!!"Jz!!%HJz!.OtKzIfKHK +!!!!`z!!#4`z!'bu6z5C`_6!!!!@J,fQL!!"*kz!$AuVz+2@jV!!!!0^]4?7!!!PFz!"[ufz+5d,! +!!!9(huE`W!!iP^z#QO8nz#Oh~> +Q +q[1 0 0 1 0 0]concat +43 45 true[1 0 0 1 -891 -1008]@X +imagemask +!!#7A!!!!"s82is!!D.D!!!!(J-Wji!"XS\n,NG1!!%6D!'UA_4obRH!!!N0!.FnJ#Clf'!!!,: +!;lfs!Pe^5!!!&X!;lfs!5JU4z!;lfs!!!&tz!W2ot!!!'!z!WE'!!!!'!z!<)ru!!!#uz!<3$! +!!!$!z!<<)g!!!$!s8RTL!.TM`huEb,J-5QH!.TM!HiO.2^]6Ou!'e7!%fcSO^]4Ui!"[uf#Cldb +huEkp!!hun"2Fm=n,NR+!!2ip"2Fm;qu?i7!!%HJ"2Fm:56(f$!!"*k#CldS#N-*m!!!,r*WQ0? +!.XnH!!!!0n,N~> +Q +q[1 0 0 1 0 0]concat +49 90 true[1 0 0 1 -929 -989]@X +imagemask +"7Q9j!!!!0qu?]s!!"&]z!'Cblz4pQT<!!!!`"2Fm:!!#69^]4?7!'eBZz5Jcgh!!!!`_=.F)!!"*l +p](9o!"T,*z!!)coz!;lfszqu?]s!!!#sz!!%HJz!.FnJzIK0?J!!!"Kz!!%KKz!'^G`z56(Z`!!!!` +z!!#66z!'bu6z++O=k!!!!@J,fQL!!"*kz!$AuVz+2@jV!!!!0^]4?7!!!PFz!"ZjFz&)[Ef!!!!0 +huE`W!!!8^z!!hE^z#N,R^!!!!(n,NFg!!!8nz!!D]jz"7Q9j!!!!$n,NFg!!!,rz!!Durz!VcWp +!!!!"p](9o!!!&pz!!2utz!W2otzqu?]s!!!#sz!!)osz!<)ruzrVuou!!!"Jz!!%HJz!.FnJzIK0?J +!!%NKs1eU7!.Y%K^]4?7J,fPaz56(Z`!!!!`z!!#66z!'bu6z++O=k!!!!@J,fQL!!"*kz!$AuVz ++2@jV!!!!0^]4?7!!!PFz!"ZjFz&)[Ef!!!!(huE`W!!!8^z!!hFEz#N1(3!!!!$n:(E<!!!,jIt.M! +!!2S=J,fQL!Vh.pzpcj9/!!!#o++O=k!!%BOz!'VG(z&,ZD-!!!!$n,N~> +Q +q[1 0 0 1 0 0]concat +45 64 true[1 0 0 1 -967 -989]@X +imagemask +!WTq8!!!Q0qu?]s*rpcj!!#1_+2@jVIfK`3!!%M!"7Q9jIt.Rp!!#7!!;lfs5JR9u!!"*k!.FnJ +%fcSoz!'^G`!!!!`J,fQL!$?^k!!!!@J,fQL!$AuV!!!!@^]4?7!"ZjF!!!!0^]4?7!"[uf!!)p- +huE`^s+fM4!"X_&huEa!!;Gs_!'UC4n,NH;!'frQ!.4bgn,NId!"\i)!;lg%p](<l!!Dur!W2p" +p](?m!!2ut!W2ouqu?cq!!)os!W2otqu?cq!!)uu!W2otIK0EJ!!%HJ!WE'!IK0EJ!!%KK!WE'! +IfKKK!!#4`!<3$!56(]`!!#66!.OtK5C```J,g[A!.TM!++O>UJ,g\,!'bu6+2@ju^]4n\!$AuV +&&8/UhuF;G!"[uf&)[Emn,O!W!!D]j&)[Egp](io!!2ip&+BQ!qu@i.!!%HJ+7K71*rnCt!!!O[ +H11e6#N5+0!!!'"^]4?7!'bu6~> +Q +q[1 0 0 1 0 0]concat +49 70 true[1 0 0 1 -1012 -1008]@X +imagemask +#64`(4obQnJ,fTLJ,g\,!!2':!"ZjF"5n+u&&8/Ii&C]IhuF#?2ujKI!!hF%!!hE^#N-R%#N,Re +i!o_ln,N^O%KHb'!!huu!!D]j"7QNq"7Q9mn-=IGp](Ek"+ULK!!2isJ-#EF!W3%M!VcWqqu?]t +qu?`p!!!&t!!)uu!!)os!<)ru!;lfsIK0?JrVuqJ!!!#u!!%KK!!%HJ!'^G`!.FnJ5C`_6IfKI5 +J,fS!!!"*k!!#4`!$?^k!'^G`+2@jV5C`_U^]4@!J,g+q!!"+V!"ZjF!$AuV&&8/F+5d,0^]4?V +huF;G!!!Q!!"ZjF!"\i)&&8/F&,6,8^]4?Fqu@8C!!!8l!"ZjF!!h\;%tFW[#P5_QJ,fQSnG#3J +!!!,jJ,B9H!!D^$n,NFg"8Dir!!!!$p](9o!!!&pz!!2ipz!W2ot!!!!"qu?]s!!!#sz!!)osz!<)ru +zrVuou!!!"Jz!!%HJz!.OtKzIfKHK!!!!`z!!#4`z!'bu6z5C`_6!!!!@J,fQL!!"*kz!'e7!!!!!@ +s1eU7!!",@^]4?7!"]+Fz!"ZjF!!!~> +Q +q[1 0 0 1 0 0]concat +29 66 true[1 0 0 1 -1063 -1008]@X +imagemask +!!hE^!"\i)!$3*[!'C_k!.5"O!.4m!!.4g_!.Fsa!.Fq+!.Fq+!.Ouf!.Ouf!'^I&!'c!Y!'bun +!$?_N!$AuV!"ZjF!"ZjF!"[uf!!hE^!!hun!!hun!!D]j!!Dur!!Dur!!2ip!!2ut!!)os%KQJ. +%flS/#692Q#695R#695R"+WT9"+WT9!Pgo"!PfcW!8nq!!8nq!!,s"[!&u#"!$4<(!"\u-!!D]jzzzz +zzzzzzzzz!!!,:!!!Pf!!!Q!!!!Q!!!!Q!!!!8n!!!8n!!!&X~> +Q +q[1 0 0 1 0 0]concat +40 85 true[1 0 0 1 -1085 -989]@X +imagemask +#Oh]n!$D1?!!#,'J,fRs#J^<>Ifo0?!.P%E!!%M!qu?_HJ:7IuIt2tJ!'^HJ!!"&?5C`_6!$?^k +!!"*k!!!!@^]4?7&&8/F!"ZjF!!!Pf!!!!0huE`W#N,R^!!hE^!!!8n!!!!(n,NFg"7Q9j!!D]j +!!!,r!!!!$p](9o!VcWp!!2ip!!!&t!!!!"qu?]s!;lfs!!)os!!!#uzrVuou!.FnJ!!%HJ!!!"Kz +IfKHK!'^G`!!#4`!!!!`J,fQL5C`_6!$?^k!!"*k!!!!@^]4?7+2@jV!"ZjF!!!PF!"Ju>huF5e +&)[Em!!hE^#65"e!!@`Vn,NQ@#Oh]o^]X'+!Peg,!!(pZn,NH-"7Q9jGQZk(!'CAA!!"&B^]4?F +LVNli"9/?$!!)oszzzzzzzzzzzzzzzzz!-eJD!!)os!!!'!!!!!"rVuou!<3$!!!)uu!!!"Jz49~> +Q +q[1 0 0 1 0 0]concat +46 70 true[1 0 0 1 -1123 -1008]@X +imagemask +#64`+n,NuL!"\u-+2@ju*WQ_d!'Unn&&80-#65:m!.4m!&)[G8"+UX7!.4g_#N,T2!Pes0!.Fq+ +#Oh_B!8mtK!.Fq+"7Q;>!:U*c!.Ouf"8DkG!,qu6!.Ouf!VcYE!!!&t!.FnJ!W2qH!!!#s!<)ru +!;llq!!!#u"8Dir!<*Mu!!!"JJ%u$a!.Y"K!!!"Kn,NFg!.Wo,!!!!`GQ7^D!'_G'!!!!`NW9%Z +!'c5=!!!!@K7Eq%!$?d-!!!!@^q]pM!$B!a!T3qg^b>lc!"Zk)"8Dj,i#Djs!"[ut"8i-(i!0A^ +!!hEaJc#KQn,_Hp!!hunGW5[*n,P]B!!D]j#J^<Ap](9o!!Dur!!!!"p](9o!!2ip!!!!"qu?]s +!!2utzqu?]s!!)oszrVuou!!)uuzIK0?J!!%HJzIfKHK!!%KKz56(Z`!!#4`z5C`_6!!#66z++O=k +!!"*kz5JR7!!$D6V!!!!@s1eU7!"]+Fz&&8/F~> +Q +q[1 0 0 1 0 0]concat +26 70 true[1 0 0 1 -1168 -1008]@X +imagemask +!$;1@!.Vca!:\nH!Ut%."5n+u"5l-="5l-=#N-R%#Oi]5#Oi]5#Oi3'"7Qd#"7Qd#"8EB,"8E*$ +!Vcm"!VcWp!W2ot!W2ot!;lfs!;lfs!<)ru!<)ru!.FnJ!.FnJ!.OtK!.OtK!'^G`!'^G`!'bu6 +!'bu6!$?^k!$?^k!$AuV!$AuV!"ZjF!"ZjF!"[uf!"[uf!!hE^!!hE^!!hun!!hun!!D]j!!D]j +!!Dur!!Dur!!2ip!!2ip!!2ut!!2ut!!)os!!)os!!)uu!!)uu!!%HJ!!%HJ!!%KK!!%KK!!#4` +!!#4`!!#66!!#66!!"*k!!"*k!!#7!!$D6V!$D6V!"]+F!!!PF~> +Q +q[1 0 0 1 0 0]concat +80 45 true[1 0 0 1 -1193 -1008]@X +imagemask +!&srY*WQ0?qu?_E!!#4`!!3*"!.FnJ56(Zc_gh`9!!#66!!e(j!.FnJ5C`_EJD^EW!!"*k!"XU! +!.OtK++O>%J1psf!!"+V!"Zk)!'^G`+2@je^`3>=J,g+q!"Zjb!'bu6&&8/U^`3=rJ,g,<!"[ut +!$?^k&)[Emi!o`/^]4Vt!!hEl!$AuV#N,Ren-8q(^]4W/!!D]q!"ZjF#Oh]qp](:)huElK!!Dur +!"[uf"7Q9kp](:!huElS!!2ut!!hE^"8Disqu?^%n,NLa!!)os!!hun!VcWprVup#n,NLe!!)uu +!!D]j!W2otIK0?Mp](<l!!%HJ!!Dur!;lfsIfKHLp](<n!!%KK!!2ip!<)ru56)/oqu?_G!!#4` +%fuS.!.OtK5C`t=rVuqJ!!#66#6=`'!.TM!++ORrrr<%KJ,g[A"+^CO!'e7!++OHDIt.M`^]5I, +"+Ym:!'fBA++OC-J)C;jDu^u1!Pj0R!.K.m++OC-I!>X?49-H'!8r5e!.5gf56(\>Hk_#Cnu< +!-n8D_>",jHiO.2huWl9!<;fo!"XS[It.M@^]4~> +Q +q[1 0 0 1 0 0]concat +54 45 true[1 0 0 1 -1275 -1008]@X +imagemask +!&srY!VcWpHiO-OrVuqI!!!N?!!%HJ!$;;n!.FnJ*s'.WIfKI5!Pe\b!!#4`huGtA!'^I&!'^G` +56,X&5C`_uJ9V&YJ,hfa2uk%N!$?_N!$?^k+2Air+2@ju^`3=r^]4n\)upMb!"\!-!"ZjF&)[Ef +&)[EmhuE`fhuF#O!!!8^!!D]j!!hE^"7Q9j#Oh]qp](:!n,NLa!!!,j!!2ip!!D]j!W2ot"8Dis +qu?^!p](<l!!!&p!!)os!!2ip!<)s.!W2otrW!H0qu?_G!!`N'!!%HJ#6=`'!.FnQ!<3$!IfKS$ +rr<%K!!@b$J,k'!"+Ym:!'UA`^jk8BIK0DaIc(3T!!0l_Dub=e!8r5e!.4bHE-NE(qu?_Ap]nY1 +!!#7A"979Z!"XS[It.M~> +Q +q[1 0 0 1 0 0]concat +47 45 true[1 0 0 1 -1331 -1008]@X +imagemask +!!#7!!!!!"s7cQo!!hH]!!!!0J0+ak!$;1O^]4@!!!hE^!.FnMn,NH;!!2ip!;lfsqu?`p!!%HJ +!;lfsIfKNI!!#66!W2ot+2@pT!!"+V!W2ot&)[Kd!!!Pf!W2ot&+BVt!!!8n!WE'!#P\?!!!!9! +!WE'!"8Dor!!!-!!<3$!"8i0!!!!-!!<3$!!W2qI!!!&t!.TM!!WE(KJ,fWL!'bu6!WE'`^]4E7 +!$AuV!<)s?huEcV!"[uf!;lg%huEcT!!D]j!;lg!p](?m!!2ut!VcWpqu?cm!!%HJ!Up'h56(fD +!!!PF#N,R^#N--.!!!&p*rl9@!.XtJ!!!!0n,N~> +Q +q[1 0 0 1 0 0]concat +55 63 true[1 0 0 1 -1374 -990]@X +imagemask +"98D:!!!!(s8Tk7!!!-$s1eU7!!",1z!"[ufz#N,R^!!!!(huE`W!!!8nz!!hunz"7Q9j!!!!$n,NFg +!!!,rz!!Durz!VcWp!!!!"p](9o!!!&tz!!2utz!;lfszr!2]k!!!#u+8c*=!!*!\56(Z`!.Jkt +^]4?7Ic(Ih!!!"KhuiHK!!%Ma!VcWp!'e7!qu?]s5JR8J!!!!`J,k'!!!#66!'^G`!$?^k++O=k +++O>5^]4?V^]5Il!!"+V!"[uf!"ZjF&)[Ef&&8/Un,NG!huF#O!!!Pf!!i9!!!hE^#P\9!#N,Ra +p](:!n,NRg!!!8n!!E-!!!D]j"8i-!"7Q9kqu?^!p](?o!!!,r!!3'!!!2ip!WE'!!VcWqrW!E/ +qu?`r!"T,.!!)uu#6=Z%!<)s'!;lfsrW!0'rVurr!!@cN!!)os"+Yk$!;lg!J:E(Lqu?c5J%u'Z +!!0lbhuNNP!Pj*P!Up'hi-]bMn,NH-GWZ)d!!%9=%gTlM!'fBHrr<$!%tFZX!!~> +Q +q[1 0 0 1 0 0]concat +45 63 true[1 0 0 1 -1427 -990]@X +imagemask +!!*'!qu?]ss8W&u!!*'!rVuou!WN-"!!!#uz!.FnJ!!!"Kz!.OtK!!!!`z!'^G`!!!!`J,fQL!'bu6 +!!!!@J,fQL!$?^k!!!!@^]4?7!$AuV!!!!0^]4?7!"ZjF!!3!.huE`^rt"#f!"X_&huEa!!U&A@ +!'UC4n,NH9!'frQ!.4bgn,NId!"\Q!!;lg%p](<l!!i9!!W2p"p](?m!!2ip!W2ouqu?cq!!2ut +!W2otqu?cq!!)os!W2otrVuus!!)uu!WE'!IK0EJ!!%HJ!WE'!IfKNK!!%KK!<)ru56(]`!!#4` +!<3$!5C```!!#66!.TM!++O?@J,g[A!'bu6+2@k@^]5Il!$AuV&&8/e^]4n\!"[uf&)[EuhuF;G +!!hun&)[Ein,O!W!!2ip&+BQ!qu@8s!!%BH+7K714ocVm!!")@3VWRS%tJWo!!!8^n9=p5!WTqp +!!!!`J/A~> +Q +q[1 0 0 1 0 0]concat +45 45 true[1 0 0 1 -1473 -1008]@X +imagemask +!&srY!!!"Hz!.FnJ!!!"Jz!.FnJ!!!"Kz!.OtK!!!!`z!'^G`!!!!`J,fQL!'bu6!!!!@J,fQL!$?^k +!!!!@^]4?7!$AuV!!!!0^]4?7!"ZjF!!!!0huE`W!"[uf!!!!(huE`W!!hE^!!!!(n,NFg!!hun +!!!!$n,NFg!!D]j!!!!$p](9o!!Dur!!!!"p](9o!!2ip!!!K0qu?]s%fuS.!!!6(qu?]s#6=`' +!!!6(rW!&9"+^CO#N,]7IfL#K"+YlO&+BV8J%uTi!Pj3C#P\>8I..C9!8r6L!Up).GWYuq!-n8\ +"5j/Di!9:t!"ZjGrVu~> +Q +q[1 0 0 1 0 0]concat +38 45 true[1 0 0 1 -1515 -1008]@X +imagemask +!"\i)!!%NKJ,fWF#N,Ra^]Ep)#Clf!!!`K(49,ll!$2+M!!!N0%tFWjJ.LQ<#Cm?C!!g:Mn,N^/ +&+BQ(^^oo7#N,jV!!hE_huF#?!!!!(huE`W&)[Ef!$C,!!!%N,!!!9(huEb,s1eU8s8Tk7"98CO +!!iQ(!!!Q0rVup/s7cQo&-'EF!$D+=!!",!!!!!@^]4?7++O@L!"XS\p](hT"8Dj,J-#QJ%tF]Y +!!e#Squ?u;!.4bK^]6=o!T3r;!!)KgGQ7_g!:Tsg56KgD!"]*[!!!'!!!~> +Q +q[1 0 0 1 0 0]concat +33 63 true[1 0 0 1 -1555 -1008]@X +imagemask +!!hE^!!",=!!!!_*WQ0?Hj9WO!.4m!!!)ot^]4B4!8mhWquC[9!;lh9!!)os2uisV!&srYrW!o< +!<)s<!!%HJ%KHKX!"Ju/IfKZQ!.OtK!!#4`!!!!`z5C`_6!'bu6!!"*k!!!!@J,fQL+2@jV!$AuV +!!!PF!!!!0^]4?7&)[Ef!"[uf!!!8^!!!!(huE`W#Oh]n!!hun!!!,j!!!!$n,NFg"8Dir!!Dur +!!!&p!!!!"p](9o!W2ot!!2ut!!iQ(s*t@Ss8RTOs8W+L!!)uu!!!"JzIK0?J!.OtK!!%KK!!!!`z +56(Z`!'bu6!!#66!!!!@J,fQL++O=k!$AuV!!"+V!!!!0^]4?7&&8/F!"[uf!!!8^!!!!(huE`W +"2Fm~> +Q +q[1 0 0 1 0 0]concat +52 45 true[1 0 0 1 -1589 -1008]@X +imagemask +!!"+V!Up'h!<;g!qu?]tpcK'.!!!,Z%Nc2]!!hEe4pM&f#J^GU"+U@^^]FE:J,g+q!<*#7!"ZjF +IK@4a&&80p!Pe[W^]8iahuFk7!'^JA!$AuV560UA&&800JFEOL^]6TLDu^Ea!$?`1!"ZjF++O=k +&)[F0^]4?FhuFk7!!!8^!"ZjF!!hun&&8/F#Oh^(huE`Zn,O!W!!!,j!!hE^!!Dur#N,R^!VcX" +n,NFhp](Qg!!!&t!!D]j!!)os"7Q:#!<)s#n,Nt!rW!&q!!`LQ!!2ip#695R!VcX"!.OtLp](DH +56(`^!!@a9!!)os!PgpM!;lft^`S(,qu?`T*rl<?!!(q!!!%HJ!,s"[!.FnJ3$&&"IK0?h4obRH +!!!Q-!!!u=!!D]j!!!!~> +Q +q[1 0 0 1 0 0]concat +45 45 true[1 0 0 1 -1643 -1008]@X +imagemask +!!!PfzJ+s!D!!)d8!!!!$n-8pn!!D-]J,fQShuUUn!!g:>huE`f^]8<R!"ZjFDu]kK^]6=o!"ZjF +2uiph^]5>S!"ZjF)uosL^]4iE!"ZjF%KHJ>^]4T>!"ZjF#64`7huEu^!"[uf"+U@VhuEk0!!hun +"+U@Vn,NL)!!D]j!Pe[;n,NL)!!Dur!T3qYp](<P!!2ut!8mhXqu?`T!!)os!:UHurVurf%flS/ +!:U3nIK0B;#695R!:U3nIfKKD"+WT9!VcbI56(`Z!PgpM"8Do4++OIg!8nq!#P\;W*rliH!,s"[ +&,6,a*WQ`G!$4<(#Oh^(qu?ig!!D]j!T3~> +Q +q[1 0 0 1 0 0]concat +65 45 true[1 0 0 1 -1688 -1008]@X +imagemask +!!!Q!!.TM!!!!"KquQiUzr#Q+$p](9o!Up=)J33f3!!D-]T7@s_!!!8^"9/?2!!!!(^]FH8#64`( +&&82E!!@`O!"ZjFrW!%N!!!PF!.FnK^]4?F^]8f`!Pe[8&&80o!!(pW!"ZjFIK0B+!!!PF!.FnJ +Du]kK^]8ia!,qo<&&80p!!$s<!"ZjF56([C!!!Pf!'^G`2uiphhuGtA!&srY#N,SHJ,h\3!!hun +++O>2!!!8n!$?^k)uos@n,OP\!#tt="7Q:4^]4iE!!Dur&&8/T!!!&p!"ZjF%KHJ0p](i?!"Ju/ +!W2p.huF8f!!)os#N,Rm!"K#.!!hE^#6587rW!2]!!`K/!.FnQn,NuL#695R"7Q:$J-Q((!!D]j +%tFb456(fT!"XS^J3O#9p])Cd!PgpM!VcX:J-!G-J-#EF5C`al*rl?:!.TM!i#_q"quD4s!,s"[ +!;lhHJ,hPM!!)osIt.M?4obT\!.TM!&,ZD-2ul/C!!D]j!!!!?!!~> +Q +q[1 0 0 1 0 0]concat +48 45 true[1 0 0 1 -1754 -1008]@X +imagemask +"8Dj\J,g,Z!<:sW*X;`(p]*DYK>9SLIf[U**WU\?mskoKIt7QL#Co%SIt.WO5JVc!!Pfe-5C`dM +%fehE!8mhW5C`al!!"*k!,qo<+2@kq!!"+V!,qo<&&80)!!!PFz&&8/F!!!Pfz#N,R^!!!8^z#N,R^ +!!!8nz"7Q9j!!!,jz"7Q9j!!!,rz!VcWp!!!&p!!!K/!VcWp%KHP-!!!N0!W2ot#64c%!!!6(!;lhA +"+UCN!;lqL!<*#u!Pe^8!WE,X!<3*"!:U!gJH#Ug!;h:r!&t#L^ch`>!TDrX!"Xk#pj<&Ds+!?/ +!!)uu&&8~> +Q +q[1 0 0 1 0 0]concat +47 64 true[1 0 0 1 -1801 -989]@X +imagemask +!"[uf!!!!`qu?]s!:V'1!!!&X#J^<>!Pefq!!!+O!Up'h"7Q<g!!!,r!.4bH"8i-_!!!-!!$;1@ +"8i-@J,fWJ!"ZjF!W2p.^]4@Z!!hE^!!!!(huE`W!!hun!!!!$n,NFg!!Dur!!!!$p](9o+2R^P +!!*&pp](9ppc\NT!!D-hqu?^%i!9/[!!g:Aqu?^-^]FE7!"ZjFrVup/^]=?6!"ZjFIK0?i^]8ia +!$AuV56([*^]6S!!"ZjF56(Zo^]6TL!"ZjF++O>%^]5I,!"[uf++O>%huFk7!!hE^&&8/Mn,O!7 +!!hun&&8/In,O!W!!D]j#N,Rap](QW!!2ip#N,R_p](Qg!!2ut"7Q9jqu?ig%KQJ."7Qg$rW!&q +#692Q!Vcm"IfKNE#695R!VcbI56(`^"+WT9!;ll55C`b3!Pfe-!;liT*rl<?!8nq!!.Foe*rl:i +!&u#"!.Fnh4obRH!"\u-!#tt@n,NFg~> +Q +q[1 0 0 1 0 0]concat +42 45 true[1 0 0 1 -1849 -1008]@X +imagemask +2uj'=!!#+]&,ZD-)uq)[!!"&?5Q:]`%fh+ZJ,fh)s8Tk7#N>RkhuElZhuiHK!WRZMn,NIX!!%6D +!;HNo49,A/!!#+]!'UA_)uos\!!!K/!"T&0%KHJ6J,g&Z!!C":!!!!"huE`W!!)KgzGQ7^D!!#+]z +*WQ0?!!!N0z#CldS!!!,:z!T3qX!!!#gz!-eJD!!!!]z!$2+?!!!!0z!!e#S!!!!$^]4?o!!2!X +!'C5]n,NG.!!)co!$2+Fqu?^-!$D+=!"ZmE*WQ0Fs83B-!!E8r#64`)s6p8D!!*&W"2Fm:J%u*# +!!")@!Pe~> +Q +q[1 0 0 1 0 0]concat +47 77 true[1 0 0 1 -66 -881]@X +imagemask +z!#tt=!!!!_z!.FnJ!!!"Jz!<)ru!!!#uz!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz ++2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKzrVuou!!)uuzqu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg +!!hun!!!!(huE`W!"[uf!!!!0^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#uz +!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz+2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKz +rVuou!!)uu!!!!"qu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg!!hun!!!!(huE`W!"[uf!!!!0 +^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#sz!W2ot!!!&pz!VcWp!!!&hz +!8mhW!!!~> +Q +q[1 0 0 1 0 0]concat +54 44 true[1 0 0 1 -119 -889]@X +imagemask +5Q:ug_>j"Ss,[3?s7h*DTE"Zcr."a=s7cQkJ,bT0j8\m=rs/S?s6p-[!;lg]!!D]jquAq]"7Q<g +!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gc +n,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d +56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcp]19n56(f\!<)s_!!DurrW#._"8i0!!'^GcquH`s56(fb +!<7R6!!E6%s1j'`"96:=nGWDPs8W-!rW%HJs7cQm!.Y%KoDe^gJ+s!'s82kHj8Zppp]*Ops+#Ug +!!!!_!"ZjF~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -171 -889]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -224 -889]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -277 -889]@X +imagemask +&-)Z^s8V"As8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+5d,(n,NG1huF#O!!",1!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jV+918K^]4?Vs8W+L!!"+us8RTL!$BPerr<$!+2e-X!!!!@_#O00 +!!"+V+5d,!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +49 44 true[1 0 0 1 -329 -889]@X +imagemask +#QOi(p](:!s8W,s!!!Q0s8Vus!"],0s82is&-)\0qu?^%s8W,ozrVuou!!!#uz!!)uuz!<)ruzrVuou +!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrVuou!!!#uz!!)uuz!<)ruzrr<$!!!!$!z +!!*$!z!<3$!zs*t(L!!!$!J,fQL!!*%Lz!<9h7zs53kW!!!$!huE`W!!*&gz!<;fozs82j<!!!$! +rW#05!!*#uJ3SPhs8IN;It/(0r]gG_J.M\Z+92@k&-)V6s8RT[s8E-#rr<<(quD6Gz!"\Q!~> +Q +q[1 0 0 1 0 0]concat +54 44 true[1 0 0 1 -382 -889]@X +imagemask +5Q:ug_>j"Ss,[3?s7h*DTE"Zcr."a=s7cQkJ,bT0j8\m=rs/S?s6p-[!;lg]!!D]jquAq]"7Q<g +!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gc +n,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d +56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcp]19n56(f\!<)s_!!DurrW#._"8i0!!'^GcquH`s56(fb +!<7R6!!E6%s1j'`"96:=nGWDPs8W-!rW%HJs7cQm!.Y%KoDe^gJ+s!'s82kHj8Zppp]*Ops+#Ug +!!!!_!"ZjF~> +Q +q[4.8 0 0 -240 640.28 973.68]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +75 71 true[1 0 0 1 -701 -889]@X +imagemask +!WW2p!!*'!s53qXs7cQos8W,W!WW2p!!*'!s53kfs*t(L"97ij!!E3#!!!$!huE`Wqu?]s!<9h7 +!!%BH!!!$!J,fQLGQ7^D!<7QL!!"tY!!!$!J,fQL2uipY!WN-"!!!u=!!!'"z)uos=!WN-"!!!u= +!!!-#z%KHJ/"9&9#!!!K/!!!-#z%fcS0#Q+Q%!!!6(!!!9%z#64`(#Q+Q%!!!7S!!!Q)z"+U@O&,6,) +!!!+O!!!Q!z"2Fm:+7K71!!!&8!!",1z!WW3"s53kW!!!$!s8W,Wz!<<*!s53kW!!!#W!!%Maz!,qo< +J%u$a!!!"<!!%Maz!,qo<s*t(L!!!!Y!!*%Lz!&srYs*t(L!!!!Y!!3*"z!#tt>rr<$!!!!!=!!3*"z +!$2+BrVuou!!!!/!!E3#z!"Ju2rVuou!!!!0!!iE%z!!`K/qu?]s!!!!(!!iE%z!!e#bp](9o!!!!$ +J.MDTz!!@`^n,NFg!!!!$^`W%Gz!!0kWn,NFg!!!!"^d$`Wz!!2"BhuE`Wzi'6-"z!!(r,^]4?7z +E.>Y'z!!$tf^]4?7zE;tFgz!!#"YJ,fQLz3<+L/z!!#%Zzz*WH*>z!!"&>zz+8u6?z!!!Q/zz&,lP/z +!!!Q-zz#Q+Q%z!!!9%zz#P\9!z!!!,rzz"8Dirz!!!,jzz!Up'hz!!!&Xzz!8mhW!!!~> +Q +q[1 0 0 1 0 0]concat +61 68 true[1 0 0 1 -783 -889]@X +imagemask +s8W-!s6p!gs8W-!s8N'!s8W-!s8Tk7!<:sW!<;Ng!.Vca!'g5Y!'e7!!"]&/!'e7!!!E6$!'e7! +!!3+M!'e7!!!3+M!'e7!!!*&7!'e7!!!%N,!'e7!!!%N,!'e7!!!#7Q!'e7!!!#7Q!'e7!!!#7Q +!'e7!!!",9!'e7!!!",9!'e7!!!",9!'e7!!!",9!'e7!!!",9!'e7!!!",9!'e7!!!",1!'e7! +!!#7Q!'e7!!!#7Q!'e7!!!#7A!'e7!!!%N,!'e7!!!%Ma!'e7!!!*%L!'e7!!!*%L!'e7!!!3*" +!'e7!!!E-!!'e7!!!i9!!'e7!!$C,!!'e7!!.TM!!'gM`s8Duu!'gM`s1eU7!'e7!#P\9!!'e7! +!<3$!!'e7!!'e7!!'e7!!$C,!!'e7!!"\i)!'e7!!!iE%!'e7!!!E3#!'e7!!!E3#!'e7!!!3*" +!'e7!!!3+M!'e7!!!*%L!'e7!!!*&7!'e7!!!*&7!'e7!!!*&7!'e7!!!*&7!'e7!!!*&7!'e7! +!!*&7!'e7!!!*&7!'e7!!!*&7!'e7!!!*%L!'e7!!!3+M!'e7!!!3*"!'e7!!!3*"!'e7!!!E3# +!'e7!!!iE%!'e7!!"\i)!'e7!!$C\1!.Vca!'fBA!<:sW!WTq8s8W-!s8N'!s8W-!s7cQos8W-! +s*t(L~> +Q +q[1 0 0 1 0 0]concat +62 72 true[1 0 0 1 -854 -887]@X +imagemask +!!!!"s*t(L!!!!`s7cQo!!!$!s8N'!!!!9(J3SPa!!!Q)!!hE^!!#7A!!)Kg!!*%L!!%BH!!3*" +!!"&?!!E-!!!!N0!!i9!!!!6(!"\Q!!!!+O!$C,!!!!&8!'e7!!!!#7!.Vca!!!#W!<7QL!!!"< +!<3$!!!!"<!WN-"!!!!Q"9&9#!!!!Y"9&9#!!!!9#Q=]'!!!!9#Q+Q%!!!!=&,ZD-!!!!=&,ZD- +!!!!=&,6,)!!!!-+8>g9!!!!-+8>g9!!!!-+8>g9!!!!-+7K71z5O\XQz5O\XQz5O\XQz5O\XQz +5O\XQz5O\XQz5O\XQz5O\XQz5O\XQz5O\XQz5O\XQz5O\XQz5O\XQz5O\XQz5O\XQz5O\XQz+7K71 +!!!!=+8>g9!!!!=+8>g9!!!!=+8>g9!!!!=&,6,)!!!!=&,ZD-!!!!]#Q+Q%!!!!]#Q+Q%!!!!] +#Q=]'!!!"H"9&9#!!!"H!WE'!!!!"H!WN-"!!!#s!<3$!!!!#s!<7QL!!!&t!.Vca!!!&t!'e7! +!!!-!!$C,!!!!9%!"\Q!!!!9%!!i9!!!!Q-!!E-!!!",=!!3'!!!#1[!!*%L!!)fl!!#7A!!2#* +!!!Q)!!g;e!!!9(J3SQH!!!$!s8E!<!!!!`s7cR6!!!!"s*t(X~> +Q +q[1 0 0 1 0 0]concat +74 68 true[1 0 0 1 -918 -889]@X +imagemask +!WW3"s8RTL!!!'"s8W-!p](9o!WW3"s8W*!zs53kZs1eU7!!%N,!!#7Az5JR7!&,6,)!!#7!!!!-!z +5JR7!!WE'!!!#7!!!!$!z5JR7!!.TM!!!#7!!!!!`^]4?75JR7!!$C,!!!#7!!!!!0n,NFg5JR7! +!"\Q!!!#7!!!!!(p](9o5JR7!!!iE%!!#7!!!!!$qu?]s5JR7!!!E3#!!#7!!!!!"rVuou5JR7! +!!3*"!!#7!!!!!"rr<$!5JR7!!!3*"!!#7!zs*t(L5JR7!!!*%L!!#7!zs*t(L5JR7!!!*&7!!#7!z +s1eU75JR7!!!*&7!!#7!zs1eU75JR7!!!*&7!!#7!zs1eU75JR7!!!*&7!!#7!zs1eU75JR7!!!*&7 +!!#7!zs1eU75JR7!!!*&7!!#7!zs1eU75JR7!!!*&7!!#7!zs1eU75JR7!!!*&7!!#7!zs1eU75JR7! +!!*&7!!#7!zs*t(L5JR7!!!*%L!!#7!zs*t(L5JR7!!!3+M!!#7!!!!!"rr<$!5JR7!!!3*"!!#7! +!!!!"rVuou5JR7!!!E3#!!#7!!!!!$qu?]s5JR7!!!E-!!!#7!!!!!(p](9o5JR7!!!i9!!!#7! +!!!!0n,NFg5JR7!!$C,!!!#7!!!!!@huE`W5JR7!!'e7!!!#7!!!!"KJ,fQL5JR7!!<3$!!!#7! +!!!'!z5JR7!#Q+Q%!!#7!!!!Q!zJ)C;,J)C;,!!*&W!!E7O!!!'"s8W-!rVuou!WW3"s8Vio!!!'" +s8W-!J,fQL~> +Q +q[1 0 0 1 0 0]concat +69 68 true[1 0 0 1 -993 -889]@X +imagemask +!WW3"s8W-!J-#]Ms8W-!s*t.Ms8W-!s8RTL!WV'X!$D5k!!%N,!!!'"J,fS!^]4?7J%u$a5JR7! +!$AuV!'e7!!!!PF!!#7!!!!!(^]4@!^]4?7"2Fm:5JR7!!!C":!'e7!!!!&X!!#7!!!!!"huEaA +^]4?7!8mhW5JR7!!!(pW!'e7!!!!#W!!#7!z?iU0k^]4?7!,qo<5JR7!!!$s<!'e7!!!!"<!!#7!z +0E;);^]4?7!&+BQ5JR7$J,h8'!'e7!"+UA2!!#7!!!@`O2uiqC^]4Ie!&srY5JR7$J,fQL!'e7! +"+U@O!!#7!!!@`O!!!!`^]4Uiz5JR7(J,fQL!'e7!%tFW[!!#7!!$?^k!!!!`^]8k7z5QCc`J,fQL +!'gM`s*t(L!!#7`s8RTL!!!!`^]8k7z5JR7@J,fQL!'e7!%tFW[!!#7!!!e#S!!!!`^]4Uiz5JR7$ +J,fQL!'e7!"+U@O!!#7!!!@`O!!!!`^]4Ie!5JR75JR7$J,m@b!'e7!"+UEf!!#7!!!!!"^]4@! +^]4?7!Pe[85JR7!!!0k8!'e7!!!!%M!!#7!!!!!"J,fR6^]4?7"+U@O5JR7!!!@`O!'e7!!!!+O +!!#7!!!!!(J,fR6^]4?7#CldS5JR7!!"XS[!'e7!!!!N0!!#7!!!!!@!!!!`^]4?756(Z`J%u$a +!.OtK!.Wo,!!3*"!!3,h!!",@!!3-"s8W-!rr<*"s8W-!s8N'"s8W-!s8W&u~> +Q +q[1 0 0 1 0 0]concat +65 68 true[1 0 0 1 -1061 -889]@X +imagemask +!WW3"rVuou!!3-"s8Duu!!!'"s8W&uz!WVopz!!%N,z!!!"KhuE`Wz5JR7!z!'e7!z!!#7!z!!!!` +^]4?7z5JR7!z!'e7!z!!#7!z!!!!`^]4?7z5JR7!z!'e7!z!!#7!z!!!!`^]4?7z5JR7!z!'e7!z +!!#7!z!!!!`^]4H:z5JR7$z!'e7!#64`(!!#7!!!`K(!!!!`^]4T>z5JR7(z!'e7!#64`(!!#7! +!"T&0!!!!`^]4lFz5JR7@z!'e7!rr<$!!!#7`s8N'!!!!!`s8W*!z5QCc`z!'e7!rr<$!!!#7!!'^G` +!!!!`^]4lFz5JR70z!'e7!#64`(!!#7!!!`K(!!!!`^]4T>z5JR7(z!'e7!#64`(!!#7!!!`K(!!!!` +^]4H:"+U@O5JR7$!!@`O!'e7!!!!*$!!#7!!!!!$!!!!`^]4?7!rr<$5JR7!!!<3$!'e7!!!!6( +!!#7!!!!!(!!!!`^]4?7#64`(5JR7!!!`K(!'e7!!!!N0!!#7!!!!!/!!!!`^]4?7%KHJ/5JR7! +!$2+?!'e7!!!#1_!!#7!!!!!_!!!!`^]4?7IK0?JJ%u$a!WE'!!.Wo,!!iK'!!3,h!!#7]!!3-" +s8W-!qu?cts8W-!s82its8W-!s8Vus~> +Q +q[1 0 0 1 0 0]concat +69 72 true[1 0 0 1 -1132 -887]@X +imagemask +!!!!"s1eU7z5QCW]z!<<*!!"8i-!!iOS+2Air!!!Q-!!D^Q!!!!`huEcPHiO-Hs*t(L4T#0Z!WN-" +!$;%<!!E-!!!!Q-!!!9!!!!!0qu?^-n,NFg#Q+Q%+5d,!!!iE%!'e7!!!!9%!!%Ma!!!!(qu?`s +J,fQL#Q+Q%rr<$!!!iE%!WN-"!!!9%!!3'!!!!!(qu?iuz#Q+Q,rVuou!!iE%#Q+Q%!!!9%!!iE% +!!!!(qu@9*z#Q+Q4p](9o!!iE%+8>g9!!!9'!$Ct9!!!!@rr=/9!!!"Ks8Vj9n,NFgJ,fQD5O\XQ +!.Y%Kpcn6Jz!!#7Qz!!!!`n,NFgz5O\XQz!'frQz!!#7Qz!!!!`n,NFgz5O\XQz!'frQz!!#7Qz +!!!!`n,NFgz5O\XQz!'frQz!!#7Qz!!!!`n,NFgz+7K71!!!!=!$Ct9z)uq)Uz!#tt\p](9o!!!u= +&,6,)!!!!=!"\u-z49,Waz!'C5dqu?]s!!#+]#Q+Q%!!!!]!!E3#zHiO3Hz!.4bIrr<$!!!)os!<3$! +!!!#s!!*%L!!!!"qu?_H^]4?7!W2ot5JR7!!!E-!!$C,!!!!9%!!!Q!!!!!(qu?^%p](9o&,ZD- +"8i-!!$D+=!!3*"!!#1[!!!$!J,fTEqu?]s5MuMBn9b39!"\i)#Jb]e!!!9(J3SQHzs8W&u)uos= +!'gMY!#tt=!!!'"J,fuX~> +Q +q[1 0 0 1 0 0]concat +75 68 true[1 0 0 1 -1202 -889]@X +imagemask +!WW3"p]LQrs53qXs8Virs8W,W!WW3"p]LQrs53kXs7cQo"979Z!!%N,!!!$!^]4?7J)C;,!<7QL +!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL +!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL +!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL +!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL +!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL!!#7`s8W-!J,fQL5QCc`s8RTL +!!#7`s8W-!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL +!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL +!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL +!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL!!#7!!!!$!J,fQL5JR7!!<7QL +!!#7!!!!$!J,fQL5JR7!!<7QL!!%N,!!!$!J,fQLJ)C;,!<9h7!!3,p!!!-$huEfXs8Virs8W,W +!WW3"p]LQrs53qXs8Virs8W,W~> +Q +q[1 0 0 1 0 0]concat +37 68 true[1 0 0 1 -1276 -889]@X +imagemask +!WW3"p]:Eps7cWps8Vio!WVop!!%N,!!!"KhuE`W5JR7!!'e7!!!#7!!!!!`^]4?75JR7!!'e7! +!!#7!!!!!`^]4?75JR7!!'e7!!!#7!!!!!`^]4?75JR7!!'e7!!!#7!!!!!`^]4?75JR7!!'e7! +!!#7!!!!!`^]4?75JR7!!'e7!!!#7!!!!!`^]4?75JR7!!'e7!!!#7!!!!!`^]4?75JR7!!'e7! +!!#7!!!!!`^]4?75JR7!!'e7!!!#7!!!!!`^]4?75JR7!!'e7!!!#7!!!!!`^]4?75JR7!!'e7! +!!#7!!!!!`^]4?75JR7!!'e7!!!#7!!!!!`^]4?75JR7!!'e7!!!#7!!!!!`^]4?75JR7!!'e7! +!!#7!!!!!`^]4?7J)C;,!.Wo,!!3,p!!3-"s7cWps8Vips8W,o~> +Q +q[1 0 0 1 0 0]concat +42 70 true[1 0 0 1 -1320 -887]@X +imagemask +!"\i)!!!"Krr<$!!Uq2H!!!8>&)[Ef%fc_,!!"&?!W2ot49,E]!!"tY!<3$!IfKKK!!%Ma!.TM! +s1eVaJ,oW-!.Vcas53lA^]=Dm!'e7!s53lAhuNf8!'fBAJ%u%KhuH!W!'fBA*rl:*huE`W!'fBA +!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA +!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA +!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA +!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!'fBA +!!!!`huE`W!'fBA!!!!`huE`W!'fBA!!!!`huE`W!.Wo,!!!'"n,NFns8W,7!!iQ(s1eU>s8W,7~> +Q +q[1 0 0 1 0 0]concat +77 68 true[1 0 0 1 -1363 -889]@X +imagemask +!WW3"p](j)s7cWps8Vio&-)\)!WW3"p](j)s7cQps7cQo!<<'!!!%N,!!!"Kqu?]sJ)C;,!.XbD +!!#7!!!!"Kn,NFg5JR7!!.Wo,!!#7!!!!"K^]4?75JR7!!<9h7!!#7!!!!'"J,fQL5JR7!!WN-" +!!#7!!!!-$z5JR7!#Q=]'!!#7!!!!9%z5JR7!&,ZD-!!#7!!!",9z5JR7!+7K71!!#7!!!#7Qz5JR7! +J)C;,!!#7!!!%Maz5JR7!s1eU7!!#7!!!3+Mz5JR7$rr<$!!!#7!!!E6$z5MuMHrVuou!!#7Q!"\u-z +5PP3hp](9o!!#7]!$Ct9z5McB)n,NFg!!#70!'fBAz5KA;(huE`W!!#7$_#M1Mz5JZ4WJ,fQL!!#7! +EW:Ohz5JTA\z!!#7!+8u6?z5JRg/z!!#7!#Q+Q%z5JRBrz!!#7!!VcWpz5JR9gz!!#7!!-eJDz5JR7] +z!!#7!!$2+?z5JR70z!!#7!!!e#Sz5JR7$^]4?7!!#7!!!2!Xz5JR7!n,NFg!!#7!!!%6Dz5JR7! +49,?]!!#7!!!"&?z5JR7!%fcS0!!#7!!!!7Sz5JR7!!Pe[8!!#7!!!!#Wz5JR7!!,qo<!!#7!!!!!Yz +5JR7!!#tt=!!#7!!!!!@z5JR7!!$?^k!!%N,!!!!@huE`WJ)C;,!$Ct9!!3,p!!!"Krr<*"s8Vio +!WW2h!WW3"p](?ps6p'hs8Vio!WW2h~> +Q +q[1 0 0 1 0 0]concat +62 68 true[1 0 0 1 -1441 -889]@X +imagemask +!WW3"s8W,W!WW3"s8W,W!WW3"s8W,W!!3,X!!iPn!!%N,!!*&g!!%Ma!!#7Q!!#7!!!!Q!!!#7! +!!!8n!!#7!!!!,j!!#7!!!!&h!!#7!!!!#g!!#7!!!!#g!!#7!!!!"D!!#7!!!!"D!!#7!!!!"D +!!#7!!!!!Y!!#7!!!!!Y!!#7!!!!!Y!!#7!!!!!Y!!#7!!!!!9!!#7!!!!!9!!#7!!!!!9!!#7! +!!!!=!!#7!!!!!=!!#7!!!!!=!!#7!!!!!=!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z +!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z +!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z!!#7!z +!!#7!z!!#7!z!!#7!z!!%N,z!!%N,z!!3,pz!WW3"rVuou!WW3"rVuou!WW3"rVuou~> +Q +q[1 0 0 1 0 0]concat +84 68 true[1 0 0 1 -1512 -889]@X +imagemask +s8W&u!rrB%s8VTgs8E!'!!3-"s7$'grW!1R!WW3"n-B!/!"XS[!WV'X!WE'!&&8/FJ%u$aqu?^- +^]4@aJ,fRo!!"+V!!%M!!!"tY!$C,!!.TM!!&srY5MuMAIt.M!2uiqCn,NH<J,fR/!!#6f!!%M! +!!"tY!.V3Q!.TM!!&srYJ!^39It.M!2uisY(]XPcJ,fR/!!*$=!!%M!!!"tY!<3H-!.TM!!&srZ +rX8c,It.M!2uj!Y"onXQJ,fR/!!3!%!!%M!!!"tY"8i?'!.TM!!&sr\quZp!It.M!2uj3Y!rr=N +J,fR/!!i9$J,k(L!!"tY#OhbE!.TM!!&srhn,\%>It.M!2ujKY!5JSaJ,fR/!$C,!^]8k7!!"tY ++5d.W!.TM!!&ss#^]7aBIt.M!2ul1Y!+5eVJ,fR/!'e7!0E?TQ!!"tYIt.MQ!.TM!!&st.J,hP/ +It.M!2unGY!#P]cJ,fR/!<3$!(]]&9!!"tYrr<$-!.TM!!&suX!!!E-It.M!3!'!Y!"8jWJ,fR/ +!WE'!"os.'!!"t\qu?^$!.TM!!&t)Y!!!6(It.M!3!8pU!!<4NJ,fR/#P\9!!s!h$!!"t`p](9p +J:E(L!&tMY!!!%MIt.M!3"PKY!!0lbJ,fR/&)[Ef!5O)7!!"u#huE`W^jgk7!&u(Y!!!",It.M! +3$5p9!!$DVJ,fR/5JR7!!-!F<!!"uC^]4?70RnTQ!'#IY!!!!QIt.M!3.HGY!!!jcJ,fR/IfKHK +!#U39!!#"Yz(k7&9!''uY!!!!-It.M!3W9!Y!!!FWJ,fR0rVuou!"OL/!!#%Wz#(M.'!'C)Y!!!!' +It.M!48]'Y!!!+NJ,fR6p](9o!!@_$!!%NDz"96.:!<;fo!!!!"s53nWs6p!g!!!'"s7$'gn,NFg +!!*'!nGiOHz!<<)g~> +Q +q[1 0 0 1 0 0]concat +75 68 true[1 0 0 1 -1595 -889]@X +imagemask +!WW3!!!!!"J,fWMs8Duu!!@`O!WW3!!!!!(J,fQ[s1eU7!"XS[!!3'!!!!!0J,fQLqu?]s!$?^k +!!%6D!!!!`J,fQLGQ7^D!'bu6!!$s<!!!"KJ,fQL0E;(Q!<7QL!!"\Q!!!$!J,fQL0E;(Q!WRZM +!!"\Q!!!-$J,fQL0E;(Q"93lO!!"\Q!!!9(J,fQL0E;(Q&-%.[!!"\Q!!!Q,J,fQL0E;(Q+8^Qg +!!"\Q!!#7TJ,fQL0E;(Q5N@7o!!"\Q!!%N/J,fQL0E;(Qs20?e!!"\Q!!*%OJ,fQL0E;(Rs+>h% +!!"\Q!!E6'J,fQL0E;(TrW@ZN!!"\Q!!iE(J,fQL0E;(`qu_HL!!"\Q!$Ct<J,fQL0E;(pn,n1@ +!!"\Q!'frTJ,fQL0E;*&hueK0!!"\Q!.VcdJ,fQL0E;+Q^]T)e!!"\Q!WRZPJ,fQL0E;.R!!@`O +!!"\Q"9/?'J,fQL0E;@W!!@`O!!"\Q#Q+Q(J,fQL0E;X]!!@`O!!"\Q+8>g<J,fQL0E<3a!!@`O +!!"\Q5O\XTJ,fQL0E?U\!!@`O!!"\QJ%u$dJ,fQL0ED-g!!@`O!!"\Rs*t(OJ,fQL0EM1R!!@`O +!!"\TrVup#J,fQL0F.RW!!@`O!!"\Xqu?^!J,fQL0G!pY!!@`O!!"\pp](9rJ,fQL0L,%,!!@`O +!!"];huE`ZJ,fQL0Rr!\!!@`O!!"_Q^]4?:J,fQL0`QY'!!@`O!!"bRJ,fQOJ,fQL1]IFT!!@`O +!!"hS!!!!$J,fQL2uWdW!!C":!!#7]!!!!(huE`WJ+s!D!"\Q!!!%ND!!!"Kqu?cts6p!g&-)[f +!WW2X!!!Q0s53qXs1eU7&-)[f~> +Q +q[1 0 0 1 0 0]concat +68 72 true[1 0 0 1 -1677 -887]@X +imagemask +!!!!(rr<$!zJ,f!<z!WW3!z!"]&0s*t(L!!",1!'fBA!!!"K^]4o7zrr<$(qu?]s"9&9#!WE'!!!iE% +!!*$!!!!Q)!!!"KJ,fQkn,NFg5JR7!5MuMA!'fBA!'e7!!!",1!!%Ma!!!!0p](<oJ,fQL&,6,* +rr<$!!!iE%!WN-"!!!9'!!E3#!!!!$rW!'"z"9/?+rVuou!!3*"#Q+Q%!!!'"J.MPX!!!!"s*tXXz +!<7Q[p](9o!!*&7+8>g9!!!$!^`W=Ozs1f`Oz!.Wokp](9o!!%N,5O\XQ!!!"Ki'6]2zJ)EQ\z!.Wok +n,NFg!!%N<5O\XQ!!!"Kn3?CBzJ+,\lz!.XK&n,NFg!!#7Q5O\XQ!!!!`n3?CBz5O^o,z!'fs;n,NFg +!!#7Q5O\XQ!!!"Kn3?CBzJ)EQ\z!.Wokn,NFg!!%N,+7K71!!!"Ki#hFgzJ)DFDz!.Vd+p](9o!!%Ma +&,6,)!!!"K^^p2?zs*tXTz!<7QSqu?]s!!*%L#Q+Q%!!!'"!!E-!!!!!"rr<0#z!WE'"rVuou!!E-! +!<)ru!!!-!!!*$!!!!!(p](;DJ,fQL#Oh]n5C`_6!"\Q!!$AuV!!!Pf!!",!!!!!@^]4?FhuE`W +5C`_6#Oh]n!.OtK!!2ip!!)uu!!!#s!!!&tzIfKHNn,NFg!$?^k&)[Ef!!!8^!'bu6!!!!"rW2uuz +!.Y%<z!!!9(z~> +Q +q[1 0 0 1 0 0]concat +66 68 true[1 0 0 1 -1747 -889]@X +imagemask +!WW3"p](9o!!3-"s7cQo!!!'"s8Vioz!<;foz!!%N,z!!!!`huE`Wz5MuMAz!'fBAz!!#7Az!!!!` +huE`Wz5MuMAz!'fBAz!!#7Az!!!!`huE`Wz5MuMAz!'fBAz!!#7Az!!!!`huE`Wz5MuMAz!'fBAz +!!#7Az!!!!`huE`Wz5MuMAz!'fBAz!!#7Az!!!!`huE`Wz5MuMAz!'fBAz!!#7Az!!!!`huE`Wz +5MuMAz!'gM`s*t(L!!#7`s8VQg!!!!`s8W,uz5JR7(s*t(L!'e7!!.Vca!!#7!!!",!!!!!`^]4?F +p](9o5JR7!#Q+Q%!'e7!!!E3#!!#7!!!!-#!!!!`^]4?8rr<$!5JR7!!WN-"!'e7!!!3+M!!#7! +!!!$!J,fR6^]4?7s1eU75JR7!!<9h7!'e7!!!*&7!!#7!!!!$!^]4@!^]4?7s1eU75JR7!!<9h7 +!'e7!!!*&7!!#7!!!!$!^]4@!^]4?7s1eU75JR7!!<7QL!'e7!!!3+M!!#7!!!!'"!!!!`^]4?8 +rr<$!5JR7!"9&9#!'e7!!!E-!!!#7!!!!9!!!!!`^]4?Fn,NFg5JR7!+5d,!!.Wo,!.Vca!!*&W +!!iN(!!3-"s8W,s!!!'"s8W-!n,NFhs8W-!rr<$!~> +Q +q[1 0 0 1 0 0]concat +68 89 true[1 0 0 1 -1823 -870]@X +imagemask +z!!!8nz!!!!@qu?]sz5Q1W_z!.Y"Kz!!*'!J,fQL!!!'"s*t(L!!!!"s8Tk7z!WW28z!!E9$huE`W +!!!-$s53kW!!!!$r"%]cz#P\Djz!!huon,NFg!!!8^!:Tsg!!!!(^]8<Rz#Cle.z!!e#S0E;(Q#QG;7 +!&+BQ!.Y%K!!"\Q!!3*#rr<$Q!!!Q/!'bu6!!!!@bQ&13zIi&/-p](9o!<*f8*W,m;!!E-9!$(t< +!!!9!(]YD&!!!!0n/)-b5C`_6+5dt90H\(1!'e7=!,s%<!!#66$io2rn,NH<J.;Uq#P\9!rr<9+ +J-YiL!WN-%rr<0!!!3'!!;lg!rW!'"z!WE'$qu?]s!!3*"#Q+Q%!!!'"!!iE%zs*tXTz!<7Q[p](9o +!!*&7&,6,)!!!"K^`W=OzJ&!/qz!.Vd+n,NFg!!%N,5O\XQ!!!"Ki'6]2zJ)EQ\z!'fC+n,NFg!!#7A +5O\XQ!!!!`n3?CBz5O^o,z!'fs;n,NFg!!#7Q5O\XQ!!!!`n3?CBz5O^o,z!'fs;n,NFg!!#7Q5O\XQ +!!!!`n3?CBz5O^o,z!'fC+n,NFg!!#7A5O\XQ!!!"Ki#hFgzJ)DF<z!.WoKn,NFg!!%Ma+8>g9!!!"K +^^p2?zJ%uTiz!<7Q[p](9o!!*%L#Q+Q%!!!$!J-YuP!!!!"rr<0!z!WN-%rVuou!!3'!!WE'!!!!-! +!!*$!!!!!$qu?`sz#P\9!It.M!!!hun!'bu6!!!Q!!!"+V!!!!@huEa!huE`W+2@jV&)[Ef!'bu6 +!!hun!!%KK!!!&p!!!#uzrVup!qu?]s!.OtK#Oh]n!!"+V!"[uf!!!!(n,P\'z!WE-!z!!%NKn,NFg +!!!!(rr<$!!!~> +Q +q[1 0 0 1 0 0]concat +77 70 true[1 0 0 1 -1893 -887]@X +imagemask +z!!!!"rVuouz!$D5k!WW3"p](;D_nZ<Qs8Vio!<3&W!WW3"p](?p!8mhWs6p!g"9&:>!!%N,!!!9' +!&+BQ5JR7!&,ZD]!!#7!!!!Q-!&srY5JR7!&,ZDe!!#7!!!",=!&srY5JR7!+8c*U!!#7!!!",9z +5JR7!+8>g9!!#7!!!",9z5JR7!+8>g9!!#7!!!",9z5JR7!+8>g9!!#7!!!",1z5JR7!+7K71!!#7! +!!",1z5JR7!+7K71!!#7!!!",1z5JR7!+7K71!!#7!!!",!z5JR7!5MuMA!!#7!!!#7Az5JR7!5JR7! +!!#7!!!%Maz5JR7!It.M!!!#7!!!*$!z5JR7"rVuou!!#7!!!E-!z5JR70n,NFg!!#7!!'fBAz5QCc` +z!!#7`s8Tk7z5JR7@n,NFg!!#7!!!3'!z5JR7!IfKHK!!#7!!!#7!z5JR7!+5d,!!!#7!!!!Q!z +5JR7!#P\9!!!#7!!!!9%z5JR7!"9&9#!!#7!!!!-#z5JR7!"9/?$!!#7!!!!-$z5JR7!"9/?$!!#7! +!!!-$J,fQL5JR7!!WRZM!!#7!!!!-$J,fQL5JR7!"93lO!!#7!!!!-$J,fQL5JR7!"9/?$!!#7! +!!!-$z5JR7!"9/?$!!#7!!!!-#z5JR7!#Q+Q%!!#7!!!!9%z5JR7!&,6,)!!#7!!!",1z5JR7!5MuMA +!!#7!!!%M!zJ)C;-rr<$!!!*&W!$D+=!!!'"s8W-!n,NFg!WW3"s8RTL!!!'"s8W,oz~> +Q +q[1 0 0 1 0 0]concat +46 72 true[1 0 0 1 -1974 -887]@X +imagemask +0E;X_!!"\Qs8Tk73!93\n,PQ]p]L9k4?n>rrW#-0!!#4`5PP3Y++QT6!!!O[5JR7!#J`QS!!!8^ +56(Z`"5l?C!!!,j4obQ_!Ur2O!!!&p49,?]!VeVS!!!&p2uipY!VeVS!!!&t2uipY!W4VO!!!&t +0E;(Q!W4VO!!!&t0E;(Q"8jhQ!!!-!+92BA#P\9!!!!9!z&,6,)!!",9z5O\XQ!!%N<!!!!"s53kW +!$D7!!!!'"s1eU7+92@k!!3-"s*t([s8W*!!$D7@qu?_Hs8Vio!<<*!n,NLhs8Tk7"98E#!!!9( +s1eU7#QO]%!!!Q0^]4?7+8u6?!!",=z+7K71!!#7A!!!!a5JR7!!+8%,!!!#W5C`_6!8p(l!!!#W +56(Z`!8p'A!!!#W56(Z`!T60B!!!&X56(Z`!T60B!!!,Z56(Z`"5k7$!!!8^++O=k#N-,C!!!Pf +&&8/F+5dC>!!",!"5j.Z5MuY5!!*&W!VcWqoABWJ!!gF"!'buuJ`$MMs8E#V!!iQ!!8mhWJ%u%l~> +Q +q[1 0 0 1 0 0]concat +64 67 true[1 0 0 1 -2030 -889]@X +imagemask +!!iQ(s8V!W!!iQ(s8V!W!!iQ(s8V!W!!!$!rVuou!!!!@p](9o!!!!@p](9o!!!!@n,NFg!!!!@ +n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg +!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@ +n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg +!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@ +n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg!!!!@n,NFg +^]4?Vn,NFj^]4?Vn,NFj^]4?Vn,NFj^]4?Vn,NFnhuEa!n,NFnhuEa!n,NFnhuEa!n,NFnhuEa! +n,NFnhuEa!n,NFnhuEa!n,NFun,NG1n,NFuDu]k[n,NFuDu]k[n,NFuGQ7^cn,NG0GQ7^cn,NG0 +HiO-gn,NGPIK0?in,NH;It.M@p](?oJ+*G&p](j(J,fQKs8W,uJ,fQKs8W,uJ,fQKs8W,s~> +Q +q[1 0 0 1 0 0]concat +75 70 true[1 0 0 1 -2094 -887]@X +imagemask +z"9&9#z!!#7`^]4?7zs8Vioz!!E3$qu?]s!!!!0n,PZQz!$AuV%tFW[!!!!`J,fhiz!.OtK!T3qX +!!!#u!!!#gz!W2ot!,qo<!!!-!!!!"Dz#P\9!!'C5]!!!9!!!!!=z&+BQ!!$2+?!!!Q!!!!!/z+5d,! +!"Ju/!!",!!!!!(z+5d,!!!`K(!!#7A!!!!(z5MuMA!!e#S!!#7A!!!!$J,fQL5MuMA!!@`O!!#7! +!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7! +!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7! +!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7! +!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7! +!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7! +!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7! +!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!@`O!!#7!!!!!$J,fQL5JR7!!!g:>!!%N, +!!!!(^]4?7J)C;,!$C\1!!3,p!!!"Kqu?cts8Vio&-)[f!WW3"p](j)s53qXs8Vio&-)[f~> +Q +q[1 0 0 1 0 0]concat +77 70 true[1 0 0 1 -2168 -887]@X +imagemask +z!8mhWz!!!&Xzz!Up'hz!!!,jzz"8Dirz!!!,rzz#P\9!z!!!9%zz&,ZD-z!!!Q/zz&,lP/z!!",?zz ++9)<@z!!#7Xzz5N`"Hz!!#7DJ,fQLzJ)c%Zz!!%Md^]4?7zJ&/o#z!!*%M^]4?7zs+0).z!!3+M +huE`W!!!!"rrCsWz!!3*"Du]k<!!!!$rr@!<z!!E3#GQ7^D!!!!$rW"nXz!!iE%2uipY!!!!(qu@]:z +!"\u-)uos=!!!!0p])?8z!"\i)%KHJ/!!!!@n,Npuz!$C\1%fcS0!!!!@n,N[nz!'fBA#64`(!!!!` +huEk0z!.Wo,"+U@O!!!"K^]4JPz!.Vca!Pe[8!!!$!J,fVcz!<7QL!T3qX!!!'"J,fT-z!WN-"!8mhW +!!!'"!!!"<z"9/?$!,qo<!!!-#!!!"Dz"9&9#!&srY!!!9%!!!!Yz#Q+Q%!'C5]!!!Q-!!!!=z&,6,) +!$2+?!!!Q)!!!!/z+8>g9!"Ju/!!",1!!!!0z+7K71!!`K(!!#7A!!!!(z5MuMA!!@`O!!%N,!!!!$ +J,fQLJ%u$a!!C":!!%Ma!!!!"^]4?7s1eU7!!0k8!!*%L!!!!"huE`Ws*t(L!!2Qh!!3+M!!!!$ +p](9rs*t(L!!iE%!!iP^!!!!@s*t4Os8RTL!<<)o"98E$J,fTLs7c]rs8RTL!<<)o~> +Q +q[1 0 0 1 0 0]concat +105 70 true[1 0 0 1 -2242 -887]@X +imagemask +z)uos=!8mhWz!!"&?!!!#Wzz*WQ0?!Up'hz!!#1_!!!&hzz4obQ_!Up'hz!!#4`!!!,rzzIfKHK +"8Dirz!!%KK!!!,rzzIt.M!#Q+Q%z!!*%L!!!9%zzs*t(L#Q+Q%z!!*&7!!!Q/z!!!!"s1eU7&,lP/z +!!3,8!!!Q/z!!!!"s53kW&,uV0z!!E4.!!",8z!!!!$ra5^++7fI4z!!E4>!!",4J,fQL!!!!(r%J*N +5N@7oz!!iEU!!#7BJ,fQL!!!!(r&=ZV5N0BXz!"\iA!!%Mb^]4?7!!!!0p_Wu2J&&i"z!"\iE!!%Ma +huE`W!!!!@n/ME.s+'#-z!$C\=!!*%L?iU0,!!!!@n.#Eus+#%gz!'fBO!!3*"Du]k<!!!!`i!'/^ +rr=_Qz!'fBH!!3*"0E;(Q!!!"K^]siArW"nXz!.Vcd!!E3#(]XO9!!!"K^]T)hrW!c8z!<7QOJ-YuP +)uos=!!!$!J,t0*qu@-*z!<7QM^^'c;$ig8-!!!'"!!0kGp](d(z!WN-"^^p2?"onW'!!!'"!!(pf +p](Kuz"9/?$i#hFg#64`(!!!-#!!$CKn,NOjz"9&9#E$+QL!rr<$!!!9'!!$t&huEk0z#Q+Q%0L+Iq +!It.M!!!9%!!"uChuEe.z#Q+Q%3.J^D!Pe[8!!!Q)!!!jc^]4DNz&,6,)*.Pa(!5JR7!!!Q)!!"#= +J,fT-z+7K71%0(hX!8mhW!!",1!!!H-J,fRWz+7K71&,uV0!,qo<!!#7A!!!9(!!!"<z5MuMA#QFc( +!&+BQ!!#7A!!!9'!!!!YzJ%u$a"9&9#!&srY!!%Ma!!!-#!!!!9zJ%u$a#Q=]'!#tt=!!*%L!!!9% +!!!!=zs*t(L#Q+Q%!"8i-!!*%L!!!9%!!!!/!!!!"rr<$!&,6,)!"Ju/!!3*"!!!Q)!!!!/!!!!" +rr<$!&,6,)!"T&0!!E6$!!",9!!!!@J,fQOrr<$!5PP3Y!'e7!!"]+F!!%NJ!!!'"p](Ers8N'@ +s8Vio&-)Z["98E$!$D7@p](j)s*t4Os8N'@s8Vio&-)Z[~> +Q +q[1 0 0 1 0 0]concat +76 68 true[1 0 0 1 -2344 -889]@X +imagemask +"98E!!!%NKs6p-js82isJ,fQ<"98E!!!%NKs6p"!s53kW&-)D)!!3,8!!!-$huE`WIt.M!!WTq8 +!!#4`!!!'"J,fQL*rl9@!WN-"!!!N0!!!-$z#CldS#Q=]'!!!7S!!!9%z"2Fm:&,ZD-!!!&X!!",9z +!T3qX+8>g9!!!#g!!#7Qz!-eJDJ)C;,!!!!Y!!%N,z!'C5]s1eU7!!!!?!!3+Mz!"Ju0s*t(L!!!!0 +!!E6$z!!e#ZrVuou!!!!$J-Z&Rz!!C"Iqu?]s!!!!"i#h^oz!!(q!p](9ozn3?CBz!!%7nhuE`Wz +3.Kidz!!#.]^]4?7z+9-ikz!!!Q0J,fQLz&,uV0z!!!9'zz#Q=]'z!!!Q-zz+8>g9z!!",9zz5O\XQz +!!%NDzzJ+s!Dz!!*&sz!!!!"s.02jz!!3+[z!!!!$rso)0z!!iK.J,fQL!!!!(rWBq9z!"\u0^]4?7 +!!!!@p]9:Qz!$Ct9n,NFg!!!!`n,VqXz!.Wo,GQ7^D!!!"KhuGk>z!<9h7)uos=!!!'"J,gVjz!WRZM +%fcS0!!!-$!!!6(z#Q=]'#CldS!!!9'!!!,:z&,ZD-"2Fm:!!",9!!!&Xz+8>g9"7Q9j!!#7Y!!!-!z +J,B9H#QFc(!!3-"!!",@huEcWs8V!Ws8W*!!<<*!huNfWrr<'!s8V!Ws8W*!~> +Q +q[1 0 0 1 0 0]concat +78 68 true[1 0 0 1 -2418 -889]@X +imagemask +!!!!@s8W*!z!$D7@rr<$!!!!!@s8W*!z!!",@zz&,ZD-z!!!9%zz#Q+Q%z!!!9%zz#Q+Q%z!!!9%zz +#Q+Q%z!!!9%zz#Q+Q%z!!!9%zz#Q+Q%z!!!9%zz#Q+Q%z!!!9%zz#Q+Q%z!!!9%zz#Q+Q%z!!!9%zz +#Q+Q%z!!!9%zz#Q+Q%z!!!9%zz#Q+Q%z!!!9%zz&,ZD-z!!!Q/zz+9)<@z!!#7`zz5P'C*z!!%N? +J,fQLzs5C`nz!!*&8huE`W!!!!"s1mOmz!!3+MDu]k<!!!!$s+#%gz!!iN(2uipY!!!!(rW!o<z +!"]&/)uos=!!!!0qu@3,z!$Ct9%fcS0!!!!`p](O!z!'frQ"+U@O!!!"Kn,NQ@z!.Wo,!Pe[8!!!$! +^]4Dnz!WTq8!8mhW!!!'"J,fRgz"93lO!,qo<!!!9(!!!!Yz#Q=]'!'C5]!!!Q/!!!!=z&,ZD-!"Ju/ +!!",9!!!!0z5PP3Y!!`K(!!#7Q!!!!(J,fQLJ+*F<!!@`O!!%N,!!!!$^]4?7s1eU7!!D-Z!!3,8 +!!!!$n,NFjs1eU7!!iE%!"],!!!!!0s*t@Ss8RTL!.Y%H#QOi(J,fS!s83-%s8RTL!.Y%H~> +Q +q[1 0 0 1 0 0]concat +52 68 true[1 0 0 1 -2501 -889]@X +imagemask +5QCc`s8Tl!s8W-!s1gl!s8W-!^d%;g!$D6V+8>g9!WTqWp](9oJ%uTm!!!!`i!95]!!!Pf#Q=]' +!!hEarr<$!#N,X_J,fQOhuWk.!!!,Z!<9h7!!2!Xs1eU7!T3s-huE`WhuH"2!!!#W!'frQ!!(pW ++8>g9!8mhfqu?]s?iU`8!!!",!!iK'!!$C,"9&9#!+5d/rr<$!Du]q=J,fRg!!3+M!!$s<!<9h7 +!,qo<J)C;,Du]lfhuE`W!!#7Qz!$C\1z+8>g9!!!!0qu?]s!!!Q-z!!iK'z"9/?$!!!!$rr<$!!!!'" +J,fQL!!*&7z!<9h7zJ)C;,!!!!`huE`W!!#7Qz!$Ct9z+8>g9!!!!0qu?]s!!!9'!!!i9!!iK'!#tt= +"9/?$)uos>rr<$=!!!'"J,gPh!!*&7!#tt=!<9h7)uos=J)C;J!!!!`n,OL0!!#7Q!$2+?!$Ct9 +*rl9@&,6,H!!!!0qu@gh!!!9'!"XS[!!E3#&&8/F"9/?3n,NFhs*tXT!!!'"J.MVZ!!*&7&-(Pf +!.Wo;s8W-!s54Ffs8W-!i",kfs8W,W~> +Q +q[1 0 0 1 0 0]concat +45 46 true[1 0 0 1 -709 -769]@X +imagemask +!$C\156(`arW%Fu#Q,)4s54FW"2Xb?+2@m:n1[(W!+YLPIt.MTn2Pmt!$C,Yrr<$@i#)Io!"\!) +rr<$0i#)Io!"\!)rr<$0i#$qD!"\!)It.M0i#$ro!"[uf5C`_EhuH!W!"[uf+5d,0huF;W!"[uf +#P\90huEfW!"[uf!<3$0huEaAi"+`G!!iK6huE`Ws8V!W!!!-$huE`W!"[uf!!!!0huE`W!"[uf +#J^<MhuF;G!"[uf&+BQ0huFkg!"[uf+7K7@huFkg!"[uf+7K7@^]4o'!$AuV&&8/eJ,g&Z!'bu6 +#64aR!!!+O!<)ru!T4"R!!!"H#Oh]n!$D6V!!!!$rVuou~> +Q +q[1 0 0 1 0 0]concat +56 71 true[1 0 0 1 -752 -769]@X +imagemask +!!!!(rVuou!Iu9l^]4?8^jH[^!!!&Xn,`Fe!!2&o!.FnJ!V:gA56(ZapAb18J,fWL!!!PF!!3'! +!!hE^!W2ot#Oh]oqu?^!p](?i!!!,r!!2ip!!E-!!VcWp!W2oup](9pqu?cm!!!'!!!2ip!!3'! +!VcWp!WE'"p](9prr<)p!!!$!!!2ip!!*$!!VcWp!<3$"p](9orr<)p!!!$!!!2ip!!*$!!VcWp +!<3$"p](9orr<)p!!!'!!!2ip!!3'!!VcWp!WE'"p](9prVuuo!!!&t!!2ip!!2ut!VcWp"8Dis +p](9rp](?m!!!,j!!2ut!!hE^!WE'!&&8/Grr<$0^]4E4J,g[A!!2o2!'UA_!Vl-aqu?]tpc\fL +!!!&p&-'EF!!2iqrVuou!VcWp!!!!"p](9o!!!&pz!!2ipz!VcWp!!!!"p](9o!!!&pz!!2ipz!VcWp +!!!!"p](9o!!!&pz!!2ipz!VcWp!!!!"p](9o!!!&pz!!2ipz!VcWp!!!!"p](9o!!!,rz!!Durz +#P\9!!!!"Kp](9o!!3,pz!WVop!!!!"s7cQoz#QOi)!!~> +Q +q[1 0 0 1 0 0]concat +45 46 true[1 0 0 1 -809 -769]@X +imagemask +!!!$!J,fQL#QO8n!!"+V49,?]IfKuZ!!)uu"+U@Pp](?1!!D]j!5JR>n,NIH!"[uf!,qo[^]4@R +!$AuV!&ssC^]4?o!'bu6!#P]cJ,fQd!.TM!!!!$!z!<3$!!!!$!z!<3$!!!!$!z!WN-"!!!'"z!WN-" +!!!'"z!WN-"!!!$!z!<3$!!!!$!z!<3$!!!!$!z!.OtK#J^=hJ,g,<!.TM!+7K7pJ,g\\!'bu6+7K7P +^]5JG!"ZjF&+BQ0huF;W!!hE^"7Q9mn,NLI!!2ip"2Fm:qu?tP!!#4`%fcS0+2E=*!!!9(p](9o +!<9h7~> +Q +q[1 0 0 1 0 0]concat +57 72 true[1 0 0 1 -853 -768]@X +imagemask +z!$D7A!!!$!J3X'a!!!9(n3?r'!!"+VGX)4Y!!%HJ*^BQ&!!)os#=$!(!!2ip"2B?d!!D]j!WRZM +!!hE^!<7QL!"ZjF!<7QL!$AuV!.TM!!$?^k!'bu6!'bu6!'bu6!'bu6!'bu6!.OtK!'bu6!.OtK +!'bu6!<3$!!'bu6!<3$!!'bu6!<3$!!'bu6!<3$!!'bu6!<3$!!'bu6!WN-"!'bu6!WN-"!'bu6 +!WN-"!'bu6!WN-"!'bu6!WN-"!'bu6!<3$!!'bu6!<3$!!'bu6!<3$!!'bu6!<3$!!'bu6!<3$! +!'bu6!.OtK!'bu6!.TM!!'bu6!'bu6!'bu6!'bu6!'bu6!$AuV!'bu6!"ZjF!'bu6!"[uf!.TM! +!!hE^!<7QL!!D]j!<7QL!!2ip!WRZM!!)os#JYch!!#4`%mPRE!!!PfHp<,]!!!-$n3;F'!!!"K +^d!>Lz!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z +!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!.TM!z#QK;Sz5Q?66z5Q?66z5Q?66z +!!%NL~> +Q +q[1 0 0 1 0 0]concat +45 46 true[1 0 0 1 -909 -769]@X +imagemask +!!!$!J,fQL#QO8n!!"+VHiO-HIK1Dh!!)os#64`)p](DH!!hun!Pe[?huEc8!"ZjF!,qo[^]4@R +!'bu6!&ssCJ,fR/!.OtK!#P]c!!!!9!<3$!!!!$!z!<)ru!!!'!z!WE'!!!!'!z!WE'!!!!'!z!WE'! +!!!'!z!WW3"s7cWps8W,o!WE'!!Vc]p!!!&p!WE'!!VcZo!!!&p!<3$!"8Dlr!!!,r!.OtK"8DkG +!!!,j!'bu6"7Q:TJ,fiD!$?^k#N,S(^]4Vt!"ZjF&&8/MhuFjL!!D]j*rl9Ap]*MY!!)osHiO-H +5CrS0!!!Q0huE`W!WN-"~> +Q +q[1 0 0 1 0 0]concat +40 70 true[1 0 0 1 -953 -770]@X +imagemask +!WW3!!!3-"rW!!!s8Duu"9/?$!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot +!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot +!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot!!2ut!!!&t!!!!"qu?]s!W2ot +!!2ut!!!&t!!!!"qu?]s!W2ot!WW3"J-#]Ms*t.Ms8RTL!VcWp!!2ip!!!&p!!!!"p](9o!VcWp +!!2ip!!!&p!!!!"p](9o!VcWp!!2ip!!!&p!!!!"p](9o!VcWp!!2ut!!!&tzqu?]s!;lhA!!)os +rVuqI!WE'!IKBHK!'^Ma!!")ArVup/JGoNK#Jb]e!!D_<!!!$!n,NFg+2@~> +Q +q[1 0 0 1 0 0]concat +52 66 true[1 0 0 1 -983 -749]@X +imagemask +!!!'"huE`W!'gM_zrr>:!!!!,j!!hun!"ZjF!;lfs*rl9@IK0@3!!!!`!!%BH!!"*k!;HNo!"ZjG +p](9o#J^B0!!!!(^]Ep)!!!,Z!Up'h!!D-[n,NFg"5j4L!!!!$huW<I!!!8^!;HNo!!hE^p](9o +&&80m!!!!0^]6Ou!!#7!!$;1@!<7QL#J^<Mrr<$"s8W-!!!!'"s8W&u!!E9$s7cQo#QOi(n,NFn +s8W+L!!!Q0s7cQo!"ZjFz%tFW[!!!!0z!!!K/z!"Ju/z%KHJ/!!!!/z!!!K/z!!WQ'z"s<kq!!!!$ +IL"d2!!!&p!VcWp!!D]jqu?]s#N,T2!!!!(huJ6,!!!PF!'^G`!$AuV5C`_6+2@k@J,fQk^]5Il +!!#7!!$AuV!'bu6+2@jV5C`_U^]4@!J,g\,!!#66!$AuV!'bu6+2@jV5JR7@^]4?V^]5Il!!"+V +!'bu6!$AuV5C`_6&&800!!!!(huJ6,^]4Jp!.Ft<!!2QhrW2Kg!;HTp!Up'hIL"oLn,NG1s+0\/ +!!!-!!.Wo,z+2@~> +Q +q[1 0 0 1 0 0]concat +57 69 true[1 0 0 1 -1033 -770]@X +imagemask +!WW2t+92@k!WW2t+92@k!WW2t+92@k!!iK'!.Wo,!!2ut!'e7!!!2ut!$?^k!!2ut!$?^k!!2ut +!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k +!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut +!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k +!!2ut!$?^k!!3'!!$?^k!!3'!!$?^k!!3'!!$?^k!!3*"!'bu6!!2rs!'bu6!!2nG!'^G`!!2o2 +!'^G`!!2lQ!.FnJ!!2k6!.FnJ!!2jW!;lfs!!2j:"8Dir!!2j"s53kW!!2iprr<$!!!2ipz!!2ipz +!!2ipz!!2ipz!!2ipz!!2ipz!!2ipz!!2ipz!!2ipz!!2ipz!!2ipz!!2ipz!!2ipz!!2ipz!!2ipz +!!2ipz!!2ipz!!2ipz!!2ipz!!2ipz!!Durz!'g5Yz!WVopz!WVopz!WVopz~> +Q +q[1 0 0 1 0 0]concat +29 67 true[1 0 0 1 -1088 -770]@X +imagemask +!WW2p!WW2p!WW2p!!E3#!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut +!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut +!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!E-!!'gA]!<;rs!<;rs!<;rs!!!-%zzzzzzzzz +zzz!!2!X!!hun!"\i)!"\u-!"\u-!$D+=!"\u-!"\u-!"\i)!!hun!!2!X~> +Q +q[1 0 0 1 0 0]concat +25 87 true[1 0 0 1 -1116 -750]@X +imagemask +!WE'!&-%.[*s:F$49=pOIfT6Ds+#Iss+#Ous+#Ous+!<6s+!<6IfM\54odft!!#66!!#66!!#66 +!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66 +!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66 +!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!#66!!%M!!!iOS +!'gL6!'gL6!'gL6!!!"Lzzzzzzzzzzzz!!%BH!!)uu!!3*"!!3+M!!E7O!!E7O!!E7O!!3+M!!3*" +!!)uu!!%BH~> +Q +q[1 0 0 1 0 0]concat +55 70 true[1 0 0 1 -1146 -770]@X +imagemask +!WW2p+92<@s8Vj9s8E'!s7d]9rW!3$!!E8Z!!Dur!WRZM"8Disrr<$"p](?o!!!&p!!E-!!!2ip +"8Dir!VcX"n,NFhp](io!!!&p!"[uf!!2ip+2@jV!VcXZ^]4?8p]*O/!!!&p!.OtK!!2iprVuou +!Vc]p!!!!"quQ]q!!!'!"8Dir!!3*)p](9o!WRrE!!!!"qp41#!!!&ps1eU7!!2kE^]4?7!Vem0 +!!!!"p`BJ9!!!&p%fcS0!!2j"J,fQL!Vc]2!!!!"p]04P!!!&p!-eJD!!2ip49,?]!VcX9!!!!" +p](g)!!!&p!!e#S!!2ip#N,R^!VcX"n,NFhp](Qs!!!&p!"]*[!!2ip5QCKY!VcXZs7cQpp]*PY +p](?iz!!2ipz!VcWp!!!!"p](9o!!!&pz!!2ipz!VcWp!!!!"p](9o!!!&pz!!2ipz!VcWp!!!!" +p](9o!!!&pz!!2ipz!VcWp!!!!"p](9o!!!&pz!!2ipz!VcWp!!!!$p](9o!!!,rz!!i9!zJ+s!D +!!!'"p](9o!!3,pz!WVopz!!iQ)!!!~> +Q +q[1 0 0 1 0 0]concat +29 70 true[1 0 0 1 -1199 -770]@X +imagemask +!WW2p!WW2p!WW2p!!E3#!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut +!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut +!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut +!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut!!2ut +!!2ut!!2ut!!2ut!!2ut!!E-!!'gA]!WW&t!WW&t!WW&t!!!-%~> +Q +q[1 0 0 1 0 0]concat +85 44 true[1 0 0 1 -1226 -770]@X +imagemask +!WW2t+92@ls8Vips8W!=s8RZMs7cWps83u=s+14Mp](Qu!!%N,!!iK'!!2ut!'e7!"8Dir!W2ot ++2@jYp](9pqu?^=^]4K3!!!&t!!"+V!!Dur!!2ut!$AuV"8Dir!W2ot+2@jYp](9pqu?^=^]4K3 +!!!&t!!"+V!!Dur!!2ut!$AuV"8Dir!W2ot+2@jYp](9pqu?^=^]4K3!!!&t!!"+V!!Dur!!2ut +!$AuV"8Dir!W2ot+2@jYp](9pqu?^=^]4K3!!!&t!!"+V!!Dur!!2ut!$AuV"8Dir!W2ot+2@jY +p](9pqu?^=^]4K3!!!&t!!"+V!!Dur!!2ut!$AuV"8Dir!W2ot+2@jYp](9pqu?^=^]4K3!!!&t +!!"+V!!Dur!!2ut!$AuV"8Dir!W2ot+2@jYp](9pqu?^=^]4K3!!!'!!!"+V!!Dur!!3'!!$C,! +"8Dir!WE'!+5d,$p](9pqZ$U\huElS!!!&s!!#6f!!Dur!!2nG!'dsn"7Q9j!VsM259'Y.n,NFj +ptu.%$igOj!!#7YDub=l!"[uf!WVpW!;lqL&&8/Gs7dZ<p]9kKJ,fWMp]piW!.XtJ!!!&p!<7QL +&+BQ!~> +Q +q[1 0 0 1 0 0]concat +57 44 true[1 0 0 1 -1309 -770]@X +imagemask +!WW2t+92@k!WW2t+92@k!WW2t+92@k!!iK'!.Wo,!!2ut!'e7!!!2ut!$?^k!!2ut!$?^k!!2ut +!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k +!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut +!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k!!2ut!$?^k +!!2ut!$?^k!!3'!!$?^k!!3'!!$?^k!!3'!!$?^k!!2rs!'bu6!!2rs!'bu6!!2nG!'^G`!!2o2 +!'^G`!!E#S!.FnJ!'g6t!.FnJ!WVpW!;lfs!WVp:"8Dir!WVp"s53kW!!2iprr<$!~> +Q +q[1 0 0 1 0 0]concat +51 46 true[1 0 0 1 -1364 -769]@X +imagemask +!!!$!J,fQL!!iQ!z++X=j!!!"J!$?^k!!)co&&8/F"7Q9mhuE`^huElK!!!PF!!2ip!"ZjF!;lfs +++O=krVup_J,fS!!!#4`!!%KK!.OtK!'bu6IfKHK5C`b6!!!!`J,oQK!!#7!!<)ru!'e7"rVuou +5JR=!!!!!@huWfW!!",!!WE'!!$C,"rVuou+5d2!!!!!@huWfW!!",!!WE'!!$C,"rVuou+5d2! +!!!!@huWfW!!"+V!<)ru!'e7!rVuou5JR9u!!!!`^]=B7!!#66!.OtK!'bu6IfKHK56([J!!!"K +!!"*k!!%HJ!$?^k!.FnJ&&8/Fqu?^%^]4E1!!!,Z!!2Qh!!2Qh"5j.Z!;HO)^]4?7IK1Gi!!!!@ +JGoNK!!!9(p](9o!!*%L!!!~> +Q +q[1 0 0 1 0 0]concat +56 63 true[1 0 0 1 -1415 -751]@X +imagemask +!WW2p!!!!"s8Vio!!!'"s7cQo!!!9'z!!E-!z"8i-!!!!!"p](9o!!!&pz!!2ipz!VcWp!!!!"p](9o +!!!&pz!!2ipz!VcWp!!!!"p](9o!!!&pz!!2ipz!VcWp!!!!"p]LEo!!!&p+90+V!!2kB&+BQ!!Vl-b +qu?]tq7m"0!!!&sJ,k'!!!2rs!'bu6!WE'!+2@jWrVup/huEfU!!!Q!!!2ut!!hun!VcWp#P\9" +p](9rqu?cm!!!-!!!2ip!!E-!!VcWp!WE'"p](9prVuuo!!!'!!!2ip!!3*"!VcWp!WN-#p](9o +rr<)p!!!$!!!2ip!!*$!!VcWp!<3$"p](9orr<)p!!!$!!!2ip!!3*"!VcWp!WE'"p](9prVuuo +!!!'!!!2ip!!3'!!VcWp"8i-"p](9rqu?cm!!!,r!!2ip!!i9!!W2ot#Oh]oqu?^-huElY!!",! +!!E6$!$AuV"8dTK5C```q7lu[!!3,pn,`Fe!WVpY#P\9"s7d-)^]4?8p]:?o!!~> +Q +q[1 0 0 1 0 0]concat +57 63 true[1 0 0 1 -1472 -751]@X +imagemask +z5QCb6z5QCb6z5QCb6z!<9h7z!.TM!z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z!'bu6z +!'bu6z!'bu6z!'bu6z!'bu6z!'bu6!!!$!J3SPa!!!9(i'2_l!!"+Vpcj9/!!%KK*'\rR!!)uu%mPRE +!!2ut"2B?d!!Dur"2B?d!!hun!WRZM!"[uf!<7QL!$C,!!.TM!!$AuV!.TM!!'e7!!'bu6!'bu6 +!'bu6!.TM!!'bu6!.TM!!'bu6!<3$!!'bu6!<3$!!'bu6!<3$!!'bu6!<3$!!'bu6!<3$!!'bu6 +!WN-"!'bu6!WN-"!'bu6!WN-"!'bu6!WN-"!'bu6!WN-"!'bu6!<3$!!'bu6!<3$!!'bu6!<3$! +!'bu6!<3$!!'bu6!<3$!!'bu6!.TM!!'bu6!.TM!!'bu6!'bu6!'bu6!'e7!!.TM!!$AuV!.TM! +!$C,!!<7QL!"[uf!8i;,!!hun!T/D-!!Dur!KVa2!!2ut"-7s4!!)uu#7#bZ!!#66*X@2q!!",! +GR&a!!!!-$n,n1@!!!"KJ-1<%~> +Q +q[1 0 0 1 0 0]concat +40 44 true[1 0 0 1 -1525 -770]@X +imagemask +!WW3!!!3-"rW!!!s8Duu#Q=]'!!E-!!!!,r!!!!"p](9o!VcWp!!2ip!!!&p!!!!"p](9o!VcWp +!!2ip!!!&p!!!!"p](9o!VcWp!!2ip!!!&p!!!!"p](9o!VcWp!!2ip!!!&p!!!!"p](9o!VcWp +!!2ip!!!&p!!!!"p](9o!VcWp!!2ut!!!&t!!!!"qu?]s!W2ot!!3'!!!!'!!!!!"rW%BI!W)ls +!!E)urr</sJH#TSq8!"1J,%t%!WVq6rrN/p4FR>2p`KD6!Vccd~> +Q +q[1 0 0 1 0 0]concat +40 46 true[1 0 0 1 -1564 -769]@X +imagemask +!Iu9e!!0lbrr<)Yn.3;8o7-l"!WN-"n,`Lg!-ePB!!#+^p](:V!VcWp*Wba1!$211!!"&@huEa! +!T3qX*s(:"!$;6W!!#4a^]4@!!Pe[8IfR7a!<)ru!!E3#!!!Q/!!!$!qu?^-s7cQos8Vio"98Dj +!"],0^]5JVs*t)6s8DuuJ,f!<!.XtJ!!*&W!!!$!!!!!"rVup8!VcWp(]jC3!#Pb+!!!i:n,NGJ +!:Tsg2urFJ!&suJ!!%6DGQ7_g!-eJDp]*DV!VcX:!!Dur#N-\K!!3,t2uiqCn/)~> +Q +q[1 0 0 1 0 0]concat +37 62 true[1 0 0 1 -1604 -769]@X +imagemask +!!!&t!!!!(rr<$!++o(D!'^J!!!%HJhuEcV!+5d,quC[9!W2pO!!2ut0E;.K!&srZp]*8R"8Dj5 +!!Dur(]X[5!#P\<p])-2"8Dj5!!Dur(]X[5!#P\<p])-2"8Dir!!Dur!!!,r!!!!$p](9o"8Dir +!!Dur!!!,r!!!!$p](9o"8Dir!!Dur!!!,r!!!!$p](9o"8Dir!!Dur!!!,r!!!!$p](9o"8Dir +!!Dur!!!,r!!!!$p](9o"8Dir!!Dur!!E9$s54"Zs8V!Ws8W,W!$Ct9!!!Q)!!!!$p](9o"8Dir +!!2ip!!!#ozp](9o!-eJD!!%6D!!!"Dz2uipY!&srY!!"tY!!!!Yz(]XO9!#P\9!!!i9!!!!9!!!~> +Q +q[1 0 0 1 0 0]concat +57 46 true[1 0 0 1 -1642 -768]@X +imagemask +z!"],1!!!"K^`WT,!!!9(n/q[\!!!Pf4<OTR!!#4`%NkZM!!%HJ"!?G$!!%HJ!M@.-!!)os!T1Zm +!!)os!8kQl!!)os!.Vca!!2ut!.Vca!!2ut!'e7!!!2ut!'e7!!!2ut!'e7!!!2ut!'e7!!!2ut +!'e7!!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV +!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut +!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV!!2ut!$AuV +!!2ut!'e7!!!E-!!'e7!!!E-!!.Vca!'gA]#QMR>!WW&t+90+V!WW&t+90+V!WW&t+90+V!!!-% +!!#7a~> +Q +q[1 0 0 1 0 0]concat +55 44 true[1 0 0 1 -1698 -769]@X +imagemask +!!!!(z!!!N0z!"XS[z%tFW[!!!!@J,fQL!!"+Vz!'e7!z5MuMA!!!!`huE`W!!%LVz!.Sqfzr\+<P +!!!#u2uipY!!*!Xz!W3c7!!!!"r#>\:!!!,r$ig8-!!E!+z#P\c/!!!!(n-/jm!!!8n#64`(!"[uiz +&)[P?!!!!@hueK0!!"+V!It.M!$AuW^]4?75C`aL!!!!`J,nL-!!%M!!8mhW!.OtKDu]k<IfKIf +!!!#u!!"\Q!!)uu!&srY!WE'!2uipZqu?^:!!!&t!!!u=!!Dur!#tt="8Dir*WQ0Fp](:9!!!9! +!!#66!$D+=!.Wo/s8Tk:s8E-#s1ea:rWE3#^]XW9~> +Q +q[1 0 0 1 0 0]concat +74 44 true[1 0 0 1 -1750 -769]@X +imagemask +!!!!9!!!i9z!'C5]49,?]!!!!]!!#+]z!.4bHIK0?J!!!"J!!%HJz!.FnJIK0?J!!!#u!!*$!z!<3$! +rr<$!!!!'"!!*$!z!WN-#qg\YH!!!'"J-#Otz"8RHJq1&GF!!!,s^]X,Bz"8T_7n\>,)!!!8n^^'AEz +#OpXVi8=S8!!!8ni!81Jz&)^h+i,AYr!!!PfE"Ba'z&)_C;^b>`g!!"+V0HYg)z+2BiXJ2dN/!!#66 +(a"8Fz5Ca_<!#tt=!!#66*'XECzIfKmA!"8i-!!%KK%XnBfzIfKt-!"Ju/!!)uu#6"T,zrW!3$!!`K( +!!)uu#Q+Q(!!!!"qu?is!!@`O!!2ut"8DiuJ,fQMqu?io!!.TM!!Dur"8Dis^]4?:p](Ec!!0k8 +!!Dur"7Q9k^]4?>n,N^O!!2!X!!hun#N,R_n,NG!n,O!g!!Dur!$D+=+8>gHrW!'#s24m:J:IU7 +"98D=s8RV!s1ea:s24m:J:IU7~> +Q +q[1 0 0 1 0 0]concat +55 43 true[1 0 0 1 -1822 -770]@X +imagemask +#QOc'+92<Fs8E!?s8E9'rW"&?rW%HC!!iOS!"\Q!"9&9#"7Q9kqu?]tn,NRg!!!"<!!Dur!!"tY +#Oh]n!&srhhuE`W)uq)=!!!!/!'e7!!!!6(5C`_6!!@b$z"+^@N!!!!"_>XE7!!!#Xqu?]s!!%*8z +!.XJ<z5O\XQ!!!!@huE`W!!"+Vz!'bu6zIt.M!!!!"KJ,fQL!!*&7z!W:jU!!!!$r,;W9!!!,rGQ7^D +!!i!Qz&)\E-!!!!@i!o_e!!#7!#64`(!'bu=J,fQLIfKS$!!!#u!!0k8!!3'!!T3qX"8i-"p](:! +rW!'"!!!Q0!!iP>"98D:&-)P0s8TkFs83!!s1f0Fqu~> +Q +q[1 0 0 1 0 0]concat +55 63 true[1 0 0 1 -1875 -750]@X +imagemask +!"ZjFz5O\XQ!!!#o49,?]!!2!fz!Up<o!!!!$p]H$H!!!-!!It.M!!E-"^]4?7"8i/7!!!!$quGXT +!!!&p!+5d,!!)KgDu]k<!!!!Qz!!"tYz!&srYz)uos=!!!!=z!!!E-z!"Ju/z"onW'!!!!(z!!!N0z +!"T&0z%tFW[!!!!@J,fQL!!"+Vz!'e7!z5MuMA!!!"KhuE`W!!%LVz!.Sqfzr\+<P!!!#u2uipY +!!3'Yz!W3c7!!!!"r#>\:!!!,r$ig8-!!E!+z#Ohot!!!!(n-/jm!!!8n#64`(!"[uiz&)[P?!!!!@ +^]Arc!!"+V!Pe[8!'e7"^]4?75C`aL!!!!`J,nL-!!%KK!+5d,!.OtKDu]k<rr<%<!!!#u!!"\Q +!!)uu!&srY!W2ot(]XO:qu?^:!!!,r!!!u=!!Dur!$2+?#P\9!*rl9Gp](:YJ,g\h!!%N,"98D: +"98?&s8Tk:s8E-#s1ea:rV~> +Q +q[1 0 0 1 0 0]concat +44 43 true[1 0 0 1 -1928 -770]@X +imagemask +!WW3"s1e[8s8W,7!WN-"s1eX7!!",!!.TM!#N,T3^]4Jp!'e7!!T3r"huEf9!"\Q!!8mhfp](<P +!!i9!!8mhZqu?_)!!3'!!+5d-rr<%,!!*$!!,qo<It.N<!!%Ma!,qo<5JR8<!!",!!,qo<&+BQ! +!!!Q)z#P\9!!!!-!z!WE'!!!!'"z!<3$!!!!"KJ,fT-!'e7!!8miA^]4Am!$C,!!8mhfn,NIH!"\i) +!+5d3p](;%!!E-!!,qo=rVuq;!!3*"!-eJDrr<%D!!%M!!.4bH5JR8K!!#7A!.Vca+5d-Ks8W,g +!.Y%Ks53~> +Q +q[1 0 0 1 0 0]concat +47 77 true[1 0 0 1 -66 -642]@X +imagemask +z!#tt=!!!!_z!.FnJ!!!"Jz!<)ru!!!#uz!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz ++2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKzrVuou!!)uuzqu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg +!!hun!!!!(huE`W!"[uf!!!!0^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#uz +!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz+2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKz +rVuou!!)uu!!!!"qu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg!!hun!!!!(huE`W!"[uf!!!!0 +^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#sz!W2ot!!!&pz!VcWp!!!&hz +!8mhW!!!~> +Q +q[1 0 0 1 0 0]concat +54 44 true[1 0 0 1 -118 -650]@X +imagemask +5Q:ug_>j"Ss,[3?s7h*DTE"Zcr."a=s7cQkJ,bT0j8\m=rs/S?s6p-[!;lg]!!D]jquAq]"7Q<g +!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gc +n,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d +56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcp]19n56(f\!<)s_!!DurrW#._"8i0!!'^GcquH`s56(fb +!<7R6!!E6%s1j'`"96:=nGWDPs8W-!rW%HJs7cQm!.Y%KoDe^gJ+s!'s82kHj8Zppp]*Ops+#Ug +!!!!_!"ZjF~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -171 -650]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -224 -650]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -277 -650]@X +imagemask +&-)Z^s8V"As8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+5d,(n,NG1huF#O!!",1!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jV+918K^]4?Vs8W+L!!"+us8RTL!$BPerr<$!+2e-X!!!!@_#O00 +!!"+V+5d,!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +50 61 true[1 0 0 1 -329 -650]@X +imagemask +!!!"K^]4?7++sUg!!!!@L]@>R!!"+5s8N'!!$D7@s*t(L+92B@huEa!s1n[(!!",@!$C\1!$D+= +&,6,)+8>g@qu?^=p](Eo!!",1!!3'!!$C,!!<3$!+5d,!rr<$@^]4@a!!"+V!!%M!!$AuV!'bu6 ++2@jV5C`_UJ,fR6J,g[A!!#66!$?^k!$AuV++O=k+2@ju^]4?V^]5Il!!"+V!$?^k!'bu6++O=k +5C`_UJ,fR6J,g[A!!#66!$AuV!.TM!+2@jVIfKHj^]4@a!!",!!!*$!!$C,!!WE'!+7K72rVup? +p](Eo!!",=!!i9!!$D4@+8>g9+90-+n,NG1s8W,W!!",@s8Tk7!$BPes*t(L+34E\!!!!@_>j91 +!!"+V5JR7!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +45 62 true[1 0 0 1 -382 -650]@X +imagemask +"98E$rW!'#s8W*!#QOi(rr<<(s8W*!"98E$rr<*"s8W&u!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV +!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV +!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+V!!!'"s8W+L"98E$ +s1em>s8W,7#QOi(s1ea:s8W,7!WW3"s*t(L+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz+2@jV!!"+Vz ++5d18!!!Pf#N,R^&+Bhn!!!9!&+BQ!#Q>8/!!!-$s7cQo!WW2h!!!$!s6p!g!.Y%,!!!!@s1eU7 +!!3'!~> +Q +q[4.8 0 0 -240 640.28 734.88]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +80 70 true[1 0 0 1 -707 -650]@X +imagemask +5QCcA!!3-"s8P=`s53kXs8W-!5QCcA!!3-"s8P=`s53kXs8W-!5QCcA!!3-"s8N'@huE`W!<<#u +!"ZjF!!!'"qu?^%^]4?7!WW&t!!hE^!!!'"p](9rhuE`W"98,r!!D]j!!!-$n,NFjn,NFg#QO8n +!!2ip!!!9(n,NFhp](9o&-(Pf!!)co!!!Q0huE`Wqu?]s&-'EF!!)os!!",@^]4?7IK0?J+90+V +!!%HJ!!#7`J,fQL5QCc`s8RTL!!#7`s8W-!z5QCc`s8N'!!!",@s8W-!z+92B@s8Duu!!!PF!!*&uz +&&8/Gs82is!!!8>!!3,tz#N,R_s82is!!!8^!!E8rz"7Q9ms7cQo!!!,j!!iPnz!Up'os6p!g!!!&p +!!iP^z!VcX*s53kW!!!#s!"]+fz!;lg=s1eU7!!!"J!$D6Vz!.Fnis*t(L!!!"J!'gL6z!'^HJs*t(L +!!!!`!.Y"Kz!$?`@rr<$!!!!!@JH,TKz!"XV[rVuou!!!!0_#OB6z!"ZpGqu?]s!!!!(iW&fUz!!hQa +p](9o!!!!$j8\lSz!!Dimp](9o!!!!$p]'^_z!!3-"n,NFg!!!!"s8V!Wz!!*'!huE`Wzs8Tk7z +!!*'!^]4?7zJ,d:az!!%NKJ,fQLz5Q?66z!!#7`zz+9)<@z!!",@zz+8u6?z!!!Q/zz&,ZD-z!!!9%z +z#Q+Q%z!!!9!zz"8Dirz!!!&hz~> +Q +q[1 0 0 1 0 0]concat +73 68 true[1 0 0 1 -793 -650]@X +imagemask +5QCc`s8W&u!!#7`s8W-!s53kW5QCc`s8W,s!!#7`s8W-!s8N'!5QCc`s8W-!J,fQSs1eU7J,eF, +!!iP>!!",@n,NFns1eU7#QOQ!!!iP>!!!-$qu?^%s1eU7!WW&t!!iP>!!!$!rVup's1eU7!.XtJ +!!iP>!!!"Krr<$(s1eU7!.Y"K!!iP>!!!!`s*t(Ss1eU7!'gL6!!iP>!!!!`s*t(Ss1eU7!'gL6 +!!iP>!!!!`s*t(Ss1eU7!'gL6!!iP>!!!!`s*t(Ss1eU7!'gL6!!iP>!!!!`rr<$(s1eU7!'gJ` +!!iP>!!!!`rr<$(s1eU7!.XtJ!!iP>!!!"KrVup's1eU7!<;rs!!iP>!!!$!p](:!s1eU7!WVWh +!!iP>!!!-$huE`^s1eU7#QK;S!!iP>!!!Q0!!!!(s1eU7J,B9H!!iQ(s8W,7!!!!(s8W-!p](9o +!!iQ(s8W+L!!!!(s8W-!s6p!g!!iP>!!E9!!!!!(s1eU7J,TEJ!!iP>!!#7`J,fQSs1eU7&-'EF +!!iP>!!!9(huE`^s1eU7#QN]^!!iP>!!!-$n,NFns1eU7!WVop!!iP>!!!'"p](:!s1eU7!WVop +!!iP>!!!'"qu?^%s1eU7!<;rs!!iP>!!!$!qu?^%s1eU7!<;rs!!iP>!!!$!qu?^%s1eU7!<;rs +!!iP>!!!'"p](:!s1eU7!WVop!!iP>!!!'"p](:!s1eU7"97ij!!iP>!!!-$n,NFns1eU7#QN]^ +!!iP>!!!Q0^]4?>s1eU75Q?66!!iP>!!*'!!!#7`s8W-!s8Duu5QCc`s8W,o!!#7`s8W-!s53kW +5QCc`s8W*!!!#7`s8W-!n,NFg~> +Q +q[1 0 0 1 0 0]concat +74 70 true[1 0 0 1 -874 -649]@X +imagemask +z#QN]^z!!3-"rVuou!!!!0s8W,7z!.Y%Ks6p!g!!!'"s8W,sz#QOgS&,uV0!!!Q0n,NIgJ,fQL5QAM! +!'e7!!!%NK!!!!0huE`Ws82is!!D]j!!E8j!!!!"p](:!s53kW!!)os!!iP>zIK0?Ys*t(L!!#1_ +!$D5kz*rl:*rr<$!!!")@!.XtJz%tFY0rVuou!!!O[!<;rsz#J^?>qu?]s!!!8>!WVopz#J^B?p](9o +!!!8>!WVopz#J^HAp](9o!!!,:"97ijz"2G$=n,NFg!!!,:#QO8nz!!!9(n,NFgz#QO8nz!!!9( +n,NFgz#QO8nz!!!9(n,NFgz&-),!z!!!Q0n,NFgz&-),!z!!!Q0n,NFgz&-),!z!!!Q0n,NFgz#QO8n +z!!!9(n,NFgz#QO8nz!!!9(n,NFgz#QO8nz!!!9(n,NFg!!!+O"97ijz#J^HAn,NFg!!!8>"98,rz +#J^B?p](9o!!!PF!WVopz&&85Gqu?]s!!!PF!<;rsz&&82Fqu?]s!!"+V!.XtJz+2@k@rVuou!!#7! +!'gJ`z5JR7@s*t(L!!%Ma!"]*[zs1eU>s1eU7!!3,8!!iP^!!!!$s1eU:s7cQo!!iP>!!*&s!!!!0 +s1eU7J,]KK!$D6V!!#7`^]4@as1eU7&-),!!WW28!!!9(s*u3hJ%u$a!WW3"s7d\O!!!"Ks8W,W +&&8/F!"],0s*t?izs8Vus"2Fm:!!!9(^]4DN~> +Q +q[1 0 0 1 0 0]concat +79 68 true[1 0 0 1 -957 -650]@X +imagemask +5QCc`s8VQg!!#7`s8W-!rr<$!5QCc`s8W,W!!#7`s8W-!s82is5QCc`s8W-!!!!!(s1eU8s8RTL +!!iP>!!",@huE`^s1eU7#QO8n!!iP>!!!'"p](:!s1eU7!.XnH!!iP>!!!!`rVup's1eU7!$D4@ +!!iP>!!!!0s*t(Ss1eU7!!iP>!!iP>!!!!(s1eU>s1eU7!!E8Z!!iP>!!!!$s53k^s1eU7!!3,h +!!iP>!!!!"s6p!ns1eU7!!3,p!!iP>zs7cR!s1eU7!!*&s!!iP>zs82j%s1eU7!!*&s!!iP>zs82j% +s1eU7!!*&u!!iP>zJ,TEQs1eU7!!%NJ!!iP>zJ,TEQs1eU7!!%NJ!!iP>zJ,TEQs1eU7!!%NJ!!iP>z +J,TEQs1eU7!!%NJ!!iP>zJ,TEQs1eU7!!%NJ!!iP>zJ,TEQs1eU7!!%NJ!!iP>zJ,TEQs1eU7!!%NJ +!!iP>zJ,TEQs1eU7!!*&u!!iP>zs82j%s1eU7!!*&s!!iP>zs82j%s1eU7!!*&s!!iP>zs7cR!s1eU7 +!!3,p!!iP>!!!!"s7cR!s1eU7!!3,h!!iP>!!!!$s6p!ns1eU7!!E8Z!!iP>!!!!$s53k^s1eU7 +!!iP>!!iP>!!!!0s*t(Ss1eU7!"])0!!iP>!!!!@rr<$(s1eU7!'gG_!!iP>!!!$!qu?^%s1eU7 +!WVop!!iP>!!!9(n,NFns1eU75QAM!!!iP>!!E9$J,hh6s8W-!s8Duu5QCc`s8W,o!!#7`s8W-! +s53kW5QCc`s8W*!!!#7`s8W-!huE`W~> +Q +q[1 0 0 1 0 0]concat +70 68 true[1 0 0 1 -1045 -650]@X +imagemask +5QCc`s8W-!^d%l!s8W-!s1gl!s8W-!s8Tl!s8W-!s8W,75QCc`s8W-!^]4W>huEb,s1eU>s53kW +#QN]^#QN]^!!3,X!!iP^!!!"KhuF#^huE`W5MuMHs53kW!$C,!#QN]^!!!Pf!!iP^!!!!(n,N^n +huE`W#Oh]us53kW!!D]j#QN]^!!!,j!!iP^!!!!"n,N^nhuE`W!Up'os53kW!!2ip#QN]^!!!#o +!!iP^zp](R!huFi!!;HO!s53l!!!)co#QN]^*rl:c!!iP^!$;1@HiOEOhuFi!!.4bOs53lA!!%BH +#QN]^56(Z`!!iP^!'^G`!!!9(huJ6,!!!!(s53m,z#QN]_rr<$!!!iP^#QFc(!!!9(s8W*!!!!!( +s8W-!z#QOi(rr<$!!!iQ(s8N'!!!!9(s8W*!!!!!(s54.^z#QN]^rr<$!!!iP^!.OtK!!!9(huGtA +!!!!(s53lAz#QN]^56(Z`!!iP^!$;1ChuF#^huFi!"5j.as53l!!!C":#QN]^*rlDY!!iP^!$;1G +^]4W>huE`W#J^<Es53kW!!g:>#QN]^!!!8>!!iP^!!!!0^]4W>huE`W&&8/Ms53kW!"XS[#QN]^ +!!"*k!!iP^!!!!`J,fiShuE`W5C`_=s53kW!.TM!#QN]^!!*%L!!iP^!!!-$J,fiShuE`fs*t(S +s53kWs8N'`s8W-!s8W*!5QCc`s8W-!!'gM`s8W-!rr>:`s8W-!s8N'`s8W-!s8W*!~> +Q +q[1 0 0 1 0 0]concat +65 68 true[1 0 0 1 -1120 -650]@X +imagemask +5QCc`rr<$!!'gM`s8N'!!!#7`s8W*!!!!!`s8W-!z5QCc`rr<$!!!!9(huE`W!!!!(s53kWz#QN]^z +!!iP^z!!!9(huE`W!!!!(s53kWz#QN]^z!!iP^z!!!9(huE`W!!!!(s53kWz#QN]^z!!iP^z!!!9( +huE`W!!!!(s53kWz#QN]^z!!iP^!'UA_!!!9(huGq@!!!!(s53l@z#QN]^4obQ_!!iP^!'UA_!!!9( +huGq@!!!!(s53m+z#QN]^IK0?J!!iP^!<)ru!!!9(huWfW!!!!(s54.]z#QOi(rVuou!!iQ(s8Duu +!!!9(s8W&u!!!!(s8W,uz#QOi(rVuou!!iP^&,lP/!!!9(huWfW!!!!(s53nVz#QN]^IK0?J!!iP^ +!.FnJ!!!9(huGq@!!!!(s53l@z#QN]^4obQ_!!iP^!'UAnJ,fiShuGq@%tFWbs53l@!"XS[#QN]^ +4oc+D!!iP^!!!!0J,fiShuE`W%fcS7s53kW!$;1@#QN]^!!")@!!iP^!!!!@!!!9(huE`W56(Zg +s53kW!'^G`#QN]^!!#4`!!iP^!!!"K!!!9(huE`WrVup's53kW!WE'!#QN]^!!E3#!!iP^!!!9' +!!!9(huEa!rVup's53kXs8E!_s8W-!s8W&u5QCc`s8W,u!'gM`s8W-!quAt]s8W-!s82j]s8W-! +s8Vus~> +Q +q[1 0 0 1 0 0]concat +82 70 true[1 0 0 1 -1189 -649]@X +imagemask +z#QN]^z!!!'"s8E!!^]4?7!"],0s1elTzJ,fQKn/oFG!!!'"s8W,oJ%u$a!!iQ(J.MSX^]4?7+92*9 +!WW28!!!!`s1eU7J,d:a!!%NK!!!!`s1eU7!WW&t!!",@^]4?:s7cQo!$D6V!!!9(huE`W&-'EF +!"]+F!!!!0s1eU7&-'EF!!!Q0^]4?Vs*t(L!"]+F!!#7`z&-'EF!.XtJ!!!!0s1eU7J,TEJ!!!Q0 +^]4B7qu?]s!"]+F!!*&sz&-'EF!WW&t!!!!0s1eU8s7cQo!!!Q0^]4E8p](9o!"]+F!!E8rz&-'EF +"97ij!!E9$s8Tk:s6p!g"98E$s1em>n,NFjs8W-!^^'o/!!!-$s8W,7#QO8n!!E9$s8Tk>s6p!gz +!!!9(n,NFgz!!iPnzz&-),!z!!!!0s6p!gz!!!Q0n,NFgz!"],!zz&-),!z!!!!0s6p!gz!!!9( +n,NFgz!!iPnzz#QO8nz!!!!(s6p!gz!!!9(n,NFgz!!iPnz!!@`O"97ijz#J^<As6p!g!!!!(^]4K: +p](9o!!!8>!!3,pz!"ZjF!WVopz&&8/Gs82is!!!!0^]4B7qu?]s!!"+V!!*&sz!$AuV!.XtJz+2@jV +J,TEJ!!!!`^]4@!rr<$!!!%Ma!!",@J,fQL!.Vca!"]*[zs1eU7#QMR>!!!'"^]4?>s53kW!!E8: +!!!-$n,NFg#QMR>!!*&s!!!!0s1eU7!.Y"K!!",@^]4?75QAM!!.Y$a!!!!0s6p!hs8Tk7!!!9( +s*u3hJ%u$a!!3-"s8VjY^]4?7!.Y%Ks54F'z&-)\0J-Wji!!!!"s8Vus"2Fm:!!!!(s1eU8^]4~> +Q +q[1 0 0 1 0 0]concat +84 68 true[1 0 0 1 -1279 -650]@X +imagemask +5QCc`quHcss8VRQs8W,s!<<*!s6r8Qs8Vuss8W-!n3?sQs82lss8W,g5QCc`quHcss8VQg#QN]^ +!!",@J,fQSs53kW!$D5k!!!9(huE`W+9-ik!!iP^!!!!@s*t(L#QN]^!!",@J,fQSs53kW!$D5k +!!!9(huE`W+9-ik!!iP^!!!!@s*t(L#QN]^!!",@J,fQSs53kW!$D5k!!!9(huE`W+9-ik!!iP^ +!!!!@s*t(L#QN]^!!",@J,fQSs53kW!$D5k!!!9(huE`W+9-ik!!iP^!!!!@s*t(L#QN]^!!",@ +J,fQSs53kW!$D5k!!!9(huE`W+9-ik!!iP^!!!!@s*t(L#QN]^!!",@J,fQSs53kW!$D5k!!!9( +huE`W+9-ik!!iP^!!!!@s*t(L#QN]^!!",@J,fQSs53kW!$D5k!!!9(huE`W+9-ik!!iP^!!!!@ +s*t(L#QOi(s8W-!J,fQSs8W-!s8W+L!!!9(s8W-!s8RTL!!iQ(s8W-!s*t(L#QOi(s8W-!J,fQS +s53kW!$D5k!!!9(huE`W+9-ik!!iP^!!!!@s*t(L#QN]^!!",@J,fQSs53kW!$D5k!!!9(huE`W ++9-ik!!iP^!!!!@s*t(L#QN]^!!",@J,fQSs53kW!$D5k!!!9(huE`W+9-ik!!iP^!!!!@s*t(L +#QN]^!!",@J,fQSs53kW!$D5k!!!9(huE`W+9-ik!!iP^!!!!@s*t(L#QN]^!!",@J,fQSs53kW +!$D5k!!!9(huE`W+9-ik!!iP^!!!!@s*t(L#QN]^!!",@J,fQSs53kW!$D5k!!!9(huE`W+9-ik +!!iP^!!!!@s*t(L#QN]^!!",@J,fQSs53kW!$D5k!'gM`s82lss8W,g5QCc`quHcss8VRQs8W,s +!<<*!s6r8Qs8Vuss8W-!n3?sQs82lss8W,g~> +Q +q[1 0 0 1 0 0]concat +38 68 true[1 0 0 1 -1369 -650]@X +imagemask +J,fQKr."bHs87BHs8W"Hs8W,sJ,fQKqu@!%huE`^s53kW#QN]^!!iP^!!!9(huE`^s53kW#QN]^ +!!iP^!!!9(huE`^s53kW#QN]^!!iP^!!!9(huE`^s53kW#QN]^!!iP^!!!9(huE`^s53kW#QN]^ +!!iP^!!!9(huE`^s53kW#QN]^!!iP^!!!9(huE`^s53kW#QN]^!!iP^!!!9(huE`^s53kW#QN]^ +!!iP^!!!9(huE`^s53kW#QN]^!!iP^!!!9(huE`^s53kW#QN]^!!iP^!!!9(huE`^s53kW#QN]^ +!!iP^!!!9(huE`^s53kW#QN]^!!iP^!!!9(huE`^s53kW#QN]^!!iP^!!!9(huE`^s53kW#QN]^ +!!iP^!!!9(huE`^s53m,s8W,sJ,fQKr."bHs87BHs8W"Hs8W,s~> +Q +q[1 0 0 1 0 0]concat +51 69 true[1 0 0 1 -1412 -649]@X +imagemask +!!iP>z5QCW]!!!'"s8RTL!!iQ(s53kW&,68,p](:9n,Rt9!!#7Y!'gG_!'gA]+9)<@J,TEirr<%K +rW!K/J,oWK!"]*[!<<#u&-'EFs8N'(s1eX7rW!3'^]8l`!!iP>!.XtJ#QMR>J,B9Os1eV!qu@!% +^]5JO!!iP>!!hE^#QMR>!!!!(s1eU7!!!9(^]4?7!!iP>z#QMR>!!!!(s1eU7!!!9(^]4?7!!iP>z +#QMR>!!!!(s1eU7!!!9(^]4?7!!iP>z#QMR>!!!!(s1eU7!!!9(^]4?7!!iP>z#QMR>!!!!(s1eU7 +!!!9(^]4?7!!iP>z#QMR>!!!!(s1eU7!!!9(^]4?7!!iP>z#QMR>!!!!(s1eU7!!!9(^]4?7!!iP>z +#QMR>!!!!(s1eU7!!!9(^]4?7!!iP>z#QMR>!!!!(s1eU7!!!9(^]4?7!!iP>z#QMR>!!!!(s1eU7 +!!!9(^]4?7!!iP>z#QMR>!!!!(s1eU7!!!9(^]4?7!!iP>z#QMR>!!3-"s8V!W!WW3"s53kXs8W-! +huEfXs8W,W!!3-"s8V!~> +Q +q[1 0 0 1 0 0]concat +83 68 true[1 0 0 1 -1471 -650]@X +imagemask +5QCc`qu@i=s8V"As8W,s!$D7@s56-As8Vus+92B@i'78As82j=s8W,W5QCc`qu@i=s8V!W#QN]^ +!!%NKhuE`^s53kW!'gM!!!!9(huE`WJ,b$!!!iP^!!!$!rr<$!#QN]^!!3-!!!!!(s53kW!WW&t +!!!9(huE`Zs82is!!iP^!!!9(p](9o#QN]^!"],!!!!!(s53kW&-(Pf!!!9(huEa!s53kW!!iP^ +!!#7`^]4?7#QN]^!.Y$!!!!!(s53kWJ,]KK!!!9(huEcWrVuou!!iP^!!3-!z#QN]^"989!!!!!( +s53k^s7cQo!!!9(huF#^n,NFg!!iP^!"],!z#QN]^+917!!!!!(s6p"Qs1eU7!!!9(p]*PYJ,fQL +!!iQ%!.Y$!z#QOc's8N'!!!!!(s8RZMrVuou!!!9(s2"a5z!!iPmj8\lSz#QNu]s7cQo!!!!(s5X.Z +n,NFg!!!9(iW&r9z!!iP^J,d:az#QN^Hs1eU7!!!!(s55"!J,fQL!!!9(i",hfz!!iP^#Q=]'z#QN]_ +qu?]s!!!!(s53nVz!!!9(huJ7Wz!!iP^!'e7!z#QN]^&)[Ef!!!!(s53k^n,NFg!!!9(huElSz!!iP^ +!!3'!z#QN]^!<3$!!!!!(s53kW5C`_6!!!9(huEa!^]4?7!!iP^!!!Q!z#QN]^!!i9!!!!!(s53kW +!W2ot!!!9(huE`WrVuou!!iP^!!!"Kz#QN]^!!#7!!!!!(s53kW!$C,!!!!9(huE`W#Oh]n!!iP^ +!!!!$p](9o#QN]^!!!'!!!!!(s53kW!!E7O!'gM`s82isJ,fP!5QCc`qu?_Hs8RU6s8W,s!!%NK +s+!?6s8Vus!.Y%KJ3X)6s82isJ,fP!~> +Q +q[1 0 0 1 0 0]concat +62 68 true[1 0 0 1 -1560 -650]@X +imagemask +5QCc`s8W,W5QCc`s8W,W5QCc`s8W,W5QCc`s8W,W5QCc`s8W,W!!iP^!'gMQ!!iP^!!E8j!!iP^ +!!*&g!!iP^!!%N<!!iP^!!#7Q!!iP^!!",1!!iP^!!!Q!!!iP^!!!8n!!iP^!!!,j!!iP^!!!,r +!!iP^!!!&p!!iP^!!!&p!!iP^!!!&p!!iP^!!!#o!!iP^!!!#o!!iP^!!!#o!!iP^!!!#o!!iP^ +!!!"H!!iP^!!!"H!!iP^!!!"H!!iP^!!!"H!!iP^!!!"H!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z +!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z +!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z +!!iP^z!!iP^z!!iP^z!!iP^z!!iP^z5QCc`rr<$!5QCc`rr<$!5QCc`rr<$!5QCc`rr<$!5QCc` +rr<$!~> +Q +q[1 0 0 1 0 0]concat +103 68 true[1 0 0 1 -1629 -650]@X +imagemask +5QCcY!!0k8#QOi(r]gG_p](ES!!iQ(s8G7_s7cR!n,N^ns8W'_s8Vio#Oh]us8W,u5QCcY!"\i) +#QOi(rW"%u!!!Q)!!!'"n,NFn^]4?Vp](9ps6p!g#J^<>+8c*=!WVWh!!g:>!'gA]!!3,h!!!8> +!!#7_!!!'"n,NFn^]4@!rVup!s6p!g#J^<>J,]KK!WVWh!!g:>!.Y"K!!3,h!!!8>!!*&nJ,fWM +n,NFn^]4B7pOE5Es6p!g#J^<?s6%/t!WVWh!!g:>!WV2q!!3,h!!!8>!!E8=huEfXn,NFn^]4K: +_;G:os6p!g#J^<As+0).!WVWh!!g:>#QK>D!!3,h!!!8>!!iOSn,NLhn,NFn^]4oF!-eJEs6p!g +#J^<Mrr@9D!WVWh!!g:>+8u7&!!3,h!!!8>!$D1?49,E^n,NFn^]6Us!'UA`s6p!g#J^=(qu@c< +!WVWh!!g:>J+s!c!!3,h!!!8>!.XbD%fcY1n,NFn^]8lR!"T&1s6p!g#J^?>n,N]D!WVWh!!g:> +s6p!nJ-#]>!!!8>!WV'X"2Fs;n,NFn^]FJn!!C";s6p!g#J^HA^]4Dn!WVWh!!g:As1eU8huWlI +!!!8>#QK;S!:U$hn,NFn^^'mi!!)Khs6p!g#J^lM!!!#o!WVWh!!g:Mrr<$!GQIj6!!!8>&,lP/ +!.4hIn,NFn^`WOU!!#+^s6p!g#J_G\!!!!]!WVWh!!g;(qu?]s*Wc<1!!!8>5PtK]!$21@n,NFn +^jl+Z!!!N1s6p!g#Jbia!!!!0!WVWh!!g=>n,NFg#D)pE!!!8>s6p!g!!e)Tn,NFn_>iEn!!!8? +s6p!g#JpGu!!!!$_>j!)!!g@?^]4?7"6':L!!!8As1eU7!!2'Yn,NFn_uILP!!!&Ys6p!g#KQjpz +nc/(Y!!gREJ,fQL!:g*Y!!!8Mrr<$!!!%<En,NFnci3tF!!!"Es6p!g#N,L\z4ob!O!!hE\z!'UAO +!!!8]qu?]s!!#7`n,NFns82is!!!!@s6p"Qs8Vioz+92B?5QCcYz!"],0r]gG_n,NFg!!!Q0s8G7_ +s6p!g!!!!(s8W'_s8V!Wz"98E#~> +Q +q[1 0 0 1 0 0]concat +84 68 true[1 0 0 1 -1738 -650]@X +imagemask +5QCcYz%fcSos8Vio!!!!@J,hh6s7cQo!!"*k!'gM`p](9o!'bu65QCcYzIt.M!+5d,!!!!$!J,fQS +^]4?7!!3+M!!!8>z"93lO!!g:>!!!!(s*t(L#J^<>!!!9(J,fQS^]4?7!"]*[!!!8>z+9-ik!!g:> +!!!!`s*t(L#J^<>!!%NKJ,fQS^]4?7!<<(L!!!8>!!!!"s8RTL!!g:>!!!'"s*t(L#J^<>!!E9$ +J,fQS^]4?7#QOgS!!!8>!!!!0s8RTL!!g:>!!",@s*t(L#J^<>!'gMPJ,fQS^]4?75QB&[!!!8> +!!!"Ks,V[1!!g:>!!*'!%tFW[#J^<>!WW-0J,fQS^]4?:s83CX!!!8>!!!9(r"";X!!g:>!"],) +%tFW[#J^<>&-),0J,fQS^]4?Vs54E<!!!8>!!#7`^^kqq!!g:>!.Y$!%tFW[#J^<>s8N'0J,fQS +^]4E8rr<R[!!!8>!!E9#!"XS[!!g:>"989!%tFW[#J^<Es7cR)J,fQS^]4oFn,NuL!!!8>!$D7! +!"XS[!!g:>5QAM!%tFW[#J^=hs1eUFJ,fQS^]8laJ,g+1!!!8>!<<'!!"XS[!!g:?s8Duu%tFW[ +#J^HAqu?^-J,fQS^^'o7!!!O[!!!8>&-),!!"XS[!!g:]s6p!g%tFW[#J_G]huE`fJ,fQS^d%k7 +!!!O[!!!8>J,b$!!"XS[!!g=>rr<$!%tFW[#JpH>!!!!0J,fQS_uKW7!!!O[!!!8Es82is!"XS[ +!!gREp](9o%tFW[#LEG>!!!!0J,fQShuDU7!!!O[!!!9(s1eU7!"XS[!!iQ(J,fQL%tFW[#QOf( +!!!!0J,fQSs8N'!!!#7!!'gM`rVuouJ,fQ<5QCc]!!!"Ks8VRQs8Vio!!%NKs6r8Qs6p!g!.Y%K +n3?sQhuE`WJ,fQ<~> +Q +q[1 0 0 1 0 0]concat +78 70 true[1 0 0 1 -1828 -649]@X +imagemask +z5Q:]`z!!iQ(p](9o!!!!`s8W*!z!WW3"s53kW!!!9(p]pioz&-%.[J,B9H!!#7_!!",@zJ,B9H +&-%.[!!3,h!!!-$huE`Zs53kW!WVWh!!iP>!!!$!p](:)s1eU7!<;rs!"]*[!!!"Kqu?^=rr<$! +!'gG_!'gJ`!!!!`rr<%KrVuou!$D5k!.XtJ!!!!@s*t+Lqu?]s!"]+F!<;rs!!!!0s1e[8qu?]s +!"]+f!WVop!!!!(s53qXp](9o!!iP^"98,r!!!!(s6p-jp](9o!!iPn"97ij!!!!$s6p9nn,NFg +!!E8r#QO8n!!!!$s7cj!n,NFg!!E8r#QO8n!!!!$s7cj!n,NFg!!E8r#QO8n!!!!$s7d-)n,NFg +!!E8r&-),!!!!!$s83E-n,NFg!!E9!&-),!!!!!$s83E-n,NFg!!E9!&-),!!!!!$s83E-n,NFg +!!E9!#QO8n!!!!$s7cj!n,NFg!!E8r#QO8n!!!!$s7cj!n,NFg!!E8r#QO8n!!!!$s7cj!n,NFg +!!E8r"97ij!!!!$s6p-jn,NFg!!E8j"97ij!!!!$s6p-jn,NFg!!E8j!WVop!!!!(s53qXp](9o +!!iP^!<;fo!!!!(s1eX7p](9o!"]+F!.XnH!!!!0s*t*!qu?]s!"]*[!'gG_!!!!@rr<$`rVuou +!$D4@!$D4@!!!!`rVup/rr<$!!'gA]!!iOS!!!"Kp](9rs1eU7!<;Ng!!3,X!!!'"huE`Ws6p!g +"96.:!!%ND!!!9(J,fQL5Q1W_+9)<@!!!Q0J,k)sz"97ims6p!g!!!$!s8W,7z!'gM`rr<$!!!!!( +s8Vioz!!#7`z~> +Q +q[1 0 0 1 0 0]concat +70 68 true[1 0 0 1 -1914 -650]@X +imagemask +5QCc`qu?]s!'gM`s82is!!#7`s8Vus!!!!`s8W,sz5QCc`qu?]s!!!9(huE`W!!!!(s53kWz#QN]^z +!!iP^z!!!9(huE`W!!!!(s53kWz#QN]^z!!iP^z!!!9(huE`W!!!!(s53kWz#QN]^z!!iP^z!!!9( +huE`W!!!!(s53kWz#QN]^z!!iP^z!!!9(huE`W!!!!(s53kWz#QN]^z!!iP^z!!!9(huE`W!!!!( +s53kWz#QN]^z!!iP^z!!!9(huE`W!!!!(s8W-!huE`W#QOi(s8Duu!!iQ(s8W,7!!!9(s8W-!n,NFn +s1eU>s82is#QMR>!.XtJ!!iP>!!",@!!!9(^]4?Fs*t(Ss1eU7#QMR>#QMR>!!iP^!!iP>!!!-$ +n,N^n^]4?:s6p!ns1eU7"98,r#QMR>!!E8r!!iP>!!!-$p](R!^]4?8s82j%s1eU7!WW&t#QMR> +!!3,t!!iP>!!!'"qu@!%^]4?8s82j%s1eU7!WW&t#QMR>!!3,t!!iP>!!!-$p](R!^]4?:s7cR! +s1eU7"98,r#QMR>!!E8j!!iP>!!!-$n,N^n^]4?>s53k^s1eU7#QN]^#QMR>!"]+F!!iP>!!",@ +J,fiS^]4@arr<$(s1eU:s8E!_s8W-!s8Vio5QCc`s8W,g!'gM`s8W-!J,hh6s8W-!rVup_s8W-! +s1eU7~> +Q +q[1 0 0 1 0 0]concat +78 88 true[1 0 0 1 -1992 -631]@X +imagemask +z!!!!(n,NFgz!$D+=z!!!"Krr<$!z!<<(Lz!!!$!s1eU7z!WW28z!!!-$s53kWz"98Djz!!!-$s6p!g +z#QOi!z!!!9(s7cQoz&-)\)z!!!Q0s7cQoz&-)\-z!!!Q0s82isz+8u<=z!!",9!.4bHz+7K7mz +5Q@A6!#tt=!!iQ(s1eUS!!!!`s8W+L!#P\9!WW3"s53kW!!!9(qucuoz+91g1J,B9H!!#7`huJ9,z +J,/"&s8RTL!!3,ihuNZShuE`Zs5Dl:nc/(Y!!iP>n,`%Yp](:)s+'S@i.(Y)!"])0r"$S-qu?^= +rW%HJJ04aj!'gG_5Q:^*rr<%Kqu@i:!"]*[!.XnH"7Q:$s*t+Lp](9o!!iP>!<;fo!!!!(s1e[8 +p](9o!!iP^!WVWh!!!!(s53qXn,NFg!!E8Z"97ij!!!!$s6p-jn,NFg!!E8j"97ij!!!!$s6p9n +huE`W!!E8r#QN]^!!!!"s7cj!huE`W!!3,p#QN]^!!!!"s7cj!huE`W!!3,p#QN]^!!!!"s7d-) +huE`W!!3,p&-(Pf!!!!"s83E-huE`W!!3,t&-(Pf!!!!"s83E-huE`W!!3,t&-(Pf!!!!"s83E- +huE`W!!3,t#QN]^!!!!"s7cj!huE`W!!3,p#QN]^!!!!"s7cj!huE`W!!3,p#QN]^!!!!"s7cj! +huE`W!!3,p"97ij!!!!$s6p-jn,NFg!!E8j"97ij!!!!$s6p-jn,NFg!!E8j!WVWh!!!!$s53qX +p](9o!!iP^!<;fo!!!!(s1eX7p](9o!!iP>!.XnH!!!!0s*t*!qu?]s!"]*[!'gA]!!!!@rr<$` +rVuou!$D4@!$D4@!!!!`rVup/rr<$!!'gA]!!iOS!!!"Kp](9rs1eU7!<;Ng!!3,X!!!'"huE`W +s6p!g"96.:!!%ND!!!9(J,fQL5Q1W_+9)<@!!!Q0J,k)sz"97ims6p!g!!!$!s8W,7z!'gM`rr<$! +!!!!(s8Vioz!!#7`z~> +Q +q[1 0 0 1 0 0]concat +83 69 true[1 0 0 1 -2079 -649]@X +imagemask +zzs6p"Qs8W,o!!!Q0quAt]s8Vio!.Y%K!'gM`s7cQps8W+L5QCc`p](Err#^GRs8W,o!!iPn&&8/M +s1eU7&-),(huF#^^]4?Vs54";!!iP>!!",@^]WKp#QMR>!$D6V!T3q_s1eU75QAM"huF#^^]4@! +s1eZn!!iP>!!#7`J,m@b#QMR>!'gL6!!!!(s1eU75Q?66!!!9(^]4@!s*t(L!!iP>!!#7`J,fQL +#QMR>!'gL6!!!!(s1eU75Q?66!!!9(^]4@!rr<$!!!iP>!!#7`z#QMR>!'gJ`!!!!(s1eU75Q:]` +!!!9(^]4@!rr<$!!!iP>!!#7`z#QMR>!.XtJ!!!!(s1eU7J,TEJ!!!9(^]4B7qu?]s!!iP>!!*&sz +#QMR>!WVop!!!!(s1eU:s6p!g!!!9(^]4oFhuE`W!!iP>!'gM!z#QOi(s8N'!!!!!(s8W-!qu?]s +!!!9(s8W,uz!!iQ(s8W,7z#QMR>&-),!!!!!(s1eU7s82is!!!9(^]4@!rVuou!!iP>!!",@z#QMR> +!"]*[!!!!(s1eU7#QMR>!!!9(^]4?>s53kW!!iP>!!!-$n,NFg#QMR>!!E8j!!!!(s1eU7"98,r +!!!9(^]4?:s7cQo!!iP>!!!-$p](9o#QMR>!!E8r!!!!(s1eU7"98,r!!!9(^]4?:s7cQo!!iP> +!!!-$p](9o#QMR>!!E8r!!!!(s1eU7"98,r!!!9(^]4?:s7cQo!!iP>!!!-$n,NFg#QMR>!!iPn +!!!!(s1eU7#QN]^!!!9(^]4?Fs1eU7!!iP>!!",@J,fQL#QMR>!'gJ`!!!!(s1eU7s8Duu!!!9( +^]4oFqu?]s5QCc`s8W,g!!!!`s8W-!s8Tk7!!#7`s8W-!rr<$!!'gM`s8W,gz5QCc`s8Duu!!!!~> +Q +q[1 0 0 1 0 0]concat +55 70 true[1 0 0 1 -2165 -649]@X +imagemask +#64`gqu?^-J-Z,S^]4n\5QCcQ!"\#fs8Vus&+fi$s8N'0s8Tk>s*tX[qu?`s^^pJ'!!%N,&-%.[ +!'fBPrVuou+7Kg=!!!!0p^d-"!!!Q)&+BQ!!!iE4huE`W#Q,+j!!!!(r"$RC!!!9%&&8/F!!E32 +^]4?7#Q>6a!!!!(rXXMZ!!!9'%tFW[!!iK6J,fQL&,m)i!!!!0rW`E'!!",?z!'gG_zJ,TEJ!!!$! +rVuou!!iQ%zJ,fEH!!!Q0s82is!WW3"p](:9s8W,o!!%NKs8VQg"98E$s53k^s8W-!huF;fs8W,7 +!'gM`s8RTLJ,fQKrr<%Ks8W,s!!*'!s8Vio!WW3"s53kXs8W-!!!!-$s8Vio!!E9$rr<$!#QOh^ +!!!!(s8Duu!!!9(n,NFg!!iP^!!!&h&-%.[!!2R"rr<$!!UpX"!!!!"n.5Ku!!!&h&,lP/!!D]q +qu?]s"7QQn!!!!$n-Ajk!!!8n#Q+Q%!!huqqu?]s&+B]!!!!!@n,`Lg!!",1!WE'!!'frQrr<$! +J+*GfJ,fWMn,RsR!!E8j!'frQ+91g1&,ZG-a7''6s8W+On,NLhs8E&g!!%NKn,VqX!!iN(!,q~> +Q +q[1 0 0 1 0 0]concat +73 67 true[1 0 0 1 -2229 -650]@X +imagemask +!!*'!s8W,gzs8W-!s6p!g!!*'!s8W,gzs8W-!s6p!g!!*'!s8W,gz!!3,pz!!!!"s7cQoz!!3,pz +!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz +!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!" +s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,p +z!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQoz!!3,pz!!!!"s7cQo!!#1_!!3,p!!!7S +4obQ`s7cQo#Cnu<!!3,p!!!7S4obQ`s7cQo%tG]$!!3,p!!!O[*WQ0@s7cQo%tG]$!!3,p!!!O[ +*rl9As7cQo%tG`%!!3,p!!!O[*rl9As7cQo%tG`%!!3,p!!"*k++O=ls7cQo*rmC5!!3,p!!")@ +++O=ls7cQo56)e@!!3,p!!#4`&)[Egs7cQoIfL#K!!3,p!!*$!&,6,*s7cQprr<T/!!3,p!!iN( +&-'EGs7cRYrr<T0s8W-!s8W*!&-)\0s8W-!rr<T0s8W-!s8W&u&-)\0s8W-!rVu~> +Q +q[1 0 0 1 0 0]concat +82 69 true[1 0 0 1 -2308 -649]@X +imagemask +z#QN]^z!!!$!s8Duuz!!iQ(s1eU7z5QCc`n,NFg!!!$!s8W,oz!!3-!!'gG_z#QO8n"9/?$!!!!0 +s1eU7It.M!!!",@!!!!`^]4?7!'gG_!!!PfzJ,B9H!!hun!!!$!p](9o"7Q9j!!*&o!!!!"p](9o +!WVWh!!!&p!!!!"s6p!g!!)os!!!-$n,NFg!;lfs!!E8ZzHiO-H"979Z!!!"J!!!!(s53kW!!%HJ +!!!9(huE`W!'UA_!!iP^z4obQ_#QN]^!!!!_!!!!(s53kW!!#1_!!!9(huE`W!'UA_!!iP^z4obQ_ +#QN]^!!!!_!!!!(s53kW!!#1_!!!9(huE`W!'UA_!!iP^z4obQ_#QN]^!!!!_!!!!(s53kW!!#1_ +!!!9(huE`W!'UA_!!iP^z4obQ_#QN]^!!!!_!!!!(s53kW!!#1_!!!9(huE`W!'UA_!!iP^z4obQ_ +#QN]^!!!!_!!!!(s53kW!!#1_!!!9(huE`W!'UA_!!iP^z4obQ_#QN]^!!!!_!!!!(s53kW!!#1_ +!!!9(huE`W!'UA_!!iP^z4obQ_#QN]^!!!!_!!!!(s53kW!!#1_!!!9(huE`W!'UA_!!iP^z4obQ_ +#QN]^!!!!_!!!!(s53kW!!#1_!!!9(huE`W!'UA_!!iP^z4obQ_#QN]^!!!!_!!!!(s53kW!!#1_ +!!!9(huE`W!'UA_!!iP^z4obQ_#QN]^!!!!_!!!!(s53kW!!#1_!!!9(huE`W!'UA_!!iP^z4obQ_ +#QN]^!!!!_!!!!(s53kW!!#4`!!!9(huE`W!.TM!5QCc`qu?cts8Tl!s8W,s!!3-"s1gl!s8Vus +!WW3"^d%l!s82its8W,75QCc`qu?cts8Tk~> +Q +q[1 0 0 1 0 0]concat +82 69 true[1 0 0 1 -2395 -649]@X +imagemask +z!Up'hz!!!!$p](9oz!!!9!zz!!iE%zz&,ZD-z!!!!0rVuouz!!",?zz!$D4@zz+9)<@z!!!!`rr<$! +z!!#7`J,fQLz!.Y$!zzJ,d:az!!!$!s1eU7z!!*'!huE`Wz!WW2Xz!!!!"s8VQgz!!!'"s6p!gz +!!E8sn,NFgz"982lz!!!!(s7,jaz!!!9(nGE7dz!"]+fqu?]sz&-(R:z!!!!@s1j'`z!!",@^cqf!z +!$D6V56(Z`z5Q?6Uz!!!!`s*u2Az!!%NK!$?^kz!.Y"K&&8/Fzs8E!/^]4?7!!!$!rW!2]z!!3,t +!!hE^z!WW&t"7Q9j!!!!"s7cQrn,NFg!!!-$p](?az!!E8r!!2ipz#QO8n!;HNo!!!!(s6p!gqu?]s +!!!Q0huEcTz!"]+f!!%HJz+90+V!.FnJ!!!!@s1eU756(Z`!!#7`J,fR6z!'gL6!!")@z5Q:]`!$?^k +!!!"Krr<$!%tFW[!!%NK!!!!0^]4?7!<<#u!!!PFzs8Duu!!hE^!!!'"qu?]s#N,R^!!3,t!!!!$ +n,NFg"98,r!!!,j!!!!$s7cQo!!2Qh!!!-$n,NFg!VcWp!!iPnzp](9o#QO8n!!!#s!!!!0s53kW +!!%BH!!!Q0huE`W!.FnJ!$D6VzIK0?J+90+V!!!!`!!!!`s*t(L!!#4`!!#7`J,fQL!.VcaJ,fQK +^]4@!s8Tlas8W,7!!#7`s1j-as8Tk7!'gM`^jlCas1eU75QCc!J,fQK^]4@!s8Tk~> +Q +q[1 0 0 1 0 0]concat +114 69 true[1 0 0 1 -2482 -649]@X +imagemask +z4obQ_!"T&0z!!!"Jz++O=kz!!%KK!!!!@J,fQLz!.OtK!!#7!zzs*t(L!'e7!z!!!$!J,fQLJ)C;,z +!!3+M!!!"KhuE`Wz!WTq8!!%N,z!!!!"s1eU7!<;Ngz!!!-$^]4?7s6p!gz!!E8Z!!!'"p](9oz +#QN]^!!3,pz!!!!(s6p!g!WVopz!!!9(n,NFjs82isz!"],!!!!-$qu?]sz&-)D)!!E9#z!!!!@ +s7cQo#QOc'z!!",@qu?^%s8Duuz!$D7=!!!Q0rr<$!z5QCW]!"],0z!!!!`s1SI5&-(Mez!!%NK +4obR)s3H2qz!.Y#4!!",@O+731zJ,UMi!'gL=^]4?7!!!$!rZ;+?5Q?MSz!!*&u%tFXErs-=>z!<;s- +J,k*!"5j.Z!!!!"s83CX!.XtMhuE`W!!!'"p]nS7J,TQ>z!!E8r#J^?>rW2Kgz"98,uhuNfT!Up'h +!!!!$s6p-K!WW&tp](9o!!!9(n,qSLs7cThz!!iP^!Up-ip]13lz&-(Pgn,r^c!.4bH!!!!0s53nP +"97ijHiO-H!!!Q0^]=-7s6p"Pz!$D6V!;Hg!n,PWPz+9-ikHjB]0!'UA_!!!!`s*t)s&-(Pf*rl9@ +!!#7`J,h\Bs1eUVz!'gJ`!'Uqn^]4mqzJ,]KK4s0g?!"XS[!!!"Krr<$@+9-ik%tFW[!!%NJ!!"** +s*t(S^]4?7!<<#u!"V<o!!!8>zs82is&&8,E!!D-Z!!!'"qu?^-s8N'!"5j.Z!!3,t!!!9(rVup# +huE`W!WVop!!iQ'!!!&h!!!!$s7cQo#QO]%!!2Qh!!!-$n,NFjs82is!VcWp!!iPn!!!-$qu?]s +p](9o#QO8n!!3,p!!!#o!!!!(s53kW"98,r!!%BH!!!Q0huE`Zs6p!g!.4bH!"]+F!!!-$n,NFg +HiO-H+90+V!!iPn!!!!_!!!!@s1eU7#QN]^!!#1_!!",@J,fQ[s53kW!$;1@!'gL6!!!Q0huE`W +*rl9@5Q:]`!"]+F!!!!@!!!!`rr<$!+90+V!!!O[!!%NK!!!!@s*t(L!'e7!s8W-!J3X)6s53lA +s8Tn7s8W+L5QCc`huH"As1n[7s8RU6s8W,W!'gM`_#OH7s+!?6s8V!W5QCc!s8W-!J3X)6s53lA +s8Tk~> +Q +q[1 0 0 1 0 0]concat +81 68 true[1 0 0 1 -2600 -650]@X +imagemask +J,fQH!!3-"s8RV!s8Vus!WW3"s+#V!s82its8W-!J:IV!qu?cts8W+LJ,fQH!!3-"s8RTL&,lP/ +!!3-!!!!!$p](9o"989!!!!&t!!!!(s82is!!)uu!!!9(p](9o!.FnJ!"],!zIfKHK+917!!!!!` +J,fQks53kW!!"+V!!#7`^]4?7!"ZjF!.Y$!z&)[Efs8N'!!!!!(n,NIgrr<$!!!!,r!!3-!z!!2ip +"989!z!;lg%s7cQozrW!3'p](9o!!!"K!"],!z!!#4`+917!z!$?_Us53kWz+2C,@^]4?7!!!!0 +i.(cWz!!!8ns8N'!z!!D`jrr<$!z!Vucpz!!!!"s8Vusz!!!$!s7cQoz!!%NKp](9oz!'gMQzz5QBXA +z!!!!`s1eU7z!!#7`^]4?7z!.Y$!zzs8N'!z!!!'"rr<$!z!!3-!zz"989!z!!!!(s8Duuz!!!Q0 +rr<$!z!"],0J,fQLz+92@kz!!!!`s8Tk7z!!#7`cend'z!.Y$(n,NFgzs8N2rz!!!'"rrMlpz!!3-! +!W2otz"989!rVuou!!!!(s7cSDz!!!Q0p]*MYz!"],!!'bu6z+917!+2@jV!!!!`s1eUFhuE`W!!%NK +^]4W/z!.Y$!!!D]jzs8N'!"8Dir!!!'"rVup!qu?]s!!E9#!!!#uz"989!!!%HJ!!!!(s7cQo!WTq8 +!$D7@s7cTos8VQg+92B@p]1?os6p"1s8W,o!<<*!n,OR1s8Vios8W,g!$D7@s7cTos8VQg~> +Q +q[1 0 0 1 0 0]concat +83 68 true[1 0 0 1 -2687 -650]@X +imagemask +!!!$!s8W,Wz!!*'!s8V!Wz!<<*!s53kWzs8W-!huE`W!!!$!s8W,Wz!!!!`rr<$!z!!#7`zz!'gJ`zz +5Q:]`z!!!!`rr<$!z!!#7`zz!'gJ`zz5Q:]`z!!!!`rr<$!z!!#7`zz!'gJ`zz5Q:]`z!!!!`rr<$!z +!!#7`zz!'gJ`zz5Q:]`z!!!!`rr<$!z!!#7`zz!'gJ`zz5Q:]`z!!!!`rr<$!z!!#7`zz!'gJ`zz +5Q?66z!!!"Ks1eU7z!!*'!^]4?7z!<<)Wz!!!!"s8VQgz!!!-$s6p!gz!!iQ&p](9oz#QOVtz!!!!0 +s7lKlz!!",@n9t?;z!$D7!IfKHKz5QBY+z!!!"Ks1f_,z!!%NKJ02Q,z!<<'!&)[Ef!!!!"s8N'( +huE`W!!!-$rW!&iz!!E9!!!Durz#QO]%!VcWp!!!!0s7cQoqu?]s!!!Q0n,NIfz!$D71!!%HJz5QBXA +!'^G`!!!!`s1eU75C`_6!!%NKJ,fQk^]4?7!<<(L!!!PFzs8N'!!!hE^!!!'"rVuou#Oh]n!!E9# +!!!!$n,NFg#QO]%!!!&p!!!!(s7cQo!!2ut!!!Q0p](9o!;lfs!$D71zIK0?J+917!!!!"K!!!!` +s1eU7!!*&7!<<*!s53kW5QCcAs8W-!huEaAs8V$Ws8W,W!!#7`s5<qWs8V!W!'gM`i;`iWs53kW +5QCcA~> +Q +q[1 0 0 1 0 0]concat +62 68 true[1 0 0 1 -2773 -650]@X +imagemask +#QOi(s8W,g&-)\0s8W,o&-)\0s8W,o&-)\0s8W,o&-)\0s8W,o#QOQ!!.Y%D"989!!!iQ!!WW&t +!!*&o!WW-!!!#7Y!<<'!!!",9!.Y$!!!!Q)!.Y$!!!!9!!'gM!!!!,r!$D7!!!!,r!$D7!!!!&p +!"],!!!!&p!!iQ!!!!#o!!iQ!!!!#s!!E9!!!!#s!!3-!!!!#s!!*&u!!!"H!!*'!!!!"H!!%NK +J,fRs!!#7`J,fRs!!#7`^]4@^!!",@huEb)!!!Q0n,NH9!!!Q0n,NH9!!!9(p](9o!!!-$qu?]s +!!!-$qu?]s!!!'"rVuou!!!$!rr<$!!!!"Krr<$!!!!"Ks*t(L!!!!`s1eU7!!!!@s1eU7!!!!@ +s53kW!!!!0s6p!g!!!!(s6p!g!!!!(s7cQo!!!!$s82is!!!!"s8Duu!!!!"s8Duu"2Fm:s8N'! +"2Fm:J,b$!"5j.ZJ,b$!"5j.Z5QAM!"5j.Z+917!"5j.Z&-(Pf"5j.Z&-),!"7Q9j#QOQ!"7Q9j +"98,r"7Q9j"989!"8Dir!WW-!"8i-!!<<#u"8i-!!<<'!"9&9#!.Y$!"9/?$!'gM!"93lO!'gM! +"979Z!$D7!"98,r!"],!!WW1M!!iPn!WW3"s8W,o!WW3"s8W,o!WW3"s8W,s!WW3"s8W,o!WW3" +s8W,o~> +Q +q[1 0 0 1 0 0]concat +54 46 true[1 0 0 1 -707 -530]@X +imagemask +!!E7Oz5QC3QJ+s'Es83!!p]LQrrWiK$&-(R;&-)DHrr<Rjs7d]8!!D-X!'gA]!WVop5PtK]s7cSD +p](<op],g=!!%ND!.XbD!.XbDJ+s!DJ+s"np](:Yp]*PR!!#7Y!'gA]!'g5Y5PtK]5PP4#rVup_ +p](j)!!#7Y!!iOS!'g5Y"979Z5PP3Ys7cRYp](;Drr>:Y!!!Q0pcnNR!!3-"s7cQo!$D7@p](9o +!'gMYz!'g5Yz5PP3Y!!!!`p](9o!!#7Y!!)uu!'g5Y!WN-"J+s!Gs*t*!p](ErJ,k)g!!iP>!.XJ< +#QMR>s6p!ns1eX7huF#^J-#].!!E7O"96.:"9/?+s*t(Mrr=/@!!!$!s8Vus!!%NKs6p!g!$D7@ +^]4?7!WW&t!!!~> +Q +q[1 0 0 1 0 0]concat +58 70 true[1 0 0 1 -762 -530]@X +imagemask +!!!!0rVuou!.4crs1eU7!.FtKs7cQo!.G%Ms8Duu!.POK&-%.[!.UWV"96.:!.Y"K!<:sW!.XtJ +!.XJ<!.XnH!'g5Y!.XbD!$D+=!.XJ<!$D+=!.XJ<!"]&/!.XJ<!"]&/!.XJ<!"])0!.XJ<!"])0 +!.XJ<!!iOS!.XJ<!!iOS!.XJ<!!iOS!.XJ<!!iOS!.XJ<!!iP>!.XJ<!!iP>!.XJ<!!iP>!.XJ< +!!iP>!.XJ<!!iP>!.XJ<!!iP>!.XJ<!!iP>!.XJ<!!iP>!.XJ<!!iOS!.XJ<!!iOS!.XJ<!!iOS +!.XJ<!!iOS!.XJ<!"])0!.XJ<!"])0!.XJ<!"])0!.XJ<!"]&/!.XJ<!$D1?!.XbD!$D+=!.XnH +!'g5Y!.XtJ!'frQ!.Y"K!.Wo,!.Y$a!WTq8!.XJ4#QK;S!.X23s8Duu!.Wu-s82is!.WpVs53kW +!.Wo3rVuou!.Wo,z!.Wo,z!.Wo,z!.Wo,z!.Wo,z!.Wo,z!.Wo,z!.Wo,z!.Wo,z!.Wo,z!.Wo,z +!.Wo,z!.Wo,z!.Wo,z!.Wo,z!.Wo,z!.Wo,z!<:sWz!<:sWz5QBXAz5QBXAz5QBXAz5QBXAz5QBXAz +~> +Q +q[1 0 0 1 0 0]concat +46 46 true[1 0 0 1 -830 -530]@X +imagemask +!!!9(zJ,eF,!!E9$qu?^-s8W&u!$D4@s*t*!qu@hS!<;Ng#N,X_huEl;"96.:!Up3k^]4E)#QK;S +!;I*)!!!#o&,uV0!.5=W!!!"D+8u6?!!",?z+8u6?!!#7_z5Q1W_!!#7_z5Q1W_!!#7_z5Q1W_!!#7_ +z5Q1W_!!#7_z5Q1W_!!#7_z5Q1W_!!",?z+8u6?!!",?!!"*k&,lP/5N!(P!!%N,#QFc(s6p9n!!*&g +"93lOs6p'h^]=E(!WTq8s6p$ghuNfH!'g5YJ)C;KrW%H+!"],0s1eU:s8W*!!!%NKqu?]s#QMR>~> +Q +q[1 0 0 1 0 0]concat +58 70 true[1 0 0 1 -880 -530]@X +imagemask +!!!Q-!<;fo!!*'!JH,Yb!!E9$nGiO(!"],0q#CB0!$D1@rr<#6!.XJ<J,fPa!<:sW+91g1!WTq8 +&-(Pf"93lO#QN]^"93lO"979Z#QFc(!WV'X&,uV0!<:sW&,uV0!<:sW&,lP/!<:sW+8u6?!<:sW ++8u6?!<:sW+8u6?!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_ +!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW+8u6?!<:sW ++8u6?!<:sW+8u6?!<:sW&,lP/!<:sW&,uV0!<:sW#QFc(!<:sW#QFc(!<:sW"93lO!WV'X!WTq8 +"979Z!<:sW#QN]^!.XJ<&-(Pf!'g5Y5QBXA!$D4@s8V!W!!iQ(rr:mV!!3-"q#B7P!!%NKi;_^8 +!!!9(!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz +!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWzJ,eF,zJ,eF,zJ,eF,zJ,eF,zJ,eF,~> +Q +q[1 0 0 1 0 0]concat +47 46 true[1 0 0 1 -943 -530]@X +imagemask +!!!9(J,fQLJ,f!<!!E9$rVup/s8W*!!$D4@s1eVap])Do!<;Ng#Ohco^]4E1"96.:!;Hg!J,fRs +#QFc(!.GIY!!!!_&,lP/!'VM(!!!!?+8u6?!!#7_z5PtK]!!#7]z5PtK]!!%NHzJ,B9H!!%NHzJ,B9H +!!%NKs8W,uJ,fQKs8INJs8W,uJ,B9H"9(O_!!!-#5PtK]"9(O_!!!-#5PtK]#Q>hC!!!9'+8u6? +#Q,\C!!!9%&,lP/&,Z\4!!!Q)#QFc(&,68,J,g\\!WTq85MuPAhuJ8b!.XJ<s1eV!r!37P!"],0 +rVup#s8Vus!!*'!huE`W&,uV0~> +Q +q[1 0 0 1 0 0]concat +42 70 true[1 0 0 1 -996 -531]@X +imagemask ++92B9!!",@s7cQo+92B9!!",@s7cQo+92B9!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg +!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg +!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg +!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!#7`s8N'! +5QCc`!!#7`s8N'!5QCc`!!#7`s8N'!!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg +!'frQ!!!!`n,NFg!'frQ!!!!`n,NFg!'frQ!!!!`n,Rh9!'frRrr<$`n,r[j!'frTs*t(kp]phL +!$Ct@s*t(kr!38;!"\u4s*t(SrWE1N!!E6's*t(Ms5EtX!!*'!rVuou5QCW]!!!9(p](9o!<9h7~> +Q +q[1 0 0 1 0 0]concat +54 65 true[1 0 0 1 -1031 -511]@X +imagemask +!!#7`huE`W#QOi(!!!!`s8W,W!!*'!s8Vio"97ijJ,TEQrr<$(rr<T-!!!'"J047\!!%Ma5MuMA +!'fC+huE`W+5hXa!!!!@n:/4R!!",1J%u$a!$C][^]4?7+7Ocq!!!!@n3>h2!!#7Q5O\XQ!<;O1 +qu?^-s54Ffs8W-!huj#Zs8W,7!<<*!s8Tk7J,fQKs*t+Ls8W-!!!*'!s8W&u!WW3"s82j!s8W-! +n,NRjs8W+L!!E9$s7cQo"8i-!!!!!(n,NFg!!!8nz!!hE^z"5j.Z!!!!$^]4?7!!!,:z!!C#$p](9o +!TX4[J,fQMn,NFG!!!$!s8Vio!!%N<+8c*=!WTq?rVup!s*t4O!!!-$!!3+M!!iK'!WTq8#Q=]' +s1eUFrVuruhuF;e!!*&W!"]&/!<:sW&,lP/s53kfrVuruhuF;e!!*&W!"]&/!<:sW&,lP/s53kf +rVuruhuF;e!!*&7!!iK'!<9n)#Q=](s+C(Krr<*"L\LoMJ-5fVquHc4#QG&,!.XJ[s2Xm7+92B8 +s7cR)s8Tq8p](?prW%H;z!$Au~> +Q +q[1 0 0 1 0 0]concat +59 69 true[1 0 0 1 -1088 -531]@X +imagemask +5QCcQ5QCcA5QCcQ5QCcA5QCcQ5QCcA5QCcQ5QCcA5QCcQ5QCcA!.XbD!.XJ<!.XbD!.XJ<!.XbD +!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ< +!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD +!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ< +!.XbD!.XJ<!.XnH!.XJ<!.XnH!.XJ<!.XtJ!.XJ<!.XtJ!.XJ<!.Y"K!.XJ<!.X`n!.XJ<!.XUU +!<:sW!.XUu!<:sW!.XP6!WTq8!.XM<"96.:!.XK&s8RTL!.XJ[s8Duu!.XJCs82is!.XJ<s53kW +!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z +!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z5QC3Qz5QC3Qz5QC3Qz5QC3Qz5QC3Qz~> +Q +q[1 0 0 1 0 0]concat +26 69 true[1 0 0 1 -1152 -531]@X +imagemask ++92AV+92AV+92AV+92AV+92AV!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ +!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ +!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!.XJ<!.XJ<+91g1+91g1+91g1+91g1+91g1zzzz +zzzz!$;1@!.Vca!<:sW!WVWh!WVop"98,r"98,r"98,r"98,r"98,r"98,r!WVop!WVWh!<:sW!.Vca +!$;1@~> +Q +q[1 0 0 1 0 0]concat +33 89 true[1 0 0 1 -1176 -511]@X +imagemask +!.Wo,!!E9!!!!Q0s*t(ks8Tk75N%%L!.Wokp],g5+8>hcp^d9&s7d-(!<;g!rW%HC#QFdRp]pg! +J+*R?!'fBDrr=.V"93lO!!E7O!!!-$J,fQOs*t(L"93lO!!E7O!!!-$J,fQOs*t(L"93lO!!E7O +!!!-$J,fQOs*t(L"93lO!!E7O!!!-$J,fQOs*t(L"93lO!!E7O!!!-$J,fQOs*t(L"93lO!!E7O +!!!-$J,fQOs*t(L"93lO!!E7O!!!-$J,fQOs*t(L"93lO!!E7O!!!-$J,fQOs*t(L"93lO!!E7O +!!!-$J,fQOs*t(L"93lO!!E7O!!!-$J,fQOs*t(L"93lO!!E7O!!!-$J,fQOs*t(L"93lO!!iOS +!!E9$J,f]Os*t(Os8RTL"98CO!!E9$J,fQLzzzzzzzzz!!!!$n,NFg&,6,)!$D+=!!#7_!!!!`rr<$! +J,]KK!.Y"K!!%NKJ,fS!s*t(LJ,]KK!.Y"K!!#7`!!!!`rVuou+8c*=!"\i)!!!,Z!!~> +Q +q[1 0 0 1 0 0]concat +56 69 true[1 0 0 1 -1219 -531]@X +imagemask +5QCc!5QCaJs8Tl!s8P=`s1gl!s$-P`^d%l!5QCc!5QC``J)C;3s1eVahuF#^J,k)W!"])0!.Wo, ++9)<@J)C;krVuqJhuH">!!%N,!.XbD!.Wo,s6p!gJ)CA-n,NH<huj#;!!%N,"96.:!.Wo3s*t(L +J)Ck;!!!"Kn/qW0!!%NH5Q1W_!.Xutqu?]sJ,b#n!!!"Ks8VQg!!%NKs53kW!.XJ;^]4?7J)gRE +!!!"KiW"E.!!%N,rr<$!!.WokJ,fQLJ)DF,!!!"Ki",;W!!%N,"8Dir!.Wo-rVuouJ)C>,!!!"K +huGul!!%N,!$C,!!.Wo,&+BQ!J)C;/p](;DhuF#]!!%N,!$D7=!.Wo,+926=J)C;Ks82kHhuFl! +quD6)!$D7=!.Wo,zJ)C;,!!!"KhuE`W!!%N,z!.Wo,zJ)C;,!!!"KhuE`W!!%N,z!.Wo,zJ)C;, +!!!"KhuE`W!!%N,z!.Wo,zJ)C;,!!!"KhuE`W!!%N,z!.Wo,zJ)C;,!!!$!huE`W!!*&Wz5QBXA +!!!!`s53kW!!#7`huE`W!'gMAz5QBXA!!!!~> +Q +q[1 0 0 1 0 0]concat +27 69 true[1 0 0 1 -1279 -531]@X +imagemask ++92B!+92B!+92B!+92B!+92B!!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ +!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ +!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ +!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ!'frQ +!'frQ!'frQ!.XJ<!.XJ<+91g1+91g1+91g1+91g1+91g1~> +Q +q[1 0 0 1 0 0]concat +91 45 true[1 0 0 1 -1312 -531]@X +imagemask +5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA5QCcQ5QCcA5QCcA +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ<!.XbD!.XJ<!.XJ< +!.XbD!.XJ<!.XJ<!.XbD!.XbD!.XJ<!.XbD!.XbD!.XJ<!.XbD!.XbD!.XJ<!.XbD!.XbD!.XJ< +!.XbD!.XbD!.XJ<!.XnH!.XnH!.XJ<!.XnH!.XnH!.XJ<!.XtJ!.XtJ!.XJ<!.XtJ!.XtJ!.XJ< +!.Y"K!.Y"K!.XJ<!.X`n!.X`n!<;Ng!.XUU!<;)p!<:sW!.XOs!<;*;!<:sW!.XP6!WU"2!WTq8 +5QC6Q"961:"96.:5QC4;s8RU6s8RTL5QC3ps8E!?s8Duu5QC3Xs82j%s82is!WVWhs53kWs1eU7~> +Q +q[1 0 0 1 0 0]concat +59 45 true[1 0 0 1 -1407 -531]@X +imagemask +5QCcQ5QCcA5QCcQ5QCcA5QCcQ5QCcA5QCcQ5QCcA5QCcQ5QCcA!.XbD!.XJ<!.XbD!.XJ<!.XbD +!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ< +!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD +!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ< +!.XbD!.XJ<!.XnH!.XJ<!.XnH!.XJ<!.XtJ!.XJ<!.XtJ!.XJ<!.Y"K!.XJ<!.X`n!.XJ<!.XUU +!<:sW!.XOs!<:sW!.XP6!WTq85QC5&"96.:5QC4;s8RTL5QC3ps8Duu5QC3Xs82is!WVWhs53kW~> +Q +q[1 0 0 1 0 0]concat +52 46 true[1 0 0 1 -1471 -530]@X +imagemask +!!!Q0J,fQL!<<)o!!!!$s8W&u!!!Q0s8RTL!'gA^s53kWJ+*Gfn,NIg^]5JO!!3+M!"\u-"93lO +#Q=].rr<$(rr<T/!!!-$J.MVZ!!E7O+8u6?"96.YrVup!s1f`S!!!'"i'7,>!!3,X5PtK]!WV(B +qu?]ts58D)!!!'"n:1?9!!3,hJ,B9H!WVY=qu?]ts6tO9!!!'"n:1?9!!3,hJ,B9H!WVY=qu?]t +s6tO9!!!'"n3?gN!!3,h5PtK]!WV(Bqu?]ts56->!!!'"i#hjs!!3,8+8c*=!WTqGrVup#s1f0E +!!!-$J-Z&R!!E6$#QFc(#QFc+rr<$(rW!!!J,g,X!!*&7!$Ct9!.XJ<J+*F<+8u<@huE`fs8W+L +!!!-$s8Duu!!%NKp](9o!!iOS!!!~> +Q +q[1 0 0 1 0 0]concat +58 64 true[1 0 0 1 -1529 -512]@X +imagemask +5QCcAz5QCcAz5QCcAz5QCcAz5QCcAz!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z +!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJ<z!.XJKrVuou!.XKfs1eU7!.XP=s7cQo!.XV?s8Duu!.Y%< ++9-ik!.Y$a#QMR>!.Y"K!WV'X!.XtJ!<;Ng!.XnH!.XbD!.XbD!'gA]!.XJ<!'gA]!.XJ<!$D1? +!.XJ<!$D1?!.XJ<!"])0!.XJ<!"])0!.XJ<!"]*[!.XJ<!"]*[!.XJ<!!iOS!.XJ<!!iOS!.XJ< +!!iP>!.XJ<!!iP>!.XJ<!!iP>!.XJ<!!iP>!.XJ<!!iP>!.XJ<!!iP>!.XJ<!!iP>!.XJ<!!iP> +!.XJ<!!iOS!.XJ<!!iOS!.XJ<!"]*[!.XJ<!"]*[!.XJ<!"])0!.XJ<!"])0!.XJ<!$D4@!.XJ< +!$D1?!.XJ<!$D1?!.XbD!'gA]!.XnH!.XbD!.XtJ!<;Ng!<<'!!WVWh!<<)7"96.:5QC3I&-%.[ +5QBdDs8N'!5QB^Bs82is5QBY+s6p!g"979arr<$!~> +Q +q[1 0 0 1 0 0]concat +58 64 true[1 0 0 1 -1596 -512]@X +imagemask +zJ,fPazJ,fPazJ,fPazJ,fPazJ,fPaz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz!<:sWz +!<:sWz!<:sWz!<:sWz!<:sWz!<:sW!!!Q-!<:sW!!*'!JH+O-!!E9$i;_^8!"],0q#B7P!$D4Cr;Y[T +!.XnHIfJ=+!<;Ng5QBXA!WV'X&-(Pf"96.:#QN]^"96.:"979Z#QK;S"979Z&-%.[!WV'X&,uV0 +!<:sW&,uV0!<:sW+9)<@!<:sW+8u6?!<:sW+8u6?!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW +5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_!<:sW5Q1W_ +!<:sW5Q1W_!<:sW+8u6?!<:sW+8u6?!<:sW+9)<@!<:sW&,uV0!<:sW&,uV0!WV'X#QK;S!WV'X +#QK;S"979Z"96.:"979Z!WV'X#QN]^!WVWh&&7$&!<;fo+!9D@!'gA]IimSK!$D5lr"%]c!"],0 +p]o^W!!E9$n-@kO!!%NK^]WKp!!!9'!!2!X~> +Q +q[1 0 0 1 0 0]concat +42 45 true[1 0 0 1 -1656 -531]@X +imagemask +5QCcQ!!#7`s6p!g5QCcQ!!#7`s6p!g5QCcQ!!!"KhuE`W!.Wo,!!!"KhuE`W!.Wo,!!!"KhuE`W +!.Wo,!!!"KhuE`W!.Wo,!!!"KhuE`W!.Wo,!!!"KhuE`W!.Wo,!!!"KhuE`W!.Wo,!!!"KhuE`W +!.Wo,!!!"KhuE`W!.Wo,!!!"KhuE`W!.Wo,!!!"KhuE`W!.XJ<!!!"Kn,NFg!.XJ<!!!"Kn,NFg +!.XJ<!!!"Kp],[A!.XbDrr<%Kp]:DF!.Wc+s1eVag]RSl!.Wi-s1eVacNF3_!<:)ls1eX7a2@qm +5QAXks+!?6_>jN85QAP!rW#1_^d%_s5QAM0huE~> +Q +q[1 0 0 1 0 0]concat +39 46 true[1 0 0 1 -1702 -530]@X +imagemask +3!'';!'UqnquArGs8RU6s8W,75Q:^Ji'7,>#OjtI!!E!\huEfU5JR7!r',]3!<,35!!*!_!!!#u +56(Z`r]U;^!<,.^!!3'_!!!'!49,?drVuou&,lP/!.XtJ!$D7=!!E9$qu@i=s7cSDs8Vips8W,g +"98E$i!9;^s1f0Fs8N'@s8Vus+92B1!'gM_!!#7`^]4@!qu?]s5O\XQ!'e7!!:W4'!!)LQJ,fT= +5C`_7n/m/\!Uq1]!!2R"^]4K+&&8/Mn-AF_+7KC3!.XJ<s8W,g!'gMZn,NRj^i0~> +Q +q[1 0 0 1 0 0]concat +36 64 true[1 0 0 1 -1748 -530]@X +imagemask +!!",1!!!'"qu?^%s8Duu&-)Z[!$D1NJ,hh3#J^=(p]KFSJ+*Qu!.XJ=huJ8r!Up*hn,`"Ys6p'Y +!<;Nhn,WLX!Up*hn,`"Ys6p'Y!<;Nhn,WLX!Up*hn,`"Ys6p!g!<;Ng!!*&g!!!$!n,NFgs6p!g +!<;Ng!!*&g!!!$!n,NFgs6p!g!<;Ng!!*&g!!!$!n,NFgs6p!g!<;Ng!!*&g!!!$!n,NFgs6p!g +!<;Ng!!*&g!!!$!n,NFgs6p!gs8W-!_#OH7s1n[7s8Tn7s8W,7#QOi(^]FK)!!!$!n,NFgJ+*F< +!'frQ!!",1!!!!@n,NFg&+BQ!!"\Q!!!!8n!!!!(n,NFg"7Q9j!!D]j!!!,j!!!!$n,NFg!Up'h +!!2Qh!!!&h!!!!"n,NFg!Up'h~> +Q +q[1 0 0 1 0 0]concat +59 46 true[1 0 0 1 -1792 -530]@X +imagemask +!!!Q0!'gMA!!%NKi'78"!!3-"pcnf:!!iQ(r'15>!"])0r]gG@!$D+=+$]N#!$Ct9&&7l>!'g5Y +#J]a.!'g5Y"97ij!'g5Y!WVWh!'g5Y!WVWh!.XbD!<;Ng!.XbD!<;Ng!.XbD!.XJ<!.XbD!.XJ< +!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD +!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ< +!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD +!.XJ<!.XbD!.XJ<!.XbD!.XJ<!.XbD!<;Ng5QCKY5QC3Q5QCKY5QC3Q5QCKY5QC3Q5QCKY5QC3Q +5QCKY5QC3Q~> +Q +q[1 0 0 1 0 0]concat +56 44 true[1 0 0 1 -1856 -531]@X +imagemask +!!!!]z!!%HJz!<3$!zrr<$!!!!'"J,fQL!!3+Mz"96.:!!!!$s1eU7!!!-$huE`W!!iP^z#QO8n +!!!!0s6p!g!!!Q0p](9o!$D48z+9$Wf!!!!`r-SJE!!#7]4obQ_!.Xc-zJ+u5.!!!$!n/hW1!!*&g +++O=k!WV'gJ,fQMs54E<!!!-$^^%XT!!E8:#J^<>#QK;VhuE`^s*t40!!!Q0!!2Qh!"])0!Up'h ++8u6?p](:9rVurn!!",=!!%BH!'gA]!.4bH5PtK]4obS4p](:X!!%ND!!")@!<;Ng!$;1@s6p!g +++OClhuEa!^jlCa!!3-"J,fNK!WW1Ls8N'"s8RTKrr<*"s*t(K!!3-"~> +Q +q[1 0 0 1 0 0]concat +78 44 true[1 0 0 1 -1916 -531]@X +imagemask +!!!&X!!")@z"7Q9j5C`_6!!!,r!!#66z#P\9!5C`_6!!!9%!!%Maz&,ZD-J%u$a!!!Q-!!*&Wz&,lP/ +s53kW!!",?!!3,hz+9)<As6p!g!!#7`!!3,hz5Q:]cs7cQo!!%NKJ-5iHzJ,b$(rd4\G!!%NC^^'jdz +s7a;6r-SJE!!*&Zi",`L!!!!"s5W#Jpc\ZX!!3,[i#h_9!!!!"s2"1Hp`BJ9!!E8;n3?CQJ,fQO +s+'l/n.1$L!!iOSpcm[IJ,fQSrr@:ni!7$t!"])0I"1&Z^]4?Frr@HH^]WKp!"]&/56&D#huEa! +rW#.^J-"R.!$D+=+9-iln,NGQqu@i=!!2Qh!'gA]+9)<@p](:Yp](j)!!)co!.XbD&,lP/HiO.r +n,N^m!!%BH!<;Ng#Q+Q%HiO0HhuF;c!!#1_!WV'X&,ZD-4obW`huFko!!")@!WTq8+8>g95Cie6 +rs/T(^^'o;s8W*(s8Tk>s8;osrs/T(^^'o;s8W*(s8Tk>s8;osrs/T(^^'o;~> +Q +q[1 0 0 1 0 0]concat +56 44 true[1 0 0 1 -1999 -531]@X +imagemask +s8VQgJ,fQKs6p#<s8W-!n,Rt<s8W,g!.Y%Ks8VQgJ,fNKs*t(Ss*t)6!!!Q0!!"*k!$D1?!"ZjF +5PtK]#N,T3p](9rn,WLX!!!&p!<;Ng!!2uus53kW!<**#^]4?7IL#n'!!!!`&,uV0!!"+5rVuou +!"],-z#QO]%!!!!$s7cQo!!!'"n,NFg!!3,Xz"96.:!!!!(s*t(L!!!Q0J,fQL!$D6Vz+90+V!!!!` +s53kW!!%NGn,NFg!<;Ta!!!!"s5<eT!!!-$^jZ7`!!iP>56(Z`#QK;rJ,fQ[rr=.V!!",?!"[uf +!'gA]#Oh]nJ+s!Gp](<on,NRi!.Y%K!$D7=J,fNK+927gs8N'@s87BHrr=/@r."bH!$D7=~> +Q +q[1 0 0 1 0 0]concat +56 64 true[1 0 0 1 -2059 -511]@X +imagemask +!WE'!!!!!(s*t(L!!!Q0huE`W!'gMQz5D/k6!!!"K_#=<6!!%N,IfKHK!<:t!zs6q+\!!!$!n.3;7 +!!*&g#J^<>!.Wo3huE`WJ)CFe!!!!`^]X'+!!")@!Up'h!!!!"p](9o!!!#oz!!)osz!.4bHzIK0?J +!!!"Jz!!%KKz!<3$!zs*t(L!!!'"J,fQL!!3,8z!WTq8!!!!$s1eU7!!!-$huE`W!!iP^z#QO8n +!!!!0s6p!g!!!Q0p](9o!$D48z+9)0<!!!!`r-SJE!!#7]IK0?J!.Xc-zJ+u5.!!!$!n/hW1!!*&g +++O=k!WV'gJ,fQMs54F'!!!-$^^%XT!!E8:#N,R^#QK;VhuE`^s*t40!!!Q0!!2Qh!"])0!Up'h +&,lP/p](:9rVurn!!",?!!%BH!'gA]!.4bH5PtK]4obS4p](:X!!%ND!!#4`!<;Ng!$;1@s6p!g +++OClhuEa!^jlCa!!3-"J,fNK!WW1Ls8N'"s8RTKrr<*"s*t(K!!3-"~> +Q +q[1 0 0 1 0 0]concat +44 44 true[1 0 0 1 -2119 -531]@X +imagemask +5QCc`s1j-as8W,7J,fQKs1j-as8W,W5Q:]gs55"!!!%N,&-%.[5MueH^]5J7#QN]^&)[QihuF#? +!WVWh#N,U^p](ES!<;rs"5j0/qu?iW!'gG_!Up(2rr<)h!"]*[!Up("s1e[)!!iP>!Up'ks53qI +!!3,h!!!!"s7cQo!!*&ozJ,B9H!!#7_z+9)<@!!",@J,gYk&-%.[*rlQG^]5GV"979Z*rlECn,OO1 +!WVWh*rl<@p])Cd!.XnH++O>UrW"%U!'gG_+2@jurr<Sf!"]*[&,6,0s1f0F!!iP^&-)\0s54Ff +s8W,g&-)\0s6pR!s8W,W~> +Q +q[1 0 0 1 0 0]concat +47 77 true[1 0 0 1 -66 -403]@X +imagemask +z!#tt=!!!!_z!.FnJ!!!"Jz!<)ru!!!#uz!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz ++2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKzrVuou!!)uuzqu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg +!!hun!!!!(huE`W!"[uf!!!!0^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#uz +!W2ot!!!&tz"8Dir!!!,rz#Oh]n!!!8nz&)[Ef!!!Pfz+2@jV!!"+Vz5C`_6!!#66zIfKHK!!%KKz +rVuou!!)uu!!!!"qu?]s!!2ut!!!!"p](9o!!Dur!!!!$n,NFg!!hun!!!!(huE`W!"[uf!!!!0 +^]4?7!$AuV!!!!@J,fQL!'bu6!!!!`z!.OtK!!!"Jz!<)ru!!!#sz!W2ot!!!&pz!VcWp!!!&hz +!8mhW!!!~> +Q +q[1 0 0 1 0 0]concat +54 44 true[1 0 0 1 -119 -411]@X +imagemask +5Q:ug_>j"Ss,[3?s7h*DTE"Zcr."a=s7cQkJ,bT0j8\m=rs/S?s6p-[!;lg]!!D]jquAq]"7Q<g +!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gc +n,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcn,W@d +56(fT!;lg]!!D]jquAq]"7Q<g!'^Gcp]19n56(f\!<)s_!!DurrW#._"8i0!!'^GcquH`s56(fb +!<7R6!!E6%s1j'`"96:=nGWDPs8W-!rW%HJs7cQm!.Y%KoDe^gJ+s!'s82kHj8Zppp]*Ops+#Ug +!!!!_!"ZjF~> +Q +q[1 0 0 1 0 0]concat +53 44 true[1 0 0 1 -171 -411]@X +imagemask +!!#7Yz!WW1MJ+*FCs8V'Xp])E9s82ik!'gM`s8VioJ,fQKs7cTon-B!nn,WK=!<;Ng!WN-"5MuMB +rVup?huEfU!!!Pf!!2ut!"[uf"8Dir&)[Eip](:)huEfU!!!Pf!!2ut!"[uf!WE'!&)[Egrr<$0 +huEcW^]4o'!!%N<!"[uf!.Y"K&)[Ef+92<NhuE`fs8W,W!!!-$s8V!W!!*'!s53kW!'gM`huE`W +"98DZz&-(Pfz&)[Ef!!!!0huE`W!!!Pfz!"[uf!$;1@+5d,!5C`_U^]4@!J,hgL!!%Ma!.TM!!.Vcb +s*t(LJ%uTp!!!"Ks8W&u!!#7`s82is!'gM`p](9o+92B!!!!!(s8RTL!!!$!qu?]s~> +Q +q[1 0 0 1 0 0]concat +46 55 true[1 0 0 1 -224 -411]@X +imagemask +!!!!`huE`W!WW&t!!!9(rr<$!&-)Z[!!",@s1eU75QCcA!!#7A5O\XQJ%uTi!!%M!#P\9!rr</r +!!*$!"8i-!rVuus!!)uu!W2otrVuus!!)uu!W2otrVuuo!!)uu!$D7ArVuou!!)uuzrVuou!!)uuz +rVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuz +rVuou!!)uu!!!9(s8W,7&-)\0s54Ffs8W,W&-)\0s54Ffs8W,W#QOi(s1eU7rVuou!!)uuzrVuou +!!)uuzrVuou!!)uuzrVuou!!)uuzrVuou!!)uuzIK0?J!!%BH!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -277 -411]@X +imagemask +&-)Z^s8V"As8U.>s6r8Qs2Y0>n3?sQa8c2/5QCc(s8VR1s8R`Os53l!^]4W/!!"+V!!hun!$AuV +#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n ++2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j]n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+2@j] +n,NG1^]4W/!!"+V!!hun!$AuV#Oh]n+5d,(n,NG1huF#O!!",1!!hE^!$C\1&)[Ef+8>gHhuEa! +qu@8c!!",?!$C,!!$D4@+2@jV+918K^]4?Vs8W+L!!"+us8RTL!$BPerr<$!+2e-X!!!!@_#O00 +!!"+V+5d,!!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@jV +!!!!@^]4?7!$D6Vz5QAM!!!!!`s1eU7!!#7`J,fQL!$D5kz+9)<@!!!!~> +Q +q[1 0 0 1 0 0]concat +52 61 true[1 0 0 1 -329 -411]@X +imagemask +!!!Q!"979Z!.XtQs6p!hs8RlSn,NRjs6'FO!"],0p]'^_+92B@s53lAp`KOo!!%N,"979Z!.Vcb +s53kWrr<'!huEfX!!%N,!!3'!!'fBA!W2ot+5d,$qu?^=huElS!!!Pf!!i9!!"[uf#Oh]n&)[Em +n,NFnhuF#O!!!8^!!hun!!hE^#Oh]n#N,Ren,NFnhuF#?!!!8^!!hun!!hE^#Oh]n#N,Ren,NFn +huF#O!!!8^!!hun!!hE^"8Dir#N,Rap](:)huElW!!!Pf!!2ut!"[uf!WE'!+5d,!rr<$`huEcW +J,k)W!!%Ma!<:sW!'frRs53kW+8cBDhuE`fs8W,W!!!9(s7bFO!!E9$kMQ=?!<<(ShuE`W5Q:uH +!!!!(p]o^Wz#N,R^!!!!(huE`W!!!8^z!!hE^z#N,R^!!!!(huE`W!!!8^z!!hE^z#N,R^!!!!( +huE`W!!!8^z#QN]^!!!!0s53kW!!!Q0huE`W!"]+fz&-(Pf!!!!(s1eU~> +Q +q[1 0 0 1 0 0]concat +39 45 true[1 0 0 1 -390 -410]@X +imagemask +GQ7^D!.4nK^]=9ss7cTns8W*!s8W-!_#OH7s5<qWs8VTgrr@QDs7cR!q#B7P"8r27!!3#tJ,fTI +s*t(LIfBBJ!.OqJ!!%KI!!!#uIK0?Jr-SJE!W2ot!!iE%!!",9!!!-$p](;Ds6p"!s8V!WJ,fP! +"98E#!"],0p])E9s*t)6s53kWJ+s!D!.Vca!!%KK!!C%9!!!8^qu?^%nGE7d#OqWk!"\Su!!!Q! +IfKHjn:,rg5O^o4!<;OQs8W,g+92B@n-B!ns6p-js8VQgJ,f,u!!iOT^]~> +Q +q[1 0 0 1 0 0]concat +28 49 true[1 0 0 1 -444 -446]@X +imagemask +!;lfs"93lO#D_4;%fu/"*WYs8*WUQf49.PF49-H'49-IRHiO\-HiO\mHiODeHiOE0IK0W24ob]C +4ob]S4ob]S4ob]S*rlE4*rl?2*rl?2*rl?2%tF]M%tF]M&&858&)[KH#OhiR#P\D:#Q+hB#L<p2 +"6][a"6'.X"5j.Z"5j.Z!Up'h!Up'h!Up'h!Up'h!;HNo!;HNo!;HNo!;lfs!.4bH!.4bH!.4bH +!<)ru&,lP/&,lP/!WE'!~> +Q +q[4.8 0 0 -121.2 640.28 496.08]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +75 70 true[1 0 0 1 -708 -411]@X +imagemask +s8Vio+92B@s5<qWp])E9s8W,Ws8Vio+92B@s5<qWp])E9s8W,W#QMR>!.XnKn,NIf!!!!`qubjW +!.4bH!'gA`^]4?s!!!!`p]J;3!'C5]!'g5h^]4?s!!!!`p^b.?!#tt=!.XbSJ,fQh!!!"Ki"(>< +!$2+?!.WoKJ,fQZ!!!"Ki#Vju!"Ju/!<:su!!!!/!!!$!^ch_u!"XS[!<9hu!!!!$J,fTL^cVSs +!!@`O!WR[4!!!!$J,fWMJ33f3!!E9$s8RUs!!!!"s8W-!J9V%o!!3-"s8N(D!!!!"s8W-!!-eJD +!!(pW"9/AjzhuF;f!:Tsg!!(pW&,uY!zn,O!u"7Q9j!!$s<+8uB#zDu_!Z"5j.Z!!$s<+8>rrz2uk&q +#CldS!!"tY5PPJ6z2ul2<#CldS!!#1_5O]26z%KJ`_%fcS0!!!K/J+*sKz%KM":%fcS0!!!N0J)DCKz +#6=e^*WQ0?!!!6(s54puz#6=e>*WQ0?!!!7Ss1geuz"+^Ee49,?]!!!+Rs1g_sz"2k.hqu?]s!!!,= +s+("Iz!Q4qfp](9o!!!&?rW)]nz!U'F_p](9o!!!&_rW2coz!:TmfhuE`W!!!#fqubjWz!:TgfhuE`W +!!!!`qua_7z!'g5\^]4?7!!!!`p]nS7z!'g5`^]4?7!!!!@p]l<Lz!$C\8J,fQL!!!!@n-=IDz!"\Q0 +z!!!!0n.,L!z!"\Q0z!!!!0i'.2Az!!hFGz!!!!(s8Duuz!!iQ'z!!!!0s8Duuz!"],)z~> +Q +q[1 0 0 1 0 0]concat +66 69 true[1 0 0 1 -791 -411]@X +imagemask +s8W-!s8N'!!<<*!s8W,o!!*'!s8W-!rVurus8W-!s8RTL!.XJKJ.M\<!!#7Q%fc_3huEaAn.,L! +s6p!g5O]0`!'g5Y!'fr`!!#7]!!#7Q%fcSOrVup_n.,L!&,lP/5O]0`!!iK'!'fr`!!!9(J,hh' +%fcS3s*t)6n.,L!"96.:5O]0`!!E8:!'fr`!!!-$^]6Ug%fcS3s1eV!n.,L!"96.:5O]0`!!E8: +!'fr`!!!-$^]6Ug%fcS3s1eV!n.,L!"96.:5O]0`!!E7O!'fr`!!!9(J,hh'%fcS7rVup_n.,L! +&,lP/5O]0`!"]&/!'fr`!!",=!!#7Q%fcSOp](:Yn.,L!5O\XQ5O]0`!<:sW!'fr`!!E8Z!!#7Q +%feio!!!!`n.5R!qu?]s5O]3`s1eU7!'fr`s8Tk7!!#7Q%feil!!!!`n.,L`rVuou5O]0`#QK;S +!'fr`!!3,X!!#7Q%fcV0huEaAn.,L!5O\XQ5O]0`!$Ct9!'fr`!!",=!!#7Q%fcSOqu?^]n.,L! +&,ZD-5O]0`!"\u-!'fr`!!!Q/!!#7Q%fcS?rVup_n.,L!&,lP/5O]0`!"]&/!'fr`!!!Q/!!#7Q +%fcS?rVup_n.,L!&,lP/5O]0`!"\u-!'fr`!!",=!!#7Q%fcSOqu?^]n.,L!5PP3Y5O]0`!'g5Y +!'fr`!!*&g!!#7Q%fcY1huEaAn.,L$s53kWJ+*u!5Q?66s8W-!s8W&u!<<*!s8W,o!!*'!s8W-! +^]4B7s8W-!p](9os8W-!s7cQo!!~> +Q +q[1 0 0 1 0 0]concat +60 74 true[1 0 0 1 -869 -408]@X +imagemask +!!!!0s*t(L!!!"Ks7cQo!!!"Ks7cQo!!!9(s8Duu!!",?!'bu6!!#7_!'fBA!!3,h!"\Q!!!E7O +!!Dur!!E7O!!%6D!!iOS!!#+]!"]*[!!"&?!'gL6!!"&?!.X0^!!!O[!<;54!!!PF!<:)i!!!,: +!WRq*!!!&8!WRq*!!!&X"94.,!!!&X"9/UV!!!&X&,ulb!!!#W&,lfa!!!#W&,lfa!!!#g+8uLq +!!!"<+8uLq!!!"<5PPJ6!!!"<5PPJ6!!!"<5PPJ6!!!"<5PPJ6!!!"<5O\o.zJ+*\nzJ+*\nzJ+*\nz +J+*\nzJ+*\nzJ+*\nzJ+*\nzJ+*\nzJ+*\nzJ+*\nzJ+*\nzJ+*\nzJ+*\nzJ+*\nzJ+*\nzJ+*\nz +5O\o.!!!"<5PPJ6!!!"<5PPJ6!!!"<5PPJ6!!!"<5PPJ6!!!#g+8?(k!!!#g+8uLq!!!#g&,lfa +!!!#g&,lfa!!!&h&,ulb!!!&h"9/UV!!!&h"9/UV!!!&h!WRq*!!!,j!WRq*!!!,j!WU2j!!!Q! +!<;54!!",1!.X0^!!",1!'fXs!!",1!"]*[!!#7Q!!iOS!!%N<!!iOS!!*&g!!E7O!!E8j!!3,h +!"\Pf!!#7Q!"X_O!!",?!<3)h!!!9(s82ld!!!9(s82ld!!!"Ks53nH!!!!0s*t)g~> +Q +q[1 0 0 1 0 0]concat +69 69 true[1 0 0 1 -939 -411]@X +imagemask +s8W-!s8Duu!<<*!s8W,7!!*'!s8W-!p](<os8W-!s8Duu!.XJKJ3X&6!!#7Q%fc_3!!!!`n.,L! +s*t(L5O]0`!'fBA!'fr`!!#7Q!!#7Q%fcSOp](:Yn.,L!&,ZD-5O]0`!!iE%!'fr`!!!-#!!#7Q +%fcS3rVup_n.,L!"93lO5O]0`!!*&7!'fr`!!!$!^]6Ug%fcS0J%u%Kn.,L!!.Wo,5O]0`!!%N, +!'fr`!!!"KhuH"2%fcS0J+*G&n.,L!!'frQ5O]0`!!#7Q!'fr`!!!!`n,P]B%fcS05O\Y;n.,L! +!'g5Y5O]0`!!#7Y!'fr`!!!!`p]*PJ%fcS05PP4Cn.,L!!'g5Y5O]0`!!#7Y!'fr`!!!!`p]*PJ +%fcS05PP4Cn.,L!!'g5Y5O]0`!!#7Y!'fr`!!!!`p]*PJ%fcS05PP4Cn.,L!!'g5Y5O]0`!!#7Y +!'fr`!!!!`p]*PJ%fcS05O\Y;n.,L!!'frQ5O]0`!!#7Q!'fr`!!!!`n,P]B%fcS0J+*G&n.,L! +!.Wo,5O]0`!!%N,!'fr`!!!"KhuH"2%fcS0J%u%Kn.,L!!<9h75O]0`!!*&7!'fr`!!!$!J,hh' +%fcS0s*t)6n.,L!"9&9#5O]0`!!iE%!'fr`!!!9%!!#7Q%fcS?qu?^]n.,L!+8>g95O]0`!$C\1 +!'fr`!!#7A!!#7Q%fcY1J,fR6n.,L$s*t(LJ+*u!5Q:]`s8W-!s8Vus!<<*!s8W,o!!*'!s8W-! +^]4B7s8W-!p](9os8W-!s7cQo!!~> +Q +q[1 0 0 1 0 0]concat +67 69 true[1 0 0 1 -1018 -411]@X +imagemask +s8W-!s8W,u!<<*!s8W-!rW)uus8W-!s8E#us8W-!s8W&u!.XJKJ,g,[J,hh'%fcS0s*t)6n.,L! +!.TM!5O]0`!!"*k!'fr`!!!!@J,hh'%fcS0++O>Un.,L!!"XS[5O]0`!!!O[!'fr`!!!!$J,hh' +%fcS0"2Fn$n.,L!!!C":5O]0`!!!,:!'fr`!!!!"^]6Ug%fcS0!Pe\"n.,L!!!0k85O]0`!!!&8 +!'fr`!!!!"^]6Ug%fd(>!T3rBn.,L/!!(pW5O]0`%KHLe!'fr`!"Ju/huH"2%fd(>!8miAn.,L/ +!!(pW5O]0`%KHJ/!'fr`!"Ju/!!#7Q%fd(>!!!!`n.,L_z5O]0`4obQ_!'fr`!<)ru!!#7Q&-)V/ +!!!!`n.5Quz5O]3`rVuou!'fr`s8Duu!!#7Q%flS/!!!!`n.,Nuz5O]0`4obQ_!'fr`!'UA_!!#7Q +%fd(>!!!!`n.,L/z5O]0`%KHJ/!'fr`!"Ju/!!#7Q%fd(>%KHJnn.,L/!"Ju/5O]0`%KHt=!'fr` +!"Ju=!!#7Q%fcS0%KHJnn.,L!!$2+?5O]0`!!"&?!'fr`!!!!=!!#7Q%fcS0)uot'n.,L!!#tt= +5O]0`!!!u=!'fr`!!!!]!!#7Q%fcS049,@Gn.,L!!'C5]5O]0`!!#+]!'fr`!!!"H!!#7Q%fcS0 +qu?^]n.,L!#Q+Q%J+*u!!$Ct9s8W-!s8W,o!<<*!s8W-!p]1?os8W-!s7cTos8W-!s8Vios8W-! +s8W,o!!~> +Q +q[1 0 0 1 0 0]concat +63 69 true[1 0 0 1 -1091 -411]@X +imagemask +s8W-!s7cQos8W-!s7cQos8W-!s7cQos8W-!s7cQo!.XJKhuE`W!'fr`z!'fr`z!'fr`z!'fr`z!'fr` +z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`!"Ju/!'fr` +!"Ju/!'fr`!"Ju/!'fr`!"Ju/!'fr`!"Ju/!'fr`!"Ju/!'fr`!"Ju/!'fr`!"Ju/!'fr`!'UA_ +!'fr`!'UA_!'fr`!'UA_!'fr`!<)ru!'fr`s8Duu!'fr`s8Duu!'fr`s8Duu!'fr`s8Duu!'fr` +!<)ru!'fr`!'UA_!'fr`!'UA_!'fr`!'UA_!'fr`!"Ju/!'fr`!"Ju/!'fr`!"Ju/!'fr`!"Ju/ +!'fr`!"Ju/!'fr`!"Ju=!'fr`!"Ju=!'fr`!"Ju=!'fr`!!!!/!'fr`!!!!/!'fr`!!!!?!'fr` +!!!!?!'fr`!!!!=!'fr`!!!!=!'fr`!!!!=!'fr`!!!!=!'fr`!!!!]!'fr`!!!!]!'fr`!!!!] +!'fr`!!!!]!'fr`!!!"H!'fr`!!!#s!'fr`!!!9%!.XJKJ,g\ds8W-!s8W,os8W-!s8W,os8W-! +s8W,os8W-!s8W,os8W-!s8W,o~> +Q +q[1 0 0 1 0 0]concat +68 74 true[1 0 0 1 -1163 -408]@X +imagemask +!!!!(s*t(LzJ,f!<z!.Y%<z!!E9$rW"nX!!!Q0!.TND!!!"Krr@Pap](9ps7cR!nb<(a"96.:"98,r +!!E7O!!%ND!!!9(J,fS!p](:9s*t(L5PP3Y5Q?66!'g5Y!.X`n!!#7Y!!*&^J,fQkp](<oa++-i ++8>g:s+c+)!$Ct9!WRq*!!",9!!iOZJ,fQkp](R!#CldS+8>gHrs+&S!$Ct9&,ZZ_!!",9!"\u4 +J,fQkp])E6#CldS+8>gXr!.`P!$Ct95PPJ6!!",9!'g5`J,fQkp]*PR#CldS+8>h#p]l<L!'gA] +5PPJ6!WW3"n:13<J-#]Ms6tO-#CljTs8VS<n-=IEs8W,gJ+*\nz!.XJCJ,fQL!!%N<#CldS!!!"K +n-=IDzJ+*\nz!.XJCJ,fQL!!%N<#CldS!!!"Kn-=IDzJ+*\nz!.XJCJ,fQL!!%N<#CldS!!!"Kn-=ID +zJ+*\nz!'g5`J,fQL2ul2<#CldS!&ssCp]l<L!!"tY5PPJ6!!!!Y!'g5`J,fQLGQ8i\#CldS!-eJc +r!.`P!!%6D&,ZZ_!!!"D!"\u4J,fQLp](j)#CldS!;HO!rs+&S!!)co#QG$Z!!!#o!!3+TJ,fQM +p](?pLO]@)!VcWqs2TWi!!i9!!<;54!!!Q)!!%NCJ,fQ[p](:YpOE5D&,6,)+9-ik!$Ct9!!iOS +!!#7Y!!!9(J,fS!p](9rs*t(Os7cQo!WVWh#P[un!!%N<!!g@8!!!!0rW%Fup](9o"98E#!-eJD +!!E9$rW%0C!!!"Ks6p#5z#QK;S2ui~> +Q +q[1 0 0 1 0 0]concat +75 69 true[1 0 0 1 -1240 -411]@X +imagemask +s8W-!s24m:s5<qWs8W,:s8W,Ws8W-!s24m:s5<qWs8W,:s8W,W!.XJKJ,f]OhuEaAn.,L!!<9h7 +!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7 +!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7 +!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7 +!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7 +!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.5R!s8Tk7!'fr`s8W-!^]4@!n.5R!s8Tk7 +!'fr`s8W-!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7 +!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7 +!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7 +!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@!n.,L!!<9h7 +!'fr`!!!$!^]4@!n.,L!!<9h7!'fr`!!!$!^]4@an.1$L"979Zs8W-!s24m:s5<qWs8W,:s8W,W +s8W-!s24m:s5<qWs8W,:s8W,Ws8W-!s24m:s53~> +Q +q[1 0 0 1 0 0]concat +44 69 true[1 0 0 1 -1320 -411]@X +imagemask +s8W-!s7$'gs8W,gs8W-!s7$'gs8W,g!.XbK^]4?Vp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L +!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L +!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L +!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L +!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L +!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L!$Ct@J,fQkp]l<L +!$Ct@J,fQkp]l<L!$Ct@J,fS!p]nS7s8W-!s7$'gs8W,gs8W-!s7$'gs8W,gs8W-!s6p~> +Q +q[1 0 0 1 0 0]concat +51 72 true[1 0 0 1 -1367 -408]@X +imagemask +!'gM_zs8W+L!!!$!s8RTL!!hH^L[Y9D%fei0HiO-g!'fCj!!"&?5PRHn!'C5lr#`]S49,oi&&800 +i!9/^^]=E(#Q=h`!<;g!rWD'Ys7cj!!Up*hp]LNsn,WL`"9/Aj!<;frrrDNgs7c]r!:U!gp]LNr +n,P]B"9/Aj!$C,$rrDNg!!!-$!:Tsg!!E6$n,NFg"9/Aj!!!!$rrDNg!!!-$!:Tsg!!E6$n,NFg +"9/Aj!!!!$rrDNg!!!-$!:Tsg!!E6$n,NFg"9/Aj!!!!$rrDNg!!!-$!:Tsg!!E6$n,NFg"9/Aj +!!!!$rrDNg!!!-$!:Tsg!!E6$n,NFg"9/Aj!!!!$rrDNg!!!-$!:Tsg!!E6$n,NFg"9/Aj!!!!$ +rrDNg!!!-$!:Tsg!!E6$n,NFg"9/Aj!!!!$rrDNg!!!-$!:Tsg!!E6$n,NFg"9/Aj!!!!$rrDNg +!!!-$!:Tsg!!E6$n,NFg"9/Aj!!!!$rrDNg!!!-$!:Tsg!!E6$n,NFg"9/Aj!!!!$rrDNg!!!-$ +!:Tsg!!E6$n,NFg"9/Aj!!!!$rrDNg!!!-$!:Tsg!!E6$n,NFg&,uY)!!%NKs8W,W!.Y%Ks8V!W +J,fQKs53m,s8W-!huJ9,s8W,W~> +Q +q[1 0 0 1 0 0]concat +75 69 true[1 0 0 1 -1427 -411]@X +imagemask +s8W-!s1gl!s5<qWs8W,75QCcAs8W-!s1gl!s5<qWs8W,75QCcA!.XJKJ,fiSp](:Yn.,L!!<;Ng +!'fr`!!!$!huEaAn.,L!!<9h7!'fr`!!!-$^]4@!n.,L!"96.:!'fr`!!!9(J,fR6n.,L!#QK;S +!'fr`!!!9'!!!!`n.,L!&,lP/!'fr`!!!Q/!!!!`n.,L!+8c*=!'fr`!!",=!!!!`n.,L!+8>g9 +!'fr`!!#7Y!!!!`n.,L!5O\XQ!'fr`!!*&g!!!!`n.,L!s6p!g!'fr`!!3,X!!!!`n.,L"s53kW +!'fr`J-#\#!!!!`n.4FZs*t(L!'fr`n,r]@!!!!`n.5!nrr<$!!'fr`GR+6K!!!!`n.0aKrVuou +!'fr`4:hDk!!!!`n.-QNqu?]s!'fr`+2@^R!!!!`n.-&Equ?]s!'fr`"98,r!!!!`n.,X$huE`W +!'fr`!WV'X!!!!`n.,O!^]4?7!'fr`!<9h7!!!!`n.,MK^]4?7!'fr`!'bu6!!!!`n.,L`J,fQL +!'fr`!"T&0!!!!`n.,L(J,fQL!'fr`!!g:>!!!!`n.,L$^]4?7!'fr`!!2!X!!!!`n.,L"huE`W +!'fr`!!)co!!!!`n.,L!49,?]!'fr`!!#1_!!!!`n.,L!*WQ0?!'fr`!!!N0!!!!`n.,L!%fcS0 +!'fr`!!!7S!!!!`n.,L!"5j.Z!'fr`!!!,j!!!!`n.,L!!:Tsg!'fr`!!!"D!!!!`n.,L!!-eJD +!'fr`!!!!]!!!!`n.,L!!.FnJ!'fr`!!!"K^]4@an.1$L"97ijs8W-!s1f0Fs+(.Ls8W,7&-)Z[ +s8W-!s1f0Fs+(.Ls8W,7&-)Z[s8W-!s1f0Fs*t~> +Q +q[1 0 0 1 0 0]concat +61 69 true[1 0 0 1 -1510 -411]@X +imagemask +s8W-!s8W,Ws8W-!s8W,Ws8W-!s8W,Ws8W-!s8W,W!.XJKJ-#].!'fr`!!#7A!'fr`!!!Q!!'fr` +!!!8n!'fr`!!!8n!'fr`!!!,j!'fr`!!!,j!'fr`!!!#g!'fr`!!!#g!'fr`!!!#g!'fr`!!!#g +!'fr`!!!"<!'fr`!!!"<!'fr`!!!"<!'fr`!!!"<!'fr`!!!"D!'fr`!!!"D!'fr`!!!!Y!'fr` +!!!!Y!'fr`!!!!Y!'fr`!!!!Y!'fr`!!!!Y!'fr`!!!!Y!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z +!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z +!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z +!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!.XJKhuE`Ws8W-!s7cQos8W-!s7cQos8W-!s7cQos8W-! +s7cQos8W-!s7cQo~> +Q +q[1 0 0 1 0 0]concat +92 69 true[1 0 0 1 -1578 -411]@X +imagemask +s8W-!s*u'hs8W,gs8W-!s*u'hs8W,gs8W-!s+!95s8W,gs8W-!s+!95s8W,g!<;O!J,hb5!<;Ng +!.XJK!!#1_!'fBA!'fr_!!*$!!'fBA!'fr_!!*$!!'fBA!'fr_!!*$!!'fBA!'fr_!!3+M!'fBA +!'fr_!!3+M!'fBA!'fr_!!3+M!'fBA!'fr_!!3+M!'fBA!'fr_!!E5Y!'fBA!'fr_!!E5Y!'fBA +!'fr_!!E5Y!'fBA!'fr_!!iMm!'fBA!'fr_!!iF@!'fBA!'fr_!!iF@!'fBA!'fr_!!iF@!'fBA +!'fr_!"]!P!'fBA!'fr_!"\ia!'fBA!'fr_!"\ia!'fBA!'fr_!"\ia!'fBA!'fr_!"\ia!'fBA +!'fr_!'fB]!'fBA!'fr_!'fB]!'fBA!'fr_!'fB]!'fBA!'fr_!.WoJ!'fBA!'fr_!.Vco!'fBA +!'fr_!.Vco!'fBA!'fr_!.Vco!'fBA!'fr_!<9hFJ3Vrl!'fr_!<7QOJ3Vrl!'fr_!<7QOJ3Vrl +!'fr_!<7QOJ3Vrl!'fr_!WN-#^d$`W!'fr_!WN-#^d$`W!'fr_!WN-#^d$`W!'fr_"9/?%i'6-" +!'fr_"9&9#i'6-"!'fr_"9&9#i'6-"!'fr_"9&9#i'6-"!'fr_&,6,)E'N7\!'fr_&,6,)E'N7\ +!'fr_&,6,)E'N7\!'fr_&,6,)E'N7\!'fr_&,6,)E'N7\!'fr_+7K713'Z=$!'fr_+7K713'Z=$ +!'fr_+7K713'Z=$!'fr_5O\XQ5!Rs*!'fr_5MuMA%R8kO!'fr_5MuMA%R8kO!'fr_5MuMA%R8kO +!'fr_J%u$a#=%,H!'fr_J%u$a#=%,H!'fr_J%u$a#=%,H!'fr_s1eU7#J]0s!'fr_s*t(L"2Eao +!'fr_s*t(L"2Eao!'fr_s*t(L"2Eao!'fr`s*t(L"979Z!.XJKrVuou!WVWhs8W-!rVuou!WW2h +s8W-!rVuou!WW2hs8W-!qu?]s!<<)gs8W-!qu?]s!<<)gs8W-!qu?]s!<<)g~> +Q +q[1 0 0 1 0 0]concat +75 69 true[1 0 0 1 -1678 -411]@X +imagemask +s8W-!s*t(M^]=E7s8W+L!!C":s8W-!s*t(O^]=E7s8W+L!"ZjF!<;O!J,fQ[^]4@an.,L!!"ZjF +!'fr_!!!!@^]4@!n.#Eu!$AuV!'fr_!!!!`^]4@!n.#Eu!'e7!!'fr_!!!"K^]4@!n.#Eu!.Vca +!'fr_!!!"K^]4@!n.#Eu!<9h7!'fr_!!!$!^]4@!n.#Eu"96.:!'fr_!!!-$^]4@!n.#Eu"96.: +!'fr_!!!9(^]4@!n.#Eu#QMR>!'fr_!!!Q0^]4@!n.#Eu&-'EF!'fr_!!",>^]4@!n.#Eu+8rtT +!'fr_!!#7Z^]4@!n.#Eu5OlMh!'fr_!!*&h^]4@!n.#Eus7*l)!'fr_!!3,Y^]4@!n.#F!s5C`n +!'fr_!!3+N^]4@!n.#F#s+.rc!'fr_!!E7P^]4@!n.#F'rrKn8!'fr_!!iN)^]4@!n.#F'rW0e7 +!'fr_!"]&0^]4@!n.#F/quOS5!'fr_!'gA^^]4@!n.#F_quOS5!'fr_!.XbE^]4@!n.#GJp]8/1 +!'fr_!.Wo-^]4@!n.#HuhuUUn!'fr_!WV'Y^]4@!n.#L!^]D4N!'fr_"93lP^]4@!n.#R#J-!Fc +!'fr_"9/?%^]4@!n.$!/!!0k8!'fr_&,uV1^]4@!n.$Q>!!0k8!'fr_+8u6@^]4@!n.$Q8!!0k8 +!'fr_5PP3Z^]4@!n.%\P!!0k8!'fr_J+*F=^]4@!n.'s;!!0k8!'fr_s53kX^]4@!n.,KV!!0k8 +!'fr_s1eU8^]4@!n.5Q7!!D-Z!'fr`s1eUFn,NH<n.5PL!'gG_s8W-!s*t@Ss5<qWs8W&u#QOh^ +s8W-!rW!3's5<qWs8Vus#QOh^s8W-!qu@!%s53~> +Q +q[1 0 0 1 0 0]concat +66 74 true[1 0 0 1 -1763 -408]@X +imagemask +!!!!@rr<$!zs8V!Wz!<<)Wz!"\i,rVuou!!#7A!<7QL!!!$!huNf8!!!!$s*t(kp](9o#QK;S&,ZD- +!!iOS!!iE%!!!Q0J,f]N!!!!`kC<O4s*t(LJ*2=^!<9h7!.W%>!!%Ma!!*&>J,fS!huEcWLO]@) +5MuMBs+c+)!'frQ!WNCT!!",1!!E6+J,fQkp](j)#CldS+8u6NrWdrR!"]&/&,lfa!!!Q/!"]&6 +J,fQ[rW"&8#CldS"9/?Cp]l<L!!E6$5PPJ6!!!-$J3Wf6J,fQOs+!?/#CldS"93m9p]l<L!!E7O +5O\o.!!!'"J:I%nJ,fQMs1j-R#CldS!WTrbn-=ID!!3,8J+*\n!!!'"^jkhYJ,fQMs1j-R#CldS +!WTrbn-=ID!!3,8J+*\n!!!'"^jkhYJ,fQMs1j-R#CldS!WTrbn-=ID!!3,8J+*\n!!!'"^jkhY +J,fQMs1j-R#CldS!WTrbn-=ID!!3,85O\o.!!!'"J3WN.J,fQMs+!?'#CldS!WR[7p]l<L!!E7O +5PPJ6!!!-$J04OkJ,fQOrr=/9#CldS"9/?Cp]l<L!!E6$&,6B[!!!-#!"]&6J,fQ[rW!K.#CldS +&,lP2rWdrR!"\i)"9&OU!!!Q)!!3*)J,fQkn,NLh#CldS+7K72s+c+)!'frQ!<7h)!!#7A!!%Mh +J,fS!^]4@aa++-iJ%u$a5NdOs!<7QL!"]*[!!E3#!!!Q0J,fiR!!!!(s*t([qu?]s!WRZM+7K71 +!!*%L!$C,!!!!!@huNcWz&,68+z!"],0rVuou!!!$!s53kWz+9)<@!!!~> +Q +q[1 0 0 1 0 0]concat +63 69 true[1 0 0 1 -1839 -411]@X +imagemask +s8W-!s1eU7s8W-!s1eU7s8W-!s1eU7s8W-!s1eU7!.XJKJ,fQL!'fr`z!'fr`z!'fr`z!'fr`z!'fr` +z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z +!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`z!'fr`s8N'!!'fr`s8Tk7!'fr` +s8Vus!'fr`!.XnH!'fr`!!iK'!'fr`!!3+M!'fr`!!3,X!'fr`!!*&g!'fr`!!#7Y!'fr`!!",9 +!'fr`!!",9!'fr`!!",=!'fr`!!",=!'fr`!!!Q/!'fr`!!!Q/!'fr`!!!Q/!'fr`!!!Q/!'fr` +!!!Q/!'fr`!!!Q/!'fr`!!!Q/!'fr`!!!Q/!'fr`!!!Q/!'fr`!!!Q-!'fr`!!",=!'fr`!!",= +!'fr`!!",9!'fr`!!#7Y!'fr`!!#7Q!'fr`!!*&W!'fr`!!3+M!'fr`!!iOS!.XJKJ:IS!s8W-! +s8Vuss8W-!s8V!Ws8W-!s8RTLs8W-!s6p!gs8W-!s6p!g~> +Q +q[1 0 0 1 0 0]concat +66 91 true[1 0 0 1 -1914 -391]@X +imagemask +z!!#7!z!!!!`^]4?7zs6p!gz"98,rz!!iQ'z!!!9(rr<$!!!!!0s8N'!z&-)Y0z!"],0J,fQL!!!Q0 +s*t(L!!!!0s8RTLz+92@kz!$C\p^]4?7!!",!&&8/F!!!!@J-Wjiz++OI/z!$?^n^]4?7+9*D_"2Fm: +!<<)u!!0k8!!*'!rVuu7!!!Q/"9&9$^]4@!quHbIzs82lshuE`W"98,r5PP3Y!!iPn!<;rs!!!9( +n,WLd!!!!0s6p$KrVuou5NhM:i;\<-!.X2,!T=!n!!%Mhqua`a^]4B7a1_eoJ)C;,s+d0NJ3Vrl +!WNCcrr=/1!!3*)JbT3en,NRj#D)XM+8>gHrs+&S!$D1?&,lfa!!!Q/!"]&6J,fQ[rW!K.#CldS +&,lPNp]l<L!!E6$+8?(k!!!-$!'g5`J,fQOs+!?/#CldS"93m9p]l<L!!E7O5O\o.!!!'"J3WN. +J,fQMs+#Ug#CldS!WTrbn-=ID!!3,8J+*\n!!!'"^jkhYJ,fQMs1j-R#CldS!WTrbn-=ID!!3,8 +J+*\n!!!'"^jkhYJ,fQMs1j-R#CldS!WTrbn-=ID!!3,8J+*\n!!!'"^jkhYJ,fQMs1j-R#CldS +!WTrbn-=ID!!3,8J+*\n!!!'"^d%;nJ,fQMs+!?'#CldS!WR[7p]l<L!!E7O5PPJ6!!!-$J3Wf6 +J,fQOs*u3d#CldS"9/?Cp]l<L!!E6$+8?(k!!!-$!"]&6J,fQ[rW!K.#CldS&,lP>rWdrR!"]&/ +"9/UV!!",9!!E6+J,fQkp](?p#CldS+7K72s+c+)!'frQ!WRq*!!#7Q!!*&>J,fS!huEb,a++-i +J%u$aJ&d'>!.Vca!'fXs!!*%L!!!Q0J,f]N!!!!0s*t(SrVuou#QK;S&,ZD-!!3+M!$C\1!!!$! +J,g\Lz+5d/!z!"\i,rVuou!!!Q0s8Duuzs8V!Wz!$D4@!!!!~> +Q +q[1 0 0 1 0 0]concat +75 72 true[1 0 0 1 -1990 -408]@X +imagemask +z!!!!0p](9oz!.Y"Kz!!!"KrrE*!s8W,7"9&OUs8W-!s1em;"+^FOs8W,7&,ZOFs8W-!s1f`S"2Fnd +n.1$L5PP9;!'fr`!!#7Y!T3rBn.,L!5PP6:!'fr`!!*&o!8miAn.,L!s7cTP!'fr`!!*&g!8miA +n.,L!s6p$H!'fr`!!*&g!!!!`n.,L!s6p!g!'fr`!!*&g!!!!`n.,L!s6p!g!'fr`!!*&g!!!!` +n.,L!s6p!g!'fr`!!*&g!!!!`n.,L!s53kW!'fr`!!*&W!!!!`n.,L!s53kW!'fr`!!*&W!!!!` +n.,L!s53kW!'fr`!!*&W!!!!`n.,L"s*t(L!'fr`!!3+M!!!!`n.,L"s*t(L!'fr`!!E6$!!!!` +n.,L(rr<$!!'fr`!!iK'!!!!`n.,L0qu?]s!'fr`!.Wo,!!!!`n.,R"huE`W!'fr`s8RTL!!!!` +n.5R!z!'fr`s8N'!!!!!`n.,O!huE`W!'fr`!"\u-!!!!`n.,L0rr<$!!'fr`!!E7O!!!!`n.,L! +s53kW!'fr`!!#7A!!!!`n.,L!5O\XQ!'fr`!!",9!!!!`n.,L!+8c*=!'fr`!!",=!!!!`n.,L! +&,lP/!'fr`!!!Q/!!!!`n.,L!&,lP/!'fr`!!!Q/!!!!`n.,L!&,lP/!'fr`!!!Q/!!!!`n.,L! +&,lP/!'fr`!!!Q/!!!!`n.,L!&,ZD-!'fr`!!",=!!!!`n.,L!+8c*=!'fr`!!#7Y!!!!`n.,L! +5PP3Y!'fr`!!#7Q!!!!`n.,L!s53kW!'fr`!!E7O!!!!`n.,L0s*t(L!.XJKJH,TK!!*'!s8W-! +p](9os8W-!s8Tk7!!*'!s8W,uzs8W-!s1eU7!!*'!s8W,7z~> +Q +q[1 0 0 1 0 0]concat +46 74 true[1 0 0 1 -2070 -408]@X +imagemask +Du_!X!!%6Es8Tk7GQIjE^]8Tas8VQgHp?P=quD3Gi.(b,J,]Lns+#Ug!-j"/J)C<O5JVca!-fU$ +IfKIn+5hVK!-fUDIK0@m#Om*@!-eb<HiO.k"7UO8!-eV8GQ7_g"8mBD!-eVDGQ7_g"8m*<!-eVD +Du]l_"8m*<!-eVDDu]l_#Q/N@!-ebHDu]l_+8c*=!-fU`!!!"D+8c*=!-g`t!!!"DJ+*F<!-nP5 +!!!"Es6p!g!.Y%,!!!"Ks53kW#QOh>!!*'!s1eU>s8W,7!'gM`s*t+Ls8W*!!<<*!qu?cts8VQg +#QOi(^]4oFs8Tk7&-)\/!!",@s1eU7+926=!!#7`qu?]s5Q#m/!!#7]HiO-HJ,"Bk!!%N<HiO2_ +J)G\S!Pj3#HiO2_J&$F3!Pj3#HiO2_J&$F3"2KBdHiO8aIfOir"2KBdHiO8aIfOir#JbfhHiODe +5JVXH+2C+VHiP8(5JVXH+2Au6HiQCH+5hMHJ&!/qHiX2^&,:MQs1em;HjB\e!W7<Ms1eX7r'/6; +!'gM_"2Fn$s8E,9!!iQ!"2Fm;s1eZN~> +Q +q[1 0 0 1 0 0]concat +67 69 true[1 0 0 1 -2124 -411]@X +imagemask +!"],0s8W&u!!!Q0s8W,u!!!!0s8W-!rVuou&-)\0s8Duu!!!9(J:7Iu!!!!$s+#=oz"93mrz!!E7O +GQ7^D!!!-$J9V%o!!!!$s+#=oz"93mrz!!E7OGQ7^D!!!-$J9V%o!!!!$s+#=oz"93mrz!!E7OGQ7^D +!!!-$J9V%o!!!!$s+#=oz"93mrz!!E7OGQ7^D!!!-$J9V%o!!!!$s+#=oz"93mrz!!E7OGQ7^D!!!-$ +J9V%o!!!!$s+#=oz"93mrz!!E7OGQ7^D!!!-$J9V%o!!!!$s+#=oz"93mrz!!E7OGQ7^D!!!-$J9V%o +!!!!$s+#=oz"93mrz!!E7OGQ7^D!!!-$J9V%o!!!!$s+#=oz"93mrz!!E7OGQ7^D!!!-$J9V%o!!!!$ +s+#=oz"93mrz!!E7OGQ7^D!!!-$J9V%o!8mhZs+#=o!8uc8"93mr!!(s8!!E7OGQ7a%huElZJ9V%o +i8=S;s+#=o!9!VP"93mr!!2$Q!!E7OGQ7d&2uj'\J9V%p^c2;rs+#=o!PgYp"93mr!!0kp!!E7O +GQ7c[49,K`J9V%r^cVT!s+#=o"2I)#"93mr!"Zk/!!E7OGQ88i56(fcJ9V&)^d!>Os+#=o5JTMA +"93mr!.Vd+rWE1NGR+8!+92B@s8W-!J04gks8W-!s*u3ks8W-!s8RTks8W-!s8W+L+92B@s8W-!J,~> +Q +q[1 0 0 1 0 0]concat +73 72 true[1 0 0 1 -2199 -408]@X +imagemask +zs6p!gz!"],0z!!!!0s8N'!z!'gM`^]4?7!!!'"J.MDTz#QK;bqu?]s!!!Q0!!3'!zJ,]KK56(Z` +!!%N;!!!N0zs3CZF#CldS!!*%[!!!,Z!!!!"s,R-["7Q9j!!E63!!!#g!!!!0rXSu/!;HNo!"]&> +!!!"D!!!!0p^[?)!&srY!$CtH!!!!]!!!!@p^[?)!'C5]!$CtH!!!!=!!!!`p^[?)!$2+?!'fr` +!!!!?!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr` +!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr` +!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr` +!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr` +!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr` +!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr` +!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!/!!!!`n.,L!!"Ju/!'fr` +!!!!/!!!!`n.,L!!"Ju/!'fr`!!!!@J,fR6n.,L!!'e7!!.XJKJ,fTLn,WLgs8W,7+92@ks8W-! +s1f`Vs+(.Ls8W,7+92@ks8W-!s1f`Vs+(.Ls8W,7+92@k~> +Q +q[1 0 0 1 0 0]concat +75 71 true[1 0 0 1 -2278 -409]@X +imagemask +zJ)C;,z!!%N,z!!!!"s6p!gz!!3,hz!!!!"s6p!gz!!E8rz!!!!$s7cQoz!!E6\z!!!!$s#9uYz +!!iKCz!!!!(rYtn<z!"]&Nz!!!!0rZ;+?z!"\u4z!!!!0r!*3%z!$D+@J,fQL!!!!@qu_HLz!$Ct@ +J,fQL!!!"Kp]nS7z!.XJC^]4?7!!!"Kn-?`/z!<;O1huE`W!!!$!n/pQgz!<9i!huE`W!!!'"^d%;gz +!WTqtDu]k<!!!'"J37cNz!WR[tDu]k<!!!-$J:)_Ez"93mr)uos=!!!-$!;IN6z"9/Aj)uos=!!!9' +!:UHuz#Q=_m%KHJ/!!",?!UpU"z+8u<!%fcS0!!",=#N,gez+8cB%#64`(!!#7]#J^Flz5O\on"+U@O +!!#7Q&&89tzJ+*sK"2Fm:!!%N,%fcXGzJ)Ch;!Pe[8!!*&W*WQ61zs1fZU!,qo<!!*&74obS%!!!!" +s1geu!-eJD!!3,849,@@!!!!"s+!33!&srY!!3+MHiO.+!!!!(s+#=o!#tt=!!iOSGQ7^`!!!!0 +rrMlp!$2+?!"])1n,NG0!!!!0quQ9e!"Ju/!"\u0n,NFu!!!!@qua_7!"T&0!$D+@^]4?F!!!!@ +p]nS7!!`K(!'g5`^]4?>^]4@!p]l<L!!g:>!'frXJ,fQS^]4@an.1$L!!hE^!.XJKJ,fQ[n,NLh +i#f`7!$D4@s8W-!rr<*"s5<qWs8W*!!WW2Xs8W-!rr<*"s5<qWs8W*!!WW2Xs8W-!rr<*"s53~> +Q +q[1 0 0 1 0 0]concat +105 71 true[1 0 0 1 -2359 -409]@X +imagemask +!!!!0qu?]s+8>g9z!"\u-!!",9z!!!!0rVuou5PP3Yz!'gG_!!#7_z!!!!`rVuou5Q1W_z!'gG_ +!!#7_z!!!!`rr<$!J,TEJz!'gJ`!!%N:z!!!"Kk5YJ^J*-e3z!.X/3!!%N3z!!!"KkC<O4s5s@^z +!<;)0!!*&>J,fQL!!!$!_gh^es20?ez!<9re!!*&:J,fQL!!!$!_gh^es20?ez!WTsn!!E7R^]4?7 +!!!'"^u,1ps+A)ez!WR].!!E7P^]4?7!!!'"JFEODs+.rcz!WR[h!!iK(^]4?7!!!-$!,qoCrW(jVz +"9/Aj!!iK'huE`W!!!-$!;HO)rW(jVz&,uY)!"]&/p](9o!!!Q/!;HO)quA\Vz&,lS(!"\u-2uipY +!!!Q/"8Dj,quA\Vz&,l\/!$Ct92uipY!!",?"8i-@p]*DVz+8?*=!$Ct9)uos=!!",9#G(o[p])96z ++8?)$!'frQ)uos=!!#7Q#EAdKn,Npuz5O]2D!'frQ%KHJ/!!#7Q%upWSn,NpuzJ+*sZJH,*=%fcS0 +!!%N<%g.@^huF8fzJ)Ch>JH+O-#64`(!!%N,*WprmhuEu^zJ)D@K_>f#c#64`(!!*&W*Wa+WJ,fh)z +s1gf!_>f#c"+U@O!!*&74os^DJ,f\%zs1g_tj8XW0"+U@O!!E8:494FA!!!#W!!!!$s+!33j8T)Z +!8mhW!!E7OquGdW!!!#W!!!!$s+'kEp\t3n!8mhW!!iOSp],O;!!!#g!!!!(rW)]nGQ%RB!,qo< +!!iK(huJ!#!!!"<!!!!(rW1pW5Q1W_!,qo<!"]&0huH"@!!!"D!!!!0qubjW5PtK]!&srY!"\u0 +huH">!!!!Y!!!!0qua_75PtK]!&srY!$D+@^]6Uo!!!!]!!!!@p]J;35PP3Y!#tt=!$Ct@^]6Uo +!!!!=!!!!@p]l<LJ+s!D!#tt=!'g5`J,k)W!!!!?!!!!`n-=IDJ)C;,!$2+?!'fr`J,k)W!!!!? +!!!!`n.,L!s53kW!$?^k!<;O!!!*&W!!!!`^]4E8n3=\hs82is!<;Ngs8W-!r'15]n,OR1s+(.L +s8W!]s8VQg+92@ks8W-!r'15]n,OR1s+(.Ls8W!]s8VQg+92@ks8W-!r'15]n,OR1s*t~> +Q +q[1 0 0 1 0 0]concat +80 69 true[1 0 0 1 -2469 -411]@X +imagemask ++92B!#QOi(s8O2@s54.^s8W-!+92B!#QOi(s8O2@s54.^s8W-!!'gJ`!.Y$!It.M(qu?^=rr@EH +!!2ip!$D1?GQ7^DGQ7^crW)]n!!%BH!'gG`p](9o49,A2quQ9e!!")@!.XJChuE`W*rl:jn-@kO +!!!7S!<:s^^]4?7"2Fp:i"*U'!!!,:!WV("^]4?7!T44_^`NOV!!!#g#QMS'z!:U6nJ3Er5!!!"H +&,uVlz!#uOL!.4bH!!!!?+9)=gz!"V<l!VcWp!!!!0^\e3/z!!g:6"7Q9j!!!!$s6p-+z!!3,h#J^<> +!!!!"s6p9/z!!E8Z%tFW[!!!!$s54uLz!!E8:*rl9@!!!!(rr=)?z!!iN(IK0?J!!!!0rr@KJz!$D1? +qu?]s!!!!@rW2osz!$D+>n,NFg!!!"Kp]9:Qz!.XbGhuE`W!!!$!p]KFSz!WVWo^]4?7!!!'"n/oFGz +!WTqWJ,fQL!!!-$J0+akz"93m9J,fQL!!!9(J3UgLz+9)=j^]4?7!!",@!<(gUz+8u98huE`W!!#7] +!:]IXz5PtQOHiO-H!!%NH!UtO<zJ+*^$*WQ0?!!*&g&)[ruzs54F'#64`(!!3,8%fcib!!!!"s1f]V +"2Fm:!!iP>*rlDY!!!!(s+!95!Up'h!"]*[IK0@m!!!!0rr@EH!-eJD!$D+=GQ7_+!!!!@quQQm +!.FnJ!'gA`p](;D^]4E8p]LKq"98,rs8W-!s54Ffs5<qWs8W,W&-)[fs8W-!s54Ffs5<qWs8W,W +&-)[fs8W-!s54Ffs53~> +Q +q[1 0 0 1 0 0]concat +77 69 true[1 0 0 1 -2553 -411]@X +imagemask +!!#7`s8W,Wz5QCc`s53kW!!#7`s8W,Wz5QCc`s53kW!!!!`qubjWz!"\u0^]4?7!!!!0qua_7z!"\u0 +^]4?7!!!!0qua_7z!"\u0^]4?7!!!!0qua_7z!"\u0^]4?7!!!!0qua_7z!"\u0^]4?7!!!!0qua_7z +!"\u0^]4?7!!!!0qua_7z!"\u0^]4?7!!!!0qua_7z!"\u0^]4?7!!!!0qua_7z!"\u0^]4?7!!!!0 +qua_7z!"\u0^]4?7!!!!0qua_7z!'gA`^]4?7!!!!`qua_7z!.XbG^]4?7!!!"Kp^c9_z!.Wo;huE`W +!!!$!i"+`Gz!<9hUDu]k<!!!'"^`IFpz!WTr!GQ7^D!!!-$J3Gpmz"93m62uipY!!!-$J:%h,z"9/@G +%KHJ/!!!Q0!;I')z&,uY)#64`(!!",?"7QPGz+8uB3"+U@O!!",9"5j93z5PPKA!Pe[8!!#7Y#N,Wuz +J+*\n!T3qX!!%N<%tFZ<zJ)Ch;!8mhW!!*&W%fcShzs1fZU!&srY!!E8:*WQ1&!!!!$s1geu!$2+? +!!iOS4obR(!!!!(s+!33!"Ju/!!iOSqu?^-!!!!0rW)]n!!`K(!"]&0p](:!J,fQ[rW2co!!e#S +!$D+@huE`ZhuEa!qubjW!!D-Z!$Ct<^]4?:huEaAp]nS7!!D]j!<;g!^]4?:qu?ctn-@kO!"]*[ +s8W-!s*t+Ls7lWos8W+L!<<)os8W-!s*t+Ls7lWos8W+L!<<)os8W-!s*t+Ls7c~> +Q +q[1 0 0 1 0 0]concat +64 69 true[1 0 0 1 -2640 -411]@X +imagemask +J,fQKs8W,uJ,fQKs8W,uJ,fQKs8W,uJ,fQKs8W,u5PPKA!!iQ'5PP?=!!#7_+8uB3!!!Q/+8u98 +!!!-#+9)?9!!!-#&,uY-!!!'!"93n!!!!#u"93m6!!!"J!WTr!!!!!_!WTqV!!!!`!WV("J,fR6 +!<:t!^]4@!!.XbS^]4?F!.XbG^]4?F!'gA`huE`f!'gA^huE`f!'gG`n,NG!!"]&0p](:!!"])0 +p](:!!!iN(p](:!!!E7OIK0?Q!!E7O4obQf!!E8Z56(Zg!!3,X5C`_6!!3,h%tFW[!!*&g%tFW[ +!!#7Y#J^<>!!#7Y"2Fm:!!#7]"5j.Z!!",="8Dir!!",?!VcWp!!!Q/!VcWp!!!9'!;lfs!!!9( +J33f3!!!9(^ch_u!!!-$^cqf!!!!-$i#_q!!!!$!i#_q!!!!"Ki"(><!!!"Kn-=ID!!!"Kp]o^W +2uiqCp]p9g2uiqCrWDWi2uiq#rWDWi2uiphrW)]n2uiphrr@9D49,?ls+#Is49,?`s+#Is49,?` +s1geu49,?^s1geu4obQ_s1f_,4obQ_s54uL5C`_6s7d\O+2@jVJ+sPi+5d,!J,BE,+5d,!5PtWA ++7K715PtQO+8>g9&,lV!+9-ik&,u\*+926=#QFf!+92B@s8W,u+92B@s8W,u+92B@s8W,u+92B@ +s8W,u+92B@s8W,u~> +Q +q[1375.2 0 0 -4.8 7.88 316.08]concat +1 1 false[1 0 0 -1 0 1]@X +imagemask +!!~> +Q +q[1 0 0 1 0 0]concat +33 26 true[1 0 0 1 -149 -247]@X +imagemask +!VccT!!iN7p](g0h])V;!WEQ/495?j!'C71#69,O4pM(8!$;FGHiP5jJ:%>=!!%BH%fcTW!"XS[ +HiO\-!.FnQJ,k#u#Cle<!!g:>56(r(!$;1C^]4mq"5j.iJ-4^0#J^T&!!D-ahuEfI&+BQ!Hp-s! +!'g8:!!!8^!!!~> +Q +q[1 0 0 1 0 0]concat +59 55 true[1 0 0 1 -188 -219]@X +imagemask ++92*9!!'e7+92*9!!2!X!WRZM!!2!X!.FnJ!!D-Z!'C5]!!hE^!'C5]!"[uf!#P\9!"[uf!#P\9 +!$C,!!#P\9!'fBA!#P\9!'fBA!#P\9!.Wo,!#P\9!<:sW!#P\9!WV'X!#P\9!WM!W!#P\9"8q'W +!#P\9#Q3K[!#P\9#Pd3W!#P\9&+JKW!#P\9+5l&W!#P\95N(H"!#P\95JZ1W!#P\9It6GW!#P\9 +rrCsW!#P\9rrCsW!#P\:rW(jV!#P\<quGXT!#P\@quGXT!#P\@p]04P!#P\Hn,VAH!#P\XhuM[8 +!#P\XhuM[8!#P]#^]<9m!#P]cJ,nL-!#P_9J,nL-!#P_9!!(pW!#Pb9!!(pW!#Ph9!!(pW!#Ph9 +!!(pW!#Pt9!!(pW!#Q79!!(pW!#Qg9!!(pW!#Qg9!!(pW!#Rr9!!(pW!#U39!!(pW!#U39!!(pW +!#Y_9!!(pW!#bb9!!(pW!#th9!!(pW!#th9!!(pW!$Ct9!!2!X!$C\1!!D]j!'fBA!"\u-+917! +!<<)W+90+V!<<)W+9-ik!8mk8~> +Q +q[1 0 0 1 0 0]concat +39 37 true[1 0 0 1 -251 -218]@X +imagemask +!!*%L!!!9(n,NG1Jc#KJIK2P3!;HO9J-#->&&8;*!!hEehuEl;&&8/In/oFG!Vdae!!2jZJ,fWJ +5C`_7r',]3!;o'3!!*"J!!!#uIfKHKrdOnJ!<.HJ!!*"J!!!#uIfKHKr]^A_!<,1_!!)p]J,fTI +5C`_7r#^Fh!Vdae!!2j*J,fW>&&8/In-?`/"5j:>!!g:?n,NuL!;HO9!!%BH4obR)JG9*E#QN]^ +!!*$!!!~> +Q +q[1 0 0 1 0 0]concat +27 50 true[1 0 0 1 -293 -218]@X +imagemask +!!2ut!"]&/!$?sr!'^R9!.Fsa!.Fp`!;li4!;liT!;liT!;lh)!;lh)!;lh)!;lh)!;lh)!;lh) +!;lh)!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfsJ,fPaJ,fPa+92AV#Q+Q%!W2ot!;lfs!;lfs!.4bH!.4bH!'C5]!'C5]!#tt= +!#tt=!#tt=!#tt=!#tt=!#tt=~> +Q +q[1 0 0 1 0 0]concat +41 37 true[1 0 0 1 -369 -218]@X +imagemask +!$C\1huEcWquc]o"98B+rW!3$&!+^1&+B\IK)d"O!WRcP+2@mVK7G%o!.TWO++O>UK7G%o!'c*d +++O>UK7G%o!'c*d+2@k@K7FKJ!'bu6&)[FPJ,fiD!'bu6"8Dj\J,fTK!'bu6!.VdKJ,fQ[r',]3 +!!3-"J,fQL+9-ik!!!!`J,fQL!'bu6!!!!`J,fW.!'bu6"7Q:T!!!8n!'^G`#P\9`!!!9!!.OtK +#Oh_B!!!,j!;lfs"5j4T!!!&X"7Q9j!;mAc!!!!`s*t(L!!iE%!!!~> +Q +q[1 0 0 1 0 0]concat +42 35 true[1 0 0 1 -408 -218]@X +imagemask +!!!K/z*WQ0?!!")@z56(Z`!!#66z5C`_6!!%M!zJ%u$a!!*#6zr87PT!!3#U!!!!"r*TL)!!2k6 +!!!!$pb2[J!!D^M!!!!(n2LCJ!!hF%!!!!0i#D^s!"[ur!!!!0^^^>E!$Au\!!!!@J-Q&S!'bu9 +!!!!`!!@`O!.OtNJ,fS!!!0k8!.FnK^]4B6!!'e7!;lfshuEfU!!)Kg!VcWpn,NRc!!)co#Q+Q& +rW%HJ^^'nTJ,d:hs1e~> +Q +q[1 0 0 1 0 0]concat +41 37 true[1 0 0 1 -448 -218]@X +imagemask +!$C\1huEcWquc]o"98B+rW!3$&!+^1&+B\IK)d"O!WRcP+2@mVK7G%o!.TWO++O>UK7G%o!'c*d +++O>UK7G%o!'c*d+2@k@K7FKJ!'bu6&)[FPJ,fiD!'bu6"8Dj\J,fTK!'bu6!.VdKJ,fQ[r',]3 +!!3-"J,fQL+9-ik!!!!`J,fQL!'bu6!!!!`J,fW.!'bu6"7Q:T!!!8n!'^G`#P\9`!!!9!!.OtK +#Oh_B!!!,j!;lfs"5j4T!!!&X"7Q9j!;mAc!!!!`s*t(L!!iE%!!!~> +Q +q[1 0 0 1 0 0]concat +20 54 true[1 0 0 1 -490 -219]@X +imagemask +5QC4;s6p'g!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?cq!!iE%+8c*\qu?iszzzzzzzzn,NLa!!E-!"8i-$ +qu?is!!E-!!VcWpn,N~> +Q +q[1 0 0 1 0 0]concat +20 55 true[1 0 0 1 -514 -219]@X +imagemask +5QC4;s6p'g!!)uu!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!E-!5PtLGquAtZ!!~> +Q +q[1 0 0 1 0 0]concat +41 37 true[1 0 0 1 -538 -218]@X +imagemask +!$C\1huEcWquc]o"98B+rW!3$&!+^1&+B\IK)d"O!WRcP+2@mVK7G%o!.TWO++O>UK7G%o!'c*d +++O>UK7G%o!'c*d+2@k@K7FKJ!'bu6&)[FPJ,fiD!'bu6"8Dj\J,fTK!'bu6!.VdKJ,fQ[r',]3 +!!3-"J,fQL+9-ik!!!!`J,fQL!'bu6!!!!`J,fW.!'bu6"7Q:T!!!8n!'^G`#P\9`!!!9!!.OtK +#Oh_B!!!,j!;lfs"5j4T!!!&X"7Q9j!;mAc!!!!`s*t(L!!iE%!!!~> +Q +q[1 0 0 1 0 0]concat +43 56 true[1 0 0 1 -580 -218]@X +imagemask +!!!9!!!!#W5Q:]`!8r)D^]4B)i!80?!:t^Ap](<o!!)os!<)ruIK0BG!!#4`!;lfs56(]]!!"*k +!;lfs++O@h!!"+V!;lfs&&82C!!!Pf!;lfs&)[Hc!!!Pf!;lfs&)[Hc!!!Pf!;lfs&)[Hc!!!Pf +!;lfs&)[Hc!!!Pf!;lfs&)[Hc!!"+V!;lfs+2@mS!!"*k!;lfs++O@h!!#4`!<)ru56(]_!!%HJ +!<3$!qu?`sJ-#EF!<(gXn,NIdp^b.?!;o(]!!!#s#P\9!!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz +!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!&tz"8i-!!!#7]z5PtK]!!#7]z~> +Q +q[1 0 0 1 0 0]concat +20 55 true[1 0 0 1 -627 -219]@X +imagemask +5QC4;s6p'g!!)uu!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!E-!5PtLGquAtZ!!~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -651 -218]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +29 56 true[1 0 0 1 -732 -219]@X +imagemask +5QCW]5QCW]!WN-"!<)ru!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs5QC``5QC``5QC``!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!.4bH!.4bH!.Fq+!.G%>!'UM[!$;=<!$;=<!"X_W!!hHO!!3,X!!#66~> +Q +q[1 0 0 1 0 0]concat +39 37 true[1 0 0 1 -758 -218]@X +imagemask +!!*%L!!!9(n,NG1Jc#KJIK2P3!;HO9J-#->&&8;*!!hEehuEl;&&8/In/oFG!Vdae!!2jZJ,fWJ +5C`_7r',]3!;o'3!!*"J!!!#uIfKHKrdOnJ!<.HJ!!*"J!!!#uIfKHKr]^A_!<,1_!!)p]J,fTI +5C`_7r#^Fh!Vdae!!2j*J,fW>&&8/In-?`/"5j:>!!g:?n,NuL!;HO9!!%BH4obR)JG9*E#QN]^ +!!*$!!!~> +Q +q[1 0 0 1 0 0]concat +30 35 true[1 0 0 1 -800 -219]@X +imagemask +5QCKY5QCKY"9&9#!W2ot!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!<)ru!<)ru!<3&o!;cfl!W.NI +!VsY25PX445PTO!5PRJ4!Vd2@~> +Q +q[1 0 0 1 0 0]concat +20 55 true[1 0 0 1 -876 -219]@X +imagemask +5QC4;s6p'g!!)uu!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!E-!5PtLGquAtZ!!~> +Q +q[1 0 0 1 0 0]concat +39 37 true[1 0 0 1 -900 -218]@X +imagemask +!!*%L!!!9(n,NG1Jc#KJIK2P3!;HO9J-#->&&8;*!!hEehuEl;&&8/In/oFG!Vdae!!2jZJ,fWJ +5C`_7r',]3!;o'3!!*"J!!!#uIfKHKrdOnJ!<.HJ!!*"J!!!#uIfKHKr]^A_!<,1_!!)p]J,fTI +5C`_7r#^Fh!Vdae!!2j*J,fW>&&8/In-?`/"5j:>!!g:?n,NuL!;HO9!!%BH4obR)JG9*E#QN]^ +!!*$!!!~> +Q +q[1 0 0 1 0 0]concat +58 35 true[1 0 0 1 -939 -218]@X +imagemask +!!"\Q!It.M!!%6D"2Fm:!!%6D"2Fm:!!)os#N,R^!!)os#N,R^!!)os#N,R^!!3'!&+BQ!!!3'! +&+BQ!!!E6$+1M:N!!E6$+1M:N!!Dfm*uFtX!!i+G59'Y'!!hP74raP&!!hJ54q%Dk!"\&(ILZ>X +!"Zl\Hk$,V!$B#7Hj9WO!$?aLp]gd!!$?`!p]CKr!'c!Qp]H$H!'^H<n,n1@!.Ou'n,^<)!.Ou1 +huUUn!.FnehuLOm!<)s?huM[8!;lg-^]7aB!;lg-^]8<R!VcX*^]8<R!VcX*J,jNg"8Dj<J,jfo +"8Dj<J,oKI&,ZDl^]FH8J,b0$p]pi7J,b0$p]pi7J,b0$p]pi7~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -998 -218]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +30 35 true[1 0 0 1 -1035 -219]@X +imagemask +5QCKY5QCKY"9&9#!W2ot!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!<)ru!<)ru!<3&o!;cfl!W.NI +!VsY25PX445PTO!5PRJ4!Vd2@~> +Q +q[1 0 0 1 0 0]concat +20 55 true[1 0 0 1 -1112 -219]@X +imagemask +5QC4;s6p'g!!)uu!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!E-!5PtLGquAtZ!!~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -1136 -218]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +27 50 true[1 0 0 1 -1173 -218]@X +imagemask +!!2ut!"]&/!$?sr!'^R9!.Fsa!.Fp`!;li4!;liT!;liT!;lh)!;lh)!;lh)!;lh)!;lh)!;lh) +!;lh)!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfsJ,fPaJ,fPa+92AV#Q+Q%!W2ot!;lfs!;lfs!.4bH!.4bH!'C5]!'C5]!#tt= +!#tt=!#tt=!#tt=!#tt=!#tt=~> +Q +q[1 0 0 1 0 0]concat +27 50 true[1 0 0 1 -1206 -218]@X +imagemask +!!2ut!"]&/!$?sr!'^R9!.Fsa!.Fp`!;li4!;liT!;liT!;lh)!;lh)!;lh)!;lh)!;lh)!;lh) +!;lh)!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfsJ,fPaJ,fPa+92AV#Q+Q%!W2ot!;lfs!;lfs!.4bH!.4bH!'C5]!'C5]!#tt= +!#tt=!#tt=!#tt=!#tt=!#tt=~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -1238 -218]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +30 35 true[1 0 0 1 -1275 -219]@X +imagemask +5QCKY5QCKY"9&9#!W2ot!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!<)ru!<)ru!<3&o!;cfl!W.NI +!VsY25PX445PTO!5PRJ4!Vd2@~> +Q +q[1 0 0 1 0 0]concat +30 37 true[1 0 0 1 -1307 -218]@X +imagemask +0G!XQ3.Lo-4R`l34hq085C`dm56(]Q4obS-49,A+49,A+2uir'2uir'2uir+2uisR0E;.K!!!,r +!!",9!!3,h!'gMA!WW2X"98CO#QOf(&-)P-+917!5PP3Y5JR7!56([k4obRj49,@h49,@h49,B> +49,B>*WQ6!%KHUh%tFoC"5k9Z!<;uT!$C]<~> +Q +q[1 0 0 1 0 0]concat +15 9 true[1 0 0 1 -1341 -219]@X +imagemask +!-ePB!WE3#"9&E%!WE,t!-e~> +Q +q[1 0 0 1 0 0]concat +51 54 true[1 0 0 1 -1448 -219]@X +imagemask ++92B1!!!!@s8VQg!!",@s6p!g!!%N<z!'fBAz5JR7!!!!!@^]4?7!!"+Vz!$AuVz+2@jV!!!!@^]4?7 +!!"+Vz!$AuVz+2@jV!!!!@^]4?7!!"+Vz!$AuVz+2@k9!!!!@^]6=o!!"+V!&srY!$AuV2uipY+2@k9 +!!!!@^]8TZ!!"+V!-eJD!$AuVp](9o+2A!R!!!!@s8Vio!!",@s7cQo!$D7@p](9o+2A!R!!!!@ +^]=-0!!"+V!-eJD!$AuVGQ7^D+2@k9!!!!@^]6=o!!"+V!&srY!$AuV2uqk:+2@k9!5JRV^]4?7 +^]5Il!!!#7!$AuV!!'e7+2@jV!Pe[W^]4?8^]5Il!!!&8!$AuV!!C":+2@jV"+U@n^]4?>J,g\, +!!!O[!'e7!!$?^k5JR7!5C```huElZJ04gks8W+L+92B@s8RTks8W-!rr<~> +Q +q[1 0 0 1 0 0]concat +39 37 true[1 0 0 1 -1496 -218]@X +imagemask +!!*%L!!!9(n,NG1Jc#KJIK2P3!;HO9J-#->&&8;*!!hEehuEl;&&8/In/oFG!Vdae!!2jZJ,fWJ +5C`_7r',]3!;o'3!!*"J!!!#uIfKHKrdOnJ!<.HJ!!*"J!!!#uIfKHKr]^A_!<,1_!!)p]J,fTI +5C`_7r#^Fh!Vdae!!2j*J,fW>&&8/In-?`/"5j:>!!g:?n,NuL!;HO9!!%BH4obR)JG9*E#QN]^ +!!*$!!!~> +Q +q[1 0 0 1 0 0]concat +30 35 true[1 0 0 1 -1538 -219]@X +imagemask +5QCKY5QCKY"9&9#!W2ot!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!<)ru!<)ru!<3&o!;cfl!W.NI +!VsY25PX445PTO!5PRJ4!Vd2@~> +Q +q[1 0 0 1 0 0]concat +67 35 true[1 0 0 1 -1614 -219]@X +imagemask +5QC4;s6tO<i'7825QC5&s53qX!!E3#"9&9#rVuus!!2ut!;lfsqu?cm!!)os!;lftp](<l!!)os +!VcWpqu?`p!!2ip!;lfsqu?cm!!)os!;lftp](<l!!)os!VcWpqu?`p!!2ip!;lfsqu?cm!!)os +!;lftp](<l!!)os!VcWpqu?`p!!2ip!;lfsqu?cm!!)os!;lftp](<l!!)os!VcWpqu?`p!!2ip +!;lfsqu?cm!!)os!;lftp](<n!!)os!VcWprVurr!!2ip!<)ruqu?cm!!)uu!<)s!p](<o!!)uu +!VcWprr<*"!!2ip!<7QMqZ$Zl!!)u5!W.BLn,NLehuiej"7Q:Tr,;c-n-@kO5Q!VSi&hOc!'gAl +s*u3kJ,fTI!WE'$qu?]~> +Q +q[1 0 0 1 0 0]concat +41 37 true[1 0 0 1 -1685 -218]@X +imagemask +!$C\1huEcWquc]o"98B+rW!3$&!+^1&+B\IK)d"O!WRcP+2@mVK7G%o!.TWO++O>UK7G%o!'c*d +++O>UK7G%o!'c*d+2@k@K7FKJ!'bu6&)[FPJ,fiD!'bu6"8Dj\J,fTK!'bu6!.VdKJ,fQ[r',]3 +!!3-"J,fQL+9-ik!!!!`J,fQL!'bu6!!!!`J,fW.!'bu6"7Q:T!!!8n!'^G`#P\9`!!!9!!.OtK +#Oh_B!!!,j!;lfs"5j4T!!!&X"7Q9j!;mAc!!!!`s*t(L!!iE%!!!~> +Q +q[1 0 0 1 0 0]concat +27 50 true[1 0 0 1 -1727 -218]@X +imagemask +!!2ut!"]&/!$?sr!'^R9!.Fsa!.Fp`!;li4!;liT!;liT!;lh)!;lh)!;lh)!;lh)!;lh)!;lh) +!;lh)!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfsJ,fPaJ,fPa+92AV#Q+Q%!W2ot!;lfs!;lfs!.4bH!.4bH!'C5]!'C5]!#tt= +!#tt=!#tt=!#tt=!#tt=!#tt=~> +Q +q[1 0 0 1 0 0]concat +44 55 true[1 0 0 1 -1759 -219]@X +imagemask +5QC4;s6r8Qn3?sB!WN-%rVurt!!2ut!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!<)ruqu?`r!!)os!<)ruqu?`r!!)os!<3$!qu?`s!!2ip!<7QMp](<m^]F31 +!;taWn,NIdE!,S0!;nqihuEcT&-%.[!;lls!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs +!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!-!z5PtK]!!#7]z5PtK]!!!~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -1806 -218]@X +imagemask +!!*$!!!!9(huEa!_"[m0IfMS2!;lg,!!2ip#64kq!!@`Vn,NQ@#N,R_^^o?'!Pf5]!!'eV^]4@" ++2@jV!'bu6!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!@J,fQL ++2@jV!$AuV!!!PF!"T&?huGul#N,SHJ-59@5C`k2!'bu7quAs3!<)s/J,hfa56([*s8Duu#QOQ! +!!*&7!!~> +Q +q[1 0 0 1 0 0]concat +41 37 true[1 0 0 1 -1843 -218]@X +imagemask +!$C\1huEcWquc]o"98B+rW!3$&!+^1&+B\IK)d"O!WRcP+2@mVK7G%o!.TWO++O>UK7G%o!'c*d +++O>UK7G%o!'c*d+2@k@K7FKJ!'bu6&)[FPJ,fiD!'bu6"8Dj\J,fTK!'bu6!.VdKJ,fQ[r',]3 +!!3-"J,fQL+9-ik!!!!`J,fQL!'bu6!!!!`J,fW.!'bu6"7Q:T!!!8n!'^G`#P\9`!!!9!!.OtK +#Oh_B!!!,j!;lfs"5j4T!!!&X"7Q9j!;mAc!!!!`s*t(L!!iE%!!!~> +Q +q[1 0 0 1 0 0]concat +20 55 true[1 0 0 1 -1885 -219]@X +imagemask +5QC4;s6p'g!!)uu!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!E-!5PtLGquAtZ!!~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -1954 -218]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +42 34 true[1 0 0 1 -1991 -219]@X +imagemask +s8E!_s1n[6!'gM!&,ZDLqu?io!"\Q!!;HO)huEb%!"ZjF!'C6'J,fQh!'^G`!"K!Y!!!!(!<)ru +!!@cL!!!!$_>"!1!!1"4zkO8HO!!%N,z5JR7!!!#66z56(Z`!!%KKzrr<$!!!3+M!!!!"q7lt1!!E&T +!!!!(nF-DX!"\"4!!!!@^c2;o!$?_2!!!!`!"Ju/!.OtZ!!!#u!"ZjF!WE'0huElZ!"\i)J,b$` +s+#V!J3X'a~> +Q +q[1 0 0 1 0 0]concat +20 54 true[1 0 0 1 -2035 -219]@X +imagemask +5QC4;s6p'g!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?cq!!iE%+8c*\qu?iszzzzzzzzn,NLa!!E-!"8i-$ +qu?is!!E-!!VcWpn,N~> +Q +q[1 0 0 1 0 0]concat +30 37 true[1 0 0 1 -2059 -218]@X +imagemask +0G!XQ3.Lo-4R`l34hq085C`dm56(]Q4obS-49,A+49,A+2uir'2uir'2uir+2uisR0E;.K!!!,r +!!",9!!3,h!'gMA!WW2X"98CO#QOf(&-)P-+917!5PP3Y5JR7!56([k4obRj49,@h49,@h49,B> +49,B>*WQ6!%KHUh%tFoC"5k9Z!<;uT!$C]<~> +Q +q[1 0 0 1 0 0]concat +27 50 true[1 0 0 1 -2093 -218]@X +imagemask +!!2ut!"]&/!$?sr!'^R9!.Fsa!.Fp`!;li4!;liT!;liT!;lh)!;lh)!;lh)!;lh)!;lh)!;lh) +!;lh)!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfsJ,fPaJ,fPa+92AV#Q+Q%!W2ot!;lfs!;lfs!.4bH!.4bH!'C5]!'C5]!#tt= +!#tt=!#tt=!#tt=!#tt=!#tt=~> +Q +q[1 0 0 1 0 0]concat +30 37 true[1 0 0 1 -2125 -218]@X +imagemask +0G!XQ3.Lo-4R`l34hq085C`dm56(]Q4obS-49,A+49,A+2uir'2uir'2uir+2uisR0E;.K!!!,r +!!",9!!3,h!'gMA!WW2X"98CO#QOf(&-)P-+917!5PP3Y5JR7!56([k4obRj49,@h49,@h49,B> +49,B>*WQ6!%KHUh%tFoC"5k9Z!<;uT!$C]<~> +Q +q[1 0 0 1 0 0]concat +41 37 true[1 0 0 1 -2202 -218]@X +imagemask +!$C\1huEcWquc]o"98B+rW!3$&!+^1&+B\IK)d"O!WRcP+2@mVK7G%o!.TWO++O>UK7G%o!'c*d +++O>UK7G%o!'c*d+2@k@K7FKJ!'bu6&)[FPJ,fiD!'bu6"8Dj\J,fTK!'bu6!.VdKJ,fQ[r',]3 +!!3-"J,fQL+9-ik!!!!`J,fQL!'bu6!!!!`J,fW.!'bu6"7Q:T!!!8n!'^G`#P\9`!!!9!!.OtK +#Oh_B!!!,j!;lfs"5j4T!!!&X"7Q9j!;mAc!!!!`s*t(L!!iE%!!!~> +Q +q[1 0 0 1 0 0]concat +44 35 true[1 0 0 1 -2287 -219]@X +imagemask +5QC4;s6r8Qn3?sB!WN-%rVurt!!2ut!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!<)ruqu?`r!!)os!<)ruqu?`r!!)os!<3$!qu?`s!!2ip!<7QMp](<m^]F31 +!W:jXn,P]NE!,S05Q!VShuH">&-%.[!;lls!!!~> +Q +q[1 0 0 1 0 0]concat +39 37 true[1 0 0 1 -2334 -218]@X +imagemask +!!*%L!!!9(n,NG1Jc#KJIK2P3!;HO9J-#->&&8;*!!hEehuEl;&&8/In/oFG!Vdae!!2jZJ,fWJ +5C`_7r',]3!;o'3!!*"J!!!#uIfKHKrdOnJ!<.HJ!!*"J!!!#uIfKHKr]^A_!<,1_!!)p]J,fTI +5C`_7r#^Fh!Vdae!!2j*J,fW>&&8/In-?`/"5j:>!!g:?n,NuL!;HO9!!%BH4obR)JG9*E#QN]^ +!!*$!!!~> +Q +q[1 0 0 1 0 0]concat +44 35 true[1 0 0 1 -2376 -219]@X +imagemask +5QC4;s6r8Qn3?sB!WN-%rVurt!!2ut!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!<)ruqu?`r!!)os!<)ruqu?`r!!)os!<3$!qu?`s!!2ip!<7QMp](<m^]F31 +!W:jXn,P]NE!,S05Q!VShuH">&-%.[!;lls!!!~> +Q +q[1 0 0 1 0 0]concat +29 56 true[1 0 0 1 -2466 -219]@X +imagemask +5QCW]5QCW]!WN-"!<)ru!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs5QC``5QC``5QC``!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!.4bH!.4bH!.Fq+!.G%>!'UM[!$;=<!$;=<!"X_W!!hHO!!3,X!!#66~> +Q +q[1 0 0 1 0 0]concat +30 35 true[1 0 0 1 -2492 -219]@X +imagemask +5QCKY5QCKY"9&9#!W2ot!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!<)ru!<)ru!<3&o!;cfl!W.NI +!VsY25PX445PTO!5PRJ4!Vd2@~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -2524 -218]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -2562 -218]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +29 56 true[1 0 0 1 -2643 -219]@X +imagemask +5QCW]5QCW]!WN-"!<)ru!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs5QC``5QC``5QC``!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!.4bH!.4bH!.Fq+!.G%>!'UM[!$;=<!$;=<!"X_W!!hHO!!3,X!!#66~> +Q +q[1 0 0 1 0 0]concat +39 37 true[1 0 0 1 -2669 -218]@X +imagemask +!!*%L!!!9(n,NG1Jc#KJIK2P3!;HO9J-#->&&8;*!!hEehuEl;&&8/In/oFG!Vdae!!2jZJ,fWJ +5C`_7r',]3!;o'3!!*"J!!!#uIfKHKrdOnJ!<.HJ!!*"J!!!#uIfKHKr]^A_!<,1_!!)p]J,fTI +5C`_7r#^Fh!Vdae!!2j*J,fW>&&8/In-?`/"5j:>!!g:?n,NuL!;HO9!!%BH4obR)JG9*E#QN]^ +!!*$!!!~> +Q +q[1 0 0 1 0 0]concat +44 35 true[1 0 0 1 -2711 -219]@X +imagemask +5QC4;s6r8Qn3?sB!WN-%rVurt!!2ut!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!<)ruqu?`r!!)os!<)ruqu?`r!!)os!<3$!qu?`s!!2ip!<7QMp](<m^]F31 +!W:jXn,P]NE!,S05Q!VShuH">&-%.[!;lls!!!~> +Q +q[1 0 0 1 0 0]concat +27 50 true[1 0 0 1 -2756 -218]@X +imagemask +!!2ut!"]&/!$?sr!'^R9!.Fsa!.Fp`!;li4!;liT!;liT!;lh)!;lh)!;lh)!;lh)!;lh)!;lh) +!;lh)!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfsJ,fPaJ,fPa+92AV#Q+Q%!W2ot!;lfs!;lfs!.4bH!.4bH!'C5]!'C5]!#tt= +!#tt=!#tt=!#tt=!#tt=!#tt=~> +Q +q[1 0 0 1 0 0]concat +29 56 true[1 0 0 1 -2831 -219]@X +imagemask +5QCW]5QCW]!WN-"!<)ru!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs5QC``5QC``5QC``!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!.4bH!.4bH!.Fq+!.G%>!'UM[!$;=<!$;=<!"X_W!!hHO!!3,X!!#66~> +Q +q[1 0 0 1 0 0]concat +39 37 true[1 0 0 1 -2858 -218]@X +imagemask +!!*%L!!!9(n,NG1Jc#KJIK2P3!;HO9J-#->&&8;*!!hEehuEl;&&8/In/oFG!Vdae!!2jZJ,fWJ +5C`_7r',]3!;o'3!!*"J!!!#uIfKHKrdOnJ!<.HJ!!*"J!!!#uIfKHKr]^A_!<,1_!!)p]J,fTI +5C`_7r#^Fh!Vdae!!2j*J,fW>&&8/In-?`/"5j:>!!g:?n,NuL!;HO9!!%BH4obR)JG9*E#QN]^ +!!*$!!!~> +Q +q[1 0 0 1 0 0]concat +30 35 true[1 0 0 1 -2900 -219]@X +imagemask +5QCKY5QCKY"9&9#!W2ot!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!<)ru!<)ru!<3&o!;cfl!W.NI +!VsY25PX445PTO!5PRJ4!Vd2@~> +Q +q[1 0 0 1 0 0]concat +20 55 true[1 0 0 1 -2976 -219]@X +imagemask +5QC4;s6p'g!!)uu!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!E-!5PtLGquAtZ!!~> +Q +q[1 0 0 1 0 0]concat +39 37 true[1 0 0 1 -3000 -218]@X +imagemask +!!*%L!!!9(n,NG1Jc#KJIK2P3!;HO9J-#->&&8;*!!hEehuEl;&&8/In/oFG!Vdae!!2jZJ,fWJ +5C`_7r',]3!;o'3!!*"J!!!#uIfKHKrdOnJ!<.HJ!!*"J!!!#uIfKHKr]^A_!<,1_!!)p]J,fTI +5C`_7r#^Fh!Vdae!!2j*J,fW>&&8/In-?`/"5j:>!!g:?n,NuL!;HO9!!%BH4obR)JG9*E#QN]^ +!!*$!!!~> +Q +q[1 0 0 1 0 0]concat +58 35 true[1 0 0 1 -3040 -218]@X +imagemask +!!"\Q!It.M!!%6D"2Fm:!!%6D"2Fm:!!)os#N,R^!!)os#N,R^!!)os#N,R^!!3'!&+BQ!!!3'! +&+BQ!!!E6$+1M:N!!E6$+1M:N!!Dfm*uFtX!!i+G59'Y'!!hP74raP&!!hJ54q%Dk!"\&(ILZ>X +!"Zl\Hk$,V!$B#7Hj9WO!$?aLp]gd!!$?`!p]CKr!'c!Qp]H$H!'^H<n,n1@!.Ou'n,^<)!.Ou1 +huUUn!.FnehuLOm!<)s?huM[8!;lg-^]7aB!;lg-^]8<R!VcX*^]8<R!VcX*J,jNg"8Dj<J,jfo +"8Dj<J,oKI&,ZDl^]FH8J,b0$p]pi7J,b0$p]pi7J,b0$p]pi7~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -3099 -218]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +30 35 true[1 0 0 1 -3136 -219]@X +imagemask +5QCKY5QCKY"9&9#!W2ot!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!<)ru!<)ru!<3&o!;cfl!W.NI +!VsY25PX445PTO!5PRJ4!Vd2@~> +Q +q[1 0 0 1 0 0]concat +20 55 true[1 0 0 1 -3211 -219]@X +imagemask +5QC4;s6p'g!!)uu!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!E-!5PtLGquAtZ!!~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -3235 -218]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +27 50 true[1 0 0 1 -3272 -218]@X +imagemask +!!2ut!"]&/!$?sr!'^R9!.Fsa!.Fp`!;li4!;liT!;liT!;lh)!;lh)!;lh)!;lh)!;lh)!;lh) +!;lh)!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfsJ,fPaJ,fPa+92AV#Q+Q%!W2ot!;lfs!;lfs!.4bH!.4bH!'C5]!'C5]!#tt= +!#tt=!#tt=!#tt=!#tt=!#tt=~> +Q +q[1 0 0 1 0 0]concat +27 50 true[1 0 0 1 -3305 -218]@X +imagemask +!!2ut!"]&/!$?sr!'^R9!.Fsa!.Fp`!;li4!;liT!;liT!;lh)!;lh)!;lh)!;lh)!;lh)!;lh) +!;lh)!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfsJ,fPaJ,fPa+92AV#Q+Q%!W2ot!;lfs!;lfs!.4bH!.4bH!'C5]!'C5]!#tt= +!#tt=!#tt=!#tt=!#tt=!#tt=~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -3337 -218]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +30 35 true[1 0 0 1 -3374 -219]@X +imagemask +5QCKY5QCKY"9&9#!W2ot!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!<)ru!<)ru!<3&o!;cfl!W.NI +!VsY25PX445PTO!5PRJ4!Vd2@~> +Q +q[1 0 0 1 0 0]concat +30 37 true[1 0 0 1 -3407 -218]@X +imagemask +0G!XQ3.Lo-4R`l34hq085C`dm56(]Q4obS-49,A+49,A+2uir'2uir'2uir+2uisR0E;.K!!!,r +!!",9!!3,h!'gMA!WW2X"98CO#QOf(&-)P-+917!5PP3Y5JR7!56([k4obRj49,@h49,@h49,B> +49,B>*WQ6!%KHUh%tFoC"5k9Z!<;uT!$C]<~> +Q +q[1 0 0 1 0 0]concat +27 80 true[1 0 0 1 -9 -104]@X +imagemask +!!!",!!!#W!!!,:!!!7S!!!N0!!!K/!!!u=!!#+]!!%6D!!)Kg!!)Kg!!2!X!!C":!!C":!!e#S +!!e#S!"XS[!"T&0!$;1@!$;1@!$2+?!'UA_!'UA_!'C5]!.4bH!.4bH!.4bH!.4bH!;HNo!;HNo +!;HNo!;HNo!;HNo!;HNo!;HNo!VcWp!VcWp!VcWp!VcWp!VcWp!VcWp!VcWp!VcWp!VcWp!VcWp +!;HNo!;HNo!;HNo!;HNo!;HNo!;HNo!;HNo!.4bH!.4bH!.4bH!.4bH!'C5]!'UA_!'UA_!'UA_ +!$;1@!$;1@!"T&0!"XS[!!e#S!!e#S!!C":!!C":!!2!X!!2Qh!!)Kg!!%6D!!#+]!!#+]!!"&? +!!!N0!!!7S!!!,:!!!&X!!!",~> +Q +q[1 0 0 1 0 0]concat +44 55 true[1 0 0 1 -41 -124]@X +imagemask +5QC4;s6r8Qn3?sB!WN-%rVurt!!2ut!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!<)ruqu?`r!!)os!<)ruqu?`r!!)os!<3$!qu?`s!!2ip!<7QMp](<m^]F31 +!;taWn,NIdE!,S0!;nqihuEcT&-%.[!;lls!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs +!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!-!z5PtK]!!#7]z5PtK]!!!~> +Q +q[1 0 0 1 0 0]concat +27 50 true[1 0 0 1 -86 -123]@X +imagemask +!!2ut!"]&/!$?sr!'^R9!.Fsa!.Fp`!;li4!;liT!;liT!;lh)!;lh)!;lh)!;lh)!;lh)!;lh) +!;lh)!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfsJ,fPaJ,fPa+92AV#Q+Q%!W2ot!;lfs!;lfs!.4bH!.4bH!'C5]!'C5]!#tt= +!#tt=!#tt=!#tt=!#tt=!#tt=~> +Q +q[1 0 0 1 0 0]concat +27 50 true[1 0 0 1 -118 -123]@X +imagemask +!!2ut!"]&/!$?sr!'^R9!.Fsa!.Fp`!;li4!;liT!;liT!;lh)!;lh)!;lh)!;lh)!;lh)!;lh) +!;lh)!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs!;lfs +!;lfs!;lfs!;lfsJ,fPaJ,fPa+92AV#Q+Q%!W2ot!;lfs!;lfs!.4bH!.4bH!'C5]!'C5]!#tt= +!#tt=!#tt=!#tt=!#tt=!#tt=~> +Q +q[1 0 0 1 0 0]concat +43 50 true[1 0 0 1 -150 -109]@X +imagemask +5QC3Q!!#7`n,NFg"9&9#!!!&tz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs +!!!#sz!;m)s!!!#s5Q:]`!;uU6^]4B5i!80?!<7QOp](<o!!2ut!<)rurVurt!!%KK!;lfs56(]] +!!#66!;lfs++O@h!!"+V!;lfs+2@mS!!!Pf!;lfs&)[Hc!!!Pf!;lfs&)[Hc!!!Pf!;lfs&)[Hc +!!!Pf!;lfs&)[Hc!!!Pf!;lfs&)[Hc!!"+V!;lfs+2@mS!!"*k!;lfs5C`b3!!#4`!<)ruIfKKJ +!!%HJ!<3$!qu?ctJ-#EF5Q0LBn,P]NGRr^45Q!bGJ,fWJ#Q+Q%~> +Q +q[1 0 0 1 0 0]concat +15 34 true[1 0 0 1 -197 -124]@X +imagemask +!-ePB!WE3#"9&E%!WE)s!-eJDzzzzzzzz!;llq!WE3#"9&?#!W2qB~> +Q +q[1 0 0 1 0 0]concat +36 80 true[1 0 0 1 -221 -104]@X +imagemask +$ig8-!"8i-!!!K/!!!!'z"onW'!!`K(!!!*$!!!!$J,fQL!It.M!!.TM!!!&8z^]4?7!8mhW!!(pW +!!!",zDu]k<!&+BQ!!"tY!!!!Yz(]XO9!#tt=!!!E-!!!!/z%KHJ/!!WE'!!!6(!!!!$z!rr<$!!@`O +!!!%M!!!!"^]4?7!5JR7!!'e7!!!#Wz?iU0,!,qo<!!$s<!!!!Qz2uipY!#P\9!!!u=!!!!=z$ig8- +!"Ju/!!!3'!!!!'z#64`(!!<3$!!!+O!!!!"J,fQL!It.M!!0k8!!!#7zhuE`W!+5d,!!$C,!!!"<z +0E;(Q!&srY!!"tY!!!!9z)uos=!"8i-!!!K/!!!!/z"onW'!!`K(!!!*$!!!!$J,fQL"+U@O!!.TM +!!!&8z^]4?7!8mhW!!(pW!!!",zDu]k<!&+BQ!!"\Q!!!!1~> +Q +q[1 0 0 1 0 0]concat +36 80 true[1 0 0 1 -263 -104]@X +imagemask +$ig8-!"8i-!!!K/!!!!'z"onW'!!`K(!!!*$!!!!$J,fQL!It.M!!.TM!!!&8z^]4?7!8mhW!!(pW +!!!",zDu]k<!&+BQ!!"tY!!!!Yz(]XO9!#tt=!!!E-!!!!/z%KHJ/!!WE'!!!6(!!!!$z!rr<$!!@`O +!!!%M!!!!"^]4?7!5JR7!!'e7!!!#Wz?iU0,!,qo<!!$s<!!!!Qz2uipY!#P\9!!!u=!!!!=z$ig8- +!"Ju/!!!3'!!!!'z#64`(!!<3$!!!+O!!!!"J,fQL!It.M!!0k8!!!#7zhuE`W!+5d,!!$C,!!!"<z +0E;(Q!&srY!!"tY!!!!9z)uos=!"8i-!!!K/!!!!/z"onW'!!`K(!!!*$!!!!$J,fQL"+U@O!!.TM +!!!&8z^]4?7!8mhW!!(pW!!!",zDu]k<!&+BQ!!"\Q!!!!1~> +Q +q[1 0 0 1 0 0]concat +58 35 true[1 0 0 1 -305 -123]@X +imagemask +!!"\Q!It.M!!%6D"2Fm:!!%6D"2Fm:!!)os#N,R^!!)os#N,R^!!)os#N,R^!!3'!&+BQ!!!3'! +&+BQ!!!E6$+1M:N!!E6$+1M:N!!Dfm*uFtX!!i+G59'Y'!!hP74raP&!!hJ54q%Dk!"\&(ILZ>X +!"Zl\Hk$,V!$B#7Hj9WO!$?aLp]gd!!$?`!p]CKr!'c!Qp]H$H!'^H<n,n1@!.Ou'n,^<)!.Ou1 +huUUn!.FnehuLOm!<)s?huM[8!;lg-^]7aB!;lg-^]8<R!VcX*^]8<R!VcX*J,jNg"8Dj<J,jfo +"8Dj<J,oKI&,ZDl^]FH8J,b0$p]pi7J,b0$p]pi7J,b0$p]pi7~> +Q +q[1 0 0 1 0 0]concat +58 35 true[1 0 0 1 -366 -123]@X +imagemask +!!"\Q!It.M!!%6D"2Fm:!!%6D"2Fm:!!)os#N,R^!!)os#N,R^!!)os#N,R^!!3'!&+BQ!!!3'! +&+BQ!!!E6$+1M:N!!E6$+1M:N!!Dfm*uFtX!!i+G59'Y'!!hP74raP&!!hJ54q%Dk!"\&(ILZ>X +!"Zl\Hk$,V!$B#7Hj9WO!$?aLp]gd!!$?`!p]CKr!'c!Qp]H$H!'^H<n,n1@!.Ou'n,^<)!.Ou1 +huUUn!.FnehuLOm!<)s?huM[8!;lg-^]7aB!;lg-^]8<R!VcX*^]8<R!VcX*J,jNg"8Dj<J,jfo +"8Dj<J,oKI&,ZDl^]FH8J,b0$p]pi7J,b0$p]pi7J,b0$p]pi7~> +Q +q[1 0 0 1 0 0]concat +58 35 true[1 0 0 1 -427 -123]@X +imagemask +!!"\Q!It.M!!%6D"2Fm:!!%6D"2Fm:!!)os#N,R^!!)os#N,R^!!)os#N,R^!!3'!&+BQ!!!3'! +&+BQ!!!E6$+1M:N!!E6$+1M:N!!Dfm*uFtX!!i+G59'Y'!!hP74raP&!!hJ54q%Dk!"\&(ILZ>X +!"Zl\Hk$,V!$B#7Hj9WO!$?aLp]gd!!$?`!p]CKr!'c!Qp]H$H!'^H<n,n1@!.Ou'n,^<)!.Ou1 +huUUn!.FnehuLOm!<)s?huM[8!;lg-^]7aB!;lg-^]8<R!VcX*^]8<R!VcX*J,jNg"8Dj<J,jfo +"8Dj<J,oKI&,ZDl^]FH8J,b0$p]pi7J,b0$p]pi7J,b0$p]pi7~> +Q +q[1 0 0 1 0 0]concat +15 9 true[1 0 0 1 -488 -124]@X +imagemask +!-ePB!WE3#"9&E%!WE,t!-e~> +Q +q[1 0 0 1 0 0]concat +42 50 true[1 0 0 1 -512 -108]@X +imagemask +#N,R^!!",9z4<=J&!!%BOzIKP*#!!%HKJ,fQLIf[=b!!%HJhuE`WIK8:+!!!i9Du]k<!!$s<z2uipY +!!"tYz(]XO9!!!u=z$ig8-!!!K/z*WQ0?!!")@z56(Z`!!#66z5C`_6!!%M!zJ%u$a!!*#6zr87PT +!!3"*!!!!"pi$35!!E"8!!!!$n1XhB!!D^M!!!!(n/)-*!!hF%!!!!0i!]Sc!"ZjT!!!!@^]jc= +!$?^r!!!!`J-Q&S!'^GcJ,fR6!!@`O!.OtLJ,fRu!!0k8!<)ru^]4B4!!(pW!W2othuEfU!!)Kg +"8i-!p](Qs!!3'!J,d:hs1j-a^^'nT~> +Q +q[1 0 0 1 0 0]concat +41 37 true[1 0 0 1 -554 -123]@X +imagemask +!$C\1huEcWquc]o"98B+rW!3$&!+^1&+B\IK)d"O!WRcP+2@mVK7G%o!.TWO++O>UK7G%o!'c*d +++O>UK7G%o!'c*d+2@k@K7FKJ!'bu6&)[FPJ,fiD!'bu6"8Dj\J,fTK!'bu6!.VdKJ,fQ[r',]3 +!!3-"J,fQL+9-ik!!!!`J,fQL!'bu6!!!!`J,fW.!'bu6"7Q:T!!!8n!'^G`#P\9`!!!9!!.OtK +#Oh_B!!!,j!;lfs"5j4T!!!&X"7Q9j!;mAc!!!!`s*t(L!!iE%!!!~> +Q +q[1 0 0 1 0 0]concat +44 35 true[1 0 0 1 -596 -124]@X +imagemask +5QC4;s6r8Qn3?sB!WN-%rVurt!!2ut!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os!;lfsqu?`p!!)os +!;lfsqu?`p!!)os!<)ruqu?`r!!)os!<)ruqu?`r!!)os!<3$!qu?`s!!2ip!<7QMp](<m^]F31 +!W:jXn,P]NE!,S05Q!VShuH">&-%.[!;lls!!!~> +Q +q[1 0 0 1 0 0]concat +43 56 true[1 0 0 1 -643 -123]@X +imagemask +!!*$"rVup's2"`n!$?d^s53m+!'1(0!;lg;qu?cm!!i9!"7Q9mp](QW!!Dur#N,R_p](i?!!2ip ++2@jWp])Cd!!2ip++O=lp]*O/!!2ip5C`_7p]*O/!!2ip5C`_7p]*O/!!2ip5C`_7p]*O/!!2ip +5C`_7p]*O/!!2ip5C`_7p])Cd!!2ip+2@jWp](i?!!2ip&&8/Gp](QW!!2ip#N,R_p](Ec!!Dur +!VcX"p](<l!"\i)!'UB'p](:9_"ma*!!iP_p](9orrMlp!!!!"p](9o!!2ip!!!!"p](9o!!2ip +!!!!"p](9o!!2ip!!!!"p](9o!!2ip!!!!"p](9o!!2ip!!!!"p](9o!!2ip!!!!"p](9o!!2ip +!!!!"p](9o!!2ip!!!!(p](9o!.XbD!!!"Kp](9o!.XbD~> +Q +q[1 0 0 1 0 0]concat +42 50 true[1 0 0 1 -690 -108]@X +imagemask +#N,R^!!",9z4<=J&!!%BOzIKP*#!!%HKJ,fQLIf[=b!!%HJhuE`WIK8:+!!!i9Du]k<!!$s<z2uipY +!!"tYz(]XO9!!!u=z$ig8-!!!K/z*WQ0?!!")@z56(Z`!!#66z5C`_6!!%M!zJ%u$a!!*#6zr87PT +!!3"*!!!!"pi$35!!E"8!!!!$n1XhB!!D^M!!!!(n/)-*!!hF%!!!!0i!]Sc!"ZjT!!!!@^]jc= +!$?^r!!!!`J-Q&S!'^GcJ,fR6!!@`O!.OtLJ,fRu!!0k8!<)ru^]4B4!!(pW!W2othuEfU!!)Kg +"8i-!p](Qs!!3'!J,d:hs1j-a^^'nT~> +Q +q[1 0 0 1 0 0]concat +15 9 true[1 0 0 1 -727 -124]@X +imagemask +!-ePB!WE3#"9&E%!WE,t!-e~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -751 -123]@X +imagemask +!!*$!!!!9(huEa!_"[m0IfMS2!;lg,!!2ip#64kq!!@`Vn,NQ@#N,R_^^o?'!Pf5]!!'eV^]4@" ++2@jV!'bu6!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!@J,fQL ++2@jV!$AuV!!!PF!"T&?huGul#N,SHJ-59@5C`k2!'bu7quAs3!<)s/J,hfa56([*s8Duu#QOQ! +!!*&7!!~> +Q +q[1 0 0 1 0 0]concat +39 37 true[1 0 0 1 -788 -123]@X +imagemask +!!*%L!!!9(n,NG1Jc#KJIK2P3!;HO9J-#->&&8;*!!hEehuEl;&&8/In/oFG!Vdae!!2jZJ,fWJ +5C`_7r',]3!;o'3!!*"J!!!#uIfKHKrdOnJ!<.HJ!!*"J!!!#uIfKHKr]^A_!<,1_!!)p]J,fTI +5C`_7r#^Fh!Vdae!!2j*J,fW>&&8/In-?`/"5j:>!!g:?n,NuL!;HO9!!%BH4obR)JG9*E#QN]^ +!!*$!!!~> +Q +q[1 0 0 1 0 0]concat +67 35 true[1 0 0 1 -830 -124]@X +imagemask +5QC4;s6tO<i'7825QC5&s53qX!!E3#"9&9#rVuus!!2ut!;lfsqu?cm!!)os!;lftp](<l!!)os +!VcWpqu?`p!!2ip!;lfsqu?cm!!)os!;lftp](<l!!)os!VcWpqu?`p!!2ip!;lfsqu?cm!!)os +!;lftp](<l!!)os!VcWpqu?`p!!2ip!;lfsqu?cm!!)os!;lftp](<l!!)os!VcWpqu?`p!!2ip +!;lfsqu?cm!!)os!;lftp](<n!!)os!VcWprVurr!!2ip!<)ruqu?cm!!)uu!<)s!p](<o!!)uu +!VcWprr<*"!!2ip!<7QMqZ$Zl!!)u5!W.BLn,NLehuiej"7Q:Tr,;c-n-@kO5Q!VSi&hOc!'gAl +s*u3kJ,fTI!WE'$qu?]~> +Q +q[1 0 0 1 0 0]concat +24 80 true[1 0 0 1 -901 -104]@X +imagemask +$ig8;!!!6(!!@`O!Pe[8huEcH!!%6D!'C5]*WQ0]!!!N0!"XS[#CldZ^]4JP!!D-Z!T3qYhuEfI +!!)Kg!;HNop](<h!!%BH!.4bHHiO.o!!%BH!'UA_4obRH!!#1_!'UA_4obRH!!#1_!'UA_56([J +!!#4`!'^G`4obRH!!#1_!'UA_4obRH!!#1_!'UA_4obS1!!%BH!.4bHHiO.o!!)co!;HNop](<` +!!2Qh!T3qYhuEl;!!C":#J^<EJ,g+1!"T&0*WQ0]!!#+]!-eJDn,NIH!!0k8"+U@V!!!K/!"8i-~> +Q +q[1 0 0 1 0 0]concat +26 42 true[1 0 0 1 -154 -55]@X +imagemask +!W2ot#QFc(%gTlM*Wt=#494jN490U+GQ<*kGQ9o-GQ8fcGQ8fcHiP7=HiO\-HiO\-HiO\m4obi' +4obi'4obi'4obi'*rlP]*rlOr++OTH+2AD;&+C)0&,\Tk&"ib"%u9WS#CldS#J^<>#J^<>#J^<> +"2Fm:"5j.Z"5j.Z"5j.Z!T3qX!Up'h!Up'h!Up'h!Up'h+8>g9+8>g9"8Dir~> +Q +q[1 0 0 1 0 0]concat +59 55 true[1 0 0 1 -188 -26]@X +imagemask ++92*9!!'e7+92*9!!2!X!WRZM!!2!X!.FnJ!!D-Z!'C5]!!hE^!'C5]!"[uf!#P\9!"[uf!#P\9 +!$C,!!#P\9!'fBA!#P\9!'fBA!#P\9!.Wo,!#P\9!<:sW!#P\9!WV'X!#P\9!WM!W!#P\9"8q'W +!#P\9#Q3K[!#P\9#Pd3W!#P\9&+JKW!#P\9+5l&W!#P\95N(H"!#P\95JZ1W!#P\9It6GW!#P\9 +rrCsW!#P\9rrCsW!#P\:rW(jV!#P\<quGXT!#P\@quGXT!#P\@p]04P!#P\Hn,VAH!#P\XhuM[8 +!#P\XhuM[8!#P]#^]<9m!#P]cJ,nL-!#P_9J,nL-!#P_9!!(pW!#Pb9!!(pW!#Ph9!!(pW!#Ph9 +!!(pW!#Pt9!!(pW!#Q79!!(pW!#Qg9!!(pW!#Qg9!!(pW!#Rr9!!(pW!#U39!!(pW!#U39!!(pW +!#Y_9!!(pW!#bb9!!(pW!#th9!!(pW!#th9!!(pW!$Ct9!!2!X!$C\1!!D]j!'fBA!"\u-+917! +!<<)W+90+V!<<)W+9-ik!8mk8~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -251 -25]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -288 -25]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +43 56 true[1 0 0 1 -326 -25]@X +imagemask +!!*$"rVup's2"`n!$?d^s53m+!'1(0!;lg;qu?cm!!i9!"7Q9mp](QW!!Dur#N,R_p](i?!!2ip ++2@jWp])Cd!!2ip++O=lp]*O/!!2ip5C`_7p]*O/!!2ip5C`_7p]*O/!!2ip5C`_7p]*O/!!2ip +5C`_7p]*O/!!2ip5C`_7p])Cd!!2ip+2@jWp](i?!!2ip&&8/Gp](QW!!2ip#N,R_p](Ec!!Dur +!VcX"p](<l!"\i)!'UB'p](:9_"ma*!!iP_p](9orrMlp!!!!"p](9o!!2ip!!!!"p](9o!!2ip +!!!!"p](9o!!2ip!!!!"p](9o!!2ip!!!!"p](9o!!2ip!!!!"p](9o!!2ip!!!!"p](9o!!2ip +!!!!"p](9o!!2ip!!!!(p](9o!.XbD!!!"Kp](9o!.XbD~> +Q +q[1 0 0 1 0 0]concat +30 37 true[1 0 0 1 -372 -25]@X +imagemask +0G!XQ3.Lo-4R`l34hq085C`dm56(]Q4obS-49,A+49,A+2uir'2uir'2uir+2uisR0E;.K!!!,r +!!",9!!3,h!'gMA!WW2X"98CO#QOf(&-)P-+917!5PP3Y5JR7!56([k4obRj49,@h49,@h49,B> +49,B>*WQ6!%KHUh%tFoC"5k9Z!<;uT!$C]<~> +Q +q[1 0 0 1 0 0]concat +43 50 true[1 0 0 1 -435 -11]@X +imagemask +5QC3Q!!#7`n,NFg"9&9#!!!&tz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs +!!!#sz!;m)s!!!#s5Q:]`!;uU6^]4B5i!80?!<7QOp](<o!!2ut!<)rurVurt!!%KK!;lfs56(]] +!!#66!;lfs++O@h!!"+V!;lfs+2@mS!!!Pf!;lfs&)[Hc!!!Pf!;lfs&)[Hc!!!Pf!;lfs&)[Hc +!!!Pf!;lfs&)[Hc!!!Pf!;lfs&)[Hc!!"+V!;lfs+2@mS!!"*k!;lfs5C`b3!!#4`!<)ruIfKKJ +!!%HJ!<3$!qu?ctJ-#EF5Q0LBn,P]NGRr^45Q!bGJ,fWJ#Q+Q%~> +Q +q[1 0 0 1 0 0]concat +41 37 true[1 0 0 1 -482 -25]@X +imagemask +!$C\1huEcWquc]o"98B+rW!3$&!+^1&+B\IK)d"O!WRcP+2@mVK7G%o!.TWO++O>UK7G%o!'c*d +++O>UK7G%o!'c*d+2@k@K7FKJ!'bu6&)[FPJ,fiD!'bu6"8Dj\J,fTK!'bu6!.VdKJ,fQ[r',]3 +!!3-"J,fQL+9-ik!!!!`J,fQL!'bu6!!!!`J,fW.!'bu6"7Q:T!!!8n!'^G`#P\9`!!!9!!.OtK +#Oh_B!!!,j!;lfs"5j4T!!!&X"7Q9j!;mAc!!!!`s*t(L!!iE%!!!~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -523 -25]@X +imagemask +!!*$!!!!9(huEa!_"[m0IfMS2!;lg,!!2ip#64kq!!@`Vn,NQ@#N,R_^^o?'!Pf5]!!'eV^]4@" ++2@jV!'bu6!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!`J,fQL5C`_6!'bu6!!#66!!!!@J,fQL ++2@jV!$AuV!!!PF!"T&?huGul#N,SHJ-59@5C`k2!'bu7quAs3!<)s/J,hfa56([*s8Duu#QOQ! +!!*&7!!~> +Q +q[1 0 0 1 0 0]concat +42 55 true[1 0 0 1 -558 -26]@X +imagemask +5QBY+s1gl!i'77W"9&92rVuus!!i9!!;HO!n,NI`!"[uf!;HO)^]4B0!$AuV!;HOYJ,fTE!'^G` +!;HPC!!!#o!<)ru!;HTm!!!#o"8Dir!;lrg!!!#u#Oh]n!<8,<!!!$!hnT3l!<)qJ!!!#ss*t(L +!;q<H!!!#s*WQ0?!;m?-!!!#s#CldS!;lr7!!!#s!:Tsg!;lhA!!!#s!'C5]!;lg<!!!#s!$?^k +!;lg=huEcT!$Ct9!;lg]rr<&s!'gJ`!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs +!!!#sz!;lfs!!!#sz!;lfs!!!#sz!;lfs!!!#sz!W2ot!!!-!z5PtK]!!#7]z5PtK]!!!~> +Q +q[1 0 0 1 0 0]concat +41 37 true[1 0 0 1 -598 -25]@X +imagemask +!$C\1huEcWquc]o"98B+rW!3$&!+^1&+B\IK)d"O!WRcP+2@mVK7G%o!.TWO++O>UK7G%o!'c*d +++O>UK7G%o!'c*d+2@k@K7FKJ!'bu6&)[FPJ,fiD!'bu6"8Dj\J,fTK!'bu6!.VdKJ,fQ[r',]3 +!!3-"J,fQL+9-ik!!!!`J,fQL!'bu6!!!!`J,fW.!'bu6"7Q:T!!!8n!'^G`#P\9`!!!9!!.OtK +#Oh_B!!!,j!;lfs"5j4T!!!&X"7Q9j!;mAc!!!!`s*t(L!!iE%!!!~> +Q +q[1 0 0 1 0 0]concat +40 52 true[1 0 0 1 -640 -10]@X +imagemask +!!E8:!!#7`rVuuu!.TM(n,O!W&&8/In/hW1!;J_X!!%C1!!!!]HiO-H5(!>1!'Yc1!!#31!!!!_ +4obQ_IQd`3!;mph!!3!.huF;_#QOi(n,`Rhs53nWs8Tk8s8W*!!WW2X!!D-Z!!!,:!!!!$J,fQL +#CldS!!e#S!!!*$!!!!$z",HdS!!/_lJ,fWL#J^<?p]L!c!Up-b!!D]jqu?u[!;lg%huJ3+#N,T2 +!"ZjFIK0no!.FnY^]8ia&&80o!"[ufIK0W2!.FnQhuJ3+#N,U[!!D]jp]LWe!Vd`:p]L:5!.G10 +*rmD_O3[e.qucou!!!#s~> +Q +q[1 0 0 1 0 0]concat +34 37 true[1 0 0 1 -682 -25]@X +imagemask +!!*$!!!!9(huEa!s6p!gIt7Fs!<)s^!!2ip%fc_$!!e#ZhuEk0&)[Eg^^n3\!Pfem!!'eVJ,fSb +5C`_6!'bu6!!#66!!!!`J,fQLIfKHK!.OtK!!%KK!!!"Ks8W,7J,fQK^jgk7#J`QS!!g;(J,fhi +5C`_=^d!>L&&9:&!"XT%^]4mq&&8/eJ-Y!4*rlQ(!'^Gcn,PWP!VcYB!!%BHp](:Y"7Q9j&-'EF +!!3'!!!~> +Q +q[1 0 0 1 0 0]concat +41 49 true[1 0 0 1 -749 -26]@X +imagemask +!!2uurVup/s+gW)!'gMHs*t*!s7cPD!<<*!s*t.M"98?#"8i0!huElS!.Wo,#Oh^XhuF;G!$C,! +&)[F0huF;'!"[uf+2@jehuFjL!"[uf++O=rhuFjL!!hE^++O=rhuFjL!!hE^++O=rhuFjL!!hE^ +++O=rhuFjL!!hE^+2@j]huF;'!"[uf&)[EuhuF#?!"[uf#Oh^8huElS!'fBA"9&:MhuEfXJcFX. +!<<*!huEb,s8V!W!$D7(huE`^s2X$t!!3'(huE`W!!hE^!!!!(huE`W!!hE^!!!!(huE`W!!hE^ +!!!!(huE`W!!hE^!!!!(huE`W!!hE^!!!'"huE`W"979Z!!!-$huE`W"96.:!!!'"^]4~> +Q +q[1 0 0 1 0 0]concat +37 35 true[1 0 0 1 -791 -26]@X +imagemask +!Pj3C!!D9]qu?ifs8N'$s8W,7"98E$huj"p+7KC4!!huqqu?ce"8i-"p]L9k!;HZc!!)crn,NLa +"7Q9kp]9:Q"7Q9j!$C\1!!3,X!!*'!^]4oFs*t)6s8N'!J,fEH!WW28!!3,X!!!-#!!!!$n,NQ@ +"5j.a^]WKp#J^H"!"[uin,O!W"8Dj<huWiXJ)C>,s8V!WJ,fQ,!'gM`^]4oFs1eU8s5SV~> +Q +q[1 0 0 1 0 0]concat +35 49 true[1 0 0 1 -833 -26]@X +imagemask +&-)\/!"],0rr=/@s8N'0s8W*!&-)\/!!!&p!!!!"p](9o!VcWp!!2ip!!!&p!!!!"p](9o!VcWp +!!2ip!!!&p!!!!"p](9o!VcWp!!2ip!!!&p!!!!"p](9o!VcWp!!2ip!!!&p!!!!"p](9o!VcWp +!!2ip!!!&p!!!!"p](9o!VcWp!!2ip!"],0s*tX[s8RTks8W,7&-)\0J.M\[rr<$"p](9o!VcWp +!!2ip!!!&p!!!!"p](9o!VcWp!!2is^]4E5#N,R^rX[oe!<3Sf!!%NKhuEaAs53kW+90+V!!iOS +!!!'!!!~> +Q +q[1 0 0 1 0 0]concat +38 35 true[1 0 0 1 -875 -26]@X +imagemask +!!%M!!!!-$n,NG!s82is+92<?!'gM`!!%Mas*t+L!'e7"rW"%u!W2p.hui`S#Ohij!!D]qn,NRc +#Oh]op]o^W!VcoX!!3!.huEfU&)[Efr"$RC!;mAC!!)p%huEcT#N,R_r!2-[!VcoX!!2j"n,NRc +"7Q9mn,rFc#Ohcl!"[ugrW"%u!<3$`^]8l"s*t)6s8N'!+92<?!!iQ%!!!'"n,NFgIt.M~> +Q +q[1 0 0 1 0 0]concat +41 35 true[1 0 0 1 -917 -26]@X +imagemask +5QB[Arr@QKnc/W>J,f'=s+#V!nc/W>5QB[Arr<)t!!hE^!W2p&huEfU!!hE^!W2p&huEfU!!hE^ +!W2p&huEfU!!hE^!W2p&huEfU!!hE^!W2p&huEfU!!hE^!W2p&huEfU!!hE^!W2p&huEfU!!hE^ +!W2p&huEfU!!hE^!W2p&huEfW!!hE^!WE'0huEfX!"[uf!WRZ\^]4E8i#f`7!WVpZ^]6V!s8RTL +J,fQKJ,k)ts8N'!J,''C!!#7Y5PP3Y!!!8^!!!~> +Q +q[1 0 0 1 0 0]concat +36 44 true[1 0 0 1 -959 -26]@X +imagemask +!!!Pf!!!"Kqu?]ss8N'!!WW1M!!E9$^]4W75MuMHn.4FW#N,jV!"[uin,O!7"7Q:$^]X'+&&8;: +!"ZjGhuF;'!!!!0^]4?7&&8/F!"ZjF!!!PF!!!!0^]4?7&&8/F!"ZjF!!!PF!!!!0^]4?7&&8/F +!"ZjF!!!PF!!!!0^]4?7&&8/F!"ZjF!$D7@s1gl!s8Tl!s8W,75QCc`^`WUVs*t([^]4?7&&8/F +!"ZjF!!!PF!!!!0^]4?7&&8/F!"ZjF!!!PF!!!!0^]4?7#CldS~> +Q +q[1 0 0 1 0 0]concat +11 11 true[1 0 0 1 -1017 -26]@X +imagemask +*WSETJ&)*"s1nZms1nZMJ&$Pa*WQ~> +Q +q[1 0 0 1 0 0]concat +37 35 true[1 0 0 1 -1042 -26]@X +imagemask +!Pj3C!!D9]qu?ifs8N'$s8W,7"98E$huj"p+7KC4!!huqqu?ce"8i-"p]L9k!;HZc!!)crn,NLa +"7Q9kp]9:Q"7Q9j!$C\1!!3,X!!*'!^]4oFs*t)6s8N'!J,fEH!WW28!!3,X!!!-#!!!!$n,NQ@ +"5j.a^]WKp#J^H"!"[uin,O!W"8Dj<huWiXJ)C>,s8V!WJ,fQ,!'gM`^]4oFs1eU8s5SV~> +Q +q[1 0 0 1 0 0]concat +36 44 true[1 0 0 1 -1084 -26]@X +imagemask +!!!Pf!!!"Kqu?]ss8N'!!WW1M!!E9$^]4W75MuMHn.4FW#N,jV!"[uin,O!7"7Q:$^]X'+&&8;: +!"ZjGhuF;'!!!!0^]4?7&&8/F!"ZjF!!!PF!!!!0^]4?7&&8/F!"ZjF!!!PF!!!!0^]4?7&&8/F +!"ZjF!!!PF!!!!0^]4?7&&8/F!"ZjF!$D7@s1gl!s8Tl!s8W,75QCc`^`WUVs*t([^]4?7&&8/F +!"ZjF!!!PF!!!!0^]4?7&&8/F!"ZjF!!!PF!!!!0^]4?7#CldS~> +Q +q[1 0 0 1 0 0]concat +40 52 true[1 0 0 1 -1126 -8]@X +imagemask +!;HNo!!E3#!!!9(J,fQ[s1eU7&-(Pf!"[-.!!"+Yn,NG1iV3BQ&)d3_!"ZmC!!!*$HiO-H!.4bH +!!#1_!!!!_z56(Z`!$;1@!!")@!!!!@J,fQL++O=k!$?^k!!#7!!!!!`^]4?75JR7!!.Wo,!!%N, +!!!#rhuE`Wq="@a!;Z*a!!2WZ!!!&hp](9rnFut`"5rqS!!D/,!!!8>HiO-O^jH+^&&:@/!"XTD +!!!O[4obR)J0+ak*rmA_!'^H*!!#1_%tFXD!"XS[IK0n/!.4bO^]8`^#J^?7!!g:]s+#Uu5QAP! +s$-P!s8P=`_#OEVs+#Uu~> +Q +cleartomark end end pagesave restore showpage +%%PageTrailer +%%Trailer +%%Pages: 1 diff --git a/Master/texmf-doc/doc/english/mathmode/styles.pdf b/Master/texmf-doc/doc/english/mathmode/styles.pdf Binary files differnew file mode 100644 index 00000000000..fd2b893e35e --- /dev/null +++ b/Master/texmf-doc/doc/english/mathmode/styles.pdf diff --git a/Master/texmf-doc/doc/english/metafont-for-beginners/metafont-for-beginners.tex b/Master/texmf-doc/doc/english/metafont-for-beginners/metafont-for-beginners.tex new file mode 100644 index 00000000000..516e70ed423 --- /dev/null +++ b/Master/texmf-doc/doc/english/metafont-for-beginners/metafont-for-beginners.tex @@ -0,0 +1,1313 @@ +% begin file mfb3w4.tex % +\documentstyle[11pt]{article} + +% gt: Narrower margins; no marginal notes. + +\oddsidemargin=0in +\evensidemargin=0in +\marginparwidth=0in +\marginparsep=0in + +% gt: text width that is okay for both Am. Quarto and for A4 paper. + +\textwidth=6.25in + +% gt: less gap at top of each page; more text height. + +\addtolength{\textheight}{\topmargin} +\topmargin=0in +\addtolength{\textheight}{0.4in} + +% gt: Variant of \METAFONT macro in "texnames.sty": +% gt: Uses empty discretionary. See _The TeXbook_, p 95. +\font\mf=logo10 +\font\mfsl=logosl10 +\hyphenchar\mf=-1 +\hyphenchar\mfsl=-1 +% A way to get a hyphen, courtesy of Karl Berry. +\newcommand{\MF}{{\mf META}\-{\mf FONT\/}} +\newcommand{\MFSL}{{\mfsl META}\-{\mfsl FONT\/}} +\newcommand{\MFbook}{{\sl The \MFSL{}book\/}} +\newcommand{\TeXbook}{{\sl The \TeX{}book\/}} +\newcommand{\BibTeX}{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} +\newcommand{\ttbsl}{{\tt \char`\\\/}} % typewriter type backslash. + +% gt: employing usual title font for "METAFONT" here. +\title{% + \vspace*{-1in}% + METAFONT for Beginners\\% + {\normalsize Third Draft, Revision `W4'}\\% + {\normalsize (14:12 GMT +10 Thursday 14 July 1994)}% +} + +\date{} + +\author{Geoffrey {\sc Tobin} ({\tt G.Tobin@ee.latrobe.edu.au})} + +\begin{document} + +\maketitle + +\tableofcontents + +\newpage + + +\section*{Scope}% +\addcontentsline{toc}{section}{Scope} + +This is not a tutorial on \MF{}. It is an attempted description of +how some of the pitfalls in running the program may, hopefully, be +avoided. + + +\section*{Where you can obtain this file}\label{sec:CTAN}% +\addcontentsline{toc}{section}{Where you can obtain this file} + +For those without ftp, an older version of \MF{} for Beginners can be +received by email from: +\begin{verbatim} + fileserv@shsu.edu +\end{verbatim} +by sending the one-line message: +\begin{verbatim} + sendme faq.mf +\end{verbatim} + +\MF{} for Beginners can be obtained by ftp from the CTAN +(Comprehensive \TeX{} Archive Network) sites, in the +\begin{verbatim} + documentation +\end{verbatim} +subdirectory, as the file +\begin{verbatim} + metafont-for-beginners.tex +\end{verbatim} + +The following record of a unix `script' command lists several +CTAN sites. + +\begin{verbatim} +bash$ script +Script started on Mon Jun 27 19:17:54 1994 +bash$ finger ctan_us@ftp.shsu.edu +[ftp.shsu.edu] +Login name: ctan_us In real life: US CTAN +Bldg: +Directory: /pub/mirror/ctan_us Shell: /usr/local/bin/tcsh +Last login Sun Jun 26 14:59 on ttyp6 +Plan: +In order to reduce network load, it is recommended that you use the CTAN +host which is located in the closest network proximity to your site. + +The participating hosts in the Comprehensive TeX Archive Network (CTAN) are: + ftp.dante.de (Germany) /tex-archive (/pub/tex /pub/archive) + ftp.shsu.edu (Texas, USA) /tex-archive (/pub/tex /pub/archive) + ftp.tex.ac.uk (England) /tex-archive (/pub/tex /pub/archive) + +Known mirrors of the CTAN reside on (alphabetically): + ftp.center.osaka-u.ac.jp (Japan) /CTAN + ftp.cs.rmit.edu.au (Australia) /tex-archive + ftp.loria.fr (France) /pub/unix/tex/ctan + ftp.uni-bielefeld.de (Germany) /pub/tex + ftp.uni-stuttgart.de (Germany) /tex-archive (/pub/tex) + ftpserver.nus.sg (Singapore) /pub/zi/TeX + src.doc.ic.ac.uk (England) /packages/tex/uk-tex + sunsite.unc.edu (North Carolina, USA) /pub/packages/TeX + wuarchive.wustl.edu (Missouri, USA) /packages/TeX + +Known partial mirrors of the CTAN reside on (alphabetically): + dongpo.math.ncu.edu.tw (Taiwan) /tex-archive + ftp.adfa.oz.au (Australia) /pub/tex/ctan + ftp.muni.cz (The Czech Republic) /pub/tex/CTAN + nic.switch.ch (Switzerland) /mirror/tex + ftp.cs.ruu.nl (The Netherlands) /pub/tex-archive +Please send updates to this list to <CTAN-Mgr@SHSU.edu>. +bash$ exit +exit + +script done on Mon Jun 27 19:18:09 1994 +\end{verbatim} + + +\section*{Reference}% +\addcontentsline{toc}{section}{Reference} + +\MFbook{}, by Donald Ervin {\sc Knuth}, published by the +American Mathematical Society and Addison Wesley Publishing Company. +First edition, 1986, covers \MF{} 1.0. +Later editions cover \MF{} 2.0 and above. +This file is based, except where indicated otherwise, +on the 1986 edition.\footnote +{Opinion: I actually enjoy reading \MFbook{}, +whereas \TeXbook{} confuses me no end.} + + +\section*{Acknowledgements}% +\addcontentsline{toc}{section}{Acknowledgements} + +Additions and corrections were kindly contributed by: +\begin{quote} +Bill {\sc Alford} ({\tt bill@phys.anu.edu.au}),\\ +Tim A.~H.~{\sc Bell} ({\tt bhat@mundil.cs.mu.oz.au}),\\ +Karl {\sc Berry} ({\tt karl@cs.umb.edu}),\\ +Gert W.~{\sc Bultman} ({\tt bultman@dgw.rws.nl}),\\ +Anita {\sc Zanolini Hoover} ({\tt anita@ravel.udel.edu}),\\ +Berthold K.~P.~{\sc Horn} ({\tt bkph@kauai.ai.mit.edu}),\\ +Micha{\l} {\sc Jaegermann} ({\tt ntomczak@vm.ucs.ualberta.ca}),\\ +\hspace*{4em}and\\ +David {\sc Kastrup} ({\tt dak@pool.informatik.rwth-aachen.de}). +\end{quote} + +Typesetting was initiated by +\begin{quote} +Yannis {\sc Haralambous} ({\tt yannis@gat.citilille.fr}). +\end{quote} + +Mistakes remain copyright \copyright{} 1994 Geoffrey {\sc Tobin}. + + +\section*{Motivation}% +\addcontentsline{toc}{section}{Motivation} + +It's a common experience to have initial (and medial and final +{\tt :-)} ) difficulty with running \MF{}, and not all `\TeX{}nicians' +are as familiar with \MF{} as they are with \TeX{}. Still, nothing +ventured, nothing gained. So let's be of good cheer, and get down to +work. + + +\section{What is \MF{}?} + +\MF{} is a program for making bitmap fonts for use by \TeX{}, +its viewers, printer drivers, and related programs. +It interprets a drawing language +with a syntax apparently derived in part from the Algol\footnote +{Around 1960, Donald {\sc Knuth} worked as an Algol compiler +designer.} +family of programming languages, of which C, C++, Pascal and Modula-2 +are members. + +The input can be interactive, or from a source file. +\MF{} source files are usually suffixed `{\tt .mf}'. + +\MF{} sources can utilize scaling, rotation, reflection, skewing and shifting, +and other complex transformations in obvious and intuitive ways. +But that is another story, told (in part) by \MFbook{}. + +\MF{}'s bitmap output is a {\sc gf} ({\em generic font\/}) file. +This may be compressed to an equivalent {\sc pk} ({\em packed\/}) font +by the auxiliary program {\sf GFtoPK}. + +Why doesn't \MF{} output {\sc pk} fonts directly? Firstly, Tomas +{\sc Rokicki} had not invented {\sc pk} at the time Donald +E.~{\sc Knuth} was writing \MF{}. Secondly, to change \MF{} now +would be too big a change in {\sc Knuth}'s opinion. ({\sc Knuth} +is a very conservative programmer; this fact is a two-sided coin.) + +{\sc gf} and {\sc pk} files are suffixed `{\tt .*gf}' and `{\tt .*pk}' +respectively, where, in a typical {\sc unix} installation, the +`{\tt *}' stands for the font resolution. +(Resolution will be explained below.) +{\sc ms-dos} truncates file name suffixes to three characters, so a +font suffix `{\tt .1200gf}' becomes `{\tt .120}' --- beware of this! + +A bitmap is all that's needed for large-scale {\em proofs}, +as produced by the {\sf GFtoDVI} utility, +but for \TeX{} to typeset a font it needs a {\sc tfm} +({\em \TeX{} Font Metric\/}) file to describe the dimensions, ligatures +and kerns of the font. \MF{} can be told to make a {\sc tfm} file, +by making the internal variable `{\tt fontmaking}' positive. Most +output device modes (see subsection \ref{sub:modes} below) do this. + +Remember that \TeX{} reads only the {\sc tfm} files. +The {\em glyphs}, or forms of the characters, as stored in {\sc gf} +or {\sc pk} font files, do not enter the picture +(I mean, are not read) +until the {\sc dvi} drivers are run. + +\TeX{} can scale {\sc tfm} files. Unfortunately, bitmaps such as +{\sc gf} and {\sc pk} are not scalable. +% deleted "except in integer multiples of their original size". +% Pixel replication is as inexact an interpolation as other schemes, +% and does not produce adequate images. +However, \MF{} files can be compiled into fonts of arbitrary scale +by \MF{}, even +by non-programmers --- see subsection \ref{sub:mag}. + +Incidentally, properly constructed {\sc tfm} files are +device-independent, so running \MF{} with different modes normally +produces the identical {\sc tfm}. +% This explanation might want a different place... +Dimensions in {\sc tfm}~files are specified to~\MF{} in device +independent `sharped' dimensions (commonly suffixed by \#), where +a~value of~1 corresponds to the dimension of {\tt 1pt} (typographical +point). Most of \MF{}'s calculations are done with (resolution and +device dependent) pixels as units. Care must be taken by font +designers to {\em always\/} calculate unsharped dimensions from sharped +ones, and never the other way round, so as to keep roundoff errors or +similar effects from influencing the {\sc tfm} files to depend on +resolution or device. Although type quality will be influenced only in +minuscule ways, this is one of the more common reasons for checksum +errors reported by printer drivers. +Note that the only way to be sure that a TFM file is device-independent +is to create the font in different modes and compare the resulting +TFM's, perhaps using {\sf tftopl}. + +More detailed descriptions of {\sc tfm} and {\sc gf} files, and of +{\em proof\/} mode, are found in Appendices F, G, and H, respectively +of \MFbook{}. + +{\sl The TUG {\sc dvi} Drivers Standard, Level 0}, draft 0.05, includes +precise definitions of the file structure of {\sc tfm} metrics and of +{\sc gf} and {\sc pk} bitmap fonts. +That document is obtainable from CTAN (see section \ref{sec:CTAN} +above) as the several files in the subdirectory: +\begin{verbatim} + dviware/driv-standard/level-0 +\end{verbatim} +Related information is contained in the documents in the `sister' +directory +\begin{verbatim} + dviware/driv-standard/papers +\end{verbatim} + + +\section{Getting \MF{}'s Attention}\label{sec:typing} + + +\subsection{Typing at \MF{}'s `{\tt **}' prompt}\label{sub:starstar} + +If you type the name of the \MF{} program alone on the command line: +\begin{verbatim} + mf +\end{verbatim} +then {\tt mf} displays a `{\tt **}' prompt, +which +`is \MF{}'s way of asking you for an input file name'. +(See \MFbook{}, Chapter 5: `Running \MF{}'.) +Thus, to process a \MF{} file named {\tt fred.mf}, you may type: +\begin{verbatim} + fred +\end{verbatim} + +A backslash (`\ttbsl') can also be typed here. +This causes all subsequent commands at the prompt line to be +interpreted as in a \MF{} file. +(Concerning the backslash, see \MFbook{}, Chapter 20: +`More About Macros', pages 179 and 180 in the 1986 edition.) +Thus we can respond to the {\tt **} prompt with: +\begin{verbatim} + \ input fred +\end{verbatim} +or even: +\begin{verbatim} + \ ; input fred +\end{verbatim} + +The backslash is useful because +certain commands are often executed before a \MF{} file is input. +In particular, quality printing +(see subsection \ref{sub:modes} below) +requires the \MF{} command {\tt mode}, +and output magnification +(subsection \ref{sub:mag}) +employs the {\tt mag} command. +For example: +\begin{verbatim} + \mode=localfont; mag=magstep(1); input fred +\end{verbatim} + +To read {\sc ms-dos} pathnames at the {\tt **} prompt, +this satisfies \MF{}: +\begin{verbatim} + \input \seldom\fred.mf +\end{verbatim} +as does: +\begin{verbatim} + d:\seldom\fred.mf +\end{verbatim} + + +\subsection{Typing on the Command Line}\label{sub:cmdline} + +Most \MF{} implementations permit you to type \MF{} commands on the +command line, instead of at the {\tt **} prompt. (Rather, it is +automatically passed to that prompt.) + +On {\sc ms-dos}, type commands as at the {\tt **} prompt: +\begin{verbatim} + mf \mode=localfont; input myfont10 +\end{verbatim} + +On {\sc unix}, command shells typically interpret semicolons, +backslashes and parentheses specially, unless they are 'quoted'. +So, when typing those characters as part of instructions to \MF{} +on the {\sc unix} command line, it's wise to accustom +yourself to protecting them with {\em apostrophes\/}: +\begin{verbatim} + mf '\mode=localfont; input myfont10' +\end{verbatim} +If {\tt localfont} makes fonts for a 300 dots per inch (dpi) device, +this should produce a {\sc tfm} file, `{\tt myfont10.tfm}', +and a 300 dpi {\sc gf} font file, `{\tt myfont10.300gf}'. +Almost all of the following will presume a 300 dpi device, and other +resolution devices will have appropriately different font file names. + +These command lines are a bit long, very often used, and rather +intolerant of mistakes (see subsection \ref{sub:typo} below), +so you might type the repetitive parts into a {\sc unix} shell script +or an {\sc ms-dos} batch file, as appropriate. + +In {\sc unix}, the {\tt **} prompt has the advantage that those pesky +apostrophes are not needed. (Indeed, those apostrophes are always +wrong at the {\tt **} prompt --- \MF{} doesn't understand them. +It would not understand them on the command line either---it's just +that the shell does not hand them over to \MF{}.) +However, for shell scripts (and for batch files in {\sc ms-dos}), +the command line is a boon. + +For the Macintosh, which is not command line based, +Tim {\sc Bell} reports that one port of \MF{} +(by Timothy {\sc Murphy\/} {\tt <tim@maths.tcd.ie>} 22 January 1993) +simulates the command line within the program +(using a special THINK C library written just for that). +But what you type goes through some string processing, +so you need double `\verb+\+'s. +Thus your example line reads: +\begin{verbatim} + mf \\mode=localfont; input myfont10 +\end{verbatim} + + +\subsection{`{\tt Please type another input file name: }'}% +\label{sub:another} + +When \MF{} cannot find the main source file, it doesn't quit. +For example, when I typed {\tt mf fred}, \MF{} said: +\begin{verbatim} + This is METAFONT ... + **fred + ! I can't find file `fred.mf'. + <*> fred + + Please type another input file name: +\end{verbatim} +The usual program interrupts (eg, Control-C) don't work here, +and the `{\tt Please type ...}' prompt does not understand +\MF{} commands: it will read only the first word, and insist on +interpreting this as a file name. + +Beginners faced with this often wonder how to avoid an endless loop +or a reboot, or try to think of a \MF{} file that they do have +in \MF{}'s path. In the latter case, the canonical name to use +is `{\tt null}', standing for the file `{\tt null.mf}'. + +In fact, the solution is much easier: on the +systems that I have tried, a simple end of file marker +(`control-Z' in {\sc ms-dos}, `control-D' in {\sc unix}) +stops \MF{} in its tracks: +\begin{verbatim} + ! Emergency stop. + <*> fred + + End of file on the terminal! +\end{verbatim} + + +\section{Base files}\label{sec:base} + +In versions 2.7 and 2.71, the \MF{} language contains 224 +(previous versions had fewer) primitives, +which are the commands preceded by an asterisk in the Index (Appendix I) +to \MFbook{}. From these we can build more complex operations, +using macros. In \MF{} macros have some of the desirable +characteristics of functions in other languages. Collections of +macros can be stored in \MF{} source files. + +{\em Base\/} files are {\em precompiled internal tables\/} that \MF{} +loads faster than it loads the original \MF{} source files. +Thus, they are closely analogous to \TeX{}'s {\em format\/} files. + + +\subsection{The {\tt plain} base}\label{sub:plain} + +The {\tt plain} base provides the commands that \MFbook{} +describes. (See Appendix B of \MFbook{}, if you have it around +--- maybe a library has it --- I'm learning from a copy borrowed from the +local university's library.) + +When it starts, \MF{} automatically loads\footnote +{There are releases of \MF{} that contain the {\tt plain} base, +and so don't have to load it. However, on most computers, including +personal computers, reading bases is so fast that such a {\em preloaded\/} +base is unnecessary.} +the {\tt plain} base. +This is usually called {\tt plain.base}, or sometimes only (see +subsection~\ref{sub:link} for why this works) {\tt mf.base}, +although for those systems concerned (such as {\sc unix}), +both file names should really be present. + +Em\TeX{} for {\sc ms-dos} calls the plain base {\tt plain.bas}, +due to filename truncation. + + +\subsection{Loading a Different Base}\label{sub:loading} + +Suppose that you have a base named {\tt joe.base}. +Typing +\begin{verbatim} + mf &joe +\end{verbatim} +or (on unix, where we must either quote or escape the ampersand) +\begin{verbatim} + mf \&joe +\end{verbatim} +or responding +\begin{verbatim} + &joe +\end{verbatim} +to the {\tt **} prompt, +omits loading {\tt plain} base, and loads the {\tt joe} base instead. +Typically, however, the {\tt joe.mf} file which originally produced +the {\tt joe} base will have included {\tt plain.mf}, because working +without the {\tt plain} base macros would be too cumbersome. +(Refer to \MFbook{} (1986), Chapter 5: `Running \MF{}', page 35, +`dangerous bend' number two.) + +The `{\tt cm}' base, for making the {\sc Computer Modern} fonts, +can be loaded in that way: +\begin{verbatim} + mf &cm +\end{verbatim} +Remember to quote the ampersand under {\sc unix}! + + +\subsection{The Linkage Trick}\label{sub:link} + +On systems such as {\sc unix} where programs can read their own +command line name, and where files may be linked to two or more +names, then programs can modify their behavior according to the +name by which they are called. Many {\sc unix} \TeX{} and \MF{} +installations exploit this in order to load different {\em format\/} +and {\em base\/} files, one for each of the various names to which +\TeX{} and \MF{} are linked. Such installations can often +be recognised by the presence of the executable `{\tt virmf}' +in one of the directories in the {\tt PATH}. + +For example, if a base file called `{\tt third.base}' resides where +\MF{} can find it (see section \ref{sub:env} below), then +{\tt virmf} can be linked to {\tt third}. +In {\sc unix}, a {\em hard link\/} is formed by +\begin{verbatim} + ln virmf third +\end{verbatim} + +On systems supporting {\em symbolic links\/}, you should make all of +these links symbolic, rather than hard, or else you will have to redo +them every time you install a new copy of~{\tt virmf}; see below. +In {\sc unix}, this is done by +\begin{verbatim} + ln -s virmf third +\end{verbatim} + +Normally one wants {\tt mf} to load the {\tt plain} base, +so in such installations one links {\tt plain.base} to {\tt mf.base}: +\begin{verbatim} + ln plain.base mf.base +\end{verbatim} +Again, you'd best make that link symbolic. This comment applies for +the rest of this section as well. + +As another example, take the `{\tt cm}' base. In {\sf web2c}: +\begin{verbatim} + ln virmf cmmf + ln cm.base cmmf.base +\end{verbatim} +so that `{\tt cmmf}' automatically loads `{\tt cm.base}'. + +This applies equally to \TeX{}, which is why {\tt tex} and {\tt latex} +are then links to {\tt virtex}, {\tt tex.fmt} is a link to +{\tt plain.fmt}, and {\tt latex.fmt} is a link to {lplain.fmt}: +\begin{verbatim} + ln virtex tex + ln plain.fmt tex.fmt + + ln virtex latex + ln lplain.fmt latex.fmt +\end{verbatim} + +Karl {\sc Berry\/}'s {\sf web2c} distribution for {\sc unix} uses +this `{\em linkage trick\/}'. + +If you used symbolic links, you can laugh off the following + +{\sc Warning:} +This linkage is convenient, but watch out during updates! +If {\tt mf.base} is a {\em hard link\/} +to {\tt plain.base}, then replacing {\tt plain.base} with its +new version severs the link: {\tt mf} will still load {\tt mf.base}, +but it will be the old version! The proper procedure is to remove +the old {\tt mf.base}, and relink. On {\sc unix}: +\begin{verbatim} + rm mf.base + ln plain.base mf.base +\end{verbatim} +On most {\sc unix\/} systems, {\tt ln -f} will automatically remove +the second file (if present) --- in this case, mf.base --- before linking. + +Alternatively, {\sf web2c} will update `{\tt plain.base}' +(and `{\tt plain.fmt}', and so on) for you, +if you tell {\sf web2c\/}'s {\tt Makefile} to +\begin{verbatim} + make install +\end{verbatim} +Symbolic links, on systems that have them, are probably the best +method of handling updates, at least when doing them manually. +(Consult your system administrator for details.) + + +\subsection{Making a Base; the Local Modes file}\label{sub:modes} + +The {\tt plain} base is made from a \MF{} file named +{\tt plain.mf} and, commonly, from some other file, often called +{\tt local.mf} or {\tt modes.mf}. + +The {\tt local}/{\tt modes} file lists printers (and monitors), giving +each output device a font-making {\em mode\/}, containing a +description of some refinements that must be made in order to produce +good-looking output. For instance, how to make the characters just +dark enough, and how to make diagonal lines come out sharply. + +If you want to make a base, you need a variant of the \MF{} program +called `{\tt inimf}'. (See \MFbook{}, p 279.) For example, +{\tt plain.base} can be made in {\sc unix} by typing: +\begin{verbatim} + inimf 'plain; input local; dump' +\end{verbatim} +If using the em\TeX{} version of \MF{} for a {\sc pc}, type: +\begin{verbatim} + mf/i plain; input local; dump +\end{verbatim} + + +\section{Fonts}\label{sec:fonts} + + +\subsection{Proof Mode}\label{sub:proof} + +The purpose of \MF{} is to make fonts. For \ae{}sthetically pleasing +{\sc pk} bitmaps, the correct device mode must be selected. + +An obstacle to beware of is that {\tt plain} \MF{} uses +{\em proof\/} mode by default. +(\MFbook{}, page 270, defines this mode.) +That means writing unmagnified font files with a resolution of +2601.72 dots per inch (dpi); that's 36 pixels per point. (One +point is 1/72.27 of an inch.) Proof mode does {\bf not} produce a +{\sc tfm} file. + +What good is proof mode, and why is it the default? +{\em Proofs\/} are blown up copies of characters used by font +designers to judge whether they like the results of their work. +Naturally, proofs come first, and normal sized character production +later --- if you're a font designer. + +So there are two clues that proof mode is on: font files with +extensions like `{\tt .2602gf}' (or on {\sc ms-dos}, `{\tt .260}'), +and the `failure' to produce any {\sc tfm} file. + +On some systems, such as {\sc X11}, a third clue is that the proof +font may be drawn on the screen --- it's so large, you can't miss it! + + +\subsection{Localfont Mode}\label{sub:localfont} + +When using a stable font, or when testing the output of a new font, +we {\em don't\/} want proof mode, +we want our local output device's mode. +Usually, \MF{} is installed with a `{\tt localfont}' +assigned in the {\tt local}/{\tt modes} file. +On our department's Sun Network, we have assigned +\begin{verbatim} + localfont:=CanonCX +\end{verbatim} +We use Karl {\sc Berry\/}'s `{\tt modes.mf}'\footnote +{Available at {\tt ftp.cs.umb.edu} in the {\tt pub/tex} directory.}, +which contains modes for many, many devices. We chose the +{\tt CanonCX} mode because `{\tt modes.mf}' recommends it for Apple +Laserwriters and HP Laserjet~II printers, which we use. + +To process a \MF{} source file named `{\tt myfont10.mf}' for the most +usual local device, specify the local mode to {\tt mf} before +inputting the font name: +\begin{verbatim} + \mode=localfont; input myfont10 +\end{verbatim} +This should produce a {\sc gf} font file, `{\tt myfont10.300gf}' +(`{\tt myfont10.300}' in {\sc ms-dos}), +and a {\sc tfm} file, `{\tt myfont10.tfm}'. + + +\subsection{Font Naming}\label{sub:naming} + +By the way, if you modify an existing, say a {\sc Computer +Modern (cm)}, font, you must give it a new name. This is an honest +practice, and will avoid confusion. + + +\subsection{Using a New Font in \TeX{}}\label{sub:tex} + +To use a new font in a \TeX{} document, select it specifically. +Example: in a \TeX{} macro file, or in a \LaTeX{} style file, +to define \verb+\mine+ as a font-selection command for +`{\tt myfont10.tfm}', say: +\begin{verbatim} + \font\mine=myfont10 +\end{verbatim} + +Then to typeset `Mary had a little lamb,' in the {\tt myfont10} font, +and then to revert to the previous font, type +\begin{verbatim} + {\mine Mary had a little lamb,} +\end{verbatim} +Note, however, that this will not change the line spacing parameters +of \TeX{} as +well. If your lines appear a little too cramped and unevenly spaced vertically, +it is very probable that you need to increase \verb+\baselineskip+. +For \LaTeX{} users, a simple remedy is to just select a larger font +before your own. Also, end your paragraph by an empty line or a +\verb+\par+ command before the closing brace, or your line spacing changes +will be cancelled before the paragraph has a chance of being typeset. + + +\subsection{Magnification (and Resolution)}\label{sub:mag} + +Now suppose that you want {\tt myfont10} to be magnified, +say to magstep 1 (magnified by 1.2), for a `jumbo' printer. +Assuming that the {\tt local}/{\tt modes} file has a mode +for the jumbo printer, +you may then run \MF{} with the following three commands: +\begin{verbatim} + \mode=jumbo; mag=magstep(1); input myfont10 +\end{verbatim} +to produce `{\tt myfile10.tfm}' (again!) +and a {\sc gf} font, `{\tt myfile10.360gf}'. +On {\sc ms-dos}, the file names will be truncated; +for example, `{\tt myfile10.360}'. + +The `{\tt 360}' is `300 {\tt *} 1.2', indicating the magnification. +A 360 dpi font can be used either as a magnification 1.2 font on +a 300 dpi printer or as a normal sized font on a 360 dpi printer. + +Note, however, that the \MF{} language includes special hints for +each output device which clue \MF{} as to the reactions of the +output device to pixel-sized minuscule changes. + +So for highest quality, you would not even want to mix the fonts for +two 300~dpi printers, unless they share the same mode and most probably +the same print engine. + + +\subsection{{\sf GFtoPK}}\label{sub:gftopk} + +\TeX{} uses only the {\sc tfm} file, which \MF{} +will produce if it's in a font-making mode. +(\MFbook{}, Appendix F.) +Most {\sc dvi} drivers read the {\sc pk} font format, +but \MF{} makes a {\sc gf} (Generic Font) file. +So we need also to apply the {\sf GFtoPK} utility: +\begin{verbatim} + gftopk myfile10.300gf +\end{verbatim} +to produce the wanted `{\tt myfile.300pk}' +(or, on {\sc ms-dos}, `{\tt myfile.pk}') +{\sc pk} font. + + +\subsection{Storing the Fonts}\label{sub:store} + +Now we have the fonts, where do we store them? \TeX{}, \MF{} and +the various driver programs are compiled with default locations +written in. +These can be overridden by certain environment variables. +The names of these variables differ between systems, +but on {\sc unix} they might, for example, be `TEXFONTS' for the +{\sc tfm} files, and either `PKFONTS' or `TEXPKS' (or both of those) +--- before searching `TEXFONTS' --- for {\sc pk} fonts. +You can find out what environment variables you now have +by typing `{\tt set}' in {\sc ms-dos} and `{\tt env}' in the Bourne shell, sh, +% `set' in the Bourne shell is dangerous, because it gives the values +% of non-environment variables of the shell as well. If you forgot +% to say export, you might have some time detecting your omission +% if you use just `set'. +in {\sc unix}. In the {\sc unix} C shell, {\tt csh}, type +`{\tt setenv}'. + +Micha{\l} {\sc Jaegermann} notes that on a `virgin' installation +--- in which everything is in default directories and no environment +variables have yet been set --- that won't succeed. Presumably we're +talking to system installers now. So, as a first resort: +\begin{quote} + \em Read The Manual. +\end{quote} +As a last resort, one can discover default values and environment +variable names by using a command like {\sc unix}'s {\tt strings} +on the executable files. +For instance: +\begin{verbatim} + strings -6 /bin/virmf | less +\end{verbatim} +(Use `more' or `pg' for paging, if `less' is not available.) +Seeking 6-letter names is about right, as ``{\tt TEXPKS}'' has six +letters, while {\tt strings\/}' default of four collects too much +random noise. +Environment variables are usually in upper case, and their names +strongly hint at their purposes. +Default locations may be discovered by looking for path name strings. + +Using this advice may show some undocumented names. +If you have the program sources, you may check their purpose. +Otherwise, not to worry, the important ones should be self-evident. +As an illustration, here are some environment variable names found by +applying ``strings -6'' to {\sc Rokicki's} {\tt dvips}: +\begin{verbatim} + * DVIPSHEADERS + HOME + * PKFONTS + PRINTER + TEXCONFIG + TEXFONTS + TEXINPUTS + * TEXPACKED + * TEXPICTS + TEXPKS + VFFONTS +\end{verbatim} +The four starred names are not documented by the {\tt dvips} manual +(for version 5.484). +In Karl {\sc Berry's} {\tt dvipsk}, a variant of {\tt dvips}, +{\tt DVIPSHEADERS}\footnote{In version 5.518b, which is forthcoming.}, +{\tt PKFONTS} and {\tt TEXPICTS} {\em are\/} +documented, while {\tt TEXPACKED} is {\em not used}. + +If you want \TeX{} and \MF{} to find files in the current directory +(as you almost certainly do!), then one way is to put `{\tt .}' into +their search paths. +(Both {\sc unix} and {\sc ms-dos} accept the {\tt .} notation +for the current directory.) +Default search paths are compiled into \TeX{} and \MF{}, but users +can customise the environment variables (see subsection \ref{sub:env}) +that the programs read, to override the defaults. + +\MF{} (as illustrated in section \ref{sec:typing} above), +as well as the {\sc dvi} drivers, +can also be given full path specifications for input files. +(On most systems, so can \TeX{}, but, as Berthold K.~P.~{\sc Horn} +({\tt bkph@kauai.ai.mit.edu}) has observed, +{\sc ms-dos} poses the problem that the backslash `\ttbsl{}' +used in {\sc ms-dos} path names is very special in \TeX{} input. +However, I'll leave solving that one to the \TeX{}ackers.) + +On the other hand, you may be content with your new font, and you may +have write access to the place where most of the fonts are stored. In +that case, copy your font to there. There will be a place for the +{\sc tfm} files, and another for the {\sc pk} files. It's up to you +or your local system administrator(s) to know where these directories +are, because their names are very locale dependent. + + +\subsection{Environment Variables for em\TeX{} and {\sf web2c}}% +\label{sub:env} + +Environment variables often cause confusion, as they vary unpredictably +--- sometimes subtly, sometimes widely --- between systems. + +Em\TeX{} for {\sc ms-dos} and {\sf web2c} for {\sc unix} are two +popular distributions of \TeX{}, \MF{}, and associated programs. +It's worthwhile therefore to compare their environment variables. + +Firstly, the variables used leading up to the production of the +{\sc dvi} file: + +\begin{center} +\begin{tabular}{|l|l|l|} + \hline + \multicolumn{3}{|c|}{\TeX{}, \BibTeX{}, \MF{} and {\sf MFjob}} \\ + \hline + Seeking & em\TeX{} & {\sf web2c} \\ + \hline + \TeX{} Pool file & {\tt TEXFMT}, {\tt BTEXFMT} & {\tt TEXPOOL} \\ + \TeX{} Formats & {\tt TEXFMT}, {\tt BTEXFMT} & {\tt TEXFORMATS} \\ + \TeX{} Inputs & {\tt TEXINPUT} & {\tt TEXINPUTS} \\ + \TeX{} Font Metrics & {\tt TEXTFM} & {\tt TFMFONTS, TEXFONTS} \\ + \hline + \BibTeX{} {\tt bst} & {\tt TEXINPUT} & {\tt BSTINPUTS, TEXINPUTS} \\ + \BibTeX{} {\tt bib} & {\tt BIBINPUT} & {\tt BIBINPUTS} \\ + \hline + \MF{} Pool & {\tt MFBAS, BMFBAS} & {\tt MFPOOL} \\ + \MF{} Bases & {\tt MFBAS, BMFBAS} & {\tt MFBASES} \\ + \MF{} Inputs & {\tt MFINPUT} & {\tt MFINPUTS} \\ + {\sf MFjob} Inputs & {\tt MFJOB} & \multicolumn{1}{c|}{---} \\ + \hline +\end{tabular} +\end{center} + +The second table compares the environment variables used by em\TeX{}'s +{\sc dvi} drivers with those for Tomas {\sc Rokicki\/}'s portable +{\sf PostScript} driver, {\tt dvips}. + +\begin{center} +\begin{tabular}{|l|l|l|} + \hline + \multicolumn{3}{|c|}{{\sc dvi} Drivers} \\ + \hline + Seeking & em\TeX{} Drivers & {\tt dvips} \\ + \hline + {\sc dvi} files & {\tt DVIDRVINPUT} & {\em current directory} \\ + {\sc pk} Fonts & {\tt DVIDRVFONTS} & {\tt TEXPKS, PKFONTS} \\ + Bitmap Graphics & {\tt DVIDRVGRAPH} & \multicolumn{1}{c|}{---} \\ + Virtual Fonts & set by {\tt /pv} option & {\tt VFFONTS, TEXFONTS} \\ + {\tt MakeTeXPK} & \multicolumn{1}{c|}{---} & {\tt MAKETEXPK} \\ + {\tt config.ps} & \multicolumn{1}{c|}{---} & {\tt TEXCONFIG} \\ + {\sc ps} files & \multicolumn{1}{c|}{---} & {\tt TEXINPUTS} \\ + \hline +\end{tabular} +\end{center} + +Where two or more variables are listed together, they are +searched from left to right. For example, {\tt dvips} seeks {\sc pk} +fonts first in {\tt TEXPKS}, then in {\tt PKFONTS}. +By the way, if no {\sc pk} fonts can be found, then {\tt dvips} +uses the {\sc tfm} files to determine spacing, and leaves the +characters blank. + +{\sc Berry}'s {\tt dvipsk} seeks {\sc pk} fonts in whichever +{\em one\/} of {\tt PKFONTS, TEXPKS, GLYPHFONTS} and {\tt TEXFONTS} +--- in that order --- is set and of the highest priority. +If a font cannot be found via environment variables, then the +compile-time system default paths are searched; any lower priority +font path environment variables are ignored --- which may also be the +behavior of Rokicki's {\tt dvips}, but readers are encouraged to +discover the truth for themselves. +In addition, {\tt dvipsk} seeks {\sc gf} fonts using the successive +environment variables {\tt GFFONTS, GLYPHFONTS} and {\tt TEXFONTS}. + +{\sf MFjob} and {\tt MakeTeXPK} have a similar function: +to create {\sc pk} fonts from \MF{} files. +When {\sc pk} fonts are missing, but the \MF{} font sources +are available, +{\sf MFjob} can be called by recent versions (1.4r and above) +of the em\TeX{} drivers to create the missing fonts. +{\tt MakeTeXPK} is called by {\tt dvips} for the same purpose. + +In {\sc Berry\/}'s {\tt web2c 5.851d}\footnote +{Available at {\tt ftp.cs.umb.edu} in the {\tt pub/tex} directory.}, +\TeX{} can be configured to call {\tt MakeTeXTFM} and +{\tt MakeTeXTeX}, and \MF{} to call {\tt MakeTeXMF}, +to make missing {\sc tfm}, \TeX{}, and \MF{} files, respectively. +{\tt MakeTeXTFM}, like {\tt MakeTeXPK}, can call \MF{}. +Design of {\tt MakeTeXTeX} and {\tt MakeTeXMF} are up to the user's +imagination --- Karl says that one possibility is to employ {\tt ftp}. + + +\section{Some Limitations of \MF{}}\label{sec:limit} + +\MF{} contains some builtin limitations, some obvious, others +less so. + +Parts of the following list are most useful to budding programmers, +though casual users may wish to read it to learn whether +an error message produced by somebody else's \MF{} file is very +serious or not. + +\begin{enumerate} +\item +All valid numbers are strictly less than 4096. + +\item +\MFbook{}, in `Appendix F: Font Metric Information', +warns of one limitation that I've met when processing some fonts. + +`At most 15 different nonzero heights, 15 different nonzero depths, +and 63 different nonzero italic corrections\footnote{Respectively, +{\tt charht}, {\tt chardp} and {\tt charic} values.} +may appear in a single font. if these limits are exceeded, +\MF{} will change one or more values, by as little as possible, +until the restriction holds. A warning message is issued if such +changes are necessary; for example + +{\small\tt (some charht values had to be adjusted by as much as 0.12pt)} + +means that you had too many different nonzero heights, but \MF{} +found a way to reduce the number to at most 15 by changing some of them; +none of them had to be changed by more than 0.12 points. +No warning is actually given unless the maximum amount of perturbation +exceeds $\frac{1}{16}$ pt.' + +Every correct implementation of \MF{} will adjust character box +dimensions by the same amount, giving the same {\sc tfm} files, so we +ignore small perturbations in other people's fonts. When designing +your own fonts, however, I think it's courteous to keep within the +limits, so as not to worry inexperienced users. + +\item +In the {\tt addto} picture command, {\tt withweight} only accepts +values that round to {\tt -3}, {\tt -2}, {\tt -1}, {\tt +1}, {\tt +2}, +or {\tt +3}. To obtain other pixel weights, you can apply further +{\tt addto} commands. + +\item +The memory size of the version of \MF{} you use is an evident, +implementation dependent restriction, but it may be, as in \TeX{}, +that memory is not enough simply because, if you'll pardon my saying +so, some of your coding may be seriously inefficient or logically +invalid. +\end{enumerate} + + +\section{What Went Wrong?} + +The complexity of wrong things far exceeds that of things intended. + +References for some of the subsequent points: + +\MFbook{}, chapter 5, `Running \MF{}', contains +instructive examples, and supposedly `dangerous', but actually basic +and useful, notes. + +In that chapter, and in chapter 27, `Recovery from Errors', {\sc Knuth} +discusses the diagnosis of \MF{}'s error messages. I find this +perhaps the hardest part of the book --- if not of using \MF{}. + +Incidentally, \MF{}'s error messages are contained in an ASCII +file called `{\tt mf.pool}'. Reading the {\tt pool} file can be +entertaining. + + +\subsection{Big fonts, but Unwanted}\label{sec:proof} + +Recently, I found myself accidentally producing fonts with extensions +like `{\tt 3122gf}'. How? + +{\em \MF{} will take\/ {\bf anything} as an excuse to revert +to\/ {\bf proof mode}.} + +The `{\tt 3122}' is a magstep 1 proof mode. It's +\begin{verbatim} + (1.2)^1 * 2601.72 = 3122.164 dots per inch. +\end{verbatim} + +My intention was for \MF{} on a PC to use an HP Laserjet mode in +place of proof mode. However, \MF{}'s command line resembles +the law: {\em every stroke of the pen is significant}. What I had +forgotten was that on my setup, `{\tt localfont}' must be explicitly +requested. + +Em\TeX{}'s \MF{}, with {\tt plain.mf}, defaults to proof mode. +However, I usually want a local printer's font-making mode. +So to process {\tt pics.mf} correctly, I need to say: +\begin{verbatim} + mf '\mode=localfont; input pics' +\end{verbatim} + + +\subsection{Consequences of Some Typing Errors on \MF{}'s + command line}\label{sub:typo} + +Small typing errors are so common, and yet undocumented (why are +common mistakes not documented?), that I thought I'd list several that +have tripped me up on innumerable occasions. After all, why reinvent +the car crash? + +Consider a source file `{\tt pics.mf}' that contains `{\tt mag=1200/1000;}', +so it is automatically scaled by 1.2 (ie, by magstep 1). If the target +printer has 300 dpi, then a 360 dpi {\sc gf} font is wanted. + +Here is the gist of what happens for various typing errors, when using +em\TeX{}'s `{\tt mf186}' on a 286 {\sc pc} to process `{\tt pics.mf}'. + +\begin{enumerate} +\item +\verb+mf186+ $\Longrightarrow$ \MF{} will keep prompting for arguments: +\begin{verbatim} + ** +\end{verbatim} + +We can type the contents of the command line here; for example, I can +now type `{\tt pics}'. In fact, even if you use the command line, +the {\tt .log} (`transcript') file shows \MF{} echoing its +interpretation of the command line to a ** prompt. + +\item \verb+mf186 pics+ $\Longrightarrow$ proof mode: + +\begin{verbatim} + ! Value is too large (5184) +\end{verbatim} + +No {\sc tfm} is produced, and the {\sc gf} file has resolution 3122 dpi. +(3121.72 dpi, to be precise.) + +\item \verb+mf186 mode=localfont; input pics+ $\Longrightarrow$ misinterpretation: +\begin{verbatim} + ! I can't find file `modes=localfont.mf'. +\end{verbatim} + +So, `{\tt modes}' needs that backslash, otherwise mf thinks it's the start +of a source font's filename. Backslash (`$\backslash$') and ampersand +(`\&') are escapes from this standard interpretation by \MF{} +of the first argument. (Ampersand is in fact only a temporary escape, +as \MF{} resumes the {\tt mf} filename prompting attitude as soon +as a base is read.) + +\item \verb+mf186 \mode=localfont input pics+ $\Longrightarrow$ + weird effect: +\begin{verbatim} + >> unknown string mode_name1.2 + ! Not a string + <to be read again> + ; + mode_setup-> ...ode)else:mode_name[mode]fi; + l.6 mode_setup + ; +\end{verbatim} + +Wow! What a difference a semicolon can make! + +\item \verb+mf186 \mode=localfont pics+ $\Longrightarrow$ + almost nothing happens: +\begin{verbatim} + ** \mode=localfont pics + + * +\end{verbatim} + +There's the echo I mentioned. From the lack of activity, {\tt pics} +evidently needs to be `{\tt input}'. + +\item \verb+mf186 \mode=localfont; pics+ $\Longrightarrow$ + + Same as 5. + +So, yes, when the mode is specified, we need `{\tt input}' +before `{\tt pics}'. + +\item \verb+mf186 &plain \mode=localfont; input pics+ $\Longrightarrow$ + + Works. + +Just as without the `{\tt \&plain}', it writes a {\sc gf} file, +`{\tt pics.360gf}', which is correct. +({\sc ms-dos} truncates the name to `{\tt pics.360}'.) +So, redundancy seems okay. Does it waste time, though? +\end{enumerate} + + +\subsection{Finding the Fonts}\label{sub:finding} + +Finding the fonts ({\tt *.mf}, {\tt *.tfm}, {\tt *.gf}, and {\tt *.pk}) +trips up \TeX{}, \MF{}, {\sf GFtoPK} and the output drivers continually. +`{\tt pics.tfm}' needs to be put where \TeX{} will look for {\sc tfm\/}s, +so I needed to ensure that `{\tt .}' was in the appropriate path environment +variable. Similarly for the \MF{}, {\sc gf} and {\sc pk} font files. + +Environment variables can be tricky. For instance, em\TeX{}'s font-making +automation program `{\sf MFjob}' cannot make fonts in the current directory +unless both `{\tt .}' and `{\tt ..}' are added to {\tt MFINPUT}. +This was not documented. + +Also, some popular \TeX{} output drivers, such as the em\TeX{} drivers +on {\sc ms-dos} and {\sc os/2}, and Tomas {\sc Rokicki\/}'s `{\tt dvips}' +which has been ported to many systems, make missing fonts automatically +--- provided that they can find the necessary \MF{} source files. +Again, making fonts in the current directory can require some +tweaking. + + +\subsection{{\tt MakeTeXPK}}\label{sub:maketexpk} + +On {\sc unix}, when fonts are missing, +{\tt dvips} calls a Bourne shell script, `{\tt MakeTeXPK}', +which creates a temporary directory, which it then changes to, +before calling \MF{} to make the missing fonts. +The change of directory can cause \MF{} not to find font sources +lying in what {\bf used} to be the current directory. + +Gert W.~{\sc Bultman} ({\tt bultman@dgw.rws.nl}) has suggested the +following modification to {\tt MakeTeXPK\/}: +\begin{verbatim} + MFINPUTS=${MFINPUTS}:`pwd`; export MFINPUTS +\end{verbatim} +to add the current directory to the search path, {\em before\/} the +change to the temporary directory: +\begin{verbatim} + cd $TEMPDIR +\end{verbatim} + +Micha{\l} {\sc Jaegermann} ({\tt ntomczak@vm.ucs.ualberta.ca}) +has pointed out that: + +`This will not work very well in a situation when the {\tt MFINPUTS} variable +is not set, and you rely instead on \MF{} files being in a default +location. The problem is that in such a situation, after an execution +of the line above, you will end up with ONLY your 'current working +directory' in the {\tt MFINPUTS} path, [which still leaves you +without access to the standard \MF{} files]. + +`For the Bourne shell, {\tt sh}, this line should rather read +somewhat\footnote +{gt: I've separated this into two (valid, unix Bourne shell) lines, +to fit into the text width of this document.} +like: +\begin{verbatim} + MFINPUTS=`pwd`:${MFINPUTS-/usr/lib/mf/inputs} + export MFINPUTS +\end{verbatim} +which gives you a fallback position. Of course, +\begin{verbatim} + /usr/lib/mf/inputs +\end{verbatim} +should be replaced by a default value for the {\tt MFINPUTS} path. + +`This problem is highly likely to affect budding \MF{} hackers +on {\sf NeXT}, for example.' + +Micha{\l}'s suggestion gives priority to \MF{} files in the directory that +is current when MakeTeXPK is called, which is the usual preference. +In {\tt sh}, the `{\tt \${A-B}}' construction has the value of {\tt A}, +if {\tt A} is defined, and the value of {\tt B}, otherwise. + +Karl {\sc Berry} advises that for {\tt web2c 5.851c} and above, +a leading or trailing colon in a path is replaced by the compile-time +default path. For {\tt web2c} he suggests: +\begin{verbatim} + if test -z "$MFINPUTS"; then + MFINPUTS=`pwd`: + else + MFINPUTS=`pwd`:$MFINPUTS: + fi +\end{verbatim} + +Test these ideas on your system, to see what is most applicable. + +Incidentally, on {\sc ms-dos}, {\tt dvips} calls a batch file, +`{\tt MAKETEXP.BAT}', but, in the {\sc ms-dos} versions I've seen, +this lacks the change to a temporary directory that causes +the problem that occurs both in the {\sc unix} versions of {\tt dvips} +and in em\TeX{}'s MFjob. + + +\subsection{Strange Paths; Not a cycle; Bad pos} + +\MF{} satisfactorily fills simple closed curves, like `{\tt O}' +and `{\tt D}', but filling a figure eight, `{\tt 8}', causes a +complaint: +\begin{verbatim} + Strange path (turning number is zero) +\end{verbatim} +because \MF{}'s rules for distinguishing inside from outside +might or might not give what you want for an `{\tt 8}', as there is +more than one conceivable answer. You can use the `positive turning +rule' for all cases, and also turn off complaints, by setting +\begin{verbatim} + turningcheck := 0; +\end{verbatim} +Chapter 13: `Drawing, Filling, and Erasing', and Chapter 27: +`Recovery from Errors', discuss {\tt strange paths} in greater +depth. + + +Sometimes, when making a perfectly valid font, but in {\em low\/} +resolutions, as for previewers (eg, VGA has 96 dpi), one may get +flak about a `{\tt Strange path}', `{\tt Not a cycle}', +`{\tt bad pos}', or something similar. Don't be alarmed. Fonts for +previewing will still be OK even if not perfect. (Actually, I don't +spot any difference!) + +Consequently, it is an idea to make low resolution fonts in +\MF{}'s \hbox{\tt nonstopmode}. + +Em\TeX{}'s drivers version 1.4s make missing fonts automatically +through the {\tt MFjob} program (version 1.1l). To keep {\tt MFjob} +running, add the option {\tt /i} (`ignore errors produced by \MF{}') +to the {\tt MFJOBOPT} environment variable. + +Examples of fonts that give messages of this nature are the pleasant +Pandora, and --- from memory --- the commendable Ralf Smith's +Formal Script ({\tt rsfs}). Everything is fine at higher resolutions. + +Mind you, some fonts provoke sporadic +(that is, design size dependent) +strange path messages at 300 dpi +(phototypesetter users would consider that low resolution), +yet the printed appearance shows no visible defect. + +Why do strange paths occur? +One cause is rounding error on relatively coarse grids. + +To summarize, if your viewed or printed bitmaps are fine, +then you are OK. + + +\section{\MF{} Mail List} + +Since 10 December 1992, there has been an e-mail discussion list +for \MF{}, created: + +\begin{enumerate} +\item as a means of communication between hooked \MF{}ers; + +\item as a way to bring the ``rest of us'' closer to them; + +\item as a means to get quick and efficient answers to questions + such as: + +\begin{itemize} + \item[$\circ$] why do I always get a ``.2602gf'' file? + \item[$\circ$] what is a ``strange path'', + and what can I do to avoid it? + \item[$\circ$] is there a way to go from \MF{} to PostScript + and vice-versa? + \item[$\circ$] where can I find a Stempel Garamond font + written in \MF{}? + \item[$\circ$] what is metaness? +\end{itemize} + +\item and finally, as a first step to encourage people to undertake + \MF{}ing, and start a new post-Computer Modern era of \MF{}! +\end{enumerate} + +To subscribe to this list, send the following two lines to +``{\tt listserv@ens.fr}'' on the Internet: + \begin{quote} + \tt + SUBSCRIBE METAFONT $<$Your name and affiliation$>$\\ + SET METAFONT MAIL ACK + \end{quote} +The address of the list is ``{\tt metafont@ens.fr}'' +(at the notorious Ecole Normale Superieure de~Paris). +Owner of the list is Jacques {\sc Beigbeder} +(``{\tt beig@ens.fr}''), +coordinator is Yannis {\sc Haralambous} +(``{\tt yannis@gat.citilille.fr}''). +Language of the list is English; +intelligent mottos are encouraged. + + +\section{Conclusion} + +\MF{}, like \TeX{} and many another `portable' program of any +complexity, merits the warning: `{\em Watch out for the first step\/}'. + +I hope that a document like this may help to prevent domestic +accidents involving \MF{}, and so contribute to making the task +of using and designing meta-fonts an enjoyable one. My brief +experience with \MF{} suggests that it can be so. + + +All the Best! +%% Geoffrey Tobin + +\end{document} +% end file mfb3w4.tex % diff --git a/Master/texmf-doc/doc/english/metafp/metafp.pdf b/Master/texmf-doc/doc/english/metafp/metafp.pdf Binary files differnew file mode 100644 index 00000000000..fa9940fe18d --- /dev/null +++ b/Master/texmf-doc/doc/english/metafp/metafp.pdf diff --git a/Master/texmf-doc/doc/english/metapost-examples/Makefile b/Master/texmf-doc/doc/english/metapost-examples/Makefile new file mode 100644 index 00000000000..f2300310718 --- /dev/null +++ b/Master/texmf-doc/doc/english/metapost-examples/Makefile @@ -0,0 +1,21 @@ +METAPOST = mpost --interaction=nonstopmode + +all: + perl mp2html.pl + +old_all: + TEX=latex $(METAPOST) examples.mp + +clean: + rm -f examples.[0-9] examples.[0-9][0-9] examples.[0-9][0-9][0-9] *.mps + rm -f examples.tex examples.ps examples.dvi examples.pdf + rm -f *.dvi *.aux *.log *\~ + rm -f mpxerr.* *.mpx mptextmp.* + rm -f nohup.out + +cleanse: clean + rm -f examples.[0-9].gif examples.[0-9][0-9].gif examples.[0-9][0-9][0-9].gif + rm -f examples.[0-9].eps examples.[0-9][0-9].eps examples.[0-9][0-9][0-9].eps + rm -f examples.[0-9].ps examples.[0-9][0-9].ps examples.[0-9][0-9][0-9].ps + rm -f examples.[0-9].tex examples.[0-9][0-9].tex examples.[0-9][0-9][0-9].tex + rm -f examples.html diff --git a/Master/texmf-doc/doc/english/metapost-examples/README b/Master/texmf-doc/doc/english/metapost-examples/README new file mode 100644 index 00000000000..a884163d656 --- /dev/null +++ b/Master/texmf-doc/doc/english/metapost-examples/README @@ -0,0 +1,21 @@ +These are a few (hundred) example pictures drawn with +metapost, ranging from very simple (lines and circles) +to rather intricate (uncommon geometric transformations, +fractals, bitmap, etc.). + +README this file +data1 sample data file (for plot drawings) +data2 +data3 +examples.mp The examples +mptohtml.pl A perl script that turns the examples into a PostScript + file and into an HTML file and GIF pictures + The resulting (huge) Web page may be seen here: + http://www.math.jussieu.fr/~zoonek/LaTeX/Metapost/metapost.html +Makefile runs the above script + +Vincent Zoonekynd <zoonek@math.jussieu.fr> +August 1999 +Updated august 2001 +Version 0.01 +Distributed under the GPL (see http://www.gnu.org/copyleft/gpl.html for details) diff --git a/Master/texmf-doc/doc/english/metapost-examples/data1 b/Master/texmf-doc/doc/english/metapost-examples/data1 new file mode 100644 index 00000000000..24092f087bb --- /dev/null +++ b/Master/texmf-doc/doc/english/metapost-examples/data1 @@ -0,0 +1,11 @@ +0 82 +1 90 +2 100 +3 97 +4 70 +5 75 +6 93 +7 103 +8 115 +9 121 +10 119 diff --git a/Master/texmf-doc/doc/english/metapost-examples/data2 b/Master/texmf-doc/doc/english/metapost-examples/data2 new file mode 100644 index 00000000000..c934e72a70b --- /dev/null +++ b/Master/texmf-doc/doc/english/metapost-examples/data2 @@ -0,0 +1,11 @@ +0 100 +1 95 +2 85 +3 80 +4 83 +5 90 +6 88 +7 96 +8 99 +9 100 +10 105 diff --git a/Master/texmf-doc/doc/english/metapost-examples/data3 b/Master/texmf-doc/doc/english/metapost-examples/data3 new file mode 100644 index 00000000000..7e54a066ff7 --- /dev/null +++ b/Master/texmf-doc/doc/english/metapost-examples/data3 @@ -0,0 +1,11 @@ +0 125 +1 119 +2 123 +3 104 +4 81 +5 94 +6 90 +7 88 +8 85 +9 89 +10 90 diff --git a/Master/texmf-doc/doc/english/metapost-examples/examples.mp b/Master/texmf-doc/doc/english/metapost-examples/examples.mp new file mode 100644 index 00000000000..7a156f03deb --- /dev/null +++ b/Master/texmf-doc/doc/english/metapost-examples/examples.mp @@ -0,0 +1,4896 @@ +warningcheck:=0; + +input rboxes; +input sarith; +input graph; + +verbatimtex +\documentclass[a4paper,12pt]{article} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +\begin{document} +etex + +vardef TEX primary s = + write "verbatimtex" to "mptextmp.mp"; + write "\documentclass[12pt]{article}" to "mptextmp.mp"; + write "\usepackage[T1]{fontenc}" to "mptextmp.mp"; + write "\usepackage{amsmath,amssymb}" to "mptextmp.mp"; + write "\begin{document}" to "mptextmp.mp"; + write "etex" to "mptextmp.mp"; + write "btex "&s&" etex" to "mptextmp.mp"; + write EOF to "mptextmp.mp"; + scantokens "input mptextmp" +enddef; + +vardef longueur(expr p) = + save l,i; + numeric l; + l:=0; + for i=0 step .01 until length(p): + l:=l+abs( (point i of p) - (point(i+.01) of p) ); + endfor; + l % Pas de point-virgule +enddef; + +vardef milieu(expr p) = + save l,i,tot,A,B; + numeric l,tot,i; + pair A,B; + tot := longueur(p); + l:=0; + B := point 0 of p; + for i:=0 step .01 until length(p): + A := B; + B := point i of p; + l := l+abs(B-A); + exitif l > 1/2 tot; + endfor; + show l; show tot; + 1/2[A,B] +enddef; + +vardef milieu_time(expr p) = + save l,i,tot,A,B,t; + numeric l,tot,i,t; + pair A,B; + tot := longueur(p); + l:=0; + B := point 0 of p; + for i:=0 step .01 until length(p): + t:=i; + A := B; + B := point i of p; + l := l+abs(B-A); + exitif l > 1/2 tot; + endfor; + t +enddef; + +beginfig(1) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C; + +endfig; +beginfig(2) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle; + +endfig; +beginfig(3) + pair A[]; + A[0]:=(-1cm, -1cm); + A[1]:=( 1cm, -1cm); + A[2]:=( 1cm, 1cm); + A[3]:=(-1cm, 1cm); + draw A[0]--A[1]--A[2]--A[3]--cycle; + draw A[0]--A[2]; + draw A[1]--A[3]; +endfig; +beginfig(4) + pair A; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A withpen pencircle scaled 4bp; + +endfig; +beginfig(5) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle; + draw A withpen pencircle scaled 4bp; + draw B withpen pencircle scaled 4bp; + draw C withpen pencircle scaled 4bp; +endfig; +beginfig(6) + pair A, B, C, D; + A:=(0,0); B:=(1cm,0); + C:=(1cm,1cm); D:=(0,1cm); + draw A--B--C--D--cycle; + draw A--C; + draw B--D; + draw A withpen pencircle scaled 4bp; + draw B withpen pencircle scaled 4bp; + draw C withpen pencircle scaled 4bp; + draw D withpen pencircle scaled 4bp; +endfig; +beginfig(7) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle; + draw 1/2[A,B] -- C; + draw 1/2[B,C] -- A; + draw 1/2[C,A] -- B; +endfig; +beginfig(8) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle; + draw 1/2[A,B] -- C; + draw 1/2[B,C] -- A; + draw 1/2[C,A] -- B; + draw 1/3 A + 1/3 B + 1/3 C + withpen pencircle scaled 4bp; +endfig; +beginfig(9) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle; + draw A--B withpen pencircle scaled 2bp; + +endfig; +beginfig(10) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle; + draw A--B withcolor (green + red); + +endfig; +beginfig(11) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B; + draw B--C dashed evenly; + draw C--A dashed withdots; + +endfig; +beginfig(12) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B withpen pencircle scaled 2bp withcolor .8white; + draw B--C withpen pencircle scaled 2bp withcolor .6white; + draw C--A withpen pencircle scaled 2bp withcolor .4white; + +endfig; +beginfig(13) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle; + draw 1/2[A,B] -- C dashed evenly; + draw 1/2[B,C] -- A dashed evenly; + draw 1/2[C,A] -- B dashed evenly; + draw 1/3 A + 1/3 B + 1/3 C + withpen pencircle scaled 4bp + withcolor red; +endfig; +beginfig(14) + draw (0,0)--(3cm,0) dashed evenly scaled 2; + draw (0,-5mm)--(3cm,-5mm) dashed evenly; + +endfig; +beginfig(15) + draw (0,0)--(3cm,0) + dashed dashpattern(on 2bp off 3bp); + +endfig; +beginfig(16) + draw (0,0)--(3cm,0) dashed dashpattern(on 1bp off 2bp on 10bp off 2bp); +endfig; +beginfig(17) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + drawarrow C--B--A; + drawarrow A--C withpen pencircle scaled 2bp; + +endfig; +beginfig(18) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw C--B--A--cycle; + drawdblarrow A--C withpen pencircle scaled 2bp; + +endfig; +beginfig(19) + draw (-1.5cm,0)--(1.5cm,0); + draw (0,-1.5cm)--(0,1.5cm); + drawarrow (0,0)--(1cm,0) + withpen pencircle scaled 2bp; + drawarrow (0,0)--(0,1cm) + withpen pencircle scaled 2bp; +endfig; +beginfig(20) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + fill A--B--C--cycle withcolor .8 white; + +endfig; +beginfig(21) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + fill A--B--C--cycle withcolor .8 white; + draw A--B--C--cycle; + +endfig; +beginfig(22) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + fill A--B--C--cycle withcolor .8 white; + draw A--B--C--cycle withpen pencircle scaled 2bp; +endfig; +beginfig(23) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle withpen pencircle scaled 2bp; + fill A--B--C--cycle withcolor .8 white; +endfig; +beginfig(24) + pair A, B, C, D; + A:=(0,0); B:=(1cm,0); + C:=(1cm,1cm); D:=(0,1cm); + fill A--C--B--D--cycle withcolor .8white; +endfig; +beginfig(25) + pair A, B, C, D; + A:=(0,0); B:=(1cm,0); + C:=(1cm,1cm); D:=(0,1cm); + path p; + p := A--C--B--D--cycle; + fill p withcolor .8white; + draw p; +endfig; +beginfig(26) + pair A, B, C, D; + A:=(-1.5cm,-1.5cm); B:=(1.5cm,-1.5cm); + C:=(1.5cm,1.5cm); D:=(-1.5cm,1.5cm); + fill A--C--B--D--cycle withcolor .8white; + draw (-1.5cm,0)--(1.5cm,0); + draw (0,-1.5cm)--(0,1.5cm); + drawarrow (0,0)--(1cm,0) + withpen pencircle scaled 2bp; + drawarrow (0,0)--(0,1cm) + withpen pencircle scaled 2bp; +endfig; +beginfig(27) + pair A; + A := (0,0); + draw A withpen pencircle scaled 4bp; + label.top(btex Au dessus etex, A); + label.bot(btex En dessous etex, A); + label.rt (btex À droite etex, A); + label.lft(btex À gauche etex, A); + +endfig; +beginfig(28) + pair A; + A := (0,0); + draw A withpen pencircle scaled 4bp; + label.ulft(btex En haut à gauche etex, A); + label.urt (btex En haut à droite etex, A); + label.llft(btex En bas à gauche etex, A); + label.lrt (btex En bas à droite etex, A); + +endfig; +beginfig(29) + pair A; + A := (0,0); + dotlabel.urt(btex $A$ etex, A); + +endfig; +beginfig(30) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle; + dotlabel.llft(btex $A$ etex, A); + dotlabel.lrt(btex $B$ etex, B); + dotlabel.top(btex $C$ etex, C); +endfig; +beginfig(31) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle; + label.bot(btex $1$ etex, 1/2[A,B]); + label.lft(btex $1$ etex, 1/2[A,C]); + label.urt(btex $\sqrt 2$ etex, 1/2[B,C]); +endfig; +beginfig(32) + u:=1cm; + pair A,B,C,D,E,F,G; + A := (-u,u); + B := (0,u); + C := (u,u); + D := (-u,0); + E := (0,0); + F := (u,0); + draw A--D; draw A--E; draw A--F; + draw B--D; draw B--E; draw B--F; + draw C--D; draw C--E; draw C--F; + dotlabel.top(btex $a$ etex, A); + dotlabel.top(btex $b$ etex, B); + dotlabel.top(btex $c$ etex, C); + dotlabel.bot(btex $a'$ etex, D); + dotlabel.bot(btex $b'$ etex, E); + dotlabel.bot(btex $c'$ etex, F); +endfig; +beginfig(33) + draw fullcircle; + +endfig; +beginfig(34) + draw (0,0) withpen pencircle scaled 4bp; + draw fullcircle scaled 1cm; + +endfig; +beginfig(35) + draw (0,0) withpen pencircle scaled 4bp; + draw fullcircle scaled 1cm shifted (1cm,1cm); + +endfig; +beginfig(36) + pair A, B, C; + A:=(0,0); B:=(1cm,0); C:=(0,1cm); + draw A--B--C--cycle; + fill fullcircle scaled 4bp shifted A withcolor white; + fill fullcircle scaled 4bp shifted B withcolor white; + fill fullcircle scaled 4bp shifted C withcolor white; + draw fullcircle scaled 4bp shifted A; + draw fullcircle scaled 4bp shifted B; + draw fullcircle scaled 4bp shifted C; +endfig; +beginfig(37) + draw (0,0) .. (0,1cm) .. (1cm,0) .. (1cm,1cm); + draw (0,0) withpen pencircle scaled 4bp; + draw (0,1cm) withpen pencircle scaled 4bp; + draw (1cm,0) withpen pencircle scaled 4bp; + draw (1cm,1cm) withpen pencircle scaled 4bp; + +endfig; +beginfig(38) + draw (0,0) -- (0,1cm) .. (1cm,0) .. (1cm,1cm); + +endfig; +beginfig(39) + draw (0,0) --- (0,1cm) .. (1cm,0) .. (1cm,1cm); + +endfig; +beginfig(40) + draw (0,0) .. (0,1cm) .. (1cm,0) .. (1cm,1cm) + .. cycle; + +endfig; +beginfig(41) + pair A, B, C, D; + A:=(0,0); B:=(1cm,0); + C:=(1cm,1cm); D:=(0,1cm); + draw A..B..C..D..cycle; +endfig; +beginfig(42) + draw (0,0) .. (1cm,1cm) .. cycle; +endfig; +beginfig(43) + draw (0,0){(0,1)} .. (2cm,0){(1,0)}; + +endfig; +beginfig(44) + draw (0,0){dir 90} .. (2cm,0){dir 0}; + +endfig; +beginfig(45) + draw (0,0){up} .. (2cm,0){right}; + +endfig; +beginfig(46) + draw (0,0){up} .. (2cm,0){up}; +endfig; +beginfig(47) + draw (0,0){up} .. (2cm,0){up} .. cycle; +endfig; +beginfig(48) + alpha := 30; + draw (0,0) -- 2cm*dir 0; + draw (0,0) -- 2cm*dir alpha; + draw 1cm * dir 0 {dir 90} .. + 1cm * dir alpha {dir(90+alpha)}; +endfig; +beginfig(49) + alpha := 30; + draw (0,0) -- 2cm*dir 0; + draw (0,0) -- 2cm*dir alpha; + draw 1cm * dir 0 {dir 90} .. + 1cm * dir alpha {dir(90+alpha)}; + draw 1.1cm * dir 0 {dir 90} .. + 1.1cm * dir alpha {dir(90+alpha)}; +endfig; +beginfig(50) + def draw_angle(expr A, O, B, n) = + draw_angle_(A,O,B,5mm); + if n>1 : draw_angle_(A,O,B,4.5mm); fi; + if n>2 : draw_angle_(A,O,B,4mm); fi; + if n>3 : draw_angle_(A,O,B,5.5mm); fi; + enddef; + def draw_angle_(expr A,O,B,d) = + draw (O + d*unitvector(A-O)) + { d*unitvector(A-O) rotated 90 } + .. + { d*unitvector(B-O) rotated 90 } + (O + d*unitvector(B-O)); + enddef; + pair A, B, C; + A := (0,0); + B := (3cm,0); + C := (1cm,2cm); + draw A--B--C--cycle; + draw_angle(B,A,C,1); + draw_angle(C,B,A,2); + draw_angle(A,C,B,3); +endfig; +beginfig(51) + u:=1cm; + path p; + p := (u,0){up}..(-u,0){down}--cycle; + fill p withcolor .8*white; + draw p withpen pencircle scaled 1bp; +endfig; +beginfig(52) + u:=1cm; + path p; + p := (u,0){up} .. + (-u,0){down} -- + (-.2u,0){up} .. + (.2u,0){down} -- + cycle; + fill p withcolor .8*white; + draw p withpen pencircle scaled 1bp; +endfig; +beginfig(53) + u:=1cm; + pair A,AA,B,BB,C,D; + A := ( .2u, .05u); + AA := ( .2u, -.05u); + B := ( u, .05u); + BB := ( u, -.05u); + C := (-.2u, 0); + D := ( -u, 0); + path p; + p:= B{up} .. D{down} .. BB{up} -- + AA{down} .. C{up} .. A{down} -- cycle; + fill p withcolor .8*white; + draw p withpen pencircle scaled 1bp; +endfig; +beginfig(54) + u:=1cm; + pair A,B,C,D; + A:=(0,0); + B:=u*dir 60; + C:=u*dir -60; + D:=(2u,0); + draw A withpen pencircle scaled 4bp; + draw B withpen pencircle scaled 4bp; + draw C withpen pencircle scaled 4bp; + draw D withpen pencircle scaled 4bp; + draw A--D--B--D--C; + draw A{up}..B; + draw A{down}..C; + draw A{dir 30}..B; + draw A{dir -30}..C; +endfig; +beginfig(55) + draw (0,0) .. (1cm,1cm) .. (2cm,0); + +endfig; +beginfig(56) + draw (0,0) .. tension 2 .. + (1cm,1cm) .. (2cm,0); + +endfig; +beginfig(57) + draw (0,u) {right} .. + ( u*dir -150 ){dir 120} .. + ( u*dir -30 ){dir -120} .. + cycle; +endfig; +beginfig(58) + draw (0,u) {right} .. tension 2 .. + ( u*dir -150 ){dir 120} .. tension 2 .. + ( u*dir -30 ){dir -120} .. tension 2 .. + cycle; +endfig; +beginfig(59) + draw (0,u) {right} .. tension 4 .. + ( u*dir -150 ){dir 120} .. tension 4 .. + ( u*dir -30 ){dir -120} .. tension 4 .. + cycle; +endfig; +beginfig(60) + u:=.5cm; + pair A,B,C,D; + A:=(0,0); B:=(-u,2u); + C:=(4u,3u); D:=(3u,0); + draw A.. controls B and C .. D + withpen pencircle scaled 2pt; + draw B--C dashed evenly; + drawarrow A--B; + drawarrow D--C; + +endfig; +beginfig(61) + pair A, B, C, D; + A = (0,0); + D = (2u,0); + B = (-u,2u); + C = (3u,3u); + + draw A withpen pencircle scaled 4bp; + draw B withpen pencircle scaled 4bp; + draw C withpen pencircle scaled 4bp; + draw D withpen pencircle scaled 4bp; + draw A .. controls B and C .. D; + + pair a[]; + a[1] := A; + a[2] := B; + a[3] := C; + a[4] := D; + + a[12] := 1/2 [ a[1], a[2] ]; + a[23] := 1/2 [ a[2], a[3] ]; + a[34] := 1/2 [ a[3], a[4] ]; + a[123] := 1/2 [ a[12], a[23] ]; + a[234] := 1/2 [ a[23], a[34] ]; + a[1234] := 1/2 [ a[123], a[234] ]; + + draw a[1234] withpen pencircle scaled 4bp; +endfig; +beginfig(62) +vardef bezier(expr n,A,B,C,D) = + save a; + pair a[]; + a[1] := A; + a[2] := B; + a[3] := C; + a[4] := D; + + a[12] := 1/2 [ a[1], a[2] ]; + a[23] := 1/2 [ a[2], a[3] ]; + a[34] := 1/2 [ a[3], a[4] ]; + a[123] := 1/2 [ a[12], a[23] ]; + a[234] := 1/2 [ a[23], a[34] ]; + a[1234] := 1/2 [ a[123], a[234] ]; + + if n>0: + bezier(n-1, a[1], a[12], a[123], a[1234]); + bezier(n-1, a[1234], a[234], a[34], a[4]); + else: + draw a[1234] withpen pencircle scaled 2bp; + fi; +enddef; + + pair A, B, C, D; + A = (0,0); + D = (2u,0); + B = (-u,2u); + C = (3u,3u); + + draw A withpen pencircle scaled 4bp; + draw B withpen pencircle scaled 4bp; + draw C withpen pencircle scaled 4bp; + draw D withpen pencircle scaled 4bp; + + bezier(5,A,B,C,D); +endfig; +beginfig(63) + draw (0,0){up} .. (1cm, 1mm) .. (2cm,0){down}; + +endfig; +beginfig(64) + draw (0,0){up} ... (1cm, 1mm) ... (2cm,0){down}; + +endfig; +beginfig(65) + draw (0,0){curl 0} .. (0,1cm)..(1cm,0)..(1cm,1cm); + +endfig; +beginfig(66) + draw (0,0){curl 1} .. (0,1cm)..(1cm,0)..(1cm,1cm); + +endfig; +beginfig(67) + draw (0,0){curl 2} .. (0,1cm)..(1cm,0)..(1cm,1cm); + +endfig; +beginfig(68) + pair A,B,C,D; + xpart A = ypart A = ypart B = xpart C = 0; + xpart B = ypart C = xpart D = ypart D = 2cm; + draw A--B--C--D--cycle withpen pencircle scaled 2bp; +endfig; +beginfig(69) + pair A,B,C,D,M; + numeric lambda, mu; + A=(0,0); B=(2cm,3cm); + C=(1cm,0); D=(-1cm,2cm); + M = lambda [A,B]; + M = mu [C,D]; + draw A--B; + draw C--D; + draw M withpen pencircle scaled 4bp; + +endfig; +beginfig(70) + pair A,B,C,D,M; + A=(0,0); B=(2cm,3cm); + C=(1cm,0); D=(-1cm,2cm); + M = whatever [A,B]; + M = whatever [C,D]; + draw A--B; + draw C--D; + draw M withpen pencircle scaled 4bp; + +endfig; +beginfig(71) + pair A,B,C,AA,BB,CC,G; + A=(0,0); B=(3cm,0); C=(1cm,2cm); + AA = 1/2 [B,C]; + BB = 1/2 [C,A]; + CC = 1/2 [A,B]; + G = whatever [A,AA]; + G = whatever [B,BB]; + draw A--B--C--cycle; + draw A--AA dashed withdots; + draw B--BB dashed withdots; + draw C--CC dashed withdots; + draw G withpen pencircle scaled 4bp; +endfig; +beginfig(72) + path p; + p := fullcircle scaled 5mm; + draw p; + draw p shifted (1mm,2mm); + draw p shifted 2(1mm,2mm); + draw p shifted 3(1mm,2mm); + draw p shifted 4(1mm,2mm); + draw p shifted 5(1mm,2mm); + +endfig; +beginfig(73) + path p; + p := (5mm,-5mm) {right} .. (2cm,0); + draw p; + draw p rotated 10; + draw p rotated 20; + draw p rotated 30; + draw p rotated 40; + draw p rotated 50; + draw p rotated 60; + draw p rotated 70; + draw p rotated 80; + draw p rotated 90; + +endfig; +beginfig(74) + path p; + p := fullcircle scaled 5mm; + draw p; + draw p xscaled 2; + draw p xscaled 3; + draw p xscaled 4; + +endfig; +beginfig(75) + pair A,B,C,D,E; + A := (1cm,0); + B := A rotated 72; + C := B rotated 72; + D := C rotated 72; + E := D rotated 72; + draw A--B--C--D--E--cycle; +endfig; +beginfig(76) + pair A,B,C,D,E; + A := (1cm,0); + B := A rotated 72; + C := B rotated 72; + D := C rotated 72; + E := D rotated 72; + draw A--C--E--B--D--cycle; +endfig; +beginfig(77) + pair A,B,C,D,E; + A := (1cm,0); + B := A rotated 72; + C := B rotated 72; + D := C rotated 72; + E := D rotated 72; + pair AA, BB, CC, DD, EE; + AA = whatever [A, C]; + AA = whatever [B, D]; + BB = whatever [B, D]; + BB = whatever [C, E]; + CC = whatever [C, E]; + CC = whatever [D, A]; + DD = whatever [D, A]; + DD = whatever [E, B]; + EE = whatever [E, B]; + EE = whatever [A, C]; + fill A--C--E--B--D--cycle withcolor .8white; + fill AA--BB--CC--DD--EE--cycle withcolor white; + draw A--C--E--B--D--cycle; +endfig; +beginfig(78) + path p; + p := (0,0) -- (1cm,0); + drawarrow p withpen pencircle scaled 2bp; + drawarrow p zscaled (1,2); + +endfig; +beginfig(79) + u:=1cm; + path p; p := (0,0) -- (u,0); + pair A; A := (u,-u); + numeric a; a := 90; + drawarrow p withpen pencircle scaled 1bp; + drawarrow p rotatedaround( A, a ); + drawarrow p shifted -A rotated a shifted A + withpen pencircle scaled 1bp dashed withdots; +endfig; +beginfig(80) + path p; p := (0,0) -- (u,0); + pair A; A := (u,-u); + numeric a; a := 90; + drawarrow p withpen pencircle scaled 1bp; + draw A withpen pencircle scaled 4bp; + label ulft ( btex $A$ etex, A ); + draw (0,0) withpen pencircle scaled 4bp; + label bot ( btex $O$ etex, (0,0) ); + for i=0 upto 10: + drawarrow p shifted -(i*A/10) withcolor red; + endfor; + for i=0 upto 10: + drawarrow p shifted -A rotated (i*a/10) withcolor green; + endfor; + for i=0 upto 10: + drawarrow p shifted -A rotated a shifted (i*A/10) withcolor blue; + endfor; +endfig; +beginfig(81) + pair A,B,C,AA,BB,CC,H; + A=(0,0); B=(3cm,0); C=(1cm,2cm); + AA - A = whatever * (B-C) rotated 90; + AA = whatever [B,C]; + BB - B = whatever * (A-C) rotated 90; + BB = whatever [A,C]; + CC - C = whatever * (A-B) rotated 90; + CC = whatever [A,B]; + H = whatever [A,AA]; + H = whatever [B,BB]; + draw A--B--C--cycle; + draw A--AA; + draw B--BB; + draw C--CC; + draw H withpen pencircle scaled 4bp; +endfig; +beginfig(82) + pair A,B,C,H; + A=(0,0); B=(3cm,0); C=(1cm,2cm); + H - A = whatever * (B-C) rotated 90; + H - B = whatever * (A-C) rotated 90; + draw A--B--C--cycle; + draw H withpen pencircle scaled 4bp; +endfig; +beginfig(83) + pair A,B,C,O; + A=(0,0); B=(3cm,0); C=(1cm,2cm); + O - 1/2[B,C] = whatever * (B-C) rotated 90; + O - 1/2[A,B] = whatever * (A-B) rotated 90; + draw A--B--C--cycle; + draw O withpen pencircle scaled 4bp; + draw fullcircle scaled 2abs(O-A) shifted O; +endfig; +beginfig(84) + pair A,B,C,D; + u:=2cm; + A=(0,0); B=(u,0); C=(u,u); D=(0,u); + + transform T; + A transformed T = 1/5[A,B]; + B transformed T = 1/5[B,C]; + C transformed T = 1/5[C,D]; + + path p; + p = A--B--C--D--cycle; + draw p; + draw p transformed T; + +endfig; +beginfig(85) + pair A,B,C,D; + u:=2cm; + A=(0,0); B=(u,0); C=(u,u); D=(0,u); + + transform T; + A transformed T = 1/5[A,B]; + B transformed T = 1/5[B,C]; + C transformed T = 1/5[C,D]; + + path p; + p = A--B--C--D--cycle; + for i=0 upto 100: + draw p; + p:= p transformed T; + endfor; + +endfig; +beginfig(86) + u:=1cm; + pair A,B,C,D,E; + A := (0,u); + B := A rotated 72; + C := B rotated 72; + D := C rotated 72; + E := D rotated 72; + transform T; + A transformed T = 1/5[A,B]; + B transformed T = 1/5[B,C]; + C transformed T = 1/5[C,D]; + path p; + p := A--B--C--D--E--cycle; + draw p; + p := p transformed T; draw p; + p := p transformed T; draw p; + p := p transformed T; draw p; +endfig; +beginfig(87) + u:=3mm; + fill fullcircle scaled 2u withcolor .8white; + fill fullcircle scaled u shifted (u*dir30) + withcolor .8white; + fill fullcircle scaled u shifted (u*dir150) + withcolor .8white; +endfig; +beginfig(88) + u:=3mm; + transform T; + (0,0) transformed T = (0,0); + (1,0) transformed T = (1,1); + (0,1) transformed T = (1,0); + + fill fullcircle scaled 2u transformed T withcolor .8white; + fill fullcircle scaled u shifted (u*dir30) transformed T + withcolor .8white; + fill fullcircle scaled u shifted (u*dir150) transformed T + withcolor .8white; +endfig; +beginfig(89) + u:=3mm; + transform T; + xpart T = ypart T = 0; + xxpart T = 1; + yxpart T = 2; + xypart T = 3; + yypart T = 4; + + fill fullcircle scaled 2u transformed T withcolor .8white; + fill fullcircle scaled u shifted (u*dir30) transformed T + withcolor .8white; + fill fullcircle scaled u shifted (u*dir150) transformed T + withcolor .8white; +endfig; +beginfig(90) + draw fullcircle scaled 1cm; + draw fullcircle scaled 5mm shifted (1cm*dir45); + draw fullcircle scaled 5mm shifted (1cm*dir135); + picture mypicture; + mypicture := currentpicture; + currentpicture := nullpicture; + draw mypicture; + draw mypicture shifted (1mm,1mm); + draw mypicture shifted (2mm,2mm); + +endfig; +beginfig(91) + picture pic; + pic := nullpicture; + addto pic contour fullcircle scaled 1cm + withcolor .8white; + addto pic doublepath fullcircle scaled 1cm + withpen pencircle scaled .5bp; + addto pic also pic shifted (1mm,1mm); + draw pic; + +endfig; +beginfig(92) + u:=3mm; + picture mickey; + mickey := nullpicture; + addto mickey contour fullcircle scaled 2u + withcolor .8white; + addto mickey contour fullcircle scaled u + shifted (u*dir30) withcolor .8white; + addto mickey contour fullcircle scaled u + shifted (u*dir150) + withcolor .8white; + draw mickey; +endfig; +beginfig(93) + u:=3mm; + picture mickey; + mickey := nullpicture; + addto mickey contour fullcircle scaled 2u + withcolor .8white; + addto mickey contour fullcircle scaled u + shifted (u*dir30) withcolor .8white; + addto mickey contour fullcircle scaled u + shifted (u*dir150) withcolor .8white; + + transform T; + (0,0) transformed T = (0,0); + (1,0) transformed T = (1,1); + (0,1) transformed T = (1,0); + + draw mickey transformed T; +endfig; +beginfig(94) + u:=3mm; + picture mickey; + fill fullcircle scaled 2u withcolor .8white; + fill fullcircle scaled u shifted (u*dir30) + withcolor .8white; + fill fullcircle scaled u shifted (u*dir150) + withcolor .8white; + mickey := currentpicture; + currentpicture := nullpicture; + + transform T; + (0,0) transformed T = (0,0); + (1,0) transformed T = (1,1); + (0,1) transformed T = (1,0); + + draw mickey transformed T; +endfig; +beginfig(95) + pair A,B; + path p; + A = (0,1cm); + B = A rotated 120; + p = A{dir 0} .. tension 2 .. B{dir 120}; + draw p; + draw p rotated 120; + draw p rotated -120; +endfig; +beginfig(96) + pair A,B; + path p; + numeric n; + n:=5; + A = (0,1cm); + B = A rotated (2*360/n); + p = A{dir 180} .. tension 4 .. B{dir (180+2*360/n)}; + draw p withcolor red; + draw p rotated (1*360/n); + draw p rotated (2*360/n); + draw p rotated (3*360/n); + draw p rotated (4*360/n); +endfig; +beginfig(97) + path c[], l[]; + c[0] = fullcircle xscaled 1cm yscaled .5cm + shifted (0,1cm); + c[1] = c[0] rotated 120; + c[2] = c[1] rotated 120; + pair A; + A = (-.5cm,1cm); + l[0] = A{down} .. + (A xscaled -1 rotated 120){-down rotated 120}; + l[1] = l[0] rotated 120; + l[2] = l[1] rotated 120; + draw c[0]; draw c[1]; draw c[2]; + draw l[0]; draw l[1]; draw l[2]; +endfig; +beginfig(98) + path c[], l[]; + c[0] = fullcircle xscaled 1cm yscaled .5cm + shifted (0,1cm); + c[1] = c[0] rotated (360/4); + c[2] = c[1] rotated (360/4); + c[3] = c[2] rotated (360/4); + pair A; + A = (-.5cm,1cm); + l[0] = A{down} .. + (A xscaled -1 rotated (360/4)) + {-down rotated (360/4)}; + l[1] = l[0] rotated (360/4); + l[2] = l[1] rotated (360/4); + l[3] = l[2] rotated (360/4); + draw c[0]; draw c[1]; draw c[2]; draw c[3]; + draw l[0]; draw l[1]; draw l[2]; draw l[3]; +endfig; +beginfig(99) + pair A, B; + A := (0,0); B := (2cm,1cm); + draw A withpen pencircle scaled 4bp; + draw B withpen pencircle scaled 4bp; + draw fullcircle scaled abs(B-A) shifted 1/2[A,B]; + +endfig; +beginfig(100) + pair A; + A:=(2cm,2cm); + drawarrow origin--A; + drawarrow (origin--A) rotated -1/3 angle(A); + drawarrow (origin--A) rotated -2/3 angle(A); + drawarrow (origin--A) rotated -angle(A); + +endfig; +beginfig(101) + pair A,B; + A:=(1cm,2cm); B:=(2cm,1cm); + numeric alpha; + alpha = angle(A) - angle(B); + drawarrow origin--A; + drawarrow origin--B; + drawarrow (origin--A) rotated -1/3 alpha; + drawarrow (origin--A) rotated -2/3 alpha; + drawarrow (origin--A) rotated -alpha; +endfig; +beginfig(102) + pair A,B,C; + A=(0,0); B=(3cm,0); C=(1cm,2cm); + draw A--B--C--cycle; + label.llft(TEX decimal(angle(C-A)-angle(B-A)), A); + label.lrt(TEX decimal(angle(A-B)-angle(C-B)), B); + label.urt(TEX decimal(angle(B-C)-angle(A-C)), C); +endfig; +beginfig(103) + pair A,AA,B,BB,C,CC,O,H; + A=(0,0); B=(3cm,0); C=(1cm,2cm); + AA = 1/2[B,C]; + BB = 1/2[A,C]; + CC = 1/2[A,B]; + O - 1/2[BB,CC] = whatever * (BB-CC) rotated 90; + O - 1/2[AA,BB] = whatever * (AA-BB) rotated 90; + draw A--B--C--cycle; + draw AA withpen pencircle scaled 4bp; + draw BB withpen pencircle scaled 4bp; + draw CC withpen pencircle scaled 4bp; + draw fullcircle scaled 2abs(O-AA) shifted O; + % Il faut aussi tracer les hauteurs + pair AA,BB,CC; + AA - A = whatever * (B-C) rotated 90; + AA = whatever [B,C]; + BB - B = whatever * (A-C) rotated 90; + BB = whatever [A,C]; + CC - C = whatever * (A-B) rotated 90; + CC = whatever [A,B]; + draw A--AA; draw B--BB; draw C--CC; + draw AA withpen pencircle scaled 4bp; + draw BB withpen pencircle scaled 4bp; + draw CC withpen pencircle scaled 4bp; + % Il passe aussi par le milieu de HA, HB, HC + H = whatever [A,AA]; + H = whatever [B,BB]; + draw 1/2 [A,H] withpen pencircle scaled 4bp; + draw 1/2 [B,H] withpen pencircle scaled 4bp; + draw 1/2 [C,H] withpen pencircle scaled 4bp; +endfig; +beginfig(104) + pair A,B,C,M,h; + u:=2cm; + A=(0,0); B=(2u,-.5u); C=(u,u); + draw A--B--C--cycle; + (M-A) = whatever * ( + (A-C) rotated 1/2( angle(B-A) - angle(C-A)) ); + (M-B) = whatever * ( + (B-A) rotated 1/2( angle(C-B) - angle(A-B)) ); + draw M--A; draw M--B; draw M--C; + M-h = whatever * (B-C) rotated 90; + h = whatever[B,C]; + draw fullcircle scaled 2 abs(M-h) shifted M; +endfig; +beginfig(105) + path p; + p = (0,0){up} .. (2cm,0){down}; + draw p; + draw point 0 of p withpen pencircle scaled 4bp; + draw point .5 of p withpen pencircle scaled 4bp; + draw point 1 of p withpen pencircle scaled 4bp; + +endfig; +beginfig(106) + path p; + p = (0,0){up} .. (2cm,0){down}; + draw p; + pair A; + A := point 0 of p; + B := A + 1cm*unitvector(direction 0 of p); + drawarrow A--B withpen pencircle scaled 1bp; + A := point .5 of p; + B := A + 1cm*unitvector(direction .5 of p); + drawarrow A--B withpen pencircle scaled 1bp; + A := point 1 of p; + B := A + 1cm*unitvector(direction 1 of p); + drawarrow A--B withpen pencircle scaled 1bp; + +endfig; +beginfig(107) + u:=5mm; + path p; + p = (0,0) {curl 0} .. (u,2u) .. (2u,1.5u) + .. (3u,2u) .. {curl 0} (4u,0); + draw subpath(0,1) of p withcolor red; + draw subpath(1,2) of p withcolor green; + draw subpath(2,3) of p withcolor blue; + draw subpath(3,3.5) of p dashed evenly; + draw subpath(3.5,4) of p dashed withdots; + +endfig; +beginfig(108) + u:=1cm; + path p,q; + p := (0,0){up} .. (u,2u){up}; + q := (u,0){up} .. (0,2u){up}; + draw p; + draw subpath(0,.4) of q withpen pencircle scaled 1bp; + draw subpath(.6,1) of q withpen pencircle scaled 1bp; +endfig; +beginfig(109) + u:=1cm; + path a,b,c,d; + a = (-u,-.2u){up} .. tension 1.2 .. (u,-.2u){down}; + b = a rotated 90; + c = b rotated 90; + d = c rotated 90; + fill buildcycle(a,b,c,d) withcolor .8white; + draw a; draw b; draw c; draw d; + +endfig; +beginfig(110) + u:=1cm; + path c[]; + c[1] := fullcircle scaled u; + c[2] := c[1] shifted (0,.5u); + draw c[1] dashed evenly; + draw c[2] dashed evenly; + draw buildcycle(c[1],c[2]) withpen pencircle scaled 1bp; +endfig; +beginfig(111) + path a,b,c; + a = fullcircle scaled 2u shifted (.5u,0); + b = a rotated (360/3); + c = b rotated (360/3); + fill a withcolor red; + fill b withcolor green; + fill c withcolor blue; + fill buildcycle(a,b) withcolor red + green; + fill buildcycle(b,c) withcolor green + blue; + fill buildcycle(c,a) withcolor blue + red; + fill buildcycle(a,b,c) withcolor white; + draw a; draw b; draw c; +endfig; +beginfig(112) + def compute_curve(suffix f)(expr xmin, xmax, xinc) = + ( (xmin,f(xmin)) + for x=xmin+xinc step xinc until xmax: + .. (x,f(x)) + endfor ) + enddef; + vardef f(expr x) = x**2 + 1 enddef; + vardef g(expr x) = 2 - (x-1)**2 enddef; + path p, q; + p := compute_curve(f, -1, 1.5, .1) scaled 1cm; + q := compute_curve(g, -.5, 2, .1) scaled 1cm; + fill buildcycle(p,reverse q) withcolor red+green; + draw p withpen pencircle scaled 1bp; + draw q withpen pencircle scaled 1bp; + draw (-1cm,0) -- (2cm,0); + draw (0,g(-.5)*1cm) -- (0,f(1.5)*1cm); +endfig; +beginfig(113) + path p, q; + p = (0,0){up} .. (2cm,0){up}; + q = (0,1cm){dir -60}..(1cm,-1cm)..{dir 60}(2cm,1cm); + draw p; draw q; + draw p intersectionpoint q withpen pencircle scaled 4bp; + +endfig; +beginfig(114) + path p, q; + p = (0,0){up} .. (2cm,0){up}; + q = (0,1cm){dir -60}..(1cm,-1cm)..{dir 60}(2cm,1cm); + draw p; draw q; + numeric a,b; + (a,whatever) = p intersectiontimes q; + draw point a of p withpen pencircle scaled 4bp; + +endfig; +beginfig(115) + pair A,B; + path p; + A = (0,1cm); + B = A rotated 120; + p = A{dir 0} .. tension 2 .. B{dir 120}; + numeric a; + (a,whatever) = p intersectiontimes (p rotated 120); + draw subpath(0,a-.02) of p; + draw subpath(a+.02,1) of p; + draw subpath(0,a-.02) of p rotated 120; + draw subpath(a+.02,1) of p rotated 120; + draw subpath(0,a-.02) of p rotated -120; + draw subpath(a+.02,1) of p rotated -120; +endfig; +beginfig(116) + u:=2cm; + pair A[], B[], C[], D[], E[]; + path p[]; + + A[0] = u*up; + for i=1 upto 10: + A[i] := A[i-1] rotated 72; + endfor; + for i=0 upto 4: + p[i] := A[i]--A[i+1]; + draw p[i]; + draw (point 1 of p[i]) -- + ( (point 1 of p[i]) + 4mm*unitvector(direction 1 of p[i])); + draw (point 0 of p[i]) -- + ( (point 0 of p[i]) - 4mm*unitvector(direction 0 of p[i])); + endfor + + for i=0 upto 9: + B[i] := 1/2[ A[i], A[i+1] ]; + endfor; + B[5]:=B[0]; + + for i=0 upto 9: + C[i] := .8*B[i]; + endfor; + + for i=0 upto 4: + p[i] := B[i] --- C[i] .. C[i+2]{dir 72i}; + draw p[i]; + draw (point 2 of p[i]) -- + ( (point 2 of p[i]) + 4mm*unitvector(direction 2 of p[i])); + draw (point 0 of p[i]) -- + ( (point 0 of p[i]) - 4mm*unitvector(direction 0 of p[i])); + endfor; + for i=0 upto 4: + draw subpath(1,1.4) of p[i] withpen pencircle scaled 4bp withcolor white; + draw subpath(0,1.5) of p[i]; + endfor; + + for i=0 upto 4: + draw A[i] withpen pencircle scaled 4bp; + draw B[i] withpen pencircle scaled 4bp; + draw C[i] withpen pencircle scaled 4bp; + endfor; +endfig; +beginfig(117) + u:=2cm; + pair A, B, C, D, E; + path p, q, r; + + A = u*up; + p := (-.2)[ A, A rotated 72 ] -- (1.2)[ A, A rotated 72 ]; + for i=0 upto 5: + draw p rotated 72i; + endfor; + B := 1/2[ A, A rotated 72 ]; + C := .8*B; + + p := B --- C .. (C rotated (2*72)){right}; + % On allonge le chemin p + p := ( (point 0 of p) - 4mm*unitvector(direction 0 of p)) + -- + (point 0 of p) + & p & + (point 2 of p) + -- + ( (point 2 of p) + 4mm*unitvector(direction 2 of p)); + + E = p intersectionpoint (p rotated 72); + q := p cutbefore fullcircle scaled -2mm shifted E; + r := p cutafter fullcircle scaled 2mm shifted E; + + for i=0 upto 4: + draw q rotated 72i; + draw r rotated 72i; + draw A rotated 72i withpen pencircle scaled 4bp; + draw B rotated 72i withpen pencircle scaled 4bp; + draw C rotated 72i withpen pencircle scaled 4bp; + endfor; +endfig; +beginfig(118) + for i=0 step 1 until 3: + draw 1cm*right rotated (i*90) + withpen pencircle scaled 4bp; + endfor; + +endfig; +beginfig(119) + draw for i=0 step 1 until 3: + 1cm*right rotated (i*90) -- + endfor cycle; + +endfig; +beginfig(120) + n:=5; + draw for i=0 step 1 until n-1: + 1cm*up rotated (i*360/n) -- + endfor cycle; +endfig; +beginfig(121) + n:=7; + draw for i=0 step 1 until n-1: + 1cm*up rotated (i*360/n) -- + endfor cycle; +endfig; +beginfig(122) + path p; + p = (0,0) .. (-1cm,2cm) .. (2cm,1cm) .. (1cm,0); + draw p; + n:=10; + for i=0 step 1 until n: + draw point (i/n*length(p)) of p + withpen pencircle scaled 4bp; + endfor; +endfig; +beginfig(123) + path p; + p = (0,0) .. (-1cm,2cm) .. (2cm,1cm) .. (1cm,0); + draw p; + n:=10; + for i=0 step length(p)/n until length(p): + drawarrow (point i of p) -- + 1cm * unitvector(direction i of p) + shifted point i of p; + endfor; +endfig; +beginfig(124) + u:=1cm; + draw (-2u,0)--(2u,0); + draw (0,-2u)--(0,2u); + for i=-2u step u until 2u: + draw (i,u/20)--(i,-u/20); + draw (u/20,i)--(-u/20,i); + endfor; +endfig; +beginfig(125) + u:=1cm; + draw (-2u,0)--(2u,0); + draw (0,-2u)--(0,2u); + for i=-2u step u until 2u: + draw (i,u/10)--(i,-u/10); + draw (u/10,i)--(-u/10,i); + endfor; + for i=-2u step u/5 until 2u: + draw (i,u/20)--(i,-u/20); + draw (u/20,i)--(-u/20,i); + endfor; +endfig; +beginfig(126) + u:=1cm; + draw (-2u,0)--(2u,0); + draw (0,-2u)--(0,2u); + for i=-2u step u until 2u: + draw (i,2u)--(i,-2u); + draw (2u,i)--(-2u,i); + endfor; +endfig; +beginfig(127) + u:=1cm; + draw (-2u,0)--(2u,0); + draw (0,-2u)--(0,2u); + for i=-2u step u until 2u: + draw (i,2u)--(i,-2u); + draw (2u,i)--(-2u,i); + endfor; + for i=-2u step u/5 until 2u: + draw (i,2u)--(i,-2u) withpen pencircle scaled .2bp; + draw (2u,i)--(-2u,i) withpen pencircle scaled .2bp; + endfor; +endfig; +beginfig(128) + u := 5mm; + % vardef est nécessaire pour pouvoir passer f en argument + vardef f(expr x) = x**2 -.1 enddef; + def axes(expr xmin,xmax,ymin,ymax) = + draw ( (xmin,0) -- (xmax,0) ) scaled u; + draw ( (0,ymin) -- (0,ymax) ) scaled u; + enddef; + def courbe(suffix f)(expr xmin, xmax, M) = + draw ( ( xmin, f(xmin) ) + for i=1 upto M: + -- ( xmin + (i/M)*(xmax - xmin), f( xmin + (i/M)*(xmax - xmin) )) + endfor ) scaled u; + enddef; + vardef newton(suffix f)(expr y, h, M) = + save x,t; + numeric x,t; x:=y; + for i=1 upto M: + t := x - f(x)/( (f(x+h) - f(x))/h ); + draw ( (x,f(x)) -- (t,0) -- (t,f(t)) ) scaled u; + x := t; + endfor; + enddef; + axes(-.5,2,-.5,4); + courbe(f,-.5,2, 100); + newton(f, 2, .01, 10); +endfig; +beginfig(129) + transform T; + u:=1cm; + z0=(0,0); z1=(2u,0); z3 = z1 rotated 90; z2 = z1+z3; + z0 transformed T = .1[z0,z1]; + z1 transformed T = .1[z1,z2]; + z2 transformed T = .1[z2,z3]; + path p; + p = z0--z1--z2--z3--cycle; + fill p withcolor .8*white; + fill p transformed T withcolor white; +endfig; +beginfig(130) + transform T; + u:=1cm; + z0=(0,0); z1=(2u,0); z3 = z1 rotated 90; z2 = z1+z3; + z0 transformed T = .1[z0,z1]; + z1 transformed T = .1[z1,z2]; + z2 transformed T = .1[z2,z3]; + path p; + p = z0--z1--z2--z3--cycle; + for i=0 upto 100: + fill p withcolor .8*white; + p := p transformed T; + fill p withcolor white; + p := p transformed T; + endfor; +endfig; +beginfig(131) + transform T; + u:=1cm; + z1=(0,2u); + n := 5; + for i=1 upto n-1: + z[i+1] = z1 rotated (360*i/n); + endfor; + z1 transformed T = .1[z1,z2]; + z2 transformed T = .1[z2,z3]; + z3 transformed T = .1[z3,z4]; + path p; + p = for i=1 upto n: z[i] -- endfor cycle; + for i=0 upto 100: + fill p withcolor .8*white; + p := p transformed T; + fill p withcolor white; + p := p transformed T; + endfor; +endfig; +beginfig(132) + u:=1cm; + pair A[]; + numeric n; n:=7; + A[0] = (u,0); + for i=1 upto n-1: + A[i] = A[0] rotated (360/n*i); + endfor; + for i=0 upto n-1: + draw A[i] withpen pencircle scaled 4bp; + for j=0 upto n-1: + if i<>j: draw A[i]--A[j] fi; + endfor; + endfor; +endfig; +beginfig(133) + u:=2cm; + numeric n,m; n:=4; m:=5; + pair A[], B[]; + for i=1 upto n-1: A[i+1]-A[i] = (0,.2u); endfor; + for j=1 upto m-1: B[j+1]-B[j] = (0,.2u); endfor; + (0,0) for i=1 upto n: + A[i] endfor = (0,0); + (0,0) for j=1 upto m: + B[j] endfor = (4u,0); + for i=1 upto n: + draw A[i] withpen pencircle scaled 4bp; + endfor; + for j=1 upto m: + draw B[j] withpen pencircle scaled 4bp; + endfor; + for i=1 upto n: + for j=1 upto m: + draw A[i]--B[j]; + endfor; + endfor; +endfig; +beginfig(134) + u:=1cm; + numeric n,m; n:=3; m:=3; + pair A[], B[]; + for i=1 upto n-1: A[i+1]-A[i] = (.5u,0); endfor; + for j=1 upto m-1: B[j+1]-B[j] = (.5u,0); endfor; + (0,0) for i=1 upto n: + A[i] endfor = (0,0); + (0,0) for j=1 upto m: + B[j] endfor = (0,4u); + for i=1 upto n: + draw A[i] withpen pencircle scaled 4bp; + endfor; + for j=1 upto m: + draw B[j] withpen pencircle scaled 4bp; + endfor; + for i=1 upto n: + for j=1 upto m: + draw A[i]--B[j]; + endfor; + endfor; +endfig; +beginfig(135) + pair A[], B[]; + numeric n; n:=6; + for i=0 upto n-1: + A[i] = 1cm * right rotated (i*360/n); + B[i] = 2cm * right rotated (i*360/n); + endfor; + A[n] = A[0]; B[n] = B[0]; + for i=0 upto n-1: + draw A[i] -- A[i+1] -- B[i+1] -- B[i]; + draw A[i] withpen pencircle scaled 4bp; + draw B[i] withpen pencircle scaled 4bp; + endfor; +endfig; +beginfig(136) + numeric n; n:=5; + pair O,A,B,C,D; + O = (0,0); + A = 1cm*up; + B = 2cm*up rotatedabout(A,30); + C = 2cm*up; + D = 2cm*up rotatedabout(A,-30); + for i=0 upto n-1: + draw (O--A--C) rotated (i*360/n); + draw (B--A--D) rotated (i*360/n); + draw A rotated (i*360/n) withpen pencircle scaled 4bp; + draw B rotated (i*360/n) withpen pencircle scaled 4bp; + draw C rotated (i*360/n) withpen pencircle scaled 4bp; + draw D rotated (i*360/n) withpen pencircle scaled 4bp; + endfor; + draw O withpen pencircle scaled 4bp; +endfig; +beginfig(137) + path p; u:=1cm; + p = fullcircle xscaled -u yscaled 3u; + draw p; + for i=2 step .5 until 6: + draw (point 2 of p){down} .. (point i of p); + endfor; +endfig; +beginfig(138) + pair P[], Q[], R[], S[]; + u:=.5cm; + for i=0 upto 4: + P[i] = u* down rotated (i*360/5); + endfor; + P[5] = P[0]; + for i=0 upto 4: + Q[i] = 3*( 1/2[ P[i], P[i+1] ] ); + endfor; + Q[5] = Q[0]; + for i=0 upto 4: + R[i] = 1/3( Q[i] + Q[i+1] + P[i+1] ); + endfor; + R[5] = R[0]; + for i=0 upto 5: + S[i] = 1.5*Q[i]; + endfor; + for i=0 upto 4: + draw P[i] -- P[i+1]; + draw P[i+1] -- R[i]; + draw Q[i] -- R[i]; + draw R[i] -- Q[i+1]; + draw Q[i] -- S[i]; + draw S[i] -- S[i+1]; + endfor; +endfig; +beginfig(139) + pair P[], Q[], R[], S[]; + u:=.5cm; + for i=0 upto 4: + P[i] = u* down rotated (i*360/5); + endfor; + P[5] = P[0]; + for i=0 upto 4: + Q[i] = 3*( 1/2[ P[i], P[i+1] ] ); + endfor; + Q[5] = Q[0]; + for i=0 upto 4: + R[i] = 1/3( Q[i] + Q[i+1] + P[i+1] ); + endfor; + R[5] = R[0]; + for i=0 upto 5: + S[i] = 1.5*Q[i]; + endfor; + for i=0 upto 4: + draw P[i] -- P[i+1]; + draw P[i+1] -- R[i]; + draw Q[i] -- R[i]; + draw R[i] -- Q[i+1]; + draw Q[i] -- S[i]; + draw S[i] -- S[i+1]; + endfor; + draw P[2] -- P[3] -- P[4] -- P[0] -- P[1] -- + R[0] -- Q[0] -- R[4] -- Q[4] -- R[3] + -- Q[3] -- R[2] -- Q[2] -- + S[2] -- S[3] -- S[4] -- S[0] -- S[1] -- + Q[1] -- R[1] -- cycle + withpen pencircle scaled 2bp; +endfig; +beginfig(140) + for i=1 step -.01 until 0: + fill fullcircle scaled (i*2cm) withcolor i*white; + endfor; + draw fullcircle scaled 2cm withpen pencircle scaled 2bp; +endfig; +beginfig(141) + u:=5mm; + path p; + p = (0,0) .. (-1,1) .. (2,0) .. (0,-3) .. cycle; + p := p shifted (-1,0); + for i=1 step -.01 until 0: + fill p scaled (i*u) withcolor i*white; + endfor; + draw p scaled u withpen pencircle scaled 2bp; +endfig; +beginfig(142) + z0 = (50,50); + z1 = z0 rotated 90; + z2 = z1 rotated 90; + z3 = z2 rotated 90; + path carre; + carre = z0--z1--z2--z3--cycle; + s := .01; + path rect; + z4 = s [z2,z3]; z5 = s [z1,z0]; + rect = z1--z2--z4--z5--cycle; + for i=0 step s until 1: + fill rect shifted (i*(z0-z1)) withcolor i*white; + endfor; + draw carre withpen pencircle scaled 2bp; +endfig; +beginfig(143) + z0 = (50,50); + z1 = z0 rotated 90; + z2 = z1 rotated 90; + z3 = z2 rotated 90; + path carre; + carre = z0--z1--z2--z3--cycle; + s := .01; + for i=1 step -s until s: + fill carre scaled i withcolor i*white; + endfor; +endfig; +beginfig(144) + u:=1cm; + vardef degrade(expr p,q,M,N) = + save a,b; + numeric a,b; + a := length(p); + b := length(q); + for i=0 upto M: + draw (i/M) [ point 0 of p, point 0 of q ] + for j=1 upto N: + .. (i/M) [ point (j/N*a) of p, point (j/N*b) of q ] + endfor; + endfor; + enddef; + degrade( + (-.1u,-.1u) .. (.1u,.1u) .. cycle, + (-u,-u) -- (u,-u) -- (u,u) -- (-u,u) -- cycle, + 10, + 100); +endfig; +beginfig(145) + u:=1cm; + def couleur(expr c) = c*white enddef; + vardef degrade(expr p,q,M,N) = + save a,b; + numeric a,b; + a := length(p); + b := length(q); + for i=0 upto M: + draw (i/M) [ point 0 of p, point 0 of q ] + for j=1 upto N: + .. (i/M) [ point (j/N*a) of p, point (j/N*b) of q ] + endfor + withcolor couleur(i/M); + endfor; + enddef; + degrade( + (-.5u,-.5u) .. (.5u,.5u) .. cycle, + (-u,-u) -- (u,-u) -- (u,u) -- (-u,u) -- cycle, + 255, + 100); +endfig; +beginfig(146) + def degrade(expr p, q, N) = + begingroup + save n, m, M; + numeric n, m, M; + n := length(p); + m := length(q); + M := n*m; % Il faudrait prendre le ppcm + for i=0 upto N: + draw + (i/N)[ point 0 of p, point 0 of q ] + { (i/N)[ direction 0 of p, direction 0 of q ] } + for j=1 upto M-1: + .. + { (i/N) [ direction 1 of subpath((j-1)*n/M,j*n/M) of p, + direction 1 of subpath((j-1)*m/M,j*m/M) of q ] } + (i/N)[ point (j*n/M) of p, point (j*m/M) of q ] + { (i/N) [ direction 0 of subpath(j*n/M,(j+1)*n/M) of p, + direction 0 of subpath(j*m/M,(j+1)*m/M) of q ] } + endfor + .. + { (i/N)[ direction n of p, direction m of q ] } + (i/N)[ point n of p, point m of q ] + ; + endfor; + endgroup; + enddef; + numeric u; + u := 2cm; + path p, q; + p := fullcircle scaled u; + q := (-u,-u)--(u,-u)--(u,u)--(-u,u)--cycle; + degrade(p,q,10); +endfig; +beginfig(147) + draw for i=0 step 10 until 360: + 2cm* (sind(2*i), cosd(3*i)) .. + endfor cycle; +endfig; +beginfig(148) + for i=0 step .1 until 360: + col := i/360; + draw 2cm* (sind(2*i), cosd(3*i)) + withpen pencircle scaled 2bp + withcolor + if col>.5: (2*(1-col)) [red, blue] + else: (1-2col) [blue, red] + fi; + endfor; +endfig; +beginfig(149) + def couleur(expr x) = + if x>.5: (2*(1-x)) [red, blue]; + else: (1-2x) [blue, red] + fi + enddef; + for i=0 step .1 until 360: + draw 2cm* (sind(2*i), cosd(3*i)) + withpen pencircle scaled 2bp + withcolor couleur(i/360); + endfor; +endfig; +beginfig(150) + for i=0 step 1 until 360: + pair P; + P = 2cm* (sind(2*i), cosd(3*i)); + fill fullcircle scaled 4mm shifted P withcolor white; + draw fullcircle scaled 4mm shifted P; + endfor; +endfig; +beginfig(151) + for i=0 step 1 until 360: + pair P; + P = 2cm* (sind(2*i), cosd(3*i)); + fill fullcircle scaled 4mm shifted P withcolor white; + draw fullcircle scaled 4mm shifted P; + endfor; + picture p; + p:=nullpicture; + for i=-180 step 1 until 180: + pair P; + P = 2cm* (sind(2*i), cosd(3*i)); + addto p contour fullcircle scaled 4mm shifted P withcolor white; + addto p doublepath fullcircle scaled 4mm shifted P + withpen pencircle scaled .5bp; + endfor; + clip p to (.5cm,2.5cm) -- (.5cm,1.5cm)-- + (-.5cm,1.5cm) -- (-.5cm,2.5cm)--cycle; + draw p; +endfig; +beginfig(152) + u:=5mm; + vardef project(expr x,y,z) = + x*(-1,-1) + y*(1,0) + z*(0,1) + enddef; + vardef f(expr x,y) = sind(x/u*180)*sind(y/u*180)*u enddef; + numeric m,M; + m:=-2u; M:=2u; + for i=m step .1u until M: + path p; + p = + for j=m step .1u until M: + project(i,j,f(i,j)) -- + endfor + project(i,M,f(i,M)); + fill (project(i,m,f(i,m)) - (0,3u)) -- p -- + (project(i,M,f(i,M)) - (0,3u)) -- cycle + withcolor white; + draw (project(i,m,f(i,m)) - (0,3u)) -- p -- + (project(i,M,f(i,M)) - (0,3u)) -- cycle; + draw p; + endfor; +endfig; +beginfig(153) + vardef project(expr x,y,z) = + x*(-1,-1) + y*(1,0) + z*(0,1) + enddef; + vardef f(expr x,y) = sind(x/u*180)*sind(y/u*180)*u enddef; + m:=-2u; M:=2u; inc:=.1u; + for i=m step inc until M: + for j=m step inc until M: + path p; + p = project(i,j,f(i,j)) -- + project(i,j+inc,f(i,j+inc)) -- + project(i+inc,j+inc,f(i+inc,j+inc)) -- + project(i+inc,j,f(i+inc,j)) -- + cycle; + fill p withcolor white; + draw p; + endfor + endfor; +endfig; +beginfig(154) + vardef project(expr x,y,z) = + x*(-1,-1) + y*(1,0) + z*(0,1) + enddef; + vardef f(expr x,y) = sind(x/u*180)*sind(y/u*180)*u enddef; + numeric m,M,inc,couleur; + m:=-2u; M:=2u; inc:=.1u; + for i=m step inc until M: + for j=m step inc until M: + path p; + p = project(i,j,f(i,j)) -- + project(i,j+inc,f(i,j+inc)) -- + project(i+inc,j+inc,f(i+inc,j+inc)) -- + project(i+inc,j,f(i+inc,j)) -- + cycle; + dfdx := (f(i,j) - f(i+inc,j))/inc; + dfdy := (f(i,j) - f(i,j+inc))/inc; + couleur := 1/sqrt( dfdx**2 + dfdy**2 + 1); + fill p withcolor couleur*(red+green); + endfor + endfor; +endfig; +beginfig(155) +vardef f(expr x,y) = sind(x/u*180)*sind(y/u*180)*u enddef; + +boolean dessine_fil_de_fer; dessine_fil_de_fer := false; +color dessine_couleur; dessine_couleur := red+green; + +vardef dessine(suffix f)(expr xmin, xmax, xinc, ymin, ymax, yinc) = + save i,j,p,dfdx,dfdy,project; + vardef project(expr x,y,z) = + x*(-1,-1) + y*(1,0) + z*(0,1) + enddef; + for i=m step inc until M: + for j=m step inc until M: + path p; + p = project(i,j,f(i,j)) -- + project(i,j+inc,f(i,j+inc)) -- + project(i+inc,j+inc,f(i+inc,j+inc)) -- + project(i+inc,j,f(i+inc,j)) -- + cycle; + dfdx := (f(i,j) - f(i+inc,j))/inc; + dfdy := (f(i,j) - f(i,j+inc))/inc; + couleur := 1/sqrt( dfdx**2 + dfdy**2 + 1); + fill p withcolor couleur*dessine_couleur; + if dessine_fil_de_fer: draw p fi; + endfor + endfor; +enddef; + + % Il faudrait pouvoir choisir différents + % types d'« éclairage ». + vardef f(expr x,y) = sind(x/u*180)*sind(y/u*180)*u enddef; + dessine(f,-2u,2u,.1u, -2u,2u,.1u); +endfig; +beginfig(156) + vardef random_path (expr n) = + save i, A ; numeric i; pair A[]; + for i=0 upto n: + A[i] = (uniformdeviate(2u), uniformdeviate(2u)); + endfor; + A[0] + for i=1 upto n: + .. A[i] + endfor + enddef; + + vardef intersections(expr p,q) = + save a,b,N,i,j; + numeric N,i,j; + N:=10; + for i=0 step length(p)/N until length(p): + for j=0 step length(q)/N until length(p): + numeric a,b; + pair A; + (a,b) = (subpath(i,i+length(p)/N) of p) + intersectiontimes + (subpath(j,j+length(q)/N) of q); + if a <> -1: + A = point a of subpath(i,i+length(p)/N) of p; + show A; + draw A withpen pencircle scaled 4bp; + fi; + endfor; + endfor; + enddef; + + path p,q; + p:=random_path(4); + q:=random_path(4); + draw p withcolor red; + draw q withcolor blue; + intersections(p,q); +endfig; +beginfig(157) + vardef auto_intersections(expr p) = + save a,b,N,i,j; + numeric N,i,j; + N:=100; + for i=0 step length(p)/N until length(p): + for j=i+2*length(p)/N + step length(p)/N + until length(p): + numeric a,b; + pair A; + (a,b) = (subpath(i,i+length(p)/N) of p) + intersectiontimes + (subpath(j,j+length(p)/N) of p); + if a <> -1: + A = point a of subpath(i,i+length(p)/N) of p; + show A; + draw A withpen pencircle scaled 4bp; + fi; + endfor; + endfor; + enddef; + + u:=2cm; + path p,q; + p:=random_path(12); + draw p; + auto_intersections(p); +endfig; +beginfig(158) + path p; + p := (0,0){up} .. (1cm,1cm) .. (1cm,0); + draw p; + draw point 1/2length(p) of p + withpen pencircle scaled 4bp withcolor red; + draw point (arctime (1/2 arclength(p)) of p) of p + withpen pencircle scaled 4bp; + +endfig; +beginfig(159) + vardef milieu(expr p) = + save l,i,tot,A,B; + numeric l,tot,i; + pair A,B; + tot := longueur(p); + l:=0; + B := point 0 of p; + for i:=0 step .01 until length(p): + A := B; + B := point i of p; + l := l+abs(B-A); + exitif l > 1/2 tot; + endfor; + 1/2[A,B] + enddef; + + path p; + p := (0,0){up} .. (1cm,1cm) .. (1cm,0); + draw p; + draw point 1/2length(p) of p withpen pencircle scaled 4bp withcolor red; + draw milieu(p) withpen pencircle scaled 4bp; +endfig; +beginfig(160) + vardef milieu_time(expr p) = + save l,i,tot,A,B,t; + numeric l,tot,i,t; + pair A,B; + tot := longueur(p); + l:=0; + B := point 0 of p; + for i:=0 step .01 until length(p): + t:=i; + A := B; + B := point i of p; + l := l+abs(B-A); + exitif l > 1/2 tot; + endfor; + t % Pas de point-virgule + enddef; + + save arrowhead; + vardef arrowhead expr p = + save A,u; pair A,u; + A := milieu(p); + u := unitvector(direction milieu_time(p) of p); + A -- (A - ahlength*u rotated 15) -- + (A - ahlength*u rotated -15) -- cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(161) + save arrowhead; + vardef arrowhead expr p = + save A,B,u; pair A,B,u; + A := milieu(p); + B := p intersectionpoint + (fullcircle scaled ahlength shifted A); + u := unitvector(direction milieu_time(p) of p); + A -- (A - ahlength*u rotated 30) -- B -- + (A - ahlength*u rotated -30) -- cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(162) + save arrowhead; + vardef arrowhead expr p = + save A,u; pair A,u; + A := milieu(p); + u := unitvector(direction milieu_time(p) of p); + A -- (A - ahlength*u rotated 30) -- A -- + (A - ahlength*u rotated -30) -- cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(163) + save arrowhead; + vardef arrowhead expr p = + save A,u,a,b; pair A,u; path a,b; + A := milieu(p); + u := unitvector(direction milieu_time(p) of p); + a := A{-u} .. (A - ahlength*u rotated 30); + b := A{-u} .. (A - ahlength*u rotated -30); + ( a & reverse(a) & b & reverse(b) ) --cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(164) + pair A,B,C; + C = 3mm*up; + A = C rotated 120; + B = C rotated -120; + picture pic ; + pic:=nullpicture; + addto pic doublepath A--B--C--cycle withpen currentpen; + addto pic doublepath A withpen pencircle scaled 4bp; + addto pic doublepath B withpen pencircle scaled 4bp; + addto pic doublepath C withpen pencircle scaled 4bp; + for i=-3 upto 3: + for j=-3 upto 3: + draw pic shifted( i*(B-A) + j*(C-A) ); + endfor; + endfor; + clip currentpicture to (-2cm,-2cm)--(2cm,-2cm)--(2cm,2cm)--(-2cm,2cm)--cycle; +endfig; +beginfig(165) + pair A,B,C; + C = 3mm*up; + A = C rotated 120; + B = C rotated -120; + picture pic ; + pic:=nullpicture; + path p; + p := A{(C-A) rotated 30} .. C{(C-A) rotated 30}; + addto pic doublepath p withpen currentpen; + addto pic doublepath p rotated 120 withpen currentpen; + addto pic doublepath p rotated -120 withpen currentpen; + for i=-3 upto 3: + for j=-3 upto 3: + draw pic shifted( i*(B-A) + j*(C-A) ); + endfor; + endfor; + clip currentpicture to (-2cm,-2cm)--(2cm,-2cm)--(2cm,2cm)--(-2cm,2cm)--cycle; +endfig; +beginfig(166) + ux:=2mm; + uy:=5mm; + numeric xmin, xmax, ymin, ymax, M; + xmin := -6.3; xmax := 12.6; + ymin := -2; ymax := 2; + M := 100; + draw (ux*xmin,0) -- (ux*xmax,0); + draw (0,uy*ymin) -- (0,uy*ymax); + pair a[]; + for i=0 upto M: + a[i] := ( + xmin + (i/M)*(xmax-xmin), + sind(180/3.14*( xmin + (i/M)*(xmax-xmin) )) + ) xscaled ux yscaled uy; + endfor; + draw a[0] for i=1 upto M: --a[i] endfor; +endfig; +beginfig(167) + ux:=5mm; + uy:=2mm; + numeric xmin, xmax, ymin, ymax, M; + xmin := -2; xmax := 2; + ymin := -.1; ymax := 8; + M := 100; + draw (ux*xmin,0) -- (ux*xmax,0); + draw (0,uy*ymin) -- (0,uy*ymax); + pair a[]; + for i=0 upto M: + a[i] := ( + xmin + (i/M)*(xmax-xmin), + mexp(256*( xmin + (i/M)*(xmax-xmin) )) + ) xscaled ux yscaled uy; + endfor; + draw a[0] for i=1 upto M: --a[i] endfor; +endfig; +beginfig(168) + ux:=5mm; + uy:=5mm; + numeric xmin, xmax, ymin, ymax, M; + xmin := .2; xmax := 3; + ymin := -1.6; ymax := 1.2; + M := 100; + draw (ux*-.1,0) -- (ux*xmax,0); + draw (0,uy*ymin) -- (0,uy*ymax); + pair a[]; + for i=0 upto M: + a[i] := ( + xmin + (i/M)*(xmax-xmin), + (1/256)*mlog(( xmin + (i/M)*(xmax-xmin) )) + ) xscaled ux yscaled uy; + endfor; + draw a[0] for i=1 upto M: --a[i] endfor; +endfig; +beginfig(169) + path p; + p = fullcircle scaled 2cm; + z0 = (-1cm,0); + draw p; + draw z0 withpen pencircle scaled 2pt; + + pair A[]; + for i=0 step length(p)/100 until length(p): + pair M,N; + M = point i of p; + N-M = whatever * direction i of p; + N-z0 = whatever * direction i of p rotated 90; + A[i] := N; + endfor; + draw for i=0 step length(p)/100 until length(p): + A[i] .. + endfor cycle; +endfig; +beginfig(170) +vardef cardiodide(expr p, O) = + save i,M,N; + numeric i; + for i=0 step length(p)/100 until length(p): + hide( + pair M,N; + M = point i of p; + N-M = whatever * direction i of p; + N-O = whatever * direction i of p rotated 90; + ) + N .. + endfor cycle +enddef; + + path p; + p = fullcircle scaled 2cm; + z0 = (-1cm,0); + draw p; + draw z0 withpen pencircle scaled 2pt; + draw cardiodide(p,z0); +endfig; +beginfig(171) +vardef cardiodide(expr p, O) = + save i,M,N; + numeric i; + for i=0 step length(p)/100 until length(p): + hide( + pair M,N; + M = point i of p; + N-M = whatever * direction i of p; + N-O = whatever * direction i of p rotated 90; + ) + N .. + endfor cycle +enddef; + + path p; + p = fullcircle scaled 2cm; + z0 = (-1cm,0); + pickup pencircle scaled 1pt + draw p; + draw z0 withpen pencircle scaled 3pt; + draw cardiodide(p,z0); + pickup pencircle scaled .4pt + pair M,N; + i:=1.5; + M = point i of p; + N-M = whatever * direction i of p; + N-z0 = whatever * direction i of p rotated 90; + draw z0--N; + draw (-1/2)[N,M]--(3/2)[N,M]; + draw N withpen pencircle scaled 3pt; + draw M withpen pencircle scaled 3pt; +endfig; +beginfig(172) + path p; + p := (-1cm,0) .. (1cm,-1cm) .. (8mm,0) + .. (1cm,1cm) .. (-1cm,1cm) .. cycle; + z0 = (-2cm,0); + draw p withpen pencircle scaled 1bp; + draw z0 withpen pencircle scaled 3pt; + draw cardiodide(p,z0); +endfig; +beginfig(173) +vardef inversion (expr O,k,M) = + if pair M: + (O + k*unitvector(M-O)/abs(M-O)) + elseif path M: + for i=0 step length(M)/100 until length(M): + inversion(O,k,point i of M) .. + endfor + cycle + fi +enddef; + + u:=4cm; + path p[],A,B; + + z0 = (5u,0) rotated 10; + + A = fullcircle scaled 2u; + B = A scaled 3; + draw inversion( z0, 2 (u**2), A ) + withpen pencircle scaled 1pt; + draw inversion( z0, 2 (u**2), B ) + withpen pencircle scaled 1pt; + + p0 = fullcircle scaled 2u shifted (2u,0); + for i=0 upto 5: + if i<>0: + p[i] = p[i-1] rotated (360/6); + fi; + draw inversion( z0, 2 (u**2), p[i] ); + endfor; +endfig; +beginfig(174) + def curve(expr p,i,q,j,t) = + point i of p {direction i of p} .. + tension t .. + point j of q {direction j of q} + enddef; + + vardef sphere_with_holes (expr n) = + save i; + c[0] = fullcircle xscaled u yscaled 2u + shifted (4u,0) rotated (360/(2n)) ; + draw c[0]; + for i=1 upto n-1: + c[i] = c[i-1] rotated (360/n); + draw c[i]; + endfor; + l[0] = curve(c[0], 2, c[1], -2, 1); + draw l[0]; + for i=1 upto n-1: + l[i] = l[i-1] rotated (360/n); + draw l[i]; + endfor; + enddef; + + u:=3mm; + path c[], l[]; + sphere_with_holes(5); +endfig; +beginfig(175) + def curve(expr p,i,q,j,t) = + point i of p {direction i of p} .. + tension t .. + point j of q {direction j of q} + enddef; + + vardef sphere_with_holes (expr n) = + save i; + c[0] = fullcircle xscaled u yscaled 2u + shifted (4u,0) rotated (360/(2n)) ; + for i=1 upto n-1: + c[i] = c[i-1] rotated (360/n); + endfor; + l[0] = curve(c[0], 2, c[1], -2, 1); + for i=1 upto n-1: + l[i] = l[i-1] rotated (360/n); + endfor; + fill for i=0 upto n-1: + ( reverse subpath(2,6) of c[i] ) & + l[i] & + endfor + % To turn it into a cycle (ugly) + point length(l[n-1]) of l[n-1] -- cycle + withcolor .8white; + for i=0 upto n-1: + draw c[i]; draw l[i]; + endfor; + enddef; + + u:=3mm; + path c[], l[]; + sphere_with_holes(5); +endfig; +beginfig(176) + path c[], l[]; + sphere_with_holes(6); + def ellipse(expr a,b,c,d,e) = + draw curve(a,b,c,d,e) ; + draw curve(c,d,a,b,e) dashed evenly; + enddef; + + ellipse (l[0], 2/3, l[2], 1/3, 4); + ellipse (l[1], 2/3, l[3], 1/3, 4); + ellipse (l[2], 2/3, l[4], 1/3, 4); + ellipse (l[3], 2/3, l[5], 1/3, 4); + ellipse (l[4], 2/3, l[0], 1/3, 4); + ellipse (l[5], 2/3, l[1], 1/3, 4); +endfig; +beginfig(177) + vardef bar(expr m,a,b,c) = + m = 1/3a + 1/3b + 1/3c + enddef; + vardef dbar(expr m,a,b,c) = + draw m--a; draw m--b; draw m--c; + draw m withpen pencircle scaled 4bp; + enddef; + + pair P[], A,B,C; + for i=0 upto 4: + P[i] = 1cm * up rotated (i*360/5); + draw P[i] withpen pencircle scaled 4bp; + endfor; + bar(A, P[0], P[4], B); + bar(B, A, P[1], C); + bar(C, B, P[2], P[3]); + draw fullcircle scaled 2cm dashed evenly; + dbar(A, P[0], P[4], B); + dbar(B, A, P[1], C); + dbar(C, B, P[2], P[3]); +endfig; +beginfig(178) +% M est sur la bissectrice de l'angle A +vardef bissectrice(expr M,A,B,C) = + (M-A) = whatever * ( + (A-C) rotated 1/2(angle(B-A) - angle(C-A))) +enddef; + +% Le cercle inscrit +vardef cercle_inscrit(expr A,B,C) = + save M, h; pair M, h; + bissectrice(M,A,B,C); + bissectrice(M,B,C,A); + M-h = whatever * (B-C) rotated 90; + h = whatever[B,C]; + fullcircle scaled 2 length(M-h) shifted M +enddef; + + pair A,B,C,M; + u:=2cm; + A=(0,0); B=(2u,-.5u); C=(u,u); + draw A--B--C--cycle; + bissectrice(M, A,B,C); + bissectrice(M, B,C,A); + draw M--A; draw M--B; draw M--C; + draw cercle_inscrit(A,B,C); +endfig; +beginfig(179) +vardef premiere_trisectrice (expr M, A,B,C) = + (M-A) = whatever * ( (A-B) rotated 1/3 (angle(C-A) - angle(B-A)) ) +enddef; + +vardef deuxieme_trisectrice (expr M, A,B,C) = + (M-A) = whatever * ( (A-B) rotated 2/3 (angle(C-A) - angle(B-A)) ) +enddef; + + pair A,B,C,M[]; + u:=2cm; + A=(0,0); B=(2u,-.5u); C=(u,u); + draw A--B--C--cycle; + + premiere_trisectrice(M1,A,B,C); + deuxieme_trisectrice(M1,B,C,A); + premiere_trisectrice(M2,B,C,A); + deuxieme_trisectrice(M2,C,A,B); + premiere_trisectrice(M3,C,A,B); + deuxieme_trisectrice(M3,A,B,C); + + draw M1--A; draw M1--B; + draw M2--B; draw M2--C; + draw M3--C; draw M3--A; + + draw M1--M2--M3--cycle; +endfig; +beginfig(180) + save arrowhead; + vardef arrowhead expr p = + save A,u; pair A,u; + A := point length(p) of p; + u := unitvector(direction length(p) of p); + A -- (A - ahlength*u rotated 15) -- + (A - ahlength*u rotated -15) -- cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(181) + save arrowhead; + vardef arrowhead expr p = + save A,B,u; pair A,B,u; + A := point length(p) of p; + B := p intersectionpoint + (fullcircle scaled ahlength shifted A); + u := unitvector(direction length(p) of p); + A -- (A - ahlength*u rotated 30) -- B -- + (A - ahlength*u rotated -30) -- cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(182) + save arrowhead; + vardef arrowhead expr p = + save A,u; pair A,u; + A := point length(p) of p; + u := unitvector(direction length(p) of p); + A -- (A - ahlength*u rotated 30) -- A -- + (A - ahlength*u rotated -30) -- cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(183) + save arrowhead; + vardef arrowhead expr p = + save A,u,a,b; pair A,u; path a,b; + A := point length(p) of p; + u := unitvector(direction length(p) of p); + a := A{-u} .. (A - ahlength*u rotated 30); + b := A{-u} .. (A - ahlength*u rotated -30); + ( a & reverse(a) & b & reverse(b) ) --cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(184) + save arrowhead; + vardef arrowhead expr p = + save A,u; pair A,u; + A := point 1/2length(p) of p; + u := unitvector(direction 1/2length(p) of p); + A -- (A - ahlength*u rotated 15) -- + (A - ahlength*u rotated -15) -- cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(185) + save arrowhead; + vardef arrowhead expr p = + save A,B,u; pair A,B,u; + A := point 1/2length(p) of p; + B := p intersectionpoint + (fullcircle scaled ahlength shifted A); + u := unitvector(direction 1/2length(p) of p); + A -- (A - ahlength*u rotated 30) -- B -- + (A - ahlength*u rotated -30) -- cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(186) + save arrowhead; + vardef arrowhead expr p = + save A,u; pair A,u; + A := point 1/2length(p) of p; + u := unitvector(direction 1/2length(p) of p); + A -- (A - ahlength*u rotated 30) -- A -- + (A - ahlength*u rotated -30) -- cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(187) + save arrowhead; + vardef arrowhead expr p = + save A,u,a,b; pair A,u; path a,b; + A := point 1/2length(p) of p; + u := unitvector(direction 1/2length(p) of p); + a := A{-u} .. (A - ahlength*u rotated 30); + b := A{-u} .. (A - ahlength*u rotated -30); + ( a & reverse(a) & b & reverse(b) ) --cycle + enddef; + + u:=1cm; + drawarrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(188) + def drawwhitearrow expr p = _apth:=p; _finwhitearr enddef; + + def _finwhitearr text t = + draw _apth t; + fill arrowhead _apth t withcolor white; + draw arrowhead _apth t + enddef; + + u:=1cm; + drawwhitearrow (0,0) .. (-u,u) .. (u,u); +endfig; +beginfig(189) + def draw_white_arrow expr p = _apth:=p; _fin_white_arr enddef; + def _fin_white_arr text t = + draw _apth t; + fill arrowhead _apth withcolor white; + draw arrowhead _apth t + enddef; + + def draw_middle_arrow expr p = _apth:=p; _fin_middle_arr enddef; + def _fin_middle_arr text t = + draw _apth t; + filldraw arrowhead_middle _apth t + enddef; + vardef arrowhead_middle expr p = + save A,u; pair A,u; + A := point (arctime (.5arclength p) of p) of p; + u := unitvector(direction (arctime (.5arclength p) of p) of p); + A -- (A - ahlength*u rotated (.5ahangle) ) -- + (A - ahlength*u rotated (-.5ahangle) ) -- cycle + enddef; + + def draw_middle_white_arrow expr p = _apth:=p; _fin_middle_white_arr enddef; + let draw_white_middle_arrow = draw_middle_white_arrow; + def _fin_middle_white_arr text t = + draw _apth t; + fill arrowhead_middle _apth t withcolor white; + draw arrowhead_middle _apth t + enddef; + + def draw_other_arrow expr p = _apth:=p; _fin_other_arr enddef; + def _fin_other_arr text t = + draw _apth t; + draw arrowhead_other _apth t + enddef; + vardef arrowhead_other expr p = + save A,u,a,b; pair A,u; path a,b; + A := point (length p) of p; + u := unitvector(direction (length p) of p); + a := A{-u} .. (A - ahlength*u rotated 30); + b := A{-u} .. (A - ahlength*u rotated -30); + ( a & reverse(a) & b & reverse(b) ) --cycle + enddef; + + def draw_other_middle_arrow expr p = _apth:=p; _fin_other_middle_arr enddef; + let draw_middle_other_arrow = draw_other_middle_arrow; + def _fin_other_middle_arr text t = + draw _apth t; + draw arrowhead_other_middle _apth t + enddef; + vardef arrowhead_other_middle expr p = + save A,u,a,b; pair A,u; path a,b; + A := point (arctime (.5arclength p) of p) of p; + u := unitvector(direction (arctime (.5arclength p) of p) of p); + a := A{-u} .. (A - ahlength*u rotated 30); + b := A{-u} .. (A - ahlength*u rotated -30); + ( a & reverse(a) & b & reverse(b) ) --cycle + enddef; + + path p; + p := halfcircle scaled 2cm; + p := (0,0) .. (3cm,1cm) .. (-1cm,3cm); + p := p scaled .3; + draw_middle_arrow p; + draw_white_arrow p scaled 1.3 withpen pencircle scaled 1bp; + draw_white_middle_arrow p scaled 1.6; + draw_other_middle_arrow p scaled 1.8 withpen pencircle scaled 1bp; + draw_other_arrow p scaled 2 withpen pencircle scaled 1bp; +endfig; +beginfig(190) + vardef mylabel(expr pic, p, t) = + save A; pair A; + A = point t of p + + 8bp * unitvector(direction t of p) rotated 90; + label(pic, A); + enddef; + path p; u:=1cm; + p = (0,0)..(-u,u)..(u,u); + draw p; + for i=0 step .2 until length(p): + draw point i of p withpen pencircle scaled 4bp; + mylabel(btex $A$ etex,p,i); + endfor; +endfig; +beginfig(191) + vardef mylabel(expr pic, p, t) = + save A; pair A; + A = point t of p + + 8bp * unitvector(direction t of p) rotated 90; + label(pic, A); + enddef; + path p; u:=1cm; + p = (0,0)..(-u,u)..(u,u); + draw p; + for i=0 step .2 until length(p): + draw point i of p withpen pencircle scaled 4bp; + mylabel(TEX decimal(i),p,i); + endfor; +endfig; +beginfig(192) + vardef mylabel(expr pic, p, t) = + save A,a; pair A; numeric a; + a := angle(direction t of p rotated 90); + show(a); + a := a + 45/2; + if a>180: a := a - 360 fi; + save ll, lr, ul, ur; + pair ul,ur,ll,lr; + ll := llcorner pic; + lr := lrcorner pic; + ul := ulcorner pic; + ur := urcorner pic; + A = point t of p + + 8bp * unitvector(direction t of p) rotated 90; + label(pic shifted ll, A + + if (a >= 0) and (a <= 45): 1/2(ur-ul) + elseif (a >= 45) and (a <= 90): 1/2(ur-ul) + 1/2(ur-lr) + elseif (a >= 90) and (a <= 135): 1/2(ur-lr) + elseif (a >= 135) and (a <= 180): 1/2(ll-lr) + 1/2(ur-lr) + elseif (a >= -180) and (a <= -135): 1/2(ll-lr) + elseif (a >= -135) and (a <= -90): 1/2(ll-ul) + 1/2(ll-lr) + elseif (a >= -90) and (a <= -45): 1/2(ll-ul) + elseif (a >= -45) and (a <= 0): 1/2(ll-ul) - 1/2(ll-lr) + else: hide(show "BUG") (0,0) + fi); + draw A withpen pencircle scaled 2bp withcolor red; + enddef; + path p; u:=1cm; + p = (0,0)..(-u,u)..(u,u); + p := reverse fullcircle scaled 2u; + draw p; + for i=0 step length(p)/10 until length(p): + draw point i of p withpen pencircle scaled 4bp; + mylabel(TEX decimal(i),p,i); + endfor; +endfig; +beginfig(193) + n:=8; + u:=5mm; + for i=0 upto n-1: + for j=0 upto n-1: + if odd(i+j): + fill (0,0)--(u,0)--(u,u)--(0,u)--cycle + shifted (i*u,j*u) withcolor .8white; + fi; + endfor; + endfor; + for i=0 upto n: + draw (0,i*u)--(n*u,i*u); + draw (i*u,0)--(i*u,n*u); + endfor; +endfig; +beginfig(194) + n:=8; + u:=5mm; + for i=0 upto n-1: + for j=0 upto n-1: + if odd(i+j): + for k=0 step u/5 until u: + draw ( (k,0)--(u,u-k) ) + shifted (i*u,j*u); + draw ( (0,k)--(u-k,u) ) + shifted (i*u,j*u); + endfor; + fi; + endfor; + endfor; + for i=0 upto n: + draw (0,i*u)--(n*u,i*u); + draw (i*u,0)--(i*u,n*u); + endfor; +endfig; +beginfig(195) + n:=8; + u:=5mm; + for i=0 upto n-1: + for j=0 upto n-1: + if odd(i+j): + for k=0 step u/5 until 4/5 u: + if odd(k*5/u): + fill ( (k,0)--(u,u-k)--(u,u-k-u/5)-- + (k+u/5,0)--cycle ) + shifted (i*u,j*u) withcolor .8white; + else: + fill ( (0,k)--(u-k,u)--(u-k-u/5,u)-- + (0,k+u/5)--cycle ) + shifted (i*u,j*u) withcolor .8white; + fi; + endfor; + fi; + endfor; + endfor; + for i=0 upto n: + draw (0,i*u)--(n*u,i*u); + draw (i*u,0)--(i*u,n*u); + endfor; +endfig; +beginfig(196) + vardef trace (suffix f)(expr a,b,inc) = + save i; numeric i; + for i=a step inc until b: + (i*1cm, f(i)*1cm) .. + endfor (b*1cm, f(b)*1cm) + enddef; + + vardef axes = + save p; picture p; + p:=nullpicture; + addto p doublepath (-infinity,0)--(infinity,0) withpen currentpen; + addto p doublepath (0,-infinity)--(0,infinity) withpen currentpen; + clip p to bbox currentpicture; + draw p; + enddef; + + vardef trace_rectangles_left (suffix f)(expr a,b,inc) = + save i; numeric i; + for i=a step inc until b-inc: + path p; + p = (i,0)--(i+inc,0)--(i+inc,f(i))--(i,f(i))--cycle; + p := p scaled 1cm; + fill p withcolor .8*white; + draw p; + endfor; + enddef; + + vardef f(expr x) = 2 ** x enddef; + + trace_rectangles_left(f,-2,2,.5); + draw trace(f, -2,2,.1); + axes; +endfig; +beginfig(197) + vardef trace_trapezes (suffix f)(expr a,b,inc) = + save i; numeric i; + for i=a step inc until b-inc: + path p; + p = (i,0)--(i+inc,0)--(i+inc,f(i+inc))--(i,f(i))--cycle; + p := p scaled 1cm; + fill p withcolor .8*white; + draw p; + endfor; + enddef; + + vardef f(expr x) = 4 - x**2 enddef; + + trace_trapezes(f,-2,2,.5); + draw trace(f, -2,2,.1); + axes; +endfig; +beginfig(198) + vardef trace_rectangles_right (suffix f)(expr a,b,inc) = + save i; numeric i; + for i=a step inc until b-inc: + path p; + p = (i,0)--(i+inc,0)--(i+inc,f(i+inc))--(i,f(i+inc))--cycle; + p := p scaled 1cm; + fill p withcolor .8*white; + draw p; + endfor; + enddef; + + trace_rectangles_right(f,-2,2,.5); + draw trace(f, -2,2,.1); + axes; +endfig; +beginfig(199) + vardef maxf(suffix f)(expr a,b) = + save m,i; numeric m,i; + m:=f(a); + for i=a step (b-a)/100 until b: + if m<f(i): m:=f(i); fi; + endfor; + m + enddef; + + vardef trace_rectangles_max (suffix f)(expr a,b,inc) = + save i; numeric i; + for i=a step inc until b-inc: + path p; numeric m; + m:=maxf(f,i,i+inc); + p = (i,0)--(i+inc,0)--(i+inc,m)--(i,m)--cycle; + p := p scaled 1cm; + fill p withcolor .8*white; + draw p; + endfor; + enddef; + + vardef f(expr x) = 4 - x**2 enddef; + + trace_rectangles_max(f,-2,2,.5); + draw trace(f, -2,2,.1); + axes; +endfig; +beginfig(200) + vardef minf(suffix f)(expr a,b) = + save m,i; numeric m,i; + m:=f(a); + for i=a step (b-a)/100 until b: + if m>f(i): m:=f(i); fi; + endfor; + m + enddef; + + vardef trace_rectangles_min (suffix f)(expr a,b,inc) = + save i; numeric i; + for i=a step inc until b-inc: + path p; numeric m; + m:=minf(f,i,i+inc); + p = (i,0)--(i+inc,0)--(i+inc,m)--(i,m)--cycle; + p := p scaled 1cm; + fill p withcolor .8*white; + draw p; + endfor; + enddef; + + vardef f(expr x) = 4 - x**2 enddef; + + trace_rectangles_min(f,-2,2,.5); + draw trace(f, -2,2,.1); + axes; +endfig; +beginfig(201) + u:=2cm; + vardef koch(expr A,B,n) = + save C; pair C; + C = A rotatedaround(1/3[A,B], 120); + if n>0: + koch( A, 1/3[A,B], n-1); + koch( 1/3[A,B], C, n-1); + koch( C, 2/3[A,B], n-1); + koch( 2/3[A,B], B, n-1); + else: + draw A--1/3[A,B]--C--2/3[A,B]--B; + fi; + enddef; + z0=(u,0); + z1=z0 rotated 120; + z2=z1 rotated 120; + koch( z0, z1, 4 ); + koch( z1, z2, 4 ); + koch( z2, z0, 4 ); +endfig; +beginfig(202) + u:=2cm; + vardef koch(expr A,B,n) = + save C; pair C; + C = A rotatedaround(1/3[A,B], -120); + if n>0: + koch( A, 1/3[A,B], n-1); + koch( 1/3[A,B], C, n-1); + koch( C, 2/3[A,B], n-1); + koch( 2/3[A,B], B, n-1); + else: + draw A--1/3[A,B]--C--2/3[A,B]--B; + fi; + enddef; + z0=(u,0); + z1=z0 rotated 120; + z2=z1 rotated 120; + koch( z0, z1, 4 ); + koch( z1, z2, 4 ); + koch( z2, z0, 4 ); +endfig; +beginfig(203) + pair A,B,C,D; + u := 3cm; + A := (0,0); + B := (u,0); + D := B rotated 72; + C := (u,0) + D; + draw A--B--C--D--cycle; + draw A--C; + draw btex $B'$ etex shifted 1/3 (A+B+C); + draw btex $B$ etex shifted 1/3 (A+D+C); + +endfig; +beginfig(204) + pair A,B,C,D,E,F; + numeric d[]; + u := 3cm; + A := (0,0); + B := (u,0); + D := B rotated 72; + C := (u,0) + D; + d[0] := 1; + d[1] := sqrt( 2*(1+cosd(72)) ); + d[2] := sqrt( 2*(1-cosd(36)) ); + A := A; + B := C; + C := D; + draw A--B--C--cycle; + E := (d1/(d0+d1)) [A,C]; + F := (d0/(d0+d2)) [A,B]; + draw E--C--F--cycle; + draw btex $A$ etex shifted 1/3(E+C+F); + draw B--C--F--cycle; + draw btex $B$ etex shifted 1/3(B+C+E); + draw E--F--A--cycle; + draw btex $B'$ etex shifted 1/3(E+F+A); +endfig; +beginfig(205) + pair A,B,C,D,E,F; + numeric d[]; + u := 3cm; + A := (0,0); + B := (u,0); + D := B rotated 72; + C := (u,0) + D; + draw A--B--C--cycle; + d[0] := 1; + d[1] := sqrt( 2*(1+cosd(72)) ); + d[2] := sqrt( 2*(1-cosd(36)) ); + E := (d1/(d0+d1)) [A,C]; + F := (d0/(d0+d2)) [A,B]; + draw E--F--B--cycle; + draw btex $A'$ etex shifted 1/3(E+F+B); + draw E--A--F--cycle; + draw btex $B$ etex shifted 1/3(E+A+F); + draw C--E--B--cycle; + draw btex $B'$ etex shifted 1/3(C+E+B); +endfig; +beginfig(206) + pair A,B,C,D,E,F; + numeric d[]; + u := 3cm; + A := (0,0); + B := (u,0); + D := B rotated 72; + C := (u,0) + D; + d[0] := 1; + d[1] := sqrt( 2*(1+cosd(72)) ); + d[2] := sqrt( 2*(1-cosd(36)) ); + A := A; + B := C; + C := D; + E := (d1/(d0+d1)) [A,C]; + F := (d0/(d0+d2)) [A,B]; + B := 3*(C-E); + C := 3*(F-E); + + draw A--B--C--cycle; + + D := (d0/(d0+d2)) [C,A]; + draw B--C--D--cycle; + draw btex $A$ etex shifted 1/3(B+C+D); + draw B--D--A--cycle; + draw btex $B'$ etex shifted 1/3(B+D+A); +endfig; +beginfig(207) + pair A,B,C,D,E,F; + numeric d[]; + u := 3cm; + A := (0,0); + B := (u,0); + D := B rotated 72; + C := (u,0) + D; + d[0] := 1; + d[1] := sqrt( 2*(1+cosd(72)) ); + d[2] := sqrt( 2*(1-cosd(36)) ); + + % B' + E := (d1/(d0+d1)) [A,C]; + F := (d0/(d0+d2)) [A,B]; + + % A' + A := 2*(E-E); + C := 2*(B-E); + B := 2*(F-E); + + draw A--B--C--cycle; + D := (d0/(d0+d2)) [A,B]; + draw C--D--B--cycle; + draw btex $A'$ etex shifted 1/3(C+D+B); + draw C--A--D--cycle; + draw btex $B$ etex shifted 1/3(C+A+D); +endfig; +beginfig(208) + vardef pave(expr t, A, B, C, n) = + save D, E, d; + pair D,E; + numeric d[]; + d[0] := 1; + d[1] := sqrt( 2*(1+cosd(72)) ); + d[2] := sqrt( 2*(1-cosd(36)) ); + if n>0: + if t=1: + D := (d0/(d0+d2)) [A,C]; + pave(1,B,C,D,n-1); + pave(4,B,D,A,n-1); + elseif t=2: + D := (d0/(d0+d2)) [A,B]; + pave(2,C,D,B,n-1); + pave(3,C,A,D,n-1); + elseif t=3: + D := (d1/(d0+d1)) [A,B]; + E := (d0/(d0+d2)) [A,C]; + pave(1,D,C,E,n-1); + pave(3,B,C,D,n-1); + pave(4,D,E,A,n-1); + elseif t=4: + D := (d1/(d0+d1)) [A,C]; + E := (d0/(d0+d2)) [A,B]; + pave(2,D,E,B,n-1); + pave(3,D,A,E,n-1); + pave(4,C,D,B,n-1); + fi; + else: + draw A--B--C--cycle; + if t=1: + fill A--B--C--cycle withcolor green + blue; + draw A--C withpen pencircle scaled 1bp; + draw A--B withpen pencircle scaled 1bp; + elseif t=2: + fill A--B--C--cycle withcolor green + blue; + draw A--B withpen pencircle scaled 1bp; + draw A--B withpen pencircle scaled 1bp; + elseif t=3: + fill A--B--C--cycle withcolor green + red; + draw A--C withpen pencircle scaled 1bp; + draw C--B withpen pencircle scaled 1bp; + elseif t=4: + fill A--B--C--cycle withcolor green + red; + draw B--C withpen pencircle scaled 1bp; + draw A--B withpen pencircle scaled 1bp; + fi; + fi; + enddef; + numeric M; + M := 6; + pair A,B,C,D; + u := 3cm; + A := (0,0); + B := (u,0); + D := B rotated 72; + C := (u,0) + D; + pave(3,A,C,D,M); + pave(4,A,B,C,M); +endfig; +beginfig(209) +u:=1cm; + +def milieu (expr s, ss, n) = + if n<>0: + for i="A","BA","BBA": + milieu(s&i, ss, n-1); + endfor; + else: + dessine(s&ss); + fi; +enddef; + +def doit(expr N) = + for n=1 upto N: + for i="A","BA","BBA": + for j="","B","BB": + milieu(i,j,n-1); + endfor; + endfor; + endfor; + milieu("","",0); +enddef; + +vardef A(expr a) = + save x,y,n; + numeric x,y,n; + x := xpart a; + y := ypart a; + n:=x*x+y*y; + (-x/n, y/n) +enddef; + +vardef B(expr a) = + save x,y,n; + numeric x,y,n; + x := 1 + xpart a; + y := ypart a; + n := x*x+y*y; + (-x/n, y/n) +enddef; + +def dessine(expr s) = + _dessine(s, dir(60), up, dir(120)); + _dessine(s, dir(60), dir(31), dir(2)); + _dessine(s, dir(120), dir(149), dir(178)); +enddef; + +def _dessine(expr s, a,b,c) = + pair p[]; + p[0] := a; + p[1] := b; + p[2] := c; + + for i=0 upto length(s)-1: + if (substring(i,i+1) of s) = "A": + for j=0 upto 2: p[j] := A( p[j] ); endfor; + elseif (substring(i,i+1) of s) = "B": + for j=0 upto 2: p[j] := B( p[j] ); endfor; + else: show("Ceci n'est pas un générateur : "&substring(i,i+1) of s) + fi; + endfor; + if (xpart p[0] < 2) and (xpart p[0] > -2) and + (xpart p[2] > -2) and (xpart p[2] < 2) and + (ypart p[0] < 2) and (ypart p[2] < 2): + draw ( p[0] .. p[1] .. p[2] ) scaled u; + fi; + +enddef; + + fill (dir(60) .. up .. dir(120) -- + (dir120+up) -- (dir60+up) -- cycle) scaled u + withcolor red+green; + doit(7); + draw (u*dir(60)) withpen pencircle scaled 4bp; + draw (0,u) withpen pencircle scaled 4bp; + draw (u*dir(60) -- u*dir(60)+u*up) shifted (0u,0); + draw (u*dir(60) -- u*dir(60)+u*up) shifted (1u,0); + draw (u*dir(60) -- u*dir(60)+u*up) shifted (-u,0); + draw (u*dir(60) -- u*dir(60)+u*up) shifted (-2u,0); +endfig; +beginfig(210) + u:=5mm; + pickup pencircle scaled 1pt; + for i=0 upto 500: + draw (u*normaldeviate, u*normaldeviate); + endfor; +endfig; +beginfig(211) + u:=2cm; + pickup pencircle scaled 1pt; + for i=0 upto 500: + draw (u*uniformdeviate(1), u*uniformdeviate(1)); + endfor; +endfig; +beginfig(212) + numeric n; + n:=10; + path p; + p := for i=0 upto n-1: + ((1cm + 3mm*normaldeviate,0) rotated (i*360/n)) .. + endfor cycle; + fill p withcolor .8white; + draw p; +endfig; +beginfig(213) + m:=500; + u:=1cm; + pair A,B; + A:=(0,0); + for i=0 upto m: + B:=(i/m*3u, (ypart A)+normaldeviate/m*30u); + draw A--B; + A:=B; + endfor; + draw (0,0)--(3u,0); +endfig; +beginfig(214) + m:=50; + pair A[], B[]; + A[0]=(0,0); + for i=0 upto m: + A[i+1]=(i/m*3u, (ypart A[i])+(uniformdeviate(2)-1)/m*30u); + endfor; + B[0]=A[0]; + B[1]=A[1]; + B[2]=A[2]; + B[3]=A[3]; + for i=4 upto m+1: + B[i] = ( A[i-4] + A[i-3] + A[i-2] + A[i-1] + A[i])/5; + endfor; + for i=0 upto m: + draw B[i]--B[i+1] withpen pencircle scaled 2pt + withcolor .5*white; + endfor; + for i=0 upto m: + draw A[i]--A[i+1]; + endfor; + draw (0,0)--(3u,0); +endfig; +def rescale_currentpic := + if xpart (lrcorner currentpicture - llcorner currentpicture) > 4cm: + currentpicture := currentpicture scaled ( 4cm / + xpart (lrcorner currentpicture - llcorner currentpicture) ); + fi; +enddef; +beginfig(215) +vardef check_pascal = + save again; + boolean again; + again := false; + % Distance entre deux points sur le cercle : au moins 1mm + for i=0 upto 5: + for j=i+1 upto 5: + show( decimal(i) &" "& decimal(j) &" "& decimal(abs(A[i]-A[j])/2mm) ); + if abs(A[i]-A[j]) < 2mm: + again := true; + fi; + endfor; + endfor; + % Distance entre deux des M[i] : au moins 2mm, au plus 10cm + for i=0 upto 2: + for j=i+1 upto 2: + if (abs(M[i]-M[j]) > 10cm) or (abs(M[i]-M[j]) < 2mm): + again := true; + fi; + endfor; + endfor; + % Distance entre un A[i] et un M[i] : au moins 2mm + for i=0 upto 5: + for j=0 upto 2: + if abs(A[i]-M[j]) < 2mm: + again := true; + fi; + endfor; + endfor; + % Distance entre le cercle et l'un des M[i] : au plus 10cm + if abs(M[0])>10cm: + again:=true; + fi; + show again; + not again +enddef; + + forever: + path C; + C := fullcircle scaled 6cm; + pair A[], M[]; + for i=0 upto 5: + A[i] := point uniformdeviate(length(C)) of C; + endfor; + M[0] = whatever[ A[0], A[1] ]; + M[0] = whatever[ A[3], A[4] ]; + M[1] = whatever[ A[1], A[2] ]; + M[1] = whatever[ A[4], A[5] ]; + M[2] = whatever[ A[2], A[3] ]; + M[2] = whatever[ A[5], A[0] ]; + exitif check_pascal; + endfor; + + draw C; + draw A[0]--A[1] withcolor red; + draw A[3]--A[4] withcolor red; + draw A[0]--M[0] withcolor red dashed evenly; + draw A[3]--M[0] withcolor red dashed evenly; + + draw A[1]--A[2] withcolor green; + draw A[4]--A[5] withcolor green; + draw A[1]--M[1] withcolor green dashed evenly; + draw A[4]--M[1] withcolor green dashed evenly; + + draw A[2]--A[3] withcolor blue; + draw A[5]--A[0] withcolor blue; + draw A[2]--M[2] withcolor blue dashed evenly; + draw A[5]--M[2] withcolor blue dashed evenly; + + draw M[0]--M[1]--M[2]--cycle withpen pencircle scaled 2bp; + for i=0 upto 2: + draw M[i] withpen pencircle scaled 6bp; + endfor; + for i=0 upto 5: + draw A[i] withpen pencircle scaled 6bp; + endfor; + rescale_currentpic; +endfig; +beginfig(216) +vardef pascal(expr C) = + forever: + pair A[], M[]; + for i=0 upto 5: + A[i] := point uniformdeviate(length(C)) of C; + endfor; + M[0] = whatever[ A[0], A[1] ]; + M[0] = whatever[ A[3], A[4] ]; + M[1] = whatever[ A[1], A[2] ]; + M[1] = whatever[ A[4], A[5] ]; + M[2] = whatever[ A[2], A[3] ]; + M[2] = whatever[ A[5], A[0] ]; + exitif check_pascal; + endfor; + + draw C; + draw A[0]--A[1] withcolor red; + draw A[3]--A[4] withcolor red; + draw A[0]--M[0] withcolor red dashed evenly; + draw A[3]--M[0] withcolor red dashed evenly; + + draw A[1]--A[2] withcolor green; + draw A[4]--A[5] withcolor green; + draw A[1]--M[1] withcolor green dashed evenly; + draw A[4]--M[1] withcolor green dashed evenly; + + draw A[2]--A[3] withcolor blue; + draw A[5]--A[0] withcolor blue; + draw A[2]--M[2] withcolor blue dashed evenly; + draw A[5]--M[2] withcolor blue dashed evenly; + + draw M[0]--M[1]--M[2]--cycle withpen pencircle scaled 2bp; + for i=0 upto 2: + draw M[i] withpen pencircle scaled 6bp; + endfor; + for i=0 upto 5: + draw A[i] withpen pencircle scaled 6bp; + endfor; +enddef; + + pascal(fullcircle xscaled 6cm yscaled 3cm); + rescale_currentpic; +endfig; +beginfig(217) + pascal((for i=-2cm step .1cm until 2cm: + (i, (i/1cm)**2 *1cm) .. + endfor (2.1cm,4.41cm)) rotated 30); + rescale_currentpic; +endfig; +beginfig(218) +vardef pascal(expr C) = + forever: + pair A[], M[]; + + numeric t[]; + for i=0 upto 5: + t[i] = uniformdeviate(length(C)); + endfor; + for i=0 upto 5: + for j=0 upto 4: + if t[j]>t[j+1]: + tt:=t[j]; t[j]:=t[j+1]; t[j+1]:=tt; + fi; + endfor; + endfor; + for i=0 upto 5: + A[i] = point t[i] of C; + endfor; + + M[0] = whatever[ A[0], A[1] ]; + M[0] = whatever[ A[3], A[4] ]; + M[1] = whatever[ A[1], A[2] ]; + M[1] = whatever[ A[4], A[5] ]; + M[2] = whatever[ A[2], A[3] ]; + M[2] = whatever[ A[5], A[0] ]; + exitif check_pascal; + endfor; + + draw C; + draw A[0]--A[1] withcolor red; + draw A[3]--A[4] withcolor red; + draw A[0]--M[0] withcolor red dashed evenly; + draw A[3]--M[0] withcolor red dashed evenly; + + draw A[1]--A[2] withcolor green; + draw A[4]--A[5] withcolor green; + draw A[1]--M[1] withcolor green dashed evenly; + draw A[4]--M[1] withcolor green dashed evenly; + + draw A[2]--A[3] withcolor blue; + draw A[5]--A[0] withcolor blue; + draw A[2]--M[2] withcolor blue dashed evenly; + draw A[5]--M[2] withcolor blue dashed evenly; + + draw M[0]--M[1]--M[2]--cycle withpen pencircle scaled 2bp; + for i=0 upto 2: + draw M[i] withpen pencircle scaled 6bp; + endfor; + for i=0 upto 5: + draw A[i] withpen pencircle scaled 6bp; + endfor; +enddef; + + pascal(fullcircle scaled 6cm); + rescale_currentpic; +endfig; +beginfig(219) + pascal(fullcircle xscaled 6cm yscaled 3cm); + rescale_currentpic; +endfig; +beginfig(220) + pascal(fullcircle xscaled 6cm yscaled 3cm); + rescale_currentpic; +endfig; +beginfig(221) + vardef barycentre(text t) = + save n, G; + pair G; numeric n; + G := origin; n:=0; + for a=t: + G:=G+a; + n:=n+1; + endfor; + G/n + enddef; + + pair A[]; + n:=10; + for i=0 upto n: + A[i] = 1cm*(normaldeviate, normaldeviate); + draw A[i] withpen pencircle scaled 4bp; + endfor; + draw barycentre(A[0] for i=1 upto 10: ,A[i] endfor) + withpen pencircle scaled 4bp withcolor red; +endfig; +beginfig(222) + vardef barycentre(text t) = + save a, i, n, G, X; + pair G,X; numeric n,i; + G := origin; n:=0; i:=0; + for a=t: + show("i = "& decimal(i)); + show a; + if odd(i): + show("odd"); + n:=n+a; + G:= G + a*X; + else: + show("even"); + X:=a; + fi; + i:=i+1; + endfor; + G/n + enddef; + + pair A[]; + n:=10; + for i=0 upto n: + A[i] = 1cm*(normaldeviate, normaldeviate); + draw A[i] withpen pencircle scaled 4bp; + endfor; + draw barycentre(A[0],0 for i=1 upto 10: ,A[i],i endfor) + withpen pencircle scaled 4bp withcolor red; +endfig; +beginfig(223) + numeric n; + n:=10; + path p; + p := for i=0 upto n-1: + ((1cm + 3mm*normaldeviate,0) rotated (i*360/n)) .. + endfor cycle; + for i=0 step 2mm until 3cm: + draw fullcircle scaled i; + endfor; + clip currentpicture to p; + draw p; + +endfig; +beginfig(224) + u := 5mm; + draw (-2u,0) -- (2u,0); + draw (0,-u) -- (0,4u); + draw (-2u,4u) for i=-1.9 step .1 until 2.01: .. (i*u, i*i*u) endfor + withpen pencircle scaled 1bp; + draw bbox currentpicture withpen pensquare scaled 2bp withcolor .8white; + draw bbox currentpicture withpen pensquare scaled 2bp withcolor .8white; +endfig; +beginfig(225) + path p; + p := (0,0) -- (2cm,0); + def doit (suffix p)(expr t) = + begingroup + interim linecap := t; + draw p withpen pencircle scaled 5mm withcolor .8white; + endgroup; + draw point 0 of p withpen pencircle scaled 4bp; + draw point 1 of p withpen pencircle scaled 4bp; + p := p shifted (0,-7mm) + enddef; + doit(p,rounded); + doit(p,butt); + doit(p,squared); + +endfig; +beginfig(226) + path p; + p := (0,0) -- (1cm,5mm) -- (2cm,0); + def doit (suffix p)(expr t) = + begingroup + interim linejoin := t; + draw p withpen pencircle scaled 5mm withcolor .8white; + endgroup; + draw point 0 of p withpen pencircle scaled 4bp; + draw point 1 of p withpen pencircle scaled 4bp; + draw point 2 of p withpen pencircle scaled 4bp; + p := p shifted (0,-7mm) + enddef; + doit(p,rounded); + doit(p,mitered); + doit(p,beveled); + +endfig; +beginfig(227) + path p; + p := (0,0) -- (2cm,0); + vardef doit (suffix p)(expr t) = + interim linecap := t; + draw p withpen pencircle scaled 5mm withcolor .8white; + draw point 0 of p withpen pencircle scaled 4bp; + draw point 1 of p withpen pencircle scaled 4bp; + draw point 2 of p withpen pencircle scaled 4bp; + p := p shifted (0,-7mm) + enddef; + doit(p,rounded); + doit(p,butt); + doit(p,squared); + +endfig; +beginfig(228) + draw fullcircle scaled 2cm; + special("0 0 moveto 10 10 rlineto -10 10 rlineto stroke"); + +endfig; +beginfig(229) + draw fullcircle shifted (.5,.5) xscaled 18.2cm yscaled 4cm; + special( + "/Times-Roman findfont 150 scalefont setfont " & + "0 0 moveto (ABCabc) false charpath clip stroke " & + "gsave 300 0 translate " & + " 2 4 600 {dup 0 moveto 0 exch 0 exch 0 360 arc stroke} for " & + "grestore " + ); + +endfig; +beginfig(230) + draw fullcircle shifted (.5,.5) xscaled 18.2cm yscaled 4cm; + special( + "gsave " & + "/Times-Roman findfont 150 scalefont setfont " & + "0 0 moveto (ABCabc) false charpath clip stroke " & + "gsave 300 0 translate " & + " 2 4 600 {dup 0 moveto 0 exch 0 exch 0 360 arc stroke} for " & + "grestore " & + "grestore " + ); + +endfig; +beginfig(231) + path p; + p = + (0,u) + for i=.1 step .1 until 10: + hide( pair A; A = (i*u, (sind (i*180/3.14))/i *u); + draw A withpen pencircle scaled 2pt ) + .. A + endfor; + draw p; +endfig; +beginfig(232) +vardef inversion (expr O,k,M) = + if pair M: + (O + k*unitvector(M-O)/abs(M-O)) + elseif path M: + for i=0 step length(M)/10 until length(M): + hide( + draw O--inversion(O,k,point i of M)--(point i of M); + draw inversion(O,k,point i of M) withpen pencircle scaled 2pt; + draw point i of M withpen pencircle scaled 2pt withcolor red; + draw O withpen pencircle scaled 2pt; + ) + inversion(O,k,point i of M) .. + endfor + cycle + fi +enddef; + + path p[]; + p1=fullcircle scaled 2u shifted (u,0); + p2=fullcircle scaled 2u shifted (-u,0); + draw p1 dashed withdots scaled .25; + draw p2 dashed withdots scaled .25; + z0 = (.5u,2u); + draw inversion( z0, 2 (u**2), p1 ); + draw inversion( z0, 2 (u**2), p2 ); +endfig; +beginfig(233) + path p; + p := (0,0) -- (1cm,0); + show ahangle; + begingroup + interim ahangle := 30; + interim linejoin := mitered; + interim linecap := butt; + drawarrow p withpen pencircle scaled 2bp; + endgroup; + begingroup + interim ahangle := 60; + drawarrow p shifted (0,-5mm) withpen pencircle scaled 2bp; + endgroup; + +endfig; +beginfig(234) + numeric x; + x = sind(60); + draw TEX("$\sin 60 = " & decimal(x) & "$"); + +endfig; +beginfig(235) +picture _TEX_pic; + +def largeur(expr p) = + if picture p: + xpart( lrcorner(p) - llcorner(p) ) + elseif string p: + hide(_TEX_pic := TEX(p);) + xpart( lrcorner(_TEX_pic) - llcorner(_TEX_pic) ) + else: + hide( errmessage("largeur: wrong type"); 0) + fi +enddef; + +def hauteur(expr p) = + if picture p: + ypart(ulcorner(p)) + elseif string p: + hide(_TEX_pic := TEX(p);) + ypart(ulcorner(_TEX_pic)) + else: + hide( errmessage("hauteur: wrong type"); 0) + fi +enddef; + +def profondeur (expr p) = + if picture p: + -ypart(llcorner(p)) + elseif string p: + hide(_TEX_pic := TEX(p);) + -ypart(llcorner(_TEX_pic)) + else: + hide( errmessage("profondeur: wrong type"); 0) + fi +enddef; + + picture p; + string s; + s := "\huge\LaTeX"; + p := TEX(s); + drawarrow (0,0) -- (largeur(s),0) withcolor red; + drawarrow (0,0) -- (0,hauteur(s)) withcolor green; + drawarrow (0,0) -- (0,-profondeur(s)) withcolor blue; + draw p; + draw bbox p; +endfig; +beginfig(236) + def reddraw text t = draw t withcolor red enddef; + draw (0,0) -- (2cm,0); + reddraw (0,0) -- (2cm,5mm) withpen pencircle scaled 2bp; + +endfig; +beginfig(237) +path _myfill_p; + +def myfill expr p = + _myfill_p := p; + _myfill +enddef; + +def _myfill text t = + fill _myfill_p t; + draw _myfill_p t withcolor red; +enddef; + + myfill fullcircle scaled 1cm withcolor .8white withpen pencircle scaled 2bp; +endfig; +beginfig(238) + boxit.a(btex Essai etex); + a.c = (0,0); + drawboxed(a); + +endfig; +beginfig(239) + circleit.a(btex Essai etex); + a.c = (0,0); + drawboxed(a); + +endfig; +beginfig(240) + rboxit.a(btex Essai etex); + a.c = (0,0); + drawboxed(a); + +endfig; +beginfig(241) + boxit.a(btex Essai etex); + a.c = (0,0); + drawunboxed(a); + +endfig; +beginfig(242) + circleit.a(btex Essai etex); + a.c = (0,0); + a.dx = a.dy; + drawboxed(a); +endfig; +beginfig(243) + circleit.a(btex Essai etex); + a.c = (0,0); + a.dx = a.dy; + drawunboxed(a); + for i=0 step 10 until 360: + draw (0,0) -- 1cm*right rotated i cutbefore bpath.a; + endfor; +endfig; +beginfig(244) + circleit.a(btex Début etex); + a.c = (0,0); + a.dx = a.dy; + circleit.b(btex Fin etex); + b.c = (2cm,0); + b.dx = b.dy; + drawboxed(a,b); + drawarrow a.c {dir 45} .. b.c {dir -45} + cutbefore bpath.a cutafter bpath.b; + drawarrow b.c {dir -135} .. a.c {dir 135} + cutbefore bpath.b cutafter bpath.a; +endfig; +beginfig(245) + circleit.a(btex Début etex); + a.c = (0,0); + a.dx = a.dy; + circleit.b(btex Fin etex); + b.c = (2cm,0); + b.dx = b.dy; + drawunboxed(a,b); + drawarrow a.c {dir 45} .. b.c {dir -45} + cutbefore bpath.a cutafter bpath.b; + drawarrow b.c {dir -135} .. a.c {dir 135} + cutbefore bpath.b cutafter bpath.a; +endfig; +beginfig(246) + boxjoin( + a.dx = a.dy; + b.dx = b.dy; + a.e + (5mm,0) = b.w; + ); + circleit.a(btex Début etex); + a.c = (0,0); + circleit.b(btex Fin etex); + drawboxed(a,b); + drawarrow a.c {dir 45} .. b.c {dir -45} + cutbefore bpath.a cutafter bpath.b; + drawarrow b.c {dir -135} .. a.c {dir 135} + cutbefore bpath.b cutafter bpath.a; +endfig; +beginfig(247) + % Toujours mettre la commande boxjoin au début. + boxjoin(a.e = b.w); + boxit.a(btex A etex); + boxit.b(btex B etex); + boxit.c(btex C etex); + boxit.d(btex D etex); + drawboxed(a,b,c,d); +endfig; +beginfig(248) + boxjoin(a.e = b.w); + boxit.a(btex a etex); + boxit.b(btex b etex); + boxit.c(btex c etex); + boxit.d(btex d etex); + drawboxed(a,b,c,d); +endfig; +beginfig(249) + boxjoin(a.se = b.sw; a.ne = b.nw); + boxit.a(btex a etex); + boxit.b(btex b etex); + boxit.c(btex c etex); + boxit.d(btex d etex); + drawboxed(a,b,c,d); +endfig; +beginfig(250) + boxjoin(a.se = b.sw; a.ne = b.nw); + boxit.a1(btex a etex); + boxit.a2(btex b etex); + boxit.a3(btex c etex); + boxit.a4(btex d etex); + drawboxed(a1,a2,a3,a4); +endfig; +beginfig(251) + draw (0,0) -- (5cm,0) withcolor red; + draw btex a etex ; + draw btex b etex shifted (1cm,0); + draw btex c etex shifted (2cm,0); + draw btex d etex shifted (3cm,0); + draw btex e etex shifted (4cm,0); +endfig; +beginfig(252) + draw (0,0) -- (5cm,0) withcolor red; + boxjoin(b.c - a.c = (1cm,0)); + boxit a (btex a etex); + boxit b (btex b etex); + boxit c (btex c etex); + boxit d (btex d etex); + boxit e (btex e etex); + drawunboxed(a,b,c,d,e); +endfig; +beginfig(253) + vardef boxTEX expr s = + save p,h,l; + picture p; + numeric h,l; + p := TEX(s); + h := max(ypart ulcorner(p), abs(ypart llcorner(p))); + l := xpart lrcorner(p); + setbounds p to (0,-h)--(l,-h)--(l,h)--(0,h)--cycle; + p + enddef; + + draw (0,0) -- (5cm,0) withcolor red; + boxjoin(b.c - a.c = (1cm,0)); + boxit a (boxTEX "a"); + boxit b (boxTEX "b"); + boxit c (boxTEX "c"); + boxit d (boxTEX "d"); + boxit e (boxTEX "e"); + drawunboxed(a,b,c,d,e); +endfig; +beginfig(254) + draw (0,0) -- (5cm,0) withcolor red; + boxjoin(b.c - a.c = (1cm,0)); + boxit a (boxTEX "a"); + boxit b (boxTEX "b"); + boxit c (boxTEX "c"); + boxit d (boxTEX "d"); + boxit e (boxTEX "e"); + drawboxed(a,b,c,d,e); +endfig; +beginfig(255) + let OLD_beginbox_ = beginbox_; + def beginbox_(expr pp,sp)(suffix $)(text t) = + _n_ := str $; + generic_declare(pair) _n.off, _n.c; + generic_declare(string) pproc_._n, sproc_._n; + generic_declare(picture) pic_._n; + pproc_$:=pp; sproc_$:=sp; + pic_$ = nullpicture; + for _p_=t: + pic_$:= + if picture _p_: _p_ + else: _p_ infont defaultfont scaled defaultscale + fi; + endfor + $c = $off + (.5[xpart llcorner pic_$, xpart urcorner pic_$], 0) + enddef; + + draw (0,0) -- (5cm,0) withcolor red; + boxjoin(b.c - a.c = (1cm,0)); + boxit a (btex a etex); + boxit b (btex b etex); + boxit c (btex c etex); + boxit d (btex d etex); + boxit e (btex e etex); + drawunboxed(a,b,c,d,e); +endfig; +beginfig(256) + draw (0,0) -- (5cm,0) withcolor red; + boxjoin(b.c - a.c = (1cm,0)); + boxit a (btex a etex); + boxit b (btex b etex); + boxit c (btex c etex); + boxit d (btex d etex); + boxit e (btex e etex); + drawboxed(a,b,c,d,e); +endfig; +beginfig(257) +let OLD_boxit = boxit; +let OLD_sizebox_ = sizebox_; +let OLD_clearb_ = clearb_; + +vardef boxit@#(text tt) = + beginbox_("boxpath_","sizebox_",@#,tt); + generic_declare(pair) _n.sw, _n.s, _n.se, _n.e, _n.ne, _n.n, _n.nw, _n.w; + 0 = xpart (@#nw-@#sw) = ypart(@#se-@#sw); + 0 = xpart(@#ne-@#se) = ypart(@#ne-@#nw); + @#s = .5[@#sw,@#se]; + @#n = .5[@#ne,@#nw]; + xpart @#w = xpart @#nw; + xpart @#e = xpart @#ne; + ypart @#w = ypart @#c = ypart @#e; + @#ne-@#c = (@#dx,@#dy) + + (xpart(.5*(urcorner pic_@# - llcorner pic_@#)), ypart urcorner pic_@#); + @#c-@#sw = (@#dx,@#dy) + + (xpart(.5*(urcorner pic_@# - llcorner pic_@#)), -ypart lrcorner pic_@#); + endbox_(clearb_,@#); +enddef; + + draw (0,0) -- (5cm,0) withcolor red; + boxjoin(b.c - a.c = (1cm,0)); + boxit a (btex a etex); + boxit b (btex b etex); + boxit c (btex c etex); + boxit d (btex d etex); + boxit e (btex e etex); + drawboxed(a,b,c,d,e); +endfig; +beginfig(258) + draw (0,0) -- (5cm,0) withcolor red; + boxjoin(b.c - a.c = (1cm,0); b.ne - b.se = a.nw - a.sw); + boxit a (btex a etex); + boxit b (btex b etex); + boxit c (btex c etex); + boxit d (btex d etex); + boxit e (btex e etex); + drawboxed(a,b,c,d,e); +endfig; +beginfig(259) +vardef boxit@#(text tt) = + beginbox_("boxpath_","sizebox_",@#,tt); + generic_declare(pair) _n.sw, _n.s, _n.se, _n.e, _n.ne, _n.n, _n.nw, _n.w; + 0 = xpart (@#nw-@#sw) = ypart(@#se-@#sw); + 0 = xpart(@#ne-@#se) = ypart(@#ne-@#nw); + @#s = .5[@#sw,@#se]; + @#n = .5[@#ne,@#nw]; + xpart @#w = xpart @#nw; + xpart @#e = xpart @#ne; + ypart @#w = ypart @#c = ypart @#e; + @#ne-@#c = (@#dx,@#dyup) + + (xpart(.5*(urcorner pic_@# - llcorner pic_@#)), ypart urcorner pic_@#); + @#c-@#sw = (@#dx,@#dydown) + + (xpart(.5*(urcorner pic_@# - llcorner pic_@#)), -ypart lrcorner pic_@#); + endbox_(clearb_,@#); +enddef; + +def sizebox_(suffix $) = + if unknown $.dx: $.dx=defaultdx; fi + if unknown $.dyup: + if unknown $.dy: + $.dyup=defaultdy + else: + $.dyup=$.dy + fi; + fi; + if unknown $.dydown: + if unknown $.dy: + $.dydown=defaultdy + else: + $.dydown=$.dy + fi; + fi; +enddef; + +vardef clearb_(suffix $) = + _n_ := str $; + generic_redeclare(numeric) _n.sw, _n.s, _n.se, _n.e, _n.ne, _n.n, _n.nw, _n.w, + _n.c, _n.off, _n.dx, _n.dy, _n.dyup, _n.dy_down; +enddef; + + draw (0,0) -- (5cm,0) withcolor red; + boxjoin(b.c - a.c = (1cm,0); ypart( b.ne - a.ne ) = 0; ypart( b.se - a.se ) = 0;); + boxit a (btex a etex); + boxit b (btex b etex); + boxit c (btex c etex); + boxit d (btex d etex); + boxit e (btex e etex); + drawboxed(a,b,c,d,e); +endfig; +beginfig(260) + draw (0,0) -- (5cm,0) withcolor red; + picture p; + numeric h; + p := btex b etex; + h = ypart ( ulcorner p - llcorner p ); + boxjoin( + b.c - a.c = (1cm,0); + ypart( b.ne - a.ne ) = 0; + ypart( a.ne - a.se ) = h+2defaultdy; + ); + boxit a (btex a etex); + boxit b (btex b etex); + boxit c (btex c etex); + boxit d (btex d etex); + boxit e (btex e etex); + drawboxed(a,b,c,d,e); +endfig; +beginfig(261) + % Les lignes suivantes n'ont pas l'effet escompté... + let beginbox_ = OLD_beginbox_; + let boxit = OLD_boxit; + let sizebox_ = OLD_sizebox_; + let clearb_ = OLD_clearb_; + + % On recopie donc les définitions initiales des macros que l'on a modifiées... + extra_beginfig := ""; + extra_endfig := ""; + input boxes; + + % Et on regarde sur un exemple si ça marche... + draw (0,0) -- (5cm,0) withcolor red; + boxjoin(b.c - a.c = (1cm,0)); + boxit a (btex a etex); + boxit b (btex b etex); + boxit c (btex c etex); + boxit d (btex d etex); + boxit e (btex e etex); + drawboxed(a,b,c,d,e); +endfig; +beginfig(262) + boxit.a1(btex $a$ etex); + boxit.b1(btex etex); + boxit.a2(btex $b$ etex); + boxit.b2(btex etex); + boxit.a3(btex $c$ etex); + boxit.b3(btex etex); + boxit.a4(btex $d$ etex); + boxit.b4(btex etex); + for i=1 upto 4: + % Les boites a[i] et b[i] sont collées + a[i].e = b[i].w; + % Il y a un peu d'espace entre b[i] et a[i+1] + b[i].e + (5mm,0) = a[i+1].w; + % La hauteur des boites est la même + a[i].n - a[i].s = a[i+1].n - a[i+1].s = b[i].n - b[i].s ; + % Les b[i] ne sont pas très larges + b[i].e - b[i].w = (2mm,0); + endfor; + drawboxed(a1,b1,a2,b2,a3,b3,a4,b4); + for i=1 upto 3: + drawarrow b[i].c {up} .. a[i+1].c {down} + cutafter bpath.a[i+1]; + endfor; +endfig; +beginfig(263) + boxit.a(btex A etex); + boxit.b(btex B etex); + boxit.c(btex C etex); + boxit.d(btex D etex); + boxit.e(btex E etex); + + b.c-a.c = (1cm,0); + c.c-b.c = (b.c-a.c) rotated 72; + d.c-c.c = (c.c-b.c) rotated 72; + e.c-d.c = (d.c-c.c) rotated 72; + a.c-e.c = (e.c-d.c) rotated 72; + b.c-a.c = (a.c-e.c) rotated 72; + + drawboxed(a,b,c,d,e); + + drawarrow a.c -- b.c cutbefore bpath.a cutafter bpath.b; + drawarrow b.c -- c.c cutbefore bpath.b cutafter bpath.c; + drawarrow c.c -- d.c cutbefore bpath.c cutafter bpath.d; + drawarrow d.c -- e.c cutbefore bpath.d cutafter bpath.e; + drawarrow e.c -- a.c cutbefore bpath.e cutafter bpath.a; +endfig; +beginfig(264) + boxit.a(btex A etex); + boxit.b(btex B etex); + boxit.c(btex C etex); + boxit.d(btex D etex); + boxit.e(btex E etex); + + d.c = 1cm*up; + e.c = 1cm*up rotated (1*72); + a.c = 1cm*up rotated (2*72); + b.c = 1cm*up rotated (3*72); + c.c = 1cm*up rotated (4*72); + + drawunboxed(a,b,c,d,e); + + drawarrow a.c -- b.c cutbefore bpath.a cutafter bpath.b; + drawarrow b.c -- c.c cutbefore bpath.b cutafter bpath.c; + drawarrow c.c -- d.c cutbefore bpath.c cutafter bpath.d; + drawarrow d.c -- e.c cutbefore bpath.d cutafter bpath.e; + drawarrow e.c -- a.c cutbefore bpath.e cutafter bpath.a; +endfig; +beginfig(265) + def linkboxes(suffix a,b) = + drawarrow a.c -- b.c cutbefore bpath.a cutafter bpath.b; + enddef; + + boxit.a(btex A etex); + boxit.b(btex B etex); + boxit.c(btex C etex); + boxit.d(btex D etex); + boxit.e(btex E etex); + + d.c = 1cm*up; + e.c = 1cm*up rotated (1*72); + a.c = 1cm*up rotated (2*72); + b.c = 1cm*up rotated (3*72); + c.c = 1cm*up rotated (4*72); + + drawunboxed(a,b,c,d,e); + + linkboxes(a,b); + linkboxes(b,c); + linkboxes(c,d); + linkboxes(d,e); + linkboxes(e,a); +endfig; +beginfig(266) + boxit a(btex Essai etex); + fill bpath a withcolor .5[red,white]; + drawboxed(a); + +endfig; +beginfig(267) + def drawredboxed(text t) = + forsuffixes a=t: + fill bpath a withcolor .5[red,white]; + endfor; + drawboxed(t); + enddef; + + circleit.a(btex Début etex); + a.c = (0,0); + a.dx = a.dy; + circleit.b(btex Fin etex); + b.c = (2cm,0); + b.dx = b.dy; + drawredboxed(a,b); + drawarrow a.c {dir 45} .. b.c {dir -45} + cutbefore bpath.a cutafter bpath.b; + drawarrow b.c {dir -135} .. a.c {dir 135} + cutbefore bpath.b cutafter bpath.a; + +endfig; +beginfig(268) + def drawcoloredboxed(expr c)(text t) = + forsuffixes a=t: + fill bpath a withcolor c; + endfor; + drawboxed(t); + enddef; + + circleit.a(btex Début etex); + a.c = (0,0); + a.dx = a.dy; + circleit.b(btex Fin etex); + b.c = (2cm,0); + b.dx = b.dy; + drawcoloredboxed(.5[red,white], a); + drawcoloredboxed(.5[blue,white], b); + drawarrow a.c {dir 45} .. b.c {dir -45} + cutbefore bpath.a cutafter bpath.b; + drawarrow b.c {dir -135} .. a.c {dir 135} + cutbefore bpath.b cutafter bpath.a; + +endfig; +beginfig(269) +def begindiag = + begingroup; + save _diag_x, _diag_x_max, _diag_y, _diag_y_max, _diag; + numeric _diag_x, _diag_x_max, _diag_y, _diag_y_max; + string _diag[][]; + % Numéro de ligne et de colonne courrants + _diag_x = -1; _diag_y = 0; + % Numéro de ligne et de colonne maximaux + _diag_x_max = _diag_y_max = 0; + save _diag_ar_n, _diag_ar_source, _diag_ar_but, _diag_ar_up, _diag_ar_down; + % Nombre de flèches + numeric _diag_ar_n; _diag_ar_n=-1; + % Source et but de la flèche + pair _diag_ar_source[], _diag_ar_but[]; + % Ce qu'il faut écrire au dessus ou au dessous + string _diag_ar_up[], _diag_ar_down[]; + save _diag_ar_curved, _diag_ar_shape, _diag_ar_color, _diag_ar_width; + % « courbure » (c'est une distance) + numeric _diag_ar_curved[]; + % Forme de la flèche + string _diag_ar_shape[]; + % Couleur, épaisseur, pointillés + color _diag_ar_color[]; + numeric _diag_ar_width[]; + picture _diag_ar_dashed[]; +enddef; + +def node expr A = + _diag_x := _diag_x + 1; + _diag_x_max := max(_diag_x,_diag_x_max); + _diag[_diag_x][_diag_y] := A; +enddef; + +def nextline = + _diag_x := -1; + _diag_y := _diag_y + 1; + _diag_y_max := max(_diag_y, _diag_y_max); +enddef; + +tertiarydef a => b = a, b enddef; +def even (expr a) = not odd(a) enddef; + +vardef rarrowto(expr a,b)(text t) = + save i,p; + _diag_ar_n := _diag_ar_n + 1; + _diag_ar_source[_diag_ar_n] = (_diag_x, _diag_y); + _diag_ar_but[_diag_ar_n] = (_diag_x + a, _diag_y + b); + + numeric i; i:=0; + string current; + for p=t: + if even(i): + current := p; + else: + if current = "above": + _diag_ar_up[_diag_ar_n] = p; + elseif current = "below": + _diag_ar_down[_diag_ar_n] = p; + elseif current = "shape": + _diag_ar_shape[_diag_ar_n] = p; + elseif current = "curved": + _diag_ar_curved[_diag_ar_n] = p; + elseif current = "color": + _diag_ar_color[_diag_ar_n] = p; + elseif current = "width": + _diag_ar_width[_diag_ar_n] = p; + elseif current = "dashed": + _diag_ar_dashed[_diag_ar_n] = p; + else: + errmessage("rarrowto: Wrong argument "&ditto¤t&ditto); + fi; + fi; + i := i + 1; + endfor; + if odd i: + errmessage("rarrowto: Odd number of arguments "&decimal(i)); + fi; +enddef; + +%% Les têtes de flèches + +picture withsmalldots, notdashed; +withsmalldots := withdots scaled .3; +notdashed := dashpattern(on 50cm); + +vardef diag_arrow_head (expr p, t) = + save A,B,C,u; pair A,B,C,u; + B := point t of p; + u := -unitvector(direction t of p); + A := B + ahlength*u rotated(-ahangle); + C := B + ahlength*u rotated(+ahangle); + A .. {-u} B {u} .. C +enddef; + +vardef diag_arrow_bar (expr p, t) = + save A,B,C,u; pair A,B,C,u; + B := point t of p; + u := unitvector(direction t of p); + A := B + ahlength*sind(ahangle)*u rotated(90); + C := B + ahlength*sind(ahangle)*u rotated(-90); + A .. B .. C +enddef; + +%% Les flèches + +def diag_draw_arrow_default(suffix a,b)(expr curved, w, col, dash) = + p = a.c .. + (1/2 [a.c,b.c] + curved*unitvector(b.c-a.c) rotated 90) + .. b.c; + pp := p cutbefore bpath.a cutafter bpath.b; + draw pp + withcolor col withpen pencircle scaled w dashed dash; + draw diag_arrow_head (pp, length(pp)) + withcolor col withpen pencircle scaled w; +enddef; + +def diag_draw_arrow_middle(suffix a,b)(expr curved, w, col, dash) = + p = a.c .. + (1/2 [a.c,b.c] + curved*unitvector(b.c-a.c) rotated 90) + .. b.c; + pp := p cutbefore bpath.a cutafter bpath.b; + draw pp + withcolor col withpen pencircle scaled w dashed dash; + draw diag_arrow_head(p,1) + withcolor col withpen pencircle scaled w; +enddef; + +def diag_draw_arrow_epi(suffix a,b)(expr curved, w, col, dash) = + p = a.c .. + (1/2 [a.c,b.c] + curved*unitvector(b.c-a.c) rotated 90) + .. b.c; + pp := p cutbefore bpath.a cutafter bpath.b; + draw pp + withcolor col withpen pencircle scaled w dashed dash; + draw diag_arrow_head (pp, length(pp)) + withcolor col withpen pencircle scaled w; + path ppp; + ppp := pp cutafter (fullcircle scaled 1mm shifted point length(pp) of pp); + draw diag_arrow_head(ppp, length(ppp)) + withcolor col withpen pencircle scaled w; +enddef; + +def diag_draw_arrow_mono(suffix a,b)(expr curved, w, col, dash) = + p = a.c .. + (1/2 [a.c,b.c] + curved*unitvector(b.c-a.c) rotated 90) + .. b.c; + pp := p cutbefore bpath.a cutafter bpath.b; + path ppp; + ppp := pp cutbefore (fullcircle scaled 1mm shifted point 0 of pp); + draw ppp + withcolor col withpen pencircle scaled w dashed dash; + draw diag_arrow_head (pp, length(pp)) + withcolor col withpen pencircle scaled w; + draw diag_arrow_head(ppp, 0) + withcolor col withpen pencircle scaled w; +enddef; + +vardef diag_draw_arrow_inj(suffix a,b)(expr curved, w, col, dash) = + p = a.c .. + (1/2 [a.c,b.c] + curved*unitvector(b.c-a.c) rotated 90) + .. b.c; + pp := p cutbefore bpath.a cutafter bpath.b; + path ppp; + ppp := pp cutbefore (fullcircle scaled 1mm shifted point 0 of pp); + draw ppp + withcolor col withpen pencircle scaled w dashed dash; + draw diag_arrow_head (pp, length(pp)) + withcolor col withpen pencircle scaled w; + save u,A,B,C; + pair u,A,B,C; + A := point 0 of ppp; + u := unitvector(direction 0 of ppp); + B := A + ahlength*(-u) rotated (-ahangle); + C := A + 2 ahlength*sind(ahangle)*u rotated 90; + draw C {-u} .. B .. A {u} + withcolor col withpen pencircle scaled w dashed dash; +enddef; + +def diag_draw_arrow_mapsto(suffix a,b)(expr curved, w, col, dash) = + p = a.c .. + (1/2 [a.c,b.c] + curved*unitvector(b.c-a.c) rotated 90) + .. b.c; + pp := p cutbefore bpath.a cutafter bpath.b; + draw pp + withcolor col withpen pencircle scaled w dashed dash; + draw diag_arrow_head (pp, length(pp)) + withcolor col withpen pencircle scaled w; + draw diag_arrow_bar (pp, 0) + withcolor col withpen pencircle scaled w; +enddef; + +def diag_draw_arrow_half_dotted(suffix a,b)(expr curved, w, col, dash) = + p = a.c .. + (1/2 [a.c,b.c] + curved*unitvector(b.c-a.c) rotated 90) + .. b.c; + pp := p cutbefore bpath.a cutafter bpath.b; + draw subpath(0,1) of pp + withcolor col withpen pencircle scaled w dashed withsmalldots; + draw subpath(1,2) of pp + withcolor col withpen pencircle scaled w; + draw diag_arrow_head (pp, length(pp)) + withcolor col withpen pencircle scaled w; +enddef; + +%% Fin des flèches + +def color_to_string (expr a) = + "("& + decimal(redpart a) + &","& + decimal(greenpart a) + &","& + decimal(bluepart a) + &")" +enddef; + +def enddiag = + save i,j,k,l,mm,a,A,p,b; + for i=0 upto _diag_x_max: + for j=0 upto _diag_y_max: + if known _diag[i][j]: + circleit.a[i][j]( _diag[i][j] ); + a[i][j].dx = a[i][j].dy; + a[i][j].c = 1cm * (i,-j); + drawunboxed( a[i][j] ); + fi; + endfor; + endfor; + for m=0 upto _diag_ar_n: + % Vérifier que le but existe + i := xpart _diag_ar_source[m]; + j := ypart _diag_ar_source[m]; + k := xpart _diag_ar_but[m]; + l := ypart _diag_ar_but[m]; + + % On trace la flèche. Le chemin est mis dans la variable p. + path p,pp; + if unknown _diag_ar_shape[m]: _diag_ar_shape[m] := "default" fi; + if unknown _diag_ar_color[m]: _diag_ar_color[m] := black fi; + if unknown _diag_ar_width[m]: _diag_ar_width[m] := .5bp fi; + if unknown _diag_ar_curved[m]: _diag_ar_curved[m] := 0 fi; + if unknown _diag_ar_dashed[m]: _diag_ar_dashed[m] := notdashed fi; + % On ne peut PAS utiliser m dans une chaîne ce caractères que l'on donne + % à scantokens, car m est une variable de boucle. C'est vraiment spécial, + % une variable de boucle. + mm := m; + scantokens( + "diag_draw_arrow_"& _diag_ar_shape[m] + &"(" + &"a[i][j], a[k][l],_diag_ar_curved[mm],_diag_ar_width[mm]," + &"_diag_ar_color[mm],_diag_ar_dashed[mm]" + &");" + ); + + % On écrit des choses au dessus ou au dessous des flèches + pair A; + A = point 1/2 length(p) of p; + if known _diag_ar_up[m]: + boxit.b[m](_diag_ar_up[m]); + b[m].c = A + 4bp*unitvector(direction 1/2 length(p) of p rotated 90); + drawunboxed(b[m]); + fi; + if known _diag_ar_down[m]: + boxit.c[m](_diag_ar_down[m]); + c[m].c = A + 4bp*unitvector(direction 1/2 length(p) of p rotated -90); + drawunboxed(c[m]); + fi; + endfor; + endgroup; +enddef; + + begindiag; + node "A"; + rarrowto(1,0, "above" => "a", + "shape" => "middle", + "curved" => 3mm, + "dashed" => withsmalldots); + rarrowto(0,1, "below" => "b", + "color" => blue, + "shape" => "mapsto", + "dashed" => evenly); + node "A"; + rarrowto(1,0, "above" => "c", "width" => 1bp, "shape" => "inj"); + rarrowto(0,1, "below" => "d", "shape" => "mono"); + node "A"; + nextline; + node "A"; + rarrowto(1,0, "below" => "e", "shape" => "epi"); + node "A"; + rarrowto(1,-1, "below" => "f", "curved" => -3mm, "shape" => "half_dotted"); + enddiag; +endfig; +beginfig(270) + draw begingraph(3cm,2cm) + gdraw "data1"; + endgraph; + +endfig; +beginfig(271) + draw begingraph(3cm,2cm) + gdraw "data1" withpen pencircle scaled 2bp; + endgraph; +endfig; +beginfig(272) + draw begingraph(3cm,2cm) + gdraw "data1" dashed evenly; + endgraph; +endfig; +beginfig(273) + draw begingraph(3cm,2cm) + gdraw "data1" withcolor red; + endgraph; +endfig; +beginfig(274) + draw begingraph(3cm,2cm) + gdraw "data1" withpen pencircle scaled 2bp; + gdraw "data2" ; + endgraph; +endfig; +beginfig(275) + draw begingraph(3cm,2cm) + gdraw "data1" ; + gdraw "data2" dashed evenly; + gdraw "data3" dashed withdots; + endgraph; +endfig; +beginfig(276) + draw begingraph(3cm,2cm) + gdraw "data1" withcolor red; + gdraw "data2" withcolor blue; + endgraph; +endfig; +beginfig(277) + draw begingraph(3cm,2cm) + gdraw "data1" plot btex $\bullet$ etex; + endgraph; + +endfig; +beginfig(278) + picture gros_point; + draw (0,0) withpen pencircle scaled 4bp; + gros_point := currentpicture; + currentpicture := nullpicture; + draw begingraph(3cm,2cm) + gdraw "data1" plot gros_point; + endgraph; +endfig; +beginfig(279) + picture gros_point; + gros_point := nullpicture; + addto gros_point doublepath (0,0) + withpen pencircle scaled 4bp; + draw begingraph(3cm,2cm) + gdraw "data1" plot gros_point; + endgraph; +endfig; +beginfig(280) + picture croix; + croix := nullpicture; + addto croix doublepath (-2bp,2bp)--(2bp,-2bp) + withpen pencircle scaled 1bp; + addto croix doublepath (-2bp,-2bp)--(2bp,2bp) + withpen pencircle scaled 1bp; + picture gros_carre; + gros_carre := nullpicture; + addto gros_carre contour unitsquare shifted (-.5,-.5) scaled 2bp; + + draw begingraph(3cm,2cm) + gdraw "data1"; + gdraw "data1" plot croix; + gdraw "data2"; + gdraw "data2" plot gros_carre; + endgraph; +endfig; +beginfig(281) + draw begingraph(3cm,2cm) + gdata("data1", + v, + glabel(gros_point, v1, v2); + ); + endgraph; + +endfig; +beginfig(282) + draw begingraph(3cm,2cm) + path p; + gdata("data1", + v, + augment.p(v1,v2); + ); + gdraw p; + endgraph; + +endfig; +beginfig(283) + interim linecap := squared; + interim linejoin := mitered; + draw begingraph(3cm,2cm) + path p; + gdata("data1", + v, + augment.p(v1,v2); + ); + gdraw p withpen pencircle scaled 2bp; + gdraw p withpen pencircle scaled 1bp withcolor .8white; + endgraph; +endfig; +beginfig(284) + draw begingraph(3cm,2cm) + gdata("data1", + v, + path p; + augment p (v1,0); + augment p (v1,v2); + gdraw p; + ); + endgraph; +endfig; +beginfig(285) + draw begingraph(3cm,2cm) + gdata("data1", + v, + path p; + augment p (v1,0); + augment p (v1,v2); + gdraw p withpen pencircle scaled 4bp; + ); + endgraph; +endfig; +beginfig(286) + interim linecap:=2; + draw begingraph(3cm,2cm) + gdata("data1", + v, + path p; + augment p (v1,0); + augment p (v1,v2); + gdraw p withpen pencircle scaled 4bp; + ); + endgraph; +endfig; +beginfig(287) + draw begingraph(3cm,2cm) + gdata("data1", v, + path p; + augment p (v1,0); + augment p (v1,v2); + augment p (v1 Sadd "1",v2); + augment p (v1 Sadd "1",0); + gdraw p--cycle; + ); + endgraph; +endfig; +beginfig(288) + draw begingraph(3cm,2cm) + gdata("data1", v, + path p; + augment p (v1,0); + augment p (v1,v2); + augment p (v1 Sadd "1",v2); + augment p (v1 Sadd "1",0); + gfill p--cycle withcolor .8white; + gdraw p--cycle; + ); + endgraph; +endfig; +beginfig(289) + draw begingraph(3cm,2cm) + gdata("data1", v, + + % Le dessus + path p; + augment p (v1,v2); + augment p (v1 Sadd "1",v2); + augment p (v1 Sadd "1.5", v2 Sadd "10"); + augment p (v1 Sadd ".5", v2 Sadd "10"); + gfill p--cycle withcolor white; + gdraw p--cycle; + + % Le côté + path p; + augment p (v1 Sadd "1",0); + augment p (v1 Sadd "1",v2); + augment p (v1 Sadd "1.5", v2 Sadd "10"); + augment p (v1 Sadd "1.5", "10"); + gfill p--cycle withcolor .5white; + gdraw p--cycle; + + % Le devant + path p; + augment p (v1,0); + augment p (v1,v2); + augment p (v1 Sadd "1",v2); + augment p (v1 Sadd "1",0); + gfill p--cycle withcolor .8white; + gdraw p--cycle; + + ); + endgraph; +endfig; +beginfig(290) + draw begingraph(3cm,2cm) + path p,q; + gdata("data1", v, + augment.p(v1,v2); + ); + q:= (xpart point 0 of p, 0) -- p -- + (xpart point length(p) of p, 0) -- cycle; + gfill q withcolor .8white; + gdraw p withpen pencircle scaled 2bp; + endgraph; +endfig; +beginfig(291) + draw begingraph(3cm,2cm) + gdata("data1", + v, + path p; + augment p ("0", i); + augment p (v2, i); + augment p (v2, i Sadd ".5"); + augment p (0, i Sadd ".5"); + gfill p--cycle withcolor .8white; + gdraw p--cycle; + ); + autogrid(otick.bot,); + endgraph; +endfig; +beginfig(292) + draw begingraph(3cm,2cm) + gdraw "data1"; + glabel.bot(btex Abscisse etex, OUT); + glabel.lft(btex Ordonnée etex, OUT); + endgraph; + +endfig; +beginfig(293) + draw begingraph(3cm,2cm) + gdraw "data1" withcolor red; + glabel.lft(btex 1 etex, 8); + gdraw "data2" withcolor blue; + glabel.bot(btex 2 etex, 9); + endgraph; + +endfig; +beginfig(294) + draw begingraph(3cm,2cm) + gdraw "data1"; + glabel.bot(btex Abscisse etex, OUT); + glabel.lft(btex Ordonnée etex rotated 90, OUT); + endgraph; +endfig; +beginfig(295) + % La légende + color couleur[]; + couleur[0] := red; + couleur[1] := green; + couleur[2] := blue; + picture p[], legende; + legende := nullpicture; + for i=0 upto 2: + p[i] := nullpicture; + addto p[i] also TEX("Courbe " & decimal(i+1)) + withcolor couleur[i]; + addto legende doublepath ( (0,0)--(5mm,0) ) + shifted (0, -5mm*i) + withpen currentpen withcolor couleur[i]; + addto legende also p[i] + shifted 1/2(lrcorner p[i] - ulcorner p[i]) + shifted (0, -5mm*i); + endfor; + % Les courbes + draw begingraph(3cm,2cm) + for i=1 upto 3: + gdraw "data" & decimal(i) withcolor couleur[i-1]; + endfor; + glabel.top(legende,OUT); + endgraph; +endfig; +beginfig(296) + draw begingraph(3cm,2cm) + setcoords(-linear,log); + gdraw "data1"; + endgraph; + +endfig; +beginfig(297) + draw begingraph(3cm,2cm) + gdraw "data1"; + endgraph; + +endfig; +beginfig(298) + draw begingraph(3cm,2cm) + setrange( (whatever,0), (whatever,whatever) ); + gdraw "data1"; + endgraph; + +endfig; +beginfig(299) + draw begingraph(3cm,2cm) + setrange(whatever, 0, whatever, whatever); + gdraw "data1"; + endgraph; + +endfig; +beginfig(300) + vardef TEX primary s = + write "verbatimtex" to "mptextmp.mp"; + write "\documentclass[12pt]{article}" to "mptextmp.mp"; + write "\usepackage[T1]{fontenc}" to "mptextmp.mp"; + write "\usepackage{amsmath,amssymb}" to "mptextmp.mp"; + write "\begin{document}" to "mptextmp.mp"; + write "etex" to "mptextmp.mp"; + write "btex "&s&" etex" to "mptextmp.mp"; + write EOF to "mptextmp.mp"; + scantokens "input mptextmp" + enddef; + vardef mylabel(expr pic, p, t) = + save A; pair A; + A = point t of p + + 8bp * unitvector(direction t of p) rotated 90; + label(pic, A); + enddef; + path p; u:=1cm; + p = (0,0)..(-u,u)..(u,u); + draw p; + for i=0 step .2 until length(p): + draw point i of p withpen pencircle scaled 4bp; + mylabel(TEX("$"&decimal(round(5*i))&"$"),p,i); + endfor; + +endfig; +beginfig(301) + path p; + p := subpath(1,3) of fullcircle scaled 2cm; + interim linejoin := mitered; + interim linecap := butt; + + interim ahangle := 30; + drawarrow p withpen pencircle scaled 2bp; + + interim ahangle := 45; + drawarrow p shifted (0,-5mm) withpen pencircle scaled 2bp; + + interim ahangle := 60; + drawarrow p shifted (0,-10mm) withpen pencircle scaled 2bp; + +endfig; +beginfig(302) + path p; + p := subpath(1,3) of fullcircle scaled 2cm; + interim linejoin := mitered; + interim linecap := butt; + interim ahangle := 30; + + interim ahlength := 2bp; + drawarrow p withpen pencircle scaled 2bp; + + interim ahlength := 4bp; + drawarrow p shifted (0,-5mm) withpen pencircle scaled 2bp; + + interim ahlength := 6bp; + drawarrow p shifted (0,-10mm) withpen pencircle scaled 2bp; + +endfig; +beginfig(303) + draw TEX( "Nous sommes le "& + decimal(day) &"/"& + decimal(month) &"/"& + decimal(year) &"." ); + +endfig; +beginfig(304) + path p; + p := (0,0) -- (2cm,0); + def doit (suffix p)(expr t) = + begingroup + interim linecap := t; + draw p withpen pencircle scaled 5mm withcolor .8white; + endgroup; + draw point 0 of p withpen pencircle scaled 4bp; + draw point 1 of p withpen pencircle scaled 4bp; + p := p shifted (0,-7mm) + enddef; + doit(p,rounded); + doit(p,butt); + doit(p,squared); + +endfig; +beginfig(305) + path p; + p := (0,0) -- (1cm,5mm) -- (2cm,0); + def doit (suffix p)(expr t) = + begingroup + interim linejoin := t; + draw p withpen pencircle scaled 5mm withcolor .8white; + endgroup; + draw point 0 of p withpen pencircle scaled 4bp; + draw point 1 of p withpen pencircle scaled 4bp; + draw point 2 of p withpen pencircle scaled 4bp; + p := p shifted (0,-7mm) + enddef; + doit(p,rounded); + doit(p,mitered); + doit(p,beveled); + +endfig; +bye; diff --git a/Master/texmf-doc/doc/english/metapost-examples/mp2html.pl b/Master/texmf-doc/doc/english/metapost-examples/mp2html.pl new file mode 100644 index 00000000000..143e2314e0a --- /dev/null +++ b/Master/texmf-doc/doc/english/metapost-examples/mp2html.pl @@ -0,0 +1,170 @@ +#! perl -w + +# +# Builds an HTML file and a bunch of GIF files from a Metapost file +# Also creates a PS file +# +# (c) Vincent Zoonekynd <zoonek@math.jussieu.fr> +# August 1999 +# modified in august 2001 +# distributed under the GPL +# + +$main = $ARGV[0] || "examples"; +$main =~ s/\.mp$//i; + +# On crée les images GIF +# BUG : à chaque fois qu'il y a des fontes, ça plante. +# C'est normal pour deux raisons : +# - si j'utilisais prologuse:=2, il ne trouverait pas les fontes. +# - Comme j'utilise prologues:=0, c'est encore pire... +# L'idéal serait de créer un fichier LaTeX pour chaque fichier postscript, +# de lancer later puis dvips dessus et de récupérer le fichier postscript. + +# 1. Compile the examples + +system "TEX=latex mpost --interaction=nonstopmode $main"; + +# 2. Create a LaTeX file encompassing the examples and compile it + +open(LATEX,'>', "$main.tex") || die "Cannot open examples.tex for writing: $!"; +print LATEX '\documentclass[a4paper]{article}' ."\n"; +print LATEX '\usepackage{graphicx}' ."\n"; +print LATEX '\begin{document}' ."\n"; +print LATEX '\begin{verbatim}' ."\n"; +open(MP, "<", "$main.mp") || die "cannot open $main.mp for reading: $!"; +while(<MP>){ + if (m/^\s*beginfig\s*\((.*)\)/) { + print LATEX '\end{verbatim}' . "\n"; + print LATEX "\\includegraphics{${main}_$1.mps}\n"; + print LATEX '\begin{verbatim}' . "\n"; + print LATEX $_; + } elsif (m/^\s*endfig/) { + print LATEX $_; + print LATEX '\end{verbatim}' ."\n"; + print LATEX '\hrulefill' . "\n"; + print LATEX '\begin{verbatim}' . "\n"; + } else { + print LATEX $_; + } +} +print LATEX '\end{verbatim}' . "\n"; +print LATEX '\end{document}' ."\n"; +close MP; +close LATEX; + +opendir(DIR,"./") || die "Cannot open ./ directory for reading : $!"; +foreach $file (readdir DIR) { + if ($file =~ m/^$main.[0-9]+$/) { + my $new = $file; + $new =~ s/\./_/g; + $new .= ".mps"; + symlink $file, $new; + } +} +closedir(DIR); + +system "latex --interaction=nonstopmode $main.tex"; +system "dvips -o $main.ps $main.dvi"; +#system "pdflatex --interaction=nonstopmode $main.tex"; + +# 3. Create the GIF pictures + +opendir(DIR,"./") || die "Cannot open ./ directory for reading : $!"; +foreach $file (readdir DIR) { + if ($file =~ m/^$main.[0-9]+$/) { + + ## Création du fichier PS + symlink "$file", "$file.eps"; + open(TEX,">$file.tex") || die "cannot open $file.tex for writing : $!"; + print TEX '\nonstopmode' ."\n" ; + print TEX '\documentclass[a4paper,10pt]{article}' ."\n" ; + print TEX '\usepackage[T1]{fontenc}\usepackage[latin1]{inputenc}' ."\n" ; + print TEX '\usepackage{graphicx,amsmath,amssymb}' ."\n" ; + print TEX '\pagestyle{empty}' ."\n" ; + print TEX '\begin{document}' ."\n" ; + print TEX '\includegraphics{'. "$file.eps" .'}' ."\n" ; + print TEX '\end{document}' ."\n" ; + close TEX; + system "latex $file.tex"; + system "dvips -E -f $file.dvi -o $file.ps"; + + ## Transformation en GIF + my ($bbx,$bby,$bbw,$bbh); + open(PS,"$file.ps"); + while (<PS>) { + if (/^%%BoundingBox:\s+(-?\d+)\s+(-?\d+)\s+(-?\d+)\s+(-?\d+)/) { + $bbx = 0-$1; $bby = 0-$2; + $bbw = $3+$bbx; $bbh = $4+$bby; +# print "*** Seen BBOX\n"; + } + last if /^%%EndComments/; + } + close(PS); + + my $scale = 3; + my $density = 72*$scale; + $bbw = $scale * $bbw; + $bbh = $scale * $bbh; +# print "*** gs -q -dNOPAUSE -dNO_PAUSE -sDEVICE=ppmraw -g${bbw}x${bbh} -r$density -sOutputFile=$file.ppm\n"; + open(GS, "|gs -q -dNOPAUSE -dNO_PAUSE -sDEVICE=ppmraw -g${bbw}x${bbh} -r$density -sOutputFile=$file.ppm"); + print GS "$bbx $bby translate\n"; + print GS "($file.ps) run\n"; + print GS "showpage\n"; + print GS "quit\n"; + close(GS); + + system("pnmcrop $file.ppm | ppmquant 256 | ppmtogif > $file.gif"); + + unlink "$file.ppm"; + } +} + + +# 4. Create the HTML file +open(MP,"$main.mp") || die "cannot open $main.mp for reading: $!"; +open(HTML,">$main.html") || die "cannot open $main.html for writing: $!"; +select HTML; +print "<HTML><HEAD><TITLE>Metapost : exemples</TITLE></HEAD><BODY>\n"; +print "<H1> Métapost : exemples </H1>\n"; +print "<HR><PRE>\n"; +while(<MP>){ + if (m/^\s*beginfig\s*\((.*)\)/) { + print "</PRE><IMG SRC=\"$main.$1.gif\"><PRE>\n"; + print ; + } elsif (m/^\s*endfig/) { + print; + print "</PRE><HR><PRE>\n"; + } else { + print; + } +} +print "</PRE>\n"; +print "</BODY></HTML>\n"; +close HTML; +close MP; + +# 5. Remove unnecessary files + +opendir(DIR,"./") || die "Cannot open ./ directory for reading : $!"; +foreach $file (readdir DIR) { + if ($file =~ m/^$main.[0-9]+$/) { + unlink $file; + unlink "$file.tex"; + unlink "$file.dvi"; + unlink "$file.aux"; + unlink "$file.log"; + unlink "$file.eps"; + unlink "$file.ps"; + my $new = $file; + $new =~ s/\./_/g; + $new .= ".mps"; + unlink $new; + } elsif( $file =~ m/\.mpx$/ ) { + unlink $file; + } +} +closedir DIR; +unlink "$main.aux"; +unlink "$main.log"; + |