diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /obsolete/info |
Initial commit
Diffstat (limited to 'obsolete/info')
34 files changed, 30669 insertions, 0 deletions
diff --git a/obsolete/info/MiKTeX+Ghostscript+GSview+USB-drive-HOWTO.txt b/obsolete/info/MiKTeX+Ghostscript+GSview+USB-drive-HOWTO.txt new file mode 100644 index 0000000000..0c7e7104f8 --- /dev/null +++ b/obsolete/info/MiKTeX+Ghostscript+GSview+USB-drive-HOWTO.txt @@ -0,0 +1,500 @@ +MiKTeX+Ghostscript+GSview+USB-drive-HOWTO.txt
+
+Alexander Grahn
+
+Version 1.06, 2nd May 2007
+
+Copyright © 2006 Alexander Grahn
+
+This HOWTO provides instructions for setting up a portable installation
+of MiKTeX (>=2.5), Ghostscript and GSview on external storage devices,
+such as USB sticks or mapped network drives, for use with MS Windows
+(2000, 2003, XP, ...) computers.
+
+Permission is granted to copy, distribute and/or modify this HOWTO
+under the terms of the GNU Free Documentation License (GFDL), Version
+1.1 or any later version published by the Free Software Foundation. See
+http://www.fsf.org for details of this license. This HOWTO is distributed
+in the hope that it will be useful, but WITHOUT ANY WARRANTY.
+
+-----------------------------------------------------------------------------
+
+1 Introduction
+==============
+
+A portable TeX/LaTeX/PS-viewer installation for MS Windows can be
+easily created by copying existing installations of MiKTeX, Ghostscript
+and GSview to a USB storage device and adding some helper scripts
+for initialization and utilizing the software. In fact, the procedure
+described here is not restricted to USB drives but works with everything,
+which, apart from being writable, has a leading drive letter, such as
+"E:", in its path, e. g. mapped network drives.
+
+As Ghostscript (together with the PS fonts directory) and GSview are
+quite small (they consume less than 30 MB), the required size of the USB
+drive mainly depends on the number of packages that have been or will
+be installed with the MiKTeX system. The MiKTeX Package Manager which
+ships with the MiKTeX system allows to update or extend the portable
+installation at any time the USB drive is plugged into a Windows box
+with internet connection. A script for starting the Package Manager is
+provided within this document.
+
+The initialization of the portable installation involves some manipulation
+of the Windows Registry in order to associate file name extensions
+(.dvi, .ps, .eps) with the appropriate programs (Yap, GSview) of the
+installation. These changes only affect the current user's settings
+branch (HKEY_CURRENT_USER) of the Registry. Therefore, no additional
+administrative rights are necessary to run the initialization script
+and to use the software. Existing application settings as well as file
+type associations are backed up and should be restored after finishing
+the session using another script given in this document.
+
+The installation of other software which might complete the portable
+system, such as text editors, additional viewers, drawing programs etc. is
+not covered here as it depends largely on personal requirements and taste.
+
+
+2 Prerequisites
+===============
+
+First of all, we need working installations of Ghostscript, GSview
+and MiKTeX on some Windows box. At the beginning, a small installation
+(private or shared) of MiKTeX will do, since it can be extended later
+using the Package Manager.
+
+Create two empty folders `texmf' and `localtexmf' somewhere on your USB
+drive. The root directory of the drive is probably the best place for
+both folders to go to, although any number of intermediate directories
+is acceptable. For the portable installation to work it is necessary
+that the files which follow in this document be put to the same parent
+directory as the `texmf' and `localtexmf' folders.
+
+Now we are going to copy the original MiKTeX installation, which could
+reside, say, in `C:\Program Files\MiKTeX 2.5', to the USB drive. Copy
+everything you find in this folder (but not the folder itself!) into
+the `texmf' directory on your USB drive. The `texmf' directory tree is
+the one that will be maintained by the Package Manager and the Update
+Wizzard. The `localtexmf' tree is the place where TeXperts will put
+their own or third party packages.
+
+Copy the `gs' folder (containing the `fonts' directory) of a Ghostscript
+installation and the `Ghostgum' folder of a GSview installation to the
+same parent directory which already contains the `texmf' and `localtexmf'
+folders.
+
+The next thing we need is the `reg.exe' utility, version 3.0, such that
+we can manipulate the Windows Registry from within our scripts. It
+resides in the system directory (c:\WINDOWS\system32) of Windows XP
+or 2003 computers. However, there is no `reg.exe' on Windows 2000
+computers. Make a copy of `reg.exe' to the parent directory of your
+portable installation. It is a good idea to have it there in case you
+want to plug your USB stick to a Windows 2000 computer.
+
+
+3 Adding the scripts
+====================
+
+Now add all the DOS batch (.bat) scripts you find at the end of this
+document to the same parent directory which contains the other folders
+we have copied so far. With the exception of `versions.bat' none of
+the scripts needs any modification.
+
+`versions.bat', which is not intended to be run directly, is called by
+some of the remaining scripts. It sets three script variables to the
+version numbers of MiKTeX, Ghostscript and GSview. Edit this file and
+make sure that the numbers therein match the actual program versions
+of your installation. Line breaks must follow immediately after the
+numbers. Spaces around them are not allowed.
+
+########################################################################
+*NB*: The `MIKTEX_VERSION', `GS_VERSION' and `GSVIEW_VERSION' variables
+ which are set in the file `versions.bat' need to be adjusted
+ according to the program versions being in use.
+########################################################################
+
+Don't forget to edit `versions.bat' whenever you update MiKTeX,
+Ghostscript and/or GSview to a different version!
+
+The purpose of each script is listed in the following.
+
+versions.bat Called by `init.bat', `reset.bat' and `cmd.bat'. Sets the
+ `MIKTEX_VERSION', `GS_VERSION' and `GSVIEW_VERSION'
+ variables.
+
+init.bat Initialises the MiKTeX, Ghostscript and GSview installations
+ on the USB drive. Associates the .dvi file name extension
+ with Yap and the .ps/.eps extensions with GSview. Backups
+ current user's file associations and application settings
+ of possibly existing MiKTeX and GSview installations on the
+ host computer and loads settings of the previous portable
+ session instead. Creates a context menu item for files and
+ folders, which allows to open a DOS command line prompt for
+ TeXifying documents at the location of a file or folder by
+ right click.
+
+reset.bat To be run after finishing a session and before disconnecting
+ the USB or network drive. Restores previous file associations
+ and application settings. Saves the settings of the portable
+ session to the USB drive.
+
+mpm.bat Starts the MiKTeX Package Manager for installation of
+ additional packages. The Update Wizzard can be started from
+ within the package manager via the `Task' menu.
+
+mo.bat Starts the MiKTeX Options setting tool.
+
+yap.bat Yet another means to open Yap. Drag and drop a .dvi file on
+ `yap.bat'.
+
+gsview.bat Yet another means to open GSview. Drag and drop a Postscript
+ file on `gsview.bat'.
+
+cmd.bat Yet another means to open a DOS command line window. Drag and
+ drop a file or directory on `cmd.bat' to open the command
+ line at the location of the file/directory.
+
+The final directory structure should be as follows:
+
+<drive letter>:[<\intermediate\directories>]\texmf\
+<drive letter>:[<\intermediate\directories>]\localtexmf\
+<drive letter>:[<\intermediate\directories>]\gs\
+<drive letter>:[<\intermediate\directories>]\Ghostgum\
+<drive letter>:[<\intermediate\directories>]\reg.exe
+<drive letter>:[<\intermediate\directories>]\versions.bat
+<drive letter>:[<\intermediate\directories>]\init.bat
+<drive letter>:[<\intermediate\directories>]\reset.bat
+<drive letter>:[<\intermediate\directories>]\mpm.bat
+<drive letter>:[<\intermediate\directories>]\mo.bat
+<drive letter>:[<\intermediate\directories>]\yap.bat
+<drive letter>:[<\intermediate\directories>]\gsview.bat
+<drive letter>:[<\intermediate\directories>]\cmd.bat
+
+
+4 Using the portable installation
+=================================
+
+After connecting the USB drive to a Windows computer, the initialization
+process is started by double click on `init.bat'. A DOS window opens,
+displaying the output of the `initexmf' program run by the script.
+Please wait until you are asked to hit a key for closing the window.
+
+Once the DOS window is closed, the portable MiKTeX/Ghostscript/GSview
+installation is ready for use. The most comfortable way to TeXify a
+document is to open a DOS command line at its location: Right click
+on a folder or file and select "Command Prompt Here" from the context
+menu. Alternatively, you can drag and drop a folder or file onto
+the `cmd.bat' icon. At the command line you will have access to all
+executables (latex, pdflatex, bibtex, dvips, ps2pdf, ...) necessary to
+process your documents. The resulting .dvi and .ps files can easily be
+opened by double click, since appropriate file associations have been
+established during initialization.
+
+Before disconnecting the USB drive, it is a good idea to run `reset.bat'
+in order to undo the changes which have been made to the Registry and to
+restore personal application settings which were in effect before the
+session. This ensures to wipe out any traces of your portable session
+and to avoid possible interferences with existing MiKTeX/GS/GSview
+installations on the host computer.
+
+
+5 DOS batch scripts
+===================
+
+5.1 versions.bat
+=================
+--8<----------------------------------------------------------------------
+rem MiKTeX
+set MIKTEX_VERSION=2.5
+
+rem Ghostscript
+set GS_VERSION=8.56
+
+rem GSview
+set GSVIEW_VERSION=4.8
+-->8----------------------------------------------------------------------
+
+
+5.2 init.bat
+============
+--8<----------------------------------------------------------------------
+@echo off
+
+rem set path
+set path=%~dp0texmf\miktex\bin;%path%
+
+rem test whether a lock entry exists in the Registry
+reg query HKCU\Software\TeX-portable 2>nul 1>nul && (
+ echo `%~nx0' can be run only once per session, run `reset.bat' first!
+ echo.
+ pause
+ exit
+)
+
+cls
+echo Please wait...
+
+rem set version numbers
+call "%~dp0versions.bat"
+
+rem add lock entry to the Registry
+reg add HKCU\Software\TeX-portable /f 2>nul 1>nul
+
+rem create folder context menu item for opening a DOS command line
+reg add "HKCU\Software\Classes\Folder\shell\ZCmdHere" /ve /t REG_SZ /d "Command Prompt Here" /f 1>nul 2>nul
+reg add "HKCU\Software\Classes\Folder\shell\ZCmdHere\command" /ve /t REG_SZ /d "\"%~dp0cmd.bat\" \"%%1\"" /f 1>nul 2>nul
+
+rem create file context menu item for opening a DOS command line
+reg add "HKCU\Software\Classes\*\shell\ZCmdHere" /ve /t REG_SZ /d "Command Prompt Here" /f 1>nul 2>nul
+reg add "HKCU\Software\Classes\*\shell\ZCmdHere\command" /ve /t REG_SZ /d "\"%~dp0cmd.bat\" \"%%1\"" /f 1>nul 2>nul
+
+rem backup existing .dvi entry
+reg query HKCU\Software\Classes\.dvi 2>nul 1>nul && (
+ reg copy HKCU\Software\Classes\.dvi HKCU\Software\Classes\.dvi.bak /f /s 2>nul 1>nul
+)
+
+rem create new (private) file association for .dvi
+reg add HKCU\Software\Classes\.dvi /ve /d "my_dvifile" /f 2>nul 1>nul
+reg add HKCU\Software\Classes\my_dvifile\shell\open\command /ve /d "\"%~dp0texmf\miktex\bin\yap.exe\" \"%%1\"" /f 2>nul 1>nul
+reg add HKCU\Software\Classes\my_dvifile\DefaultIcon /ve /d "\"%~dp0texmf\miktex\bin\yap.exe\"" /f 2>nul 1>nul
+
+rem backup existing .ps/.eps entries
+reg query HKCU\Software\Classes\.ps 1>nul 2>nul && (
+ reg copy HKCU\Software\Classes\.ps HKCU\Software\Classes\.ps.bak /s /f 2>nul 1>nul
+)
+reg query HKCU\Software\Classes\.eps 1>nul 2>nul && (
+ reg copy HKCU\Software\Classes\.eps HKCU\Software\Classes\.eps.bak /s /f 2>nul 1>nul
+)
+
+rem create new (private) file associations for .ps/.eps
+reg add HKCU\Software\Classes\.ps /ve /d "my_psfile" /f 2>nul 1>nul
+reg add HKCU\Software\Classes\.eps /ve /d "my_psfile" /f 2>nul 1>nul
+reg add HKCU\Software\Classes\my_psfile\shell\open\command /ve /d "\"%~dp0Ghostgum\gsview\gsview32.exe\" \"%%1\"" /f 2>nul 1>nul
+reg add HKCU\Software\Classes\my_psfile\DefaultIcon /ve /d "\"%~dp0Ghostgum\gsview\gsview32.ico\"" /f 2>nul 1>nul
+
+rem backup existing gsview32.ini file in the %USERPROFILE% directory
+if exist "%USERPROFILE%\gsview32.ini" (
+ del "%USERPROFILE%\gsview32.ini.bak" 1>nul 2>nul
+ ren "%USERPROFILE%\gsview32.ini" gsview32.ini.bak 1>nul 2>nul
+)
+
+rem write gsview32.ini file on USB drive
+echo [GSview-%GSVIEW_VERSION%]> "%~dp0Ghostgum\gsview\gsview32.ini"
+echo Configured=1 >> "%~dp0Ghostgum\gsview\gsview32.ini"
+echo Version=%GSVIEW_VERSION%>> "%~dp0Ghostgum\gsview\gsview32.ini"
+echo GhostscriptDLL=%~dp0gs\gs%GS_VERSION%\bin\gsdll32.dll>> "%~dp0Ghostgum\gsview\gsview32.ini"
+echo GhostscriptEXE=%~dp0gs\gs%GS_VERSION%\bin\gswin32c.exe>> "%~dp0Ghostgum\gsview\gsview32.ini"
+echo GhostscriptInclude=%~dp0gs\gs%GS_VERSION%\lib;%~dp0gs\fonts;%~dp0gs\gs%GS_VERSION%\Resource>> "%~dp0Ghostgum\gsview\gsview32.ini"
+echo GhostscriptOther=-dNOPLATFONTS -sFONTPATH="c:\psfonts">> "%~dp0Ghostgum\gsview\gsview32.ini"
+echo. >> "%~dp0Ghostgum\gsview\gsview32.ini"
+
+rem append GSview settings from last session
+if exist "%~dp0.gsview32.ini" (
+ type "%~dp0.gsview32.ini" >> "%~dp0Ghostgum\gsview\gsview32.ini"
+)
+
+rem backup existing MiKTeX settings for later restore
+reg query HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% 1>nul 2>nul && (
+ reg copy HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%.bak /s /f 1>nul 2>nul
+ reg delete HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% /f 1>nul 2>nul
+)
+reg query HKLM\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% 1>nul 2>nul && (
+ reg copy HKLM\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% HKLM\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%.bak /s /f 1>nul 2>nul
+ reg delete HKLM\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% /f 1>nul 2>nul
+)
+
+rem load MiKTeX settings from previous session
+if exist "%~dp0.MiKTeX.reg" (
+ reg import "%~dp0.MiKTeX.reg" 1>nul 2>nul
+)
+
+rem on startup, don't let Yap check whether it is the default viewer (this breaks the .dvi file association)
+reg add HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%\Yap\Settings /v "Check Associations" /d 0 /t REG_DWORD /f 1>nul 2>nul
+
+rem initialize MiKTeX
+reg add HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%\Core /v "Install" /d "%~dp0texmf" /t REG_SZ /f 1>nul 2>nul
+reg add HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%\Core /v "Roots" /d "%~dp0localtexmf;%~dp0texmf" /t REG_SZ /f 1>nul 2>nul
+reg add HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%\Core /v "UserData" /d "%~dp0.userdata" /t REG_SZ /f 1>nul 2>nul
+reg add HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%\Core /v "UserConfig" /d "%~dp0.userconfig" /t REG_SZ /f 1>nul 2>nul
+initexmf.exe --verbose --dump --mklinks
+initexmf.exe --verbose --mkmaps
+initexmf.exe --verbose --update-fndb
+
+cls
+echo.
+echo The portable MiKTeX/GS/GSview installation is now ready for use!
+echo.
+echo *********************************************************************
+echo ** IMPORTANT: Don't forget to run `reset.bat' before disconnecting **
+echo ** the USB drive! **
+echo *********************************************************************
+echo.
+pause
+-->8----------------------------------------------------------------------
+
+5.3 reset.bat
+=============
+--8<----------------------------------------------------------------------
+@echo off
+
+set path=%~dp0Ghostgum\gsview;%path%
+
+rem test whether a lock entry exists in the Registry
+reg query HKCU\Software\TeX-portable 2>nul 1>nul || (
+ echo There is nothing to be reset. Aborting...
+ echo.
+ pause
+ exit
+)
+
+echo.
+echo **********************************************************************
+echo ** IMPORTANT: Make sure that all instances of Yap have been closed! **
+echo ** GSview will close automatically. **
+echo **********************************************************************
+echo.
+pause
+
+rem close all instances of GSview
+gsview32 -x
+
+cls
+echo Please wait...
+
+rem set version numbers
+call "%~dp0versions.bat"
+
+rem restore previous file associations
+reg delete HKCU\Software\Classes\.dvi /f 2>nul 1>nul
+reg query HKCU\Software\Classes\.dvi.bak 1>nul 2>nul && (
+ reg copy HKCU\Software\Classes\.dvi.bak HKCU\Software\Classes\.dvi /s /f 2>nul 1>nul
+ reg delete HKCU\Software\Classes\.dvi.bak /f 2>nul 1>nul
+)
+
+reg delete HKCU\Software\Classes\.ps /f 2>nul 1>nul
+reg query HKCU\Software\Classes\.ps.bak 1>nul 2>nul && (
+ reg copy HKCU\Software\Classes\.ps.bak HKCU\Software\Classes\.ps /s /f 2>nul 1>nul
+ reg delete HKCU\Software\Classes\.ps.bak /f 2>nul 1>nul
+)
+
+reg delete HKCU\Software\Classes\.eps /f 2>nul 1>nul
+reg query HKCU\Software\Classes\.eps.bak 1>nul 2>nul && (
+ reg copy HKCU\Software\Classes\.eps.bak HKCU\Software\Classes\.eps /s /f 2>nul 1>nul
+ reg delete HKCU\Software\Classes\.eps.bak /f 2>nul 1>nul
+)
+
+reg delete HKCU\Software\Classes\my_dvifile /f 2>nul 1>nul
+reg delete HKCU\Software\Classes\my_psfile /f 2>nul 1>nul
+
+rem dump current MiKTeX settings to `.MiKTeX.reg' on the USB drive
+reg query HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% 1>nul 2>nul && (
+ reg export HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% "%~dp0.MiKTeX.reg" 1>nul 2>nul
+)
+
+rem restore previous MiKTeX settings
+reg delete HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% /f 1>nul 2>nul
+reg query HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%.bak 1>nul 2>nul && (
+ reg copy HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%.bak HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% /s /f 1>nul 2>nul
+ reg delete HKCU\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%.bak /f 1>nul 2>nul
+)
+reg query HKLM\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%.bak 1>nul 2>nul && (
+ reg query HKLM\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% 1>nul 2>nul && (
+ reg delete HKLM\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% /f 1>nul 2>nul
+ )
+ reg copy HKLM\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%.bak HKLM\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION% /s /f 1>nul 2>nul
+ reg delete HKLM\Software\MiKTeX.org\MiKTeX\%MIKTEX_VERSION%.bak /f 1>nul 2>nul
+)
+
+rem copy current GSview settings to USB drive
+if exist "%USERPROFILE%\gsview32.ini" (
+ copy "%USERPROFILE%\gsview32.ini" "%~dp0.gsview32.ini" 1>nul 2>nul
+ del "%USERPROFILE%\gsview32.ini" 1>nul 2>nul
+)
+
+rem restore backup version of gswin32.ini
+if exist "%USERPROFILE%\gsview32.ini.bak" (
+ ren "%USERPROFILE%\gsview32.ini.bak" gsview32.ini
+)
+
+rem delete folder and file context menu item
+reg delete HKCU\Software\Classes\Folder\shell\ZCmdHere /f 1>nul 2>nul
+reg delete HKCU\Software\Classes\*\shell\ZCmdHere /f 1>nul 2>nul
+
+rem delete lock entry in the Registry
+reg delete HKCU\Software\TeX-portable /f 2>nul 1>nul
+
+cls
+echo You can now disconnect the USB drive!
+echo.
+pause
+-->8----------------------------------------------------------------------
+
+5.4 mpm.bat
+===========
+--8<----------------------------------------------------------------------
+@echo off
+set path=%~dp0texmf\miktex\bin;%path%
+start mpm.exe
+-->8----------------------------------------------------------------------
+
+5.5 mo.bat
+===========
+--8<----------------------------------------------------------------------
+@echo off
+set path=%~dp0texmf\miktex\bin;%path%
+start mo.exe
+-->8----------------------------------------------------------------------
+
+5.6 yap.bat
+===========
+--8<----------------------------------------------------------------------
+@echo off
+set path=%~dp0texmf\miktex\bin;%path%
+start yap.exe %*
+-->8----------------------------------------------------------------------
+
+5.7 gsview.bat
+==============
+--8<----------------------------------------------------------------------
+@echo off
+set path=%~dp0Ghostgum\gsview;%path%
+start gsview32.exe %*
+-->8----------------------------------------------------------------------
+
+5.8 cmd.bat
+===========
+--8<----------------------------------------------------------------------
+@echo off
+
+rem set version numbers
+call "%~dp0versions.bat"
+
+rem set path to executables
+set path=%~dp0gs\gs%GS_VERSION%\lib;%~dp0gs\gs%GS_VERSION%\bin;%~dp0texmf\miktex\bin;%path%
+
+rem MiKTeX environment
+if not exist texmf\nul (
+ rem extra paths to locate .bib files.
+ set BIBINPUTS=.//
+ rem Extra paths to locate .bst files.
+ set BSTINPUTS=.//
+ rem Extra paths to locate METAFONT input and openin files.
+ set MFINPUTS=.//
+ rem Extra paths to locate MetaPost input files.
+ set MPINPUTS=.//
+ rem Extra paths to locate TeX \input and \openin files.
+ set TEXINPUTS=.//
+)
+
+rem Ghostscript environment
+set GS_DLL=%~dp0gs\gs%GS_VERSION%\bin\gsdll32.dll
+set GS_LIB=%~dp0gs\gs%GS_VERSION%\lib;%~dp0gs\fonts;%~dp0gs\gs%GS_VERSION%\Resource
+
+rem chdir to the first argument or, if it's a file, to its parent dir
+(
+ %~d1
+ cd %1 || cd "%~p1"
+) 1>nul 2>nul
+
+rem open console
+cmd.exe
+-->8----------------------------------------------------------------------
diff --git a/obsolete/info/RTF/RTF-Spec.hqx b/obsolete/info/RTF/RTF-Spec.hqx new file mode 100644 index 0000000000..b083b8b720 --- /dev/null +++ b/obsolete/info/RTF/RTF-Spec.hqx @@ -0,0 +1,579 @@ +(This file must be converted with BinHex 4.0) +:$&*84Le6F'9M,R0TG!"6593K8dP8)3!!!!"VT!!!!!$E3&0*9#%!!3!!Dk4b6'& +e!3!!!!!!!!!!!JK59%BY8h"PBhJ!!!"I!!!!"8#!BFJ!2f6Q3)"JV!!3!!!!!!! +!!!"J!`!'!!#i!!!MKR3!*H8i!!#jKJ!3`3&A4%*1690A4!%!SqV!&+2`4-N!!!! +!!!$+!!!!!!!!!'XH!!$353!!!!!!!2q9rQi!i!#JS%'$'3iH$'$`8)@#bABT"&" +)h%3!-LjU0'LXi,5#(3&m"'"X*%L6*$mk!"NZ`%S!apiGM$P6*S5#ari"!&)3f3m +!JRS'1iKXU)LHi`$J`5R6B,)Y!%"!h!2!!X4)!&4!P-M4T!)!$cH+(8Zf,&NTDFD +J!8'P$"ik))bmNG-Q$*d'$D43-3*L5KihG-,J`8X&64N3D0@bG3YA,Pfl)&$S0C) +#a*c!EXL%N8-'4*Sj)-+!D&1'$TShRGqB!9('c4M8DGbF!@&QEPdkG-Tdc[dfG'B +3Cq5%JB-Q,HMDFPL(QC-(""hKEZDB+C0F61NlC9U(KJ1(69UlDGj%G`&L5"djFPV +6BC1("BJkFkL$*P-'6Z[8ELcE(j-Q$"[Rd-h""RML@DBD(AGXGKJGEicfKKf(h6& +ACh$)mFBBCF`a4fbcNA&K(D3""TTe#'DA(aPTQ$&GHS#"3-368fcAhAGdK"HGHf( +m4L*ffVdBih!cMN&JG,je&J4hE"c@4"Mm!IE'('X"kCf3!$@+0iF,K"Q'f&k@BDB +CCb"8q'!Dp)%QfQ8jIYNCFVI40TGcM"8*R($%'HFCB05TPH-C#k)"QC!!q9RhARb +GhC''D5#JU#*ekS(`4Ked`!&TSQABN9D'lVeKRh!ebXDD'jCDk%D)G-b"ifqD8JH +HTmaG9NBE9i+`*9r`CHLFPN%i-885lLhC*)03CTTF%N)d!3)83i#JTh"Mj*CFI(! +aU+aiclhaRfQ(T9GKKZS0+5HEGR8kQfUK*ISKUHk*m3DL"@*Vf4MTDCIQR@(+%4X +Gj&eak&VZ6YCPQTZ4iCk(Bi#S(QL[Y3((NlUpPaPeLDDiBU1TFXUKCAQi#UZFKL+ +Uk-3YcR&JJZR*11@3!!MR#)+Jcq8S(AATGEDMLEFbl1LQUml@DQiEcbXPM6CHL9F +3qIPV4KT*6K[GCk8kZPSGES#,@m1mdH'H#+m"CZ&r%R*QUJJJB%hYeKLhS5iEAmX +T3R#2`R%Pf%(mQeR!Xp+'p'&CEhJCD15+aai)0l3JaU%J"$(&%%NNSDbIc$Tlh*Y +P,(FBZ5e(Yl!Fq!iGGYE9FMdKf*q91mGqrE(aYp5jGCC`AEqC"TQrYB)QE9ebV&( +[[4"c6[CVCFSCQp3fhJVCce3'2HL#$E)H"TrQ&NaUV((VELd)ADYZ*G0mVbDD'%b +Z)H"bDp9QqK[BbGbFb[i4&`D*DA9TVkFq8qTG'iG5Kb0S8*+IAfbh(LBq'q5lQ&[ +#S,!Nk3![A-#F'@+3!!c0#D%m3dZ!%,Vh25LYV!aRL!eS)UFBkAQ1-`dB3J+#`!E +eX@m-lZ03#"2J")2C#iAdQ9rpj*!!TF2%-!hdFjDb9#DS-m'"5C0,MRL#k+#5Z8% +mkI26#4Hh'5BjMMa*d"i)h1$#p[e31+64)3j*Jb+lP1&deJ,J(@5R*3p5Ed,Z-8h +SVNM!dN!XG1kkB3lYjc[3(#SqE&M0rmMA-$'F6hiiR#'1d0DJ[$(YBZ6b)4!G*83 +h%,%0FcR-%Gf3!-6ePDCpbh+LI,$%J!E%6@aDQajcc'BYX"PbEdiV&rI'i,d"@A# +2j9[C(cFNQb5jCj+9A')QQd8GmML'0AJJB(I+i"iZq!%%fNT2I%48VNQ+)6eK@-2 +&4JG%mJaKE+,-!bR4jTaS5V*"FTbKd$`C0VE9!3kQ["iU+4HRHCQaHRa,MKP(HEB +0ZJD!K+,A-i%)'K6XS3mTm+9Y`M90dKfYB4dV6Rj%BdiiK'C4cH+E'rlQVUT4Eer +mFeG$bA1%eUM+G1f"8fm5bMq'@ZLFGc+-[CU@SqDJ$T'VU@LFYS8K&(P+SbH&!hQ +3!-"(#-QK9fQaN!$)c!!A(!k69#K,TEq@-`H$#5pD@UV0ZSkB'rFB*JcdNF-,T1U +X8h8Q4e6e9N2l@5CiTF%kR4Q3!"EcSmEjR%XpPI(3&0H98ZS3lU@HSTb@D+UELe@ +02'a4D4Q3!%0-jc5S08dYQHZJbUdjY3ddKM*GD0L3!+#-AG"0MjQDpG"6KQDaace +jH*4P6P-(0R3'@[h$l'h%G9%eXY8`mA(X1@AAS$J10JbPK8Y#8mZ&q$4,B#$J`K@ +"1brK$SKrljb3!+RNK+f&NZ'VEQK1QG)3-p859$CBmQ4d(B8YH6*1Nh+`if[pGlI +3P+`lBFJSBmJ6"0#3!-T'$9[IJ`VVVP@f%Rb4i8*PjV92$2AcRjAa%i6ddpR5M5C +bEVJBrbC$(LSdU&EpLqdZ(4FDf6('2AbP6rrDd0SSVBb#VN4$GUF`-J8pYCYVX*9 +S80H`Sb9YAR3i$j%)Gkm'UFaSj3fGN!"-&pq`h@'P[34EAdUX@$p&+d"U9A(4Z16 +L`p5iA#aH8ij6aZ1[KJfD@A8"h*E-Par2d$,eD@*Zb(JBiJhT"!M$jRpq0p!UjFF +-&Z+`Zp#VhYl-bmYMEQBClQ#hT(%Z[3Qqk9k2bpCfYNj,rKTVK8A'(bm@DPmRrQ[ +KZ)c-b'A9A,Cb9pCm'PZpVYe2'E*,Y%r9U'3i6TU1VjI9(MG86Qf!$e`%eCS +ai,0Kr1Y[KKTF4M@I%8`*T)-CmK2VblKTI(afep(##jG8"BTCS`kX*+Z)3MCQmBh +d!8b+dT!!D5ea1RKk2Bbrd$3h-0@+$,`@0jI)V5C+cF'XD+9A@jYRX"DpKV1M%`m +CD!Z#EaFS"YNY6"![65j&Nh5KP'kbCqbSX,PJ"PmJ+!+6e[,Ud4AiS'31dfDD(9- +Y%DcHF!N$4&-Rbp5q'XBHPaLM@K3ZHiN"8VE5+f3NAHT8(kEBXmBJrhDVl$!'m+B +58PVRIVe[H8I9jiE++fHSFm!'P+*ZrXi2#S)pl"6JjHP$q#i[Re@D'YC0iB#DV-M +ZC1XkD&M4b('6L0acQ6`NDER[MPGqAJ2!RiBT,6&@TRZi5P9-q5DXEPlZ9E0UTYp +`96jX"a(YQX2Qc0TSlp`flA,jqiBhV)&fhVXIpEliRqA3'eeJEYEM05kFi!`($9j +PBZ-JKYICL'P60GSe#++BfYS!KZedF(YKidicZXmPp8eY`q,[",`#+ATH(bH9GA& +cXGG6*rCQ+PPXbNiIi'+V16L[9fGedbIb-MY-K"BTA#Ema[&qAMe3A-hdf@"fhD4 +45kp1ZqfEPVr58LJp0HfqE"fDpVDr2H$`Pe24Cd1I86!DJQ[Q"d[6e&Q"PhlPmQU +Ii3BR!"IRjKk%%hD#mJBjP$VC0362"fMlYecTX5,9*5fH*`*PdLNS``*JJhQTC4d +Cj!D"0Lj54(G*)RS&3LlTN@5lX9k6"Nc#P$5HCNFCa`9mYbk(d9$ZF3H#9AZ94`G +p*hl(*NBCPebF34j%N!!K+KKiSI&Fm898%0-[kfC33&-JNL)'hJ%P#*KD5b)(LK% +$1B!$0`!#64"86h)JIC%a2!-D5[!SFN"*re%Ac5%S'GC(cD&T[NC2dm-&+X"VUaC ++rk')DjCY0B*alVD&aX1%0V1$MLD&p@GDPj8'Ch"%eC8LUH8[@!Ba(Q)V9&9TVc' ++DD!(qTH#X6%NJ18[H#BISr8SS!K,Yr+)%+*Y"F+%m[*F&q0)I'D&qiD&@PL,A+L +*XF@**'G4RbJc6KBGciH!dK*(Ep8LPD)GTQKEPq'-`4-kVBKrE`#,XRKDT!@+V3K +KM!K&Va8kbDFHJr3IY%K*A,KBaa0F+R"4NL8SqA-(qE&EM&KKT-GaUD@-R03!!PF +H@UG$8p"eRJ5'cf*3HH"AL-BPZCJFS98(Sb&VP'*V*UCT%3Nad**ZG@0ar(%da9- +J"F0CJ2%h6F8G$TGa#ZJTj-GeTG*de`5*4(F!@GG%@`GQG(!!"m!&,T-'"j!!+lX +5'I4K"VM&"R53!!*)b39e-3C0L54+`L3e"L9A#3GD55c'JLaK+53(3*E(NL`ra$` +i8!-`i"lR9R*U#3AbJ86ri4FDm`)bJ*31U59bd5*8X$j*NL@KmfTrTN(ZCPC``)A +N-Rq&Cida#&Q3!)D)3&Np`69rG)#'J%9#r`'CS@%(k68JD)JmTmL43#C22(50e,H +'2GFLJ9'Dl['0qp0a0Y50F,'+Fb#"&"KErR%Y4bFLT+Cf468IJa8EKZJC680*T)% +Ma$P&)')GGKFrmdFE")3d)H9j!lNr#BKd!K4-"44YII%UD@%Y9Q*HKc'ARKG1&$B +cfJ'CfE8(4NJYQmN'4JJ$4KKR+N-&'b-&EH!'1p!($B3AXP)i)2"!b9+J"8S%Q[1 +63eFp$I"!J3NA9'3fe"&#F8%YeNNrl0%!4*!!S5h#R'AJGG9CSG)*'XR%,E!C9DA +eQ4SDPE&a+-D683(B0UNRQR,3(,[&3@Y4Mi#KNY8TP4c+E3-)!QP)FYBK4MlTDp9 +c!"1kSGKjPF1'0!G3"@k`"NG%N!#-4#P5Q9[%59DhP9Y@QC4`TS%jFJ"5B+CZJ'% +@FMPZpT[038de"@EfSNI8dNrm13IqZDE(iKqVmJDc53GMi!*MDS4cB#JDFJ"6J+M +,pAS1Cb0`UKp!G&SZ3kHQ#*SSX+LIX9bP-DL&DJD3!*49EZ#NDB!(ZY%#F(!SLK% +IG5SRFe#TV(UTGaSCeh3Hh'Ch4H!G9A8Xha'SRLUPFCF'MDQSM!NAQ'SHiC8'%1+ +VK#UPp(&["j!!KIF'(J1'U8m!LN935jqa&PS`(+XaP+j"(5(9UFe+TVQK&JI3&QU +4B$['GYTd0UPh'iCa'prKSXb8UHpU,F`kTJe!HcI'C1891q85P90TV06bIMB8TP6 +jR#Ek4[K$KJK9Q9V#"9%jE%*(0TM*K'Qa&YPAL%i)Qi5CK$QPNVLBQTCa6M25E3R +ET3YESY%*-A0*ShJ$6@k@5YcS2)hLHHj5SAD&3TYa"L"(XPb5LXR4A!$L-NP'4ZE +iXN@,"LGe"[`5R0%5XRHbM9S#5FDf)4bk'FmC"U+*0&6E,PT#Y'L'-4V6N!!213@ +jPc46B"J8qC!!rRFBDPJDqhG"NpPK#mQN%a*FF6Zh%&FBKjP63JGSaRNd#FD&b*F +Ka@SmiGC[Qa%Hm0%PZJFD-@Yq2[Uh@K+hSj8Ga6Q5!e*GIY-FiS%K&QKq0JF#JpG +,K50CI@YdYiQcJ&'fQZZh1a3SV-Pqe6HE`HJCUp'+[jPDV@YLjjCG5C!!(b*$'LC +6KMFLZ@q(RKq@6q)K,-jEAmX41XL4+Gh&[,*A["''0j+cA!M5)1ZL8KFl2I"8ZjG +eENYkQ40b!%f!B"abPA2!2B3L(U1DKBDVXY"TS8*NQpVV+!9C("ed(L`#&jSE1[5 +V'r,V5'pa[mIT5+$"`!DmYQ@Q)4I5(b5h@c&C`0Ul!lcV+"[SIP-8*`GFK36F+(( +VPk8f31'C5[r+&l2VYL(h'kdE1Y[TZP2iFl2"`X-NMlqi3H!j61i""8p5+X@kF*k +V)$)c+Hp)+14"BXMEZ-SSAMm-K#eXBLMbE[#46c+E`dQR-``B00NeS2,CYc)XRfB +`"c)!!hbE`"lL"M)3aldP`@cX"!2&"J&DaM(!"A%J"iDkaTi8$EhPaZ+"Rl[*'$% +3&da3"91!"&,!"NH!"&53!-Hp*30'Q!BYF!0Vc!AHSFRiQFDEE#mbJ!-im-PU$!- +0--L5mmD',-%b-(Y13!3"fJGi-D"FB#JHFJI0)JIf594Z)!CUB)43U%b"J6QpaB" +N`-R)L3IiH4pZ)<2&c'"@Krc-D!5i3JB-H2%BN8M#A#Y4RIc"R6("Zp&3-4'Jh +AM-6f!V9`S3DbYQfk!9L+Xf2!DF-8V-L-l-K*%-P8i-eA&-l*6'GZ8-Pr'6UKSc+ +a3BN0`dDQ4aa3Y%150@qDQ`5a$%9`)5CN8!Iq95jq)KX+pM!rLN"A4-X&MFhDA"G +jfFf'LFhVM!EYr-i(K@kc"p(eM$rhE!5,h-K5X-q5M#ATI0$FUG!8dN30,@+b-Xq +r+p(h60&%J#9*F0%@NY%E,4SG(B1cNG$STcPUUhZEfh82Y0A0qc088eZ-d3#Gj(A +A9(GX%E*id3"6!#qpCjlKj4il15ee0hQSNVfqPab04km&BQ+*k8LGdF9lh8fPZAm +UUBc"YGIeDEH+1@mE"3*@i"peB#YT&c2Z%4`QNLlX9eJSjcq4C%kr`9rG)pV@FpI +1Hm0GR*1cFD6T&P[@jNE*)CUGR@EiYM#Y8eZpTYCBEDU8Qdpq4)Gf1&4`S5qC36l +p"!-Y)!-e8!-"&A%6CpG[%TY*SaijLX3`+YJPjbi%p#JYSS-LV0QYNATS@0R+LEV +,)9$*!8R5&c9Y"Qjc*pG'H8jXPadJm*(*BGbjl&D`'aKZ"S#JM@`ABf+d65EPqd& +&PhD3!*e6krZJlIZq14+r54NcSbS&#%JIH(#9iLf$"h!%FRFR'(k9jGdD"b!%R3h +LER'9Bc"X6KVD*r8EKBd#"1ZPS3-$K6S'BM#U%m4+TLhGb5(M#YZj0ZkA$5"aLT( +G-PSJf5FSl*QFCd+H[XHRY2R"YQ@i5EirI"2#-Zf[2XkP-9UcSD1"Kj)k#&Xh4(X +mGY3d-lk`Hqh$lX,$5C1Nj20qmH,M4CVGm5aYG[0pK4hQ@Ujj0acFlK)Ip"2PAUb +4Km%&M)f'"djdmDRSFPfI1j!!3,U"RaZ1Rb-1!j-H-jBZGjMHfFaG!`&+SYlT+A# +qXXKT*LX$3+aNXh'#A2+0!X4B-MATTVVah(DF'j&@4QE`!ML1iRL!a1l5fbkF(pE +0H1CAf04G@"UV'#Qk6#a9D@6`!K[q!L2Hj3Nc12TS)f1-&fLmacJ1lQE`bMqGCR9 +(06liN!$feH1VTYD*r0QBK8%[2YMQrLBbi!)N6A[+0Q9('adm@(,%66*p!KQk19H +jq4RSe4alrAk"fcC),)UN'-pi!39i*fTc-$3*9ejKYhlYGhI0)QTpCLX*Xc$jY&[ +M#c&QeS$5&PY09U6mBaM"p+`ij"p3'H59m5ED[KNZe@D*VEI!PUV0iYK%XZ"Y!eJ +1LV(+G@*i,LGPjA,k"r4jGaLa6@'qk#l#KAH0AMd0qCH00FA1Hk5ZU5A,IQ+`&#Y +3I(14NeL[FM"'"dG8Df)CC5KZim'LJ5$#LX4$e!)PSQfPX4D*G$Yi)JGPZc$hd[2 +Xkc@BjI&4[c)6!M%r0$9rf%pFm%aN-0I"4IQF)3E&K2QQXIQF%9kSGrQIlb&@)bH +6rrPq3Phl*AfM'%Q&BKKXK@5Gq'4e##ph5&3JF!9lUq"DiLYI'IV0[KB#@pI1KcP +%DPLMi8f-[h6KeB%q6`EZ#lqb)H+I2`H+bL&ah[M*NAC3,fV8ArPN)!E4qLL(V5l +-RrMGRalIMcPSN!#Z!Q`ljRpTh&rakTq8Q!q@EBY9j,2mm[mQk9m'kirdM6r0`[p +BMrqMI`$3rU'qp#)($J!5B)$H`C%8`1eh!$pHrF0+6!,U+5SrK#&5bIp$BVl259L +3!#K3"p+#l5!#`Z%1A+8lN!"&4-lG'&8NjMad3(,a!81(IN0Z"bB`0"Qk*`H!P[) +K%qS"RQ@F&UK`FSppm'"VVR-P-K63"*V!&k!#43!,8)&#G3F'"afS#h!!"R,!bE% +DDU#UXi*BN!!(qX"'!35eM5@U,iF##cU(2(!%Z96"3Q*X$!8!N!!-XQ0@4KSF$S8 ++k"'N!i!(LN"[1#LJb"4j`4cS!T1%"rZ!Z!a4m)p8CDUiL5"%J%J-$!k(,9@Q1%` +)""CVJ35D3"H4!X25aKT9HF!2'U[)-pLk)#3-(86`EKa#5'JB4*&,SaH-m)[B%90 +S!Ch-L,L$$Z909%)kj*9%B#BXJDd1"BB"&CL8p1!4H!2q`B&YL1U5#2dH,9amF8p +B@EpLZ,'1B6+-9KQ#ZM5-9XM121!TC#YbEaTH[6(`E[b$@aK92-9Hk!&U3I2+B35 +F$E5YXSP"N!#$a%4$2$`-lLNr[,[I%!0J3"a-JNLX(qC"il"MbX"I1!"@i2R8UhI +K(bl'2Cb(2e$9hF-,8L+d`clX$2h`(`DjJ$MNU#%j,)M3lkfC3p$`!DA&dG!Y'-9 +i3D`eJ8A+J!HE5k%,Ef(!-3$e&*r&mi4M`2BeTP(PB"b+6Na9RQ)L4X1j&bDHK)` +D-"04*p)@NU%ke!2%S)%)d)-jNM0!V3j$8Qa6CU+bd)BiSbbFiR3b4UcLKh6!q)I +bjTe0,"P!MQ8*ZB'B%pY8MLYaki*"F*LIk"!Tfc9b$Z(`%"V&'S%8lD+b`)U'K5P +faF$R$@ZK9-3J9G&aR6LP'"UdiLl%%)%24i"&R5%@mD(f-brHM8*!`V6i"QXF@p5 +*E'"8-B("-RlD&&#%Khja+-i"[EJKq+*9p)Z-N8%)4XLS3k#LB4aK90%e+NEcaKL +(B4K`+9b40Y)4V'*6+1-L)B[*B60NaV0i'$JMM3-0(A%FkX3rK+CFB@R8&+Ga0pj +&ZdF85Gj4I)f,%6$+4VSK(2XAFcb-Z9&CJ8IH#"Kp)h$83)1aUh5KiLLTaZ*P9)j +33c2@`TUR&Z%J&43$CZ11a-,3@1*`S4dX&5pJ32,(cJJDBX"r,#!j)N1-UKE#[e+ +**(3Sk!@#,FMR#!)Fj!S%N!$0d)q-'4eR)*ZK2XN$BdE%aBC44I(fSd%,&,ASZNN +0U8KY5%mEd5)4M'PC5"5CD4S%,2&,RH3KhE),QIAf9TKV6*!!#Spp-%Hb,b$',8Z +&5B-8"CHX9"0Yf%SXFi13!+NBM0h3)(T)lNYS12"#CKFKi,e'8'R"@h,+XT@kfH$ +eL0'*L"c[%'rp2bU@mf3Ncj-99`$f94UXFM&DRR[`&iD%m03HkT+e+Q0UDA,*NBE +9!6%3(q*!C3XCPC%NEKbEjA&`NrJ",!*R"%@58p%F')0`S"l&3GHPbAU)'bE1@%X +Yrfm*34USX5e34,1J@XSNYib6NL91GT(p-AMp500X"RZa2-T!#dJ2HFF0Y)!)k#Z +R3m0!!80!#M!"bM!Y!Z5fDaGG%TVB$T3b*r9*M0ajQFA0&BH8%4r+A,*FPJ$T2l! +-QK9I3)1ZqLK5b*f`'NBae$!(TC4kN!"3-`3'!-FFk3A-`bS&"U9YU6U*,GY%f81 +9N!!3-6fr@2'3!&LE&4XQRX&db"T1SErL6jYK,Q-V3q5@4`IeKL3Za%pk-!EF!)b +jX@l!$4L5!E*8$-Jp9J8K*!3cCb!c42*)0@E*p1!C3)CX!#l9J'LfX9kQIiKM+"2 +SZ81hS$&P!-hmL1B`$r6-"N!$FN!-@'2q-'NQ64P`!fB!$*!!!61!$-5!IKJ$`J! +-F*S0B!EN!"L3!"&KJ098QNU6D6T0U%N'iP!$m)FdS*6j3k5j0'r!c(bD0#"X*Xe +qb$6K%Y3X!f"6D6B!XINdSqB6#*YLB'ZZcF#j0"X!i4bFJ[0T"XkcL6LAjZ&8R)P +6"Ma1b4Nj$@F1L'0aE(*UcUh*1#QRim`"(UTaLNl)q6Q6TPEEJK(U5j)"di#KN!" +!'E#1(ZT!hC%`iIK+e4FTFV,c#Nl#$*NK'J"Id"HVdaR@bebc-K[!%A!4fE#k)%) +b`6U4!2*FKJZ0&Ej1GYD[3%!kM%AX-",YQ,VBf4U!%T!!E!Ua$VT$lPRC'X!5X*i +$41ET5hNC"[##A*JU51MLFEfk&GMkj"1+3KB&"LNQRY0V$PpRQ%r`-cF)P!#UBNT +'MP!,VJrjQ55LT%2id4ET+elNEa3LR(3rN4"LQchD!e+BU4U"3Si3Dk&($db%i45 +(Ki'N([lK2ZB$bP43A6H#9Ni(h%N@L","Xa4UQ4`FX&%,[JaY(4d"jbQ!fX%83P* +%B!)'3'-r#HJFD$V#l*F&-ep'c$E1-IXY`B9BKLVm4#bC'4G`CNd)S)fcr*!!30, +!e0bBQHQ8J3$jG%jX!"fb0'9V3'3'&h3Cc%jcm"-MJQB%SI-KJpD&Sh%"LJi0q$) +3d!"3J!G0G0*-S2%Y'8!$c'Je'k0FS)cQd6hD"bE5BCJ#B3!04-$P-N('6255%ah +PqHL"a#FD4Pk5d(@$!`f&Kk+@"r"G[p)YRSGmG3hE`6q#!'Pi)D)KSlf2fH!Z*P, +@k!bkMjIKdXeJ9AS+(H&(E#,Md#rV0GffTFEC&1b&Eh3Ad#"J[JQC@fak&!Se!$5 +f3J&T`0LLJl53!)E40BC)&5N1K8+d,(TSS'%#5Xq+GdK(G!)0k#LN)5j"@hi-$Bc +P8k5'MU0Mr%4MkL9pS)TYL["3+$a2hC-acHF0h)[%eiDS)V!mSeL&2%5ccB!A)"` +C5+0TJSh''$,`4Mf2GC!!&`@%MJ+HH*E)RKVe5+83BjA5#eIDXf+TV4)dMl5ck*[ +F0aG!d4AB$16K0'!(Rd)HJ+PY%+E9kh%dV68b(&4AHq%Z+S@CHLeRUKYHfEcCTkM +KSkUkB"P3"fVD+DJ+!Liie1`5!aaTAiLNNp3p90)-F8RR45E&(*XdlA65FIT*mD% +j(DATY*6Z6A%DRXUT+%@RTfHG"L4h1YVLkAfJP29d1$L,iI3qS9$ma!Y@936BdTV +P'&E,aB!#E8SKBJU`)3+)J+8XV0GP0L$@LJ&p@*!!fTJ#T)2Q$DA9%el!4T,KDr1 +)[p($Y(2bj-R!V$4UaDrib'Sk6SJ'i!NDANH)"SBB"6rUU(m,([P6ja!*rSNhRTm +r8NUfe4C0QYGkRNc-!6d0*8LhiBf6e,3J``2Y)VP"JTl3hX(GJQ[0LQ`2kG8X141 +kIDT2b8%IeM9iY&!@m8+CD``0JM&YZr92'rSrp338@N)#E#hFN5qb'VDVpXNr+G5 +N1$aqT$phUm6UVIlcYpU&"%0FB"`lI'aDSJa@)Z8PKAKIQB%8b29GrKdlqYm`hJr +PJK2fYVD,1&(fQXk!@Q&"$)L@#cD#)Xi!Kk%Ih9"31)%p`b!5M-SJ$KR$6V`*)V! +CNNjrJ*(Qk3b88[PN"`a9$,!"mQR!'MJaS!Ik3"iGX%%f["D)K5V1"'NP)k6EP)f +K-9+)aNb,"VPS[6+iF)%4)!*1!"6SP6S!"*b!%A!#P*NMkE*pS-T@2J&""rT!Q[@ +aKY5pjSGmfJ"i#Tq4,j2LH"f'8dG'#"kF4*-AV"hbKeT6"Rj!B,%,CBX*c4aMqN- +f46e8&j!!!Yr4XJE559`R[J`[FU+[bJHmB'N&jE`i2*Lf**(,Vi)r`Jc$$%(dJX' +X2*(e@%+5XI&Bqqll#&+,8YHk@!ECACFVp2`h2HIeZ%$U5T6r%p3+[Hi9JV*,Tp9 +&RrB*kD)5kZ@d@pVK8EU@ff(3Z5)"3@Mq@K0[JU'S4q-9aLkTZrLeNFP0)#&-Z`[ +R6(U`&)qLe1)JU@1+@XVU5dp1c1[dfPpVqS3YXp8@!f*1#ESG+NBZaK662%#L6I( ++h0$JN!!HCiKq%@lk*D9Ib`BFS+9jL[NK5H#qYK4c*NSHZ%UrYJ%HfdD#6+bMaZ% +6%S8pB0b(+`I-J-1pY!"XclhD,"ZkT*5bj@8YEYbQA)Q,C8%Z!"1jC1VP0N"0bh& +E@XfYZ$JAJ$S,NmYc8qkb@ER-Sq8HJ(lPhKb2H2!kTb[Xq)Ha%pKm!r&jEmBRTm$ +AM5AXC"q5BQ*d*BXP[)L&+'6+@h"%iUAic"f%GNmkAN8j&,BN0%$Bh`-#8Sb18Lj +d63-pMp46@UqZde@*&kGp@#hbNL63VYreDf[AGKf2ebF[cNq,8"jm3[P!#U4a+"L +2QIKDT+R`VV5ke9mT8pPGV`EhIl+C*kD"bJb58&j`4k0&#G#3!%Z*bab`(D+K9K5 +YfX)'q`3pqK"rL!`fAF3,+VA$Ul)8+0Aa&TAmX1fUeCh-NpVKCY&$1+)RIfr$Q'j +H9aXeL-P3jQLP$Q&*3V#+p69[!4m3hD(6532cY3&BpRVRQY'cA&lcSKTGPPTcD`E +EXq%RN3(!1$rrLA"Rd&@U%HX"!&)"Z)YK,jIm@T4UJ!%T+J$-J&+*rde+Z-8dc)@ +Q0(I0i`(Q!KA$,LaJZa4HKY&T-&,,!5l8"3fM*f4$Ma5q9mRZ`K0&p88B8-1`Zd4 +(Ti,JT,3ke)03dVX(`i0C&)2@qQ,'9BSk#&%q")q'jB"ade8L'+[M"3XIYLGf"d3 +H@%0&!%A!K5QJH(6Hl(&[%F-rT#2'Pq%13*!!h%KGaQ3*)VNV&m%$2HZ8K,([rPZ +%T0Uk%`pYE8bMi*U["bIpcX!0TJiFVRJj#d$8Eh4`JH$"+SjQi4#KT)IE"3j*J*6 +1$Y5)0S#Q+X9R`+er1#bpMd&m!*K!"JCmd5)4flpc`SKhh"T!+B-B%1X'qK%GH+) +Gr3ppKE9NiXM!2cJac*N$K5S28-FX%$NDB&+#*+1U#9#,pTH8+1VpqSdBPcVbP20 +`P6Ka,)i0-1FU(4%c3(&hd`'JN!$5b32f5R%iM1(*K054j')%*k9K[#b--6*qLUY +K*iP$-M'Uj$!FTRP*i%2KiD@EVCl$m8XSMb+HjSHT"c'D+@p4a91b39#XjZ"VN`0 +@iKp5JldBZa#,BGQZfUeECHr4X4RjK(q6aN2kXR1ME"@'k24Q%h#%99[e38mU!Bl +#LmM!QaA"5HrGF*Y`08AX`RQJHGZ539`h0qXq5D(m,*LNN!"q(YLK*rEL",PS[AE +MLb`M23F)1m1VkEaiUiD'hXa%#ZQP`I4kBDIU6DbDA#3jJaT'F29A`KNKdi)L--I +&"9I-!ijH%1f`J8h6[T2*PDDT,#aDdJ'[-LK+%1Eb%Cm6HDR!b*4T#FAT+Nj)jB[ +UA,`VJj!!AZN"NN!)PUL"bKa4MT9EHIVS(k)-PM'`X4R,MNC+Q4C@Y`C)&9B1(B3 +j[X!iX%*A"!9J6Kf#Q3a8#'99L,9bjfT&*8@eR+a$3EA56K(qMC(KfI,MG(%Y%i9 +GL,h!cD@BC&#jL56Q`MTSc(&-R68U%(5DLKJi2JB8me+YJm0EL$*f03cB4b64QR[ +#-0c[bS!fr`@Jb)RqQT2jV3iVb[[Q+!FP#'GrNj)+@-Sfj6)BjN!B(Ck$4JXmN6Q +m8#Ah9F4FNAVi'cZQB2`l[+b3!,`bp&Zk3Y)-Q"Ea2(jmUrS9&"c2Zdij8h4%XV+ +A@XZpacqSjcXD@'bB8I%1Ca!,lmQX8VB#`qY0&jd&Ym5@+8HdqQaZDK$R5+@U)r) +LNe0'IZ!6MN3iJ"5bJl[dcd4XA0LC2YHY,RDj5-dq$N)B9Xr'C&"N86SXANJ#35! +"m!%4NJ5'!&j)C!SU5#F"EhI*C$*f$X9UpXTbBH6kCZAcQPeBIHL4jK!di'E$'8" +$T$8j5AGRjr#(Z3!A!!)L!!hS!1&61*V!#i!#68!%01Rjc'C"!!l3!8Hc6*0NFN) +QlpC"53)f@A#P6L13!*+[V"cicV!e@I"TV-bHEr6$#(EPf&ldc[P*l)iGjp@YRMG +UMGqGc!9-P8!j`e9-X6(I"H'5r9HMeKTd0$9dPdb"*2%5G,E3Y1%mC+qP0q`1YDR +*8F6,IeQ8a[@TRi2PaC94"L%9"bp8D%E+I`dZGJ!k4iEiF"K%`'B&,aNUXl#@b3T +lL*4PrDaY6l55LK43jQB`5C`86dEj+Kr2JadNLqI*eJRf8$qa32+j2NYUQGAqL`[ +3!90eXQkcePe-6LqYH"'lBad5KUfi)Zfj8[Dh$dCM)KKGbG@TP%aNQdY*kM#eep[ +#8lG,`P[G)*fE&(9@bQ,!9,@ic**a+1lq5XC[`[CTL&mj@&bSC63Y9mPf6ZcE8,' +c,!rH8KTl$R"XN!$4!6RcP2","A00RQVRPBq5#QqfHZckj)bfNJ&,NT0&q9NJKf$ +#PNQpKK(ICk-ZjQ8--K2lbRk,Xcj"c[%AS$4X0Ta`hA"5@YHFqLe8UIKJBAV$PE8 +d,ZcM6K[qGCAN!,Y@&jB(ml3!%GAK2!V$P*6-J`HVB(F"(C*Z6#&K+l(NS1h,XaR +@`0TZ)dKT0SHYEd8Yf&kL*P*HCqb4#ml"pKce6BE8cCPS)lMJ)UJX'K,Vf65d*IH +'aU@iXh(KCLD1HPjSLMF9L6U'@YJe3b05!lYAlDbPN!!$pGF'5eQA5p3PX,8$E`A +@UJGCYajKICqP(VCf%SF50rPNQ3f8d3FK59pF,,6ZRkPpF"qf`PAA+iiRePkE4E@ +XJlmGThH$$%K&*)B&l8-+G3Z(a&282U'#K`*H5E)aXkFdk*!!I'LJjS8@3))E-A6 +BJ"Z`G48$&Z3h3d!Zj4-&&l+bKp!j'2IAeSM'Er3I6VCcI-hQNPm*JFV$Yf[(56D +QXT9`iF9#-M$$,#1DI*I(Ha5cdLFY%KU0d$pS`Pdf,ZbEA[FfjNNp&e`-C2$lN!" +''S3(Ta,kjkk1m,aY`[XfHf&mDEY[)l%bl)3`pDRcX#,YQMTC8-E'PN!G3!1fbcY +m)e5YN3QYHq!8j-YeR)J#0&pQ+Ee`#rZ8d(C&c!'#,X1IVS@G34S&MH,J0R$%aiY +8F-f,p*0Xb`D`6(2!efP"@+Ra1l&IY%qYFpTHr$Z$2'N4r-lE5F`il*-mb#F9hJB +dq+3NXD+S$I3")il%D4Vq8,dM0PEDT(b5arHMD%$N*YB&$2)9rKX`Z5+[C4lUXED +CCCeBMGqL6QHqT@BGU5Td@[Q4%dQjh!dhZ*a6(,B[9q*4$*k(GYbYC%Y!`3m3)4A +L&jkDijH6CcV@G0h,K2+LK4pDbeaa@)XZf2d@r2V2Kh9aT)ZPE$d1k#1"--)a9[h +RRq35!U[+[F'*b-1[L(SBfV%#`UQpjq'm912mCDp*qANh@ZU`"lqXSc@4+1"SXJ" +#'KhRZ4a!iJI!RVIMkIN+mhN0B!%i)'i@+Pe1)%FMlY2Pr#1I)h4rZ0"r&R9%#pd +3SNZG'$$4Sk-ZKd,T5P-N[aiBd6Nk$9$S[IKR[F8&MK[JSdD2$#BGTC1TARJ'i)# +6SZPLZjmi%@8eae($Y*Ybi&C1!#h)KiSe(+5B`ahZU)G8jVN@8%"(l#4(VfK$2qG +YY5N@D9`I$U`raUD,%M`MJbHMJQ5#I1bbKJXmpjm(`EKX%!fF"MUJ"aaJ@Qm0hQ+ +YJi"e+!&43'L!*&"$)Be+b1"c4hS-SKGpr(bC'(9+(1"kk[K88#Jqf25fB'Gk)$e +8l'*'64V4V3JI(l![8qaDLE'((-HZI#$lfaBk`,M&X&E+cQ%X1a3D!cbaRA"f-UM +UU-UP5(bF)l4M@b0kPCaCr)bjIMA23!BC[KT5HI!ii&@TYQF'JS(EqikCJ!ZmI38 +R86UJ"STlr,`JMX3Zm![')+@J%$"clVTpeX4&q%J$Hf9elmiE4mITeKNNER2lf%l +'GMf4)ABhd%3a"hBrllUS[6FEBaIG+'jB'N8K(+6Ak4ACI%bfMNc[)+"3%F[m,Yj +M%(NRPKFEBJ"i!CmQbU&pD-30ANMBKq8MTCK&-pcDPUea*-RFAC5D)@64Nj0CfhJ ++*YJ,-5%)X!"Ak6T,X#D$$FI4qB@)V$hNGH3STNI+Ll3)mFd'Y'+i%IB@2"M6*Xl +*qcM$Al[q6`*mLPIAV`+pj)B@MiR%!ia[%GDV[)LS9#+0d"f%e(8ld0AQR%pKDja +fVS(D4$kI9[38Bep+A2G!+Dm"$YcUUXb&0fLpqKYZ8[MZm+(kRUfkLQJcDGPdJ!C +84(+9RUAXhCD"cUGD*S2R*j`KhK"@)Ph*')P5D5`&SLFfI9XTkh,kJ4i@X+B59,$ +&Vr-2*1HB)LjTP"0p[4LAl8VaHNC9%&MY8$icI("QZ[r1l@G!GljkVND-d@'%GB- +(LdYcT9j3eZ1hR6`B4fGmTX@$b3!,&"LQK!HE!A,TBI!bj,3KU9)+m'!dB'#3!,q +NN4qT!l%FpAD!He$(K'MmkZ#!(qQ`PbUa5r'6,PBC,0F53&[ji2VqM(NiK+ph$dR +JdfYdBGpa-hSGL%((2P0!LJfKB9"![-Gp"H,Ire`4j(%,4+KIa["E,I+V`4Sm)#[ +cm46-@V%qm!!AcGRND49Hq84DN!$`109Yhm`SEckP(2S`Srji$iY819F3J!'G[r2 +3'mqVHLU(IKB1Y8J,J1MEc9$)*e,b5i92%J"Sak*YJAJQND-`*kAjY3ES$JPHYmF +jk2m,c"("pSaG!a'MDZLVF2[1m(qqY&ckbmRT@fcJ,TY$b20Vq6Nra35MSeqcJ(i +d`IV(R6AX,[XZpGH!6bIl`F2XfilmR[CpZYLqlq#Gk4GirZiT,,B"pj!!aA!8FBi +A,1,V3,S9f`RHLR0p[#rI!lTrjemS5JY05XJJA2$l"JF0pa$[2b[((lGeT06!E[R +52q"pM8BA1$pmTi#C"BQKV$`K1C!!LCVDAam&ll-"H%')[fcRVj!!Ramama%he2V +e%r&e)D)rm&-4@r-F6(rLAckURc[NMYBIlb'Il#Iq$G$fRhlNVrZaJfU+,Cr8@H" +p2-!L(hmb0NGi84U5p[6pd(p@42rUH2mJ5[rM$rkjih(JLZULTCpBmbpe!-FD+e5 +rpL"ZA#3'$X9rZ4ATh4hcN!$2`3#Pc+IbFKe%49Il&`k0Ir'IA+5-#B$p8!&iP8K +4U)&Sa1bGE+&+D4'jS!$G69k(r%`Id-5%&YdJH$aBCC!!c`Pibmcp`M3F82i$9d3 +#kNM5!XdPKEadUP&N-!2B!0(4J(IjlAdbb-A`!PC)*q!%L*`dINc!"FLd4(lj(6` +94D8kPjpf*!3k%Yb"GeF%5N"b@eDf`5N(LJ(ECfDT9)"")fB%3RkJ(4A4BR"&'FB +#XQkpB9cFH+EC#6XLA8-dLKa,59#KiP-8HfQCecBLE(FFKKXSf+#"a9jQpqSJ$&j +4`c!([RNA9e)b"rS(cGdD'$Ui-q0)HM8)IQ%UMV9JM8&MRK[lmCrd%lY*0-%KQ)# +!(k5$0R"rLSUKa,l4(9!I&H2qHAAhha0B"T!!#%EI&)J2A3GaM58B(3KhC-!c`bJ +F!0P+,IMFj@GV5-dApDPVr"FFi)EYArNAiLH9B9mdMp6JPhaCT8FkPD`C9K$IcAI ++1@GIc-b'mCe+'jq0903X(ka&m52b)8mNReeNmXP8h!RTFFja#l%#mJ9iY53CLDH +!(1PkcCVI89pF4['"LG8S+$C6"qIMq93qQSrS8rQ`!IXJHL#p6$j[!"j3'4KchCA +qSBbJ!+JBJF%1YJ'de&i4,X"KLFmmb2bdF*q#fY-X26jR"H@9HmK*VYlK&hAiE`` +'AK$9)@98A9J5-&4QT3'r!4!a0-kJ0iMc$Ah+%-3cam8Y(NblpEpB5B&A`k#jb)5 +fJRe&`R%EMmER*I830HR894)(0&`1AFMK(Eb"RF(LCi9jII4A5TL8p$(986HN"jC +PI%acT`6!0%5K8UL9H##"$eGSZ*!!+Xc'X-6XB68YJP1(!Jj`Z!pE#"HiK@9EE*! +!&Ej#FQ&N%"h0,c#3!#Ji@%35HQ'KmUVdKBZ%b+&$d)9$(i'%@4e(X+"fm1fK!1' +)-D@TZ4HE#L,"ek`'[38EN!!dUAk%JRZ!i-NT#SDCS%(4+emBTH!XF')qffqLKA" +iDi@4JT`mHaq-Gk3Eh82kQqf&2m3L6SEkdEPS0[1Dm'"q&(Y[arKKAJ&9p0bVPbZ +TKXE'6T)6pLk)d@aS&p@'UFAk)$+`(lV1LGDl-#fk#cJ58b#(`L%$jE"d%cb'+mB +&h!YSL12A$*iH5!bq&VBY1b&BGQ$6,3(ZS6ES$0i,6N4l@"q-+["KI5!ISSHlK35 +6mf8-e`pp)$MN!5d![hF8RSI%J6K%FBN"iSm3F29CE0B"BB%U)B@RKc"Q,5!RaeL +$m!0+*dVCZXB6V3p&8@Y8M[4rEX2i*`0UG2FA9QJ%X"p3`UrNFF8Q+H*B'!MZ"ZY +$LVMj55Xccl93)ejY$5,A!L-U3*A28E,!R6m-JNd(*-S"$H*Pe!"U)1Y2`c8NAKS +derV6!$f*%)22*H)8K($4qB-IGA)8)R%3'DJ,`3j-H(S8+[I2p90,q%TU"#X"`Gb +"c-rkBaUi2jX3FV6qi$pq3Ll64fJr!C!!q10B,8VC6jYi*!T!MK8"*#FHLDQ2aJ8 +"-AZ$iZNc1K#',4Z*'%G94)'#pK0Z[3(!M!"fYCN@kd)MeZH42Z,3HN$BY6qM%FV +e+5)@paIldA!P#5KAYEIX14+PiTZ)+PiDDD,YF1e0K8%!Sf3Y`"`Y!"%M)Ji4RF% +68#P'&$8%E0-PKJmIRc4(IMQ%+F)KSL@`1Yj#ib)QHSPLbiK#FDem8KhB9``p#D# +JVRMP5%S)iPVJ+*U)RjjZB,G9'LaE#`LiABYc!"iJ)`Bqh1,bi!`L9pM6%$@Lm@E +MP4B(Cjb,`J@fb*4SLec)XlJ@`)Yd(A#)l"L)j+,(YKAKLb32(Y"`mB['Jlq)r-L +!p',(4PkCLk4"@))Y[J%"h9l8-!k,U-YF%#m+M)l#[JF%&B`6im&B-D+,H%$dTc' +H*`kMY0$A4BcPSXN)L*%mkYr+5#3iM0rLrqG3L)XB9Vh)NGf,*f1qb"a3+3`MbmJ +a2S+4LV5!R`P,Xk,3L#*PM,[LcFJacK`!i'VJ-hC!312-q#6N!HXLKH%`)ShcBNT +%-YU,,C(&b"b)2d@Me0JY+S&,)SF"hX5-@H09)KhZ3EALG!KcF(AX3KI%-FjJMZ) +2KJI!'98$1Z3a"S`d6aD$'65+i9q*Q%JX&,BLGIK&[(&&$(c4,VQ,k''jpHT!HR@ +'X5*'K#9f3"[3!d'09diGeZe&+Q,FJ$%ld(qFSc!)1YBXB12I8$UD*PSJFH!jZQ& +TBmHS$Q92VZ-AN4LGML6G,dJFU)ke)m#)1cB(Vb2b%cZL!8CIm$Ji$SqSeHj)`FQ +#-"Xe'"TDADH1#p-iiSUbSH3SK@4QP`XS&mi%&m-&q'J(#)2#"4T!2LD-Bi$65!F +S*Bc5(3#Aa%d8bpq)16!'E%$6&"S`5L'LMF3'-&RJ)pe32Xk13L-Hm!BiM5K%r!J +i)M)G8Jh`bNL(q5-Ei6-e!"r@BY!E+)e5MmfS'a!'rC[Q-2E!CMC)akH-GB[3Jf' +60&J)I!B(55d!BiGISr3Sc8"k)`LCN!"F1G*A9k6RU55Z"*De0[ip')*N!8G3"ja +B*a,FG&+F"lJA'9Jp1H4rS)a3Da"6YV$rl*!!G)%ciZ5iIRb'#i)#@$dN*(4@'@4 ++YP#Zjbq-23f&$$DaN!#(ri($Z,YTDM*8JRBJ8SjHSZHK([ipbml@Fa*1CffBLX- +'B$j*S[`R3Z)03@5LD'Y`2L'G3c(f&*%6N!!FLIN`KCrH(jP(iSNXf"cjq64!'0d +VC%J'*)LNZNC#KN3Yi4d*4ET"XY,p*3FXKCSLlX-),PLC"Ubdrq`@bX4q%#fiF%h +$(hNVrLHD*&EB5,idMH$a-rC8ND4NKQ"+IS"03rd%IN'29pXQf6AU)V2N+!PTP*) +&@!HA5kjNeaX[+8P54F3"1Z3Iq#qMdLM)HIK[GBmS@8,fMEhN2iF1%A3+569jf&5 +4UT%(%qIKHY`3A[M)U3KaA+-J9N8dPk0Vk%L)Nb#HaVLXS#lF*")$Y$34H-+Te%2 +!"DLLX6(Sj'hP*"d!6fS(8e&991C)KlGLGHJA05i"*@FS`U3("K8Cm(EiEpp@2FQ +jYC2Z3Y2i(0"F,*,0Q%S)I&J,FNF'M)YM6bh*NTb5UB8-b$1Q%V-6+FK+XQ#F"bJ +SLd%)'8GI"fQ9'k+,&2&)!S3NQYQKB$30IN)H)@&&NihKh$&0bT%3SFQ&N[%j3@4 +Q9VGK@$XP[b%S[&*m3TeRDmb1K&pZ`%a3$P3,)'PL8*9NeeT3"ZSNR%Id52%pCpA +M3))rP&k@C08!a&PTeF)GN!$-2!Ga32Vi($#6D%!%+%RqFk--IV*4NNBhB#Uc4hi +qkb2RJ`BS1STNj623'*D)*4ejqS!rBS"JQ9Mk-CK2q+2SI"%4f`ei!cD@K19MbIj +)PS1NCaRq,$D6T4JJ@SS"`8AiXdLHPS*P6+R*E*D$CC!!k&QD"K4,D&PC4TDF*6p +i@ZD@P1ASBeS@NAK!",KCKSrM)@#!KV5@NX@99P`f0TGPFNPFJT',64#TA%+A#36 +jN!$+a*Ar%eeT9rC!TiGHq4c`PD@-*%PchB#T*HI$@[+@pSPK59V5NIiJk10CJJD +ej@Tj@b+AE!!HS&RD!,cPD9PHIMlRC@b**,kAKqApXep@2VdPC%PIiJ'[*AlTAm) +&qQ9m@IQdPq%2D2RjQ*Eh6i"CrDbAmU9['9h1NF%P!6KF"JbT$(8*5%kAaZ9rd&b +DQ-pPLEPKSTJJjR,*k&5AI!C!!d(L"9"G-qI`NA+lhM4i'053!#SC*))`0(1l'e! +B3LSfBkAVXFc&#F%5SrG2pS4IK5ah9X!FT"Ibi[9!KUSH$*GI,45ZJVh`HReI%@( +#%Ub8DQj!CF"X"8[2PiUJANPZ4)FAmd6+)KC#B+MHA&LEMh1`k!&lq-(@P64-2Qa +-NNPR1JeQ!,@)%XD4a4#K`4+b&+IA5b+"&#j[8&d6C%U$iP#5D&US!#&E@P,XT3@ +3!1E3CikP')V+TGRh2#eS3+8*J8%+$GF6!'SL*jiQP)"9+#Te)[P3DNTieXm8J0) +BNF1"bcB(H*UXCP-L@8KiXUDRD3Fi3,9EVdB(H*SXcT-bMKNUSmU6XL())[E5-iQ +U#&6h#N!81K"5K3S@PaQ-+Rl3$l%dj##QPF+J6$akUF5VH$'-JX`9&H-SE4c8`E* +j,ka'HNCke"FY4Z28YQNV))D*9-2PS+#3!*',UNJXHCUPK3S%NpQET1C9BRm-3#3 +([qP)i*ZQKCiilD8RbYkpk@q'4N0%TUNTQ!Q5KF#TP*d6-0!j)4mF-GPMJI$b+*Z +%6l-C[i%'0N#K8JY@R)`5aZP4ETajK,RTFIC(mPZKiZS4#R8JA!#J&52H&9H@,4a +k`81ljbRdC@3QIZ#AB&B&KQB9EJ*@QG9r!#L&Qem2dp"(I"(NJ`25569cjJKGJBj +XD*QEZX%A%#h%hX06JbPQZi(QCV"JD[fDdQ!J+Np(jYQPji`EC)LKHENP#AL!1E9 +R(4(h(VpJBb!E)d`bJR45N!$cN@J(@MN,(4McB2*N,qCEHZ"R`T&9QiU$"T!!C8, +*#G-LN!"PNF'hPKq!@cH15j1))5XFc#M'!9)aN!#Ri5N-MLU8Ck2JprehMLFpH@N +9G5aB0'AUMBCH@(Ph4)b3!"+M&ZG(MADq5'E@8%5H!eC6BPZ*9kdR4mB"+PQqTKG +$aHKAjd6NHGR9"lBR!QA&+CUk8$8&CV!4)PRJ4KA#FeEK)TABe3GD#G&JI2TE3'E +bfF[&GP6%N!"`PI!")eYTmA4kKq+K(j!!)IibdP*"!84F*5h!!I!%J*NJf9[h#hi +"jkIFGc'-LVrJ#D$@05AdC-`6q[d(Y1(cmRbC(d0K`e$AS"BS`"EQQ'9m,P`Cf4c +J!))$i9$bh6KPC5j)[4df4@6C4MlJJUM#G[K0EU$&d'E!JFj6qb&a),m)B"BSZH! +,bJRqSNV)*a4LMT)f003`$h*I*!Jp@MJaD(AK8MiE3CmU#)1@308&JLIh43EpQF- +Spa8U-1*JJPV#8)%HmZ*j'!k)Jq+3!!0F*6T!+0J6UMUfQD0@8J3eEX'V9JJb)Zj +,hkEUe'`e#c55Y4N`lBJeiKPXRD83VU3UAJD94p9TjT!!A#T-IJ#&*JiJ3!i3,Pd +@6!+'F%q4@ZA#9VH6p$`D"KI!!pbK58!rj!0%"JLHX83'h$cff#&k1#31E-!-X)L +L!%)#HY!I-!r!NSa4'F!4SaC#ST0*GIfM(%!HC!'L4IE"#liJ)!Ei%(-N"lJ)1l@ +'4MajLrpdLUDLS&R#pP("*LiF0Z)ZG9+ldLEU+h@LIiKDk%Ld!)kSaS'db6Vl3MV +fBE!5&34XX9r`NfN2FZG60!HK$QZSLk3G*%)$K@3'#25$KJ"Zq"608Uc"VRJ,!ej +fN3!N!)R"@V!'1Ra"'JJJ!1!&kfJl+N%f"Jr620V@%!"f3!!!#!J!!-!+!!$!!iL +!"j!!#K31A%Pj-%l"((C(m6+SG%Ka51#`04N%"3!"`+FP#43T!D!*d3%Ck89D"KJ +%*`!!3!!8!1pRDj!!$,LIpS%Ei!+XT!K!5CSIV+4BJN[D&`3'V!4-DK$!!!$!!+! +!+!i*`Z29(ZbNZkJ'eKjF!$aTML#8'LNY3!X!HaNH55NEB"#d!$QT!N!%"!(+`!1 +8'53*FJ!$B)QC0Y5""&!V1U003'k4"["TbPibB"!F!!"!!%!!A"0URN(3"r!"Pp! +E8"!`"!A"!6!2e+Ae3%'J!#`#HLP@!!!S!*1!ASS*k+@HJ&j+#K3%$3!LJ*Jb!SK +T)e!32!"'`'1U"$bQ5d"")!&!T3#!"'!$@+ElJ'AD$a3%&)!6!*T#!D#T(`#D!J+ +J+58!QPS#"8%&8!@dTR"!DaS(Y+Cf3'Yk#,5QI#PBd!QdTU"!DjS+Y+DY3%&J!HJ +!`UN38""F!&E!F6S(&!3B3'3+!'!!A`"c#JB`TfB!FkS)-+H5!(0D$6#Rh8""N!! +"D!$Hk3MJRD)"hZPX#J"N!)q!GhS*H+I,J(FU$43%'N"d#J"S!'3!I2U4!J!E`$0 +3%'`!fN""d!&d!IkT(1#I,UF!3!I!"rLRIB"rDTS@U,q!IeS-q+FK33G`$"3%)X! +#3+&5!!A"#'!,C+MY+3!`!M!$'5SdN!#K4J-CkR[USADR(QT5i+'5!aPU1C!!SFS +$'HSpN!#KiJ-CDMj3%*!!!!A!MBS!h+J*`)hk&3!!*)"!#U5k!$IU#h#MiU3!3!P +`RjB!EN""F!*XT`$!#G#I!J!S!!i!!(bQ@1U9HUAU!eZUPTUPCUNfkTIUT@UTBHU +B+UCLU9cUCaUQkJ0S+TLkTEDTEfUFfJq`U@2U3J!)%!"!`%eJ&4!!!)#H+JB8"&8 +US0S$&!3T!)B+!+3!i1QK5K!FUZ,TS9S#%+SX!+&+T"kU03#K+K!FUMr"S9S%%+U +LkD(kS"kU8fS+X!d3UKE"SIUCCJ8jDPBJ&@3&+%""S!)BTeR"C*S9h+FU3*1D&53 +#VQTJQKA!!UjU,Z#UXUKCJ6[JUMB&+J!m8"#X!-PT31S&(+[bk3S`R3DN`m#aLJ` +FUfCT3+S-&!3)(EBkU!)!,)!2J+eQULb!+i#YhJ,B+Lk!VIUUh#ShJ+fkU0bU1B# +YRJ-&33YJS3)!,8"Bd!*B"I6U"4#[NUIdUS"+Va+SHNqm'Uh5Umj!3H!#H!!'DdJ ++!,J!VHV#QJ)BV2VT`SS0'+cCJ-%kTEi!Jd""m!)`TJ$!#q#BGUb13%%!!e5U!!! +-i+f@V*NU$-!6P+cSJ-LDPjDXpS$)+U-#!$&!3N#c0USa!!P3%-3!MbV0fJ6XV&! +"cFS&l+`!+Xh+NG+X5`(0QJIXV(V!cPU`dUc@`-l+$jbTCLS!`!p8V94V2j!!$f# +T@qZ9fV9UV9aVf1UeLUeNkpGUYTDYD+Z@HK$JUATU@RURpUP9`Cp+XekY')%"8"$ +)!21U$$!"&!3f`"A!Yf)""B%Q%lM1!)%VJAS$(+J!`!f`S1)!9%""J!0S!BlVd!S +!k!!`kZ4kP`)!1i#YZJ2)TCMVBBUjPJ)&`3kJSZi!`#S2i+i#!$a!b`S!p!"D`HT +kUIB!18""d!0FVMf!M3S!q!$1U3r3UIi!6F%2%!m8"%!!RlS6f+dl`5S![-S#`#Z +jZK2i!J9"%)#V!J""!#63[&B#c5XRd,ak!mhVj4S%d!20kkNU"'!!"B%3%!+%VpZ +U%1#F6K$KUaS3[KB#i@[)#J!)!DT!q$S,&!4%!'C+"'3%!!!43!-8"%9!)-#rXUB +!3"'`RJD`K@N!'`[`VlS!raUa&J(A!2qk$[#[,kX4m!%8"*3""5ZV'J&6!!9VUaS +"G`!&UkXD!GBV!(!%'+NL,"&3%"`"QkS)+kXH!C@T#-X%R,$hk4&JUai"#DS)blk ++X+UT#,ZELV$LUJLlSBU`!qX4F+f+X"hU%3#LLV$Y3*CkYADQrF$9fX3#!$*U&![ +&!J"-V"1VTADQ6'c9DX9QV9IUeEV&BUeMUK0,$h#arF!BUa#`V98"!'#h!U3&JGd +D!!!"rLLIUUFqUdG!1h$#'UXLl1mU`PDZ4`#0+X*fTL)XhAS%R+T)J2#+"+#P!!! +5X+-QXMeU)[X5)!%43%'!"%J!NZcHQXMDV%K!"b$*)Ub*l!5Eb#UX5!#5LJ6%!*) +XrSS%$!'5l!ZEb2kXL@bRLJ6)TdJ![iS%T!'5V2UDb++QL@c'QXJ5!T,X$BX%$+a +)3!1Eb%kX!-"68a!N!E9T-3ZP*J'M+J#J"$5b5X!$8"!S!CkX%V#r1V-NUa+3!+N +U!GHT-kZV+J&0J4,Jabi"RZ`5d,!Z!F4!3E!%$,&-J-i+!$!"XHXl5jbqXbNX%j! +!"43%6)$FbJ43VqrX$[Zq&!403"Y3%$J"QDS6d,J#!%l!DiV30Ud)l@f+d$k[6J! +[-0!fU!$!%m#a2J(Z+a4!XN)"m5`88+e#!GJV!!!&I!-&!43!V%B"B8%8N!#S4J' +'3%%3"6b[8B!r8"")!CDX&'#S5J%fUa5Jb3)!8J!R+`A!UP,!%6$6(V45J%)V"55 +`2#d[-+I#U8ZYR%UR0V93l92le0US0+UEbX@@U@)UMDV99UeB,CRUe(kQIZ`E'mI +QU@QX("ZhcV35,8m,b%S"-Ld!-!8-X&0!*P!38!%E`&b,T&)"T#`!3!@3!+a8`'D +UeekU9-#85J@%Y&3!5D[AJJ-&34@!T&B"2%"LZke@!5GV&8#J9J%eE"@`S&B"Id" +"B!@N!jUY1P!3A!(Al"9!XQ)""5`@3!X8"&J!9i!&T,9B3#q!fSi%@-#8LJ8dXeL +!ZJS!B!'A+aCJZf)"A1TY#mKQ!6F"!*!!"H#V@B#q+Yb#Vm,YT*S&A,0C!-QD"IL +e@B#XQJ@3!+E#E443%'3"8X"e5mX+YrjU&[#E#VHmUR"l`!Uhb+Y`'a*N!50"&Y$ +-CJ'fE4DJSQB"`'S@`+jQ!@fY&Y$)DJ()V4C`&!!!@X$5bYrkVraYHDX&F!9D3-c ++hjkU@`#5ZJA-XeY!'&!3E!(El4EJd'i"lZX@B!SmZ-%T!,!&$,&E`%L`"9!$$bk +8ZJ8BZ&`!'kYI&!4F!2l+"4#Z!!!AF-eb!GCYLaZdHQNSEY(+"65Y5ZcBUZ0qTPD +X&`X!d+K6kpQki`UjB+ZAfVA@!dlXe`V'CUe+ET&Ej)UNJ%$EqXDLX9C"(!Zh@J! +1ES[,d()"0b`A--"b!D)!LQ[BFJ%2,!$3"F5iA8$4fJ@iYQEZK!S!H!&dU4I!!"3 +%AS#XkJ8SY&j!E2VQ)UjH`(MV"D#VAJ"5k`9`"9p!#rX&C,F!`"H3!-%QZJFY')$ +FJJ%f+aLJUi)"U%""!!CmYf"!H!X'3+PJ3%J,"Z#aB)!I'`EBV'(!IKX'X,,V3d( +!*+Lk6LN!%!DNTklZ!"X'S+YK`-!D"U5cVZkR'JBJYUiZC`X!L!%[J4L3!+L+!IL +V'0$BrVSQl+qVbUT`"B%BF,5+!D0!XmX+0,[0V"M!VSi",m%BJ0b1!8&!36!'1+G +MJ&!,!)`"5)#hfm'1ZiMV'&$$MJ%,kKJ3hSi"jZUiLkk1!8MY'($YfV(MVV!klMB +&C-"15`EdV'5!#9!32&3$Eh8+!%L8!kp!Hr$DUQ6!Y([`+UpN3,a,"U#VC!#)Hr# +'!`1[l9S'#+pP3+TD"Xbj!%!CB0b@!CGU'4!%N!#aCUT8UkEqZ'"X9HZP2V9,EXV +,e+UmAkfFHU@k[+HU2cVPNV9lkT8VYjUm"8&p%26kYfA!B"VbpUBKElaE"J`&)@p +)@`E!U`#!'C!!UTS"2kSC-+qD!5#['B#CQJ%XVKP`cCS"*+XC%,5D!@G!3@!'e," +QJ%0V"S#Z8@m2D`ESZfC!8h!'C,KR`2`+!*`"Y8""F!C`"@F!QhX'$+aR`+Gk"R5 +SCi#)H[GD['L!3SX'V!%&!4TJRU)"FLd!J!CX!Se[#)X'l,"S3&ZE"V#aDF#LkN8 +9"'N!rTS'q,9T3!UE"L3"S1p"Q`B!VJ$!@3(khUFT!ZKEpVDq#fSD!1#Q!8&"kk[ +,TJ%jE"S``+B"4QmD%2QQ!FCVkp[$TJ'[!1JEhUB"`!$S+`b![TpU'K!5T!&ZEKT +!c+B"c@`DB0ZQ!5LU'S$FUJ'Fl"S3cki"+qXDX+`#!'Y!IBVq8JASEqkl"S5`Dd# +BLrjb"@[!`,S'!+YV!$Y3%+`"1J%!`!D`X@c!!&!3X!(#+d!i!1HeE!#X#XNXZ65 +[Q0V9CV9-,FYlTME!01r@fJ$(["&`cJX)l,aYUePV!FLY#l$rUp$D*`2`GXX'+,a +X3$,,"Y5`E-$cbJC)Vrl[*c!!AlMqVph,"L#eE-#dk[mf!`1`JFX'R+TY!,lD"R# +bE8#N#J#d!GGX'j!!`VB"V'`E),Q5"J9"'h#dYJ%,DKX!klB"1@`E`-qf!3"X'm$ +dYJ%kF"X!TEB"+'SEJ1qf!CHV'j!!UVS"mkSE`-RQ"`@"'h$XZJ(EUKZJ#F6"b5m +!i!D%Yfj!hUX(rl"ZJ2,U"KLiEX#TqJCFXfr!$P!3V!Z,-2[l"Z6"Em!2q`EJX@r +!c!S('-&`3&i,"q#[F!#,#`HBTfdT!!!(R!)&!4c3`m)"+#SF!+c'!6CV(,#UaJ' +)EKcJY`)!F3$V'`IFXl3`,dX,IkaaJ2XD"m#kFB#q'`HmV(,!6LX(0+Tb!1S,!-J +"e+dF`0$+!ELX(&$T,X0jm"`!Z3)!Fd$41JHF[kp+36#rH-1clac!cmi"JbR+D`l +E[!i`!%$9SX0B+m`l!@I!9HYG+Jm$!*IVMLUm'J3!UFiE[2+m)ZQ9qkb5`pj`j$X +(K,"c`!il"mLrF`!TM!dh[pK`5$!(k-#j4d&!"bbSG!"A3!G3Y(4!8d!([+aeJ,K +E"j5l!%!G8,6@!HI[[9F3e!%!EKh3cGB"SF"*(,q'a-p[50bKeJ(!DKe3jYS"`UX +Gm+2D!5QX(G$#fJ%FUaf3!*d#!(C!KfS(Q+Kf`%KJ"eLmGm#2HJG)X`$!(4$FhJ' +4V&+!h1)"RQb`8a$J!H1V8Q#HiJ(R,Kk3!,6L!IiY(Q#LiJ%9+`#3!!F%YhQ!FFX +(A,0mJ%,E"mbqIF"ff`GNYJ"!(j!!qrB"1@`Im0hf!5pa(c$HpJ&034p3ZIB"YQX +I3,Ik!DQU(p!!&!4q`%lV"c5UIJ"QkJH`Z(l!XHX(S,)!J"p`d2S"el!IX0hk!Df +Z(m$3qJ')Uap3`rS"#kSIN!#EqJ(ZUam!krS"-,!IJ06k!3ba(m$dqJ%am4q!QIi +"HHdI!",r!DcX(l#XBV%!!*I+T8Ua-USq%,-bae-XG"c&cJ26FA8-a9,(dA&bR"d +rapQaG0`GBmIh!(J-(Nqa"3'9klCk`'NT%'!2+`3#`,0U("F%Im!B!"mRXhm!i[S +(`,Tr`!$l"r5`Im"iq`H8Yhq!hIX(3,erJ'F,!2`"CHiIS2m#!)!!*`X)++b!3*B +,#-LYJ-$4#JJNXi'!BJS!"!)KE##```B#"@`J3!-(!VKZ)($%"J)'FL#Ja`S#q+S +JX0-+!VL`)2#X#J+4Vb!3l3)&*#T3F,S+!P#[)&#j$J*Gm5$JcJi#PqSJ--m1!Uc +X)%$G$J*ClL#JrJi#5HXJ`0!1!SMV)&$$$J+'l5$!VJi#IZ`JF+S5!P!a)@#S%J) +#,`"!#"M"K)#X5JK3Yi6!I8S)+,b%J#j-#(5cK-"TDbDMUi4!@N`)f,D&J2"D### +bKF!!@`Lda"6"H&X)F!@&!,jE#1LaKN#TDJMdYSB!)'X)p,q(3("l#&6&Ki#KkK! +8")H!"[!1fl`f+P9l$c5j95[1f`kI`qF`!*!!PmS$6F'#E"DmbQ4"MXS6#!!B!*j ++QMi%D1a$!*!!mJ3"!$#J$j[((V"#5jHQT99a!%$*TU8lE3$!b3S!3DX!),N5!,- +`!F$k&J#)E!'`b"S!1kd"`-ND!$fV!9!Q'`"'X!'!Q4S!L+i"B2!D!!bY!F$q(J$ +Gl!(!X5)!mb`#S!MrT@Qa!M#P,J!&l!)J!`-!$3"QfJ"-UJl!YZS!R+`2J&rl!&b +U$`!Vq`"dUJr!qIX!b+F4!(8E!F5i%8!H(!'%Ya5!R8`"r,!8J!j-!95V&F""kjU +fTR*V"D$R9J$QD39`lPB!,5eBi0"@!"aV"F!*l!2f3$aJ$l!$pX!jB!q)!cHc2G! +0f!0!Fp"m-f-$22-dX$2E!mj!ci`c#mdk-p#F$'!$0M222!cd!UI!e$`*6-eLJ5@ +V%'!!!8!'%!#STP$!B'S"#!$r!#b`!!!")3"$["0X"$a"@,!eGmeIXdJlQ'S!C,2 +CM$DVc3I"bRS4m!5TDJ"3!5#f#`$AA"$dc3U!X4SidkA#k`&!!NL[mkV`5J!XcJ" +!ipc'3Xk5XdC!!16$P(0jA"!)!*Pc2``!&!#GXr!k!)611N%!!$NraTkckF`iPmG +mUZV-,`-!9LTB%-*@!$YX"8!S9`$6F!A`h9B!2@`&J+*@!#&Y"@$B9J$kEJA3&&J +!c'Y930&H!!SYFRUFeJ((D6*l!Cbl&i#'I!%mVaH!dAX"d-!AJ*em!6$%&`$6L`' +NX-dTFlVS3UI5+AA+R$k['%!hL`%-a4L!aBX"3+NB!)UD!GLXhfPikTh1[KN![jS +"Q+FCJ2Z+RUURhZN3Q`&dU"Q!LDS"c+XD!-LV!D$1'm$cZJ(NTK[!*M!2Y!2R`!@ +G3BX$hB!i3$36cH*!##e#Mp"%Xc6!$0J#*V3SB%*A!LYd#md-X0![p!SY$N!#L`# ++UMPEcZ9aj`cb[XeH-pJmQ#)!GI-"J!#Nc3#!eR`3F-dpY0aF&3643l6DV$G2"'h +c4B"%ameKmhc+4"248$6Er$R2T4S!q(Si$mjcU3&JVRl4RM2R[$U,T+AckAa$Zml +cDYrm0dI1J[-@RCB@cR!dAET$(p&`X`m0!!$4CI2CR$ElY4AdIKV#FJ$#,!G!c(B +!NZYrkTrDXKf![pS"%+JG`),D!562(3"&+k%@""j!cqS"P-NHJ-,U!I5rRL`!m!' +`X4q!!#a+CkSI31ll!9#qSR3)q`%8X"r![[`"j-JIJ"m,!XbV%8G"!!+`[L#!``X +#C,JJJ0d,!YM*)-!3#`*dU#%!'aX#a,-K`#`F!V#q)B$"'`,Ja5%!J"X#j,iKJ#i +E!ZLU)8!1'`,`Xb2!JMS#i-8MJ"qXS@DS``$0[!r%!r[!1P!12!2Zp#k`$Y3#U-! +k[3rFdk0!2Re2l`2jG$rY#HM6qh4![3pN![Fd*A"22`,lp20+NFkP#)"83%B,Vk$ +c'8d!T0(5+qTm$dm%")!!E%C(cZ@a!-a'&`4hY%%`4H[4I$3X8!#!!N4dULS!E!# +S+4PY4)[8HE3526DAc5Fe&VdfD`44p%3`8L[4G$00M9,Mc3E"%kd3m-ec+8YG4i2 +4D@N"3*Sqe*Yck&`3M-i5p9bD1C1X)m$!1J*dU"pULCUKfVBM!)Sk!V#V)i!H1`* +8VL1!l8S##+miUSpkSlDZ3HU4HU05Yb4!M%X#),SN`+*E!Y5`*F##@J,B[5@!R@` +#-,3Q!2YV!Y5`*X##DJ)dXbD!EAX#q,8R`+9k!UbX*d#h5k@UXLK!TiS#2!'%+Uk +E!RbU+B#*QJ+%UXeX#P#UTJ$mJ$j!$RJ$qS!bJ&Vh!UYeDkd2p!+i!#i`#q!#VJ! +ZN!!+a0Di!#Q!@hm#XV8QJ!Y8!VL!0r!)j!(#0Dam%EM0H(35A8Ahe,!!!J!(f04 +jXaEG0f-![#T6,C)keCBc4IdkLk3D0ADp86I1(M9f$99ce+Qc$Le&ap49G%RYA'F +!T1P,cCbLef*chEaH8lFhpGiX4`F!$I94$4DFemVeh#aI``(XYAf08prA%!"2m%8 +,UD3eSAUUUJ#TUJVJbIiMVQV$UJ*)eUqUUbUVUJ$UV`T!UpUU+S#'V!)mVbU!VUS +#j-%U3(LV!U#V+S#+UJ)!UmAUXDV3)U[(kV1k!X6%+m$!ZJ)-X5c!TCUYFU[JDSB +EVTkVf'Scb`,BYL`!e0X#r+MbDVaUh,B!Xfm,`+m'V24U60`#$+`Y`02U!Zbd"k[ +"qV!ZV&Cfa1S#A+bj,mDUXEU[--!e1l++V#XV$!$e`J#U+```XmB!b'h0ZV2fV$' +!+KX$X,)a30%D!a#S-F$4'J-`Y$&!5"!$Z,NaJ!iF!`ba-N#-+`-JZM-!3cX$X,m +d3+G+!c`"'R5PM8&EfKRdTGd1K!-A0+HpDAIDQ(DSV@P[!aFdUGd1Q0UQGUDYDPI +DeN!d`!aB!mH!0I"UVke2YAH0A9m%`ZY(,8F2!05eIUe5ppTNp(4GAFI4IA0q68D +(e1peIle(rpGTXk50@3-!0!$85`1SVMA!UPS$E+XeJ+aD!l#q0B$"@`2SXM9!!9X +$j-%e!!m-!03!8'm0B1$D!$DV$8$#fJ$cFYrkYr+Y@Di0X0hD!2kU$D$,fJ#kUJf +3!!IE!'kZ$F$VfJ#!l!eJU0i!#ZX0d,!+VSNVLiX$5+ii`2Q,!l$51%!)Q`2dV$Q +!VUS$i+XkJ(1U!l#j1N"-V!--V$[!ME`$H+kLDd(!!j6*2)$#bJ1`Z$c!0FX$6+N +m3$2,!d#pU@Y"i!--X$k!dHX$8,3q!%2X!m6%2X$!qJ1`Z$q!V[S$i,ZmDd(JZ`+ +[U5S33,`#!5-"%'$a"J(*E""`lJB"h3$0(!pmh@"hf#ef0me#FpPp0(F$c`$3V!b +XhI'!-Q!c&`2f!$!!$!600$22[!X%c9rhfZeff`)mXcS00&r8Cf`1(9@RT@Td2`` +#r!13!(22QP%$!0meBRS42!#4E!%J!%!$*l9cI6EVdJA+$6eH0mlD0HVFb,,4%%! +m!!mm!$PU!#!!k-f,YkkGDp[DUc0)c(9IVmeVQ4X%D+rF+r6U[4Uhhf[ifK8,!FH +Z%&#qRUr2+[Vk[YUb3S!Z,!6FX%+!qbS%I,I`Ur`D[TVE3X$6+J4%V%*!-bX%f,C +%J2"+"+5U43!ZflrbVqjV%3$!#V$mD`&E")5h4F"i@`3JY8A!deS%,,$#E"&J)"F +"C@i48!rX!rA!1j!!$H6Ia8$qM3[ih`$i1r"r#q$l`#b`$lJ#qd!UJ(q2!Se!26! ++j!%11"X3JEqXb2Cc#Pm[ff@cFde%ZpF@Z,)p8cIAcl86V88Mec#eXXeFDq"!0I! +UAFqP`(BFl6L,ek3ci9e4Jp6m04Ap3rrA!6B([P0Ad4riI"e8Mq!eZ"jpJJ2Bp(9 +d2@$hc3@fVme31p3ZZ&5p1VHZpMF&bmP+X"6XPQd%+-0'`!@lk"S"#Um4X-'HZdE +!8'`%I,!KV"%3X4S"KUm4B+)H!C2U#([#(VY(3,+,`Tk`UZ`4S2jf&#IX$)ZidV! +Rl!el"1LU4d!1H`6XX%G!KRX%p,"(`!pl"-6%4d!3Hm3H!3Yb(A[#mV%cDapl`K+ +bTR3K+mNfXNJ!kS`%2,+@,"+!h#)"Q+`RL`58b8J!+'[+`UURV#6VbTkrVf`Y+mR +La8J!,SX%&!,k!!DGLjm$ZhJ[hJj`d0h!1A!0"!2#H#XJM)-#ahJbIJdJimZi-Xk +-2q21H$31!&6J1rJ0RS%6i89d%#j6iq$dY9!GAC2JbEB0EN9Ii`&f&Rf%ck9*Z(@ +YHQm%a6B6ENGViqNeXphm#YY(GDCkLdZb4Lm5%2NL!AG`-3[b$QR(V-*E["bcd(- +aQm`Q!5KU%K$5+J'F,$8lc4V"eZ`dQmeZXmmV0c[0IV2k,MJlcBkcR#`jUmkHXj( +[%Y#2,`%Kl"+``c)"M@SlLmrQYI!X2M[2-J(e,1YVcq+cqLbXb`6!`%b!ApS%h," +0`+2F$U!$i`!ki!fJ!pN!1Q#8'qA63$0`#b6PSm!dd!P!!NNj92k8,`*!16S`$HJ +$GF"9hJjSjHJ!()!1L-kG-cMHJB[M3hJj2P4VdB$h38#0Aq$UG3JZ4p2+`cCGUS0 +Ii$fi@kk#$pKLH68qMS2Jd282ISkRT5diAGU1kpF6Y3bqA5rHMAFCM9hVfQZjXYf +@"pK)Z)%Y1"["26P!Qq%f!6eX%k#m0J(aEK2`U6B")B%6F,)5Y!1Y3ZX%f,*1J(r +V"$#d6S#'l!3mVdm!Cr`%*,Y3313,"I6M8)!1l0'@Y&'V5"[5MV3Pl8PVU++d,Ze ++UmT'!DaX&0#T4J'RDN`ldmkV01e-Hp2kY*,e6hY2``2``$fp$JM8jX!q%!lX!pc +!2Qd03!1k`(KZ#ScR"29h2JNd!RI!HLiI'`4cZ3GH0bF!f)"0lBhri(Rj"FjFdqG +pq9eZArI0&d#j'fc2T3Q!BRTX`q2@1!LHJb2S5c3jhSd$i6UeIXk0#pMr16SZQ3[ +Q5cKKAQX2hSPjBHik@p6Gp4RpSi,H&!!3m!$XU!,!5AejVp'CFjRmdmkd4Zd1+`8 +8X&)!dLX&%-T5!&FJ"D5e8d#-1`8JZP-!LMS&%,D*+PdlecDX9-"GQpG5!B"Y@Kc +BcV@m,K9!Ye)"TbS9d0C@!BYX&G$)9J'fE4@!SPB"KQd9`1YH!CEX&@#SAJ(iUQM +lfIUe9`!JH`A3V9M!$N[DSVE&,aB`#qJ$p-!j)!j3!mq!-P!-q1Pkpbq3!!Z-!Vp +!*j!!#!MUI)!bd+IrkAI!Mp'S,qU!HKj"M`rSDDQalB),`"%eHCekQpF4ZQ0q46H +rmENirS%,dIEj#XjiGp(kGAjZJRrU&(S@h6HMkT4k!#"'DqL-pf)HJhrSMVGK[J" +!hTrcj&ej``%VHT!!jMPI")fj1&j5mqIcq&`DS#[KD@Q"IP3hV(BkDQXRYlDSVBQ ++"F#fYLd@8,RLYUMYE`X9!lIA,A+E"@#Q@B"b#pdU`p(YGB[SCJ(mDKD`h@B"hHd +dl0eHYq9Y&M#`CJ'iEKC`hUDhkfel1pqHU[4Y3@$I#Zc',AiVX1qh@N$5fYm+l!# +Z&M$HDJ%#,S(lXKDi!MZ#5m)QZ!mZJrZX0VJ2ES6E-NZi$fk&brCDZ"MZJeZYEVJ +KlS2lXSki++k*fl#HZ#hZLd[G`VJe,SUE"kJ$Tl8bF&Vh!MYlcqi0m1`rZmm1@jr +@1,XhS,-(lE)!d+kd#qe-Hp$ZY#rY)Hf[(CIId-3kJpk@Eq!-HPeHU[rP!8"JMP6 +MeqjiDmUJ$q(pHAd046ZRA)"rHq1LZ&dZ!1[PSVMb,aF3dR)"BfkCf`93YfGZ3C! +!jZVYDHfDUlHlZHI[Qa[RJVaHJ$*Fjp+jH#lRQZI5ZAaZH0[RdVQ%VUaDk"B%6a$ +PEVYq!EhY&`$)3VU@EU)+"Jc&NUkPLr45ZTBZTU[T@VbEVUAVk6B&RkkP+qSLYk1 +ZUQ[UbUTK3!YlkUUkeh#UkqUqjrk"UZZq[VUUVU`ElmkkUUkZDpMZZUUZVaYC0V[ +"lV$,'BX"4)#Sl@PlfUZfTTeTHpUNGUXYDeX$',3YB,f(fV&!prkpMqmCG&TZ%+M +UC,NmhUUIjF*VKpjjXqKRG+V+DdrYElRAIPrEli2jJGkT'q[bZ(-+[6HlbkiYbqc +qZXqZr![Y5V[0lT3U"P5leblUM1ekZp[ZbXVYHVXJm4L3!-b1!HFZZq[YjX(ZVVG +El`+VpUkhbqmZU[hZ`+Z`dJF&lm$,m"Dr$Hr!5r'1""A[`)[aKVcckXFEp)kmILh +*'r4+eQ8!jbVdKVa%l`"Ep!Dp5'mCS,b@!8S[deX'S+KPJ0-,pCS"`U[8DrCQ[8D +`eQ[fKVhAX0KVpXkqCJ$LH[DD[@U[jlVfQVeZla&V"TMECX$6q[DD[8d"'R$3*Vk +0Vpb+"UJ"H$S[RUIAmAMm(Dr(fr&mI"lIaqraIR`J$mJ2mR`m"qe"L`-Q0$[14A[ +4a(BB28BhiGHe42fqPpGRG,&18U[[NhSMAkQ(lFrf(0ri-Vk5lq0Vp%+qM5rQHkT +Q[U![jfZcTJ'*DZF,qQlCRfrV+rU5[XPZk3[k+X0T`++E"ULqV'pr!2V+VD))k&[ +$TJ'elqkVUr+qS1r`qa)6[mS[k-[dTJ%a-I8,qJUceLrSLk+Z!E'cq,[rPVp&UrQ +lrkUrD`"$Z`D`[fZ!qmY+[lrlVrbl"L#eD`$pDrqUU2I[rVXJV`&Y,Iml!"I!3US +"l2mL`**e!M`!LlYX`%(,"P3"4E[16JcF!UIe,5!,%1djHd,[d(X$#$e%rp"(p!J +p+d$46r3B[85[d92dU5S"!+Y$mPAlrRl*PmfNHV*qUM2bFRR@cUVljklk)XqXbqU +22&f+[J[K+reCMP-RZ`2p!#bjXJ(mURF`!+2!"AN+2!#c`"Tb#c`!`m"X3!(,"Zc +,E!!0c!D8Yfb!$B`$ZlNjm!"XEN[J2I!!$!5("8&`&%`%#kP&F"5F"#Hl5R!8h!3 +(V8j`&(bI`JT4m"4F"EZ[9R!8h!8ca&j`&"`'@laLF"4F"Lr)CR!8R!B,VfT`(0` +'ll4ZF"bmUXV"FA!GV+Zk!C'[(4`(+m4Z3"km"mI"J[$,1JM(`BE`$#$)rr'Fr@E +[f42bIM`(M3f-pYJ!RLi-i1QZ!*jq%)6UH[5ShN6ljIEe6-p6er4'Z(fpHN[bKVP +&[4&BmNTd59h5hpFI2BDHPXlUAh5bq`D`Z)I`)M`[2`Q,m0(k"MM#2H`M[!K,`Nh +"*,`)@m*#kL9F#R[#HZiRA!VlYh!!$6`+Pm+RX'f,#TI#Uc"bb`SA"+i`HarM`X, +X25iF"qLbFB!Zr!ZcprKZ--cH%m1,DM&F%"c$rce)R!crpmf`IqX-rrI4X%)X$Ir +hHE!F3-c+!@Qa($#PJJEHF&Fm"c5U8))hI#22!ClV(%!$*m6H-%8l"c$%Fi#Eqa# +Ia#PX4h`5Jm4eJ%)V%S[DeAZ-$q1$fZ4lU(d05!253$1!$#!$c8!cJ10,!m1!01! +,`!,5!!CG&U$1#J'[,RP6hU#!jEfb#ZX[1'k2Uh2AKMR)ZkN2hVVfjddj3`!6!!K +!HMIV-2"E(Yarl@2qI8hFap'mI6a1dMI4R,&)I"+Aa,0[(B$,SX3Rm8U-p,,%,[& +*c26@!6&a(6!6UkJdm8Pm%j[51(&"S"-EqXNZ6fcSrm5j+9"Xk!r&GX!3@a3EqNa +a)pX8&`48m9CXh1)"9h&AM!ISZAM!9e`@jmKQm9DF&ZF"82&DA"#daDXq+jX(G+T +j`,1G"b#ZH8!0Q`IJaAR!5j`(%,--,3#J"j!!X(V!,+`(F+ak`"#l"p#PHm#PZJH +F[hZ!,VX(C,Kl!,$+"qbdI!!*b`I%!!9pd`keErXpqbf`Y-F#fciV)1kI!Z4qZ@r +ZRr[NrUYmj@[U6MKjV9+Aq4epQCrQ*qLr2@ZrMDrj@hZ&RTE#qijmUMkfdrD`245 +GU9ll"3%IJ,qqa3Ar34XA&`4pJ+l+&c2mK,*Ic2!(aS1a[NXB-rb(X4q,'$2mLl( +`bKK$aULc(l#S4XD3!$&PE!4AaT!!-@Bm,fI'N!!aCq`(,,UH-@3F'[1VSM&NA"V +lYkBaC0`DGl1Z-@4F'k1VYM&Nh"XE`EiaI"`FLl[#-AaF("HYlr'"r*lr!3Aj(d! +IfmIZkhd-(q[('Hjq$"m,b+IVJ#`2N!!$hi!f8!eS!mp!-M!,P2fQ!0U[pLF$D6r +E[rDhrA$rfrm-J!*a[pY[ppIp&qklMp,6i#*pEmqUbrE,0F$2dTrPVrVHEqE(p*U +hV5lP&pj)rN'Jj2[U66k`rZ3V+0Xe'rhi-rP12ZCGS'5U!c*m[#!$!MYYJe`32-L +Mrl-D)Brq&(*"IL%A")'!3jXKXrlmV)I-qSI))r,!5L+crLHbViXLXriVFPM!)KF +%,M,`crV#b-$rM'cddXM!ridX#$bYJN$%+JMNb)*!5#X)l-JpmSqmUJ,*"B'3!*c +pql9%F[Cr*+Zb5(,f[b3rUdabp[mNRlY3F[Cr*BHd@(,f[bA2V&abp[mP[`4JFN% +J*Y[r25ZCE2qc!+&p"dddQrDSr@I2akF#T[eRhmH2!Thp(Bp8#`"P[[PH%0Ml2(K +0IjqVi)#rIih[Tq"Q1rZqS@[UNraY6el2qaJi,2$E&ri[rCR2%+bXCl,pV`bRbIB +rQkcqYXRf2jbXbmE*pMqGE2I@bIBrRNc-jXRf2jpX5[I*"F'IA"!8!T*V)9#d&J, +RVb%``cI+"B%K3,FD!UIU)A!X(`+@E+E-+9F![MJ[VS[ViVSi"Kd1Y!2F`$@3!!` +3!lm!-I!,r!,9UR&YA"[AaV9aE9`EemDeF@eF'pI'YA%Y&TM[jA(Y24%drJE"jIq +V"qZCYqIm1'2jRE2Hrp+IqHpihkrQ``+rIH&r9'ZbMc(*qJrm!rr!2r!2r!2r`$r +`$r5rrm!$S%"`HE#"E-!#T!F$J!*4!"#$58)#S#j391)(YrS2r!2r`$r`$r`$rm! +rm!rm!rr!2e!!!!2JD`@!!H5Si#X&3!(m!ak`"e`!!!2JD`8`L[m$rm!rm!rm!rr +!2r!2r!2r`$r`$bJ!rHp"m"$!!iLX3[!2(!"Xl%&`!*M5"m%"N!#@0`#TkN%3!Cc +0%d!!3*j1!(GTl3d!',M'03!3dJ+N!M#IQUSU")E!3f"+EmS+J3'3!*Y1!(k`"Y$ +0JJ#il!R!bX)!eHS08,6k!(KX%C!!)bX"V(38X#pM!CmU'+$+SJ&el4(XbG)"cZN +H`1)'!SD[)9!"3!"NFrqEPUDPM2Frd2mbhQNT"%!fplmjD9V+H2m$r@mr(!"!!'4 +crlY&-`4NFrqVaUDP%!$Ch2m#!'JT3d!fplplG&S+!C!!cId[!0#M-J4NFrrlPkD +P%!$Ch2pbe!`"fGcr6Z0T+34!0[HrVc0$3$Eh[`$!5K!!3!"NFrm,!%Lc$!(Ch2r +#V3%!"%!fplm!3#6,%*!!cIe[CTU@3J&NFrqEM@X%GHh1DK"FXm0bS$UhRV$ilSk +1iM+d3+rr+qi#a!IbqGXTjkm",!!3Q3Uej5lU1jP@TLmX+cXXbmcl+5YG941UG1Z +NhEbLU&&i)XZ6Ym`[qQeVpkEYc@kbkmQ,`)X`Lq[Q!`!%ri%-pCl*R2*$)*TLeU5 +TGC[GCV#0kfZDR2UYJ1Xp#lP#"8-VJ,UX4UI6UB-VYqDNrI"M["*)XcF"*BZK2J4 +@JEik[Ki&dqT*'V@DdSPX)RX3#!$DJ!#!![`$iF!r)!i)!2Q!!'!%$!"(3!'!!J` +!9bXEQmJQXJH"!+!0#!#YkV#XrUDPD@N!-#`c"&m"3c!XL`8!UGFFjJrqa[9"d!1 +!!bm!Nbp%Rp3%31`mH51k$!&$m-C1"1@Z"G![k`#1'+Yb"D3QIkP#d+S+!!(!%K! +!b,5Y+N"D#`#N[[*"8!M-m)8!aQX!S+Di,%8``a[AaV9aE9`E"-5d!!!:
\ No newline at end of file diff --git a/obsolete/info/RTF/RTF-Spec.rtf b/obsolete/info/RTF/RTF-Spec.rtf new file mode 100644 index 0000000000..c0e5a9557c --- /dev/null +++ b/obsolete/info/RTF/RTF-Spec.rtf @@ -0,0 +1 @@ +{\rtf1\mac\deff2 {\fonttbl{\f0\fswiss Chicago;}{\f3\fswiss Geneva;}{\f4\fmodern Monaco;}{\f13\fnil Zapf Dingbats;}{\f14\fnil Bookman;}{\f15\fnil N Helvetica Narrow;}{\f16\fnil Palatino;}{\f18\fnil Zapf Chancery;}{\f20\froman Times;}{\f21\fswiss Helvetica;}
{\f22\fmodern Courier;}{\f23\ftech Symbol;}{\f33\fnil Avant Garde;}{\f34\fnil New Century Schlbk;}{\f200\fnil Dingbats;}{\f201\fnil Footnote;}{\f2006\fnil Architect;}}{\colortbl\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;
\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;}{\stylesheet{\s243\tqc\tx4320\tqr\tx8640 \f20\fs20 \sbasedon0\snext243 footer;}{\s244\tqc\tx4320\tqr\tx8640 \f20\fs20 \sbasedon0\snext244
header;}{\s255\sb240 \b\i\f21 \sbasedon0\snext0 heading 1;}{\f20\fs20 \sbasedon222\snext0 Normal;}{\s2 \f22\fs20 \sbasedon0\snext2 rtf encoding,re;}{\s3 \f22\fs20 \sbasedon0\snext3 rtf;}{\s4 \b\i\f21 \sbasedon0\snext4 Title;}{\s5\fi360\li2880 \f20\fs20
\sbasedon0\snext5 body text;}}\margr1080\widowctrl\ftnbj \sectd \linemod0\linex0\cols1\endnhere\titlepg {\header \pard\plain \s244\tqc\tx4320\tqr\tx8640 \f20\fs20 \tab \tab Rich Text Format \chpgn \par
}\pard\plain \s4 \b\i\f21 Rich Text Format\par
\pard\plain \f20\fs20 \par
\pard\plain \s255\sb240 \b\i\f21 RTF Syntax\par
\pard\plain \f20\fs20 \par
\pard The Rich Text Format (RTF) standard is a method of encoding formatted text and graphics for easy transfer between applications. Currently, users depend on special translation software to move word processing documents between
different DOS applications, and between DOS applications and Apple Macintosh applications.\par
\pard \par
\pard
The RTF standard provides a standard format for text and graphics interchange that can be used with different output devices, operating environments, and operating systems. RTF uses the ANSI, Macintosh, or IBM PC character set to control the representatio
n and formatting of a document, both on the screen and in print. With the RTF standard, documents composed under different operating systems and with different software applications can be transferred between those operating systems and applications.
\par
\pard \par
\pard An RTF file consists of unformatted text, "control words," "control symbols," and "groups." A standard RTF file consists of only 7-bit ASCII characters for ease of transport.\par
\pard \par
\pard A "control word" is a specially formatted command that RTF uses to mark printer control codes and information that applications use to manage documents. A control word consists of a backslash followed by an alphabetic string and a delimiter, as sho
wn in the following example\:\par
\pard \par
\pard\plain \s2 \f22\fs20 \\rtf1\'c9\par
\pard\plain \f20\fs20 \par
A B C\par
\par
A\tab Backslash begins each control word\par
C\tab Alphabetic string\par
C\tab Numeric delimiter\par
\par
\pard
The delimiter can be a space or one or more nonalphabetic characters. If a numeric parameter immediately follows the control word, this parameter is the delimiter, and is itself followed by a delimiter, also consisting of a space or one or more nonalphabet
ic characters.\par
\pard \page \par
\pard A "control symbol" consists of a backslash followed by a single, nonalphabetic character. For example, {\f22 \\~} represents a nonbreaking space. Control symbols take no delimiters.\par
\pard \par
\pard A "group" consists of text and control words or control symbols enclosed in braces (\{\}
). Formatting specified within a group affects only the text within the group. Generally, text within a group inherits any formatting of the text preceding the group. How
ever, Microsoft implementations of RTF assume that the footnote, header/footer, and annotation groups (described later in this document) do not inherit formatting of the preceding text. Therefore,
to ensure that these groups will always be formatted correctly, you should set the formatting within these groups to the default with the {\f22 \\sectd}, {\f22 \\pard}, and {\f22 \\plain} control words, and then add any desired formatting.\par
\pard \par
\pard Any other characters in the file are plain text. As mentioned above, the backslash (\\) and braces (\{\}) have special meaning in RTF. To use these characters as text, precede them with a backslash.\par
\pard \par
\pard Software that takes a formatted file and turns it into an RTF file is called a "writer." Softwar
e that translates an RTF file into a formatted file is called a "reader." An RTF writer separates the application's control information from the plain text and writes a new file containing the plain text and the RTF groups associated with that text. An RTF
reader does the converse of this procedure.\par
\pard \par
\pard An entire RTF file is considered a group and must be enclosed in braces. The control word {\f22 \\rtf}{\i\f22 n} must follow the first open brace. The numeric parameter identifies the version of the RTF standard used. The RTF s
tandard described in this document corresponds to version 1.\par
\pard \par
\pard The order of groups within an RTF file is important. Each group specifies the part of the document affected by the group and the different attributes of that text. An RTF file must begin with the following two control words in the following order\:
\par
\pard \par
\'a5 RTF version ({\f22 \\rtf}{\i\f22 n})\par
\par
\'a5 Character set\par
\par
\pard The RTF file can also include groups for fonts, styles, screen color, pictures, footnotes, annotations, headers and footers, summary information, fields, and boo
kmarks, as well as document, section, paragraph, and character formatting properties. If the font, style, screen color, and summary information groups and document formatting properties are included, they must precede the first plain text character in the
document. If included, the group for fonts should precede the group for styles.\par
\pard \par
The groups are discussed in the following sections. If a group isn't used, it can be omitted.\par
\par
\pard Certain groups, referred to as "destinations," mark the beginning of a collection of related text. An example of this is the {\f22 \\footnote}
group, where the footnote text follows the control word. Destinations added after the RTF specification published in the March 1987 Microsoft Systems Journal may be preceded by the control symbol {\f22 \\*}
. This control symbol identifies destinations whose related text should be ignored if the RTF reader does not recognize the destination. RTF writers should follow this convention when adding new control words. Destinations whose related text should be ins
erted into the document even if the destination is not recognized should not use {\f22 \\*}. In this document, all destinations that use {\f22 \\*} will be shown with {\f22 \\*} as part of the control word.\par
\pard \page \par
\pard\plain \s255\sb240 \b\i\f21 The Character Set\par
\pard\plain \f20\fs20 \par
\pard After specifying the RTF writer you must declare the character set. The RTF specification currently supports the following character sets\:\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2880\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Character set\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx2880\clbrdrt\brdrs \cellx8640\pard
\intbl {\f22 \\ansi}\cell \pard \intbl ANSI (default)\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2880\cellx8640\pard \intbl {\f22 \\mac}\cell \pard \intbl Apple Macintosh\cell \pard \intbl \row \pard \intbl {\f22 \\pc}\cell \pard \intbl
IBM PC\cell \pard \intbl \row \pard \intbl {\f22 \\pca}\cell \pard \intbl IBM PC page 850, used by IBM Personal System/2\cell \pard \intbl \row \pard \par
\pard\plain \s255\sb240 \b\i\f21 The Font Table\par
\pard\plain \f20\fs20 \par
\pard This group contains descriptions of fonts and begins with the control word {\f22 \\fonttbl}. All fonts available to the RTF writer can be included in the font table, even if the document doesn't use all the fonts.\par
\pard \par
\pard A font is defined by its name, a font number, and a font family, as shown in the following example. Semicolons are used as delimiters between fonts.\par
\pard \par
{\f22 \{\\fonttbl\\f0\\froman Tms Rmn;\}}\'c9\par
\par
\par
A B C D\par
\par
A Control word\par
B Font number\par
C Font family\par
D Font name\par
\par
\pard The font numbers represent the full font definitions in the group, and vary with each document. The font families are listed below\:\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx1800\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Font family\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx1800\clbrdrt\brdrs \cellx8640\pard
\intbl {\f22 \\fnil\cell }\pard \intbl Unknown or default fonts (default)\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx1800\cellx8640\pard \intbl {\f22 \\froman\cell }\pard \intbl
Roman, proportionally spaced serif fonts (TmsRmn, Palatino, etc.)\cell \pard \intbl \row \pard \intbl {\f22 \\fswiss\cell }\pard \intbl Swiss, proportionally spaced sans serif fonts (Swiss, etc.)\cell \pard \intbl \row \pard \intbl {\f22 \\fmodern\cell
}\pard \intbl Fixed-pitch serif and sans serif fonts (Courier, Elite, Pica, etc.)\cell \pard \intbl \row \pard \intbl {\f22 \\fscript\cell }\pard \intbl Script fonts (Cursive, etc.)\cell \pard \intbl \row \pard \intbl {\f22 \\fdecor\cell }\pard \intbl
Decorative fonts (Old English Zapf Chancery, etc.)\cell \pard \intbl \row \pard \intbl {\f22 \\ftech\cell }\pard \intbl Technical, symbol, and mathematical fonts (Symbol, etc.)\cell \pard \intbl \row \pard \par
\pard If an RTF file uses a default font, the default font number is specified with the {\f22 \\deff}{\i\f22 n}
control word which must precede the font table group. The RTF writer supplies the default font number used in the creation of the document as the numeric argument. The RTF reader then translates this number through the font table into the most similar fon
t available on the reader's system.\par
\pard \page \par
\pard\plain \s255\sb240 \b\i\f21 The Style Sheet\par
\pard\plain \f20\fs20 \par
\pard The style sheet group begins with the control word {\f22 \\stylesheet}. This group contains definitions and
descriptions of the various styles used in the document. The style sheet is declared only once, in the RTF file header. All styles in the document's style sheet can be included, even if not all the styles are used.\par
\pard \par
\pard In some applications, styles are based on, or are the basis for, other styles. In these cases, two other control words can be used\:\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx1440\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx1440\clbrdrt\brdrs \cellx8640\pard \intbl {
\f22 \\sbasedon}{\i\f22 n}{\f22 \cell }\pard \intbl Defines the number of the style on which current style is based\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx1440\cellx8640\pard \intbl {\f22 \\snext}{\i\f22 n}{\f22 \cell }\pard \intbl
Defines next style associated with current style; if omitted, next style is the current style\cell \pard \intbl \row \pard \par
\pard An example of an RTF style sheet and styles is shown in the following example. In this example, Postscript is declared but not used. Some of the control words in this example are discussed in the following sections.\par
\pard \par
\'c9\par
\par
\pard\plain \s3 \f22\fs20 \{\\stylesheet\{\\fs20 \\sbasedon222\\snext0 Normal;\}\{\\s1\\qr\\fs20\par
A\'d1\\sbasedon0\\snext1 FLUSHRlGHT;\}\{\\s2\\fi-720\\li720\\fs20\\ri2880\\fs20\par
\\sbasedon0\\snext2 IND;\}\}\par
\pard\plain \f20\fs20 \par
\'c9\par
\par
\pard\plain \s3 \f22\fs20 \\widowctrl\\ftnbj\\ftnrestart\\sectd\\linex0\\endnhere\par
\\pard\\plain\\fs20 This is Normal style.\par
\\par\\pard\\plain\\s1\par
B\'d1This is right justified. I call this style FLUSHRIGHT.\par
\\par\\pard\\plain\\s2\par
\pard \s3 This is an indented paragraph. I call this style IND. It produces a hanging indent.\par
\pard \s3 \par
\\par\}\par
\pard\plain \f20\fs20 \par
This is Normal Style.\par
\par
This is right justified. I call this style FLUSHRIGHT.\par
This is an indented paragraph. I call this style IND.\par
It produces a hanging indent.\par
\par
A Style sheet\par
B Styles applied to text\par
\pard \page \par
\pard \par
\par
\pard\plain \s255\sb240 \b\i\f21 The Color Table\par
\pard\plain \f20\fs20 \par
\par
\pard Screen colors, character colors, and other color information are contained in the color table group. The control word {\f22 \\colortbl}
begins this group. Values for red, green, blue, and the foreground and background colors are shown in the following list. These parameter values correspond to the color indexes used by Microsoft Windows (0-255). Each color table entry is defined by the am
ount of red, green, and blue it has. For more information on color setup, see your Windows documentation.\par
\pard \par
The following are valid control words for this group\:\par
\par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx6480\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx2160\clbrdrt\brdrs \cellx6480\pard \intbl {
\f22 \\red}{\i\f22 n}{\f22 \cell }\pard \intbl Red index\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx6480\pard \intbl {\f22 \\green}{\i\f22 n}{\f22 \cell }\pard \intbl Green index\cell \pard \intbl \row \pard \intbl {\f22 \\blue}{
\i\f22 n}{\f22 \cell }\pard \intbl Blue index\cell \pard \intbl \row \pard \intbl {\f22 \\cf}{\i\f22 n}{\f22 \cell }\pard \intbl Foreground color (default is 0)\cell \pard \intbl \row \pard \intbl {\f22 \\cb}{\i\f22 n}{\f22 \cell }\pard \intbl
Background color (default is 0)\cell \pard \intbl \row \pard \par
\par
\pard
Each definition must be delimited by a semicolon, even if the definition is omitted. If a color definition is omitted, the RTF reader uses its default color. In the example below, three colors are defined. The first color is omitted, as shown by the semico
lon following the {\f22 \\colortbl} control word.\par
\pard \par
\pard\plain \s3 \f22\fs20 \{\\colortbl;\\red0\\green0\\blue0;\\red0\\green0\\blue255;\}\par
\pard\plain \f20\fs20 \par
\pard The following example defines a block of text in color (where supported). Note that the cf/cb index is the index of an entry in the color table, which represents a red/green/blue color combination.\par
\pard \par
\'c9\par
\par
\pard\plain \s3 \f22\fs20 \{\\f1\\cb1\\cf2 This is colored text. The background is color 1 and the foreground is color 2.\}\par
\pard\plain \f20\fs20 \par
If the file is translated by software that does not display color, this group is ignored.\par
\par
\pard\plain \s255\sb240 \b\i\f21 Pictures\par
\pard\plain \f20\fs20 \par
\pard An RTF file can include picture files composed with other applications. These files are in hexadecimal (default) or binary format. The control word {\f22 \\pict} begins this group. Control words tha
t define and describe the picture parameters follow the {\f22 \\pict} control word.\par
\pard \page \par
\pard \par
\pard These control words are listed in the table that follows. Some measurements in this table are in twips; a twip is one-twentieth of a printer's point. The control words for picture border patterns ({\f22 \\brdrs}, {\f22 \\brdrdb}, {\f22 \\brdrth}, {
\f22 \\brdrsh}, {\f22 \\brdrdot}, and {\f22 \\brdrhair}) are ignored when translated into Microsoft Word for the Macintosh, which uses character properties to make borders.\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx8640\pard \intbl {\f22 \\brdrs\cell }\pard \intbl
Single border for picture\cell \pard \intbl \row \pard \intbl {\f22 \\brdrdb\cell }\pard \intbl Double border for picture\cell \pard \intbl \row \pard \intbl {\f22 \\brdrth\cell }\pard \intbl Thick border for picture\cell \pard \intbl \row \pard \intbl {
\f22 \\brdrsh\cell }\pard \intbl Shadow border for picture\cell \pard \intbl \row \pard \intbl {\f22 \\brdrdot\cell }\pard \intbl Dotted border for picture\cell \pard \intbl \row \pard \intbl {\f22 \\brdrhair\cell }\pard \intbl Hairline border for picture
\cell \pard \intbl \row \pard \intbl {\f22 \\macpict\cell }\pard \intbl Source of picture is Macintosh Quick Draw\cell \pard \intbl \row \pard \intbl {\f22 \\wmetafile}{\i\f22 n}{\f22 \cell }\pard \intbl
Source of picture is Windows metafile; argument identifies the metafile type; default is 1 (MM_TEXT)\cell \pard \intbl \row \pard \intbl {\f22 \\wbitmap}{\i\f22 n}{\f22 \cell }\pard \intbl
Source of picture is a bitmap; argument identifies the bitmap type; default is 0 (logical bitmap)\cell \pard \intbl \row \pard \intbl {\f22 \\picw}{\i\f22 n}{\f22 \cell }\pard \intbl xExt field if picture is metafile; picture width in pi
xels if picture is bitmap or from Macintosh Quick Draw\cell \pard \intbl \row \pard \intbl {\f22 \\pich}{\i\f22 n}{\f22 \cell }\pard \intbl yExt field if picture is metafile; picture height in pixels if picture is bitmap or from Macintosh Quick Draw\cell
\pard \intbl \row \pard \intbl {\f22 \\picwGoal}{\i\f22 n}{\f22 \cell }\pard \intbl Desired width of picture in twips\cell \pard \intbl \row \pard \intbl {\f22 \\pichGoal}{\i\f22 n}{\f22 \cell }\pard \intbl Desired height of picture in twips\cell \pard
\intbl \row \pard \intbl {\f22 \\picscalex}{\i\f22 n}{\f22 \cell }\pard \intbl Horizontal scaling value; argument is a value between 1 and 100 (default is 10)\cell \pard \intbl \row \pard \intbl {\f22 \\picscaley}{\i\f22 n}{\f22 \cell }\pard \intbl
Vertical scaling value; argument is a value between 1 and 100 (default is 10)\cell \pard \intbl \row \pard \intbl {\f22 \\picscaled\cell }\pard \intbl Scales picture to fit within specified frame; used only with \\macpict pictures\cell \pard \intbl \row
\pard \intbl {\f22 \\piccropt}{\i\f22 n}{\f22 \cell }\pard \intbl Top cropping value in twips; positive value crops toward center of picture; negative value crops away from center, adding space border around picture (default is 0)\cell \pard \intbl \row
\pard \intbl {\f22 \\piccropb}{\i\f22 n}{\f22 \cell }\pard \intbl Bottom cropping value in twips; positive value crops toward center of picture; negative value crops away from center, adding space border around picture (default is 0)\cell \pard \intbl
\row \pard \intbl {\f22 \\piccropl}{\i\f22 n}{\f22 \cell }\pard \intbl Left cropping value in twips; positive value crops toward center of picture; negative value crops away from center, adding space border around picture (default is 0)\cell \pard \intbl
\row \pard \intbl {\f22 \\piccropr}{\i\f22 n}{\f22 \cell }\pard \intbl Right cropping value in twips; positive value crops toward center of picture; negative value crops away from center, adding space border around picture (default is 0)\cell \pard
\intbl \row \pard \intbl {\f22 \\wbmbitspixel}{\i\f22 n}{\f22 \cell }\pard \intbl Bitmap bits/pixel (default is 1)\cell \pard \intbl \row \pard \intbl {\f22 \\wbmplanes}{\i\f22 n}{\f22 \cell }\pard \intbl Number of bitmap planes (default is 1)\cell \pard
\intbl \row \pard \intbl {\f22 \\wbmwidthbytes}{\i\f22 n}{\f22 \cell }\pard \intbl Bitmap width in bytes\cell \pard \intbl \row \pard \intbl {\f22 \\bin}{\i\f22 n}{\f22 \cell }\pard \intbl
Picture is in binary format; numeric parameter is number of bytes to follow\cell \pard \intbl \row \pard \par
\pard \page \par
\pard The {\f22 \\wbitmap} control word is optional; if neither {\f22 \\wmetafile} nor {\f22 \\macpict} is specified, the picture is assumed to be a Windows bitmap.\par
\pard \par
\pard
Be careful with spaces following control words when dealing with pictures in binary format. When reading files, RTF considers the first space the delimiter and subsequent spaces part of the document text. Therefore, any extra white space is attached to t
he picture, with unpredictable results.\par
\pard \par
\pard RTF writers should not use the carriage-return-line-feed (CRLF) combination to break up pictures in binary format. In this case, the CRLF will be treated as literal text and considered part of the picture data.\par
\pard \par
\pard The picture in hexadecimal or binary format follows the picture group control words. The following example illustrates the group format and the result.\par
\pard \par
\pard\plain \s3 \f22\fs20 \{\\pict\\wbitmap0\\picw170\\pich77\\wbmbitspixel1\\wbmplanes1\par
\\wbmwidthbytes22\\picwgoal505\par
\\pichgoal221\par
\\picscalex172\par
\\picscaley172\par
4912000000000273023d1101a030\par
3901000a000000000273023d98\par
0048000200000275\par
0240000200010275023e000000000\par
273023dO00002b90002b90002\par
b90002b90002b9\par
0002b90002b90002b90002b90002b90002\par
b92222b90002b90002b90\par
002b90002b9\par
D002b90002b90002b90002b9000\par
\pard\plain \ri-3600\tx576 \f20\fs20 {\b \par
}\pard A Source\par
B Width\par
C Height\par
D Bits per pixel\par
E Bitmap planes\par
F Width of picture in bytes\par
G Desired picture width\par
H Desired picture height\par
I Horizontal scaling value\par
J Vertical scaling value\par
K Hexadecimal data\par
\par
\pard\plain \s255\sb240 \b\i\f21 Footnotes\par
\pard\plain \f20\fs20 {\i \par
}\pard The group containing footnote text begins with the control word {\f22 \\footnote}{\b . }Footnotes are anchored to the character that immediately precedes the footnote group. If automatic footnoting is defined, the grou
p can be preceded by a footnote reference character, identified by the control word {\f22 \\chftn}{\b .\par
}\pard \tqc\tx720\tqc\tx1440\tqc\tx2160\tqc\tx2880\tx0 \page \par
\pard The following is an example of a group containing footnotes\:\par
\par
\pard\plain \s3 \f22\fs20 \\ftnbj\\ftnrestart\\sectd \\linemod0\\linex0\\endnhere \\pard\\plain \\ri1170 \\fs20 \{\\up6 Mead's landmark study has been amply annotated.\\chftn \par
(footnote \\pard\\plain \\s246 \\fs20 \{\\up6\\chftn \}See Sahlins, Bateson, and Geertz for a complete bibliography.\}\par
It was her work in America during the Second World War, however, that forms the basis for this paper. As others have noted, \\chftn\par
\pard \s3 \{\\footnote \\pard\\plain \\s246 \\fs20 \{\\up6\\chftn\}\par
\pard \s3 A complete bibliography will be found at the end of this chapter.\} this period was a turning point for Margaret Mead. \par
\pard \s3 \\par\par
\pard\plain \f20\fs20 \par
\pard Mead's landmark study has been amply annotated.{\up6 1} It was her work in America during the Second World War. however. that forms the basis for this paper. As others have noted{\up6 2} this period was a turning point for Margaret Mead.\par
\pard \par
\pard {\up6 1}See Sahlins, Bateson, and Geertz for a complete bibliography.\par
{\up6 2}A complete bibliography will be found at the end of this chapter.\par
\pard \par
A Footnotes\par
\par
\pard See "Section Formatting Properties," "Document Formatting Properties," and "Special Characters" later in this document for other control words relating to footnotes.\par
\pard \par
\pard\plain \s255\sb240 \b\i\f21 Annotations{\plain \b\f21 \par
}\pard\plain \f20\fs20 {\i \par
}\pard The group containing annotation text begins with the control word {\f22 \\*\\annotation}{\b . }
Annotations are anchored to the character that immediately precedes the annotation group. The group must be preceded by an annotation reference character, identified by the control word {\f22 \\chatn}, which
itself must be preceded by a group that begins with the control word {\f22 \\*\\atnid}, and contains the identification text for the author of the annotation.\par
\pard \par
An example of annotation text follows\:\par
\par
\pard\plain \s3 \f22\fs20 \'c9\par
\par
\pard \s3 An example of a paradigm might be Newtonian physics or Darwinian biology.\{\\v\\fs16\{\\atnid bz\}\\chatn\{\\annotation \par
\\pard\\plain \\s224 \\fs20 \{\\field\{\\fldinst page \\\\#"'Page\: '#'\\line"'\}\{\\fldrslt\}\}\{\\fs16 \\chatn \} \par
How about some examples that deal with social science? That's what this paper is about.\}\}\par
\pard \s3 \'c9\par
\pard\plain \f20\fs20 {\i \page \par
}\pard\plain \s255\sb240 \b\i\f21 Headers and Footers{\plain \b\f21 \par
}\pard\plain \f20\fs20 {\i \par
}\pard Headers and footers are treated as separate groups in RTF. These groups must precede the first plain text character in the given document section. The control words {\f22 \\header} and {\f22 \\footer} begin these groups.\par
\pard \par
\pard Headers and footers can be defined for each section. If none is defined for a given section, the headers and footers from the previous section (if any) are used.\par
\pard \par
The control words {\f22 \\header} and {\f22 \\footer} can be replaced by the following control words, as appropriate\:\par
\par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx6480\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx2160\clbrdrt\brdrs \cellx6480\pard \intbl {
\f22 \\headerl\cell }\pard \intbl Header on left pages only\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx6480\pard \intbl {\f22 \\headerr\cell }\pard \intbl Header on right pages only\cell \pard \intbl \row \pard \intbl {\f22 \\
headerf\cell }\pard \intbl Header on first page only\cell \pard \intbl \row \pard \intbl {\f22 \\footerl\cell }\pard \intbl Footer on left pages only\cell \pard \intbl \row \pard \intbl {\f22 \\footerr\cell }\pard \intbl Footer on right pages only\cell
\pard \intbl \row \pard \intbl {\f22 \\footerf\cell }\pard \intbl Footer on first page only\cell \pard \intbl \row \pard \par
\pard\plain \s255\sb240 \b\i\f21 Information\par
\pard\plain \f20\fs20 \par
\pard
The RTF file can also contain an information group, which is translated but not displayed with the text. This information can include the title, author, key words, comments, and other information specific to the file. This information can be used when a do
cument management utility is available.\par
\pard \par
\pard This group begins with the control word {\f22 \\info}{\b . }
Some applications, such as Word, ask a user to type this docurnent information when saving the document in native format. When the document is then saved or translated into RTF, the RTF writer specifies this information using the following control words. T
hese control words are destinations, and should be enclosed in braces (\{\}).\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx2160\clbrdrt\brdrs \cellx8640\pard \intbl {
\f22 \\title\cell }\pard \intbl Title of document\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx8640\pard \intbl {\f22 \\subject\cell }\pard \intbl Subject of document\cell \pard \intbl \row \pard \intbl {\f22 \\author\cell }\pard
\intbl Author of document\cell \pard \intbl \row \pard \intbl {\f22 \\operator\cell }\pard \intbl Person who last made changes to document\cell \pard \intbl \row \pard \intbl {\f22 \\keywords\cell }\pard \intbl Selected key words for document\cell \pard
\intbl \row \pard \intbl {\f22 \\comment\cell }\pard \intbl Comments; text is ignored\cell \pard \intbl \row \pard \intbl {\f22 \\version\cell }\pard \intbl Version number of document\cell \pard \intbl \row \pard \intbl {\f22 \\doccomm\cell }\pard \intbl
Comments displayed in Edit Summary Info dialog box\cell \pard \intbl \row \pard \page \par
\pard The RTF writer may automatically enter other control words, as shown in the following list\:\par
\par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx6480\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx2160\clbrdrt\brdrs \cellx6480\pard \intbl {
\f22 \\vern}{\i\f22 n}{\f22 \cell }\pard \intbl Internal version number\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx6480\pard \intbl {\f22 \\creatim\cell }\pard \intbl Creation time\cell \pard \intbl \row \pard \intbl {\f22 \\revtim
\cell }\pard \intbl Revision time\cell \pard \intbl \row \pard \intbl {\f22 \\printim\cell }\pard \intbl Last print time\cell \pard \intbl \row \pard \intbl {\f22 \\buptim\cell }\pard \intbl Backup time\cell \pard \intbl \row \pard \intbl {\f22 \\edmins}{
\i\f22 n}{\f22 \cell }\pard \intbl Total editing time (in minutes)\cell \pard \intbl \row \pard \intbl {\f22 \\yr}{\i\f22 n}{\f22 \cell }\pard \intbl Year\cell \pard \intbl \row \pard \intbl {\f22 \\mo}{\i\f22 n}{\f22 \cell }\pard \intbl Month\cell \pard
\intbl \row \pard \intbl {\f22 \\dy}{\i\f22 n}{\f22 \cell }\pard \intbl Day\cell \pard \intbl \row \pard \intbl {\f22 \\hr}{\i\f22 n}{\f22 \cell }\pard \intbl Hour\cell \pard \intbl \row \pard \intbl {\f22 \\min}{\i\f22 n}{\f22 \cell }\pard \intbl Minute
\cell \pard \intbl \row \pard \intbl {\f22 \\nofpages}{\i\f22 n}{\f22 \cell }\pard \intbl Number of pages\cell \pard \intbl \row \pard \intbl {\f22 \\nofwords}{\i\f22 n}{\f22 \cell }\pard \intbl Number of words\cell \pard \intbl \row \pard \intbl {\f22 \\
nofchars}{\i\f22 n}{\f22 \cell }\pard \intbl Number of characters\cell \pard \intbl \row \pard \intbl {\f22 \\id}{\i\f22 n}{\f22 \cell }\pard \intbl Internal ID number\cell \pard \intbl \row \pard \par
\pard Entries without the n parameter have the {\f22 \\yr \\mo \\dy \\hr \\min}{\b }format. An example of an information group follows.\par
\pard \par
\pard\plain \s3 \f22\fs20 \{\\info\{\\title The Panda's Thumb\}\{\\author Stephen J. Gould\}\{\\keywords science natural history \}\}\par
\pard\plain \f20\fs20 \par
\pard\plain \s255\sb240 \b\i\f21 Fields{\plain \b\f21 \par
}\pard\plain \f20\fs20 {\i \par
}The field group contains the text of Word fields. The field group begins with the control word {\f22 \\field}.\par
\par
The following control words can follow the {\f22 \\field} control word\:\par
\par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx2160\clbrdrt\brdrs \cellx8640\pard \intbl {
\f22 \\flddirty\cell }\pard \intbl Change has been made to the field result since the field was last updated\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx8640\pard \intbl {\f22 \\fldedit\cell }\pard \intbl
Text has been added to, or removed from, the field result since the field was last updated\cell \pard \intbl \row \pard \intbl {\f22 \\fldlock\cell }\pard \intbl Field is locked and cannot be updated\cell \pard \intbl \row \pard \intbl {\f22 \\fldpriv
\cell }\pard \intbl Result is not in a form suitable for display (for example, binary data used by fields whose result is a picture)\cell \pard \intbl \row \pard \page \par
\pard \par
\pard Two subgroups are available within the {\f22 \\field} group. They must be enclosed in braces (\{\}) and begin with the following control words\:\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx6480\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx6480\pard \intbl {\f22 \\*\\fldinst\cell }\pard
\intbl Field instructions\cell \pard \intbl \row \pard \intbl {\f22 \\fldrslt\cell }\pard \intbl Most recently calculated result of the field\cell \pard \intbl \row \pard \par
\pard The {\f22 \\fldrslt} control word should be included even if no result has been calculated. This simplifies the RTF reader's task, because even readers that do not recognize fields can generally include the value of the {\f22 \\fldrslt}
group in the document.\par
\pard \par
An example of some field text follows\:\par
\par
\pard \ri5184\tx1440\tx2880 IA\tab |C\tab IC\par
\par
\pard 1 I\par
\par
\pard\plain \s3 \f22\fs20 \{\\field\\fldedit\{\\fldinst author\}\{\\fldrslt Joe Smith\}\}\\par\\pard \{\\field\{\\fldinst time\\\\@"h\:mm AM/PM"\}\{\\fldrslt 8\:12 AM\}\}\par
\pard\plain \f20\fs20 \par
{\i A Begins fieId group }\par
{\i B Field instructions\par
C Field result\par
\par
}\pard\plain \s255\sb240 \b\i\f21 Index Entries{\plain \b\f21 \par
}\pard\plain \f20\fs20 {\i \par
}\pard The index entry group begins with the control word {\f22 \\xe}. Following this control word is the text of the index entry and other, optional control words that further define the index entry.\par
\pard \par
\pard If the text of the index entry is not formatted as hidden text with the {\f22 \\v} control word (see "Character Formatting Properties," later in this document), the text is put into the document as well as into the index. Similarly, the text of the
{\f22 \\txe} subgroup, described later, becomes part of the document if it is not formatted as hidden text.\par
\pard \par
The following control words may also be used\:\par
\par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx6480\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx2160\clbrdrt\brdrs \cellx6480\pard \intbl {
\f22 \\bxe\cell }\pard \intbl Formats the page number or cross-reference bold\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx6480\pard \intbl {\f22 \\ixe\cell }\pard \intbl Formats the page number or cross-reference italic\cell \pard
\intbl \row \pard \par
\pard The following control words are destinations within the {\f22 \\xe} group and are followed by text arguments. These control words and their arguments must be enclosed in braces (\{\})\:\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2520\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx2520\clbrdrt\brdrs \cellx8640\pard \intbl {
\f22 \\txe }{\i\f22 text}{\f22 \cell }\pard \intbl Uses text instead of a page number\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2520\cellx8640\pard \intbl {\f22 \\rxe }{\i\f22 bookmark-name}{\f22 \cell }\pard \intbl
Generates page numbers for the range of text specified by bookmark-name\cell \pard \intbl \row \pard \page \par
\pard \tqc\tx720\tqc\tx1440\tqc\tx2160\tqc\tx2880\tqc\tx0 \par
\pard\plain \s255\sb240 \b\i\f21 Table of Contents Entries{\plain \b\f21 \par
}\pard\plain \f20\fs20 {\i \par
}\pard The table of contents entry group begins with the control word {\f22 \\tc}. It is followed by the text of the table of contents entry and optional switches.\par
\pard \par
\pard As with index entries, text that is not formatted as hidden with the {\f22 \\v} character formatting control word should be put into the document.\par
\pard \par
The following control words can also be used in this group\:\par
\par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx1800\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx1800\clbrdrt\brdrs \cellx8640\pard \intbl {
\f22 \\tcf}{\i\f22 n}{\f22 \cell }\pard \intbl Type of table being compiled; n is mapped by existing Microsoft software to a Ietter between A and Z; default is 67, which maps to C, used for tables of contents\cell \pard \intbl \row \trowd
\trgaph80\trleft-80 \cellx1800\cellx8640\pard \intbl {\f22 \\tcl}{\i\f22 n}{\f22 \cell }\pard \intbl Level number (default is l)\cell \pard \intbl \row \pard \par
\pard\plain \s255\sb240 \b\i\f21 Bookmarks\par
\pard\plain \f20\fs20 \par
\pard This group contains two control words\: {\f22 \\*\\bkmkstart},{\b }to indicate the start of the specified bookmark, and {\f22 \\*\\bkmkend},{\b }to indicate the end of the specified bookmark. A bookmark is shown in the following example\:\par
\pard \par
\pard\plain \s3 \f22\fs20 \'c9\par
\par
\pard \s3 \\pard\\plain \\fs20 Kuhn believes that science, rather than discovering in experience certain structured relationships, actually creates (or already participates in) a presupposed structure to which it fits the data. \{\\bkmkstart paradigm\}
Kuhn calls such a presupposed{\b }structure a paradigm.\{\\bkmkend paradigm\}\par
\pard \s3 \par
\'c9\par
\pard\plain \s255\sb240 \b\i\f21 Document Formatting Properties{\plain \b\f21 \par
}\pard\plain \f20\fs20 \par
\pard This section lists the control words that act on the attributes of a document, such as margins and footnote placement. These attributes must precede the first plain text character in the document.\par
\pard \par
\pard The following control words specify document formatting. If you omit a control word, RTF uses the default value shown in parentheses. Measurements are in twips.\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl {\b \row }\trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx2160\clbrdrt\brdrs \cellx8640\pard
\intbl {\f22 \\paperw}{\i\f22 n}{\f22 \cell }\pard \intbl Paper width (12,240)\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx8640\pard \intbl {\f22 \\paperh}{\i\f22 n}{\f22 \cell }\pard \intbl Paper height (15,840)\cell \pard \intbl
\row \pard \intbl {\f22 \\margl}{\i\f22 n}{\f22 \cell }\pard \intbl Left margin (1,800)\cell \pard \intbl \row \pard \intbl {\f22 \\margr}{\i\f22 n}{\f22 \cell }\pard \intbl Right margin (1,800)\cell \pard \intbl \row \pard \intbl {\f22 \\margt}{\i\f22 n}
{\f22 \cell }\pard \intbl Top margin (1,440)\cell \pard \intbl \row \pard \intbl {\f22 \\margb}{\i\f22 n}{\f22 \cell }\pard \intbl Bottom margin (1,440)\cell \pard \intbl \row \pard \intbl {\f22 \\facingp\cell }\pard \intbl
Facing pages (activates odd/even headers and gutters)\cell \pard \intbl \row \pard \intbl {\f22 \\gutter}{\i\f22 n}{\f22 \cell }\pard \intbl Gutter width (0)\cell \pard \intbl \row \pard \page \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx8640\pard \intbl {\b\f22 Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx2160\clbrdrt\brdrs \cellx8640\pard
\intbl {\f22 \\deftab}{\i\f22 n}{\f22 \cell }\pard \intbl Default tab width (720)\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx8640\pard \intbl {\f22 \\widowctrl\cell }\pard \intbl Widow control\cell \pard \intbl \row \pard \intbl {
\f22 \\hyphhotz\cell }\pard \intbl Hyphenation hot zone ( amount of space at right margin in which words are hyphenated)\cell \pard \intbl \row \pard \intbl {\f22 \\ftnsep\cell }\pard \intbl Text argument separates footnotes from document\cell \pard
\intbl \row \pard \intbl {\f22 \\ftnsepc\cell }\pard \intbl Text argument separates continued footnotes from document\cell \pard \intbl \row \pard \intbl {\f22 \\ftncn\cell }\pard \intbl Text argument is a notice for continued footnotes\cell \pard \intbl
\row \pard \intbl {\f22 \\endnotes\cell }\pard \intbl Footnotes at end of section (default)\cell \pard \intbl \row \pard \intbl {\f22 \\enddoc\cell }\pard \intbl Footnotes at end of document\cell \pard \intbl \row \pard \intbl {\f22 \\ftntj\cell }\pard
\intbl Footnotes beneath text\cell \pard \intbl \row \pard \intbl {\f22 \\ftnbj\cell }\pard \intbl Footnotes at bottom of page\cell \pard \intbl \row \pard \intbl {\f22 \\ftnstart}{\i\f22 n}{\f22 \cell }\pard \intbl Beginning footnote number ( 1 )\cell
\pard \intbl \row \pard \intbl {\f22 \\ftnrestart\cell }\pard \intbl Footnote numbers restart on each page\cell \pard \intbl \row \pard \intbl {\f22 \\pgnstart}{\i\f22 n}{\f22 \cell }\pard \intbl Beginning page number ( 1 )\cell \pard \intbl \row \pard
\intbl {\f22 \\linestart}{\i\f22 n}{\f22 \cell }\pard \intbl Beginning line number ( 1 )\cell \pard \intbl \row \pard \intbl {\f22 \\landscape\cell }\pard \intbl Landscape format\cell \pard \intbl \row \pard \intbl {\f22 \\fracwidth\cell }\pard \intbl
Uses fractional character widths when printing (Macintosh \'16\cell \pard \intbl \row \pard \intbl {\f22 \\*\\nextfile\cell }\pard \intbl Destination; argument is file name of file to print or index next; must be enclosed in braces ( \{\} )\cell \pard
\intbl \row \pard \intbl {\f22 \\*\\template\cell }\pard \intbl Destination; argument is file name of related template file; must be enclosed in braces ( \{\} )\cell \pard \intbl \row \pard \intbl {\f22 \\makeback\cell }\pard \intbl
Backup copy is made automatically when document is saved\cell \pard \intbl \row \pard \intbl {\f22 \\defformat\cell }\pard \intbl Tells RTF reader that document should be saved in RTF format\cell \pard \intbl \row \pard \intbl {\f22 \\revisions\cell
}\pard \intbl Turns on revision marking\cell \pard \intbl \row \pard \intbl {\f22 \\margmirror\cell }\pard \intbl Switches margin definitions on left and right pages\cell \pard \intbl \row \pard \intbl {\f22 \\revprop}{\i\f22 n}{\f22 \cell }\pard \intbl
Argument indicates how revised text will be displayed; 0, no properties shown; 1, bold; 2, italic; 3, underline (default); 4, double underline\cell \pard \intbl \row \pard \intbl {\f22 \\revbar}{\i\f22 n}{\f22 \cell }\pard \intbl
Vertical lines mark altered text, based on the argument 0, no marking; 1, Ieft margin; 2 right mugin; 3, outside (Ieft on Ieft pages, right on right pages; default)\cell \pard \intbl \row \pard \par
\pard\plain \s255\sb240 \b\i\f21 Section Formatting Properties{\plain \b\f21 \par
}\pard\plain \f20\fs20 \par
\pard The following control words are used to specify section formatting properties. Default values are shown in parentheses.\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx8640\pard \intbl {\f22 \\sectd\cell }\pard \intbl
Reset to default section properties\cell \pard \intbl \row \pard \intbl {\f22 \\sbknone\cell }\pard \intbl No section break\cell \pard \intbl \row \pard \intbl {\f22 \\sbkcol\cell }\pard \intbl Section break starts new column\cell \pard \intbl \row \pard
\intbl {\f22 \\sbkpage\cell }\pard \intbl Section break starts new page (default)\cell \pard \intbl \row \pard \page \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx2160\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \cellx2160\cellx8640\pard \intbl {\f22 \\sbkeven\cell }\pard
\intbl Section break starts at even page\cell \pard \intbl \row \pard \intbl {\f22 \\sbkodd\cell }\pard \intbl Section break starts at odd page\cell \pard \intbl \row \pard \intbl {\f22 \\pgnstarts}{\i\f22 n}{\f22 \cell }\pard \intbl
Beginning page number (1)\cell \pard \intbl \row \pard \intbl {\f22 \\pgncont\cell }\pard \intbl Continuous page numbering (default)\cell \pard \intbl \row \pard \intbl {\f22 \\pgnrestart\cell }\pard \intbl Page numbers restart at {\f22 \\pgnstarts} value
\cell \pard \intbl \row \pard \intbl {\f22 \\pgndec\cell }\pard \intbl Page number format is decimal\cell \pard \intbl \row \pard \intbl {\f22 \\pgnucrm\cell }\pard \intbl Page number format is uppercase roman numeral\cell \pard \intbl \row \pard \intbl {
\f22 \\pgnlcrm\cell }\pard \intbl Page number format is lowercase roman numeral\cell \pard \intbl \row \pard \intbl {\f22 \\pgnucltr\cell }\pard \intbl Page number format is upper case Ietter\cell \pard \intbl \row \pard \intbl {\f22 \\pgnlcltr\cell
}\pard \intbl Page number format is lower case letter\cell \pard \intbl \row \pard \intbl {\f22 \\pgnx}{\i\f22 n}{\f22 \cell }\pard \intbl Page number is n twips from Ieft margin (720)\cell \pard \intbl \row \pard \intbl {\f22 \\pgny}{\i\f22 n}{\f22
\cell }\pard \intbl Page number is n twips from bottom margin ( 720)\cell \pard \intbl \row \pard \intbl {\f22 \\headery}{\i\f22 n}{\f22 \cell }\pard \intbl Header is n twips from top of page (1080)\cell \pard \intbl \row \pard \intbl {\f22 \\footery}{
\i\f22 n}{\f22 \cell }\pard \intbl Footer is n twips from bottom of page (1080)\cell \pard \intbl \row \pard \intbl {\f22 \\linemod}{\i\f22 n}{\f22 \cell }\pard \intbl Line number modulus (amount to increase each line number) (1)\cell \pard \intbl \row
\pard \intbl {\f22 \\linex}{\i\f22 n}{\f22 \cell }\pard \intbl Distance from line number to left text margin in twips (360)\cell \pard \intbl \row \pard \intbl {\f22 \\linestarts}{\i\f22 n}{\f22 \cell }\pard \intbl Beginning line number (1)\cell \pard
\intbl \row \pard \intbl {\f22 \\linerestart\cell }\pard \intbl Line numbers restart at {\f22 \\linestarts}{\b }value\cell \pard \intbl \row \pard \intbl {\f22 \\lineppage\cell }\pard \intbl Line numbers restart each page\cell \pard \intbl \row \pard
\intbl {\f22 \\linecont\cell }\pard \intbl Line numbers continued from preceding section\cell \pard \intbl \row \pard \intbl {\f22 \\vertalt\cell }\pard \intbl Text is top aligned (default)\cell \pard \intbl \row \pard \intbl {\f22 \\vertal\cell }\pard
\intbl Text is bottom aligned\cell \pard \intbl \row \pard \intbl {\f22 \\vertalc\cell }\pard \intbl Text is centered vertically\cell \pard \intbl \row \pard \intbl {\f22 \\vertalj\cell }\pard \intbl Text is justified vertically\cell \pard \intbl \row
\pard \intbl {\f22 \\cols}{\i\f22 n}{\f22 \cell }\pard \intbl Number of columns (snaking) (1)\cell \pard \intbl \row \pard \intbl {\f22 \\colsx}{\i\f22 n}{\f22 \cell }\pard \intbl Space between columns in twips (720)\cell \pard \intbl \row \pard \intbl {
\f22 \\linebetcol\cell }\pard \intbl Line between columns\cell \pard \intbl \row \pard \intbl {\f22 \\endnhere\cell }\pard \intbl Endnotes included in section\cell \pard \intbl \row \pard \intbl {\f22 \\titlepg\cell }\pard \intbl
Title page has special format\cell \pard \intbl \row \pard \par
\pard\plain \s255\sb240 \b\i\f21 Paragraph Formatting Properties\par
\pard\plain \f20\fs20 {\i \par
}\pard The following control words are used to specify paragraph formatting properties. Default values are shown in parentheses. When specifying border properties, the border segment control word ({\f22 \\brdrt}, {\f22 \\brdrb}, {\f22 \\brdrl}, {\f22 \\
brdrr}, or {\f22 \\box}) must precede the control word(s) specifymg the pattern for the border, to ensure compatibility with previous versions of RTF.\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx1800\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl {\b \row }\trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx1800\clbrdrt\brdrs \cellx8640\pard
\intbl {\f22 \\pard\cell }\pard \intbl Resets to default paragraph properties\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx1800\cellx8640\pard \intbl {\f22 \\s}{\i\f22 n}{\f22 \cell }\pard \intbl
Designates style; if a style is specified style properties must be specified with the paragraph\cell \pard \intbl \row \pard \intbl {\f22 \\ql\cell }\pard \intbl Left aligned (default)\cell \pard \intbl \row \pard \page \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx1800\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx1800\clbrdrt\brdrs \cellx8640\pard \intbl {
\f22 \\qr\cell }\pard \intbl Right aligned\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx1800\cellx8640\pard \intbl {\f22 \\qj\cell }\pard \intbl Justified\cell \pard \intbl \row \pard \intbl {\f22 \\qc\cell }\pard \intbl Centered\cell \pard
\intbl \row \pard \intbl {\f22 \\fi}{\i\f22 n}{\f22 \cell }\pard \intbl First-line indent (0)\cell \pard \intbl \row \pard \intbl {\f22 \\li}{\i\f22 n}{\f22 \cell }\pard \intbl Left indent (0)\cell \pard \intbl \row \pard \intbl {\f22 \\ri}{\i\f22 n}{
\f22 \cell }\pard \intbl Right indent (0)\cell \pard \intbl \row \pard \intbl {\f22 \\sb}{\i\f22 n}{\f22 \cell }\pard \intbl Space before (0){\i \cell }\pard \intbl {\i \row }\pard \intbl {\f22 \\sa}{\i\f22 n}{\f22 \cell }\pard \intbl Space after (0)
\cell \pard \intbl \row \pard \intbl {\f22 \\sl}{\i\f22 n}{\f22 \cell }\pard \intbl Space between lines (if this control word is missing or if {\f22 \\sl000}
is used, line spacing is automatically determined by tallest character in line); if positive value, use this size if it is greater than the tallest character, otherwise use tallest character; if negative value, use the absolute value of number, even if ta
llest character is taller\cell \pard \intbl \row \pard \intbl {\f22 \\intbl\cell }\pard \intbl Paragraph is part of a table\cell \pard \intbl \row \pard \intbl {\f22 \\keep\cell }\pard \intbl Keep paragraph intact\cell \pard \intbl \row \pard \intbl {
\f22 \\keepn\cell }\pard \intbl Keep paragraph with next\cell \pard \intbl \row \pard \intbl {\f22 \\sbys\cell }\pard \intbl Side-by-side paragraphs\cell \pard \intbl \row \pard \intbl {\f22 \\pagebb\cell }\pard \intbl Break page before the paragraph
\cell \pard \intbl \row \pard \intbl {\f22 \\noline\cell }\pard \intbl No line numbering\cell \pard \intbl \row \pard \intbl {\f22 \\tx}{\i\f22 n}{\f22 \cell }\pard \intbl Tab position in twips from left margin\cell \pard \intbl \row \pard \intbl {\f22 \\
tqr\cell }\pard \intbl Flush-right tab\cell \pard \intbl \row \pard \intbl {\f22 \\tqc\cell }\pard \intbl Centered tab\cell \pard \intbl \row \pard \intbl {\f22 \\tqdec\cell }\pard \intbl Decimal tab\cell \pard \intbl \row \pard \intbl {\f22 \\tb\cell
}\pard \intbl Bar tab\cell \pard \intbl \row \pard \intbl {\f22 \\brdrt\cell }\pard \intbl Border top\cell \pard \intbl \row \pard \intbl {\f22 \\brdrb\cell }\pard \intbl Border bottom\cell \pard \intbl \row \pard \intbl {\f22 \\brdrl\cell }\pard \intbl
Border left\cell \pard \intbl \row \pard \intbl {\f22 \\brdrr\cell }\pard \intbl Border right\cell \pard \intbl \row \pard \intbl {\f22 \\box\cell }\pard \intbl Border around paragraph (box paragraph)\cell \pard \intbl \row \pard \intbl {\f22 \\brdrs
\cell }\pard \intbl Single-thickness border\cell \pard \intbl \row \pard \intbl {\f22 \\brdrth\cell }\pard \intbl Thick border\cell \pard \intbl \row \pard \intbl {\f22 \\brdrsh\cell }\pard \intbl Shadowed border\cell \pard \intbl \row \pard \intbl {\f22
\\brdrdb\cell }\pard \intbl Double border\cell \pard \intbl \row \pard \intbl {\f22 \\brdrdot\cell }\pard \intbl Dotted border\cell \pard \intbl \row \pard \intbl {\f22 \\brdrhair\cell }\pard \intbl Hairline border\cell \pard \intbl \row \pard \intbl {
\f22 \\brsp}{\i\f22 n}{\f22 \cell }\pard \intbl Space in twips between borders and object\cell \pard \intbl \row \pard \intbl {\f22 \\tldot\cell }\pard \intbl Leader dots\cell \pard \intbl \row \pard \intbl {\f22 \\tlhyph\cell }\pard \intbl Leader hyphens
\cell \pard \intbl \row \pard \intbl {\f22 \\tlul\cell }\pard \intbl leader underline\cell \pard \intbl \row \pard \intbl {\f22 \\tlth\cell }\pard \intbl leader thick line\cell \pard \intbl \row \pard {\i \page \par
}\pard\plain \s255\sb240 \b\i\f21 Absolute-Positioned Objects\par
\pard\plain \f20\fs20 {\i \par
}These paragraph formatting control words specify the location of the paragraph on the\par
page.\par
\par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx1800\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx1800\clbrdrt\brdrs \cellx8640\pard \intbl {
\f22 \\posx}{\i\f22 n}{\f22 \cell }\pard \intbl Positions paragraph n twips from left edge of reference frame\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx1800\cellx8640\pard \intbl {\f22 \\posxc\cell }\pard \intbl
Centers paragraph horizontally within reference frame\cell \pard \intbl \row \pard \intbl {\f22 \\posxi\cell }\pard \intbl Positions paragraph horizontally inside reference frame\cell \pard \intbl \row \pard \intbl {\f22 \\posxl\cell }\pard \intbl
Positions paragraph to left within reference frame\cell \pard \intbl \row \pard \intbl {\f22 \\posxo\cell }\pard \intbl Positions paragraph horizontally outside reference frame\cell \pard \intbl \row \pard \intbl {\f22 \\posxr\cell }\pard \intbl Positions
paragraph to right within reference frame\cell \pard \intbl \row \pard \intbl {\f22 \\posy}{\i\f22 n}{\f22 \cell }\pard \intbl Positions paragraph n twips from top edge of reference frame\cell \pard \intbl \row \pard \intbl {\f22 \\posyil\cell }\pard
\intbl Positions paragraph vertically to be in-line\cell \pard \intbl \row \pard \intbl {\f22 \\posyt\cell }\pard \intbl Positions paragraph at top of reference frame\cell \pard \intbl \row \pard \intbl {\f22 \\posyc\cell }\pard \intbl
Centers paragraph vertically within reference frame\cell \pard \intbl \row \pard \intbl {\f22 \\posyb\cell }\pard \intbl Positions paragraph at bottom of reference frame\cell \pard \intbl \row \pard \intbl {\f22 \\absw}{\i\f22 n}{\f22 \cell }\pard \intbl
Absolute width of paragraph text in twips\cell \pard \intbl \row \pard \intbl {\f22 \\dxfrtext}{\i\f22 n}{\f22 \cell }\pard \intbl Horizontal distance in twips of an absolutely postioned paragraph from text in main text flow\cell \pard \intbl \row \pard
\intbl {\f22 \\pvmrg\cell }\pard \intbl Position vertically relative to margin\cell \pard \intbl \row \pard \intbl {\f22 \\pvpg\cell }\pard \intbl Position vertically relative to page\cell \pard \intbl \row \pard \intbl {\f22 \\phmrg\cell }\pard \intbl
Position horizontally relative to margin\cell \pard \intbl \row \pard \intbl {\f22 \\phpg\cell }\pard \intbl Position horizontally relative to page\cell \pard \intbl \row \pard \intbl {\f22 \\phcol\cell }\pard \intbl
Position horizontally relative to column\cell \pard \intbl \row \pard \ri4896\tx2448 \par
\pard The following is an example of absolute-positioned text in a document\par
\par
\pard\plain \s3 \f22\fs20 \'c9\par
\pard \s3 \\par \\pard \\pvpg\\phpg\\posxc\\posyt\\absw5040\\dxfrtextl73 {\ul abs} {\ul pos} {\ul paral}\par
\\par \\pard \\phmrg\\posxo\\posyc \\dxfrtext1 152 {\ul abs} {\ul pos} {\ul para2}\par
\pard \s3 \par
\'c9\par
\pard\plain \f20\fs20 \par
{\i A Text to be positioned\par
\par
}\pard\plain \s255\sb240 \b\i\f21 Tables{\plain \b\f21 \par
}\pard\plain \f20\fs20 {\i \par
}\pard A table is a collection of paragraphs. A table row is a continuous sequence of paragraphs partitioned into cells. The last paragraph of a cell is terminated by a cell mark (the {\f22 \\cell}
control word), and the row is terminated by a row mark (the {\f22 \\row} control word) There is no RTF table group; the {\f22 \\intbl} paragraph formatting control word identifies the paragraph as part of a table.\par
\pard \tqc\tx720\tqc\tx1440\tqc\tx2160\tqc\tx2880\tqc\tx0 \page \par
\pard {\i \par
}\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx1800\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx1800\clbrdrt\brdrs \cellx8640\pard \intbl {
\f22 \\clbrdrb\cell }\pard \intbl Bottom table cell border\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx1800\cellx8640\pard \intbl {\f22 \\clbrdrt\cell }\pard \intbl Top table cell border\cell \pard \intbl \row \pard \intbl {\f22 \\clbrdrl
\cell }\pard \intbl Left table cell border\cell \pard \intbl \row \pard \intbl {\f22 \\clbrdrr\cell }\pard \intbl Right table cell border\cell \pard \intbl \row \pard \intbl {\f22 \\trowd\cell }\pard \intbl Sets table row defaults\cell \pard \intbl \row
\pard \intbl {\f22 \\trql\cell }\pard \intbl Left justifies table row with respect to its table column\cell \pard \intbl \row \pard \intbl {\f22 \\trqr\cell }\pard \intbl Right justifies table row with respect to its containing column\cell \pard \intbl
\row \pard \intbl {\f22 \\trqc\cell }\pard \intbl Centers table row with respect to its containing column\cell \pard \intbl \row \pard \intbl {\f22 \\trgaph}{\i\f22 n}{\f22 \cell }\pard \intbl Half the space between cells of a table row in twips\cell
\pard \intbl \row \pard \intbl {\f22 \\trrh}{\i\f22 n}{\f22 \cell }\pard \intbl
Height of a table row in twips; when 0, height is sufficient for all text in line; when positive, height is guaranteed to be at least the specified height; when negative, the absolute value of the height is used, regardless of the height o
f the text in the line\cell \pard \intbl \row \pard \intbl {\f22 \\trleft}{\i\f22 n}{\f22 \cell }\pard \intbl Position of Ieftmost edge of table with respect to the left edge of its column\cell \pard \intbl \row \pard \intbl {\f22 \\cellx}{\i\f22 n}{\f22
\cell }\pard \intbl Moves the right boundary of a table cell, including its half of the space between cells\cell \pard \intbl \row \pard \intbl {\f22 \\clmgf\cell }\pard \intbl The first cell in a range of table cells to be merged\cell \pard \intbl \row
\pard \intbl {\f22 \\clmrg\cell }\pard \intbl Contents of table cell are merged with preceding cell\cell \pard \intbl \row \pard \par
The following example shows some table text\:\par
\par
\pard\plain \s3 \f22\fs20 \'c9\par
\\par\\trowd\\trqc\\trgaph108\\trrh280\\trleft36\par
\\clbrdrt\\brdrth\\clbrdrn\\brdrth\\clbrdrb\\brdrdb\par
\\clbrdr\\brdrdb\\celbx3636\\clbrdrt\\brdrth\par
\\clbrdrl\\brdrdb \\clbrdrb\\brdrdb \\dbrdrr\\brdrdb\par
\\cellx7236\\clbrdrt\\brdrth\\dbrdrl\\brdrdb\par
\\clbrdrb\\brdrdb\\clbrdr\\brdrdb\\cellx10836\\pard \\intbl\par
\\cell \\pard \\intbl \\cell \\pard \\intbl \\cell \\pard \\intbl \\row\par
\\trowd \\trqc\\trgaph108\\trrh280\\trleft36 \\dbrdrt\\brdrdb\par
\\clbrdrl\\brdrth \\clbrdrb \\brdrsh\\brdrs \\dbrdrr\\brdrdb\par
\\cellx3636\\clbrdr\\brdrdb \\dbrdr\\brdrdb\par
\\clbrdrb\\brdrsh\\brdrs \\dbrdrr\\brdrdb\par
\\cellx7236\\clbrdrt \\brdrdb \\dbrdr \\brdrdb\par
\\clbrdrb\\brdrsh\\brdrs \\clbrdrr\\brdrdb \\celbx10836\\pard\par
\\intbl \\cell \\pard \\intbl \\cell \\pard \\intbl \\cell \\pard\par
\\intbl \\row \\pard\par
\'c9\par
\pard\plain \tqc\tx720\tqc\tx1440\tqc\tx2160\tqc\tx2880\tqc\tx0 \f20\fs20 \par
\pard \tqc\tx720\tqc\tx1440\tqc\tx2160\tqc\tx2880\tqc\tx0 \page \par
\pard\plain \s255\sb240 \b\i\f21 {\plain \b\f21 Character Formatting Properties\par
}\pard\plain \f20\fs20 {\i \par
}\pard
The last group controls character formatting properties. A control word preceding plain text turns on the specified attribute. Some control words (indicated by an asterisk following the description) can be turned off by the control word followed by a zero
(0). For example, {\f22 \\b} turns bold on, while {\f22 \\b0} turns bold off.\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx1800\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \cellx1800\cellx8640\pard \intbl {\f22 \\plain\cell }\pard \intbl
Resets application's default character formatting properties\cell \pard \intbl \row \pard \intbl {\f22 \\b\cell }\pard \intbl Bold*\cell \pard \intbl \row \pard \intbl {\f22 \\i\cell }\pard \intbl Italic*\cell \pard \intbl \row \pard \intbl {\f22 \\strike
\cell }\pard \intbl Strikethrough*\cell \pard \intbl \row \pard \intbl {\f22 \\outl\cell }\pard \intbl Outline*\cell \pard \intbl \row \pard \intbl {\f22 \\shad\cell }\pard \intbl Shadow*\cell \pard \intbl \row \pard \intbl {\f22 \\scaps\cell }\pard
\intbl Small capitals*\cell \pard \intbl \row \pard \intbl {\f22 \\caps\cell }\pard \intbl All capitals*\cell \pard \intbl \row \pard \intbl {\f22 \\v\cell }\pard \intbl Hidden text*\cell \pard \intbl \row \pard \intbl {\f22 \\f}{\i\f22 n}{\f22 \cell
}\pard \intbl Font number\cell \pard \intbl \row \pard \intbl {\f22 \\fs}{\i\f22 n}{\f22 \cell }\pard \intbl Font size in half-points (default is 24)\cell \pard \intbl \row \pard \intbl {\f22 \\expnd}{\i\f22 n}{\f22 \cell }\pard \intbl
Expansion or compression of leading between characters in quarter-points; a negative value compresses (0)\cell \pard \intbl \row \pard \intbl {\f22 \\ul\cell }\pard \intbl Continuous underline*\cell \pard \intbl \row \pard \intbl {\f22 \\ulw\cell }\pard
\intbl Word underline*\cell \pard \intbl \row \pard \intbl {\f22 \\uld\cell }\pard \intbl Dotted underline*\cell \pard \intbl \row \pard \intbl {\f22 \\uldb\cell }\pard \intbl Double underline*\cell \pard \intbl \row \pard \intbl {\f22 \\ulnone\cell
}\pard \intbl Stops all underlining\cell \pard \intbl \row \pard \intbl {\f22 \\up}{\i\f22 n}{\f22 \cell }\pard \intbl Superscript position in half-points (default is 6)\cell \pard \intbl \row \pard \intbl {\f22 \\dn}{\i\f22 n}{\f22 \cell }\pard \intbl
Subscript position in half-points (default is 6)\cell \pard \intbl \row \pard \intbl {\f22 \\revised\cell }\pard \intbl Text has been added since revision marking was turned on\cell \pard \intbl \row \pard {\i \par
}\pard\plain \s255\sb240 \b\i\f21 Special Characters{\plain \b\f21 \par
}\pard\plain \f20\fs20 {\i \par
}\pard
Special RTF characters are listed below. If a character is not recognized by the RTF reader, it is ignored and the text following it is considered plain text. The RTF specification is flexible enough to allow new characters to be added for interchange with
other software.\par
\pard \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx1800\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning}{\b\i \cell }\pard \intbl {\i \row }\trowd \trgaph80\trleft-80 \clbrdrt\brdrs \cellx1800\clbrdrt\brdrs \cellx8640
\pard \intbl {\f22 \\chdate\cell }\pard \intbl Current date (as in headers)\cell \pard \intbl \row \trowd \trgaph80\trleft-80 \cellx1800\cellx8640\pard \intbl {\f22 \\chtime\cell }\pard \intbl Current time (as in headers)\cell \pard \intbl \row \pard
\intbl {\f22 \\chpgn\cell }\pard \intbl Current page number (as in headers)\cell \pard \intbl \row \pard \intbl {\f22 \\chftn\cell }\pard \intbl Automatic footnole reference (footnotes follow in a group)\cell \pard \intbl \row \pard \intbl {\f22 \\chatn
\cell }\pard \intbl Annotion reference (annotation text follows in a group)\cell \pard \intbl \row \pard \intbl {\f22 \\chftnsep\cell }\pard \intbl Anchoring character for footnote separator\cell \pard \intbl \row \pard \page \par
\trowd \trgaph80\trleft-80 \clbrdrb\brdrs \cellx1800\clbrdrb\brdrs \cellx8640\pard \intbl {\b Control word\cell }\pard \intbl {\b Meaning\cell }\pard \intbl \row \trowd \trgaph80\trleft-80 \cellx1800\cellx8640\pard \intbl {\f22 \\chftnsepc\cell }\pard
\intbl Anchoring character for footnote continuation\cell \pard \intbl \row \pard \intbl {\f22 \\|\cell }\pard \intbl Formula character\cell \pard \intbl \row \pard \intbl {\f22 \\~\cell }\pard \intbl Nonbreaking space\cell \pard \intbl \row \pard \intbl
{\f22 \\-\cell }\pard \intbl Optional hyphen\cell \pard \intbl \row \pard \intbl {\f22 \\_\cell }\pard \intbl Nonbreaking hyphen\cell \pard \intbl \row \pard \intbl {\f22 \\'}{\i\f22 hh}{\f22 \cell }\pard \intbl
A hexadecimal value, based on the specified character set (may be used to identify 8-bit values)\cell \pard \intbl \row \pard \intbl {\f22 \\cell\cell }\pard \intbl End of table cell\cell \pard \intbl \row \pard \intbl {\f22 \\row\cell }\pard \intbl End
of table row\cell \pard \intbl \row \pard \intbl {\f22 \\par\cell }\pard \intbl End of paragraph\cell \pard \intbl \row \pard \intbl {\f22 \\sect\cell }\pard \intbl End of section and paragraph\cell \pard \intbl \row \pard \intbl {\f22 \\page\cell
}\pard \intbl Required page break\cell \pard \intbl \row \pard \intbl {\f22 \\column\cell }\pard \intbl Required column break\cell \pard \intbl \row \pard \intbl {\f22 \\line\cell }\pard \intbl Required line break (no paragraph break)\cell \pard \intbl
\row \pard \intbl {\f22 \\tab\cell }\pard \intbl Tab character, same as ASCII 9\cell \pard \intbl \row \pard \intbl {\f22 \\\:\cell }\pard \intbl Specifies a subentry in an index entry\cell \pard \intbl \row \pard \intbl {\f22 \\*\cell }\pard \intbl
Marks a destination whose text should be ignored if not understood by the RTF reader\cell \pard \intbl \row \pard \par
\pard An ASCII 9 will be accepted as a tab character. The code {\f22 \\<ASCII10>} (line feed) or {\f22 \\<ASCIIl3>} (carriage return) is treated as the control word {\f22 \\par}. You must incl
ude the backslashes or RTF will ignore the control word. You may also want to insert a carriage-return-line-feed pair (without backslashes) at least every 255 characters for better text transmission over communication lines.\par
\pard \tqc\tx720\tqc\tx1440\tqc\tx2160\tqc\tx2880\tx0 \par
}
\ No newline at end of file diff --git a/obsolete/info/figsinltx.ps b/obsolete/info/figsinltx.ps new file mode 100644 index 0000000000..c024ba6491 --- /dev/null +++ b/obsolete/info/figsinltx.ps @@ -0,0 +1,7064 @@ +%!PS-Adobe-2.0 +%%Creator: dvips 5.528 Copyright 1986, 1994 Radical Eye Software +%%Title: figsInLatex.dvi +%%CreationDate: Mon Jul 11 15:47:41 1994 +%%Pages: 15 +%%PageOrder: Ascend +%%BoundingBox: 0 0 612 792 +%%DocumentFonts: Times-Roman Times-Italic Times-Bold Courier +%%EndComments +%DVIPSCommandLine: dvips figsInLatex.dvi +%DVIPSParameters: dpi=300, comments removed +%DVIPSSource: TeX output 1994.07.11:1547 +%%BeginProcSet: tex.pro +/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N +/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 +mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} +ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale +isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div +hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul +TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get +round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ +statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 +0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn +begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X +array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo +setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx +FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ +pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} +B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup +length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B +/ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type +/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp +0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 +index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff +ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice +ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ +ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn +/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 +sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D +}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 +moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add +.99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage +userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook +known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X +/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for +65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 +0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V +{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 +getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} +ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley +false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley +scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave +transform round exch round exch itransform moveto rulex 0 rlineto 0 +ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta +0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} +B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ +3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p +-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ +3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end +%%EndProcSet +%%BeginProcSet: texps.pro +TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 +index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont /setfont load]cvx def}def +/ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def +/ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def +end +%%EndProcSet +%%BeginProcSet: special.pro +TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N +/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen +false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B +/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit +div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ +/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ +10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B +/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale +true def end /@MacSetUp{userdict /md known{userdict /md get type +/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup +length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} +N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath +clippath mark{transform{itransform moveto}}{transform{itransform lineto} +}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ +itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ +closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 +0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N +/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 +scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get +ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip +not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 +TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR +pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 +-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg +TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg +sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr +0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add +2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp +{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 +div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} +N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict +maxlength dict begin /magscale false def normalscale currentpoint TR +/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts +/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx +psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy +scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR +/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict +begin /SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial +{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath +}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ +end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} +N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ +/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX +SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X +/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad +yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end +%%EndProcSet +TeXDict begin 40258431 52099146 1000 300 300 +(/source2/tex_documents/figsInLatex/figsInLatex.dvi) +@start /Fa 133[27 27 27 27 27 27 27 27 27 1[27 27 27 +27 27 1[27 27 27 27 27 27 27 27 27 27 1[27 1[27 27 27 +2[27 2[27 27 27 2[27 27 27 27 27 27 1[27 1[27 27 27 3[27 +2[27 27 1[27 27 7[27 1[27 27 27 27 27 1[27 27 27 3[27 +27 35[{}58 45.624989 /Courier rf /Fb 1 52 df<07C01FF03878303C783E7C1E7C +1E7C3E103E003C0038007007E007C00070003C003E001E001F001F701FF81FF81FF81EF0 +1E603C38781FF007C0101D7E9B15>51 D E /Fc 148[36 5[36 3[36 +19[36 77[{}4 59.999973 /Courier rf /Fd 137[10 10 6 8 +7 5[6 2[6 3[9 1[9 1[9 12[13 12 4[15 7[12 18[10 10 10 +49[{}17 20.833334 /Times-Roman rf /Fe 134[12 2[12 12 +7 10 8 12 1[12 12 19 7 2[7 2[8 11 12 2[11 14[17 18 4[15 +10[18 65[{}20 25.000000 /Times-Roman rf /Ff 135[17 2[17 +9 13 11 2[17 17 2[17 1[9 17 1[11 15 17 2[15 12[20 18 +22 24 1[24 24 4[11 1[24 1[20 2[22 24 13[17 17 17 49[{}28 +33.333332 /Times-Roman rf /Fg 135[19 2[19 10 15 12 2[19 +19 29 10 2[10 19 19 1[17 19 17 1[17 13[21 25 1[21 6[12 +2[21 4[27 65[{}22 37.500000 /Times-Roman rf /Fh 81[23 +52[21 1[30 21 21 12 16 14 1[21 21 21 32 12 21 1[12 21 +21 14 18 21 18 21 18 9[39 2[25 3[23 9[23 23[10 6[14 4[17 +34[{}30 41.666668 /Times-Roman rf /Fi 135[25 25 25 1[25 +25 25 1[25 25 25 25 3[25 2[25 25 25 25 1[25 4[25 44[25 +47[{}18 41.666668 /Courier rf /Fj 3 52 df<06001E00FE00EE000E000E000E000E +000E000E000E000E000E000E000E000E000E007FE07FE00B137E9211>49 +D<1F007FC0F9E0F8E0F8F07070007000F000E001C001C0038006000C30183030707FE0FF +E0FFE00C137E9211>I<0FC03FE03870787878383878007000F00FC00FC000700038703C +F83CF83CF83870783FF01FC00E137F9211>I E /Fk 2 51 df<03000F00FF00F7000700 +070007000700070007000700070007000700070007000700070007007FF07FF00C157E94 +12>49 D<1F803FE071F0F8F0F878F87870780078007800F000E001C0038007000E000C18 +181830387FF0FFF0FFF00D157E9412>I E /Fl 190[35 65[{}1 +47.999954 /Times-Roman rf /Fm 167[43 3[37 7[37 6[37 69[{}4 +59.999973 /Times-Roman rf /Fn 81[33 52[30 1[43 1[33 20 +23 27 1[33 30 33 50 17 33 1[17 33 30 20 27 33 27 33 30 +10[43 43 2[43 2[47 1[56 40 2[23 3[40 3[43 9[30 30 30 +30 30 30 30 4[15 44[{}39 59.999973 /Times-Bold rf /Fo +60[30 69[30 30 30 1[30 30 30 30 30 30 30 30 1[30 30 30 +30 30 30 1[30 30 30 30 30 30 30 30 30 1[30 1[30 30 30 +30 1[30 1[30 5[30 3[30 2[30 1[30 30 2[30 2[30 1[30 30 +2[30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2[30 30 +2[30 37[{}61 50.000000 /Courier rf /Fp 1 14 df<00007FC000000003FFF80000 +000F803E0000003C0007800000700001C00000C000006000018000003000030000001800 +060000000C000C00000006000C0000000600180000000300180000000300300000000180 +3000000001806000000000C06000000000C06000000000C0C00000000060C00000000060 +C00000000060C00000000060C00000000060C00000000060C00000000060C00000000060 +C00000000060C00000000060C000000000606000000000C06000000000C06000000000C0 +3000000001803000000001801800000003001800000003000C00000006000C0000000600 +060000000C0003000000180001800000300000C00000600000700001C000003C00078000 +000F803E00000003FFF8000000007FC000002B2F7DA332>13 D E +/Fq 80[28 28 52[25 1[36 25 28 17 19 22 1[28 25 28 41 +14 28 1[14 28 25 17 22 28 22 28 25 3[17 1[17 2[36 50 +1[36 33 28 2[30 39 1[47 33 2[19 1[39 30 33 36 36 1[36 +7[25 25 25 1[25 25 25 25 25 2[12 17 12 44[{}53 50.000000 +/Times-Bold rf /Fr 81[25 52[22 22 33 22 25 14 19 19 1[25 +25 25 36 14 22 1[14 25 25 14 22 25 22 25 25 8[30 41 30 +36 28 25 30 1[30 36 33 41 28 2[17 1[36 30 30 36 33 1[30 +6[17 1[25 6[25 1[14 12 17 5[17 39[{}50 50.000000 /Times-Italic +rf /Fs 165[24 5[24 1[27 2[29 13[29 65[{}5 39.999962 /Times-Roman +rf /Ft 80[28 28 51[22 25 25 36 25 25 14 19 17 25 25 25 +25 39 14 25 14 14 25 25 17 22 25 22 25 22 3[17 1[17 30 +36 36 47 36 36 30 28 33 1[28 36 36 44 30 36 19 17 36 +36 28 30 36 33 33 36 46 4[14 14 25 25 25 25 25 25 25 +25 25 25 14 12 17 12 2[17 17 17 39[{}75 50.000000 /Times-Roman +rf /Fu 190[50 65[{}1 69.133308 /Times-Roman rf /Fv 138[43 +24 1[29 3[43 4[24 1[43 1[38 43 38 1[38 8[62 3[53 3[48 +3[53 5[48 53 29[29 39[{}17 86.416687 /Times-Roman rf +end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 300dpi +TeXDict begin + +%%EndSetup +%%Page: 0 1 +0 0 bop 407 62 a Fv(Figure'ing)21 b(and)h(Picture'ing)f(L)1364 +50 y Fu(A)1401 62 y Fv(T)1440 89 y(E)1481 62 y(X)403 +126 y Ft(Combining)11 b(te)o(xt,)i(\256gures,)g(and)f(images)h(in)f(a)g +(L)1234 119 y Fs(A)1255 126 y Ft(T)1277 142 y(E)1303 +126 y(X)g(document)951 662 y Fr(by)812 676 y + 5328321 7104430 0 0 9998827 13156352 startTexFig + 812 676 +a +%%BeginDocument: face.ps +save +15 dict begin +/xpoints 152 def +/ypoints 200 def +/xpixels 210 def +/ypixels 277 def +/rasterbytes 210 def +/bitspercomponent 8 def +/xunits xpixels xpoints div def +/yunits ypixels ypoints div def +/coords [xunits 0 0 yunits neg 0 ypixels] def +/picstr rasterbytes string def +/readimage { currentfile picstr readhexstring pop } def +xpixels ypixels bitspercomponent coords /readimage load +image +F6F7F8F7F3EDECECEDEDEDECECEAEBE9EAE9E9E9E7EAE9EBE9E7E9E7E6E7E6E6E4E4E5E6E4 +E7E5E6E7E5E6E5E6E4E2E3E4E5E3E4E0E3E5E3E4DEE2E0E0DFE0DCDDE2DFDCDCDBD9DBDFDF +D9D5D6DBDBD2D6D6D2D5D1D2D5D6D2D0D1D2D2D1CFD0D1D1D1D2D2D1CFCECBCFD0CBCACFD4 +CCC7C9D0CCC8CBC9C8C8C7C5C5C9CEC8C4C0BCC2C4C5C3BEBBBEC1C1BEBBC0C0BCB7BBB7BB +B8B7BCB8B6B5B6BDBAB0B4B1B0AEB5B4B1B0B5B4AEA9AAAEA8A8A5A7AAAAA8A5A8A8A3A1A5 +A3A1A1A6A5A6A5A89C9DA0A09D9BA3A5999B999892949293D4 +F4F3F4F3D15A535858525756534F51514E4B504E504E535552514F4C4B4C494E4947494B4A +514A4C4E494A4B504B494A4A4B494B44474A4548444A45444447424345434342423E424343 +413E3F42413D3E423F3E3E3E4242423E413E3E4343423F3F424143413F3F3F42434143423F +41414241413F413F3E3D3E3F3E3E413E3E3C3C3D3C3C3E3C3E3D3F3D3E3D3D3D3D3B3E3E3C +3A3C3C3C3B3A3B3D3838383636353435353536343535343735343434353635343636383637 +33353535363534333131343330313131303130312F313037AE +F3F2F2F1BD37312E2E2D2D2B2D2B2B2B2E2B2E2E2E2D2E2E2E2E2D2D2E2E2E2D2F2E2E2E2E +2E2E2E2F302F33333433333133313333313331333433333334333331333333332F33303334 +3333332F3133333336373534363634353334343134353536343535373537383B3837383735 +3837373A353B3A383637383837333535333533353638363437373736383535343436343434 +343534353433333330302F302E2F302E2E2E2F2E2F2E2F2F2F30312E2E302F2F2F30312E2F +2E2E2E2D2F2D2E2B2D2B2E2B2D2D2D2E2B2D2B2B2D2E2D31AC +F3F2F2EDBB36302E2B2A2A2A292A2A2A2A2A2B2A2A2B2A2D2A2B2B2B2D2D2B2A2D2D2D2B2D +2D2B2D2E2E2E2F30302E2E2F2F2E2E2F30312F332F3531333333313131302E302E2F313030 +3031312F2F2F31343133333434343133343131333335363531313333353634363734363433 +36373338363635353534343434313436333333353435353437373531343433333433333330 +313133312F30302F2E2E2D2D2E2E2D2D2D2E2D2E2E2D2D2E2D2E2E2E2E2E2D2B2E2E2D2E2E +2B2B2D2B2D2B29292A292B2B2B282A2B2A2A2A28282A2B33B0 +F3F2F2EDBA372F2E2B29292728292A2928292A2A2A2A2A2A282A2B2A2B2A292A2B2A2D2D2B +2D2B2E2D302E2E2E302E2F30302F2E2D2F30302E2F3130303434312F3130302F2E2F302F30 +3033312F303334333331343333333331333033313336333534353435333333373536363636 +3735353738363434363535343335353634343434353635333A353534313133313433333331 +312F2F312E2F2F2E2F2D2D2E2D2E2E2E2E2F2D2E2F2E2E2D2D2B2D2E2D2D2E2E2D2D2E2E2E +2D2E2E2D2D2A2B2B2B2B2A2B292A2A2B2A2B2B2A282A2A33B0 +F2F2F3EDBD37312F2E2A2A2A292A29292A2D29292A282B2A2B2B2A2A2D2A2A2B2B2B2B2E2D +2E2D2E2F2E302F2E302F2F2F302E2F2F30313130303030303134313334302E2F3131302F2F +30333331313135343534313031333334313031333334313435333535333336373636353738 +3A37373835373B353634353433353535363536373638363736343433343433343433343331 +333031303033302F2E2F2F2F2F302F2E2F3030312F2F2E2E2E2B2D2E2E2E2F2F302D2E2E2E +2E2D2E2B2E2B2D2B2A292B2A292A2A282B29292A2A2A2B31A9 +F3F2F2EDC33A34302F2D29292A2A2A2B2A2B2A2A2A2A29292A2A2A2A2A2A2A2D2D2D2D2E2E +2E2E2E2E2F313030302F2F2E2F303030312F2F31302F30302F313134333030313434313133 +33343433353635353636343433363534333331333533333535353635353435373536363738 +38383738353637343537363637353436373637363738383A36363434343135343434343333 +30303333303334302F2F2F2F2F2F2F2F303034312F302E302D2E2D2D2E2F2F302F2F2E2E30 +2E2F2D2D2E2D2D2B2B292B2A2929292A2A2A2B2A2A2A2A31A0 +F2F2F2ECCC3B33312F2B2B2B2B2B2B2B2A2D2B2B2A292929292A2A2A2B2B2B2B2D2D2D2E2E +2E2D2F2F2E302F303030302F2F30303030302F2F2F2E303331303330303133303133313334 +36343334353537353434353434343433343533333130343433353734333335343635363B38 +3A3A3B3C36363836363735363735363835383B383C3A3A3536343534363336343535333331 +31313130303131313030302E302F2E2F30303130302F2F2F2E2E2E2E2E2F2E2F2E2E30312F +2E2D2E2F2D2D2D2A2B2B2E2D2B2B2A2B2B2A2B2A2B2A2E319D +F2F2F1EDCA3D34302E2B2A2B2A2A2B2D2B2A2A2929292A29292A2A2B2B2B2B2B2D2B2E2E2E +2F2F2E2E2F2F30303131312F30303130302F2F302E2E2F3033313133333034333133333435 +35333335333537363535353535353534363433333033343434333535343535343835373A3B +3C3A3A3B3A3B3B373A36363737373B3A3B3A3B3C3A3C3B36353A3636373735333535333434 +3531312F2F31313331313130302F2F2F2E2F2F33313030302F2F2F2E2E2E2E2F2E2F2F302F +2F302E2E2E2E2D2B2D2D2E2D2B2B2B2D2B2B2A2A2B2D2E31A5 +F3F3F2ECC33A33312F2B2B2B2D2A2D2D2D2B292929292A2B292B2A2A2B2D2D2D2D2E2E2E2D +2D2D2E2E2E3031313333313030303033313030302F30303031333131313130343534353536 +34343535353737363637353636353734363536343535353434373737373736363B37373A3B +3B3E3B3B3B3B3B3A3B3A38383B3B3A383C3C3A3B3B3B3B3B3A373B35373836363534313433 +313130313333333433313433313030332F2F30312F2F302F31302F2D2F2E2F302F2F30302F +2E2E2E2E2E2E2D2E2D2B2D2D2B2B2A2D2D2E2D2A2B2D2E33A9 +F3F2F2EDC43B34312F2B2D2E2D2D2D2B2B2D2B2B2A2B2B2D2B2B2B2E2D2D2D2D2E2D2B2E2E +2F2F2F2F2F2F3033343131333431313333303031302F303033333434343334343736373B3A +3A363837363837373B35343636373536363536343637373635363736373736383A383C3B3C +3B3E3C3C3C3C3C3C3B3B383B3B3B3B3C3D3C3D3E3D3A3B3A3A373B3A363735353535313334 +333334333533343431333431343334333030312F2E3330312F302F3030302E2F302F2F2F2F +2E2F302F2E2E2E2E2E2D2D2D2E2F2E2E2D2B2B2B2B2E3033AA +F2F2F2EDC93D3433302F2D2B2D2D2E2D2E2D2B2B2A2D2E2D2D2D2D2D2D2E2E2D2D2E2E2F30 +2D2F2F2F2F31333133313331343334333334313331333330313435333533343637363A3A3A +3A383B383B363B383B37383738383835353537373A3B3636383637383536363638383D3D3C +3C3C3B3B3C3C3C3B3B3B3B3B3B3B3B3C3B3B3C3B3C3E3B3B3C3B3B383A3634363534353431 +35343431353434333333333334333131333331302F312F3130303330302E2F2E2E2F2F2F30 +302F2F2E2F2E2F2E2E2E2B2D2F2E2F2E2D2E2D2D2D2E2E35A6 +F2F2F1EFD03F3433312E2B2A2B2D2B2E2E2B2E2E2E2D2D2B2E2D2E2D2D2E2E2E2E3031312E +3030302F33343434363433343333333434353333333333313431313436333636353A37383B +3A3A3A3B3B3A3B3C3A3B3B3A3B3B3B3A383638373B3B37373A3B3A38363837383B3B3B3D3D +3C3C3C3D3D3E3C3D3B3B3E3C3C3B3D3C3C3C3C3C3B3D3B3B3B3B3A383A3636353535353634 +35353536353535333334333333303031313033303030313333313130302E2E2F2F2F2F2E2F +2F2E2E2E2F2E2F2E302D2E2E2E2E2E2E2E2D2B2D2E2E2F33A2 +F3F0F2F0CE3D3333302E2B2A2A2D2B2D2D2E2D2E2D2D2D2D2E2F2E2E2E2F2E2F3130313131 +313131333534343434333034333435353434313133313334313030313435373A3B3B3A3A3B +3B3C3C3C3C3B3E3C3C3B3C3B3B3A3B383A383A383A3C3A3B3A3B3A3B3637373B3C3B3C3C3D +3E3F3C3C3E3D3E3E3E3E3F3C3C3D3D3E3D3D3C3C3C3C3C3B3A3B3C373A3836363636353435 +3735363636373333343333313331303031303330303130313331343330302F30302F2E2F2F +302F2F2E2F2E2F2E2F2D2E2E2B2D2D2A2D2D2D2D2E2E2E33A1 +F3F1F2EFC93E3433302E2B2D2D2D2D2E2D2E2D2E2E2E2F302F2E2F2F2F3131303033303030 +333334353436353333363334343434353435313333303431333533333438363A3A3B3A3A3B +3C3A3B3C3F3D3D3C3E3E3C3B3B3B3A3B3C3A3C3B3B3E3D3B3B3B3A3B3B3B383B3B3B3E3F3C +3E3F3D3F3F3F3F3E3F3F3F3E3E3E3D3C3E3D3C3C3C3F3B3B3A3A3B383A3737363736353537 +37353536343634363434313134343133343133313331302F333033312F2F2F30332E2F2E2E +2F302F2F302F2D2E2E2E2E2D2B2D2E2B2D2D2B2B2E2E2F36A6 +F3F2F2EDC83D3533302D2E2F2E2E2F2F2E2F2E2F2E2F302F332F303131332F302F33313335 +333333343435363434363435363435363534353433313033343434363737383A3B3A38383A +3B3B3C3F3F3E3C3F3C3E3B3C3B3D3B3C3C3B3D3D3C3E3C3C3B3C3D3C3C3C3C3C3E3D3F3E3F +3F3E3F41413F3F3F3F413F3E3F3E3F3D3E3F3E3C3E3E3C3D3C3C3B3A3A3838373B36363636 +3636353435363535343333303534313131313330303331332F3131302F2F3030302F2F2E2E +2F302E2F302F2E2E2E2D2B2B2D2D2B2B2D2E2D2D2D2E3036A8 +F2F4F3EDCC3E3533302E2E2F2F2E2F312F2F2E30312F2E2F333030333333332F3333343434 +3534363837373535353536363434363836343435333333343537363636383B3C3A3A38383C +3C3C3D3E3F3E3E3E3E3F3E3F3E3E3C3F3D3E3E3D3D3F3D3C3D3D3D3F3D3D3F3E3C3E3F3F3F +3E3C3F42413F42413F413F3E3E3F3F3F3F3F413F3E3C3C3C3E3B3A3A38373A3B3B3A383738 +3735363534353434333334333434313134333334333435342F313131302E2F2F2F2E2F2E2F +2F302F302F2E2F2D2D2E2E2D2D2B2B2D2E2D2B2D2E2E3035A9 +F2F2F2EFD13F343333302E2E2E2F2F2F2F302F2F31302E3131303133343434333535363536 +36353636353436363536363736373637363533353333333334353735383A3B3B383B3B3C3C +3C3D3F3E3C3C3F3F3F3E3F3D3C3C3D3E3E3E3E3E3E3F3E3F3D3F3F3E3F4C51443A383B3C3F +413F3F44423F433F434341413F3F4141413F423F3F3F3E3D3E3B3B3B3B383A3B3C3B3A3B3A +37353636333533343334343434333331333331333431333133312E2F312E2E30302E2F2E2F +2F2E2F2F2F2E2F2D2E2D2F2E2E2E2D2E2D2D2B2E2E2D3036A1 +F2F1F3EDCE413A353333302F2F2E3131302F2F3030312F3031313131333333343534343437 +363636373837373A373737373437373636363634333335343638353A3D3B3B3C3C3C3C3D3C +3C3E3D3D3E3D3E3E3F3F3F3F3F3F3F3F41413F3F3E42454947413D3C3B3D3E343E413C3F48 +49434243444A434241434A443F3F413F424142413F3E3F3E3C3C3D3B3B3A3A3C3B3A3B3B36 +36373B383535343536363535343436333433343434333433343130302F2E30302F2F302E30 +2F2F2E2F2E2F2E2E2E2E2F2D2E2E2D2D2D2D2E2E2E2F3135A2 +F1F2F3EFCB423A373E3B3330302F313031312F303130313031313333353434363535373534 +363A38383538383635363737363738383636363635353537383B373B3C3B3B3C3E3C3E3F3B +3B3A3C3C3F3E3F3E3E3F3F3F41414143413F3F3E4B4F5A605A493F3D383633383A423D3D43 +4C555A4E51574341414342443F3E3F3E3F4341423F3F3F3F3D3B3D3B3E3C3C3C3B3B3B3C3B +3B3B3B3A383835353635353535353435343534343434343533313331303130302F33303031 +302E2F2E2E2D2E2E2F2F2F2F2D2F2D2F2F2F302F30333136A8 +F3F2F3EFCF44383737333431313131313130313130302F3033343431343434343637373736 +36363A3B383B3A3838373738363737383A3A3A3B37343638383A3A3B3F3D3E3C3E3E3F3E3C +3D3D3D3C3F3F3F413F414142434242413F3B33333B43514C3F3B363B3A362D31363B3C3535 +2E343B36584C3C313C4C514242413C3F3D4242434241413F3F3D3D3D3F3C3C3C3F3C3B3A3C +3B3B3B3A3A3A36373636383736363536343535343535353435333533313431313031313030 +2E2E312F2F2F2E2F313030302F312F2E2F2E2F3031313136A8 +F3F2F3EFD2473A3B363534313333313334313331312F303134313533313435363635373838 +3A383A3A3738373B383738383A36383836373B383B3737383A3C3D3D3E3C3E3F3E3F3E3E3C +3E3D3C3C3F3E3F413F414243444244413D3E332E353E3D383434352F2F312B2A333333292B +221F201F2F474127242E36333144383F3F3C423F3F434342413F3F3E3F3F3D3D3E3D3C3B3A +3B3D3D3A3B3B3B383737363838383635383434353433353534353333333133333335343331 +31303130303331313331333031312F2F2E2F2F3033313136A5 +F3F3F2EFD6493B3C3A373434333333333333313331302F3334343534353436353636373638 +37373A383A36373A373A3B3B3A3A3A383A3B373B3B3C3B3D3B3D3E3C3D3F3F3F3F3F3E3E3D +3C3E3F3D3F3E41423F3F45413E42413747514431344130292F2D2D292D2D2B2B302623241C +1918191921292B2B231D1C1D202320212E31333E41414241413F3F3F3F3F3F3D3D3D3C3B3B +3C3E3D3A3C3C3B3A3B3B3B3A3A383837383634353335343434343535333431333433333333 +3431333333343334333435333331312F2F2F2F2F2F2F33379C +F3F2F2F0D5473D3A3C3835373433343536343334313033343534343435353636373B383B3A +3A3A3A383B3C3B3A373B3B3A383C3B3B383B3B3E3A3B3B3C3E3E3E3F3E3D3F3F3D3F3F3D3E +3D3E3F3E3F3F4144444A5A4F475037333136271D1A1612131A1F232B2D2E2B2422231C191D +1D18181B221F28291D1A1C1C2322201B1B23232E4543413F3F41413F3F4141423F3D413E3E +3D3E3E3D3B3E3C3C3B3E3E3B3A3B3B38373A37363535343331333534313334353534353335 +34313133353433333433343333313031312F2F30302F3138A0 +F2F2F2F0D1473D3D3C3A37363534353534333334343434313334353435343637363A373B3B +3A3B3C3A383B3A3B3B3C3C3C3C3C3B3B3B3B3A3B3C3B3E3D3C3F3E3F3F3F3F3F3F3F3E3E3F +3E3F3F3F3F3F3C3F3E43574C434138311F120F0E0F13151314151A1C1F231C1D1814120F12 +181F1B1819161C221F161416161A141B202122202A3C3B4241413F3F3F413F3F3E3E3D4141 +3E3F3D3B3B3B3D3E3D3E3D3C3C3B3B3A373636353535343434353535343435353534363634 +343434343534313434333434333433333330303130333136A3 +F2F1F2F0D24A3D3D3A373635343536353334343634333433343535353535373A373A3C3C3B +3A3A3C3B3B3B3C3D3C3C3D3D3B3C3C3E3C3C3B3C3B3F3E3E3E3F3E3F3F3F413F413F3F4245 +4141424948423F3A352D2B281D222215100F0D0D0D1212100F0F0E0F10101216161A1B1D2A +2E26180E0E121619191518130F10100F13191C1D1B1B2430383E3E414142423D3F3F3F3F3F +3F3C3D3C3C3B3D3E3D3C3B3C3C3F3B3B373835363735343534353536343536363636363734 +353535373633343534353535333534313331303133333336A5 +F3F3F3F1D4493E3C3B3A3735363535343436343333343136343736373A373A37383A3B3B3B +3B3C3D3B3C3C3B3D3D3D3D3E3E3C3D3D3D3C3D3D3C3E3D3E3F3F3F3F3F4142413F413F4351 +4F4E4A484742482D211D1D2214101316100F0F0F0F12100F0D0C0C0B0E12120E0E0F101521 +2B291F140D0D0C0F181916151310120F0D12161316161A222930363B373F413E413F3F3F3F +3E3D3F3D3D3E3D3E3F3D3D3C3C3C3C3B383A3A383736373736363536373436383A38373736 +37363635353534353535363534343334353133303334333AA6 +F2F3F3F0D54B413C3A3835373634363535363434353437353636363638383836383B3B3C3B +3D3D3D3D3C3D3C3D3D3C3C3C3D3D3C3C3C3E3D3E3F3F3F3D3E423F423F4343423F3F3F3F3F +3F43433A362A1D161C201D14131010181619140E0D0C0B0B0908090B0B0D0C0C0C0F0F0E0F +121215120E0C0C0C0E151D1F16101010100D1316101415161C20202B2E313C413F423F3F3F +3F41413F3D3F3F3F3E3F3E3D3D3C3D3E3C3A3A38373A383A383A3836363638383A3736383B +373A37353635363A3535363635363434343333333330343AA3 +F3F4F4F0D64C3F3C3A3B373837343535373634363737373737383B383B383A3B3A3C3D3B3A +3E3E3D3E3E3F3F3F3E3E3D3E3E3F3E3C3E3E3E3F3F3D3E3E3F423F424243424242423F413F +3E3A312A211B1518141310100F0E0D100E0C0D0E0E0B0B090808080909090B0B0C0C0C0C0B +0B0B0D0E0E0F100F0F0F0E0F13130F0D0E0F0F100F0F1C1B1F2118161F1C2E433E3F424243 +41413F423F41413F3F3F3E3E3D3F3F3F3D3B3B3C3B3A373B373A3A3738383837383537353A +36373736353636373737383634353635343433333433333B9F +F2F3F3F1D64B3E3D3B38373635373736373737383A373738383B3C3B3B383B3B3B3E3E3C3E +3E3E3D3E3E3F3F3E3F3F3E3D3F3E3F3E3F3F3F3F3F3E3E3F3F423F43434343434242423F3C +34312B231C1C15120D0E0C0C0B0B0B0C0C0B0B0B0C0B0B09090B0C0D0B0C0F0F16130F0D0F +0E0C0E0C0C0C0D101516130E100F13120F1019100E0C141819191A15161518283336414141 +424141413F3F3F3E3C3F413F3F3F3F3F3F3E3B3C3B3B3B3B3A3B3A37373A3837373438383B +38383736373A363737373A3635353636353434353435353AA0 +F2F3F4F0D64B3E3E3B3B373437363737373736373A3638363B3B3A3B3B3C3C3E3C3F3C3F3F +3E3F3F3E3F3F3E3E3F3F3F3F3F3F3F3F3F413E413F3F3F3F3E3F4143424343434242433E36 +37301B141214100D0D0C0B0B0B0B0B0B0C0B090B0B0B0F10120F10100D0E121A1C1C1B1D20 +221F140E0D0F0C0D0C0D13120F0F0E1015161D20120D0D1214121513131410141F2D3E3F42 +41413F3F3F4142413E3E41413F3F3F3E3F3D3D3B3B3B3C3C3B3B3B3B3A3A3B373838383A3C +3B3B37373A3D36353737373838363535353534353534373DA5 +F3F2F3F0D74C3E3D3C3B37373838383636383A363A383B3B3B3A3B3D3D3F3F3D3F3F3F3F3E +3E3F3F3D3F413F3E3F3F414141413F3F3F423F3E3F3F3F3E4141414243444442434343413A +2D1D10121418120D13100B0B0B0B0D0D0C0E0C0E1213121213121513101620191A1B1C2A2D +2316100F0D0C0B0C0C0C0C0D0D0D0C0B0C0F191F181012101512141913141313181C273137 +3A413F4144434342414142454341423F3F3E3E3C3E3B3C3D3C3C3B3B3B3B3B3B383A37383B +3C3B3A3A3A38383A3838383838373534363638353737383DA2 +EBF1F4F0D74B3E3D3E3A3837383A3B36373737373A3A3C3B3B3C3C3D3D3E3E3F3E3F3F3F3F +3F3F3F3F41413F3F3F423F42423E413F3F3F3F3E3F4142413F4141424448444343433F382D +19121313131A100D0C0C0B0C0C131D190D0D0C0C0D0F120F13100F0E1314181A181B211C1A +18201B130F10120E0C0C0B0B0C0B0C0B0C0F1414161415120F131214211412101314101C27 +303B3F4244424345454243444342413F3F3D3F3F3F3E3E3E3E3C3E3C3A3B3A3A3A3B3B3B3B +3C3E3D3B3B383B3737383A3A3635363A383738363635383C9F +ECF3F3F1D94E3F3E3C3C383A3A3D3C38383837383738383C3C3B3D3C3B3D3D3F3F3F3F3D3F +3F3D3F41413F3F413F433F4341413F3F3F413F3F414142414341434142434344423D362916 +1015121014100D0C0B0C0D0E12120E0E0B0B0B0B0B090B0B0C0D0E0F10161D282018130F0F +1015161A1B26231A0F0F0C0B0B0B0B0B0B0F1210130F12130F1212131C1F191515120E0D18 +2928383D3F44434244454345434344413E3F413F3F3F3F3E3F3E3E3F3B3C3B3A37383D3C3B +3C3B3B3B3C3A3B373A3A383B3636383737383A3B383B3B3EA1 +F3F4F4F1D950413D3D3B3A3B383C3C3B37373B3B3A3A3C3C3D3C3D3D3D3F413F413F3F3F3F +3F3E3F41413F3F3F413F3F3F3E4142423F3F41413F423F43434443424241423F3D3D26100F +151512181A0D10151C1D14100D0C0C0C0D0E0B0B09080B0B0B0B0C0C0D0C0E101313130F0E +0E10121516201B1B13100E0D0C0C0B0C0E0E0E0D0D100E16151416101312100F190F0E0C0E +162120313D42424341434748454444433F3F41423F3E3C3F3E3D3E3D3B3E3C3A3A3B3D3E3C +3B3D3E3C3B3B3B3A3C3B3B3A383A3837363737383A373A3EA1 +F3F3F3F1D95042413D3B3B3B3A3B3B3A3A383B383A3C3C3C3C3C3D3B3C3F3F3F3F3E3D3F3F +3F3E3E4142423F42413F41413F3F414141424141423F3F423F434243434242424234120F1A +271915140D141420140D0B0C0B0B0B0B0B0B0B0C0C0B0B0E0D0C0C0D0C0D10100E13191513 +1014141A1B1B1F241B0F0D0C0B0B0B0B0C0E0C0C0D0D0E0E0F1314120E15160D0C0D0C0B0B +1313121F36414242424444444443434342414141414141413F3F3F3F3F3F3E3D3C3B3E3C3E +3C3C3C3C3C3D3D3C3D3D3C3C3C3A373738373737353A3A3FA5 +F3F3F3F0D95244413D3A3C3B3C3C3C3B3B3B3B3C3C3C3E3F3E3C3C3E3E3F43423F3E3D3D3F +3F3F413F413F4241444343424141424141424341423F41434345434544413F3C281310131D +26100B0B0B0B0C09090B0B0B09090B0B0B0B0B090909090B0B0C0D0E0D131518191B1A1914 +0F0D0C0F1014141513151314120D0C090B0C0C0C0D0E0C0D100F0F100F0F1B0E0B0B0B0B0F +100D1010233D43434343444445444444424143414242433F413F3F3F413F3E3D3F3D3E3C3D +3D3C3D3D3C3E3D3D3B3C3C3C3B3B383A3A383B3A383A3A3F9F +F4F4F2F0DB5245433F3C3E3C3C3C3D3F3D3C3B3C3C3D3E3F3E3E3C3F3F3F3F42413D3F413F +3C3F3F4241414241424342434241424243414141434443434344454544433B2B1314100D0C +0C0B0B0B0C0B0B080B0B0B0B0B0B0D0C0B0B0B0B0B0B0908080908090B0B0D0E1212141410 +0E0D0C0C0B0C0E1214141316150F0F0C0B1012100F0C0F0F1012120F100F0B0C0B0C0B0B0D +120E0E0D132E3D4142424547434344434341444344434141423F3F4241413F3F3F3D3C3C3E +413C3C3D3D3F3C3C3C3C3C3C3B383A3B3B3B3B3B3A3B3B3D9D +F3F3F2F0DB514544413F3F3E3C3D3E3F3C3C3C3D3C3F3E3F3E3F3F3F3F3F3F4141423E3E3E +3E4141413F4244414443434343434445454343444445434445454544443D3520100E0D0B09 +0B0C0B0F16120F0C0C0C0C0F0F0F141210100D0D0D0D0C0D0F0C0B09090B0C0E0F0F181614 +0F0E0D0C0B0C0D0D1B2015101212120F0C0B0D14150F0F1B120D12160D0C0D0C0B0B0B0B09 +0D0D0D0E0C162D3F4447474845474747454847484848444244423F3F42423F3F3F3F3F3F3F +3F3E3C3C3D3D3C3D3E3C3B3C3C3A3B3C3C3B3B3A3B3C3C3F9D +F4F3F3EFD952454241413E3F3D3D3D3C3F3E3F3D3D41413F3F41423F424142433F3F3F3F41 +3F3F41423F43424343434444444447484543434444474848494743433C2A1C0F0C0B0C0909 +0B0B0C0E1012131810100F0F0D0D0D0D0F0D0B0B0C0C0C0C0C0D0D0C0B0B0B0B0B0B0E1212 +12120E0D0B0B0D0E101318120D0D0E0D0C0B090C0D131816100F1219120E0E100F0B0B0B0B +0B0B0C0C0B0C163B4241454747494549454544454849474848444342424342443F3F3F3F41 +413F3D3E3D3F3E3C3C383B3D3B3B3B3C3B3B3A3A3B3B3A41A2 +F4F3F2EFD852454342413E3F3F3E3E3D3F3E3E3D3F3F3F3E3F3F3F414342434241423F3F3F +3F414243434343434444434347454747474544484848484844454541311B0E0D0B08080908 +0C0B0C130F120D0D0C100F10100F0D0D0E100B0B0B0B0B0B0B0E10100F0C0F0E0C0B0C0E10 +10100F0D0B0909090B0C0C0E0F0E0D0D100D0B090B0C10161610101019100F100F0C0B0B0B +0B0B0C0C0B0C0D21373E44484848444745434545474445444848474544434342423F423F3F +3F3F3D3E3F3F3F3F3D3B3F3B3C383B3C3B3B3A3A383B3D42A3 +F3F4F3F1DC55454443413F3F3F3F3D3E3E3E3D3E3F3F41413F424342424342413F4342423F +413F4142424243434545454445454A484948484948494A494747433B26120D0B0B090C0C09 +0C0C0B0E0D0D0C0C0B0B0C0E0E0E0D0F13101213100D0C0E0F0C0C0F1313100E0C0B0C0D0E +0D0D0C0D0E0C0C0E0F0C0B0B0B0C0C0D121B190F0D0B0B0E14120F0C1823120F0D0B090B09 +0B0B0B0B0B0B0B0D233B41474949494749484847444448484443474843434444424341423F +3F3F413F3F3F3F3F3E3E3D3D3B3B3C3D3B3B3B3B3B3B3C42A5 +F6F6F4F2DC57454345413F413F413F3F3F3F3E413F3F3E4141424342434442423F41413F41 +43434243434444444448454848484948494A4A4B4A4A4A4848433B26140D0B090B0B0C1B18 +0C0D0C0D0C0C0D0B0B0B0B0B0B0E0D10181A1A15120E0C0B0D0E0D0C0F12100E0B0C0C0C0F +0D10100D0F0C0D0D10100D0D0C0C0B0D0C121815120D090B0D10100C0F1C1B0E0E0C090908 +0C0B0C0C0B0B0C0B0F1F3541484949494A4948484543484544454749484343444343444341 +42413E3F413F3F3D3F3F413F3C3C3D3D3C3C3B3B3C3A3C42A3 +F3F4F3EFDE584547444142433F42423E413F3F3F3F3E3E4241413F434343434241413F4243 +434244444544444449494949494B4B4A4B4A4B4A49484945483B20140E0B0B090C100D181D +100E0B0B0B08080808090B0B0B0B0B0B0D0D0F101513100C0B0B090B0B0D15160F0D0C0B0C +0D100E0B0D0D0D0E0D0E101418120D0D0C0D0F150F0D0B090B0D0F0E13130F0C0C0C0C0908 +090B090B0B0B0C0B0C101F36414449494949494B4948474544444345484744474543433F42 +4142414247433F3E3E3F3E3E3E3D3F3D3C3C3C3C3C3B3E42A3 +F4F4F3F1DE564844444442434443444442413F423F3F3F4241414142434241444343424444 +44454344474544474849484A4A484B48494A4A524E504A443F2B15120C090B0C0D0C090C0D +0B0909090B090808090B0B0B0C090B0C0D0D0C0C0D0D0D0D0D0D0B0B0B0B0E1318100C090B +0D100E0B0C0B0B0B0C0C0D101616100E0C0B0B0D0F0F0D0B0B090D0C0E0F0D100C090B0908 +0809080B0B0809090B0E161D3041444B494A4B494949474747434445484944444447444343 +424141434742413F3F3F413D3E3F3E3D3E3E3E3C3D3F3E43A1 +F4F4F6F1DD57484547434343434444434343423F3F41414342434343434143484342424343 +44454343494949494B49494B4B4A4A4B4E4B4B4E484544412E140D0C0B0B0B0B0908090808 +08080808080B0B0B0C0D0B0C0C0C0C0C0D0E0F0D0C0B0B0C10100F0C0D0C0C0D0E0D0C0B0B +0B0D0D0C0B0B0B0C0B0B0E0D0E12120F0D0B090B0E100C090B0B0C0C0D151514120B090808 +0908080708090808090C0E181C313F44484A4A4A4947484748484948484949474948474344 +4143434344413F423F3F3F3E3E3F3F3F3E3F3E3E3E3F3F43A2 +F4F3F4F2DD5847454344434243444342414141414341414342434344434342434443444443 +43444447494A4A4C4B4E494A4A4B4F4B4E4E4E4C4A49473A160D0C0C0B0908080D0C0B0908 +0807070708090B0C0C0B0C0D0D0D0D0B0C0D0F0C0E0C0B0B0D100E0D0D0E0F0E0D0C0C0B0C +0B0B0D0C0C0B0B0B0E0F1012100F0E0E0C0B0B0B090E100B090B0B0C0B0F181B0F0B0B0808 +080808080809080808080C0F151A353D45494C4C4A474848484949484A4A49494748454445 +4445434444424141413F413F3F3F3F3F3F3F3F3D3D3F41459F +F3F3F4F1DD5348454344434348484443424342434242424343444747474444434547494745 +4447474A4A4A4A4A4E4A4B4A4A4A4C4E4F4E4B4C4B493E200D0C0D0B0908080B0F0C0B0809 +080707070808090B0B0B0B0B0B0B0B09090B0B0E0F0D0D0C0D0E0D0C0B0B0E100E0B0B0B0B +0B0B0B0C0C0C0B0B0C0E1215130F0F0E0B08080908090C0C09080B080B0B0C0F0E0B0B0B08 +08070808090808080808090D1214283645494E4B49494848474A4A494A4949494747484744 +45454444494443434343433F41423F423F413F3F3F3F4147A5 +F4F3F4F1DC5248484844434444444443434342434345444447454548484945444447474543 +4548484A494C4B4A4C4A4C4E4A4B4E4F4F4F4A4C4B3D27100D0D0C090908090D0B0D0D0909 +0B080807070809090B0B090B0B0B090C0C0E0F0E1012120D0D0E0E0C0B0D0D14120D0B0B0B +0D0B0B0B0B0C0B0B0B0B0B0C0E10100F0F0B09080808080909090808090B0C0C0C0C0B0908 +0807080808080809080808090D1223334E4A4B4A494A494949484A4B494B484A4849484748 +474745444547424344424344424241434141424141414248A8 +F3F4F4F1DD5A4A494944434344444444434343444344444345474749454847454745484748 +494B4A4A4C4B4E4B4E4B4C4F4C4E4F4F4F4F4B4B4538270E0D0B090E0B080D0D0C0F0C0C0B +09080807080707080B0B0B0B0B09080B0C0D0C0B0B0E0F0F0D0C0C0C0C0D0E100F0C0C0B0B +0B0B0B0C0C0D0C0B0B0B0B0E151915120F0F0D09070808080808080707090B0C0B0B090908 +08070707080707080808080B0B0F28384443474A494B4B4949494B4B4B494A4B4949494845 +494A49474843434445434443424142434242433F42414247A5 +F3F4F3F2DE5A49474A444343444547444443444344474444484748494849484A4A49484A4B +494C4A4B4E4C4C4A4E4E4F4E4F4E4F4F4F4F4B4E4735150E0B090D0C090B0C0E0F0F0D0B0C +080807070707070709090B0B0B0B0C0B0C0B0B0B0C0D0D10100D0B0B0B0E1212120F0D0B0B +0B0B0B0E0E0F0E0C0C0C0B0C100F1012120C0B0C0B0907070708080708080909090C090808 +0807070708080808080908090B0C153B4A3D474E4A4B494B474B4B4A4A4C4C4B4A494B4A49 +484845454545474845444444444342434343424243414348A1 +F3F4F4F1DE5A4A4945454344444548474443424444454545454849494949494E4B494C4E4E +4C4F4C4E4F4F4F4B4E4E504E4F4F4F504F4E4B4A3F260E0F0C0C0D0F090D0F0E0C08080809 +080707070707070708090909090B0B0B0B0B0C0F0C0C0B0B0F1212100E0F0D100F0E0C0B0C +0D0D0D1010121410100D0C0B0D10101010120E0B090B080807070808080708080809080707 +080708070808070708080808090B0D233C42504A4B4C4E4A4A4C4B4A4B494A494A494B494A +4A4849484547434847454847484443434343434141414247A0 +F3F4F4F1DE594A4947444545434544444545444344454848484A4A4A4948494A4A4C4C4E4C +4F4F4F4F4F51504F504E4F4E4F5051504F4F484535160D0D0D0F0B0D0D09080B0807070808 +070708070707070709090908090908080808090B0B0B0C0D0D1215100D0D0C0C0C0D0C0B09 +0B0B0B0C0C0E101215130C0B0B0B0C0E0F0F0D0C0908080808080807080707080808070708 +07080707070808080808080809090C12234845484B4C4B4B4B4A4A4B4A4B4B4A4B4A4B494A +4A4949474848474549484948494744434445434141424445A2 +F3F4F4F1DD584A454B45454444474544444544444444444A4A494C4A4A4B4B4B4A4B4E4F50 +504F4E5151515151525050514F50504F4F4C45411F0F12142415120D0E0B08080707070707 +07070706070707070708090808080807080909090B0B0E0E0F120F0D0C0C0B0C0C0E0C0B08 +090B0B0B0B0D121518160E0C0D0C0B0B090C0B0B0909080909090807070707070808080707 +08070708070707080807080908080B0B13273E4A4B4B494B4C4C4B4E4A4E4C4B4A4B4C494A +4A484A484847484948484A494948474443434447424347499F +F3F4F3F1DE5C4B49494945454945444545454948454748494A4B4B4C4E4C4C4F4C4C4F4F51 +4F504F5252525252515253515251514E4C4A3E200F0E1A142F2D130C090908080B08080707 +08070707080708090B0B0B0B090B09080808080B0B0D0E0E101415120B0B09090B0D0C0C0C +0B0C0B0B0B0C0F0E100F0F0F0C0B0B09090B0C0B0809080907080708070708070708080707 +0708070707080707070708080708090B0C1B4C564A4B4C4C4B4B4E4A4F4C4A4E4C4C4B4B4B +4B4B4A4949484949494849484849474545474843434344489D +F2F2F4F0DF59494A494A4748484948494848444847474A4B4A494C4E4C4E4E4E4E4E505251 +525552535355535552535151515253524E42281A0E0C152412181B0F0C1209080807070707 +080908070707080B0B0B0B0B0C0B0C0B0B090B0B080B0D0C0D100E0D0B0B0B090B0B0E0D0B +0B0B0B0B0B0B0B0C0F12161A1A16120C0B09080808080909090B0B09080807080807080707 +07070707080707070708080808080B0B0B0F295152494B4B4F4F4F4C4F4C4A4B4C4B4B4C4C +4C4B4A4949484A494A4A49484A494847484847474444444BA5 +F3F2F4F1DF5C4B4A474748484A4B4A494A4B4948484A4A4A4A4B4C4F4E4F4E4F4E4B4C5251 +535353555655535655515252505052514537190F0C0D0B0D14100D0B0C0D0C080B0B0B0B08 +080808070707080808080909090B0C0C0B0D0D0E0B0C0B0B0C0E0E0E0E100D0C0B0B0C0C0B +0C0C0B09090B0B0C10131B1F1B16130F0B0B08080808080908080B08080808070808070808 +080808080708070708080807090809090B0D183B4B534E4F4F50504E504F4E4E4C4B4B4E4E +4E4E4B4E4C4A494A4A494849494949484948484A4747484BA3 +F4F4F3EDE260494B49494A4949494B4A4B4B4A4A4A494A4B4B4E4C4F4F504F4F4E4E505151 +535353565757555555535253505253493D3C230E19151B1219140C0B090D0E090808080708 +08080707070707080709080808090B0B0B0B0C0D0E0E0D0B0D0B0B0C0C0F0F100D0C0B0B0D +0E0C0B0B0909090B0C0E13161815120F0C0B08090808080809080808090808080708070707 +070707070808080707080808080809090C10102A4751514B4E50524F50504F4F4E4F4F4C4E +4E504E4C4F4E4B4A4A494949494A48484949484847484B4BA1 +F2F4F6EADD5F4E4C4A4B4C4B4A4A4A4A4B4F4E4B4C4B4E4F4C4F4F504F504F504F4F505351 +5255565555565555565252525250504E3E1B16132E18130E14100C0B09080B090707070707 +070807070707070808080B08090B090B0B0C0D10100E0E0F0F10120F0C0D0C0F0F100D0B0C +0F0E0C0E0B0B0B0B0C0D0F1014141210100E0C0B0809080808080808080808080808080807 +080708070707070708080809080808090B100F1F3B4A5252515653535252515050504F4C50 +50504F50524F4E4C4A484948494A49474849474849484B51A3 +F3F4F6F2E05D4F4E4C4E4B4C4C4B4B4E4E4B4E4F4F4F4C4F4F505050504F5352504F515355 +5657585757565353555555515250514726130E0D16161A1510180E0C0B0808080707070707 +080708070707080B090B0809090909090B0D1010100F100E10101013100F0C0C0B0E0D0C0B +0C0D0B0B0909090B0B0C0E0F14141413100D0B0B0808080808090807080707100908080807 +08070707070707080707080809080808090B0E163745505150535353535352504F51505052 +51505052514E4F4C4C4A4B4A4A49494849494947484A4B4FA2 +F2F4F6F2E36550504F504C4F4E4F4E4B4E4E4C4E4C514F505151504F525352525053565756 +5755575556585755555557565653564C23100F0B0B0C181C22312E1B100B09080707070707 +0807070707080B090D0F0C0B0B0B0B08090B0B0C0C0D10100F0D0B0B0D0F0C0B0B0C0B0B0B +0B0B0B0C0B090B090B0B0E0F0F0F0E0E0D0D0B0B0808070808080808080708090808080808 +08080807070707080808090808080908090B0E1B3B484F5353535253555551504F4F525352 +53534F52504F4E4E4E4C504E4C4C494849494A4A494C4C4FA0 +F3F6F6F2E365524F51504F504F4F4E4B4F504E4E4F4C4F5352535152515153535555555756 +5758565856575755555758595F585952150D0C09090B0C0F161F1C1C0F0908070707070807 +07080808090808090B0D0B0B0B0B0B0908090B0D101415120F130F0C0C0D0B0B0B0C0B0909 +090B0B0B0B0B0B0B0B0B0C0D0D0F0F10100E0C0C0B0B080808070807080708080707080807 +07070807080707080708080808080808090B0E2D5C625358585650505152504F5051525251 +535352515250504F4F4B4B4F4B4B49474A484A494A4A4A4EA1 +F6F4F4F1E265525250514F5050504F4F525050524F51515351535551505355555555575759 +58575859585555575658585A74584C2A100C0909080C09090C0F0E0B0B0808070707070707 +0707080807080808080B0B0B0C09080B0B0B0B0B0C0D0F101010100C0C0D0C0B0B0B080909 +090C0B0B0B0B0B0B09090B0E0F0F131415100D0C0B09070807080808080807070707070707 +0808080B070707080808080808090808090B0C275367715A57585655565552535150515050 +5253515252535250504F4E4E4C4A4B4A4E4A4A49494A4A4FA6 +F4F4F4F2E36652535250525151505250535052525251535353535352555255555356555758 +58585858595757565758595A5C5838181A12120B0E0C0C0C0B0C0B08080807070707070707 +0707070708070708080B0B090B07080B0C0D0D0B0C0C0C0C0C0C0E0F10100D0C0B0B0B090B +0B0B0B0B0B0B0B0B0B0B0B0B0B0C0F1815120F0E0D0E0B0909080708080707070808070707 +08080808080808070807080808080809090B0C18414B585F595F5F5E585552525252535353 +4F4F50535250525152504F4F4F4F4E4E4E4B4F4A494A4A50A3 +F2F1F6F1E36A57555353535250525253515252535350525353535553575253565657555657 +58585757565758575959585955532212182A120D0C09080B09080908080706070707070707 +080B080707070708080908090908080B0B0B0C0C0D0E0E0C0C0C0C0C0D0C0B0B0C0C0C0C0B +0C0B0809080B0C0D0C0B0B0B0B0B0C0E0F1212100F0F0D0B0B090808090808070708080808 +08090B0B0B0908080808080808080708080910213C4C605F5D585556575655525555555556 +5652515356525251524F504E4E4F4E4E4E4E4F4C4A4A4B50A0 +F3EBEFEDE26956575655535152525253535252525253535353535756585555555855565655 +5657585A58585A595A5A57574C3D190E0E0F1312130B0B0908080807080807070707070707 +070908070707070808080809080708090B090B0C0B0C0E0D0F0E0E0F0E0E0D0D0D0D0C0B0B +0B090B0B090B0B0B0B0B0C0C0B0B0B0C0E10100E0C0B0B0B080B0B080808080708090B0809 +0B0B0C0C0D0C0B090809080808080808080B182D4A60605152505051525555535556555353 +5555555757555155525152504F4E4F4F504E4F4F4C4F5052A3 +F1F3F3F0E36C5C585655535353525351525153525253535555565658575556575857575855 +575658595A58595A5C595758603316140F0F151F120B0B0908080707080707080807070707 +0707070707070707080807080B08090909090B0F0F0F0F100F0F0E0E100C0D0C0C0F0F0F0C +0B0B0B0B0B090B0B0B090B0B0B0B0C0F101210120D0C0C0908080808080808090C0D0C0D15 +1A141210100D0C0B0B0B080708080808080B142B4E5A665D53535353565656555756565356 +5556555355535557535353514F4F4F514F4F504F4F4E4F52A5 +F2F2F4F1E46D5C585753555353535553525653555357565658585655585656575858565857 +5858585A595C5A595A59554E3E19101A0C0B0F19100B090908080707070707070707070706 +070606060707070707080808080708080B0B0C0D0E0E0D0E0F100E0F100F0E0D0D0D0D0C0C +0C0C0C0C0D0C0C0C0B0B0B0B0B0B0B0B0B0C0C0F10100E0B0B08080808080B0C1215191C28 +23201B1A150F0F100E0C0B0809080808090B0D203A48506658535553565858565657535858 +525353555657555652505250504F505051504F4E4C4F4F55A3 +F3F4F4F2E46D5A585757555753535356565353565858575859585957575758585858575958 +59595959595C595A5C5C56492F27100D0B0B09100C09080808080708070708070707070707 +070707070708070707080807080808080B0C0B0B0B0B0F10101010101513100E0E0F0F0D0C +0C0D0C0D0E0D0D0D0C0C0C0C10100F0E0D0C0C0C0C0C0B0C0B0B09080B0D0E101C2A262D2F +2B2420181613181B180F0C0B0B08080808090B152D31445A6E575355565A57555555575658 +575656535257595753525551504F504F504F525150504F52A5 +F4F4F6F2E56E5C59585753535355565556555356575856585A5A5858595657595759585C59 +5A5C5A5A5959585A5A58514F313118140B090809080B080807080808080707070707070707 +07070707070707070808070707080808090B0C0D121514161818130F12100E0D0E0D0D0B0C +0B0C0C0D0D0F0E0C0C0D1218181414141512100F0D0C0C0B0B0B0B0C0F131B222B31313E3E +332D27201C28232018140F0D0C0B090808090B0D23333C536C5D5557565856565553555655 +5656575657575756555252504F4E5250514F51504F505053A0 +F4F4F4F0E56E5C59575557535653565655535557565958585A5A595658575858585C5A5D5A +5A595C5A585C5C59584C4A584B34130D090808090708080707070807070707070707070807 +07070707080707070709080808080B0C0D0E1010181C232D30271D16120F0D0D0C0D0B0B0C +0B0B0C0E100F0E0F10181F2928232727221A1410121012100D0D0E121A202231373E363F41 +383B2F272B302B2A20201912100D0B0909090B0E19363F4E6A695755565857535655575655 +5756565858585755535351514E50515050504F50504F52559F +F3F4F3F1E56C5E5D595657555357555556565658585A58595A5958575858575958595A5D5A +5A5A5959595C5A595E55575941210D0B090908080708070708080707070707070707070707 +07080707080707070808090B0E0F0C0D100D0E14181A1C262F33221814100F0F0B0C0C0B0C +0C0C0D12100F0F14191D272D302929241D191A1F1D191C161510141B2B37303C3F3E42494A +473D3433373A353029271F16130F0C0B08090B0E1C213E45636B5957555156585653585855 +5757585858575655555353525151524F50535251525251539B +F4F3F3F1E56E5D5A58575658565555565755565858585A585A5A575658575858595C5C5A59 +5C5A5D5C5C5A5D5E5F5C523A26120E0B090808080707070708070808070707070707070707 +0707070707070808080B141D21211B12121513131A1F1D191B1D1C1C1D15121510120E0B0C +0B0D0E1014121419181D21201F1A20201D1C2627231F1D20221F1F2E3B3544534B514F5252 +4B3F3E3C37383434302E232019140F0C09090B0C10183A4850585255525157585858585856 +5759585C5A57585757535552505250505253525253535256A0 +F3F2F3F2E5705F5E595755555655565657585857565658585A595A585D5C595C595A595C5A +5A5C5D5D5D5F5D5D5C584F351B0E0C0B080808080808070808080708070707070707070707 +080807080808080B0E151D2A363E453E241D1815181D21212020201B1B1916161516121315 +0F0C0D0D0D0C0D0F13151A1B2021201C1F231F1B1A1A202324222A3A414B5A5A5658515553 +4B4445413B3B3A3436352722211916100C09090B10132444454B5658575257565759585859 +595C5A595A58595657565353535250535353535255555259A0 +F3F4F3F2E5725F6058565857585557565757565757585858585A595A5C595A5A5C5C5C5E5D +5A5D5E5E5F5E5E5D5D594F36160C0B09080808080808070808070807070708070807070807 +08080708090B0D15212E384755565959584E3C3327212221232323282B2927262226273028 +1D100D0E121518191B212326221F1B1A1D161514161F2428282F4244515752565A585D5755 +514C48433D3D3D3834362F2026221F190D0B090B100F27444945525C59565959585958585A +5C5C5D5A5C5A585757555555575652555553535555535256A5 +F4F3F2F2E673605E59585658595758595958585858595858595A595A595A5D5D5A5C5C5D5D +5C5C5C5F605F60605F584E2F140D0909080808080808080808080708070808070807080708 +080908080B0F192128384853595F626065665F5F59514A3D373B42454449494C51565E644F +3B2A16120F1216222A2A271C1813141314161A161B292D2D3547595F635E636363625E564F +514C47453C3D3C3836352A2028232120120B0B0B0F0E1D3F4A474A575556575A595959585D +5A5C5A5C5C5E5A5C59585757575656535353525253525157A0 +F4F2F3F2E5715F5D5C5958585957585A5C595958595758595C595A5A5A5C5C5E655E5C5D5C +5C5E5F5F6060625F5F5F5534100C0909080808080807070807080708080807080708080708 +0908080B0F15151B2B3F4B52576064656C696C6D6C7370726C656C645F6966635A514C4B48 +3E34271F140E0D0E0F0E0E12131213161B1C19212E2E2A333E56676B696C716D6967605D5C +564B47423C3C3D3634302A2924262120120C090B0D101831484B4B565556565A5A5A5C5C5D +5D5A5D5E5C5D5D5C585758595755555653535553535152589D +F3F4F3F2E6715E5E5C595958585858595A59595858575C5D59595C5A595C5E6274645D605D +5D5C62625F60625F5C5847210E0B0909080808080808080808080708070808080807080708 +0808090C0E0E1528384852515C5F62666C6D716E6E72747376707B777771666B6A6467656C +71706B56412E211514131415181A1A1C1A1F2B2E2924283B58646E6E6D736E6D7069636463 +5C5048473E3B3C383631332E2721231F120C0B0B0D1C1931475049505755575A595A595A59 +5A5C5C5D595C5A5A5A575858595755535553565552535256A2 +F3F4F4F1E574605D5A595859595958585A59565758595A595C585C5D5D5D5D6264645F6060 +5F5E606260605F5F58443022140C090908080808080808080808090808080808080808080C +0B080B0B0D132737424A51525A5E606769676C6C7271787876797B7A82858188888687888B +86847F78776A52433C3335362A27202028312F2A28354B5A6365717373746C6A6A66636362 +5F4E49413E3D3A3E373638362F232320120C0B0B10211D2F4B5148515958535A58595C5A59 +595D5C595959595859565755555552535253535150525357A3 +F2F4F4F2E6765F5E5D5A585858595A585A5A595858595C5A5D5A59595C5C5F60605F606360 +605F60606260606055514736130C0909080708080808070808080807080808080808080809 +09080B0C1524303D48504F575E6067696C6B6E6E6C71747476797B848587898B8C8C8B8D8C +89848685807A766B5A4C43433F3F36373B3D3B3F535F636263696E6A6B6C6E66676767635C +63584B3F423E373E3C383A3A3328261D120C0B0B0E20242F4E514B51595853595C5C5A5A59 +5A5C59585959595758525353525251515352525152525256A0 +F3F4F4F1E674625F5A5A59595A5A5859595A59585859585A5C5A5A595C5E6060605E5F6360 +605F6262606063605C5343210D090908080807080808070708080709080808080808080808 +090B0E16273841444B5152586267706B6C6A6D6E6B707277747D828585898D8E8F8E919492 +8C8888898B898C877D72644F454A555056595D6673726A72746D6A6D656B6A5D656467645F +625A4A413E3F3F42473635352F2B2721140D0B0B0D20282E4C525152585C58585C5D5C5A59 +5A595957575757585655525252524E4F5253535050525557A1 +F4F1F3F3EA76605F5C5A5A5A5A5C5D5C59595A5C59595C5E5D5C5D5D5E5E605F605F606262 +6362636464625F605C4F2F150C090908080808080808080908080808080808080808080809 +0B0F1627303A434B5056565D676C6A676A696D6C6B6E7678767D81818788898E8F93969895 +928F8B8C8E9295928C8B867B72636460636070737776777F7B7978787176736A676960625D +5C5D4E41383C413F3F3F3334302B2B21140E0B0B0D1B242F3F5153535A5D5A575D5C5E5C5C +595C5A56575757555753525151514F5052525253535253599F +F4F3F4F3E776605E5C59595D595A5A5C5959595A5C5C5D5D5D5D5E5C5D5E5F5F6363626063 +626363646464625E56383A190C0B0B0808080808080808080808080808080808080808080B +0D18232E34373F4A5655575D636C66666A69666B6D7172737B8086888D8C92929493959894 +94939292918C9392999895938F847F787B797E7D7B798087807A7A76747B79726E6E64665F +5C584C3F3C3B3F3D3A3E38302E2E2B2416120C0B0D1422233B525857585D5C595C5F5E5A5D +5C5A5A585957585756535655535253525253555552515359A3 +F4F2F3F1E674625E5A5A5A5C595A5D595A595C5C5D5D5F5F5E5D5E5F5F60606062605E635F +626364636664625C5659370F0B090908080808080708080808070808080808080808080B0C +131D2F383C3E3D4A5857535A5F646667666A676B707776777D8585888C929595999D9D999C +9C958F9498939B98A0A0A09B9C949187848285868580828881797B76797B7A7673706D6765 +65574C423E3B3B3C373F3B332829261A16100C0B0E12202237555758585C5C595C5F5D5C5C +5C5A5A565A58585758585957555352525253535652555256A0 +F4F4F4F1E6785F5D5A5E5D5C5C5A5D5D5A5C5D5F5E605F5F5E605F5F60605F606060606263 +626362636567645F5C5C340E0C0909080808080808080807080808080908080808080B0B0F +1824353C414343475058595A6263656A6C6D6E7772727A7A807F8B918F8E949DA0A19C9BA0 +9FA299999BA1A39F9FA3A6A7A39D95928E8C86898B898C8980817E7B7B7A79787672746E64 +6A5C4C47433F3537363A30362D26211B1B150D0C0E101C1B233F5058565A5D5D5E5F5D5C5D +5D5C595A5958595758565757555352535253555653575559A0 +F4F6F4F2E277605F5C5A5C5C5C5A5D5E5C5C5C5F5F625F5F5F626060606460636260636464 +65636366666764625950270E0C0909080908080808080808080808080808080908090B0C16 +202B3C3F41484B4449505C5F645E676A716D70737377787A81848C8E8C92969899999AA0A1 +A09F9CA09FA1A5A8A19DA2A8A5A1A09D9696948B8B8D8D8984858480817E79747876747366 +6258504F4B413B373A3537312E2E261F1519100E0D10191515314B56575D5E5D5D5F5D5C5E +5C5C5A5D5C5A5C585855585857535355555756575758595CA2 +F4F6F6F2E776625F5E5E5D5D5E5D5E5F5D5D5E5E5F605E5F62636262606062605F63656564 +65646467676967646451190E0C090908080809080808070808080808080809090B0B0C101B +29313C3F434948474A4C535A5D59676669676B645F657174777D7F8588898D8E91959A9C9A +9A9A9C9BA0A3A6ACA5A3A3A3A6A8A9A8A6A199949293968D8C8889858781807B7072777365 +655E554E45453C3A3B353A332D2E291D131413100C15151214294555565A5C5E5A5C5C5E5C +5A5E5D5A5E5D5E5A59585857555355565757585858595A5AA0 +F3F4F7F3E777625F5E5E5D5C5F5E5F5E5E5F6060625E5F60605F6263626360606366636565 +66666766666769676B74200E0C0B0908080808080909080908080808090808080B0C0E1A2B +3B3D3F43454C494B4F4C51565F5E5E5F5D5D56555D60625F60676E7377798084878E929299 +A09A98959BA2A5AFAEAEA9A8A7A8ADB1AEA7A19B96999D988B888B8C8D8986827B7774726D +6B58534E47433F3C38373B342F2B281D121215150E181A120F2A3C51535A5D5C5D5D5C5D5C +5C5D5A5C5F5E5D5D5A595A5957575657585858595A585C5FA1 +F3F3F1ECE97763625F5E5D5C5D606060605F5F5E5F5F605F6260636364635F606065656467 +65656667676765666B6930100C0909080808080908090909090808080809090B0B0D16233A +43433E4247494741484A4E535552504F4A48505555493E4247525657606B7270737B7F8685 +8E8C8C989CA0A5AFACAFAEB0AAACAFB1B3B6AEA39CA0A29C8B8B929693948B878B867E7D73 +6E5D534E49493E3C33373E363430291F131314160E1A22190E1F354C58565D5E5D5E5E5E5E +5E5E5C5E60605F5F605E5D5C585A58595857595A5C595A60A2 +F4F2F3EFE6786363605F5D5F5E606262625F5F605F62635F62626464636463606465656565 +6565676767676766696541120D0C0B090809080908080808090809090808090B0D141C2E3D +45484B44484848414244474448444442424543433C3D37362F33383C454A50525256555759 +636E7A888E9DA0A2A9ACAFB1ACACAEB1B1B6AFAAA6A9ACA68C8D999698959493938D87847D +73635E55504F42423A383E37332F292212131016101922180D152D4459595C5D5C5E5F5D5F +5F5E5F5E60636360605D5E5C5C5A595A5A585A5C5D5C5D60A6 +F6F6F4F2E97B66646360606262626362626263605F6062606464636563656364656A656969 +67696769696A6B6D6A5F36120E0B0B0B0808080908080808090808080908090B121A29363E +454A4848474549483F413E41454748454244423C363A2F2D2422221F202223222B31343B37 +3F525C77828D949CA2A6A8AAA8A2A6A8AFB3A8AAA8ACB5B0A2989F9B9A949999998F8B867B +796D635A524A43423F3E3C3833352B24140E0D15131818100D16273E575C5A5E5F5E5F605E +5F60606263636360625E5F5E5C5C5C5A5C5D5E5C5D5C5F5FA0 +F6F3F4F2E97D6665646362636260636262606262626262636463646564646667696A696C67 +696A6A6A6C6A6C6A645C411F100B0B0B09080808090808080908090808090B0D19272D373D +4348474448414445414141454B53595850493F3B36302A261F1B1A1619161916181C212727 +2A37414E6776848D919CA1A6A6A3A3AAAEAEA59B9AA6AFAD9D94959C9A938F9191898E8B7D +736E625F564E423E3D3F3D3C3B312E27130C0D121213160D0C132638555D575E605F5F5F5F +5F5F60636065656462605F5F5C5C595D5E5D5C5D5D5C5E5F9F +F6F6F4F2E980676566636364646464646463646464646364656565666769696A69676A6A67 +696B6A6A6D6B6C6A6A655537130E14130E0B0909080808080908080808090C13222D2B343D +3C434542443D433C424142445155575A5A564B44413E352D211A1815121315131614121418 +18212E354151627D8E949CA1A1A0A3A9A8A19F9696A2A59D8E8D8D8F928E8B868785858578 +706D625E5750453E3B3A3B3C3C332F24130B0C0D0F0C100C0B142B35555F5C5F5F5E5F6062 +5F626465646666646464625E5D5C595D5D5C5C5C5C5D5D62A0 +F4F6F6F2E77D676565656563656466656564646363656365676567676C6E6B6A6D6C6C6A6A +6A6B6A6C6C6D6C6B6B655A441F272D2D29180B0B090808090809080809090D18232F34363C +3A3F433E443745423F43454751535F6363535049414142362F29211B1412120F1316121212 +14181F293141596B79869294989BA0A1A59B969693969A928C8B8E8F8B89888280807B7D79 +71676059534B47423A3A363838312F27130B0B0B0D0C0C0B0B153435575F5F626062626063 +6464646565656563656260605E5D5C5E5C5F5E5C5A5E6062A0 +F4F4F4F3E97F6A66646566656565656465666664636566676967656A6B6E6D6C706D6D6B6A +6B6C6C6D6C6D6C6B6E655A3D333333373D33180D0B09080B0809080908090E15242F343C37 +3638413E423D43413F3C454B4F515A635A3D26211F1F242423221F1D1D1B1A181919232420 +1B21272D2B384B5E6E7D868F9593989B9F95918F8C8F8B86827A7E827A7A7470696C6B6A69 +6359535251483F3A30343C3837302D26130C0B0B0C0C0B0B0B0E2A3D595C606360625F6364 +6365666764676665656562625F5E5D5F5F5F5E5E5D5E62609F +F4F4F6F4E77E66676464656566676765646566656666676A6B696A6B6C6E6E6D6E6D6E6E6C +6D6C6D716D6E6D6A6C6558423C37313548553C1C0D0B090B09080808090B0E16242F353C3D +3C3B3C3A3F3F423E3D3B42474F514F35292D363B3E3C3F3D3E3E3E3A3530332F2B2E47728D +806C5F4F3F3F495162747F878D8C8C8F91888587848685817A7270656A67595549443F4A50 +4B48423F3F3C332823243436342D2D23120B0B0B0B0B0B0B0B0D2147595E62626364646465 +64646967656769696765625F605F5E605E606060605E6364A1 +F4F4F4F3E77E696A6567666566676A6765666667676967696C6A6C6D6E716E6E6D6C70706D +6E6C6D707071716D6B69583E3E2E15142337493C230F0C0B08090B0B090B0F1928343B3D3C +3E3E3E3B3F4742423D4147494C51353C3F3F3F3736302E2E2E2F30343A383330382D2D333F +53677E8D9380746C71797E85878588888B7F7B7A787F7A767165645659473B342D2A28272A +292E2F312D2E28221F1F26302E2A2826130B0B09090B0B0B0C0D23515A6464626364636564 +66656A676767696A6A676460625E5F5F5E5F60605F626265A5 +F4F4F4F2E6816A6A696766676B676C6B696769696B67696C6D6B7170717270716E6C6C6E6E +707172717371716E6C69503C37200F0E0E182B443C23100C09090C0E0B0B0E182A373C3F3B +3C3E4345444749434143443D35364441485642291F1815141515181B2028362D35363C3C3D +332D2B33414E5E65778F9FA2A195928B88827B7677776C66635756454536231D1915161314 +151C1F1F1F2226221F1B1D23282B2928140B0B09090B0B0B0C0E2F575F6467676565646565 +6667696B6A696A6C6B66655F605F605F6060605F63626567A5 +F4F4F6F2EA866C6C6B6A696B6A696A6A6B69696B696A6B6C6D6E717172717071706D6D6E6E +707371747473706D6C64453A28120E0D13181A343F3624120B0B0B0B0B0D0D0E1B2D353C3C +3D3F4242484848443E382D1C35413F434538211C2223272B2E2E27221A192B292F2D2F3834 +31352B2B2E333D3E2E295F7A89949FA2A5A09A8E86807164564F4A3E372A1D1915120F0F10 +12100F12151B2123211A181B1F24272914090B09090C0B0B0B103B5F656667696967676665 +6967666969696B6C69676562606260636060626260646569A5 +F4F4F4F1EA856C6B6C6A696B6B6A6B6B6B6A6C6B696A6C6D6D6E717071716E6E6D6C6E716E +72727373727470716C5042331D120D14373B26242F2F2B1C0F0C09090B0C0E0C0C0D131824 +333D3F413F49443C372F192E3B3F3C2D2321314548444C575249413F3D3A2E2D2A28202B36 +28312A2B2B2E31373E31316372737776717476818899988E857463513E2B221D1915131410 +10100F1014161A1A191B1A18151A2129130B0B09090B0B0B0B0F4862656969666567696769 +696969696A696A6A6A676664626263626262636364646766A2 +F4F3F4F3E9876C6D6D6B6A6A696B6C6B6A6C696A6A696B6C6E6E706E7172716E70706E7070 +707174727273716E5A4742331D13163E56513B292B2922180F0C0B0B0C0D141A120D0B0C0D +12223843484C4A423A1B27313034201B293B3F453A3A34352B23212A333434372D1F1C2229 +28272222212222242A2F2D3B4A555D63626560625D5D584F515352646E7774878874654F3D +28191212151618161B1A1D1D19141F2612090909090D0D0C0C195264666769666765666667 +6969696B69696A6B67676564626263646264636366666769A2 +F4F4F4F2E9866D6E6E6C6A6A6B6B6C6C6B6B6A6B6B6C6D6E7070717171707171706E707071 +717172737473726A4B4F3A2316183E6462574A433426201A0F0C0B0C0B0E1A2A2E1A0F0C0B +0C0C15243C514A43351C362D2E2A242F342F2B231B14100E0E0D0D0F161C222B28241A1C1F +1F1F1D1F1B1A191A1A212D1D2830363A41454A5148473F3F2D232424272A2F3B4B58677784 +855518161D22242728241F1A181419220F0B09090B14140C0E2A5D646769696A69696A6969 +696A696A6A6A6A6C6B6A666664656564656565666666676AA3 +F4F4F4F2EB88706C6C6A6B696C6B6A6B6C696A696A6D6C6E6E6E707071717172706D6D706E +707172737373715851431B1418375C7470696470502E2019140C0B0C0B0E1D313E3A29160F +0C0B0C0C1637242933443E38302E3B2F221A14121622100D2D120B0C0E12131F262922191B +1D1C1B1A1F1A181A232B3121313137342E2B2E302D2D3A452A23201B1A1A1C1B1F221F232D +312E2A2A2321201C212429211B191B210E0B0B090B0C0C0D154263696B6A6B6C6A6969696B +6A6A6A6A6C6A6B6B69676667666463656564656566676969A1 +F4F4F6F3EB88736E6E6C6B6A6A6B6B6C6D6A6A6A6C6C6E7070707271727373747272717370 +717273767674724E57381B2D3A50697F848885946D362B22160D0C0C0D121B333C3F3E3118 +0F0E0C0C0C0E0D0D163C3B3838362D1C120F101F3F290E0E2E14090F0B1529131D2822191A +1C1F1C1A1C2020283D43495148424E55513E34271A1B2F291B15151415161A1A1F22211F22 +262D343638343537312D221B1D1C1D220D090B090B0B0B122F5D67696C6D6C6D6A6C6A6A6A +6A6A6C6B6C6A6A696A67676766666465676566646567676BA3 +F6F4F6F3EA8871706C6C6B696A6B6C6B6B6A6B6D6C706D7272727472747473747371727374 +7474767674777249503831584B5878898896998C693A352A190E0D0D0E141B303E42423F30 +160F0F0F0D0D0D0C223F3C363431291A15131C3350260E0D0D0C08090C1A503B141D26211F +1F201F1B1A22263149586031272A3C5E7E6E57341F211D2113121013151215151A1A1D2024 +2220212D34353636363735342A1C18200C0B090B090B0C1C48676A6C6B6E6D6D6E6B6B6A6A +69696A6A6B69676B6966696664656466676766666767666DA2 +F3F4F7F3EA876E6D6C6C6B6B6A6C6C6B6C706D6D6E70717272737273737476767473747676 +7776767877767249584749645065847D797785806D3D2E2D1F0F0D0F131420353E42433B3A +2A1A1312141A2318333F4541383633292328262A422A100E0C0C0D0C0F2370632916222422 +21201F2221232B34485D5F1A3C4445413E3A3C3130292B1B1815141212100F0F1010131D22 +1D1B151F24292B303330302E282E29160D0B09090B0B0E2D57696C6A6C6C6D6D6E6D6E6E6B +676A696B6B6A6B6B6B6A6A6965656569676769696969676BA3 +F4F7F6F3EB8B72706E6D6C6A6A6A6B6D6D6E6A706E70717273727274767776777376777774 +77797876777774505D4F535F56727866665959553B1F1D281D0E0F14131321343C3F423A37 +352E261A1515181533343C3D3B3B3B3D36383A302B2D21180E0D0D0F1842847F4F1A161F27 +282723272B282E3543624B1F3F42485A5C4F281B1D13201C1A1514100F0E0F121A29303842 +2A1F131213191F2223292A2D231A192B1C0C0B0B0B0C1A3B636B706E6E716E7070706E6C6D +6A6A6B696B6B6A6B6B696A6A6A69676969696A696A6C6A71A3 +F4F6F7F4EA89747270706B6B6A6B6B6D706D71707072727274747473747878777777787876 +777877777779765560585953637D6A524E422D1F150F1222180F0F101418232F3E423F3A38 +3538382E211B161A23202D2F35333B484C453D3B3E3D3B3D2A201B1D2B596E6C4E2B221823 +2B30312F2E2F333742713D31261B192330311A1F2012211F1914130F0E13202A3038454C57 +503D27160F10151C1D23242423160E1230200D0B0C0D2D4769707172717171727270716D6C +6A6B6C6A6B6B6B6B6B6A6A6B6766676667696A6A696C6C6EA2 +F4F6F6F4EB8973726E6D6C6C6E6D6E70716E70717372747676747676777878797878777977 +77787778797B795C6460584C70815F4741372719100E0F1B130D0C0C0F182831383D3D3736 +383D3F443C2B1D1F201A1C242D312E36434B4A48484B4745413D373B414343443D36332E23 +283C4236312E373E4E7E2E44353B3430211513241F15201B18131210162F444343414B514E +4C382922180E0F141A1F222223140D0D15431C0C0C0F37526B6E737374727173707272706D +6E6E6C6D6B6B6D6B6A6A6B6A696765666566696A696A6A6EA2 +F6F4F4F3EB88737371706E70706E6E6E707070737272747676767776787879787879797978 +787879787B7E7B65676A524F767250443A302416151B3133140C0C0B0C132B2F313736343B +3D3F434F4F432627281A181D242D27232D37495555514A4A49434143484F504F4A4A4C4A47 +3D3D44423C3D3F4C5D6C31423F506269562915291D1B1B1515141618222A34241F1C212429 +31291D1D1A140E13191C232323130C0C163F4B120D1243606D73747676747274747271706E +6E6E6D6B6D6C6D6C6D6B6B69696667656465696A6A6B6B6CA3 +F4F4F7F3EB8C7472727170707171706E7071717274737776777778777979797A78797B7979 +78797A79797D7D6C626A4F50856947423731241A2849593C130D0C0B0C142D33313434343B +3C41495059562B3037271F1B23372D221B212D3F475256564C4A49494A4B4B4A4E50525149 +484F4C4A47443F597D443634525D71776D431A291F1A1A151B1D1D1C18121028100F0E0D12 +1415131615181210161C2124260F0D0D1F3D562E0F164C6971737274777674747474747171 +71726D6E6E6D6E70706E6B69696767666569676A6B6D6C6DA2 +F4F4F7F6EB8C737273707071727173717171727473747677787678787A797B7B7979797A78 +79797B7B7D7F7E73626B5352815A423A302B20213E6E603A130E0C0B0D18302F312F2E3036 +3A3F4A515C5D2F364C3D302429343B352E201A202730374244494B4B474744423F3F3F3C42 +504E4B53442F335D85232B41737676766C53212F24191B1F24261A120F0D0E3D160F0F0D19 +331D0F0F101215121A1F2226240F0C0F2F424B511629516A71747374767673737476737171 +70716E6E70707170716C6C69676669676969696B6B6A6B6CA2 +F6F6F6F4EC8B737372727171727272717174747674767878797A7B7A7B797A7D7979797979 +797B7A7B7D7E817662654F567D523B302E27212E5A785C34160F0C0C13212F31312B2B2E33 +3C424A535D6233385F55473C3537383C44453C281D1B1B1F1F232729282A282B2B31374353 +564952553A4748875D232D63777774726553342E211A232D291610151A0E0D0F0D0D0C0D18 +4938210F0D0E16181520282B240E0E1536434A5F244F606B71727274737374727473727373 +717271716E707072716E6E6B6A6A6A6A6A696A6B6D6C6C6EA0 +F6F7F7F4EB89737373727170717173737273747676767878787A7B7A7A7B7A7B7A797A7979 +79797B7B7D808074606050557A50332E29282F4A777052381A0F0D0D1A2A2F34342B2E3138 +3F434B565A653D3A69665D584E44414B585D5A564E473B3129221C1C212429313C434C5756 +4F565E3F5D514A86272448747D797A786C5D3E1D201A232A1F181C4138120E0F0F0E0D0D20 +514227120C0C101C1D202E34240E10141D2A345D313A606971737473737673727274747473 +7372707170707072716D706C6A6A6B6B696A6A6A6D6C6B709D +F4F6F7F4EC8D77767374717171727373727374747678777879797A7B7A7D7E7D7A78797979 +797B7D7D7D7E7D735D6252517850352D292E4766866A513B26100D10222D2E312E2F2F353C +3E3F4B555C6647336972736E645A57606A6C6B6C6E6965645E555050505353575759595856 +5558553C3D567959212F66818781807B6D5D451C191C2A292928262E371B1512100F0D132F +553B21140E0C0E161D262F2D23102D2E1C1D27584B222E5C6D727374767473767273747374 +76727272706E6E706D6D6D6B6969696B696A696A6C6C6C70A0 +F4F7F7F4EC9177787774727372717272727476777677787879787B7B7B797A7B7A78787B79 +777B7B7D7D7D7D735E634F5778563A33303E5A748876563D33140E19282B2F2F2E2E333A3C +3E414E525F6A57286B767978767070737978797673737672736D696565676964605D5A5D66 +67565052435E8B2823517489948D8C8978624C27191F3F223C3F38343A3A332A222920202E +31261F1A1512141B1F283333261F454A3F2A285E7333242B486C7376747374727171747473 +74737373726E70706E6D6C6D6A6A6A6C6C6C6B6B6B6C6E71A0 +F4F4F7F6EC8F7A787772727373737476747476777778777779797B7A7E7B7A797978787A7A +797B7D7B7D7E7D725F654F5C7D5C43353A496C82988C6A48431F1522292D2E2E2D2B31383C +3F454A535962632466767D7E7E777A7D7F78787A74747774747376767170726B645F626A74 +76644F566388492637657F939A929389806C4F2B15192D19313E3C35353C3D42474A3C3534 +2E342E241F19182631363731283151504C4A4267661613161B647176747674727272727373 +73747473767372706E6C6D6C6C6B6B6B6A6A6A696D6B6E71A1 +F6F6F6F6EC8D7979767676737373747476767677777877787978797A7D7B7B7A7A7A7A7B7B +7A7B7D7A7B7D7D735C604E5F735E4B3E3D53798EA19F7A534C2E27292A2D2E2B2E2E30353B +3F434C5658696C34507D8081827A7A848786847F7B7A7A76727374767270716E6E6E70747B +7D6A5F697D732827516B7E8E959592897B6D4E30181827202B3C48413F3A3A383B3835373A +37302B27231D1B2A333C3F35263D55524F51587D5F15141321697273747676737372727373 +747272747372716E6D6E6D6C6B6E6B6B6B696B6B6B6C6E72A0 +F6F6F3F4EC917978777876747673767474777778787A7979797A7A7B7B7A7A7E7B7D7B7B7B +7E7D7B7D7D7E7D725C6451566767574541557791A3A3927150382F2B2E2D2B2D2B2B2E343E +3E434E565E6C7253337B8486808289898D8B868180817B777272717274737373767473707A +746B6C828B2B27415A6B848E938E8F8971634B371C192D272A313E47443D3C38363334312E +2F2E2E2A231D1F28374244312047575250525E884E443F2F41707276767674767473727371 +71747271747271716E6D706D6C6B69696A696B6B6E6B6E729F +F6F6F1F3ED927A7B7978787878777677787878787779797A7B7B7D7A7B7A7D7B7A7A7D7B7D +7E7D7A7E7E7E8174606D5A4F646E654C3F486E8698A9A892583C312A2F2F2B28272A2F363E +42444B555F69716A2D668C8684848B8D8E8D8D8786857A7876777778787D7A797D787B7779 +6E72819B37283555636A7B868789888773674E38281428302A2D36414842372A2323242724 +2424221D1F21262A33413F291B4A58575558629B3F62707170737678767777787674727473 +7173717172727271716E6D6C6D6A6A6A6A6A6A6A696A6C719F +F6F7F3F3EC927B7A7A7977777777777777797778787979797A797A7A7D7E7E7D797A7B7D7B +7A7D7D7E7E7F7F776471654E556C765C433D5E78889FA089513C2E292F2D2B27292B2E353E +3C4149565F676C7352388D89797F87868E8F8F89898784807B7B827E7E7E81817D7B797776 +7687A548292A525C6371787B8086878476664B3429161B362D2D2D333F43413A2F2623201F +201B1D242731342F333E3B221C515959575E67A0376C747677777877777879787477767472 +73707373737273707070706B6D6D6A6B69696C69696A6B6D9F +F6F4F4EDE794797B7A7977777677797878787778767778797A797A7D7F7F7D7E7A797B7D7D +7B7D7F7E7E7E7F795E6C6C574862716C563F4A5C67726E6043362F2E2F2E2D2B29292B353C +3D4148555D636C76743F6091787F8B8D9595948E92938F8B8682878586847F7A7979797D7F +91AA4F2A2E4E59626D7171747B807F7A765F4A383421162F2E2A2E333A3F413F3E3E3D3636 +3C383E4447383A373336311D215258595A657A993D74787878787777767979787774767674 +74717374737172707170706E6B6A696A6A6A6A6B6B6C706E9B +F6F6F7F3EB937B7D797A7876747678787877777876777979797B7D7D7F7F7D7D7A797B7B7D +7E7E7E7E7D7D7E7B5F697360474F6970654F4E52494449483C332B2E2E2B2A2A2A272A363E +42434A525C64667377703B778D8992989B9A9D9A9C9C9B9A938D8B8B89827F7D7B7B7E8DA0 +AC4E313A5662676D695F666D797E7B726C5A49373123162A332F303B3F41424749494A4944 +474C53534B45433C3B362E1C2252585A5D6C947A507778797A787878777878787777767677 +7673727473737172726E71716D6B6A6A6A6C6A6C6A6A6C6E9D +F4F6F4F2EB937E7D7A7977777776797978797877787878797A7A7D7A7D7D7E7D7D7D7B7D7E +7F7E7E807F7E7F7B6B65736A5950555A5551595950423E3537342B2D2E2E2A2A2A2A2E363D +41434C50595E666C797A6C387BA29C9DA5A8A5A9A9A3A29F9B928D8B88857F7B7A808FAA9C +42344B5F667474605F6465676E74726E675A43373022201F3A353A42494B48485053535255 +5551525557574F473C31271A2A585E5F6574AD4F6A7B7B7A7D7B7978787878787876777374 +7372737474717273726E71716E6E6D6B6D6D6B6A6A6A6D709B +F6F6F7F3EC947E7B7A7A79787A797A7D7B77777A797A7A79797E7D7A7B7F7D817E7D7E7F7F +7F7F7F80807F8280735D656966665E52565958555047443838332E2B2E2D2B2D2D2D30353B +3E434851595C656B7478766C3C76B1AEADADADAEAEAAA6A29F98938E8C877D7B849DA66933 +2E4B6562707E6765676B6E697378747370624E3F38242A1B33384148585E56525155595A5C +5C5E5A5A5A5E4F483B30281D315D63647088A63D777A7D7F7E7E7A78797A76747776767474 +7376747474717271706E726E706E6D6E6D6E6D6D6C6C71719C +F4F6F6F4ED957E7B7B7B7A797B797A7E7B797B797A7B7A7D7A7E7E7F7F7E7F7F7D7D7F807E +807F7F7F81828482795D5D667276695A605F57555551473F36332E2D2D2A2B2B2B2A2E313A +3F424850575A666C7076787E6B3858A8BDB5AEADA9A9A5A2A09A958F89878B9B9A6B362A28 +3E575E566C6A637176797977857F7A7F7A74635242301C1F203D424A566263635A5A535E62 +656B6D6B645F574B3E312E263A62656E7BAE6B5A7D7B7E7D7D7F7B7D797878767774747673 +7173727272727472726E71716E6E70706E6E6E70706E7172A0 +F4F6F6F3EC947D7D7A797979797D7B7B7D7A7B7B7B7D7A7F7B7D817F7F7F81827F7E808181 +817F8084848485847E6A52657B796B63605F5A5A53514A4938332E2D2E2A2E2D29262B3038 +3E414853555C62696B707474785C352B5989A8A9A19A9C9D9C9B9B999A91764E2E2E2F2938 +4B525A5F6656607381807E828D8D85847F787464564127191833434C5360706D6A6C6A6467 +666B6E6B6B665F53433B373045656C7894AE3F767E7E7E7B7D7D7D79787A7A777776737473 +7272717376737674727171717270717171716D6C6D7071739F +F4F6F6F6ED987E7D7B7D7A7A7A7B7D7B7B7A7A7A7A79797D7E7F7E7E7E8082817F807F8280 +8184848485858786847D5A5C767971666664635D5A524E4435332F2D2D2A2E2A27262D3138 +3E42495050606064676A747982826C472A2128374959656769645A4B312326333E3B313E49 +5363646D63535F78867A7E88918F8D8F897973706656341A1B1D434C59637376707772706B +6C6D6D6C69656257453D3F3D4F6D7A84B8625E7E817F7E7E7E7D7E79787978787676767476 +7472737372737373727171727270727170717070707271739D +F4F6F7F4EC967F807E7D7B7A797B7A7B7D7A7A7B797B7A7E80808182828182848484828281 +84828484858686858581765D70746E6A6C6E6C6A675E52383336312E2B2D2D2A27242F3138 +3D444B505662676C6D7176868E98958E7F6C5342342F2927292E333C475257514941475269 +6E7B76705A56657E868088919893959A9280726E6B5C3E2216222950676E777A767A7A7773 +71736D6763635E534A3F3E41557685AC9643787F807E7B7D7E7E7F7A7A7A79777776767674 +747373717273767371707172716E707170706E6E6D6D70769F +F7F7F7F6EC9681817F7E7E7A7B7D7D7A7F7E7B7D7A7B7D7E7F8280827F8081848082808482 +82858484848586858481806C5F676B6A707676767267503334302E2D2E302D2A29282E3137 +3D3E484C555D66707371768994959A9B9D9B9A958F8D8785818786868072605A56536C737D +7F7B78725D596B73828C959A9A9B9CA195897D76675F4730161D223766727E8581857F7E79 +7676726C66635D5751453F456582A1AF436E7F7E827F7B7D7B7B7D7B7D7A79787878777774 +747474747672737373707171716E71716E7170706E7171749C +F6F6F7F3EC968282817F7F7A7D7E7E7B807E7B7D7E7E7F8080818482827E82817F82818482 +818686868786868586848180625863666D74797E725D452D33312D2D2E2D2E2D2B2A2E2F36 +3C3F4444505C676E707171848F95949698989B9C9B9892938E8D8D8572655D5D5777828289 +81787D78635D66738498A7ADAEA5A8A99B8D847B6D634F3C271627204277868B8F89848582 +7E79766E6964625D52433E4F7A9BB14F627D817F82807D7E7E7B7D7D7B7A78777776777776 +7476747674727272737172727270717071717170707071739C +F4F4F6F3EC9B8281807E7E797D7D7D7D7E7D7E807E7E8484848684817F7F84827F80828584 +8486858787878584868587867A57565D67696A6A5F4A2F2731302D2E2E2F2A2A2A2A2E2E38 +3C3E42424F59626A6C716E7E888D9294969496968C8C898C878580736360584F697A848E8D +7F807E71645E637488A1BBBAB8B1B3AD8E8D867D726553484E2E19241D3E798992938B8888 +807A726C69666560574B4C719BAC4A4A797E807F807F7D807F7B7D7D7B7A78777777767774 +7473717374717472727173717172747273717070707171729A +F4F4F6F3EC998280817D7B7B7D7E7D7D7E7E7D818282868484848484808184848180818484 +8482858686868788888886878279594950565652442F1A222E2E2B2D2D2E2D2827292B2B33 +3D3F3D454C525D656D71707D86848B8F918E8D898484808079776C5F57573F4864657B8888 +87847F736B6964717D9DBCBCB4B5B3AA93948F867865534A5E58311A21192F6B8B938E8D8B +867F78716E696A6763667FA6953C455A787D7F807F7E7F84807E7E7D7D7D7A777877767773 +76747273747676747472737171727371737370706E716E709B +F6F6F7F4ED9A8281817F7D7D7E7E7E7E7E807F818484878484858282848485858285848482 +858184868888868889898988888780643B353430221610282D2D2D2D2D2D2B2928292D3435 +3B3B3D454C4B5260646A7273797A87848586867F7B7977726B5E525152482F3F5A646E8192 +96958F82746A5A63768B9DA6A3A7B0B1A89C938479635047575350281C1D181C49778C918D +87857D79767882858EA3A76631345258767A7E7E7F807E81827F7E7E7D7F7B7A7B79777876 +76767476737476767876767472737174737372727072727398 +F4F7F7F4EC9B8284847E7D7D7E7E807F7E8182808284848485868587868684868482848585 +8482858588888988898B8B8C8C898881561914130F0D142D2B2B2D2A2F2B2A2E2B2B2E353D +3F3E3A3F3F474C555D626C6E6C747E7E7D78797372726B62594E45494B352D3B515A5D676E +858885806951474E606E7A8992919496A19B8E806E59483D5258553F1F211F161520436E8C +918F8E91959AA6B1AF803A3337374F5873787E807F7F818181817F807E7E7D7B7D7B787977 +7777747373767676787474737376747274747371737473749A +F4F6F4F3EC9B8282847F7F7E7F7E807E808080818184858586868587878887868585868584 +85858587898988898B8B8C8C8F8E8B876C24100E0D0C1B2D2A2B2A2B2D2B2B302D2E2D363E +43423C3E42424950575D676A6B71787973706B6A665E574F493E3E484234303A3F44474E52 +5964676A5A3E35384C5D66747A8484847B81776D5F4F3D3651585248353134302218151929 +3D505F6776817B5E3523313C3538535D73787D7D807F7F7F8081807E7F7E7D7B7B7A787879 +7877777677767677777474767676767476767673737474779B +F6F7F7F1EC9D84848484817D7F7E7F81828481828484858586868485868887858686868885 +88868889898C8B8B8D91918C918E8D897945120E0D0C202A292A2D2B2D2A2B302E2E27343F +4243423D4141444B5351585D5F5D6669665F595957514B423B3B3D43423D363C382A262426 +292D373E413328283345535A6772706E6D695E524E443130494E50454143475055533F2E20 +1A181A16181A1A1D222F3A38313C536577787E8080827F7E7F8181807F7E7D7B7B7978787A +79797977777677787974787879787777747474727276767698 +F6F6F7F6ED9D8585848482807E808082848484828484848586878587878787878887888988 +88888B8B8C8D8D8C8E928E8D928E918880631A0E0D0D242B282A2B2D2E2A2E312F2E2A343C +4545443C3B3C434A4B4A494F51525C5D5D55514E4B493F3A37414B524F453F423F23130F0E +0D0E0E101518212226343F495660656364574F423A2E272E3C41413C3B3B3E4B5C6C76746B +56473B313030353D3E3F3D352E41556B77797E7F7F8080817F808080807F7E7D7D7B79787A +7A797979777878797A7779787777747778737473737276749D +F4F4F7F4EFA187858585818081808182848685848484848585878886858887878788888988 +88898B8D8E8E8F8F8F928F8F948F8D887E69260F0D0E262A29292D2E2A2B2D3334302F383D +4544443F383B434B4A4544455053555655504C42413E3A3F4E5F6662584F48474133140D0C +0B0B0B0B0B0B0E18222D3B474E56555751493F31261F212B363C38313A3F413F5069747876 +736B645C4E4B4948453F3B332B435371787A7F81807F817F7F8281817E7E7F807E7B7A7B7A +797A787979797978797779787777777877737472747474769D +F6EAEAEAEDA0858585847F8080848584848585848484828586868687878988888987888988 +8B8C8E8F8E8F93928E8F9193919291897E6336100E0E242727292D2E2B2B2D3435363A3E43 +434447433B3B414A474342424B51514F4E4A453C35344459626E73736460524B443D2F1A13 +100F1016100D0C0E1B2B313A424B4F4B3B312A211915161B232A2D2B3C413C3C42576A6E70 +736D676255524948423E38302B475A747A7D7F7F8480807F81807F817F7E8180807F7B7B79 +7D7B79797A7A79797878797978787677767676727676767A9D +F6F4EFF3EF9C8585848081818186858585858586858584848586858787898B8C89898B8B89 +8D8E8F8F919291929192929192918E8C89744A130E0F282727292A2D2B2A2B3331383B4145 +42424A4841383F49444347494C4C4F4C44423C383F4E6266667379776C716C5D53423F3A2F +2E2D2933281D1D222226292D343A38342B261C140D0C0C0C0F14223035363C353B4859656B +6B65605F594B43433B3A352E2B5A66767E807F81828081818482807F7F807F8280807D7D79 +7B7D7B7A7B7A7A7E7A7879787979777879767978777678789D +F7F6F7F4F09F868280807E7F818282848585828684848586878887898B8B898B888B8B8D8D +8D8E8E93929293919292929193938F8E8E7A5A160F10282628292E2D2D2B2E3334343B434A +494A4F4B45373F48444B49484E49504A4943444F5A605E4F52726B736B70726A5D584E4234 +35332E2D222022242F3021202323201C1B160F0C0B0B090B0D1C2A31333331342F3E515A5F +5F5E595A51453E3B3B372F2B306764787D7F8081827E8182828280817E808081817E7D7D7F +7E7D797B7B7A7A7A7D7B79797A7B787979787876787878789B +F6F7F6F6F0A0878584848181828284818284848585858686888889898B898B8C8B8C8B8D8E +8E8F8D9192929292919392929391938D8C8867200F12272728282D2E2D2D2E303A353B4857 +4B484B4F4538424943484C494C4E4F4C4B4852535350413D4B596365555964605F57553F34 +29261A1D19151615161D211514141312120F0C0B0B0C0B0D14282F3437373A2D292D3E4C55 +5856514847413C3A342F2A283766647A7E7E8082827F8181808280817F81807F80807F7E80 +7E7F7D7D7D7B7B7B7B797A7D7D7B7979787879797A79797B9C +F6F7F7F6F0A08686858482808282858486858688858688898B8989898C8C8C8D8D8D8D8E8E +8F92918F928E91918F929193929192918E8B7E471612262726282D302F2E30313B3D3F4345 +4948474F493C425049444A49484C504C5253443A352E3D3C3641424243474E554F413D3D2F +261A181D14121012100E100F0D0D0D0F0F0E0D0D0D0E0F131D2B2F34373C3B312126303F4C +4B49423E3D3D34332E2824293C646A7D7F8081848484818182848481818281808180807F80 +7E7D7A7D7F7D7D7A7D797D7E7B7B7A797A7B7D797A7A7A7F9F +F6F7F7F6EFA285868582818180828486878787888788898888888989898C8B8E8C91918E8F +8F938F8F9295949292929193939495948F8E8879441B292728292E2D2F3031303B3B424345 +494E4B514C3E43484843494741444848503D2D2D2A232D292B302130283C413E31352B281D +18131914130E0D10100F0F0C0B0D0F120F0D0C0D0D0F0F131F2B2F33383C3C34211B27333D +3E3E38353533302F282321273A60738180858284848482828585828182848280807F7F7F84 +817E7E7D7E7D7D7B7B797D7D7D7E7D7D7D7F7D7B7B7A7D809F +F4F6F7F4F0A2878785848685858486878887878988898889898B8B8B8B8B8B8E8D91919193 +92919192919393949291929392929495928F8E8B784A2F2D27292D302E33332F3B3B3D424B +4C5255524F3B3E4443414444414147433C2F27231D1B211F1B1C2022212F2827282129201B +1010120F101210161015141A19141516120C0C0C0C0C0F121A22242B2E363A342F1F202731 +3637362F2D2B2D2A222222233E627A80848485828282858485858480818484808080818184 +82817D7D7A79787A7A7B7B7B7B797A7D7E7E7E7D7E7D7B7D9D +F6F7F7F6F1A6888785878886868587888B878787878889898B8C8C8C8C898B8D91938F8F92 +9291919393939293929193989694939492918E9187602F2D27272F2E303134343B363A424A +4F4F555A55443D3F4441444744423D282628221B1818191618181916232E20221921281512 +0D0F0F0D12131013191F1A3429191316120D0B0B0B0C0C0E13161A1B242E2E31342E1F222F +2E302B29242727231D202326426A7D7E8182858584848482848284818482818081807F7D81 +7E7B787D7B7A7A7A7A797B7B7D7A7D7E7D7B7D7E7D7D7A7E9D +F6F7F7F6F1A3898786878788878788888B87888B8789898C8B8C8E8D8D8B8C918F8F918F8F +92939492919393929392929596959596939492928C662F2D28282B30313533343A3A3A434C +524A515855493F444A453F47433A281D1D181D1C141914121412151A1F1C1F181A2021130F +0E0F101012121015211D1B382816151A120E0C0C0B0B0B0C0F101212181C20242B312A2928 +282E28242122211F1C2226284B78808285848585868682818282818281828180817F7F7F82 +7F7E7E7D7D797B7B7B797A7B7E7D7A7D7A7D7E7A7A7D7D7EA1 +F7F7F7F4F0A3898787888888888689898989898B87888889898C8D8C8D8C8D8D8D8D8E918F +8D8F9494939494939393919392939499969995958E72352D26282D3034363534353B3B444E +504F5158554B4141484741434131241C14151513161212131413191D1B1C1B191B20181912 +0E1413141A13121C1B1C212323141820190F0E0D0C0C0C0D100E0D0E0F1214181B27262D28 +23272322201F1D1C212627285C807F8586848685868585828482858281848282817E7E8080 +807E7D7E7D7A7A797B7D7B7A7B7A797A7A7D7E7A7B7A7B80A0 +F7F7F7F6F1A68B888988898788878888898B8989888B898B898B8C8D8E8F8F8F91918F9192 +928E9191929595939294939492939596989998968F793D2F29282A2F3135353635363B414B +51525056554F413F494C44473B2A1B14121312100F14121510141D1F1C1D221F261D1A151A +15191423231B24261D24372A22181D211C1810120D0F0C0D10100E0E0E0F101313151B1D22 +282423201F1D1B21282B2A2B6981858582868685868786828582848584848180807F80807F +7F7E7D7D7B7A7A7A7A797D7D7E7B79797B7E7E7D7A797A7DA0 +F6F7F7F6F0A58C89888888888987898B8B8C8B8C898B898C8C8B8C8C8D8F918F8F8F8F9292 +918F9192939596959595949592939395989898968D884F2E28282B303034363835373B3D48 +4F565555554A3F414E4F4444361F18180D0E0C0C0C0E10100D141A1819201C1F221D1C1A18 +18161D2F241F272F3748594F332427261D1918151012100C121510100E101210100F151918 +2326211F1D1C1D2A2D2D2A2E718282868584848585868684868684828485818280817F8281 +807F807E7E7E7D7B7A7A7B7A7A7B7A7D7E7D7E7B7D7A7B7F9A +F7F7F7F6F0A58D89888989888B898B8C8D8C8E8D8D8E8B8D8D8D8E8C8C8E8E8F8D8F919392 +9191919492959894949598959294949698999696948D5C2F292628303037363A36383A3C44 +5052565655524741484E443C2B1B18100C0C0B0C0C0D0E0C0E1310131319161A191B1D1414 +1619201F1C191D27354E696A553E352E271C1C141213100F101614120F1213100F0D101316 +1D221F1D1D1F242F2F2E2B3374848687888587858486848585858582848584848282818080 +81817F80807E7F7B7E7A7B7B7B7A7B7D7B807E7D7E7B7A7E9F +F8F8F8F6F1A68C8C8B8B89898B8B8C8D8D8C8F8F8F8E8D8D8E8D8D8E8D8F91929192929592 +8F91939393959694969698969995959898999898938F6B2E2E282A3033363B3733363B3C44 +484950504E48413D3F4541372927130D0C0B0B0B0C0B0C0B0C0D0C0D0E0F10141410101012 +1816191918151B272930414C4A4129221D1615131015101314121012100F130E100F101213 +181D1F1F1F232F3336302B357A848585868587878686878781848282828581828482848281 +82807F7F7E7B7F7B7A7B7E7F7E7D7E7E7F7E827F7F7F7F7F9D +F7F7F7F6F2A88C8C8B8B888B898B8C8B8B8D8D92918F8F93919291919291918E8F8F8E9392 +9393939395989598999899999899989A9A9A9899959178312B292D2E31333A3B35343B3E41 +433D494C524841413F3E3B2E2D20120C0B0B0B0B0B0B0C0F0E0C0C0C0D0C0E12120D0E1015 +14101515161B1D23262E383B3C31221614120E0E0D100D0D0E0F0C0D0D0C0D0D120F0E0E12 +181D1B1F22293035352F2D3E7E868686878486868686868584868584888685848685848482 +85818280807E7D7D7D7E7D7E7F7E7E7D807F827F7F7F7F7F9D +F7F6F7F6F1A78D8D8989898B8C898C8B8E8F8F91919193948F91929292928F919192919293 +9593949598989A9B9B9A9A9C9A9B9A9B9B9B9C9B9895823A2B272A2E2E2F33373534353B3F +3E383C47524B44413F3A3C342619100C0B0B0C0B0C0C1014140E13141215100E0C0C0C0E0F +0C0E0F1012191A1C212B343C3C331F14130F0C0C0D0C0B0B0C0D0B0C0B0C0C0B0D0E0C0D10 +10161A1F232B3138352E2B4881858787878584868888878684858786868786868886858686 +8684828581807F7D7E7E7F7E7B7D7E7E7F807F7F807D7E809C +F7F7F7F6F1A68D8D8B8B8B8B8C898C8E8F9291929191919392939392949191929293969393 +9496989898989D9C9B9B9B9C9B9C9B9C9C9D9D9D9B9A8D4B2B24272E2E2F343A373431373A +3A353842494843413D3E34282119120D0C0D0C0C0C0C121A18131A181616150F1323272A20 +16130F0F0F0F101215212B2D29231A14100D0B0B0B0B0B0B0B0B0B0B0B0B0B0B0C0C0C0B0C +0C101A2124303436332D2951818689898B8885878887878687888688898686868787888686 +878685817F817E7D7B7A7D7D7B7D7B7F807F7F7F817F80809C +F6F8F7F7F2A78E8D8C89898B8D8C8E8D8D8F8E919392929493929392949494939493969896 +959998999A9D9F9F9C9F9A9C9D9D9F9D9F9F9D9F9D9D91582E28272D2F2E33343635303538 +363C3B3F494848433C3D2F2A241D19100D0C0C0D0C0E1219181A1A1A1512151C2D3E3F383D +3D3E413E332A1C140F13151C18141012100E0B0B0B0B0B080B080B09090B0B0B0B0B0D0B0B +0B0D152329333A35312D2B6285878989888786888989888887878888878784868886868687 +8586848282817E7A7D7D7D7E7A7B7A7E7F80807F7E7E8081A0 +F8F7F8F7F2A88E8E8D8C8888898B918E919392939293919293949595939896959393969698 +989B9C9C9D9DA19D9D9D9D9C9F9F9FA1A1A1A0A19D9D965F302926282E2F31313533312F33 +373D3D4144484A443C3A2F2A2627231A120D0D0D0E101013181F29261A1B282D414742434C +53525F66666C5E50494E47433A2D212B2920120E0E0D0C0B0B0B0B0B0B0B0B09090B0B0B0B +0B0D14232F3436342F2A2A7087878989898786898B88888887888787868686848887868887 +8685818182827F7F7E7D7F7D79797A7B7D7E7E7E7E7F8082A0 +F7F6F8F6F2A98F8F8D8D8C898C8C8E91929493969393939494969596949596949495959896 +9B9A9B9CA0A0A19F9FA09C9FA09D9FA0A1A1A09F9D9C9662302A26292A2D313534312F2E2E +31373D42433F413F3736312D262928261D14141516151915192428201D2B33353734415370 +776C72848086878684858684897F74605744342B1D150F0C0C0B0B0B0C0B0B090B080B090B +0B0C13233035332E2B29357A87888988898788898988888989888786878786868787878885 +868682848584827E7F7E7F7E7D7E7A7B7F7E807E7E7E7E7F9B +F7F6F7F7F2AC8F918D8F8D8E8D8D9191939394989595949493949896969594969695989A99 +9C9C9C9D9FA0A1A09C9D9D9C9DA1A0A0A0A19FA09F9D985F312A2623282830333334332F30 +3037373E3D3F3E3B30302F2E2E2E2A2A28211C1A1B181514181B20232B3130342D35496588 +9C94888C8C9392969C9FA1A0A09B988879705E523321140E0C0B0C0D0C0B0C0B0909090B0B +0B0E122731312E2A27244280868788888B8889898888898989878887868787888686858586 +8586858482818280807F7F7E7E7E7D7F7E7D7D7D7D7B7D7E99 +F7F7F8F7F2AC9493918F8E8C8E8F929192929495949594959594969698969598989899989B +9B9B9D9DA1A1A0A19F9F9FA1A0A1A1A2A0A19FA09D9D995C352F2B2624262B2F302E35302F +2E33363B3C3F3B36302E302D2E2B2D2B282829231D1A1819202730343A3A373A3745516371 +7F86828B888F9998A3A6AAA8A6A19D9A8C81776550312319100F0C0E0E0B0B090B090B090C +0B0C1329332D282724245585878889898988898989898B898B8B8B89888888878586878586 +8686858582848484807E817E7B7F7D7F807E7E7B7D7B7D7D9B +F7F8F7F7F2AF989594938E8D8E8F929191959595959695989498969698999999999B9A9A9A +9B9B9C9FA1A1A19DA0A0A0A0A2A1A2A1A1A19FA2A09D965C3C2F2A282124292D2E30313131 +302F35353B3E3B34302E2D2D2E33352E2E3135312D2923282B363E43424243414347505560 +65646E7171788993A1ADB0B1A9A09B94867D735D4A3E261B1515120E0D0C0C0B0B0B0B090B +0B0C192B332E2A262426708789898B89888889898C8C8C8C8B8B8989888888878686868686 +8686868684848280807D7F7E7D7E7F7F7E7E7F7D7E7D7D809D +F8F8F8F7F3B0939292938D8D8F8F9391939395989595969696959696989698999B9B9B9B9B +9D9F9D9FA1A1A09FA1A0A09F9FA0A5A2A2A1A1A1A0A09857382F2D282624272D2D2E2E2F2B +2B2E3134353B3A3431302F2F2F3637343534373D3E3E3F37374142424843424448454B4A4C +534E555C5E63676D778892999C938986776A5649383828221B1A191410100C0B0C0B0B0B0B +0C0D1C29302E272324338089898B89898C898B8D8F8C8F8E8B8B8989888889898686868788 +89878687868482828181827E7E7D7D7F7D7D7E7E7A7D7D809B +F7F8F8F7F3AF929191938E91939393939496969A9996959698949695969698999A9C9B9C9D +9C9D9CA0A09FA19FA19FA0A0A09FA3A2A1A1A2A2A1A096533A332F29282322292B2D312F2E +2D2E303033353735333433313033383D3A3D3C3F41474C453D43474C4B4844413E3F3F3F3D +45474A5051525655565C5E626760625E514C42362F2F28242221242216120D0C0C0C0B0B0E +1318232F2D2B24222350858B8C8E8D8C8C8B8B8D8E8E8E8D8C8D8B8989898B888787878587 +878788878685848281807F827E7D7D7E7B7D7E7E7D7A79809A +F8F8F8F7F3B09593929393939696969696969899999898989A96999698969A9B9B9A9C9D9D +9F9FA0A09D9F9FA0A2A0A1A1A1A0A3A5A3A2A1A0A2A098503B342F2E282423242A2A2B2E2F +2E2B302D31343A3B3A3A34333134343D3C42444850535651453E444548454A473E3E3B3B38 +3B3B3F4449494A4A4C4F4F4F534F4B44423E332E272A28262022292A2018120C0C0C0B0D16 +1F29302A2A2926212770898E8E918D8D8C8C8D8F8E8E8D8D8B8B8986898B89888788888787 +898887888787828584818080807D7D7E7E807F7E7F7E7E7F99 +F8F8F9F7F2AF969594949293949596959696989896969698969898999995999B9A9B9B9C9D +9F9F9DA0A0A0A2A0A2A2A1A1A2A3A2A3A3A5A0A2A0A095493B3C312F27232322272A2A2D2D +292A2D2E2D34353D3D3B3636353333373E4447495159595853443F424247494442413C3A2F +2E2E3037383A3A363C3C3A383B3C3A31302E2D292327262121232A2D2E2316100C0C0C131F +2730312B2A2621213D808B8C8F8F8C8D8E8E8D8C8E8F8E918D8C8C88898B89888889888688 +888889888885858585848481807E7B7D7D7D7E7E7E7E80829A +F8F8FAF8F2B0969695949495949595949695969694959696969698989898989A9B9B9C9C9C +9D9C9D9F9D9FA0A1A0A2A2A2A2A3A5A2A2A29D9B9C9D92483B3F342E2E232124262724282A +2928292D2E30353B3D3C3A363A33383D3E414C5055565A5E595343434247454343413F3E3A +312E2E2E2B2D272729292B27292B2A292627241F2123202022212A35342D2119120F121C27 +2B2E2B292724202665888E8D8D8C8D8C8E8E8F8E8D91918E8E8E918B898C89898989898888 +888889868885878585858584817F7D7D7E7F807E7E7E7D8499 +F8F8F8F7F2B0959595949593959498999694969895959599999999989A98969A9699999B9B +9C9D9F9FA19F9F9FA2A1A2A5A5A5A5A2A1A0968C8476663E3B41362E2D2623242624242829 +282727292D303434333D373A3A36363C3E434C53575C5D625F56524849484A4A443E3B3C3B +342F2A26211F1C1A1A1D1C1D1D201B1C1D1F1C1D1F1F1D21222634383530241F161519212E +2D2B2A272220203D848D8F918E8D8C8C8D8E8F8F91928E8D8F8F8E8D8D8F8D8B8988888887 +89888887868687868584878584817F8081827F7D7D7E7E829B +F7F8F8F7F2AF949294949394959598989698959694949898999898969998989A9999999C9C +9F9C9C9DA0A0A29DA1A1A1A2A2A3A1A09B87653D3324212F383E3C2F2D2D26242623272727 +232427272D2A2F34333A38383737353C41444C565A67625F605E5856505152524844423E3A +2E2A2622201A151614151515141315151618191D1C1C2028262D373A362E261D1C1B22282F +292A29262120276B898E8F92928E9191918D8F918F8F8E8F8F8E8D8E8D8F8D8B8887888888 +898B88878787878786848784808180818481807E818081869B +F7F8F9F7F3B0959394949495949495959496969894969896969998969A9A969A9696999B9B +9B9C9C9D9F9FA1A1A2A1A1A3A2A0A0967E451F16130F102A353D41362F2E29242621232729 +26272623282B2E333338373A3836343A3E424A5057656564625D58585C5655565353494338 +312E2A2220201B16131313121410141415191C1B1C1F24292B363D3E342922201D2023292D +29242421202147858E91918E8F8C8E8F928F8E92918E91929291928E918F8F8C8989898888 +89898885888987858586878482827F8485818480828180859B +F8F8F8F8F3AF93929393939394949596959696969595959895959895989998989998989B9B +9B9F9CA09CA0A1A1A1A1A1A2A19F986D3118100F0E0D0F29343B3F3D312E2B282421212424 +2426242423282D3131373535383B343A3C414A535A5E6066655F60625E5E59565353524944 +3F38312F2B2926201D1918151A181618181B1C1D1F242B2F30363C3C3328231F1D22242828 +282222211F2B788C8F9394928F92938F93929291919192939293918E91928E8E8D8D8C8888 +8889888689898888878588878284848685868582818084859B +F7F8F8F7F3AF939494939493939393959699989695989899989698969A9999999999999A9A +9B9C9DA19DA1A0A1A2A0A1A2A1967A2F16120E0D0D0C0F2A33383E4137312E2A2822232322 +2322242226272B2E31342F33343A3B383E41484C595F696C6E6E6C6B67625F5A6059505155 +4F49433C36343634302E2A2623241F1F1D1F2224272D303334373A332F27231D2122232426 +24201D1D21608C9292939592919292929495939292939292939391918F91918C8D8B8B8B89 +878788868788898787878B8886848085878685858585848498 +F7F8F8F7F2AF949695959494949495939698969695989A9998989898999B9A9B9B99999B9D +9C9DA0A09DA1A1A1A1A1A1A198988F37140F0E0D0C0B0E2A343A3E433E3831332926212022 +23212223232226292E3030333336363A3F444A4A535F656D74747472727163595A5C636264 +646363625E5D52524E4443423C342E2E2B282B2F2E3135353B3C38312B2423232424232324 +201D1D204A889194969895939292939292939394939492949494928F918F8F918F8C8B898B +888787868787878786888B888686868585868486868585869D +F7F8F7F4F3AD939696969594959895949698969493959898989699989C9B9A9C9A9A9B9F9D +9D9DA09FA0A3A5A3A5A2A39F99A09B6016100E0C0C0B0F2A31373E42423F38332F29222024 +2023222022222224292E2E33313535373D3F434850566070767A78797677717267696B7378 +777A78786D6A67666A65605A534A42363738383A3C3D3A3C3F3E3C31272324262324232120 +1F1F1F3581939598969696959392929292939396949495949393928E91918E8D918E8B8988 +8788858688878687878B89878788868586858786878586869F +F6F8F7F7F2AF969698989595969593969495959596989896969999999B9A9A9B9B9C9DA0A0 +A1A0A0A1A1A5A5A3A2A2A19CA3A0A0842E120F0D0C0B0F2A303B3E4245473F38342D292421 +1F2022202123232226292A2D3335363A3B3D444A4F516370777B7B7D7E7B7878737073787A +79797D7D7873727177716A6055514E443F3F41433F41413F3E3A352B26232423242322201F +1C1F2D749398989A9A989995969594929594949595959594949593939191918F918D8D8B88 +888988898888888889888B878887878686868685868584879C +F7F9F8F8F2B1999896959495989894949596969595999999989598999A9B9C9D9DA0A0A1A1 +A1A2A2A1A1A3A5A3A1A39FA7A6A1998C6A1C0F0E0D0C102B31373D47484948423B332E2A23 +2020212020202222212627282B303435373C41424A555E66747E84827F7A787F7B78737679 +808684807B777877777470665A504B433E414A49424443423D35332723242323231F1F1B1C +1D286B93999A9B9B9A9A9B9A9895959698969894949494949494959292939291918D8D8B8B +898B88898888898989878C8888878689878786858588848B9F +F7F8F9F9F4B59898999998989A9B99989896969696999A9A989899999C9C9D9DA0A2A3A2A0 +A2A0A2A1A1A5A7A3A6A3A3ADA99C8D8E864F140E0E0D122831363D434B4B48493F38332E26 +2120201F22212120202323262A2E3335343B3D3E4B50585F727F8281807B7D7F7F7976787D +86888987827E7D7D7D78746C60514A41333F4F4C4548493F3D372D24202323211F1D1C1A1B +226391999A9A9C9D9B9C9C9B9A9698989996969595989695949395949594929392938F8C8C +8C89898989898989898889878787878788878784868786869C +F8F8F9F8F3B3999A99989898999A98969899999A9998999B9A9A999B9C9D9C9F9FA0A3A6A5 +A2A1A1A3A2A7A7A7A7A5A9A9A393949592883D130F0E142734373A3E4B504C4E4A423B3129 +24211F1F2122201F20222224292B2F3334353B3C3F49535C66787F7F82807D7F817D7D7B82 +898C889189878786858276715F534B42424C5653424C4A3F3E3529222320211F1D1A191A22 +5D8D989A9B9C9D9F9C9C9B9B9A9A999A9999999896959896949696949596929292928E8C8D +898C8B8989898889888789888888898887888986858687879A +F7F8F9F8F3B4989A9A98989699989899999999989A999A9A999A9B9B9C9C9F9F9FA5A5A5A3 +A2A3A2A5A5A6A8AAADB0ACA6999496959899813A130F162A30353D41484E51514C4A3C362F +2A22201D20221F1F2023212324282B2F33353A3F3E454B52596A79797E7F81817E7F7F827D +85898B8D8C88888B8284787263504844494A52524145453D372D2321221F201B1A1919215C +8D96999B9C9DA1A09C9D9C9B9C9C9D9B9C9A9A9A99969898989694959495939294948F9191 +8C8E89898988888B8987888887898888878887878786848799 +F7F7F9F9F4B69898989A9996999899999A99999999999C9C9B9C9D9D9FA0A0A1A0A1A2A6A5 +A5A5A6A6A7AAAAAAAFB1AC9F9B9A9C989C9D998730131C2E30373D43444F5356504A433A35 +2B26211F1D1D1D20202120212324282D2F31363A3B4245475059676E71777B7E8079787F7D +7E8582848281867B767B786E5D574948444A524E444541383528211F1D1D1F1A1819205C8E +999A9C9D9C9DA09F9D9F9B9C9C9C9B9B9C9A9D9B9A99999896969595949495959695929392 +8E8D8B8D8B8988898B89898887898B8B89888785868885859A +F4F7FAF9F4B49A999598989696989896999A9A9A9A9D9D9D9C9D9F9FA1A2A1A2A2A3A5A8A7 +A8A6A7A6A9AAAAACAFADA19FA29F9D9DA1A1A1A27D2E2430353A3E44484A4F53574F474738 +332B24211F1A1C2020212122212426282A2E31363C3B41444C535D64667071777472717674 +7A7A7A7E7F7A7B7E78777B7160554B49474B4C4345483F342E261F1D1F1C1B1A19235D9198 +9C9D9D9D9C9D9D9B9A9B9D9C9B9B9C9B9C9A9C9C9B9A9B98999A989996969494949493928F +8D8E8D8C8B8B89898B89898888898B8B898986868788868799 +F8F8F9F9F3B49A989696969899989898999A9C9D9C9C9D9FA1A1A1A1A0A5A3A5A6A6A6A7A6 +A7A8A7A9A9A8ACAFB1A6A0A7A6A5A3A5A5A6A9A59F7F3F37373C3F4549494F555959504B44 +3B2E2A221F1B1B202023222121222427272B2F3438373B3F474E52555C60666B6C6A6D6E6D +717276727774777D797B7970574E4B4A424E443F3F3B362F26211F1D1C1B181A2A6B91999A +9D9F9F9B9C9CA09C999B9D9B9B999D9D9B9B9A99989A989898999996959995939593929293 +92928F8B8B898B898B8B8D8C898B8988898788868889878799 +F7F8F9F8F4AF99989999989998999B9A9B9B9BA09D9C9CA1A1A0A1A3A3A6A5A9A6A7A7A8A8 +A9A9AAACAAAAAEB1ACA5A6A9A7A8A8A9A8AAA8A6A8A587483B3D4143484F5055585D5C5249 +45382E28201C1D1D1B201F1F2022232324282D2E3333363B3B4348495653575F5F5D605E5E +605F656A6D6A71787777665D53514F4E454A443E3A342D2723201F1D19191B3C7A949A9D9F +A09F9FA09D9C9B9C9A9A9B999C9C9F9F9D9B9B9A9A9A999598999999999A94959593929394 +92928F8C8B8D8B8B8B8B8B8C898C898989898987878789899C +F8F8F8F8F4B6999899999A99999A9B9C9C9B9BA09F9FA0A2A1A0A1A2A3A5A8A8A5A7A8ACA9 +A9AAAAA9ADB0B0A9A3A5A7A9AAADAAAAAEAFADADADAEA781454145484A4B505753585A5D55 +4747342A221D1A1A1C1D1D1F211F21222423292B302F333636383E44484F4F565857585353 +5057575E605F6B6E6E645A5A5958514F45443D37342D2821201D1F1B1A1F528B999C9FA0A1 +A19D9F9F9F9D9B9B9C9A9A9D9D9B9F9D9F9D9C9B9C9B9A9899989698969995949595939293 +91938F8D8B8D8C8D8B898B8D8B8B88888B888988878888889B +F7F7F9F8F3B79B9B999B9B9B9A9A9C9C9F9C9FA1A09FA2A3A1A1A1A2A5A6A7A9A8A9A9ACAD +ACAAA9A8ACB0AEA3A5A7A9ACADB3AEADB0B1ADAEADAEADA97F4C494B4C4C4F5657595A5E62 +5944422F28211C1C1B1F1C1D2221201F22212824282B2D2F2F2F38373E44484A4E53534C49 +4B4F4A5250535D655C585653514A49423C3833312E2724231F1C1D1A245F8F9A9FA1A1A1A1 +9DA0A09D9B9B9D9A9A9A9A9C9D9C9C9D9D9D9B9C9C9B9A9999999898989894959494939392 +929292918D8D8C8C8D898C8C8B898888898989888988898C9B +F7F7F9F7F4B6989B9A9B9C9B9B9D9F9DA1A0A0A1A2A2A1A3A2A1A1A6A5A7AAAAA9AAAAA9AA +AAA9A9AAB0B1A8A5A6A8ACAEB0B3B4B5B6B4AFAFB0B1B1B5AD7F4E4F4F4F50505258595C5A +5A513F382D26201C191C1B1D2020202021212624242A2B2A2E2A2F33363B3E41474E4C4944 +4343414343454A56504A4B48423D35352E2E2F2D2A28221F1B1B1F2F73949B9FA1A0A2A2A0 +A1A19F9D9C9C9A989B9B9A9A9A9B9D9D9C9D9D9C9D9C9C9A989A9A99999996999694929192 +8F8F8F8E8E8D8F8D918D8E8F8C898989898B89878988898B9D +F8F8F8F8F4AE969B999B9A9A9A9C9D9D9F9D9D9FA1A2A2A5A3A2A1A5A6A9AAAAA7A9A9A8A9 +ACA8A9ACB0AAA6A8A9AAACAFAFB1B5B5B6B5AFB0B1B4B4B4B4AD7755575755535358565659 +585650423A3026201A1A1A1B1A1D201D1F1F232422242B292626272A2D2F30363B413F4341 +3B3C3D3C3C3D414343413F3D34302F2A282E2E2F27241F1C1A1C2063959CA0A2A3A2A3A1A1 +A19F9D9D9D9F9C9C9A9C9A9C9D9CA09D9C9D9F9F9D9D9D9B9C9C999A999999969594929293 +928F92918F929292918E8F928D8B8B89898988898B8B8B8B9C +F8F8F9F8F4B59B9C9A9B9B999C9A9C9C9D9FA0A2A19FA1A2A2A2A2A5A6A8AAADACADAAAAA8 +A9A9AAACA5A5A8A9A9AAAEB3B1B3B5B3B6B6B3B3B3B4B4B3B7B7AD785F5E5C5A5856555755 +5356554F473E2B241D1A19181A1A1D1F1C1F1F1F202024232323212324272A2E312F313536 +3331332F343A3B3B3B3A34312A2724242B2F2B26221F1F1C1B1D277F9B9FA2A2A2A2A3A2A3 +A2A19FA09D9B9C9A9A9B9B9C9D9B9D9D9F9F9F9D9D9D9F9C9C9D9C9C9A9898989696949394 +9394928E92919492928F8F8F8C8B898B888889888989898B9D +F7F9FAF8F6BA9D9D9C9D9B9B9C9C9B9B9FA1A1A1A2A1A3A3A3A3A3A6A8AAAAADACADAAAAA9 +AAA9A8A1A1A9A8A9ADB0B3B3B1B3B5B6B8B8BABAB5B5B3B4B6BABAAE7A64645F5D58575859 +555153534E44362B231B16151818191C1D1C201F202020201F201C1D1D1D2023282A26262A +2728262624282A2B2D2F3129222222262A27221F1F1C181A1B1F378DA0A1A2A3A6A3A6A5A5 +A3A3A0A29D9F9D9B9B9A9B9B9B9C9DA0A19FA09FA19F9F9D9D9B9A9B9B9A96969695949594 +9494939292919293939193918D8D8B8B87898B88898D8C8C9D +F8F9F9F8F3B89C9C9D9B9A9C9C9C9C9C9C9FA1A2A0A2A6A6A3A3A5A8AAAAAAADACACA8ACAA +AAA7A29FA0AAAAA9ADB3B3B1B3B3B5B7BABBBABBBAB7B5B7B6BBBABBB07D6767625F5F5A5A +5753525252493F35272318151415161A1C1B1C1A1C1F1F1D1C1B1A1A19161A191A1C1C1D1F +20201C1F1F222223242D2822242826282821201C1C19191920243F869FA3A3A3A7A6A7A5A6 +A6A5A3A1A09FA09F9B9A9D9C9C9D9DA1A0A0A0A1A2A29F9FA09B9D9C9B9B99989694949396 +9294949594939292949392928F8E8B8988888B888B8C8C8E9F +F8F9F9F8F6B8A09D9B9B9B9C9C9C9C9C9F9FA0A1A2A5A5A5A5A7A9A7A9A9AAAEAEAAAAA9AC +A9A29A9CA1A8ADADAEB0B1B3B5B5B7B6B8BBBBBBB8B8B6B8B6BBBABABBAE7F706765625E5C +5A555655524C483B33271C1814131414161618191B1B1C1B1D1B1816161514141313121315 +1816161D28272822201D1F24262B2D23201B1B1B1816181D22273A6A8EA1A2A2A5A6A7A7A8 +A3A7A6A2A19FA09F9D9D9F9B9B9D9C9F9FA3A19FA1A2A0A19F9D9B9C9A9B9C969493969595 +9494929495939293949393928E8E8D89898989898C8B8B8D9C +F8F9F9F8F4BB9F9C9C9B9B9B9C9C9F9DA0A1A1A2A3A5A7A7A6A6AAACAAA9AAADACAAAAACAA +A79A9A9FA1A7ADAFAFB1B3B4B4B6BAB7B7BBBABBBBBABABBB8BAB7B7BDBEB38472706B6562 +5A585652514E4E433D2E231C161212121215151919181A1A1A19161816141413131310100F +0F1010151A1B1A1F1C1F26272724201A18191A1816181C22262626476C91A1A2A3A5A6A8A8 +A9A7A3A2A29FA0A09F9FA09D9D9D9FA0A2A2A09DA1A2A1A0A0A09B9C99999A969593969494 +939595949695929395929493918F8C8B88898989898B8C8C9D +F7F9F8F8F4B79C9B9D9B9A9C9C9CA09FA0A1A2A2A3A5A7A7A5A8AAA9ADAAA9ACACACACACAA +A19C9FA1A2A9AAAFB3B1B1B6B6B5BBBAB7BBBABABDBBBABBBBB8B7B8BEBCC0B38877736460 +5C5D58514F4C4B483D3A2E231B1514100F12141515151619181916191415151413120F0F0F +0F0F0E0F0F121618161816191916151419161615161F2226292418274F7095A1A2A3A7A7A8 +A9A8A3A2A1A0A3A1A0A0A19DA09D9FA2A29FA0A1A19FA1A1A19C9B9D9D9C9B989895969395 +94969593959893939695949392918C8B89898888898C8C8CA0 +F7F8F9F8F4BA9C9D9D9D9B9C9C9FA19FA0A2A1A2A3A2A5A7A6A9A9A8AAACAAAAAAACACA9A2 +9AA1A0A2A3A8ADB1B6B3B3B4B5B6BABBBABAB7BABABBBBBBBBB6BABCBDBCBEBEB189786D65 +60595A534C4C4A443E3A2F2B231C161210100F121413141616161516151516151315131310 +0F0F0D0D0C0D0E0F0F0F0F1010121416151414141A232928292214142A4C7698A3A1A5A7AA +A6A7A7A2A19FA1A1A0A0A2A0A09F9DA0A1A1A2A39DA09DA09F9D9D9C9C9A98999998989395 +959599959596969595919594918E8E8B878888888B8C8D8EA0 +F7F9FAF9F6BA9D9F9C9F9C9D9D9FA0A0A1A1A2A1A2A5A7A8A8AAAAACADAEAEAEAFB1B1A18E +8FA2A6A3A3A8AFB1B4B5B3B6B6B5BAB7BBBBB7BBBBBABABABBBCB8BBBEBDBDBEBEB488736C +675E5852504B4948413833302E261D191312100F0F10101412141414151314151314161516 +1312100F0E0F0D0E0E0E0F12141615151814151821292E2D281C1016162A5C849FA2A8A8A8 +A5A9A8A5A3A2A1A2A0A1A1A1A1A3A2A2A5A3A3A2A0A0A3A0A09D9D9D9C9B99989A95959598 +96969998969395959394949491918E8C89898B8B8C8C8B8C9F +F8F9FAF9F6BB9D9D9C9D9FA0A0A0A1A0A1A1A2A3A5A5A6A8A9A9ADAEB0AFB1B8C2C8B89B96 +989DAEA7A3ACB5B1AFB3B6B7B7B7BBB6B8BDB8BABAB8BABBBABCBABBBEB8BABBBDC1B18471 +6B696457534A4E47423833302F2E2A221B14120F0F0F0F0F10121012101013131213121013 +131312121010100F10121314161616141415151D292E2F2E2A160E13181A436D8FA1A7A9A9 +A7A7A6A5A5A3A2A2A2A1A09FA1A2A2A2A3A5A5A2A3A2A5A3A2A19D9D9D9C99989896959498 +96999696999396969593969492928D8F8B8B8B8B8B8E8F919D +F7F9F9F8F4BBA09F9C9CA09D9F9FA2A1A2A3A3A5A6A6A7A8AAAFB0B6BBC0C2C5CCCCBB9DA1 +AA9AA9AEA8AEB6B0AAB1B6BAB7B6B8B5B7BBBBB8B8B7B6B8B8BBBBBCBBB7BABDBDBCBCB384 +6C65655C564F45423C3A343031312F2D241B1A13100F0D0E0F0F0F100F10100F0F0F10100F +1012101010121010131312151414131010141B272F2F2F2D29130E0E101226527496A6A6A8 +A7A8A5A5A6A5A3A2A1A2A2A1A2A2A3A3A2A2A3A3A3A1A1A2A0A09DA09C9C9A9A9696969696 +9899969898969A9896969895919291918D8C8C898D91918F9C +F7F9FAF8F4BBA09F9D9D9FA0A0A0A1A0A3A5A5A6A7A7AAAAAEB7C2CED2CFCAC7C5C9C3B0A8 +AAA8A0B3AFB1B6B3B1B1B7BAB6B5B5B5B8B7B8B8B6B4B4BABBBCBDBBB8B8BBBDBDBCBABCAD +7F69605A555049474137373633333437362A231F16130F0D0D0D0D0E0F0E0E0F0F0F0E0F10 +0F0F0F0F0F1012121012121210121212141A232E3031312D28100D0D0E12162E5E80A2A7A8 +A8A8A7A7A6A5A5A5A2A1A2A0A1A3A3A2A3A3A3A3A3A2A2A1A0A09FA09D9D9B99999A989596 +95969899989698999695989392938F8F8D8F8E8E8D91918D9A +F7F8FAF7F4BB9D9DA0A09FA1A09FA1A0A6A5A6A8A8AAB4BDC3D1D6D6D6D2CBC7C5C1C0B5AA +A6B8B1ACB7B5B4B0B4B6B4B6B7B5B3B5B6B8B7B8B5B7B4B8B8BBBEBDBCB7B8BCBABCB7BABA +AF7E645A58534A443D3C3B37343536383F3F342D261A15130F0C0C0C140D0E0D0E0E0F0F0F +0E0F0F0F100F1010101010100F10101519222B303134312E220F0D0D0D12161A456A93A3A8 +A8A9AAA9A6A6A3A3A2A2A1A2A1A2A2A6A5A3A5A6A3A1A1A0A0A09FA09F9D9A999A99989698 +959698989999989998989A989593928F92918F8F8D8D8D8F9F +F8F8FAF8F4C09F9FA0A19F9FA1A1A0A2A6A6A8AFB8C4D0D8DCDEDDDCD8D4CCC7C4BDBCB4AA +A5ADB3AFB1B8B3AFB4B5B1B4B5B6B4B3B8B8B4B7B5B5B5B7B7B7BABDBBB5B7BBBABCB7B6B7 +B8AE7F605A5C5045433F3E3C3A3B3735414B4A3D30281F1916100E0C0E0D0D0C0D0E0E0E0E +0F0F0F0E0F0F0F120F10100F0F13161C20262F313336312D1A0E0D0D0D0E141424426A9CA7 +A9AAACA8A6A6A7A6A2A2A2A1A3A3A3A5A6A3A3A6A5A2A1A1A0A3A0A2A09D9B9B9D9A9A9696 +969896989999999A989898939192929292918F8E918E8F8D9B +F8F9FAF7F6BDA1A09F9D9F9FA1A1A2A5A7B1C1D0D7DEE0E2E2E0E0DFDBD5CAC4C5C0BBB8AF +AAA0A0B4A3B5B7AFB0B1B5B3B0B4B4B3B6B6B1B5B8B4B6B7B8B6B8BABABAB7B8B8BBBCB8B6 +B4B7AA7B6355524F4B43423E3C3E3A3B424B5A5143382E241C19140E0C0C0C0C0C0D0D0E0F +0F0F0F0F0F0F0F100F0F0F1013191C21232B33353436332A130E0D0D0D0D0E1418305C88A2 +A6A9A9AAA6A5A6A7A6A3A2A1A2A2A3A3A5A2A5A5A3A3A2A3A1A1A19C9F9F9D9C9C9D999B98 +969999999996989998969893919291928F918F8D8D918E919A +F8F9FAF7F4BDA1A0A2A0A1A0A2A5A7ADC0D4DBE2E4E5E5E5E2E2E0DBD8D2CEC8C2BDB6B7B7 +B5A394ACB0A1B7B6B0B1B0AFAEB3B6B5B6B3B0B5B5B5B6B6B5B8B8B7B7B8BABAB7BBBBBCBB +B5B8BBAD845E5552504C47423F3E3C3C424B5658594B362F28231A15100D0C0C0C0B0C0C0D +0D0D0D0D0D0E0E0F0F1013151C212426282E313134352F29100D0C0C0D0D0E1416224B719C +A6A9A9A7A5A6A5A8A6A6A3A0A3A1A5A5A3A3A5A5A6A2A2A3A1A0A29FA0A19F9C9D9D9B9A99 +96999598969596999995969491929193929291918E8E8F8E9B +F8F8FAF8F6BEA2A0A1A1A1A2A5A9B7CEDBE2E5E5E7EAE6E3E4E2DFD9D4CCC9C3C1BBBABEBD +BCB1A09FB699A6B6B4AEADB0B0B1B3B5B3B1AFB5B4B4B5B5B5B4B7B8BABABABCBAB8BCBBBA +B7B6B8BAAF82665C524E484748413E3E424751585E594B3C3034261C1A130F0D0B0B0B0B0B +0C0C0C0C0C0C0D0F12151B20282728262A2D2F31333130260F0D0C0C0C0D0D0F1C1B356389 +A6A6A8A8A8A6A5A5A6A3A3A5A1A3A3A2A3A5A6A3A2A3A3A2A2A2A29FA0A19F9C9C9B9B9A9A +9A999A9896959A9698949696949192939192928F8E8E8D8D9A +F8F9FAF8F7BC9F9D9DA2A5AABBCEDCE3E7E9EAE9E7EAEAE6E3DDDCD6CEC7C8C4BCBEBDBBBD +BABBAEACB1B58FAFB8ADA9AFB1B1B3AFB0B0AFB3B4B3B8B6B5B7BABBB7BCBDBDBDB5BBBCBB +BBB7B8B5B7AC886D5D534C4C4C48444443454C555D5F574F3E3A33291F1919160F0C0B0B0B +0B0C0C0C0E0F13151B2022282F2F2A292A2D2E3334352F1F0E0D0D0C0D0C0E0F1619295271 +9BA8AAA8A7A7A8A7A3A5A5A2A1A2A3A5A6A5A5A5A5A3A3A3A3A2A1A09FA0A09F9C9F9C999A +9A9D9A9A999699989895969591929393939293918E8D8F8E9C +F8F9FAF9F7BCA1A1A3A9BACFDDE5E7E7E9EBEBEAE7E9E9E7E3DFD8D1C7BABEBEB7B7BDBAB5 +B5BABEC3BEBDA3A0B4AFA7ADB3B3AEACB1B4B0B1B3B6B7B6B6BBBBBABABCBDBEBDBAB8BBBA +BDBEBBB8B5B8AA876C625550504F4A4749494C4E555859594A3F382E2A24211D1515120F0E +0E0F0F1214181A2027292830342E2D2D2B2B313534342F190D0C0D0C0C0D0E0F10181C3D62 +86A5AAAAAAA8A9A6A3A3A1A3A1A2A6A5A7A5A5A3A2A3A2A5A2A1A1A2A2A5A3A0A09F9B9A9A +999A999B9A969A999B999B9894939393929292918C8D8E919F +FAFAFAF8F8BDA2A7B4CBDEE6EBEBECEAEBEAECEAEAEBE7E9E7E2D8CEC1B4AFACB1AFB3B3B1 +B5C1D0CFC4BCB894A3B1B0AEB3B0ADADB1B3B1B5B3B4B3B6B6B6B8B8BABDBCBEBEBDBBBBBC +BDBEBEBAB8B5A2937E7263575151514F4F5252535250515553473C3B3130332D2923211F1A +1A191B1C1D22262B2F343536352F2E2B2A2D343834302A150D0C0D0C0D0E0E0E10141A2B56 +729CACACA9A8A8A7A5A7A5A3A5A3A5A7A6A5A5A5A3A2A2A3A3A3A2A1A1A5A3A0A19D9D9A9A +9A9B9A9B9C999B9A9B999998969594959293928F8E8E8E91A0 +F8FAFAF9F7C2B3C8DDEAEBEBEBEBECECECEBEAECEBEAE3DFDFD7CFCCC8C2BAB4B5BCBEC1C3 +C4CFD1CFC4B5BB9F8FA5B7B1AEAFACACB1B4B0B3B1B3B3B4B5B8B6B8B8BABDC0BDBEC1BDBD +BDBEBDB6B7A795939A89736A5F565253555356575352535253524A423F413F3E3D3A3A3531 +302F2E2F2B2D333837363A37342F2B29282E3436312E260F0D0C0C0C0C0D0D0F0F121B2248 +678DA6A9AAAAA9A9A7A9A8A7A7A3A5A5A6A5A5A2A2A2A2A3A1A2A1A3A2A2A3A2A09D9D9B9A +9A9D9B9B98989699999698989895939492918F8E8D8B8D8D9C +F8FAFAFAF9D8D5DFE5E9EAECECEBECEBEBE9E9EAEBEBE3DCD7D2D0CECAC4C2B8B1ADB3BABB +BBC7CEC9BDB8BBB68F94B1BBB4B1AAA8AEB3AFB4B1B3B5B3B4B4B7B7BBBBBCBDBEC1C1C0BE +BEBEBBBBAF96949DAFAE8C726E665952565C595A5857554F4F504F504C4A4A43474443443F +43433F3D3B37373C3A3B3C38342F28282B303536302E230D0C0C0C0C0D0D0E0E0F1018203B +5E7AA2A8A9AAAAAAA6A6A6A7A7A3A3A5A5A2A5A1A1A3A2A2A0A2A2A3A3A5A2A2A2A29F9C9D +9B9C9B9B9A989A9A9A999996989692939291938E8D8C8C8D9B +F9FAFAFAFAEFEAE9DEDBDDE7EBEBEDEBE6E4E5E3DEDFD5D5D8D6CFCBC8C5C4C1BDB4AFB7B7 +B1BBC3C3C0BDBBBBA898A5BBBBB3B1AEAEAEAEB0AFAFB3B5B0B4B8B5BBBCBCBBBEC0BEC0C1 +C0BDBCB59B949BB1B7B6AE8C76746E6055575D5D5A585653525053505259554F4E494C504F +504F4C4A474443433F3C3C37312D27232E3134332F2E230E0C0C0C0C0D0D0E0E0F10131B28 +566D94A7AAACAAA9A7A9A9A6A6A2A2A5A5A3A2A1A1A2A2A0A1A1A2A5A5A5A3A2A1A2A09D9D +9C9A9A9A9B99989A9A999A98949493929191928D8C8C8C8D9D +F8FAFAFAFBF6F0EFEAE2D7D7E4E9EAE3DED6D7C1B6BBC2DBDCD5D0CECBC5C4C3C2BEB8B5B3 +B4B6BEC3C2BDB7BCBAA099ADBCB8B6AFAEAFADAEAEA9ADB0B0B3B4B5B7BABBB8BABDBEBCBD +BEBDB8A6999AADBAB5B6B7B1917D79726656565C58565752535050524F4F55565651524F56 +58575655514F494A47423F362D2826282D31312E302F240D0C0B0C0C0E0D0E0F0F0F121D1B +41657EA7A9A9AAACA9A9A8A8A7A3A5A5A6A3A3A3A3A2A2A2A3A5A3A3A6A6A2A1A3A1A19F9D +9B9D9C9A999A9B9A989899989493939292918F8F8D8C8C8E9C +F8F9FBFBFDF4EDEFEDEBE6E2E5E4E5E2DDDBD5CBC9C4D5E0DDD6D1CFCCC7C4C2C3C3C0BCB4 +B0B3B8C0C1BDBABABEACA39FB7BEB3AEAFAFADACAAA8ADAFB0B3B4B6B8B7BCB8B8B8BDBDBE +BEBBA99598A9BABAB7B4B6B8B19376767667595156514F4F4F4E4E514A4B4B4F4E53575F65 +69676964605956504C413B312B2726272D2F2E2E312F280E0C0B0C0C0D0D100F100F101822 +305F729CA6A9AAAAA8A9A7A9A8A5A6A5A6A5A5A3A2A3A5A5A3A5A5A3A3A5A3A3A2A2A2A09D +9C9B9A9B9A9A9A9B99969898949492929392938E918B8B8F9C +F8FAFBFAFBF3EFEFF0F1F0EDECE9E9E6E6E4D9CFCFDBDBDEDBD6D1CCCBC9C7C2C2C2C2C3C0 +B5B0B6BEC0C0BDBDC1B8A69FA7BCB8ADADACADB0AEAEAEB1AFB5B5BAB8B6B8B7B8BAB8BDBE +BCB19893A3B5B8BDB8B6B7B8B8B18C76747264534A4B4E4E4A44484845434345484C51575D +5F636360605C594F473E382F2A2726282D2E302F302B2B130C0B0C0D0D0E0E0F0F0F101427 +285C6D87A5A9A9A9A6A8A8A8A6A7A7A6A3A5A6A3A3A3A6A2A5A7A5A6A3A6A3A1A2A29FA09C +9C99969A999A9A989C999B9896989493959393918F8F8F919B +F9FAFAFBFDF6F0F2F2F2F1F0ECEAE6E3DDE5E0D5DCDCDBDDD9D6CFC9C8C7C9C4C4C4C3C4C1 +C0B7B1BBC0C2C1C1C1C2A9A99FAFBEB3B0AEADB1B0AFACB1ADB1B1B6B5B3B5B3B5B4B4B8BA +B39D959AB1B6B6BCBABBB7B7B6B5B18F74706E6451434548433F433D3D3F3F3F41484F4F58 +5A59585C595A5553473E332D2827272831332F312F2B2B160D0C0C0D0D0F0E0E0F0F101328 +2950707BA2A9A9AAA7AAA7A7A7A8A8A5A7A5A3A6A5A3A6A3A3A6A8A6A3A5A3A0A0A3A0A19F +9B9C999A9C9B9C9B9C96989999959494959493928F91918F9C +F9FBFBFBFDF6F1F3F4F4F4F1F1ECE9DCD8DBD8E2DCD8D8DCD9D8D1CAC7CBCAC7C4C4C4C4C1 +C4C0B6B7BDC3C2C1C3C3B7ADA7A1B8BDB4ADAEB1AEADA9AEB0B3B1B0B0AFB1A2AFAEAFB3B1 +A1959AB3B7B5BCBCB8BCB5B5B6B8BBB08F716A625E513F3C3F3F3E3B35353B3A3D3E444A4F +565A5C5D5857524A443A302D2824262F343031342E2D2E1B0D0C0D0E0E0F0E0F0F0F101322 +2D47717699A8A9AAA9ACA9A8A8A8A8A8A8A5A6A3A5A6A3A6A6A5A5A3A5A6A6A2A0A1A09F9C +9B9C9C9A9D9C9B9C9D989999989593939495938E918E8F8F9B +F9FAFBFBFBF7F4F4F3F3F3F2F2F1EFE6E3DBE2E4DBD5D8DCD9D6CECBC4C9CBCAC7C8C7C5C2 +C4C4C2BABAC2C5C7C4C2C0ACB0A1AABBBCAEAFB3AEA9A9AAAEAEAFB0AAAEAAACACACAAAC9F +9398AFBABBB8BDBABAB8B1B3B5B8B6B5AF8F6E625D5853413836342E31313133343C3F444A +50555356514E4C413A332E2B26232B3138332F36302E34200D0C0C0D0E0F0F0F0F0F10131C +373E6D7A86A2A7AAAAACACAAA8A6A9A8A8A7A6A6A6A3A2A5A3A5A6A5A3A7A3A2A1A1A09F9D +9C9B9B9D9C9C9A9C9B9A9B99959393919392928E918E918F9C +FAFBFBFAFEF7F6F6F4F2F0ECEFECEAE3E5EBE9E5DFDDDBDDD8D5CFCBC7C4C7CBC8C8C7C5C3 +C2C5C3C1BCBCC3C7C5C2C1B3ACAFA1AEBDB6B1AEACA8A9A8AAADAFAEAAAAA6A7A7A5A5A08E +8EA2B8BBBDBCBCBBBBB4B1B3B6B6B7B6B4AF91665E595851473833302E2D2F2D2E35353B3F +444A4E4B48443F3B34302B292426313636332F342F3033220D0C0E0D0E0E0F0F0F0F12131D +413C6B807A899BA6ACAAAAA8AAA9A9A9A8A8A8A6A3A2A5A2A5A5A7A6A3A7A5A3A3A1A09D9D +9C9D9C9B9C9B9B9B999999989595949292928D91939192919D +FAFAFDFAFEF7F4F8F7F3EFEBEAE6E2E5EDF0EBE9E3DFDDDDDBD4CFCAC5C7C7C9C5C7C8C8C3 +C2C2C3C5C2C0C1C1C3C4C2C2ACBAADA1B3BCB8B1AEAAA6A8A6A7A8AAADAEA7A69F9A9A8986 +8FAAB5BABCBDBCBCB5B3B1B3B3B5B7B6B6BCB186635C5855524B42362E292A2D2E2E2F3038 +3E424342423F3C34302D2824262D3336373334352F3335230E0C0D0E100F0F100F0F101323 +4A426B8C857A848D9AA6A9A9AAA8A8A8A8A8A7A5A6A6A5A5A5A6A6A6A5A7A6A5A3A2A09FA2 +A19F9D9C9D9A9C9B9B9A9999959494929391929193919292A0 +F9FAFBFDFDF7F3F3F3F6F4F1ECE6EFEFEFF1EDEBE4E5DFDDD7D2CEC7C5C7C7C8C9C8CACAC4 +C5C2C2C4C4C7C2BAC4C5C3C5B4B1BDAAA2B8BDB8B3ADA8A8A2A3A9AFAFB1AFACA39F917D80 +96A7B1B6BCBEBEBEB6B5B3ADA8B1B8B8BDB8AE80635E5C56514F51524B3E302E2F2E2F3037 +34383B3835332F2E2E2923262B33373436353A342F333A260F0C0D0F0F0F0F0F0F10121428 +5755739495878884828E9FA5A9A6A8A8A8A8A9A8A7A3A3A5A5A5A3A6A5A7A6A3A5A3A2A0A2 +9F9F9D9C9B9A9C9B9B9A9898969595939492929293949493A2 +F9FAFBFBFDF8F2F1F1F0EAE9ECEDF1EDF0F1F0EBE5E5E3DCD6CEC9C5C4C4C4C8CBCAC9C8C5 +C9C5C1C2C4C9C8C0BAC1C4C5C1AEBCBCA7A3B6BCB4B0ADA8A5A6A7AEB0AFB0AFAA9F877B81 +96A1A7B1BBBCBDBCB5B4B0AAA5AEB5B6BBB082635F575856514C4B53585652493C3433302E +2D2F2E2B2A2A2A282828282A33373838353438312F353A28100C0D0E0F0F0F0F0F10121636 +5F6970787B7F85898684868D9DA3A7A8A8A7A9A7A6A3A2A5A5A6A5A3A5A7A6A5A3A2A0A1A1 +A09D9B9D9D9D9C9B9C9A9896959695929292929393929494A1 +F8F9FBFBFDF9F6F4F1F1F1F3F1ECEFF0F1F1F0ECE7E5E5E0D6D0CBC7C5C3C3C5C7C9C9CAC7 +C7C4C2C2C2C4C5C5C1BEC1C7C5B6B5BEB8A1A3B7B6ADAAAAA7A5AAAFAFAFAFB1AA94807D89 +959AA2ADB4B8BCBCB6B6AFACA6A8B0B5B08F3B3E735E4F52514F4A4F4C505D625A4941342D +292827232727282B2A2D2D2F36373A38353335302F343829120C0E0F0F0F0F100F10142142 +697B491F224F818989888585868F9FA5A7A8A7A8A5A6A6A5A7A8A9A6A5A7A7A5A3A29F9FA1 +9F9F9D9D9F9D9B9B9B999896949693939392929293929294A1 +F9FAFBFBFBF6F1F3F3F7F6F2F1EBEDF1F2F2F0ECE7E6E4E4D8CFCAC4C7C5C5C7CAC9CACAC8 +C9C5C4C3C2C5C7C4C5C2BEC2C4C3B4BEC1B69DACB5AFA8AAA8A2A7ACADACADAEA58D81848F +94969DA5AEB5BAB8BBB6AFA8A0A1A9AEA04A242973945F52514E4A4B4B4B4E555E5C554F42 +302F292827282B2E2E2F3131333435353436373130363A29120C0E0F0F0F0F0F1013192D4C +708B38151F567E868B89898887848792A0A7A6A5A6A5A5A6A6A7A8A7A2A5A3A5A3A2A0A1A0 +9C9D9B9D9D9C9A9999999A95949594969394939295969494A0 +F9F9FAFBFDF8F6F7F7F6F3F3F2ECECEFF3F2F0EFE9E7E4E4DCCFC7C3C4C4C5C5C7CBCBCBC9 +C7C7C7C4C2C3C2C4C7C7C4C0C1C7BBB5C1C0ADA0ADB5B0ACA7A6A2A8ADACACA8928B899696 +989599A1A9B1B6B7B8BAB0ACA29DA1A07B21303D7BA0985D4C504B4B45494B4E51524F4C4B +47413B363133312F302F303035363A353334313031373A29130D0F101010101012141D3D66 +789342163D6C7D81878986888989878689949FA3A5A5A6A6A5A7A7A5A3A7A6A6A3A2A1A0A0 +A09F9C9B9C9B999996989998959695959694959593949596A1 +F8F9FBFBFDF9F4F6F6F4F3F2F2EFECEBF1F2F1EDEAE7E5E3DED1C9C5C4C4C4C3C9C9CACAC8 +C9C7CAC7C4C2C2C2C3C7C5C5C2C3C3B3C1C4BEA89BADB3AFA9A8A6A8ACAEAD9C8C8C98A099 +9A969B9FA8ACB1B6B7B7AFADA8A29F954B192A52919A99945A4B4E4E494A4A4A4B4C4E4544 +43413E3A3731312F2E3030303A3B3A3838333130333A3B26140E0F1012101012141829486B +829864204577747F85868685888B8B89898586919CA1A3A5A5A5A8A6A7A8A8A7A3A2A1A0A1 +9F9F9C9B9D999A98969698969696959596969695959594949F +F8FAFBFBFDF7F3F4F3F2F2F2F2F0ECECEDF0F0EFE9E7E4E0DFD5CBC5C4C3C4C5C9CBCBCCCA +CACACAC7C7C3C2C0C3C7C8C8C9C2C0B8B6C2C3BEA59CB0B5ACA9A7A7A7A9A58D8895A3A098 +95969B9DA5ACACB3B4B4B0AFA9A6A3892D1B29538C9C949D8F57484C4A4A494B494A474541 +3F3C3A3333312F2F2F303035373A3B373A36363131383823130E0F121212121316213C5670 +89897B35567972787E7F808688898D8B8B87818286929DA1A2A6A7A5A5A6A6A7A6A5A2A09F +9F9D9D9F9D9A9A98989899989496969994969895959594959D +F9FAFBFDFEF8F3F4F3F3F3F3F3F2F1EAEAEDF0EFE9E5E3E0DDD6CCC3C3C2C5C7C8C8C7CACA +C9C9C9C9C7C8C7C5C4C4C7C5C9CAC5BDB3C1C5C4B79CA3B3AFA7A5A7A7A58E888BA2A5A19C +9594999FA1A7AEB0B6B4B1AFADA99D722841667F988F959D9D8C554C4B4A4B4A4A4A444342 +3E35312E2D2E2D2F31313137383B38373C3B3733353A3B24140F1013131213151D3A656C7F +84808D3D636E7277777D7A7B88888B898B88878786818895A0A5A6A5A6A6A6A7A7A2A2A1A2 +9FA09D9D9C9D9B98999996999696959895989899949495959F +F8F9FAFBFEF9F4F3F3F3F4F2F4F4F3ECEAEAECEDEAE6E0DFDDD8CFC4C7C5C7CBC8C8C7C5C5 +C5C7C8C9C9C9C9C7C8C7C5C8CACCCAC3BABAC7C7C2B19CA6B1A3A0A1A19584869AA7A2A099 +938D959B9DA3A8AEB5B7B3ACA9AD9658648BA8B8C99D919996A081524C4B494A4A4A45423F +3D37302E2E2F31313333353C3C3B3C3C3D3D37333C3C3724141012131414161C2B6E8B8789 +7485A86B69736D7776797A787D8281818484888888847E808C9BA3A5A5A6A7A5A5A2A1A1A0 +9D9F9D9C9D9B9B9A9B9698999898969696969698949495959F +F9FAFBFDFDFAF6F6F4F3F4F4F6F7F6F2EFEAE6E9E6E6E0DFDCD8D2C4C4C7C8CBC8C8C7C7C5 +C5CACBCCCCCECBC9CAC8C9C8C9C7C8C8C2BCC5C7C5C1ACA0A9B1A5A09682808CA0A6A2A0A0 +968D8C93969A9FA5AEB1AFA8A7A3804B7399BAC2D1D09A8D8692A16E494A49494B49433E3C +373533303034313635383B3C3D3E3F41423D37373B3C36261312121316161B263665969581 +729FAE93817B6B737A7F85827B7B7D7E7E7D7A7E7F7F7F8085858F9DA3A7A8A5A3A2A2A0A0 +9D9F9C9D9C9B9B9C999596989899959695989895959394939D +F8F8FDFBFBF9F8F7F6F4F6F6F7F6F7F3F1E7E0E3E4E3E0DED8D4D1C8C2C8C8CCCACBC8C7C4 +C4C8CBCBCCCECFCBCCC9C4C5C7C3C7C7C5C4C0C4C7C5BEA69FB0B5A98E86879AA2A3A19F9C +968F8D8D8C919BA2ACB1B1A9A29659497DA8D9D9D8DBA68D898D9F8C4A454848494442383C +353A3735353A3B3B373B3E3D41414443443B383B383C342214151413181B26354A6E99A176 +80ACB0A98C857372777E858482847E7D7D7A79787A7B7E7D7D7F7D8798A2A3A5A5A3A09FA1 +9F9D9D9D9D9B9C9B99959A9A9696969898999994939393949C +F9F9FBFBFBF9F7F7F6F6F6F7F7F4F6F3F0E7E0DCE2DEDDDBD5D1D0CBC5CBCBCCCAC8CAC9C7 +C5C8C9CACCCFD1CECCC8C5C8C7C5C8C9C9CAC4C3C5C7C4BC9CA1B1A79492A2AFAEADA7A3A2 +99918E91898C969CA1A8AFAE9F8C3B4C8EB4DEE5D9D8B48F9598A39C5D4342444748453F3B +383637373B3D3B3A373D4142454945433D3A3A3A3B3F311D131913141A243549627EA0A581 +99ACB4B18E897F70777B818281828584817D7D7A777B7D7D797879777F8B99A0A3A2A1A09F +9F9D9C9D9D9D9C9B999596999596959698969896959694949D +F9FAFDFAFDFAF7F8F6F7F6F7F8F6F6F0EFE9DED5D9DED9D7D6D1D0CEC9C7CCCBCBCECCCCCA +C7C4C8C9CACACECCCCCCC8C4C7C7CACACACAC5C4BEC4C5C4B59A9896A0A6B6BCBBB8B5AEAA +A1998F89898B91989D9DA3A19C79213493BDD6DFD6D9C1A19F9DA6A76B443F3F4344453F3F +3E413F3F3F423D3C3C3F42474B4943423E3B3B383D412E1C191D151C2834485E7789999AA7 +A6AAB8B5938B867372787D7F817F8180807B7D7B7979797E817D787878747D8B999DA1A09D +9F9D9B9A9C9C9C9A9A989998989A989996999894959595949D +F9FAFBFAFDFAF9F8F7F8F7F6F6F3F1EDEBE9E0D5D0D9D9D6D2CFCECFCECBCCCECECECACBC9 +C7C7C9C8CBCACCC9CBCCCBC9C9C5C8C8C7C9C7C8C3BDC2C4C0AF928CA3BABDBEC0BDBAB7B3 +B3A2988F8B898C8E93989C9993561B1F77D0D4CCCAD1C0B1A79AA0A1773E3D3F4144454143 +4141414341413D3D3F4245484C4B453F3D37373B3C3B2D1A1F22193142535E74849288A0B8 +ACADBAAC918C87786E76777D7E7E7F7B7E7F7E7F7D7B7B7E7E7F7D797A767071798C999D9D +9B9D9D9D9C9B9B9A9B9B9B9A9896999898969694949595949D +F9F9FDFAFEF9F9FAFAF9F8F6F0ECEAE9E7E5E2D6CFD4D6D2CFCBCED0D1CBCCCECFCFCCCBC8 +C9C8C8C7C9CACCCBCACCCBCACBC8C7C3C7C9C9CAC9C3C0C7C7C1A58FB4C2C0BEC1C0BBBCBB +B8B0A69D918C898C8F9594988837191930A3CBC2BB9391B3A7998C867136353B3E413F3E3F +3F423F413E3E3A3B3E434E504F4743413C3B3F3E3C3B2A15272D2E789494808B918978A8C0 +BAB1BCA68E8E8B81767172777B7D807F7B787A7D807F7E7F818282807F7B79716D6D84929A +9B9C9D9F9D9C9C9C9C9A9F9B9A99969695959694939594989D +F9F9FDFAFEF9F7F9F9FAF7F3EDE6E5E3E4E4E2D7CACAD1D1CBCCCFD0D2D1CCD0CECCCCCBC9 +C9C8CAC8C9CACAC8CACCCCCCCCCAC9C5C8CBCACAC8C7C4C2C4C5B89AA1BCC0C1C1C0BEBBBC +BDBAB3AC9C928C8C8D9392937B231618225F7673625D94ACA69B92926D372D2F343A373A3B +41413F3E3B3B3B3E434A55534F44433F3E424242423A28183A73ADC5C1BBA195937B84A6B7 +B7BABA998B8C89867B7272777B7E7F7E7D7D7D787D7F7E7E81868685827E7B78736D6B737F +919A9C9F9F9D9B9B9C9A9C9B989A969696959491939393959F +F9FBFDFBFDF8F4F8F9F9F9F4F0E7E3E0E3E0DDD7C4C3CED1CCCFD1D4D5D5D0CFCFCECCCECC +CCCACAC9C8C7C8C9CBCFCECFCBCCCBC9C8CBC9C8C7CAC9C5C0C3C3AD9BA5BDC3BEBEBDBCBC +BDBCB5B6AA9F969191959F94621B1615225277726C7F8FA29F9A9C926B3E352F2F2F2F3536 +3B383838343842484A525859504B4B4341434544453E283DA5D0D9D6D1C9B59C94789DA9B6 +BBC0B087828B8988817872777B80807F7F817E7D7E7D7E81848786868584827F79766E6764 +7087929B9C9C9B9C9C989A9B999998969695938F959393939C +F8FAFEFBFDF8F4F6F6F9F9F8F4EFE9E4E0DDD7D2C3C1C8CFCCCBCED1D8D8D1D0CFCCCCCECB +CCCBCBC7C9CACBCCCED0CCCFCECECCCCC8CBC9C9C5C5C9C9C3BEC4BC9F95AEC1C4C0BEC0BE +BEBEBECFBBA7A7A2999C9D9850261A1822597377858C919492959F9366423E3B3A36343535 +343A383A3C42484F5A62655F5650494442444848474E79C0DBDEE0DCD8CFAF9D8991AAB1B8 +BEBCA07E78888D89867872737A7F8081827D7F7E7F7B808484848585858584817D7D777166 +5F667387949A9A9B9B9B9C9A9896949895939291929393939D +F9FBFDFBFEF9F6F4F3F8F9F8F7F2F0EAE2D8D6D2C7C0C4CECECECFD4D8D9D5D1CFCFCCCCC8 +CCCBCAC8C9CACBCBCECCCCCFCFCFD0CACBCECBCAC7C5C9CAC4BEBEC1AE9894B6C2C2BCBDBD +C1C4C1D2CBB0AFB3A69F9B8E3B3A312A497F8D7A7A6D738186868D8F5F473F3E3F3D3F3C3E +3D3B3D41454C586371737162534E474544494A4C60A8D6DEE3E2E3DDD9CEA8997E9CA9ACB7 +C0B18C8676808C8E8881777479807F828282827E808282848484868181847F817D7978766E +635F646B798B94999A999B9B9A969494959492928E9295969F +F9FBFDFBFDF9F6F4F4F4F4F7F8F3F1EBDFD5D2D1CCC0BECCD0D1D4D5D8DBDBD2CFCFCECCCA +CECCCCCBC7C7C8C8CECBCBCECFD0D0D0CED0CCCBC8C8C5CAC7C5C1C0BCA5959BBBBDBBB7BC +C4D0E0E7E5CCB1B3B3A89D71273D495A8DACA99A8D715F747A8588895C4A43434341414145 +4547474F595F66707777715D514A4543494A5169BDDDE3E3E4E3E2DDD5C3A2948B9CA9B0B8 +BB9A87897D79898D88887F7273797F7E8181807F7F808282868887858280807F7B7B7D7976 +70696067676D7A8B9595989A9896949493949392929394939D +FAFBFBFBFDFAF6F4F3F2F2F3F6F3F3ECE0D9D5D2D0C2BEC9D0D4D7D7DBDDDDD8D1CFCED0CC +CCCACACAC8C8C8C9CBCCC9CCCCCED1D0D0D0CCCCC8C9C7C8C7C7C4C0BEB7998FA2BEBDB7C0 +C4E3EAE6ECE7C4A9AFAE9F5323354F82B1C2BDB3A8998F7D5F777F7F654F48474841434948 +4A4E50565F65717B817D6E5C4F4843454C5069C1DFE5E7E9E9E3E0D6C4AAA1958B99A2B3BB +AC8C898B87777E88898B82767076797D8080807E79787B828688848484807F807E7E7D7D7A +776E6765696C6D727F8D95969596949395959392929394949C +F9FBFDFDFEF9F7F6F6F4F1F1F2F2F2F0ECE7E0DBD5C7BEC4D1D5D6D8DCDCDDDBD4D0CFD1CE +CCCBC8C9CACACCCBCCCACBCECED0D1D0D0D1CFCCC9C7C7C7C5C7C5C5C1BCA68D91ACBBC0BB +C7EAEAEDF2EFD7ACA6AD8E3E212A5894B5C9CEC8C1ACA6A6958D878B6D564E4F4B494B4C4B +4E53595F6C777F84867F6D594C47494A4E5DBBE2E7E9EAEAE7DCCBBDADA0A3998B94A2B4B5 +918B8B898C7E79828B898579716B7477797D7D7977747A80878785858482818484817E7F7F +7B7772676A70726C6D7489949393939396959593939492939D +F9FAFDFBFDF9F6F6F4F4F1F1F0EFEFEFEFECE9E2D9D2C5C3D1D5D6D8D9DCDEDDD6D1CFCFCF +CCCCCECFCCCCC9CBCBCBCACCCECFD0D1D0D0CECECCC5C7C7C3C4C7C8C7BEB3948D96B7C2BE +C3EFEBF3F3F0D8B3ADA97A3B23265F94AFC7CCCFCFC9BDBEBAA28F9469555551504B505052 +585D636A717B8488887B6C58504A4A4B489FDDE6EAECEBE5D6C4BDB8AF9F9B9D8B8D9BAC9C +8D8B89898B887879878B887D766D71747D7D7A787877798085878684858181848786868484 +7E7E79726C737476717077808C9294959395949193949294A0 +F9FBFDFBFDF8F6F6F4F3F2F0F1ECE9E7E9EAE9E5DFDBCAC5CFD7D7D7DBDCDDDCD9D1CFCFD0 +CFD0CFCECECCCBCCCECCC9CBCACBCED0D1D1D0CECCC9C5C9C7C5C8C9C8C3BDAA8F8D9FC1C0 +BDEAF4F3F0EDCABBB59C5335232B6787A3BBCBCECFD1CECCCBC7B6A77B5C56535351535759 +5E63697278808688877A6A5D514C4C4464D1E4EAEAECE6D0C4C0BDBAB4A398A1948F939692 +8E8B8B88898B8176808D888277706E73787A7A787473787D81858282828084848585868789 +85857F7A77747779767476737B88919495939595949594939D +F9FAFDFDFDF9F4F7F3F4F2EFEBEBE6E2E2E0E2E0DFDCD0C4CBD4D6D8D8DBDCDDDCD5CED0CE +CECFCECECCCCCECECCCBCACACBCCCECFD0D1D0D0CECBC8CAC8C5C8C9CCC9C2BDA58B8CADC1 +BACBE9EFEBD4B7C2B382312B222E647B92ADC0C9CFD5D4D1CFD0CABC855E5959595557555A +5F666E77818186878678695D534C483FAFDEE7EAEBE7D2C3C1BDBCB7B7AC959C9C9A959592 +8F8D8C8887898879778787827A726D71787B7D7B7473797E81868182828484848587888B8E +8D8986827E78797E7A79797976777F8D94949495969594949B +F9FBFDFBFEF8F4F4F3F3F0F0EBEBE7E3DFDEDCDCD9D7D4C7C4D0D7D7D9DBDDDEDBD7CECECC +CCCFCECECECCCFCCCCCACACACBC9CED0D1D0CFD1CFCCCBCAC9C7C9CACAC9C5C5BEA18992B8 +C5BAB0BBBAB0BEBCB0732D26212B596D7D9BAFBECAD0D2D4D2D2CFC37A59585959565C5960 +64696D7881868989877A6B6058534165D4E4EAECE9D5C4C2C2C0BDBEBDB39D959D9F9B9591 +8E8D8B898C898780778088867F7370717877787D7974797B818886868582828688888B8D92 +92938B8885817B858782807E7E7B798087919494949495949D +F9FAFDFAFDF7F2F3F3F4F1EDEDE9E9E5DEDCD8D7D5D2D1CCC1C9D6D8D6D9DDDDDDD9D4D0CF +CECFCECECECFD0CBCECBCCCBCBC9CCCED0D0CFD0CFCFCFCCCAC5C7C8C9C7C5C8C3BEA387A1 +C3CAC1C9C9C4C0B09D875D281D223F5D70859CB3C0CCD0D0CFD1D1C2725E5C57595C5F6064 +64676D747E84898C867A6E625F573C98DDE7ECEAD8C5C3C4C4C0C0C0C0BBAC96989C9C9595 +8F8D8D8C8E8B89897B7986898279717178787A7A7874797D8488878686858187898C8E8D8F +91928E8D8C8882868E8D89858584808585888D92929291939C +FAFBFDFDFDF7F3F3F2F2EDEDEBE6E6E3DCD7D6D4D1D1CECBC0BDCFD6D8D8DCDDDBDBD8D1D0 +CFCFCCCECECECFC9CCCECCCCCCC8CACBD0D0CECFCFCFCECECCC9C8C9C8C5C4C5C4C2BAA38C +B5C8C7D1D1CBC3B484818767281A2136567188A1B0C2C8CCCECED0B06A5E5D5D585E5F6363 +63696D71787F868682766C65605344BAE2E9E9DCC8C1C3C2C4C2C3C0C1BDBBA696949B9A89 +938F8E8D8D888C8C86767E8C867A717174777B7D77747A7E81888887888889898C8D929492 +939392938F8C88878E93938E898987888B8D888B91928F9399 +FAFAFDFBFDF7F2F1F1F1ECEAE7E3E2DFDCD7D4D1CECFCECBC8BBC5D6D9D8DBDCDCDCDBD5CE +CECECFCCCECFD0CCCCCECCCECCC8CACBCED1CCCECBCBCBCCCBC9C8C5C1BCB6B4B0ADA9A899 +94C2C7C8C9C8C19A4E6495AD873720242D4B70859BB1C0C2C5C9C99B62605F5E5E605F6565 +666B6B6C777D80827A737069654F59CEE5E6D9C7C2C2C4C3C4C2C2C0C2C0BDB6A999999C96 +95949192918C8D8C8D7B7A898981776E7174797978747A808488888987878B87888F949698 +959695969593938D8F969B958E8D8C8E929693888C9293929A +FAFBFDFBFDF6F1F0F1F0EAE9E6E2DDD9D6D6D4D4CFCECCCCCABDBDD1DBD8D9DDDBDBDCD8D0 +CECBCECFCECCCECECECCCECECECBCBCCCCCECBCBC5C7C3C4C1BDB5B0A69D9B9B9BA0A2A2A5 +9AA7C5C9C9C4AE55283B82ACB5A26245372B48697A93A9B6BBC2C08B65605E5C5F5E606267 +66666A6E72787A7E7A72706B654579D8E6DBC8C2C4C7C5C3C2BEC1C1C1C1C1BDBDB8B1ACA8 +A29C93918E8C8D8E8C8B7D868B877F6E707674787878797F8288888887898C898D9194999C +9D9A9A9B9B9A9A958E969D9C9594939399A0A19B928E8E919A +FAFBFDFBFDF3ECECEDECE9E6E4E2DCD6D5D4D2D1CECBCACCC7C4B8C7D6D7D7DBDCDCDCDBD2 +CFCCCECCCECFCECECFCCCACECBCACBC8C5C2BDBBB4B0A8A8A5A5A2A19F9C9C9FA5ACB1B5BB +B7ADC2C7C7BC852E20284582A9B8B084694E3547647E93A6B0BAB57E6664605A5D5C626767 +656667676C7478797671716C654193D5D6C0BABEC1C7C3C2C3C0C3C1C1C0C0BEBEBEC0BDBB +B49F9391918E8C8F8E8F7F7F8F8D887970727777777A7B7D82888888898C8C898F989B9AA0 +A19F9B9DA1A0A19D9496A1A29B969B9D9FA6A9A6A1958E8F9A +F9FBFBFBFDF2EBEAE9EAE6E3DFDEDBD4D5D2D0D0CECCCECBC4C1B8BAD1D5D7DBD9DBDBDCD7 +CFCCCECCCECFCECCCCCACAC7C1BBB6B1AEA9A9ACA5A7A6A7A7A7AAA9B0B1B5BBBEC0C1C1C3 +C2C1C0C5C7A782592B1F295181A3B3AC8476603E3C677F8EA1AAAC766665625F5F63626367 +6764676972717376747176735F47A7C9B39C9DA2AEBCBEC1C4C3C3C0C1C0C1C0C0BDC0C0BD +AE8E8B8B89888B8C8F8F847D8E8E8B867777797877787B7E82888888898B8C8E9396989BA2 +A5A29D9CA2A5A7A39D9BA7A6A2A09FA3A5A9AEADACA18B8B98 +F8F9FDFBFDEDE3E3E3E5E3E0DBD9D7D0D1D1D0D0CFCFCCCAC5C2BDB7C9D6D7D9DCDCDCDBD7 +D1CECFCCCFCECCC5C3B8B4ACA8A6A7A6A7A7A9AEB0B5BEC0C0BEC3C1C5C2C2C3C3C2C2C1C4 +C3C3C2BDB388817B60302741586C8D99917973694243697A8B969A7269676664646465646C +69666A696B707374717377785A5EC1CBB1A8A59F9FA0A5AFBCC2C1C1C1C0BEC0C0BEBEBCAE +8F7E7674707378797A848174858C8B8B7E7A797879797B7E8187898989898C8F949A9A9FA6 +A5A5A39FA2A7ACA8A19CA3A9A8A7A5A7AAAEB1B1B1AC948094 +FAFBFDFBFBEBDEDCDBDEDCD7D6D2D1CFD0CFCCCCCECECCCBC7C1C0B6C2D2D7DBD9DBD9DBD9 +D2D0CECBC9C2B5AEA9A3A6A5A5A5ACB3B6BEC2C4C7C7CACCC9C8C5C4C7C5C8C7C5C3C3C2C5 +C4C5C2BDAF806B6664594F5052525C7B8E8C786D5C36386277868C776A696D6B646465656A +6766666B6C727478767678775385CFC8BCC1BEBAAEA29C9AA2ACB4B8BDC0BEBBBEBDB7A389 +888B827B7A797A7B7A7A78646C808588857B797B7E7B7B80818588898B8C8F93989B9FA1A8 +A7A9A1A0A3A8AEADA7A0A3AAACA9A9AAB1B3B6B6B8B4A17F91 +F9FAFDFBFBEADCDBD8D8D5D5D0CBC5C5CAC5C7C7CACCCACAC7C1C5BCBED1D6D9DBDCDDDCD8 +D7CEC2B8AFACA9A9A7A5ADB3BBBEC5C7C7C8C7CAC8CACCCCCBC9C8C5C7C8C9C8C8C5C3C3C3 +C4C2C3C1C0A87A727B889292887A696B88A09F84664E343865767D816C6A706C6566646565 +6A696C6D6E7174777474797352A2C4C0BDC1C2C4C2C0B6A9A5A0A19CA2A8B0B3B8A7968B88 +8B96959495939696938F8B76697778797E807E7E7D7E7E807E868D8B8E8F929399A0A3A8AC +ADAAA3A0A6AAADAFACA5A7ACADACACADB3B5B8BCBCB8AE8788 +F9FAFBFBFAE3CBCACAC7C3BDBCB0ADADADAEB7C0C5CACBC9C8C7C8C2BDC8D7D8D9DBDCD8D4 +CFBBA9A7A7A7B1B7BBC0C3C4C8C9CACACBC9C9CBCCCACCCCCBC9CAC8C8C5C7C9C8C5C4C4C5 +C7C5C4C2C3BDADA8AFBABBBDB8A7917A798FA19A816B5C49486576887A6A6E6B6A65606262 +64696B6A716E737371767B7358A9B8BBBDC0C3C7C3C1C2C1BEB5ACA2A09C9A9A99958B8788 +8B999B9A9C9D9F9D9F9C998F7D88857B7472797F7E7D7F7F82868D8D928F94969CA1A9ADB1 +AEAAA6A2A3ACB0B0B1A9A8ACAEAFACACB4BBBBBCBEBDB59384 +F9FAFBFAFAE7D1CFCBC7C4BDBBAFACA8A3A6A7B3B4C0C5C8C4C7CAC9BEC2D4D7D6D7D2C8BD +BDB6A9ADBAC3C9C8C4C7C8C9C9CACACACCCECACBCCC8CACECFCBC9C7C7C7C7C8C5C5C5C4C3 +C5C7C5C4C5C2BEB8BCC2C1C4C5C3B69B847D8B9A92867165554C6D7F816A6D6C6566636260 +6467696E707377787B7E806B64AFB3BABCC2C4C4C3C3C4C2C4C0C0C0BCB5A59493948E8B89 +88969B9C9A9FA0A09D9F9F99878D928C816D6A71767B7E8286888E919393959B9FA7A8AAAA +A6A09B9BA0A6B0B4B0ADA9ACAEAFAEAFB1BCBEBDC0BDB59B82 +FAFAFDFBFBF3E6E5E2DFD9D5D1C7C1BCBBB8B6B7AFAAB5BDC0C4CACBC0C0C9CEC8C1BDBDBC +BDC2C5CACBCCCECCC8C8C7C5C8C9CCCCCCCBC8CCCECBCACFCCCCCBC9C9C8C7C9C8C8C7C5C5 +C2C2C2C3C2C1C2BEBABCC0C4C7C8C7BEA88E81878F91847164565A7081696D796E66636763 +6567696D73787A7D7E7F806372AEB5BBC0C3C4C4C3C3C5C4C4C3C7C7C7C2A59196948F898C +8E949D9D9B9D9F9F9DA19C9988898F918F7D70696669797F86898E929495999AA0A39D9893 +8F8D89888E9CAAADADA9A9A6ACADAFB3B1B7BAB6B5ADA69586 +FBFAFBFAFDF3ECEAE6E5E2DDD8D0CAC8C7C2BEC3C1B7AFB0B0B3B5BAB3A6A8B6B5BABBC3CF +D4D7D5D0CECECFCBCBC7C4C7C5C8CBCBCBCBC8CECECCCBCFCCCBCACBC5C5C5C5C4C7C3C5C3 +C1C5C4C1C1C4C3C1C2BABCC4C5C8CECCC5B59B88888D8D8574665753706A5E808473696263 +66696B72787E7F818084846587AFB7BDC2C5C4C5C2C4C7C3C5C5C7C5C3B3878F96988F8B8F +91969D9FA09C9FA09DA1A2A08E8795959388817A736A6C747F8B919295989A999689858894 +9FA09C8F898C929398939591989B9D9F9D9FA2A3A3A1A39C8E +FBFAFEFBFDF2E7E6E3DFDCD7D5D1C9C7C3C1C1C1C7C2BEBAB3B0B1B3AE9B9AADBAC4CCD6DB +D8DBD7D0CFD0D1D1CCC7C3C7C5C7CCCBCBCBC7C9C5C9C7CBC8C5C5C7C5C2C1C1C3C7C4C3C3 +C4C3C2BEC1C2C2C1C1BEB8BCC5C8C8CECFC7B79D88888D89867864524C70637A8B89816D6C +6A6E7276798181818588805F94AEBCC0C3C8C5C7C5C7C7C5C8C7C5C1B68E848C92938F898E +8E91999FA09D9F9DA2A3A2A295899896958D8581847D767071808C8E919289807F818FA1B0 +B5B4ADA39A9293959694958F8D9296999CA0A7AEB5B7BCB59B +FAFBFDFAFDF2E9E5DFDDD7D4D1CFCCC8C4C2C1C0C5C5C2C0BEC0C4C0C2B6B0BDCFD5D6DCDB +DBDBDBD6D1D1D1D0CEC9C5C5C7C8CACAC7C7C5C4C3C3C1C7C7C9C7C8C7C4C3C3C3C3C2C3C3 +C2C1C0C0C1BEC1C1C1C3C0BCC1C4C7CAD0CCC7B39D8D898B8D8573644B4C66849B9B9B917A +737378787B82848788897B5F96B0BCC0C2C5C4C4C5C7C4C4C7C7C4BA96858D8F928F8F898C +8D8E99999A9B9B9BA09FA0A298889599988F84828486867F777174777777767A8D9FAAB1B7 +B8B7B1A8A29FA5AAAEADAFACA7ADAFB0B6B8BEC1C5C7C7BEA5 +FAFBFBFBFDF3E7E5E0DED7D0CFCCCAC4C2C1C1C3C5C7C3C2C0C2C5CBD0CCBEBECBD4D6DCDC +DBDCDDD9D5D1D0CCCCC8C7C5C7C5C9C9C7C4C7C4C4C4C5C4C7C4C4C4C4C4C3C2C0C2C2C4C0 +C2C1C2C4C3C2C1C2C1C2BEBEBCB8C1C7CFD0CBC4B5A6968F939688785E4A4578AAB6B1AA9A +877D7D7D7E8284878989746CA1B0BDC2C4C5C4C5C4C2C3C0C3C5C2A7898D8F8C8F918F8C8D +8D8F969B9B9A989B9A9B9DA09B8991999895878486878686857D79777D868E9CA5ACB1B3B7 +BABBB6AAA2A0A5ADB5B5B8B7B4B7BDBEBDC0C3C7CBC8C8C2AD +F9FAFBFDFDF2E9E6E3DDD8D5D1CCCAC3C4C3C3C1C1C8C2C0C0C1C4CAD1D0C4BDC4D4D7DCDC +D9DCDBDCD7D1CEC9C5C7C3C3C2C0C5C4C3C2C5C5C5C4C7C5C3C3C8C7C5C4C3C2C0C1C3C4C2 +C4C2C2C2C1BEC0C0BEC0BEBEBCB8B7C5CCCFCEC8C1BDAEA19FA5A79C7B5A4A4979A2B3B5B3 +A8928086828488898D8B6C74A9B5BDC2C3C4C4C5C2C1C5C4C5BEAE968C9192919291938C8E +8D9299A2A09A9D9F9C9CA1A1A091919F9F988D8686888B888B8B91939AA1A5A8ACB0B3B7BB +BABAB7B0A6A0A2ADB3B8BCBBBABDC0C0C2C1C3C4C9CACBC7B0 +FAF9FDFAFBEFE4E3E0D9D5D4D1CECBC5C3C1C1C0C0C4C4C1BEBEC4C8CBCFCFC1C1CFD6D9DC +DDDCDCDBD8D0CECAC7C3C3C3C1C0C4C4C3C2C0C5C3C2C3C5C5C5C5C7C7C4C3C1C2C0C3C1C0 +C2C0C1C0C1BEC0C1BEC0C0C1BEBEB8B6C2CBCCCBCBCAC3B6ACADB5BBAF8C65483435527998 +AAAC988B8688878889846081AEBBBEC3C1C4C5C4C5C3C2C1BEB19895959391919592928C8C +8C8C959C9C9A9C9C9FA19FA2A59692A09F9992878689898C8B8C92969DA1A6ADAFB3B6BBBD +BDC0BAB0A69FA3A8B1B7BDBDBABABEC0C1C1C3C2C8CACAC5B6 +F9FBFBFAFDEDE2E3DEDCD4D0D1CAC5C2BEBDBCBDBCC1C4C1BBBCC1C4CCD0D1C4BEC8D5D9D9 +D9D9D7D7D7D1CCC9C8C4C3C2C2C1C2C1C0C0C1C7C7C5C7C9CAC5C4C4C7C1C1C3C3C1C1C1C0 +C2C1C1C1C0C1C1C2C1C1C0C0BEBDBDB4B3C3D0D0D1D1CFC5B8B0B3B8BAB5A57F512D1F212B +4B74929F948D8B88887F588EB7C1C0C3C4C7C7C4C4C3C1BAB69A8B92959292918E918E8C8B +8B8C969C9C9BA09C9CA09C9DA39D8F9DA39F998D86898D8B8B8C92999FA7A9ADB3B5B6B7BD +BDBEBBB1A69DA1A7AEB3BDBEBCBBBDC1C2C4C2C1C4CBCBCABC +F9FAFDFBFAEBDDDFDEDBD5D0CECAC5C1BEC0BEBCBABEC5C0BCBCBDC5CBCED2CEC0C0CFD5D6 +D6D5D7D5D5D5CCCAC8C5C2C1BEC0BEC0C1C1C2C4C4C5C7C9C8C7C5C5C5C3C3C1C3C0C0C0BE +C2C2BEC0C1C0C0C1C2C1C0C0BEC0C1BCB6B5C7CCCED0CFCBC1B7B0B1B7BCBAAE94592B1D1B +1F243F708F9692938D78649CB8C1C3C4C5C8C8C5C2C3BDB59C8D8B8D929193949393938C89 +898D969C9B9CA29D9D9D9C9DA3A1949AA7A29C9289878B8C8D8E939AA1A8ADB1B5B4B4B7BB +BBBEBBB1A79B9FA6AEB5BCC0BCB8BCC0C2C2C3C1C3C8C8C8C2 +F9FAFDFBFBE6DBDEDCD8D6D1CFCBC4C4C2C1BEBDBBBDC2BEBDBCC0C1C9CCCBCCC3BBC7D4D5 +D6D7D7D6D7D7D0CBC8C5C2C1C3C1C0BCC0C2C3C3C3C3C5C8C4C3C4C8C8C8C7C3C2C2C0C1BE +C2C0C1C1C1C0C3C0C1C0BEBDBBBCC0BCB8BABCC1C9CECCC9C2BEB6B6B8BDBDB8B0986B3821 +1D1F242E3E66918E876967A5BBBEC3C5C5C7C4C8C5C1BB9F8B88888E8E91928E9291918D89 +8C8E929D9CA0A19F9D9FA19DA1A1999CA7A8A19A8E8D92929394999FA5A9AFB0B1B1B5BBBC +BDBEBDB5A99C9DA7ACB3BABBBCB8B6BDC1C1C1C0C1C4C7C7C3 +F9FAFDFAFBE4D6DBDCD9D5D2CECBC5C3BEBDBCC0BCBBC0C1BDC0BEC0C4C8C8CCC8B8BCCFD6 +D5D6D8D8D6D8D2CACAC8C4C5C0BEBDBCBCC1BDC2C0C2C5C4C3C3C4C8C9C7C7C4C3C1BCBDBD +C1C0C1C0C0BEC1C2BEBEC0BEBDBEC0BBBBB8BEBBBEC9CCCBCAC5C0BBB8BEBEBBB8B1A28860 +382A282A2F3B6A8F815C71ACBEC0C3C4C4C4C5C3C0BAA38D8B8788919293938F95928F8D8B +898B919A9C9B9C9F9D9FA0A2A5A69F9AA5AAA39F9494969898989CA2A5ACAEB0B3B5BBBABC +BEBDBCB6AD9B9AA5ACAFBBBAB8B8BABCC2C1C0BEC1C1C4C4C3 +FAFBFBFAFAE2D4D8DEDBD7D2CFCBC8C4BDBDBEC0BDBDBEC2C1BCBAC0C4C7CBCCCABDBAC8D2 +D1D4D5D6D5D8D7CECAC9C8C7C2BEBDBBBCC1C0C0C2C5C8C5C3C3C3C3C4C5C5C5C3C2BEBDBD +C0C0C0C1C1C0C0BEBEBEBDC0BEC0BEBBB8B6BBBDBDBEC8CFCFC9C3BEB8BBBDBBB8B8B3A7A0 +917F6A56484B5D787F4E7FADBCC0C3C3C3C3C3C0BAA68D898988898E94939292918E8F8C8C +8C8D8E999C9A9C9DA09FA3A6A6A9A69BA3A9A3A29B92959B9D9D9BA1A7ADB1B3B5BABDBDC1 +C0C0C0BEB1A39AA2ADB0BABABAB8B7BBBDC1C2C1C0C1C3C3C4 +FAFAFBFAFADCCCD2D8D8D6D2D0C8C7C4C0BEBEBEBDBCC0C4C3BEBBBEC2C7C8C8CCC3BCC2CE +D4D2D7D5D4D8D8D0C8C8C7C4C1BEBCBBBEC0C0C0C1C2C3C4C4C4C7C7C8C7C7C2C2C2C0BDBD +BDBDC1BEC1C1C0BEC1C0BEBEBDBDBDB8BBB8BBBEBEBDBEC7CCCCC8C1BCBCBBBDBABBB5B0AE +B0B5B1A89A88807A84588BB3BEBEC4C2C1C0C0C0A88B88888789888F93949394948F8F8E8B +8C8D8F969C9B9C9FA0A2A6ACAAADADA0A5ADA9A8A295999F9FA2A2A6A9AFB1B3B6BDBEC0C2 +C1C1C1BEB6A79A9FACB0B7B7B7BBB8BABCC0C1BEBEBEC3C2C3 +FAFAFBFAFAD8C4CFD2D4CFCECCC9C7C2C0BBBDBCBCBDBEC2C4C1BDBDC0C3C7C9CCCBBDBDC9 +D2D2D4D4D2D5D7D5CBC7C5C4C2BEBDBDBEC0C0C0C0C1C3C7C7C5C7C8C7C5C5C3C5C3C1C1BE +C1C2C2C2C2C1C1C2C3C3C1C2C3C0BEBCBDB6B8BDBDBEBDBEC3CFCCC7C0BCB5B7B7B8BCBBB8 +B1B7BDC1C0BDAEA3987194BAC2C1C4C4C4C0BEAC9189888B8C898C9192939593969192928F +8D8D91969FA1A2A2A2A6AAAEB3B5B7A8A8AFAFAAA8999A9D9FA1A3A6ACB3B5B7BABEC0C1C1 +C2C1C0BEB6AA9C96A8AFB8BCBDBCBBBABBBEC1C0C1C0C3C4C5 +FBFAFBFBF9D8C1CBCED0CECBC5C4C1C1BEB8BBBABABCBDC0C7C0BEBDC0C2C7CBCCCEC4BDBE +CED0D2D2D4D5D6D5CEC7C8C5C2BDBCBEBDC1C0BEBEBDBEC4C7C5C4C7C3C4C3C5C5C8C4C1C0 +C3C3C2C4C5C4C7C3C2C2C1C2BEC0BEBDBDB8B6BEBEBEC2C2BEC4CECFC9C1C0B6B8BABBC0BE +B8B5BEC8CECEC5BDA993A3C2C5C5C3C2C2C0AD918D88888B8C8D8D92959695959594929192 +8F8E8D94A0A3A1A7A9AAADB3B8BBBDB3A9AFB0AFAFA19B9A9FA194899DB3B4B8BABEBEBEC1 +C1C4C2C0BAAFA095A0AEBABEC0BDBDBABBBEBEBEC0C0BEC1C5 +FAFAFDFAF9D8BDC3C9CACBC9C7C1BEBEBDBBBABEBEC0BEBEC5C5C0BDC0C0C2C8CAC9CBBEBB +C5CFD1D2D5D5D5D5D2CAC7C5C1BCBABBBABCBDBEC0BEBEC4C5C9C5C7C5C9C8C9CACAC4C4C3 +C3C1C3C3C3C3C3C4C4C4C3C4C0BDBDBEC1BEB8BCBEBEC1C1C0C1C5CECFCEC8C2BCB8B5BBBE +BDBCBBC3CFD6D1C3AC9DAFC3C5C3C5C2BEB194928F88868C8F918F9396989999939394928F +93929299A5A9A9ADB0B3B8BBC1BEC2BEAFB3B3AFAFA9A0A0A2A1858288ADB3B6BABCBEC0C1 +C1C1C1BEBDB3A59A9AACB6BCBDBCBBB7B7BDC0C0C1C0C1C2C7 +FAF9FBFAFAD7BDC1C2C7C3C2C2C0BDBDBDBEBABDBEBEBEC1C4C4BEBDBDBCC0C5C7C8CBC3B7 +BBCCD1D1D5D4D5D2D4CFC4C5C1BEBCBDBDBBBABEC0C0C1C3C7C7C4C9CBCAC9C9C8C9C2C3C3 +C3C2C3C3C3C1C2C4C4C4C3C2C1C0C0BDC1BEBDBDBDC2C2C0BEBEC2C5C7CFCFC9C4BDB6B7BB +BDBDBBC1C7D2D5C5A6A1B6C2C2C1C0C0B3918E8D8D8885888B8D8F9296959A989894929392 +9493969AA6AEB4B4B7BCBEC3C7C5CAC7B5B3BAB5B3AFA5A3A6A9998E98B0B6B8BDBDBDC0C3 +C1C1C0C0BEB4A89998A6B4BBBABBBAB7B8BEBEBEC0C0C0BDC4 +F9FAFBFAF9D5BABBC0C2C0C0C1BEBDBDBEC0BABBBDC1C1C1C2C7C2C1C1BCC0C3C5C8CAC8BA +B8C4CFD2D2D6D6D4D1D0C7C7C5BEC0BCBEBDBDC0BEBDBEC3C3C0C5CECFC9CBCAC7C8C3C5C7 +C5C3C3C3C3C2C4C1C4C4C4C2C1C2C2C1C0BEBCB8BDBEC1BEBCBEC2C7C5C8CED1CFC9BDB8B8 +BBBCBDBEC2C9D2BCA3A8BDC4C3C2BEB3928C8F8C8B87828B8D8E9191969596969593969698 +9A989CA0AAB4B8BBBDC1C4C8C9CBCECCBAB3BEBBB7B6A8A5A5A8AAACAFB3B5B8BDBCBDC1C1 +C1C3C2C1BEB4A99D999DAEB4B5B8B8B8B6B4BBBBBEBEC0BDC2 +F9FBFBFAFAD5B7B4BBC1C0BEBEBABAB7BCBEB8BBBCBEBDBDBEC7C4C2C0BDBEC0C2C5CACCC3 +B7BACCD2D4D4D5D5D5D5CEC4C2C2C0BEBEBCBCBEBCBCBEC2C1BDC7CACECBCCCCCBC8C7C5C5 +C4C3C2C3C5C1C5C3C3C4C3C2C1C1C3C1C2C3BEBCBEBDC1C1BEC2C5CBC8CAC8CAD2D2C8C3BC +B8B8BDC0C0C1C1AA9DADBEC2C3C0B895918C8D8B898882898C8F8E8F9698989698949B9C99 +9B9DA0A6AFBBC0C0C4C8C8CBCBCED0CEC0B8C3C0BDBAADA3A7A7ACAEB1B3B6B6BABABDBEC0 +C1C1C4C3C1BAAFA0989AADB0B5B8BBBABAB8BCBBBEC1BEBCC1 +FAFAFBFAFAD6BAB7B8BDBEBCBBBCBABABCBEBDBEBCBEBEC0C2C7C7C7C3BEBEC1C2C5C9CAC9 +BDBCC3D2D5D5D7D7D8D6D4C9C4C1C1BEBEBDBBBDBCBDBCC1BEC4C4C7CACACBCCCACAC7C5C7 +C3C3C1C2C3C2C3C4C3C3C2C4C4C4C4C3C4C5C5C0C4CBCCCCCBCACCD1CFD1D1CED0D1D1CCC8 +C0BDBDBEC2C3B395A0B5C2C5C4BEA095939695918D8D87898C8F8F8F9696969A999A9DA1A1 +A1A2A8ADB1C0C3C5C7CACECBCFCFD2CFC5BBC5C8BDC1B5A9AAAAAEADB1B4B6B6BABCBEC0C1 +C3C3C4C4C1BCB0A39B96A6B0B6BABCBEBBB8BABDC1C1C0C0C2 +F9FBFDFBF9D5BBB8B5BCC1C0C0BEC0BEC0C0BEBDBEC2C4C4C3C8CCC7C7C3C3C4C4C4C7C9CB +C8BCC0D0D4D7D7D8D8D5D4CEC3C0C0BEBEBDBBC0BEBABABEC0C2C3C8C9CACBCBCBCBC8C7C5 +C4C7C5C4C5C3C4C7C9CCCECCCEC9CACED0CFCEC7C7CFD0CECCC9CACBCCD0D1D1D1D1D0D1D1 +CCCCC7C9CCD1C58C9CBEC8CAC9B7A0A19F9FA19C9A988F94969898989D9F9FA0A0A0A3A8A9 +A7A9AFB1B6C2C5CBCBD0D1D1D2D1D1D0CBBBC2CCC9C7BEB1A8ACADAEAFB5BBB8BCBCBEBEC2 +C3C4C5C5C2BCB0A59B96A0ADB6BBBDBEBDBBB8BEC2C1C2C2C4 +F9FAFDFAF9D2B7B6B6BCC1C0C1C1C1BEBEC1C0BCBEC2C4C5C4C4CECCC9C5C4C3C3C7CACED0 +CFC1BBC3D2D6D6D6D6D5D4D1C4C1C1BEBDBEBCBDBCBCB8BBBDC0C2C5C7C8C7CBCCCCCBCACA +CECFCFCFCECFCFCCCFD0CFCCCCCECFCFCECFCCC7C4CCD0CCCAC9C8CBCCCECECFD1D1CFD0D1 +D4D8D7D5CED1D5ACA1C7CAC9C4A29F9F9D9D9D9FA19A959A9C9FA1A3A8AAAEAFAFAEB0B5B5 +B4B4B6B7C0CACFD0CFD4D5D4D5D6D5D2D0BEC0CECFCAC5BCADA8AFB0B1B5B6B7BBBCBEBDBE +C2C3C3C4C1BCB1A69A95A0A8B3BDBDBEC1BDBDBEC2C2C2C1C4 +F9F9FAFAF9D0B1B4B6BAC0C2C1C1C0BEBEC2C1C0BDC1C2C4C2C2CBCCCCC9C3C2C2C5C5CBCE +D0C9B8BBCED5D8D9D7D6D4D4C9C2C2C1BEBEBBBEBCBCBDBDBDC0C2C4C7CCCCD1D4D1D2D4D1 +D1D1D5D0D0D1D0D0CED1CECFCFCFD0CFD0D1CFC8C9CECECCC9CACAC9CACBCECCCFCFCED0D0 +D1D1D5DBD4D1D6C2BCCAC8CAB4A1A09DA0A09C9CA09A969A9F9BA1A5AFB3B4B5B4B8BBBEC1 +BEC0C1C2C8D4D7D8D9DDDEDDDDDEDEDBD9C9C7D5D8D4D2CCC2B1AEB1B1B1B4B7BABBBDBEC0 +C1C1C3C2C0BBB4A8A0959BA3AEB7BDC1C1BDBDBEC3C1C2BEC3 +end +restore +%%EndDocument + + endTexFig + 730 1187 a Fq(Anil)g(Goel)960 1185 y Ft(c)946 1187 y +Fp(\015)p Fq(1993,)g(1994)586 1247 y Fo(\(akgoel@math.uwaterloo.ca\)) +811 1782 y(Version)29 b(1.1)847 1843 y Fr(last)12 b(modi\256ed)840 +1903 y Ft(July)h(11,)f(1994)642 2438 y(Math)g(F)o(aculty)g(Computing)g +(F)o(acility)747 2499 y(Uni)o(v)o(ersity)g(of)g(W)l(aterloo)796 +2559 y(W)l(aterloo,)g(Ontario)799 2619 y(Canada)h(N2L)g(3G1)p +eop +%%Page: 1 2 +1 1 bop 0 53 a Fn(1)60 b(Intr)o(oduction)0 165 y Ft(L)12 +158 y Fs(A)33 165 y Ft(T)55 181 y(E)80 165 y(X)18 b(is)h(based)g(on)f +(T)408 176 y(E)432 165 y(X)g([9])g(and)g(is)h(one)f(of)g(the)g +(typesetting)g(languages)g(a)o(v)o(ailable)g(at)h(W)l(aterloo.)35 +b(It)18 b(is)0 225 y(easy)d(to)e(learn,)i(widely)e(a)o(v)o(ailable,)i +(and)f(has)g(an)g(informati)o(v)o(e)e(and)i(comprehensi)o(v)o(e)g +(manual)g(\(see)g([11)o(,)h(12)o(]\).)0 286 y(One)e(weakness)h(of)f(L) +367 279 y Fs(A)388 286 y Ft(T)410 301 y(E)435 286 y(X)g(is)g(graphics.) +20 b(Although)12 b(it)h(has)h(b)o(uilt-in)e(facilities)g(for)g(dra)o +(wing)g(\256gures)h(the)o(y)g(are)0 346 y(e)o(xtremely)f(ugly)g(and)g +(dif)o(\256cult)f(to)h(use.)73 406 y(EEPIC)e([10])f(is)h(a)g(set)h(of)e +(L)518 399 y Fs(A)539 406 y Ft(T)561 422 y(E)586 406 +y(X)h(macros)g(that)g(recti\256es)f(this)h(de\256cienc)o(y)g(in)g(L) +1395 399 y Fs(A)1416 406 y Ft(T)1438 422 y(E)1463 406 +y(X)g(to)f(a)h(lar)o(ge)g(e)o(xtent.)17 b(Ev)o(en)0 466 +y(so,)e(it)e(is)i(not)e(always)g(possible)h(to)g(typeset)g(arbitrarily) +e(comple)o(x)i(\256gures,)g(pictures)g(and)f(images)h(in)g(a)g(L)1846 +459 y Fs(A)1867 466 y Ft(T)1889 482 y(E)1914 466 y(X)0 +526 y(document.)25 b(Therefore,)15 b(at)g(times)f(it)h(is)g(necessary)g +(to)g(use)g(some)g(other)f(language)g(\(such)h(as)g(PostScript\))e(to)0 +586 y(de\256ne)f(parts)g(of)g(a)h(document)f(otherwise)g(typeset)h +(using)f(L)1033 579 y Fs(A)1054 586 y Ft(T)1076 602 y(E)1101 +586 y(X)h(.)73 647 y(PostScript)8 b([4)n(,)g(5,)g(6])g(is)g(a)g(page)g +(description)g(language)g(wh)o(ich)g(has)g(achie)o(v)o(ed)g(w)o +(idespread)g(use.)14 b(PostScript)0 707 y(syntax)k(is)h(gi)o(v)o(en)f +(in)g(plain)f(ASCII)h(te)o(xt.)35 b(Although)18 b(PostScript)f +(programs)g(are)h(usually)g(generated)g(by)g(a)0 767 +y(program,)9 b(comple)o(x)h(graphical)f(ef)o(fects)g(can)h(be)f +(obtained)h(by)f(small)h(manually)f(written)f(PostScript)h(programs)0 +827 y(\(see)k([7)o(]\).)73 887 y Fo(Xfig)f Ft([1)o(])g(is)g(a)g(\256g)f +(language)h(editor)f(which)h(runs)f(under)g(X11.)18 b(It)12 +b(pro)o(vides)f(a)h(point)g(and)g(click)f(interface)0 +948 y(similar)k(to)h(that)f(of)h(MacDra)o(w)m(.)28 b(Once)16 +b(editing)f(is)h(complete)g(\256g)f(\256les)h(can)g(be)g(con)n(v)o +(erted)f(into)h(PostScript,)0 1008 y(EEPIC)d(or)f(a)g(v)o(ariety)g(of)g +(other)g(languages.)73 1068 y(F)o(or)d(details)h(on)f(using)g(these)h +(and)g(other)f(facilities)f(mentioned)h(in)g(this)h(document,)g(see)g +(the)f(corresponding)0 1128 y(man)j(pages)h(in)f(addition)g(to)g(the)h +(references)f(mentioned)f(at)i(the)f(end.)73 1188 y(F)o(or)g(the)g +(purposes)h(of)f(this)g(document)g(a)h(graphical)e(entity)h(consisting) +h(of)f(geometrical)f(objects)i(and)f(te)o(xt)0 1249 y(will)f(be)h +(de\256ned)g(as)h(a)f Fr(\256gur)n(e)p Ft(,)g(the)g(term)g +Fr(pictur)n(e)g Ft(will)f(be)h(used)h(for)e(an)h(arbitrary)e(dra)o +(wing)h(and)h(a)g(pix)o(el)g(image)0 1309 y(\(such)g(as)i(raster)e +(scan\))g(will)g(be)h(referred)e(to)i(as)g(an)f Fr(image)p +Ft(.)19 b(The)13 b(term)f(dra)o(wing)g(will)g(used)h(to)f(refer)f(to)i +(an)o(y)g(of)0 1369 y(the)f(abo)o(v)o(e.)0 1522 y Fn(2)60 +b(Enhancing)14 b Fm(L)395 1514 y Fl(A)421 1522 y Fm(T)448 +1541 y(E)477 1522 y(X)h Fn(to)f(include)g(\256gur)o(es,)h(pictur)o(es)f +(and)h(images)0 1634 y Ft(There)d(are)f(se)o(v)o(eral)h(tools)g(for)f +(enhancing)g(the)h(basic)g(L)945 1627 y Fs(A)966 1634 +y Ft(T)988 1650 y(E)1013 1634 y(X)g(package.)18 b(Most)12 +b(of)g(these)g(can)g(be)f(classi\256ed)h(into)0 1694 +y(three)g(distinct)g(cate)o(gories)h(as)g(follo)o(ws:)0 +1796 y Fq(Macr)o(o)g(Packages)24 b Ft(These)18 b(are)d(written)h(in)g +(T)820 1807 y(E)844 1796 y(X)g(or)g(L)966 1789 y Fs(A)987 +1796 y Ft(T)1009 1811 y(E)1034 1796 y(X)g(and)g(pro)o(vide)f(more)h(po) +o(werful)f(or)g(higher)o(-le)o(v)o(el)122 1856 y(commands)g(for)g(dra)o +(wing)g(\256gures)g(and)h(pictures.)28 b(Examples)16 +b(of)f(macro)g(packages)h(include)g(EEPIC)122 1916 y([10)o(])c(and)h +(MusicT)448 1927 y(E)473 1916 y(X)f([16)o(].)0 2018 y +Fq(T)l(ypesetting)g(Languages)24 b Ft(These)15 b(are)e(independent)h +(languages)g(much)f(more)h(suited)f(for)g(picture)h(dra)o(wing)122 +2078 y(than)f(L)233 2071 y Fs(A)254 2078 y Ft(T)276 2094 +y(E)302 2078 y(X.)h(Examples)g(include)f(PostScript)g(and)h(Fig.)22 +b(Programs)12 b(written)h(in)h(these)g(languages)g(can)122 +2138 y(be)e(included)g(in)h(a)f(L)463 2131 y Fs(A)484 +2138 y Ft(T)506 2154 y(E)531 2138 y(X)h(document,)f(usually)g(with)h +(the)f(assistance)i(of)d(a)i(macro)f(package.)0 2240 +y Fq(Interactive)g(Applications)23 b Ft(These)12 b(are)g(applications)f +(and)h(programs)e(which)i(help)f(to)h(hide)f(the)g(lo)o(wer)o(-le)o(v)o +(el)122 2300 y(details)h(of)g(using)g(macros)g(and)g(languages)g(from)f +(the)h(user)g(by)g(means)h(of)e(con)n(v)o(enient)h(user)g(interfaces.) +122 2360 y(Prime)f(e)o(xamples)i(of)f(such)h(applications)f(are)g +(graphical)g(editors)g(\(e.g.,)i Fo(xfig)p Ft(\))d(and)i(translators.)0 +2462 y(In)f(the)h(rest)g(of)f(this)h(section)f(the)h(abo)o(v)o(e)g +(three)g(cate)o(gories)f(of)h(tools)f(are)h(discussed)h(in)e(re)o(v)o +(erse)h(order)f(starting)0 2522 y(with)j(interacti)o(v)o(e)g +(applications)g(that)g(pro)o(vide)g(con)n(v)o(enient)g(user)g +(interfaces)g(for)f(creating)h(comple)o(x)g(\256gures)0 +2582 y(and)e(pictures.)21 b(F)o(or)13 b(each)g(cate)o(gory)m(,)h(an)f +(e)o(xample)g(is)h(used)f(to)h(illustrate)e(the)h(basic)h(techniques)f +(of)g(preparing)0 2643 y(a)18 b(\256gure)f(or)g(picture,)h(optionally)f +(con)n(v)o(erting)g(the)g(resulting)g(dra)o(wing)g(into)g(a)h(more)f +(suitable)h(format)e(and)963 2798 y(1)p eop +%%Page: 2 3 +2 2 bop 0 53 a Ft(including)14 b(the)h(dra)o(wing)f(in)g(a)h(L)558 +46 y Fs(A)579 53 y Ft(T)601 69 y(E)626 53 y(X)g(document.)25 +b(The)15 b(e)o(xamples)h(chosen)f(are)f(some)h(of)f(the)h(most)g +(popular)0 114 y(tools)d(of)g(those)h(a)o(v)o(ailable)f(for)f +(performing)g(a)i(particular)e(task.)0 246 y Fq(2.1)50 +b(An)12 b(Interactive)g(Application)f(-)h Fo(XFIG)0 340 +y Fq(2.1.1)50 b(Using)13 b Fo(xfig)f Fq(to)g(cr)o(eate)g(a)h(\256gur)o +(e)0 433 y Fo(Xfig)i Ft(is)h(a)g(graphical)e(editor)h(that)g(runs)h +(under)f(the)g Fo(X11)g Ft(windo)o(w)g(system.)28 b(It)15 +b(is)h(a)g(po)o(werful)e(facility)g(for)0 494 y(dra)o(wing)e(\256gures) +g(that)g(works)g(on)g(both)g(monochrome)f(and)i(color)f(display)g(de)o +(vices.)73 554 y(Figure)f(1)g(illustrates)g(a)g(sample)h +Fo(xfig)f Ft(screen)g(while)g(being)h(used)f(to)g(create)h(a)f(comple)o +(x)g(\256gure.)18 b(Figures)0 614 y(generated)11 b(in)g(this)g(manner)g +(can)g(be)g(stored)g(in)g Fo(fig)g Ft(format)f(\256les)h(for)g(future)f +(editing)g(with)h Fo(xfig)p Ft(.)18 b Fo(Fig)11 b Ft(is)g(an)0 +674 y(independent)h(language)g(that)g(supports)h(a)f(v)o(ariety)g(of)g +(\256gure)f(dra)o(wing)h(facilities.)0 806 y Fq(2.1.2)50 +b(Converting)12 b Fo(Fig)g Fq(format)g(\256les)0 900 +y Ft(L)12 893 y Fs(A)33 900 y Ft(T)55 916 y(E)80 900 +y(X)k(does)g(not)f(understand)h Fo(Fig)f Ft(format)g(\256les.)28 +b(Therefore,)17 b(\256les)e(created)h(by)g(using)f Fo(xfig)h +Ft(need)f(to)h(be)0 960 y(con)n(v)o(erted)c(into)g(a)h(format)e +(suitable)h(for)g(including)g(in)g(a)g(L)1012 953 y Fs(A)1033 +960 y Ft(T)1055 976 y(E)1080 960 y(X)h(document.)73 1021 +y Fo(Fig)19 b Ft(format)g(\256les)g(can)h(be)f(con)n(v)o(erted)h(into)f +(a)g(v)o(ariety)g(of)g(other)g(formats)f(using)i(the)f +Fo(fig2dev)g Ft([1)o(])0 1081 y(command.)47 b(T)l(wo)22 +b(of)f(the)h(more)g(popular)f(of)h(these)g(formats)g(suitable)g(for)f +(L)1442 1074 y Fs(A)1463 1081 y Ft(T)1485 1097 y(E)1510 +1081 y(X)h(documents)g(are)g(the)0 1141 y(PostScript)13 +b(language)h(and)g(the)g(EEPIC)g(macros.)23 b(By)14 b(default)f +Fo(xfig)h Ft(runs)g(in)f(landscape)i(\(wider)e(than)h(tall\))0 +1201 y(mode)k(and)h Fo(fig2dev)e Ft(also)i(defaults)f(to)g(landscape.) +37 b(Both)18 b(take)g(a)g Fo(-P)h Ft(option)e(which)i(causes)g(them)f +(to)0 1261 y(operate)12 b(in)g(portrait)f(\(taller)g(than)h(wide\))g +(mode.)18 b(If)11 b(you)h(use)h(-P)e(on)h(one)g(and)g(not)g(the)g +(other)g(you)g(are)g(likely)f(to)0 1322 y(get)h(a)h(side)o(ways)f +(\256gure.)73 1382 y(As)h(an)f(e)o(xample:)0 1479 y Fo(\045)30 +b(fig2dev)f(-L)h(eepic)f(model.fig)g(>)h(model.tex)0 +1599 y(and,)0 1720 y(\045)g(fig2dev)f(-L)h(ps)f(model.fig)g(>)h +(model.ps)0 1817 y Ft(produced)8 b(the)h(EEPIC)h(\(L)441 +1810 y Fs(A)462 1817 y Ft(T)484 1832 y(E)509 1817 y(X\))e(and)h +(PostScript)f(\256les)h(that)g(resulted)g(in)g(the)g(two)f(dra)o(wings) +h(sho)o(wn)g(in)g(Figure)f(2)0 1877 y(when)k(included)g(appropriately)f +(in)i(this)f(document.)73 1937 y(Also)g(note)g(that)g +Fo(xfig)g Ft(menu)g(pro)o(vides)g(an)g Fr(export)g Ft(b)o(utton)g +(which)g(can)g(be)g(used)h(by)f(the)g(user)g(to)g(directly)0 +1997 y(con)n(v)o(ert)h(and)g(store)g(the)g(dra)o(wing)g(being)g(edited) +g(into)g(a)g(format)f(of)h(their)f(choice.)21 b(The)14 +b(use)f(of)g Fr(export)h Ft(b)o(utton)0 2058 y(in)j Fo(xfig)f +Ft(eliminates)h(the)g(need)g(for)f(the)h(user)g(to)g(e)o(xplicitly)f +(con)n(v)o(ert)h(the)g Fo(fig)f Ft(format)g(\256les)h(into)g(a)g(more)0 +2118 y(suitable)i(format)f(by)i(using)f Fo(fig2dev)p +Ft(.)38 b(When)20 b Fr(export)f Ft(option)g(is)g(used,)j(the)d +Fo(fig2dev)g Ft(command)g(is)0 2178 y(in)n(v)o(oked)11 +b(automatically)h(and)g(silently)h(by)f Fo(xfig)g Ft(to)g(carry)g(out)g +(the)g(rele)o(v)o(ant)g(con)n(v)o(ersion)g(of)g(formats.)73 +2238 y(Once)j(the)g(dra)o(wing)f(has)h(been)g(con)n(v)o(erted)f(into)h +(PostScript)e(or)h(EEPIC,)i(the)f(resulting)f(\256le)g(needs)h(to)g(be) +0 2298 y(included)d(in)g(a)h(L)282 2291 y Fs(A)303 2298 +y Ft(T)325 2314 y(E)350 2298 y(X)f(document.)0 2431 y +Fq(2.1.3)50 b(Including)12 b(EEPIC)h(\256gur)o(es)g(in)f +Ft(L)753 2424 y Fs(A)774 2431 y Ft(T)796 2446 y(E)821 +2431 y(X)0 2524 y(T)l(o)i(include)f(an)g(EEPIC)h(\256le)f(in)g(your)g +(L)683 2517 y Fs(A)704 2524 y Ft(T)726 2540 y(E)751 2524 +y(X)h(document)f(you)g(use)h(the)f(EEPIC)h(and)f(EPIC)g(style)h +(\256les.)21 b(T)l(o)14 b(do)0 2585 y(this)e(you)h(must)f(\256rst)g +(input)g(the)g(rele)o(v)o(ant)g(\256les)825 2566 y Fk(1)845 +2585 y Ft(:)p 0 2628 780 2 v 56 2659 a Fj(1)75 2674 y +Fi(nfssfontcompat)d Fh(style)h(\256le)g(is)g(local)g(to)g(W)m(aterloo)f +(and)i(de\256nes)g(some)g(old)e(style)h(font)f(de\256nitions)g(like)g +Fi(\\fiverm)963 2798 y Ft(2)p eop +%%Page: 3 4 +3 3 bop 6 327 a + 30785863 30170138 0 0 33219788 32627752 startTexFig + 6 327 a +%%BeginDocument: xfig.ps + +/bitgen + { + /nextpos 0 def + currentfile bufspace readhexstring pop % get a chunk of input + % interpret each byte of the input + { + flag { % if the previous byte was FF + /len exch def % this byte is a count + result + nextpos + FFstring 0 len getinterval % grap a chunk of FF's + putinterval % and stuff them into the result + /nextpos nextpos len add def + /flag false def + }{ % otherwise + dup 255 eq { % if this byte is FF + /flag true def % just set the flag + pop % and toss the FF + }{ % otherwise + % move this byte to the result + result nextpos + 3 -1 roll % roll the current byte back to the top + put + /nextpos nextpos 1 add def + } ifelse + } ifelse + } forall + % trim unused space from end of result + result 0 nextpos getinterval + } def + + +/bitdump % stk: width, height, iscale + % dump a bit image with lower left corner at current origin, + % scaling by iscale (iscale=1 means 1/300 inch per pixel) + { + % read arguments + /iscale exch def + /height exch def + /width exch def + + % scale appropriately + width iscale mul height iscale mul scale + + % data structures: + + % allocate space for one line of input + /bufspace 36 string def + + % string of FF's + /FFstring 256 string def + % for all i FFstring[i]=255 + 0 1 255 { FFstring exch 255 put } for + + % 'escape' flag + /flag false def + + % space for a chunk of generated bits + /result 1000 string def + + % read and dump the image + width height 1 [width 0 0 height neg 0 height] + { bitgen } + image + } def +72 300 div dup scale +702 689 3 bitdump +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000007fff067fff06bfff06dfff06efff06f7ff06fbff +06fdff06fe7fff1dfb7fff067fff06bfff06dfff06efff06f7ff06fbff06fdff06fe7fff +1dfb7fff067fff06bfff06dfff06efff06f7ff06fbff06fdff06fe7fff1dfb7fff067fff +06bfff06dfff06efff06f7ff06fbff06fdff06fe7fff09f7ff02f7ff037fff0cf97fff06 +7fff06bfff06dfff06efff06f7ff06fbff06fdff06fe7fff09f7ff02f7ff037fbfff0bf8 +7fff018fff04787fcfff03bbbfff01ddff01dfff02dff87ffbff03efff0187ff04f7f07f +9fff03fbc1ff05fde1ff05fe7fff09f7ff02f7ff037fbfff0bf97fff0177fdefff027dbf +effdff025bbfff01ddff01dfff02dffbbffbff03efff01bbff01f7ff02f7f7f7dfff03fb +dfff03bfff01fdeeff01bff7ff02fe7bbfff0387ff04f0d38e36ff018d387f0e38ff0af8 +7fff0177ff01efff027dbfeffdff01feebbfff01ddff01dfff02dffbbffbff03efff01bb +ff01f7ff02f7f7ff01dfff03fbdfff03bfff01fdeeff02f7ff02fe7bbfff03dbfdf7ff02 +f74d77d5ff01f4d77fbfd77fff09fb7fff0175d9c3ff027db1ef1871feebbfff01dd4e18 +ff02dffbb1c29c6eff01efff01bb1c61c7ff01f7f7e7de3fff02fbdf7438d30fff01fdee +a73a61ff02fe793fff03dbfdf7ff02f75f0613ff0185d77fbe177fff09f87fff0175ddef +ff027daeeeedeefeebbfff01dd35d77fff01dff86eba6faeff01efff0187ebb7bbff01f7 +f0f7dddfff02fbc3add74dbfff01fde19bb9b7ff02fe7ab1bb1c7fdae861c69c775f7dd5 +ff0175d77fbdd77fff09fa7fff0175ddefff027da0ee0de0fe0bbfff01dd75d77fff01df +fae0bafc2aff01efff01bf0cf783ff01f7f7f7dc1fff02fbdfddd75fbfff01fdefbfbbb7 +ff02fe7aaebaebbfc6edf7ba6bb75f75d6ff0175d77fb5d87fff09fb7fff0175ddefff02 +7dafeefdeffeebbfff01dd75d77fff01dffb6fbafbaaff01efff01beef77bfff01f7f7f7 +ddff03fbdfddd75fbfff01fdefbfbbb7ff02fe7baebb383fdaedf7baecf0df8e177f85d8 +7fce1f7fff09f87fff01559dedff027daeeeedaefeebbfff01dd75d77fff01dffbaebafb +aaff01efff01beebb6bbff01f7f7f7ddddf7dffbdfac375fb77df5efbfbbb6efbefe7bae +bbdbff01daedf7baef7fff08f77fff09f97fff018e58f3ff027871c71e71fee83fff01e3 +7618ff02dffbb1c2fc35ff01efff01bf0c79c7ff01f7f7e38e38e38ffbc175f8dfce38e1 +efbf1bb9c71c7e7baeb2ebbfdacdb6baebbfff08f8ff0afa7fff01f7ff047fff06bfff06 +dfff06efff06f7ff03fdf7dffbff01fdff037df5ff04efbefe7bb1cb1c7f872e79c6ec7f +ff13fa7fff067fff06bfff06dfff06efff06f7ff06fbff01fdff04fdff06fe7fff1dfb7f +ff067fff06bfff06dfff06efff06f7ff06fbff06fdff06fe7fff1dfb7fff067fff06bfff +06dfff06efff06f7ff06fbff06fdff06fe7fff0bfe003c007800ff0cfb7fff067fff06bf +ff06dfff06efff06f7ff06fbff06fdff06fe7fff0bfeff01bdff017bfeff0cfb7fff067f +ff06bfff06dfff06efff06f7ff06fbff06fdff06fe7fff0bfeff01bdff017bfeff0cfb00 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000007fff0bfeff01bdff017bfeff0cfb7fff +387fff0bfeff01bdff017bfeff0cfb7fff387fdfff02dfff06f7feff01bdff017bfeff0c +fb7fff387fdfff02dfff06f7feff01bdff017bfeff0cfb7fff387fdfff02dfff06f7feff +01bdff017bfeff0cfb7fff0b07ff06f8ff04cfff02f7ff05fe7fff04df7fff107fc34e38 +dbfe38cb0e375387feff01bdff017bfeff0cfb7fff0b7fff01efff01fdff02f77fff01fb +ff01b7ff02f7ff037fff027fff049ebfff027fefff0c7fdd35df57fdd75575d74d77feff +01bdff017bfeff0cfb7fff0b7fff01efff04f77fff01fbff01bfff02f7ff067fff045ddf +ff03efff0c7fdd7c184ffdf75575d75d77feff01bdff017bfeff0cfb7fff0b7e34c3fe39 +c18ff77f4e30ff01be375387ff01dd8e74e3ff0178d38e34ff01dddfc38e74c3ff0c7fdd +7df757fdf75575d75d77feff01bdff017bfeff0cfb7fff0b0dd36ffdddfb77f87f35dbff +010dd74d77ff01dd77735dff017f4d75d37fdddfdd77736fff0c7fdd7dd75bfdd7550dd6 +5d77feff01bdff017bfeff0cfb7fff0b7dd76ffe7df707ff017f75dbff01bdd75d77ff01 +dd9f775dff01785f7417ff01dddfdd77776fff0c7fc37e385dfe38dd7e395d87feff01bd +ff017bfeff0cfb7fff0b7dd76fff01bdef7fff017f75dbff01bdd75d77ff01ddef775dff +01775f75f7ff01dddfdd77776fff0c7fff077fff03feff01bdff017bfeff0cfb7fff0b7d +d76dfddddf77f77f75db7fbdd65d773fd9777761ff01775f85d7ff01debfc377776dff0c +7fff077fff03feff01bdff017bfeff0cfb7fff0b7e3773fe38c18ff8ff01763cff01be39 +5d877fe58e377dfe385ff637ff01077fdf8e3773ff0c7fff0bfeff01bdff017bfeff0cfb +7fff1afeff04ddff0377ff04dfff0f7fff0bfeff01bdff017bfeff0cfb7fff1fe3ff038f +ff04dfff0f7fff0bfeff01bdff017bfeff0cfb7fff387fff0bfe003c007800ff0cfb7fff +387fff1dfb7fff387fff1dfb000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000037fff01b7ff06dfff +49f7ff03fb7fff01b538dd9d38ff02dfff49f7ff03fb7fff01b4df5ddcd77fff01dfff49 +f7ff03fb7fff01b5f855ddd77fff01dfff09bfff091fff08fe0fff09dfff08fe0fff091f +ff08fe0fff03f7ff03fb7fff01b5f755ddd77fff01dfff093fff08feefff09efff09dfff +08feff09feefff09efff03f7ff03fb7fff01b5f755ddd87fff01dfff08febfff08feefff +09dfff099fff08feff09feff0adfff03f7ff03fb7fff010df86b8ddf7fff01dfff09bfff +09efff09bfff095fff08fe9fff08feff0adfff03f7ff03fb7fff05f77fff01dfff09bfff +09dfff091fff095fff08fe6fff08fe1fff09bfff03f7ff03fb7fff05f8ff02dfff09bfff +09bfff09efff08fedfff09efff08feefff09bfff03f7ff01bfff01fb7fff08dfff09bfff +097fff09efff08fe0fff09efff08feefff097fff03f7ff03fb7fff08dfff09bfff08feff +09feefff09dfff08feefff08feefff097fff03f7ff013a7ffb7fff03fdff04dfff08fe0f +ff08fe0fff091fff09dfff091fff091fff097fff03f7ff01b9bffb7fff03fdff04dfff49 +f7ff01bbbffb7fff03fdff04dfff49f7ff01bbbffb7fff01fcb8e18e3fff02dfff49f7ff +01bbbffb7fff01fd575d75dfff02dfff04dfff04dfff04dfff04dfff04dfff04dfff04df +ff04dfff04dfff04dfff04dfff04dfff04dfff04dfff03f7ff011bbffb7fff01fd575d06 +7fff02dfff04dfff04dfff04dfff04dfff04dfff04dfff04dfff04dfff04dfff04dfff04 +dfff04dfff04dfff04dfff03f7ff03fb7fff01fd575d7fbfff02dfff01fdff02dfff01fd +ff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01fd +ff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01fd +ff02dfff01fdff01f7ff03fb0000000000000000001fff01fdff02dfff01fdff02dfff01 +fdff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01 +fdff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01fdff02dfff01 +fdff01f7ff03fb7fff03fbff04def7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bd +ef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef +7bdef7bdef7bdef7bdef7bdef7bdef77ff03fb7fff03fbff04def7bdef7bdef7bdef7bde +f7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7 +bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef77ff03fb7fff0101ff +01fbff01f80fff01def7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bd +ef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef +7bdef7bdef7bdef7bdef77ff03fb7ffcfe7ffbff01e7f3ff01def7bdef7bdef7bdef7bde +f7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7 +bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef77ff03fb7ff3ff019f +fbff019ffcff01def7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef +7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7bdef7b +def7bdef7bdef7bdef77ff03fb7fefff01effbff017fff017fc000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000037fdfff01 +f7fbfeff02bfdfff49f7ff03fb7fbfff01fbfbfdff02dfdfff49f7ff03fb7f7fff01fdfb +fbff02efdfff49f7ff03fb7f7fff01fdfbfbff02efdfff49f7ff03fb7eff02fefbf7ff02 +f7dfff49f07fff02fb7eff02fefbf7ff02f7dfff49f7ff03fb7dff037befff02fbdfff49 +f7ff03fb7dff037befff02fbdfff49f7ff03fb7dff01efff017befff017ffbdfff49f7ff +03fb7dff01c5557beaaa2aabdfff49f07fff02fb7dff01efff017befff017ffbdfff49f7 +ff03fb7dff037befff02fbdfff49f7ff03fb7dff037befff02fbdfff49f7ff03fb7eff02 +fefbf7ff02f7dfff49f7ff03fb7eff02fefbf7ff02f7dfff49f07fff02fb7f7fff01fdfb +fbff02efdfff49f7ff03fb7f7fff01fdfbfbff02efdfff49f7ff03fb7fbfff01fbfbfdff +02dfdfff49f7ff03fb7fdfff01f7fbfeff02bfdfff49f7ff03fb7fefff01effbff017fff +017fdfff49f01fff02fb7ff3ff019ffbff019ffcff01dfff49f7ff03fb7ffcfe7ffbff01 +e7f3ff01dfff49f7ff03fb7fff0101ff01fbff01f80fff01dfff49f7ff03fb7fff03fbff +04dfff49f7ff03fb7fff03fbff04dfff49f07fff02fb7fff03fbff04dfff49f7ff03fb00 +00000000000000001fff49f7ff03fb7fff03fbff04dfff49f7ff03f87fff03fbff04dfff +49f7ff03fb7fff03fbff04dfff49f07fff02fb7fff03fbff04dfff49f7ff03fb7fff03fb +ff04dfff49f7ff03f97fff03fbff04dfff49f7ff03f87fff0101ff01fbff01f80fff01df +ff49f7ff03f97ff8fe3ffbff01c7f1ff01dfff49f07fff02f87fe7efcffbff013f7e7fdf +ff49f7ff03fb7fdfff01f7fbfeff02bfdfff49f7ff03f87fbfeffbfbfdff017fdfdfff49 +f7ff03fa7f7fff01fdfbfbff02efdfff49f7ff03fb7eff01effefbf7ff017ff7dfff49f0 +07ff02f87eff02fefbf7ff02f7dfff49f7ff03f97dff01efff017befff017ffbdfff49f7 +ff03fa7dff01c5557beaaa2aabdfff49f7ff03fa7dff01efff017befff017ffbdfff49f7 +ff03fb7eff02fefbf7ff02f7dfff49f07fff02fb7eff02fefbf7ff017ff7dfff49f7ff03 +fb7f7fff01fdfbfbff02efdfff49f7ff03fb7fbfff01fbfbfdff017fdfdfff49f7ff03fb +7fdfff01f7fbfeff02bfdfff49f7ff03fb7fe7ff01cffbff013f7e7fdfff49f07fff02fb +7ff8fe3ffbff01c7f1ff01dfff49f7ff03fb7fff0101ff01fbff01f80fff01dfff49f7ff +03fb7fff03fbff04dfff49f7ff03fb7fff03fbff04dfff49f7ff03fb7fff03fbff04dfff +49f07fff02fb7fff03fbff04dfff49f7ff03fb7fff03fbff04dfff49f7ff03fb7fff03fb +ff04dfff49f7ff03fb7fff03fbff04dfff49f7ff03fb0000000000000000001fff49f01f +ff02fb7fff03fbff04dfff49f7ff03fb7fff03fbff04dfff49f7ff03fb7fff03fbff04df +ff49f7ff03fb7fff03fbff04dfff01000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000001fff01f7ff03fb7ffc03ff01fbff01c03fff01dfff0100 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000001fff01 +f07fff02fb7fe3fcff01fbfe3fc7ff01dfff010000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000001fff01f7ff03fb7fdfff017ffbfdff01fbff01 +dfff011fff451fff01f7ff03fb7fbfff01bffbfbff03dfff011fff451fff01f7ff03fb7f +bfff01bffbfbff03dfff011fff451fff01f7ff03fb7fbfff017ffbfbff03dfff011fff45 +1fff01f07fff02fb7fbffeff01fbfbff03dfff011fff08f7ff2dfbff0e1fff01f7ff03fb +7fdff9ff01fbfdff03dfff011fff08f7ff2dfbff0e1fff01f7ff03fb7fe1e7ff01fbfe1f +ff02dfff011fff08f7ff2dfbff0e1fff01f7ff03fb7ffe00ff01fbff01e00fff01dfff01 +1fff08f7ff2dfbff0e1fff01f7ff03fb7ff9ff010ffbff02f0ff01dfff011fff0181ff02 +fdff017fff02feff0e8077bfff018bff07c5ff14feff0b1fff01f07fff01fdfb7fe7ff01 +f7fbff037fdfff011fff01deff027ddf7fff02fcff0edf773fff0173bfff02efff03b9ff +05fbff0efe7fff0a1fff01f7ff02f9fb7f9fff01fbfbff03bfdfff011fff01df7fff017f +dfff03feff0edfff01bffefbbfff02efff037dff05fbff0efd7fff0a1fff01f7ff02f5fb +7f7fff01fdfbff03dfdfff011fff01df71d21d8778f478f2ff0edff7bc7eff010d2738c2 +734e3f7fe3c9d33e3a30ff0efd3f1e3c70c38f4fff041fff01f7ff02fdfb7eff02fdfbff +03dfdfff011fff01deee8b79de7763376cff0edee7bbbf3fb8b7b76f7a2ddf9fddb38cdd +d19bff0bfbff02fbbeeddbaebb762fff041fff01f7ff02fdfb7eff02fdfbff03dfdfff01 +1fff01c1eedf7ddf6fb7a75eff0ec0f7b7bfc7bdf7af6f7b7bdfe3bd7bdddbdbdbff0bfb +ff02fb9debd7afbefb7fff041fff01f007ff01fdfb7dff02fdfbfbff02dfdfff011fff01 +dff8df7ddf6fb7a05eff0edef7b03ffbbdf7afef7b781ffd817bddd81bdbff0bfbff02f7 +ddfbf031c6fb7fff041fff01f7ff02fdfb7dff02fdfbfbff02bfdfff011fff01dfe6df7d +df6fb7a7deff0edff7b7ff01fdbdf7afef7b7bff01febfb7dddbfbdbff0bfbff02f01dfb +f7fefafb7fff041fff01f7ff02fdfb7dff02fbfbfdff027fdfff011fff01dfeedf7ddf6f +b7afdeff0edff7b7fefdbdf7afef7b7bff017ebf8fdddbfbdbff0eefcdfbf7eebafb7fff +041fff01f7ff02f07b7eff02f7fbfdff01feff01dfff011fff01dfec9f5dd77777b76c7f +ff0ddff7bbbe7badf7176b717ddf3ddd7fdddddbdaff0eefeeeddba69b777fff041fff01 +f7ff03fb7eff02effbfeff01f9ff01dfff011fff018ff20fb8ee38e318f2ff0e8fe31c7e +87d8f8b8f78a3e3f43e383888e318dff0ec7c31e3c69a78e3fff041fff01f07fff02fb7f +7fff019ffbff011f87ff01dfff011fff267dff1e1fff01f7ff03fb7f8ff87ffbff01e07f +ff01dfff011fff08f7ff1d7dff0ffbff0e1fff01f7ff03fb7ff007ff01fbff04dfff011f +ff08f7ff1d3bff0ffbff0e1fff01f7ff03fb7fff03fbff04dfff011fff2687ff0ffbff0e +1fff01f7ff03fb7fff03fbff04dfff011fff36fbff0e1fff01f07fff02fb7fff03fbff04 +dfff011fff451fff01f7ff03fb7fff03fbff04dfff011fff451fff01f7ff03fb00000000 +00000000001fff011fff018077bfff018bff3f1fff01f7ff03fb7fff03fbff04dfff011f +ff01df773fff0173bfff02efff3b1fff01f7ff03fb7fff03fbff04dfff011fff01dfff01 +bffefbbfff02efff2cfbff0e1fff01f07fff02fb7fff03fbff04dfff011fff01dff7bc7e +ff010d2738c2734e3fff29fbff0e1fff01f7ff03fb7fff011fff01fbff01fc7fff01dfff +011fff01dee7bbbf3fb8b7b76f7a2ddfff29fbff0e1fff01f7ff03fb7ffc03ff01fbff01 +e01fff01dfff011fff01c0f7b7bfc7bdf7af6f7b7bdfff29fbff0e1fff01f7ff03fb7fe3 +1cff01fbff011c60ff01dfff011fff01def7b03ffbbdf7afef7b781fff381fff01f7ff03 +fb7fdffe3ffbfeff01f8ff01dfff011fff01dff7b7ff01fdbdf7afef7b7bff391fff01f0 +1fff02fb7f1ffe3ffbfdff01f8ff01dfff011fff01dff7b7fefdbdf7afef7b7bff391fff +01f7ff03fb7f1ffe3ffbf8ff03dfff011fff01dff7bbbe7badf7176b717ddfff381fff01 +f7ff03fb7f1fff017ffbf8ff03dfff011fff018fe31c7e87d8f8b8f78a3e3fff29fbff0e +1fff01f7ff03fb7fbffeff01fbf8ff03dfff011fff0d803fff27fbff0e1fff01f7ff03fb +7fdff9ff01fbfeff03dfff011fff0cf87fc3ff27fbff0e1fff01f07fff02fb7fe1e3ff01 +fbff010e3fff01dfff011fff0ce7ff01fcff27fbff0e1fff01f7ff03fb7ffe00ff01fbff +01f007ff01dfff011fff02e00003ff079fff023fff351fff01f7ff03fb7ff9e30ffbff01 +fe387fdfff011fff01f81fff01fc0fff02dfff02fe7fff02cfff351fff01f7ff03fb7fe7 +ff01f7fbff03bfdfff011fff01c7ff03f1ff02dfff02fdff03f7ff351fff01f7ff03fb7f +9fff01fbfbff03dfdfff011fff013fff03fe7fff01dfff02fbff03fbff351fff01f07fff +02fb7f7fff01fdfbff03efdfff011ffcff059fff01dfff02f7ff03fdff26fbff0e1fff01 +f7ff03fb7eff02f8fbff03c7dfff011ffbff05efff04efff03feff26fbff0e1fff01f7ff +03fb7eff02f8fbff03c7dfff011ffbff05cfff04dfff047fff25fbff0e1fff01f7ff03fb +7c7fff01f8fbe3ff02c7dfff011ffbff05cfff04bfff04bfff25fbff0e1fff01f7ff03fb +7c7fff01fdfbe3ff02efdfff011ff8ff059fff047fff04dfff341fff01f07fff02fb7c7f +ff01fbfbe3ff02dfdfff011ffb3fff03fe5fff01dfff01feff05efff341fff01f7ff03fb +7eff02f7fbfbff023fdfff011ffbc7ff03f1dfff01dfff01feff05efff341fff01f7ff03 +fb7eff02effbfdff01fcff01dfff011ffbf81fff01fc0fdfff01dfff01fdff05f7ff341f +ff01f7ff03fb7f7fff019ffbfe38e3ff01dfff011ffbff01e00003ff01dfff01dfff01fd +ff05f7ff25fbff0e1fff01f7ff03fb7f8e387ffbff01c01fff01dfff011ffbff05dfff03 +fbff05fbff25fbff0e1fff01f007ff02fb7ff007ff01fbff01f8ff02dfff011ffbff05df +ff03fbff05fbff25fbff0e1fff01f7ff03f87ffe3fff01fbff04dfff011ffbff05dfff03 +fbff05fbff25fbff0e1fff01f7ff03fb7fff03fbff04dfff011ffbff05dfff03f7ff05fd +ff341fff01f7ff03fb7fff03fbff04dfff011ffbff05dfff01dfff01f7ff05fdff341fff +01f7ff03fb7fff03fbff04dfff011ffbff05dfff01dfff01f7ff05fdff341fff01f07fff +02f90000000000000000001fff011ffbff05dfff01dfff01efff02bfff01dffeff341fff +01f7ff03f87fff03fbff04dfff011ffbff05dfff01dfff01efff01bfff029ffeff25fbff +0e1fff01f7ff03f97fff03fbff04dfff011ffbff05dfff03ef59153249dffeff25fbff0e +1fff01f7ff03f87fff03fbff04dfff011ffbff05dfff03ef95b9aad5dffeff25fbff0e1f +ff01f7ff03fb7fff03fbff04dfff011ffbef7feff7ff01dfff03efb3bba753dffeff25fb +ff0e1fff01f07fff02f87f8000ff01fbff04dfff011ffbcf7fcfe7ff01dfff02e7efb7bb +af37dffefc7fe7ff311fff01f7ff03fa7fbfff017ffbff01efff017fdfff011ffbefff01 +efd7ff01dfff01dff86f19c1b3b98ffec3ff01f87fff301fff01f7ff03fb7fbfff01bffb +ff01cfff013fdfff011ffb2f70e8f7ff01c00000000fff05fe0000000fff301fff01f7ff +03f87fbfff01dffbff01d7ff013fdfff011fface6eedf7ff01dfff01dff86fff05fec3ff +01f84fff301fff01f7ff03f97fbfff01effbff01b7ff015fdfff011ff9ef6febf7ff01df +ff01dfe7efff05fefc7fe7cfff21fbff0e1fff01f07fff02fa7fbfff01f7fbff01bbff01 +5fdfff011ff9ef71e7f7ff01dfff03efff05feff03cfff21fbff0e1fff01f7ff03fa7fbf +ff01f7fbff017bff015fdfff011ff9ef7eebf7ff01dfff03f7ff05fdff03cfff21fbff0e +1fff01f7ff03fb7fbfff01f7fbff017dfeefdfff011ff9ef6eedf7ff01dfff03f7ff05fd +ff03cfff21fbff0e1fff01f7ff03fb7fbfff01f7fbfefdfeefdfff011ffac766eef7ff01 +dfff03f7ff05fdff03cfff301fff01f7ff03fb7fbfff01f7fbfefefeefdfff011ffb2e29 +c463ff01dfff01dfff01fbff05fbff03cfff301fff01f01fff02fb7fbfff01effbfdfefe +f7dfff011ffbff05dfff01dfff01fbff05fbff03cfff301fff01f7ff03fb7fbfff01dffb +fdff017ef7dfff011ffbff05dfff01dfff01fbff05fbff03cfff301fff01f7ff03fb7fbf +ff01bffbfbff017ef7dfff011ffbff05dfff01dfff01fdff05f7ff03cfff21fbff0e1fff +01f7ff03fb7fbfff017ffbfbfefdff01dfff011ffbff05dfff03fdff05f7ff03cfff21fb +ff0e1fff01f7ff03fb7fbf80ff01fbf7fdfdff01dfff011ffbff05dfff03feff05efff03 +cfff21fbff0e1fff01f07fff02fb7fbfbfff01fbf7fbfdff01dfff011ffbff01e00003ff +01dfff03feff05efff03cfff21fbff0e1fff01f7ff03fb7fbfbfff01fbeff7fdff01dfff +011ffbf81fff01fc0fdfff047fff04dfff03cfff301fff01f7ff03fb7fbfbfff01fbefef +fdff01dfff011ffbc7ff03f1dfff01dfff02bfff04bfff03cfff301fff01f7ff03fb7fbf +bfff01fbff01dffdff01dfff011ffb3fff03fe5fff01dfff02dfff047fff03cfff301fff +01f7ff03fb7fbfbfff01fbff01bffbff01dfff011ff8ff059fff01dfff02efff03feff04 +cfff301fff01f07fff02fb7fbfbfff01fbff01cff7ff01dfff011ffbff05cfff01dfff02 +f7ff03fdff04cfff21fbff0e1fff01f7ff03fb7fbfbfff01fbff01f3efff01dfff011ffb +ff05cfff04fbff03fbff04cfff21fbff0e1fff01f7ff03fb7fbfbfff01fbff01fcdfff01 +dfff011ffbff05efff04fdff03f7ff04cfff21fbff0e1fff01f7ff03fb7f803fff01fbff +023fff01dfff011ffcff059fff04fe7fff02cfff04cfff21fbff0e1fff01f7ff03fb7fff +03fbff04dfff011fff013fff03fe7fff059fff023fff04cfff301fff01f07fff01f8fb7f +ff03fbff04dfff011fff01c7ff03f1ff02dfff03e7ff01fcff05cfff301fff01f7ff02f7 +7b7fff03fbff04dfff011fff01f81fff01fc0fff02dfff03f87fc3ff05cfff301fff01f7 +ff02f77b7fff03fbff04dfff011fff02e00003ff03dfff04803fff05cfff301fff01f7ff +037b0000000000000000001fff011fff08dfff0bcfff21fbff0e1fff01f7ff02fefb7fff +03fbff04dfff011fff14cfff21fbff0e1fff01f007ff01fdfb7fff03fbff04dfff011fff +14cfff21fbff0e1fff01f7ff02fbfb7fff03fbff04dfff011fff14cfff21fbff0e1fff01 +f7ff02f7fb7fff03fbff04dfff011fff14cfff301fff01f7ff02f07b7fff03fbff04dfff +011fff08dfff0bcfff301fff01f7ff03fb7fff03fbff04dfff011fff08dfff0bcfff301f +ff01f07fff02fb7fff03fbff04dfff011fff08dfff0bcfff301fff01f7ff03fb7fff03fb +ff010000ff01dfff011fff08dfff0bcfff21fbff0e1fff01f7ff03fb7f000003fbfcff02 +3fdfff011fff14cfff21fbff0e1fff01f7ff03fb7f7fff01fbfbfbff02dfdfff011fff14 +cfff21fbff0e1fff01f7ff03fb7f7fff01fbfbfbff02dfdfff011fff14cfff21fbff0e1f +ff01f07fff02fb7f7fff01fbfbf7ff02efdfff011fff14cfff301fff01f7ff03fb7f7fff +01fbfbf7ff02efdfff011fff08dfff04803fff05cfff301fff01f7ff03fb7f7fff01fbfb +f7ff02efdfff011fff08dfff03f87fc3ff05cfff301fff01f7ff03fb7f7fff01fbfbf7ff +02efdfff011fff08dfff03e7ff01fcff05cfff301fff01f7ff03fb7f7fff01fbfbf7ff02 +efdfff011fff02e00003ff03dfff039fff023fff04cfff12f800000000000000000001ff +04fbff0e1fff01f07fff02fb7f7fff01fbfbf7ff02efdfff011fff01f81fff01fc0fff05 +fe7fff02cfff04cfff12f800000000000000000001ff04fbff0e1fff01f7ff03fb7f7fff +01fbfbf7ff02efdfff011fff01c7ff03f1ff05fdff03f7ff04cfff1adff7f9ff04fbff0e +1fff01f7ff03fb7f7fff01fbfbf7ff02efdfff011fff013fff03fe7fff04fbff03fbff04 +cfff1adff7f9ff04fbff0e1fff01f7ff03fb7f7fff01fbfbf7ff02efdfff011ffcff059f +ff04f7ff03fdff04cfff1adff7f9ff131fff01f7ff03fb7f7fff01fbfbf7ff02efdfff01 +1ffbff05efff01dfff02efff03feff04cfff1adff7f9ff131fff01f01fff02fb7f7fff01 +fbfbfbff02dfdfff011ffbff05cfff01dfff02dfff047fff03cfff1adff7f9ff131fff01 +f7ff03fb7f7fff01fbfbfbff02dfdfff011ffbff05cfff01dfff02bfff04bfff03cfff1a +dff7f9ff131fff01f7ff03fb7f000003fbfcff023fdfff011ff8ff059fff01dfff027fff +04dfff03cfff1adff7f9ff04fbff0e1fff01f7ff03fb7fff03fbff010000ff01dfff011f +fb3fff03fe5fff03feff05efff03cfff1adff7f9ff04fbff0e1fff01f7ff03fb7fff03fb +ff04dfff011ffbc7ff03f1dfff03feff05efff03cfff1adff7f9ff04fbff0e1fff01f07f +ff02fb7fff03fbff04dfff011ffbf81fff01fc0fdfff03fdff05f7ff03cfff1adff7f9ff +04fbff0e1fff01f7ff03fb7fff03fbff04dfff011ffbff01e00003ff01dfff03fdff05f7 +ff03cfff1adff7f9ff131fff01f7ff03fb7fff03fbff04dfff011ffbff05dfff01dfff01 +fbff05fbff03cfff1adff7f9ff131fff01f7ff03fb7fff03fbff04dfff011ffbff05dfff +01dfff01fbff05fbff03cfff1adff7f9ff131fff01f7ff03fb7fff03fbff04dfff011ffb +ff05dfff01dfff01fbff05fbff03cfff1adff7f9ff131fff01f07fff02fb7fff03fbff04 +dfff011ffbff05dfff01dfff01f7ff05fdff03cfff06fe07ff04efff0ddff7f9ff04fbff +0e1fff01f7ff03fb0000000000000000001fff011ffbff05dfff03f7ff05fdff03cfff07 +7bff04cfff0ddff7f9ff04fbff0e1fff01f7ff03fb7fff03fbff04dfff011ffbff05dfff +03f7ff05fdff03cfff077dff04efff0ddff7f9ff04fbff0e1fff01f7ff03fb7fff03fbff +04dfff011ffbff05dfff03efff05feff03cfff077df1e3c7a72e1fff0cdff7f9ff04fbff +0e1fff01f7ff03fb7fff03fbff04dfff011ffbff05dfff03efff02bfff019ffeff03cfff +077beeddbb16cddfff0cdff7f9ff131fff01f07fff02fb7ff0007ffbfb8fff02dfff011f +fbff05dfff01dfff01efff01bfff026ffeff03cfff04f9ff0207debd7dbdedff06e7ff06 +dff7f9ff131fff01f7ff03fb7fefff01bffbf383ff02dfff011ffbff05dfff01dfff01ef +59153249effeff03cfff04fe1fff016fc0bf7dbdee3fff05f87ff0e1c39fff01dff7f9ff +131fff01f7ff03fb7fefff01bffbfb8cff02dfff011ffbef7fefe3ff01dfff01dfff01ef +95b9aad5dffeff03c0000000000003ff0177dfbf7dbdefdfff01fc000000000ff0e1c39f +ff01dff7f9ff131fff01f7ff03fb7fdfff01dffbfbff013fff01dfff011ffbcf7fcfddff +01dfff01dfff01efb3bba753dffeff03cfff04fe1fff017bdfbf7dbdeddfff05f87ff0e1 +c39fff01dff7f80000000000000000007fff091fff01f7ff03fb7fbfff01effbfbff01df +ff01dfff011ffbefff01efbeff01dfff02e7efb7bbaf37bffefc7fe7cfff04f9ff027dee +ddbbbec4dfff05e7ff06dff7f9ff04fbff047fff091fff01f007ff02fb7fbfff01effbfb +ff01efff01dfff011ffb2f70e8feff01dfff02f86f19c1b3b90ffec3ff01f84fff06fe3c +71e3c71f2d3fff0cdff7f9ff04fbff047fff091fff01f7ff03fb7f7fff01f7fbf1ff01ef +ff01dfff011fface6eedfeff01c00000000fff05fe0000000fff1adff7f9ff04fbff047f +ff091fff01f7ff03fb7f7fff01f7fbff02f7ff01dfff011ff9ef6febfdff01dfff02f86f +ff05fec3ff01f84fff1adff7f9ff097fff091fff01f7ff03fb7efbff01fbfbff02f7ff01 +dfff011ff9ef71e7fbff01dfff01dfe7efff05fefc7fe7cfff1adff7f9ff097fff091fff +01f7ff03fb7df3ff01fdfbff02fbcfdfff011ff9ef7eebf7ff01dfff01dfff01f7ff05fd +ff03cfff1adff7f9ff097fff091fff01f07fff02fb7dfb8ffdfbff02fbb7dfff011ff9ef +6eedefff01dfff01dfff01f7ff05fdff03cfff1adff7f9ff097fff091fff01f7ff03fb7b +fb8ffefbff02f1f7dfff011ffac766eedeff01dfff01dfff01f7ff05fdff03cfff1adff7 +f9ff04fbff047fff091fff01f7ff03fb7dfb8ffdfbff02f1efdfff011ffb2e29c401ff01 +dfff03fbff05fbff03cfff1adff7f9ff04fbff047fff091fff01f7ff03fb7dfbff01fdfb +ff02f1dfdfff011ffbff05dfff03fbff05fbff03cfff1adff7f9ff04fbff047fff091fff +01f7ff03fb7ef1ff01fbfbff02fbbfdfff011ffbff05dfff03fbff05fbff03cfff1adff7 +f9ff04fbff047fff091fff01f07fff02fb7f7fff01f7fbff02fb87dfff011ffbff05dfff +03fdff05f7ff03cfff1adff7f9ff097fff091fff01f7ff03fb7f7fff01f7fbff02f7ff01 +dfff011ffbff05dfff01dfff01fdff05f7ff03cfff1adff7f9ff097fff091fff01f7ff03 +fb7fbfff01effbff02f7ff01dfff011ffbff01e00003ff01dfff01dfff01feff05efff03 +cfff1adff7f9ff097fff091fff01f7ff03fb7fbfff01effbf3ff01efff01dfff011ffbf8 +1fff01fc0fdfff01dfff01feff05efff03cfff1adff7f9ff097fff091fff01f7ff03f87f +dfff01dcfbedff01efff01dfff011ffbc7ff03f1dfff01dfff027fff04dfff03cfff1adf +f7f9ff04fbff047fff091fff01f07fff02fb7fefff01bb7bfdff01dfff01dfff011ffb3f +ff03fe5fff04bfff04bfff03cfff1adff7f9ff04fbff047fff091fff01f7ff03fb7feffe +3f7bf3ff013fff01dfff011ff8ff059fff04dfff047fff03cfff12f80000000000000000 +0001ff04fbff047fff091fff01f7ff03fb7ff0003efbfd8cff02dfff011ffbff05cfff04 +efff03feff04cfff12f800000000000000000001ff04fbff047fff091fff01f7ff03f97f +ff01fe3dfbed83ff02dfff011ffbff05cfff04f7ff03fdff04cfff267fff091fff01f7ff +03f87fff02fbfbf38fff02dfff011ffbff05efff01dfff02fbff03fbff04cfff267fff09 +1fff01f01fff02f97fff02f87bff04dfff011ffcff059fff01dfff02fdff03f7ff04cfff +267fff091fff01f7ff03f87fff03fbff04dfff011fff013fff03fe7fff01dfff02fe7fff +02cfff04cfff267fff091fff01f7ff03fb7fff03fbff04dfff011fff01c7ff03f1ff02df +ff039fff023fff04cfff21fbff047fff091fff01f7ff03f87fff03fbff04dfff011fff01 +f81fff01fc0fff06e7ff01fcff05cfff21fbff047fff091fff01f7ff03fa000000000000 +0000001fff011fff02e00003ff07f87fc3ff05cfff21fbff047fff091fff01f07fff02fb +7fff03fbff04dfff011fff0d803fff05cfff21fbff047fff091fff01f7ff03f87fff03fb +ff04dfff011fff14cfff267fff091fff01f7ff03f97fff03fbff04dfff011fff08dfff0b +cfff267fff091fff01f7ff03fa7fff01f8003bff04dfff011fff08dfff0bcfff12fc53ff +03cf81ff01c47fff01c3ff087fff091fff01f7ff03fa7fff01fbff01bbff04dfff011fff +08dfff0bcfff12f99bff03efdcff0199ff0299ff087fff091fff01f07fff02fb60ff01fb +08bbff04dfff011fff08dfff0bcfff12fbdbff03efdeff01bbff02bdff03fbff047fff09 +1fff01f7ff03fb6fff01fb66bbf800001fdfff011fff14cfff12f9fa78d18f0fdc990046 +8f7e99c6671bff047fff091fff01f7ff03fb6fff01fbacbbf8f81f1fdfff011fff14cfff +12fc793367766fc1ddbbbb3f7eddbb76ebff047fff091fff01f7ff03fb6fa73b01bbf9fc +3f9fdfff011fff14cfff133bbe6f06efdcddbb837f7edd83760bff047fff091fff01f7ff +03fb619adac6bbfbfc3fdfdfff011fff14cfff13dbb96f7eefdeddbbbf7f7eddbf76ff05 +7fff091fff01f07fff01f07b6fbb7aaabbff01fc3fff01dfff011fff08dfff0bcfff12fb +dbb76f7eefdeddbbbf7fbdddbf76ff057fff091fff01f7ff037b6f9bba68bbff01fc3fff +01dfff011fff08dfff0bcfff12f99bb36f3a4fdcc9bb9d7f99c99d2677ff047fff091fff +01f7ff02fefb6fa6dbefbbff01fc3fff01dfff011fff08dfff0bcfff12fa311887871781 +e400c23fc3e4c3930fff047fff091fff01f7ff02fdfb60bf3b09bbff01fc3fff01dfff01 +1fff08dfff0bcfff1df7ff03fbff047fff091fff01f7ff02f8fb7fbffbc3bbff01fc3fff +01dfff011fff14cfff1df9ff03fbff047fff091fff01f007ff027b7fbffbe7bbff01fc3f +ff01dfff011fff0d803fff05cfff1dfcff03fbff047fff091fff01f7ff037b7fff01fbef +bbff01fc3fff01dfff011fff0cf87fc3ff05cfff21fbff047fff091fff01f7ff02f77b7f +ff01fbff01bbff01fc3fff01dfff011fff02e00003ff07e7ff01fcff05cfff267fff091f +ff01f7ff02f8fb7fff01f8003bff01fc3fff01dfff011fff01f81fff01fc0fff02dfff03 +9fff023fff04cfff267fff091fff01f7ff03fb71ff03fbff01fc3fff01dfff011fff01c7 +ff03f1ff02dfff02fe7fff02cfff04cfff267fff091fff01f07fff02fb6ebfdfff017bff +01fc3fff01dfff011fff013fff03fe7fff01dfff02fdff03f7ff04cfff267fff091fff01 +f7ff03fb6ebfff027bff01fc3fff01dfff011ffcff059fff01dfff02fbff03fbff04cfff +21fbff047fff091fff01f7ff03fb6ea798e63bff01fc3fff01dfff011ffbff05efff04f7 +ff03fdff04cfff21fbff047fff091fff01f7ff03fb6e9bd75b7bff01fc3fff01dfff011f +fbff05cfff04efff03feff04cfff21fbff047fff091fff01f7ff03fb6ebbd05f7bff01f8 +1fff01dfff011ffbff05cfff04dfff047fff03cfff21fbff047fff091fff01f07fff02fb +6ebbd7df7bff01e007ff01dfff011ff8ff059fff04bfff04bfff03cfff267fff091fff01 +f7ff03fb6e9bd75b5bff04dfff011ffb3fff03fe5fff01dfff027fff04dfff03cfff267f +ff091fff01f7ff03fb71a6d8e7bbff04dfff011ffbc7ff03f1dfff01dfff01feff05efff +03cfff267fff091fff01f7ff03fb7fff013fff01fbff04dfff011ffbf81fff01fc0fdfff +01dfff01feff05efff03cfff267fff091fff01f7ff03fb7fff03fbff04dfff011ffbff01 +e00003ff01dfff01dfff01fdff05f7ff03cfff21fbff047fff091fff01f07fff02fb7fff +03fbff04dfff011ffbff05dfff03fdff05f7ff03cfff21fbff047fff091fff01f7ff03fb +7fff03fbff04dfff011ffbff05dfff03fbff05fbff03cfff21fbff047fff091fff01f7ff +03fb0000000000000000001fff011ffbff05dfff03fbff05fbff03cfff21fbff047fff09 +1fff01f7ff03fb7fff017fdfefff04dfff011ffbff05dfff03fbff05fbff03cfff267fff +091fff01f7ff03fb7fff017e19c39d38ff02dfff011ffbff05dfff01dfff01f7ff05fdff +03cfff267fff091fff01f01fff02fb7fff010dddefdcd77fff01dfff011ffbff05dfff01 +dfff01f7ff05fdff03cfff267fff091fff01f7ff03fb7fff017dddefddd77fff01dfff01 +1ffbff05dfff01dfff01f7ff05fdff03cfff267fff091fff01f7ff03fb7fff017dddefdd +d77fff01dfff011ffbff05dfff01dfff01efff02bfff019ffeff03cfff21fbff047fff09 +1fff01f7ff03fb7fff017dddedddd87fff01dfff011ffbff05dfff03efff01bfff026ffe +ff03cfff21fbff047fff091fff01f7ff03fb7fff010618f38ddf7fff01dfff011ffbff05 +dfff03ef59153249effeff03cfff21fbff047fff091fff01f07fff02fb7fff05f77fff01 +dfff011ffbff05dfff03ef95b9aad59ffeff03cfff21fbff047fff091fff01f7ff03fb7f +ff05f8ff02dfff011ffbef7fefe3ff01dfff03efb3bba753effeff03cfff267fff091fff +01f7ff03fb7fff08dfff011ffbcf7fcfddff01dfff01dfe7efb7bbaf37effefc7fe7cfff +267fff091fff01f7ff03fb7fff08dfff011ffbefff01efbdff01dfff01dff86f19c1b3b9 +1ffec3ff01f84fff267fff091fff01f7ff03fb7fff03fdff04dfff011ffb2f70e8fbff01 +c00000000fff05fe0000000fff267fff091fff01f07fff02fb7fff03fdff04dfff011ffa +ce6eedf7ff01dfff01dff86fff05fec3ff01f84fff21fbff047fff091fff01f7ff03fb7f +ff03fdff04dfff011ff9ef6febe3ff01dfff02e7efff05fefc7fe7cfff21fbff047fff09 +1fff01f7ff03fb7fff01fcb8e18e3fff02dfff011ff9ef71e7fdff01dfff03efff05feff +03cfff21fbff047fff091fff01f7ff03fb7fff01fd575d75dfff02dfff011ff9ef7eebfe +ff01dfff03f7ff05fdff03cfff21fbff047fff091fff01f7ff03fb7fff01fd575d067fff +02dfff011ff9ef6eedfeff01dfff03f7ff05fdff03cfff267fff091fff01f07fff02fb7f +ff01fd575d7fbfff02dfff011ffac766ee9dff01dfff01dfff01f7ff05fdff03cfff267f +ff091fff01f7ff03fb0000000000000000001fff011ffb2e29c443ff01dfff01dfff01fb +ff05fbff03cfff267fff091fff01f7ff03fb7fff03fbff04dfff011ffbff05dfff01dfff +01fbff05fbff03cfff267fff091fff01f7ff03fb7fff03fbff04dfff011ffbff05dfff01 +dfff01fbff05fbff03cfff21fbff047fff091fff01f7ff03fb7fff03fb00000000dfff01 +1ffbff05dfff03fdff05f7ff03cfff21fbff047fff091fff01f007ff02fb71ff02fc7b00 +000000dfff011ffbff01e00003ff01dfff03fdff05f7ff03cfff21fbff047fff091fff01 +f7ff03fb700000007b2aaaaaa8dfff011ffbf81fff01fc0fdfff03feff05efff03cfff21 +fbff047fff091fff01f7ff03fb71ff02fc7b00000000dfff011ffbc7ff03f1dfff03feff +05efff03cfff267fff091fff01f7ff03fb7bff01fc7efb20001c08dfff011ffb3fff03fe +5fff01dfff027fff04dfff03cfff267fff091fff01f7ff03fb7be1f39efb00f06300dfff +011ff8ff059fff01dfff02bfff04bfff03cfff267fff091fff01f07fff02fb7bdeefeefb +21088088dfff011ffbff05cfff01dfff02dfff047fff03cfff267fff091fff01f7ff03fb +7bbf6feefb02048080dfff011ffbff05cfff01dfff02efff03feff04cfff21fbff047fff +091fff01f7ff03fb7bbfefeefb22008088dfff011ffbff05efff04f7ff03fdff04cfff21 +fbff047fff091fff01f7ff03fb7bdff39efb01006300dfff011ffcff059fff04fbff03fb +ff04cfff21fbff047fff091fff01f7ff03fb7be1fc7efb20f01c08dfff011fff013fff03 +fe7fff04fdff03f7ff04cfff21fbff047fff091fff01f07fff02fb7bfeff01fefb000800 +00dfff011fff01c7ff03f1ff05fe7fff02cfff04cfff16fe07e07e07e07e07e07e07e07e +07e07e07e07e07e0ff051fff01f7ff03fb7bff017ffefb20040008dfff011fff01f81fff +01fc0fff02dfff039fff023fff04cfff16fe07e07e07e07e07e07e07e07e07e07e07e07e +07e0ff051fff01f7ff03fb7bbf7fbefb02040200dfff011fff02e00003ff03dfff03e7ff +01fcff05cfff267fff03fcff051fff01f7ff03fb7bdeff01defb21080108dfff011fff08 +dfff03f87fc3ff05cfff16fcff0efd5fff091fff01f7ff03fb7be1ff01eefb00f00080df +ff011fff08dfff04803fff05cfff16fcff0afbff03fd5fff091fff01f07fff02fb7bff01 +c076fb2001fc48dfff011fff14cfff16fcff0afbff03fe5fff091fff01f7ff03fb7bff01 +fbf6fb00002040dfff011fff14cfff16fcff0afbff03fe3fff091fff01f7ff03fb7bff01 +fbf6fb20002048dfff011fff14cfff16fcff0afbff03fe3fff091fff01f7ff03fb7b807b +f6fb03fc2040dfff011fff14cfff16fcff0efe3fff091fff01f7ff03fb7bbf7bf6fb2204 +2048dfff011fff08dfff0bcfff263fff03fcff051fff01f01fff02fb7bbf7beefb020420 +80dfff011fff08dfff0bcfff02f0000000000000000000001fff187fff03fcff051fff01 +f7ff03fb7bbf7bdefb22042108dfff011fff08dfff0bcfff02f000000000000000000000 +1fff0dc007ff097fff03fcff051fff01f7ff03fb7b807bbefb03fc2200dfff011fff08df +ff0bcfff02f3ff0a9fff0cfe3ff8ff04fbff08fcff051fff01f7ff03fb7bff02fefb2000 +0008dfff011fff14cfff02f3ff0a9fff0cf1ff021fff03fbff03e003ff03fcff051fff01 +f7ff03fb71ff02fc7b00000000dfff011fff14cfff02f3ff0a9fff0ccfff02e7ff03fbff +02fe1ffc3fff02fcff051fff01f07fff02fb700000007b2aaaaaa8dfff011fff14cfff02 +f3ff0a9fff08fcff03bfff02fbff03fbff02f9ff02cfff081fff01f7ff03fb71ff02fc7b +00000000dfff011fff14cfff02f3ff0a9fff08fcff02fe7fff02fcff06e7ff02f3ff081f +ff01f7ff03f87fff03fbff04dfff011fff08dfff0bcfff02f3ff0a9fff08fcff02fdff04 +7fff059fff02fcff081fff01f7ff03fb7fff03fbff04dfff011fff08dfff0bcfff02f3ff +0a9fff08fcff02fbf834ff02bfff057fff037fff071fff01f7ff03fb0000000000000000 +001fff011fff08dfff0bcfff02f3ff0a9fff08fcff02f7fdbeff02dfff04fcff049fff07 +1fff01f07fff02fb7fff03fbff04dfff011fff03e3ff04dfff04f1ff06cfff02f3ff0a9f +ff08fcff02effde6e7ff01efff02fbff01fbff04efff071fff01f7ff03f97fff03fbff04 +dfff011fff03e3ff09f1ff06cfff02f3ff0a9fff0bdffc76d7ff01f7ff02fbff01f7ff04 +f7ff01fcff051fff01f7ff03f87fff03fbff02fc1fdfff011fff03e3ff09f1ff06cfff02 +f3ff0a9fff0bbffdf6cfff01fbff02fbff01efff04fbff01fcff051fff01f7ff03f97fff +02effbff02f3e7dfff011fff03e3ff09f1ff06cfff02f3ff0a9fff0b7ffdf6dfff01fdff +02fbff01dfff04fdff01fcff051fff01f7ff03f87fff02effbff02effbdfff011fff14cf +ff02f3ff0a9fff0afeff01f8f467ff01feff04bfff04feff01fcff051fff01f07fff01fe +fb7fff02d7fbff02effbdfff011fff08dfff0bcfff02f3ff0a9fff0afeff05feff04bfff +04feff01fcff051fff01f7ff02fef87efdefd7fbff02dffddfff011fff08dfff0bcfff02 +f3ff0a9fff0afdff067fff037fff057ffcff051fff01f7ff02fcfa7efbf7bbfbfdff01df +fddfff011fff03e3ff04dfff04f1ff06cfff02f3ff0a9fff08fcff01fdff067fff02feff +06bfff061fff01f7ff02fafb7d7003bbfbfdf0dffddfff011fff03e3ff04dfff04f1ff06 +cfff02f3ff0a9fff08fcff01fbff06bfff01fbfeff06bfff061fff01f7ff02faf87d7bf7 +7dfbfaf6dffddfff011fff03e3ff09f1ff06cfff02f07ffcc3ff01fdff01f9ff039fff01 +f8ff01f9ff04fcff01fbff06bfff01fbfdff06dfff061fff01f007ff01f6f97bbdef7dfb +faf6dffddfff011fff03e3ff09f1ff06cfff02f2ff01fbedfdff02fdff039fff01fdff01 +f7ff04fcff01f7ff06dfff01fbfdff06dfff061fff01f7ff02f07a783ffefefbf776effb +dfff011fff14cfff02f2f931edc8a9821dff039fff01fdf263ff04fcff01f7ff06dfff01 +fbfbff06efff061fff01f7ff02fefa7fff01fefefbf776effbdfff011fff14cfff02f2f5 +dbe3adcd56edff039fff01fdebb7ff04fcff01f71fff05dfff02fbff06efff061fff01f7 +ff02fefb7fff01fdff017befb6f3e7dfff011fff08dfff0bcfff02f2f39beb9ddd3acdff +039fff01fde737ff06eedbff01fdff03efff02f7ff06f7fcff051fff01f7ff03fb7fff01 +fdff017be030fc1fdfff011fff03e3ff04dfff04f1ff06cfff02f2d75bedbddd79adff03 +9fff01fdaeb7ff06ee7156c8b567ff01efff02f7ff06f7fcff051fff01f07fff02fb7fff +01fbff01bb55555555dfff011fff03e3ff04dfff04f1ff06cfff02f01911c4ce0d9d88ff +039fff01f83223ff06ef3b96bdb657ff01efff02f71fff05f7fcff051fff01f7ff03fb7f +ff01f8003bff04dfff011fff03e3ff04dfff04f1ff06cfff02f3ff0a9fff0aefdbb6bdb6 +cfff01efff01fbf7bfff05f7fcff051fff01f7ff03fb7fff03fbff04dfff011fff03e3ff +09f1ff06cfff02f3ff0a9fff0adedbb6bdb6dfff01f7ff01fbefbbff02f7ff02fbfcff05 +1fff01f7ff03fb7fff03fbff04dfff011fff14cfff02f3ff0a9fff0ade3c194e4867ff01 +f7ff01fbefb0c68c618d1ffbfcff051fff01f7ff03fb7fff03fbf9cfff02dfff011fff14 +cfff02f3ff0a9fff08fcff01dfff06f7ff01fbefbbbb39b7267ffbff061fff01f07fff02 +fb7c7ffe7ffbf6eeff02dfff011fff14cc7fff01f3ff0a9f1fff07fc1fdfff06f7c7ff01 +efbb837f3776ff01fbff061fff01f7ff03fb7bbfff017ffbef6fff02dfff011fff08dfff +0bc3ff02f3ff0a90ff01f87fff05f0ff01dfff06f43fff01efbbbf7cb776ff01fbff061f +ff01f7ff03fb7bff027ffbef6ce54fdfff011fff03e3ff04dfff04f1ff0600000003ff0a +80003dbfff02efff02c0000fff06f0000007bbbf7bb776ff01f800001fff031fff01f7ff +03fb7bf1c771fbef6edb37dfff011fff03e3ff04dfff04f1ff06c3ff02f3ff0a90ff01fd +b98926467fff01f0ff01dfff06f43fff01efbb9d79b726ff01fbff02dfff031fff01f7ff +03fb7c6efb6efbe06edb77dfff011fff08dfff0bcc7fff01f3ff0a9f1ffc756b55edff02 +fc1fdfff06f7c7fbef1cc23c598c7ffbff02dfff031fff01f07fff02fb7fafc360fbef6e +e777dfff011fff14cfff02f3ff0a9fff01fd736b4eeeff04dfff06f7ff01fbefff06fbfc +ff01dfff031fff01f7ff03fb7fafbb6ffbef6edf77dfff011fff14cfff02f3ff0a9fff01 +fdb76b5f6f7fff03dfff06f7ff01fbefff06fbfcff01dfff031fff01f7ff03fb7baeb36e +fbef446377dfff011fff14cfff02f3ff0a9fff01f8998ca4707fff03dc1fff05f7ff01fb +efff06fbfcff01dfff031fff01f7ff03fb7c71ca31fbff02ddff01dfff011fff14cfff02 +f3ff0a9fff03efff06ed5fff05efff02f7ff06f7fcff01dfff031fff01f7ff03fb7fff03 +fbff02e3ff01dfff011fff08dfff0bcfff02f3ff0a9fff03efff06ef75324a8cafff01ef +ff02f7ff06f7fcff01dfff031fff01f01fff02fb7fff03fbff04dfff011fff08dfff0bcf +ff02f3ff0a9fff03c7ff06ef79d6acbacfff01efff02f7ff06f7fcff01dfff031fff01f7 +ff03fb7fff03fbff04dfff011fff08dfff0bcfff02f3ff0a9fff08fcff01ef7b9a9dc9df +ff01efff02f7ff06f7ff0257ff031fff01f7ff03fb0000000000000000001fff011fff08 +dfff0bcfff02f3bf3ff7f7ff069fff08fcff01f77b59bdebdfff01dfff01fbfbff06efff +0257ff031fff01f7ff03fb7fff03fbff04dfff011fff14cfff02f31fbfff02effeff049f +ff08fcff01f6311dc88c8fff01dfff01fbfbff06efff0297ff031fff01f7ff03fb7fff03 +fbff04dfff011fff14cfff02f35e226466454c66bfff029fff08fcff01f7ff06dfff01fb +fdff06dfff028fff031fff01f07fff02fb7fff03fbff04dfff011fff0d001fff05cfff02 +f35dadb5b5ee76db3fff029fff08fcff01fbff06bfff01fbfdff06dfff028fff031fff01 +f7ff03fb7fff02c0fbfaff021fdfff011fff02e00003ff07f8ff01e3ff05cfff02f20dad +b5b6eee6db7fff029fff08fcff01fbff06bfff02feff06bfff028fff031fff01f7ff03fb +7d5ff7c0fbefff01fe0fdfff011fff01f81fff01fc0fff02dfff03c7ff01fc7fff04cfff +02f2edadb5b76ed6db7fff029fff0afdff067fff02feff06bffcff01cfff031fff01f7ff +03fb7fff01fbccfbdf7ffce7dfff011fff01c7ff03f1ff02dfff033fff029fff04cfff02 +f0464494947047263fff029fff0afdff067fff037fff057ffcff01dfff031fff01f7ff03 +fb7ddc01ccfbff02f9e7dfff011fff013fff03fe7fff01dfff02feff03efff04cfff02f3 +ff0a9fff0afeff05feff04bfff04feff01fcff01dfff031fff01f07fff02fb7fff01fbc0 +fbdf7ff9e7dfff011ffcff059fff01dfff02fdff03f7ff04cfff02f3ff0a9fff0afeff05 +feff02fbff01bfff04feff01fcff051fff01f7ff03fb7d5ff7c0fbff01bff9e7dfff011f +fbff05efff04f3ff03f9ff04cfff02f3ff0a9fff0b7fff04fdff02fbff01dfff04fdff01 +fcff051fff01f7ff03fb7fff02e3fbdfff01b9f3dfff011ffbff05cfff04efff03feff04 +cfff02f3ff0a9fff0bbfff04fbff02fbff01efff04fbff01fcff051fff01f7ff03fb7f5f +ff01c3fbff01bfd9f3dfff011ffbff05cfff04dfff047fff03cfff02f3ff0a9fff08fcff +02dfff04f7ff02fbff01f7ff04f7ff071fff01f7ff03fb7fff0293fbdff009f3dfff011f +f8ff059fff04bfff04bfff03cfff02f3ff0a9fff08fcff02efff04efff04fbff04efff07 +1fff01f07fff02fb7f77ff0133fbff01bfd9f3dfff011ffb3fff03fe5fff01dfff02bfff +04bfff03cfff02f3ff0a9fff08fcff02f7ff04dfff04fcff049fff071fff01f7ff03fb7f +ff01fe73fbdfff01b9f3dfff011ffbc7ff03f1dfff01dfff027fff04dfff03cfff02f3ff +0a9fff08fcff02fbff04bfff057fff037fff071fff01f7ff03fb7f7dfcf3fbff017ff9e7 +dfff011ffbf81fff01fc0fdfff01dfff01feff05efff03cfff02f3ff0a9fff08fcff02fd +ff047fff059fff02fcff03fc3fff031fff01f7ff03fb7fff01f9f3fbefff01fce7dfff01 +1ffbff01e00003ff01dfff01dfff01fdff05f7ff03cfff02f3ff0a9fff08fcff02fe7fff +02fcff03fbff02e7ff02f3ff03f99fff031fff01f7ff03fb7f7f73f3fbff017ffe67dfff +011ffbff05dfff03fdff05f7ff03cfff02f3ff0a9fff0cbfff02fbff03fbff02f9ff02cf +ff02fcfbd24a23ff011fff01f007ff02fb7fff01e7f3fbfaff0207dfff011ffbff05dfff +03fbff05fbff03cfff02f3ff0a9fff0ccfff02e7ff03fbff02fe1ffc3fff02fcfbd6acb7 +ff011fff01f7ff03fb7f7fcff3fbff038fdfff011ffbff05dfff03fbff05fbff03cfff02 +f3ff0a9fff0cf1ff021fff03fbff03e003ff03fcfbd69dafff011fff01f7ff03fb7fff01 +9ff3fbff04dfff011ffbff05dfff03fbff05fbff03cfff02f3ff0a9fff0cfe3ff8ff0dfc +f996bdcfff011fff01f7ff03fb7f7f37f3fbff04dfff011ffbff05dfff01dfff01f7ff05 +fdff03cfff02f0000000000000000000001fff0dc007ff0dfcfc7948dfff011fff01f7ff +03fb7ffe7ff3fbf77fff02dfff011ffbff05dfff01dfff01f7ff05fdff03cfff02f00000 +00000000000000001fff0dfeff0efcff013fff019fff011fff01f07fff02fb7f7cfdf3fb +f27fff02dfff011ffbff05dfff01dfff01f7ff05fdff03cfff16fcff04feff109fff013f +ff011fff01f7ff03fb7ff9ff01f3fbf271bb1fdfff011ffbff05dfff01dfff01efff02bf +ff0111feff03cfff16fcff04fe7fff04fbff0e1fff01f7ff03fb7f73ff0173fbf56ebaef +dfff011ffbff05dfff03efff01bfff029bfeff03cfff16fcff04fc7fff04fbff0e1fff01 +f7ff03fb7fe7ff01f3fbf56eba0fdfff011ffbff05dfff03ef59153249abfeff03cfff16 +fcff04fc7fff04fbff0e1fff01f7ff03fb7f4fff01d3fbf76ed6ff01dfff011ffbff05df +ff03ef95b9aad5abfeff03cfff16fcff04fc7fff131fff01f07fff02fb7f9fff01f3fbf7 +6ed6efdfff011ffbef7fef8f1fdfff03efb3bba753b3feff03cfff16fcff04fcbfff131f +ff01f7ff03fb7f3fff01f3fbf771ef1fdfff011ffbcf7fcfcfbfdfff01dfe7efb7bbaf37 +b3fefc7fe7cfff1bfabfff0dfcf87fff019fff011fff01f7ff03fb7fff03fbff04dfff01 +1ffbefff01efd7bfdfff01dff86f19c1b3b91bfec3ff01f84fff1bfabfff0dfcfdbfff01 +ddff011fff01f7ff03fb7fff03fbff04dfff011ffb2f70e8d7bfc00000000fff05fe0000 +000fff1bfeff0efcfdb99258cf1fff01f7ff03fb7fff03fbff04dfff011fface6eeddbbf +dfff01dff86fff05fec3ff01f87fff1bfeff0efcfc7576ddbf1fff01f07fff02fb000000 +0000000000001fff011ff9ef6febdbbfdfff02e7efff05fefc7fe7ff1cfeff0efcfd73b6 +dddf1fff01f7ff03fb7fff03fbff04dfff011ff9ef71e7ddbfdfff03efff05feff1ffeff +0efcfdb7d6ddef1fff01f7ff03fb7fff03fbff04dfff011ff9ef7eebdebfdfff03f7ff05 +fdff1afcff04feff0ff899190e0f1fff01f7ff03fb7fff03fbf8ff021fdfff011ff9ef6e +eddebfdfff03f7ff05fdff1afcff04feff141fff01f7ff03fb7fff03fbf07ffe0fdfff01 +1ffac766eedf3fdfff01dfff01f7ff05fdff1afcff04feff141fff01f01fff02fb7fff03 +fbe73ffce7dfff011ffb2e29c407bfdfff01dfff01fbff05fbff1afcff04feff141fff01 +f7ff03fb7fff0103ff01fbcf3ff9e7dfff011ffbff05dfff01dfff01fbff05fbff1afcff +04feff141fff01f7ff03fb7fff0103ff01fbcf3ff9e7dfff011ffbff05dfff01dfff01fb +ff05fbff1afcff04feff141fff01f7ff03fb7fff0133ff01fbcf3ff9e7dfff011ffbff05 +dfff03fdff05f7ff1ffeff0efcff051fff01f7ff03fb7fff0133ff01fbcf9fb9f3dfff01 +1ffbff05dfff03fdff05f7ff1ffeff01858063c60181ff01bf007c7c0fff01fcff051fff +01f07fff02fb7fff0103ff01fbcf9fd9f3dfff011ffbff01e00003ff01dfff03feff05ef +ff1ffefe79df73ef7ddeff019f77739ef7ff01fcff051fff01f7ff03fb7ffe01ff01fbcf +9009f3dfff011ffbf81fff01fc0fdfff047fff04dfff1ffefdfddff5ef7fdf7f5f7777de +fbff01fcff051fff01f7ff03fb7ffcfcff01fbcf9fd9f3dfff011ffbc7ff03f1dfff01df +ff02bfff04bfff1ffefbff01dff5ef7fdf7f4ff7efeefbff01fcff051fff01f7ff03fb7f +f9fe7ffbcf9fb9f3dfff011ffb3fff03fe5fff01dfff02bfff04bfff1ffefbff01def6ef +7bdefeeff7efeef7ff01fcff051fff01f7ff03fb7ff3ff013ffbcf3ff9e7dfff011ff8ff +059fff01dfff02dfff047fff1afcff04fefbf0c0f6ef03c1fee7f7efee0fff071fff01f0 +7fff02fb7fe7df9ffbe73ffce7dfff011ffbff05cfff01dfff02efff03feff1bfcff04fe +fbfddef76f7bdbfdf7f7efeedfff071fff01f7ff03fb7fcf8fcffbf33ffe67dfff011ffb +ff05cfff04f3ff03f9ff1bfcff04fefbfddff7af7fddfc07f7efeeefff071fff01f7ff03 +fb7f9f57e7fbf83fff0107dfff011ffbff05efff04fdff03f7ff1bfcff04fefdfddff7af +7fdefbf3f7f7def7ff071fff01f7ff03fb7f3fdff3fbfc7fff018fdfff011ffcff059fff +04feff03efff1bfcff04fefe79dfb7cf7edf7bfbf7f39efbff071fff01f7ff03fb7e7fdf +f9fbff04dfff011fff013fff03fe7fff053fff029fff1bfcff04feff01878061ee018f11 +f0e3fc7c78ff071fff01f07fff01f07b7cff01dffcfbff04dfff011fff01c7ff03f1ff02 +dfff03c7ff01fc7fff20feff0efcff051fff01f7ff02f7fb79ff01dffe7bfc7fff02dfff +011fff01f81fff01fc0fff02dfff03f8ff01e3ff21feff0efcff051fff01f7ff02f7fb73 +ff01dfff013bfbbfff02dfff011fff02e00003ff03dfff04001fff21feff0efcff051fff +01f7ff02f4fb7fff01dfff01fbfbff03dfff011fff08dfff2381f81f81f81f81f81f81f8 +1f81f81f81f81f81f8ff051fff01f7ff02f37b7fff03fbfbf1a6efdfff011fff2c81f81f +81f81f81f81f81f81f81f81f81f81f81f8ff051fff01f007ff02787fff03fbfbee9aefdf +ff011fff30feff141fff01f7ff037b755555557bfbeebaefdfff011fff30feff141fff01 +f7ff02f77b7fff03fbfbae9acfdfff011fff30feff141fff01f7ff02f8fb7fff03fbfc71 +a72fdfff011fff08dfff27feff141fff01f7ff03f97fff03fbff02bfefdfff011fff08df +ff27feff141fff01f07fff02f87fff03fbff02be1fdfff011fff08dfff27feff141fff01 +f7ff03f97fff03fbff04dfff011fff08dfff27feff05fbff0e1fff01f7ff03f87fff03fb +ff04dfff011fff30feff05fbff0e1fff01f7ff03fb0000000000000000001fff011fff30 +feff05fbff0e1fff01f7ff03f87fff03fbff04dfff011fff30feff05fbff0e1fff01f07f +ff02fa7fff03fbff04dfff011fff30feff141fff01f7ff03fb7ffe3fff01fbff04dfff01 +1fff08dfff27feff141fff01f7ff03f87ffebfff01fbff01f87fff01dfff011fff08dfff +27feff141fff01f7ff03f97ffe3fff01fbff01f03fff01dfff011fff08dfff27feff141f +ff01f7ff03fa7f0e7fff01fbff01e01fff01dfff011fff08dfff27feff05fbff0e1fff01 +f07fff02fa7fb57fff01fbff01cccfff01dfff011fff30feff05fbff0e1fff01f7ff03fb +7fd97fff01fbff01cccfff01dfff011fff30feff05fbff0e1fff01f7ff03fb7fed7fff01 +fbff01e01fff01dfff011fff30feff05fbff0e1fff01f7ff03fb7ff67fff01fbff01f03f +ff01dfff011fff30feff141fff01f7ff03fb7bf37fff01fbff01f87fff01dfff011fff08 +dfff27feff141fff01f01fff02fb78f5bfff01fbff01787bff01dfff011fff08dfff27fe +ff141fff01f7ff03fb7b2edfff01fbff017879ff01dfff011fff08dfff27feff141fff01 +f7ff03fb79cf6fff01fbff01bcf7ff01dfff011fff08dfff27feff05fbff0e1fff01f7ff +03fb7e5337ff01fbff01c78fff01dfff011fff30feff05fbff0e1fff01f7ff03fb7f9c5b +ff01fbff01f87fff01dfff011fff30feff05fbff0e1fff01f07fff02fb7fa72dff01fbff +01e01dff01dfff011fff30feff05fbff0e1fff01f7ff03fb7fb946ff01fbff010fc1ff01 +dfff011fff30feff141fff01f7ff03fb7f7e72ff01fbff017ffbff01dfff011fff08dfff +27feff141fff01f7ff03fb7f7f1c71fbff04dfff011fff08dfff27feff141fff01f7ff03 +fb7eff014020fbff04dfff011fff08dfff27feff141fff01f07fff02fb7eff017e067b0f +f3feff01dfff011fff08dfff27feff05fbff0e1fff01f7ff03fb7dff017f237bb7fbfc7f +dfff011fff30feff05fbff0e1fff01f7ff03fb7dff017e187bb63b8ef1dfff011fff30fe +ff05fbff0e1fff01f7ff03fb7bff017e4cfbb5db76eedfff011fff30feff05fbff0e1fff +01f7ff03fb7bff017e67fbb41b06e0dfff011fff30feff141fff01f07fff02fb7fff017f +37fbb5fb7eefdfff011fff08dfff27feff141fff01f7ff03fb7fff017f97fbb5db76aedf +ff011fff08dfff27feff141fff01f7ff03fb7fff017fc7fb0e318f71dfff011fff08dfff +27feff141fff01f7ff03fb7fff017fff01fbff04dfff011fff08dfff27feff05fbff0e1f +ff01f7ff03fb7fff03fbff04dfff011fff30feff05fbff0e1fff01f007ff02fb7fff03fb +ff04dfff011fff30feff05fbff0e1fff01f7ff03fb0000000000000000001fff011fff30 +feff05fbff0e1fff01f7ff03fb7fff03fbff04dfff011fff02e00003ff2bfeff141fff01 +f7ff03fb7fff03fbff04dfff011fff01f81fff01fc0fff02dfff27feff141fff01f7ff03 +fb7fff03fbff04dfff011fff01c7ff03f1ff02dfff27feff141fff01f07fff02fb7e0f80 +003bff04dfff011fff013fff03fe7fff01dfff27feff141fff01f7ff03fb7ca7bfff01bb +f06aa803dfff011ffcff059fff01dfff27feff05fbff0e1fff01f7ff03fb7953bfc1bbe7 +3ffbfbdfff011ffbff05efff29feff05fbff0e1fff01f7ff03fb7aa9a1d5bbef9ffa3bdf +ff011ffbff05cfff29feff05fbff0e1fff01f7ff03fb7955bfc9bbcfcffbfbdfff011ffb +ff05cfff29feff05fbff0e1fff01f07fff02fb7aa9a0d5bbdfeffa1bdfff011ff8ff059f +ff29feff141fff01f7ff03fb7955bfc1bbcfeffbfbdfff011ffb3fff03fe5fff01dfff27 +feff141fff01f7ff03fb7ca9bfff01bbe7cffa7bdfff011ffbc7ff03f1dfff01dfff27fe +ff141fff01f7ff03fb7e0380003bf39ffbfbdfff011ffbf81fff01fc0fdfff01dfff27fe +ff141fff01f7ff03fb7fff03fbf83ffa0bdfff011ffbff01e00003ff01dfff01dfff27fe +ff05fbff0e1fff01f07fff02fb7fbfff01bffbff01effbfbdfff011ffbff05dfff29feff +05fbff0e1fff01f7ff03fb7f1fff011ffbff01fbfa0bdfff011ffbff05dfff29feff05fb +ff0e1fff01f7ff03fb7eaffeaffbff01fefbfbdfff011ffbff05dfff29feff05fbff0e1f +ff01f7ff03fb7fbfff01bffbff02bbfbdfff011ffbff05dfff29feff141fff01f7ff03fb +7f80003ffbff02e803dfff011ffbff05dfff01dfff27feff141fff01f01fff02fb7fff03 +fbff04dfff011ffbff05dfff01dfff27feff141fff01f7ff03fb7fff03fbff04dfff011f +fbff05dfff01dfff27feff141fff01f7ff03fb6dff01dfeffbfc1f7fff01dfff011ffbff +05dfff01dfff15f8bfff037fe3ff01fbff09feff05fbff0e1fff01f7ff03fb6dff01dfef +fbfdff01777fdfff011ffbff05dfff17f73fff02fe7ff7ff01f3ff09feff05fbff0e1fff +01f7ff03fb6d4e58c73bfdff017f7fdfff011ff87fff017fff02dfff17efbfff037ff7ff +01fbff09feff05fbff0e1fff01f07fff02fb6d359f6edbfdf9663fdfff011ffaff01fe7f +ff02dfff17effc78e9c747f7a3cbc623ff07feff05fbff0e1fff01f7ff03fb6d75d06e1b +fc36777fdfff011ffaff027fff02df1fff149fff01f3fbb745bb33f719b3bb77ff038fff +03feff141fff01f7ff03fb6d35d76efbfdf7777fdfff011ffaf47978c47fd0ff01dfff13 +e1ff01fc77b76f7b7bf7bd7b7bafff02f87fff03feff141fff01f7ff03fb6d4d966adbfd +f7777fdfff011ffae336776eff01c0000000000000000000000000000000000000000000 +003fff01b03c6f7f7bf7bd7b03dfff02e00000000000ff141fff01f7ff03fb737e59773b +fdf6775fdfff011ffaf7af6f75ff01d0ff01dfff13e1ff02d7f36f7f7bf7bd7b7fafff02 +f87fff181fff01f07fff02fb7f7fff02fbfc1963bfdfff011ffaf7af607bff01df1fdfff +139fff01efd7f76f7f7bf7bd7b7fafff038fff09fbff0e1fff01f7ff03fb7f7fff02fbff +04dfff011ffaf7af6ff5ff01dfff17e7bbb64fbb7bf7bdb1bb77ff0dfbff0e1fff01f7ff +03fb7fff03fbff04dfff011ffaf7af6ff5ff01dfff17e87c7907c631e318cbc623ff0dfb +ff0e1fff01f7ff03fb7fff03fbff04dfff011ffaf7b6376eff01dfff2ffbff0e1fff01f7 +ff03fb0000000000000000001fff011ff8631978c47fdfff3e1fff01f07fff01f8fb7fff +03fbff04dfff011ffbff05dfff01dfff3c1fff01f7ff02f77b7fff03fbff04dfff011ffb +ff05dfff01dfff3c1fff01f7ff02f7fb7fff03fbff01feff02dfff011ffbff05dfff01df +ff3c1fff01f7ff02f7fb7fff03fbff011ff1ff01dfff011ffbff05dfff01dfff2dfbff0e +1fff01f7ff02f0fb7ffeff02fbfeeeeeff01dfff011ffbff01e00003ff01dfff2ffbff0e +1fff01f007ff01f77b7ffeff02fbfdf7df7fdfff011ffbf81fff01fc0fdfff2ffbff0e1f +ff01f7ff02f77b7ffd7fff01fbfdf6df7fdfff011ffbc7ff03f1dfff2ffbff0e1fff01f7 +ff02f77b7ffd7feffbfdf7df7fdfff011ffb3fff03fe5fff3e1fff01f7ff02f8fb7ffbbf +dffbfeeeeeff01dfff011ff8ff059fff01dfff3c1fff01f7ff03fb7ffbbf87fbff015ff5 +ff01dfff011ffbff05cfff01dfff3c1fff01f07fff02fb7ff7dfd9fbff015ef5ff01dfff +011ffbff05cfff01dfff3c1fff01f7ff03fb7ff7dfeefbf8e38e3fdfff011ffbff05efff +01dfff2dfbff0e1fff01f7ff03fb7fefeffefbf7fc7fdfdfff011ffcff059fff2ffbff0e +1fff01f7ff03fb7fe00fff017becf39f6fdfff011fff013fff03fe7fff2ffbff0e1fff01 +f7ff03fb7fff037bdaec6eb7dfff011fff01c7ff03f1ff30fbff0e1fff01f07fff02fb7a +aaaabf7bd6eeeed7dfff011fff01f81fff01fc0fff3f1fff01f7ff03fb7fff037bcdf7df +67dfff011fff02e00003ff03dfff3c1fff01f7ff03fb7fe00fff017bfdf6df7fdfff011f +ff451fff01f7ff03f87fefeffefbfbfbbfbfdfff011fff451fff01f7ff03fb7ff7dfeefb +fbfabfbfdfff011fff451fff01f07fff02fb7ff7dfd9fbf7fd7fdfdfff011fff451fff01 +f7ff03fb7ffbbf87fbf0a00a1fdfff011fff451fff01f7ff03f97ffbbfdffbfeafeaff01 +dfff011fff451fff01f7ff03f87ffd7feffbfeaeeaff01dfff011fff451fff01f7ff03f9 +7ffd7fff01fbfeafeaff01dfff011fff451fff01f01fff02f87ffeff02fbfeaeeaff01df +ff011fff451fff01f7ff03fb7ffeff02fbfeafeaff01dfff011fff451fff01f7ff03f87f +ff03fbfeaeeaff01dfff011fff451fff01f7ff03fa7fff03fbfe0fe0ff01dfff01000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000001fff01f7ff +03fb7fff03fbff01feff02dfff0100000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000001fff01f07fff02f87fff03fbff04dfff0100000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000001fff01f7ff03f97fff +03fbff04dfff49f7ff03fa0000000000000000001fff49f7ff03fa7fff03fbff04dfff49 +f7ff03fb7fff03fbff04dfff49f07fff02fb7fff01f7ff01fbff01feff02dfff49f7ff03 +fb7fff01f3ff01fbff01fcff02dfff49f7ff03fb7fff01f5ff01fbff01faff02dfff49f7 +ff03fb7fff0186ff01fbff01f61fff01dfff49f7ff03fb7ffe7f7ffbff01efe7ff01dfff +49f07fff02fb7ffdff017ffbff01effbff01dfff49f7ff03fb7ffb86ff01fbff01f61dff +01dfff49f7ff03fb7ffb75ff01fbff01faedff01dfff49f7ff03fb7ff6f3ff01fbff01fc +f6ff01dfff49f7ff03fb7ff6f7ff01fbff01fef6ff01dfff49f007ff02fb7ff6fe1ffbff +0187f6ff01dfff49f7ff03fb7ff6fedffbff01b7f6ff01dfff49f7ff03fb7ff6fedffbff +01b7f6ff01dfff49f7ff03fb7ffb7dbffbff01dbedff01dfff49f7ff03fb7ffb83bffbff +01dc1dff01dfff49f07fff02fb7ffdff017ffbff01effbff01dfff49f7ff03fb7ffe7cff +01fbff01f3e7ff01dfff49f7ff03fb7fff0183ff01fbff01fc1fff01dfff49f7ff03fb7f +ff03fbff04dfff49f7ff03fb7fff03fbff04dfff49f07fff02fb61ff017feffb0ffbff01 +7fdfff49f7ff03fb6eff017feffb77fbff017fdfff49f7ff03fb6ec638c73b7631c639df +ff49f7ff03fb6ebb7f6edb75dbfb76dfff49f7ff03fb61bb706e1b0ddb8370dfff49f07f +ff02fb6ebb776efb75dbbb77dfff49f7ff03fb6ebb566adb75dab356dfff49f7ff03fb6e +c7b9773b763dcbb9dfff49f7ff03fb7fff03fbff04dfff49f7ff03fb7fff03fbff04dfff +49f01fff02fb0000000000000000001fff49f7ff03fb7fff03fbff04dfff49f7ff03fb7f +ff03fbff04dfff49f7ff03fb7fff03fbff04dfff49f7ff03fb7fff03fbff04dfff49f07f +ff02fb7fdfff027bff01feff02dfff49f7ff03fb7fbfff01fefbff01feff02dfff49f7ff +03fb7f7fff01fdfbff01fc7fff01dfff49f7ff03fb7eff02fbfbff01fc7fff01dfff49f7 +ff03fb7dff02f7fbff01fc7fff01dfff49f07fff02fb7dff02effbff01fabfff01dfff49 +f7ff03fb7bff02dffbff01fabfff01dfff49f7ff03fb7bff02bffbff01fabfff01dfff49 +f7ff03fb7bff027ffbff01f6dfff01dfff49f7ff03fb7bff01feff01fbff01f6dfff01df +ff49f07fff01f07b7dff027ffbff01f6dfff01dfff49f7ff037b7dff02bffbff01eeefff +01dfff49f7ff02fefb7eff02dffbff01eeefff01dfff49f7ff02fefb7eff02effbff01ee +efff01dfff49f7ff02fdfb7f7fff01f7fbff01def7ff01dfff49f007ff01fdfb7f7efdfb +fbff01def7ff01dfff49f7ff02fbfb7fbdfefdfbff01feff02dfff49f7ff02fbfb7fb800 +7efbff01feff02dfff49f7ff02fbfb7fbdfefdfbff01feff02dfff49f7ff03fb7f7efdfb +fbff01feff02dfff49f07fff02fb7f7fff01f7fbff01feff02dfff49f7ff03fb7eff02ef +fbff01feff02dfff49f7ff03fb7dff02dffbff01feff02dfff49f7ff03fb7bff02bffbff +01feff02dfff49f7ff03fb7fff03fbff04dfff49f07fff02fb7fff03fbff04dfff49f7ff +03fb7fff03fbff04dfff49f7ff03fb7fff03fbff04dfff49f7ff03fb0000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000 +00000000000000037fff069fff07efff487fff069fff07efff487fff069fff07efff487f +ff069fff07efff48707fff059e3fff01f7fc000000efff487f7fff059ddff7f7fdff02fe +efff487eff04bfff019dff02f7fdff02feefff487ee38cbfff013fff019df4e787fdff02 +feefff487ddd755ffebfff019df37777fdff02feefff487bdd755fff01bfff019d97f777 +fdff02feefff487bdd755fff01bfff019dd7f777fdff02feefff4877dd755fff01bfff01 +9dd7f777fd766e82efff47fc70638ddfff01bfff019e37e387fd75aebeefff487fff04bf +ff019fff03fd35a6beefff487fff03fe0fff019fff03fd35a6beefff487fff069fff03fd +55aa8eefff47fd7fff069fff03fd55aabeefff47fc78ff01fe7fff039ddffdff01fd65ac +beefff47fd777fff017fff039ddffdff01fd65acbeefff47fc77ff027fff039c9ffdff01 +fd75aebeefff4877e38f78ff039d58e18ffd766e82efff47fc78ddf7777fff029d575d77 +fdff02feefff47fe7f5f87707fff029dd75d07fdff02feefff487f5f7777ff039dd75d7f +fdff02feefff47fc775d77777fff029dd75d77fdff02feefff47fd78e38638ff039dd8e1 +8ffdff02feefff47fe7fff069fff03fdff02feefff47fe7fff069fff03fc000000efff48 +7fff069fff07efff487fff069fff07efff487fff069fff07efff487fff069fff07efff48 +0000000000000000000000000000000fff48ff58ff58ff58ff58ff58ff58ff58ff58ff58 +ff58ff58ff58ff58ff58ff58ff58def0123456789abcdef0123456789abcdef012345678 + +showpage +%%EndDocument + + endTexFig + 636 2340 a Ft(Figure)12 b(1:)18 b(A)12 b(Sample)g Fo(xfig)g +Ft(Screen)963 2798 y(3)p eop +%%Page: 4 5 +4 4 bop 1 setlinewidth np 635 848 52 0.00 360.00 arc +st 1 setlinewidth np 470 319 48 15 0.00 360.00 ellipse +st 1 setlinewidth np 470 398 48 15 0.00 360.00 ellipse +st 1 setlinewidth np 635 357 52 56 0.00 360.00 ellipse +st 1 setlinewidth np 635 495 52 56 0.00 360.00 ellipse +st 1 setlinewidth np 470 458 48 15 0.00 360.00 ellipse +st 1 setlinewidth np 470 537 48 15 0.00 360.00 ellipse +st 1 setlinewidth np 470 672 48 15 0.00 360.00 ellipse +st 1 setlinewidth np 470 597 48 15 0.00 360.00 ellipse +st 1 setlinewidth np 635 638 52 56 0.00 360.00 ellipse +st 1 setlinewidth np 470 889 48 15 0.00 360.00 ellipse +st 1 setlinewidth np 470 807 48 15 0.00 360.00 ellipse +st 1 setlinewidth np 470 1005 48 15 0.00 360.00 ellipse +st 1 setlinewidth np 470 1080 48 15 0.00 360.00 ellipse +st 1 setlinewidth np 1209 769 56 60 0.00 360.00 ellipse +st 1 setlinewidth np 770 761 a 740 769 li 770 776 li +st 1 setlinewidth np 740 769 a 796 769 li st 1 setlinewidth +np 1429 769 a 1474 769 li 1474 803 li st 1 setlinewidth +np 1467 773 a 1474 803 li 1482 773 li st 1 setlinewidth +np 1317 769 a 1268 769 li st 1 setlinewidth np 1298 761 +a 1268 769 li 1298 776 li st 1 setlinewidth np 1152 769 +a 1115 769 li st 1 setlinewidth np 1145 761 a 1115 769 +li 1145 776 li st 3 setlinewidth np 1130 687 a 1148 687 +li st 3 setlinewidth np 1181 687 a 1199 687 li st 3 setlinewidth +np 1231 687 a 1249 687 li st 3 setlinewidth np 1282 687 +a 1300 687 li st 3 setlinewidth np 1332 687 a 1350 687 +li st 3 setlinewidth np 1383 687 a 1401 687 li st 3 setlinewidth +np 1433 687 a 1451 687 li st 3 setlinewidth np 1452 687 +a 1452 706 li st 3 setlinewidth np 1452 736 a 1452 755 +li st 3 setlinewidth np 1452 785 a 1452 804 li st 3 setlinewidth +np 1452 835 a 1452 854 li st 3 setlinewidth np 1452 884 +a 1452 903 li st 3 setlinewidth np 1452 904 a 1434 904 +li st 3 setlinewidth np 1402 904 a 1384 904 li st 3 setlinewidth +np 1351 904 a 1333 904 li st 3 setlinewidth np 1301 904 +a 1283 904 li st 3 setlinewidth np 1250 904 a 1232 904 +li st 3 setlinewidth np 1200 904 a 1182 904 li st 3 setlinewidth +np 1149 904 a 1131 904 li st 3 setlinewidth np 1130 904 +a 1130 885 li st 3 setlinewidth np 1130 855 a 1130 836 +li st 3 setlinewidth np 1130 805 a 1130 786 li st 3 setlinewidth +np 1130 756 a 1130 737 li st 3 setlinewidth np 1130 706 +a 1130 687 li st 1 setlinewidth np 1223 495 a 1373 495 +li 1373 701 li st 1 setlinewidth np 1366 671 a 1373 701 +li 1381 671 li st 1 setlinewidth np 1302 919 a 1302 932 +li st 1 setlinewidth np 1302 952 a 1302 965 li st 1 setlinewidth +np 1302 984 a 1302 997 li st 1 setlinewidth np 1302 1017 +a 1302 1030 li st 1 setlinewidth np 1302 1049 a 1302 +1062 li st 1 setlinewidth np 1302 1082 a 1302 1095 li +st 1 setlinewidth np 1302 233 a 1302 245 li st 1 setlinewidth +np 1302 266 a 1302 278 li st 1 setlinewidth np 1302 299 +a 1302 311 li st 1 setlinewidth np 1302 333 a 1302 345 +li st 1 setlinewidth np 1302 366 a 1302 378 li st 1 setlinewidth +np 1302 399 a 1302 411 li st 1 setlinewidth np 1302 432 +a 1302 444 li st 1 setlinewidth np 1302 465 a 1302 477 +li st 1 setlinewidth np 1302 499 a 1302 511 li st 1 setlinewidth +np 1302 532 a 1302 544 li st 1 setlinewidth np 1302 565 +a 1302 577 li st 1 setlinewidth np 1302 598 a 1302 610 +li st 1 setlinewidth np 1302 631 a 1302 643 li st 1 setlinewidth +np 1302 665 a 1302 677 li st 1 setlinewidth np 1302 698 +a 1302 710 li st 1 setlinewidth np 1302 731 a 1302 743 +li st 1 setlinewidth np 1302 764 a 1302 776 li st 1 setlinewidth +np 1302 798 a 1302 810 li st 1 setlinewidth np 1302 831 +a 1302 843 li st 1 setlinewidth np 1216 863 a 1208 833 +li 1201 863 li st 1 setlinewidth np 1208 833 a 1208 1046 +li 1118 1046 li st 1 setlinewidth np 1148 1039 a 1118 +1046 li 1148 1054 li st 1 setlinewidth np 1002 769 a +972 769 li st 1 setlinewidth np 1002 761 a 972 769 li +1002 776 li st 3 setlinewidth np 796 701 a 972 701 li +972 833 li 796 833 li closepath st 1 setlinewidth np +1010 491 a 1085 491 li st 1 setlinewidth np 1055 499 +a 1085 491 li 1055 484 li st 4 setlinewidth np [ 4 16.50 +] 0 setdash 635 724 a 635 769 li st [] 0 setdash [] 0 setdash +1 setlinewidth np 515 360 a 578 360 li st 1 setlinewidth +np 548 368 a 578 360 li 548 353 li st 1 setlinewidth +np 515 499 a 578 499 li st 1 setlinewidth np 548 506 +a 578 499 li 548 491 li st 1 setlinewidth np 515 641 +a 578 641 li st 1 setlinewidth np 548 649 a 578 641 li +548 634 li st 1 setlinewidth np 515 851 a 578 851 li +st 1 setlinewidth np 548 859 a 578 851 li 548 844 li +st 1 setlinewidth np 856 1054 a 886 1046 li 856 1039 +li st 1 setlinewidth np 886 1046 a 515 1046 li st 1 setlinewidth +np 545 1039 a 515 1046 li 545 1054 li st 1 setlinewidth +np 515 1005 a 515 1080 li st 1 setlinewidth np 515 806 +a 515 889 li st 1 setlinewidth np 515 596 a 515 671 li +st 1 setlinewidth np 515 319 a 515 398 li st 1 setlinewidth +np 515 458 a 515 536 li st 1 setlinewidth np 721 353 +a 691 360 li 721 368 li st 1 setlinewidth np 691 360 +a 743 360 li st 1 setlinewidth np 713 368 a 743 360 li +713 353 li st 1 setlinewidth np 721 491 a 691 499 li +721 506 li st 1 setlinewidth np 691 499 a 743 499 li +st 1 setlinewidth np 713 506 a 743 499 li 713 491 li +st 1 setlinewidth np 721 634 a 691 641 li 721 649 li +st 1 setlinewidth np 691 641 a 743 641 li st 1 setlinewidth +np 713 649 a 743 641 li 713 634 li st 1 setlinewidth +np 1374 769 56 0.00 360.00 arc st 1 setlinewidth np 721 +844 a 691 851 li 721 859 li st 1 setlinewidth np 691 +851 a 743 851 li st 1 setlinewidth np 713 859 a 743 851 +li 713 844 li st 804 263 a Fg(File)9 b(Structure)h(Se)o(gment)p +4 setlinewidth np [ 4 16.50 ] 0 setdash 470 724 a 470 +769 li st [] 0 setdash [] 0 setdash 1 setlinewidth np +743 491 a 848 491 li st 1 setlinewidth np 818 499 a 848 +491 li 818 484 li st 3 setlinewidth np 743 360 a 743 +851 li st 1 setlinewidth np 421 319 a 421 398 li st 1 +setlinewidth np 421 458 a 421 536 li st 1 setlinewidth +np 421 596 a 421 671 li st 1 setlinewidth np 421 806 +a 421 889 li st 1 setlinewidth np 421 1005 a 421 1080 +li st 1 setlinewidth np 545 308 a 545 320 li st 1 setlinewidth +np 545 342 a 545 354 li st 1 setlinewidth np 545 375 +a 545 387 li st 1 setlinewidth np 545 409 a 545 421 li +st 1 setlinewidth np 545 442 a 545 454 li st 1 setlinewidth +np 545 476 a 545 488 li st 1 setlinewidth np 545 510 +a 545 522 li st 1 setlinewidth np 545 543 a 545 555 li +st 1 setlinewidth np 545 577 a 545 589 li st 1 setlinewidth +np 545 611 a 545 623 li st 1 setlinewidth np 545 644 +a 545 656 li st 1 setlinewidth np 545 678 a 545 690 li +st 1 setlinewidth np 545 712 a 545 724 li st 1 setlinewidth +np 545 745 a 545 757 li st 1 setlinewidth np 545 779 +a 545 791 li st 1 setlinewidth np 545 813 a 545 825 li +st 1 setlinewidth np 545 846 a 545 858 li st 1 setlinewidth +np 545 880 a 545 892 li st 1 setlinewidth np 545 914 +a 545 926 li st 1 setlinewidth np 545 947 a 545 959 li +st 1 setlinewidth np 545 981 a 545 993 li st 1 setlinewidth +np 545 1015 a 545 1027 li st 1 setlinewidth np 545 1048 +a 545 1060 li st 1 setlinewidth np 545 1082 a 545 1094 +li st 1 setlinewidth np 549 233 a 549 243 li st 1 setlinewidth +np 549 255 a 549 265 li st 1 setlinewidth np 1204 446 +a 1204 533 li st 1 setlinewidth np 1182 446 a 1182 533 +li st 3 setlinewidth np 1058 446 a 1223 446 li 1223 533 +li 1058 533 li st 4 setlinewidth np [ 4 16.50 ] 0 setdash +1107 491 a 1152 491 li st [] 0 setdash [] 0 setdash 3 +setlinewidth np 1542 1121 a 1542 218 li 395 218 li 395 +1121 li closepath st 1321 773 a Ff(Iterator)800 803 y +Fe(Administrator)800 754 y(Leaf)d(Retrie)o(v)o(al)1220 +896 y Ff(GENERA)l(T)o(OR)1467 833 y Fe(Query)1467 859 +y(Results)1010 754 y(Leaf)1010 780 y(Requests)1055 574 +y Ff(Shared)h(Buf)o(fer)g(Queue)909 1054 y Fg(Search)g(Inde)o(x)868 +499 y(Records)421 1058 y Ff(Index)421 870 y(diskN)421 +653 y(disk3)421 514 y(disk2)421 379 y(disk1)590 360 y +Fd(retrie)o(ve1)590 499 y(retrie)o(ve2)590 642 y(retrie)o(ve3)590 +851 y(retrie)o(veN)433 297 y Fg(File)h(Structure)433 +263 y(P)o(artitioned)751 b(Accessor)1160 762 y Fd(Structure)1160 +792 y(T)o(raverser)1190 732 y(File)406 1273 y Ft(\(a\))12 +b(model.te)o(x)g(included)g(via)h(EEPIC)f(\(xdvi)g(will)g(display)g +(this\))408 1347 y + 18089984 14274641 0 0 18089984 14274641 startTexFig + 408 1347 a +%%BeginDocument: model.ps +/$F2psDict 200 dict def +$F2psDict begin +$F2psDict /mtrx matrix put +/l {lineto} bind def +/m {moveto} bind def +/s {stroke} bind def +/n {newpath} bind def +/gs {gsave} bind def +/gr {grestore} bind def +/clp {closepath} bind def +/graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul +4 -2 roll mul setrgbcolor} bind def +/col-1 {} def +/col0 {0 0 0 setrgbcolor} bind def +/col1 {0 0 1 setrgbcolor} bind def +/col2 {0 1 0 setrgbcolor} bind def +/col3 {0 1 1 setrgbcolor} bind def +/col4 {1 0 0 setrgbcolor} bind def +/col5 {1 0 1 setrgbcolor} bind def +/col6 {1 1 0 setrgbcolor} bind def +/col7 {1 1 1 setrgbcolor} bind def +/col8 {.68 .85 .9 setrgbcolor} bind def +/col9 {0 .39 0 setrgbcolor} bind def +/col10 {.65 .17 .17 setrgbcolor} bind def +/col11 {1 .51 0 setrgbcolor} bind def +/col12 {.63 .13 .94 setrgbcolor} bind def +/col13 {1 .75 .8 setrgbcolor} bind def +/col14 {.7 .13 .13 setrgbcolor} bind def +/col15 {1 .84 0 setrgbcolor} bind def + /DrawEllipse { + /endangle exch def + /startangle exch def + /yrad exch def + /xrad exch def + /y exch def + /x exch def + /savematrix mtrx currentmatrix def + x y translate xrad yrad scale 0 0 1 startangle endangle arc + savematrix setmatrix + } def + + end +/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def +/$F2psEnd {$F2psEnteredState restore end} def + +$F2psBegin +0 setlinecap 0 setlinejoin +-438.0 286.0 translate 0.900 -0.900 scale +0.500 setlinewidth +% Ellipse +n 550 244 14 14 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 506 103 13 4 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 506 124 13 4 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 550 113 14 15 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 550 150 14 15 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 506 140 13 4 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 506 161 13 4 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 506 197 13 4 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 506 177 13 4 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 550 188 14 15 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 506 255 13 4 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 506 233 13 4 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 506 286 13 4 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 506 306 13 4 0 360 DrawEllipse gs col-1 s gr +% Ellipse +n 703 223 15 16 0 360 DrawEllipse gs col-1 s gr +n 586.000 225.000 m 578.000 223.000 l 586.000 221.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 578 223 m 593 223 l gs col-1 s gr +% Polyline +n 762 223 m 774 223 l 774 232 l gs col-1 s gr +n 776.000 224.000 m 774.000 232.000 l 772.000 224.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 732 223 m 719 223 l gs col-1 s gr +n 727.000 225.000 m 719.000 223.000 l 727.000 221.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 688 223 m 678 223 l gs col-1 s gr +n 686.000 225.000 m 678.000 223.000 l 686.000 221.000 l gs 2 setlinejoin col-1 s gr +1.000 setlinewidth + [6.000000] 0 setdash +% Polyline +n 682 201 m 768 201 l 768 259 l 682 259 l clp gs col-1 s gr + [] 0 setdash +0.500 setlinewidth +% Polyline +n 707 150 m 747 150 l 747 205 l gs col-1 s gr +n 749.000 197.000 m 747.000 205.000 l 745.000 197.000 l gs 2 setlinejoin col-1 s gr + [4.000000] 0 setdash +% Polyline +n 728 263 m 728 310 l gs col-1 s gr + [] 0 setdash + [4.000000] 0 setdash +% Polyline +n 728 80 m 728 243 l gs col-1 s gr + [] 0 setdash +n 701.000 248.000 m 703.000 240.000 l 705.000 248.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 703 240 m 703 297 l 679 297 l gs col-1 s gr +n 687.000 299.000 m 679.000 297.000 l 687.000 295.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 648 223 m 640 223 l gs col-1 s gr +n 648.000 225.000 m 640.000 223.000 l 648.000 221.000 l gs 2 setlinejoin col-1 s gr +1.000 setlinewidth +% Polyline +n 593 205 m 640 205 l 640 240 l 593 240 l clp gs col-1 s gr +0.500 setlinewidth +% Polyline +n 650 149 m 670 149 l gs col-1 s gr +n 662.000 147.000 m 670.000 149.000 l 662.000 151.000 l gs 2 setlinejoin col-1 s gr +2.000 setlinewidth + 1 setlinecap [1 6.000000] 6.000000 setdash +% Polyline +n 550 211 m 550 223 l gs col-1 s gr + [] 0 setdash 0 setlinecap +0.500 setlinewidth +% Polyline +n 518 114 m 535 114 l gs col-1 s gr +n 527.000 112.000 m 535.000 114.000 l 527.000 116.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 518 151 m 535 151 l gs col-1 s gr +n 527.000 149.000 m 535.000 151.000 l 527.000 153.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 518 189 m 535 189 l gs col-1 s gr +n 527.000 187.000 m 535.000 189.000 l 527.000 191.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 518 245 m 535 245 l gs col-1 s gr +n 527.000 243.000 m 535.000 245.000 l 527.000 247.000 l gs 2 setlinejoin col-1 s gr +n 609.000 295.000 m 617.000 297.000 l 609.000 299.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 617 297 m 518 297 l gs col-1 s gr +n 526.000 299.000 m 518.000 297.000 l 526.000 295.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 518 286 m 518 306 l gs col-1 s gr +% Polyline +n 518 233 m 518 255 l gs col-1 s gr +% Polyline +n 518 177 m 518 197 l gs col-1 s gr +% Polyline +n 518 103 m 518 124 l gs col-1 s gr +% Polyline +n 518 140 m 518 161 l gs col-1 s gr +n 573.000 116.000 m 565.000 114.000 l 573.000 112.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 565 114 m 579 114 l gs col-1 s gr +n 571.000 112.000 m 579.000 114.000 l 571.000 116.000 l gs 2 setlinejoin col-1 s gr +n 573.000 153.000 m 565.000 151.000 l 573.000 149.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 565 151 m 579 151 l gs col-1 s gr +n 571.000 149.000 m 579.000 151.000 l 571.000 153.000 l gs 2 setlinejoin col-1 s gr +n 573.000 191.000 m 565.000 189.000 l 573.000 187.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 565 189 m 579 189 l gs col-1 s gr +n 571.000 187.000 m 579.000 189.000 l 571.000 191.000 l gs 2 setlinejoin col-1 s gr +% Ellipse +n 747 223 15 15 0 360 DrawEllipse gs col-1 s gr +n 573.000 247.000 m 565.000 245.000 l 573.000 243.000 l gs 2 setlinejoin col-1 s gr +% Polyline +n 565 245 m 579 245 l gs col-1 s gr +n 571.000 243.000 m 579.000 245.000 l 571.000 247.000 l gs 2 setlinejoin col-1 s gr +/Times-Roman findfont 9.00 scalefont setfont +595 88 m +gs 1 -1 scale (File Structure Segment) col-1 show gr +2.000 setlinewidth + 1 setlinecap [1 6.000000] 6.000000 setdash +% Polyline +n 506 211 m 506 223 l gs col-1 s gr + [] 0 setdash 0 setlinecap +0.500 setlinewidth +% Polyline +n 579 149 m 607 149 l gs col-1 s gr +n 599.000 147.000 m 607.000 149.000 l 599.000 151.000 l gs 2 setlinejoin col-1 s gr +1.000 setlinewidth +% Polyline +n 579 114 m 579 245 l gs col-1 s gr +0.500 setlinewidth +% Polyline +n 493 103 m 493 124 l gs col-1 s gr +% Polyline +n 493 140 m 493 161 l gs col-1 s gr +% Polyline +n 493 177 m 493 197 l gs col-1 s gr +% Polyline +n 493 233 m 493 255 l gs col-1 s gr +% Polyline +n 493 286 m 493 306 l gs col-1 s gr + [4.000000] 0 setdash +% Polyline +n 526 100 m 526 310 l gs col-1 s gr + [] 0 setdash + [4.000000] 0 setdash +% Polyline +n 527 80 m 527 89 l gs col-1 s gr + [] 0 setdash +% Polyline +n 702 137 m 702 160 l gs col-1 s gr +% Polyline +n 696 137 m 696 160 l gs col-1 s gr +1.000 setlinewidth +% Polyline +n 663 137 m 707 137 l 707 160 l 663 160 l gs col-1 s gr +2.000 setlinewidth + 1 setlinecap [1 6.000000] 6.000000 setdash +% Polyline +n 676 149 m 688 149 l gs col-1 s gr + [] 0 setdash 0 setlinecap +% Polyline +n 792 317 m 792 76 l 486 76 l 486 317 l clp gs col-1 s gr +/Times-Roman findfont 8.00 scalefont setfont +733 224 m +gs 1 -1 scale (Iterator) col-1 show gr +/Times-Roman findfont 6.00 scalefont setfont +594 232 m +gs 1 -1 scale (Administrator) col-1 show gr +/Times-Roman findfont 6.00 scalefont setfont +594 219 m +gs 1 -1 scale (Leaf Retrieval) col-1 show gr +/Times-Roman findfont 8.00 scalefont setfont +706 257 m +gs 1 -1 scale (GENERATOR) col-1 show gr +/Times-Roman findfont 6.00 scalefont setfont +772 240 m +gs 1 -1 scale (Query) col-1 show gr +/Times-Roman findfont 6.00 scalefont setfont +772 247 m +gs 1 -1 scale (Results) col-1 show gr +/Times-Roman findfont 6.00 scalefont setfont +650 219 m +gs 1 -1 scale (Leaf) col-1 show gr +/Times-Roman findfont 6.00 scalefont setfont +650 226 m +gs 1 -1 scale (Requests) col-1 show gr +/Times-Roman findfont 8.00 scalefont setfont +662 171 m +gs 1 -1 scale (Shared Buffer Queue) col-1 show gr +/Times-Roman findfont 9.00 scalefont setfont +623 299 m +gs 1 -1 scale (Search Index) col-1 show gr +/Times-Roman findfont 9.00 scalefont setfont +612 151 m +gs 1 -1 scale (Records) col-1 show gr +/Times-Roman findfont 8.00 scalefont setfont +493 300 m +gs 1 -1 scale (Index) col-1 show gr +/Times-Roman findfont 8.00 scalefont setfont +493 250 m +gs 1 -1 scale (diskN) col-1 show gr +/Times-Roman findfont 8.00 scalefont setfont +493 192 m +gs 1 -1 scale (disk3) col-1 show gr +/Times-Roman findfont 8.00 scalefont setfont +493 155 m +gs 1 -1 scale (disk2) col-1 show gr +/Times-Roman findfont 8.00 scalefont setfont +493 119 m +gs 1 -1 scale (disk1) col-1 show gr +/Times-Roman findfont 5.00 scalefont setfont +538 114 m +gs 1 -1 scale (retrieve1) col-1 show gr +/Times-Roman findfont 5.00 scalefont setfont +538 151 m +gs 1 -1 scale (retrieve2) col-1 show gr +/Times-Roman findfont 5.00 scalefont setfont +538 189 m +gs 1 -1 scale (retrieve3) col-1 show gr +/Times-Roman findfont 5.00 scalefont setfont +538 245 m +gs 1 -1 scale (retrieveN) col-1 show gr +/Times-Roman findfont 9.00 scalefont setfont +496 97 m +gs 1 -1 scale (File Structure) col-1 show gr +/Times-Roman findfont 9.00 scalefont setfont +496 88 m +gs 1 -1 scale (Partitioned) col-1 show gr +/Times-Roman findfont 9.00 scalefont setfont +740 88 m +gs 1 -1 scale (Accessor) col-1 show gr +/Times-Roman findfont 5.00 scalefont setfont +690 221 m +gs 1 -1 scale (Structure) col-1 show gr +/Times-Roman findfont 5.00 scalefont setfont +690 229 m +gs 1 -1 scale (Traverser) col-1 show gr +/Times-Roman findfont 5.00 scalefont setfont +698 213 m +gs 1 -1 scale (File) col-1 show gr +$F2psEnd +%%EndDocument + + endTexFig + 241 2365 a Ft(\(b\))f(model.ps)i(included)f(via)g(ps\256g)h(\(xdvi)e +(will)h Fr(not)g Ft(display)h(this;)f(use)h(ghostvie)o(w\))600 +2467 y(Figure)f(2:)18 b(Sample)12 b(outputs)g(from)f +Fo(xfig)963 2798 y Ft(4)p eop +%%Page: 5 6 +5 5 bop 0 53 a Fo(\\documentstyle[...,epic,eepic,nf)o(ssfontcom)o +(pat]{...})0 174 y(\\begin{document})0 265 y Ft(.)0 281 +y(.)0 298 y(.)73 358 y(Then)13 b(you)f(may)g(include)g(the)h(EEPIC)g +(\256le)f(using)g(the)g Fo(\\input)g Ft(macro:)0 528 +y Fo(\\input)29 b(model.tex)0 720 y Fq(2.1.4)50 b(Including)12 +b(PostScript)g(pictur)o(es)g(in)g Ft(L)850 713 y Fs(A)871 +720 y Ft(T)893 736 y(E)918 720 y(X)0 814 y(T)l(o)j(include)g(a)g +(PostScript)e(\256le)i(in)f(your)g(L)734 807 y Fs(A)755 +814 y Ft(T)777 830 y(E)803 814 y(X)g(document)h(you)f(use)h(the)g +(ps\256g)g([3)o(])g(macro.)25 b(T)l(o)15 b(do)f(this)h(you)0 +874 y(must)d(\256rst)g Fo(\\input)g Ft(ps\256g:)0 983 +y Fo(\\documentstyle[...]{...})0 1044 y(\\input{psfig})0 +1164 y(\\begin{document})0 1255 y Ft(.)0 1272 y(.)0 1288 +y(.)73 1348 y(Then)h(you)f(may)g(use)h(the)g Fo(\\psfig)e +Ft(macro)h(to)g(actually)h(include)f(a)g(PostScript)g(\256le:)0 +1507 y Fo(\\psfig{figure=model.ps,height=1.)o(5in})73 +1665 y Ft(Ps\256g)21 b(depends)g(upon)f(the)h(presence)g(of)g(a)g +(BoundingBox)f(comment)h(in)f(the)h(PostScript)f(\256le)g(being)0 +1725 y(included.)d(A)10 b(BoundingBox)g(statment)g(essentially)g +(speci\256es)h(the)f(location)g(and)g(size)g(of)g(the)g(included)g +(\256gure)0 1785 y(on)g(the)f(page.)18 b(See)10 b([3)o(])g(for)e(a)i +(detailed)g(e)o(xplanation.)17 b(In)9 b(most)h(cases)h(the)f(program)e +(generating)h(the)h(PostScript)0 1845 y(\256gure)h(will)g +(automatically)g(include)h(a)g(BoundingBox)f(comment)g(in)h(the)g +(\256le)f(and)h(you)f(won')o(t)g(ha)o(v)o(e)h(to)g(worry)0 +1906 y(about)e(it.)18 b(Ps\256g)10 b(will)g(use)h(the)f(BoundingBox)g +(comment)g(in)g(the)h(PostScript)e(\256le)h(to)g(scale)h(the)g +(included)f(\256gure)0 1966 y(to)j(the)g(gi)o(v)o(en)g(dimensions.)22 +b(Y)-5 b(ou)12 b(can)i(change)f(the)g Fr(natural)g Ft(scaling)h(of)f +(the)g(\256gure)g(by)g(specifying)g Fo(height)0 2026 +y Ft(or)i Fo(width)g Ft(or)g(both)g(in)h(the)f Fo(\\psfig)g +Ft(statement)h(abo)o(v)o(e.)28 b(If)15 b(you)g(only)g(specify)h(one,)h +(scaling)e(will)g(be)h(the)0 2086 y(same)f(in)f(both)g(directions)g(in) +h(order)e(to)i(produce)f(that)g(one)g(dimension.)25 b(If)13 +b(you)i(want)f(to)g(include)g(dra)o(wings)0 2146 y(produced)e(on)g(a)h +(Mac)g(you)f(should)g(see)h(the)f Fo(psfig)g Ft(man)h(page)f(for)g +(special)g(instructions.)73 2207 y(An)f(alternati)o(v)o(e)e(set)i(of)f +(macros)h(that)f(can)h(be)f(used)h(to)g(include)f(Encapsulated)h +(PostScript)e(\256les)i(in)f(a)h(L)1846 2200 y Fs(A)1867 +2207 y Ft(T)1889 2222 y(E)1914 2207 y(X)0 2267 y(document)h(is)h +(called)f(EPSF)l(.)g(Details)h(on)f(ho)o(w)g(to)g(use)h(the)g(EPSF)f +(macros)g(are)g(contained)g(in)h([15)o(].)0 2399 y Fq(A)f(special)h +(note)f(about)f(including)g(PostScript)g(\256les)i(generated)f(by)g +(Maple)0 2493 y Ft(Maple)17 b([2)o(])f(generated)g(PostScript)f(plots)h +(need)h(special)f(mention)g(because)h(of)f(a)g(problem)g(in)g(the)g +(rele)o(v)o(ant)0 2553 y(dri)o(v)o(er)f(of)g(the)g(current)g(Maple)h +(release.)28 b(This)16 b(problem)f(may)g(be)h(recti\256ed)f(in)g(a)h +(future)e(release)i(of)f(Maple.)0 2613 y(Until)e(then,)h(if)g(you)f +(want)g(to)g(include)h(a)g(Maple)g(generated)f(PostScript)g(plot)g(in)g +(your)g(L)1547 2606 y Fs(A)1568 2613 y Ft(T)1590 2629 +y(E)1615 2613 y(X)h(document)f(you)0 2674 y(ha)o(v)o(e)g(to)f(\256rst)g +(modify)f(the)i(plot)f(\256le)g(by)g(commenting)f(out)i(the)f(follo)o +(wing)f(three)h(lines.)963 2798 y(5)p eop +%%Page: 6 7 +6 6 bop 120 53 a Fo(\045)29 b(540)h(82)g(translate)120 +114 y(\045)f(90)h(rotate)120 174 y(\045)f(0.19)h(0.19)f(scale)0 +275 y Ft(Note)16 b(that)g Fo(\045)g Ft(is)g(the)g(comment)f(character)h +(in)g(PostScript.)28 b(The)17 b(plot)e(can)h(then)g(be)g(included)g(in) +g(the)g(L)1846 268 y Fs(A)1867 275 y Ft(T)1889 291 y(E)1914 +275 y(X)0 336 y(document)c(by)g(follo)o(wing)f(the)h(instructions)g(gi) +o(v)o(en)g(earlier)f(in)h(section)h(2.1.4.)19 b(Another)11 +b(thing)h(that)g(will)g(need)0 396 y(to)g(be)h(done)f(for)g(getting)f +(the)i(plot)f(scaled)h(properly)e(is)i(to)f(specify)g(the)h(dimensions) +f(of)g(the)g(plot)g(by)h(using)f(the)0 456 y(height,)g(width)g(or)g +(both)g(parameters)g(in)h(the)f Fo(psfig)g Ft(command,)g(as)h(in)120 +558 y Fo(\\psfig{figure=maple_plot.ps,)o(height=2.)o(5in})0 +659 y Ft(If)d(this)h(is)g(not)f(done)h(the)g(resulting)f(plot)g(may)h +(be)g(too)f(big)h(since)g(it)g(will)f(be)h(printed)f(in)h(the)f +(default)g(Maple)h(size.)0 720 y(The)i(instructions)g(described)f(in)h +(this)g(section)g(were)f(used)i(to)e(produce)h(the)f(3-dimensional)g +(plot)h(in)f(Figure)g(3)0 780 y(from)f(a)i(\256le)f(generated)g(by)g +(maple)h(for)e Fo(plot3d\(binomial,0..5,0..5\))p Ft(.)486 +849 y + 15629743 11840716 -6578176 -6578176 223592202 167677706 startTexFig + 486 849 a +%%BeginDocument: maple.ps +20 dict begin +gsave +/m {moveto} def +/l {lineto} def +/C {setrgbcolor} def +/G {setgray} def +/S {stroke} def +/NP {newpath} def +/P {gsave fill grestore reversepath stroke} def +/stringbbox {gsave NP 0 0 m false charpath flattenpath + pathbbox 4 2 roll pop pop 1.1 mul cvi exch 1.1 mul + cvi exch grestore} def +/lthick 3 def %% line thickness +/athick 7 def %% axis thickness +/tthick 1 def %% tickmark thickness +/boundarythick 20 def %% thickness of bounding box +/Courier findfont 60 scalefont setfont +1 setlinejoin +1 setlinecap +0.0 setgray +[] 0 setdash +/inch {72 mul} def +/fheight 0.35 inch neg def + 0 G +lthick setlinewidth +lthick setlinewidth +NP 1477 349 m 1405 350 l S +NP 1477 349 m 1549 353 l S +NP 1405 350 m 1333 358 l S +NP 1549 353 m 1621 361 l S +NP 1621 361 m 1693 371 l S +NP 1333 358 m 1261 376 l S +NP 1549 353 m 1515 380 l S +NP 1515 380 m 1443 381 l S +NP 1477 349 m 1443 381 l S +NP 1693 371 m 1765 381 l S +NP 1515 380 m 1587 384 l S +NP 1621 361 m 1587 384 l S +NP 1443 381 m 1371 389 l S +NP 1405 350 m 1371 389 l S +NP 1693 371 m 1659 392 l S +NP 1587 384 m 1659 392 l S +NP 1765 381 m 1837 393 l S +NP 1765 381 m 1731 401 l S +NP 1659 392 m 1731 401 l S +NP 1837 393 m 1909 404 l S +NP 1261 376 m 1189 408 l S +NP 1333 358 m 1299 408 l S +NP 1371 389 m 1299 408 l S +NP 1587 384 m 1554 411 l S +NP 1837 393 m 1804 412 l S +NP 1731 401 m 1804 412 l S +NP 1515 380 m 1482 412 l S +NP 1554 411 m 1482 412 l S +NP 1909 404 m 1981 414 l S +NP 1554 411 m 1626 415 l S +NP 1659 392 m 1626 415 l S +NP 1443 381 m 1410 421 l S +NP 1482 412 m 1410 421 l S +NP 1626 415 m 1698 422 l S +NP 1731 401 m 1698 422 l S +NP 1804 412 m 1876 423 l S +NP 1909 404 m 1876 423 l S +NP 1981 414 m 2053 424 l S +NP 1698 422 m 1770 432 l S +NP 1804 412 m 1770 432 l S +NP 2053 424 m 2125 434 l S +NP 1981 414 m 1948 434 l S +NP 1876 423 m 1948 434 l S +NP 1299 408 m 1227 439 l S +NP 1261 376 m 1227 439 l S +NP 1410 421 m 1338 439 l S +NP 1371 389 m 1338 439 l S +NP 1626 415 m 1592 442 l S +NP 2125 434 m 2197 443 l S +NP 1770 432 m 1842 443 l S +NP 1876 423 m 1842 443 l S +NP 1592 442 m 1520 444 l S +NP 1554 411 m 1520 444 l S +NP 2053 424 m 2020 445 l S +NP 1948 434 m 2020 445 l S +NP 1592 442 m 1664 446 l S +NP 1698 422 m 1664 446 l S +NP 2197 443 m 2269 452 l S +NP 1520 444 m 1448 453 l S +NP 1482 412 m 1448 453 l S +NP 1664 446 m 1736 453 l S +NP 1770 432 m 1736 453 l S +NP 1948 434 m 1914 454 l S +NP 1842 443 m 1914 454 l S +NP 2125 434 m 2092 455 l S +NP 2020 445 m 2092 455 l S +NP 2269 452 m 2341 461 l S +NP 1842 443 m 1808 463 l S +NP 1736 453 m 1808 463 l S +NP 2197 443 m 2164 465 l S +NP 2092 455 m 2164 465 l S +NP 1914 454 m 1986 465 l S +NP 2020 445 m 1986 465 l S +NP 1338 439 m 1266 469 l S +NP 1299 408 m 1266 469 l S +NP 1410 421 m 1376 471 l S +NP 1448 453 m 1376 471 l S +NP 2341 461 m 2413 471 l S +NP 1664 446 m 1630 473 l S +NP 1808 463 m 1880 474 l S +NP 1914 454 m 1880 474 l S +NP 2164 465 m 2236 474 l S +NP 2269 452 m 2236 474 l S +NP 1592 442 m 1558 475 l S +NP 1630 473 m 1558 475 l S +NP 1986 465 m 2058 476 l S +NP 2092 455 m 2058 476 l S +NP 1630 473 m 1702 477 l S +NP 1736 453 m 1702 477 l S +NP 2413 471 m 2485 481 l S +NP 2341 461 m 2308 483 l S +NP 2236 474 m 2308 483 l S +NP 1702 477 m 1775 484 l S +NP 1808 463 m 1775 484 l S +NP 1520 444 m 1486 484 l S +NP 1558 475 m 1486 484 l S +NP 1986 465 m 1952 485 l S +NP 1880 474 m 1952 485 l S +NP 1189 408 m 1155 485 l S +NP 1227 439 m 1155 485 l S +NP 2058 476 m 2130 486 l S +NP 2164 465 m 2130 486 l S +NP 2485 481 m 2557 492 l S +NP 2413 471 m 2380 492 l S +NP 2308 483 m 2380 492 l S +NP 1775 484 m 1847 493 l S +NP 1880 474 m 1847 493 l S +NP 2130 486 m 2202 496 l S +NP 2236 474 m 2202 496 l S +NP 1952 485 m 2024 496 l S +NP 2058 476 m 2024 496 l S +NP 1338 439 m 1304 500 l S +NP 1376 471 m 1304 500 l S +NP 2380 492 m 2452 501 l S +NP 2485 481 m 2452 501 l S +NP 1486 484 m 1414 502 l S +NP 1448 453 m 1414 502 l S +NP 2557 492 m 2629 503 l S +NP 1952 485 m 1919 504 l S +NP 1847 493 m 1919 504 l S +NP 1702 477 m 1669 504 l S +NP 2202 496 m 2274 505 l S +NP 2308 483 m 2274 505 l S +NP 1669 504 m 1597 507 l S +NP 1630 473 m 1597 507 l S +NP 2130 486 m 2096 507 l S +NP 2024 496 m 2096 507 l S +NP 1669 504 m 1741 507 l S +NP 1775 484 m 1741 507 l S +NP 2557 492 m 2524 512 l S +NP 2452 501 m 2524 512 l S +NP 2274 505 m 2346 514 l S +NP 2380 492 m 2346 514 l S +NP 2629 503 m 2701 514 l S +NP 1847 493 m 1813 514 l S +NP 1741 507 m 1813 514 l S +NP 1227 439 m 1194 515 l S +NP 1266 469 m 1194 515 l S +NP 1597 507 m 1525 516 l S +NP 1558 475 m 1525 516 l S +NP 1919 504 m 1991 516 l S +NP 2024 496 m 1991 516 l S +NP 2096 507 m 2168 517 l S +NP 2202 496 m 2168 517 l S +NP 2524 512 m 2596 522 l S +NP 2629 503 m 2596 522 l S +NP 2346 514 m 2418 523 l S +NP 2452 501 m 2418 523 l S +NP 1813 514 m 1885 524 l S +NP 1919 504 m 1885 524 l S +NP 2701 514 m 2773 524 l S +NP 2168 517 m 2240 527 l S +NP 2274 505 m 2240 527 l S +NP 1991 516 m 2063 527 l S +NP 2096 507 m 2063 527 l S +NP 1414 502 m 1342 531 l S +NP 1376 471 m 1342 531 l S +NP 2418 523 m 2490 532 l S +NP 2524 512 m 2490 532 l S +NP 1486 484 m 1453 534 l S +NP 1525 516 m 1453 534 l S +NP 2596 522 m 2668 534 l S +NP 2701 514 m 2668 534 l S +NP 2773 524 m 2846 534 l S +NP 1885 524 m 1957 535 l S +NP 1991 516 m 1957 535 l S +NP 1741 507 m 1707 536 l S +NP 2240 527 m 2312 536 l S +NP 2346 514 m 2312 536 l S +NP 1669 504 m 1635 538 l S +NP 1707 536 m 1635 538 l S +NP 1813 514 m 1779 538 l S +NP 1707 536 m 1779 538 l S +NP 2063 527 m 2135 538 l S +NP 2168 517 m 2135 538 l S +NP 2846 534 m 2918 541 l S +NP 2490 532 m 2562 542 l S +NP 2596 522 m 2562 542 l S +NP 2312 536 m 2384 544 l S +NP 2418 523 m 2384 544 l S +NP 1266 469 m 1232 545 l S +NP 1304 500 m 1232 545 l S +NP 1779 538 m 1851 545 l S +NP 1885 524 m 1851 545 l S +NP 2668 534 m 2740 545 l S +NP 2773 524 m 2740 545 l S +NP 1957 535 m 2029 547 l S +NP 2063 527 m 2029 547 l S +NP 1635 538 m 1563 547 l S +NP 1597 507 m 1563 547 l S +NP 2240 527 m 2207 549 l S +NP 2135 538 m 2207 549 l S +NP 2384 544 m 2456 553 l S +NP 2490 532 m 2456 553 l S +NP 2668 534 m 2634 553 l S +NP 2562 542 m 2634 553 l S +NP 1851 545 m 1923 554 l S +NP 1957 535 m 1923 554 l S +NP 2846 534 m 2812 557 l S +NP 2740 545 m 2812 557 l S +NP 2312 536 m 2279 558 l S +NP 2207 549 m 2279 558 l S +NP 2029 547 m 2101 558 l S +NP 2135 538 m 2101 558 l S +NP 1453 534 m 1381 562 l S +NP 1414 502 m 1381 562 l S +NP 2456 553 m 2528 562 l S +NP 2562 542 m 2528 562 l S +NP 1563 547 m 1491 565 l S +NP 1525 516 m 1491 565 l S +NP 2740 545 m 2706 565 l S +NP 2634 553 m 2706 565 l S +NP 1923 554 m 1995 566 l S +NP 2029 547 m 1995 566 l S +NP 2918 541 m 2884 566 l S +NP 2812 557 m 2884 566 l S +NP 2384 544 m 2351 567 l S +NP 2279 558 m 2351 567 l S +NP 1779 538 m 1746 567 l S +NP 1746 567 m 1818 569 l S +NP 1851 545 m 1818 569 l S +NP 2101 558 m 2173 570 l S +NP 2207 549 m 2173 570 l S +NP 1746 567 m 1674 570 l S +NP 1707 536 m 1674 570 l S +NP 2528 562 m 2600 572 l S +NP 2634 553 m 2600 572 l S +NP 1342 531 m 1270 574 l S +NP 1304 500 m 1270 574 l S +NP 2351 567 m 2423 575 l S +NP 2456 553 m 2423 575 l S +NP 1818 569 m 1890 576 l S +NP 1923 554 m 1890 576 l S +NP 1995 566 m 2067 577 l S +NP 2101 558 m 2067 577 l S +NP 2706 565 m 2778 578 l S +NP 2812 557 m 2778 578 l S +NP 1674 570 m 1601 579 l S +NP 1635 538 m 1601 579 l S +NP 1155 485 m 1122 579 l S +NP 1194 515 m 1122 579 l S +NP 2173 570 m 2245 580 l S +NP 2279 558 m 2245 580 l S +NP 2423 575 m 2495 583 l S +NP 2528 562 m 2495 583 l S +NP 2706 565 m 2672 584 l S +NP 2600 572 m 2672 584 l S +NP 1890 576 m 1962 585 l S +NP 1995 566 m 1962 585 l S +NP 2351 567 m 2317 589 l S +NP 2245 580 m 2317 589 l S +NP 2067 577 m 2139 589 l S +NP 2173 570 m 2139 589 l S +NP 2884 566 m 2850 590 l S +NP 2778 578 m 2850 590 l S +NP 2600 572 m 2567 592 l S +NP 2495 583 m 2567 592 l S +NP 1453 534 m 1419 593 l S +NP 1491 565 m 1419 593 l S +NP 1962 585 m 2034 596 l S +NP 2067 577 m 2034 596 l S +NP 1601 579 m 1529 597 l S +NP 1563 547 m 1529 597 l S +NP 2672 584 m 2745 597 l S +NP 2778 578 m 2745 597 l S +NP 2317 589 m 2389 598 l S +NP 2423 575 m 2389 598 l S +NP 1818 569 m 1784 598 l S +NP 1784 598 m 1856 600 l S +NP 1890 576 m 1856 600 l S +NP 2139 589 m 2211 601 l S +NP 2245 580 m 2211 601 l S +NP 1784 598 m 1712 601 l S +NP 1746 567 m 1712 601 l S +NP 2672 584 m 2639 603 l S +NP 2567 592 m 2639 603 l S +NP 1342 531 m 1309 604 l S +NP 1381 562 m 1309 604 l S +NP 2389 598 m 2461 606 l S +NP 2495 583 m 2461 606 l S +NP 1962 585 m 1928 606 l S +NP 1856 600 m 1928 606 l S +NP 1232 545 m 1160 607 l S +NP 1194 515 m 1160 607 l S +NP 2139 589 m 2106 608 l S +NP 2034 596 m 2106 608 l S +NP 1674 570 m 1640 611 l S +NP 1712 601 m 1640 611 l S +NP 2745 597 m 2817 611 l S +NP 2850 590 m 2817 611 l S +NP 2317 589 m 2283 611 l S +NP 2211 601 m 2283 611 l S +NP 2567 592 m 2533 614 l S +NP 2461 606 m 2533 614 l S +NP 2745 597 m 2711 615 l S +NP 2639 603 m 2711 615 l S +NP 1928 606 m 2000 615 l S +NP 2034 596 m 2000 615 l S +NP 2106 608 m 2178 620 l S +NP 2211 601 m 2178 620 l S +NP 2283 611 m 2355 621 l S +NP 2389 598 m 2355 621 l S +NP 2533 614 m 2605 622 l S +NP 2639 603 m 2605 622 l S +NP 1491 565 m 1457 624 l S +NP 1529 597 m 1457 624 l S +NP 2000 615 m 2072 627 l S +NP 2106 608 m 2072 627 l S +NP 1640 611 m 1568 628 l S +NP 1601 579 m 1568 628 l S +NP 2355 621 m 2427 629 l S +NP 2461 606 m 2427 629 l S +NP 2711 615 m 2783 629 l S +NP 2817 611 m 2783 629 l S +NP 1856 600 m 1822 629 l S +NP 1928 606 m 1894 631 l S +NP 1822 629 m 1894 631 l S +NP 2283 611 m 2250 632 l S +NP 2178 620 m 2250 632 l S +NP 2711 615 m 2677 632 l S +NP 2605 622 m 2677 632 l S +NP 1822 629 m 1750 633 l S +NP 1784 598 m 1750 633 l S +NP 1381 562 m 1347 633 l S +NP 1419 593 m 1347 633 l S +NP 1270 574 m 1198 634 l S +NP 1232 545 m 1198 634 l S +NP 2427 629 m 2499 636 l S +NP 2533 614 m 2499 636 l S +NP 1894 631 m 1966 637 l S +NP 2000 615 m 1966 637 l S +NP 2072 627 m 2144 639 l S +NP 2178 620 m 2144 639 l S +NP 2355 621 m 2322 643 l S +NP 2250 632 m 2322 643 l S +NP 1712 601 m 1678 643 l S +NP 1750 633 m 1678 643 l S +NP 2605 622 m 2571 643 l S +NP 2499 636 m 2571 643 l S +NP 2677 632 m 2749 645 l S +NP 2783 629 m 2749 645 l S +NP 2072 627 m 2038 646 l S +NP 1966 637 m 2038 646 l S +NP 2571 643 m 2643 651 l S +NP 2677 632 m 2643 651 l S +NP 2144 639 m 2216 651 l S +NP 2250 632 m 2216 651 l S +NP 2427 629 m 2394 652 l S +NP 2322 643 m 2394 652 l S +NP 1568 628 m 1496 655 l S +NP 1529 597 m 1496 655 l S +NP 2038 646 m 2110 657 l S +NP 2144 639 m 2110 657 l S +NP 2499 636 m 2466 660 l S +NP 2394 652 m 2466 660 l S +NP 1640 611 m 1606 660 l S +NP 1678 643 m 1606 660 l S +NP 1309 604 m 1237 660 l S +NP 1270 574 m 1237 660 l S +NP 1894 631 m 1861 661 l S +NP 2643 651 m 2716 661 l S +NP 2749 645 m 2716 661 l S +NP 1861 661 m 1933 662 l S +NP 1966 637 m 1933 662 l S +NP 1457 624 m 1385 662 l S +NP 1419 593 m 1385 662 l S +NP 2322 643 m 2288 664 l S +NP 2216 651 m 2288 664 l S +NP 1861 661 m 1789 665 l S +NP 1822 629 m 1789 665 l S +NP 2466 660 m 2538 667 l S +NP 2571 643 m 2538 667 l S +NP 1933 662 m 2005 667 l S +NP 2038 646 m 2005 667 l S +NP 2216 651 m 2182 670 l S +NP 2110 657 m 2182 670 l S +NP 2538 667 m 2610 673 l S +NP 2643 651 m 2610 673 l S +NP 2394 652 m 2360 675 l S +NP 2288 664 m 2360 675 l S +NP 1750 633 m 1717 675 l S +NP 1789 665 m 1717 675 l S +NP 2005 667 m 2077 676 l S +NP 2110 657 m 2077 676 l S +NP 2610 673 m 2682 679 l S +NP 2716 661 m 2682 679 l S +NP 2182 670 m 2254 683 l S +NP 2288 664 m 2254 683 l S +NP 2466 660 m 2432 684 l S +NP 2360 675 m 2432 684 l S +NP 1568 628 m 1534 686 l S +NP 1606 660 m 1534 686 l S +NP 1347 633 m 1275 687 l S +NP 1309 604 m 1275 687 l S +NP 2182 670 m 2149 687 l S +NP 2077 676 m 2149 687 l S +NP 1160 607 m 1088 689 l S +NP 1122 579 m 1088 689 l S +NP 2538 667 m 2504 691 l S +NP 2432 684 m 2504 691 l S +NP 1496 655 m 1424 692 l S +NP 1457 624 m 1424 692 l S +NP 1933 662 m 1899 692 l S +NP 1717 675 m 1645 692 l S +NP 1678 643 m 1645 692 l S +NP 1899 692 m 1971 692 l S +NP 2005 667 m 1971 692 l S +NP 2360 675 m 2326 695 l S +NP 2254 683 m 2326 695 l S +NP 1899 692 m 1827 697 l S +NP 1861 661 m 1827 697 l S +NP 2504 691 m 2576 697 l S +NP 2610 673 m 2576 697 l S +NP 1971 692 m 2043 697 l S +NP 2077 676 m 2043 697 l S +NP 2254 683 m 2221 700 l S +NP 2149 687 m 2221 700 l S +NP 2682 679 m 2648 701 l S +NP 2576 697 m 2648 701 l S +NP 2043 697 m 2115 706 l S +NP 2149 687 m 2115 706 l S +NP 2326 695 m 2398 707 l S +NP 2432 684 m 2398 707 l S +NP 1789 665 m 1755 707 l S +NP 1827 697 m 1755 707 l S +NP 1198 634 m 1126 712 l S +NP 1160 607 m 1126 712 l S +NP 2326 695 m 2293 714 l S +NP 2221 700 m 2293 714 l S +NP 1347 633 m 1313 714 l S +NP 1385 662 m 1313 714 l S +NP 2504 691 m 2470 716 l S +NP 2398 707 m 2470 716 l S +NP 1606 660 m 1572 717 l S +NP 1645 692 m 1572 717 l S +NP 2115 706 m 2187 717 l S +NP 2221 700 m 2187 717 l S +NP 1534 686 m 1462 721 l S +NP 1496 655 m 1462 721 l S +NP 2576 697 m 2542 723 l S +NP 2470 716 m 2542 723 l S +NP 2043 697 m 2009 723 l S +NP 2009 723 m 1937 723 l S +NP 1971 692 m 1937 723 l S +NP 1755 707 m 1683 724 l S +NP 1717 675 m 1683 724 l S +NP 2542 723 m 2614 727 l S +NP 2648 701 m 2614 727 l S +NP 2398 707 m 2365 727 l S +NP 2293 714 m 2365 727 l S +NP 2009 723 m 2081 728 l S +NP 2115 706 m 2081 728 l S +NP 1937 723 m 1865 728 l S +NP 1899 692 m 1865 728 l S +NP 2293 714 m 2259 731 l S +NP 2187 717 m 2259 731 l S +NP 1237 660 m 1165 735 l S +NP 1198 634 m 1165 735 l S +NP 2081 728 m 2153 736 l S +NP 2187 717 m 2153 736 l S +NP 2365 727 m 2437 739 l S +NP 2470 716 m 2437 739 l S +NP 1865 728 m 1793 739 l S +NP 1827 697 m 1793 739 l S +NP 1424 692 m 1352 740 l S +NP 1385 662 m 1352 740 l S +NP 2259 731 m 2331 745 l S +NP 2365 727 m 2331 745 l S +NP 2259 731 m 2225 747 l S +NP 2153 736 m 2225 747 l S +NP 1683 724 m 1611 748 l S +NP 1645 692 m 1611 748 l S +NP 2437 739 m 2509 749 l S +NP 2542 723 m 2509 749 l S +NP 1534 686 m 1500 750 l S +NP 1572 717 m 1500 750 l S +NP 2081 728 m 2048 754 l S +NP 2509 749 m 2581 755 l S +NP 2614 727 m 2581 755 l S +NP 2048 754 m 1976 755 l S +NP 2009 723 m 1976 755 l S +NP 1755 707 m 1721 756 l S +NP 1793 739 m 1721 756 l S +NP 1237 660 m 1203 757 l S +NP 1275 687 m 1203 757 l S +NP 2153 736 m 2120 758 l S +NP 2048 754 m 2120 758 l S +NP 2331 745 m 2403 759 l S +NP 2437 739 m 2403 759 l S +NP 1976 755 m 1904 761 l S +NP 1937 723 m 1904 761 l S +NP 2225 747 m 2297 761 l S +NP 2331 745 m 2297 761 l S +NP 2225 747 m 2192 765 l S +NP 2120 758 m 2192 765 l S +NP 1462 721 m 1390 767 l S +NP 1424 692 m 1390 767 l S +NP 1904 761 m 1832 771 l S +NP 1865 728 m 1832 771 l S +NP 2403 759 m 2475 772 l S +NP 2509 749 m 2475 772 l S +NP 2297 761 m 2369 776 l S +NP 2403 759 m 2369 776 l S +NP 2297 761 m 2264 777 l S +NP 2192 765 m 2264 777 l S +NP 1683 724 m 1649 779 l S +NP 1721 756 m 1649 779 l S +NP 1611 748 m 1539 779 l S +NP 1572 717 m 1539 779 l S +NP 1275 687 m 1241 780 l S +NP 1313 714 m 1241 780 l S +NP 2581 755 m 2547 782 l S +NP 2475 772 m 2547 782 l S +NP 2120 758 m 2086 785 l S +NP 2086 785 m 2014 786 l S +NP 2048 754 m 2014 786 l S +NP 2086 785 m 2158 787 l S +NP 2192 765 m 2158 787 l S +NP 1793 739 m 1760 788 l S +NP 1832 771 m 1760 788 l S +NP 2369 776 m 2336 791 l S +NP 2264 777 m 2336 791 l S +NP 2475 772 m 2441 792 l S +NP 2369 776 m 2441 792 l S +NP 2014 786 m 1942 793 l S +NP 1976 755 m 1942 793 l S +NP 1500 750 m 1428 793 l S +NP 1462 721 m 1428 793 l S +NP 2158 787 m 2230 794 l S +NP 2264 777 m 2230 794 l S +NP 1352 740 m 1280 802 l S +NP 1313 714 m 1280 802 l S +NP 1942 793 m 1870 804 l S +NP 1904 761 m 1870 804 l S +NP 2336 791 m 2302 806 l S +NP 2230 794 m 2302 806 l S +NP 2547 782 m 2513 807 l S +NP 2441 792 m 2513 807 l S +NP 2336 791 m 2408 808 l S +NP 2441 792 m 2408 808 l S +NP 1611 748 m 1577 808 l S +NP 1649 779 m 1577 808 l S +NP 1760 788 m 1688 809 l S +NP 1721 756 m 1688 809 l S +NP 1088 689 m 1054 814 l S +NP 1126 712 m 1054 814 l S +NP 2158 787 m 2124 815 l S +NP 2124 815 m 2196 817 l S +NP 2230 794 m 2196 817 l S +NP 2086 785 m 2052 818 l S +NP 2124 815 m 2052 818 l S +NP 1500 750 m 1467 819 l S +NP 1539 779 m 1467 819 l S +NP 1832 771 m 1798 820 l S +NP 1870 804 m 1798 820 l S +NP 2408 808 m 2374 821 l S +NP 2302 806 m 2374 821 l S +NP 2196 817 m 2268 823 l S +NP 2302 806 m 2268 823 l S +NP 1390 767 m 1318 824 l S +NP 1352 740 m 1318 824 l S +NP 2052 818 m 1980 825 l S +NP 2014 786 m 1980 825 l S +NP 2513 807 m 2480 826 l S +NP 2408 808 m 2480 826 l S +NP 1126 712 m 1093 830 l S +NP 1165 735 m 1093 830 l S +NP 2268 823 m 2340 834 l S +NP 2374 821 m 2340 834 l S +NP 1980 825 m 1908 837 l S +NP 1942 793 m 1908 837 l S +NP 1649 779 m 1616 837 l S +NP 1688 809 m 1616 837 l S +NP 2480 826 m 2446 840 l S +NP 2374 821 m 2446 840 l S +NP 1760 788 m 1726 840 l S +NP 1798 820 m 1726 840 l S +NP 1539 779 m 1505 845 l S +NP 1577 808 m 1505 845 l S +NP 2268 823 m 2235 846 l S +NP 2235 846 m 2163 846 l S +NP 2196 817 m 2163 846 l S +NP 1390 767 m 1356 846 l S +NP 1428 793 m 1356 846 l S +NP 1203 757 m 1131 846 l S +NP 1165 735 m 1131 846 l S +NP 2124 815 m 2091 850 l S +NP 2163 846 m 2091 850 l S +NP 2446 840 m 2412 850 l S +NP 2340 834 m 2412 850 l S +NP 2235 846 m 2307 851 l S +NP 2340 834 m 2307 851 l S +NP 1908 837 m 1836 852 l S +NP 1870 804 m 1836 852 l S +NP 2052 818 m 2019 858 l S +NP 2091 850 m 2019 858 l S +NP 2307 851 m 2379 861 l S +NP 2412 850 m 2379 861 l S +NP 1241 780 m 1169 862 l S +NP 1203 757 m 1169 862 l S +NP 1688 809 m 1654 866 l S +NP 1726 840 m 1654 866 l S +NP 1428 793 m 1395 868 l S +NP 1467 819 m 1395 868 l S +NP 2019 858 m 1947 870 l S +NP 1980 825 m 1947 870 l S +NP 1616 837 m 1543 871 l S +NP 1577 808 m 1543 871 l S +NP 1836 852 m 1764 871 l S +NP 1798 820 m 1764 871 l S +NP 2307 851 m 2273 874 l S +NP 2273 874 m 2201 877 l S +NP 2235 846 m 2201 877 l S +NP 2273 874 m 2345 877 l S +NP 2379 861 m 2345 877 l S +NP 1241 780 m 1208 878 l S +NP 1280 802 m 1208 878 l S +NP 2201 877 m 2129 882 l S +NP 2163 846 m 2129 882 l S +NP 1947 870 m 1875 884 l S +NP 1908 837 m 1875 884 l S +NP 1467 819 m 1433 889 l S +NP 1505 845 m 1433 889 l S +NP 2129 882 m 2057 891 l S +NP 2091 850 m 2057 891 l S +NP 1280 802 m 1246 894 l S +NP 1318 824 m 1246 894 l S +NP 1764 871 m 1692 894 l S +NP 1726 840 m 1692 894 l S +NP 1616 837 m 1582 896 l S +NP 1654 866 m 1582 896 l S +NP 2345 877 m 2311 902 l S +NP 1875 884 m 1803 902 l S +NP 1836 852 m 1803 902 l S +NP 2019 858 m 1985 903 l S +NP 2057 891 m 1985 903 l S +NP 2311 902 m 2239 907 l S +NP 2273 874 m 2239 907 l S +NP 1356 846 m 1284 910 l S +NP 1318 824 m 1284 910 l S +NP 1543 871 m 1471 910 l S +NP 1505 845 m 1471 910 l S +NP 2201 877 m 2167 915 l S +NP 2239 907 m 2167 915 l S +NP 1947 870 m 1913 917 l S +NP 1985 903 m 1913 917 l S +NP 1654 866 m 1620 922 l S +NP 1692 894 m 1620 922 l S +NP 1803 902 m 1731 923 l S +NP 1764 871 m 1731 923 l S +NP 381 913 m 453 923 l S +NP 2167 915 m 2095 925 l S +NP 2129 882 m 2095 925 l S +NP 1395 868 m 1323 926 l S +NP 1356 846 m 1323 926 l S +NP 1543 871 m 1510 932 l S +NP 1582 896 m 1510 932 l S +NP 453 923 m 525 933 l S +NP 1913 917 m 1841 933 l S +NP 1875 884 m 1841 933 l S +NP 2057 891 m 2023 937 l S +NP 2095 925 m 2023 937 l S +NP 2311 902 m 2278 937 l S +NP 1395 868 m 1361 941 l S +NP 1433 889 m 1361 941 l S +NP 525 933 m 597 943 l S +NP 1731 923 m 1659 947 l S +NP 1692 894 m 1659 947 l S +NP 2278 937 m 2206 948 l S +NP 2239 907 m 2206 948 l S +NP 1054 814 m 1021 948 l S +NP 1093 830 m 1021 948 l S +NP 381 913 m 414 949 l S +NP 1985 903 m 1951 950 l S +NP 2023 937 m 1951 950 l S +NP 1803 902 m 1769 951 l S +NP 1841 933 m 1769 951 l S +NP 1620 922 m 1548 952 l S +NP 1582 896 m 1548 952 l S +NP 597 943 m 669 953 l S +NP 1093 830 m 1059 956 l S +NP 1131 846 m 1059 956 l S +NP 1433 889 m 1399 957 l S +NP 1471 910 m 1399 957 l S +NP 453 923 m 487 957 l S +NP 414 949 m 487 957 l S +NP 2206 948 m 2134 959 l S +NP 2167 915 m 2134 959 l S +NP 669 953 m 741 962 l S +NP 1169 862 m 1097 963 l S +NP 1131 846 m 1097 963 l S +NP 1913 917 m 1879 964 l S +NP 1951 950 m 1879 964 l S +NP 525 933 m 559 966 l S +NP 487 957 m 559 966 l S +NP 1169 862 m 1136 971 l S +NP 1208 878 m 1136 971 l S +NP 2134 959 m 2062 971 l S +NP 2095 925 m 2062 971 l S +NP 1731 923 m 1697 971 l S +NP 1769 951 m 1697 971 l S +NP 1510 932 m 1438 972 l S +NP 1471 910 m 1438 972 l S +NP 741 962 m 813 972 l S +NP 1659 947 m 1587 973 l S +NP 1620 922 m 1587 973 l S +NP 597 943 m 631 974 l S +NP 559 966 m 631 974 l S +NP 1246 894 m 1174 978 l S +NP 1208 878 m 1174 978 l S +NP 1879 964 m 1807 979 l S +NP 1841 933 m 1807 979 l S +NP 2278 937 m 2244 982 l S +NP 813 972 m 885 982 l S +NP 669 953 m 703 983 l S +NP 631 974 m 703 983 l S +NP 2023 937 m 1990 983 l S +NP 2062 971 m 1990 983 l S +NP 1246 894 m 1212 986 l S +NP 1284 910 m 1212 986 l S +NP 1510 932 m 1476 987 l S +NP 1548 952 m 1476 987 l S +NP 741 962 m 775 991 l S +NP 703 983 m 775 991 l S +NP 885 982 m 957 992 l S +NP 1659 947 m 1625 993 l S +NP 1697 971 m 1625 993 l S +NP 1323 926 m 1251 994 l S +NP 1284 910 m 1251 994 l S +NP 2206 948 m 2172 995 l S +NP 2244 982 m 2172 995 l S +NP 1951 950 m 1918 995 l S +NP 1990 983 m 1918 995 l S +NP 1769 951 m 1735 996 l S +NP 1807 979 m 1735 996 l S +NP 957 992 m 1008 999 l S +NP 813 972 m 847 999 l S +NP 775 991 m 847 999 l S +NP 414 949 m 448 1001 l S +NP 1361 941 m 1289 1001 l S +NP 1323 926 m 1289 1001 l S +NP 1587 973 m 1514 1002 l S +NP 1548 952 m 1514 1002 l S +NP 2134 959 m 2100 1006 l S +NP 2172 995 m 2100 1006 l S +NP 487 957 m 520 1007 l S +NP 448 1001 m 520 1007 l S +NP 1918 995 m 1846 1007 l S +NP 1879 964 m 1846 1007 l S +NP 885 982 m 919 1008 l S +NP 847 999 m 919 1008 l S +NP 1361 941 m 1327 1009 l S +NP 1399 957 m 1327 1009 l S +NP 559 966 m 592 1013 l S +NP 520 1007 m 592 1013 l S +NP 1735 996 m 1663 1013 l S +NP 1697 971 m 1663 1013 l S +NP 919 1008 m 991 1016 l S +NP 957 992 m 991 1016 l S +NP 1625 993 m 1553 1016 l S +NP 1587 973 m 1553 1016 l S +NP 2062 971 m 2028 1016 l S +NP 2100 1006 m 2028 1016 l S +NP 1399 957 m 1366 1017 l S +NP 1438 972 m 1366 1017 l S +NP 991 1016 m 1004 1017 l S +NP 592 1013 m 664 1018 l S +NP 631 974 m 664 1018 l S +NP 1807 979 m 1774 1020 l S +NP 1846 1007 m 1774 1020 l S +NP 664 1018 m 736 1024 l S +NP 703 983 m 736 1024 l S +NP 1438 972 m 1404 1025 l S +NP 1476 987 m 1404 1025 l S +NP 1990 983 m 1956 1026 l S +NP 2028 1016 m 1956 1026 l S +NP 991 1016 m 1002 1026 l S +NP 775 991 m 808 1030 l S +NP 736 1024 m 808 1030 l S +NP 1625 993 m 1591 1031 l S +NP 1663 1013 m 1591 1031 l S +NP 2244 982 m 2210 1032 l S +NP 1735 996 m 1702 1032 l S +NP 1774 1020 m 1702 1032 l S +NP 1476 987 m 1442 1033 l S +NP 1514 1002 m 1442 1033 l S +NP 1918 995 m 1884 1035 l S +NP 1956 1026 m 1884 1035 l S +NP 847 999 m 880 1035 l S +NP 808 1030 m 880 1035 l S +NP 919 1008 m 952 1041 l S +NP 880 1035 m 952 1041 l S +NP 1514 1002 m 1481 1041 l S +NP 1553 1016 m 1481 1041 l S +NP 2210 1032 m 2138 1042 l S +NP 2172 995 m 2138 1042 l S +NP 1846 1007 m 1812 1043 l S +NP 1884 1035 m 1812 1043 l S +NP 952 1041 m 998 1044 l S +NP 1663 1013 m 1630 1045 l S +NP 1702 1032 m 1630 1045 l S +NP 1591 1031 m 1519 1049 l S +NP 1553 1016 m 1519 1049 l S +NP 2138 1042 m 2066 1050 l S +NP 2100 1006 m 2066 1050 l S +NP 1812 1043 m 1740 1051 l S +NP 1774 1020 m 1740 1051 l S +NP 2028 1016 m 1994 1057 l S +NP 2066 1050 m 1994 1057 l S +NP 1591 1031 m 1558 1058 l S +NP 1630 1045 m 1558 1058 l S +NP 1740 1051 m 1668 1059 l S +NP 1702 1032 m 1668 1059 l S +NP 1956 1026 m 1922 1062 l S +NP 1994 1057 m 1922 1062 l S +NP 1630 1045 m 1596 1066 l S +NP 1668 1059 m 1596 1066 l S +NP 1922 1062 m 1850 1066 l S +NP 1884 1035 m 1850 1066 l S +NP 1404 1025 m 1370 1067 l S +NP 1442 1033 m 1370 1067 l S +NP 1366 1017 m 1332 1067 l S +NP 1404 1025 m 1332 1067 l S +NP 1442 1033 m 1409 1067 l S +NP 1481 1041 m 1409 1067 l S +NP 1366 1017 m 1294 1068 l S +NP 1327 1009 m 1294 1068 l S +NP 448 1001 m 482 1069 l S +NP 1519 1049 m 1447 1069 l S +NP 1481 1041 m 1447 1069 l S +NP 1289 1001 m 1255 1069 l S +NP 1327 1009 m 1255 1069 l S +NP 1812 1043 m 1778 1069 l S +NP 1850 1066 m 1778 1069 l S +NP 1289 1001 m 1217 1070 l S +NP 1251 994 m 1217 1070 l S +NP 520 1007 m 554 1070 l S +NP 482 1069 m 554 1070 l S +NP 1519 1049 m 1485 1070 l S +NP 1558 1058 m 1485 1070 l S +NP 554 1070 m 626 1072 l S +NP 592 1013 m 626 1072 l S +NP 1740 1051 m 1706 1072 l S +NP 1778 1069 m 1706 1072 l S +NP 1212 986 m 1179 1072 l S +NP 1251 994 m 1179 1072 l S +NP 1558 1058 m 1524 1073 l S +NP 1596 1066 m 1524 1073 l S +NP 626 1072 m 698 1073 l S +NP 664 1018 m 698 1073 l S +NP 1668 1059 m 1634 1074 l S +NP 1706 1072 m 1634 1074 l S +NP 1174 978 m 1140 1075 l S +NP 1212 986 m 1140 1075 l S +NP 736 1024 m 770 1075 l S +NP 698 1073 m 770 1075 l S +NP 808 1030 m 842 1076 l S +NP 770 1075 m 842 1076 l S +NP 1596 1066 m 1562 1076 l S +NP 1634 1074 m 1562 1076 l S +NP 1559 1076 m 1559 1076 l S +NP 1521 1073 m 1552 1076 l S +NP 1562 1076 m 1529 1077 l S +NP 880 1035 m 914 1077 l S +NP 842 1076 m 914 1077 l S +NP 1524 1073 m 1490 1077 l S +NP 1562 1076 m 1490 1077 l S +NP 1174 978 m 1102 1078 l S +NP 1136 971 m 1102 1078 l S +NP 914 1077 m 986 1078 l S +NP 952 1041 m 986 1078 l S +NP 986 1078 m 990 1078 l S +NP 1524 1073 m 1452 1079 l S +NP 1485 1070 m 1452 1079 l S +NP 1634 1074 m 1601 1080 l S +NP 1529 1077 m 1601 1080 l S +NP 2210 1032 m 2177 1080 l S +NP 986 1078 m 989 1081 l S +NP 1136 971 m 1064 1081 l S +NP 1097 963 m 1064 1081 l S +NP 1706 1072 m 1673 1083 l S +NP 1601 1080 m 1673 1083 l S +NP 1485 1070 m 1413 1083 l S +NP 1447 1069 m 1413 1083 l S +NP 1059 956 m 1025 1085 l S +NP 1097 963 m 1025 1085 l S +NP 1580 1079 m 1639 1085 l S +NP 1673 1083 m 1639 1085 l S +NP 2177 1080 m 2105 1085 l S +NP 2138 1042 m 2105 1085 l S +NP 1778 1069 m 1745 1085 l S +NP 1673 1083 m 1745 1085 l S +NP 1850 1066 m 1817 1087 l S +NP 1745 1085 m 1817 1087 l S +NP 2066 1050 m 2033 1088 l S +NP 2105 1085 m 2033 1088 l S +NP 1922 1062 m 1889 1088 l S +NP 1817 1087 m 1889 1088 l S +NP 1447 1069 m 1375 1089 l S +NP 1409 1067 m 1375 1089 l S +NP 1994 1057 m 1961 1089 l S +NP 2033 1088 m 1961 1089 l S +NP 1889 1088 m 1961 1089 l S +NP 1059 956 m 987 1089 l S +NP 1021 948 m 987 1089 l S +NP 1626 1083 m 1677 1090 l S +NP 1677 1090 m 1711 1091 l S +NP 1745 1085 m 1711 1091 l S +NP 1639 1085 m 1711 1091 l S +NP 1413 1083 m 1359 1093 l S +NP 1409 1067 m 1337 1095 l S +NP 1370 1067 m 1337 1095 l S +NP 1336 1096 m 1336 1096 l S +NP 1817 1087 m 1783 1098 l S +NP 1711 1091 m 1783 1098 l S +NP 1783 1098 m 1749 1100 l S +NP 1677 1090 m 1749 1100 l S +NP 1370 1067 m 1298 1103 l S +NP 1332 1067 m 1298 1103 l S +NP 1889 1088 m 1855 1104 l S +NP 1783 1098 m 1855 1104 l S +NP 1375 1089 m 1303 1109 l S +NP 1337 1095 m 1303 1109 l S +NP 1855 1104 m 1927 1110 l S +NP 1961 1089 m 1927 1110 l S +NP 1855 1104 m 1821 1110 l S +NP 1749 1100 m 1821 1110 l S +NP 1294 1068 m 1260 1112 l S +NP 1332 1067 m 1260 1112 l S +NP 1927 1110 m 1999 1115 l S +NP 2033 1088 m 1999 1115 l S +NP 1999 1115 m 2071 1119 l S +NP 2105 1085 m 2071 1119 l S +NP 1927 1110 m 1893 1120 l S +NP 1821 1110 m 1893 1120 l S +NP 980 1118 m 948 1121 l S +NP 914 1077 m 948 1121 l S +NP 2071 1119 m 2143 1121 l S +NP 2177 1080 m 2143 1121 l S +NP 1255 1069 m 1222 1123 l S +NP 1294 1068 m 1222 1123 l S +NP 1298 1103 m 1265 1124 l S +NP 1337 1095 m 1265 1124 l S +NP 948 1121 m 876 1126 l S +NP 842 1076 m 876 1126 l S +NP 1999 1115 m 1965 1130 l S +NP 1893 1120 m 1965 1130 l S +NP 770 1075 m 804 1131 l S +NP 876 1126 m 804 1131 l S +NP 1217 1070 m 1183 1135 l S +NP 1255 1069 m 1183 1135 l S +NP 698 1073 m 732 1136 l S +NP 804 1131 m 732 1136 l S +NP 1965 1130 m 2037 1140 l S +NP 2071 1119 m 2037 1140 l S +NP 626 1072 m 660 1141 l S +NP 732 1136 m 660 1141 l S +NP 1298 1103 m 1226 1142 l S +NP 1260 1112 m 1226 1142 l S +NP 660 1141 m 588 1146 l S +NP 554 1070 m 588 1146 l S +NP 1179 1072 m 1145 1148 l S +NP 1217 1070 m 1145 1148 l S +NP 2037 1140 m 2109 1150 l S +NP 2143 1121 m 2109 1150 l S +NP 588 1146 m 516 1151 l S +NP 482 1069 m 516 1151 l S +NP 948 1121 m 972 1151 l S +NP 1222 1123 m 1188 1162 l S +NP 1260 1112 m 1188 1162 l S +NP 1179 1072 m 1107 1162 l S +NP 1140 1075 m 1107 1162 l S +NP 1226 1142 m 1176 1170 l S +NP 969 1165 m 909 1176 l S +NP 876 1126 m 909 1176 l S +NP 1140 1075 m 1068 1177 l S +NP 1102 1078 m 1068 1177 l S +NP 1183 1135 m 1150 1184 l S +NP 1222 1123 m 1150 1184 l S +NP 909 1176 m 837 1189 l S +NP 804 1131 m 837 1189 l S +NP 1064 1081 m 1030 1193 l S +NP 1102 1078 m 1030 1193 l S +NP 732 1136 m 765 1202 l S +NP 837 1189 m 765 1202 l S +NP 1145 1148 m 1111 1208 l S +NP 1183 1135 m 1111 1208 l S +NP 1025 1085 m 992 1210 l S +NP 1064 1081 m 992 1210 l S +NP 1188 1162 m 1117 1214 l S +NP 660 1141 m 693 1216 l S +NP 765 1202 m 693 1216 l S +NP 956 1215 m 943 1220 l S +NP 909 1176 m 943 1220 l S +NP 987 1089 m 953 1228 l S +NP 1025 1085 m 953 1228 l S +NP 943 1220 m 953 1229 l S +NP 588 1146 m 621 1230 l S +NP 693 1216 m 621 1230 l S +NP 1145 1148 m 1073 1234 l S +NP 1107 1162 m 1073 1234 l S +NP 837 1189 m 871 1243 l S +NP 943 1220 m 871 1243 l S +NP 516 1151 m 549 1243 l S +NP 621 1230 m 549 1243 l S +NP 1150 1184 m 1078 1249 l S +NP 1111 1208 m 1078 1249 l S +NP 1107 1162 m 1035 1263 l S +NP 1068 1177 m 1035 1263 l S +NP 765 1202 m 799 1267 l S +NP 871 1243 m 799 1267 l S +NP 1111 1208 m 1039 1288 l S +NP 1073 1234 m 1039 1288 l S +NP 943 1269 m 905 1288 l S +NP 871 1243 m 905 1288 l S +NP 799 1267 m 727 1291 l S +NP 693 1216 m 727 1291 l S +NP 1030 1193 m 996 1293 l S +NP 1068 1177 m 996 1293 l S +NP 905 1288 m 932 1312 l S +NP 727 1291 m 655 1316 l S +NP 621 1230 m 655 1316 l S +NP 799 1267 m 833 1324 l S +NP 905 1288 m 833 1324 l S +NP 1030 1193 m 958 1326 l S +NP 992 1210 m 958 1326 l S +NP 1073 1234 m 1001 1330 l S +NP 1035 1263 m 1001 1330 l S +NP 549 1243 m 583 1341 l S +NP 655 1316 m 583 1341 l S +NP 1039 1288 m 983 1356 l S +NP 953 1228 m 920 1360 l S +NP 992 1210 m 920 1360 l S +NP 727 1291 m 761 1361 l S +NP 833 1324 m 761 1361 l S +NP 929 1325 m 866 1368 l S +NP 833 1324 m 866 1368 l S +NP 996 1293 m 963 1375 l S +NP 1035 1263 m 963 1375 l S +NP 866 1368 m 900 1393 l S +NP 913 1381 m 900 1393 l S +NP 900 1393 m 910 1394 l S +NP 761 1361 m 689 1400 l S +NP 655 1316 m 689 1400 l S +NP 866 1368 m 794 1419 l S +NP 761 1361 m 794 1419 l S +NP 958 1326 m 924 1424 l S +NP 996 1293 m 924 1424 l S +NP 963 1375 m 929 1435 l S +NP 1001 1330 m 929 1435 l S +NP 689 1400 m 617 1439 l S +NP 583 1341 m 617 1439 l S +NP 900 1393 m 828 1460 l S +NP 794 1419 m 828 1460 l S +NP 794 1419 m 722 1473 l S +NP 689 1400 m 722 1473 l S +NP 920 1360 m 886 1477 l S +NP 958 1326 m 886 1477 l S +NP 828 1460 m 862 1478 l S +NP 887 1472 m 862 1478 l S +NP 897 1437 m 862 1478 l S +NP 924 1424 m 891 1501 l S +NP 963 1375 m 891 1501 l S +NP 617 1439 m 650 1529 l S +NP 722 1473 m 650 1529 l S +NP 828 1460 m 756 1530 l S +NP 722 1473 m 756 1530 l S +NP 863 1541 m 857 1551 l S +NP 863 1542 m 857 1551 l S +NP 756 1530 m 790 1564 l S +NP 862 1478 m 790 1564 l S +NP 886 1477 m 852 1572 l S +NP 924 1424 m 852 1572 l S +NP 790 1564 m 823 1572 l S +NP 857 1551 m 823 1572 l S +NP 881 1489 m 823 1572 l S +NP 756 1530 m 684 1603 l S +NP 650 1529 m 684 1603 l S +NP 852 1572 m 819 1639 l S +NP 891 1501 m 819 1639 l S +NP 684 1603 m 718 1656 l S +NP 790 1564 m 718 1656 l S +NP 819 1639 m 785 1676 l S +NP 857 1551 m 785 1676 l S +NP 718 1656 m 751 1681 l S +NP 785 1676 m 751 1681 l S +NP 823 1572 m 751 1681 l S +boundarythick setlinewidth +[] 0 setdash +NP +-80 -80 m +-80 2529 l +3379 2529 l +3379 -80 l +-80 -80 l +S +showpage +grestore +end +%%EndDocument + + endTexFig + 640 1701 a Ft(Figure)g(3:)18 b(An)12 b(e)o(xample)h(Maple)g(plot)0 +1892 y Fq(2.2)50 b(A)12 b(Pictur)o(e)h(Drawing)f(Language)g(-)g +(PostScript)0 1985 y Ft(While)k(it)h(is)g(true)f(that)h(most)f +(PostScript)g(programs)g(are)g(generated)h(by)f(other)g(programs,)i(it) +e(is)h(quite)f(easy)0 2046 y(to)f(generate)h(comple)o(x)f(pictures)g +(by)h(writing)e(programs)h(in)g(the)h(PostScript)e(language.)28 +b(Figure)15 b(4)g(gi)o(v)o(es)h(an)0 2106 y(e)o(xample)c(of)g(a)h +(small)f(PostScript)g(program)f(alongwith)h(the)g(dra)o(wing)g(it)g +(creats.)0 2239 y Fq(2.2.1)50 b(Converting)12 b(and)f(including)g +(PostScript)h(drawings)0 2333 y Ft(There)j(is)g(no)f(con)n(v)o(ersion)h +(required)e(on)i(a)g(PostScript)e(picture)h(since)h(it)f(can)h(be)g +(included)f(directly)g(with)g(the)0 2393 y(assistance)g(of)e(the)h +Fo(psfig)f Ft(macros.)19 b(Section)12 b(2.1.4)i(gi)o(v)o(es)f(the)f +(details)h(on)g(including)f(a)g(PostScript)g(\256le)g(in)h(a)0 +2453 y(L)12 2446 y Fs(A)33 2453 y Ft(T)55 2469 y(E)80 +2453 y(X)g(document.)963 2798 y(6)p eop +%%Page: 7 8 +7 7 bop 681 236 a + 9472573 9472573 0 0 26312704 26312704 startTexFig + 681 236 a +%%BeginDocument: wheel.ps + +% now, code to draw an indian flag. +% draw the center wheel +/drawwheel { % diameter drawwheel -- + % draws a wheel at the currentpoint, of the given diameter + + 2 div /rad exch def % get radius + gsave + + currentpoint translate + + 0 0 rad 0 360 arc stroke % draw the wheel outline + + % compute radius of the small circles hanging off the wheel.. + /smallrad rad 7.5 sin mul def + /smallcx rad 7.5 cos mul def + + 0 15 345 { % draw the 24 spokes + gsave + rotate % use the for loop variable value, 0..245 + + 0 0 moveto rad 0 lineto stroke % draw spoke + + smallcx smallrad -1 mul smallrad 82.5 262.5 arc fill + grestore + } for + grestore +} def + +% draw the flag next to the first song... +200 200 moveto 300 drawwheel + +% no showpage in flag.ips, since itrans will produce it.. + + +%showpage +%%EndDocument + + endTexFig + 0 950 a Fo(/drawwheel)29 b({)h(\045)f(diameter)g(drawwheel)g(--)389 +1010 y(\045)g(draws)h(a)f(wheel)h(at)f(currentpoint,)g(of)h(given)f +(diameter)120 1071 y(2)g(div)h(/rad)f(exch)h(def)f(\045)h(get)g(radius) +120 1131 y(gsave)120 1251 y(currentpoint)e(translate)120 +1311 y(0)h(0)h(rad)g(0)f(360)h(arc)g(stroke)238 b(\045)30 +b(draw)f(the)h(wheel)f(outline)120 1372 y(\045)g(compute)g(radius)h(of) +f(the)h(small)f(circles)g(hanging)g(off)h(the)f(wheel..)120 +1432 y(/smallrad)f(rad)i(7.5)g(sin)f(mul)h(def)120 1492 +y(/smallcx)f(rad)g(7.5)h(cos)f(mul)h(def)120 1612 y(0)f(15)h(345)g({)f +(\045)h(draw)g(the)f(24)h(spokes)239 1673 y(gsave)239 +1733 y(rotate)f(\045)h(use)g(the)f(for)h(loop)f(variable)g(value,)g +(0..245)239 1793 y(0)h(0)g(moveto)f(rad)g(0)h(lineto)f(stroke)h(\045)f +(draw)h(spoke)239 1853 y(smallcx)f(smallrad)g(-1)h(mul)f(smallrad)g +(82.5)h(262.5)f(arc)h(fill)239 1913 y(grestore)120 1974 +y(})f(for)120 2034 y(grestore)0 2094 y(})h(def)0 2214 +y(\045)g(draw)f(the)h(wheel)f(...)0 2275 y(200)h(200)f(moveto)g(300)h +(drawwheel)351 2430 y Ft(Figure)12 b(4:)18 b(A)12 b(sample)h +(PostScript)e(program)g(and)i(the)f(wheel)g(it)g(dra)o(ws)963 +2798 y(7)p eop +%%Page: 8 9 +8 8 bop 0 53 a Fq(2.3)50 b(A)12 b(Macr)o(o)h(Package)g(-)f(MusicT)687 +65 y(E)714 53 y(X)0 147 y Ft(Macro)17 b(packages)g(are)g(written)f(in)h +(T)660 158 y(E)684 147 y(X)g(or)f(L)807 140 y Fs(A)828 +147 y Ft(T)850 163 y(E)876 147 y(X)g(and)h(are)g(usually)g(a)o(v)o +(ailable)f(in)h(the)g(form)f(of)g(style)h(\256les)0 207 +y(that)d(need)g(to)g(be)g(included)f(in)h(a)g(L)597 200 +y Fs(A)618 207 y Ft(T)640 223 y(E)665 207 y(X)g(document)g(before)f(a)h +(dra)o(wing)f(made)h(by)g(using)g(the)g(macros)g(can)g(be)0 +268 y(included.)23 b(The)15 b(use)f(of)g Fo(psfig)f Ft(macro)h(package) +g(has)h(already)e(been)i(illustrated.)22 b(This)15 b(section)f +(illustrates)0 328 y(the)e(use)h(of)f(MusicT)352 339 +y(E)377 328 y(X)g(macros)h(for)e(dra)o(wing)h(musical)h(scores.)73 +388 y(Here)f(is)f(a)h(MusicT)406 399 y(E)431 388 y(X)f(e)o(xample)h +(taken)f(from)f(the)i(MusicT)1104 399 y(E)1129 388 y(X)f(manual)g +([16].)17 b(Figure)11 b(5)h(is)f(an)h(e)o(xample)g(of)0 +448 y(the)g(two)g(\256rst)g(bars)g(of)g(the)h(sonata)f(in)h(C-major)e +(K545)h(by)g(M)p Fs(OZAR)n(T)h Ft(:)0 517 y + 33554432 25690112 6553600 26214400 40108032 51904512 startTexFig + + doclip + 0 517 a +%%BeginDocument: music.ps +%DVIPSCommandLine: dvips music +%DVIPSSource: TeX output 1993.06.22:0147 +/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N +/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[ +0 -1 1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale +isls{Resolution hsize -72 div mul 0 TR}if Resolution VResolution vsize +-72 div 1 add mul TR matrix currentmatrix dup dup 4 get round 4 exch put +dup dup 5 get round 5 exch put setmatrix}N /@landscape{/isls true N}B +/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B +/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ +/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N +string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N +end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ +/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] +N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup +length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ +128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub +get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data +dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N +/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup +/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx +0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff +setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff +.1 add]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} +if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup +length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ +cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin +0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul +add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage +userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook +known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X +/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for +65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 +0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V +{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 +getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} +ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley +false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley +scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave +transform round exch round exch itransform moveto rulex 0 rlineto 0 +ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta +0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} +B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ +3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p +-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ +3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end +TeXDict begin 40258431 52099146 1000 300 300 +(/source3/tex_documents/figsInLatex/music.dvi) @start +/Fa 43 126 df<1800C03C01E07E01E07E03E0FF03C0FF03C0FF07C0FF0780FF0F80FF0F +00FF0F007E1F007E1E003C1E00183E00003C00007C0000780000780000F80000F00000F0 +0001F00001E00003E00003C00003C0C007C3F00783F00787F80F87F80F07F81F07F81E07 +F81E07F83E07F83C03F03C03F01800C015277EA21A>37 D<183E7E7F3F1F0F1F3E7EFCF8 +60080D77851A>44 D<3078FCFC7830060676851A>46 D<0000C00001E00001E00003E000 +03C00007C0000780000F80000F00000F00001F00001E00003E00003C00007C0000780000 +780000F80000F00001F00001E00003E00003C00003C00007C0000780000F80000F00001F +00001E00001E00003E00003C00007C0000780000F80000F00000F0000060000013277DA2 +1A>I<00F80003FE0007FF000FFF801F8FC03E03E03C01E07C01F07800F07800F0F00078 +F00078F00078F00078F00078F00078F00078F00078F00078F800F87800F07800F07C01F0 +3C01E03E03E01F8FC00FFF8007FF0003FE0000F800151E7E9D1A>I<00E00000E00001E0 +0003E00003E0000FE0007FE000FFE000FDE00071E00001E00001E00001E00001E00001E0 +0001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0007FFF +807FFF807FFF807FFF80111E7C9D1A>I<03F0000FFC003FFF007FFF807C1F80F807C0F8 +03C0F801E0F801E07001E00001E00001E00003C00003C00007C0000F80000F00001E0000 +7E0000FC0001F00003E00007C0000F80001F01E03E01E07FFFE0FFFFE0FFFFE07FFFE013 +1E7D9D1A>I<01F80007FF001FFF801FFFC03E07C03E03E03E01E01C01E00001E00001E0 +0003C00007C001FF8001FF0001FF0001FFC00003E00001F00000F0000078000078700078 +F80078F800F0F801F07C03E07FFFE03FFFC00FFF0003FC00151E7E9D1A>I<001F80003F +80007F8000778000F78001E78001E78003C78007C7800787800F87800F07801F07803E07 +803C07807C0780F80780FFFFFEFFFFFEFFFFFEFFFFFE0007800007800007800007800007 +80007FF800FFFC00FFFC007FF8171E7F9D1A>I<3078FCFC783000000000000000000030 +78FCFC7830061576941A>58 D<7FFFF0FFFFF8FFFFF87FFFF00000000000000000000000 +007FFFF0FFFFF8FFFFF87FFFF0150C7E941A>61 D<FF87FEFF87FEFFC7FEFFC7FE1EC0F0 +1EE0F01EE0F01EE0F01EF0F01E70F01E70F01E70F01E78F01E78F01E38F01E38F01E3CF0 +1E3CF01E1CF01E1CF01E1CF01E1EF01E0EF01E0EF01E0EF01E06F0FFC7F0FFC7F0FFC3F0 +FFC3F0171E7F9D1A>78 D<FFFF00FFFFC0FFFFE0FFFFF01E01F81E00F81E007C1E003C1E +003C1E003C1E003C1E003C1E007C1E00F81E01F81FFFF01FFFE01FFFC01FFF001E00001E +00001E00001E00001E00001E00001E0000FFC000FFC000FFC000FFC000161E7F9D1A>80 +D<FFF8FFF8FFF8FFF8F000F000F000F000F000F000F000F000F000F000F000F000F000F0 +00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000FF +F8FFF8FFF8FFF80D2776A21A>91 D<600000F00000F00000F800007800007C00003C0000 +3E00001E00001E00001F00000F00000F800007800007C00003C00003C00003E00001E000 +01F00000F00000F800007800007800007C00003C00003E00001E00001F00000F00000F00 +000F800007800007C00003C00003E00001E00001E00000C013277DA21A>I<FFF8FFF8FF +F8FFF8007800780078007800780078007800780078007800780078007800780078007800 +7800780078007800780078007800780078007800780078007800780078FFF8FFF8FFF8FF +F80D277EA21A>I<07F8001FFE003FFF803FFFC03E07C01C03E00001E0007FE007FFE01F +FFE07FE1E07C01E0F801E0F001E0F001E0F803E07C0FE07FFFFE3FFFFE1FF8FE07E07E17 +157E941A>97 D<FF0000FF0000FF0000FF00000F00000F00000F00000F00000F00000F0F +800F7FE00FFFF00FFFF80FE0F80F807C0F003C0F001E0F001E0F001E0F001E0F001E0F00 +1E0F003E0F803C0FC07C0FE0F80FFFF80FFFF00F3FC0071F80171E809D1A>I<00FF0003 +FFC00FFFE01FFFE03F03E07C01C0780000780000F00000F00000F00000F00000F0000078 +00F07C00F07E01F03F83E01FFFE00FFFC003FF0000FC0014157D941A>I<001FE0001FE0 +001FE0001FE00001E00001E00001E00001E00001E003F1E00FFDE01FFFE03FFFE03E07E0 +7C03E07801E0F801E0F001E0F001E0F001E0F001E0F001E0F001E07803E07C07E03E0FE0 +3FFFFE1FFFFE0FF9FE03E1FE171E7E9D1A>I<01F80007FF000FFF801FFFC03F07C07C01 +E07801E0F800F0FFFFF0FFFFF0FFFFF0FFFFF0F000007800F07C00F07E01F03F83E01FFF +C00FFFC003FF0000FC0014157D941A>I<0003E0001FF0003FF8007FF80078F800F07000 +F00000F00000F0007FFFF0FFFFF0FFFFF0FFFFF000F00000F00000F00000F00000F00000 +F00000F00000F00000F00000F00000F00000F00000F0003FFFC07FFFE07FFFE03FFFC015 +1E7F9D1A>I<01F87807FFFC0FFFFE1FFFFE1F0F8C3E07C03C03C03C03C03C03C03E07C0 +1F0F801FFF801FFF001FFE003DF8003C00001C00001FFF801FFFE01FFFF83FFFFC7C00FC +78003EF0001EF0001EF0001EF0001E7C007C7F01FC3FFFF81FFFF007FFC000FE0017217F +941A>I<FF000000FF000000FF000000FF0000000F0000000F0000000F0000000F000000 +0F0000000F0F80000F7FE0000FFFF0000FFFF0000FE0F8000F8078000F8078000F007800 +0F0078000F0078000F0078000F0078000F0078000F0078000F0078000F0078000F007800 +FFF1FF80FFF3FF80FFF3FF80FFF1FF80191E809D1A>I<00E00001F00001F00001F00000 +E0000000000000000000000000000000007FF0007FF0007FF0007FF00000F00000F00000 +F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0007FFFC0FF +FFE0FFFFE07FFFC0131F7D9E1A>I<000E001F001F001F000E000000000000000000000F +FF0FFF0FFF0FFF000F000F000F000F000F000F000F000F000F000F000F000F000F000F00 +0F000F000F000F000F000F000F000F701EF83EFFFCFFF87FF01FC0102A7E9E1A>I<FF00 +00FF0000FF0000FF00000F00000F00000F00000F00000F00000F3FFC0F3FFE0F3FFE0F3F +FC0F0FC00F1F800F3F000F7E000FFC000FFC000FFE000FFE000FCF000F8F800F07C00F03 +C00F03E0FFE3FEFFE3FFFFE3FFFFE3FE181E7F9D1A>I<FFF000FFF000FFF000FFF00000 +F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000 +F00000F00000F00000F00000F00000F00000F00000F00000F00000F000FFFFF0FFFFF0FF +FFF0FFFFF0141E7D9D1A>I<7E783C00FFFEFF00FFFFFF007FFFFF801F8FC7801F0F8780 +1E0F07801E0F07801E0F07801E0F07801E0F07801E0F07801E0F07801E0F07801E0F0780 +1E0F07801E0F07807F8FC7E0FFCFE7F0FFCFE7F07F8FC7E01C1581941A>I<FF0F8000FF +7FE000FFFFF000FFFFF0000FE0F8000F8078000F8078000F0078000F0078000F0078000F +0078000F0078000F0078000F0078000F0078000F0078000F007800FFF1FF80FFF3FF80FF +F3FF80FFF1FF80191580941A>I<01FC0007FF000FFF801FFFC03F07E07C01F07800F0F8 +00F8F00078F00078F00078F00078F00078F800F87800F07C01F03F07E01FFFC00FFF8007 +FF0001FC0015157E941A>I<FF0F80FF7FE0FFFFF0FFFFF80FE0F80F807C0F003C0F001E +0F001E0F001E0F001E0F001E0F001E0F003E0F803C0FC07C0FE0F80FFFF80FFFF00F3FC0 +0F1F800F00000F00000F00000F00000F00000F00000F0000FFF000FFF000FFF000FFF000 +172080941A>I<01F1E007FDE01FFFE03FFFE03F0FE07C03E07803E0F801E0F001E0F001 +E0F001E0F001E0F001E0F801E07803E07C07E03E0FE03FFFE01FFFE00FF9E003E1E00001 +E00001E00001E00001E00001E00001E00001E0001FFE001FFE001FFE001FFE17207E941A +>I<7FC1F0FFC7FCFFDFFE7FFFFE03FE3E03F81C03F00003E00003E00003C00003C00003 +C00003C00003C00003C00003C00003C0007FFF80FFFF80FFFF807FFF8017157F941A>I< +07FB801FFF807FFF807FFF80F80780F00780F00780F800007FE0003FFC000FFF0001FF80 +000F807003C0F003C0F803C0FC07C0FFFF80FFFF00EFFE00E3F80012157C941A>I<01C0 +0003C00003C00003C00003C00003C00003C0007FFFE0FFFFE0FFFFE0FFFFE003C00003C0 +0003C00003C00003C00003C00003C00003C06003C0F003C0F003C0F003C1F001E1E001FF +E000FFC000FF80003E00141C7F9B1A>I<FF07F800FF07F800FF07F800FF07F8000F0078 +000F0078000F0078000F0078000F0078000F0078000F0078000F0078000F0078000F0078 +000F0078000F00F8000F01F8000FFFFF8007FFFF8003FF7F8001FC7F80191580941A>I< +FFC7FEFFEFFEFFEFFEFFC7FE3C00783C00781E00F01E00F01E7CF01EFEF01EFEF01EFEF0 +1EEEF00EEEE00EEEE00EEEE00EEEE00FC7E00FC7E007C7C00783C017157F941A>119 +D<7FC7F87FCFFC7FCFFC7FC7F807C78003EF8001FF0000FE0000FC00007C00007C00007C +0000FE0001EF0003EF0003C7800783C07FC7FCFFC7FEFFC7FE7FC7FC17157F941A>I<7F +C7FCFFC7FEFFC7FE7FC7FC0F01E00F81E00783E00783C003C3C003C3C003C78001E78001 +E78001E70000E70000EF0000EE00007E00007E00007E00003C00003C00007C0000780000 +780010F8007CF0007DF0007FE0007FC0003F80001E000017207F941A>I<0003F8000FF8 +003FF8003FF8007C00007800007800007800007800007800007800007800007800007800 +00780000780000F8007FF000FFE000FFC000FFE0007FF00000F800007800007800007800 +007800007800007800007800007800007800007800007800007C00003FF8003FF8000FF8 +0003F815277EA21A>123 D<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 +F0F0F0F0F0F0F0F0F0F0F0F0F0F060042775A21A>I<7F0000FFC000FFF000FFF00000F8 +00007800007800007800007800007800007800007800007800007800007800007800007C +00003FF0001FF8000FF8001FF8003FF0007C000078000078000078000078000078000078 +0000780000780000780000780000780000F800FFF000FFF000FFC0007F000015277EA21A +>I E /Fb 1 15 df<0000000E000003FE0000FFFE007FFFFE1FFFFFFEFFFFFFFEFFFFFF +FEFFFFFFFEFFFFFFFEFFFFFFFEFFFFFFF0FFFFFC00FFFE0000FF800000E00000001F0F80 +891F>14 D E /Fc 1 47 df<3C7EFFFFFFFF7E3C08087C8710>46 +D E /Fd 1 51 df<000FC0003FE000707000C03801801C03001C03101E06181E0E181E0C +181E0C181E18303C18303C18603C18C0780F80F00F00E00001C0000780000F00003C0000 +700001E0000380000600000C00181800381800303000707FC0E07FFFC0E1FF80C07F00C0 +3E0017227CA019>50 D E /Fe 1 53 df<00001F0000003F0000003F0000007F000000FF +000001FF000001FF000003FF000007FF00000FFF00001F7F00001E7F00003C7F0000787F +0000F87F0001F07F0001E07F0003C07F0007807F000F807F000F007F001E007F003C007F +007C007F00F8007F00FFFFFFF8FFFFFFF8FFFFFFF8FFFFFFF80000FF000000FF000000FF +000000FF000000FF000000FF00007FFFF8007FFFF8007FFFF8007FFFF81D277EA622>52 +D E /Ff 3 72 df[<001FE00000FFF80003FFFE000FFFFF001FFFFF803FFFFF807FFFFF +C07FFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFF80FFFFFF807FFFFF007FFFFE +003FFFFC001FFFF00007FFC00001FE0000>26 20 128 137 26 33 +D[<001FE00000FFF80003FFFE000FFF03001FF801803FC000807F0000C07C0000C0F000 +00C0E00000C0C00001C0C00003C0C0000F80C0003F804000FF006007FE00303FFC001FFF +F00007FFC00001FE0000>26 20 128 137 26 I<00000000E0000000000001F800000000 +0001FE000000000003FF000000000007FF80000000000FFFC0000000000FFFE000000000 +1FFFE0000000001FFFF0000000003FFFF0000000003FFFF8000000007FFFF8000000007F +FFF8000000007FFFFC00000000FF8FFC00000000FF03FC00000000FF01FC00000001FE00 +FC00000001FC00FC00000001FC007C00000001F8007C00000003F8003C00000003F0003C +00000003F0003C00000003F0003C00000003E0003800000003E0003800000003E0003800 +000003C0007800000007C0007800000007C0007000000007C000F000000007C000F00000 +0007C001F0000000078001E0000000078003E0000000078007E000000007800FC0000000 +07800FC000000007801F8000000007803F8000000007807F800000000780FF0000000007 +81FF000000000781FE000000000783FE000000000787FC00000000078FF80000000003DF +F80000000003FFF00000000003FFF00000000003FFE00000000003FFC00000000003FFC0 +0000000007FF80000000000FFF00000000001FFE00000000003FFE00000000007FFC0000 +000000FFF80000000001FFF00000000003FFE00000000007FFF0000000000FFFF0000000 +001FFFF0000000003FFF70000000007FFE7000000000FFFC7000000001FFF87800000003 +FFF07800000007FFE0780000000FFFC0380000000FFF803FFC00001FFF007FFF80001FFE +01FFFFE0003FFC07FFFFF8003FF80FFFFFFC003FF01FFFFFFE007FE03FFFFFFF007FC07F +DC3FFF807FC07F1C07FFC0FF80FC1C01FFC0FF80F81E00FFE0FF01F00E007FE0FF01E00E +003FF0FF01E00E001FF0FE03C00E001FF0FE03C00E000FF8FE03C006000FF8FE03800700 +0FF87E0380070007F87E0380070007F87E0380070007F87E0380070007F83E0380030007 +F83F0180038007F83F0180038007F01F0180038007F00F80C003800FF00F804003800FE0 +07C06001801FE007E02001801FC003E01001C03F8001F00801C03F8000F80201C07F0000 +7C0001C0FE00003E0000C1FC00001F0000C3F8000007C000CFE0000001F000FFC0000000 +FE01FF000000001FFFF80000000001FFE000000000000060000000000000600000000000 +007000000000000070000000000000700000000000003000000000000030000000000000 +300000000000003000000000000038000000000000180000000000001800000000000018 +000000000000180000000000001800000000000018000000003E000C00000000FF800C00 +000001FFC00C00000001FFC00C00000003FFE00C00000003FFE00C00000003FFE0060000 +0003FFE00600000003FFE00600000001FFC00600000003FFC00C00000000FF800C000000 +003F8018000000000FE0700000000003FFC000000000007F000000359166F151>71 +D E /Fg 3 61 df<0018007800F001E003C007800F001F001E003E003C007C007C007800 +F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800F800 +F800F800F800F800F8000D25707E25>56 D<F800F800F800F800F800F800F800F800F800 +F800F800F800F800F800F800F800F800F800F800F800F800F800F80078007C007C003C00 +3E001E001F000F00078003C001E000F0007800180D25708025>58 +D<007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C00 +7C007C007C007C007C007C007C00F800F800F800F001F001E003E003C0078007000E001C +003800F000C000F00038001C000E000700078003C003E001E001F000F000F800F800F800 +7C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C007C00 +7C007C007C007C007C007C0E4D798025>60 D E /Fh 8 112 df<FFFFF000FFFFFC0007 +C03F0007C00F8007C0078007C003C007C003C007C003E007C003E007C003E007C003E007 +C003E007C003C007C003C007C0078007C00F8007C03F0007FFFC0007FFF00007C0000007 +C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007 +C0000007C0000007C00000FFFE0000FFFE00001B227EA121>80 D<7FFFFFF87FFFFFF87C +07C0F87007C0386007C0186007C018E007C01CE007C00CC007C00CC007C00CC007C00CC0 +07C00C0007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000 +07C0000007C0000007C0000007C0000007C0000007C0000007C0000007C0000007C00000 +07C0000007C0000007C00003FFFF8003FFFF801E227EA123>84 D<1FE0003FF8007C3C00 +7C1E007C0F00380F00000F00000F0003FF000FFF003F0F007C0F007C0F00F80F00F80F18 +F80F18F80F18781F187C3FB83FE7F00F83C015157E9418>97 D<01FC0007FF000F0F801E +07C03C03C07C03E07801E0FFFFE0FFFFE0F80000F80000F80000F80000F800007800007C +00603C00601E00C00F838007FF0000FC0013157F9416>101 D<0F0000FF0000FF00001F +00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F1F800F +7FC00FE1E00FC0F00F80F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F +00F00F00F00F00F00F00F00F00F00F00F0FFF3FFFFF3FF18237FA21B>104 +D<0E001F003F003F001F000E0000000000000000000000000000000F00FF00FF001F000F +000F000F000F000F000F000F000F000F000F000F000F000F000F000F00FFE0FFE00B2280 +A10D>I<0F1F80FF7FC0FFE1E01FC0F00F80F00F00F00F00F00F00F00F00F00F00F00F00 +F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F00F0FFF3FFFFF3FF18157F941B +>110 D<01FC0007FF000F07801E03C03C01E07800F07800F0F800F8F800F8F800F8F800 +F8F800F8F800F8F800F87800F07C01F03C01E01E03C00F078007FF0001FC0015157F9418 +>I E end +TeXDict begin + +1 0 bop 237 -85 a Fh(Piano)363 0 y Fg(:)363 -239 y(8)363 +-136 y(<)p 379 12 5 95 v 379 -124 V 394 -49 1159 2 v +394 -29 V 394 -8 V 394 13 V 394 34 V 394 -236 V 394 -215 +V 394 -195 V 394 -174 V 394 -153 V 394 34 2 272 v 381 +33 a Ff(G)381 -154 y(G)481 -10 y Fe(4)481 31 y(4)481 +-197 y(4)481 -155 y(4)p 529 55 40 2 v 561 54 2 99 v 537 +54 a Ff(!)p 619 12 2 58 v 595 12 a(!)p 677 33 2 78 v +653 33 a(!)p 560 -40 176 10 v 735 12 2 58 v 711 12 a(!)p +536 -144 2 63 v 536 -206 a(")p 761 55 40 2 v 793 54 2 +99 v 769 54 a(!)p 851 12 2 58 v 827 12 a(!)p 909 33 2 +78 v 885 33 a(!)p 793 -40 176 10 v 967 12 2 58 v 943 +12 a(!)p 769 -164 2 63 v 769 -227 a(!)p 885 -185 V 885 +-247 a(!)p 1009 34 2 272 v 1011 -258 a Fd(2)p 1077 43 +2 89 v 1053 43 a Ff(!)p 1135 12 2 58 v 1111 12 a(!)p +1193 23 2 68 v 1169 23 a(!)p 1053 -133 2 63 v 1053 -195 +a(!)1084 -202 y Fc(.)p 1077 -40 176 10 v 1251 12 2 58 +v 1227 12 a Ff(!)p 1227 -123 2 84 v 1227 -206 a(!)1229 +-138 y Fb(\016)1239 -140 y(\016)1227 -123 y(\016)1239 +-125 y(\016)p 1269 -129 2 88 v 1269 -216 a Ff(!)p 1302 +55 40 2 v 1334 54 2 99 v 1310 54 a(!)p 1392 12 2 58 v +1368 12 a(!)p 1450 33 2 78 v 1426 33 a(!)p 1334 -40 176 +10 v 1509 12 2 58 v 1485 12 a(!)p 1310 -144 2 63 v 1310 +-206 a(")p 1550 34 2 272 v 282 155 a Fh(The)16 b Fa(coding)24 +b(is)h(set)f(as)h(follows)e(:)286 216 y(\\documents)o(tyl)o(e[)o(mus)o +(ict)o(ex)o(,..)o(.]{)o(...)o(})286 336 y(\\begin{mus)o(ic})286 +396 y(\\parindent)f(1cm)286 456 y(\\def\\nbins)o(tru)o(me)o(nts)o({1})o +(\\r)o(ela)o(x)h(\045)i(a)g(single)f(instrumen)o(t)286 +517 y(\\def\\instr)o(ume)o(nt)o(i{P)o(ian)o(o})o(\045)100 +b(\045)25 b(whose)f(name)g(is)h(Piano)286 577 y(\\nbportees)o(i=2)o +(\\r)o(ela)o(x)228 b(\045)25 b(with)f(two)h(staffs)286 +637 y(\\generalme)o(ter)o({\\)o(met)o(erf)o(ra)o(c{4)o(}{4)o(}}\\)o(re) +o(lax)d(\045)j(4/4)g(meter)f(chosen)286 697 y(\\debutextr)o(ait)381 +b(\045)25 b(starting)e(real)h(score)286 757 y(\\normal)536 +b(\045)25 b(normal)e(12)i(pt)g(note)f(spacing)286 817 +y(\\temps\\Not)o(es\\)o(ib)o(u0f)o(0\\q)o(h0)o({cg)o(e}\\)o(tbu)o(0\\)o +(qh0)o(g|\\)o(hl)e(j\\enotes)286 878 y(\\temps\\Not)o(es\\)o(ib)o(u0f)o +(0\\q)o(h0)o({cg)o(e}\\)o(tbu)o(0\\)o(qh0)o(g|\\)o(ql)g(l\\sk\\ql)h +(n\\enotes)286 938 y(\\barre)562 b(\045)25 b(bar)286 +998 y(\\Notes\\ibu)o(0f0)o(\\q)o(h0{)o(dgf)o(}|)o(\\ql)o(p)e(i\\enotes) +286 1058 y(\\notes\\tbu)o(0\\q)o(h0)o(g|\\)o(ibb)o(l1)o(j3\\)o(qb1)o +(j\\t)o(bl)o(1\\q)o(b1k)o(\\e)o(not)o(es)286 1118 y(\\temps\\Not)o +(es\\)o(ib)o(u0f)o(0\\q)o(h0)o({cg)o(e}\\)o(tbu)o(0\\)o(qh0)o(g|\\)o +(hl)f(j\\enotes)286 1179 y(\\finextrai)o(t)433 b(\045)25 +b(terminate)d(excerpt)286 1239 y(\\end{music)o(})p eop +end +userdict /end-hook known{end-hook}if +%%EndDocument + + endTexFig + 658 2246 a Ft(Figure)e(5:)18 b(A)12 b(MusicT)1051 2257 +y(E)1076 2246 y(X)g(e)o(xample)0 2438 y Fq(2.4)50 b(Other)12 +b(macr)o(o)h(packages)0 2531 y Ft(Some)f(other)g(macro)g(packages)h(a)o +(v)o(ailable)f(at)g(W)l(aterloo)g(include:)0 2646 y Fq(pstricks)g([19]) +24 b Ft(T)311 2657 y(E)335 2646 y(X)12 b(fonts)g(and)h(macros)f(for)g +(fanc)o(y)g(PostScript)f(features.)963 2798 y(8)p eop +%%Page: 9 10 +9 9 bop 0 53 a Fq(nass\257ow)12 b([18,)h(17)o(])24 b +Ft(L)386 46 y Fs(A)407 53 y Ft(T)429 69 y(E)455 53 y(X)12 +b(macros)g(for)g(\257o)o(wcharts)g(and)g(Nassi-Schneiderman)g +(diagrams.)73 168 y(A)g(list)g(of)f(other)g(useful)h(packages)g(\(e.g.) +18 b(bipartite)11 b(graphs,)h(trees,)h(etc.\))18 b(can)12 +b(be)f(found)g(in)h([8].)17 b(Not)12 b(all)g(of)0 228 +y(the)g(packages)h(mentioned)f(in)g([8])g(are)g(installed)g(at)h(W)l +(aterloo.)0 455 y(Before)g(printing)e(you)i(will)g(want)f(to)h(pre)o +(vie)o(w)f(your)g(document.)20 b(Y)-5 b(our)12 b(choice)h(of)g(a)g(pre) +o(vie)o(wer)f(will)g(depend)0 515 y(on)g(your)g(choice)g(of)g +(macro-language)g(used)h(to)f(include)g(the)g(dra)o(wings.)18 +b(More)13 b(on)f(this)h(later)m(.)0 668 y Fn(3)60 b(Mor)o(e)14 +b(About)h(Macr)o(os)0 780 y Ft(The)f(e)o(xamples)h(in)e(section)h(2)g +(illustrated)f(that)h(some)g(macro)f(package)h(is)g(used)h(to)e(make)g +(L)1613 773 y Fs(A)1634 780 y Ft(T)1656 795 y(E)1682 +780 y(X)g(understand)0 840 y(the)e(type)f(of)g(dra)o(wing)h(being)f +(included.)18 b(Some)10 b(of)g(these)h(macros)g(process)g(the)g(input)f +(and)g(con)n(v)o(ert)h(it)f(to)h(L)1846 833 y Fs(A)1867 +840 y Ft(T)1889 856 y(E)1914 840 y(X)0 900 y(primiti)o(v)o(es.)20 +b(Others)13 b(merely)g(tell)f(L)619 893 y Fs(A)640 900 +y Ft(T)662 916 y(E)688 900 y(X)h(about)g(the)g(type)g(and)g(size)h(of)f +(the)g(input)f(dra)o(wing)h(and)g(assume)h(that)0 960 +y(some)h(output)g(de)o(vice)g(dri)o(v)o(er)f(\(display)g(de)o(vice)h +(or)g(printer\))f(will)g(be)h(able)h(to)e(render)h(it.)26 +b(L)1607 953 y Fs(A)1628 960 y Ft(T)1650 976 y(E)1675 +960 y(X)15 b(then)g(lea)o(v)o(es)0 1020 y(enough)d(blank)g(space)h(for) +f(the)g(\256gure)g(to)g(be)h(dra)o(wn.)73 1081 y(In)j(the)g +Fo(xfig)g Ft(e)o(xample,)i(note)e(that)g(the)g(user)g(has)h(a)f(choice) +g(of)g(macro)g(packages.)30 b(There)17 b(are)f(se)o(v)o(eral)0 +1141 y(factors)f(that)h(af)o(fect)f(the)g(choice)h(you)g(should)g +(make:)24 b(image)15 b(quality)m(,)i(portability)m(,)e(size,)j +(processing)e(time,)0 1201 y(etc.)27 b(F)o(or)15 b(e)o(xample,)h +Fo(fig2dev)f Ft(will)g(attempt)f(to)h(render)g(a)g(\256gure)g(in)g(L) +1291 1194 y Fs(A)1312 1201 y Ft(T)1334 1217 y(E)1359 +1201 y(X)g(as)h(best)g(as)f(possible,)i(b)o(ut)e(the)0 +1261 y(quality)f(of)f(the)h(resulting)g(\256gure)f(may)h(be)g(quite)g +(poor)g(due)g(to)g(man)o(y)g(L)1258 1254 y Fs(A)1279 +1261 y Ft(T)1301 1277 y(E)1326 1261 y(X)g(limitations)f(such)i(as)g +(restricted)0 1321 y(line)h(orientations.)27 b(On)16 +b(the)g(other)f(hand,)i(such)f(a)g(document)g(could)f(be)h(printed)f +(in)h(an)o(y)g(en)n(vironment)e(that)0 1382 y(supports)h(L)196 +1375 y Fs(A)217 1382 y Ft(T)239 1397 y(E)264 1382 y(X.)h(A)f +(PostScript)g(v)o(ersion)g(may)g(render)g(the)g(original)f(\256gure)h +(accurately)m(,)h(b)o(ut)f(no)o(w)g(the)g(user)0 1442 +y(is)f(assuming)h(that)f(whoe)o(v)o(er)f(wants)h(to)g(print)f(the)h +(document)g(has)g(access)i(to)d(all)h(the)g(necessary)h(macros)f(and)0 +1502 y(de)o(vice)i(dri)o(v)o(ers)g(for)f(processing)i(and)f(con)n(v)o +(erting)g(the)g(PostScript)f(input)h(resulting)g(in)g(a)g(potential)g +(lack)h(of)0 1562 y(portability)m(.)28 b(An)16 b(intermediate)f +(solution)h(lies)g(in)g(using)g(the)g(EEPIC)h(set)f(of)g(macros)g +(which)g(will)f(generate)0 1622 y(much)d(better)g(results)h(than)f +(plain)g(L)614 1615 y Fs(A)635 1622 y Ft(T)657 1638 y(E)682 +1622 y(X)g(and)h(at)f(the)h(same)f(time)g(be)h(e)o(xtremely)f +(portable.)0 1776 y Fn(4)60 b(V)n(iewing)14 b(the)g(Results)0 +1887 y Ft(The)22 b(output)f(of)g(L)323 1880 y Fs(A)344 +1887 y Ft(T)366 1903 y(E)392 1887 y(X)g(is)h(in)g(a)g(format)e(called)i +Fr(device)g(independent)f Ft(\(D)n(VI\).)g(In)g(order)g(to)g(vie)o(w)h +(\(on)f(a)0 1948 y(display)15 b(de)o(vice)g(or)f(on)h(paper\))f(a)h(D)n +(VI)f(document,)i(one)f(has)g(to)g(\256rst)f(con)n(v)o(ert)h(the)f +(document)h(to)f(the)h(de)o(vice)0 2008 y(\(terminal)g(or)i(printer\))e +(dependent)h(language.)32 b(The)17 b(usual)g(UNIX)f(printer)g(command)g +Fo(lpr)29 b(-Fd)p Ft(,)18 b(where)0 2068 y Fo(-Fd)c Ft(indicates)g +(that)g(the)f(input)h(is)g(a)g(D)n(VI)g(\256le,)g(con)n(v)o(erts)g(the) +g(D)n(VI)g(speci\256cation)g(to)f(commands)h(which)g(the)0 +2128 y(printer)e(understands.)21 b(Similarly)m(,)12 b(there)h(are)g(se) +o(v)o(eral)h(commands)f(for)f(con)n(v)o(erting)h(the)g(D)n(VI)g +(document)f(into)0 2188 y(commands)f(which)g(render)g(the)g(document)g +(on)g(a)h(graphics)f(terminal,)g(in)g(particular)f(under)h(the)h(X11)f +(windo)o(w)0 2248 y(system.)73 2309 y(Recall)16 b(that)f(when)g +(including)g(a)h(PostScript)e(\256gure,)i(L)1048 2302 +y Fs(A)1069 2309 y Ft(T)1091 2324 y(E)1116 2309 y(X)f(does)h(not)f +(translate)g(the)h(input.)26 b(Hence,)17 b(in)0 2369 +y(general,)e(if)g(you)f(send)h(the)g(D)n(VI)f(\256le)h(to)g(a)f(D)n(VI) +h(processor)g(without)f(telling)g(it)g(about)h(the)f(postscript)h(it)f +(will)0 2429 y(simply)i(lea)o(v)o(e)h(a)g(blank)f(space)i(where)e(the)g +(\256gure)g(belongs.)31 b(An)17 b(e)o(xtra)f(con)n(v)o(ersion)h(step)g +(is)f(needed)h(when)0 2489 y(including)12 b(non-L)305 +2482 y Fs(A)326 2489 y Ft(T)348 2505 y(E)372 2489 y(X)h(input)e(in)i +(your)e(\256le.)73 2549 y(In)j(the)f Fo(xfig)h Ft(e)o(xample)g(in)f +(section)h(2.1.3,)h(EEPIC)g(was)e(used)i(to)e(describe)h(the)g(image.) +22 b(Hence,)15 b Fo(xdvi)p Ft(,)0 2610 y(a)g(D)n(VI)g(pre)o(vie)o(wer)f +(for)g(X11)h(windo)o(w)f(system)i(is)f(able)g(to)g(display)g(the)g +(\256gures.)26 b(Similarly)m(,)15 b(the)g(musicT)1890 +2621 y(E)1914 2610 y(X)0 2670 y(e)o(xample)c(in)g(section)h(2.3)f(uses) +h(T)574 2681 y(E)599 2670 y(X)f(fonts)g(and)g(macros)g(so)h +Fo(xdvi)f Ft(is)g(able)h(to)f(display)g(the)g(musical)g(scores)h(on)963 +2798 y(9)p eop +%%Page: 10 11 +10 10 bop 0 53 a Ft(an)11 b(X11)h(terminal)333 35 y Fk(2)353 +53 y Ft(.)18 b(On)11 b(the)g(other)g(hand,)h(in)f(the)g(PostScript)f(e) +o(xample)i(in)f(section)g(2.1.4,)i(L)1618 46 y Fs(A)1639 +53 y Ft(T)1661 69 y(E)1686 53 y(X)f(has)f(left)g(the)0 +114 y(\256gure)g(in)h(its)h(nati)o(v)o(e)f(PostScript.)17 +b Fo(xdvi)12 b Ft(does)g(not)g(understand)g(PostScript)f(so)h(it)g +(just)g(lea)o(v)o(es)h(enough)f(blank)0 174 y(space)h(for)f(the)g +(\256gure.)73 234 y(In)h(order)g(to)g(vie)o(w)g(a)h(L)456 +227 y Fs(A)477 234 y Ft(T)499 250 y(E)524 234 y(X)g(document)f(with)g +(postscript)g(\256gures)g(the)h(D)n(VI)f(\256le)g(must)h(be)f +(translated)g(into)0 294 y(a)i(postscript)f(\256le.)26 +b(No)o(w)14 b(the)h(whole)f(document)h(is)g(in)f(PostScript)g(and)h +(can)g(be)f(understood)h(by)f(an)o(y)h(de)o(vice)0 354 +y(dri)o(v)o(er)c(which)i(handles)f(PostScript)g(input.)73 +415 y(At)19 b(W)l(aterloo)f Fo(dvips)g Ft([15)o(])g(is)h(the)g +(standard)f(dvi)g(to)h(postscript)f(con)n(v)o(erter)m(.)37 +b(See)18 b Fo(man)30 b(dvips)18 b Ft(for)0 475 y(details)13 +b(on)f(ho)o(w)g(to)g(con)n(v)o(ert)g(a)h(dvi)f(\256le)g(into)g +(PostScript.)73 535 y(Also)e(note)g(that)g(most)f(of)h(the)g(e)o +(xisting)g(laser)g(printers)f(at)h(W)l(aterloo)f(are)h(PostScript)e +(printers.)17 b(This)11 b(means)0 595 y(that)h(an)o(y)g(dvi)f(\256le)h +(produced)f(by)h(L)592 588 y Fs(A)613 595 y Ft(T)635 +611 y(E)660 595 y(X)g(has)h(to)e(be)h(con)n(v)o(erted)g(to)g +(PostScript)e(before)i(it)f(can)h(be)g(printed)f(\(e)o(v)o(en)0 +655 y(if)g(the)h(L)127 648 y Fs(A)148 655 y Ft(T)170 +671 y(E)195 655 y(X)g(document)f(did)g(not)h(contain)f(an)o(y)h +(PostScript\).)17 b(In)11 b(most)h(cases,)h(this)f(con)n(v)o(ersion)g +(is)g(performed)0 716 y(automatically)c(by)h(the)g Fo(lpr)g +Ft(command)g(when)g(used)g(with)g Fo(-Fd)g Ft(option.)16 +b(The)10 b(con)n(v)o(ersion)f(is)g(done)g(by)g(silently)0 +776 y(in)n(v)o(oking)j Fo(dvips)p Ft(.)0 909 y Fq(4.1)50 +b(Pr)o(eviewing)13 b(Files)0 1002 y Ft(As)i(mentioned)f(before,)h(the)f +Fo(xdvi)g Ft(command)h(can)f(be)h(used)g(to)f(look)h(at)f(dvi)g +(\256les)h(generated)f(by)h(L)1790 995 y Fs(A)1811 1002 +y Ft(T)1833 1018 y(E)1858 1002 y(X)g(as)0 1063 y(long)h(as)h(the)o(y)f +(don')o(t)g(contain)g(an)o(y)g(PostScript)g(\(EEPIC)g(is)g(okay\).)30 +b(If)16 b(xdvi)g(fails)f(to)h(display)h(the)f(\256le,)h(you)0 +1123 y(will)d(need)g(to)g(con)n(v)o(ert)g(the)g(dvi)g(\256le)g(into)g +(PostScript)f(\(by)g(using)i Fo(dvips)p Ft(\))e(and)h(then)g(use)h(the) +f Fo(ghostview)0 1183 y Ft(command)e(to)g(look)g(at)h(the)f(resulting)g +(PostScript)f(\256le.)18 b(Ghostvie)o(w)12 b(has)h(a)g(v)o(ery)f(nice)h +(user)f(interface)f(and)i(has)0 1243 y(a)f(number)g(of)f(features)h +(including)f(vie)o(wing)h(and)g(printing)f(of)g(randomly)g(selected)i +(pages.)19 b(If)11 b(you)h(only)g(want)0 1303 y(to)i(look)f(at)h(the)g +(document)g(once)g(in)f(order)g(\(no)h(random)f(selection)h(of)f +(pages\),)i(you)f(can)g(a)o(v)o(oid)g(creating)f(the)0 +1364 y(intermediate)e(PostScript)h(\256le)g(by)g(typing)g(the)g(follo)o +(wing:)239 1477 y Fo(dvips)29 b(yourfile.dvi)g(|)h(ghostview)f(-)73 +1590 y Ft(In)13 b(the)f(absence)i(of)f Fo(ghostview)f +Ft(on)g(your)h(machine,)g(you)g(can)g(use)g Fo(gs)g Ft(instead.)20 +b(It)12 b(is)i(not)e(a)h(v)o(ery)g(user)0 1651 y(friendly)e(program.)17 +b(T)l(ype)c Fo(\303C)f Ft(to)h(escape.)0 1804 y Fn(5)60 +b(Other)13 b(Useful)i(Applications)0 1915 y Fq(5.1)50 +b(Images)0 2009 y Ft(A)15 b(paper)f(image)g(can)h(be)g(digitized)f(and) +g(stored)h(in)f(PostScript)f(format)h(by)g(using)h(the)f(scanner)h(a)o +(v)o(ailable)f(in)0 2069 y(the)e(DCS)h(I/O)f(room)f(\(MC)i(1063\).)k +(The)c(image)f(on)h(the)f(title)g(page)g(was)h(produced)f(in)g(this)g +(way)m(.)0 2202 y Fq(5.2)50 b(W)o(indow)12 b(dumps)0 +2296 y Ft(W)n(indo)o(w)f(dumps)g(produced)g(using)h Fo(xwd)f +Ft(can)g(be)h(con)n(v)o(erted)f(to)h(PostScript)e(using)h(the)h +Fo(xpr)f Ft(command.)18 b(The)0 2356 y(windo)o(w)12 b(dump)g(of)g(the)g +Fo(xfig)g Ft(windo)o(w)g(in)g(Figure)f(1)i(was)f(produced)g(using)g +(the)h(command:)0 2470 y Fo(\045)30 b(xpr)f(-device)g(ps)h(-portrait)f +(-psfig)g(-compact)g(xfig.xwd)g(>)h(xfig.ps)0 2583 y +Ft(b)o(ut)12 b(in)g(most)h(cases)g(you)f(can)h(sa)o(v)o(e)g(some)g +(disk)f(space)h(by)g(piping)e Fo(xwd)i Ft(to)f Fo(xpr)g +Ft(directly:)p 0 2628 780 2 v 56 2659 a Fj(2)75 2674 +y Fh(assuming)e Fi(xdvi)g Fh(kno)o(ws)g(where)g(to)g(\256nd)g(the)g +(fonts)950 2798 y Ft(10)p eop +%%Page: 11 12 +11 11 bop 0 53 a Fo(\045)30 b(xwd)f(|)h(xpr)g(-device)f(ps)g(-portrait) +g(-psfig)h(-compact)f(>)g(xfig.ps)73 155 y Ft(Note)14 +b(that)g(the)h Fo(-psfig)e Ft(option)h(is)h(necessary)g(in)f(order)f +(to)i(ha)o(v)o(e)f(the)g(\256gure)g(center)g(correctly)g(in)g(your)0 +215 y(L)12 208 y Fs(A)33 215 y Ft(T)55 231 y(E)80 215 +y(X)f(document.)k(The)c Fo(-compact)f Ft(option)g(sa)o(v)o(es)h(some)g +(disk)f(space)i(in)e(most)g(cases.)0 348 y Fq(5.3)50 +b(Special)12 b(effects)0 442 y(5.3.1)50 b(Scaling)12 +b(and)g(r)o(otating)0 536 y Ft(Postscript)i(input)g(can)h(be)g +(arbitrarily)d(scaled)j(and)g(rotated)f(using)g(the)h +Fo(\\psfig)f Ft(macros.)25 b(See)14 b(the)h Fo(psfig)0 +596 y Ft(documentation)d(for)f(complete)h(details.)413 +665 y + 17761072 17761072 -36838114 0 28465815 65303929 startTexFig + + 45 rotate + 413 665 a +%%BeginDocument: title.ps +%DVIPSCommandLine: dvips title.dvi +%DVIPSParameters: dpi=300, comments removed +%DVIPSSource: TeX output 1994.07.11:1547 +/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N +/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 +mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} +ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale +isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div +hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul +TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get +round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ +statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 +0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn +begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X +array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo +setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx +FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ +pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} +B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup +length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B +/ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type +/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp +0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 +index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff +ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice +ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ +ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn +/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 +sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D +}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 +moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add +.99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage +userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook +known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X +/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for +65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 +0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V +{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 +getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} +ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley +false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley +scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave +transform round exch round exch itransform moveto rulex 0 rlineto 0 +ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta +0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} +B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ +3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p +-1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ +3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end +TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 +index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics +exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub +dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} +ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont /setfont load]cvx def}def +/ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def +/ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def +end +TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N +/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen +false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B +/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit +div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ +/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ +10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B +/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale +true def end /@MacSetUp{userdict /md known{userdict /md get type +/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup +length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} +N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath +clippath mark{transform{itransform moveto}}{transform{itransform lineto} +}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ +itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ +closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 +0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N +/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 +scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get +ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip +not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 +TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR +pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 +-1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg +TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg +sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr +0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add +2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp +{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 +div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} +N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict +maxlength dict begin /magscale false def normalscale currentpoint TR +/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts +/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx +psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy +scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR +/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ +psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 +roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath +moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict +begin /SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial +{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx +sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR +}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse +CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury +lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath +}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ +end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} +N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ +/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX +SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X +/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad +yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end +TeXDict begin 40258431 52099146 1000 300 300 +(/source2/tex_documents/figsInLatex/title.dvi) @start +/Fa 136[30 1[30 30 30 30 2[30 30 30 30 30 1[30 30 30 +1[30 1[30 1[30 10[30 21[30 14[30 2[30 4[30 30 40[{}22 +50.000000 /Courier rf /Fb 1 14 df<00007FC000000003FFF80000000F803E000000 +3C0007800000700001C00000C000006000018000003000030000001800060000000C000C +00000006000C000000060018000000030018000000030030000000018030000000018060 +00000000C06000000000C06000000000C0C00000000060C00000000060C00000000060C0 +0000000060C00000000060C00000000060C00000000060C00000000060C00000000060C0 +0000000060C000000000606000000000C06000000000C06000000000C030000000018030 +00000001801800000003001800000003000C00000006000C0000000600060000000C0003 +000000180001800000300000C00000600000700001C000003C00078000000F803E000000 +03FFF8000000007FC000002B2F7DA332>13 D E /Fc 144[25 28 +1[14 2[14 3[22 29[39 5[36 7[25 4[25 25 1[25 4[12 44[{}12 +50.000000 /Times-Bold rf /Fd 81[25 52[22 4[14 19 3[25 +1[36 14 2[14 3[22 25 1[25 25 97[{}12 50.000000 /Times-Italic +rf /Fe 190[29 65[{}1 39.999962 /Times-Roman rf /Ff 81[28 +52[25 25 1[25 25 14 19 17 1[25 25 25 39 14 2[14 25 25 +17 22 25 22 25 22 8[36 47 1[36 30 4[36 36 44 30 1[19 +2[36 28 30 1[33 9[25 4[25 25 25 25 4[12 44[{}41 50.000000 +/Times-Roman rf /Fg 190[50 65[{}1 69.133308 /Times-Roman +rf /Fh 138[43 24 1[29 3[43 4[24 1[43 1[38 43 38 1[38 +8[62 3[53 3[48 3[53 5[48 53 29[29 39[{}17 86.416687 /Times-Roman +rf end +TeXDict begin + +0 0 bop 407 62 a Fh(Figure'ing)21 b(and)h(Picture'ing)f(L)1364 +50 y Fg(A)1401 62 y Fh(T)1440 89 y(E)1481 62 y(X)403 +126 y Ff(Combining)11 b(te)o(xt,)i(\256gures,)g(and)f(images)h(in)f(a)g +(L)1234 119 y Fe(A)1255 126 y Ff(T)1277 142 y(E)1303 +126 y(X)g(document)951 662 y Fd(by)812 676 y + 5328321 7104430 0 0 9998827 13156352 startTexFig + 812 676 +a +save +15 dict begin +/xpoints 152 def +/ypoints 200 def +/xpixels 210 def +/ypixels 277 def +/rasterbytes 210 def +/bitspercomponent 8 def +/xunits xpixels xpoints div def +/yunits ypixels ypoints div def +/coords [xunits 0 0 yunits neg 0 ypixels] def +/picstr rasterbytes string def +/readimage { currentfile picstr readhexstring pop } def +xpixels ypixels bitspercomponent coords /readimage load +image +F6F7F8F7F3EDECECEDEDEDECECEAEBE9EAE9E9E9E7EAE9EBE9E7E9E7E6E7E6E6E4E4E5E6E4 +E7E5E6E7E5E6E5E6E4E2E3E4E5E3E4E0E3E5E3E4DEE2E0E0DFE0DCDDE2DFDCDCDBD9DBDFDF +D9D5D6DBDBD2D6D6D2D5D1D2D5D6D2D0D1D2D2D1CFD0D1D1D1D2D2D1CFCECBCFD0CBCACFD4 +CCC7C9D0CCC8CBC9C8C8C7C5C5C9CEC8C4C0BCC2C4C5C3BEBBBEC1C1BEBBC0C0BCB7BBB7BB +B8B7BCB8B6B5B6BDBAB0B4B1B0AEB5B4B1B0B5B4AEA9AAAEA8A8A5A7AAAAA8A5A8A8A3A1A5 +A3A1A1A6A5A6A5A89C9DA0A09D9BA3A5999B999892949293D4 +F4F3F4F3D15A535858525756534F51514E4B504E504E535552514F4C4B4C494E4947494B4A +514A4C4E494A4B504B494A4A4B494B44474A4548444A45444447424345434342423E424343 +413E3F42413D3E423F3E3E3E4242423E413E3E4343423F3F424143413F3F3F42434143423F +41414241413F413F3E3D3E3F3E3E413E3E3C3C3D3C3C3E3C3E3D3F3D3E3D3D3D3D3B3E3E3C +3A3C3C3C3B3A3B3D3838383636353435353536343535343735343434353635343636383637 +33353535363534333131343330313131303130312F313037AE +F3F2F2F1BD37312E2E2D2D2B2D2B2B2B2E2B2E2E2E2D2E2E2E2E2D2D2E2E2E2D2F2E2E2E2E +2E2E2E2F302F33333433333133313333313331333433333334333331333333332F33303334 +3333332F3133333336373534363634353334343134353536343535373537383B3837383735 +3837373A353B3A383637383837333535333533353638363437373736383535343436343434 +343534353433333330302F302E2F302E2E2E2F2E2F2E2F2F2F30312E2E302F2F2F30312E2F +2E2E2E2D2F2D2E2B2D2B2E2B2D2D2D2E2B2D2B2B2D2E2D31AC +F3F2F2EDBB36302E2B2A2A2A292A2A2A2A2A2B2A2A2B2A2D2A2B2B2B2D2D2B2A2D2D2D2B2D +2D2B2D2E2E2E2F30302E2E2F2F2E2E2F30312F332F3531333333313131302E302E2F313030 +3031312F2F2F31343133333434343133343131333335363531313333353634363734363433 +36373338363635353534343434313436333333353435353437373531343433333433333330 +313133312F30302F2E2E2D2D2E2E2D2D2D2E2D2E2E2D2D2E2D2E2E2E2E2E2D2B2E2E2D2E2E +2B2B2D2B2D2B29292A292B2B2B282A2B2A2A2A28282A2B33B0 +F3F2F2EDBA372F2E2B29292728292A2928292A2A2A2A2A2A282A2B2A2B2A292A2B2A2D2D2B +2D2B2E2D302E2E2E302E2F30302F2E2D2F30302E2F3130303434312F3130302F2E2F302F30 +3033312F303334333331343333333331333033313336333534353435333333373536363636 +3735353738363434363535343335353634343434353635333A353534313133313433333331 +312F2F312E2F2F2E2F2D2D2E2D2E2E2E2E2F2D2E2F2E2E2D2D2B2D2E2D2D2E2E2D2D2E2E2E +2D2E2E2D2D2A2B2B2B2B2A2B292A2A2B2A2B2B2A282A2A33B0 +F2F2F3EDBD37312F2E2A2A2A292A29292A2D29292A282B2A2B2B2A2A2D2A2A2B2B2B2B2E2D +2E2D2E2F2E302F2E302F2F2F302E2F2F30313130303030303134313334302E2F3131302F2F +30333331313135343534313031333334313031333334313435333535333336373636353738 +3A37373835373B353634353433353535363536373638363736343433343433343433343331 +333031303033302F2E2F2F2F2F302F2E2F3030312F2F2E2E2E2B2D2E2E2E2F2F302D2E2E2E +2E2D2E2B2E2B2D2B2A292B2A292A2A282B29292A2A2A2B31A9 +F3F2F2EDC33A34302F2D29292A2A2A2B2A2B2A2A2A2A29292A2A2A2A2A2A2A2D2D2D2D2E2E +2E2E2E2E2F313030302F2F2E2F303030312F2F31302F30302F313134333030313434313133 +33343433353635353636343433363534333331333533333535353635353435373536363738 +38383738353637343537363637353436373637363738383A36363434343135343434343333 +30303333303334302F2F2F2F2F2F2F2F303034312F302E302D2E2D2D2E2F2F302F2F2E2E30 +2E2F2D2D2E2D2D2B2B292B2A2929292A2A2A2B2A2A2A2A31A0 +F2F2F2ECCC3B33312F2B2B2B2B2B2B2B2A2D2B2B2A292929292A2A2A2B2B2B2B2D2D2D2E2E +2E2D2F2F2E302F303030302F2F30303030302F2F2F2E303331303330303133303133313334 +36343334353537353434353434343433343533333130343433353734333335343635363B38 +3A3A3B3C36363836363735363735363835383B383C3A3A3536343534363336343535333331 +31313130303131313030302E302F2E2F30303130302F2F2F2E2E2E2E2E2F2E2F2E2E30312F +2E2D2E2F2D2D2D2A2B2B2E2D2B2B2A2B2B2A2B2A2B2A2E319D +F2F2F1EDCA3D34302E2B2A2B2A2A2B2D2B2A2A2929292A29292A2A2B2B2B2B2B2D2B2E2E2E +2F2F2E2E2F2F30303131312F30303130302F2F302E2E2F3033313133333034333133333435 +35333335333537363535353535353534363433333033343434333535343535343835373A3B +3C3A3A3B3A3B3B373A36363737373B3A3B3A3B3C3A3C3B36353A3636373735333535333434 +3531312F2F31313331313130302F2F2F2E2F2F33313030302F2F2F2E2E2E2E2F2E2F2F302F +2F302E2E2E2E2D2B2D2D2E2D2B2B2B2D2B2B2A2A2B2D2E31A5 +F3F3F2ECC33A33312F2B2B2B2D2A2D2D2D2B292929292A2B292B2A2A2B2D2D2D2D2E2E2E2D +2D2D2E2E2E3031313333313030303033313030302F30303031333131313130343534353536 +34343535353737363637353636353734363536343535353434373737373736363B37373A3B +3B3E3B3B3B3B3B3A3B3A38383B3B3A383C3C3A3B3B3B3B3B3A373B35373836363534313433 +313130313333333433313433313030332F2F30312F2F302F31302F2D2F2E2F302F2F30302F +2E2E2E2E2E2E2D2E2D2B2D2D2B2B2A2D2D2E2D2A2B2D2E33A9 +F3F2F2EDC43B34312F2B2D2E2D2D2D2B2B2D2B2B2A2B2B2D2B2B2B2E2D2D2D2D2E2D2B2E2E +2F2F2F2F2F2F3033343131333431313333303031302F303033333434343334343736373B3A +3A363837363837373B35343636373536363536343637373635363736373736383A383C3B3C +3B3E3C3C3C3C3C3C3B3B383B3B3B3B3C3D3C3D3E3D3A3B3A3A373B3A363735353535313334 +333334333533343431333431343334333030312F2E3330312F302F3030302E2F302F2F2F2F +2E2F302F2E2E2E2E2E2D2D2D2E2F2E2E2D2B2B2B2B2E3033AA +F2F2F2EDC93D3433302F2D2B2D2D2E2D2E2D2B2B2A2D2E2D2D2D2D2D2D2E2E2D2D2E2E2F30 +2D2F2F2F2F31333133313331343334333334313331333330313435333533343637363A3A3A +3A383B383B363B383B37383738383835353537373A3B3636383637383536363638383D3D3C +3C3C3B3B3C3C3C3B3B3B3B3B3B3B3B3C3B3B3C3B3C3E3B3B3C3B3B383A3634363534353431 +35343431353434333333333334333131333331302F312F3130303330302E2F2E2E2F2F2F30 +302F2F2E2F2E2F2E2E2E2B2D2F2E2F2E2D2E2D2D2D2E2E35A6 +F2F2F1EFD03F3433312E2B2A2B2D2B2E2E2B2E2E2E2D2D2B2E2D2E2D2D2E2E2E2E3031312E +3030302F33343434363433343333333434353333333333313431313436333636353A37383B +3A3A3A3B3B3A3B3C3A3B3B3A3B3B3B3A383638373B3B37373A3B3A38363837383B3B3B3D3D +3C3C3C3D3D3E3C3D3B3B3E3C3C3B3D3C3C3C3C3C3B3D3B3B3B3B3A383A3636353535353634 +35353536353535333334333333303031313033303030313333313130302E2E2F2F2F2F2E2F +2F2E2E2E2F2E2F2E302D2E2E2E2E2E2E2E2D2B2D2E2E2F33A2 +F3F0F2F0CE3D3333302E2B2A2A2D2B2D2D2E2D2E2D2D2D2D2E2F2E2E2E2F2E2F3130313131 +313131333534343434333034333435353434313133313334313030313435373A3B3B3A3A3B +3B3C3C3C3C3B3E3C3C3B3C3B3B3A3B383A383A383A3C3A3B3A3B3A3B3637373B3C3B3C3C3D +3E3F3C3C3E3D3E3E3E3E3F3C3C3D3D3E3D3D3C3C3C3C3C3B3A3B3C373A3836363636353435 +3735363636373333343333313331303031303330303130313331343330302F30302F2E2F2F +302F2F2E2F2E2F2E2F2D2E2E2B2D2D2A2D2D2D2D2E2E2E33A1 +F3F1F2EFC93E3433302E2B2D2D2D2D2E2D2E2D2E2E2E2F302F2E2F2F2F3131303033303030 +333334353436353333363334343434353435313333303431333533333438363A3A3B3A3A3B +3C3A3B3C3F3D3D3C3E3E3C3B3B3B3A3B3C3A3C3B3B3E3D3B3B3B3A3B3B3B383B3B3B3E3F3C +3E3F3D3F3F3F3F3E3F3F3F3E3E3E3D3C3E3D3C3C3C3F3B3B3A3A3B383A3737363736353537 +37353536343634363434313134343133343133313331302F333033312F2F2F30332E2F2E2E +2F302F2F302F2D2E2E2E2E2D2B2D2E2B2D2D2B2B2E2E2F36A6 +F3F2F2EDC83D3533302D2E2F2E2E2F2F2E2F2E2F2E2F302F332F303131332F302F33313335 +333333343435363434363435363435363534353433313033343434363737383A3B3A38383A +3B3B3C3F3F3E3C3F3C3E3B3C3B3D3B3C3C3B3D3D3C3E3C3C3B3C3D3C3C3C3C3C3E3D3F3E3F +3F3E3F41413F3F3F3F413F3E3F3E3F3D3E3F3E3C3E3E3C3D3C3C3B3A3A3838373B36363636 +3636353435363535343333303534313131313330303331332F3131302F2F3030302F2F2E2E +2F302E2F302F2E2E2E2D2B2B2D2D2B2B2D2E2D2D2D2E3036A8 +F2F4F3EDCC3E3533302E2E2F2F2E2F312F2F2E30312F2E2F333030333333332F3333343434 +3534363837373535353536363434363836343435333333343537363636383B3C3A3A38383C +3C3C3D3E3F3E3E3E3E3F3E3F3E3E3C3F3D3E3E3D3D3F3D3C3D3D3D3F3D3D3F3E3C3E3F3F3F +3E3C3F42413F42413F413F3E3E3F3F3F3F3F413F3E3C3C3C3E3B3A3A38373A3B3B3A383738 +3735363534353434333334333434313134333334333435342F313131302E2F2F2F2E2F2E2F +2F302F302F2E2F2D2D2E2E2D2D2B2B2D2E2D2B2D2E2E3035A9 +F2F2F2EFD13F343333302E2E2E2F2F2F2F302F2F31302E3131303133343434333535363536 +36353636353436363536363736373637363533353333333334353735383A3B3B383B3B3C3C +3C3D3F3E3C3C3F3F3F3E3F3D3C3C3D3E3E3E3E3E3E3F3E3F3D3F3F3E3F4C51443A383B3C3F +413F3F44423F433F434341413F3F4141413F423F3F3F3E3D3E3B3B3B3B383A3B3C3B3A3B3A +37353636333533343334343434333331333331333431333133312E2F312E2E30302E2F2E2F +2F2E2F2F2F2E2F2D2E2D2F2E2E2E2D2E2D2D2B2E2E2D3036A1 +F2F1F3EDCE413A353333302F2F2E3131302F2F3030312F3031313131333333343534343437 +363636373837373A373737373437373636363634333335343638353A3D3B3B3C3C3C3C3D3C +3C3E3D3D3E3D3E3E3F3F3F3F3F3F3F3F41413F3F3E42454947413D3C3B3D3E343E413C3F48 +49434243444A434241434A443F3F413F424142413F3E3F3E3C3C3D3B3B3A3A3C3B3A3B3B36 +36373B383535343536363535343436333433343434333433343130302F2E30302F2F302E30 +2F2F2E2F2E2F2E2E2E2E2F2D2E2E2D2D2D2D2E2E2E2F3135A2 +F1F2F3EFCB423A373E3B3330302F313031312F303130313031313333353434363535373534 +363A38383538383635363737363738383636363635353537383B373B3C3B3B3C3E3C3E3F3B +3B3A3C3C3F3E3F3E3E3F3F3F41414143413F3F3E4B4F5A605A493F3D383633383A423D3D43 +4C555A4E51574341414342443F3E3F3E3F4341423F3F3F3F3D3B3D3B3E3C3C3C3B3B3B3C3B +3B3B3B3A383835353635353535353435343534343434343533313331303130302F33303031 +302E2F2E2E2D2E2E2F2F2F2F2D2F2D2F2F2F302F30333136A8 +F3F2F3EFCF44383737333431313131313130313130302F3033343431343434343637373736 +36363A3B383B3A3838373738363737383A3A3A3B37343638383A3A3B3F3D3E3C3E3E3F3E3C +3D3D3D3C3F3F3F413F414142434242413F3B33333B43514C3F3B363B3A362D31363B3C3535 +2E343B36584C3C313C4C514242413C3F3D4242434241413F3F3D3D3D3F3C3C3C3F3C3B3A3C +3B3B3B3A3A3A36373636383736363536343535343535353435333533313431313031313030 +2E2E312F2F2F2E2F313030302F312F2E2F2E2F3031313136A8 +F3F2F3EFD2473A3B363534313333313334313331312F303134313533313435363635373838 +3A383A3A3738373B383738383A36383836373B383B3737383A3C3D3D3E3C3E3F3E3F3E3E3C +3E3D3C3C3F3E3F413F414243444244413D3E332E353E3D383434352F2F312B2A333333292B +221F201F2F474127242E36333144383F3F3C423F3F434342413F3F3E3F3F3D3D3E3D3C3B3A +3B3D3D3A3B3B3B383737363838383635383434353433353534353333333133333335343331 +31303130303331313331333031312F2F2E2F2F3033313136A5 +F3F3F2EFD6493B3C3A373434333333333333313331302F3334343534353436353636373638 +37373A383A36373A373A3B3B3A3A3A383A3B373B3B3C3B3D3B3D3E3C3D3F3F3F3F3F3E3E3D +3C3E3F3D3F3E41423F3F45413E42413747514431344130292F2D2D292D2D2B2B302623241C +1918191921292B2B231D1C1D202320212E31333E41414241413F3F3F3F3F3F3D3D3D3C3B3B +3C3E3D3A3C3C3B3A3B3B3B3A3A383837383634353335343434343535333431333433333333 +3431333333343334333435333331312F2F2F2F2F2F2F33379C +F3F2F2F0D5473D3A3C3835373433343536343334313033343534343435353636373B383B3A +3A3A3A383B3C3B3A373B3B3A383C3B3B383B3B3E3A3B3B3C3E3E3E3F3E3D3F3F3D3F3F3D3E +3D3E3F3E3F3F4144444A5A4F475037333136271D1A1612131A1F232B2D2E2B2422231C191D +1D18181B221F28291D1A1C1C2322201B1B23232E4543413F3F41413F3F4141423F3D413E3E +3D3E3E3D3B3E3C3C3B3E3E3B3A3B3B38373A37363535343331333534313334353534353335 +34313133353433333433343333313031312F2F30302F3138A0 +F2F2F2F0D1473D3D3C3A37363534353534333334343434313334353435343637363A373B3B +3A3B3C3A383B3A3B3B3C3C3C3C3C3B3B3B3B3A3B3C3B3E3D3C3F3E3F3F3F3F3F3F3F3E3E3F +3E3F3F3F3F3F3C3F3E43574C434138311F120F0E0F13151314151A1C1F231C1D1814120F12 +181F1B1819161C221F161416161A141B202122202A3C3B4241413F3F3F413F3F3E3E3D4141 +3E3F3D3B3B3B3D3E3D3E3D3C3C3B3B3A373636353535343434353535343435353534363634 +343434343534313434333434333433333330303130333136A3 +F2F1F2F0D24A3D3D3A373635343536353334343634333433343535353535373A373A3C3C3B +3A3A3C3B3B3B3C3D3C3C3D3D3B3C3C3E3C3C3B3C3B3F3E3E3E3F3E3F3F3F413F413F3F4245 +4141424948423F3A352D2B281D222215100F0D0D0D1212100F0F0E0F10101216161A1B1D2A +2E26180E0E121619191518130F10100F13191C1D1B1B2430383E3E414142423D3F3F3F3F3F +3F3C3D3C3C3B3D3E3D3C3B3C3C3F3B3B373835363735343534353536343536363636363734 +353535373633343534353535333534313331303133333336A5 +F3F3F3F1D4493E3C3B3A3735363535343436343333343136343736373A373A37383A3B3B3B +3B3C3D3B3C3C3B3D3D3D3D3E3E3C3D3D3D3C3D3D3C3E3D3E3F3F3F3F3F4142413F413F4351 +4F4E4A484742482D211D1D2214101316100F0F0F0F12100F0D0C0C0B0E12120E0E0F101521 +2B291F140D0D0C0F181916151310120F0D12161316161A222930363B373F413E413F3F3F3F +3E3D3F3D3D3E3D3E3F3D3D3C3C3C3C3B383A3A383736373736363536373436383A38373736 +37363635353534353535363534343334353133303334333AA6 +F2F3F3F0D54B413C3A3835373634363535363434353437353636363638383836383B3B3C3B +3D3D3D3D3C3D3C3D3D3C3C3C3D3D3C3C3C3E3D3E3F3F3F3D3E423F423F4343423F3F3F3F3F +3F43433A362A1D161C201D14131010181619140E0D0C0B0B0908090B0B0D0C0C0C0F0F0E0F +121215120E0C0C0C0E151D1F16101010100D1316101415161C20202B2E313C413F423F3F3F +3F41413F3D3F3F3F3E3F3E3D3D3C3D3E3C3A3A38373A383A383A3836363638383A3736383B +373A37353635363A3535363635363434343333333330343AA3 +F3F4F4F0D64C3F3C3A3B373837343535373634363737373737383B383B383A3B3A3C3D3B3A +3E3E3D3E3E3F3F3F3E3E3D3E3E3F3E3C3E3E3E3F3F3D3E3E3F423F424243424242423F413F +3E3A312A211B1518141310100F0E0D100E0C0D0E0E0B0B090808080909090B0B0C0C0C0C0B +0B0B0D0E0E0F100F0F0F0E0F13130F0D0E0F0F100F0F1C1B1F2118161F1C2E433E3F424243 +41413F423F41413F3F3F3E3E3D3F3F3F3D3B3B3C3B3A373B373A3A3738383837383537353A +36373736353636373737383634353635343433333433333B9F +F2F3F3F1D64B3E3D3B38373635373736373737383A373738383B3C3B3B383B3B3B3E3E3C3E +3E3E3D3E3E3F3F3E3F3F3E3D3F3E3F3E3F3F3F3F3F3E3E3F3F423F43434343434242423F3C +34312B231C1C15120D0E0C0C0B0B0B0C0C0B0B0B0C0B0B09090B0C0D0B0C0F0F16130F0D0F +0E0C0E0C0C0C0D101516130E100F13120F1019100E0C141819191A15161518283336414141 +424141413F3F3F3E3C3F413F3F3F3F3F3F3E3B3C3B3B3B3B3A3B3A37373A3837373438383B +38383736373A363737373A3635353636353434353435353AA0 +F2F3F4F0D64B3E3E3B3B373437363737373736373A3638363B3B3A3B3B3C3C3E3C3F3C3F3F +3E3F3F3E3F3F3E3E3F3F3F3F3F3F3F3F3F413E413F3F3F3F3E3F4143424343434242433E36 +37301B141214100D0D0C0B0B0B0B0B0B0C0B090B0B0B0F10120F10100D0E121A1C1C1B1D20 +221F140E0D0F0C0D0C0D13120F0F0E1015161D20120D0D1214121513131410141F2D3E3F42 +41413F3F3F4142413E3E41413F3F3F3E3F3D3D3B3B3B3C3C3B3B3B3B3A3A3B373838383A3C +3B3B37373A3D36353737373838363535353534353534373DA5 +F3F2F3F0D74C3E3D3C3B37373838383636383A363A383B3B3B3A3B3D3D3F3F3D3F3F3F3F3E +3E3F3F3D3F413F3E3F3F414141413F3F3F423F3E3F3F3F3E4141414243444442434343413A +2D1D10121418120D13100B0B0B0B0D0D0C0E0C0E1213121213121513101620191A1B1C2A2D +2316100F0D0C0B0C0C0C0C0D0D0D0C0B0C0F191F181012101512141913141313181C273137 +3A413F4144434342414142454341423F3F3E3E3C3E3B3C3D3C3C3B3B3B3B3B3B383A37383B +3C3B3A3A3A38383A3838383838373534363638353737383DA2 +EBF1F4F0D74B3E3D3E3A3837383A3B36373737373A3A3C3B3B3C3C3D3D3E3E3F3E3F3F3F3F +3F3F3F3F41413F3F3F423F42423E413F3F3F3F3E3F4142413F4141424448444343433F382D +19121313131A100D0C0C0B0C0C131D190D0D0C0C0D0F120F13100F0E1314181A181B211C1A +18201B130F10120E0C0C0B0B0C0B0C0B0C0F1414161415120F131214211412101314101C27 +303B3F4244424345454243444342413F3F3D3F3F3F3E3E3E3E3C3E3C3A3B3A3A3A3B3B3B3B +3C3E3D3B3B383B3737383A3A3635363A383738363635383C9F +ECF3F3F1D94E3F3E3C3C383A3A3D3C38383837383738383C3C3B3D3C3B3D3D3F3F3F3F3D3F +3F3D3F41413F3F413F433F4341413F3F3F413F3F414142414341434142434344423D362916 +1015121014100D0C0B0C0D0E12120E0E0B0B0B0B0B090B0B0C0D0E0F10161D282018130F0F +1015161A1B26231A0F0F0C0B0B0B0B0B0B0F1210130F12130F1212131C1F191515120E0D18 +2928383D3F44434244454345434344413E3F413F3F3F3F3E3F3E3E3F3B3C3B3A37383D3C3B +3C3B3B3B3C3A3B373A3A383B3636383737383A3B383B3B3EA1 +F3F4F4F1D950413D3D3B3A3B383C3C3B37373B3B3A3A3C3C3D3C3D3D3D3F413F413F3F3F3F +3F3E3F41413F3F3F413F3F3F3E4142423F3F41413F423F43434443424241423F3D3D26100F +151512181A0D10151C1D14100D0C0C0C0D0E0B0B09080B0B0B0B0C0C0D0C0E101313130F0E +0E10121516201B1B13100E0D0C0C0B0C0E0E0E0D0D100E16151416101312100F190F0E0C0E +162120313D42424341434748454444433F3F41423F3E3C3F3E3D3E3D3B3E3C3A3A3B3D3E3C +3B3D3E3C3B3B3B3A3C3B3B3A383A3837363737383A373A3EA1 +F3F3F3F1D95042413D3B3B3B3A3B3B3A3A383B383A3C3C3C3C3C3D3B3C3F3F3F3F3E3D3F3F +3F3E3E4142423F42413F41413F3F414141424141423F3F423F434243434242424234120F1A +271915140D141420140D0B0C0B0B0B0B0B0B0B0C0C0B0B0E0D0C0C0D0C0D10100E13191513 +1014141A1B1B1F241B0F0D0C0B0B0B0B0C0E0C0C0D0D0E0E0F1314120E15160D0C0D0C0B0B +1313121F36414242424444444443434342414141414141413F3F3F3F3F3F3E3D3C3B3E3C3E +3C3C3C3C3C3D3D3C3D3D3C3C3C3A373738373737353A3A3FA5 +F3F3F3F0D95244413D3A3C3B3C3C3C3B3B3B3B3C3C3C3E3F3E3C3C3E3E3F43423F3E3D3D3F +3F3F413F413F4241444343424141424141424341423F41434345434544413F3C281310131D +26100B0B0B0B0C09090B0B0B09090B0B0B0B0B090909090B0B0C0D0E0D131518191B1A1914 +0F0D0C0F1014141513151314120D0C090B0C0C0C0D0E0C0D100F0F100F0F1B0E0B0B0B0B0F +100D1010233D43434343444445444444424143414242433F413F3F3F413F3E3D3F3D3E3C3D +3D3C3D3D3C3E3D3D3B3C3C3C3B3B383A3A383B3A383A3A3F9F +F4F4F2F0DB5245433F3C3E3C3C3C3D3F3D3C3B3C3C3D3E3F3E3E3C3F3F3F3F42413D3F413F +3C3F3F4241414241424342434241424243414141434443434344454544433B2B1314100D0C +0C0B0B0B0C0B0B080B0B0B0B0B0B0D0C0B0B0B0B0B0B0908080908090B0B0D0E1212141410 +0E0D0C0C0B0C0E1214141316150F0F0C0B1012100F0C0F0F1012120F100F0B0C0B0C0B0B0D +120E0E0D132E3D4142424547434344434341444344434141423F3F4241413F3F3F3D3C3C3E +413C3C3D3D3F3C3C3C3C3C3C3B383A3B3B3B3B3B3A3B3B3D9D +F3F3F2F0DB514544413F3F3E3C3D3E3F3C3C3C3D3C3F3E3F3E3F3F3F3F3F3F4141423E3E3E +3E4141413F4244414443434343434445454343444445434445454544443D3520100E0D0B09 +0B0C0B0F16120F0C0C0C0C0F0F0F141210100D0D0D0D0C0D0F0C0B09090B0C0E0F0F181614 +0F0E0D0C0B0C0D0D1B2015101212120F0C0B0D14150F0F1B120D12160D0C0D0C0B0B0B0B09 +0D0D0D0E0C162D3F4447474845474747454847484848444244423F3F42423F3F3F3F3F3F3F +3F3E3C3C3D3D3C3D3E3C3B3C3C3A3B3C3C3B3B3A3B3C3C3F9D +F4F3F3EFD952454241413E3F3D3D3D3C3F3E3F3D3D41413F3F41423F424142433F3F3F3F41 +3F3F41423F43424343434444444447484543434444474848494743433C2A1C0F0C0B0C0909 +0B0B0C0E1012131810100F0F0D0D0D0D0F0D0B0B0C0C0C0C0C0D0D0C0B0B0B0B0B0B0E1212 +12120E0D0B0B0D0E101318120D0D0E0D0C0B090C0D131816100F1219120E0E100F0B0B0B0B +0B0B0C0C0B0C163B4241454747494549454544454849474848444342424342443F3F3F3F41 +413F3D3E3D3F3E3C3C383B3D3B3B3B3C3B3B3A3A3B3B3A41A2 +F4F3F2EFD852454342413E3F3F3E3E3D3F3E3E3D3F3F3F3E3F3F3F414342434241423F3F3F +3F414243434343434444434347454747474544484848484844454541311B0E0D0B08080908 +0C0B0C130F120D0D0C100F10100F0D0D0E100B0B0B0B0B0B0B0E10100F0C0F0E0C0B0C0E10 +10100F0D0B0909090B0C0C0E0F0E0D0D100D0B090B0C10161610101019100F100F0C0B0B0B +0B0B0C0C0B0C0D21373E44484848444745434545474445444848474544434342423F423F3F +3F3F3D3E3F3F3F3F3D3B3F3B3C383B3C3B3B3A3A383B3D42A3 +F3F4F3F1DC55454443413F3F3F3F3D3E3E3E3D3E3F3F41413F424342424342413F4342423F +413F4142424243434545454445454A484948484948494A494747433B26120D0B0B090C0C09 +0C0C0B0E0D0D0C0C0B0B0C0E0E0E0D0F13101213100D0C0E0F0C0C0F1313100E0C0B0C0D0E +0D0D0C0D0E0C0C0E0F0C0B0B0B0C0C0D121B190F0D0B0B0E14120F0C1823120F0D0B090B09 +0B0B0B0B0B0B0B0D233B41474949494749484847444448484443474843434444424341423F +3F3F413F3F3F3F3F3E3E3D3D3B3B3C3D3B3B3B3B3B3B3C42A5 +F6F6F4F2DC57454345413F413F413F3F3F3F3E413F3F3E4141424342434442423F41413F41 +43434243434444444448454848484948494A4A4B4A4A4A4848433B26140D0B090B0B0C1B18 +0C0D0C0D0C0C0D0B0B0B0B0B0B0E0D10181A1A15120E0C0B0D0E0D0C0F12100E0B0C0C0C0F +0D10100D0F0C0D0D10100D0D0C0C0B0D0C121815120D090B0D10100C0F1C1B0E0E0C090908 +0C0B0C0C0B0B0C0B0F1F3541484949494A4948484543484544454749484343444343444341 +42413E3F413F3F3D3F3F413F3C3C3D3D3C3C3B3B3C3A3C42A3 +F3F4F3EFDE584547444142433F42423E413F3F3F3F3E3E4241413F434343434241413F4243 +434244444544444449494949494B4B4A4B4A4B4A49484945483B20140E0B0B090C100D181D +100E0B0B0B08080808090B0B0B0B0B0B0D0D0F101513100C0B0B090B0B0D15160F0D0C0B0C +0D100E0B0D0D0D0E0D0E101418120D0D0C0D0F150F0D0B090B0D0F0E13130F0C0C0C0C0908 +090B090B0B0B0C0B0C101F36414449494949494B4948474544444345484744474543433F42 +4142414247433F3E3E3F3E3E3E3D3F3D3C3C3C3C3C3B3E42A3 +F4F4F3F1DE564844444442434443444442413F423F3F3F4241414142434241444343424444 +44454344474544474849484A4A484B48494A4A524E504A443F2B15120C090B0C0D0C090C0D +0B0909090B090808090B0B0B0C090B0C0D0D0C0C0D0D0D0D0D0D0B0B0B0B0E1318100C090B +0D100E0B0C0B0B0B0C0C0D101616100E0C0B0B0D0F0F0D0B0B090D0C0E0F0D100C090B0908 +0809080B0B0809090B0E161D3041444B494A4B494949474747434445484944444447444343 +424141434742413F3F3F413D3E3F3E3D3E3E3E3C3D3F3E43A1 +F4F4F6F1DD57484547434343434444434343423F3F41414342434343434143484342424343 +44454343494949494B49494B4B4A4A4B4E4B4B4E484544412E140D0C0B0B0B0B0908090808 +08080808080B0B0B0C0D0B0C0C0C0C0C0D0E0F0D0C0B0B0C10100F0C0D0C0C0D0E0D0C0B0B +0B0D0D0C0B0B0B0C0B0B0E0D0E12120F0D0B090B0E100C090B0B0C0C0D151514120B090808 +0908080708090808090C0E181C313F44484A4A4A4947484748484948484949474948474344 +4143434344413F423F3F3F3E3E3F3F3F3E3F3E3E3E3F3F43A2 +F4F3F4F2DD5847454344434243444342414141414341414342434344434342434443444443 +43444447494A4A4C4B4E494A4A4B4F4B4E4E4E4C4A49473A160D0C0C0B0908080D0C0B0908 +0807070708090B0C0C0B0C0D0D0D0D0B0C0D0F0C0E0C0B0B0D100E0D0D0E0F0E0D0C0C0B0C +0B0B0D0C0C0B0B0B0E0F1012100F0E0E0C0B0B0B090E100B090B0B0C0B0F181B0F0B0B0808 +080808080809080808080C0F151A353D45494C4C4A474848484949484A4A49494748454445 +4445434444424141413F413F3F3F3F3F3F3F3F3D3D3F41459F +F3F3F4F1DD5348454344434348484443424342434242424343444747474444434547494745 +4447474A4A4A4A4A4E4A4B4A4A4A4C4E4F4E4B4C4B493E200D0C0D0B0908080B0F0C0B0809 +080707070808090B0B0B0B0B0B0B0B09090B0B0E0F0D0D0C0D0E0D0C0B0B0E100E0B0B0B0B +0B0B0B0C0C0C0B0B0C0E1215130F0F0E0B08080908090C0C09080B080B0B0C0F0E0B0B0B08 +08070808090808080808090D1214283645494E4B49494848474A4A494A4949494747484744 +45454444494443434343433F41423F423F413F3F3F3F4147A5 +F4F3F4F1DC5248484844434444444443434342434345444447454548484945444447474543 +4548484A494C4B4A4C4A4C4E4A4B4E4F4F4F4A4C4B3D27100D0D0C090908090D0B0D0D0909 +0B080807070809090B0B090B0B0B090C0C0E0F0E1012120D0D0E0E0C0B0D0D14120D0B0B0B +0D0B0B0B0B0C0B0B0B0B0B0C0E10100F0F0B09080808080909090808090B0C0C0C0C0B0908 +0807080808080809080808090D1223334E4A4B4A494A494949484A4B494B484A4849484748 +474745444547424344424344424241434141424141414248A8 +F3F4F4F1DD5A4A494944434344444444434343444344444345474749454847454745484748 +494B4A4A4C4B4E4B4E4B4C4F4C4E4F4F4F4F4B4B4538270E0D0B090E0B080D0D0C0F0C0C0B +09080807080707080B0B0B0B0B09080B0C0D0C0B0B0E0F0F0D0C0C0C0C0D0E100F0C0C0B0B +0B0B0B0C0C0D0C0B0B0B0B0E151915120F0F0D09070808080808080707090B0C0B0B090908 +08070707080707080808080B0B0F28384443474A494B4B4949494B4B4B494A4B4949494845 +494A49474843434445434443424142434242433F42414247A5 +F3F4F3F2DE5A49474A444343444547444443444344474444484748494849484A4A49484A4B +494C4A4B4E4C4C4A4E4E4F4E4F4E4F4F4F4F4B4E4735150E0B090D0C090B0C0E0F0F0D0B0C +080807070707070709090B0B0B0B0C0B0C0B0B0B0C0D0D10100D0B0B0B0E1212120F0D0B0B +0B0B0B0E0E0F0E0C0C0C0B0C100F1012120C0B0C0B0907070708080708080909090C090808 +0807070708080808080908090B0C153B4A3D474E4A4B494B474B4B4A4A4C4C4B4A494B4A49 +484845454545474845444444444342434343424243414348A1 +F3F4F4F1DE5A4A4945454344444548474443424444454545454849494949494E4B494C4E4E +4C4F4C4E4F4F4F4B4E4E504E4F4F4F504F4E4B4A3F260E0F0C0C0D0F090D0F0E0C08080809 +080707070707070708090909090B0B0B0B0B0C0F0C0C0B0B0F1212100E0F0D100F0E0C0B0C +0D0D0D1010121410100D0C0B0D10101010120E0B090B080807070808080708080809080707 +080708070808070708080808090B0D233C42504A4B4C4E4A4A4C4B4A4B494A494A494B494A +4A4849484547434847454847484443434343434141414247A0 +F3F4F4F1DE594A4947444545434544444545444344454848484A4A4A4948494A4A4C4C4E4C +4F4F4F4F4F51504F504E4F4E4F5051504F4F484535160D0D0D0F0B0D0D09080B0807070808 +070708070707070709090908090908080808090B0B0B0C0D0D1215100D0D0C0C0C0D0C0B09 +0B0B0B0C0C0E101215130C0B0B0B0C0E0F0F0D0C0908080808080807080707080808070708 +07080707070808080808080809090C12234845484B4C4B4B4B4A4A4B4A4B4B4A4B4A4B494A +4A4949474848474549484948494744434445434141424445A2 +F3F4F4F1DD584A454B45454444474544444544444444444A4A494C4A4A4B4B4B4A4B4E4F50 +504F4E5151515151525050514F50504F4F4C45411F0F12142415120D0E0B08080707070707 +07070706070707070708090808080807080909090B0B0E0E0F120F0D0C0C0B0C0C0E0C0B08 +090B0B0B0B0D121518160E0C0D0C0B0B090C0B0B0909080909090807070707070808080707 +08070708070707080807080908080B0B13273E4A4B4B494B4C4C4B4E4A4E4C4B4A4B4C494A +4A484A484847484948484A494948474443434447424347499F +F3F4F3F1DE5C4B49494945454945444545454948454748494A4B4B4C4E4C4C4F4C4C4F4F51 +4F504F5252525252515253515251514E4C4A3E200F0E1A142F2D130C090908080B08080707 +08070707080708090B0B0B0B090B09080808080B0B0D0E0E101415120B0B09090B0D0C0C0C +0B0C0B0B0B0C0F0E100F0F0F0C0B0B09090B0C0B0809080907080708070708070708080707 +0708070707080707070708080708090B0C1B4C564A4B4C4C4B4B4E4A4F4C4A4E4C4C4B4B4B +4B4B4A4949484949494849484849474545474843434344489D +F2F2F4F0DF59494A494A4748484948494848444847474A4B4A494C4E4C4E4E4E4E4E505251 +525552535355535552535151515253524E42281A0E0C152412181B0F0C1209080807070707 +080908070707080B0B0B0B0B0C0B0C0B0B090B0B080B0D0C0D100E0D0B0B0B090B0B0E0D0B +0B0B0B0B0B0B0B0C0F12161A1A16120C0B09080808080909090B0B09080807080807080707 +07070707080707070708080808080B0B0B0F295152494B4B4F4F4F4C4F4C4A4B4C4B4B4C4C +4C4B4A4949484A494A4A49484A494847484847474444444BA5 +F3F2F4F1DF5C4B4A474748484A4B4A494A4B4948484A4A4A4A4B4C4F4E4F4E4F4E4B4C5251 +535353555655535655515252505052514537190F0C0D0B0D14100D0B0C0D0C080B0B0B0B08 +080808070707080808080909090B0C0C0B0D0D0E0B0C0B0B0C0E0E0E0E100D0C0B0B0C0C0B +0C0C0B09090B0B0C10131B1F1B16130F0B0B08080808080908080B08080808070808070808 +080808080708070708080807090809090B0D183B4B534E4F4F50504E504F4E4E4C4B4B4E4E +4E4E4B4E4C4A494A4A494849494949484948484A4747484BA3 +F4F4F3EDE260494B49494A4949494B4A4B4B4A4A4A494A4B4B4E4C4F4F504F4F4E4E505151 +535353565757555555535253505253493D3C230E19151B1219140C0B090D0E090808080708 +08080707070707080709080808090B0B0B0B0C0D0E0E0D0B0D0B0B0C0C0F0F100D0C0B0B0D +0E0C0B0B0909090B0C0E13161815120F0C0B08090808080809080808090808080708070707 +070707070808080707080808080809090C10102A4751514B4E50524F50504F4F4E4F4F4C4E +4E504E4C4F4E4B4A4A494949494A48484949484847484B4BA1 +F2F4F6EADD5F4E4C4A4B4C4B4A4A4A4A4B4F4E4B4C4B4E4F4C4F4F504F504F504F4F505351 +5255565555565555565252525250504E3E1B16132E18130E14100C0B09080B090707070707 +070807070707070808080B08090B090B0B0C0D10100E0E0F0F10120F0C0D0C0F0F100D0B0C +0F0E0C0E0B0B0B0B0C0D0F1014141210100E0C0B0809080808080808080808080808080807 +080708070707070708080809080808090B100F1F3B4A5252515653535252515050504F4C50 +50504F50524F4E4C4A484948494A49474849474849484B51A3 +F3F4F6F2E05D4F4E4C4E4B4C4C4B4B4E4E4B4E4F4F4F4C4F4F505050504F5352504F515355 +5657585757565353555555515250514726130E0D16161A1510180E0C0B0808080707070707 +080708070707080B090B0809090909090B0D1010100F100E10101013100F0C0C0B0E0D0C0B +0C0D0B0B0909090B0B0C0E0F14141413100D0B0B0808080808090807080707100908080807 +08070707070707080707080809080808090B0E163745505150535353535352504F51505052 +51505052514E4F4C4C4A4B4A4A49494849494947484A4B4FA2 +F2F4F6F2E36550504F504C4F4E4F4E4B4E4E4C4E4C514F505151504F525352525053565756 +5755575556585755555557565653564C23100F0B0B0C181C22312E1B100B09080707070707 +0807070707080B090D0F0C0B0B0B0B08090B0B0C0C0D10100F0D0B0B0D0F0C0B0B0C0B0B0B +0B0B0B0C0B090B090B0B0E0F0F0F0E0E0D0D0B0B0808070808080808080708090808080808 +08080807070707080808090808080908090B0E1B3B484F5353535253555551504F4F525352 +53534F52504F4E4E4E4C504E4C4C494849494A4A494C4C4FA0 +F3F6F6F2E365524F51504F504F4F4E4B4F504E4E4F4C4F5352535152515153535555555756 +5758565856575755555758595F585952150D0C09090B0C0F161F1C1C0F0908070707070807 +07080808090808090B0D0B0B0B0B0B0908090B0D101415120F130F0C0C0D0B0B0B0C0B0909 +090B0B0B0B0B0B0B0B0B0C0D0D0F0F10100E0C0C0B0B080808070807080708080707080807 +07070807080707080708080808080808090B0E2D5C625358585650505152504F5051525251 +535352515250504F4F4B4B4F4B4B49474A484A494A4A4A4EA1 +F6F4F4F1E265525250514F5050504F4F525050524F51515351535551505355555555575759 +58575859585555575658585A74584C2A100C0909080C09090C0F0E0B0B0808070707070707 +0707080807080808080B0B0B0C09080B0B0B0B0B0C0D0F101010100C0C0D0C0B0B0B080909 +090C0B0B0B0B0B0B09090B0E0F0F131415100D0C0B09070807080808080807070707070707 +0808080B070707080808080808090808090B0C275367715A57585655565552535150515050 +5253515252535250504F4E4E4C4A4B4A4E4A4A49494A4A4FA6 +F4F4F4F2E36652535250525151505250535052525251535353535352555255555356555758 +58585858595757565758595A5C5838181A12120B0E0C0C0C0B0C0B08080807070707070707 +0707070708070708080B0B090B07080B0C0D0D0B0C0C0C0C0C0C0E0F10100D0C0B0B0B090B +0B0B0B0B0B0B0B0B0B0B0B0B0B0C0F1815120F0E0D0E0B0909080708080707070808070707 +08080808080808070807080808080809090B0C18414B585F595F5F5E585552525252535353 +4F4F50535250525152504F4F4F4F4E4E4E4B4F4A494A4A50A3 +F2F1F6F1E36A57555353535250525253515252535350525353535553575253565657555657 +58585757565758575959585955532212182A120D0C09080B09080908080706070707070707 +080B080707070708080908090908080B0B0B0C0C0D0E0E0C0C0C0C0C0D0C0B0B0C0C0C0C0B +0C0B0809080B0C0D0C0B0B0B0B0B0C0E0F1212100F0F0D0B0B090808090808070708080808 +08090B0B0B0908080808080808080708080910213C4C605F5D585556575655525555555556 +5652515356525251524F504E4E4F4E4E4E4E4F4C4A4A4B50A0 +F3EBEFEDE26956575655535152525253535252525253535353535756585555555855565655 +5657585A58585A595A5A57574C3D190E0E0F1312130B0B0908080807080807070707070707 +070908070707070808080809080708090B090B0C0B0C0E0D0F0E0E0F0E0E0D0D0D0D0C0B0B +0B090B0B090B0B0B0B0B0C0C0B0B0B0C0E10100E0C0B0B0B080B0B080808080708090B0809 +0B0B0C0C0D0C0B090809080808080808080B182D4A60605152505051525555535556555353 +5555555757555155525152504F4E4F4F504E4F4F4C4F5052A3 +F1F3F3F0E36C5C585655535353525351525153525253535555565658575556575857575855 +575658595A58595A5C595758603316140F0F151F120B0B0908080707080707080807070707 +0707070707070707080807080B08090909090B0F0F0F0F100F0F0E0E100C0D0C0C0F0F0F0C +0B0B0B0B0B090B0B0B090B0B0B0B0C0F101210120D0C0C0908080808080808090C0D0C0D15 +1A141210100D0C0B0B0B080708080808080B142B4E5A665D53535353565656555756565356 +5556555355535557535353514F4F4F514F4F504F4F4E4F52A5 +F2F2F4F1E46D5C585753555353535553525653555357565658585655585656575858565857 +5858585A595C5A595A59554E3E19101A0C0B0F19100B090908080707070707070707070706 +070606060707070707080808080708080B0B0C0D0E0E0D0E0F100E0F100F0E0D0D0D0D0C0C +0C0C0C0C0D0C0C0C0B0B0B0B0B0B0B0B0B0C0C0F10100E0B0B08080808080B0C1215191C28 +23201B1A150F0F100E0C0B0809080808090B0D203A48506658535553565858565657535858 +525353555657555652505250504F505051504F4E4C4F4F55A3 +F3F4F4F2E46D5A585757555753535356565353565858575859585957575758585858575958 +59595959595C595A5C5C56492F27100D0B0B09100C09080808080708070708070707070707 +070707070708070707080807080808080B0C0B0B0B0B0F10101010101513100E0E0F0F0D0C +0C0D0C0D0E0D0D0D0C0C0C0C10100F0E0D0C0C0C0C0C0B0C0B0B09080B0D0E101C2A262D2F +2B2420181613181B180F0C0B0B08080808090B152D31445A6E575355565A57555555575658 +575656535257595753525551504F504F504F525150504F52A5 +F4F4F6F2E56E5C59585753535355565556555356575856585A5A5858595657595759585C59 +5A5C5A5A5959585A5A58514F313118140B090809080B080807080808080707070707070707 +07070707070707070808070707080808090B0C0D121514161818130F12100E0D0E0D0D0B0C +0B0C0C0D0D0F0E0C0C0D1218181414141512100F0D0C0C0B0B0B0B0C0F131B222B31313E3E +332D27201C28232018140F0D0C0B090808090B0D23333C536C5D5557565856565553555655 +5656575657575756555252504F4E5250514F51504F505053A0 +F4F4F4F0E56E5C59575557535653565655535557565958585A5A595658575858585C5A5D5A +5A595C5A585C5C59584C4A584B34130D090808090708080707070807070707070707070807 +07070707080707070709080808080B0C0D0E1010181C232D30271D16120F0D0D0C0D0B0B0C +0B0B0C0E100F0E0F10181F2928232727221A1410121012100D0D0E121A202231373E363F41 +383B2F272B302B2A20201912100D0B0909090B0E19363F4E6A695755565857535655575655 +5756565858585755535351514E50515050504F50504F52559F +F3F4F3F1E56C5E5D595657555357555556565658585A58595A5958575858575958595A5D5A +5A5A5959595C5A595E55575941210D0B090908080708070708080707070707070707070707 +07080707080707070808090B0E0F0C0D100D0E14181A1C262F33221814100F0F0B0C0C0B0C +0C0C0D12100F0F14191D272D302929241D191A1F1D191C161510141B2B37303C3F3E42494A +473D3433373A353029271F16130F0C0B08090B0E1C213E45636B5957555156585653585855 +5757585858575655555353525151524F50535251525251539B +F4F3F3F1E56E5D5A58575658565555565755565858585A585A5A575658575858595C5C5A59 +5C5A5D5C5C5A5D5E5F5C523A26120E0B090808080707070708070808070707070707070707 +0707070707070808080B141D21211B12121513131A1F1D191B1D1C1C1D15121510120E0B0C +0B0D0E1014121419181D21201F1A20201D1C2627231F1D20221F1F2E3B3544534B514F5252 +4B3F3E3C37383434302E232019140F0C09090B0C10183A4850585255525157585858585856 +5759585C5A57585757535552505250505253525253535256A0 +F3F2F3F2E5705F5E595755555655565657585857565658585A595A585D5C595C595A595C5A +5A5C5D5D5D5F5D5D5C584F351B0E0C0B080808080808070808080708070707070707070707 +080807080808080B0E151D2A363E453E241D1815181D21212020201B1B1916161516121315 +0F0C0D0D0D0C0D0F13151A1B2021201C1F231F1B1A1A202324222A3A414B5A5A5658515553 +4B4445413B3B3A3436352722211916100C09090B10132444454B5658575257565759585859 +595C5A595A58595657565353535250535353535255555259A0 +F3F4F3F2E5725F6058565857585557565757565757585858585A595A5C595A5A5C5C5C5E5D +5A5D5E5E5F5E5E5D5D594F36160C0B09080808080808070808070807070708070807070807 +08080708090B0D15212E384755565959584E3C3327212221232323282B2927262226273028 +1D100D0E121518191B212326221F1B1A1D161514161F2428282F4244515752565A585D5755 +514C48433D3D3D3834362F2026221F190D0B090B100F27444945525C59565959585958585A +5C5C5D5A5C5A585757555555575652555553535555535256A5 +F4F3F2F2E673605E59585658595758595958585858595858595A595A595A5D5D5A5C5C5D5D +5C5C5C5F605F60605F584E2F140D0909080808080808080808080708070808070807080708 +080908080B0F192128384853595F626065665F5F59514A3D373B42454449494C51565E644F +3B2A16120F1216222A2A271C1813141314161A161B292D2D3547595F635E636363625E564F +514C47453C3D3C3836352A2028232120120B0B0B0F0E1D3F4A474A575556575A595959585D +5A5C5A5C5C5E5A5C59585757575656535353525253525157A0 +F4F2F3F2E5715F5D5C5958585957585A5C595958595758595C595A5A5A5C5C5E655E5C5D5C +5C5E5F5F6060625F5F5F5534100C0909080808080807070807080708080807080708080708 +0908080B0F15151B2B3F4B52576064656C696C6D6C7370726C656C645F6966635A514C4B48 +3E34271F140E0D0E0F0E0E12131213161B1C19212E2E2A333E56676B696C716D6967605D5C +564B47423C3C3D3634302A2924262120120C090B0D101831484B4B565556565A5A5A5C5C5D +5D5A5D5E5C5D5D5C585758595755555653535553535152589D +F3F4F3F2E6715E5E5C595958585858595A59595858575C5D59595C5A595C5E6274645D605D +5D5C62625F60625F5C5847210E0B0909080808080808080808080708070808080807080708 +0808090C0E0E1528384852515C5F62666C6D716E6E72747376707B777771666B6A6467656C +71706B56412E211514131415181A1A1C1A1F2B2E2924283B58646E6E6D736E6D7069636463 +5C5048473E3B3C383631332E2721231F120C0B0B0D1C1931475049505755575A595A595A59 +5A5C5C5D595C5A5A5A575858595755535553565552535256A2 +F3F4F4F1E574605D5A595859595958585A59565758595A595C585C5D5D5D5D6264645F6060 +5F5E606260605F5F58443022140C090908080808080808080808090808080808080808080C +0B080B0B0D132737424A51525A5E606769676C6C7271787876797B7A82858188888687888B +86847F78776A52433C3335362A27202028312F2A28354B5A6365717373746C6A6A66636362 +5F4E49413E3D3A3E373638362F232320120C0B0B10211D2F4B5148515958535A58595C5A59 +595D5C595959595859565755555552535253535150525357A3 +F2F4F4F2E6765F5E5D5A585858595A585A5A595858595C5A5D5A59595C5C5F60605F606360 +605F60606260606055514736130C0909080708080808070808080807080808080808080809 +09080B0C1524303D48504F575E6067696C6B6E6E6C71747476797B848587898B8C8C8B8D8C +89848685807A766B5A4C43433F3F36373B3D3B3F535F636263696E6A6B6C6E66676767635C +63584B3F423E373E3C383A3A3328261D120C0B0B0E20242F4E514B51595853595C5C5A5A59 +5A5C59585959595758525353525251515352525152525256A0 +F3F4F4F1E674625F5A5A59595A5A5859595A59585859585A5C5A5A595C5E6060605E5F6360 +605F6262606063605C5343210D090908080807080808070708080709080808080808080808 +090B0E16273841444B5152586267706B6C6A6D6E6B707277747D828585898D8E8F8E919492 +8C8888898B898C877D72644F454A555056595D6673726A72746D6A6D656B6A5D656467645F +625A4A413E3F3F42473635352F2B2721140D0B0B0D20282E4C525152585C58585C5D5C5A59 +5A595957575757585655525252524E4F5253535050525557A1 +F4F1F3F3EA76605F5C5A5A5A5A5C5D5C59595A5C59595C5E5D5C5D5D5E5E605F605F606262 +6362636464625F605C4F2F150C090908080808080808080908080808080808080808080809 +0B0F1627303A434B5056565D676C6A676A696D6C6B6E7678767D81818788898E8F93969895 +928F8B8C8E9295928C8B867B72636460636070737776777F7B7978787176736A676960625D +5C5D4E41383C413F3F3F3334302B2B21140E0B0B0D1B242F3F5153535A5D5A575D5C5E5C5C +595C5A56575757555753525151514F5052525253535253599F +F4F3F4F3E776605E5C59595D595A5A5C5959595A5C5C5D5D5D5D5E5C5D5E5F5F6363626063 +626363646464625E56383A190C0B0B0808080808080808080808080808080808080808080B +0D18232E34373F4A5655575D636C66666A69666B6D7172737B8086888D8C92929493959894 +94939292918C9392999895938F847F787B797E7D7B798087807A7A76747B79726E6E64665F +5C584C3F3C3B3F3D3A3E38302E2E2B2416120C0B0D1422233B525857585D5C595C5F5E5A5D +5C5A5A585957585756535655535253525253555552515359A3 +F4F2F3F1E674625E5A5A5A5C595A5D595A595C5C5D5D5F5F5E5D5E5F5F60606062605E635F +626364636664625C5659370F0B090908080808080708080808070808080808080808080B0C +131D2F383C3E3D4A5857535A5F646667666A676B707776777D8585888C929595999D9D999C +9C958F9498939B98A0A0A09B9C949187848285868580828881797B76797B7A7673706D6765 +65574C423E3B3B3C373F3B332829261A16100C0B0E12202237555758585C5C595C5F5D5C5C +5C5A5A565A58585758585957555352525253535652555256A0 +F4F4F4F1E6785F5D5A5E5D5C5C5A5D5D5A5C5D5F5E605F5F5E605F5F60605F606060606263 +626362636567645F5C5C340E0C0909080808080808080807080808080908080808080B0B0F +1824353C414343475058595A6263656A6C6D6E7772727A7A807F8B918F8E949DA0A19C9BA0 +9FA299999BA1A39F9FA3A6A7A39D95928E8C86898B898C8980817E7B7B7A79787672746E64 +6A5C4C47433F3537363A30362D26211B1B150D0C0E101C1B233F5058565A5D5D5E5F5D5C5D +5D5C595A5958595758565757555352535253555653575559A0 +F4F6F4F2E277605F5C5A5C5C5C5A5D5E5C5C5C5F5F625F5F5F626060606460636260636464 +65636366666764625950270E0C0909080908080808080808080808080808080908090B0C16 +202B3C3F41484B4449505C5F645E676A716D70737377787A81848C8E8C92969899999AA0A1 +A09F9CA09FA1A5A8A19DA2A8A5A1A09D9696948B8B8D8D8984858480817E79747876747366 +6258504F4B413B373A3537312E2E261F1519100E0D10191515314B56575D5E5D5D5F5D5C5E +5C5C5A5D5C5A5C585855585857535355555756575758595CA2 +F4F6F6F2E776625F5E5E5D5D5E5D5E5F5D5D5E5E5F605E5F62636262606062605F63656564 +65646467676967646451190E0C090908080809080808070808080808080809090B0B0C101B +29313C3F434948474A4C535A5D59676669676B645F657174777D7F8588898D8E91959A9C9A +9A9A9C9BA0A3A6ACA5A3A3A3A6A8A9A8A6A199949293968D8C8889858781807B7072777365 +655E554E45453C3A3B353A332D2E291D131413100C15151214294555565A5C5E5A5C5C5E5C +5A5E5D5A5E5D5E5A59585857555355565757585858595A5AA0 +F3F4F7F3E777625F5E5E5D5C5F5E5F5E5E5F6060625E5F60605F6263626360606366636565 +66666766666769676B74200E0C0B0908080808080909080908080808090808080B0C0E1A2B +3B3D3F43454C494B4F4C51565F5E5E5F5D5D56555D60625F60676E7377798084878E929299 +A09A98959BA2A5AFAEAEA9A8A7A8ADB1AEA7A19B96999D988B888B8C8D8986827B7774726D +6B58534E47433F3C38373B342F2B281D121215150E181A120F2A3C51535A5D5C5D5D5C5D5C +5C5D5A5C5F5E5D5D5A595A5957575657585858595A585C5FA1 +F3F3F1ECE97763625F5E5D5C5D606060605F5F5E5F5F605F6260636364635F606065656467 +65656667676765666B6930100C0909080808080908090909090808080809090B0B0D16233A +43433E4247494741484A4E535552504F4A48505555493E4247525657606B7270737B7F8685 +8E8C8C989CA0A5AFACAFAEB0AAACAFB1B3B6AEA39CA0A29C8B8B929693948B878B867E7D73 +6E5D534E49493E3C33373E363430291F131314160E1A22190E1F354C58565D5E5D5E5E5E5E +5E5E5C5E60605F5F605E5D5C585A58595857595A5C595A60A2 +F4F2F3EFE6786363605F5D5F5E606262625F5F605F62635F62626464636463606465656565 +6565676767676766696541120D0C0B090809080908080808090809090808090B0D141C2E3D +45484B44484848414244474448444442424543433C3D37362F33383C454A50525256555759 +636E7A888E9DA0A2A9ACAFB1ACACAEB1B1B6AFAAA6A9ACA68C8D999698959493938D87847D +73635E55504F42423A383E37332F292212131016101922180D152D4459595C5D5C5E5F5D5F +5F5E5F5E60636360605D5E5C5C5A595A5A585A5C5D5C5D60A6 +F6F6F4F2E97B66646360606262626362626263605F6062606464636563656364656A656969 +67696769696A6B6D6A5F36120E0B0B0B0808080908080808090808080908090B121A29363E +454A4848474549483F413E41454748454244423C363A2F2D2422221F202223222B31343B37 +3F525C77828D949CA2A6A8AAA8A2A6A8AFB3A8AAA8ACB5B0A2989F9B9A949999998F8B867B +796D635A524A43423F3E3C3833352B24140E0D15131818100D16273E575C5A5E5F5E5F605E +5F60606263636360625E5F5E5C5C5C5A5C5D5E5C5D5C5F5FA0 +F6F3F4F2E97D6665646362636260636262606262626262636463646564646667696A696C67 +696A6A6A6C6A6C6A645C411F100B0B0B09080808090808080908090808090B0D19272D373D +4348474448414445414141454B53595850493F3B36302A261F1B1A1619161916181C212727 +2A37414E6776848D919CA1A6A6A3A3AAAEAEA59B9AA6AFAD9D94959C9A938F9191898E8B7D +736E625F564E423E3D3F3D3C3B312E27130C0D121213160D0C132638555D575E605F5F5F5F +5F5F60636065656462605F5F5C5C595D5E5D5C5D5D5C5E5F9F +F6F6F4F2E980676566636364646464646463646464646364656565666769696A69676A6A67 +696B6A6A6D6B6C6A6A655537130E14130E0B0909080808080908080808090C13222D2B343D +3C434542443D433C424142445155575A5A564B44413E352D211A1815121315131614121418 +18212E354151627D8E949CA1A1A0A3A9A8A19F9696A2A59D8E8D8D8F928E8B868785858578 +706D625E5750453E3B3A3B3C3C332F24130B0C0D0F0C100C0B142B35555F5C5F5F5E5F6062 +5F626465646666646464625E5D5C595D5D5C5C5C5C5D5D62A0 +F4F6F6F2E77D676565656563656466656564646363656365676567676C6E6B6A6D6C6C6A6A +6A6B6A6C6C6D6C6B6B655A441F272D2D29180B0B090808090809080809090D18232F34363C +3A3F433E443745423F43454751535F6363535049414142362F29211B1412120F1316121212 +14181F293141596B79869294989BA0A1A59B969693969A928C8B8E8F8B89888280807B7D79 +71676059534B47423A3A363838312F27130B0B0B0D0C0C0B0B153435575F5F626062626063 +6464646565656563656260605E5D5C5E5C5F5E5C5A5E6062A0 +F4F4F4F3E97F6A66646566656565656465666664636566676967656A6B6E6D6C706D6D6B6A +6B6C6C6D6C6D6C6B6E655A3D333333373D33180D0B09080B0809080908090E15242F343C37 +3638413E423D43413F3C454B4F515A635A3D26211F1F242423221F1D1D1B1A181919232420 +1B21272D2B384B5E6E7D868F9593989B9F95918F8C8F8B86827A7E827A7A7470696C6B6A69 +6359535251483F3A30343C3837302D26130C0B0B0C0C0B0B0B0E2A3D595C606360625F6364 +6365666764676665656562625F5E5D5F5F5F5E5E5D5E62609F +F4F4F6F4E77E66676464656566676765646566656666676A6B696A6B6C6E6E6D6E6D6E6E6C +6D6C6D716D6E6D6A6C6558423C37313548553C1C0D0B090B09080808090B0E16242F353C3D +3C3B3C3A3F3F423E3D3B42474F514F35292D363B3E3C3F3D3E3E3E3A3530332F2B2E47728D +806C5F4F3F3F495162747F878D8C8C8F91888587848685817A7270656A67595549443F4A50 +4B48423F3F3C332823243436342D2D23120B0B0B0B0B0B0B0B0D2147595E62626364646465 +64646967656769696765625F605F5E605E606060605E6364A1 +F4F4F4F3E77E696A6567666566676A6765666667676967696C6A6C6D6E716E6E6D6C70706D +6E6C6D707071716D6B69583E3E2E15142337493C230F0C0B08090B0B090B0F1928343B3D3C +3E3E3E3B3F4742423D4147494C51353C3F3F3F3736302E2E2E2F30343A383330382D2D333F +53677E8D9380746C71797E85878588888B7F7B7A787F7A767165645659473B342D2A28272A +292E2F312D2E28221F1F26302E2A2826130B0B09090B0B0B0C0D23515A6464626364636564 +66656A676767696A6A676460625E5F5F5E5F60605F626265A5 +F4F4F4F2E6816A6A696766676B676C6B696769696B67696C6D6B7170717270716E6C6C6E6E +707172717371716E6C69503C37200F0E0E182B443C23100C09090C0E0B0B0E182A373C3F3B +3C3E4345444749434143443D35364441485642291F1815141515181B2028362D35363C3C3D +332D2B33414E5E65778F9FA2A195928B88827B7677776C66635756454536231D1915161314 +151C1F1F1F2226221F1B1D23282B2928140B0B09090B0B0B0C0E2F575F6467676565646565 +6667696B6A696A6C6B66655F605F605F6060605F63626567A5 +F4F4F6F2EA866C6C6B6A696B6A696A6A6B69696B696A6B6C6D6E717172717071706D6D6E6E +707371747473706D6C64453A28120E0D13181A343F3624120B0B0B0B0B0D0D0E1B2D353C3C +3D3F4242484848443E382D1C35413F434538211C2223272B2E2E27221A192B292F2D2F3834 +31352B2B2E333D3E2E295F7A89949FA2A5A09A8E86807164564F4A3E372A1D1915120F0F10 +12100F12151B2123211A181B1F24272914090B09090C0B0B0B103B5F656667696967676665 +6967666969696B6C69676562606260636060626260646569A5 +F4F4F4F1EA856C6B6C6A696B6B6A6B6B6B6A6C6B696A6C6D6D6E717071716E6E6D6C6E716E +72727373727470716C5042331D120D14373B26242F2F2B1C0F0C09090B0C0E0C0C0D131824 +333D3F413F49443C372F192E3B3F3C2D2321314548444C575249413F3D3A2E2D2A28202B36 +28312A2B2B2E31373E31316372737776717476818899988E857463513E2B221D1915131410 +10100F1014161A1A191B1A18151A2129130B0B09090B0B0B0B0F4862656969666567696769 +696969696A696A6A6A676664626263626262636364646766A2 +F4F3F4F3E9876C6D6D6B6A6A696B6C6B6A6C696A6A696B6C6E6E706E7172716E70706E7070 +707174727273716E5A4742331D13163E56513B292B2922180F0C0B0B0C0D141A120D0B0C0D +12223843484C4A423A1B27313034201B293B3F453A3A34352B23212A333434372D1F1C2229 +28272222212222242A2F2D3B4A555D63626560625D5D584F515352646E7774878874654F3D +28191212151618161B1A1D1D19141F2612090909090D0D0C0C195264666769666765666667 +6969696B69696A6B67676564626263646264636366666769A2 +F4F4F4F2E9866D6E6E6C6A6A6B6B6C6C6B6B6A6B6B6C6D6E7070717171707171706E707071 +717172737473726A4B4F3A2316183E6462574A433426201A0F0C0B0C0B0E1A2A2E1A0F0C0B +0C0C15243C514A43351C362D2E2A242F342F2B231B14100E0E0D0D0F161C222B28241A1C1F +1F1F1D1F1B1A191A1A212D1D2830363A41454A5148473F3F2D232424272A2F3B4B58677784 +855518161D22242728241F1A181419220F0B09090B14140C0E2A5D646769696A69696A6969 +696A696A6A6A6A6C6B6A666664656564656565666666676AA3 +F4F4F4F2EB88706C6C6A6B696C6B6A6B6C696A696A6D6C6E6E6E707071717172706D6D706E +707172737373715851431B1418375C7470696470502E2019140C0B0C0B0E1D313E3A29160F +0C0B0C0C1637242933443E38302E3B2F221A14121622100D2D120B0C0E12131F262922191B +1D1C1B1A1F1A181A232B3121313137342E2B2E302D2D3A452A23201B1A1A1C1B1F221F232D +312E2A2A2321201C212429211B191B210E0B0B090B0C0C0D154263696B6A6B6C6A6969696B +6A6A6A6A6C6A6B6B69676667666463656564656566676969A1 +F4F4F6F3EB88736E6E6C6B6A6A6B6B6C6D6A6A6A6C6C6E7070707271727373747272717370 +717273767674724E57381B2D3A50697F848885946D362B22160D0C0C0D121B333C3F3E3118 +0F0E0C0C0C0E0D0D163C3B3838362D1C120F101F3F290E0E2E14090F0B1529131D2822191A +1C1F1C1A1C2020283D43495148424E55513E34271A1B2F291B15151415161A1A1F22211F22 +262D343638343537312D221B1D1C1D220D090B090B0B0B122F5D67696C6D6C6D6A6C6A6A6A +6A6A6C6B6C6A6A696A67676766666465676566646567676BA3 +F6F4F6F3EA8871706C6C6B696A6B6C6B6B6A6B6D6C706D7272727472747473747371727374 +7474767674777249503831584B5878898896998C693A352A190E0D0D0E141B303E42423F30 +160F0F0F0D0D0D0C223F3C363431291A15131C3350260E0D0D0C08090C1A503B141D26211F +1F201F1B1A22263149586031272A3C5E7E6E57341F211D2113121013151215151A1A1D2024 +2220212D34353636363735342A1C18200C0B090B090B0C1C48676A6C6B6E6D6D6E6B6B6A6A +69696A6A6B69676B6966696664656466676766666767666DA2 +F3F4F7F3EA876E6D6C6C6B6B6A6C6C6B6C706D6D6E70717272737273737476767473747676 +7776767877767249584749645065847D797785806D3D2E2D1F0F0D0F131420353E42433B3A +2A1A1312141A2318333F4541383633292328262A422A100E0C0C0D0C0F2370632916222422 +21201F2221232B34485D5F1A3C4445413E3A3C3130292B1B1815141212100F0F1010131D22 +1D1B151F24292B303330302E282E29160D0B09090B0B0E2D57696C6A6C6C6D6D6E6D6E6E6B +676A696B6B6A6B6B6B6A6A6965656569676769696969676BA3 +F4F7F6F3EB8B72706E6D6C6A6A6A6B6D6D6E6A706E70717273727274767776777376777774 +77797876777774505D4F535F56727866665959553B1F1D281D0E0F14131321343C3F423A37 +352E261A1515181533343C3D3B3B3B3D36383A302B2D21180E0D0D0F1842847F4F1A161F27 +282723272B282E3543624B1F3F42485A5C4F281B1D13201C1A1514100F0E0F121A29303842 +2A1F131213191F2223292A2D231A192B1C0C0B0B0B0C1A3B636B706E6E716E7070706E6C6D +6A6A6B696B6B6A6B6B696A6A6A69676969696A696A6C6A71A3 +F4F6F7F4EA89747270706B6B6A6B6B6D706D71707072727274747473747878777777787876 +777877777779765560585953637D6A524E422D1F150F1222180F0F101418232F3E423F3A38 +3538382E211B161A23202D2F35333B484C453D3B3E3D3B3D2A201B1D2B596E6C4E2B221823 +2B30312F2E2F333742713D31261B192330311A1F2012211F1914130F0E13202A3038454C57 +503D27160F10151C1D23242423160E1230200D0B0C0D2D4769707172717171727270716D6C +6A6B6C6A6B6B6B6B6B6A6A6B6766676667696A6A696C6C6EA2 +F4F6F6F4EB8973726E6D6C6C6E6D6E70716E70717372747676747676777878797878777977 +77787778797B795C6460584C70815F4741372719100E0F1B130D0C0C0F182831383D3D3736 +383D3F443C2B1D1F201A1C242D312E36434B4A48484B4745413D373B414343443D36332E23 +283C4236312E373E4E7E2E44353B3430211513241F15201B18131210162F444343414B514E +4C382922180E0F141A1F222223140D0D15431C0C0C0F37526B6E737374727173707272706D +6E6E6C6D6B6B6D6B6A6A6B6A696765666566696A696A6A6EA2 +F6F4F4F3EB88737371706E70706E6E6E707070737272747676767776787879787879797978 +787879787B7E7B65676A524F767250443A302416151B3133140C0C0B0C132B2F313736343B +3D3F434F4F432627281A181D242D27232D37495555514A4A49434143484F504F4A4A4C4A47 +3D3D44423C3D3F4C5D6C31423F506269562915291D1B1B1515141618222A34241F1C212429 +31291D1D1A140E13191C232323130C0C163F4B120D1243606D73747676747274747271706E +6E6E6D6B6D6C6D6C6D6B6B69696667656465696A6A6B6B6CA3 +F4F4F7F3EB8C7472727170707171706E7071717274737776777778777979797A78797B7979 +78797A79797D7D6C626A4F50856947423731241A2849593C130D0C0B0C142D33313434343B +3C41495059562B3037271F1B23372D221B212D3F475256564C4A49494A4B4B4A4E50525149 +484F4C4A47443F597D443634525D71776D431A291F1A1A151B1D1D1C18121028100F0E0D12 +1415131615181210161C2124260F0D0D1F3D562E0F164C6971737274777674747474747171 +71726D6E6E6D6E70706E6B69696767666569676A6B6D6C6DA2 +F4F4F7F6EB8C737273707071727173717171727473747677787678787A797B7B7979797A78 +79797B7B7D7F7E73626B5352815A423A302B20213E6E603A130E0C0B0D18302F312F2E3036 +3A3F4A515C5D2F364C3D302429343B352E201A202730374244494B4B474744423F3F3F3C42 +504E4B53442F335D85232B41737676766C53212F24191B1F24261A120F0D0E3D160F0F0D19 +331D0F0F101215121A1F2226240F0C0F2F424B511629516A71747374767673737476737171 +70716E6E70707170716C6C69676669676969696B6B6A6B6CA2 +F6F6F6F4EC8B737372727171727272717174747674767878797A7B7A7B797A7D7979797979 +797B7A7B7D7E817662654F567D523B302E27212E5A785C34160F0C0C13212F31312B2B2E33 +3C424A535D6233385F55473C3537383C44453C281D1B1B1F1F232729282A282B2B31374353 +564952553A4748875D232D63777774726553342E211A232D291610151A0E0D0F0D0D0C0D18 +4938210F0D0E16181520282B240E0E1536434A5F244F606B71727274737374727473727373 +717271716E707072716E6E6B6A6A6A6A6A696A6B6D6C6C6EA0 +F6F7F7F4EB89737373727170717173737273747676767878787A7B7A7A7B7A7B7A797A7979 +79797B7B7D808074606050557A50332E29282F4A777052381A0F0D0D1A2A2F34342B2E3138 +3F434B565A653D3A69665D584E44414B585D5A564E473B3129221C1C212429313C434C5756 +4F565E3F5D514A86272448747D797A786C5D3E1D201A232A1F181C4138120E0F0F0E0D0D20 +514227120C0C101C1D202E34240E10141D2A345D313A606971737473737673727274747473 +7372707170707072716D706C6A6A6B6B696A6A6A6D6C6B709D +F4F6F7F4EC8D77767374717171727373727374747678777879797A7B7A7D7E7D7A78797979 +797B7D7D7D7E7D735D6252517850352D292E4766866A513B26100D10222D2E312E2F2F353C +3E3F4B555C6647336972736E645A57606A6C6B6C6E6965645E555050505353575759595856 +5558553C3D567959212F66818781807B6D5D451C191C2A292928262E371B1512100F0D132F +553B21140E0C0E161D262F2D23102D2E1C1D27584B222E5C6D727374767473767273747374 +76727272706E6E706D6D6D6B6969696B696A696A6C6C6C70A0 +F4F7F7F4EC9177787774727372717272727476777677787879787B7B7B797A7B7A78787B79 +777B7B7D7D7D7D735E634F5778563A33303E5A748876563D33140E19282B2F2F2E2E333A3C +3E414E525F6A57286B767978767070737978797673737672736D696565676964605D5A5D66 +67565052435E8B2823517489948D8C8978624C27191F3F223C3F38343A3A332A222920202E +31261F1A1512141B1F283333261F454A3F2A285E7333242B486C7376747374727171747473 +74737373726E70706E6D6C6D6A6A6A6C6C6C6B6B6B6C6E71A0 +F4F4F7F6EC8F7A787772727373737476747476777778777779797B7A7E7B7A797978787A7A +797B7D7B7D7E7D725F654F5C7D5C43353A496C82988C6A48431F1522292D2E2E2D2B31383C +3F454A535962632466767D7E7E777A7D7F78787A74747774747376767170726B645F626A74 +76644F566388492637657F939A929389806C4F2B15192D19313E3C35353C3D42474A3C3534 +2E342E241F19182631363731283151504C4A4267661613161B647176747674727272727373 +73747473767372706E6C6D6C6C6B6B6B6A6A6A696D6B6E71A1 +F6F6F6F6EC8D7979767676737373747476767677777877787978797A7D7B7B7A7A7A7A7B7B +7A7B7D7A7B7D7D735C604E5F735E4B3E3D53798EA19F7A534C2E27292A2D2E2B2E2E30353B +3F434C5658696C34507D8081827A7A848786847F7B7A7A76727374767270716E6E6E70747B +7D6A5F697D732827516B7E8E959592897B6D4E30181827202B3C48413F3A3A383B3835373A +37302B27231D1B2A333C3F35263D55524F51587D5F15141321697273747676737372727373 +747272747372716E6D6E6D6C6B6E6B6B6B696B6B6B6C6E72A0 +F6F6F3F4EC917978777876747673767474777778787A7979797A7A7B7B7A7A7E7B7D7B7B7B +7E7D7B7D7D7E7D725C6451566767574541557791A3A3927150382F2B2E2D2B2D2B2B2E343E +3E434E565E6C7253337B8486808289898D8B868180817B777272717274737373767473707A +746B6C828B2B27415A6B848E938E8F8971634B371C192D272A313E47443D3C38363334312E +2F2E2E2A231D1F28374244312047575250525E884E443F2F41707276767674767473727371 +71747271747271716E6D706D6C6B69696A696B6B6E6B6E729F +F6F6F1F3ED927A7B7978787878777677787878787779797A7B7B7D7A7B7A7D7B7A7A7D7B7D +7E7D7A7E7E7E8174606D5A4F646E654C3F486E8698A9A892583C312A2F2F2B28272A2F363E +42444B555F69716A2D668C8684848B8D8E8D8D8786857A7876777778787D7A797D787B7779 +6E72819B37283555636A7B868789888773674E38281428302A2D36414842372A2323242724 +2424221D1F21262A33413F291B4A58575558629B3F62707170737678767777787674727473 +7173717172727271716E6D6C6D6A6A6A6A6A6A6A696A6C719F +F6F7F3F3EC927B7A7A7977777777777777797778787979797A797A7A7D7E7E7D797A7B7D7B +7A7D7D7E7E7F7F776471654E556C765C433D5E78889FA089513C2E292F2D2B27292B2E353E +3C4149565F676C7352388D89797F87868E8F8F89898784807B7B827E7E7E81817D7B797776 +7687A548292A525C6371787B8086878476664B3429161B362D2D2D333F43413A2F2623201F +201B1D242731342F333E3B221C515959575E67A0376C747677777877777879787477767472 +73707373737273707070706B6D6D6A6B69696C69696A6B6D9F +F6F4F4EDE794797B7A7977777677797878787778767778797A797A7D7F7F7D7E7A797B7D7D +7B7D7F7E7E7E7F795E6C6C574862716C563F4A5C67726E6043362F2E2F2E2D2B29292B353C +3D4148555D636C76743F6091787F8B8D9595948E92938F8B8682878586847F7A7979797D7F +91AA4F2A2E4E59626D7171747B807F7A765F4A383421162F2E2A2E333A3F413F3E3E3D3636 +3C383E4447383A373336311D215258595A657A993D74787878787777767979787774767674 +74717374737172707170706E6B6A696A6A6A6A6B6B6C706E9B +F6F6F7F3EB937B7D797A7876747678787877777876777979797B7D7D7F7F7D7D7A797B7B7D +7E7E7E7E7D7D7E7B5F697360474F6970654F4E52494449483C332B2E2E2B2A2A2A272A363E +42434A525C64667377703B778D8992989B9A9D9A9C9C9B9A938D8B8B89827F7D7B7B7E8DA0 +AC4E313A5662676D695F666D797E7B726C5A49373123162A332F303B3F41424749494A4944 +474C53534B45433C3B362E1C2252585A5D6C947A507778797A787878777878787777767677 +7673727473737172726E71716D6B6A6A6A6C6A6C6A6A6C6E9D +F4F6F4F2EB937E7D7A7977777776797978797877787878797A7A7D7A7D7D7E7D7D7D7B7D7E +7F7E7E807F7E7F7B6B65736A5950555A5551595950423E3537342B2D2E2E2A2A2A2A2E363D +41434C50595E666C797A6C387BA29C9DA5A8A5A9A9A3A29F9B928D8B88857F7B7A808FAA9C +42344B5F667474605F6465676E74726E675A43373022201F3A353A42494B48485053535255 +5551525557574F473C31271A2A585E5F6574AD4F6A7B7B7A7D7B7978787878787876777374 +7372737474717273726E71716E6E6D6B6D6D6B6A6A6A6D709B +F6F6F7F3EC947E7B7A7A79787A797A7D7B77777A797A7A79797E7D7A7B7F7D817E7D7E7F7F +7F7F7F80807F8280735D656966665E52565958555047443838332E2B2E2D2B2D2D2D30353B +3E434851595C656B7478766C3C76B1AEADADADAEAEAAA6A29F98938E8C877D7B849DA66933 +2E4B6562707E6765676B6E697378747370624E3F38242A1B33384148585E56525155595A5C +5C5E5A5A5A5E4F483B30281D315D63647088A63D777A7D7F7E7E7A78797A76747776767474 +7376747474717271706E726E706E6D6E6D6E6D6D6C6C71719C +F4F6F6F4ED957E7B7B7B7A797B797A7E7B797B797A7B7A7D7A7E7E7F7F7E7F7F7D7D7F807E +807F7F7F81828482795D5D667276695A605F57555551473F36332E2D2D2A2B2B2B2A2E313A +3F424850575A666C7076787E6B3858A8BDB5AEADA9A9A5A2A09A958F89878B9B9A6B362A28 +3E575E566C6A637176797977857F7A7F7A74635242301C1F203D424A566263635A5A535E62 +656B6D6B645F574B3E312E263A62656E7BAE6B5A7D7B7E7D7D7F7B7D797878767774747673 +7173727272727472726E71716E6E70706E6E6E70706E7172A0 +F4F6F6F3EC947D7D7A797979797D7B7B7D7A7B7B7B7D7A7F7B7D817F7F7F81827F7E808181 +817F8084848485847E6A52657B796B63605F5A5A53514A4938332E2D2E2A2E2D29262B3038 +3E414853555C62696B707474785C352B5989A8A9A19A9C9D9C9B9B999A91764E2E2E2F2938 +4B525A5F6656607381807E828D8D85847F787464564127191833434C5360706D6A6C6A6467 +666B6E6B6B665F53433B373045656C7894AE3F767E7E7E7B7D7D7D79787A7A777776737473 +7272717376737674727171717270717171716D6C6D7071739F +F4F6F6F6ED987E7D7B7D7A7A7A7B7D7B7B7A7A7A7A79797D7E7F7E7E7E8082817F807F8280 +8184848485858786847D5A5C767971666664635D5A524E4435332F2D2D2A2E2A27262D3138 +3E42495050606064676A747982826C472A2128374959656769645A4B312326333E3B313E49 +5363646D63535F78867A7E88918F8D8F897973706656341A1B1D434C59637376707772706B +6C6D6D6C69656257453D3F3D4F6D7A84B8625E7E817F7E7E7E7D7E79787978787676767476 +7472737372737373727171727270727170717070707271739D +F4F6F7F4EC967F807E7D7B7A797B7A7B7D7A7A7B797B7A7E80808182828182848484828281 +84828484858686858581765D70746E6A6C6E6C6A675E52383336312E2B2D2D2A27242F3138 +3D444B505662676C6D7176868E98958E7F6C5342342F2927292E333C475257514941475269 +6E7B76705A56657E868088919893959A9280726E6B5C3E2216222950676E777A767A7A7773 +71736D6763635E534A3F3E41557685AC9643787F807E7B7D7E7E7F7A7A7A79777776767674 +747373717273767371707172716E707170706E6E6D6D70769F +F7F7F7F6EC9681817F7E7E7A7B7D7D7A7F7E7B7D7A7B7D7E7F8280827F8081848082808482 +82858484848586858481806C5F676B6A707676767267503334302E2D2E302D2A29282E3137 +3D3E484C555D66707371768994959A9B9D9B9A958F8D8785818786868072605A56536C737D +7F7B78725D596B73828C959A9A9B9CA195897D76675F4730161D223766727E8581857F7E79 +7676726C66635D5751453F456582A1AF436E7F7E827F7B7D7B7B7D7B7D7A79787878777774 +747474747672737373707171716E71716E7170706E7171749C +F6F6F7F3EC968282817F7F7A7D7E7E7B807E7B7D7E7E7F8080818482827E82817F82818482 +818686868786868586848180625863666D74797E725D452D33312D2D2E2D2E2D2B2A2E2F36 +3C3F4444505C676E707171848F95949698989B9C9B9892938E8D8D8572655D5D5777828289 +81787D78635D66738498A7ADAEA5A8A99B8D847B6D634F3C271627204277868B8F89848582 +7E79766E6964625D52433E4F7A9BB14F627D817F82807D7E7E7B7D7D7B7A78777776777776 +7476747674727272737172727270717071717170707071739C +F4F4F6F3EC9B8281807E7E797D7D7D7D7E7D7E807E7E8484848684817F7F84827F80828584 +8486858787878584868587867A57565D67696A6A5F4A2F2731302D2E2E2F2A2A2A2A2E2E38 +3C3E42424F59626A6C716E7E888D9294969496968C8C898C878580736360584F697A848E8D +7F807E71645E637488A1BBBAB8B1B3AD8E8D867D726553484E2E19241D3E798992938B8888 +807A726C69666560574B4C719BAC4A4A797E807F807F7D807F7B7D7D7B7A78777777767774 +7473717374717472727173717172747273717070707171729A +F4F4F6F3EC998280817D7B7B7D7E7D7D7E7E7D818282868484848484808184848180818484 +8482858686868788888886878279594950565652442F1A222E2E2B2D2D2E2D2827292B2B33 +3D3F3D454C525D656D71707D86848B8F918E8D898484808079776C5F57573F4864657B8888 +87847F736B6964717D9DBCBCB4B5B3AA93948F867865534A5E58311A21192F6B8B938E8D8B +867F78716E696A6763667FA6953C455A787D7F807F7E7F84807E7E7D7D7D7A777877767773 +76747273747676747472737171727371737370706E716E709B +F6F6F7F4ED9A8281817F7D7D7E7E7E7E7E807F818484878484858282848485858285848482 +858184868888868889898988888780643B353430221610282D2D2D2D2D2D2B2928292D3435 +3B3B3D454C4B5260646A7273797A87848586867F7B7977726B5E525152482F3F5A646E8192 +96958F82746A5A63768B9DA6A3A7B0B1A89C938479635047575350281C1D181C49778C918D +87857D79767882858EA3A76631345258767A7E7E7F807E81827F7E7E7D7F7B7A7B79777876 +76767476737476767876767472737174737372727072727398 +F4F7F7F4EC9B8284847E7D7D7E7E807F7E8182808284848485868587868684868482848585 +8482858588888988898B8B8C8C898881561914130F0D142D2B2B2D2A2F2B2A2E2B2B2E353D +3F3E3A3F3F474C555D626C6E6C747E7E7D78797372726B62594E45494B352D3B515A5D676E +858885806951474E606E7A8992919496A19B8E806E59483D5258553F1F211F161520436E8C +918F8E91959AA6B1AF803A3337374F5873787E807F7F818181817F807E7E7D7B7D7B787977 +7777747373767676787474737376747274747371737473749A +F4F6F4F3EC9B8282847F7F7E7F7E807E808080818184858586868587878887868585868584 +85858587898988898B8B8C8C8F8E8B876C24100E0D0C1B2D2A2B2A2B2D2B2B302D2E2D363E +43423C3E42424950575D676A6B71787973706B6A665E574F493E3E484234303A3F44474E52 +5964676A5A3E35384C5D66747A8484847B81776D5F4F3D3651585248353134302218151929 +3D505F6776817B5E3523313C3538535D73787D7D807F7F7F8081807E7F7E7D7B7B7A787879 +7877777677767677777474767676767476767673737474779B +F6F7F7F1EC9D84848484817D7F7E7F81828481828484858586868485868887858686868885 +88868889898C8B8B8D91918C918E8D897945120E0D0C202A292A2D2B2D2A2B302E2E27343F +4243423D4141444B5351585D5F5D6669665F595957514B423B3B3D43423D363C382A262426 +292D373E413328283345535A6772706E6D695E524E443130494E50454143475055533F2E20 +1A181A16181A1A1D222F3A38313C536577787E8080827F7E7F8181807F7E7D7B7B7978787A +79797977777677787974787879787777747474727276767698 +F6F6F7F6ED9D8585848482807E808082848484828484848586878587878787878887888988 +88888B8B8C8D8D8C8E928E8D928E918880631A0E0D0D242B282A2B2D2E2A2E312F2E2A343C +4545443C3B3C434A4B4A494F51525C5D5D55514E4B493F3A37414B524F453F423F23130F0E +0D0E0E101518212226343F495660656364574F423A2E272E3C41413C3B3B3E4B5C6C76746B +56473B313030353D3E3F3D352E41556B77797E7F7F8080817F808080807F7E7D7D7B79787A +7A797979777878797A7779787777747778737473737276749D +F4F4F7F4EFA187858585818081808182848685848484848585878886858887878788888988 +88898B8D8E8E8F8F8F928F8F948F8D887E69260F0D0E262A29292D2E2A2B2D3334302F383D +4544443F383B434B4A4544455053555655504C42413E3A3F4E5F6662584F48474133140D0C +0B0B0B0B0B0B0E18222D3B474E56555751493F31261F212B363C38313A3F413F5069747876 +736B645C4E4B4948453F3B332B435371787A7F81807F817F7F8281817E7E7F807E7B7A7B7A +797A787979797978797779787777777877737472747474769D +F6EAEAEAEDA0858585847F8080848584848585848484828586868687878988888987888988 +8B8C8E8F8E8F93928E8F9193919291897E6336100E0E242727292D2E2B2B2D3435363A3E43 +434447433B3B414A474342424B51514F4E4A453C35344459626E73736460524B443D2F1A13 +100F1016100D0C0E1B2B313A424B4F4B3B312A211915161B232A2D2B3C413C3C42576A6E70 +736D676255524948423E38302B475A747A7D7F7F8480807F81807F817F7E8180807F7B7B79 +7D7B79797A7A79797878797978787677767676727676767A9D +F6F4EFF3EF9C8585848081818186858585858586858584848586858787898B8C89898B8B89 +8D8E8F8F919291929192929192918E8C89744A130E0F282727292A2D2B2A2B3331383B4145 +42424A4841383F49444347494C4C4F4C44423C383F4E6266667379776C716C5D53423F3A2F +2E2D2933281D1D222226292D343A38342B261C140D0C0C0C0F14223035363C353B4859656B +6B65605F594B43433B3A352E2B5A66767E807F81828081818482807F7F807F8280807D7D79 +7B7D7B7A7B7A7A7E7A7879787979777879767978777678789D +F7F6F7F4F09F868280807E7F818282848585828684848586878887898B8B898B888B8B8D8D +8D8E8E93929293919292929193938F8E8E7A5A160F10282628292E2D2D2B2E3334343B434A +494A4F4B45373F48444B49484E49504A4943444F5A605E4F52726B736B70726A5D584E4234 +35332E2D222022242F3021202323201C1B160F0C0B0B090B0D1C2A31333331342F3E515A5F +5F5E595A51453E3B3B372F2B306764787D7F8081827E8182828280817E808081817E7D7D7F +7E7D797B7B7A7A7A7D7B79797A7B787979787876787878789B +F6F7F6F6F0A0878584848181828284818284848585858686888889898B898B8C8B8C8B8D8E +8E8F8D9192929292919392929391938D8C8867200F12272728282D2E2D2D2E303A353B4857 +4B484B4F4538424943484C494C4E4F4C4B4852535350413D4B596365555964605F57553F34 +29261A1D19151615161D211514141312120F0C0B0B0C0B0D14282F3437373A2D292D3E4C55 +5856514847413C3A342F2A283766647A7E7E8082827F8181808280817F81807F80807F7E80 +7E7F7D7D7D7B7B7B7B797A7D7D7B7979787879797A79797B9C +F6F7F7F6F0A08686858482808282858486858688858688898B8989898C8C8C8D8D8D8D8E8E +8F92918F928E91918F929193929192918E8B7E471612262726282D302F2E30313B3D3F4345 +4948474F493C425049444A49484C504C5253443A352E3D3C3641424243474E554F413D3D2F +261A181D14121012100E100F0D0D0D0F0F0E0D0D0D0E0F131D2B2F34373C3B312126303F4C +4B49423E3D3D34332E2824293C646A7D7F8081848484818182848481818281808180807F80 +7E7D7A7D7F7D7D7A7D797D7E7B7B7A797A7B7D797A7A7A7F9F +F6F7F7F6EFA285868582818180828486878787888788898888888989898C8B8E8C91918E8F +8F938F8F9295949292929193939495948F8E8879441B292728292E2D2F3031303B3B424345 +494E4B514C3E43484843494741444848503D2D2D2A232D292B302130283C413E31352B281D +18131914130E0D10100F0F0C0B0D0F120F0D0C0D0D0F0F131F2B2F33383C3C34211B27333D +3E3E38353533302F282321273A60738180858284848482828585828182848280807F7F7F84 +817E7E7D7E7D7D7B7B797D7D7D7E7D7D7D7F7D7B7B7A7D809F +F4F6F7F4F0A2878785848685858486878887878988898889898B8B8B8B8B8B8E8D91919193 +92919192919393949291929392929495928F8E8B784A2F2D27292D302E33332F3B3B3D424B +4C5255524F3B3E4443414444414147433C2F27231D1B211F1B1C2022212F2827282129201B +1010120F101210161015141A19141516120C0C0C0C0C0F121A22242B2E363A342F1F202731 +3637362F2D2B2D2A222222233E627A80848485828282858485858480818484808080818184 +82817D7D7A79787A7A7B7B7B7B797A7D7E7E7E7D7E7D7B7D9D +F6F7F7F6F1A6888785878886868587888B878787878889898B8C8C8C8C898B8D91938F8F92 +9291919393939293929193989694939492918E9187602F2D27272F2E303134343B363A424A +4F4F555A55443D3F4441444744423D282628221B1818191618181916232E20221921281512 +0D0F0F0D12131013191F1A3429191316120D0B0B0B0C0C0E13161A1B242E2E31342E1F222F +2E302B29242727231D202326426A7D7E8182858584848482848284818482818081807F7D81 +7E7B787D7B7A7A7A7A797B7B7D7A7D7E7D7B7D7E7D7D7A7E9D +F6F7F7F6F1A3898786878788878788888B87888B8789898C8B8C8E8D8D8B8C918F8F918F8F +92939492919393929392929596959596939492928C662F2D28282B30313533343A3A3A434C +524A515855493F444A453F47433A281D1D181D1C141914121412151A1F1C1F181A2021130F +0E0F101012121015211D1B382816151A120E0C0C0B0B0B0C0F101212181C20242B312A2928 +282E28242122211F1C2226284B78808285848585868682818282818281828180817F7F7F82 +7F7E7E7D7D797B7B7B797A7B7E7D7A7D7A7D7E7A7A7D7D7EA1 +F7F7F7F4F0A3898787888888888689898989898B87888889898C8D8C8D8C8D8D8D8D8E918F +8D8F9494939494939393919392939499969995958E72352D26282D3034363534353B3B444E +504F5158554B4141484741434131241C14151513161212131413191D1B1C1B191B20181912 +0E1413141A13121C1B1C212323141820190F0E0D0C0C0C0D100E0D0E0F1214181B27262D28 +23272322201F1D1C212627285C807F8586848685868585828482858281848282817E7E8080 +807E7D7E7D7A7A797B7D7B7A7B7A797A7A7D7E7A7B7A7B80A0 +F7F7F7F6F1A68B888988898788878888898B8989888B898B898B8C8D8E8F8F8F91918F9192 +928E9191929595939294939492939596989998968F793D2F29282A2F3135353635363B414B +51525056554F413F494C44473B2A1B14121312100F14121510141D1F1C1D221F261D1A151A +15191423231B24261D24372A22181D211C1810120D0F0C0D10100E0E0E0F101313151B1D22 +282423201F1D1B21282B2A2B6981858582868685868786828582848584848180807F80807F +7F7E7D7D7B7A7A7A7A797D7D7E7B79797B7E7E7D7A797A7DA0 +F6F7F7F6F0A58C89888888888987898B8B8C8B8C898B898C8C8B8C8C8D8F918F8F8F8F9292 +918F9192939596959595949592939395989898968D884F2E28282B303034363835373B3D48 +4F565555554A3F414E4F4444361F18180D0E0C0C0C0E10100D141A1819201C1F221D1C1A18 +18161D2F241F272F3748594F332427261D1918151012100C121510100E101210100F151918 +2326211F1D1C1D2A2D2D2A2E718282868584848585868684868684828485818280817F8281 +807F807E7E7E7D7B7A7A7B7A7A7B7A7D7E7D7E7B7D7A7B7F9A +F7F7F7F6F0A58D89888989888B898B8C8D8C8E8D8D8E8B8D8D8D8E8C8C8E8E8F8D8F919392 +9191919492959894949598959294949698999696948D5C2F292628303037363A36383A3C44 +5052565655524741484E443C2B1B18100C0C0B0C0C0D0E0C0E1310131319161A191B1D1414 +1619201F1C191D27354E696A553E352E271C1C141213100F101614120F1213100F0D101316 +1D221F1D1D1F242F2F2E2B3374848687888587858486848585858582848584848282818080 +81817F80807E7F7B7E7A7B7B7B7A7B7D7B807E7D7E7B7A7E9F +F8F8F8F6F1A68C8C8B8B89898B8B8C8D8D8C8F8F8F8E8D8D8E8D8D8E8D8F91929192929592 +8F91939393959694969698969995959898999898938F6B2E2E282A3033363B3733363B3C44 +484950504E48413D3F4541372927130D0C0B0B0B0C0B0C0B0C0D0C0D0E0F10141410101012 +1816191918151B272930414C4A4129221D1615131015101314121012100F130E100F101213 +181D1F1F1F232F3336302B357A848585868587878686878781848282828581828482848281 +82807F7F7E7B7F7B7A7B7E7F7E7D7E7E7F7E827F7F7F7F7F9D +F7F7F7F6F2A88C8C8B8B888B898B8C8B8B8D8D92918F8F93919291919291918E8F8F8E9392 +9393939395989598999899999899989A9A9A9899959178312B292D2E31333A3B35343B3E41 +433D494C524841413F3E3B2E2D20120C0B0B0B0B0B0B0C0F0E0C0C0C0D0C0E12120D0E1015 +14101515161B1D23262E383B3C31221614120E0E0D100D0D0E0F0C0D0D0C0D0D120F0E0E12 +181D1B1F22293035352F2D3E7E868686878486868686868584868584888685848685848482 +85818280807E7D7D7D7E7D7E7F7E7E7D807F827F7F7F7F7F9D +F7F6F7F6F1A78D8D8989898B8C898C8B8E8F8F91919193948F91929292928F919192919293 +9593949598989A9B9B9A9A9C9A9B9A9B9B9B9C9B9895823A2B272A2E2E2F33373534353B3F +3E383C47524B44413F3A3C342619100C0B0B0C0B0C0C1014140E13141215100E0C0C0C0E0F +0C0E0F1012191A1C212B343C3C331F14130F0C0C0D0C0B0B0C0D0B0C0B0C0C0B0D0E0C0D10 +10161A1F232B3138352E2B4881858787878584868888878684858786868786868886858686 +8684828581807F7D7E7E7F7E7B7D7E7E7F807F7F807D7E809C +F7F7F7F6F1A68D8D8B8B8B8B8C898C8E8F9291929191919392939392949191929293969393 +9496989898989D9C9B9B9B9C9B9C9B9C9C9D9D9D9B9A8D4B2B24272E2E2F343A373431373A +3A353842494843413D3E34282119120D0C0D0C0C0C0C121A18131A181616150F1323272A20 +16130F0F0F0F101215212B2D29231A14100D0B0B0B0B0B0B0B0B0B0B0B0B0B0B0C0C0C0B0C +0C101A2124303436332D2951818689898B8885878887878687888688898686868787888686 +878685817F817E7D7B7A7D7D7B7D7B7F807F7F7F817F80809C +F6F8F7F7F2A78E8D8C89898B8D8C8E8D8D8F8E919392929493929392949494939493969896 +959998999A9D9F9F9C9F9A9C9D9D9F9D9F9F9D9F9D9D91582E28272D2F2E33343635303538 +363C3B3F494848433C3D2F2A241D19100D0C0C0D0C0E1219181A1A1A1512151C2D3E3F383D +3D3E413E332A1C140F13151C18141012100E0B0B0B0B0B080B080B09090B0B0B0B0B0D0B0B +0B0D152329333A35312D2B6285878989888786888989888887878888878784868886868687 +8586848282817E7A7D7D7D7E7A7B7A7E7F80807F7E7E8081A0 +F8F7F8F7F2A88E8E8D8C8888898B918E919392939293919293949595939896959393969698 +989B9C9C9D9DA19D9D9D9D9C9F9F9FA1A1A1A0A19D9D965F302926282E2F31313533312F33 +373D3D4144484A443C3A2F2A2627231A120D0D0D0E101013181F29261A1B282D414742434C +53525F66666C5E50494E47433A2D212B2920120E0E0D0C0B0B0B0B0B0B0B0B09090B0B0B0B +0B0D14232F3436342F2A2A7087878989898786898B88888887888787868686848887868887 +8685818182827F7F7E7D7F7D79797A7B7D7E7E7E7E7F8082A0 +F7F6F8F6F2A98F8F8D8D8C898C8C8E91929493969393939494969596949596949495959896 +9B9A9B9CA0A0A19F9FA09C9FA09D9FA0A1A1A09F9D9C9662302A26292A2D313534312F2E2E +31373D42433F413F3736312D262928261D14141516151915192428201D2B33353734415370 +776C72848086878684858684897F74605744342B1D150F0C0C0B0B0B0C0B0B090B080B090B +0B0C13233035332E2B29357A87888988898788898988888989888786878786868787878885 +868682848584827E7F7E7F7E7D7E7A7B7F7E807E7E7E7E7F9B +F7F6F7F7F2AC8F918D8F8D8E8D8D9191939394989595949493949896969594969695989A99 +9C9C9C9D9FA0A1A09C9D9D9C9DA1A0A0A0A19FA09F9D985F312A2623282830333334332F30 +3037373E3D3F3E3B30302F2E2E2E2A2A28211C1A1B181514181B20232B3130342D35496588 +9C94888C8C9392969C9FA1A0A09B988879705E523321140E0C0B0C0D0C0B0C0B0909090B0B +0B0E122731312E2A27244280868788888B8889898888898989878887868787888686858586 +8586858482818280807F7F7E7E7E7D7F7E7D7D7D7D7B7D7E99 +F7F7F8F7F2AC9493918F8E8C8E8F929192929495949594959594969698969598989899989B +9B9B9D9DA1A1A0A19F9F9FA1A0A1A1A2A0A19FA09D9D995C352F2B2624262B2F302E35302F +2E33363B3C3F3B36302E302D2E2B2D2B282829231D1A1819202730343A3A373A3745516371 +7F86828B888F9998A3A6AAA8A6A19D9A8C81776550312319100F0C0E0E0B0B090B090B090C +0B0C1329332D282724245585878889898988898989898B898B8B8B89888888878586878586 +8686858582848484807E817E7B7F7D7F807E7E7B7D7B7D7D9B +F7F8F7F7F2AF989594938E8D8E8F929191959595959695989498969698999999999B9A9A9A +9B9B9C9FA1A1A19DA0A0A0A0A2A1A2A1A1A19FA2A09D965C3C2F2A282124292D2E30313131 +302F35353B3E3B34302E2D2D2E33352E2E3135312D2923282B363E43424243414347505560 +65646E7171788993A1ADB0B1A9A09B94867D735D4A3E261B1515120E0D0C0C0B0B0B0B090B +0B0C192B332E2A262426708789898B89888889898C8C8C8C8B8B8989888888878686868686 +8686868684848280807D7F7E7D7E7F7F7E7E7F7D7E7D7D809D +F8F8F8F7F3B0939292938D8D8F8F9391939395989595969696959696989698999B9B9B9B9B +9D9F9D9FA1A1A09FA1A0A09F9FA0A5A2A2A1A1A1A0A09857382F2D282624272D2D2E2E2F2B +2B2E3134353B3A3431302F2F2F3637343534373D3E3E3F37374142424843424448454B4A4C +534E555C5E63676D778892999C938986776A5649383828221B1A191410100C0B0C0B0B0B0B +0C0D1C29302E272324338089898B89898C898B8D8F8C8F8E8B8B8989888889898686868788 +89878687868482828181827E7E7D7D7F7D7D7E7E7A7D7D809B +F7F8F8F7F3AF929191938E91939393939496969A9996959698949695969698999A9C9B9C9D +9C9D9CA0A09FA19FA19FA0A0A09FA3A2A1A1A2A2A1A096533A332F29282322292B2D312F2E +2D2E303033353735333433313033383D3A3D3C3F41474C453D43474C4B4844413E3F3F3F3D +45474A5051525655565C5E626760625E514C42362F2F28242221242216120D0C0C0C0B0B0E +1318232F2D2B24222350858B8C8E8D8C8C8B8B8D8E8E8E8D8C8D8B8989898B888787878587 +878788878685848281807F827E7D7D7E7B7D7E7E7D7A79809A +F8F8F8F7F3B09593929393939696969696969899999898989A96999698969A9B9B9A9C9D9D +9F9FA0A09D9F9FA0A2A0A1A1A1A0A3A5A3A2A1A0A2A098503B342F2E282423242A2A2B2E2F +2E2B302D31343A3B3A3A34333134343D3C42444850535651453E444548454A473E3E3B3B38 +3B3B3F4449494A4A4C4F4F4F534F4B44423E332E272A28262022292A2018120C0C0C0B0D16 +1F29302A2A2926212770898E8E918D8D8C8C8D8F8E8E8D8D8B8B8986898B89888788888787 +898887888787828584818080807D7D7E7E807F7E7F7E7E7F99 +F8F8F9F7F2AF969594949293949596959696989896969698969898999995999B9A9B9B9C9D +9F9F9DA0A0A0A2A0A2A2A1A1A2A3A2A3A3A5A0A2A0A095493B3C312F27232322272A2A2D2D +292A2D2E2D34353D3D3B3636353333373E4447495159595853443F424247494442413C3A2F +2E2E3037383A3A363C3C3A383B3C3A31302E2D292327262121232A2D2E2316100C0C0C131F +2730312B2A2621213D808B8C8F8F8C8D8E8E8D8C8E8F8E918D8C8C88898B89888889888688 +888889888885858585848481807E7B7D7D7D7E7E7E7E80829A +F8F8FAF8F2B0969695949495949595949695969694959696969698989898989A9B9B9C9C9C +9D9C9D9F9D9FA0A1A0A2A2A2A2A3A5A2A2A29D9B9C9D92483B3F342E2E232124262724282A +2928292D2E30353B3D3C3A363A33383D3E414C5055565A5E595343434247454343413F3E3A +312E2E2E2B2D272729292B27292B2A292627241F2123202022212A35342D2119120F121C27 +2B2E2B292724202665888E8D8D8C8D8C8E8E8F8E8D91918E8E8E918B898C89898989898888 +888889868885878585858584817F7D7D7E7F807E7E7E7D8499 +F8F8F8F7F2B0959595949593959498999694969895959599999999989A98969A9699999B9B +9C9D9F9FA19F9F9FA2A1A2A5A5A5A5A2A1A0968C8476663E3B41362E2D2623242624242829 +282727292D303434333D373A3A36363C3E434C53575C5D625F56524849484A4A443E3B3C3B +342F2A26211F1C1A1A1D1C1D1D201B1C1D1F1C1D1F1F1D21222634383530241F161519212E +2D2B2A272220203D848D8F918E8D8C8C8D8E8F8F91928E8D8F8F8E8D8D8F8D8B8988888887 +89888887868687868584878584817F8081827F7D7D7E7E829B +F7F8F8F7F2AF949294949394959598989698959694949898999898969998989A9999999C9C +9F9C9C9DA0A0A29DA1A1A1A2A2A3A1A09B87653D3324212F383E3C2F2D2D26242623272727 +232427272D2A2F34333A38383737353C41444C565A67625F605E5856505152524844423E3A +2E2A2622201A151614151515141315151618191D1C1C2028262D373A362E261D1C1B22282F +292A29262120276B898E8F92928E9191918D8F918F8F8E8F8F8E8D8E8D8F8D8B8887888888 +898B88878787878786848784808180818481807E818081869B +F7F8F9F7F3B0959394949495949495959496969894969896969998969A9A969A9696999B9B +9B9C9C9D9F9FA1A1A2A1A1A3A2A0A0967E451F16130F102A353D41362F2E29242621232729 +26272623282B2E333338373A3836343A3E424A5057656564625D58585C5655565353494338 +312E2A2220201B16131313121410141415191C1B1C1F24292B363D3E342922201D2023292D +29242421202147858E91918E8F8C8E8F928F8E92918E91929291928E918F8F8C8989898888 +89898885888987858586878482827F8485818480828180859B +F8F8F8F8F3AF93929393939394949596959696969595959895959895989998989998989B9B +9B9F9CA09CA0A1A1A1A1A1A2A19F986D3118100F0E0D0F29343B3F3D312E2B282421212424 +2426242423282D3131373535383B343A3C414A535A5E6066655F60625E5E59565353524944 +3F38312F2B2926201D1918151A181618181B1C1D1F242B2F30363C3C3328231F1D22242828 +282222211F2B788C8F9394928F92938F93929291919192939293918E91928E8E8D8D8C8888 +8889888689898888878588878284848685868582818084859B +F7F8F8F7F3AF939494939493939393959699989695989899989698969A9999999999999A9A +9B9C9DA19DA1A0A1A2A0A1A2A1967A2F16120E0D0D0C0F2A33383E4137312E2A2822232322 +2322242226272B2E31342F33343A3B383E41484C595F696C6E6E6C6B67625F5A6059505155 +4F49433C36343634302E2A2623241F1F1D1F2224272D303334373A332F27231D2122232426 +24201D1D21608C9292939592919292929495939292939292939391918F91918C8D8B8B8B89 +878788868788898787878B8886848085878685858585848498 +F7F8F8F7F2AF949695959494949495939698969695989A9998989898999B9A9B9B99999B9D +9C9DA0A09DA1A1A1A1A1A1A198988F37140F0E0D0C0B0E2A343A3E433E3831332926212022 +23212223232226292E3030333336363A3F444A4A535F656D74747472727163595A5C636264 +646363625E5D52524E4443423C342E2E2B282B2F2E3135353B3C38312B2423232424232324 +201D1D204A889194969895939292939292939394939492949494928F918F8F918F8C8B898B +888787868787878786888B888686868585868486868585869D +F7F8F7F4F3AD939696969594959895949698969493959898989699989C9B9A9C9A9A9B9F9D +9D9DA09FA0A3A5A3A5A2A39F99A09B6016100E0C0C0B0F2A31373E42423F38332F29222024 +2023222022222224292E2E33313535373D3F434850566070767A78797677717267696B7378 +777A78786D6A67666A65605A534A42363738383A3C3D3A3C3F3E3C31272324262324232120 +1F1F1F3581939598969696959392929292939396949495949393928E91918E8D918E8B8988 +8788858688878687878B89878788868586858786878586869F +F6F8F7F7F2AF969698989595969593969495959596989896969999999B9A9A9B9B9C9DA0A0 +A1A0A0A1A1A5A5A3A2A2A19CA3A0A0842E120F0D0C0B0F2A303B3E4245473F38342D292421 +1F2022202123232226292A2D3335363A3B3D444A4F516370777B7B7D7E7B7878737073787A +79797D7D7873727177716A6055514E443F3F41433F41413F3E3A352B26232423242322201F +1C1F2D749398989A9A989995969594929594949595959594949593939191918F918D8D8B88 +888988898888888889888B878887878686868685868584879C +F7F9F8F8F2B1999896959495989894949596969595999999989598999A9B9C9D9DA0A0A1A1 +A1A2A2A1A1A3A5A3A1A39FA7A6A1998C6A1C0F0E0D0C102B31373D47484948423B332E2A23 +2020212020202222212627282B303435373C41424A555E66747E84827F7A787F7B78737679 +808684807B777877777470665A504B433E414A49424443423D35332723242323231F1F1B1C +1D286B93999A9B9B9A9A9B9A9895959698969894949494949494959292939291918D8D8B8B +898B88898888898989878C8888878689878786858588848B9F +F7F8F9F9F4B59898999998989A9B99989896969696999A9A989899999C9C9D9DA0A2A3A2A0 +A2A0A2A1A1A5A7A3A6A3A3ADA99C8D8E864F140E0E0D122831363D434B4B48493F38332E26 +2120201F22212120202323262A2E3335343B3D3E4B50585F727F8281807B7D7F7F7976787D +86888987827E7D7D7D78746C60514A41333F4F4C4548493F3D372D24202323211F1D1C1A1B +226391999A9A9C9D9B9C9C9B9A9698989996969595989695949395949594929392938F8C8C +8C89898989898989898889878787878788878784868786869C +F8F8F9F8F3B3999A99989898999A98969899999A9998999B9A9A999B9C9D9C9F9FA0A3A6A5 +A2A1A1A3A2A7A7A7A7A5A9A9A393949592883D130F0E142734373A3E4B504C4E4A423B3129 +24211F1F2122201F20222224292B2F3334353B3C3F49535C66787F7F82807D7F817D7D7B82 +898C889189878786858276715F534B42424C5653424C4A3F3E3529222320211F1D1A191A22 +5D8D989A9B9C9D9F9C9C9B9B9A9A999A9999999896959896949696949596929292928E8C8D +898C8B8989898889888789888888898887888986858687879A +F7F8F9F8F3B4989A9A98989699989899999999989A999A9A999A9B9B9C9C9F9F9FA5A5A5A3 +A2A3A2A5A5A6A8AAADB0ACA6999496959899813A130F162A30353D41484E51514C4A3C362F +2A22201D20221F1F2023212324282B2F33353A3F3E454B52596A79797E7F81817E7F7F827D +85898B8D8C88888B8284787263504844494A52524145453D372D2321221F201B1A1919215C +8D96999B9C9DA1A09C9D9C9B9C9C9D9B9C9A9A9A99969898989694959495939294948F9191 +8C8E89898988888B8987888887898888878887878786848799 +F7F7F9F9F4B69898989A9996999899999A99999999999C9C9B9C9D9D9FA0A0A1A0A1A2A6A5 +A5A5A6A6A7AAAAAAAFB1AC9F9B9A9C989C9D998730131C2E30373D43444F5356504A433A35 +2B26211F1D1D1D20202120212324282D2F31363A3B4245475059676E71777B7E8079787F7D +7E8582848281867B767B786E5D574948444A524E444541383528211F1D1D1F1A1819205C8E +999A9C9D9C9DA09F9D9F9B9C9C9C9B9B9C9A9D9B9A99999896969595949495959695929392 +8E8D8B8D8B8988898B89898887898B8B89888785868885859A +F4F7FAF9F4B49A999598989696989896999A9A9A9A9D9D9D9C9D9F9FA1A2A1A2A2A3A5A8A7 +A8A6A7A6A9AAAAACAFADA19FA29F9D9DA1A1A1A27D2E2430353A3E44484A4F53574F474738 +332B24211F1A1C2020212122212426282A2E31363C3B41444C535D64667071777472717674 +7A7A7A7E7F7A7B7E78777B7160554B49474B4C4345483F342E261F1D1F1C1B1A19235D9198 +9C9D9D9D9C9D9D9B9A9B9D9C9B9B9C9B9C9A9C9C9B9A9B98999A989996969494949493928F +8D8E8D8C8B8B89898B89898888898B8B898986868788868799 +F8F8F9F9F3B49A989696969899989898999A9C9D9C9C9D9FA1A1A1A1A0A5A3A5A6A6A6A7A6 +A7A8A7A9A9A8ACAFB1A6A0A7A6A5A3A5A5A6A9A59F7F3F37373C3F4549494F555959504B44 +3B2E2A221F1B1B202023222121222427272B2F3438373B3F474E52555C60666B6C6A6D6E6D +717276727774777D797B7970574E4B4A424E443F3F3B362F26211F1D1C1B181A2A6B91999A +9D9F9F9B9C9CA09C999B9D9B9B999D9D9B9B9A99989A989898999996959995939593929293 +92928F8B8B898B898B8B8D8C898B8988898788868889878799 +F7F8F9F8F4AF99989999989998999B9A9B9B9BA09D9C9CA1A1A0A1A3A3A6A5A9A6A7A7A8A8 +A9A9AAACAAAAAEB1ACA5A6A9A7A8A8A9A8AAA8A6A8A587483B3D4143484F5055585D5C5249 +45382E28201C1D1D1B201F1F2022232324282D2E3333363B3B4348495653575F5F5D605E5E +605F656A6D6A71787777665D53514F4E454A443E3A342D2723201F1D19191B3C7A949A9D9F +A09F9FA09D9C9B9C9A9A9B999C9C9F9F9D9B9B9A9A9A999598999999999A94959593929394 +92928F8C8B8D8B8B8B8B8B8C898C898989898987878789899C +F8F8F8F8F4B6999899999A99999A9B9C9C9B9BA09F9FA0A2A1A0A1A2A3A5A8A8A5A7A8ACA9 +A9AAAAA9ADB0B0A9A3A5A7A9AAADAAAAAEAFADADADAEA781454145484A4B505753585A5D55 +4747342A221D1A1A1C1D1D1F211F21222423292B302F333636383E44484F4F565857585353 +5057575E605F6B6E6E645A5A5958514F45443D37342D2821201D1F1B1A1F528B999C9FA0A1 +A19D9F9F9F9D9B9B9C9A9A9D9D9B9F9D9F9D9C9B9C9B9A9899989698969995949595939293 +91938F8D8B8D8C8D8B898B8D8B8B88888B888988878888889B +F7F7F9F8F3B79B9B999B9B9B9A9A9C9C9F9C9FA1A09FA2A3A1A1A1A2A5A6A7A9A8A9A9ACAD +ACAAA9A8ACB0AEA3A5A7A9ACADB3AEADB0B1ADAEADAEADA97F4C494B4C4C4F5657595A5E62 +5944422F28211C1C1B1F1C1D2221201F22212824282B2D2F2F2F38373E44484A4E53534C49 +4B4F4A5250535D655C585653514A49423C3833312E2724231F1C1D1A245F8F9A9FA1A1A1A1 +9DA0A09D9B9B9D9A9A9A9A9C9D9C9C9D9D9D9B9C9C9B9A9999999898989894959494939392 +929292918D8D8C8C8D898C8C8B898888898989888988898C9B +F7F7F9F7F4B6989B9A9B9C9B9B9D9F9DA1A0A0A1A2A2A1A3A2A1A1A6A5A7AAAAA9AAAAA9AA +AAA9A9AAB0B1A8A5A6A8ACAEB0B3B4B5B6B4AFAFB0B1B1B5AD7F4E4F4F4F50505258595C5A +5A513F382D26201C191C1B1D2020202021212624242A2B2A2E2A2F33363B3E41474E4C4944 +4343414343454A56504A4B48423D35352E2E2F2D2A28221F1B1B1F2F73949B9FA1A0A2A2A0 +A1A19F9D9C9C9A989B9B9A9A9A9B9D9D9C9D9D9C9D9C9C9A989A9A99999996999694929192 +8F8F8F8E8E8D8F8D918D8E8F8C898989898B89878988898B9D +F8F8F8F8F4AE969B999B9A9A9A9C9D9D9F9D9D9FA1A2A2A5A3A2A1A5A6A9AAAAA7A9A9A8A9 +ACA8A9ACB0AAA6A8A9AAACAFAFB1B5B5B6B5AFB0B1B4B4B4B4AD7755575755535358565659 +585650423A3026201A1A1A1B1A1D201D1F1F232422242B292626272A2D2F30363B413F4341 +3B3C3D3C3C3D414343413F3D34302F2A282E2E2F27241F1C1A1C2063959CA0A2A3A2A3A1A1 +A19F9D9D9D9F9C9C9A9C9A9C9D9CA09D9C9D9F9F9D9D9D9B9C9C999A999999969594929293 +928F92918F929292918E8F928D8B8B89898988898B8B8B8B9C +F8F8F9F8F4B59B9C9A9B9B999C9A9C9C9D9FA0A2A19FA1A2A2A2A2A5A6A8AAADACADAAAAA8 +A9A9AAACA5A5A8A9A9AAAEB3B1B3B5B3B6B6B3B3B3B4B4B3B7B7AD785F5E5C5A5856555755 +5356554F473E2B241D1A19181A1A1D1F1C1F1F1F202024232323212324272A2E312F313536 +3331332F343A3B3B3B3A34312A2724242B2F2B26221F1F1C1B1D277F9B9FA2A2A2A2A3A2A3 +A2A19FA09D9B9C9A9A9B9B9C9D9B9D9D9F9F9F9D9D9D9F9C9C9D9C9C9A9898989696949394 +9394928E92919492928F8F8F8C8B898B888889888989898B9D +F7F9FAF8F6BA9D9D9C9D9B9B9C9C9B9B9FA1A1A1A2A1A3A3A3A3A3A6A8AAAAADACADAAAAA9 +AAA9A8A1A1A9A8A9ADB0B3B3B1B3B5B6B8B8BABAB5B5B3B4B6BABAAE7A64645F5D58575859 +555153534E44362B231B16151818191C1D1C201F202020201F201C1D1D1D2023282A26262A +2728262624282A2B2D2F3129222222262A27221F1F1C181A1B1F378DA0A1A2A3A6A3A6A5A5 +A3A3A0A29D9F9D9B9B9A9B9B9B9C9DA0A19FA09FA19F9F9D9D9B9A9B9B9A96969695949594 +9494939292919293939193918D8D8B8B87898B88898D8C8C9D +F8F9F9F8F3B89C9C9D9B9A9C9C9C9C9C9C9FA1A2A0A2A6A6A3A3A5A8AAAAAAADACACA8ACAA +AAA7A29FA0AAAAA9ADB3B3B1B3B3B5B7BABBBABBBAB7B5B7B6BBBABBB07D6767625F5F5A5A +5753525252493F35272318151415161A1C1B1C1A1C1F1F1D1C1B1A1A19161A191A1C1C1D1F +20201C1F1F222223242D2822242826282821201C1C19191920243F869FA3A3A3A7A6A7A5A6 +A6A5A3A1A09FA09F9B9A9D9C9C9D9DA1A0A0A0A1A2A29F9FA09B9D9C9B9B99989694949396 +9294949594939292949392928F8E8B8988888B888B8C8C8E9F +F8F9F9F8F6B8A09D9B9B9B9C9C9C9C9C9F9FA0A1A2A5A5A5A5A7A9A7A9A9AAAEAEAAAAA9AC +A9A29A9CA1A8ADADAEB0B1B3B5B5B7B6B8BBBBBBB8B8B6B8B6BBBABABBAE7F706765625E5C +5A555655524C483B33271C1814131414161618191B1B1C1B1D1B1816161514141313121315 +1816161D28272822201D1F24262B2D23201B1B1B1816181D22273A6A8EA1A2A2A5A6A7A7A8 +A3A7A6A2A19FA09F9D9D9F9B9B9D9C9F9FA3A19FA1A2A0A19F9D9B9C9A9B9C969493969595 +9494929495939293949393928E8E8D89898989898C8B8B8D9C +F8F9F9F8F4BB9F9C9C9B9B9B9C9C9F9DA0A1A1A2A3A5A7A7A6A6AAACAAA9AAADACAAAAACAA +A79A9A9FA1A7ADAFAFB1B3B4B4B6BAB7B7BBBABBBBBABABBB8BAB7B7BDBEB38472706B6562 +5A585652514E4E433D2E231C161212121215151919181A1A1A19161816141413131310100F +0F1010151A1B1A1F1C1F26272724201A18191A1816181C22262626476C91A1A2A3A5A6A8A8 +A9A7A3A2A29FA0A09F9FA09D9D9D9FA0A2A2A09DA1A2A1A0A0A09B9C99999A969593969494 +939595949695929395929493918F8C8B88898989898B8C8C9D +F7F9F8F8F4B79C9B9D9B9A9C9C9CA09FA0A1A2A2A3A5A7A7A5A8AAA9ADAAA9ACACACACACAA +A19C9FA1A2A9AAAFB3B1B1B6B6B5BBBAB7BBBABABDBBBABBBBB8B7B8BEBCC0B38877736460 +5C5D58514F4C4B483D3A2E231B1514100F12141515151619181916191415151413120F0F0F +0F0F0E0F0F121618161816191916151419161615161F2226292418274F7095A1A2A3A7A7A8 +A9A8A3A2A1A0A3A1A0A0A19DA09D9FA2A29FA0A1A19FA1A1A19C9B9D9D9C9B989895969395 +94969593959893939695949392918C8B89898888898C8C8CA0 +F7F8F9F8F4BA9C9D9D9D9B9C9C9FA19FA0A2A1A2A3A2A5A7A6A9A9A8AAACAAAAAAACACA9A2 +9AA1A0A2A3A8ADB1B6B3B3B4B5B6BABBBABAB7BABABBBBBBBBB6BABCBDBCBEBEB189786D65 +60595A534C4C4A443E3A2F2B231C161210100F121413141616161516151516151315131310 +0F0F0D0D0C0D0E0F0F0F0F1010121416151414141A232928292214142A4C7698A3A1A5A7AA +A6A7A7A2A19FA1A1A0A0A2A0A09F9DA0A1A1A2A39DA09DA09F9D9D9C9C9A98999998989395 +959599959596969595919594918E8E8B878888888B8C8D8EA0 +F7F9FAF9F6BA9D9F9C9F9C9D9D9FA0A0A1A1A2A1A2A5A7A8A8AAAAACADAEAEAEAFB1B1A18E +8FA2A6A3A3A8AFB1B4B5B3B6B6B5BAB7BBBBB7BBBBBABABABBBCB8BBBEBDBDBEBEB488736C +675E5852504B4948413833302E261D191312100F0F10101412141414151314151314161516 +1312100F0E0F0D0E0E0E0F12141615151814151821292E2D281C1016162A5C849FA2A8A8A8 +A5A9A8A5A3A2A1A2A0A1A1A1A1A3A2A2A5A3A3A2A0A0A3A0A09D9D9D9C9B99989A95959598 +96969998969395959394949491918E8C89898B8B8C8C8B8C9F +F8F9FAF9F6BB9D9D9C9D9FA0A0A0A1A0A1A1A2A3A5A5A6A8A9A9ADAEB0AFB1B8C2C8B89B96 +989DAEA7A3ACB5B1AFB3B6B7B7B7BBB6B8BDB8BABAB8BABBBABCBABBBEB8BABBBDC1B18471 +6B696457534A4E47423833302F2E2A221B14120F0F0F0F0F10121012101013131213121013 +131312121010100F10121314161616141415151D292E2F2E2A160E13181A436D8FA1A7A9A9 +A7A7A6A5A5A3A2A2A2A1A09FA1A2A2A2A3A5A5A2A3A2A5A3A2A19D9D9D9C99989896959498 +96999696999396969593969492928D8F8B8B8B8B8B8E8F919D +F7F9F9F8F4BBA09F9C9CA09D9F9FA2A1A2A3A3A5A6A6A7A8AAAFB0B6BBC0C2C5CCCCBB9DA1 +AA9AA9AEA8AEB6B0AAB1B6BAB7B6B8B5B7BBBBB8B8B7B6B8B8BBBBBCBBB7BABDBDBCBCB384 +6C65655C564F45423C3A343031312F2D241B1A13100F0D0E0F0F0F100F10100F0F0F10100F +1012101010121010131312151414131010141B272F2F2F2D29130E0E101226527496A6A6A8 +A7A8A5A5A6A5A3A2A1A2A2A1A2A2A3A3A2A2A3A3A3A1A1A2A0A09DA09C9C9A9A9696969696 +9899969898969A9896969895919291918D8C8C898D91918F9C +F7F9FAF8F4BBA09F9D9D9FA0A0A0A1A0A3A5A5A6A7A7AAAAAEB7C2CED2CFCAC7C5C9C3B0A8 +AAA8A0B3AFB1B6B3B1B1B7BAB6B5B5B5B8B7B8B8B6B4B4BABBBCBDBBB8B8BBBDBDBCBABCAD +7F69605A555049474137373633333437362A231F16130F0D0D0D0D0E0F0E0E0F0F0F0E0F10 +0F0F0F0F0F1012121012121210121212141A232E3031312D28100D0D0E12162E5E80A2A7A8 +A8A8A7A7A6A5A5A5A2A1A2A0A1A3A3A2A3A3A3A3A3A2A2A1A0A09FA09D9D9B99999A989596 +95969899989698999695989392938F8F8D8F8E8E8D91918D9A +F7F8FAF7F4BB9D9DA0A09FA1A09FA1A0A6A5A6A8A8AAB4BDC3D1D6D6D6D2CBC7C5C1C0B5AA +A6B8B1ACB7B5B4B0B4B6B4B6B7B5B3B5B6B8B7B8B5B7B4B8B8BBBEBDBCB7B8BCBABCB7BABA +AF7E645A58534A443D3C3B37343536383F3F342D261A15130F0C0C0C140D0E0D0E0E0F0F0F +0E0F0F0F100F1010101010100F10101519222B303134312E220F0D0D0D12161A456A93A3A8 +A8A9AAA9A6A6A3A3A2A2A1A2A1A2A2A6A5A3A5A6A3A1A1A0A0A09FA09F9D9A999A99989698 +959698989999989998989A989593928F92918F8F8D8D8D8F9F +F8F8FAF8F4C09F9FA0A19F9FA1A1A0A2A6A6A8AFB8C4D0D8DCDEDDDCD8D4CCC7C4BDBCB4AA +A5ADB3AFB1B8B3AFB4B5B1B4B5B6B4B3B8B8B4B7B5B5B5B7B7B7BABDBBB5B7BBBABCB7B6B7 +B8AE7F605A5C5045433F3E3C3A3B3735414B4A3D30281F1916100E0C0E0D0D0C0D0E0E0E0E +0F0F0F0E0F0F0F120F10100F0F13161C20262F313336312D1A0E0D0D0D0E141424426A9CA7 +A9AAACA8A6A6A7A6A2A2A2A1A3A3A3A5A6A3A3A6A5A2A1A1A0A3A0A2A09D9B9B9D9A9A9696 +969896989999999A989898939192929292918F8E918E8F8D9B +F8F9FAF7F6BDA1A09F9D9F9FA1A1A2A5A7B1C1D0D7DEE0E2E2E0E0DFDBD5CAC4C5C0BBB8AF +AAA0A0B4A3B5B7AFB0B1B5B3B0B4B4B3B6B6B1B5B8B4B6B7B8B6B8BABABAB7B8B8BBBCB8B6 +B4B7AA7B6355524F4B43423E3C3E3A3B424B5A5143382E241C19140E0C0C0C0C0C0D0D0E0F +0F0F0F0F0F0F0F100F0F0F1013191C21232B33353436332A130E0D0D0D0D0E1418305C88A2 +A6A9A9AAA6A5A6A7A6A3A2A1A2A2A3A3A5A2A5A5A3A3A2A3A1A1A19C9F9F9D9C9C9D999B98 +969999999996989998969893919291928F918F8D8D918E919A +F8F9FAF7F4BDA1A0A2A0A1A0A2A5A7ADC0D4DBE2E4E5E5E5E2E2E0DBD8D2CEC8C2BDB6B7B7 +B5A394ACB0A1B7B6B0B1B0AFAEB3B6B5B6B3B0B5B5B5B6B6B5B8B8B7B7B8BABAB7BBBBBCBB +B5B8BBAD845E5552504C47423F3E3C3C424B5658594B362F28231A15100D0C0C0C0B0C0C0D +0D0D0D0D0D0E0E0F0F1013151C212426282E313134352F29100D0C0C0D0D0E1416224B719C +A6A9A9A7A5A6A5A8A6A6A3A0A3A1A5A5A3A3A5A5A6A2A2A3A1A0A29FA0A19F9C9D9D9B9A99 +96999598969596999995969491929193929291918E8E8F8E9B +F8F8FAF8F6BEA2A0A1A1A1A2A5A9B7CEDBE2E5E5E7EAE6E3E4E2DFD9D4CCC9C3C1BBBABEBD +BCB1A09FB699A6B6B4AEADB0B0B1B3B5B3B1AFB5B4B4B5B5B5B4B7B8BABABABCBAB8BCBBBA +B7B6B8BAAF82665C524E484748413E3E424751585E594B3C3034261C1A130F0D0B0B0B0B0B +0C0C0C0C0C0C0D0F12151B20282728262A2D2F31333130260F0D0C0C0C0D0D0F1C1B356389 +A6A6A8A8A8A6A5A5A6A3A3A5A1A3A3A2A3A5A6A3A2A3A3A2A2A2A29FA0A19F9C9C9B9B9A9A +9A999A9896959A9698949696949192939192928F8E8E8D8D9A +F8F9FAF8F7BC9F9D9DA2A5AABBCEDCE3E7E9EAE9E7EAEAE6E3DDDCD6CEC7C8C4BCBEBDBBBD +BABBAEACB1B58FAFB8ADA9AFB1B1B3AFB0B0AFB3B4B3B8B6B5B7BABBB7BCBDBDBDB5BBBCBB +BBB7B8B5B7AC886D5D534C4C4C48444443454C555D5F574F3E3A33291F1919160F0C0B0B0B +0B0C0C0C0E0F13151B2022282F2F2A292A2D2E3334352F1F0E0D0D0C0D0C0E0F1619295271 +9BA8AAA8A7A7A8A7A3A5A5A2A1A2A3A5A6A5A5A5A5A3A3A3A3A2A1A09FA0A09F9C9F9C999A +9A9D9A9A999699989895969591929393939293918E8D8F8E9C +F8F9FAF9F7BCA1A1A3A9BACFDDE5E7E7E9EBEBEAE7E9E9E7E3DFD8D1C7BABEBEB7B7BDBAB5 +B5BABEC3BEBDA3A0B4AFA7ADB3B3AEACB1B4B0B1B3B6B7B6B6BBBBBABABCBDBEBDBAB8BBBA +BDBEBBB8B5B8AA876C625550504F4A4749494C4E555859594A3F382E2A24211D1515120F0E +0E0F0F1214181A2027292830342E2D2D2B2B313534342F190D0C0D0C0C0D0E0F10181C3D62 +86A5AAAAAAA8A9A6A3A3A1A3A1A2A6A5A7A5A5A3A2A3A2A5A2A1A1A2A2A5A3A0A09F9B9A9A +999A999B9A969A999B999B9894939393929292918C8D8E919F +FAFAFAF8F8BDA2A7B4CBDEE6EBEBECEAEBEAECEAEAEBE7E9E7E2D8CEC1B4AFACB1AFB3B3B1 +B5C1D0CFC4BCB894A3B1B0AEB3B0ADADB1B3B1B5B3B4B3B6B6B6B8B8BABDBCBEBEBDBBBBBC +BDBEBEBAB8B5A2937E7263575151514F4F5252535250515553473C3B3130332D2923211F1A +1A191B1C1D22262B2F343536352F2E2B2A2D343834302A150D0C0D0C0D0E0E0E10141A2B56 +729CACACA9A8A8A7A5A7A5A3A5A3A5A7A6A5A5A5A3A2A2A3A3A3A2A1A1A5A3A0A19D9D9A9A +9A9B9A9B9C999B9A9B999998969594959293928F8E8E8E91A0 +F8FAFAF9F7C2B3C8DDEAEBEBEBEBECECECEBEAECEBEAE3DFDFD7CFCCC8C2BAB4B5BCBEC1C3 +C4CFD1CFC4B5BB9F8FA5B7B1AEAFACACB1B4B0B3B1B3B3B4B5B8B6B8B8BABDC0BDBEC1BDBD +BDBEBDB6B7A795939A89736A5F565253555356575352535253524A423F413F3E3D3A3A3531 +302F2E2F2B2D333837363A37342F2B29282E3436312E260F0D0C0C0C0C0D0D0F0F121B2248 +678DA6A9AAAAA9A9A7A9A8A7A7A3A5A5A6A5A5A2A2A2A2A3A1A2A1A3A2A2A3A2A09D9D9B9A +9A9D9B9B98989699999698989895939492918F8E8D8B8D8D9C +F8FAFAFAF9D8D5DFE5E9EAECECEBECEBEBE9E9EAEBEBE3DCD7D2D0CECAC4C2B8B1ADB3BABB +BBC7CEC9BDB8BBB68F94B1BBB4B1AAA8AEB3AFB4B1B3B5B3B4B4B7B7BBBBBCBDBEC1C1C0BE +BEBEBBBBAF96949DAFAE8C726E665952565C595A5857554F4F504F504C4A4A43474443443F +43433F3D3B37373C3A3B3C38342F28282B303536302E230D0C0C0C0C0D0D0E0E0F1018203B +5E7AA2A8A9AAAAAAA6A6A6A7A7A3A3A5A5A2A5A1A1A3A2A2A0A2A2A3A3A5A2A2A2A29F9C9D +9B9C9B9B9A989A9A9A999996989692939291938E8D8C8C8D9B +F9FAFAFAFAEFEAE9DEDBDDE7EBEBEDEBE6E4E5E3DEDFD5D5D8D6CFCBC8C5C4C1BDB4AFB7B7 +B1BBC3C3C0BDBBBBA898A5BBBBB3B1AEAEAEAEB0AFAFB3B5B0B4B8B5BBBCBCBBBEC0BEC0C1 +C0BDBCB59B949BB1B7B6AE8C76746E6055575D5D5A585653525053505259554F4E494C504F +504F4C4A474443433F3C3C37312D27232E3134332F2E230E0C0C0C0C0D0D0E0E0F10131B28 +566D94A7AAACAAA9A7A9A9A6A6A2A2A5A5A3A2A1A1A2A2A0A1A1A2A5A5A5A3A2A1A2A09D9D +9C9A9A9A9B99989A9A999A98949493929191928D8C8C8C8D9D +F8FAFAFAFBF6F0EFEAE2D7D7E4E9EAE3DED6D7C1B6BBC2DBDCD5D0CECBC5C4C3C2BEB8B5B3 +B4B6BEC3C2BDB7BCBAA099ADBCB8B6AFAEAFADAEAEA9ADB0B0B3B4B5B7BABBB8BABDBEBCBD +BEBDB8A6999AADBAB5B6B7B1917D79726656565C58565752535050524F4F55565651524F56 +58575655514F494A47423F362D2826282D31312E302F240D0C0B0C0C0E0D0E0F0F0F121D1B +41657EA7A9A9AAACA9A9A8A8A7A3A5A5A6A3A3A3A3A2A2A2A3A5A3A3A6A6A2A1A3A1A19F9D +9B9D9C9A999A9B9A989899989493939292918F8F8D8C8C8E9C +F8F9FBFBFDF4EDEFEDEBE6E2E5E4E5E2DDDBD5CBC9C4D5E0DDD6D1CFCCC7C4C2C3C3C0BCB4 +B0B3B8C0C1BDBABABEACA39FB7BEB3AEAFAFADACAAA8ADAFB0B3B4B6B8B7BCB8B8B8BDBDBE +BEBBA99598A9BABAB7B4B6B8B19376767667595156514F4F4F4E4E514A4B4B4F4E53575F65 +69676964605956504C413B312B2726272D2F2E2E312F280E0C0B0C0C0D0D100F100F101822 +305F729CA6A9AAAAA8A9A7A9A8A5A6A5A6A5A5A3A2A3A5A5A3A5A5A3A3A5A3A3A2A2A2A09D +9C9B9A9B9A9A9A9B99969898949492929392938E918B8B8F9C +F8FAFBFAFBF3EFEFF0F1F0EDECE9E9E6E6E4D9CFCFDBDBDEDBD6D1CCCBC9C7C2C2C2C2C3C0 +B5B0B6BEC0C0BDBDC1B8A69FA7BCB8ADADACADB0AEAEAEB1AFB5B5BAB8B6B8B7B8BAB8BDBE +BCB19893A3B5B8BDB8B6B7B8B8B18C76747264534A4B4E4E4A44484845434345484C51575D +5F636360605C594F473E382F2A2726282D2E302F302B2B130C0B0C0D0D0E0E0F0F0F101427 +285C6D87A5A9A9A9A6A8A8A8A6A7A7A6A3A5A6A3A3A3A6A2A5A7A5A6A3A6A3A1A2A29FA09C +9C99969A999A9A989C999B9896989493959393918F8F8F919B +F9FAFAFBFDF6F0F2F2F2F1F0ECEAE6E3DDE5E0D5DCDCDBDDD9D6CFC9C8C7C9C4C4C4C3C4C1 +C0B7B1BBC0C2C1C1C1C2A9A99FAFBEB3B0AEADB1B0AFACB1ADB1B1B6B5B3B5B3B5B4B4B8BA +B39D959AB1B6B6BCBABBB7B7B6B5B18F74706E6451434548433F433D3D3F3F3F41484F4F58 +5A59585C595A5553473E332D2827272831332F312F2B2B160D0C0C0D0D0F0E0E0F0F101328 +2950707BA2A9A9AAA7AAA7A7A7A8A8A5A7A5A3A6A5A3A6A3A3A6A8A6A3A5A3A0A0A3A0A19F +9B9C999A9C9B9C9B9C96989999959494959493928F91918F9C +F9FBFBFBFDF6F1F3F4F4F4F1F1ECE9DCD8DBD8E2DCD8D8DCD9D8D1CAC7CBCAC7C4C4C4C4C1 +C4C0B6B7BDC3C2C1C3C3B7ADA7A1B8BDB4ADAEB1AEADA9AEB0B3B1B0B0AFB1A2AFAEAFB3B1 +A1959AB3B7B5BCBCB8BCB5B5B6B8BBB08F716A625E513F3C3F3F3E3B35353B3A3D3E444A4F +565A5C5D5857524A443A302D2824262F343031342E2D2E1B0D0C0D0E0E0F0E0F0F0F101322 +2D47717699A8A9AAA9ACA9A8A8A8A8A8A8A5A6A3A5A6A3A6A6A5A5A3A5A6A6A2A0A1A09F9C +9B9C9C9A9D9C9B9C9D989999989593939495938E918E8F8F9B +F9FAFBFBFBF7F4F4F3F3F3F2F2F1EFE6E3DBE2E4DBD5D8DCD9D6CECBC4C9CBCAC7C8C7C5C2 +C4C4C2BABAC2C5C7C4C2C0ACB0A1AABBBCAEAFB3AEA9A9AAAEAEAFB0AAAEAAACACACAAAC9F +9398AFBABBB8BDBABAB8B1B3B5B8B6B5AF8F6E625D5853413836342E31313133343C3F444A +50555356514E4C413A332E2B26232B3138332F36302E34200D0C0C0D0E0F0F0F0F0F10131C +373E6D7A86A2A7AAAAACACAAA8A6A9A8A8A7A6A6A6A3A2A5A3A5A6A5A3A7A3A2A1A1A09F9D +9C9B9B9D9C9C9A9C9B9A9B99959393919392928E918E918F9C +FAFBFBFAFEF7F6F6F4F2F0ECEFECEAE3E5EBE9E5DFDDDBDDD8D5CFCBC7C4C7CBC8C8C7C5C3 +C2C5C3C1BCBCC3C7C5C2C1B3ACAFA1AEBDB6B1AEACA8A9A8AAADAFAEAAAAA6A7A7A5A5A08E +8EA2B8BBBDBCBCBBBBB4B1B3B6B6B7B6B4AF91665E595851473833302E2D2F2D2E35353B3F +444A4E4B48443F3B34302B292426313636332F342F3033220D0C0E0D0E0E0F0F0F0F12131D +413C6B807A899BA6ACAAAAA8AAA9A9A9A8A8A8A6A3A2A5A2A5A5A7A6A3A7A5A3A3A1A09D9D +9C9D9C9B9C9B9B9B999999989595949292928D91939192919D +FAFAFDFAFEF7F4F8F7F3EFEBEAE6E2E5EDF0EBE9E3DFDDDDDBD4CFCAC5C7C7C9C5C7C8C8C3 +C2C2C3C5C2C0C1C1C3C4C2C2ACBAADA1B3BCB8B1AEAAA6A8A6A7A8AAADAEA7A69F9A9A8986 +8FAAB5BABCBDBCBCB5B3B1B3B3B5B7B6B6BCB186635C5855524B42362E292A2D2E2E2F3038 +3E424342423F3C34302D2824262D3336373334352F3335230E0C0D0E100F0F100F0F101323 +4A426B8C857A848D9AA6A9A9AAA8A8A8A8A8A7A5A6A6A5A5A5A6A6A6A5A7A6A5A3A2A09FA2 +A19F9D9C9D9A9C9B9B9A9999959494929391929193919292A0 +F9FAFBFDFDF7F3F3F3F6F4F1ECE6EFEFEFF1EDEBE4E5DFDDD7D2CEC7C5C7C7C8C9C8CACAC4 +C5C2C2C4C4C7C2BAC4C5C3C5B4B1BDAAA2B8BDB8B3ADA8A8A2A3A9AFAFB1AFACA39F917D80 +96A7B1B6BCBEBEBEB6B5B3ADA8B1B8B8BDB8AE80635E5C56514F51524B3E302E2F2E2F3037 +34383B3835332F2E2E2923262B33373436353A342F333A260F0C0D0F0F0F0F0F0F10121428 +5755739495878884828E9FA5A9A6A8A8A8A8A9A8A7A3A3A5A5A5A3A6A5A7A6A3A5A3A2A0A2 +9F9F9D9C9B9A9C9B9B9A9898969595939492929293949493A2 +F9FAFBFBFDF8F2F1F1F0EAE9ECEDF1EDF0F1F0EBE5E5E3DCD6CEC9C5C4C4C4C8CBCAC9C8C5 +C9C5C1C2C4C9C8C0BAC1C4C5C1AEBCBCA7A3B6BCB4B0ADA8A5A6A7AEB0AFB0AFAA9F877B81 +96A1A7B1BBBCBDBCB5B4B0AAA5AEB5B6BBB082635F575856514C4B53585652493C3433302E +2D2F2E2B2A2A2A282828282A33373838353438312F353A28100C0D0E0F0F0F0F0F10121636 +5F6970787B7F85898684868D9DA3A7A8A8A7A9A7A6A3A2A5A5A6A5A3A5A7A6A5A3A2A0A1A1 +A09D9B9D9D9D9C9B9C9A9896959695929292929393929494A1 +F8F9FBFBFDF9F6F4F1F1F1F3F1ECEFF0F1F1F0ECE7E5E5E0D6D0CBC7C5C3C3C5C7C9C9CAC7 +C7C4C2C2C2C4C5C5C1BEC1C7C5B6B5BEB8A1A3B7B6ADAAAAA7A5AAAFAFAFAFB1AA94807D89 +959AA2ADB4B8BCBCB6B6AFACA6A8B0B5B08F3B3E735E4F52514F4A4F4C505D625A4941342D +292827232727282B2A2D2D2F36373A38353335302F343829120C0E0F0F0F0F100F10142142 +697B491F224F818989888585868F9FA5A7A8A7A8A5A6A6A5A7A8A9A6A5A7A7A5A3A29F9FA1 +9F9F9D9D9F9D9B9B9B999896949693939392929293929294A1 +F9FAFBFBFBF6F1F3F3F7F6F2F1EBEDF1F2F2F0ECE7E6E4E4D8CFCAC4C7C5C5C7CAC9CACAC8 +C9C5C4C3C2C5C7C4C5C2BEC2C4C3B4BEC1B69DACB5AFA8AAA8A2A7ACADACADAEA58D81848F +94969DA5AEB5BAB8BBB6AFA8A0A1A9AEA04A242973945F52514E4A4B4B4B4E555E5C554F42 +302F292827282B2E2E2F3131333435353436373130363A29120C0E0F0F0F0F0F1013192D4C +708B38151F567E868B89898887848792A0A7A6A5A6A5A5A6A6A7A8A7A2A5A3A5A3A2A0A1A0 +9C9D9B9D9D9C9A9999999A95949594969394939295969494A0 +F9F9FAFBFDF8F6F7F7F6F3F3F2ECECEFF3F2F0EFE9E7E4E4DCCFC7C3C4C4C5C5C7CBCBCBC9 +C7C7C7C4C2C3C2C4C7C7C4C0C1C7BBB5C1C0ADA0ADB5B0ACA7A6A2A8ADACACA8928B899696 +989599A1A9B1B6B7B8BAB0ACA29DA1A07B21303D7BA0985D4C504B4B45494B4E51524F4C4B +47413B363133312F302F303035363A353334313031373A29130D0F101010101012141D3D66 +789342163D6C7D81878986888989878689949FA3A5A5A6A6A5A7A7A5A3A7A6A6A3A2A1A0A0 +A09F9C9B9C9B999996989998959695959694959593949596A1 +F8F9FBFBFDF9F4F6F6F4F3F2F2EFECEBF1F2F1EDEAE7E5E3DED1C9C5C4C4C4C3C9C9CACAC8 +C9C7CAC7C4C2C2C2C3C7C5C5C2C3C3B3C1C4BEA89BADB3AFA9A8A6A8ACAEAD9C8C8C98A099 +9A969B9FA8ACB1B6B7B7AFADA8A29F954B192A52919A99945A4B4E4E494A4A4A4B4C4E4544 +43413E3A3731312F2E3030303A3B3A3838333130333A3B26140E0F1012101012141829486B +829864204577747F85868685888B8B89898586919CA1A3A5A5A5A8A6A7A8A8A7A3A2A1A0A1 +9F9F9C9B9D999A98969698969696959596969695959594949F +F8FAFBFBFDF7F3F4F3F2F2F2F2F0ECECEDF0F0EFE9E7E4E0DFD5CBC5C4C3C4C5C9CBCBCCCA +CACACAC7C7C3C2C0C3C7C8C8C9C2C0B8B6C2C3BEA59CB0B5ACA9A7A7A7A9A58D8895A3A098 +95969B9DA5ACACB3B4B4B0AFA9A6A3892D1B29538C9C949D8F57484C4A4A494B494A474541 +3F3C3A3333312F2F2F303035373A3B373A36363131383823130E0F121212121316213C5670 +89897B35567972787E7F808688898D8B8B87818286929DA1A2A6A7A5A5A6A6A7A6A5A2A09F +9F9D9D9F9D9A9A98989899989496969994969895959594959D +F9FAFBFDFEF8F3F4F3F3F3F3F3F2F1EAEAEDF0EFE9E5E3E0DDD6CCC3C3C2C5C7C8C8C7CACA +C9C9C9C9C7C8C7C5C4C4C7C5C9CAC5BDB3C1C5C4B79CA3B3AFA7A5A7A7A58E888BA2A5A19C +9594999FA1A7AEB0B6B4B1AFADA99D722841667F988F959D9D8C554C4B4A4B4A4A4A444342 +3E35312E2D2E2D2F31313137383B38373C3B3733353A3B24140F1013131213151D3A656C7F +84808D3D636E7277777D7A7B88888B898B88878786818895A0A5A6A5A6A6A6A7A7A2A2A1A2 +9FA09D9D9C9D9B98999996999696959895989899949495959F +F8F9FAFBFEF9F4F3F3F3F4F2F4F4F3ECEAEAECEDEAE6E0DFDDD8CFC4C7C5C7CBC8C8C7C5C5 +C5C7C8C9C9C9C9C7C8C7C5C8CACCCAC3BABAC7C7C2B19CA6B1A3A0A1A19584869AA7A2A099 +938D959B9DA3A8AEB5B7B3ACA9AD9658648BA8B8C99D919996A081524C4B494A4A4A45423F +3D37302E2E2F31313333353C3C3B3C3C3D3D37333C3C3724141012131414161C2B6E8B8789 +7485A86B69736D7776797A787D8281818484888888847E808C9BA3A5A5A6A7A5A5A2A1A1A0 +9D9F9D9C9D9B9B9A9B9698999898969696969698949495959F +F9FAFBFDFDFAF6F6F4F3F4F4F6F7F6F2EFEAE6E9E6E6E0DFDCD8D2C4C4C7C8CBC8C8C7C7C5 +C5CACBCCCCCECBC9CAC8C9C8C9C7C8C8C2BCC5C7C5C1ACA0A9B1A5A09682808CA0A6A2A0A0 +968D8C93969A9FA5AEB1AFA8A7A3804B7399BAC2D1D09A8D8692A16E494A49494B49433E3C +373533303034313635383B3C3D3E3F41423D37373B3C36261312121316161B263665969581 +729FAE93817B6B737A7F85827B7B7D7E7E7D7A7E7F7F7F8085858F9DA3A7A8A5A3A2A2A0A0 +9D9F9C9D9C9B9B9C999596989899959695989895959394939D +F8F8FDFBFBF9F8F7F6F4F6F6F7F6F7F3F1E7E0E3E4E3E0DED8D4D1C8C2C8C8CCCACBC8C7C4 +C4C8CBCBCCCECFCBCCC9C4C5C7C3C7C7C5C4C0C4C7C5BEA69FB0B5A98E86879AA2A3A19F9C +968F8D8D8C919BA2ACB1B1A9A29659497DA8D9D9D8DBA68D898D9F8C4A454848494442383C +353A3735353A3B3B373B3E3D41414443443B383B383C342214151413181B26354A6E99A176 +80ACB0A98C857372777E858482847E7D7D7A79787A7B7E7D7D7F7D8798A2A3A5A5A3A09FA1 +9F9D9D9D9D9B9C9B99959A9A9696969898999994939393949C +F9F9FBFBFBF9F7F7F6F6F6F7F7F4F6F3F0E7E0DCE2DEDDDBD5D1D0CBC5CBCBCCCAC8CAC9C7 +C5C8C9CACCCFD1CECCC8C5C8C7C5C8C9C9CAC4C3C5C7C4BC9CA1B1A79492A2AFAEADA7A3A2 +99918E91898C969CA1A8AFAE9F8C3B4C8EB4DEE5D9D8B48F9598A39C5D4342444748453F3B +383637373B3D3B3A373D4142454945433D3A3A3A3B3F311D131913141A243549627EA0A581 +99ACB4B18E897F70777B818281828584817D7D7A777B7D7D797879777F8B99A0A3A2A1A09F +9F9D9C9D9D9D9C9B999596999596959698969896959694949D +F9FAFDFAFDFAF7F8F6F7F6F7F8F6F6F0EFE9DED5D9DED9D7D6D1D0CEC9C7CCCBCBCECCCCCA +C7C4C8C9CACACECCCCCCC8C4C7C7CACACACAC5C4BEC4C5C4B59A9896A0A6B6BCBBB8B5AEAA +A1998F89898B91989D9DA3A19C79213493BDD6DFD6D9C1A19F9DA6A76B443F3F4344453F3F +3E413F3F3F423D3C3C3F42474B4943423E3B3B383D412E1C191D151C2834485E7789999AA7 +A6AAB8B5938B867372787D7F817F8180807B7D7B7979797E817D787878747D8B999DA1A09D +9F9D9B9A9C9C9C9A9A989998989A989996999894959595949D +F9FAFBFAFDFAF9F8F7F8F7F6F6F3F1EDEBE9E0D5D0D9D9D6D2CFCECFCECBCCCECECECACBC9 +C7C7C9C8CBCACCC9CBCCCBC9C9C5C8C8C7C9C7C8C3BDC2C4C0AF928CA3BABDBEC0BDBAB7B3 +B3A2988F8B898C8E93989C9993561B1F77D0D4CCCAD1C0B1A79AA0A1773E3D3F4144454143 +4141414341413D3D3F4245484C4B453F3D37373B3C3B2D1A1F22193142535E74849288A0B8 +ACADBAAC918C87786E76777D7E7E7F7B7E7F7E7F7D7B7B7E7E7F7D797A767071798C999D9D +9B9D9D9D9C9B9B9A9B9B9B9A9896999898969694949595949D +F9F9FDFAFEF9F9FAFAF9F8F6F0ECEAE9E7E5E2D6CFD4D6D2CFCBCED0D1CBCCCECFCFCCCBC8 +C9C8C8C7C9CACCCBCACCCBCACBC8C7C3C7C9C9CAC9C3C0C7C7C1A58FB4C2C0BEC1C0BBBCBB +B8B0A69D918C898C8F9594988837191930A3CBC2BB9391B3A7998C867136353B3E413F3E3F +3F423F413E3E3A3B3E434E504F4743413C3B3F3E3C3B2A15272D2E789494808B918978A8C0 +BAB1BCA68E8E8B81767172777B7D807F7B787A7D807F7E7F818282807F7B79716D6D84929A +9B9C9D9F9D9C9C9C9C9A9F9B9A99969695959694939594989D +F9F9FDFAFEF9F7F9F9FAF7F3EDE6E5E3E4E4E2D7CACAD1D1CBCCCFD0D2D1CCD0CECCCCCBC9 +C9C8CAC8C9CACAC8CACCCCCCCCCAC9C5C8CBCACAC8C7C4C2C4C5B89AA1BCC0C1C1C0BEBBBC +BDBAB3AC9C928C8C8D9392937B231618225F7673625D94ACA69B92926D372D2F343A373A3B +41413F3E3B3B3B3E434A55534F44433F3E424242423A28183A73ADC5C1BBA195937B84A6B7 +B7BABA998B8C89867B7272777B7E7F7E7D7D7D787D7F7E7E81868685827E7B78736D6B737F +919A9C9F9F9D9B9B9C9A9C9B989A969696959491939393959F +F9FBFDFBFDF8F4F8F9F9F9F4F0E7E3E0E3E0DDD7C4C3CED1CCCFD1D4D5D5D0CFCFCECCCECC +CCCACAC9C8C7C8C9CBCFCECFCBCCCBC9C8CBC9C8C7CAC9C5C0C3C3AD9BA5BDC3BEBEBDBCBC +BDBCB5B6AA9F969191959F94621B1615225277726C7F8FA29F9A9C926B3E352F2F2F2F3536 +3B383838343842484A525859504B4B4341434544453E283DA5D0D9D6D1C9B59C94789DA9B6 +BBC0B087828B8988817872777B80807F7F817E7D7E7D7E81848786868584827F79766E6764 +7087929B9C9C9B9C9C989A9B999998969695938F959393939C +F8FAFEFBFDF8F4F6F6F9F9F8F4EFE9E4E0DDD7D2C3C1C8CFCCCBCED1D8D8D1D0CFCCCCCECB +CCCBCBC7C9CACBCCCED0CCCFCECECCCCC8CBC9C9C5C5C9C9C3BEC4BC9F95AEC1C4C0BEC0BE +BEBEBECFBBA7A7A2999C9D9850261A1822597377858C919492959F9366423E3B3A36343535 +343A383A3C42484F5A62655F5650494442444848474E79C0DBDEE0DCD8CFAF9D8991AAB1B8 +BEBCA07E78888D89867872737A7F8081827D7F7E7F7B808484848585858584817D7D777166 +5F667387949A9A9B9B9B9C9A9896949895939291929393939D +F9FBFDFBFEF9F6F4F3F8F9F8F7F2F0EAE2D8D6D2C7C0C4CECECECFD4D8D9D5D1CFCFCCCCC8 +CCCBCAC8C9CACBCBCECCCCCFCFCFD0CACBCECBCAC7C5C9CAC4BEBEC1AE9894B6C2C2BCBDBD +C1C4C1D2CBB0AFB3A69F9B8E3B3A312A497F8D7A7A6D738186868D8F5F473F3E3F3D3F3C3E +3D3B3D41454C586371737162534E474544494A4C60A8D6DEE3E2E3DDD9CEA8997E9CA9ACB7 +C0B18C8676808C8E8881777479807F828282827E808282848484868181847F817D7978766E +635F646B798B94999A999B9B9A969494959492928E9295969F +F9FBFDFBFDF9F6F4F4F4F4F7F8F3F1EBDFD5D2D1CCC0BECCD0D1D4D5D8DBDBD2CFCFCECCCA +CECCCCCBC7C7C8C8CECBCBCECFD0D0D0CED0CCCBC8C8C5CAC7C5C1C0BCA5959BBBBDBBB7BC +C4D0E0E7E5CCB1B3B3A89D71273D495A8DACA99A8D715F747A8588895C4A43434341414145 +4547474F595F66707777715D514A4543494A5169BDDDE3E3E4E3E2DDD5C3A2948B9CA9B0B8 +BB9A87897D79898D88887F7273797F7E8181807F7F808282868887858280807F7B7B7D7976 +70696067676D7A8B9595989A9896949493949392929394939D +FAFBFBFBFDFAF6F4F3F2F2F3F6F3F3ECE0D9D5D2D0C2BEC9D0D4D7D7DBDDDDD8D1CFCED0CC +CCCACACAC8C8C8C9CBCCC9CCCCCED1D0D0D0CCCCC8C9C7C8C7C7C4C0BEB7998FA2BEBDB7C0 +C4E3EAE6ECE7C4A9AFAE9F5323354F82B1C2BDB3A8998F7D5F777F7F654F48474841434948 +4A4E50565F65717B817D6E5C4F4843454C5069C1DFE5E7E9E9E3E0D6C4AAA1958B99A2B3BB +AC8C898B87777E88898B82767076797D8080807E79787B828688848484807F807E7E7D7D7A +776E6765696C6D727F8D95969596949395959392929394949C +F9FBFDFDFEF9F7F6F6F4F1F1F2F2F2F0ECE7E0DBD5C7BEC4D1D5D6D8DCDCDDDBD4D0CFD1CE +CCCBC8C9CACACCCBCCCACBCECED0D1D0D0D1CFCCC9C7C7C7C5C7C5C5C1BCA68D91ACBBC0BB +C7EAEAEDF2EFD7ACA6AD8E3E212A5894B5C9CEC8C1ACA6A6958D878B6D564E4F4B494B4C4B +4E53595F6C777F84867F6D594C47494A4E5DBBE2E7E9EAEAE7DCCBBDADA0A3998B94A2B4B5 +918B8B898C7E79828B898579716B7477797D7D7977747A80878785858482818484817E7F7F +7B7772676A70726C6D7489949393939396959593939492939D +F9FAFDFBFDF9F6F6F4F4F1F1F0EFEFEFEFECE9E2D9D2C5C3D1D5D6D8D9DCDEDDD6D1CFCFCF +CCCCCECFCCCCC9CBCBCBCACCCECFD0D1D0D0CECECCC5C7C7C3C4C7C8C7BEB3948D96B7C2BE +C3EFEBF3F3F0D8B3ADA97A3B23265F94AFC7CCCFCFC9BDBEBAA28F9469555551504B505052 +585D636A717B8488887B6C58504A4A4B489FDDE6EAECEBE5D6C4BDB8AF9F9B9D8B8D9BAC9C +8D8B89898B887879878B887D766D71747D7D7A787877798085878684858181848786868484 +7E7E79726C737476717077808C9294959395949193949294A0 +F9FBFDFBFDF8F6F6F4F3F2F0F1ECE9E7E9EAE9E5DFDBCAC5CFD7D7D7DBDCDDDCD9D1CFCFD0 +CFD0CFCECECCCBCCCECCC9CBCACBCED0D1D1D0CECCC9C5C9C7C5C8C9C8C3BDAA8F8D9FC1C0 +BDEAF4F3F0EDCABBB59C5335232B6787A3BBCBCECFD1CECCCBC7B6A77B5C56535351535759 +5E63697278808688877A6A5D514C4C4464D1E4EAEAECE6D0C4C0BDBAB4A398A1948F939692 +8E8B8B88898B8176808D888277706E73787A7A787473787D81858282828084848585868789 +85857F7A77747779767476737B88919495939595949594939D +F9FAFDFDFDF9F4F7F3F4F2EFEBEBE6E2E2E0E2E0DFDCD0C4CBD4D6D8D8DBDCDDDCD5CED0CE +CECFCECECCCCCECECCCBCACACBCCCECFD0D1D0D0CECBC8CAC8C5C8C9CCC9C2BDA58B8CADC1 +BACBE9EFEBD4B7C2B382312B222E647B92ADC0C9CFD5D4D1CFD0CABC855E5959595557555A +5F666E77818186878678695D534C483FAFDEE7EAEBE7D2C3C1BDBCB7B7AC959C9C9A959592 +8F8D8C8887898879778787827A726D71787B7D7B7473797E81868182828484848587888B8E +8D8986827E78797E7A79797976777F8D94949495969594949B +F9FBFDFBFEF8F4F4F3F3F0F0EBEBE7E3DFDEDCDCD9D7D4C7C4D0D7D7D9DBDDDEDBD7CECECC +CCCFCECECECCCFCCCCCACACACBC9CED0D1D0CFD1CFCCCBCAC9C7C9CACAC9C5C5BEA18992B8 +C5BAB0BBBAB0BEBCB0732D26212B596D7D9BAFBECAD0D2D4D2D2CFC37A59585959565C5960 +64696D7881868989877A6B6058534165D4E4EAECE9D5C4C2C2C0BDBEBDB39D959D9F9B9591 +8E8D8B898C898780778088867F7370717877787D7974797B818886868582828688888B8D92 +92938B8885817B858782807E7E7B798087919494949495949D +F9FAFDFAFDF7F2F3F3F4F1EDEDE9E9E5DEDCD8D7D5D2D1CCC1C9D6D8D6D9DDDDDDD9D4D0CF +CECFCECECECFD0CBCECBCCCBCBC9CCCED0D0CFD0CFCFCFCCCAC5C7C8C9C7C5C8C3BEA387A1 +C3CAC1C9C9C4C0B09D875D281D223F5D70859CB3C0CCD0D0CFD1D1C2725E5C57595C5F6064 +64676D747E84898C867A6E625F573C98DDE7ECEAD8C5C3C4C4C0C0C0C0BBAC96989C9C9595 +8F8D8D8C8E8B89897B7986898279717178787A7A7874797D8488878686858187898C8E8D8F +91928E8D8C8882868E8D89858584808585888D92929291939C +FAFBFDFDFDF7F3F3F2F2EDEDEBE6E6E3DCD7D6D4D1D1CECBC0BDCFD6D8D8DCDDDBDBD8D1D0 +CFCFCCCECECECFC9CCCECCCCCCC8CACBD0D0CECFCFCFCECECCC9C8C9C8C5C4C5C4C2BAA38C +B5C8C7D1D1CBC3B484818767281A2136567188A1B0C2C8CCCECED0B06A5E5D5D585E5F6363 +63696D71787F868682766C65605344BAE2E9E9DCC8C1C3C2C4C2C3C0C1BDBBA696949B9A89 +938F8E8D8D888C8C86767E8C867A717174777B7D77747A7E81888887888889898C8D929492 +939392938F8C88878E93938E898987888B8D888B91928F9399 +FAFAFDFBFDF7F2F1F1F1ECEAE7E3E2DFDCD7D4D1CECFCECBC8BBC5D6D9D8DBDCDCDCDBD5CE +CECECFCCCECFD0CCCCCECCCECCC8CACBCED1CCCECBCBCBCCCBC9C8C5C1BCB6B4B0ADA9A899 +94C2C7C8C9C8C19A4E6495AD873720242D4B70859BB1C0C2C5C9C99B62605F5E5E605F6565 +666B6B6C777D80827A737069654F59CEE5E6D9C7C2C2C4C3C4C2C2C0C2C0BDB6A999999C96 +95949192918C8D8C8D7B7A898981776E7174797978747A808488888987878B87888F949698 +959695969593938D8F969B958E8D8C8E929693888C9293929A +FAFBFDFBFDF6F1F0F1F0EAE9E6E2DDD9D6D6D4D4CFCECCCCCABDBDD1DBD8D9DDDBDBDCD8D0 +CECBCECFCECCCECECECCCECECECBCBCCCCCECBCBC5C7C3C4C1BDB5B0A69D9B9B9BA0A2A2A5 +9AA7C5C9C9C4AE55283B82ACB5A26245372B48697A93A9B6BBC2C08B65605E5C5F5E606267 +66666A6E72787A7E7A72706B654579D8E6DBC8C2C4C7C5C3C2BEC1C1C1C1C1BDBDB8B1ACA8 +A29C93918E8C8D8E8C8B7D868B877F6E707674787878797F8288888887898C898D9194999C +9D9A9A9B9B9A9A958E969D9C9594939399A0A19B928E8E919A +FAFBFDFBFDF3ECECEDECE9E6E4E2DCD6D5D4D2D1CECBCACCC7C4B8C7D6D7D7DBDCDCDCDBD2 +CFCCCECCCECFCECECFCCCACECBCACBC8C5C2BDBBB4B0A8A8A5A5A2A19F9C9C9FA5ACB1B5BB +B7ADC2C7C7BC852E20284582A9B8B084694E3547647E93A6B0BAB57E6664605A5D5C626767 +656667676C7478797671716C654193D5D6C0BABEC1C7C3C2C3C0C3C1C1C0C0BEBEBEC0BDBB +B49F9391918E8C8F8E8F7F7F8F8D887970727777777A7B7D82888888898C8C898F989B9AA0 +A19F9B9DA1A0A19D9496A1A29B969B9D9FA6A9A6A1958E8F9A +F9FBFBFBFDF2EBEAE9EAE6E3DFDEDBD4D5D2D0D0CECCCECBC4C1B8BAD1D5D7DBD9DBDBDCD7 +CFCCCECCCECFCECCCCCACAC7C1BBB6B1AEA9A9ACA5A7A6A7A7A7AAA9B0B1B5BBBEC0C1C1C3 +C2C1C0C5C7A782592B1F295181A3B3AC8476603E3C677F8EA1AAAC766665625F5F63626367 +6764676972717376747176735F47A7C9B39C9DA2AEBCBEC1C4C3C3C0C1C0C1C0C0BDC0C0BD +AE8E8B8B89888B8C8F8F847D8E8E8B867777797877787B7E82888888898B8C8E9396989BA2 +A5A29D9CA2A5A7A39D9BA7A6A2A09FA3A5A9AEADACA18B8B98 +F8F9FDFBFDEDE3E3E3E5E3E0DBD9D7D0D1D1D0D0CFCFCCCAC5C2BDB7C9D6D7D9DCDCDCDBD7 +D1CECFCCCFCECCC5C3B8B4ACA8A6A7A6A7A7A9AEB0B5BEC0C0BEC3C1C5C2C2C3C3C2C2C1C4 +C3C3C2BDB388817B60302741586C8D99917973694243697A8B969A7269676664646465646C +69666A696B707374717377785A5EC1CBB1A8A59F9FA0A5AFBCC2C1C1C1C0BEC0C0BEBEBCAE +8F7E7674707378797A848174858C8B8B7E7A797879797B7E8187898989898C8F949A9A9FA6 +A5A5A39FA2A7ACA8A19CA3A9A8A7A5A7AAAEB1B1B1AC948094 +FAFBFDFBFBEBDEDCDBDEDCD7D6D2D1CFD0CFCCCCCECECCCBC7C1C0B6C2D2D7DBD9DBD9DBD9 +D2D0CECBC9C2B5AEA9A3A6A5A5A5ACB3B6BEC2C4C7C7CACCC9C8C5C4C7C5C8C7C5C3C3C2C5 +C4C5C2BDAF806B6664594F5052525C7B8E8C786D5C36386277868C776A696D6B646465656A +6766666B6C727478767678775385CFC8BCC1BEBAAEA29C9AA2ACB4B8BDC0BEBBBEBDB7A389 +888B827B7A797A7B7A7A78646C808588857B797B7E7B7B80818588898B8C8F93989B9FA1A8 +A7A9A1A0A3A8AEADA7A0A3AAACA9A9AAB1B3B6B6B8B4A17F91 +F9FAFDFBFBEADCDBD8D8D5D5D0CBC5C5CAC5C7C7CACCCACAC7C1C5BCBED1D6D9DBDCDDDCD8 +D7CEC2B8AFACA9A9A7A5ADB3BBBEC5C7C7C8C7CAC8CACCCCCBC9C8C5C7C8C9C8C8C5C3C3C3 +C4C2C3C1C0A87A727B889292887A696B88A09F84664E343865767D816C6A706C6566646565 +6A696C6D6E7174777474797352A2C4C0BDC1C2C4C2C0B6A9A5A0A19CA2A8B0B3B8A7968B88 +8B96959495939696938F8B76697778797E807E7E7D7E7E807E868D8B8E8F929399A0A3A8AC +ADAAA3A0A6AAADAFACA5A7ACADACACADB3B5B8BCBCB8AE8788 +F9FAFBFBFAE3CBCACAC7C3BDBCB0ADADADAEB7C0C5CACBC9C8C7C8C2BDC8D7D8D9DBDCD8D4 +CFBBA9A7A7A7B1B7BBC0C3C4C8C9CACACBC9C9CBCCCACCCCCBC9CAC8C8C5C7C9C8C5C4C4C5 +C7C5C4C2C3BDADA8AFBABBBDB8A7917A798FA19A816B5C49486576887A6A6E6B6A65606262 +64696B6A716E737371767B7358A9B8BBBDC0C3C7C3C1C2C1BEB5ACA2A09C9A9A99958B8788 +8B999B9A9C9D9F9D9F9C998F7D88857B7472797F7E7D7F7F82868D8D928F94969CA1A9ADB1 +AEAAA6A2A3ACB0B0B1A9A8ACAEAFACACB4BBBBBCBEBDB59384 +F9FAFBFAFAE7D1CFCBC7C4BDBBAFACA8A3A6A7B3B4C0C5C8C4C7CAC9BEC2D4D7D6D7D2C8BD +BDB6A9ADBAC3C9C8C4C7C8C9C9CACACACCCECACBCCC8CACECFCBC9C7C7C7C7C8C5C5C5C4C3 +C5C7C5C4C5C2BEB8BCC2C1C4C5C3B69B847D8B9A92867165554C6D7F816A6D6C6566636260 +6467696E707377787B7E806B64AFB3BABCC2C4C4C3C3C4C2C4C0C0C0BCB5A59493948E8B89 +88969B9C9A9FA0A09D9F9F99878D928C816D6A71767B7E8286888E919393959B9FA7A8AAAA +A6A09B9BA0A6B0B4B0ADA9ACAEAFAEAFB1BCBEBDC0BDB59B82 +FAFAFDFBFBF3E6E5E2DFD9D5D1C7C1BCBBB8B6B7AFAAB5BDC0C4CACBC0C0C9CEC8C1BDBDBC +BDC2C5CACBCCCECCC8C8C7C5C8C9CCCCCCCBC8CCCECBCACFCCCCCBC9C9C8C7C9C8C8C7C5C5 +C2C2C2C3C2C1C2BEBABCC0C4C7C8C7BEA88E81878F91847164565A7081696D796E66636763 +6567696D73787A7D7E7F806372AEB5BBC0C3C4C4C3C3C5C4C4C3C7C7C7C2A59196948F898C +8E949D9D9B9D9F9F9DA19C9988898F918F7D70696669797F86898E929495999AA0A39D9893 +8F8D89888E9CAAADADA9A9A6ACADAFB3B1B7BAB6B5ADA69586 +FBFAFBFAFDF3ECEAE6E5E2DDD8D0CAC8C7C2BEC3C1B7AFB0B0B3B5BAB3A6A8B6B5BABBC3CF +D4D7D5D0CECECFCBCBC7C4C7C5C8CBCBCBCBC8CECECCCBCFCCCBCACBC5C5C5C5C4C7C3C5C3 +C1C5C4C1C1C4C3C1C2BABCC4C5C8CECCC5B59B88888D8D8574665753706A5E808473696263 +66696B72787E7F818084846587AFB7BDC2C5C4C5C2C4C7C3C5C5C7C5C3B3878F96988F8B8F +91969D9FA09C9FA09DA1A2A08E8795959388817A736A6C747F8B919295989A999689858894 +9FA09C8F898C929398939591989B9D9F9D9FA2A3A3A1A39C8E +FBFAFEFBFDF2E7E6E3DFDCD7D5D1C9C7C3C1C1C1C7C2BEBAB3B0B1B3AE9B9AADBAC4CCD6DB +D8DBD7D0CFD0D1D1CCC7C3C7C5C7CCCBCBCBC7C9C5C9C7CBC8C5C5C7C5C2C1C1C3C7C4C3C3 +C4C3C2BEC1C2C2C1C1BEB8BCC5C8C8CECFC7B79D88888D89867864524C70637A8B89816D6C +6A6E7276798181818588805F94AEBCC0C3C8C5C7C5C7C7C5C8C7C5C1B68E848C92938F898E +8E91999FA09D9F9DA2A3A2A295899896958D8581847D767071808C8E919289807F818FA1B0 +B5B4ADA39A9293959694958F8D9296999CA0A7AEB5B7BCB59B +FAFBFDFAFDF2E9E5DFDDD7D4D1CFCCC8C4C2C1C0C5C5C2C0BEC0C4C0C2B6B0BDCFD5D6DCDB +DBDBDBD6D1D1D1D0CEC9C5C5C7C8CACAC7C7C5C4C3C3C1C7C7C9C7C8C7C4C3C3C3C3C2C3C3 +C2C1C0C0C1BEC1C1C1C3C0BCC1C4C7CAD0CCC7B39D8D898B8D8573644B4C66849B9B9B917A +737378787B82848788897B5F96B0BCC0C2C5C4C4C5C7C4C4C7C7C4BA96858D8F928F8F898C +8D8E99999A9B9B9BA09FA0A298889599988F84828486867F777174777777767A8D9FAAB1B7 +B8B7B1A8A29FA5AAAEADAFACA7ADAFB0B6B8BEC1C5C7C7BEA5 +FAFBFBFBFDF3E7E5E0DED7D0CFCCCAC4C2C1C1C3C5C7C3C2C0C2C5CBD0CCBEBECBD4D6DCDC +DBDCDDD9D5D1D0CCCCC8C7C5C7C5C9C9C7C4C7C4C4C4C5C4C7C4C4C4C4C4C3C2C0C2C2C4C0 +C2C1C2C4C3C2C1C2C1C2BEBEBCB8C1C7CFD0CBC4B5A6968F939688785E4A4578AAB6B1AA9A +877D7D7D7E8284878989746CA1B0BDC2C4C5C4C5C4C2C3C0C3C5C2A7898D8F8C8F918F8C8D +8D8F969B9B9A989B9A9B9DA09B8991999895878486878686857D79777D868E9CA5ACB1B3B7 +BABBB6AAA2A0A5ADB5B5B8B7B4B7BDBEBDC0C3C7CBC8C8C2AD +F9FAFBFDFDF2E9E6E3DDD8D5D1CCCAC3C4C3C3C1C1C8C2C0C0C1C4CAD1D0C4BDC4D4D7DCDC +D9DCDBDCD7D1CEC9C5C7C3C3C2C0C5C4C3C2C5C5C5C4C7C5C3C3C8C7C5C4C3C2C0C1C3C4C2 +C4C2C2C2C1BEC0C0BEC0BEBEBCB8B7C5CCCFCEC8C1BDAEA19FA5A79C7B5A4A4979A2B3B5B3 +A8928086828488898D8B6C74A9B5BDC2C3C4C4C5C2C1C5C4C5BEAE968C9192919291938C8E +8D9299A2A09A9D9F9C9CA1A1A091919F9F988D8686888B888B8B91939AA1A5A8ACB0B3B7BB +BABAB7B0A6A0A2ADB3B8BCBBBABDC0C0C2C1C3C4C9CACBC7B0 +FAF9FDFAFBEFE4E3E0D9D5D4D1CECBC5C3C1C1C0C0C4C4C1BEBEC4C8CBCFCFC1C1CFD6D9DC +DDDCDCDBD8D0CECAC7C3C3C3C1C0C4C4C3C2C0C5C3C2C3C5C5C5C5C7C7C4C3C1C2C0C3C1C0 +C2C0C1C0C1BEC0C1BEC0C0C1BEBEB8B6C2CBCCCBCBCAC3B6ACADB5BBAF8C65483435527998 +AAAC988B8688878889846081AEBBBEC3C1C4C5C4C5C3C2C1BEB19895959391919592928C8C +8C8C959C9C9A9C9C9FA19FA2A59692A09F9992878689898C8B8C92969DA1A6ADAFB3B6BBBD +BDC0BAB0A69FA3A8B1B7BDBDBABABEC0C1C1C3C2C8CACAC5B6 +F9FBFBFAFDEDE2E3DEDCD4D0D1CAC5C2BEBDBCBDBCC1C4C1BBBCC1C4CCD0D1C4BEC8D5D9D9 +D9D9D7D7D7D1CCC9C8C4C3C2C2C1C2C1C0C0C1C7C7C5C7C9CAC5C4C4C7C1C1C3C3C1C1C1C0 +C2C1C1C1C0C1C1C2C1C1C0C0BEBDBDB4B3C3D0D0D1D1CFC5B8B0B3B8BAB5A57F512D1F212B +4B74929F948D8B88887F588EB7C1C0C3C4C7C7C4C4C3C1BAB69A8B92959292918E918E8C8B +8B8C969C9C9BA09C9CA09C9DA39D8F9DA39F998D86898D8B8B8C92999FA7A9ADB3B5B6B7BD +BDBEBBB1A69DA1A7AEB3BDBEBCBBBDC1C2C4C2C1C4CBCBCABC +F9FAFDFBFAEBDDDFDEDBD5D0CECAC5C1BEC0BEBCBABEC5C0BCBCBDC5CBCED2CEC0C0CFD5D6 +D6D5D7D5D5D5CCCAC8C5C2C1BEC0BEC0C1C1C2C4C4C5C7C9C8C7C5C5C5C3C3C1C3C0C0C0BE +C2C2BEC0C1C0C0C1C2C1C0C0BEC0C1BCB6B5C7CCCED0CFCBC1B7B0B1B7BCBAAE94592B1D1B +1F243F708F9692938D78649CB8C1C3C4C5C8C8C5C2C3BDB59C8D8B8D929193949393938C89 +898D969C9B9CA29D9D9D9C9DA3A1949AA7A29C9289878B8C8D8E939AA1A8ADB1B5B4B4B7BB +BBBEBBB1A79B9FA6AEB5BCC0BCB8BCC0C2C2C3C1C3C8C8C8C2 +F9FAFDFBFBE6DBDEDCD8D6D1CFCBC4C4C2C1BEBDBBBDC2BEBDBCC0C1C9CCCBCCC3BBC7D4D5 +D6D7D7D6D7D7D0CBC8C5C2C1C3C1C0BCC0C2C3C3C3C3C5C8C4C3C4C8C8C8C7C3C2C2C0C1BE +C2C0C1C1C1C0C3C0C1C0BEBDBBBCC0BCB8BABCC1C9CECCC9C2BEB6B6B8BDBDB8B0986B3821 +1D1F242E3E66918E876967A5BBBEC3C5C5C7C4C8C5C1BB9F8B88888E8E91928E9291918D89 +8C8E929D9CA0A19F9D9FA19DA1A1999CA7A8A19A8E8D92929394999FA5A9AFB0B1B1B5BBBC +BDBEBDB5A99C9DA7ACB3BABBBCB8B6BDC1C1C1C0C1C4C7C7C3 +F9FAFDFAFBE4D6DBDCD9D5D2CECBC5C3BEBDBCC0BCBBC0C1BDC0BEC0C4C8C8CCC8B8BCCFD6 +D5D6D8D8D6D8D2CACAC8C4C5C0BEBDBCBCC1BDC2C0C2C5C4C3C3C4C8C9C7C7C4C3C1BCBDBD +C1C0C1C0C0BEC1C2BEBEC0BEBDBEC0BBBBB8BEBBBEC9CCCBCAC5C0BBB8BEBEBBB8B1A28860 +382A282A2F3B6A8F815C71ACBEC0C3C4C4C4C5C3C0BAA38D8B8788919293938F95928F8D8B +898B919A9C9B9C9F9D9FA0A2A5A69F9AA5AAA39F9494969898989CA2A5ACAEB0B3B5BBBABC +BEBDBCB6AD9B9AA5ACAFBBBAB8B8BABCC2C1C0BEC1C1C4C4C3 +FAFBFBFAFAE2D4D8DEDBD7D2CFCBC8C4BDBDBEC0BDBDBEC2C1BCBAC0C4C7CBCCCABDBAC8D2 +D1D4D5D6D5D8D7CECAC9C8C7C2BEBDBBBCC1C0C0C2C5C8C5C3C3C3C3C4C5C5C5C3C2BEBDBD +C0C0C0C1C1C0C0BEBEBEBDC0BEC0BEBBB8B6BBBDBDBEC8CFCFC9C3BEB8BBBDBBB8B8B3A7A0 +917F6A56484B5D787F4E7FADBCC0C3C3C3C3C3C0BAA68D898988898E94939292918E8F8C8C +8C8D8E999C9A9C9DA09FA3A6A6A9A69BA3A9A3A29B92959B9D9D9BA1A7ADB1B3B5BABDBDC1 +C0C0C0BEB1A39AA2ADB0BABABAB8B7BBBDC1C2C1C0C1C3C3C4 +FAFAFBFAFADCCCD2D8D8D6D2D0C8C7C4C0BEBEBEBDBCC0C4C3BEBBBEC2C7C8C8CCC3BCC2CE +D4D2D7D5D4D8D8D0C8C8C7C4C1BEBCBBBEC0C0C0C1C2C3C4C4C4C7C7C8C7C7C2C2C2C0BDBD +BDBDC1BEC1C1C0BEC1C0BEBEBDBDBDB8BBB8BBBEBEBDBEC7CCCCC8C1BCBCBBBDBABBB5B0AE +B0B5B1A89A88807A84588BB3BEBEC4C2C1C0C0C0A88B88888789888F93949394948F8F8E8B +8C8D8F969C9B9C9FA0A2A6ACAAADADA0A5ADA9A8A295999F9FA2A2A6A9AFB1B3B6BDBEC0C2 +C1C1C1BEB6A79A9FACB0B7B7B7BBB8BABCC0C1BEBEBEC3C2C3 +FAFAFBFAFAD8C4CFD2D4CFCECCC9C7C2C0BBBDBCBCBDBEC2C4C1BDBDC0C3C7C9CCCBBDBDC9 +D2D2D4D4D2D5D7D5CBC7C5C4C2BEBDBDBEC0C0C0C0C1C3C7C7C5C7C8C7C5C5C3C5C3C1C1BE +C1C2C2C2C2C1C1C2C3C3C1C2C3C0BEBCBDB6B8BDBDBEBDBEC3CFCCC7C0BCB5B7B7B8BCBBB8 +B1B7BDC1C0BDAEA3987194BAC2C1C4C4C4C0BEAC9189888B8C898C9192939593969192928F +8D8D91969FA1A2A2A2A6AAAEB3B5B7A8A8AFAFAAA8999A9D9FA1A3A6ACB3B5B7BABEC0C1C1 +C2C1C0BEB6AA9C96A8AFB8BCBDBCBBBABBBEC1C0C1C0C3C4C5 +FBFAFBFBF9D8C1CBCED0CECBC5C4C1C1BEB8BBBABABCBDC0C7C0BEBDC0C2C7CBCCCEC4BDBE +CED0D2D2D4D5D6D5CEC7C8C5C2BDBCBEBDC1C0BEBEBDBEC4C7C5C4C7C3C4C3C5C5C8C4C1C0 +C3C3C2C4C5C4C7C3C2C2C1C2BEC0BEBDBDB8B6BEBEBEC2C2BEC4CECFC9C1C0B6B8BABBC0BE +B8B5BEC8CECEC5BDA993A3C2C5C5C3C2C2C0AD918D88888B8C8D8D92959695959594929192 +8F8E8D94A0A3A1A7A9AAADB3B8BBBDB3A9AFB0AFAFA19B9A9FA194899DB3B4B8BABEBEBEC1 +C1C4C2C0BAAFA095A0AEBABEC0BDBDBABBBEBEBEC0C0BEC1C5 +FAFAFDFAF9D8BDC3C9CACBC9C7C1BEBEBDBBBABEBEC0BEBEC5C5C0BDC0C0C2C8CAC9CBBEBB +C5CFD1D2D5D5D5D5D2CAC7C5C1BCBABBBABCBDBEC0BEBEC4C5C9C5C7C5C9C8C9CACAC4C4C3 +C3C1C3C3C3C3C3C4C4C4C3C4C0BDBDBEC1BEB8BCBEBEC1C1C0C1C5CECFCEC8C2BCB8B5BBBE +BDBCBBC3CFD6D1C3AC9DAFC3C5C3C5C2BEB194928F88868C8F918F9396989999939394928F +93929299A5A9A9ADB0B3B8BBC1BEC2BEAFB3B3AFAFA9A0A0A2A1858288ADB3B6BABCBEC0C1 +C1C1C1BEBDB3A59A9AACB6BCBDBCBBB7B7BDC0C0C1C0C1C2C7 +FAF9FBFAFAD7BDC1C2C7C3C2C2C0BDBDBDBEBABDBEBEBEC1C4C4BEBDBDBCC0C5C7C8CBC3B7 +BBCCD1D1D5D4D5D2D4CFC4C5C1BEBCBDBDBBBABEC0C0C1C3C7C7C4C9CBCAC9C9C8C9C2C3C3 +C3C2C3C3C3C1C2C4C4C4C3C2C1C0C0BDC1BEBDBDBDC2C2C0BEBEC2C5C7CFCFC9C4BDB6B7BB +BDBDBBC1C7D2D5C5A6A1B6C2C2C1C0C0B3918E8D8D8885888B8D8F9296959A989894929392 +9493969AA6AEB4B4B7BCBEC3C7C5CAC7B5B3BAB5B3AFA5A3A6A9998E98B0B6B8BDBDBDC0C3 +C1C1C0C0BEB4A89998A6B4BBBABBBAB7B8BEBEBEC0C0C0BDC4 +F9FAFBFAF9D5BABBC0C2C0C0C1BEBDBDBEC0BABBBDC1C1C1C2C7C2C1C1BCC0C3C5C8CAC8BA +B8C4CFD2D2D6D6D4D1D0C7C7C5BEC0BCBEBDBDC0BEBDBEC3C3C0C5CECFC9CBCAC7C8C3C5C7 +C5C3C3C3C3C2C4C1C4C4C4C2C1C2C2C1C0BEBCB8BDBEC1BEBCBEC2C7C5C8CED1CFC9BDB8B8 +BBBCBDBEC2C9D2BCA3A8BDC4C3C2BEB3928C8F8C8B87828B8D8E9191969596969593969698 +9A989CA0AAB4B8BBBDC1C4C8C9CBCECCBAB3BEBBB7B6A8A5A5A8AAACAFB3B5B8BDBCBDC1C1 +C1C3C2C1BEB4A99D999DAEB4B5B8B8B8B6B4BBBBBEBEC0BDC2 +F9FBFBFAFAD5B7B4BBC1C0BEBEBABAB7BCBEB8BBBCBEBDBDBEC7C4C2C0BDBEC0C2C5CACCC3 +B7BACCD2D4D4D5D5D5D5CEC4C2C2C0BEBEBCBCBEBCBCBEC2C1BDC7CACECBCCCCCBC8C7C5C5 +C4C3C2C3C5C1C5C3C3C4C3C2C1C1C3C1C2C3BEBCBEBDC1C1BEC2C5CBC8CAC8CAD2D2C8C3BC +B8B8BDC0C0C1C1AA9DADBEC2C3C0B895918C8D8B898882898C8F8E8F9698989698949B9C99 +9B9DA0A6AFBBC0C0C4C8C8CBCBCED0CEC0B8C3C0BDBAADA3A7A7ACAEB1B3B6B6BABABDBEC0 +C1C1C4C3C1BAAFA0989AADB0B5B8BBBABAB8BCBBBEC1BEBCC1 +FAFAFBFAFAD6BAB7B8BDBEBCBBBCBABABCBEBDBEBCBEBEC0C2C7C7C7C3BEBEC1C2C5C9CAC9 +BDBCC3D2D5D5D7D7D8D6D4C9C4C1C1BEBEBDBBBDBCBDBCC1BEC4C4C7CACACBCCCACAC7C5C7 +C3C3C1C2C3C2C3C4C3C3C2C4C4C4C4C3C4C5C5C0C4CBCCCCCBCACCD1CFD1D1CED0D1D1CCC8 +C0BDBDBEC2C3B395A0B5C2C5C4BEA095939695918D8D87898C8F8F8F9696969A999A9DA1A1 +A1A2A8ADB1C0C3C5C7CACECBCFCFD2CFC5BBC5C8BDC1B5A9AAAAAEADB1B4B6B6BABCBEC0C1 +C3C3C4C4C1BCB0A39B96A6B0B6BABCBEBBB8BABDC1C1C0C0C2 +F9FBFDFBF9D5BBB8B5BCC1C0C0BEC0BEC0C0BEBDBEC2C4C4C3C8CCC7C7C3C3C4C4C4C7C9CB +C8BCC0D0D4D7D7D8D8D5D4CEC3C0C0BEBEBDBBC0BEBABABEC0C2C3C8C9CACBCBCBCBC8C7C5 +C4C7C5C4C5C3C4C7C9CCCECCCEC9CACED0CFCEC7C7CFD0CECCC9CACBCCD0D1D1D1D1D0D1D1 +CCCCC7C9CCD1C58C9CBEC8CAC9B7A0A19F9FA19C9A988F94969898989D9F9FA0A0A0A3A8A9 +A7A9AFB1B6C2C5CBCBD0D1D1D2D1D1D0CBBBC2CCC9C7BEB1A8ACADAEAFB5BBB8BCBCBEBEC2 +C3C4C5C5C2BCB0A59B96A0ADB6BBBDBEBDBBB8BEC2C1C2C2C4 +F9FAFDFAF9D2B7B6B6BCC1C0C1C1C1BEBEC1C0BCBEC2C4C5C4C4CECCC9C5C4C3C3C7CACED0 +CFC1BBC3D2D6D6D6D6D5D4D1C4C1C1BEBDBEBCBDBCBCB8BBBDC0C2C5C7C8C7CBCCCCCBCACA +CECFCFCFCECFCFCCCFD0CFCCCCCECFCFCECFCCC7C4CCD0CCCAC9C8CBCCCECECFD1D1CFD0D1 +D4D8D7D5CED1D5ACA1C7CAC9C4A29F9F9D9D9D9FA19A959A9C9FA1A3A8AAAEAFAFAEB0B5B5 +B4B4B6B7C0CACFD0CFD4D5D4D5D6D5D2D0BEC0CECFCAC5BCADA8AFB0B1B5B6B7BBBCBEBDBE +C2C3C3C4C1BCB1A69A95A0A8B3BDBDBEC1BDBDBEC2C2C2C1C4 +F9F9FAFAF9D0B1B4B6BAC0C2C1C1C0BEBEC2C1C0BDC1C2C4C2C2CBCCCCC9C3C2C2C5C5CBCE +D0C9B8BBCED5D8D9D7D6D4D4C9C2C2C1BEBEBBBEBCBCBDBDBDC0C2C4C7CCCCD1D4D1D2D4D1 +D1D1D5D0D0D1D0D0CED1CECFCFCFD0CFD0D1CFC8C9CECECCC9CACAC9CACBCECCCFCFCED0D0 +D1D1D5DBD4D1D6C2BCCAC8CAB4A1A09DA0A09C9CA09A969A9F9BA1A5AFB3B4B5B4B8BBBEC1 +BEC0C1C2C8D4D7D8D9DDDEDDDDDEDEDBD9C9C7D5D8D4D2CCC2B1AEB1B1B1B4B7BABBBDBEC0 +C1C1C3C2C0BBB4A8A0959BA3AEB7BDC1C1BDBDBEC3C1C2BEC3 +end +restore + + endTexFig + 730 1187 a Fc(Anil)g(Goel)960 1185 y Ff(c)946 1187 y +Fb(\015)p Fc(1993,)g(1994)586 1247 y Fa(\(akgoel@math.uwaterloo.ca\)) +811 1782 y(Version)29 b(1.1)847 1843 y Fd(last)12 b(modi\256ed)840 +1903 y Ff(July)h(11,)f(1994)642 2438 y(Math)g(F)o(aculty)g(Computing)g +(F)o(acility)747 2499 y(Uni)o(v)o(ersity)g(of)g(W)l(aterloo)796 +2559 y(W)l(aterloo,)g(Ontario)799 2619 y(Canada)h(N2L)g(3G1)p +eop +end +userdict /end-hook known{end-hook}if +%%EndDocument + + endTexFig + 551 1656 a Ft(Figure)f(6:)18 b(The)13 b(T)n(itle)g(P)o(age)f(of)g +(this)h(Document)73 1774 y(F)o(or)k(e)o(xample,)i(you)d(can)i(include)f +(a)g(page)g(of)g(one)g(of)f(your)h(L)1177 1767 y Fs(A)1198 +1774 y Ft(T)1220 1790 y(E)1245 1774 y(X)g(documents)g(in)g(another)g +(document)0 1834 y(with)d(an)o(y)h(desired)f(scaling)h(and)g(rotation.) +24 b(The)15 b(title)f(page)g(of)g(this)h(document)f(is)h(reproduced)f +(in)g(Figure)g(6.)0 1894 y(The)g Fo(dviselect)f Ft(command)h(was)g +(used)g(to)g(e)o(xtract)g(the)g(one)g(page)g(and)g(dvips)g(was)g(used)g +(to)g(con)n(v)o(ert)g(it)f(to)0 1954 y(PostScript.)k(The)c(resulting)f +(PostScript)f(\256le)h(was)h(then)f(included:)0 2069 +y Fo(\\centerline{\\hbox{\\psfig{figure=)o(title.ps,)o(height=3.)o +(0in,angl)o(e=45}}})0 2262 y Fq(5.3.2)50 b(Using)13 b(PostScript)f +(fonts)0 2356 y Ft(Y)-5 b(ou)10 b(may)g(ha)o(v)o(e)g(noticed)g(by)h(no) +o(w)e(that)h(this)h(document)f(has)g(been)h(typeset)f(with)g +(PostScript)f(fonts)h(as)h(opposed)0 2416 y(to)d(the)g(Computer)g +(Modern)g(family)f(of)h(fonts)g(usually)h(employed)e(by)h(L)1213 +2409 y Fs(A)1234 2416 y Ft(T)1256 2432 y(E)1281 2416 +y(X)h(.)g(The)f(recommended)g(mechanism)0 2476 y(for)h(using)i +(PostScript)e(fonts)g(is)i(the)f Fo(psnfss)g Ft(macro)f(package)i(a)o +(v)o(ailable)f(at)g(W)l(aterloo.)17 b(See)10 b Fo(man)30 +b(psnfss)0 2536 y Ft(and)12 b([14])g(for)f(details.)950 +2798 y(11)p eop +%%Page: 12 13 +12 12 bop 0 53 a Fn(6)60 b(Using)15 b Fc(Make)f Fn(to)h(Make)g(Life)f +(Easy)0 165 y Ft(This)e(document)f(was)g(produced)g(using)g(a)h +(Make\256le)f(which)g(takes)g(care)g(of)g(con)n(v)o(erting)g(the)g(v)o +(arious)g(\256les)g(into)0 225 y(one)h(single)h(document.)18 +b(The)13 b(Make\256le)f(is)g(reproduced)g(in)g(Appendix)g(A.)0 +377 y Fn(7)60 b(Acknowledgements)0 489 y Ft(This)13 b(document)e(has)i +(borro)o(wed)d(liberally)h(from)g([13],)h(a)g(smaller)g(document)f +(Lindsay)i(P)o(atten)f(wrote)f(for)g(the)0 549 y(P)-5 +b(AMI)15 b(Lab)h(users)g(at)f(Uni)o(v)o(ersity)g(of)f(W)l(aterloo.)27 +b(The)15 b(PostScript)g(e)o(xample)g(in)g(section)g(2.2)h(is)f(taken)g +(from)0 609 y(one)d(of)g(the)h(e)o(xample)f(programs)g(packaged)g(with) +g(the)h Fo(itrans)e Ft(package)i(for)f(Indian)f(languages.)73 +670 y(Thanks)16 b(are)g(due)f(to)h(Bill)f(Ince)h(and)f(Peter)g(Y)-5 +b(amamoto)15 b(who)h(read)f(the)g(\256rst)h(draft)e(and)i(of)o(fered)e +(se)o(v)o(eral)0 730 y(v)o(aluable)f(suggestions.)23 +b(Peter)13 b(e)o(v)o(en)h(ke)o(yed)f(in)g(man)o(y)h(of)f(his)h +(suggested)g(additions)f(which)h(were)f(gratefully)0 +790 y(accepted)g(for)e(inclusion)h(in)h(this)f(document.)73 +850 y(Please)h(send)g(comments)f(to)g(akgoel@math.uwaterloo.ca.)0 +1002 y Fn(Refer)o(ences)293 981 y Fb(3)25 1114 y Ft([1])23 +b(Micah)13 b(Beck.)19 b Fr(T)m(ransFig:)f(Portable)13 +b(Figur)n(es)h(for)e Ft(L)1032 1107 y Fs(A)1053 1114 +y Ft(T)1075 1130 y(E)1100 1114 y(X.)107 1174 y(In)g Fo +(/software/fig/doc/transfig.dvi.Z)p Ft(.)25 1274 y([2])23 +b(B.W)-5 b(.)14 b(Char)n(,)e(K.O.)g(Geddes,)h(G.H.)f(Gonnet,)g(B.L.)i +(Leong,)e(M.B.)h(Monagan,)f(and)g(S.M.W)l(att.)18 b Fr(Maple)12 +b(V)107 1334 y(Language)g(Refer)n(ence)i(Manual)p Ft(.)k(Springer)o(-V) +-6 b(erlag)11 b(and)h(W)l(aterloo)g(Maple)h(Publishing,)f(1991.)25 +1433 y([3])23 b(T)n(re)o(v)o(or)12 b(Darrell.)18 b Fr(Ps\256g/T)556 +1445 y(E)580 1433 y(X)13 b(1.8)g(Users)g(Guide)p Ft(.)107 +1494 y(In)f Fo(/software/tex)p 554 1494 15 2 v 17 w +(documents/doc/formatted/psfig-)o(doc.ps.Z)p Ft(.)25 +1593 y([4])23 b(Adobe)13 b(Systems)f(Inc.)18 b Fr(Encapsulated)13 +b(PostScript)p Ft(.)107 1653 y(In)f Fo +(/software/postscript/doc/encapsulat)o(ed.ps)p Ft(.)25 +1753 y([5])23 b(Adobe)13 b(Systems)f(Inc.)18 b Fr(Summary)13 +b(of)f(PostScript)h(statements)p Ft(.)107 1813 y(In)f +Fo(/software/postscript/doc/pssummary.)o(ps)p Ft(.)25 +1913 y([6])23 b(Adobe)13 b(Systems)f(Inc.)18 b Fr(PostScript)13 +b(Refer)n(ence)h(Manual)p Ft(.)k(Addison)13 b(W)l(esle)o(y)m(,)g(1985.) +25 2012 y([7])23 b(Adobe)13 b(Systems)f(Inc.)18 b Fr(PostScript)13 +b(T)m(utorial)f(and)g(Cookbook)p Ft(.)19 b(Addison)12 +b(W)l(esle)o(y)m(,)h(1985.)25 2112 y([8])23 b(Da)o(vid)13 +b(M.)g(Jones.)19 b Fr(An)13 b(index)f(of)g(T)710 2123 +y(E)734 2112 y(X)h(macr)n(os)p Ft(.)19 b(In)107 2172 +y(/software/te)o(x)p 370 2172 V 17 w(documents/doc/source/te)o(x-inde)o +(x.Z.)25 2271 y([9])k(Donald)12 b(E.)i(Knuth.)k Fr(The)12 +b(T)584 2282 y(E)608 2271 y(Xbook)p Ft(.)18 b(Addison)12 +b(W)l(esle)o(y)m(,)i(1987.)0 2371 y([10])23 b(Conrad)12 +b(Kwok.)18 b Fr(EEPIC:)13 b(Extensions)h(to)e(epic)g(and)g +Ft(L)1062 2364 y Fs(A)1083 2371 y Ft(T)1105 2387 y(E)1131 +2371 y(X)g Fr(Pictur)n(e)h(Envir)n(onment)p Ft(.)107 +2431 y(In)f Fo(/software/tex)p 554 2431 V 17 w +(documents/doc/formatted/eepic.)o(dvi.Z)p Ft(.)0 2531 +y([11])23 b(Leslie)14 b(Lamport.)k(L)456 2524 y Fs(A)477 +2531 y Ft(T)499 2546 y(E)524 2531 y(X)12 b Fr(User)r(')-6 +b(s)13 b(Guide)f(and)g(Refer)n(ence)i(Manual)p Ft(.)k(Addison)13 +b(W)l(esle)o(y)m(,)g(1986.)p 0 2578 780 2 v 56 2609 a +Fj(3)75 2624 y Fh(The)j(")p Fi(/software)p Fh(")e(references)j(are)f +(local)f(to)f(W)m(aterloo)h(and)g(are)h(mostly)e(documents)h(a)o(v)o +(ailable)g(with)f(public)g(domain)0 2674 y(software)c(a)o(v)o(ailable)g +(at)h(v)o(arious)e(FTP)i(sites)f(else)o(where.)17 b(Please)11 +b(don')o(t)e(send)i(me)g(mail)f(to)g(make)h(these)f(\256les)h(a)o(v)o +(ailable)f(via)g(FTP)-5 b(.)950 2798 y Ft(12)p eop +%%Page: 13 14 +13 13 bop 0 53 a Ft([12])23 b(Anil)12 b(Goel)h(\(original)e(by)h +(Leslie)h(Lamport\).)18 b Fr(Using)12 b Ft(L)1060 46 +y Fs(A)1081 53 y Ft(T)1103 69 y(E)1128 53 y(X)h Fr(at)f(W)-5 +b(aterloo)p Ft(.)107 114 y(In)12 b Fo(/software/tex)p +554 114 15 2 v 17 w(documents/doc/formatted/LocalG)o(uide.dvi.)o(Z)p +Ft(.)0 215 y([13])23 b(Lindsay)13 b(P)o(atten.)18 b Fr(Using)13 +b(PostScript)g(within)f Ft(L)935 208 y Fs(A)956 215 y +Ft(T)978 231 y(E)1003 215 y(X.)19 b(In)107 275 y Fo +(watnow:/system/watnext/software/sha)o(re/pami/c)o(ontrib/ps)o(dvidocs) +p Ft(.)0 377 y([14])k(Sebastian)13 b(Rahtz.)18 b Fr(Notes)13 +b(on)g(setup)f(of)g(the)h(NFSS)g(to)f(use)h(PostScript)g(fonts)p +Ft(.)107 437 y(In)f Fo(/software/tex)p 554 437 V 17 w +(documents/doc/formatted/psnfss)o(.dvi.Z)p Ft(.)0 539 +y([15])23 b(T)l(omas)13 b(Rokicki.)19 b Fr(DVIPS:)12 +b(A)h(T)670 550 y(E)693 539 y(X)g(Driver)p Ft(.)107 599 +y(In)f Fo(/software/tex)p 554 599 V 17 w(network/doc/dvips.dvi.Z)p +Ft(.)0 701 y([16])23 b(Daniel)13 b(T)l(aupin.)18 b Fr(musictex:)g +(Using)12 b(T)780 712 y(E)804 701 y(X)h(to)f(write)h(polyphonic)f(or)h +(instrumental)f(music)p Ft(.)107 761 y(In)g Fo(/software/tex)p +554 761 V 17 w(documents/doc/formatted/musicd)o(oc.dvi.Z)p +Ft(.)0 863 y([17])23 b(Marion)12 b(v)o(an)h(Geest.)18 +b Fr(FLOW)m(:)13 b(T)l(ypeset)g(Flow)g(diagrams)f(in)g +Ft(L)1194 856 y Fs(A)1215 863 y Ft(T)1237 879 y(E)1263 +863 y(X.)107 923 y(In)g Fo(/software/tex)p 554 923 V +17 w(documents/doc/formatted/flow)p 1411 923 V 15 w(man.dvi.Z)p +Ft(.)0 1025 y([18])23 b(Marion)12 b(v)o(an)h(Geest.)18 +b Fr(NASSI:)13 b(T)l(ypeset)f(Nassi-Schneiderman)h(diagrams)g(in)f +Ft(L)1502 1018 y Fs(A)1523 1025 y Ft(T)1545 1040 y(E)1570 +1025 y(X.)107 1085 y(In)g Fo(/software/tex)p 554 1085 +V 17 w(documents/doc/formatted/nass)p 1411 1085 V 15 +w(man.dvi.Z)p Ft(.)0 1187 y([19])23 b(T)n(imothy)12 b(V)-6 +b(an)13 b(Zandt.)19 b Fr(PST)m(ricks)14 b(documentation)d(and)h +(examples)p Ft(.)107 1247 y(In)g Fo(/software/tex)p 554 +1247 V 17 w(documents/doc/source/pstricks)p Ft(.)950 +2798 y(13)p eop +%%Page: 14 15 +14 14 bop 0 53 a Fn(A)60 b(Make\256le)0 218 y Fa(MAINFILE)29 +b(=)f(figsInLatex)0 274 y(FIGS_TO_MAKE)j(=)c(xfig.ps)i(model.ps)h +(model.tex)0 331 y(PSFILES)f(=)f(face.ps)h(wheel.ps)0 +444 y(#)f(Everything)i(below)e(this)h(line)f(can)g(stay)g(the)g(same,)h +(customize)h(above)0 557 y(.SUFFIXES:)g(.fig)e(.tex)h(.dvi)f(.ps)g +(.xwd)h(.bib)f(.bbl)0 670 y(.dvi.ps:)218 726 y(dvips)h($*.dvi)g(>)e +($*.ps)0 839 y(.fig.ps:)218 895 y(fig2dev)i(-L)f(ps)g($*.fig)h(>)e +($*.ps)0 1008 y(.fig.tex:)218 1065 y(fig2dev)i(-L)f(eepic)h($*.fig)g(>) +e($*.tex)0 1178 y(.bib.bbl:)218 1234 y(if)h([)g(-r)f($*.aux)i(])f(;)f +(then)i(.)e(;)h(else)g(latex)h($*.tex)g(;)e(fi)218 1291 +y(bibtex)i($*)0 1403 y(.xwd.ps:)218 1460 y(xpr)f(-device)h(ps)f +(-portrait)i(-psfig)f(-compact)g($*.xwd)g(>)f($*.ps)0 +1629 y(all:)g($\(MAINFILE\).)q(ps)0 1742 y(preview:)h($\(MAINFILE\).)q +(ps)218 1799 y(ghostview)h($\(MAINFILE\).ps)0 1912 y(printout:)g +($\(MAINFILE\).ps)218 1968 y(lpr)e(-Fl)g(-Pljp_mfcf)i($\(MAINFILE\).)q +(ps)0 2081 y($\(MAINFILE\).d)q(vi:)h($\(MAINFILE\).tex)g +($\(FIGS_TO_MAK)q(E\))f($\(PSFILES\))g(\\)218 2137 y($\(MAINFILE\).b)q +(bl)218 2194 y(latex)f($\(MAINFILE\))218 2250 y(dviselect)h(0)d +($\(MAINFILE\).)q(dvi)k(>)c(title.dvi)218 2307 y(dvips)i(title.dvi)h(>) +d(title.ps)218 2363 y(latex)i($\(MAINFILE\))0 2476 y(clean:)218 +2533 y(/bin/rm)g(-f)f($\(MAINFILE\).p)q(s)i($\(FIGS_TO_MA)q(KE\))218 +2589 y(/bin/rm)f(-f)f(*.aux)h(*.dvi)f(*.bbl)h(*.blg)g(*.log)950 +2798 y Ft(14)p eop +%%Trailer +end +userdict /end-hook known{end-hook}if +%%EOF diff --git a/obsolete/info/latex-help-texinfo/README_for_latex.texi b/obsolete/info/latex-help-texinfo/README_for_latex.texi new file mode 100644 index 0000000000..dde2e0a7b5 --- /dev/null +++ b/obsolete/info/latex-help-texinfo/README_for_latex.texi @@ -0,0 +1,11 @@ + +The files latex.texi and latex2.texi contain TeXinfo sources which +document Leslie Lamport's LaTeX macro package for TeX. The files were +produced from George Greenwade's LATEX.HLP file. + +You can use the function `texinfo-format-buffer' from within Emacs to +generate an Info file or run TeX on the file to generate a DVI file. +The index can be generated using the FSF's texindex program. + + +Stephen Gilmore, stg@dcs.ed.ac.uk, August 26th 1993 diff --git a/obsolete/info/latex-help-texinfo/latex.texi b/obsolete/info/latex-help-texinfo/latex.texi new file mode 100644 index 0000000000..b187b6261b --- /dev/null +++ b/obsolete/info/latex-help-texinfo/latex.texi @@ -0,0 +1,5713 @@ +\input texinfo @c -*-texinfo-*- + + +@tex +\gdef\LaTeX{{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em% + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX\kern.125em}} +@end tex + +@comment %**start of header (This is for running Texinfo on a region.) +@setfilename ../info/latex +@ifinfo +@settitle LaTeX help 1.1 +@end ifinfo +@iftex +@settitle @LaTeX help 1.1 +@end iftex +@comment %**end of header (This is for running Texinfo on a region.) + +@iftex +@finalout +@end iftex + +@ifinfo +This file documents LaTeX, a document preparation system. LaTeX is a +macro package for TeX. + +This is edition 1.1 of the LaTeX documentation, and is for the Texinfo +that is distributed as part of Version 18 of GNU Emacs. It uses version +2.90 of the texinfo.tex input file. + +This is translated from LATEX.HLP v1.0a in the VMS Help Library. The +pre-translation version was written by George D. Greenwade of Sam +Houston State University. + + +Copyright 1988,1994 Free Software Foundation, Inc. + +Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + +@ignore +Permission is granted to process this file through TeX and print the +results, provided the printed document carries copying permission +notice identical to this one except for the removal of this paragraph +(this paragraph not being relevant to the printed manual). +@end ignore + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the entire +resulting derived work is distributed under the terms of a permission +notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that the sections entitled ``Distribution'' and ``General Public +License'' may be included in a translation approved by the author instead +of in the original English. +@end ifinfo + +@setchapternewpage odd +@titlepage +@sp 11 + +@comment A hack to get the LaTeX logo to appear big in the title. + +@tex +\font\tempA = cmr10 scaled \magstep4 +\font\tempB = cmr8 scaled \magstep4 +\centerline{\tempA L\kern-.36em\raise.3ex\hbox{\tempB A}\kern-.15em% + T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX} +@end tex +@sp 2 +@center The macro package for @TeX +@sp 2 +@center by +@center Leslie Lamport. +@sp 2 +@center Edition 1.1 +@sp 2 +@center July 1993 + +@comment Include the Distribution inside the titlepage environment so +@comment that headings are turned off. + +@page +@vskip 0pt plus 1filll + +This is edition 1.1 of the @LaTeX documentation, and is for the Texinfo +that is distributed as part of Version 18 of GNU Emacs. It uses version +2.90 of the @file{texinfo.tex} input file. + +This is translated from LATEX.HLP v1.0a in the VMS Help Library. +This pre-translation version was written by George D. Greenwade of +Sam Houston State University. It has been edited to this form by Paul +Nothard of Edinburgh University. + +The original (latex.texi and latex2.texi) was distributed by +Stephen Gilmore, stg@dcs.ed.ac.uk, August 26th 1993. + +Version 1.1 was made by Piet van Oostrum <piet@cs.ruu.nl> on Dec 14, +1993 by merging and cleaning up latex.texi and latex2.texi. + +@sp 2 + +This Texinfo file may be copied and distributed in accordance with the +usual copying permissions of the Free Software Foundation. These +permissions are given in the General Public License section of the ``GNU +Emacs Manual''. This software comes with NO WARRANTY. + +@sp 2 + +Permission is granted to make and distribute verbatim copies of this +manual provided the copyright notice and this permission notice are +preserved on all copies. + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the +entire resulting derived work is distributed under the terms of a +permission notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the above conditions for modified versions, +except that the sections entitled ``Distribution'' and ``General Public +License'' may be included in a translation approved by the author +instead of in the original English. +@end titlepage + +@node Top, License, (dir), (dir) + +@menu + +* License:: Licensing information. +* Overview:: What is LaTeX? +* Commands:: Commands within a LaTeX document. +* Parameters:: The command line. + +also available... + +* List of Commands:: An alphabetical list of all LaTex commands. +* Index:: An alphabetical "Concept Index". + +@end menu + +@comment **************************************** +@comment *************** LICENSE **************** +@comment **************************************** + +@comment LEVEL1 +@node License, Overview, Top, Top +@comment node-name, next, previous, up +@unnumbered Licensing Information + + The programs currently being distributed that relate to Texinfo +include two portions of GNU Emacs, plus two other separate programs +(@code{texindex} and @code{texinfo.tex}). These programs are +@dfn{free}; this means that everyone is free to use them and free to +redistribute them on a free basis. The Texinfo related programs are not +in the public domain; they are copyrighted and there are restrictions on +their distribution, but these restrictions are designed to permit +everything that a good cooperating citizen would want to do. What is +not allowed is to try to prevent others from further sharing any version +of these programs that they might get from you. + + Specifically, we want to make sure that you have the right to give +away copies of the programs that relate to Texinfo, that you receive +source code or else can get it if you want it, that you can change these +programs or use pieces of them in new free programs, and that you know +you can do these things. + + To make sure that everyone has such rights, we have to forbid you to +deprive anyone else of these rights. For example, if you distribute +copies of the Texinfo related programs, you must give the recipients all +the rights that you have. You must make sure that they, too, receive or +can get the source code. And you must tell them their rights. + + Also, for our own protection, we must make certain that everyone finds +out that there is no warranty for the programs that relate to Texinfo. +If these programs are modified by someone else and passed on, we want +their recipients to know that what they have is not what we distributed, +so that any problems introduced by others will not reflect on our +reputation. + + The precise conditions of the licensees for the programs currently +being distributed that relate to Texinfo are found in the General Public +Licensees that accompany them. The programs that are part of GNU Emacs +are covered by the GNU Emacs copying terms (@pxref{License, , , emacs, +The GNU Emacs Manual}), +and other programs are covered by licensees that are contained in their +source files. + + +@comment **************************************** +@comment ************** OVERVIEW **************** +@comment **************************************** + +@comment LEVEL1 +@node Overview, Commands, License, Top +@comment node-name, next, previous, up + +@ifinfo +@chapter Overview of LaTeX and Local Guide + +The LaTeX command typesets a file of text using the TeX program and the +LaTeX Macro package for TeX. To be more specific, it processes an input +file containing the text of a document with interspersed commands that +describe how the text should be formatted. It produces at least three +files as output: +@enumerate +@item +A "Device Independent", or @file{.dvi} file. This contains commands that +can be translated into commands for a variety of output devices. You +can view the output of LaTeX by using a program such as @code{xdvi}, +which actually uses the @file{.dvi} file. +@item +A "transcript" or @file{.log} file that contains summary information and +diagnostic messages for any errors discovered in the input file. +@item +An "auxiliary" or @file{.aux} file. This is used by LaTeX itself, for +things such as sectioning. +@end enumerate + +For a description of what goes on inside TeX, you should consult +@cite{The TeXbook} by Donald E. Knuth, ISBN 0-201-13448-9, published +jointly by the American Mathematical Society and Addison-Wesley +Publishing Company. + +For a description of LaTeX, you should consult: + +@cite{LaTeX: A Document Preparation System}, by Leslie Lamport, ISBN +0-201-15790-X, published jointly by the American Mathematical Society +and Addison-Wesley Publishing Company, 1985. + +@cite{LaTeX for Engineers & Scientists}, by David J. Buerger, ISBN +0-07-008845-4, McGraw-Hill, 1990. + +@cite{The LaTeX Cookbook}, by F. Teagle, Informatics Department, +Rutherford Appelton Laboratory, Chilton, Didcot, Oxon, OX11 0QX, 1991. + +@cite{LaTeX for Everyone}, by Jane Hahn, available from PCTeX in +California, and from the TeX Users Group, 1991. + +@cite{LaTeX Line by Line: Tips and Techniques for Document Processing} +by Antoni Diller, Chichester: John Wiley and Sons, 1992. + +@cite{A Guide to LaTeX}, by Helmut Kopka and Patrick Daly, +Addison-Wesley, 1992. + +@end ifinfo + +@iftex +@chapter Overview of @LaTeX and Local Guide +@cindex Overview of @LaTeX +@cindex @LaTeX overview + +The @LaTeX command typesets a file of text using the @TeX@ program and the +@LaTeX Macro package for @TeX. To be more specific, it processes an input +file containing the text of a document with interspersed commands that +describe how the text should be formatted. It produces at least three +files as output: +@enumerate +@item +A "Device Independent", or @file{.dvi} file. This contains commands that +can be translated into commands for a variety of output devices. You +can view the output of @LaTeX by using a program such as @code{xdvi}, +which actually uses the @file{.dvi} file. +@item +A "transcript" or @file{.log} file that contains summary information and +diagnostic messages for any errors discovered in the input file. +@item +An "auxiliary" or @file{.aux} file. This is used by @LaTeX itself, for +things such as sectioning. +@end enumerate + +For a description of what goes on inside @TeX, you should consult +@cite{The @TeX book} by Donald E. Knuth, ISBN 0-201-13448-9, published +jointly by the American Mathematical Society and Addison-Wesley +Publishing Company. + +For a description of @LaTeX, you should consult: + +@cite{@LaTeX: A Document Preparation System}, by Leslie Lamport, ISBN +0-201-15790-X, published jointly by the American Mathematical Society +and Addison-Wesley Publishing Company, 1985. + +@cite{@LaTeX for Engineers & Scientists}, by David J. Buerger, ISBN +0-07-008845-4, McGraw-Hill, 1990. + +@cite{The @LaTeX Cookbook}, by F. Teagle, Informatics Department, +Rutherford Appelton Laboratory, Chilton, Didcot, Oxon, OX11 0QX, 1991. + +@cite{@LaTeX for Everyone}, by Jane Hahn, available from PC@TeX in +California, and from the @TeX@ Users Group, 1991. + +@cite{@LaTeX Line by Line: Tips and Techniques for Document Processing} +by Antoni Diller, Chichester: John Wiley and Sons, 1992. + +@cite{A Guide to @LaTeX}, by Helmut Kopka and Patrick Daly, +Addison-Wesley, 1992. + +@end iftex + + +@comment **************************************** +@comment ************** COMMANDS **************** +@comment **************************************** + +@comment LEVEL1 +@node Commands, Counters, Overview, Top +@comment node-name, next, previous, up +@chapter Commands + +@ifinfo +A LaTeX command begins with the command name, which consists of a +@code{\} followed by either (a) a string of letters or (b) a single +non-letter. Arguments contained in square brackets, @code{[]}, are +optional while arguments contained in braces, @code{@{@}}, are required. + +NOTE: LaTeX is case sensitive. Enter all commands in lower case +unless explicitly directed to do otherwise. +@end ifinfo + +@iftex +A @LaTeX command begins with the command name, which consists of a +@code{\} followed by either (a) a string of letters or (b) a single +non-letter. Arguments contained in square brackets, @code{[]}, are +optional while arguments contained in braces, @code{@{@}}, are required. + +NOTE: @LaTeX is case sensitive. Enter all commands in lower case +unless explicitly directed to do otherwise. +@end iftex + +@menu +* Counters:: Information on internal counters. +* Cross References:: Automatic referencing. +* Definitions:: Define your own commands etc. +* Document Styles:: Some of the various styles available. +* Environments:: Such as enumerate & itemize. +* Footnotes:: How to produce footnotes. +* Lengths:: The length commands. +* Letters:: The letter style. +* Line & Page Breaking:: How do insert pagebreaks etc. +* Making Paragraphs:: Paragraph commands. +* Math Formulae:: How to create mathematical formulae. +* Modes:: Paragraph, Math or LR modes. +* Page Styles:: Various styles of page layout. +* Sectioning:: How to section properly. +* Spaces & Boxes:: All the associated commands. +* Special Characters:: Special reserved characters. +* Splitting the Input:: Dealing with big files by splitting. +* Starting & Ending:: The formal start & end layouts. +* Table of Contents:: How to create a table of contents. +* Terminal Input/Output:: User interaction. +* Typefaces:: Such as bold, italics etc. + +@end menu + + +@comment *************************************** +@comment **** Command's LEVEL2 Starts Here. **** +@comment *************************************** + +@comment ************************* +@comment ******* Counters ******** +@comment ************************* + +@comment LEVEL2 +@node Counters, \addtocounter, Commands, Commands +@comment node-name, next, previous, up +@section Counters +@cindex Counters, a list of +@cindex Variables, a list of... (see also Counters) + +@ifinfo +Everything LaTeX numbers for you has a counter associated with it. The +name of the counter is the same as the name of the environment or +command that produces the number, except with no @code{\}. (enumi - +enumiv are used for the nested enumerate environment.) Below is a list +of the counters used in LaTeX's standard document styles to control +numbering. +@end ifinfo + +@iftex +Everything @LaTeX numbers for you has a counter associated with it. The +name of the counter is the same as the name of the environment or +command that produces the number, except with no @code{\}. (enumi - +enumiv are used for the nested enumerate environment.) Below is a list +of the counters used in @LaTeX 's standard document styles to control +numbering. +@end iftex + +@example + part paragraph figure enumi + chapter subparagraph table enumii + section page footnote enumiii + subsection equation mpfootnote enumiv + subsubsection +@end example + +@menu +* \addtocounter:: +* \alph:: +* \arabic:: +* \fnsymbol:: +* \newcounter:: +* \roman:: +* \setcounter:: +* \usecounter:: +* \value:: + +@end menu + +@comment ******************* +@comment ** \addtocounter ** +@comment ******************* + +@comment LEVEL3 +@node \addtocounter, \alph, Counters, Counters +@comment node-name, next, previous, up +@subsection \addtocounter +@cindex Counters, adding to + +@code{\addtocounter@{counter@}@{value@}} + +The @code{\addtocounter} command increments the @code{counter} by the +amount specified by the @code{value} argument. The @code{value} +argument can be negative. + + +@comment ************ +@comment ** \alph *** +@comment ************ + +@comment LEVEL3 +@node \alph, \arabic, \addtocounter, Counters +@comment node-name, next, previous, up +@subsection \alph + +@code{\alph@{counter@}} + +This command causes the value of the @code{counter} to be printed in +alphabetic characters. The @code{\alph} command causes lower case +alphabetic alphabetic characters, i.e., @code{a, b, c...} while the +@code{\Alph} command causes upper case alphabetic characters, i.e., +@code{A, B, C...}. + + +@comment ************** +@comment ** \arabic *** +@comment ************** + +@comment LEVEL3 +@node \arabic, \fnsymbol, \alph, Counters +@comment node-name, next, previous, up +@subsection \arabic + +@code{\arabic@{counter@}} + +The @code{\arabic} command causes the value of the @code{counter} to be +printed in arabic numbers, i.e., @code{3}. + + +@comment *************** +@comment ** \fnsymbol ** +@comment *************** + +@comment LEVEL3 +@node \fnsymbol, \newcounter, \arabic, Counters +@comment node-name, next, previous, up +@subsection \fnsymbol + +@code{\fnsymbol@{counter@}} + +The @code{\fnsymbol} command causes the value of the @code{counter} to +be printed in a specific sequence of nine symbols that can be used for +numbering footnotes. + +@iftex +eg. From 1-9: +@tex +$\ast$ $\dagger$ $\ddagger$ $\S$ $\P$ $\parallel$ $\ast \ast$ $\dagger +\dagger$ $\ddagger \ddagger$ +@end tex +@end iftex + + +NB. @code{counter} must have a value between 1 and 9 inclusive. + + +@comment ***************** +@comment ** \newcounter ** +@comment ***************** + +@comment LEVEL3 +@node \newcounter, \roman, \fnsymbol, Counters +@comment node-name, next, previous, up +@subsection \newcounter +@cindex Counters, creating + +@code{\newcounter@{foo@}[counter]} + +The @code{\newcounter} command defines a new counter named @code{foo}. +The optional argument @code{[counter]} causes the counter @code{foo} to +be reset whenever the counter named in the optional argument is +incremented. + + +@comment ************ +@comment ** \roman ** +@comment ************ + +@comment LEVEL3 +@node \roman, \setcounter, \newcounter, Counters +@comment node-name, next, previous, up +@subsection \roman + +@code{\roman@{counter@}} + +This command causes the value of the @code{counter} to be printed in +roman numerals. The @code{\roman} command causes lower case roman +numerals, i.e., @code{i, ii, iii...}, while the @code{\Roman} command +causes upper case roman numerals, i.e., @code{I, II, III...}. + + +@comment ***************** +@comment ** \setcounter ** +@comment ***************** + +@comment LEVEL3 +@node \setcounter, \usecounter, \roman, Counters +@comment node-name, next, previous, up +@subsection \setcounter +@cindex Counters, setting + +@code{\setcounter@{counter@}@{value@}} + +The @code{\setcounter} command sets the value of the @code{counter} to +that specified by the @code{value} argument. + + +@comment ***************** +@comment ** \usecounter ** +@comment ***************** + +@comment LEVEL3 +@node \usecounter, \value, \setcounter, Counters +@comment node-name, next, previous, up +@subsection \usecounter +@cindex Counters, use of +@cindex Using Counters + +@code{\usecounter@{counter@}} + +The @code{\usecounter} command is used in the second argument of the +@code{list} environment to allow the counter specified to be used to +number the list items. + + +@comment ************ +@comment ** \value ** +@comment ************ + +@comment LEVEL3 +@node \value, Cross References, \usecounter, Counters +@comment node-name, next, previous, up +@subsection \value +@cindex Counters, use of +@cindex Using Counters + +@code{\value@{counter@}} + +@ifinfo +The @code{\value} command produces the value of the @code{counter} named +in the mandatory argument. It can be used where LaTeX expects an +integer or number, such as the second argument of a @code{\setcounter} +or @code{\addtocounter} command, or in: +@end ifinfo + +@iftex +The @code{\value} command produces the value of the @code{counter} named +in the mandatory argument. It can be used where @LaTeX expects an +integer or number, such as the second argument of a @code{\setcounter} +or @code{\addtocounter} command, or in: +@end iftex + +@example + \hspace@{\value@{foo@}\parindent@} +@end example + +It is useful for doing arithmetic with counters. + +@page + +@comment ************************* +@comment **** Cross References *** +@comment ************************* + +@comment LEVEL2 +@node Cross References, \label, \value, Commands +@comment node-name, next, previous, up +@section Cross References +@cindex Cross referencing + +One reason for numbering things like figures and equations is to refer +the reader to them, as in "See Figure 3 for more details." + +@menu +* \label:: +* \pageref:: +* \ref:: +@end menu + +@comment ************************* +@comment **** \label ************* +@comment ************************* + +@comment LEVEL3 +@node \label, \pageref, Cross References, Cross References +@comment node-name, next, previous, up +@subsection \label +@cindex Cross referencing + +@code{\label@{key@}} + +A @code{\label} command appearing in ordinary text assigns to the +@code{key} the number of the current sectional unit; one appearing +inside a numbered environment assigns that number to the @code{key}. + +A @code{key} can consist of any sequence of letters, digits, or +punctuation characters. Upper and lowercase letters are different. + + +@comment ************************* +@comment **** \pageref *********** +@comment ************************* + +@comment LEVEL3 +@node \pageref, \ref, \label, Cross References +@comment node-name, next, previous, up +@subsection \pageref +@cindex Cross referencing + +@code{\pageref@{key@}} + +The @code{\pageref} command produces the page number of the place in the +text where the corresponding @code{\label} command appears. ie. where +@code{\label@{key@}} appears. + + +@comment ************************* +@comment **** \ref *************** +@comment ************************* + +@comment LEVEL3 +@node \ref, Definitions, \pageref, Cross References +@comment node-name, next, previous, up +@subsection \ref +@cindex Cross referencing + +@code{\ref@{key@}} + +The @code{\ref} command produces the number of the sectional unit, +equation number, ... of the corresponding @code{\label} command. + +@page + +@comment ************************* +@comment **** Definitions ******** +@comment ************************* + +@comment LEVEL2 +@node Definitions, \newcommand, \ref, Commands +@comment node-name, next, previous, up +@section Definitions + +@menu +* \newcommand:: +* \newenvironment:: +* \newtheorem:: +* \newfont:: +@end menu + + +@comment ************************* +@comment **** \newcommand ******** +@comment ************************* + +@comment LEVEL3 +@node \newcommand, \newenvironment, Definitions, Definitions +@comment node-name, next, previous, up +@subsection \newcommand +@cindex Commands, defining new ones +@cindex Defining a new command + +@example + \newcommand@{cmd@}[args]@{def@} + \renewcommand@{cmd@}[args]@{def@} +@end example + +These commands define (or redefine) a command. + +@table @code +@item cmd +A command name beginning with a @code{\}. For @code{\newcommand} it +must not be already defined and must not begin with @code{\end}; for +@code{\renewcommand} it must already be defined. + +@item args +An integer from 1 to 9 denoting the number of arguments of the command +being defined. The default is for the command to have no arguments. + +@item def +The text to be substituted for every occurrence of @code{cmd}; a +parameter of the form @code{#n} in @code{cmd} is replaced by the text of +the nth argument when this substitution takes place. + +@end table + + +@comment ************************* +@comment **** \newenvironment **** +@comment ************************* + +@comment LEVEL3 +@node \newenvironment, \newtheorem, \newcommand, Definitions +@comment node-name, next, previous, up +@subsection \newenvironment +@cindex Environments, defining +@cindex Defining new environments + +@example + \newenvironment@{nam@}[args]@{begdef@}@{enddef@} + \renewenvironment@{nam@}[args]@{begdef@}@{enddef@} +@end example + +These commands define or redefine an environment. + +@table @code +@item nam +The name of the environment. For @code{\newenvironment} there must be +no currently defined environment by that name, and the command +@code{\nam} must be undefined. For @code{\renewenvironment} the +environment must already be defined. + +@item args +An integer from 1 to 9 denoting the number of arguments of +the newly-defined environment. The default is no arguments. + +@item begdef +The text substituted for every occurrence of @code{\begin@{nam@}}; a +parameter of the form @code{#n} in @code{cmd} is replaced by the text of +the nth argument when this substitution takes place. + +@item enddef +The text substituted for every occurrence of @code{\end@{nam@}}. It may +not contain any argument parameters. + +@end table + + +@comment ************************* +@comment **** \newtheorem ******** +@comment ************************* + +@comment LEVEL3 +@node \newtheorem, \newfont, \newenvironment, Definitions +@comment node-name, next, previous, up +@subsection \newtheorem +@cindex Theorems, defining +@cindex Defining new theorems + +@example + \newtheorem@{env_name@}@{caption@}[within] + \newtheorem@{env_name@}[numbered_like]@{caption@} +@end example + +This command defines a theorem-like environment. + +@table @code +@item env_name +The name of the environment to be defined. A string of letters. It must +not be the name of an existing environment or counter. + +@item caption +The text printed at the beginning of the environment, right before the +number. This may simply say "Theorem", for example. + +@item within +The name of an already defined counter, usually of a sectional unit. +Provides a means of resetting the new theorem counter @strong{within} +the sectional unit. + +@item numbered_like +The name of an already defined theorem-like environment. + +@end table + +The @code{\newtheorem} command may have at most one optional argument. + + +@comment ************************* +@comment **** \newfont *********** +@comment ************************* + +@comment LEVEL3 +@node \newfont, Document Styles, \newtheorem, Definitions +@comment node-name, next, previous, up +@subsection \newfont +@cindex Fonts, new commands for +@cindex Defining new fonts + +@code{\newfont@{cmd@}@{font_name@}} + +Defines the command name @code{cmd}, which must not be currently +defined, to be a declaration that selects the font named +@code{font_name} to be the current font. + +@page + +@comment ************************* +@comment **** Document Styles **** +@comment ************************* + +@comment LEVEL2 +@node Document Styles, \flushbottom, \newfont, Commands +@comment node-name, next, previous, up +@section Document Styles +@cindex Document Styles +@cindex Styles of document +@cindex article style +@cindex report style +@cindex book style +@cindex letter style + +@ifinfo +Valid LaTeX document styles include: +@end ifinfo + +@iftex +Valid @LaTeX document styles include: +@end iftex + +@itemize @bullet +@item +article +@item +report +@item +letter +@item +book +@end itemize + +Other document styles are often available. @xref{Overview}, for details. +They are selected with the following command: + +@code{\documentstyle [options] @{style@}} + +The options for the different styles are: + +@enumerate +@item +@code{article} - 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno, acm +@item +@code{report} - 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno, acm +@item +@code{letter} - 11pt, 12pt, fleqn, leqno, acm +@item +@code{book} - 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno +@end enumerate + +If you specify more than one option, they must be separated by a comma. + +@menu +* \flushbottom:: +* \onecolumn:: +* \raggedbottom:: +* \twocolumn:: +@end menu + + +@comment ************************* +@comment **** \flushbottom ******* +@comment ************************* + +@comment LEVEL3 +@node \flushbottom, \onecolumn, Document Styles, Document Styles +@comment node-name, next, previous, up +@subsection \flushbottom + +The @code{\flushbottom} declaration makes all text pages the same +height, adding extra vertical space when necessary to fill out the page. + +This is the standard for the book style. + + +@comment ************************* +@comment **** \onecolumn ********* +@comment ************************* + +@comment LEVEL3 +@node \onecolumn, \raggedbottom, \flushbottom, Document Styles +@comment node-name, next, previous, up +@subsection \onecolumn + +The @code{\onecolumn} declaration starts a new page and produces +single-column output. + + +@comment ************************* +@comment **** \raggedbottom ****** +@comment ************************* + +@comment LEVEL3 +@node \raggedbottom, \twocolumn, \onecolumn, Document Styles +@comment node-name, next, previous, up +@subsection \raggedbottom + +The @code{\raggedbottom} declaration makes all pages the height of the +text on that page. No extra vertical space is added. + +@comment ************************* +@comment **** \twocolumn ********* +@comment ************************* + +@comment LEVEL3 +@node \twocolumn, Environments, \raggedbottom, Document Styles +@comment node-name, next, previous, up +@subsection \twocolumn +@cindex Multicolumn text + +The @code{\twocolumn} declaration starts a new page and produces +two-column output. + +@page + +@comment ************************* +@comment **** Environments ******* +@comment ************************* + +@comment LEVEL2 +@node Environments, array, \twocolumn, Commands +@comment node-name, next, previous, up +@section Environments +@cindex Environments + +@ifinfo +LaTeX provides a number of different paragraph-making environments. +Each environment begins and ends in the same manner. +@end ifinfo + +@iftex +@LaTeX provides a number of different paragraph-making environments. +Each environment begins and ends in the same manner. +@end iftex + +@example + \begin@{environment-name@} + . + . + . + \end@{environment-name@} +@end example + +@menu +* array:: +* center:: +* description:: +* enumerate:: +* eqnarray:: +* equation:: +* figure:: +* flushleft:: +* flushright:: +* itemize:: +* list:: +* minipage:: +* picture:: +* quotation:: +* quote:: +* tabbing:: +* table:: +* tabular:: +* thebibliography:: +* theorem:: +* titlepage:: +* verbatim:: +* verse:: +@end menu + + +@comment ************************* +@comment **** array ************** +@comment ************************* + +@comment LEVEL3 +@node array, center, Environments, Environments +@comment node-name, next, previous, up +@subsection array +@cindex Arrays + +@example +\begin@{array@}@{col1col2...coln@} +column 1 entry & column 2 entry ... & column n entry \\ + . + . + . +\end@{array@} +@end example + +Math arrays are produced with the array environment. It has a single +mandatory argument describing the number of columns and the alignment +within them. Each column, @code{coln}, is specified by a single letter +that tells how items in that row should be formatted. + +@itemize @bullet +@item +@code{c} - for centred +@item +@code{l} - for flushleft +@item +@code{r} - for flushright +@end itemize + +@ifinfo +Column entries must be separated by an @code{&}. Column entries may +include other LaTeX commands. Each row of the array must be terminated +with the string @code{\\}. +@end ifinfo + +@iftex +Column entries must be separated by an @code{&}. Column entries may +include other @LaTeX commands. Each row of the array must be terminated +with the string @code{\\}. +@end iftex + +@comment ************************* +@comment **** center ************* +@comment ************************* + +@comment LEVEL3 +@node center, \centering, array, Environments +@comment node-name, next, previous, up +@subsection center +@cindex Centering text +@cindex Formatting text + +@example + \begin@{center@} + Text on line 1 \\ + Text on line 2 \\ + . + . + . + \end@{center@} +@end example + +The @code{center} environment allows you to create a paragraph consisting of +lines that are centred within the left and right margins on the current +page. Each line must be terminated with the string @code{\\}. + +@menu +* \centering:: +@end menu + + +@comment ***************** +@comment ** \centering *** +@comment ***************** + +@comment LEVEL4 +@node \centering, description, center, center +@comment node-name, next, previous, up +@subsubsection \centering +@cindex Centering text +@cindex Formatting Text + +This declaration corresponds to the @code{center} environment. This +declaration can be used inside an environment such as @code{quote} or in +a @code{parbox}. The text of a figure or table can be centered on the +page by putting a @code{\centering} command at the beginning of the +figure or table environment. + +@ifinfo +Unlike the @code{center} environment, the @code{\centering} command does +not start a new paragraph; it simply changes how LaTeX formats paragraph +units. To affect a paragraph unit's format, the scope of the +declaration must contain the blank line or @code{\end} command (of an +environment like quote) that ends the paragraph unit. +@end ifinfo + +@iftex +Unlike the @code{center} environment, the @code{\centering} command does +not start a new paragraph; it simply changes how @LaTeX formats paragraph +units. To affect a paragraph unit's format, the scope of the +declaration must contain the blank line or @code{\end} command (of an +environment like quote) that ends the paragraph unit. +@end iftex + + +@comment ************************* +@comment **** description ******** +@comment ************************* + +@comment LEVEL3 +@node description, enumerate, \centering, Environments +@comment node-name, next, previous, up +@subsection description +@cindex description Environments +@cindex Environments + +@example + \begin@{description@} + \item [label] First item + \item [label] Second item + . + . + . + \end@{description@} +@end example + +The @code{description} environment is used to make labelled lists. The +@code{label} is bold face and flushed right. + + +@comment ************************* +@comment **** enumerate ********** +@comment ************************* + +@comment LEVEL3 +@node enumerate, eqnarray, description, Environments +@comment node-name, next, previous, up +@subsection enumerate +@cindex enumerate Environment +@cindex Environments +@cindex Lists of items + +@example + \begin@{enumerate@} + \item First item + \item Second item + . + . + . + \end@{enumerate@} +@end example + +The @code{enumerate} environment produces a numbered list. Enumerations +can be nested within one another, up to four levels deep. They can also +be nested within other paragraph-making environments. + +Each item of an enumerated list begins with an @code{\item} command. +There must be at least one @code{\item} command within the environment. + + +@comment ************************* +@comment **** eqnarray *********** +@comment ************************* + +@comment LEVEL3 +@node eqnarray, equation, enumerate, Environments +@comment node-name, next, previous, up +@subsection eqnarray +@cindex eqnarray Environment +@cindex Environments + +@example + \begin@{eqnarray@} + math formula 1 \\ + math formula 2 \\ + . + . + . + \end@{eqnarray@} +@end example + +The @code{eqnarray} environment is used to display a sequence of +equations or inequalities. It is very much like a three-column +@code{array} environment, with consecutive rows separated by @code{\\} +and consecutive items within a row separated by an @code{&}. An +equation number is placed on every line unless that line has a +@code{\nonumber} command. + + +@comment ************************* +@comment **** equation *********** +@comment ************************* + +@comment LEVEL3 +@node equation, figure, eqnarray, Environments +@comment node-name, next, previous, up +@subsection equation +@cindex equation Environment +@cindex Environments + +@example + \begin@{equation@} + math formula + \end@{equation@} +@end example + +The @code{equation} environment centres your equation on the page and places +the equation number in the right margin. + +@comment ************************* +@comment **** figure ************* +@comment ************************* + +@comment LEVEL3 +@node figure, flushleft, equation, Environments +@comment node-name, next, previous, up +@subsection figure +@cindex figure Environment +@cindex Environments +@cindex Inserting figures + +@example + \begin@{figure@}[placement] + + body of the figure + + \caption@{figure title@} + \end@{figure@} +@end example + +Figures are objects that are not part of the normal text, and are +usually "floated" to a convenient place, like the top of a page. +Figures will not be split between two pages. + +@ifinfo +The optional argument @code{[placement]} determines where LaTeX will try +to place your figure. There are four places where LaTeX can possibly +put a float: +@end ifinfo + +@iftex +The optional argument @code{[placement]} determines where @LaTeX will try +to place your figure. There are four places where @LaTeX can possibly +put a float: +@end iftex + +@enumerate +@item +@code{h} (Here) - at the position in the text where the figure +environment appears. +@item +@code{t} (Top) - at the top of a text page. +@item +@code{b} (Bottom) - at the bottom of a text page. +@item +@code{p} (Page of floats) - on a separate float page, which is a page +containing no text, only floats. +@end enumerate + +The standard report and article styles use the default placement +@code{tbp}. + +@ifinfo +The body of the figure is made up of whatever text, LaTeX commands, etc. +you wish. The @code{\caption} command allows you to title your figure. +@end ifinfo + +@iftex +The body of the figure is made up of whatever text, @LaTeX commands, etc. +you wish. The @code{\caption} command allows you to title your figure. +@end iftex + + +@comment ************************* +@comment **** flushleft ********** +@comment ************************* + +@comment LEVEL3 +@node flushleft, \raggedright, figure, Environments +@comment node-name, next, previous, up +@subsection flushleft +@cindex Environments + +@example + \begin@{flushleft@} + Text on line 1 \\ + Text on line 2 \\ + . + . + . + \end@{flushleft@} +@end example + +The @code{flushleft} environment allows you to create a paragraph +consisting of lines that are flushed left, to the left-hand margin. +Each line must be terminated with the string @code{\\}. + +@menu +* \raggedright:: +@end menu + +@comment ***************** +@comment * \raggedright ** +@comment ***************** + +@comment LEVEL4 +@node \raggedright, flushright, flushleft, flushleft +@comment node-name, next, previous, up +@subsubsection \raggedright +@cindex Environments + +This declaration corresponds to the @code{flushleft} environment. This +declaration can be used inside an environment such as @code{quote} or in +a @code{parbox}. + +@ifinfo +Unlike the @code{flushleft} environment, the @code{\raggedright} command +does not start a new paragraph; it simply changes how LaTeX formats +paragraph units. To affect a paragraph unit's format, the scope of the +declaration must contain the blank line or @code{\end} command (of an +environment like quote) that ends the paragraph unit. +@end ifinfo + +@iftex +Unlike the @code{flushleft} environment, the @code{\raggedright} command +does not start a new paragraph; it simply changes how @LaTeX formats +paragraph units. To affect a paragraph unit's format, the scope of the +declaration must contain the blank line or @code{\end} command (of an +environment like quote) that ends the paragraph unit. +@end iftex + + +@comment ************************* +@comment **** flushright ********* +@comment ************************* + +@comment LEVEL3 +@node flushright, \raggedleft, \raggedright, Environments +@comment node-name, next, previous, up +@subsection flushright + +@example + \begin@{flushright@} + Text on line 1 \\ + Text on line 2 \\ + . + . + . + \end@{flushright@} +@end example + +The @code{flushright} environment allows you to create a paragraph +consisting of lines that are flushed right, to the right-hand margin. +Each line must be terminated with the string @code{\\}. + +@menu +* \raggedleft:: +@end menu + +@comment ***************** +@comment * \raggedleft *** +@comment ***************** + +@comment LEVEL4 +@node \raggedleft, itemize, flushright, flushright +@comment node-name, next, previous, up +@subsubsection \raggedleft + +This declaration corresponds to the @code{flushright} environment. This +declaration can be used inside an environment such as @code{quote} or in +a @code{parbox}. + +@ifinfo +Unlike the @code{flushright} environment, the @code{\raggedleft} command +does not start a new paragraph; it simply changes how LaTeX formats +paragraph units. To affect a paragraph unit's format, the scope of the +declaration must contain the blank line or @code{\end} command (of an +environment like quote) that ends the paragraph unit. +@end ifinfo + +@iftex +Unlike the @code{flushright} environment, the @code{\raggedleft} command +does not start a new paragraph; it simply changes how @LaTeX formats +paragraph units. To affect a paragraph unit's format, the scope of the +declaration must contain the blank line or @code{\end} command (of an +environment like quote) that ends the paragraph unit. +@end iftex + +@comment ************************* +@comment **** itemize ************ +@comment ************************* + +@comment LEVEL3 +@node itemize, list, \raggedleft, Environments +@comment node-name, next, previous, up +@subsection itemize +@cindex itemize Environment +@cindex Lists of items +@cindex Environments + +@example + \begin@{itemize@} + \item First item + \item Second item + . + . + . + \end@{itemize@} +@end example + +The @code{itemize} environment produces a "bulleted" list. Itemizations +can be nested within one another, up to four levels deep. They can also +be nested within other paragraph-making environments. + +Each item of an @code{itemized} list begins with an @code{\item} command. +There must be at least one @code{\item} command within the environment. + + +@comment ************************* +@comment **** list *************** +@comment ************************* + +@comment LEVEL3 +@node list, minipage, itemize, Environments +@comment node-name, next, previous, up +@subsection list +@cindex Environments +@cindex list Environment +@cindex Lists of items + +@example + \begin@{list@}@{label@}@{spacing@} + \item First item + \item Second item + . + . + . + \end@{list@} +@end example + +@ifinfo +The @code{@{label@}} argument specifies how items should be labelled. +This argument is a piece of text that is inserted in a box to form the +label. This argument can and usually does contain other LaTeX commands. +@end ifinfo + +@iftex +The @code{@{label@}} argument specifies how items should be labelled. +This argument is a piece of text that is inserted in a box to form the +label. This argument can and usually does contain other @LaTeX commands. +@end iftex + +The @code{@{spacing@}} argument contains commands to change the spacing +parameters for the list. This argument will most often be null, i.e., +@code{@{@}}. This will select all default spacing which should suffice +for most cases. + + +@comment ************************* +@comment **** minipage *********** +@comment ************************* + +@comment LEVEL3 +@node minipage, picture, list, Environments +@comment node-name, next, previous, up +@subsection minipage +@cindex minipage Environment +@cindex Environments + +@example + \begin@{minipage@}[position]@{width@} + text + \end@{minipage@} +@end example + +The @code{minipage} environment is similar to a @code{\parbox} command. +It takes the same optional @code{position} argument and mandatory +@code{width} argument. You may use other paragraph-making environments +inside a minipage. + +Footnotes in a @code{minipage} environment are handled in a way that is +particularly useful for putting footnotes in figures or tables. A +@code{\footnote} or @code{\footnotetext} command puts the footnote at +the bottom of the minipage instead of at the bottom of the page, and it +uses the @code{mpfootnote} counter instead of the ordinary +@code{footnote} counter. + +NOTE: Don't put one minipage inside another if you are using footnotes; +they may wind up at the bottom of the wrong minipage. + + +@comment ************************* +@comment **** picture ************ +@comment ************************* + +@comment LEVEL3 +@node picture, \circle, minipage, Environments +@comment node-name, next, previous, up +@subsection picture +@cindex Environments +@cindex picture Environment +@cindex Creating pictures + +@example + \begin@{picture@}(width,height)(x offset,y offset) + . + picture commands + . + \end@{picture@} +@end example + +@ifinfo +The @code{picture} environment allows you to create just about any kind +of picture you want containing text, lines, arrows and circles. You +tell LaTeX where to put things in the picture by specifying their +coordinates. A coordinate is a number that may have a decimal point and +a minus sign - a number like @code{5}, @code{2.3} or @code{-3.1416}. A +coordinate specifies a length in multiples of the unit length +@code{\unitlength}, so if @code{\unitlength} has been set to @code{1cm}, +then the coordinate 2.54 specifies a length of 2.54 centimeters. You +can change the value of @code{\unitlength} anywhere you want, using the +@code{\setlength} command, but strange things will happen if you try +changing it inside the picture environment. +@end ifinfo + +@iftex +The @code{picture} environment allows you to create just about any kind +of picture you want containing text, lines, arrows and circles. You +tell @LaTeX where to put things in the picture by specifying their +coordinates. A coordinate is a number that may have a decimal point and +a minus sign - a number like @code{5}, @code{2.3} or @code{-3.1416}. A +coordinate specifies a length in multiples of the unit length +@code{\unitlength}, so if @code{\unitlength} has been set to @code{1cm}, +then the coordinate 2.54 specifies a length of 2.54 centimeters. You +can change the value of @code{\unitlength} anywhere you want, using the +@code{\setlength} command, but strange things will happen if you try +changing it inside the picture environment. +@end iftex + +A position is a pair of coordinates, such as @code{(2.4,-5)}, specifying +the point with x-coordinate @code{2.4} and y-coordinate @code{-5}. +Coordinates are specified in the usual way with respect to an origin, +which is normally at the lower-left corner of the picture. Note that +when a position appears as an argument, it is not enclosed in braces; +the parentheses serve to delimit the argument. + +The @code{picture} environment has one mandatory argument, which is a +@code{position}. It specifies the size of the picture. The environment +produces a rectangular box with width and height determined by this +argument's x- and y-coordinates. + +The @code{picture} environment also has an optional @code{position} +argument, following the @code{size} argument, that can change the +origin. (Unlike ordinary optional arguments, this argument is not +contained in square brackets.) The optional argument gives the +coordinates of the point at the lower-left corner of the picture +(thereby determining the origin). For example, if @code{\unitlength} +has been set to @code{1mm}, the command... +@example + \begin@{picture@}(100,200)(10,20) +@end example +...produces a picture of width 100 millimeters and height 200 +millimeters, whose lower-left corner is the point (10,20) and whose +upper-right corner is therefore the point (110,220). When you first +draw a picture, you will omit the optional argument, leaving the origin +at the lower-left corner. If you then want to modify your picture by +shifting everything, you just add the appropriate optional argument. + +@ifinfo +The environment's mandatory argument determines the nominal size of the +picture. This need bear no relation to how large the picture really is; +LaTeX will happily allow you to put things outside the picture, or even +off the page. The picture's nominal size is used by TeX in determining +how much room to leave for it. +@end ifinfo + +@iftex +The environment's mandatory argument determines the nominal size of the +picture. This need bear no relation to how large the picture really is; +@LaTeX will happily allow you to put things outside the picture, or even +off the page. The picture's nominal size is used by TeX in determining +how much room to leave for it. +@end iftex + +Everything that appears in a picture is drawn by the @code{\put} +command. The command... +@example + \put (11.3,-.3)@{...@} +@end example +...puts the object specified by @code{...} in the picture, with its +reference point at coordinates (11.3,-.3). The reference points for +various objects will be described below. + +The @code{\put} command creates an @code{LR box}. You can put anything +in the text argument of the @code{\put} command that you'd put into the +argument of an @code{\mbox} and related commands. When you do this, the +reference point will be the lower left corner of the box. + +@menu +* \circle:: +* \dashbox:: +* \frame:: +* \framebox (picture):: +* \line:: +* \linethickness:: +* \makebox (picture):: +* \multiput:: +* \oval:: +* \put:: +* \shortstack:: +* \vector:: +@end menu + + +@comment ***************** +@comment *** \circle ***** +@comment ***************** + +@comment LEVEL4 +@node \circle, \dashbox, picture, picture +@comment node-name, next, previous, up +@subsubsection \circle + +@code{\circle[*]@{diameter@}} + +@ifinfo +The @code{\circle} command produces a circle of the specified diameter. +If the @code{*}-form of the command is used, LaTeX draws a solid circle. +@end ifinfo + +@iftex +The @code{\circle} command produces a circle of the specified diameter. +If the @code{*}-form of the command is used, @LaTeX draws a solid circle. +@end iftex + +@comment ***************** +@comment *** \dashbox **** +@comment ***************** + +@comment LEVEL4 +@node \dashbox, \frame, \circle, picture +@comment node-name, next, previous, up +@subsubsection \dashbox + +@code{\dashbox@{dash_length@}(width,height)@{...@}} + +The @code{\dashbox} has an extra argument which specifies the width of +each dash. A dashed box looks best when the @code{width} and +@code{height} are multiples of the @code{dash_length}. + + +@comment ***************** +@comment *** \frame ****** +@comment ***************** + +@comment LEVEL4 +@node \frame, \framebox (picture), \dashbox, picture +@comment node-name, next, previous, up +@subsubsection \frame + +@code{\frame@{...@}} + +The @code{\frame} command puts a rectangular frame around the object +specified in the argument. The reference point is the bottom left +corner of the frame. No extra space is put between the frame and the +object. + + +@comment ************************** +@comment *** \framebox (picture) ** +@comment ************************** + +@comment LEVEL4 +@node \framebox (picture), \line, \frame, picture +@comment node-name, next, previous, up +@subsubsection \framebox + +@code{\framebox(width,height)[position]@{...@}} + +The @code{\framebox} command is exactly the same as the @code{\makebox} +command, except that it puts a frame around the outside of the box that +it creates. + +The @code{framebox} command produces a rule of thickness +@code{\fboxrule}, and leaves a space @code{\fboxsep} between the rule +and the contents of the box. + +@comment ***************** +@comment *** \line ******* +@comment ***************** + +@comment LEVEL4 +@node \line, \linethickness, \framebox (picture), picture +@comment node-name, next, previous, up +@subsubsection \line + +@code{\line(x slope,y slope)@{length@}} + +The @code{\line} command draws a line of the specified @code{length} and +@code{slope}. + + +@comment ****************** +@comment * \linethickness * +@comment ****************** + +@comment LEVEL4 +@node \linethickness, \makebox (picture), \line, picture +@comment node-name, next, previous, up +@subsubsection \linethickness + +@code{\linethickness@{dimension@}} + +Declares the thickness of horizontal and vertical lines in a picture +environment to be @code{dimension}, which must be a positive length. It +does not affect the thickness of slanted lines and circles, or the +quarter circles drawn by @code{\oval} to form the corners of an oval. + + +@comment ************************* +@comment *** \makebox (picture) ** +@comment ************************* + +@comment LEVEL4 +@node \makebox (picture), \multiput, \linethickness, picture +@comment node-name, next, previous, up +@subsubsection \makebox + +@code{\makebox(width,height)[position]@{...@}} + +The @code{\makebox} command for the picture environment is similar to +the normal @code{\makebox} command except that you must specify a +@code{width} and @code{height} in multiples of @code{\unitlength}. + +The optional argument, @code{[position]}, specifies the quadrant that +your text appears in. You may select up to two of the following: + +@itemize @bullet +@item +@code{t} - Moves the item to the top of the rectangle +@item +@code{b} - Moves the item to the bottom +@item +@code{l} - Moves the item to the left +@item +@code{r} - Moves the item to the right +@end itemize + +@xref{\makebox}. + +@comment ***************** +@comment *** \multiput *** +@comment ***************** + +@comment LEVEL4 +@node \multiput, \oval, \makebox (picture), picture +@comment node-name, next, previous, up +@subsubsection \multiput + +@code{\multiput(x coord,y coord)(delta x,delta y)@{number of copies@}@{object@}} + +The @code{\multiput} command can be used when you are putting the same +object in a regular pattern across a picture. + + +@comment ***************** +@comment *** \oval ***** +@comment ***************** + +@comment LEVEL4 +@node \oval, \put, \multiput, picture +@comment node-name, next, previous, up +@subsubsection \oval + +@code{\oval(width,height)[portion]} + +The @code{\oval} command produces a rectangle with rounded corners. The +optional argument, @code{[portion]}, allows you to select part of the +oval. + +@itemize @bullet +@item +@code{t} - Selects the top portion +@item +@code{b} - Selects the bottom portion +@item +@code{r} - Selects the right portion +@item +@code{l} - Selects the left portion +@end itemize + + +@comment ***************** +@comment *** \put ******** +@comment ***************** + +@comment LEVEL4 +@node \put, \shortstack, \oval, picture +@comment node-name, next, previous, up +@subsubsection \put + +@code{\put(x coord,y coord)@{ ... @}} + +The @code{\put} command places the item specified by the mandatory +argument at the given coordinates. + + +@comment ***************** +@comment *** \shortstack * +@comment ***************** + +@comment LEVEL4 +@node \shortstack, \vector, \put, picture +@comment node-name, next, previous, up +@subsubsection \shortstack + +@code{\shortstack[position]@{... \\ ... \\ ...@}} + +The @code{\shortstack} command produces a stack of objects. The valid +positions are: + +@itemize @bullet +@item +@code{r} - Moves the objects to the right of the stack +@item +@code{l} - Moves the objects to the left of the stack +@item +@code{c} - Moves the objects to the center of the stack (default) +@end itemize + + +@comment ***************** +@comment *** \vector ***** +@comment ***************** + +@comment LEVEL4 +@node \vector, quotation, \shortstack, picture +@comment node-name, next, previous, up +@subsubsection \vector + +@code{\vector(x slope,y slope)@{length@}} + +The @code{\vector} command draws a line with an arrow of the specified +length and slope. The @code{x} and @code{y} values must lie between -4 +and +4, inclusive. + + +@comment ************************* +@comment **** quotation ********** +@comment ************************* + +@comment LEVEL3 +@node quotation, quote, \vector, Environments +@comment node-name, next, previous, up +@subsection quotation +@cindex Environments +@cindex quotation Environment + +@example + \begin@{quotation@} + text + \end@{quotation@} +@end example + +The margins of the @code{quotation} environment are indented on the left +and the right. The text is justified at both margins and there is +paragraph indentation. Leaving a blank line between text produces a new +paragraph. + + +@comment ************************* +@comment **** quote ************** +@comment ************************* + +@comment LEVEL3 +@node quote, tabbing, quotation, Environments +@comment node-name, next, previous, up +@subsection quote +@cindex Environments +@cindex \quote Environment + +@example + \begin@{quote@} + text + \end@{quote@} +@end example + +The margins of the @code{quote} environment are indented on the left and +the right. The text is justified at both margins. Leaving a blank line +between text produces a new paragraph. + + +@comment ************************* +@comment **** tabbing ************ +@comment ************************* + +@comment LEVEL3 +@node tabbing, \=, quote, Environments +@comment node-name, next, previous, up +@subsection tabbing +@cindex Environments +@cindex tabbing Environment + +@example + \begin@{tabbing@} + text \= more text \= still more text \= last text \\ + second row \> \> more \\ + . + . + . + \end@{tabbing@} +@end example + +The @code{tabbing} environment provides a way to align text in columns. +It works by setting tab stops and tabbing to them much the way you do +with an ordinary typewriter. + +@menu +* \= :: +* \> :: +* \< :: +* \+ :: +* \- (tabbing) :: +* \A :: +* \` :: +* \kill :: +@end menu + + +@comment ***************** +@comment *** \= ******** +@comment ***************** + +@comment LEVEL4 +@node \=, \>, tabbing, tabbing +@comment node-name, next, previous, up +@subsubsection \= + +The @code{\=} command sets the tab stops. + + +@comment ***************** +@comment *** \> ******** +@comment ***************** + +@comment LEVEL4 +@node \>, \<, \=, tabbing +@comment node-name, next, previous, up +@subsubsection \> + +@ifinfo +The @code{\>} command causes LaTeX to advance to the next tab stop. +@end ifinfo + +@iftex +The @code{\>} command causes @LaTeX to advance to the next tab stop. +@end iftex + +@comment ***************** +@comment *** \< ******** +@comment ***************** + +@comment LEVEL4 +@node \<, \+, \>, tabbing +@comment node-name, next, previous, up +@subsubsection \< + +The @code{\<} command allows you to put something to the left of the +local margin without changing the margin. + + +@comment ***************** +@comment *** \+ ******** +@comment ***************** + +@comment LEVEL4 +@node \+, \- (tabbing), \<, tabbing +@comment node-name, next, previous, up +@subsubsection \+ + +The @code{\+} command moves the left margin of the next and all the +following commands one tab stop to the right. + + +@comment ********************* +@comment *** \- (tabbing) *** +@comment ********************* + +@comment LEVEL4 +@node \- (tabbing), \A, \+, tabbing +@comment node-name, next, previous, up +@subsubsection \- + +The @code{\-} command moves the left margin of the next and all the +following commands one tab stop to the left. + + +@comment ***************** +@comment *** \' ******** +@comment ***************** + +@comment LEVEL4 +@node \A, \`, \- (tabbing), tabbing +@comment node-name, next, previous, up +@subsubsection \' + +The @code{\'} command moves everything that you have typed so far in the +current column, everything starting from the most recent @code{\>}, +@code{\<}, @code{\'}, @code{\\}, or @code{\kill} command, to the right +of the previous column, flush against the current column's tab stop. + + +@comment ***************** +@comment *** \` ******** +@comment ***************** + +@comment LEVEL4 +@node \`, \kill, \A, tabbing +@comment node-name, next, previous, up +@subsubsection \` + +The @code{\`} command allows you to put text flushed right against any +tab stop, including tab stop 0. However, it can't move text to the +right of the last column because there's no tab stop there. The +@code{\`} command moves all the text that follows it, up to the +@code{\\} or @code{\end@{tabbing@}} command that ends the line, to the +right margin of the tabbing environment. There must be no @code{\>} or +@code{\'} command between the @code{\`} and the command that ends the +line. + + +@comment ***************** +@comment *** \kill ***** +@comment ***************** + +@comment LEVEL4 +@node \kill, table, \`, tabbing +@comment node-name, next, previous, up +@subsubsection \kill + +The @code{\kill} command allows you to set tab stops without producing +text. It works just like the @code{\\} except that it throws away the +current line instead of producing output for it. The effect of any +@code{\=}, @code{\+} or @code{\-} commands in that line remain in +effect. + + + +@comment ************************* +@comment **** table ************** +@comment ************************* + +@comment LEVEL3 +@node table, tabular, \kill, Environments +@comment node-name, next, previous, up +@subsection table +@cindex Environments +@cindex table Environment + +@example + \begin@{table@}[placement] + + body of the table + + \caption@{table title@} + \end@{table@} +@end example + +Tables are objects that are not part of the normal text, and are +usually "floated" to a convenient place, like the top of a page. +Tables will not be split between two pages. + +@ifinfo +The optional argument @code{[placement]} determines where LaTeX will try +to place your table. There are four places where LaTeX can possibly put +a float: +@end ifinfo + +@iftex +The optional argument @code{[placement]} determines where @LaTeX will try +to place your table. There are four places where @LaTeX can possibly put +a float: +@end iftex + + +@itemize @bullet +@item +@code{h} : Here - at the position in the text where the table +environment appears. +@item +@code{t} : Top - at the top of a text page. +@item +@code{b} : Bottom - at the bottom of a text page. +@item +@code{p} : Page of floats - on a separate float page, which is a page +containing no text, only floats. +@end itemize + +The standard @code{report} and @code{article} styles use the default +placement @code{[tbp]}. + +@ifinfo +The body of the table is made up of whatever text, LaTeX commands, etc., +you wish. The @code{\caption} command allows you to title your table. +@end ifinfo + +@iftex +The body of the table is made up of whatever text, LaTeX commands, etc., +you wish. The @code{\caption} command allows you to title your table. +@end iftex + + +@comment ************************* +@comment **** tabular ************ +@comment ************************* + +@comment LEVEL3 +@node tabular, \cline, table, Environments +@comment node-name, next, previous, up +@subsection tabular +@cindex Environment +@cindex tabular Environment + +@example + \begin@{tabular@}[pos]@{cols@} + column 1 entry & column 2 entry ... & column n entry \\ + . + . + . + \end@{tabular@} + + or + + \begin@{tabular*@}@{width@}[pos]@{cols@} + column 1 entry & column 2 entry ... & column n entry \\ + . + . + . + \end@{tabular*@} +@end example + +These environments produce a box consisting of a sequence of rows of +items, aligned vertically in columns. The mandatory and optional +arguments consist of: + +@table @code +@item width +Specifies the width of the @code{tabular*} environment. There must be +rubber space between columns that can stretch to fill out the specified +width. +@item pos +Specifies the vertical position; default is alignment on the center of +the environment. + +@itemize @bullet +@item +@code{t} - align on top row +@item +@code{b} - align on bottom row +@end itemize + +@item cols +Specifies the column formatting. It consists of a sequence of the +following specifiers, corresponding to the sequence of columns and +intercolumn material. + +@itemize @bullet + +@item +@code{l} - A column of left-aligned items. +@item +@code{r} - A column of right-aligned items. +@item +@code{c} - A column of centred items. +@item +@code{|} - A vertical line the full height and depth of the environment. +@item +@code{@@@{text@}} - This inserts text in every row. An @@-expression +suppresses the intercolumn space normally inserted between columns; any +desired space between the inserted text and the adjacent items must be +included in text. An @code{\extracolsep@{wd@}} command in an +@@-expression causes an extra space of width @code{wd} to appear to the +left of all subsequent columns, until countermanded by another +@code{\extracolsep} command. Unlike ordinary intercolumn space, this +extra space is not suppressed by an @@-expression. An +@code{\extracolsep} command can be used only in an @@-expression in the +@code{cols} argument. +@item +@code{p@{wd@}} - Produces a column with each item typeset in a parbox of +width @code{wd}, as if it were the argument of a @code{\parbox[t]@{wd@}} +command. However, a @code{\\} may not appear in the item, except in the +following situations: +@enumerate +@item +inside an environment like @code{minipage}, @code{array}, or @code{tabular}. +@item +inside an explicit @code{\parbox}. +@item +in the scope of a @code{\centering}, @code{\raggedright}, or @code{\raggedleft} +declaration. The latter declarations must appear inside braces or an +environment when used in a @code{p-column} element. +@end enumerate +@item +@code{*@{num@}@{cols@}} - Equivalent to @code{num} copies of +@code{cols}, where @code{num} is any positive integer and @code{cols} is +any list of column-specifiers, which may contain another +@code{*-expression}. + +@end itemize + +@end table + +@menu +* \cline:: +* \hline:: +* \multicolumn:: +* \vline:: +@end menu + + +@comment ***************** +@comment *** \cline **** +@comment ***************** + +@comment LEVEL4 +@node \cline, \hline, tabular, tabular +@comment node-name, next, previous, up +@subsubsection \cline + +@code{\cline@{i-j@}} + +The @code{\cline} command draws horizontal lines across the columns +specified, beginning in column @code{i} and ending in column @code{j}, +which are identified in the mandatory argument. + +@comment ***************** +@comment *** \hline **** +@comment ***************** + +@comment LEVEL4 +@node \hline, \multicolumn, \cline, tabular +@comment node-name, next, previous, up +@subsubsection \hline + +The @code{\hline} command will draw a horizontal line the width of the +table. It's most commonly used to draw a line at the top, bottom, and +between the rows of the table. + +@comment ***************** +@comment ** \multicolumn * +@comment ***************** + +@comment LEVEL4 +@node \multicolumn, \vline, \hline, tabular +@comment node-name, next, previous, up +@subsubsection \multicolumn + +@code{\multicolumn@{cols@}@{pos@}@{text@}} + +The @code{\multicolumn} is used to make an entry that spans several +columns. The first mandatory argument, @code{cols}, specifies the +number of columns to span. The second mandatory argument, @code{pos}, +specifies the formatting of the entry; @code{c} for centred, @code{l} +for flushleft, @code{r} for flushright. The third mandatory argument, +@code{text}, specifies what text is to make up the entry. + +@comment ***************** +@comment *** \vline **** +@comment ***************** +@comment LEVEL4 +@node \vline, thebibliography, \multicolumn, tabular +@comment node-name, next, previous, up +@subsubsection \vline + +The @code{\vline} command will draw a vertical line extending the full +height and depth of its row. An @code{\hfill} command can be used to +move the line to the edge of the column. It can also be used in an +@@-expression. + + +@comment ************************* +@comment **** thebibliography **** +@comment ************************* + +@comment LEVEL3 +@node thebibliography, \bibitem, \vline, Environments +@comment node-name, next, previous, up +@subsection thebibliography +@cindex Environments +@cindex thebibliography Environment +@cindex Bibliography, creating + +@example + \begin@{thebibliography@}@{widest-label@} + \bibitem[label]@{cite_key@} + . + . + . + \end@{thebibliography@} +@end example + +The @code{thebibliography} environment produces a bibliography or +reference list. In the @code{article} style, this reference list is +labelled "References"; in the @code{report} style, it is labelled +"Bibliography". + +@itemize @bullet +@item +@code{widest-label}: Text that, when printed, is approximately as wide +as the widest item label produces by the @code{\bibitem} commands. +@end itemize + +@menu +* \bibitem:: +* \cite:: +* \nocite:: +@end menu + + +@comment ***************** +@comment *** \bibitem **** +@comment ***************** +@comment LEVEL4 +@node \bibitem, \cite, thebibliography, thebibliography +@comment node-name, next, previous, up +@subsubsection \bibitem + +@code{\bibitem[label]@{cite_key@}} + +The @code{\bibitem} command generates an entry labelled by @code{label}. +If the @code{label} argument is missing, a number is generated as the +@code{label}, using the @code{enumi} counter. The @code{cite_key} is +any sequence of letters, numbers, and punctuation symbols not containing +a comma. This command writes an entry on the @file{.aux} file +containing @code{cite_key} and the item's @code{label}. When this +@file{.aux} file is read by the @code{\begin@{document@}} command, the +item's @code{label} is associated with @code{cite_key}, causing the +reference to @code{cite_key} by a @code{\cite} command to produce the +associated @code{label}. + + +@comment ***************** +@comment *** \cite ******* +@comment ***************** +@comment LEVEL4 +@node \cite, \nocite, \bibitem, thebibliography +@comment node-name, next, previous, up +@subsubsection \cite + +@code{\cite[text]@{key_list@}} + +The @code{key_list} argument is a list of citation keys. This command +generates an in-text citation to the references associated with the keys +in @code{key_list} by entries on the @file{.aux} file read by the +@code{\begin@{document@}} command. + + +@comment ***************** +@comment *** \nocite ***** +@comment ***************** +@comment LEVEL4 +@node \nocite, theorem, \cite, thebibliography +@comment node-name, next, previous, up +@subsubsection \nocite + +@code{\nocite@{key_list@}} + +The @code{\nocite} command produces no text, but writes @code{key_list}, +which is a list of one or more citation keys, on the @file{.aux} file. + + +@comment ************************* +@comment **** theorem ************ +@comment ************************* + +@comment LEVEL3 +@node theorem, titlepage, \nocite, Environments +@comment node-name, next, previous, up +@subsection theorem +@cindex Environments +@cindex theorem Environment + +@example + \begin@{theorem@} + theorem text + \end@{theorem@} +@end example + +The @code{theorem} environment produces "Theorem x" in boldface followed +by your theorem text. + + +@comment ************************* +@comment **** titlepage ********** +@comment ************************* + +@comment LEVEL3 +@node titlepage, verbatim, theorem, Environments +@comment node-name, next, previous, up +@subsection titlepage +@cindex Environments +@cindex titlepage Environment +@cindex Making a title page +@cindex Title pages, creating + +@example + \begin@{titlepage@} + text + \end@{titlepage@} +@end example + +The @code{titlepage} environment creates a title page, i.e. a page with no +printed page number or heading. It also causes the following page to be +numbered page one. Formatting the title page is left to you. The +@code{\today} command comes in handy for title pages. + + + +@comment ************************* +@comment **** verbatim *********** +@comment ************************* + +@comment LEVEL3 +@node verbatim, \verb, titlepage, Environments +@comment node-name, next, previous, up +@subsection verbatim +@cindex Environment +@cindex verbatim Environment + +@example + \begin@{verbatim@} + text + \end@{verbatim@} +@end example + +@ifinfo +The @code{verbatim} environment is a paragraph-making environment that +gets LaTeX to print exactly what you type in. It turns LaTeX into a +typewriter with carriage returns and blanks having the same effect that +they would on a typewriter. +@end ifinfo + +@iftex +The @code{verbatim} environment is a paragraph-making environment that +gets @LaTeX to print exactly what you type in. It turns @LaTeX into a +typewriter with carriage returns and blanks having the same effect that +they would on a typewriter. +@end iftex + +@menu +* \verb:: +@end menu + +@comment ***************** +@comment *** \verb ******* +@comment ***************** +@comment LEVEL4 +@node \verb, verse, verbatim, verbatim +@comment node-name, next, previous, up +@subsubsection \verb +@cindex verbatim Environment + +@code{\verb char literal_text char \verb*char literal_text char} + +Typesets @code{literal_text} exactly as typed, including special +characters and spaces, using a typewriter (@code{\tt}) type style. +There may be no space between @code{\verb} or @code{\verb*} and +@code{char} (space is shown here only for clarity). The @code{*-form} +differs only in that spaces are printed. + + +@comment ************************* +@comment **** verse ************** +@comment ************************* + +@comment LEVEL3 +@node verse, Footnotes, \verb, Environments +@comment node-name, next, previous, up +@subsection verse +@cindex Environments +@cindex verse Environment +@cindex Poetry, an environment for + +@example + \begin@{verse@} + text + \end@{verse@} +@end example + +The @code{verse} environment is designed for poetry, though you may find +other uses for it. + + +@page + +@comment ************************************ +@comment **** LEVEL2 Starts Here again. **** +@comment ************************************ + + +@comment ************************* +@comment **** Footnotes ********** +@comment ************************* + +@comment LEVEL2 +@node Footnotes, \footnote, verse, Commands +@comment node-name, next, previous, up +@section Footnotes +@cindex Footnotes, creating + +@code{Footnotes} can be produced in one of two ways. They can be +produced with one command, the @code{\footnote} command. They can also +be produced with two commands, the @code{\footnotemark} and the +@code{\footnotetext} commands. See the specific command for information +on why you would use one over the other. + +@menu +* \footnote:: +* \footnotemark:: +* \footnotetext:: +@end menu + + +@comment ********************** +@comment **** \footnote ******* +@comment ********************** + +@comment LEVEL3 +@node \footnote, \footnotemark, Footnotes, Footnotes +@comment node-name, next, previous, up +@subsection \footnote + +@code{\footnote[number]@{text@}} + +The @code{\footnote} command places the numbered footnote @code{text} at +the bottom of the current page. The optional argument, @code{number}, +is used to change the default footnote number. This command can only be +used in outer paragraph mode. + + +@comment ********************** +@comment **** \footnotemark *** +@comment ********************** + +@comment LEVEL3 +@node \footnotemark, \footnotetext, \footnote, Footnotes +@comment node-name, next, previous, up +@subsection \footnotemark + +The @code{\footnotemark} command puts the footnote @code{number} in the +text. This command can be used in inner paragraph mode. The text of +the footnote is supplied by the @code{\footnotetext} command. + + +@comment ********************** +@comment **** \footnotetext *** +@comment ********************** + +@comment LEVEL3 +@node \footnotetext, Lengths, \footnotemark, Footnotes +@comment node-name, next, previous, up +@subsection \footnotetext + +@code{\footnotetext[number]@{text@}} + +The @code{\footnotetext} command produces the @code{text} to be placed +at the bottom of the page. This command can come anywhere after the +@code{\footnotemark} command. The @code{\footnotetext} command must +appear in outer paragraph mode. + +The optional argument, @code{number}, is used to change the default +footnote number. + +@page + +@comment ************************* +@comment ******* Lengths ********* +@comment ************************* + +@comment LEVEL2 +@node Lengths, \newlength, \footnotetext, Commands +@comment node-name, next, previous, up +@section Lengths +@cindex Lengths, defining and using + +@ifinfo +A @code{length} is a measure of distance. Many LaTeX commands take a +length as an argument. +@end ifinfo + +@iftex +A @code{length} is a measure of distance. Many @LaTeX commands take a +length as an argument. +@end iftex + +@menu +* \newlength:: +* \setlength:: +* \addtolength:: +* \settowidth:: +@end menu + + +@comment ********************** +@comment **** \newlength ****** +@comment ********************** + +@comment LEVEL3 +@node \newlength, \setlength, Lengths, Lengths +@comment node-name, next, previous, up +@subsection \newlength +@cindex Lengths, defining and using + +@code{\newlength@{\gnat@}} + +The @code{\newlength} command defines the mandatory argument, +@code{\gnat}, as a @code{length} command with a value of @code{0in}. An +error occurs if a @code{\gnat} command already exists. + + +@comment ********************** +@comment **** \setlength ****** +@comment ********************** + +@comment LEVEL3 +@node \setlength, \addtolength, \newlength, Lengths +@comment node-name, next, previous, up +@subsection \setlength +@cindex Lengths, defining and using + +@code{\setlength@{\gnat@}@{length@}} + +@ifinfo +The @code{\setlength} command is used to set the value of a +@code{length} command. The @code{length} argument can be expressed in +any terms of length LaTeX understands, i.e., inches (@code{in}), +millimeters (@code{mm}), points (@code{pt}), etc. +@end ifinfo + +@iftex +The @code{\setlength} command is used to set the value of a +@code{length} command. The @code{length} argument can be expressed in +any terms of length @LaTeX understands, i.e., inches (@code{in}), +millimeters (@code{mm}), points (@code{pt}), etc. +@end iftex + + +@comment ********************** +@comment **** \addtolength **** +@comment ********************** + +@comment LEVEL3 +@node \addtolength, \settowidth, \setlength, Lengths +@comment node-name, next, previous, up +@subsection \addtolength +@cindex Lengths, defining and using + +@code{\addtolength@{\gnat@}@{length@}} + +The @code{\addtolength} command increments a "length command" by the +amount specified in the @code{length} argument. It can be a negative +amount. + +@comment ********************** +@comment **** \settowidth ***** +@comment ********************** + +@comment LEVEL3 +@node \settowidth, Letters, \addtolength, Lengths +@comment node-name, next, previous, up +@subsection \settowidth +@cindex Lengths, defining and using + +@code{\settowidth@{\gnat@}@{text@}} + +The @code{\settowidth} command sets the value of a @code{length} command +equal to the width of the @code{text} argument. + +@page + +@comment ************************* +@comment ******* Letters ********* +@comment ************************* + +@comment LEVEL2 +@node Letters, \opening, \settowidth, Commands +@comment node-name, next, previous, up +@section Letters +@cindex Letters +@cindex Creating Letters + +@ifinfo +You can use LaTeX to typeset letters, both personal and business. The +@code{letter} document style is designed to make a number of letters at +once, although you can make just one if you so desire. +@end ifinfo + +@iftex +You can use @LaTeX to typeset letters, both personal and business. The +@code{letter} document style is designed to make a number of letters at +once, although you can make just one if you so desire. +@end iftex + +Your @file{.tex} source file has the same minimum commands as the other +document styles, i.e., you must have the following commands as a +minimum: +@example + \documentstyle@{letter@} + \begin@{document@} + ... letters ... + \end@{document@} +@end example + +Each letter is a @code{letter} environment, whose argument is the name +and address of the recipient. For example, you might have: +@example + \begin@{letter@}@{Mr. Joe Smith\\ 2345 Princess St. + \\ Edinburgh, EH1 1AA@} + ... + \end@{letter@} +@end example + +@ifinfo +The letter itself begins with the @code{\opening} command. The text of +the letter follows. It is typed as ordinary LaTeX input. Commands that +make no sense in a letter, like @code{\chapter}, don't work. The letter +closes with a @code{\closing} command. +@end ifinfo + +@iftex +The letter itself begins with the @code{\opening} command. The text of +the letter follows. It is typed as ordinary @LaTeX input. Commands that +make no sense in a letter, like @code{\chapter}, don't work. The letter +closes with a @code{\closing} command. +@end iftex + +After the @code{closing}, you can have additional material. The +@code{\cc} command produces the usual "cc: ...". There's also a similar +@code{\encl} command for a list of enclosures. + +@menu +* \opening:: +* \closing:: +* Declarations:: +@end menu + + +@comment ****************** +@comment ** \opening ****** +@comment ****************** + +@comment LEVEL3 +@node \opening, \closing, Letters, Letters +@comment node-name, next, previous, up +@subsection \opening +@cindex Letters + +@code{\opening@{text@}} + +The letter begins with the @code{\opening} command. The mandatory +argument, @code{text}, is whatever text you wish to start your letter, +i.e., +@example + \opening@{Dear Joe,@} +@end example + + +@comment ****************** +@comment ** \closing ****** +@comment ****************** + +@comment LEVEL3 +@node \closing, Declarations, \opening, Letters +@comment node-name, next, previous, up +@subsection \closing +@cindex Letters + +@code{\closing@{text@}} + +The letter closes with a @code{\closing} command, i.e., +@example + \closing@{Best Regards,@} +@end example + + +@comment ****************** +@comment ** Declarations ** +@comment ****************** + +@comment LEVEL3 +@node Declarations, \address, \closing, Letters +@comment node-name, next, previous, up +@subsection Declarations +@cindex Letters + +The following commands are declarations which take a single argument. + +@menu +* \address:: +* \signature:: +* \location:: +* \telephone:: +@end menu + +@comment ************** +@comment ** \address ** +@comment ************** + +@comment LEVEL4 +@node \address, \signature, Declarations, Declarations +@comment node-name, next, previous, up +@subsection \address +@cindex Letters + +@code{\address@{Return address@}} + +The return address, as it should appear on the letter and the envelope. +Separate lines of the address should be separated by @code{\\} commands. +If you do not make an @code{\address} declaration, then the letter will +be formatted for copying onto your organisation's standard letterhead. +(@xref{Overview}, for details on your local implementation). If you +give an @code{\address} declaration, then the letter will be formatted +as a personal letter. + + +@comment ************** +@comment * \signature * +@comment ************** + +@comment LEVEL4 +@node \signature, \location, \address, Declarations +@comment node-name, next, previous, up +@subsection \signature +@cindex Letters + +@code{\signature@{Your name@}} + +Your name, as it should appear at the end of the letter underneath the +space for your signature. Items that should go on separate lines should +be separated by @code{\\} commands. + + +@comment ************** +@comment * \location ** +@comment ************** + +@comment LEVEL4 +@node \location, \telephone, \signature, Declarations +@comment node-name, next, previous, up +@subsection \location +@cindex Letters + +@code{\location@{address@}} + +This modifies your organisation's standard address. This only appears +if the @code{firstpage} pagestyle is selected. + +@comment ************** +@comment * \telephone * +@comment ************** + +@comment LEVEL4 +@node \telephone, Line & Page Breaking, \location, Declarations +@comment node-name, next, previous, up +@subsection \telephone +@cindex Letters + +@code{\telephone@{number@}} + +This is your telephone number. This only appears if the +@code{firstpage} pagestyle is selected. + + +@page + +@comment ************************* +@comment * Line & Page Breaking ** +@comment ************************* + +@comment LEVEL2 +@node Line & Page Breaking, \\, \telephone, Commands +@comment node-name, next, previous, up +@section Line & Page Breaking +@cindex Page Breaking +@cindex Line Breaking +@cindex Page Formatting + +@ifinfo +The first thing LaTeX does when processing ordinary text is to translate +your input file into a string of glyphs and spaces. To produce a +printed document, this string must be broken into lines, and these lines +must be broken into pages. In some environments, you do the line +breaking yourself with the @code{\\} command, but LaTeX usually does it +for you. +@end ifinfo + +@iftex +The first thing @LaTeX does when processing ordinary text is to +translate your input file into a string of glyphs and spaces. To +produce a printed document, this string must be broken into lines, and +these lines must be broken into pages. In some environments, you do the +line breaking yourself with the @code{\\} command, but @LaTeX usually +does it for you. +@end iftex + +@menu +* \\:: +* \- (hyphenation):: +* \cleardoublepage:: +* \clearpage:: +* \hyphenation:: +* \linebreak:: +* \newline:: +* \newpage:: +* \nolinebreak:: +* \nopagebreak:: +* \pagebreak:: +@end menu + + +@comment ****************** +@comment ****** \\ ******** +@comment ****************** + +@comment LEVEL3 +@node \\, \- (hyphenation), Line & Page Breaking, Line & Page Breaking +@comment node-name, next, previous, up +@subsection \\ +@cindex Newline + +@code{\\[*][extra-space]} + +@ifinfo +The @code{\\} command tells LaTeX to start a new line. It has an +optional argument, @code{extra-space}, that specifies how much extra +vertical space is to be inserted before the next line. This can be a +negative amount. + +The @code{\\*} command is the same as the ordinary @code{\\} command +except that it tells LaTeX not to start a new page after the line. +@end ifinfo + +@iftex +The @code{\\} command tells @LaTeX to start a new line. It has an +optional argument, @code{extra-space}, that specifies how much extra +vertical space is to be inserted before the next line. This can be a +negative amount. + +The @code{\\*} command is the same as the ordinary @code{\\} command +except that it tells @LaTeX not to start a new page after the line. +@end iftex + + +@comment ********************** +@comment ** \- (hyphenation) ** +@comment ********************** + +@comment LEVEL3 +@node \- (hyphenation), \cleardoublepage, \\, Line & Page Breaking +@comment node-name, next, previous, up +@subsection \- +@cindex Hyphenation + +@ifinfo +The @code{\-} command tells LaTeX that it may hyphenate the word at that +point. LaTeX is very good at hyphenating, and it will usually find all +correct hyphenation points. The @code{\-} command is used for the +exceptional cases. +@end ifinfo + +@iftex +The @code{\-} command tells @LaTeX that it may hyphenate the word at that +point. @LaTeX is very good at hyphenating, and it will usually find all +correct hyphenation points. The @code{\-} command is used for the +exceptional cases. +@end iftex + +@comment ******************** +@comment * \cleardoublepage * +@comment ******************** + +@comment LEVEL3 +@node \cleardoublepage, \clearpage, \- (hyphenation), Line & Page Breaking +@comment node-name, next, previous, up +@subsection \cleardoublepage +@cindex Flushing a page + +The @code{\cleardoublepage} command ends the current page and causes all +figures and tables that have so far appeared in the input to be printed. +In a two-sided printing style, it also makes the next page a right-hand +(odd-numbered) page, producing a blank page if necessary. + + +@comment ****************** +@comment ** \clearpage **** +@comment ****************** + +@comment LEVEL3 +@node \clearpage, \hyphenation, \cleardoublepage, Line & Page Breaking +@comment node-name, next, previous, up +@subsection \clearpage +@cindex Flushing a page + +The @code{\clearpage} command ends the current page and causes all +figures and tables that have so far appeared in the input to be printed. + + +@comment ****************** +@comment ** \hyphenation ** +@comment ****************** + +@comment LEVEL3 +@node \hyphenation, \linebreak, \clearpage, Line & Page Breaking +@comment node-name, next, previous, up +@subsection \hyphenation +@code{\hyphenation@{words@}} +@cindex Hyphenation + +The @code{\hyphenation} command declares allowed hyphenation points, +where @code{words} is a list of words, separated by spaces, in which +each hyphenation point is indicated by a @code{-} character. + + +@comment ****************** +@comment ** \linebreak **** +@comment ****************** + +@comment LEVEL3 +@node \linebreak, \newline, \hyphenation, Line & Page Breaking +@comment node-name, next, previous, up +@subsection \linebreak +@cindex Line Breaks + +@code{\linebreak[number]} + +@ifinfo +The @code{\linebreak} command tells LaTeX to break the current line at +the point of the command. With the optional argument, @code{number}, +you can convert the @code{\linebreak} command from a demand to a +request. The number must be a number from 0 to 4. The higher the +number, the more insistent the request is. + +The @code{\linebreak} command causes LaTeX to stretch the line so it +extends to the right margin. +@end ifinfo + +@iftex +The @code{\linebreak} command tells @LaTeX to break the current line at +the point of the command. With the optional argument, @code{number}, +you can convert the @code{\linebreak} command from a demand to a +request. The number must be a number from 0 to 4. The higher the +number, the more insistent the request is. + +The @code{\linebreak} command causes @LaTeX to stretch the line so it +extends to the right margin. +@end iftex + +@comment ****************** +@comment ** \newline ****** +@comment ****************** + +@comment LEVEL3 +@node \newline, \newpage, \linebreak, Line & Page Breaking +@comment node-name, next, previous, up +@subsection \newline +@cindex Newline + +The @code{\newline} command breaks the line right where it is. The +@code{\newline} command can be used only in paragraph mode. + + +@comment ****************** +@comment ** \newpage ****** +@comment ****************** + +@comment LEVEL3 +@node \newpage, \nolinebreak, \newline, Line & Page Breaking +@comment node-name, next, previous, up +@subsection \newpage +@cindex New Page + +The @code{\newpage} command ends the current page. + + +@comment ****************** +@comment * \nolinebreak *** +@comment ****************** + +@comment LEVEL3 +@node \nolinebreak, \nopagebreak, \newpage, Line & Page Breaking +@comment node-name, next, previous, up +@subsection \nolinebreak + +@code{\nolinebreak[number]} + +@ifinfo +The @code{\nolinebreak} command prevents LaTeX from breaking the current +line at the point of the command. With the optional argument, +@code{number}, you can convert the @code{\nolinebreak} command from a +demand to a request. The number must be a number from 0 to 4. The +higher the number, the more insistent the request is. +@end ifinfo + +@iftex +The @code{\nolinebreak} command prevents @LaTeX from breaking the current +line at the point of the command. With the optional argument, +@code{number}, you can convert the @code{\nolinebreak} command from a +demand to a request. The number must be a number from 0 to 4. The +higher the number, the more insistent the request is. +@end iftex + +@comment ****************** +@comment ** \nopagebreak ** +@comment ****************** + +@comment LEVEL3 +@node \nopagebreak, \pagebreak, \nolinebreak, Line & Page Breaking +@comment node-name, next, previous, up +@subsection \nopagebreak + +@code{\nopagebreak[number]} + +@ifinfo +The @code{\nopagebreak} command prevents LaTeX from breaking the current +page at the point of the command. With the optional argument, +@code{number}, you can convert the @code{\nopagebreak} command from a +demand to a request. The number must be a number from 0 to 4. The +higher the number, the more insistent the request is. +@end ifinfo + +@iftex +The @code{\nopagebreak} command prevents @LaTeX from breaking the current +page at the point of the command. With the optional argument, +@code{number}, you can convert the @code{\nopagebreak} command from a +demand to a request. The number must be a number from 0 to 4. The +higher the number, the more insistent the request is. +@end iftex + +@comment ****************** +@comment ** \pagebreak **** +@comment ****************** + +@comment LEVEL3 +@node \pagebreak, Making Paragraphs, \nopagebreak, Line & Page Breaking +@comment node-name, next, previous, up +@subsection \pagebreak +@cindex Page breaking + +@code{\pagebreak[number]} + +@ifinfo +The @code{\pagebreak} command tells LaTeX to break the current page at +the point of the command. With the optional argument, @code{number}, +you can convert the @code{\pagebreak} command from a demand to a +request. The number must be a number from 0 to 4. The higher the +number, the more insistent the request is. +@end ifinfo + +@iftex +The @code{\pagebreak} command tells @LaTeX to break the current page at +the point of the command. With the optional argument, @code{number}, +you can convert the @code{\pagebreak} command from a demand to a +request. The number must be a number from 0 to 4. The higher the +number, the more insistent the request is. +@end iftex + + +@page + +@comment ************************* +@comment *** Making Paragraphs *** +@comment ************************* + +@comment LEVEL2 +@node Making Paragraphs, \indent, \pagebreak, Commands +@comment node-name, next, previous, up +@section Making Paragraphs +@cindex Making Paragraphs +@cindex Paragraphs + +A paragraph is ended by one or more completely blank lines -- lines not +containing even an @code{%}. A blank line should not appear where a new +paragraph cannot be started, such as in math mode or in the argument of +a sectioning command. + +@menu +* \indent:: +* \noindent:: +* \par:: +@end menu + +@comment ****************** +@comment ** \indent ******* +@comment ****************** + +@comment LEVEL3 +@node \indent, \noindent, Making Paragraphs, Making Paragraphs +@comment node-name, next, previous, up +@subsection \indent +@cindex Paragraphs + +@code{\indent} + +This produces a horizontal space whose width equals the width of the +paragraph indentation. It is used to add paragraph indentation where it +would otherwise be suppressed. + +@comment ****************** +@comment ** \noindent ***** +@comment ****************** + +@comment LEVEL3 +@node \noindent, \par, \indent, Making Paragraphs +@comment node-name, next, previous, up +@subsection \noindent +@cindex Paragraphs + +@code{\noindent} + +When used at the beginning of the paragraph, it suppresses the paragraph +indentation. It has no effect when used in the middle of a paragraph. + + +@comment ****************** +@comment ** \par ********** +@comment ****************** + +@comment LEVEL3 +@node \par, Math Formulae, \noindent, Making Paragraphs +@comment node-name, next, previous, up +@subsection \par +@cindex Paragraphs + +Equivalent to a blank line; often used to make command or environment +definitions easier to read. + + +@page + +@comment ************************* +@comment **** Math Formulae ****** +@comment ************************* + +@comment LEVEL2 +@node Math Formulae, Subscripts & Superscripts, \par, Commands +@comment node-name, next, previous, up +@section Math Formulae +@cindex Math Formulae +@cindex Formulae, maths +@cindex Math mode + +@ifinfo +There are three environments that put LaTeX in math mode: +@end ifinfo +@iftex +There are three environments that put @LaTeX in math mode: +@end iftex +@table @code +@item math +For Formulae that appear right in the text. +@item displaymath +For Formulae that appear on their own line. +@item equation +The same as the displaymath environment except that it adds an equation +number in the right margin. +@end table + +The @code{math} environment can be used in both paragraph and LR mode, +but the @code{displaymath} and @code{equation} environments can be used +only in paragraph mode. The @code{math} and @code{displaymath} +environments are used so often that they have the following short forms: +@example + \(...\) instead of \begin@{math@}...\end@{math@} + + \[...\] instead of \begin@{displaymath@}...\end@{displaymath@} +@end example + +In fact, the @code{math} environment is so common that it has an even +shorter form: +@example + $ ... $ instead of \(...\) +@end example + +@menu +* Subscripts & Superscripts:: +* Math Symbols:: +* Spacing in Math Mode:: +* Math Miscellany:: +@end menu + +@comment ***************************** +@comment * Subscripts & Superscripts * +@comment ***************************** + +@comment LEVEL3 +@node Subscripts & Superscripts, Math Symbols, Math Formulae, Math Formulae +@comment node-name, next, previous, up +@subsection Subscripts & Superscripts +@cindex Math mode +@cindex Superscript +@cindex Subscript + +@ifinfo +To get an expression @code{exp} to appear as a subscript, you just type +@code{_@{exp@}}. To get @code{exp} to appear as a superscript, you type +@code{^@{exp@}}. LaTeX handles superscripted superscripts and all of +that stuff in the natural way. It even does the right thing when +something has both a subscript and a superscript. +@end ifinfo + +@iftex +To get an expression @code{exp} to appear as a subscript, you just type +@code{_@{exp@}}. To get @code{exp} to appear as a superscript, you type +@code{^@{exp@}}. @LaTeX handles superscripted superscripts and all of +that stuff in the natural way. It even does the right thing when +something has both a subscript and a superscript. +@end iftex + + +@comment ****************** +@comment ** Math Symbols ** +@comment ****************** + +@comment LEVEL3 +@node Math Symbols, Spacing in Math Mode, Subscripts & Superscripts, Math Formulae +@comment node-name, next, previous, up +@subsection Math Symbols +@cindex Math mode +@cindex Maths symbols +@cindex Symbols + +@ifinfo +LaTeX provides almost any mathematical symbol you're likely to need. The +commands for generating them can be used only in math mode. For +example, if you include @code{$\pi$} in your source, you will get the +symbol "pi" in your output. +@end ifinfo + +@iftex +@LaTeX provides almost any mathematical symbol you're likely to need. The +commands for generating them can be used only in math mode. For +example, if you include @code{$\pi$} in your source, you will get the +symbol +@tex +$\pi$ +@end tex +in your output. +@end iftex + +@comment ************************ +@comment * Spacing in Math Mode * +@comment ************************ + +@comment LEVEL3 +@node Spacing in Math Mode, Math Miscellany, Math Symbols, Math Formulae +@comment node-name, next, previous, up +@subsection Spacing in Math Mode +@cindex Spacing, within Math mode +@cindex Math mode, spacing + +@ifinfo +In a @code{math} environment, LaTeX ignores the spaces you type and puts +in the spacing that it thinks is best. LaTeX formats mathematics the +way it's done in mathematics texts. If you want different spacing, +LaTeX provides the following four commands for use in math mode: +@end ifinfo +@iftex +In a @code{math} environment, @LaTeX ignores the spaces you type and puts +in the spacing that it thinks is best. @LaTeX formats mathematics the +way it's done in mathematics texts. If you want different spacing, +@LaTeX provides the following four commands for use in math mode: +@end iftex +@enumerate +@item +@code{\;} - a thick space +@item +@code{\:} - a medium space +@item +@code{\,} - a thin space +@item +@code{\!} - a negative thin space +@end enumerate + + +@comment ******************* +@comment * Math Miscellany * +@comment ******************* + +@comment LEVEL3 +@node Math Miscellany, Modes, Spacing in Math Mode, Math Formulae +@comment node-name, next, previous, up +@subsection Math Miscellany +@cindex Maths Miscellany +@cindex Math mode + +@table @code + +@item \cdots +The @code{\cdots} command produces a horizontal ellipsis where the dots +are raised to the center of the line. + +@iftex +eg. +@tex +$\cdots$ +@end tex +@end iftex + +@item \ddots +The @code{\ddots} command produces a diagonal ellipsis. + +@iftex +eg. +@tex +$\ddots$ +@end tex +@end iftex + +@item \frac +@code{\frac@{num@}@{den@}} +The @code{\frac} command produces the fraction @code{num} divided by @code{den}. + +@iftex +eg. +@tex +${1}\over{4}$ +@end tex +@end iftex + +@item \ldots +The @code{\ldots} command produces an ellipsis. This command works in +any mode, not just math mode. + +@iftex +eg. +@tex +$\ldots$ +@end tex +@end iftex + +@item \overbrace +@code{\overbrace@{text@}} +The @code{\overbrace} command generates a brace over text. + +@iftex +eg. +@tex +$\overbrace{x+\cdots+x}^{k \rm\;times}$ +@end tex +@end iftex + +@item \overline +@code{\overline@{text@}} +The @code{\overline} command causes the argument text to be overlined. + +@iftex +eg. +@tex +$\overline{x}$ +@end tex +@end iftex + +@item \sqrt +@code{\sqrt[root]@{arg@}} +The @code{\sqrt} command produces the square root of its argument. The +optional argument, @code{root}, determines what root to produce, i.e., +the cube root of @code{x+y} would be typed as @code{$\sqrt[3]@{x+y@}$}. + +@iftex +eg. +@tex +$\sqrt{x-1}$ +@end tex +@end iftex + +@item \underbrace +@code{\underbrace@{text@}} +The @code{\underbrace} command generates text with a brace underneath. + +@iftex +eg. +@tex +$\underbrace{x+y+z}_{>\,0}$ +@end tex +@end iftex + +@item \underline +@code{\underline@{text@}} +The @code{\underline} command causes the argument text to be underlined. +This command can also be used in paragraph and LR modes. + +@iftex +eg. +@tex +$\underline{z}$ +@end tex +@end iftex + +@item \vdots +The @code{\vdots} command produces a vertical ellipsis. + +@iftex +eg. +@tex +$\vdots$ +@end tex +@end iftex + +@end table + + +@page + +@comment ************************* +@comment ******* Modes *********** +@comment ************************* + +@comment LEVEL2 +@node Modes, Page Styles, Math Miscellany, Commands +@comment node-name, next, previous, up +@section Modes +@cindex Modes +@cindex Paragraph mode +@cindex Math mode +@cindex Left-to-right mode +@cindex LR mode + +@ifinfo +When LaTeX is processing your input text, it is always in one of three +modes: +@end ifinfo + +@iftex +When @LaTeX is processing your input text, it is always in one of three +modes: +@end iftex + +@itemize @bullet +@item +Paragraph mode +@item +Math mode +@item +Left-to-right mode, called LR mode for short +@end itemize + + +@ifinfo +LaTeX changes mode only when it goes up or down a staircase to a +different level, though not all level changes produce mode changes. +Mode changes occur only when entering or leaving an environment, or when +LaTeX is processing the argument of certain text-producing commands. + +"Paragraph mode" is the most common; it's the one LaTeX is in when +processing ordinary text. In that mode, LaTeX breaks your text into +lines and breaks the lines into pages. LaTeX is in "math mode" when +it's generating a mathematical formula. In "LR mode", as in paragraph +mode, LaTeX considers the output that it produces to be a string of +words with spaces between them. However, unlike paragraph mode, LaTeX +keeps going from left to right; it never starts a new line in LR mode. +Even if you put a hundred words into an @code{\mbox}, LaTeX would keep +typesetting them from left to right inside a single box, and then +complain because the resulting box was too wide to fit on the line. + +LaTeX is in LR mode when it starts making a box with an @code{\mbox} +command. You can get it to enter a different mode inside the box - for +example, you can make it enter math mode to put a formula in the box. +There are also several text-producing commands and environments for +making a box that put LaTeX in paragraph mode. The box make by one of +these commands or environments will be called a @code{parbox}. When +LaTeX is in paragraph mode while making a box, it is said to be in +"inner paragraph mode". Its normal paragraph mode, which it starts out +in, is called "outer paragraph mode". +@end ifinfo + +@iftex +@LaTeX changes mode only when it goes up or down a staircase to a +different level, though not all level changes produce mode changes. +Mode changes occur only when entering or leaving an environment, or when +@LaTeX is processing the argument of certain text-producing commands. + +"Paragraph mode" is the most common; it's the one @LaTeX is in when +processing ordinary text. In that mode, @LaTeX breaks your text into +lines and breaks the lines into pages. @LaTeX is in "math mode" when +it's generating a mathematical formula. In "LR mode", as in paragraph +mode, @LaTeX considers the output that it produces to be a string of +words with spaces between them. However, unlike paragraph mode, @LaTeX +keeps going from left to right; it never starts a new line in LR mode. +Even if you put a hundred words into an @code{\mbox}, @LaTeX would keep +typesetting them from left to right inside a single box, and then +complain because the resulting box was too wide to fit on the line. + +@LaTeX is in LR mode when it starts making a box with an @code{\mbox} +command. You can get it to enter a different mode inside the box - for +example, you can make it enter math mode to put a formula in the box. +There are also several text-producing commands and environments for +making a box that put @LaTeX in paragraph mode. The box make by one of +these commands or environments will be called a @code{parbox}. When +@LaTeX is in paragraph mode while making a box, it is said to be in +"inner paragraph mode". Its normal paragraph mode, which it starts out +in, is called "outer paragraph mode". +@end iftex + +@page + +@comment ************************* +@comment ***** Page Styles ******* +@comment ************************* + +@comment LEVEL2 +@node Page Styles, \maketitle, Modes, Commands +@comment node-name, next, previous, up +@section Page Styles +@cindex Styles, pages +@cindex Page styles + +The @code{\documentstyle} command determines the size and position of +the page's head and foot. The page style determines what goes in them. + +@menu +* \maketitle:: +* \pagenumbering:: +* \pagestyle:: +* \thispagestyle:: +@end menu + + +@comment ****************** +@comment ** \maketitle **** +@comment ****************** + +@comment LEVEL3 +@node \maketitle, \author, Page Styles, Page Styles +@comment node-name, next, previous, up +@subsection \maketitle +@cindex Title making +@cindex \maketitle Style + +@code{\maketitle} + +The @code{\maketitle} command generates a title on a separate title page +- except in the @code{article} style, where the title normally goes at +the top of the first page. Information used to produce the title is +obtained from the following declarations: + +@xref{Page Styles} for the commands to give the information. + +@menu +* \author:: +* \date:: +* \thanks:: +* \title:: +@end menu + + +@comment *********** +@comment * \author * +@comment *********** + +@comment LEVEL4 +@node \author, \date, \maketitle, \maketitle +@comment node-name, next, previous, up +@subsection \author +@cindex Author, for titlepage + +@code{\author@{names@}} + +The @code{\author} command declares the author(s), where @code{names} is +a list of authors separated by @code{\and} commands. Use @code{\\} to +separate lines within a single author's entry -- for example, to give +the author's institution or address. + +NOTE: The @code{milstd} and @code{book-form} styles have re-defined the +@code{\maketitle} command. The @code{\title} declaration is the only +command of those shown below that has any meaning. + + +@comment *********** +@comment ** \date ** +@comment *********** + +@comment LEVEL4 +@node \date, \thanks, \author, \maketitle +@comment node-name, next, previous, up +@subsection \date +@cindex Date, for titlepage + +@code{\date@{text@}} + +The @code{\date} command declares text to be the document's date. With +no @code{\date} command, the current date is used. + + +@comment *********** +@comment * \thanks * +@comment *********** + +@comment LEVEL4 +@node \thanks, \title, \date, \maketitle +@comment node-name, next, previous, up +@subsection \thanks +@cindex Thanks, for titlepage + +@code{\thanks@{text@}} + +The @code{\thanks} command produces a @code{footnote} to the title. + + +@comment *********** +@comment * \title ** +@comment *********** + +@comment LEVEL4 +@node \title, \pagenumbering, \thanks, \maketitle +@comment node-name, next, previous, up +@subsection \title +@cindex Title, for titlepage + +@code{\title@{text@}} + +@ifinfo +The @code{\title} command declares @code{text} to be the title. Use +@code{\\} to tell LaTeX where to start a new line in a long title. +@end ifinfo + +@iftex +The @code{\title} command declares @code{text} to be the title. Use +@code{\\} to tell @LaTeX where to start a new line in a long title. +@end iftex + + +@comment ****************** +@comment * \pagenumbering * +@comment ****************** + +@comment LEVEL3 +@node \pagenumbering, \pagestyle, \title, Page Styles +@comment node-name, next, previous, up +@subsection \pagenumbering +@cindex Pagenumbering +@cindex Page Styles + +@code{\pagenumbering@{num_style@}} + +Specifies the style of page numbers. Possible values of @code{num_style} are: + +@itemize @bullet +@item +@code{arabic} - Arabic numerals +@item +@code{roman} - Lowercase roman numerals +@item +@code{Roman} - Uppercase roman numerals +@item +@code{alph} - Lowercase letters +@item +@code{Alph} - Uppercase letters +@end itemize + + +@comment ****************** +@comment ** \pagestyle **** +@comment ****************** + +@comment LEVEL3 +@node \pagestyle, \mark, \pagenumbering, Page Styles +@comment node-name, next, previous, up +@subsection \pagestyle +@code{\pagestyle@{option@}} +@cindex Page Styles +@cindex Page Styles, changing + +The @code{\pagestyle} command changes the style from the current page on +throughout the remainder of your document. + +The valid options are: + +@itemize @bullet +@item +@code{plain} - Just a plain page number. +@item +@code{empty} - Produces empty heads and feet - no page numbers. +@item +@code{headings} - Puts running headings on each page. The document +style specifies what goes in the headings. +@item +@code{myheadings} - You specify what is to go in the heading with the +@code{\markboth} or the @code{\markright} commands. +@end itemize + +@menu +* \mark:: +@end menu + + +@comment *********** +@comment ** \mark ** +@comment *********** + +@comment LEVEL4 +@node \mark, \thispagestyle, \pagestyle, \pagestyle +@comment node-name, next, previous, up +@subsection \mark + +@example +\markboth@{left head@}@{right head@} +\markright@{right head@} +@end example + +@ifinfo +The @code{\markboth} and @code{\markright} commands are used in +conjunction with the page style @code{myheadings} for setting either +both or just the right heading. In addition to their use with the +@code{myheadings} page style, you can use them to override the normal +headings in the @code{headings} style, since LaTeX uses these same +commands to generate those heads. You should note that a "left-hand +heading" is generated by the last @code{\markboth} command before the +end of the page, while a "right-hand heading" is generated by the first +@code{\markboth} or @code{\markright} that comes on the page if there is +one, otherwise by the last one before the page. +@end ifinfo + +@iftex +The @code{\markboth} and @code{\markright} commands are used in +conjunction with the page style @code{myheadings} for setting either +both or just the right heading. In addition to their use with the +@code{myheadings} page style, you can use them to override the normal +headings in the @code{headings} style, since @LaTeX uses these same +commands to generate those heads. You should note that a "left-hand +heading" is generated by the last @code{\markboth} command before the +end of the page, while a "right-hand heading" is generated by the first +@code{\markboth} or @code{\markright} that comes on the page if there is +one, otherwise by the last one before the page. +@end iftex + +@comment ****************** +@comment * \thispagestyle * +@comment ****************** + +@comment LEVEL3 +@node \thispagestyle, Sectioning, \mark, Page Styles +@comment node-name, next, previous, up +@subsection \thispagestyle + +@code{\thispagestyle@{option@}} + +The @code{\thispagestyle} command works in the same manner as the +@code{\pagestyle} command except that it changes the style for the +current page only. + + +@page + +@comment ************************* +@comment ***** Sectioning ******** +@comment ************************* + +@comment LEVEL2 +@node Sectioning, \appendix, \thispagestyle, Commands +@comment node-name, next, previous, up +@section Sectioning +@cindex Sectioning +@cindex chapter, Sectioning +@cindex subsubsection, Sectioning +@cindex subsection, Sectioning +@cindex paragraph, Sectioning +@cindex subparagraph, Sectioning +@cindex subsubparagraph, Sectioning +@cindex subsubsubparagraph, Sectioning + +Sectioning commands provide the means to structure your text into units. + +@itemize @bullet +@item +@code{\part} +@item +@code{\chapter} (report style only) +@item +@code{\section} +@item +@code{\subsection} +@item +@code{\subsubsection} +@item +@code{\paragraph} +@item +@code{\subparagraph} +@item +@code{\subsubparagraph} (milstd and book-form styles only) +@item +@code{\subsubsubparagraph} (milstd and book-form styles only) +@end itemize + +All sectioning commands take the same general form, i.e., + +@code{\chapter[optional]@{title@}} + +In addition to providing the heading in the text, the mandatory argument +of the sectioning command can appear in two other places: + +@enumerate +@item +The table of contents +@item +The running head at the top of the page +@end enumerate + +You may not want the same thing to appear in these other two places as +appears in the text heading. To handle this situation, the sectioning +commands have an @code{optional} argument that provides the text for +these other two purposes. + +The "sectioning commands" have @code{*-forms} that print a @code{title}, +but do not include a number and do not make an entry in the table of +contents. For example, the @code{*-form} of the @code{\subsection} +command could look like: + +@code{\subsection*@{Example subsection@}} + +@menu +* \appendix:: +@end menu + + +@comment *************** +@comment ** \appendix ** +@comment *************** + +@comment LEVEL3 +@node \appendix, Spaces & Boxes, Sectioning, Sectioning +@comment node-name, next, previous, up +@subsection \appendix +@cindex Appendix, creating + +@code{\appendix} + +The @code{\appendix} command changes the way sectional units are +numbered. The @code{\appendix} command generates no text and does not +affect the numbering or parts. + + +@page + +@comment ************************* +@comment **** Spaces & Boxes ***** +@comment ************************* + +@comment LEVEL2 +@node Spaces & Boxes, \addvspace, \appendix, Commands +@comment node-name, next, previous, up +@section Spaces & Boxes +@cindex Spaces & Boxes + +@menu +* \addvspace:: +* \bigskip:: +* \dotfill:: +* \fbox:: +* \framebox:: +* \hfill:: +* \hrulefill:: +* \hspace:: +* \makebox:: +* \mbox:: +* \medskip:: +* \newsavebox:: +* \parbox:: +* \raisebox:: +* \rule:: +* \savebox:: +* \smallskip:: +* \usebox:: +* \vfill:: +* \vspace:: +@end menu + + +@comment **************** +@comment ** \addvspace ** +@comment **************** + +@comment LEVEL3 +@node \addvspace, \bigskip, Spaces & Boxes, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \addvspace +@cindex Spaces & Boxes + +@code{\addvspace@{length@}} + +The @code{\addvspace} command normally adds a vertical space of height +length. However, if vertical space has already been added to the same +point in the output by a previous @code{\addvspace} command, then this +command will not add more space than needed to make the natural length +of the total vertical space equal to @code{length}. + + +@comment *************** +@comment ** \bigskip *** +@comment *************** + +@comment LEVEL3 +@node \bigskip, \dotfill, \addvspace, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \bigskip +@cindex Spaces & Boxes + +The @code{\bigskip} command is equivalent to +@code{\vspace@{bigskipamount@}} where @code{bigskipamount} is determined +by the document style. + + +@comment *************** +@comment ** \dotfill *** +@comment *************** + +@comment LEVEL3 +@node \dotfill, \fbox, \bigskip, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \dotfill +@cindex Spaces & Boxes + +The @code{\dotfill} command produces a "rubber length" that produces dots +instead of just spaces. + + +@comment *************** +@comment ** \fbox ****** +@comment *************** + +@comment LEVEL3 +@node \fbox, \framebox, \dotfill, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \fbox +@cindex Spaces & Boxes + +@code{\fbox@{text@}} + +The @code{\fbox} command is exactly the same as the @code{\mbox} +command, except that it puts a frame around the outside of the box that +it creates. + + +@comment *************** +@comment ** \framebox ** +@comment *************** + +@comment LEVEL3 +@node \framebox, \hfill, \fbox, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \framebox +@cindex Spaces & Boxes + +@code{\framebox[width][position]@{text@}} + +The @code{\framebox} command is exactly the same as the @code{\makebox} +command, except that it puts a frame around the outside of the box that +it creates. + +The framebox command produces a rule of thickness @code{\fboxrule}, and +leaves a space @code{\fboxsep} between the rule and the contents of the +box. + + +@comment *************** +@comment ** \hfill ***** +@comment *************** + +@comment LEVEL3 +@node \hfill, \hrulefill, \framebox, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \hfill +@cindex Spaces & Boxes + +The @code{\hfill} fill command produces a "rubber length" which can +stretch or shrink horizontally. It will be filled with spaces. + + +@comment **************** +@comment ** \hrulefill ** +@comment **************** + +@comment LEVEL3 +@node \hrulefill, \hspace, \hfill, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \hrulespace +@cindex Spaces & Boxes + +The @code{\hrulefill} fill command produces a "rubber length" which can +stretch or shrink horizontally. It will be filled with a horizontal +rule. + + +@comment *************** +@comment ** \hspace **** +@comment *************** + +@comment LEVEL3 +@node \hspace, \makebox, \hrulefill, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \hspace +@cindex Spaces & Boxes + +@code{\hspace[*]@{length@}} + +@ifinfo +The @code{\hspace} command adds horizontal space. The length of the +space can be expressed in any terms that LaTeX understands, i.e., +points, inches, etc. You can add negative as well as positive space +with an @code{\hspace} command. Adding negative space is like +backspacing. + +LaTeX removes horizontal space that comes at the end of a line. If you +don't want LaTeX to remove this space, include the optional @code{*} +argument. Then the space is never removed. +@end ifinfo + +@iftex +The @code{\hspace} command adds horizontal space. The length of the +space can be expressed in any terms that @LaTeX understands, i.e., +points, inches, etc. You can add negative as well as positive space +with an @code{\hspace} command. Adding negative space is like +backspacing. + +@LaTeX removes horizontal space that comes at the end of a line. If you +don't want @LaTeX to remove this space, include the optional @code{*} +argument. Then the space is never removed. +@end iftex + + +@comment ************** +@comment ** \makebox ** +@comment ************** + +@comment LEVEL3 +@node \makebox, \mbox, \hspace, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \makebox +@cindex Spaces & Boxes + +@code{\makebox[width][position]@{text@}} + +The @code{\makebox} command creates a box just wide enough to contain +the @code{text} specified. The width of the box is specified by the +optional @code{width} argument. The position of the text within the box +is determined by the optional @code{position} argument. + +@itemize @bullet +@item +@code{c} - centered (default) +@item +@code{l} - flushleft +@item +@code{r} - flushright +@end itemize + +@xref{\makebox (picture)}. + +@comment *************** +@comment ** \mbox ****** +@comment *************** + +@comment LEVEL3 +@node \mbox, \medskip, \makebox, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \mbox +@cindex Spaces & Boxes + +@code{\mbox@{text@}} + +The @code{\mbox} command creates a box just wide enough to hold the text +created by its argument. + + +@comment *************** +@comment ** \medskip *** +@comment *************** + +@comment LEVEL3 +@node \medskip, \newsavebox, \mbox, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \medskip +@cindex Spaces & Boxes + +The @code{\medskip} command is equivalent to +@code{\vspace@{medskipamount@}} where @code{medskipamount} is determined +by the document style. + + +@comment **************** +@comment ** \newsavebox * +@comment **************** + +@comment LEVEL3 +@node \newsavebox, \parbox, \medskip, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \newsavebox +@cindex Spaces & Boxes + +@code{\newsavebox@{cmd@}} + +Declares @code{cmd}, which must be a command name that is not already +defined, to be a bin for saving boxes. + + +@comment *************** +@comment ** \parbox **** +@comment *************** + +@comment LEVEL3 +@node \parbox, \raisebox, \newsavebox, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \parbox +@cindex Spaces & Boxes + +@code{\parbox[position]@{width@}@{text@}} + +A @code{parbox} is a box whose contents are created in @code{paragraph} +mode. The @code{\parbox} has two mandatory arguments: + +@itemize @bullet +@item +@code{width} - specifies the width of the parbox, and +@item +@code{text} - the text that goes inside the parbox. +@end itemize + +@ifinfo +LaTeX will position a @code{parbox} so its center lines up with the +center of the text line. An optional first argument, @code{position}, +allows you to line up either the top or bottom line in the parbox. +@end ifinfo + +@iftex +@LaTeX will position a @code{parbox} so its center lines up with the center of +the text line. An optional first argument, @code{position}, allows you +to line up either the top or bottom line in the parbox. +@end iftex + +A @code{\parbox} command is used for a parbox containing a small piece +of text, with nothing fancy inside. In particular, you shouldn't use +any of the paragraph-making environments inside a @code{\parbox} +argument. For larger pieces of text, including ones containing a +paragraph-making environment, you should use a @code{minipage} +environment. + + +@comment *************** +@comment ** \raisebox ** +@comment *************** + +@comment LEVEL3 +@node \raisebox, \rule, \parbox, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \raisebox +@cindex Spaces & Boxes + +@code{\raisebox@{distance@}[extend-above][extend-below]@{text@}} + +The @code{\raisebox} command is used to raise or lower text. The first +mandatory argument specifies how high the text is to be raised (or +lowered if it is a negative amount). The text itself is processed in +@code{LR mode}. + +@ifinfo +Sometimes it's useful to make LaTeX think something has a different size +than it really does - or a different size than LaTeX would normally +think it has. The @code{\raisebox} command lets you tell LaTeX how tall +it is. + +The first optional argument, @code{extend-above}, makes LaTeX think that +the text extends above the line by the amount specified. The second +optional argument, @code{extend-below}, makes LaTeX think that the text +extends below the line by the amount specified. +@end ifinfo + +@iftex +Sometimes it's useful to make @LaTeX think something has a different +size than it really does - or a different size than @LaTeX would +normally think it has. The @code{\raisebox} command lets you tell +@LaTeX how tall it is. + +The first optional argument, @code{extend-above}, makes @LaTeX think +that the text extends above the line by the amount specified. The +second optional argument, @code{extend-below}, makes @LaTeX think that +the text extends below the line by the amount specified. +@end iftex + + +@comment *************** +@comment ** \rule ****** +@comment *************** + +@comment LEVEL3 +@node \rule, \savebox, \raisebox, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \rule +@cindex Spaces & Boxes + +@code{\rule[raise-height]@{width@}@{thickness@}} + +The @code{\rule} command is used to produce horizontal lines. The +arguments are defined as follows: + +@itemize @bullet +@item +@code{raise-height} - specifies how high to raise the rule (optional) +@item +@code{width} - specifies the length of the rule (mandatory) +@item +@code{thickness} - specifies the thickness of the rule (mandatory) +@end itemize + + +@comment *************** +@comment ** \savebox *** +@comment *************** + +@comment LEVEL3 +@node \savebox, \smallskip, \rule, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \savebox +@cindex Spaces & Boxes + +@example + \sbox@{cmd@}[text] + \savebox@{cmd@}[width][pos]@{text@} +@end example + +These commands typeset @code{text} in a box just as for @code{\mbox} or +@code{\makebox}. However, instead of printing the resulting box, they +save it in bin @code{cmd}, which must have been declared with +@code{\newsavebox}. + + +@comment **************** +@comment ** \smallskip ** +@comment **************** + +@comment LEVEL3 +@node \smallskip, \usebox, \savebox, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \smallskip +@cindex Spaces & Boxes + +@code{\smallskip} + +The @code{\smallskip} command is equivalent to +@code{\vspace@{smallskipamount@}} where @code{smallskipamount} is +determined by the document style. + + +@comment *************** +@comment ** \usebox **** +@comment *************** + +@comment LEVEL3 +@node \usebox, \vfill, \smallskip, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \usebox +@cindex Spaces & Boxes + +@code{\usebox@{cmd@}} + +Prints the box most recently saved in bin @code{cmd} by a +@code{\savebox} command. + + +@comment *************** +@comment ** \vfill ***** +@comment *************** + +@comment LEVEL3 +@node \vfill, \vspace, \usebox, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \vfill +@cindex Spaces & Boxes + +The @code{\vfill} fill command produces a rubber length which can +stretch or shrink vertically. + + +@comment *************** +@comment ** \vspace **** +@comment *************** + +@comment LEVEL3 +@node \vspace, Special Characters, \vfill, Spaces & Boxes +@comment node-name, next, previous, up +@subsection \vspace +@cindex Spaces & Boxes + +@code{\vspace[*]@{length@}} + +@ifinfo +The @code{\vspace} command adds vertical space. The length of the space +can be expressed in any terms that LaTeX understands, i.e., points, +inches, etc. You can add negative as well as positive space with an +@code{\vspace} command. + +LaTeX removes vertical space that comes at the end of a page. If you +don't want LaTeX to remove this space, include the optional @code{*} +argument. Then the space is never removed. +@end ifinfo + +@iftex +The @code{\vspace} command adds vertical space. The length of the space +can be expressed in any terms that @LaTeX understands, i.e., points, +inches, etc. You can add negative as well as positive space with an +@code{\vspace} command. + +@LaTeX removes vertical space that comes at the end of a page. If you +don't want @LaTeX to remove this space, include the optional @code{*} +argument. Then the space is never removed. +@end iftex + + +@page + +@comment ************************* +@comment ** Special Characters *** +@comment ************************* + +@comment LEVEL2 +@node Special Characters, Splitting the Input, \vspace, Commands +@comment node-name, next, previous, up +@section Special Characters +@cindex Special Characters +@cindex Characters, special + +@ifinfo +The following characters play a special role in LaTeX and are called +"special printing characters", or simply "special characters". +@end ifinfo + +@iftex +The following characters play a special role in @LaTeX and are called +"special printing characters", or simply "special characters". +@end iftex + +@example + # $ % & ~ _ ^ \ @{ @} +@end example +Whenever you put one of these special characters into your file, you are +doing something special. If you simply want the character to be printed +just as any other letter, include a @code{\} in front of the character. +For example, @code{\$} will produce @code{$} in your output. + +The exception to the rule is the @code{\} itself because @code{\\} has +its own special meaning. A @code{\} is produced by typing +@code{$\backslash$} in your file. + + +@page + +@comment ************************* +@comment ** Splitting the Input ** +@comment ************************* + +@comment LEVEL2 +@node Splitting the Input, \include, Special Characters, Commands +@comment node-name, next, previous, up +@section Splitting the Input +@cindex Splitting the input file +@cindex Input file, splitting + +@ifinfo +A large document requires a lot of input. Rather than putting the whole +input in a single large file, it's more efficient to split it into +several smaller ones. Regardless of how many separate files you use, +there is one that is the root file; it is the one whose name you type +when you run LaTeX. +@end ifinfo + +@iftex +A large document requires a lot of input. Rather than putting the whole +input in a single large file, it's more efficient to split it into +several smaller ones. Regardless of how many separate files you use, +there is one that is the root file; it is the one whose name you type +when you run @LaTeX. +@end iftex + +@menu +* \include:: +* \includeonly:: +* \input:: +@end menu + + +@comment *************** +@comment ** \include *** +@comment *************** + +@comment LEVEL3 +@node \include, \includeonly, Splitting the Input, Splitting the Input +@comment node-name, next, previous, up +@subsection \include + +@code{\include@{file@}} + +The @code{\include} command is used in conjunction with the +@code{\includeonly} command for selective inclusion of files. The +@code{file} argument is the first name of a file, denoting +@file{file.tex}. If @code{file} is one the file names in the file list +of the @code{\includeonly} command or if there is no @code{\includeonly} +command, the @code{\include} command is equivalent to +@example +\clearpage \input@{file@} \clearpage +@end example +except that if the file @file{file.tex} does not exist, then a warning +message rather than an error is produced. If the file is not in the +file list, the @code{\include} command is equivalent to @code{\clearpage}. + +The @code{\include} command may not appear in the preamble or in a file +read by another @code{\include} command. + + +@comment ******************* +@comment ** \includeonly *** +@comment ******************* + +@comment LEVEL3 +@node \includeonly, \input, \include, Splitting the Input +@comment node-name, next, previous, up +@subsection \includeonly + +@code{\includeonly@{file_list@}} + +The @code{\includeonly} command controls which files will be read in by +an @code{\include} command. It can only appear in the preamble. + +@comment *************** +@comment ** \input ***** +@comment *************** + +@comment LEVEL3 +@node \input, Starting & Ending, \includeonly, Splitting the Input +@comment node-name, next, previous, up +@subsection \input + +@code{\input@{file@}} + +The @code{\input} command causes the indicated @code{file} to be read and +processed, exactly as if its contents had been inserted in the current +file at that point. The file name may be a complete file name with +extension or just a first name, in which case the file @file{file.tex} +is used. + + +@page + +@comment ************************* +@comment *** Starting & Ending *** +@comment ************************* + +@comment LEVEL2 +@node Starting & Ending, Table of Contents, \input, Commands +@comment node-name, next, previous, up +@section Starting & Ending +@cindex Starting & Ending +@cindex Ending & Starting + +Your input file must contain the following commands as a minimum... + +@example + \documentstyle@{style@} + \begin@{document@} + ... your text goes here ... + \end@{document@} +@end example +@ifinfo +...where the @code{style} selected is one the valid styles for LaTeX. +@xref{Document Styles}, and also @pxref{Overview}, for details of the +various document styles available locally. + +You may include other LaTeX commands between the @code{\documentstyle} +and the @code{\begin@{document@}} commands. +@end ifinfo + +@iftex +...where the @code{style} selected is one the valid styles for @LaTeX. +@xref{Document Styles}, and also @pxref{Overview}, for details of the +various document styles available locally. + +You may include other @LaTeX commands between the @code{\documentstyle} +and the @code{\begin@{document@}} commands. +@end iftex + + +@page + +@comment ************************* +@comment *** Table of Contents *** +@comment ************************* + +@comment LEVEL2 +@node Table of Contents, \addcontentsline, Starting & Ending, Commands +@comment node-name, next, previous, up +@section Table of Contents +@cindex Table of Contents, creating + +@ifinfo +A table of contents is produced with the @code{\tableofcontents} +command. You put the command right where you want the table of contents +to go; LaTeX does the rest for you. It produces a heading, but it does +not automatically start a new page. If you want a new page after the +table of contents, include a @code{\newpage} command after the +@code{\tableofcontents} command. +@end ifinfo + +@iftex +A table of contents is produced with the @code{\tableofcontents} +command. You put the command right where you want the table of contents +to go; @LaTeX does the rest for you. It produces a heading, but it does +not automatically start a new page. If you want a new page after the +table of contents, include a @code{\newpage} command after the +@code{\tableofcontents} command. +@end iftex + +There are similar commands @code{\listoffigures} and +@code{\listoftables} for producing a list of figures and a list of +tables, respectively. Everything works exactly the same as for the +table of contents. + +NOTE: If you want any of these items to be generated, you cannot +have the @code{\nofiles} command in your document. + +@menu +* \addcontentsline:: +* \addtocontents:: +@end menu + + +@comment ******************** +@comment * \addcontentsline * +@comment ******************** + +@comment LEVEL3 +@node \addcontentsline, \addtocontents, Table of Contents, Table of Contents +@comment node-name, next, previous, up +@subsection \addcontentsline + +@code{\addcontentsline@{file@}@{sec_unit@}@{entry@}} + +The @code{\addcontentsline} command adds an entry to the specified list +or table where... + +@itemize @bullet +@item +@code{file} is the extension of the file on which information is to be +written: @code{toc} (table of contents), @code{lof} (list of figures), +or @code{lot} (list of tables). +@item +@code{sec_unit} controls the formatting of the entry. It should be one +of the following, depending upon the value of the file argument: +@enumerate +@item +@code{toc} - the name of the sectional unit, such as part or subsection. +@item +@code{lof} - figure +@item +@code{lot} - table +@end enumerate +@item +@code{entry} is the text of the entry. +@end itemize + + +@comment ****************** +@comment * \addtocontents * +@comment ****************** + +@comment LEVEL3 +@node \addtocontents, Terminal Input/Output, \addcontentsline, Table of Contents +@comment node-name, next, previous, up +@subsection \addtocontents + +@code{\addtocontents@{file@}@{text@}} + +The @code{\addtocontents} command adds text (or formatting commands) directly +to the file that generates the table of contents or list of figures or +tables. + +@itemize @bullet +@item +@code{file} is the extension of the file on which information is to be +written: @code{toc} (table of contents), @code{lof} (list of figures), +or @code{lot} (list of tables). +@item +@code{text} is the information to be written. +@end itemize + + +@page + +@comment ************************* +@comment * Terminal Input/Output * +@comment ************************* + +@comment LEVEL2 +@node Terminal Input/Output, \typeout, \addtocontents, Commands +@comment node-name, next, previous, up +@section Terminal Input/Output +@cindex Input/Output +@cindex Terminal Input/Output + +@menu +* \typeout:: +* \typein:: +@end menu + + +@comment ************** +@comment * \typeout *** +@comment ************** + +@comment LEVEL3 +@node \typeout, \typein, Terminal Input/Output, Terminal Input/Output +@comment node-name, next, previous, up +@subsection \typeout + +@code{\typeout@{msg@}} + +Prints @code{msg} on the terminal and in the @code{log} file. Commands +in @code{msg} that are defined with @code{\newcommand} or +@code{\renewcommand} are replaced by their definitions before being +printed. + +@ifinfo +LaTeX's usual rules for treating multiple spaces as a single space and +ignoring spaces after a command name apply to @code{msg}. A +@code{\space} command in @code{msg} causes a single space to be printed. +@end ifinfo + +@iftex +@LaTeX's usual rules for treating multiple spaces as +a single space and ignoring spaces after a command name apply to +@code{msg}. A @code{\space} command in @code{msg} causes a single space +to be printed. +@end iftex + + +@comment ************** +@comment * \typein **** +@comment ************** + +@comment LEVEL3 +@node \typein, Typefaces, \typeout, Terminal Input/Output +@comment node-name, next, previous, up +@subsection \typein + +@code{\typein[cmd]@{msg@}} + +@ifinfo +Prints @code{msg} on the terminal and causes LaTeX to stop and wait for +you to type a line of input, ending with return. If the @code{cmd} +argument is missing, the typed input is processed as if it had been +included in the input file in place of the @code{\typein} command. If +the @code{cmd} argument is present, it must be a command name. This +command name is then defined or redefined to be the typed input. +@end ifinfo + +@iftex +Prints @code{msg} on the terminal and causes @LaTeX to stop and wait for +you to type a line of input, ending with return. If the @code{cmd} +argument is missing, the typed input is processed as if it had been +included in the input file in place of the @code{\typein} command. If +the @code{cmd} argument is present, it must be a command name. This +command name is then defined or redefined to be the typed input. +@end iftex + + +@page + +@comment ************************* +@comment ***** Typefaces ********* +@comment ************************* + +@comment LEVEL2 +@node Typefaces, Styles, \typein, Commands +@comment node-name, next, previous, up +@section Typefaces +@cindex Typefaces +@cindex Fonts + +The @code{typeface} is specified by giving the "size" and "style". A +typeface is also called a "font". + +@menu +* Styles:: +* Sizes:: +@end menu + + +@comment ************** +@comment ** Styles **** +@comment ************** + +@comment LEVEL3 +@node Styles, Sizes, Typefaces, Typefaces +@comment node-name, next, previous, up +@subsection \Styles +@cindex Font Styles +@cindex Typeface Styles +@cindex Styles of text + +@ifinfo +The following type style commands are supported by LaTeX. +@end ifinfo + +@iftex +The following type style commands are supported by @LaTeX. +@end iftex + +@table @code +@item \rm +Roman. +@item \it +Italics. +@item \em +Emphasis (toggles between \it and \rm). +@item \bf +Boldface. +@item \sl +Slanted. +@item \sf +Sans serif. +@item \sc +Small caps. +@item \tt +Typewriter. +@end table + + +@comment ************** +@comment ** Sizes ***** +@comment ************** + +@comment LEVEL3 +@node Sizes, Parameters, Styles, Typefaces +@comment node-name, next, previous, up +@subsection Sizes +@cindex Font Sizes +@cindex Typeface Sizes +@cindex Sizes of text + +@ifinfo +The following type size commands are supported by LaTeX. +@end ifinfo + +@iftex +The following type size commands are supported by @LaTeX. +@end iftex + +@table @code +@item \tiny + +@item \scriptsize + +@item \footnotesize + +@item \small + +@item \normalsize +(default) + +@item \large + +@item \Large +(capital "l") + +@item \LARGE +(all caps) + +@item \huge + +@item \Huge +(capital "h") +@end table + + +@page +@comment **************************************** +@comment ************* PARAMETERS *************** +@comment **************************************** + +@comment LEVEL1 +@node Parameters, List of Commands, Sizes, Top +@comment node-name, next, previous, up +@chapter Parameters + +@ifinfo +The input file specification indicates the file to be formatted; TeX +uses @file{.tex} as a default file extension. If you omit the input file +entirely, TeX accepts input from the terminal. You specify command +options by supplying a string as a parameter to the command. eg. + +@code{latex "\scrollmode\input foo.tex"} + +...will process @file{foo.tex} without pausing after every error. + +Output files are always created in the current directory. When you fail +to specify an input file name, TeX bases the output names on the file +specification associated with the logical name TEX_OUTPUT, typically +@code{texput.log}. +@end ifinfo + +@iftex +The input file specification indicates the file to be formatted; @TeX@ +uses @file{.tex} as a default file extension. If you omit the input file +entirely, @TeX@ accepts input from the terminal. You specify command +options by supplying a string as a parameter to the command. eg. + +@code{latex "\scrollmode\input foo.tex"} + +...will process @file{foo.tex} without pausing after every error. + +Output files are always created in the current directory. When you fail +to specify an input file name, @TeX@ bases the output names on the file +specification associated with the logical name TEX_OUTPUT, typically +@code{texput.log}. +@end iftex + +@page +@comment ************************* +@comment *** List of Commands **** +@comment ************************* + +@comment LEVEL2 +@node List of Commands, Index, Parameters, Top +@comment node-name, next, previous, up +@section Alphabetical List of Commands + + +@menu +* _{exp} (subscript):: +* ^{exp} (superscript):: +* \\:: +* \- (hyphenation):: +* \;:: +* \COLON:: +* \COMMA:: +* \!:: +* \=:: +* \>:: +* \<:: +* \+:: +* \- (tabbing):: +* \A:: +* \`:: +* \addcontentsline:: +* \addtocontents:: +* \addtocounter:: +* \address:: +* \addtolength:: +* \addvspace:: +* \alph:: +* \appendix:: +* \arabic:: +* array:: +* \author:: +* \bf:: +* \bibitem:: +* \bigskip:: +* \cdots:: +* center:: +* \centering:: +* \circle:: +* \cite:: +* \cleardoublepage:: +* \clearpage:: +* \cline:: +* \closing:: +* \dashbox:: +* \date:: +* \ddots:: +* description:: +* \dotfill:: +* \em:: +* enumerate:: +* eqnarray:: +* equation:: +* figure:: +* \fbox:: +* \flushbottom:: +* flushleft:: +* flushright:: +* \fnsymbol:: +* \footnote:: +* \footnotemark:: +* \footnotesize:: +* \footnotetext:: +* \frac:: +* \frame:: +* \framebox:: +* \hfill:: +* \hline:: +* \hrulefill:: +* \hspace:: +* \huge:: +* \Huge (capital "h"):: +* \hyphenation:: +* \include:: +* \includeonly:: +* \indent:: +* \input:: +* \it:: +* itemize:: +* \kill:: +* \label:: +* \large:: +* \Large (capital "l"):: +* \LARGE (all caps):: +* \ldots:: +* \line:: +* \linebreak:: +* \linethickness:: +* list:: +* \location:: +* \makebox:: +* \maketitle:: +* \mark:: +* \mbox:: +* \medskip:: +* minipage:: +* \multicolumn:: +* \multiput:: +* \newcommand:: +* \newcounter:: +* \newenvironment:: +* \newfont:: +* \newlength:: +* \newline:: +* \newpage:: +* \newsavebox:: +* \newtheorem:: +* \nocite:: +* \noindent:: +* \nolinebreak:: +* \normalsize:: +* \nopagebreak:: +* \onecolumn:: +* \opening:: +* \oval:: +* \overbrace:: +* \overline:: +* \pagebreak:: +* \pagenumbering:: +* \pageref:: +* \pagestyle:: +* \par:: +* \parbox:: +* picture:: +* \put:: +* quotation:: +* quote:: +* \raggedbottom:: +* \raggedleft:: +* \raggedright:: +* \raisebox:: +* \ref:: +* \rm:: +* \roman:: +* \rule:: +* \savebox:: +* \sc:: +* \scriptsize:: +* \setcounter:: +* \setlength:: +* \settowidth:: +* \sf:: +* \shortstack:: +* \signature:: +* \sl:: +* \small:: +* \smallskip:: +* \sqrt:: +* tabbing:: +* table:: +* tabular:: +* \telephone:: +* \thanks:: +* thebibliography:: +* theorem:: +* \thispagestyle:: +* \tiny:: +* \title:: +* titlepage:: +* \tt:: +* \twocolumn:: +* \typeout:: +* \typein:: +* \underbrace:: +* \underline:: +* \usebox:: +* \usecounter:: +* \value:: +* \vdots:: +* \vector:: +* \verb:: +* verbatim:: +* verse:: +* \vfill:: +* \vline:: +* \vspace:: +@end menu + + +@comment ************************ +@comment ** _{exp} (subscript) ** +@comment ************************ + +@comment LEVEL3 - commands +@node _{exp} (subscript), ^{exp} (superscript), , List of Commands +@comment node-name, next, previous, up +@subsection _@{exp@} (subscript) + +To get an expression @code{exp} to appear as a subscript, you just type +@code{_@{exp@}}. Use in math mode. + +@xref{Math Formulae}. + +@xref{Subscripts & Superscripts}. + + +@comment *************************** +@comment ** ^{exp} (superscript) ** +@comment *************************** + +@comment LEVEL3 - commands +@node ^{exp} (superscript), \;, _{exp} (subscript), List of Commands +@comment node-name, next, previous, up +@subsection ^@{exp@} (superscript) + +To get an expression @code{exp} to appear as a superscript, you just +type @code{^@{exp@}}. Use in math mode. + +@xref{Math Formulae}. + +@xref{Subscripts & Superscripts}. + + +@comment ******** +@comment ** \; ** +@comment ******** + +@comment LEVEL3 - commands +@node \;, \COLON, ^{exp} (superscript), List of Commands +@comment node-name, next, previous, up +@subsection \; + +Include a thick space in math mode. + +@xref{Math Formulae}. + +@xref{Spacing in Math Mode}. + + +@comment ************ +@comment ** \COLON ** +@comment ************ + +@comment LEVEL3 - commands +@node \COLON, \COMMA, \;, List of Commands +@comment node-name, next, previous, up +@subsection \: + +Include a medium space in math mode. + +@xref{Math Formulae}. + +@xref{Spacing in Math Mode}. + + +@comment ************ +@comment ** \COMMA ** +@comment ************ + +@comment LEVEL3 - commands +@node \COMMA, \!, \COLON, List of Commands +@comment node-name, next, previous, up +@subsection \, + +Include a thin space in math mode. + +@xref{Math Formulae}. + +@xref{Spacing in Math Mode}. + + +@comment ******** +@comment ** \! ** +@comment ******** + +@comment LEVEL3 - commands +@node \!, \bf, \COMMA, List of Commands +@comment node-name, next, previous, up +@subsection \! + +Include a negative thin space in math mode. + +@xref{Math Formulae}. + +@xref{Spacing in Math Mode}. + + +@comment ********** +@comment ** \bf *** +@comment ********** + +@comment LEVEL3 - commands +@node \bf, \cdots, \!, List of Commands +@comment node-name, next, previous, up +@subsection \bf + +Boldface typeface. + +@xref{Typefaces}. + +@xref{Styles}. + + +@comment ************* +@comment ** \cdots *** +@comment ************* + +@comment LEVEL3 - commands +@node \cdots, \ddots, \bf, List of Commands +@comment node-name, next, previous, up +@subsection \cdots + +The @code{\cdots} command produces a horizontal ellipsis where the dots +are raised to the center of the line. + +@xref{Math Formulae}. + +@xref{Math Miscellany}. + + +@comment ************* +@comment ** \ddots *** +@comment ************* + +@comment LEVEL3 - commands +@node \ddots, \em, \cdots, List of Commands +@comment node-name, next, previous, up +@subsection \ddots + +The @code{\ddots} command produces a diagonal ellipsis. + +@xref{Math Formulae}. + +@xref{Math Miscellany}. + + + +@comment ********** +@comment ** \em *** +@comment ********** + +@comment LEVEL3 - commands +@node \em, \footnotesize, \ddots, List of Commands +@comment node-name, next, previous, up +@subsection \em + +Emphasis (toggles between @code{\it} and @code{\rm}). + +@xref{Typefaces}. + +@xref{Styles}. + + + +@comment ******************* +@comment ** \footnotesize ** +@comment ******************* + +@comment LEVEL3 - commands +@node \footnotesize, \frac, \em, List of Commands +@comment node-name, next, previous, up +@subsection \footnotesize + +Third smallest of 10 typefaces available. This is the default size for +footnotes. + +@xref{Typefaces}. + +@xref{Sizes}. + + + +@comment ************ +@comment ** \frac *** +@comment ************ + +@comment LEVEL3 - commands +@node \frac, \huge, \footnotesize, List of Commands +@comment node-name, next, previous, up +@subsection \frac + +@code{\frac@{num@}@{den@}} + +The @code{\frac} command produces the fraction @code{num} divided by +@code{den}. + +@xref{Math Formulae}. + +@xref{Math Miscellany}. + + +@comment ************ +@comment ** \huge *** +@comment ************ + +@comment LEVEL3 - commands +@node \huge, \Huge (capital "h"), \frac, List of Commands +@comment node-name, next, previous, up +@subsection \huge + +Second largest of 10 typefaces available. + +@xref{Typefaces}. + +@xref{Sizes}. + + +@comment ************************* +@comment ** \Huge (capital "h") ** +@comment ************************* + +@comment LEVEL3 - commands +@node \Huge (capital "h"), \it, \huge, List of Commands +@comment node-name, next, previous, up +@subsection \Huge + +Largest of 10 typefaces available. All fonts may not be available in +this size. + +@xref{Typefaces}. + +@xref{Sizes}. + + + + +@comment ********** +@comment ** \it *** +@comment ********** + +@comment LEVEL3 - commands +@node \it, \large, \Huge (capital "h"), List of Commands +@comment node-name, next, previous, up +@subsection \it + +Italics typeface. + +@xref{Typefaces}. + +@xref{Styles}. + + + +@comment ************* +@comment ** \large *** +@comment ************* + +@comment LEVEL3 - commands +@node \large, \Large (capital "l"), \it, List of Commands +@comment node-name, next, previous, up +@subsection \large + +Slightly larger than default typeface size. + +@xref{Typefaces}. + +@xref{Sizes}. + + +@comment ************************** +@comment ** \Large (capital "l") ** +@comment ************************** + +@comment LEVEL3 - commands +@node \Large (capital "l"), \LARGE (all caps), \large, List of Commands +@comment node-name, next, previous, up +@subsection \Large + +Fourth largest of typefaces available. Is generally the default for +titles. + +@xref{Typefaces}. + +@xref{Sizes}. + + +@comment *********************** +@comment ** \LARGE (all caps) ** +@comment *********************** + +@comment LEVEL3 - commands +@node \LARGE (all caps), \ldots, \Large (capital "l"), List of Commands +@comment node-name, next, previous, up +@subsection \LARGE + +Third largest of typefaces available. + +@xref{Typefaces}. + +@xref{Sizes}. + + +@comment ************* +@comment ** \ldots *** +@comment ************* + +@comment LEVEL3 - commands +@node \ldots, \normalsize, \LARGE (all caps), List of Commands +@comment node-name, next, previous, up +@subsection \ldots + +The @code{\ldots} command produces an ellipsis. This command works in +any mode, not just math mode. + +@xref{Math Formulae}. + +@xref{Math Miscellany}. + + + +@comment ***************** +@comment ** \normalsize ** +@comment ***************** + +@comment LEVEL3 - commands +@node \normalsize, \overbrace, \ldots, List of Commands +@comment node-name, next, previous, up +@subsection \normalsize + +The size of @code{\normalsize} is defined by as 10pt unless the 11pt or +12pt document style option is used. + +@xref{Typefaces}. + +@xref{Sizes}. + + + +@comment **************** +@comment ** \overbrace ** +@comment **************** + +@comment LEVEL3 - commands +@node \overbrace, \overline, \normalsize, List of Commands +@comment node-name, next, previous, up +@subsection \overbrace + +@code{\overbrace@{text@}} + +The @code{\overbrace} command generates a brace over text. + +@xref{Math Formulae}. + +@xref{Math Miscellany}. + + +@comment *************** +@comment ** \overline ** +@comment *************** + +@comment LEVEL3 - commands +@node \overline, \rm, \overbrace, List of Commands +@comment node-name, next, previous, up +@subsection \overline + +@code{\overline@{text@}} + +The @code{\overline} command causes the argument text to be overlined. + +@xref{Math Formulae}. + +@xref{Math Miscellany}. + + + + +@comment ********** +@comment ** \rm *** +@comment ********** + +@comment LEVEL3 - commands +@node \rm, \sc, \overline, List of Commands +@comment node-name, next, previous, up +@subsection \rm + +Roman typeface (default). + +@xref{Typefaces}. + +@xref{Styles}. + + + +@comment ********** +@comment ** \sc *** +@comment ********** + +@comment LEVEL3 - commands +@node \sc, \scriptsize, \rm, List of Commands +@comment node-name, next, previous, up +@subsection \sc + +Small caps typeface. + +@xref{Typefaces}. + +@xref{Styles}. + + +@comment ***************** +@comment ** \scriptsize ** +@comment ***************** + +@comment LEVEL3 - commands +@node \scriptsize, \sf, \sc, List of Commands +@comment node-name, next, previous, up +@subsection \scriptsize + +Second smallest of 10 typefaces available. + +@xref{Typefaces}. + +@xref{Sizes}. + + + +@comment ********** +@comment ** \sf *** +@comment ********** + +@comment LEVEL3 - commands +@node \sf, \sl, \scriptsize, List of Commands +@comment node-name, next, previous, up +@subsection \sf + +Sans serif typeface. + +@xref{Typefaces}. + +@xref{Styles}. + + + +@comment ********** +@comment ** \sl *** +@comment ********** + +@comment LEVEL3 - commands +@node \sl, \small, \sf, List of Commands +@comment node-name, next, previous, up +@subsection \sl + +Slanted typeface. + +@xref{Typefaces}. + +@xref{Styles}. + + +@comment ************* +@comment ** \small *** +@comment ************* + +@comment LEVEL3 - commands +@node \small, \sqrt, \sl, List of Commands +@comment node-name, next, previous, up +@subsection \small + +Slightly smaller than default typeface size. + +@xref{Typefaces}. + +@xref{Sizes}. + + + +@comment ************ +@comment ** \sqrt *** +@comment ************ + +@comment LEVEL3 - commands +@node \sqrt, \tiny, \small, List of Commands +@comment node-name, next, previous, up +@subsection \sqrt + +@code{\sqrt[root]@{arg@}} + +The @code{\sqrt} command produces the square root of its argument. The +optional argument, @code{root}, determines what root to produce, i.e. +the cube root of @code{x+y} would be typed as @code{$\sqrt[3]@{x+y@}$}. + +@xref{Math Formulae}. + +@xref{Math Miscellany}. + + + + +@comment ************ +@comment ** \tiny *** +@comment ************ + +@comment LEVEL3 - commands +@node \tiny, \tt, \sqrt, List of Commands +@comment node-name, next, previous, up +@subsection \tiny + +Smallest of 10 typefaces available. All fonts may not be available in +this size. + +@xref{Typefaces}. + +@xref{Sizes}. + + + +@comment ********** +@comment ** \tt *** +@comment ********** + +@comment LEVEL3 - commands +@node \tt, \underbrace, \tiny, List of Commands +@comment node-name, next, previous, up +@subsection \tt + +Typewriter typeface. + +@xref{Typefaces}. + +@xref{Styles}. + + + +@comment ***************** +@comment ** \underbrace ** +@comment ***************** + +@comment LEVEL3 - commands +@node \underbrace, \underline, \tt, List of Commands +@comment node-name, next, previous, up +@subsection \underbrace + +@code{\underbrace@{text@}} + +The @code{\underbrace} command generates text with a brace underneath. + +@xref{Math Formulae}. + +@xref{Math Miscellany}. + + +@comment **************** +@comment ** \underline ** +@comment **************** + +@comment LEVEL3 - commands +@node \underline, \vdots, \underbrace, List of Commands +@comment node-name, next, previous, up +@subsection \underline + +@code{\underline@{text@}} + +The @code{\underline} command causes the argument text to be underlined. +This command can also be used in paragraph and LR modes. + +@xref{Math Formulae}. + +@xref{Math Miscellany}. + + +@comment ************* +@comment ** \vdots *** +@comment ************* + +@comment LEVEL3 - commands +@node \vdots, , \underline, List of Commands +@comment node-name, next, previous, up +@subsection \vdots + +The @code{\vdots} command produces a vertical ellipsis. + +@xref{Math Formulae}. + +@xref{Math Miscellany}. + + +@comment ************* +@comment ** \vector ** +@comment ************* + + + + + +@page + +@comment *************************** +@comment ******** INDEX ********* +@comment *************************** + +@comment LEVEL1 +@node Index, , List of Commands, Top +@comment node-name, next, previous, up +@unnumbered Index + +@printindex cp + +@contents + +@bye diff --git a/obsolete/info/latex-info/latex.info b/obsolete/info/latex-info/latex.info new file mode 100644 index 0000000000..dc0d963797 --- /dev/null +++ b/obsolete/info/latex-info/latex.info @@ -0,0 +1,194 @@ +This is Info file latex.info, produced by Makeinfo-1.47 from the input +file latex.texinfo. + +Indirect: +latex.info-1: 91 +latex.info-2: 50016 + +Tag Table: +(Indirect) +Node: Top93 +Node: Introduction8901 +Node: Styles and Options10130 +Node: Supported Styles10975 +Node: Supported Style Options11112 +Node: Commands11263 +Node: Counters12742 +Node: \addtocounter13768 +Node: \alph14047 +Node: \arabic14422 +Node: \fnsymbol14648 +Node: \newcounter14942 +Node: \roman15290 +Node: \setcounter15657 +Node: \usecounter15911 +Node: \value16210 +Node: Cross References16579 +Node: \label16969 +Node: \pageref17429 +Node: \ref17685 +Node: Definitions17913 +Node: \newcommand18225 +Node: \newenvironment18992 +Node: \newtheorem19981 +Node: \newfont20813 +Node: Page layout21097 +Node: \flushbottom21497 +Node: \raggedbottom21738 +Node: \onecolumn21867 +Node: \twocolumn22069 +Node: Environments22246 +Node: array23650 +Node: center24354 +Node: \centering24762 +Node: description25470 +Node: enumerate25832 +Node: eqnarray26390 +Node: equation26937 +Node: figure27227 +Node: flushleft28279 +Node: \raggedright28682 +Node: flushright29263 +Node: \raggedleft29679 +Node: itemize30256 +Node: list30796 +Node: minipage31436 +Node: picture32281 +Node: \circle (picture)36001 +Node: \dashbox (picture)36295 +Node: \frame (picture)36645 +Node: \framebox (picture)37009 +Node: \line (picture)37258 +Node: \linethickness (picture)37503 +Node: \makebox (picture)37958 +Node: \multiput (picture)38624 +Node: \oval (picture)38954 +Node: \put (picture)39401 +Node: \shortstack (picture)39663 +Node: \vector (picture)40112 +Node: quotation40409 +Node: quote40800 +Node: tabbing41135 +Node: \= (tabbing)41971 +Node: \> (tabbing)42090 +Node: \< (tabbing)42256 +Node: \+ (tabbing)42465 +Node: \- (tabbing)42677 +Node: \' (tabbing)42969 +Node: \` (tabbing)43313 +Node: \kill (tabbing)43856 +Node: table44197 +Node: tabular45234 +Node: \cline48021 +Node: \hline48226 +Node: \multicolumn48492 +Node: \vline49006 +Node: thebibliography49299 +Node: \bibitem50018 +Node: \cite50682 +Node: \nocite51035 +Node: theorem51280 +Node: titlepage51552 +Node: verbatim51984 +Node: \verb52436 +Node: verse52842 +Node: Footnotes53068 +Node: \footnote53612 +Node: \footnotemark53975 +Node: \footnotetext54286 +Node: Lengths54731 +Node: \newlength55105 +Node: \setlength55389 +Node: \addtolength55749 +Node: \settowidth56045 +Node: Letters56286 +Node: Declarations57624 +Node: \signature58361 +Node: \location58671 +Node: \telephone58933 +Node: \opening59157 +Node: \closing59453 +Node: Line and Page Breaking59649 +Node: \\60647 +Node: \-61110 +Node: \cleardoublepage61460 +Node: \clearpage61869 +Node: \hyphenation62140 +Node: \linebreak62610 +Node: \newline63160 +Node: \newpage63396 +Node: \nolinebreak63564 +Node: \nopagebreak64042 +Node: \pagebreak64522 +Node: Making Paragraphs64963 +Node: \indent65475 +Node: \noindent65742 +Node: \par65998 +Node: Math Formulas66184 +Node: Subscripts and Superscripts67305 +Node: Math Symbols67758 +Node: Spacing in Math Mode68141 +Node: Math Miscellany68675 +Node: \cdots69215 +Node: \ddots69406 +Node: \frac69557 +Node: \ldots69748 +Node: \overbrace69948 +Node: \overline70150 +Node: \sqrt70359 +Node: \underbrace70683 +Node: \underline70901 +Node: \vdots71176 +Node: Modes71317 +Node: Page Styles73123 +Node: \maketitle73562 +Node: \author74086 +Node: \date74423 +Node: \thanks74655 +Node: \title74838 +Node: \pagenumbering75064 +Node: \pagestyle75478 +Node: \mark76149 +Node: \thispagestyle76898 +Node: Sectioning77186 +Node: \appendix78362 +Node: Spaces and Boxes78616 +Node: \addvspace79581 +Node: \bigskip80032 +Node: \dotfill80266 +Node: \fbox80466 +Node: \framebox80734 +Node: \hfill81172 +Node: \hrulefill81405 +Node: \hspace81659 +Node: \makebox82266 +Node: \mbox82716 +Node: \medskip82939 +Node: \newsavebox83171 +Node: \parbox83427 +Node: \raisebox84314 +Node: \rule85171 +Node: \savebox85612 +Node: \smallskip85989 +Node: \usebox86258 +Node: \vfill86466 +Node: \vspace86661 +Node: Special Characters87200 +Node: Accents88104 +Node: German Special Characters89025 +Node: Splitting the Input89235 +Node: \include89694 +Node: \includeonly90494 +Node: \input90782 +Node: Starting and Ending91181 +Node: Table of Contents91722 +Node: \addcontentsline92544 +Node: \addtocontents93243 +Node: Terminal Input and Output93767 +Node: \typeout93933 +Node: \typein94422 +Node: Typefaces94940 +Node: Styles95140 +Node: Sizes95741 + +End Tag Table diff --git a/obsolete/info/latex-info/latex.info-1 b/obsolete/info/latex-info/latex.info-1 new file mode 100644 index 0000000000..cc8f18f2e2 --- /dev/null +++ b/obsolete/info/latex-info/latex.info-1 @@ -0,0 +1,1818 @@ +This is Info file latex.info, produced by Makeinfo-1.47 from the input +file latex.texinfo. + + +File: latex.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) + +Online LaTeX Help +***************** + +This is Version 1.0 of the `Online LaTeX Help', dating 15.6.92 + +`Online LaTeX Help' is heavily based on the LaTeX library for VMS-Help +which is part of DECUS TeX Distribution of August 1990. Unfortunately, +its author is nowhere mentioned, so I cannot pay tribute to him... + +The `Online LaTeX Help' is supposed to serve the TeX community as an +online reference to all LaTeX commands and style files. Needless to say +that it is far from complete yet (at least as far as the style files +are concerned), so please send any bug reports, comments, additions, +etc. to + Stefan Steffens (steffens@goofy.zdv.uni-mainz.de) + + Zentrum fuer Datenverarbeitung + Johannes Gutenberg-Universitaet Mainz + Bundesrepublik Deutschland + +The first part of the master menu lists the major nodes in this Info +document. The Detailed Node Listing lists all the lower level nodes in +the document. + +* Menu: + +* Introduction:: Introduction +* Styles and Options:: Document Styles and Style Options +* Commands:: Commands + + -- The Detailed Node Listing -- + +Document Styles and Style Options + +* Supported Styles:: Supported Styles +* Supported Style Options:: Supported Style Options + +Commands + +* Counters:: Counters +* Cross References:: Cross References +* Definitions:: Definitions +* Page layout:: Page layout +* Environments:: Environments +* Footnotes:: Footnotes +* Lengths:: Lengths +* Letters:: Letters +* Line and Page Breaking:: Line and Page Breaking +* Making Paragraphs:: Making Paragraphs +* Math Formulas:: Math Formulas +* Modes:: Modes +* Page Styles:: Page Styles +* Sectioning:: Sectioning +* Spaces and Boxes:: Spaces and Boxes +* Special Characters:: Special Characters +* Splitting the Input:: Splitting the Input +* Starting and Ending:: Starting and Ending +* Table of Contents:: Table of Contents +* Terminal Input and Output :: Terminal Input and Output +* Typefaces:: Typefaces + +Counters + +* \addtocounter:: \addtocounter +* \alph:: \alph +* \arabic:: \arabic +* \fnsymbol:: \fnsymbol +* \newcounter:: \newcounter +* \roman:: \roman +* \setcounter:: \setcounter +* \usecounter:: \usecounter +* \value:: \value + +Cross References + +* \label:: \label +* \pageref:: \pageref +* \ref:: \ref + +Definitions + +* \newcommand:: \newcommand +* \newenvironment:: \newenvironment +* \newtheorem:: \newtheorem +* \newfont:: \newfont + +Page layout + +* \flushbottom:: \flushbottom +* \raggedbottom:: \raggedbottom +* \onecolumn:: \onecolumn +* \twocolumn:: \twocolumn + +Environments + +* array:: array +* center:: center +* \centering:: \centering +* description:: description +* enumerate:: enumerate +* eqnarray:: eqnarray +* equation:: equation +* figure:: figure +* flushleft:: flushleft +* \raggedright:: \raggedright +* flushright:: flushright +* \raggedleft:: \raggedleft +* itemize:: itemize +* list:: list +* minipage:: minipage +* picture:: picture +* quotation:: quotation +* quote:: quote +* tabbing:: tabbing +* table:: table +* tabular:: tabular +* thebibliography:: thebibliography +* theorem:: theorem +* titlepage:: titlepage +* verbatim:: verbatim +* verse:: verse + +picture + +* \circle (picture):: \circle +* \dashbox (picture):: \dashbox +* \frame (picture):: \frame +* \framebox (picture):: \framebox +* \line (picture):: \line +* \linethickness (picture):: \linethickness +* \makebox (picture):: \makebox +* \multiput (picture):: \multiput +* \oval (picture):: \oval +* \put (picture):: \put +* \shortstack (picture):: \shortstack +* \vector (picture):: \vector + +tabbing + +* \= (tabbing):: \= +* \> (tabbing):: \> +* \< (tabbing):: \< +* \+ (tabbing):: \+ +* \- (tabbing):: \- +* \' (tabbing):: \' +* \` (tabbing):: \` +* \kill (tabbing):: \kill + +tabular + +* \cline:: \cline +* \hline:: \hline +* \multicolumn:: \multicolumn +* \vline:: \vline + +thebibliography + +* \bibitem:: \bibitem +* \cite:: \cite +* \nocite:: \nocite + +verbatim + +* \verb:: \verb + +Footnotes + +* \footnote:: \footnote +* \footnotemark:: \footnotemark +* \footnotetext:: \footnotetext + +Lengths + +* \newlength:: \newlength +* \setlength:: \setlength +* \addtolength:: \addtolength +* \settowidth:: \settowidth + +Letters + +* Declarations:: Declarations +* \opening:: \opening +* \closing:: \closing + +\address + +* \signature:: \signature +* \location:: \location +* \telephone:: \telephone + +Line and Page Breaking + +* \\:: \\ +* \-:: Hypenation Aid \- +* \cleardoublepage:: \cleardoublepage +* \clearpage:: \clearpage +* \hyphenation:: \hyphenation +* \linebreak:: \linebreak +* \newline:: \newline +* \newpage:: \newpage +* \nolinebreak:: \nolinebreak +* \nopagebreak:: \nopagebreak +* \pagebreak:: \pagebreak + +Making Paragraphs + +* \indent:: \indent +* \noindent:: \noindent +* \par:: \par + +Math Formulas + +* Subscripts and Superscripts:: Subscripts and Superscripts +* Math Symbols:: Math Symbols +* Spacing in Math Mode:: Spacing in Math Mode +* Math Miscellany:: Math Miscellany + +Math Miscellany + +* \cdots:: \cdots +* \ddots:: \ddots +* \frac:: \frac +* \ldots:: \ldots +* \overbrace:: \overbrace +* \overline:: \overline +* \sqrt:: \sqrt +* \underbrace:: \underbrace +* \underline:: \underline +* \vdots:: \vdots + +Page Styles + +* \maketitle:: \maketitle +* \pagenumbering:: \pagenumbering +* \pagestyle:: \pagestyle +* \thispagestyle:: \thispagestyle + +\maketitle + +* \author:: \author +* \date:: \date +* \thanks:: \thanks +* \title:: \title + +\pagestyle + +* \mark:: \mark + +Sectioning + +* \appendix:: \appendix + +Spaces and Boxes + +* \addvspace:: \addvspace +* \bigskip:: \bigskip +* \dotfill:: \dotfill +* \fbox:: \fbox +* \framebox:: \framebox +* \hfill:: \hfill +* \hrulefill :: \hrulefill +* \hspace:: \hspace +* \makebox:: \makebox +* \mbox:: \mbox +* \medskip:: \medskip +* \newsavebox:: \newsavebox +* \parbox:: \parbox +* \raisebox:: \raisebox +* \rule:: \rule +* \savebox:: \savebox +* \smallskip:: \smallskip +* \usebox:: \usebox +* \vfill:: \vfill +* \vspace:: \vspace + +Special Characters + +* Accents:: Accents +* German Special Characters:: German Special Characters + + +File: latex.info, Node: Introduction, Next: Styles and Options, Prev: Top, Up: Top + +Introduction +************ + +The LaTeX command typesets a file of text using the TeX program and the +LaTeX Macro package for TeX. To be more specific, it processes an input +file containing the text of a document with interspersed commands that +describe how the text should be formatted. It produces two files as +output, a Device Independent (DVI) file that contains commands that can +be translated into commands for a variety of output devices, and a +`transcript' or `log file' that contains summary information and +diagnostic messages for any errors discovered in the input file. + +For a description of what goes on inside TeX, you should consult The +TeXbook by Donald E. Knuth, ISBN 0-201-13448-9, published jointly by the +American Mathematical Society and Addison-Wesley Publishing Company. + +For a description of LaTeX, you should consult "A Document Preparation +System: LaTeX" by Leslie Lamport, ISBN 0-201-15790-X, published jointly +by the American Mathematical Society and Addison-Wesley Publishing +Company. + +A german language introduction to LaTeX is available as "LaTeX -- eine +Einfuehrung" by H. Kopka, published by Addison-Wesley. + + +File: latex.info, Node: Styles and Options, Next: Commands, Prev: Introduction, Up: Top + +Document Styles and Style Options +********************************* + +Valid LaTeX document styles include: + + * article + + * report + + * letter + + * book + +They are selected with the following command: + + \documentstyle[options]{style} + +The standard options for the different styles are: + +article: + 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno + +report: + 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno + +book: + 11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno + +letter: + 11pt, 12pt, fleqn, leqno + +If you specify more than one option, they must be separated by a comma +-- BUT DO NOT INSERT ANY SPACES! + +* Menu: + +* Supported Styles:: Supported Styles +* Supported Style Options:: Supported Style Options + + +File: latex.info, Node: Supported Styles, Next: Supported Style Options, Up: Styles and Options + +Supported Styles +================ + + +File: latex.info, Node: Supported Style Options, Prev: Supported Styles, Up: Styles and Options + +Supported Style Options +======================= + + +File: latex.info, Node: Commands, Prev: Styles and Options, Up: Top + +Commands +******** + +A LaTeX command begins with the command name, which consists of a \ +followed by either (a) a string of letters or (b) a single non-letter. +Arguments contained in square brackets [] are optional while arguments +contained in braces {} are required. + +Several commands have an optional * form. + +NOTE: LaTeX is case sensitive. Enter all commands in lower case unless +explicitly directed to do otherwise. + +* Menu: + +* Counters:: Counters +* Cross References:: Cross References +* Definitions:: Definitions +* Page layout:: Page layout +* Environments:: Environments +* Footnotes:: Footnotes +* Lengths:: Lengths +* Letters:: Letters +* Line and Page Breaking:: Line and Page Breaking +* Making Paragraphs:: Making Paragraphs +* Math Formulas:: Math Formulas +* Modes:: Modes +* Page Styles:: Page Styles +* Sectioning:: Sectioning +* Spaces and Boxes:: Spaces and Boxes +* Special Characters:: Special Characters +* Splitting the Input:: Splitting the Input +* Starting and Ending:: Starting and Ending +* Table of Contents:: Table of Contents +* Terminal Input and Output :: Terminal Input and Output +* Typefaces:: Typefaces + + +File: latex.info, Node: Counters, Next: Cross References, Up: Commands + +Counters +======== + +Everything LaTeX numbers for you has a counter associated with it. The +name of the counter is the same as the name of the environment or +command that produces the number, except with no \. Below is a list of +the counters used LaTeX's standard document styles to control numbering. + + part part figure enumi + chapter subparagraph table enumii + section page footnote enumiii + subsection equation mpfootnote enumiv + subsubsection + +* Menu: + +* \addtocounter:: \addtocounter +* \alph:: \alph +* \arabic:: \arabic +* \fnsymbol:: \fnsymbol +* \newcounter:: \newcounter +* \roman:: \roman +* \setcounter:: \setcounter +* \usecounter:: \usecounter +* \value:: \value + + +File: latex.info, Node: \addtocounter, Next: \alph, Up: Counters + +\addtocounter +------------- + +Syntax: + + \addtocounter{counter}{value} + +The \addtocounter command increments the counter by the amount specified +by the value argument. The value argument can be negative. + + +File: latex.info, Node: \alph, Next: \arabic, Prev: \addtocounter, Up: Counters + +\alph +----- + +Syntax: + + \alph{counter} + +This command causes the value of the counter to be printed in alphabetic +characters. The \alph command causes lower case alphabetic characters, +e.g. a, b, c... while the \Alph command causes upper case alphabetic +characters, e.g. A, B, C... + + +File: latex.info, Node: \arabic, Next: \fnsymbol, Prev: \alph, Up: Counters + +\arabic +------- + +Syntax: + + \arabic{counter} + +The \arabic command causes the value of the counter to be printed in +arabic numbers, e.g. 3. + + +File: latex.info, Node: \fnsymbol, Next: \newcounter, Prev: \arabic, Up: Counters + +\fnsymbol +--------- + +Syntax: + + \fnsymbol{counter} + +The \fnsymbol command causes the value of the counter to be printed in a +specific sequence of nine symbols that can be used for numbering +footnotes. + + +File: latex.info, Node: \newcounter, Next: \roman, Prev: \fnsymbol, Up: Counters + +\newcounter +----------- + +Syntax: + + \newcounter{foo}[counter] + +The \newcounter command defines a new counter named foo. The optional +argument [counter] causes the counter foo to be reset whenever the +counter named in the optional argument is incremented. + + +File: latex.info, Node: \roman, Next: \setcounter, Prev: \newcounter, Up: Counters + +\roman +------ + +Syntax: + + \roman{counter} + +This command causes the value of the counter to be printed in roman +numerals. The \roman command causes lower case roman numerals, e.g. i, +ii, iii..., while the \Roman command causes upper case roman numerals, +e.g. I, II, III... + + +File: latex.info, Node: \setcounter, Next: \usecounter, Prev: \roman, Up: Counters + +\setcounter +----------- + +Syntax: + + \setcounter{counter}{value} + +The \setcounter command sets the value of the counter to that specified +by the value argument. + + +File: latex.info, Node: \usecounter, Next: \value, Prev: \setcounter, Up: Counters + +\usecounter +----------- + +Syntax: + + \usecounter{counter} + +The \usecounter command is used in the second argument of the list +environment to allow the counter specified to be used to number the list +items. + + +File: latex.info, Node: \value, Prev: \usecounter, Up: Counters + +\value +------ + +Syntax: + + \value{counter} + +The \value command produces the value of the counter named in the +mandatory argument. It can be used where LaTeX expects an integer or +number, such as the second argument of a \setcounter or \addtocounter +command, or in \hspace{\value{foo}\parindent} + + +File: latex.info, Node: Cross References, Next: Definitions, Prev: Counters, Up: Commands + +Cross References +================ + +One reason for numbering things like figures and equations is to refer +the reader to them, as in "See Figure 3 for more details." + +* Menu: + +* \label:: \label +* \pageref:: \pageref +* \ref:: \ref + + +File: latex.info, Node: \label, Next: \pageref, Up: Cross References + +\label +------ + +Syntax: + + \label{key} + +A \label command appearing in ordinary text assigns to the key the +number of the current sectional unit; one appearing inside a numbered +environment (i.e. table, figure and equation) assigns that number to the +key. + +A key con consist of any sequence of letters, digits, or punctuation +characters. Upper- and lowercase letters are different. + + +File: latex.info, Node: \pageref, Next: \ref, Prev: \label, Up: Cross References + +\pageref +-------- + +Syntax: + + \pageref{key} + +The \pageref command produces the page number of the place in the text +where the corresponding \label command appears. + + +File: latex.info, Node: \ref, Prev: \pageref, Up: Cross References + +\ref +---- + +Syntax: + + \ref{key} + +The \ref command produces the number of the sectional unit, equation +number,... of the corresponding \label command. + + +File: latex.info, Node: Definitions, Next: Page layout, Prev: Cross References, Up: Commands + +Definitions +=========== + +* Menu: + +* \newcommand:: \newcommand +* \newenvironment:: \newenvironment +* \newtheorem:: \newtheorem +* \newfont:: \newfont + + +File: latex.info, Node: \newcommand, Next: \newenvironment, Up: Definitions + +\newcommand +----------- + +Syntax: + + \newcommand{cmd}[args]{def} + \renewcommand{cmd}[args]{def} + +These commands define (or redefine) a command. + +`cmd' + A command name beginning with a \. For \newcommand it must not be + already defined and must not begin with \end; for \renewcommand it + must already be defined. + +`args' + An integer from 1 to 9 denoting the number of arguments of the + command being defined. The default is for the command to have no + arguments. + +`def' + The text to be substituted for every occurrence of cmd; a + parameter of the form #n in cmd is replaced by the text of the nth + argument when this substitution takes place. + + +File: latex.info, Node: \newenvironment, Next: \newtheorem, Prev: \newcommand, Up: Definitions + +\newenvironment +--------------- + +Syntax: + + \newenvironment{nam}[args]{begdef}{enddef} + \renewenvironment{nam}[args]{begdef}{enddef} + +These commands define or redefine an environment. + +`nam' + The name of the environment. For \newenvironment there must be no + currently defined environment by that name, and the command \nam + must be undefined. For \renewenvironment the environment must + already be defined. + +`args' + An integer from 1 to 9 denoting the number of arguments of the + newly-defined environment. The default is no arguments. + +`begdef' + The text substituted for every occurrence of \begin{name}; a + parameter of the form #n in cmd is replaced by the text of the nth + argument when this substitution takes place. + +`enddef' + The text substituted for every occurrence of \end{nam}. It may not + contain any argument parameters. + + +File: latex.info, Node: \newtheorem, Next: \newfont, Prev: \newenvironment, Up: Definitions + +\newtheorem +----------- + +Syntax: + + \newtheorem{env_name}{caption}[within] + \newtheorem{env_name}[numbered_like]{caption} + +This command defines a theorem-like environment. + +`env_name' + The name of the environment -- a string of letters. Must not be + the name of an existing environment or counter. + +`caption' + The text printed at the beginning of the environment, right before + the number. + +`within' + The name of an already defined counter, usually of a sectional + unit. Provides a means of resetting the new theorem counter within + the sectional unit. + +`numbered_like' + The name of an already defined theorem-like environment. + +The \newtheorem command may have at most one optional argument. + + +File: latex.info, Node: \newfont, Prev: \newtheorem, Up: Definitions + +\newfont +-------- + +Syntax: + + \newfont{cmd}{font_name} + +Defines the command name cmd, which must not be currently defined, to be +a declaration that selects the font named font_name to be the current +font. + + +File: latex.info, Node: Page layout, Next: Environments, Prev: Definitions, Up: Commands + +Page layout +=========== + +For further information *Note Page Styles:: and *Note Document Styles +and Style Options::. + +* Menu: + +* \flushbottom:: \flushbottom +* \raggedbottom:: \raggedbottom +* \onecolumn:: \onecolumn +* \twocolumn:: \twocolumn + + +File: latex.info, Node: \flushbottom, Next: \raggedbottom, Up: Page layout + +\flushbottom +------------ + +The \flushbottom declaration makes all text pages the same height, +adding extra vertical space when necessary to fill out the page. + + +File: latex.info, Node: \raggedbottom, Next: \onecolumn, Prev: \flushbottom, Up: Page layout + +\raggedbottom +------------- + + +File: latex.info, Node: \onecolumn, Next: \twocolumn, Prev: \raggedbottom, Up: Page layout + +\onecolumn +---------- + +The \onecolumn declaration starts a new page and produces single-column +output. + + +File: latex.info, Node: \twocolumn, Prev: \onecolumn, Up: Page layout + +\twocolumn +---------- + +The \twocolumn declaration starts a new page and produces two-column +output. + + +File: latex.info, Node: Environments, Next: Footnotes, Prev: Page layout, Up: Commands + +Environments +============ + +LaTeX provides a number of different paragraph-making environments. +Each environment begins and ends in the same manner. + + \begin{environment-name} + . + . + . + \end{environment-name} + +* Menu: + +* array:: array +* center:: center +* \centering:: \centering +* description:: description +* enumerate:: enumerate +* eqnarray:: eqnarray +* equation:: equation +* figure:: figure +* flushleft:: flushleft +* \raggedright:: \raggedright +* flushright:: flushright +* \raggedleft:: \raggedleft +* itemize:: itemize +* list:: list +* minipage:: minipage +* picture:: picture +* quotation:: quotation +* quote:: quote +* tabbing:: tabbing +* table:: table +* tabular:: tabular +* thebibliography:: thebibliography +* theorem:: theorem +* titlepage:: titlepage +* verbatim:: verbatim +* verse:: verse + + +File: latex.info, Node: array, Next: center, Up: Environments + +array +----- + +Syntax: + + \begin{array}{col1col2...coln} + column 1 entry & column 2 entry ... & column n entry \\ + . + . + . + \end{array} + +Math arrays are produced with the array environment. It has a single +mandatory argument describing the number of columns and the alignment +within them. Each column, coln, is specified by a single letter that +tells how items in that row should be formatted. + +`c' + for centered + +`l' + for flushleft + +`r' + for flushright + +Column entries must be separated by an &. Column entries may include +other LaTeX commands. Each row of the array must be terminated with a +\\. + + +File: latex.info, Node: center, Next: \centering, Prev: array, Up: Environments + +center +------ + +Syntax: + + \begin{center} + Text on line 1 \\ + Text on line 2 \\ + . + . + . + \end{center} + +The center environment allows you to create a paragraph consisting of +lines that are centered within the left and right margins on the current +page. Each line must be terminated with a \\. + + +File: latex.info, Node: \centering, Next: description, Prev: center, Up: Environments + +\centering +---------- + +This declaration corresponds to the center environment. This declaration +can be used inside an environment such as quote or in a parbox. The text +of a figure or table can be centered on the page by putting a \centering +command at the beginning of the figure or table environment. + +Unlike the center environment, the \centering command does not start a +new paragraph; it simply changes how LaTeX formats paragraph units. To +affect a paragraph unit's format, the scope of the declaration must +contain the blank line or \end command (of an environment like quote) +that ends the paragraph unit. + + +File: latex.info, Node: description, Next: enumerate, Prev: \centering, Up: Environments + +description +----------- + +Syntax: + + \begin{description} + \item[label] First item + \item[label] Second item + . + . + . + \end{description} + +The description environment is used to make labeled lists. The label is +bold face and flushed right. + + +File: latex.info, Node: enumerate, Next: eqnarray, Prev: description, Up: Environments + +enumerate +--------- + +Syntax: + + \begin{enumerate} + \item First item + \item Second item + . + . + . + \end{enumerate} + +The enumerate environment produces a numbered list. Enumerations can be +nested within one another, up to four levels deep. They can also be +nested within other paragraph-making environments. + +Each item of an enumerated list begins with an \item command. There +must be at least one \item command within the environment. + + +File: latex.info, Node: eqnarray, Next: equation, Prev: enumerate, Up: Environments + +eqnarray +-------- + +Syntax: + + \begin{eqnarray} + math formula 1 \\ + math formula 2 \\ + . + . + . + \end{eqnarray} + +The eqnarray environment is used to display a sequence of equations or +inequalities. It is very much like a three-column array environment, +with consecutive rows separated by \\ and consecutive items within a row +separated by an &. An equation number is placed on every line unless +that line has a \nonumber command. + + +File: latex.info, Node: equation, Next: figure, Prev: eqnarray, Up: Environments + +equation +-------- + +Syntax: + + \begin{equation} + math formula + \end{equation} + +The equation environment centers your equation on the page and places +the equation number in the right margin. + + +File: latex.info, Node: figure, Next: flushleft, Prev: equation, Up: Environments + +figure +------ + +Syntax: + + \begin{figure}[placement] + + body of the figure + + \caption{figure title} + \end{figure} + +Figures are objects that are not part of the normal text, and are +usually "floated" to a convenient place, like the top of a page. +Figures will not be split between two pages. + +The optional argument [placement] determines where LaTeX will try to +place your figure. There are four places where LaTeX can possibly put a +float: + +`h' + Here - at the position in the text where the figure environment + appears. + +`t' + Top - at the top of a text page. + +`b' + Bottom - at the bottom of a text page. + +`p' + Page of floats - on a separate float page, which is a page + containing no text, only floats. + +The standard report and article styles use the default specifier tbp. + +The body of the figure is made up of whatever text, LaTeX commands, etc. +you wish. The \caption command allows you to title your figure. + + +File: latex.info, Node: flushleft, Next: \raggedright, Prev: figure, Up: Environments + +flushleft +--------- + +Syntax: + + \begin{flushleft} + Text on line 1 \\ + Text on line 2 \\ + . + . + . + \end{flushleft} + +The flushleft environment allows you to create a paragraph consisting of +lines that are flushed left to the left-hand margin. Each line must be +terminated with a \\. + + +File: latex.info, Node: \raggedright, Next: flushright, Prev: flushleft, Up: Environments + +\raggedright +------------ + +This declaration corresponds to the flushleft environment. This +declaration can be used inside an environment such as quote or in a +parbox. + +Unlike the flushleft environment, the \raggedright command does not +start a new paragraph; it simply changes how LaTeX formats paragraph +units. To affect a paragraph unit's format, the scope of the declaration +must contain the blank line or \end command (of an environment like +quote) that ends the paragraph unit. + + +File: latex.info, Node: flushright, Next: \raggedleft, Prev: \raggedright, Up: Environments + +flushright +---------- + +Syntax: + + \begin{flushright} + Text on line 1 \\ + Text on line 2 \\ + . + . + . + \end{flushright} + +The flushright environment allows you to create a paragraph consisting +of lines that are flushed right to the right-hand margin. Each line +must be terminated with a \\. + + +File: latex.info, Node: \raggedleft, Next: itemize, Prev: flushright, Up: Environments + +\raggedleft +----------- + +This declaration corresponds to the flushright environment. This +declaration can be used inside an environment such as quote or in a +parbox. + +Unlike the flushright environment, the \raggedleft command does not +start a new paragraph; it simply changes how LaTeX formats paragraph +units. To affect a paragraph unit's format, the scope of the declaration +must contain the blank line or \end command (of an environment like +quote) that ends the paragraph unit. + + +File: latex.info, Node: itemize, Next: list, Prev: \raggedleft, Up: Environments + +itemize +------- + +Syntax: + + \begin{itemize} + \item First item + \item Second item + . + . + . + \end{itemize} + +The itemize environment produces a bulleted list. Itemizations can be +nested within one another, up to four levels deep. They can also be +nested within other paragraph-making environments. + +Each item of an itemized list begins with an \item command. There must +be at least one \item command within the environment. + + +File: latex.info, Node: list, Next: minipage, Prev: itemize, Up: Environments + +list +---- + +Syntax: + + \begin{list}{label}{spacing} + \item First item + \item Second item + . + . + . + \end{list} + +The {label} argument specifies how items should be labeled. This +argument is a piece of text that is inserted in a box to form the label. +This argument can and usually does contain other LaTeX commands. + +The {spacing} argument contains commands to change the spacing +parameters for the list. This argument will most often be null, i.e. +{}. This will select all default spacing which should suffice for most +cases. + + +File: latex.info, Node: minipage, Next: picture, Prev: list, Up: Environments + +minipage +-------- + +Syntax: + + \begin{minipage}[position]{width} + text + \end{minipage} + +The minipage environment is similar to a \parbox command. It takes the +same optional position argument and mandatory width argument. You may +use other paragraph-making environments inside a minipage. + +Footnotes in a minipage environment are handled in a way that is +particularly useful for putting footnotes in figures or tables. A +\footnote or \footnotetext command puts the footnote at the bottom of +the minipage instead of at the bottom of the page, and it uses the +mpfootnote counter instead of the ordinary footnote counter. + +NOTE: Don't put one minipage inside another if you are using footnotes; +they may wind up at the bottom of the wrong minipage. + + +File: latex.info, Node: picture, Next: quotation, Prev: minipage, Up: Environments + +picture +------- + +Syntax: + + \begin{picture}(width,height)(x offset,y offset) + . + picture commands + . + \end{picture} + +The picture environment allows you to create just about any kind of +picture you want containing text, lines, arrows and circles. You tell +LaTeX where to put things in the picture by specifying their +coordinates. A coordinate is a number that may have a decimal point and +a minus sign - a number like 5, 2.3 or -3.1416. A coordinate specifies +a length in multiples of the unit length \unitlength, so if \unitlength +has been set to 1cm, then the coordinate 2.54 specifies a length of 2.54 +centimeters. You can change the value of \unitlength anywhere you want, +using the \setlength command, but strange things will happen if you try +changing it inside the picture environment. + +A position is a pair of coordinates, such as (2.4,-5), which specifies +the point with x-coordinate 2.4 and y-coordinate -5. Coordinates are +specified in the usual way with respect to an origin, which is normally +at the lower-left corner of the picture. Note that when a position +appears as an argument, it is not enclosed in braces; the parentheses +serve to delimit the argument. + +The picture environment has one mandatory argument, which is a position. +It specifies the size of the picture. The environment produces a +rectangular box with width and height determined by this argument's x- +and y-coordinates. + +The picture environment also has an optional position argument, +following the size argument, that can change the origin. (Unlike +ordinary optional arguments, this argument is not contained in square +brackets.) The optional argument gives the coordinates of the point at +the lower-left corner of the picture (thereby determining the origin). +For example, if \unitlength has been set to 1mm, the command + + \begin{picture}(100,200)(10,20) + +produces a picture of width 100 millimeters and height 200 millimeters, +whose lower-left corner is the point (10,20) and whose upper-right +corner is therefore the point (110,220). When you first draw a picture, +you will omit the optional argument, leaving the origin at the +lower-left corner. If you then want to modify your picture by shifting +everything, you just add the appropriate optional argument. + +The environment's mandatory argument determines the nominal size of the +picture. This need bear no relation to how large the picture really is; +LaTeX will happily allow you to put things outside the picture, or even +off the page. The picture's nominal size is used by LaTeX in +determining how much room to leave for it. + +Everything that appears in a picture is drawn by the \put command. The +command + + \put (11.3,-.3){ ... } + +puts the object specified by "..." in the picture, with its reference +point at coordinates (11.3,-.3). The reference points for various +objects will be described below. + +The \put command creates an LR box. You can put anything in the text +argument of the \put command that you'd put into the argument of an +\mbox and related commands. When you do this, the reference point will +be the lower left corner of the box. + +* Menu: + +* \circle (picture):: \circle +* \dashbox (picture):: \dashbox +* \frame (picture):: \frame +* \framebox (picture):: \framebox +* \line (picture):: \line +* \linethickness (picture):: \linethickness +* \makebox (picture):: \makebox +* \multiput (picture):: \multiput +* \oval (picture):: \oval +* \put (picture):: \put +* \shortstack (picture):: \shortstack +* \vector (picture):: \vector + + +File: latex.info, Node: \circle (picture), Next: \dashbox (picture), Up: picture + +\circle +....... + +Syntax: + + \circle{diameter} + \circle*{diameter} + +The \circle command produces a circle of the specified diameter. If the +*-form of the command is used, LaTeX draws a solid circle. + + +File: latex.info, Node: \dashbox (picture), Next: \frame (picture), Prev: \circle (picture), Up: picture + +\dashbox +........ + +Syntax: + + \dashbox{dash length}(width,height){ ... } + +The \dashbox has an extra argument which specifies the width of each +dash. A dashed box looks best when the width and height are multiples +of the dash length. + + +File: latex.info, Node: \frame (picture), Next: \framebox (picture), Prev: \dashbox (picture), Up: picture + +\frame +...... + +Syntax: + + \frame{ ... } + +The \frame command puts a rectangular frame around the object specified +in the argument. The reference point is the bottom left corner of the +frame. No extra space is put between the frame and the object. + + +File: latex.info, Node: \framebox (picture), Next: \line (picture), Prev: \frame (picture), Up: picture + +\framebox +......... + +Syntax: + + \framebox(width,height)[position]{ ... } + +The \framebox command is analogous to the \makebox command. + + +File: latex.info, Node: \line (picture), Next: \linethickness (picture), Prev: \framebox (picture), Up: picture + +\line +..... + +Syntax: + + \line(x slope,y slope){length} + +The \line command draws a line of the specified length and slope. + + +File: latex.info, Node: \linethickness (picture), Next: \makebox (picture), Prev: \line (picture), Up: picture + +\linethickness +.............. + +Syntax: + + \linethickness{dimension} + +Declares the thickness of horizontal and vertical lines in a picture +environment to be dimension, which must be a positive length. It does +not affect the thickness of slanted lines and circles, or the quarter +circles drawn by \oval to form the corners of an oval. + + +File: latex.info, Node: \makebox (picture), Next: \multiput (picture), Prev: \linethickness (picture), Up: picture + +\makebox +........ + +Syntax: + + \makebox(width,height)[position]{ ... } + +The \makebox command for the picture environment is similar to the +normal \makebox command except that you must specify a width and height +in multiples of \unitlength. + +The optional argument, [position], specifies the quadrant that your text +appears in. You may select up to two of the following: + +`t:' + Moves the item to the top of the rectangle + +`b:' + Moves the item to the bottom + +`l:' + Moves the item to the left + +`r:' + Moves the item to the right + + +File: latex.info, Node: \multiput (picture), Next: \oval (picture), Prev: \makebox (picture), Up: picture + +\multiput +......... + +Syntax: + + \multiput(x coord,y coord)(delta x,delta y){number of copies}{object} + +The \multiput command can be used when you are putting the same object +in a regular pattern across a picture. + + +File: latex.info, Node: \oval (picture), Next: \put (picture), Prev: \multiput (picture), Up: picture + +\oval +..... + +Syntax: + + \oval(width,height)[portion] + +The \oval command produces a rectangle with rounded corners. The +optional argument, [portion], allows you to select part of the oval. + +`t:' + Selects the top portion + +`b:' + Selects the bottom portion + +`r:' + Selects the right portion + +`l:' + Selects the left portion + + +File: latex.info, Node: \put (picture), Next: \shortstack (picture), Prev: \oval (picture), Up: picture + +\put +.... + +Syntax: + + \put(x coord,y coord){ ... } + +The \put command places the item specified by the mandatory argument at +the given coordinates. + + +File: latex.info, Node: \shortstack (picture), Next: \vector (picture), Prev: \put (picture), Up: picture + +\shortstack +........... + +Syntax: + + \shortstack[position]{... \\ ... \\ ...} + +The \shortstack command produces a stack of objects. The valid +positions are: + +`r:' + Moves the objects to the right of the stack + +`l:' + Moves the objects to the left of the stack + +`c:' + Moves the objects to the center of the stack (default) + + +File: latex.info, Node: \vector (picture), Prev: \shortstack (picture), Up: picture + +\vector +....... + +Syntax: + + \vector(x slope,y slope){length} + +The \vector command draws a line with an arrow of the specified length +and slope. The x and y values must lie between -4 and +4, inclusive. + + +File: latex.info, Node: quotation, Next: quote, Prev: picture, Up: Environments + +quotation +--------- + +Syntax: + + \begin{quotation} + text + \end{quotation} + +The margins of the quotation environment are indented on the left and +the right. The text is justified at both margins and there is paragraph +indentation. Leaving a blank line between text produces a new +paragraph. + + +File: latex.info, Node: quote, Next: tabbing, Prev: quotation, Up: Environments + +quote +----- + +Syntax: + + \begin{quote} + text + \end{quote} + +The margins of the quote environment are indented on the left and the +right. The text is justified at both margins. Leaving a blank line +between text produces a new paragraph. + + +File: latex.info, Node: tabbing, Next: table, Prev: quote, Up: Environments + +tabbing +------- + +Syntax: + + \begin{tabbing} + text \= more text \= still more text \= last text \\ + second row \> \> more \\ + . + . + . + \end{tabbing} + +The tabbing environment provides a way to align text in columns. It +works by setting tab stops and tabbing to them much the way you do with +an ordinary typewriter. + +Please note: To access accute, grave and bar accents use \a^, \a`, and +\a= instead of the usual accenting commands. + +* Menu: + +* \= (tabbing):: \= +* \> (tabbing):: \> +* \< (tabbing):: \< +* \+ (tabbing):: \+ +* \- (tabbing):: \- +* \' (tabbing):: \' +* \` (tabbing):: \` +* \kill (tabbing):: \kill + + +File: latex.info, Node: \= (tabbing), Next: \> (tabbing), Up: tabbing + +\= +.. + +The \= command sets the tab stops. + + +File: latex.info, Node: \> (tabbing), Next: \< (tabbing), Prev: \= (tabbing), Up: tabbing + +\> +.. + +The \> command causes LaTeX to advance to the next tab stop. + + +File: latex.info, Node: \< (tabbing), Next: \+ (tabbing), Prev: \> (tabbing), Up: tabbing + +\< +.. + +The \< command allows you to put something to the left of the local +margin without changing the margin. + + +File: latex.info, Node: \+ (tabbing), Next: \- (tabbing), Prev: \< (tabbing), Up: tabbing + +\+ +.. + +The \+ command moves the left margin of the next and all the following +commands one tab stop to the right. + + +File: latex.info, Node: \- (tabbing), Next: \' (tabbing), Prev: \+ (tabbing), Up: tabbing + +\- +.. + +The \- command moves the left margin of the next and all the following +commands one tab stop to the left. + +Outside the tabbing environment \- works as a hyphenation aid (see +*Note \-::). + + +File: latex.info, Node: \' (tabbing), Next: \` (tabbing), Prev: \- (tabbing), Up: tabbing + +\' +.. + +The \' command moves everything that you have typed so far n the current +column , everything starting from the most recent \>, \<, \', \\, or +\kill command, to the right of the previous column, flush against the +current column's tab stop. + + +File: latex.info, Node: \` (tabbing), Next: \kill (tabbing), Prev: \' (tabbing), Up: tabbing + +\` +.. + +The \` command allows you to put text flushed right against any tab +stop, including tab stop 0. However, it can't move text to the right of +the last column because there's no tab stop there. The \` command moves +all the text that follows it, up to the \\ or \end{tabbing} command +that ends the line, to the right margin of the tabbing environment. +There must be no \> or \' command between the \` and the command that +ends the line. + + +File: latex.info, Node: \kill (tabbing), Prev: \` (tabbing), Up: tabbing + +\kill +..... + +The \kill command allows you to set tab stops without producing text. +It works just like the \\ except that it throws away the current line +instead of producing output for it. The effect of any \=, \+ or \- +commands in that line remain in effect. + + +File: latex.info, Node: table, Next: tabular, Prev: tabbing, Up: Environments + +table +----- + +Syntax: + + \begin{table}[placement] + + body of the table + + \caption{table title} + \end{table} + +Tables are objects that are not part of the normal text, and are usually +"floated" to a convenient place, like the top of a page. Tables will +not be split between two pages. + +The optional argument [placement] determines where LaTeX will try to +place your table. There are four places where LaTeX can possibly put a +float: + +`h' + Here - at the position in the text where the table environment + appears. + +`t' + Top - at the top of a text page. + +`b' + Bottom - at the bottom of a text page. + +`p' + Page of floats - on a separate float page, which is a page + containing no text, only floats. + +The standard report and article styles use the default specifier tbp. + +The body of the table is made up of whatever text, LaTeX commands, etc. +you wish. The \caption command allows you to title your table. + + +File: latex.info, Node: tabular, Next: thebibliography, Prev: table, Up: Environments + +tabular +------- + +Syntax: + + \begin{tabular}[pos]{cols} + column 1 entry & column 2 entry ... & column n entry \\ + . + . + . + \end{tabular} + + or + + \begin{tabular*}{width}[pos]{cols} + column 1 entry & column 2 entry ... & column n entry \\ + . + . + . + \end{tabular*} + +These environments produce a box consisting of a sequence of rows of +items, aligned vertically in columns. The mandatory and optional +arguments consist of: + +`width' + Specifies the width of the tabular* environment. There must be + rubber space between columns that can stretch to fill out the + specified width. + +`pos' + Specified the vertical postionion; default is alignment on the + center of the environment. + +`t' + align on top row + +`b' + align on bottom row + +`cols' + Specifies the column formatting. It consists of a sequence of the + following specifiers, corresponding to the sequence of columns and + intercolumn material. + +`l' + A column of left-aligned items. + +`r' + A column of right-aligned items. + +`c' + A column of centered items. + +`|' + A vertical line the full height and depth of the environment. + +`{text}' + This inserts text in every row. An @-expression suppresses the + intercolumn space normally inserted between columns; any desired + space between the inserted text and the adjacent items must be + included in text. An \extracolsep{wd} command in an @-expression + causes an extra space of width wd to appear to the left of all + subsequent columns, until countermanded by another \extracolsep + command. Unlike ordinary intercolumn space, this extra space is + not suppressed by an @-expression. An \extracolsep command can be + used only in an @-expression in the cols argument. + +`p{wd}' + Produces a column with each item typeset in a parbox of width wd, + as if it were the argument of a \parbox[t]{wd} command. However, a + \\ may not appear in the item, except in the following situations: + + 1. inside an environment like minipage, array, or tabular, + + 2. inside an explicit \parbox, or + + 3. in the scope of a \centering, \raggedrigth, or \raggedleft + declaration. The latter declarations must appear inside + braces or an environment when used in a p-column element. + +`*{num}{cols}' + Equivalent to num copies of cols, where num is any positive + integer and cols is any list of column-specifiers, which may + contain another *-expression. + +* Menu: + +* \cline:: \cline +* \hline:: \hline +* \multicolumn:: \multicolumn +* \vline:: \vline + + +File: latex.info, Node: \cline, Next: \hline, Up: tabular + +\cline +...... + +Syntax: + + \cline{i-j} + +The \cline command draws horizontal lines across the columns specified +in the mandatory argument. + + +File: latex.info, Node: \hline, Next: \multicolumn, Prev: \cline, Up: tabular + +\hline +...... + +The \hline command will draw a horizontal line the width of the table. +It's most commonly used to draw a line at the top, bottom, and between +the rows of the table. + + +File: latex.info, Node: \multicolumn, Next: \vline, Prev: \hline, Up: tabular + +\multicolumn +............ + +Syntax: + + \multicolumn{cols}{pos}{text} + +The \multicolumn is used to make an entry that spans several columns. +The first mandatory argument, cols, specifies the number of columns to +span. The second mandatory argument, pos, specifies the formatting of +the entry; c for centered, l for flushleft, r for flushright. The third +mandatory argument, text, specifies what text is to make up the entry. + + +File: latex.info, Node: \vline, Prev: \multicolumn, Up: tabular + +\vline +...... + +The \vline command will draw a vertical line extending the full height +and depth of its row. An \hfill command can be used to move the line to +the edge of the column. It can also be used in an @-expression. + + +File: latex.info, Node: thebibliography, Next: theorem, Prev: tabular, Up: Environments + +thebibliography +--------------- + +Syntax: + + \begin{thebibliography}{widest-label} + \bibitem[label]{cite_key} + . + . + . + \end{thebibliography} + +The thebibliography environment produces a bibliography or reference +list. In the article style, this reference list is labeled "References"; +in the report style, it is labeled "Bibliography". + +`widest-label' + Text that, when printed, is approximately as wide as the widest + item label produces by the \bibitem commands. + +* Menu: + +* \bibitem:: \bibitem +* \cite:: \cite +* \nocite:: \nocite + +
\ No newline at end of file diff --git a/obsolete/info/latex-info/latex.info-2 b/obsolete/info/latex-info/latex.info-2 new file mode 100644 index 0000000000..4abb6e579d --- /dev/null +++ b/obsolete/info/latex-info/latex.info-2 @@ -0,0 +1,1851 @@ +This is Info file latex.info, produced by Makeinfo-1.47 from the input +file latex.texinfo. + + +File: latex.info, Node: \bibitem, Next: \cite, Up: thebibliography + +\bibitem +........ + +Syntax: + + \bibitem[label]{cite_key} + +The \bibitem command generates an entry labeled by label. If the label +argument is missing, a number is generated as the label, using the enumi +counter. The cite_key is any sequence of letters, numbers, and +punctuation symbols not containing a comma. This command writes an entry +on the aux file containing cite_key and the item's label. When this aux +file is read by the \begin{document} command, the item's label is +associated with cite_key, causing the reference to cite_key by a \cite +command to produce the associated label. + + +File: latex.info, Node: \cite, Next: \nocite, Prev: \bibitem, Up: thebibliography + +\cite +..... + +Syntax: + + \cite[text]{key_list} + +The key_list argument is a list of citation keys. This command generates +an in-text citation to the references associated with the keys in +key_list by entries on the aux file read by the \begin{document} +command. + + +File: latex.info, Node: \nocite, Prev: \cite, Up: thebibliography + +\nocite +....... + +Syntax: + + \nocite{key_list} + +The \nocite command produces no text, but writes key_list, which is a +list of one or more citation keys, on the aux file. + + +File: latex.info, Node: theorem, Next: titlepage, Prev: thebibliography, Up: Environments + +theorem +------- + +Syntax: + + \begin{theorem} + theorem text + \end{theorem} + +The theorem environment produces "Theorem x" in boldface followed by +your theorem text. + + +File: latex.info, Node: titlepage, Next: verbatim, Prev: theorem, Up: Environments + +titlepage +--------- + +Syntax: + + \begin{titlepage} + text + \end{titlepage} + +The titlepage environment creates a title page, i.e. a page with no +printed page number or heading. It also causes the following page to be +numbered page one. Formatting the title page is left to you. The +\today command comes in handy for title pages. + + +File: latex.info, Node: verbatim, Next: verse, Prev: titlepage, Up: Environments + +verbatim +-------- + +Syntax: + + \begin{verbatim} + text + \end{verbatim} + +The verbatim environment is a paragraph-making environment that gets +LaTeX to print exactly what you type in. It turns LaTeX into a +typewriter with carriage returns and blanks having the same effect that +they would on a typewriter. + +* Menu: + +* \verb:: \verb + + +File: latex.info, Node: \verb, Up: verbatim + +\verb +..... + +Syntax: + + \verb char literal_text char + \verb*char literal_text char + +Typesets literal_text exactly as typed, including special characters and +spaces, using a typewriter (\tt) type style. There may be no space +between \verb or \verb* and char (space is shown here only for clarity). +The *-form differs only in that spaces are printed. + + +File: latex.info, Node: verse, Prev: verbatim, Up: Environments + +verse +----- + +Syntax: + + \begin{verse} + text + \end{verse} + +The verse environment is designed for poetry, though you may find other +uses for it. + + +File: latex.info, Node: Footnotes, Next: Lengths, Prev: Environments, Up: Commands + +Footnotes +========= + +Footnotes can be produced in one of two ways. They can be produced with +one command, the \footnote command. They can also be produced with two +commands, the \footnotemark and the \footnotetext commands. See the +specific command for information on why you would use one over the +other. + +* Menu: + +* \footnote:: \footnote +* \footnotemark:: \footnotemark +* \footnotetext:: \footnotetext + + +File: latex.info, Node: \footnote, Next: \footnotemark, Up: Footnotes + +\footnote +--------- + +Syntax: + + \footnote[number]{text} + +The \footnote command places the numbered footnote text at the bottom of +the current page. The optional argument, number, is used to change the +default footnote number. This command can only be used in outer +paragraph mode. + + +File: latex.info, Node: \footnotemark, Next: \footnotetext, Prev: \footnote, Up: Footnotes + +\footnotemark +------------- + +The \footnotemark command puts the footnote number in the text. This +command can be used in inner paragraph mode. The text of the footnote +is supplied by the \footnotetext command. + + +File: latex.info, Node: \footnotetext, Prev: \footnotemark, Up: Footnotes + +\footnotetext +------------- + +Syntax: + + \footnotetext[number]{text} + +The \footnotetext command produces the text to be placed at the bottom +of the page. This command can come anywhere after the \footnotemark +command. The \footnotetext command must appear in outer paragraph mode. + +The optional argument, number, is used to change the default footnote +number. + + +File: latex.info, Node: Lengths, Next: Letters, Prev: Footnotes, Up: Commands + +Lengths +======= + +A length is a measure of distance. Many LaTeX commands take a length as +an argument. + +* Menu: + +* \newlength:: \newlength +* \setlength:: \setlength +* \addtolength:: \addtolength +* \settowidth:: \settowidth + + +File: latex.info, Node: \newlength, Next: \setlength, Up: Lengths + +\newlength +---------- + +Syntax: + + \newlength{\gnat} + +The \newlength command defines the mandatory argument, \gnat, as a +length command with a value of 0in. An error occurs if a \gnat command +already exists. + + +File: latex.info, Node: \setlength, Next: \addtolength, Prev: \newlength, Up: Lengths + +\setlength +---------- + +Syntax: + + \setlength{\gnat}{length} + +The \setlength command is used to set the value of a length command. +The length argument can be expressed in any terms of length LaTeX +understands, e.g. inches (in), millimeters (mm), points (pt), etc. + + +File: latex.info, Node: \addtolength, Next: \settowidth, Prev: \setlength, Up: Lengths + +\addtolength +------------ + +Syntax: + + \addtolength{\gnat}{length} + +The \addtolength command increments a length command by the amount +specified in the length argument. It can be a negative amount. + + +File: latex.info, Node: \settowidth, Prev: \addtolength, Up: Lengths + +\settowidth +----------- + +Syntax: + + \settowidth{\gnat}{text} + +The \settowidth command sets the value of a length command equal to the +width of the text argument. + + +File: latex.info, Node: Letters, Next: Line and Page Breaking, Prev: Lengths, Up: Commands + +Letters +======= + +You can use LaTeX to typeset letters, both personal and business. The +letter document style is designed to make a number of letters at once, +although you can make just one if you so desire. + +Your .tex source file has the same minimum commands as the other +document styles, i.e. you must have the following commands as a minimum: + + \documentstyle{letter} + + \begin{document} + ... letters ... + \end{document} + +Each letter is a letter environment, whose argument is the name and +address of the recipient. For example, you might have + + \begin{letter}{Mr. John Doe \\ + 2345 Jones St. \\ + Oakland, CA 91123} + ... + \end{letter} + +The letter itself begins with the \opening command. The text of the +letter follows. It is typed as ordinary LaTeX input. Commands that +make no sense in a letter, like \chapter, don't work. The letter closes +with a \closing command. + +After the closing, you can have additional material. The \cc command +produces the usual "cc: ...". There's also a similar \encl command for +a list of enclosures. + +* Menu: + +* Declarations:: Declarations +* \opening:: \opening +* \closing:: \closing + + +File: latex.info, Node: Declarations, Next: \opening, Up: Letters + +Declarations +------------ + +The following commands are declarations which take a single argument. + +\address +........ + +Syntax: + + \address{Return address} + +The return address, as it should appear on the letter and the envelope. +Separate lines of the address should be separated by \\ commands. If +you do not make an \address declaration, then the letter will be +formatted for copying onto your organization's standard letterhead. If +you give an \address declaration, then the letter will be formatted as a +personal letter. + +* Menu: + +* \signature:: \signature +* \location:: \location +* \telephone:: \telephone + + +File: latex.info, Node: \signature, Next: \location, Up: Declarations + +\signature +.......... + +Syntax: + + \signature{Your name} + +Your name, as it should appear at the end of the letter underneath the +space for your signature. Items that should go on separate lines should +be separated by \\ commands. + + +File: latex.info, Node: \location, Next: \telephone, Prev: \signature, Up: Declarations + +\location +......... + +Syntax: + + \location{address} + +This modifies your organization's standard address. This only appears +if the firstpage pagestyle is selected. + + +File: latex.info, Node: \telephone, Prev: \location, Up: Declarations + +\telephone +.......... + +Syntax: + + \telephone{number} + +This is your telephone number. This only appears if the firstpage +pagestyle is selected. + + +File: latex.info, Node: \opening, Next: \closing, Prev: Declarations, Up: Letters + +\opening +-------- + +Syntax: + + \opening{text} + +The letter begins with the \opening command. The mandatory argument, +text, is what ever text you wish to start your letter, e.g. + + \opening{Dear John,} + + +File: latex.info, Node: \closing, Prev: \opening, Up: Letters + +\closing +-------- + +Syntax: + + \closing{text} + +The letter closes with a \closing command, e.g. + + \closing{Best Regards,} + + +File: latex.info, Node: Line and Page Breaking, Next: Making Paragraphs, Prev: Letters, Up: Commands + +Line and Page Breaking +====================== + +The first thing LaTeX does when processing ordinary text is to translate +your input file into a string of glyphs and spaces. To produce a +printed document, this string must be broken into lines, and these lines +must be broken into pages. In some environments, you do the line +breaking yourself with the \\ command, but LaTeX usually does it for +you. + +* Menu: + +* \\:: \\ +* \-:: Hypenation Aid \- +* \cleardoublepage:: \cleardoublepage +* \clearpage:: \clearpage +* \hyphenation:: \hyphenation +* \linebreak:: \linebreak +* \newline:: \newline +* \newpage:: \newpage +* \nolinebreak:: \nolinebreak +* \nopagebreak:: \nopagebreak +* \pagebreak:: \pagebreak + + +File: latex.info, Node: \\, Next: \-, Up: Line and Page Breaking + +\\ +-- + +Syntax: + + \\[extra-space] + \\*[extra-space] + +The \\ command tells LaTeX to start a new line. It has an optional +argument, extra-space, that specifies how much extra vertical space is +to be inserted before the next line. This can be a negative amount. + +The \\* command is the same as the ordinary \\ command except that it +tells LaTeX not to start a new page after the line. + + +File: latex.info, Node: \-, Next: \cleardoublepage, Prev: \\, Up: Line and Page Breaking + +Hypenation Aid \- +----------------- + +The \- command tells LaTeX that it may hyphenate the word at that point. +LaTeX is very good at hyphenating, and it will usually find all correct +hyphenation points. The \- command is used for the exceptional cases. + + +File: latex.info, Node: \cleardoublepage, Next: \clearpage, Prev: \-, Up: Line and Page Breaking + +\cleardoublepage +---------------- + +The \cleardoublepage command ends the current page and causes all +figures and tables that have so far appeared in the input to be printed. +In a two-sided printing style, it also makes the next page a right-hand +(odd-numbered) page, producing a blank page if necessary. + + +File: latex.info, Node: \clearpage, Next: \hyphenation, Prev: \cleardoublepage, Up: Line and Page Breaking + +\clearpage +---------- + +The \clearpage command ends the current page and causes all figures and +tables that have so far appeared in the input to be printed. + + +File: latex.info, Node: \hyphenation, Next: \linebreak, Prev: \clearpage, Up: Line and Page Breaking + +\hyphenation +------------ + +Syntax: + + \hyphenation{words} + +The \hyphenation command declares allowed hyphenation points, where +words is a list of words, separated by spaces, in which each hyphenation +point is indicated by a - character. Each grammatical form has to be +specified separately. + +These words *must not* contain any special characters (e.g. \ss). + + +File: latex.info, Node: \linebreak, Next: \newline, Prev: \hyphenation, Up: Line and Page Breaking + +\linebreak +---------- + +Syntax: + + \linebreak[number] + +The \linebreak command tells LaTeX to break the current line at the +point of the command. With the optional argument, number, you can +convert the \linebreak command from a demand to a request. The number +must be a number from 0 to 4. The higher the number, the more insistent +the request is. + +The \linebreak command causes LaTeX to stretch the line so it extends to +the right margin. + + +File: latex.info, Node: \newline, Next: \newpage, Prev: \linebreak, Up: Line and Page Breaking + +\newline +-------- + +The \newline command breaks the line right where it is. The \newline +command can be used only in paragraph mode. + + +File: latex.info, Node: \newpage, Next: \nolinebreak, Prev: \newline, Up: Line and Page Breaking + +\newpage +-------- + +The \newpage command ends the current page. + + +File: latex.info, Node: \nolinebreak, Next: \nopagebreak, Prev: \newpage, Up: Line and Page Breaking + +\nolinebreak +------------ + +Syntax: + + \nolinebreak[number] + +The \nolinebreak command prevents LaTeX from breaking the current line +at the point of the command. With the optional argument, number, you +can convert the \nolinebreak command from a demand to a request. The +number must be a number from 0 to 4. The higher the number, the more +insistent the request is. + + +File: latex.info, Node: \nopagebreak, Next: \pagebreak, Prev: \nolinebreak, Up: Line and Page Breaking + +\nopagebreak +------------ + +Syntax: + + \nopagebreak[number] + +The \nopagebreak command prevents LaTeX form breaking the current page +at the point of the command. With the optional argument, number, you +can convert the \nopagebreak command from a demand to a request. The +number must be a number from 0 to 4. The higher the number, the more +insistent the request is. + + +File: latex.info, Node: \pagebreak, Prev: \nopagebreak, Up: Line and Page Breaking + +\pagebreak +---------- + +Syntax: + + \pagebreak[number] + +The \pagebreak command tells LaTeX to break the current page at the +point of the command. With the optional argument, number, you can +convert the \pagebreak command from a demand to a request. The number +must be a number from 0 to 4. The higher the number, the more insistent +the request is. + + +File: latex.info, Node: Making Paragraphs, Next: Math Formulas, Prev: Line and Page Breaking, Up: Commands + +Making Paragraphs +================= + +A paragraph is ended by one or more completely blank lines -- lines not +containing even an %. A blank line should not appear where a new +paragraph cannot be started, such as in math mode or in the argument of +a sectioning command. + +* Menu: + +* \indent:: \indent +* \noindent:: \noindent +* \par:: \par + + +File: latex.info, Node: \indent, Next: \noindent, Up: Making Paragraphs + +\indent +------- + +This produces a horizontal space whose width equals the width of the +paragraph indentation. It is used to add paragraph indentation where it +would otherwise be supressed. + + +File: latex.info, Node: \noindent, Next: \par, Prev: \indent, Up: Making Paragraphs + +\noindent +--------- + +When used at the beginning of the paragraph, it suppresses the paragraph +indentation. It has no effect when used in the middle of a paragraph. + + +File: latex.info, Node: \par, Prev: \noindent, Up: Making Paragraphs + +\par +---- + +Equivalent to a blank line; often used to make command and environment +definitions easier to read. + + +File: latex.info, Node: Math Formulas, Next: Modes, Prev: Making Paragraphs, Up: Commands + +Math Formulas +============= + +There are three environments that put LaTeX in math mode: math, +displaymath, and equation. The math environment is for formulas that +appear right in the text. The displaymath environment is for formulas +that appear on their own line. The equation environment is the same as +the displaymath environment except that it adds an equation number in +the right margin. + +The math environment can be used in both paragraph and LR mode, but the +displaymath and equation environments can be used only in paragraph +mode. These environments are used so often that they have the following +short forms: + + $ ... $ instead of \begin{math} ... \end{math} + $$ ... $$ instead of \begin{equation} ... \end{equation} + \[ ... \] instead of \begin{displaymath} ... \end{displaymath} + +* Menu: + +* Subscripts and Superscripts:: Subscripts and Superscripts +* Math Symbols:: Math Symbols +* Spacing in Math Mode:: Spacing in Math Mode +* Math Miscellany:: Math Miscellany + + +File: latex.info, Node: Subscripts and Superscripts, Next: Math Symbols, Up: Math Formulas + +Subscripts and Superscripts +--------------------------- + +To get an expression exp to appear as a subscript, you just type +_{exp}. To get exp to appear as a superscript, you type ^{exp}. LaTeX +handles superscripted superscripts and all of that stuff in the natural +way. It even does the right thing when something has both a subscript +and a superscript. + + +File: latex.info, Node: Math Symbols, Next: Spacing in Math Mode, Prev: Subscripts and Superscripts, Up: Math Formulas + +Math Symbols +------------ + +LaTeX provides almost any mathematical symbol you're likely to need. +The commands for generating them can be used only in math mode. For +example, if you include $\pi$ in your source, you will get the symbol +"pi" in your output. + + +File: latex.info, Node: Spacing in Math Mode, Next: Math Miscellany, Prev: Math Symbols, Up: Math Formulas + +Spacing in Math Mode +-------------------- + +In a math environment, LaTeX ignores the spaces you type and puts in the +spacing that it thinks is best. LaTeX formats mathematics the way it's +done in mathematics texts. If you want different spacing, LaTeX +provides the following four commands for use in math mode: + +`\;' + a thick space + +`\:' + a medium space + +`\,' + a thin space + +`\!' + a negative thin space + + +File: latex.info, Node: Math Miscellany, Prev: Spacing in Math Mode, Up: Math Formulas + +Math Miscellany +--------------- + +* Menu: + +* \cdots:: \cdots +* \ddots:: \ddots +* \frac:: \frac +* \ldots:: \ldots +* \overbrace:: \overbrace +* \overline:: \overline +* \sqrt:: \sqrt +* \underbrace:: \underbrace +* \underline:: \underline +* \vdots:: \vdots + + +File: latex.info, Node: \cdots, Next: \ddots, Up: Math Miscellany + +\cdots +...... + +The \cdots command produces a horizontal ellipsis where the dots are +raised to the center of the line. + + +File: latex.info, Node: \ddots, Next: \frac, Prev: \cdots, Up: Math Miscellany + +\ddots +...... + +The \ddots command produces a diagonal ellipsis. + + +File: latex.info, Node: \frac, Next: \ldots, Prev: \ddots, Up: Math Miscellany + +\frac +..... + +Syntax: + + \frac{num}{den} + +The \frac command produces the fraction num divided by den. + + +File: latex.info, Node: \ldots, Next: \overbrace, Prev: \frac, Up: Math Miscellany + +\ldots +...... + +The \ldots command produces an ellipsis. This command works in any +mode, not just math mode. + + +File: latex.info, Node: \overbrace, Next: \overline, Prev: \ldots, Up: Math Miscellany + +\overbrace +.......... + +Syntax: + + \overbrace{text} + +The \overbrace command generates a brace over text. + + +File: latex.info, Node: \overline, Next: \sqrt, Prev: \overbrace, Up: Math Miscellany + +\overline +......... + +Syntax: + \overline{text} + +The \overline command causes the argument text to be overlined. + + +File: latex.info, Node: \sqrt, Next: \underbrace, Prev: \overline, Up: Math Miscellany + +\sqrt +..... + +Syntax: + + \sqrt[root]{arg} + +The \sqrt command produces the square root of its argument. The +optional argument, root, determines what root to produce, i.e. the cube +root of x+y would be typed as $\sqrt[3]{x+y}$. + + +File: latex.info, Node: \underbrace, Next: \underline, Prev: \sqrt, Up: Math Miscellany + +\underbrace +........... + +Syntax: + + \underbrace{text} + +The \underbrace command generates text with a brace underneath. + + +File: latex.info, Node: \underline, Next: \vdots, Prev: \underbrace, Up: Math Miscellany + +\underline +.......... + +Syntax: + + \underline{text} + +The \underline command causes the argument text to be underlined. This +command can also be used in paragraph and LR modes. + + +File: latex.info, Node: \vdots, Prev: \underline, Up: Math Miscellany + +\vdots +...... + +The \vdots command produces a vertical ellipsis. + + +File: latex.info, Node: Modes, Next: Page Styles, Prev: Math Formulas, Up: Commands + +Modes +===== + +When LaTeX is processing your input text, it is always in one of three +modes: + + * Paragraph mode + + * Math mode + + * Left-to-right mode, called LR mode for short + +LaTeX changes mode only when it goes up or down a staircase to a +different level, though not all level changes produce mode changes. +Mode changes occur only when entering or leaving an environment, or when +LaTeX is processing the argument of certain text-producing commands. + +Paragraph mode is the most common; it's the one LaTeX is in when +processing ordinary text. In that mode, LaTeX breaks your text into +lines and breaks the lines into pages. LaTeX is in math mode when it's +generating a mathematical formula. In LR mode, as in paragraph mode, +LaTeX considers the output that it produces to be a string of words with +spaces between them. However, unlike paragraph mode, LaTeX keeps going +from left to right; it never starts a new line in LR mode. Even if you +put a hundred words into an \mbox, LaTeX would keep typesetting them +from left to right inside a single box, and then complain because the +resulting box was too wide to fit on the line. + +LaTeX is in LR mode when it starts making a box with an \mbox command. +You can get it to enter a different mode inside the box - for example, +you can make it enter math mode to put a formula in the box. There are +also several text-producing commands and environments for making a box +that put LaTeX in paragraph mode. The box make by one of these commands +or environments will be called a parbox. When LaTeX is in paragraph +mode while making a box, it is said to be in inner paragraph mode. Its +normal paragraph mode, which it starts out in, is called outer paragraph +mode. + + +File: latex.info, Node: Page Styles, Next: Sectioning, Prev: Modes, Up: Commands + +Page Styles +=========== + +The \documentstyle command determines the size and position of the +page's head and foot. The page style determines what goes in them. + +* Menu: + +* \maketitle:: \maketitle +* \pagenumbering:: \pagenumbering +* \pagestyle:: \pagestyle +* \thispagestyle:: \thispagestyle + + +File: latex.info, Node: \maketitle, Next: \pagenumbering, Up: Page Styles + +\maketitle +---------- + +\maketitle + +The \maketitle command generates a title on a separate title page - +except in the article style, where the title normally goes at the top of +the first page. Information used to produce the title is obtained from +the following declarations. + +* Menu: + +* \author:: \author +* \date:: \date +* \thanks:: \thanks +* \title:: \title + + +File: latex.info, Node: \author, Next: \date, Up: \maketitle + +\author +....... + +Syntax: + + \author{names} + +The \author command declares the author(s), where names is a list of +authors separated by \and commands. Use \\ to separate lines within a +single author's entry -- for example, to give the author's institution +or address. + + +File: latex.info, Node: \date, Next: \thanks, Prev: \author, Up: \maketitle + +\date +..... + +Syntax: + + \date{text} + +The \date command declares text to be the document's date. With no \date +command, the current date is used. + + +File: latex.info, Node: \thanks, Next: \title, Prev: \date, Up: \maketitle + +\thanks +....... + +Syntax: + + \thanks{text} + +The \thanks command produces a footnote to the title. + + +File: latex.info, Node: \title, Prev: \thanks, Up: \maketitle + +\title +...... + +Syntax: + + \title{text} + +The \title command declares text to be the title. Use \\ to tell LaTeX +where to start a new line in a long title. + + +File: latex.info, Node: \pagenumbering, Next: \pagestyle, Prev: \maketitle, Up: Page Styles + +\pagenumbering +-------------- + +Syntax: + + \pagenumbering{num_style} + +Specifies the style of page numbers. Possible values of num_style are: + +`arabic' + Arabic numerals + +`roman' + Lowercase roman numerals + +`Roman' + Uppercase roman numerals + +`alph' + Lowercase letters + +`Alph' + Uppercase letters + + +File: latex.info, Node: \pagestyle, Next: \thispagestyle, Prev: \pagenumbering, Up: Page Styles + +\pagestyle +---------- + +Syntax: + + \pagestyle{option} + +The \pagestyle command changes the style from the current page on +throughout the remainder of your document. + +The valid options are: + +`plain' + Just a plain page number. + +`empty' + Produces empty heads and feet - no page numbers. + +`headings' + Puts running headings on each page. The document style specifies + what goes in the headings. + +`myheadings' + You specify what is to go in the heading with the \markboth or the + \markright commands. + +* Menu: + +* \mark:: \mark + + +File: latex.info, Node: \mark, Up: \pagestyle + +\mark +..... + +Syntax: + + \markboth{left head}{right head} + \markright{right head} + +The \markboth and \markright commands are used in conjunction with the +page style myheadings for setting either both or just the right heading. +In addition to their use with the myheadings page style, you can use +them to override the normal headings in the headings style, since LaTeX +uses these same commands to generate those heads. You should note that +a left-hand heading is generated by the last \markboth command before +the end of the page, while a right-hand heading is generated by the +first \markboth or \markright that comes on the page if there is one, +otherwise by the last one before the page. + + +File: latex.info, Node: \thispagestyle, Prev: \pagestyle, Up: Page Styles + +\thispagestyle +-------------- + +Syntax: + + \thispagestyle{option} + +The \thispagestyle command works in the same manner as the \pagestyle +command except that it changes the style for the current page only. + + +File: latex.info, Node: Sectioning, Next: Spaces and Boxes, Prev: Page Styles, Up: Commands + +Sectioning +========== + +Sectioning commands provide the means to structure your text into units. + + * \part + + * \chapter (report and book style only) + + * \section + + * \subsection + + * \subsubsection + + * \paragraph + + * \subparagraph + +All sectioning commands take the same general form, e.g. + +Syntax: + + \chapter[optional]{title} + +In addition to providing the heading in the text, the mandatory argument +of the sectioning command can appear in two other places: + + * the table of contents + + * the running head at the top of the page + +You may not want the same thing to appear in these other two places as +appears in the text heading. To handle this situation, the sectioning +commands have an optional argument that provides the text for these +other two purposes. + +The sectioning commands have *-forms that print a title, but do not +include a number and do not make an entry in the table of contents. +For example, the *-form of the \subsection command could look like: + + \subsection*{Example subsection} + +* Menu: + +* \appendix:: \appendix + + +File: latex.info, Node: \appendix, Up: Sectioning + +\appendix +--------- + +Syntax: + + \appendix + +The \appendix command changes the way sectional units are numbered. The +\appendix command generates no text and does not affect the numbering or +parts. + + +File: latex.info, Node: Spaces and Boxes, Next: Special Characters, Prev: Sectioning, Up: Commands + +Spaces and Boxes +================ + +* Menu: + +* \addvspace:: \addvspace +* \bigskip:: \bigskip +* \dotfill:: \dotfill +* \fbox:: \fbox +* \framebox:: \framebox +* \hfill:: \hfill +* \hrulefill :: \hrulefill +* \hspace:: \hspace +* \makebox:: \makebox +* \mbox:: \mbox +* \medskip:: \medskip +* \newsavebox:: \newsavebox +* \parbox:: \parbox +* \raisebox:: \raisebox +* \rule:: \rule +* \savebox:: \savebox +* \smallskip:: \smallskip +* \usebox:: \usebox +* \vfill:: \vfill +* \vspace:: \vspace + + +File: latex.info, Node: \addvspace, Next: \bigskip, Up: Spaces and Boxes + +\addvspace +---------- + +Syntax: + + \addvspace{length} + +The \addvspace command normally adds a vertical space of heigth length. +However, if vertical space has already been added to the same point in +the output by a previous \addvspace command, then this command will not +add more space than needed to make the natural length of the total +vertical space equal to length. + + +File: latex.info, Node: \bigskip, Next: \dotfill, Prev: \addvspace, Up: Spaces and Boxes + +\bigskip +-------- + +The \bigskip command is equivalent to \vspace{bigskipamount} where +bigskipamount is determined by the document style. + + +File: latex.info, Node: \dotfill, Next: \fbox, Prev: \bigskip, Up: Spaces and Boxes + +\dotfill +-------- + +The \dotfill command produces a rubber length that produces dots instead +of just spaces. + + +File: latex.info, Node: \fbox, Next: \framebox, Prev: \dotfill, Up: Spaces and Boxes + +\fbox +----- + +Syntax: + + \fbox{text} + +The \fbox command is exactly the same as the \mbox command, except that +it puts a frame around the outside of the box that it creates. + + +File: latex.info, Node: \framebox, Next: \hfill, Prev: \fbox, Up: Spaces and Boxes + +\framebox +--------- + +Syntax: + + \framebox[width][position]{text} + +The \framebox command is exactly the same as the \makebox command, +except that it puts a frame around the outside of the box that it +creates. + +The framebox command produces a rule of thickness \fboxrule, and leaves +a space \fboxsep between the rule and the contents of the box. + + +File: latex.info, Node: \hfill, Next: \hrulefill, Prev: \framebox, Up: Spaces and Boxes + +\hfill +------ + +The \hfill fill command produces a rubber length which can stretch or +shrink horizontally. It will be filled with spaces. + + +File: latex.info, Node: \hrulefill, Next: \hspace, Prev: \hfill, Up: Spaces and Boxes + +\hrulefill +---------- + +The \hrulefill fill command produces a rubber length which can stretch +or shrink horizontally. It will be filled with a horizontal rule. + + +File: latex.info, Node: \hspace, Next: \makebox, Prev: \hrulefill, Up: Spaces and Boxes + +\hspace +------- + +Syntax: + + \hspace{length} + \hspace*{length} + +The \hspace command adds horizontal space. The length of the space can +be expressed in any terms that LaTeX understands, e.g. points, inches, +etc. You can add negative as well as positive space with an \hspace +command. Adding negative space is like backspacing. + +LaTeX removes horizontal space that comes at the end of a line. If you +don't want LaTeX to remove this space, include the optional * argument. +Then the space is never removed. + + +File: latex.info, Node: \makebox, Next: \mbox, Prev: \hspace, Up: Spaces and Boxes + +\makebox +-------- + +Syntax: + + \makebox[width][position]{text} + +The \makebox command creates a box to contain the text specified. The +width of the box is specified by the optional width argument. The +position of the text within the box is determined by the optional +position argument. + +`c' + centered (default) + +`l' + flushleft + +`r' + flushright + + +File: latex.info, Node: \mbox, Next: \medskip, Prev: \makebox, Up: Spaces and Boxes + +\mbox +----- + +Syntax: + + \mbox{text} + +The \mbox command creates a box just wide enough to hold the text +created by its argument. + + +File: latex.info, Node: \medskip, Next: \newsavebox, Prev: \mbox, Up: Spaces and Boxes + +\medskip +-------- + +The \medskip command is equivalent to \vspace{medskipamount} where +medskipamount is determined by the document style. + + +File: latex.info, Node: \newsavebox, Next: \parbox, Prev: \medskip, Up: Spaces and Boxes + +\newsavebox +----------- + +Syntax: + + \newsavebox{cmd} + +Declares cmd, which must be a command name that is not already defined, +to be a bin for saving boxes. + + +File: latex.info, Node: \parbox, Next: \raisebox, Prev: \newsavebox, Up: Spaces and Boxes + +\parbox +------- + +Syntax: + + \parbox[position]{width}{text} + +A parbox is a box whose contents are created in paragraph mode. The +\parbox has two mandatory arguments: + +width + specifies the width of the parbox, and + +text + the text that goes inside the parbox. + +LaTeX will position a parbox so its center lines up with the center of +the text line. An optional first argument, position, allows you to line +up either the top or bottom line in the parbox. + +A \parbox command is used for a parbox containing a small piece of text, +with nothing fancy inside. In particular, you shouldn't use any of the +paragraph-making environments inside a \parbox argument. For larger +pieces of text, including ones containing a paragraph-making +environment, you should use a minipage environment. + + +File: latex.info, Node: \raisebox, Next: \rule, Prev: \parbox, Up: Spaces and Boxes + +\raisebox +--------- + +Syntax: + + \raisebox{distance}[extend-above][extend-below]{text} + +The \raisebox command is used to raise or lower text. The first +mandatory argument specifies how high the text is to be raised (or +lowered if it is a negative amount). The text itself is processed in LR +mode. + +Sometimes it's useful to make LaTeX think something has a different size +than it really does - or a different size than LaTeX would normally +think it has. The \raisebox command lets you tell LaTeX how tall it is. + +The first optional argument, extend-above, makes LaTeX think that the +text extends above the line by the amount specified. The second +optional argument, extend-below, makes LaTeX think that the text extends +below the line by the amount specified. + + +File: latex.info, Node: \rule, Next: \savebox, Prev: \raisebox, Up: Spaces and Boxes + +\rule +----- + +Syntax: + + \rule[raise-height]{width}{thickness} + +The \rule command is used to produce horizontal lines. The arguments +are defined as follows. + +raise-height + specifies how high to raise the rule (optional) + +width + specifies the length of the rule (mandatory) + +thickness + specifies the thickness of the rule (mandatory) + + +File: latex.info, Node: \savebox, Next: \smallskip, Prev: \rule, Up: Spaces and Boxes + +\savebox +-------- + +Syntax: + + \sbox{cmd}[text] + + \savebox{cmd}[width][pos]{text} + +These commands typeset text in a box just as for \mbox or \makebox. +However, instead of printing the resulting box, they save it in bin cmd, +which must have been declared with \newsavebox. + + +File: latex.info, Node: \smallskip, Next: \usebox, Prev: \savebox, Up: Spaces and Boxes + +\smallskip +---------- + +Syntax: + + \smallskip + +The \smallskip command is equivalent to \vspace{smallskipamount} where +smallskipamount is determined by the document style. + + +File: latex.info, Node: \usebox, Next: \vfill, Prev: \smallskip, Up: Spaces and Boxes + +\usebox +------- + +Syntax: + + \usebox{cmd} + +Prints the box most recently saved in bin cmd by a \savebox command. + + +File: latex.info, Node: \vfill, Next: \vspace, Prev: \usebox, Up: Spaces and Boxes + +\vfill +------ + +The \vfill fill command produces a rubber length which can stretch or +shrink vertically. + + +File: latex.info, Node: \vspace, Prev: \vfill, Up: Spaces and Boxes + +\vspace +------- + +Syntax: + + \vspace{length} + \vspace*{length} + +The \vspace command adds vertical space. The length of the space can be +expressed in any terms that LaTeX understands, e.g. points, inches, etc. +You can add negative as well as positive space with an \vspace command. + +LaTeX removes vertical space that comes at the end of a page. If you +don't want LaTeX to remove this space, include the optional * argument. +Then the space is never removed. + + +File: latex.info, Node: Special Characters, Next: Splitting the Input, Prev: Spaces and Boxes, Up: Commands + +Special Characters +================== + +The following characters play a special role in LaTeX and are called +special printing characters, or simply special characters. + + # $ % & _ \ { } ~ ^ + +Whenever you put one of these special characters into your file, you are +doing something special. If you simply want the character to be printed +just as any other letter, include a \ in front of the character. For +example, \$ will produce $ in your output. + +Please note: \~ and \^ are accent commands; to get the accent alone, +type \~{} and \^{}. + +The exception to the rule is the \ itself because \\ has its own special +meaning. A \ is produced by typing $\backslash$ in your file. + +* Menu: + +* Accents:: Accents +* German Special Characters:: German Special Characters + + +File: latex.info, Node: Accents, Next: German Special Characters, Up: Special Characters + +Accents +------- + +Scholarly publications often refer to other languages, so LaTeX makes +it possible to typeset the most commonly used accents: + +\` + grave accent + +\' + acute accent + +\^ + circumflex or "hat" + +\" + umlaut or dieresis + +\~ + tilde or "squiggle" + +\= + macron or "bar" + +\. + dot (above) accent + +\u + breve accent + +\v + hachek or "check" + +\H + long Hungarian umlaut + +\t + tie-after accent + +LaTeX also provides three accents that go underneath: + +\c + cedilla + +\d + dot (below) accent + +\b + bar-under accent + +And there are a few special letters: + +\oe +\OE + French ligature oe + +\ae +\AE + Latin and Scandinavian ligature ae + +\aa +\AA + Scandinavian A-with-circle + +\o +\O + Scandinavian O-with-slash + +\l +\L + Polish suppressed-L + +\ss + German "es-zet" or sharp s + + +File: latex.info, Node: German Special Characters, Prev: Accents, Up: Special Characters + +German Special Characters +------------------------- + +For convenient input of German texts see *Note german.sty::. + + +File: latex.info, Node: Splitting the Input, Next: Starting and Ending, Prev: Special Characters, Up: Commands + +Splitting the Input +=================== + +A large document requires a lot of input. Rather than putting the whole +input in a single large file, it's more efficient to split it into +several smaller ones. Regardless of how many separate files you use, +there is one that is the root file; it is the one whose name you type +when you run LaTeX. + + +File: latex.info, Node: \include, Next: \includeonly, Up: Splitting the Input + +\include +-------- + +Syntax: + + \include{file} + +The \include command is used in conjunction with the \includeonly +command for selective inlcusion of files. The file argument is the first +name of a file, denoting `file.tex'. If file is one the file names in +the file list of the \includeonly command or if there is no +\includeonly command, the \include command is equivalent to + + \clearpage \input{file} \clearpage + +except that if the file `file.tex' does not exist, then a warning +message rather than an error is produced. If the file is not in the file +list, the \include command is equivalent to \clearpage. + +The \include command may not appear in the preamble or in a file read by +another \include command. + + +File: latex.info, Node: \includeonly, Next: \input, Prev: \include, Up: Splitting the Input + +\includeonly +------------ + +Syntax: + + \includeonly{file_list} + +The \includeonly command controls which files will be read in by an +\include command. It can only appear in the preamble. + + +File: latex.info, Node: \input, Prev: \includeonly, Up: Splitting the Input + +\input +------ + +Syntax: + + \input{file} + +The \input command causes the indicated file to be read and processed, +exactly as if its contents had been inserted in the current file at that +point. The file name may be a complete file name with extension or just +a first name, in which case the file `file.tex' is used. + + +File: latex.info, Node: Starting and Ending, Next: Table of Contents, Prev: Splitting the Input, Up: Commands + +Starting and Ending +=================== + +Your input file must contain the following commands as a minimum. + + \documentstyle{style} + + \begin{document} + ... your text goes here ... + \end{document} + +where the style selected is one the valid styles for LaTeX. See +Document Styles within this help file. + +You may include other LaTeX commands between the \documentstyle and the +\begin{document} commands. + + +File: latex.info, Node: Table of Contents, Next: Terminal Input and Output, Prev: Starting and Ending, Up: Commands + +Table of Contents +================= + +A table of contents is produced with the \tableofcontents command. You +put the command right where you want the table of contents to go; LaTeX +does the rest for you. It produces a heading, but it does not +automatically start a new page. If you want a new page after the table +of contents, include a \newpage command after the \tableofcontents +command. + +There are similar commands \listoffigures and \listoftables for +producing a list of figures and a list of tables, respectively. +Everything works exactly the same as for the table of contents. + +NOTE: If you want a any of these items to be generated, you can not have +the \nofiles command in your document. + + +File: latex.info, Node: \addcontentsline, Next: \addtocontents, Up: Table of Contents + +\addcontentsline +---------------- + +Syntax: + + \addcontentsline{file}{sec_unit}{entry} + +The \addcontentsline command adds an entry to the specified list or +table where `file' is the extension of the file on which information is +to be written: + + * toc (table of contents), + + * lof (list of figures), or + + * lot (list of tables). + +`sec_unit' controls the formatting of the entry. It should be one of +the following, depending upon the value of the file argument: + +toc + the name of the sectional unit, such as part or subsection. + +lof + figure + +lot + table + +`entry' is the text of the entry. + + +File: latex.info, Node: \addtocontents, Prev: \addcontentsline, Up: Table of Contents + +\addtocontents +-------------- + +Syntax: + + \addtocontents{file}{text} + +The \addtocontents command adds text (or formatting commands) directly +to the file that generates the table of contents or list of figures or +tables. + +`file' is the extension of the file on which information is to be +written: + + * toc (table of contents), + + * lof (list of figures), or + + * lot (list of tables) + +`text' is the information to be written. + + +File: latex.info, Node: Terminal Input and Output, Next: Typefaces, Prev: Table of Contents, Up: Commands + +Terminal Input and Output +========================= + + +File: latex.info, Node: \typeout, Next: \typein, Up: Terminal Input and Output + +\typeout +-------- + +Syntax: + + \typeout{msg} + +Prints msg on the terminal and in the log file. Commands in msg that are +defined with \newcommand or \renewcommand are replaced by their +definitions before being printed. + +LaTeX's usual rules for treating multiple spaces as a single space and +ignoring spaces after a command name apply to msg. A \space command in +msg causes a single space to be printed. + + +File: latex.info, Node: \typein, Prev: \typeout, Up: Terminal Input and Output + +\typein +------- + +Syntax: + + \typein[cmd]{msg} + +Prints msg on the terminal and causes LaTeX to stop and wait for you to +type a line of input, ending with return. If the cmd argument is +missing, the typed input is processed as if it had been included in the +input file in place of the \typein command. If the cmd argument is +present, it must be a command name. This command name is then defined or +redefined to be the typed input. + + +File: latex.info, Node: Typefaces, Prev: Terminal Input and Output, Up: Commands + +Typefaces +========= + +The typeface is specified by giving the size and style. A typeface is +also called a font. + + +File: latex.info, Node: Styles, Next: Sizes, Up: Typefaces + +Styles +------ + +The following type style commands are supported by LaTeX. + +`\rm' + Roman. + +`\it' + Italics. + +`\em' + Emphasis (toggles between \it and \rm). + +`\bf' + Boldface. + +`\sl' + Slanted. + +`\sf' + Sans serif. + +`\sc' + Small caps. + +`\tt' + Typewriter. + +Since italic and slanted styles slope to the right, some letters stick +into the following characters. Insert \/ at the end to correct this +effect (see example below). + +Use the type style commands always inside a group, e.g. + + {\em Emphasized Text\/} + + +File: latex.info, Node: Sizes, Prev: Styles, Up: Typefaces + +Sizes +----- + +The following type size commands are supported by LaTeX. + + * \tiny + + * \scriptsize + + * \footnotesize + + * \small + + * \normalsize (default) + + * \large + + * \Large (capital "l") + + * \LARGE (all caps) + + * \huge + + * \Huge (capital "h") + +Usually you needn't set the type size explicitly because LaTeX +automatically chooses appropriate sizes. If you ever think you have to, +always do it inside a group, e.g. + + {\large large text} + + diff --git a/obsolete/info/latex-info/latex.texinfo b/obsolete/info/latex-info/latex.texinfo new file mode 100644 index 0000000000..fad2fb5fda --- /dev/null +++ b/obsolete/info/latex-info/latex.texinfo @@ -0,0 +1,3818 @@ +\input texinfo @c -*-texinfo-*- + +@c %**start of header +@setfilename latex.info +@settitle Online Documentation for LaTeX +@c %**end of header + +@iftex +@finalout +@end iftex + +@ifinfo +@paragraphindent 0 +@end ifinfo + +@titlepage +@sp 8 +@center @titlefont{Online LaTeX Help} +@sp 2 +@center Version 1.0 +@center 15.6.92 +@sp 2 +@center Stefan Steffens + +@end titlepage +@headings double + +@node Top, Introduction, (dir), (dir) +@unnumbered Online LaTeX Help + +@noindent +This is Version 1.0 of the @cite{Online LaTeX Help}, dating 15.6.92 +@refill + +@cite{Online LaTeX Help} is heavily based on the LaTeX library for +VMS-Help which is part of DECUS TeX Distribution of August 1990. +Unfortunately, its author is nowhere mentioned, so I cannot pay tribute +to him...@refill + +The @cite{Online LaTeX Help} is supposed to serve the TeX community as +an online reference to all LaTeX commands and style files. Needless to +say that it is far from complete yet (at least as far as the style files +are concerned), so please send any bug reports, comments, additions, +etc. to@refill +@c +@example + Stefan Steffens (steffens@@goofy.zdv.uni-mainz.de) + + Zentrum fuer Datenverarbeitung + Johannes Gutenberg-Universitaet Mainz + Bundesrepublik Deutschland +@end example + +@noindent +The first part of the master menu lists the major nodes in this Info +document. The Detailed Node Listing lists all the lower level nodes in +the document. + +@menu +* Introduction:: Introduction +* Styles and Options:: Document Styles and Style Options +* Commands:: Commands + + --- The Detailed Node Listing --- + +Document Styles and Style Options + +* Supported Styles:: Supported Styles +* Supported Style Options:: Supported Style Options + +Commands + +* Counters:: Counters +* Cross References:: Cross References +* Definitions:: Definitions +* Page layout:: Page layout +* Environments:: Environments +* Footnotes:: Footnotes +* Lengths:: Lengths +* Letters:: Letters +* Line and Page Breaking:: Line and Page Breaking +* Making Paragraphs:: Making Paragraphs +* Math Formulas:: Math Formulas +* Modes:: Modes +* Page Styles:: Page Styles +* Sectioning:: Sectioning +* Spaces and Boxes:: Spaces and Boxes +* Special Characters:: Special Characters +* Splitting the Input:: Splitting the Input +* Starting and Ending:: Starting and Ending +* Table of Contents:: Table of Contents +* Terminal Input and Output :: Terminal Input and Output +* Typefaces:: Typefaces + +Counters + +* \addtocounter:: \addtocounter +* \alph:: \alph +* \arabic:: \arabic +* \fnsymbol:: \fnsymbol +* \newcounter:: \newcounter +* \roman:: \roman +* \setcounter:: \setcounter +* \usecounter:: \usecounter +* \value:: \value + +Cross References + +* \label:: \label +* \pageref:: \pageref +* \ref:: \ref + +Definitions + +* \newcommand:: \newcommand +* \newenvironment:: \newenvironment +* \newtheorem:: \newtheorem +* \newfont:: \newfont + +Page layout + +* \flushbottom:: \flushbottom +* \raggedbottom:: \raggedbottom +* \onecolumn:: \onecolumn +* \twocolumn:: \twocolumn + +Environments + +* array:: array +* center:: center +* \centering:: \centering +* description:: description +* enumerate:: enumerate +* eqnarray:: eqnarray +* equation:: equation +* figure:: figure +* flushleft:: flushleft +* \raggedright:: \raggedright +* flushright:: flushright +* \raggedleft:: \raggedleft +* itemize:: itemize +* list:: list +* minipage:: minipage +* picture:: picture +* quotation:: quotation +* quote:: quote +* tabbing:: tabbing +* table:: table +* tabular:: tabular +* thebibliography:: thebibliography +* theorem:: theorem +* titlepage:: titlepage +* verbatim:: verbatim +* verse:: verse + +picture + +* \circle (picture):: \circle +* \dashbox (picture):: \dashbox +* \frame (picture):: \frame +* \framebox (picture):: \framebox +* \line (picture):: \line +* \linethickness (picture):: \linethickness +* \makebox (picture):: \makebox +* \multiput (picture):: \multiput +* \oval (picture):: \oval +* \put (picture):: \put +* \shortstack (picture):: \shortstack +* \vector (picture):: \vector + +tabbing + +* \= (tabbing):: \= +* \> (tabbing):: \> +* \< (tabbing):: \< +* \+ (tabbing):: \+ +* \- (tabbing):: \- +* \' (tabbing):: \' +* \` (tabbing):: \` +* \kill (tabbing):: \kill + +tabular + +* \cline:: \cline +* \hline:: \hline +* \multicolumn:: \multicolumn +* \vline:: \vline + +thebibliography + +* \bibitem:: \bibitem +* \cite:: \cite +* \nocite:: \nocite + +verbatim + +* \verb:: \verb + +Footnotes + +* \footnote:: \footnote +* \footnotemark:: \footnotemark +* \footnotetext:: \footnotetext + +Lengths + +* \newlength:: \newlength +* \setlength:: \setlength +* \addtolength:: \addtolength +* \settowidth:: \settowidth + +Letters + +* Declarations:: Declarations +* \opening:: \opening +* \closing:: \closing + +\address + +* \signature:: \signature +* \location:: \location +* \telephone:: \telephone + +Line and Page Breaking + +* \\:: \\ +* \-:: Hypenation Aid \- +* \cleardoublepage:: \cleardoublepage +* \clearpage:: \clearpage +* \hyphenation:: \hyphenation +* \linebreak:: \linebreak +* \newline:: \newline +* \newpage:: \newpage +* \nolinebreak:: \nolinebreak +* \nopagebreak:: \nopagebreak +* \pagebreak:: \pagebreak + +Making Paragraphs + +* \indent:: \indent +* \noindent:: \noindent +* \par:: \par + +Math Formulas + +* Subscripts and Superscripts:: Subscripts and Superscripts +* Math Symbols:: Math Symbols +* Spacing in Math Mode:: Spacing in Math Mode +* Math Miscellany:: Math Miscellany + +Math Miscellany + +* \cdots:: \cdots +* \ddots:: \ddots +* \frac:: \frac +* \ldots:: \ldots +* \overbrace:: \overbrace +* \overline:: \overline +* \sqrt:: \sqrt +* \underbrace:: \underbrace +* \underline:: \underline +* \vdots:: \vdots + +Page Styles + +* \maketitle:: \maketitle +* \pagenumbering:: \pagenumbering +* \pagestyle:: \pagestyle +* \thispagestyle:: \thispagestyle + +\maketitle + +* \author:: \author +* \date:: \date +* \thanks:: \thanks +* \title:: \title + +\pagestyle + +* \mark:: \mark + +Sectioning + +* \appendix:: \appendix + +Spaces and Boxes + +* \addvspace:: \addvspace +* \bigskip:: \bigskip +* \dotfill:: \dotfill +* \fbox:: \fbox +* \framebox:: \framebox +* \hfill:: \hfill +* \hrulefill :: \hrulefill +* \hspace:: \hspace +* \makebox:: \makebox +* \mbox:: \mbox +* \medskip:: \medskip +* \newsavebox:: \newsavebox +* \parbox:: \parbox +* \raisebox:: \raisebox +* \rule:: \rule +* \savebox:: \savebox +* \smallskip:: \smallskip +* \usebox:: \usebox +* \vfill:: \vfill +* \vspace:: \vspace + +Special Characters + +* Accents:: Accents +* German Special Characters:: German Special Characters +@end menu + +@node Introduction, Styles and Options, Top, Top +@chapter Introduction + +@noindent +The LaTeX command typesets a file of text using the TeX program and the +LaTeX Macro package for TeX. To be more specific, it processes an input +file containing the text of a document with interspersed commands that +describe how the text should be formatted. It produces two files as +output, a Device Independent (DVI) file that contains commands that can +be translated into commands for a variety of output devices, and a +`transcript' or `log file' that contains summary information and +diagnostic messages for any errors discovered in the input file. @refill + +@noindent +For a description of what goes on inside TeX, you should consult The +TeXbook by Donald E. Knuth, ISBN 0-201-13448-9, published jointly by the +American Mathematical Society and Addison-Wesley Publishing Company. +@refill + +@noindent +For a description of LaTeX, you should consult "A Document Preparation +System: LaTeX" by Leslie Lamport, ISBN 0-201-15790-X, published jointly +by the American Mathematical Society and Addison-Wesley Publishing +Company. @refill + +@noindent +A german language introduction to LaTeX is available as "LaTeX -- +eine Einfuehrung" by H. Kopka, published by Addison-Wesley. + +@node Styles and Options, Commands, Introduction, Top +@chapter Document Styles and Style Options + +@noindent +Valid LaTeX document styles include: + +@itemize +@item +article +@item +report +@item +letter +@item +book +@end itemize + +@noindent +They are selected with the following command: + +@example +\documentstyle[options]@{style@} +@end example + +@noindent +The standard options for the different styles are: + +@table @asis +@item article: +11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno + +@item report: +11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno + +@item book: +11pt, 12pt, twoside, twocolumn, draft, fleqn, leqno + +@item letter: +11pt, 12pt, fleqn, leqno +@end table + +@noindent +If you specify more than one option, they must be separated by a comma +-- BUT DO NOT INSERT ANY SPACES! @refill + +@menu +* Supported Styles:: Supported Styles +* Supported Style Options:: Supported Style Options +@end menu + +@node Supported Styles, Supported Style Options, , Styles and Options +@section Supported Styles + + +@node Supported Style Options, , Supported Styles, Styles and Options +@section Supported Style Options + + +@node Commands, , Styles and Options, Top +@chapter Commands + +@noindent +A LaTeX command begins with the command name, which consists of a \ +followed by either (a) a string of letters or (b) a single non-letter. +Arguments contained in square brackets [] are optional while arguments +contained in braces @{@} are required. @refill + +@noindent +Several commands have an optional * form. @refill + +@noindent +NOTE: LaTeX is case sensitive. Enter all commands in lower case unless +explicitly directed to do otherwise. @refill + +@c ---------------------------------------------------------------------------- + +@menu +* Counters:: Counters +* Cross References:: Cross References +* Definitions:: Definitions +* Page layout:: Page layout +* Environments:: Environments +* Footnotes:: Footnotes +* Lengths:: Lengths +* Letters:: Letters +* Line and Page Breaking:: Line and Page Breaking +* Making Paragraphs:: Making Paragraphs +* Math Formulas:: Math Formulas +* Modes:: Modes +* Page Styles:: Page Styles +* Sectioning:: Sectioning +* Spaces and Boxes:: Spaces and Boxes +* Special Characters:: Special Characters +* Splitting the Input:: Splitting the Input +* Starting and Ending:: Starting and Ending +* Table of Contents:: Table of Contents +* Terminal Input and Output :: Terminal Input and Output +* Typefaces:: Typefaces +@end menu + +@node Counters, Cross References, , Commands +@comment node-name, next, previous, up +@section Counters + +@noindent +Everything LaTeX numbers for you has a counter associated with it. The +name of the counter is the same as the name of the environment or +command that produces the number, except with no \. Below is a list of +the counters used LaTeX's standard document styles to control numbering. +@refill + +@example +part part figure enumi +chapter subparagraph table enumii +section page footnote enumiii +subsection equation mpfootnote enumiv +subsubsection +@end example + +@menu +* \addtocounter:: \addtocounter +* \alph:: \alph +* \arabic:: \arabic +* \fnsymbol:: \fnsymbol +* \newcounter:: \newcounter +* \roman:: \roman +* \setcounter:: \setcounter +* \usecounter:: \usecounter +* \value:: \value +@end menu + +@node \addtocounter, \alph, , Counters +@subsection \addtocounter + +@noindent +Syntax: + +@example +\addtocounter@{counter@}@{value@} +@end example + +@noindent +The \addtocounter command increments the counter by the amount specified +by the value argument. The value argument can be negative. @refill + +@node \alph, \arabic, \addtocounter, Counters +@subsection \alph + +@noindent +Syntax: + +@example +\alph@{counter@} +@end example + +@noindent +This command causes the value of the counter to be printed in alphabetic +characters. The \alph command causes lower case alphabetic characters, +e.g. a, b, c... while the \Alph command causes upper case alphabetic +characters, e.g. A, B, C... @refill + +@node \arabic, \fnsymbol, \alph, Counters +@subsection \arabic + +@noindent +Syntax: + +@example +\arabic@{counter@} +@end example + +@noindent +The \arabic command causes the value of the counter to be printed in +arabic numbers, e.g. 3. @refill + +@node \fnsymbol, \newcounter, \arabic, Counters +@subsection \fnsymbol + +@noindent +Syntax: + +@example +\fnsymbol@{counter@} +@end example + +@noindent +The \fnsymbol command causes the value of the counter to be printed in a +specific sequence of nine symbols that can be used for numbering +footnotes. @refill + +@node \newcounter, \roman, \fnsymbol, Counters +@subsection \newcounter + +@noindent +Syntax: + +@example +\newcounter@{foo@}[counter] +@end example + +@noindent +The \newcounter command defines a new counter named foo. The optional +argument [counter] causes the counter foo to be reset whenever the +counter named in the optional argument is incremented. @refill + +@node \roman, \setcounter, \newcounter, Counters +@subsection \roman + +@noindent +Syntax: + +@example +\roman@{counter@} +@end example + +@noindent +This command causes the value of the counter to be printed in roman +numerals. The \roman command causes lower case roman numerals, e.g. i, +ii, iii..., while the \Roman command causes upper case roman numerals, +e.g. I, II, III... @refill + +@node \setcounter, \usecounter, \roman, Counters +@subsection \setcounter + +@noindent +Syntax: + +@example +\setcounter@{counter@}@{value@} +@end example + +@noindent +The \setcounter command sets the value of the counter to that specified +by the value argument. @refill + +@node \usecounter, \value, \setcounter, Counters +@subsection \usecounter + +@noindent +Syntax: + +@example +\usecounter@{counter@} +@end example + +@noindent +The \usecounter command is used in the second argument of the list +environment to allow the counter specified to be used to number the list +items. @refill + +@node \value, , \usecounter, Counters +@subsection \value + +@noindent +Syntax: + +@example +\value@{counter@} +@end example + +@noindent +The \value command produces the value of the counter named in the +mandatory argument. It can be used where LaTeX expects an integer or +number, such as the second argument of a \setcounter or \addtocounter +command, or in \hspace@{\value@{foo@}\parindent@} @refill + +@c ---------------------------------------------------------------------------- + +@node Cross References, Definitions, Counters, Commands +@comment node-name, next, previous, up +@section Cross References + +@noindent +One reason for numbering things like figures and equations is to refer +the reader to them, as in "See Figure 3 for more details." @refill + +@menu +* \label:: \label +* \pageref:: \pageref +* \ref:: \ref +@end menu + +@node \label, \pageref, , Cross References +@subsection \label + +@noindent +Syntax: + +@example +\label@{key@} +@end example + +@noindent +A \label command appearing in ordinary text assigns to the key the +number of the current sectional unit; one appearing inside a numbered +environment (i.e. table, figure and equation) assigns that number to the +key. @refill + +@noindent +A key con consist of any sequence of letters, digits, or punctuation +characters. Upper- and lowercase letters are different. @refill + +@node \pageref, \ref, \label, Cross References +@subsection \pageref + +@noindent +Syntax: + +@example +\pageref@{key@} +@end example + +@noindent +The \pageref command produces the page number of the place in the text +where the corresponding \label command appears. @refill + +@node \ref, , \pageref, Cross References +@subsection \ref + +@noindent +Syntax: + +@example +\ref@{key@} +@end example + +@noindent +The \ref command produces the number of the sectional unit, equation +number,@... of the corresponding \label command. @refill + +@c ---------------------------------------------------------------------------- + +@node Definitions, Page layout, Cross References, Commands +@section Definitions + +@menu +* \newcommand:: \newcommand +* \newenvironment:: \newenvironment +* \newtheorem:: \newtheorem +* \newfont:: \newfont +@end menu + +@node \newcommand, \newenvironment, , Definitions +@subsection \newcommand + +@noindent +Syntax: + +@example +\newcommand@{cmd@}[args]@{def@} +\renewcommand@{cmd@}[args]@{def@} +@end example + +@noindent +These commands define (or redefine) a command. + +@table @code +@item cmd +A command name beginning with a \. For \newcommand it must not be +already defined and must not begin with \end; for \renewcommand it must +already be defined. @refill + +@item args +An integer from 1 to 9 denoting the number of arguments of the command +being defined. The default is for the command to have no arguments. @refill + +@item def +The text to be substituted for every occurrence of cmd; a parameter of +the form #n in cmd is replaced by the text of the nth argument when this +substitution takes place. @refill +@end table + +@node \newenvironment, \newtheorem, \newcommand, Definitions +@subsection \newenvironment + +@noindent +Syntax: + +@example +\newenvironment@{nam@}[args]@{begdef@}@{enddef@} +\renewenvironment@{nam@}[args]@{begdef@}@{enddef@} +@end example + +@noindent +These commands define or redefine an environment. + +@table @code +@item nam +The name of the environment. For \newenvironment there must be no +currently defined environment by that name, and the command \nam must be +undefined. For \renewenvironment the environment must already be +defined. @refill + +@item args +An integer from 1 to 9 denoting the number of arguments of the +newly-defined environment. The default is no arguments. @refill + +@item begdef +The text substituted for every occurrence of \begin@{name@}; a parameter +of the form #n in cmd is replaced by the text of the nth argument when +this substitution takes place. @refill + +@item enddef +The text substituted for every occurrence of \end@{nam@}. It may +not contain any argument parameters. @refill +@end table + +@node \newtheorem, \newfont, \newenvironment, Definitions +@subsection \newtheorem + +@noindent +Syntax: + +@example +\newtheorem@{env_name@}@{caption@}[within] +\newtheorem@{env_name@}[numbered_like]@{caption@} +@end example + +@noindent +This command defines a theorem-like environment. + +@table @code +@item env_name +The name of the environment -- a string of letters. Must not be the name +of an existing environment or counter. @refill + +@item caption +The text printed at the beginning of the environment, right before the +number. @refill + +@item within +The name of an already defined counter, usually of a sectional unit. +Provides a means of resetting the new theorem counter within the +sectional unit. @refill + +@item numbered_like +The name of an already defined theorem-like environment. +@end table + +@noindent +The \newtheorem command may have at most one optional argument. + +@node \newfont, , \newtheorem, Definitions +@subsection \newfont + +@noindent +Syntax: + +@example +\newfont@{cmd@}@{font_name@} +@end example + +@noindent +Defines the command name cmd, which must not be currently defined, to be +a declaration that selects the font named font_name to be the current +font. @refill + +@c ---------------------------------------------------------------------------- + +@node Page layout, Environments, Definitions, Commands +@section Page layout + +@noindent +For further information @ref{Page Styles} and @ref{Document Styles and +Style Options}. @refill + +@menu +* \flushbottom:: \flushbottom +* \raggedbottom:: \raggedbottom +* \onecolumn:: \onecolumn +* \twocolumn:: \twocolumn +@end menu + +@node \flushbottom, \raggedbottom, , Page layout +@subsection \flushbottom + +@noindent +The \flushbottom declaration makes all text pages the same height, +adding extra vertical space when necessary to fill out the page. @refill + +@node \raggedbottom, \onecolumn, \flushbottom, Page layout +@subsection \raggedbottom + +@node \onecolumn, \twocolumn, \raggedbottom, Page layout +@subsection \onecolumn + +@noindent +The \onecolumn declaration starts a new page and produces single-column +output. @refill + +@node \twocolumn, , \onecolumn, Page layout +@subsection \twocolumn + +@noindent +The \twocolumn declaration starts a new page and produces two-column +output. @refill + +@c ---------------------------------------------------------------------------- + +@node Environments, Footnotes, Page layout, Commands +@section Environments + +@noindent +LaTeX provides a number of different paragraph-making environments. +Each environment begins and ends in the same manner. @refill + +@example + \begin@{environment-name@} + . + . + . + \end@{environment-name@} +@end example + +@menu +* array:: array +* center:: center +* \centering:: \centering +* description:: description +* enumerate:: enumerate +* eqnarray:: eqnarray +* equation:: equation +* figure:: figure +* flushleft:: flushleft +* \raggedright:: \raggedright +* flushright:: flushright +* \raggedleft:: \raggedleft +* itemize:: itemize +* list:: list +* minipage:: minipage +* picture:: picture +* quotation:: quotation +* quote:: quote +* tabbing:: tabbing +* table:: table +* tabular:: tabular +* thebibliography:: thebibliography +* theorem:: theorem +* titlepage:: titlepage +* verbatim:: verbatim +* verse:: verse +@end menu + +@node array, center, , Environments +@subsection array + +@noindent +Syntax: + +@example +\begin@{array@}@{col1col2...coln@} +column 1 entry & column 2 entry ... & column n entry \\ +. +. +. +\end@{array@} +@end example + +@noindent +Math arrays are produced with the array environment. It has a single +mandatory argument describing the number of columns and the alignment +within them. Each column, coln, is specified by a single letter that +tells how items in that row should be formatted. @refill + +@table @code +@item c +for centered +@item l +for flushleft +@item r +for flushright +@end table + +@noindent +Column entries must be separated by an &. Column entries may include +other LaTeX commands. Each row of the array must be terminated with a +\\. @refill + +@node center, \centering, array, Environments +@subsection center + +@noindent +Syntax: + +@example +\begin@{center@} +Text on line 1 \\ +Text on line 2 \\ +. +. +. +\end@{center@} +@end example + +@noindent +The center environment allows you to create a paragraph consisting of +lines that are centered within the left and right margins on the current +page. Each line must be terminated with a \\. @refill + +@node \centering, description, center, Environments +@subsection \centering + +@noindent +This declaration corresponds to the center environment. This declaration +can be used inside an environment such as quote or in a parbox. The text +of a figure or table can be centered on the page by putting a \centering +command at the beginning of the figure or table environment. @refill + +@noindent +Unlike the center environment, the \centering command does not start a +new paragraph; it simply changes how LaTeX formats paragraph units. To +affect a paragraph unit's format, the scope of the declaration must +contain the blank line or \end command (of an environment like quote) +that ends the paragraph unit. @refill + +@node description, enumerate, \centering, Environments +@subsection description + +@noindent +Syntax: + +@example +\begin@{description@} +\item[label] First item +\item[label] Second item +. +. +. +\end@{description@} +@end example + +@noindent +The description environment is used to make labeled lists. The label is +bold face and flushed right. @refill + +@node enumerate, eqnarray, description, Environments +@subsection enumerate + +@noindent +Syntax: + +@example +\begin@{enumerate@} +\item First item +\item Second item +. +. +. +\end@{enumerate@} +@end example + +@noindent +The enumerate environment produces a numbered list. Enumerations can be +nested within one another, up to four levels deep. They can also be +nested within other paragraph-making environments. @refill + +@noindent +Each item of an enumerated list begins with an \item command. There +must be at least one \item command within the environment. @refill + +@node eqnarray, equation, enumerate, Environments +@subsection eqnarray + +@noindent +Syntax: + +@example +\begin@{eqnarray@} +math formula 1 \\ +math formula 2 \\ +. +. +. +\end@{eqnarray@} +@end example + +@noindent +The eqnarray environment is used to display a sequence of equations or +inequalities. It is very much like a three-column array environment, +with consecutive rows separated by \\ and consecutive items within a row +separated by an &. An equation number is placed on every line unless +that line has a \nonumber command. @refill + +@node equation, figure, eqnarray, Environments +@subsection equation + +@noindent +Syntax: + +@example +\begin@{equation@} + math formula +\end@{equation@} +@end example + +@noindent +The equation environment centers your equation on the page and places +the equation number in the right margin. @refill + +@node figure, flushleft, equation, Environments +@subsection figure + +@noindent +Syntax: + +@example +\begin@{figure@}[placement] + + body of the figure + +\caption@{figure title@} +\end@{figure@} +@end example + +@noindent +Figures are objects that are not part of the normal text, and are +usually "floated" to a convenient place, like the top of a page. +Figures will not be split between two pages. @refill + +@noindent +The optional argument [placement] determines where LaTeX will try to +place your figure. There are four places where LaTeX can possibly put a +float: @refill + +@table @code +@item h +Here - at the position in the text where the figure environment appears. +@refill + +@item t +Top - at the top of a text page. @refill + +@item b +Bottom - at the bottom of a text page. @refill + +@item p +Page of floats - on a separate float page, which is a page containing no +text, only floats. @refill +@end table + +@noindent +The standard report and article styles use the default specifier tbp. @refill + +@noindent +The body of the figure is made up of whatever text, LaTeX commands, etc. +you wish. The \caption command allows you to title your figure. @refill + +@node flushleft, \raggedright, figure, Environments +@subsection flushleft + +@noindent +Syntax: + +@example +\begin@{flushleft@} +Text on line 1 \\ +Text on line 2 \\ +. +. +. +\end@{flushleft@} +@end example + +@noindent +The flushleft environment allows you to create a paragraph consisting of +lines that are flushed left to the left-hand margin. Each line must be +terminated with a \\. @refill + +@node \raggedright, flushright, flushleft, Environments +@subsection \raggedright + +@noindent +This declaration corresponds to the flushleft environment. This +declaration can be used inside an environment such as quote or in a +parbox. @refill + +@noindent +Unlike the flushleft environment, the \raggedright command does not +start a new paragraph; it simply changes how LaTeX formats paragraph +units. To affect a paragraph unit's format, the scope of the declaration +must contain the blank line or \end command (of an environment like +quote) that ends the paragraph unit. @refill + +@node flushright, \raggedleft, \raggedright, Environments +@subsection flushright + +@noindent +Syntax: + +@example +\begin@{flushright@} +Text on line 1 \\ +Text on line 2 \\ +. +. +. +\end@{flushright@} +@end example + +@noindent +The flushright environment allows you to create a paragraph consisting +of lines that are flushed right to the right-hand margin. Each line +must be terminated with a \\. @refill + +@node \raggedleft, itemize, flushright, Environments +@subsection \raggedleft + +@noindent +This declaration corresponds to the flushright environment. This +declaration can be used inside an environment such as quote or in a +parbox. @refill + +@noindent +Unlike the flushright environment, the \raggedleft command does not +start a new paragraph; it simply changes how LaTeX formats paragraph +units. To affect a paragraph unit's format, the scope of the declaration +must contain the blank line or \end command (of an environment like +quote) that ends the paragraph unit. @refill + +@node itemize, list, \raggedleft, Environments +@subsection itemize + +@noindent +Syntax: + +@example +\begin@{itemize@} +\item First item +\item Second item +. +. +. +\end@{itemize@} +@end example + +@noindent +The itemize environment produces a bulleted list. Itemizations can be +nested within one another, up to four levels deep. They can also be +nested within other paragraph-making environments. @refill + +@noindent +Each item of an itemized list begins with an \item command. There must +be at least one \item command within the environment. @refill + +@node list, minipage, itemize, Environments +@subsection list + +@noindent +Syntax: + +@example +\begin@{list@}@{label@}@{spacing@} +\item First item +\item Second item +. +. +. +\end@{list@} +@end example + +@noindent +The @{label@} argument specifies how items should be labeled. This +argument is a piece of text that is inserted in a box to form the label. +This argument can and usually does contain other LaTeX commands. @refill + +@noindent +The @{spacing@} argument contains commands to change the spacing +parameters for the list. This argument will most often be null, i.e. +@{@}. This will select all default spacing which should suffice for +most cases. @refill + +@node minipage, picture, list, Environments +@subsection minipage + +@noindent +Syntax: + +@example +\begin@{minipage@}[position]@{width@} + text +\end@{minipage@} +@end example + +@noindent +The minipage environment is similar to a \parbox command. It takes the +same optional position argument and mandatory width argument. You may +use other paragraph-making environments inside a minipage. @refill + +@noindent +Footnotes in a minipage environment are handled in a way that is +particularly useful for putting footnotes in figures or tables. A +\footnote or \footnotetext command puts the footnote at the bottom of +the minipage instead of at the bottom of the page, and it uses the +mpfootnote counter instead of the ordinary footnote counter. @refill + +@noindent +NOTE: Don't put one minipage inside another if you are using footnotes; +they may wind up at the bottom of the wrong minipage. @refill + +@node picture, quotation, minipage, Environments +@subsection picture + +@noindent +Syntax: + +@example +\begin@{picture@}(width,height)(x offset,y offset) +. + picture commands +. +\end@{picture@} +@end example + +@noindent +The picture environment allows you to create just about any kind of +picture you want containing text, lines, arrows and circles. You tell +LaTeX where to put things in the picture by specifying their +coordinates. A coordinate is a number that may have a decimal point and +a minus sign - a number like 5, 2.3 or -3.1416. A coordinate specifies +a length in multiples of the unit length \unitlength, so if \unitlength +has been set to 1cm, then the coordinate 2.54 specifies a length of 2.54 +centimeters. You can change the value of \unitlength anywhere you want, +using the \setlength command, but strange things will happen if you try +changing it inside the picture environment. @refill + +@noindent +A position is a pair of coordinates, such as (2.4,-5), which specifies +the point with x-coordinate 2.4 and y-coordinate -5. Coordinates are +specified in the usual way with respect to an origin, which is normally +at the lower-left corner of the picture. Note that when a position +appears as an argument, it is not enclosed in braces; the parentheses +serve to delimit the argument. @refill + +@noindent +The picture environment has one mandatory argument, which is a position. +It specifies the size of the picture. The environment produces a +rectangular box with width and height determined by this argument's x- +and y-coordinates. @refill + +@noindent +The picture environment also has an optional position argument, +following the size argument, that can change the origin. (Unlike +ordinary optional arguments, this argument is not contained in square +brackets.) The optional argument gives the coordinates of the point at +the lower-left corner of the picture (thereby determining the origin). +For example, if \unitlength has been set to 1mm, the command @refill + +@example +\begin@{picture@}(100,200)(10,20) +@end example + +@noindent +produces a picture of width 100 millimeters and height 200 millimeters, +whose lower-left corner is the point (10,20) and whose upper-right +corner is therefore the point (110,220). When you first draw a picture, +you will omit the optional argument, leaving the origin at the +lower-left corner. If you then want to modify your picture by shifting +everything, you just add the appropriate optional argument. @refill + +@noindent +The environment's mandatory argument determines the nominal size of the +picture. This need bear no relation to how large the picture really is; +LaTeX will happily allow you to put things outside the picture, or even +off the page. The picture's nominal size is used by LaTeX in +determining how much room to leave for it. @refill + +@noindent +Everything that appears in a picture is drawn by the \put command. The +command @refill + +@example +\put (11.3,-.3)@{ ... @} +@end example + +@noindent +puts the object specified by "..." in the picture, with its reference +point at coordinates (11.3,-.3). The reference points for various +objects will be described below. @refill + +@noindent +The \put command creates an LR box. You can put anything in the text +argument of the \put command that you'd put into the argument of an +\mbox and related commands. When you do this, the reference point will +be the lower left corner of the box. @refill + +@menu +* \circle (picture):: \circle +* \dashbox (picture):: \dashbox +* \frame (picture):: \frame +* \framebox (picture):: \framebox +* \line (picture):: \line +* \linethickness (picture):: \linethickness +* \makebox (picture):: \makebox +* \multiput (picture):: \multiput +* \oval (picture):: \oval +* \put (picture):: \put +* \shortstack (picture):: \shortstack +* \vector (picture):: \vector +@end menu + +@node \circle (picture), \dashbox (picture), , picture +@subsubsection \circle + +@noindent +Syntax: + +@example +\circle@{diameter@} +\circle*@{diameter@} +@end example + +@noindent +The \circle command produces a circle of the specified diameter. If the +*-form of the command is used, LaTeX draws a solid circle. @refill + +@node \dashbox (picture), \frame (picture), \circle (picture), picture +@subsubsection \dashbox + +@noindent +Syntax: + +@example +\dashbox@{dash length@}(width,height)@{ ... @} +@end example + +@noindent +The \dashbox has an extra argument which specifies the width of each +dash. A dashed box looks best when the width and height are multiples +of the dash length. @refill + +@node \frame (picture), \framebox (picture), \dashbox (picture), picture +@subsubsection \frame + +@noindent +Syntax: + +@example +\frame@{ ... @} +@end example + +@noindent +The \frame command puts a rectangular frame around the object specified +in the argument. The reference point is the bottom left corner of the +frame. No extra space is put between the frame and the object. @refill + +@node \framebox (picture), \line (picture), \frame (picture), picture +@subsubsection \framebox + +@noindent +Syntax: + +@example +\framebox(width,height)[position]@{ ... @} +@end example + +@noindent +The \framebox command is analogous to the \makebox command. @refill + +@node \line (picture), \linethickness (picture), \framebox (picture), picture +@subsubsection \line + +@noindent +Syntax: + +@example +\line(x slope,y slope)@{length@} +@end example + +@noindent +The \line command draws a line of the specified length and slope. @refill + +@node \linethickness (picture), \makebox (picture), \line (picture), picture +@subsubsection \linethickness + +@noindent +Syntax: + +@example +\linethickness@{dimension@} +@end example + +@noindent +Declares the thickness of horizontal and vertical lines in a picture +environment to be dimension, which must be a positive length. It does +not affect the thickness of slanted lines and circles, or the quarter +circles drawn by \oval to form the corners of an oval. @refill + +@node \makebox (picture), \multiput (picture), \linethickness (picture), picture +@subsubsection \makebox + +@noindent +Syntax: + +@example +\makebox(width,height)[position]@{ ... @} +@end example + +@noindent +The \makebox command for the picture environment is similar to the +normal \makebox command except that you must specify a width and height +in multiples of \unitlength. @refill + +@noindent +The optional argument, [position], specifies the quadrant that your text +appears in. You may select up to two of the following: @refill + +@table @code +@item t: +Moves the item to the top of the rectangle + +@item b: +Moves the item to the bottom + +@item l: +Moves the item to the left + +@item r: +Moves the item to the right +@end table + +@node \multiput (picture), \oval (picture), \makebox (picture), picture +@subsubsection \multiput + +@noindent +Syntax: + +@example +\multiput(x coord,y coord)(delta x,delta y)@{number of copies@}@{object@} +@end example + +@noindent +The \multiput command can be used when you are putting the same object +in a regular pattern across a picture. @refill + +@node \oval (picture), \put (picture), \multiput (picture), picture +@subsubsection \oval + +@noindent +Syntax: + +@example +\oval(width,height)[portion] +@end example + +@noindent +The \oval command produces a rectangle with rounded corners. The +optional argument, [portion], allows you to select part of the oval. +@refill + +@table @code +@item t: +Selects the top portion + +@item b: +Selects the bottom portion + +@item r: +Selects the right portion + +@item l: +Selects the left portion +@end table + +@node \put (picture), \shortstack (picture), \oval (picture), picture +@subsubsection \put + +@noindent +Syntax: + +@example +\put(x coord,y coord)@{ ... @} +@end example + +@noindent +The \put command places the item specified by the mandatory argument at +the given coordinates. @refill + +@node \shortstack (picture), \vector (picture), \put (picture), picture +@subsubsection \shortstack + +@noindent +Syntax: + +@example +\shortstack[position]@{... \\ ... \\ ...@} +@end example + +@noindent +The \shortstack command produces a stack of objects. The valid +positions are: @refill + +@table @code +@item r: +Moves the objects to the right of the stack + +@item l: +Moves the objects to the left of the stack + +@item c: +Moves the objects to the center of the stack (default) +@end table + +@node \vector (picture), , \shortstack (picture), picture +@subsubsection \vector + +@noindent +Syntax: + +@example +\vector(x slope,y slope)@{length@} +@end example + +@noindent +The \vector command draws a line with an arrow of the specified length +and slope. The x and y values must lie between -4 and +4, inclusive. +@refill + +@node quotation, quote, picture, Environments +@subsection quotation +@noindent +Syntax: + +@example +\begin@{quotation@} + text +\end@{quotation@} +@end example + +@noindent +The margins of the quotation environment are indented on the left and +the right. The text is justified at both margins and there is paragraph +indentation. Leaving a blank line between text produces a new +paragraph. @refill + +@node quote, tabbing, quotation, Environments +@subsection quote +@noindent +Syntax: + +@example +\begin@{quote@} + text +\end@{quote@} +@end example + +@noindent +The margins of the quote environment are indented on the left and the +right. The text is justified at both margins. Leaving a blank line +between text produces a new paragraph. @refill + +@node tabbing, table, quote, Environments +@subsection tabbing + +@noindent +Syntax: + +@example +\begin@{tabbing@} +text \= more text \= still more text \= last text \\ +second row \> \> more \\ +. +. +. +\end@{tabbing@} +@end example + +@noindent +The tabbing environment provides a way to align text in columns. It +works by setting tab stops and tabbing to them much the way you do with +an ordinary typewriter. @refill + +@noindent +Please note: To access accute, grave and bar accents use \a^, \a`, and \a= +instead of the usual accenting commands. @refill + +@menu +* \= (tabbing):: \= +* \> (tabbing):: \> +* \< (tabbing):: \< +* \+ (tabbing):: \+ +* \- (tabbing):: \- +* \' (tabbing):: \' +* \` (tabbing):: \` +* \kill (tabbing):: \kill +@end menu + +@node \= (tabbing), \> (tabbing), , tabbing +@subsubsection \= +@noindent +The \= command sets the tab stops. @refill + +@node \> (tabbing), \< (tabbing), \= (tabbing), tabbing +@subsubsection \> + +@noindent +The \> command causes LaTeX to advance to the next tab stop. @refill + +@node \< (tabbing), \+ (tabbing), \> (tabbing), tabbing +@subsubsection \< + +@noindent +The \< command allows you to put something to the left of the local +margin without changing the margin. @refill + +@node \+ (tabbing), \- (tabbing), \< (tabbing), tabbing +@subsubsection \+ + +@noindent +The \+ command moves the left margin of the next and all the following +commands one tab stop to the right. @refill + +@node \- (tabbing), \' (tabbing), \+ (tabbing), tabbing +@subsubsection \- + +@noindent +The \- command moves the left margin of the next and all the following +commands one tab stop to the left. @refill + +@noindent +Outside the tabbing environment \- works as a hyphenation aid (see +@ref{\-}). + +@node \' (tabbing), \` (tabbing), \- (tabbing), tabbing +@subsubsection \' +@noindent +The \' command moves everything that you have typed so far n the current +column , everything starting from the most recent \>, \<, \', \\, or +\kill command, to the right of the previous column, flush against the +current column's tab stop. @refill + +@node \` (tabbing), \kill (tabbing), \' (tabbing), tabbing +@subsubsection \` + +@noindent +The \` command allows you to put text flushed right against any tab +stop, including tab stop 0. However, it can't move text to the right of +the last column because there's no tab stop there. The \` command moves +all the text that follows it, up to the \\ or \end@{tabbing@} command +that ends the line, to the right margin of the tabbing environment. +There must be no \> or \' command between the \` and the command that +ends the line. @refill + +@node \kill (tabbing), , \` (tabbing), tabbing +@subsubsection \kill + +@noindent +The \kill command allows you to set tab stops without producing text. +It works just like the \\ except that it throws away the current line +instead of producing output for it. The effect of any \=, \+ or \- +commands in that line remain in effect. @refill + +@node table, tabular, tabbing, Environments +@subsection table + +@noindent +Syntax: + +@example +\begin@{table@}[placement] + + body of the table + +\caption@{table title@} +\end@{table@} +@end example + +@noindent +Tables are objects that are not part of the normal text, and are usually +"floated" to a convenient place, like the top of a page. Tables will +not be split between two pages. @refill + +@noindent +The optional argument [placement] determines where LaTeX will try to +place your table. There are four places where LaTeX can possibly put a +float: @refill + +@table @code +@item h +Here - at the position in the text where the table environment appears. +@refill + +@item t +Top - at the top of a text page. @refill + +@item b +Bottom - at the bottom of a text page. @refill + +@item p +Page of floats - on a separate float page, which is a page containing no +text, only floats. @refill +@end table + +@noindent +The standard report and article styles use the default specifier tbp. @refill + +@noindent +The body of the table is made up of whatever text, LaTeX commands, etc. +you wish. The \caption command allows you to title your table. @refill + +@node tabular, thebibliography, table, Environments +@subsection tabular + +@noindent +Syntax: + +@example +\begin@{tabular@}[pos]@{cols@} +column 1 entry & column 2 entry ... & column n entry \\ +. +. +. +\end@{tabular@} + + or + +\begin@{tabular*@}@{width@}[pos]@{cols@} +column 1 entry & column 2 entry ... & column n entry \\ +. +. +. +\end@{tabular*@} +@end example + +@noindent +These environments produce a box consisting of a sequence of rows of +items, aligned vertically in columns. The mandatory and optional +arguments consist of: @refill + +@table @code +@item width +Specifies the width of the tabular* environment. There must be rubber +space between columns that can stretch to fill out the specified width. +@refill + +@item pos +Specified the vertical postionion; default is alignment on the +center of the environment. @refill +@end table + +@table @code +@item t +align on top row + +@item b +align on bottom row + +@item cols +Specifies the column formatting. It consists of a sequence of the +following specifiers, corresponding to the sequence of columns and +intercolumn material. @refill + +@item l +A column of left-aligned items. + +@item r +A column of right-aligned items. + +@item c +A column of centered items. + +@item | +A vertical line the full height and depth of the environment. @refill + +@item @{text@} +This inserts text in every row. An @@-expression suppresses the +intercolumn space normally inserted between columns; any desired space +between the inserted text and the adjacent items must be included in +text. An \extracolsep@{wd@} command in an @@-expression causes an extra +space of width wd to appear to the left of all subsequent columns, until +countermanded by another \extracolsep command. Unlike ordinary +intercolumn space, this extra space is not suppressed by an +@@-expression. An \extracolsep command can be used only in an +@@-expression in the cols argument. @refill + +@item p@{wd@} +Produces a column with each item typeset in a parbox of width wd, as if +it were the argument of a \parbox[t]@{wd@} command. However, a \\ may +not appear in the item, except in the following situations: @refill + +@enumerate +@item +inside an environment like minipage, array, or tabular, @refill + +@item +inside an explicit \parbox, or @refill + +@item +in the scope of a \centering, \raggedrigth, or \raggedleft declaration. +The latter declarations must appear inside braces or an environment when +used in a p-column element. @refill +@end enumerate + +@item *@{num@}@{cols@} +Equivalent to num copies of cols, where num is any positive integer and +cols is any list of column-specifiers, which may contain another +*-expression. @refill +@end table + +@menu +* \cline:: \cline +* \hline:: \hline +* \multicolumn:: \multicolumn +* \vline:: \vline +@end menu + +@node \cline, \hline, , tabular +@subsubsection \cline + +@noindent +Syntax: + +@example +\cline@{i-j@} +@end example + +@noindent +The \cline command draws horizontal lines across the columns specified +in the mandatory argument. @refill + +@node \hline, \multicolumn, \cline, tabular +@subsubsection \hline + +@noindent +The \hline command will draw a horizontal line the width of the table. +It's most commonly used to draw a line at the top, bottom, and between +the rows of the table. @refill + +@node \multicolumn, \vline, \hline, tabular +@subsubsection \multicolumn + +@noindent +Syntax: + +@example +\multicolumn@{cols@}@{pos@}@{text@} +@end example + +@noindent +The \multicolumn is used to make an entry that spans several columns. +The first mandatory argument, cols, specifies the number of columns to +span. The second mandatory argument, pos, specifies the formatting of +the entry; c for centered, l for flushleft, r for flushright. The third +mandatory argument, text, specifies what text is to make up the entry. +@refill + +@node \vline, , \multicolumn, tabular +@subsubsection \vline + +@noindent +The \vline command will draw a vertical line extending the full height +and depth of its row. An \hfill command can be used to move the line to +the edge of the column. It can also be used in an @@-expression. @refill + +@node thebibliography, theorem, tabular, Environments +@subsection thebibliography + +@noindent +Syntax: + +@example +\begin@{thebibliography@}@{widest-label@} +\bibitem[label]@{cite_key@} +. +. +. +\end@{thebibliography@} +@end example + +@noindent +The thebibliography environment produces a bibliography or reference +list. In the article style, this reference list is labeled "References"; +in the report style, it is labeled "Bibliography". @refill + +@table @code +@item widest-label +Text that, when printed, is approximately as wide as +the widest item label produces by the \bibitem commands. @refill +@end table + +@menu +* \bibitem:: \bibitem +* \cite:: \cite +* \nocite:: \nocite +@end menu + +@node \bibitem, \cite, , thebibliography +@subsubsection \bibitem + +@noindent +Syntax: + +@example +\bibitem[label]@{cite_key@} +@end example + +@noindent +The \bibitem command generates an entry labeled by label. If the label +argument is missing, a number is generated as the label, using the enumi +counter. The cite_key is any sequence of letters, numbers, and +punctuation symbols not containing a comma. This command writes an entry +on the aux file containing cite_key and the item's label. When this aux +file is read by the \begin@{document@} command, the item's label is +associated with cite_key, causing the reference to cite_key by a \cite +command to produce the associated label. @refill + +@node \cite, \nocite, \bibitem, thebibliography +@subsubsection \cite + +@noindent +Syntax: + +@example +\cite[text]@{key_list@} +@end example + +@noindent +The key_list argument is a list of citation keys. This command generates +an in-text citation to the references associated with the keys in +key_list by entries on the aux file read by the \begin@{document@} +command. @refill + +@node \nocite, , \cite, thebibliography +@subsubsection \nocite + +@noindent +Syntax: + +@example +\nocite@{key_list@} +@end example + +@noindent +The \nocite command produces no text, but writes key_list, which is a +list of one or more citation keys, on the aux file. @refill + +@node theorem, titlepage, thebibliography, Environments +@subsection theorem + +@noindent +Syntax: + +@example +\begin@{theorem@} + theorem text +\end@{theorem@} +@end example + +@noindent +The theorem environment produces "Theorem x" in boldface followed by +your theorem text. @refill + +@node titlepage, verbatim, theorem, Environments +@subsection titlepage + +@noindent +Syntax: + +@example +\begin@{titlepage@} + text +\end@{titlepage@} +@end example + +@noindent +The titlepage environment creates a title page, i.e. a page with no +printed page number or heading. It also causes the following page to be +numbered page one. Formatting the title page is left to you. The +\today command comes in handy for title pages. @refill + +@node verbatim, verse, titlepage, Environments +@subsection verbatim + +@noindent +Syntax: + +@example +\begin@{verbatim@} + text +\end@{verbatim@} +@end example + +@noindent +The verbatim environment is a paragraph-making environment that gets +LaTeX to print exactly what you type in. It turns LaTeX into a +typewriter with carriage returns and blanks having the same effect that +they would on a typewriter. @refill + +@menu +* \verb:: \verb +@end menu + +@node \verb, , , verbatim +@subsubsection \verb + +@noindent +Syntax: + +@example +\verb char literal_text char +\verb*char literal_text char +@end example + +@noindent +Typesets literal_text exactly as typed, including special characters and +spaces, using a typewriter (\tt) type style. There may be no space +between \verb or \verb* and char (space is shown here only for clarity). +The *-form differs only in that spaces are printed. @refill + +@node verse, , verbatim, Environments +@subsection verse + +@noindent +Syntax: + +@example +\begin@{verse@} + text +\end@{verse@} +@end example + +@noindent +The verse environment is designed for poetry, though you may find other +uses for it. @refill + +@c ---------------------------------------------------------------------------- + +@node Footnotes, Lengths, Environments, Commands +@section Footnotes + +@noindent +Footnotes can be produced in one of two ways. They can be produced with +one command, the \footnote command. They can also be produced with two +commands, the \footnotemark and the \footnotetext commands. See the +specific command for information on why you would use one over the +other. @refill + +@menu +* \footnote:: \footnote +* \footnotemark:: \footnotemark +* \footnotetext:: \footnotetext +@end menu + +@node \footnote, \footnotemark, , Footnotes +@subsection \footnote + +@noindent +Syntax: + +@example +\footnote[number]@{text@} +@end example + +@noindent +The \footnote command places the numbered footnote text at the bottom of +the current page. The optional argument, number, is used to change the +default footnote number. This command can only be used in outer +paragraph mode. @refill + +@node \footnotemark, \footnotetext, \footnote, Footnotes +@subsection \footnotemark + +@noindent +The \footnotemark command puts the footnote number in the text. This +command can be used in inner paragraph mode. The text of the footnote +is supplied by the \footnotetext command. @refill + +@node \footnotetext, , \footnotemark, Footnotes +@subsection \footnotetext + +@noindent +Syntax: + +@example +\footnotetext[number]@{text@} +@end example + +@noindent +The \footnotetext command produces the text to be placed at the bottom +of the page. This command can come anywhere after the \footnotemark +command. The \footnotetext command must appear in outer paragraph mode. +@refill + +@noindent +The optional argument, number, is used to change the default footnote +number. @refill + +@node Lengths, Letters, Footnotes, Commands +@section Lengths + +@noindent +A length is a measure of distance. Many LaTeX commands take a length as +an argument. @refill + +@menu +* \newlength:: \newlength +* \setlength:: \setlength +* \addtolength:: \addtolength +* \settowidth:: \settowidth +@end menu + +@node \newlength, \setlength, , Lengths +@subsection \newlength + +@noindent +Syntax: + +@example +\newlength@{\gnat@} +@end example + +@noindent +The \newlength command defines the mandatory argument, \gnat, as a +length command with a value of 0in. An error occurs if a \gnat command +already exists. @refill + +@node \setlength, \addtolength, \newlength, Lengths +@subsection \setlength + +@noindent +Syntax: + +@example +\setlength@{\gnat@}@{length@} +@end example + +@noindent +The \setlength command is used to set the value of a length command. +The length argument can be expressed in any terms of length LaTeX +understands, e.g. inches (in), millimeters (mm), points (pt), etc. @refill + +@node \addtolength, \settowidth, \setlength, Lengths +@subsection \addtolength + +@noindent +Syntax: + +@example +\addtolength@{\gnat@}@{length@} +@end example + +@noindent +The \addtolength command increments a length command by the amount +specified in the length argument. It can be a negative amount. + +@node \settowidth, , \addtolength, Lengths +@subsection \settowidth + +@noindent +Syntax: + +@example +\settowidth@{\gnat@}@{text@} +@end example + +@noindent +The \settowidth command sets the value of a length command equal to the +width of the text argument. + +@node Letters, Line and Page Breaking, Lengths, Commands +@section Letters + +@noindent +You can use LaTeX to typeset letters, both personal and business. The +letter document style is designed to make a number of letters at once, +although you can make just one if you so desire. + +@noindent +Your .tex source file has the same minimum commands as the other +document styles, i.e. you must have the following commands as a minimum: + +@example +\documentstyle@{letter@} + +\begin@{document@} + ... letters ... +\end@{document@} +@end example + +@noindent +Each letter is a letter environment, whose argument is the name and +address of the recipient. For example, you might have + +@example +\begin@{letter@}@{Mr. John Doe \\ + 2345 Jones St. \\ + Oakland, CA 91123@} + ... +\end@{letter@} +@end example + +@noindent +The letter itself begins with the \opening command. The text of the +letter follows. It is typed as ordinary LaTeX input. Commands that +make no sense in a letter, like \chapter, don't work. The letter closes +with a \closing command. + +@noindent +After the closing, you can have additional material. The \cc command +produces the usual "cc: ...". There's also a similar \encl command for +a list of enclosures. + +@menu +* Declarations:: Declarations +* \opening:: \opening +* \closing:: \closing +@end menu + +@node Declarations, \opening, , Letters +@subsection Declarations + +@noindent +The following commands are declarations which take a single argument. + +@subsubsection \address + +@noindent +Syntax: + +@example +\address@{Return address@} +@end example + +@noindent +The return address, as it should appear on the letter and the envelope. +Separate lines of the address should be separated by \\ commands. If +you do not make an \address declaration, then the letter will be +formatted for copying onto your organization's standard letterhead. If +you give an \address declaration, then the letter will be formatted as a +personal letter. + +@menu +* \signature:: \signature +* \location:: \location +* \telephone:: \telephone +@end menu + +@node \signature, \location, , Declarations +@subsubsection \signature + +@noindent +Syntax: + +@example +\signature@{Your name@} +@end example + +@noindent +Your name, as it should appear at the end of the letter underneath the +space for your signature. Items that should go on separate lines should +be separated by \\ commands. + +@node \location, \telephone, \signature, Declarations +@subsubsection \location + +@noindent +Syntax: + +@example +\location@{address@} +@end example + +@noindent +This modifies your organization's standard address. This only appears +if the firstpage pagestyle is selected. + +@node \telephone, , \location, Declarations +@subsubsection \telephone + +@noindent +Syntax: + +@example +\telephone@{number@} +@end example + +@noindent +This is your telephone number. This only appears if the firstpage +pagestyle is selected. + +@node \opening, \closing, Declarations, Letters +@subsection \opening + +@noindent +Syntax: + +@example +\opening@{text@} +@end example + +@noindent +The letter begins with the \opening command. The mandatory argument, +text, is what ever text you wish to start your letter, e.g. + +@example +\opening@{Dear John,@} +@end example + +@node \closing, , \opening, Letters +@subsection \closing + +@noindent +Syntax: + +@example +\closing@{text@} +@end example + +@noindent +The letter closes with a \closing command, e.g. + +@example +\closing@{Best Regards,@} +@end example + +@node Line and Page Breaking, Making Paragraphs, Letters, Commands +@section Line and Page Breaking + +@noindent +The first thing LaTeX does when processing ordinary text is to translate +your input file into a string of glyphs and spaces. To produce a +printed document, this string must be broken into lines, and these lines +must be broken into pages. In some environments, you do the line +breaking yourself with the \\ command, but LaTeX usually does it for +you. + +@menu +* \\:: \\ +* \-:: Hypenation Aid \- +* \cleardoublepage:: \cleardoublepage +* \clearpage:: \clearpage +* \hyphenation:: \hyphenation +* \linebreak:: \linebreak +* \newline:: \newline +* \newpage:: \newpage +* \nolinebreak:: \nolinebreak +* \nopagebreak:: \nopagebreak +* \pagebreak:: \pagebreak +@end menu + +@node \\, \-, , Line and Page Breaking +@subsection \\ + +@noindent +Syntax: + +@example +\\[extra-space] +\\*[extra-space] +@end example + +@noindent +The \\ command tells LaTeX to start a new line. It has an optional +argument, extra-space, that specifies how much extra vertical space is +to be inserted before the next line. This can be a negative amount. + +@noindent +The \\* command is the same as the ordinary \\ command except that it +tells LaTeX not to start a new page after the line. + +@node \-, \cleardoublepage, \\, Line and Page Breaking +@subsection Hypenation Aid \- + +@noindent +The \- command tells LaTeX that it may hyphenate the word at that point. +LaTeX is very good at hyphenating, and it will usually find all correct +hyphenation points. The \- command is used for the exceptional cases. + +@node \cleardoublepage, \clearpage, \-, Line and Page Breaking +@subsection \cleardoublepage + +@noindent +The \cleardoublepage command ends the current page and causes all +figures and tables that have so far appeared in the input to be printed. +In a two-sided printing style, it also makes the next page a right-hand +(odd-numbered) page, producing a blank page if necessary. + +@node \clearpage, \hyphenation, \cleardoublepage, Line and Page Breaking +@subsection \clearpage + +@noindent +The \clearpage command ends the current page and causes all figures and +tables that have so far appeared in the input to be printed. + +@node \hyphenation, \linebreak, \clearpage, Line and Page Breaking +@subsection \hyphenation + +@noindent +Syntax: + +@example +\hyphenation@{words@} +@end example + +@noindent +The \hyphenation command declares allowed hyphenation points, where +words is a list of words, separated by spaces, in which each hyphenation +point is indicated by a - character. Each grammatical form has to be +specified separately. @refill + +@noindent +These words @strong{must not} contain any special characters (e.g. \ss). +@refill + +@node \linebreak, \newline, \hyphenation, Line and Page Breaking +@subsection \linebreak + +@noindent +Syntax: + +@example +\linebreak[number] +@end example + +@noindent +The \linebreak command tells LaTeX to break the current line at the +point of the command. With the optional argument, number, you can +convert the \linebreak command from a demand to a request. The number +must be a number from 0 to 4. The higher the number, the more insistent +the request is. + +@noindent +The \linebreak command causes LaTeX to stretch the line so it extends to +the right margin. + +@node \newline, \newpage, \linebreak, Line and Page Breaking +@subsection \newline + +@noindent +The \newline command breaks the line right where it is. The \newline +command can be used only in paragraph mode. + +@node \newpage, \nolinebreak, \newline, Line and Page Breaking +@subsection \newpage + +@noindent +The \newpage command ends the current page. + +@node \nolinebreak, \nopagebreak, \newpage, Line and Page Breaking +@subsection \nolinebreak + +@noindent +Syntax: + +@example +\nolinebreak[number] +@end example + +@noindent +The \nolinebreak command prevents LaTeX from breaking the current line +at the point of the command. With the optional argument, number, you +can convert the \nolinebreak command from a demand to a request. The +number must be a number from 0 to 4. The higher the number, the more +insistent the request is. + +@node \nopagebreak, \pagebreak, \nolinebreak, Line and Page Breaking +@subsection \nopagebreak + +@noindent +Syntax: + +@example +\nopagebreak[number] +@end example + +@noindent +The \nopagebreak command prevents LaTeX form breaking the current page +at the point of the command. With the optional argument, number, you +can convert the \nopagebreak command from a demand to a request. The +number must be a number from 0 to 4. The higher the number, the more +insistent the request is. + +@node \pagebreak, , \nopagebreak, Line and Page Breaking +@subsection \pagebreak + +@noindent +Syntax: + +@example +\pagebreak[number] +@end example + +@noindent +The \pagebreak command tells LaTeX to break the current page at the +point of the command. With the optional argument, number, you can +convert the \pagebreak command from a demand to a request. The number +must be a number from 0 to 4. The higher the number, the more insistent +the request is. + +@node Making Paragraphs, Math Formulas, Line and Page Breaking, Commands +@section Making Paragraphs + +@noindent +A paragraph is ended by one or more completely blank lines -- lines not +containing even an %. A blank line should not appear where a new +paragraph cannot be started, such as in math mode or in the argument of +a sectioning command. + +@menu +* \indent:: \indent +* \noindent:: \noindent +* \par:: \par +@end menu + +@node \indent, \noindent, , Making Paragraphs +@subsection \indent + +@noindent +This produces a horizontal space whose width equals the width of the +paragraph indentation. It is used to add paragraph indentation where it +would otherwise be supressed. @refill + +@node \noindent, \par, \indent, Making Paragraphs +@subsection \noindent + +@noindent +When used at the beginning of the paragraph, it suppresses the paragraph +indentation. It has no effect when used in the middle of a paragraph. +@refill + +@node \par, , \noindent, Making Paragraphs +@subsection \par + +@noindent +Equivalent to a blank line; often used to make command and environment +definitions easier to read. @refill + +@node Math Formulas, Modes, Making Paragraphs, Commands +@section Math Formulas + +@noindent +There are three environments that put LaTeX in math mode: math, +displaymath, and equation. The math environment is for formulas that +appear right in the text. The displaymath environment is for formulas +that appear on their own line. The equation environment is the same as +the displaymath environment except that it adds an equation number in +the right margin. @refill + +@noindent +The math environment can be used in both paragraph and LR mode, but the +displaymath and equation environments can be used only in paragraph +mode. These environments are used so often that they have the following +short forms: @refill + +@example +$ ... $ instead of \begin@{math@} ... \end@{math@} +$$ ... $$ instead of \begin@{equation@} ... \end@{equation@} +\[ ... \] instead of \begin@{displaymath@} ... \end@{displaymath@} +@end example + +@menu +* Subscripts and Superscripts:: Subscripts and Superscripts +* Math Symbols:: Math Symbols +* Spacing in Math Mode:: Spacing in Math Mode +* Math Miscellany:: Math Miscellany +@end menu + +@node Subscripts and Superscripts, Math Symbols, , Math Formulas +@subsection Subscripts and Superscripts + +@noindent +To get an expression exp to appear as a subscript, you just type +_@{exp@}. To get exp to appear as a superscript, you type ^@{exp@}. +LaTeX handles superscripted superscripts and all of that stuff in the +natural way. It even does the right thing when something has both a +subscript and a superscript. + +@node Math Symbols, Spacing in Math Mode, Subscripts and Superscripts, Math Formulas +@subsection Math Symbols + +@noindent +LaTeX provides almost any mathematical symbol you're likely to need. +The commands for generating them can be used only in math mode. For +example, if you include $\pi$ in your source, you will get the symbol +"pi" in your output. + +@node Spacing in Math Mode, Math Miscellany, Math Symbols, Math Formulas +@subsection Spacing in Math Mode + +@noindent +In a math environment, LaTeX ignores the spaces you type and puts in the +spacing that it thinks is best. LaTeX formats mathematics the way it's +done in mathematics texts. If you want different spacing, LaTeX +provides the following four commands for use in math mode: + +@table @code +@item \; +a thick space +@item \: +a medium space +@item \, +a thin space +@item \! +a negative thin space +@end table + +@node Math Miscellany, , Spacing in Math Mode, Math Formulas +@subsection Math Miscellany + +@menu +* \cdots:: \cdots +* \ddots:: \ddots +* \frac:: \frac +* \ldots:: \ldots +* \overbrace:: \overbrace +* \overline:: \overline +* \sqrt:: \sqrt +* \underbrace:: \underbrace +* \underline:: \underline +* \vdots:: \vdots +@end menu + +@node \cdots, \ddots, , Math Miscellany +@subsubsection \cdots +@noindent +The \cdots command produces a horizontal ellipsis where the dots are raised to +the center of the line. + +@node \ddots, \frac, \cdots, Math Miscellany +@subsubsection \ddots +@noindent +The \ddots command produces a diagonal ellipsis. + +@node \frac, \ldots, \ddots, Math Miscellany +@subsubsection \frac +@noindent +Syntax: + +@example +\frac@{num@}@{den@} +@end example + +@noindent +The \frac command produces the fraction num divided by den. + +@node \ldots, \overbrace, \frac, Math Miscellany +@subsubsection \ldots +@noindent +The \ldots command produces an ellipsis. This command works in any mode, +not just math mode. + +@node \overbrace, \overline, \ldots, Math Miscellany +@subsubsection \overbrace + +@noindent +Syntax: + +@example +\overbrace@{text@} +@end example + +@noindent +The \overbrace command generates a brace over text. + +@node \overline, \sqrt, \overbrace, Math Miscellany +@subsubsection \overline + +@noindent +Syntax: +@example +\overline@{text@} +@end example + +@noindent +The \overline command causes the argument text to be overlined. + +@node \sqrt, \underbrace, \overline, Math Miscellany +@subsubsection \sqrt + +@noindent +Syntax: + +@example +\sqrt[root]@{arg@} +@end example + +@noindent +The \sqrt command produces the square root of its argument. The optional +argument, root, determines what root to produce, i.e. the cube root of +x+y would be typed as $\sqrt[3]@{x+y@}$. + +@node \underbrace, \underline, \sqrt, Math Miscellany +@subsubsection \underbrace + +@noindent +Syntax: + +@example +\underbrace@{text@} +@end example + +@noindent +The \underbrace command generates text with a brace underneath. + +@node \underline, \vdots, \underbrace, Math Miscellany +@subsubsection \underline + +@noindent +Syntax: + +@example +\underline@{text@} +@end example + +@noindent +The \underline command causes the argument text to be underlined. +This command can also be used in paragraph and LR modes. + +@node \vdots, , \underline, Math Miscellany +@subsubsection \vdots +@noindent +The \vdots command produces a vertical ellipsis. + +@node Modes, Page Styles, Math Formulas, Commands +@section Modes + +@noindent +When LaTeX is processing your input text, it is always in one of three modes: + +@itemize +@item +Paragraph mode +@item +Math mode +@item +Left-to-right mode, called LR mode for short +@end itemize + +@noindent +LaTeX changes mode only when it goes up or down a staircase to a +different level, though not all level changes produce mode changes. +Mode changes occur only when entering or leaving an environment, or when +LaTeX is processing the argument of certain text-producing commands. + +@noindent +Paragraph mode is the most common; it's the one LaTeX is in when +processing ordinary text. In that mode, LaTeX breaks your text into +lines and breaks the lines into pages. LaTeX is in math mode when it's +generating a mathematical formula. In LR mode, as in paragraph mode, +LaTeX considers the output that it produces to be a string of words with +spaces between them. However, unlike paragraph mode, LaTeX keeps going +from left to right; it never starts a new line in LR mode. Even if you +put a hundred words into an \mbox, LaTeX would keep typesetting them +from left to right inside a single box, and then complain because the +resulting box was too wide to fit on the line. + +@noindent +LaTeX is in LR mode when it starts making a box with an \mbox command. +You can get it to enter a different mode inside the box - for example, +you can make it enter math mode to put a formula in the box. There are +also several text-producing commands and environments for making a box +that put LaTeX in paragraph mode. The box make by one of these commands +or environments will be called a parbox. When LaTeX is in paragraph +mode while making a box, it is said to be in inner paragraph mode. Its +normal paragraph mode, which it starts out in, is called outer paragraph +mode. + +@node Page Styles, Sectioning, Modes, Commands +@section Page Styles + +@noindent +The \documentstyle command determines the size and position of the +page's head and foot. The page style determines what goes in them. + +@menu +* \maketitle:: \maketitle +* \pagenumbering:: \pagenumbering +* \pagestyle:: \pagestyle +* \thispagestyle:: \thispagestyle +@end menu + +@node \maketitle, \pagenumbering, , Page Styles +@subsection \maketitle + +@noindent +\maketitle + +@noindent +The \maketitle command generates a title on a separate title page - +except in the article style, where the title normally goes at the top of +the first page. Information used to produce the title is obtained from +the following declarations. + +@menu +* \author:: \author +* \date:: \date +* \thanks:: \thanks +* \title:: \title +@end menu + +@node \author, \date, , \maketitle +@subsubsection \author + +@noindent +Syntax: + +@example +\author@{names@} +@end example + +@noindent +The \author command declares the author(s), where names is a list of +authors separated by \and commands. Use \\ to separate lines within a +single author's entry -- for example, to give the author's institution +or address. + +@node \date, \thanks, \author, \maketitle +@subsubsection \date + +@noindent +Syntax: + +@example +\date@{text@} +@end example + +@noindent +The \date command declares text to be the document's date. With no \date +command, the current date is used. + +@node \thanks, \title, \date, \maketitle +@subsubsection \thanks + +@noindent +Syntax: + +@example +\thanks@{text@} +@end example + +@noindent +The \thanks command produces a footnote to the title. + +@node \title, , \thanks, \maketitle +@subsubsection \title + +@noindent +Syntax: + +@example +\title@{text@} +@end example + +@noindent +The \title command declares text to be the title. Use \\ to tell LaTeX +where to start a new line in a long title. + +@node \pagenumbering, \pagestyle, \maketitle, Page Styles +@subsection \pagenumbering + +@noindent +Syntax: + +@example +\pagenumbering@{num_style@} +@end example + +@noindent +Specifies the style of page numbers. Possible values of num_style are: + +@table @code +@item arabic +Arabic numerals +@item roman +Lowercase roman numerals +@item Roman +Uppercase roman numerals +@item alph +Lowercase letters +@item Alph +Uppercase letters +@end table + +@node \pagestyle, \thispagestyle, \pagenumbering, Page Styles +@subsection \pagestyle + +@noindent +Syntax: + +@example +\pagestyle@{option@} +@end example + +@noindent +The \pagestyle command changes the style from the current page on throughout +the remainder of your document. @refill + +@noindent +The valid options are: + +@table @code +@item plain +Just a plain page number. +@item empty +Produces empty heads and feet - no page numbers. +@item headings +Puts running headings on each page. The document style specifies +what goes in the headings. +@item myheadings +You specify what is to go in the heading with the \markboth or +the \markright commands. +@end table + +@menu +* \mark:: \mark +@end menu + +@node \mark, , , \pagestyle +@subsubsection \mark + +@noindent +Syntax: + +@example +\markboth@{left head@}@{right head@} +\markright@{right head@} +@end example + +@noindent +The \markboth and \markright commands are used in conjunction with the +page style myheadings for setting either both or just the right heading. +In addition to their use with the myheadings page style, you can use +them to override the normal headings in the headings style, since LaTeX +uses these same commands to generate those heads. You should note that +a left-hand heading is generated by the last \markboth command before +the end of the page, while a right-hand heading is generated by the +first \markboth or \markright that comes on the page if there is one, +otherwise by the last one before the page. @refill + +@node \thispagestyle, , \pagestyle, Page Styles +@subsection \thispagestyle + +@noindent +Syntax: + +@example +\thispagestyle@{option@} +@end example + +@noindent +The \thispagestyle command works in the same manner as the \pagestyle +command except that it changes the style for the current page only. + +@node Sectioning, Spaces and Boxes, Page Styles, Commands +@section Sectioning + +@noindent +Sectioning commands provide the means to structure your text into units. + +@itemize +@item +\part +@item +\chapter (report and book style only) +@item +\section +@item +\subsection +@item +\subsubsection +@item +\paragraph +@item +\subparagraph +@end itemize + +@noindent +All sectioning commands take the same general form, e.g. + +@noindent +Syntax: + +@example +\chapter[optional]@{title@} +@end example + +@noindent +In addition to providing the heading in the text, the mandatory argument +of the sectioning command can appear in two other places: + +@itemize +@item +the table of contents +@item +the running head at the top of the page +@end itemize + +@noindent +You may not want the same thing to appear in these other two places as +appears in the text heading. To handle this situation, the sectioning +commands have an optional argument that provides the text for these +other two purposes. @refill + +@noindent +The sectioning commands have *-forms that print a title, but do not include +a number and do not make an entry in the table of contents. For example, +the *-form of the \subsection command could look like: @refill + +@example +\subsection*@{Example subsection@} +@end example + +@menu +* \appendix:: \appendix +@end menu + +@node \appendix, , , Sectioning +@subsection \appendix + +@noindent +Syntax: + +@example +\appendix +@end example + +@noindent +The \appendix command changes the way sectional units are numbered. The +\appendix command generates no text and does not affect the numbering or +parts. @refill + +@node Spaces and Boxes, Special Characters, Sectioning, Commands +@section Spaces and Boxes + +@menu +* \addvspace:: \addvspace +* \bigskip:: \bigskip +* \dotfill:: \dotfill +* \fbox:: \fbox +* \framebox:: \framebox +* \hfill:: \hfill +* \hrulefill :: \hrulefill +* \hspace:: \hspace +* \makebox:: \makebox +* \mbox:: \mbox +* \medskip:: \medskip +* \newsavebox:: \newsavebox +* \parbox:: \parbox +* \raisebox:: \raisebox +* \rule:: \rule +* \savebox:: \savebox +* \smallskip:: \smallskip +* \usebox:: \usebox +* \vfill:: \vfill +* \vspace:: \vspace +@end menu + +@node \addvspace, \bigskip, , Spaces and Boxes +@subsection \addvspace + +@noindent +Syntax: + +@example +\addvspace@{length@} +@end example + +@noindent +The \addvspace command normally adds a vertical space of heigth length. +However, if vertical space has already been added to the same point in +the output by a previous \addvspace command, then this command will not +add more space than needed to make the natural length of the total +vertical space equal to length. @refill + +@node \bigskip, \dotfill, \addvspace, Spaces and Boxes +@subsection \bigskip + +@noindent +The \bigskip command is equivalent to \vspace@{bigskipamount@} where +bigskipamount is determined by the document style. + +@node \dotfill, \fbox, \bigskip, Spaces and Boxes +@subsection \dotfill + +@noindent +The \dotfill command produces a rubber length that produces dots instead +of just spaces. + +@node \fbox, \framebox, \dotfill, Spaces and Boxes +@subsection \fbox + +@noindent +Syntax: + +@example +\fbox@{text@} +@end example + +@noindent +The \fbox command is exactly the same as the \mbox command, except that +it puts a frame around the outside of the box that it creates. + +@node \framebox, \hfill, \fbox, Spaces and Boxes +@subsection \framebox + +@noindent +Syntax: + +@example +\framebox[width][position]@{text@} +@end example + +@noindent +The \framebox command is exactly the same as the \makebox command, +except that it puts a frame around the outside of the box that it +creates. @refill + +@noindent +The framebox command produces a rule of thickness \fboxrule, and leaves +a space \fboxsep between the rule and the contents of the box. @refill + +@node \hfill, \hrulefill , \framebox, Spaces and Boxes +@subsection \hfill + +@noindent +The \hfill fill command produces a rubber length which can stretch or +shrink horizontally. It will be filled with spaces. @refill + +@node \hrulefill , \hspace, \hfill, Spaces and Boxes +@subsection \hrulefill + +@noindent +The \hrulefill fill command produces a rubber length which can stretch +or shrink horizontally. It will be filled with a horizontal rule. @refill + +@node \hspace, \makebox, \hrulefill , Spaces and Boxes +@subsection \hspace + +@noindent +Syntax: + +@example +\hspace@{length@} +\hspace*@{length@} +@end example + +@noindent +The \hspace command adds horizontal space. The length of the space can +be expressed in any terms that LaTeX understands, e.g. points, inches, +etc. You can add negative as well as positive space with an \hspace +command. Adding negative space is like backspacing. @refill + +@noindent +LaTeX removes horizontal space that comes at the end of a line. If you +don't want LaTeX to remove this space, include the optional * argument. +Then the space is never removed. @refill + +@node \makebox, \mbox, \hspace, Spaces and Boxes +@subsection \makebox + +@noindent +Syntax: + +@example +\makebox[width][position]@{text@} +@end example + +@noindent +The \makebox command creates a box to contain the text specified. The +width of the box is specified by the optional width argument. The +position of the text within the box is determined by the optional +position argument. @refill + +@table @code +@item c +centered (default) +@item l +flushleft +@item r +flushright +@end table + +@node \mbox, \medskip, \makebox, Spaces and Boxes +@subsection \mbox + +@noindent +Syntax: + +@example +\mbox@{text@} +@end example + +@noindent +The \mbox command creates a box just wide enough to hold the text +created by its argument. @refill + +@node \medskip, \newsavebox, \mbox, Spaces and Boxes +@subsection \medskip + +@noindent +The \medskip command is equivalent to \vspace@{medskipamount@} where +medskipamount is determined by the document style. @refill + +@node \newsavebox, \parbox, \medskip, Spaces and Boxes +@subsection \newsavebox + +@noindent +Syntax: + +@example +\newsavebox@{cmd@} +@end example + +@noindent +Declares cmd, which must be a command name that is not already defined, +to be a bin for saving boxes. @refill + +@node \parbox, \raisebox, \newsavebox, Spaces and Boxes +@subsection \parbox + +@noindent +Syntax: + +@example +\parbox[position]@{width@}@{text@} +@end example + +@noindent +A parbox is a box whose contents are created in paragraph mode. The +\parbox has two mandatory arguments: @refill + +@table @asis +@item width +specifies the width of the parbox, and +@item text +the text that goes inside the parbox. +@end table + +@noindent +LaTeX will position a parbox so its center lines up with the center of +the text line. An optional first argument, position, allows you to line +up either the top or bottom line in the parbox. @refill + +@noindent +A \parbox command is used for a parbox containing a small piece of text, +with nothing fancy inside. In particular, you shouldn't use any of the +paragraph-making environments inside a \parbox argument. For larger +pieces of text, including ones containing a paragraph-making +environment, you should use a minipage environment. @refill + +@node \raisebox, \rule, \parbox, Spaces and Boxes +@subsection \raisebox + +@noindent +Syntax: + +@example +\raisebox@{distance@}[extend-above][extend-below]@{text@} +@end example + +@noindent +The \raisebox command is used to raise or lower text. The first +mandatory argument specifies how high the text is to be raised (or +lowered if it is a negative amount). The text itself is processed in LR +mode. @refill + +@noindent +Sometimes it's useful to make LaTeX think something has a different size +than it really does - or a different size than LaTeX would normally +think it has. The \raisebox command lets you tell LaTeX how tall it is. +@refill + +@noindent +The first optional argument, extend-above, makes LaTeX think that the +text extends above the line by the amount specified. The second +optional argument, extend-below, makes LaTeX think that the text extends +below the line by the amount specified. @refill + +@node \rule, \savebox, \raisebox, Spaces and Boxes +@subsection \rule + +@noindent +Syntax: + +@example +\rule[raise-height]@{width@}@{thickness@} +@end example + +@noindent +The \rule command is used to produce horizontal lines. The arguments are +defined as follows. @refill + +@table @asis +@item raise-height +specifies how high to raise the rule (optional) +@item width +specifies the length of the rule (mandatory) +@item thickness +specifies the thickness of the rule (mandatory) +@end table + +@node \savebox, \smallskip, \rule, Spaces and Boxes +@subsection \savebox + +@noindent +Syntax: + +@example +\sbox@{cmd@}[text] + +\savebox@{cmd@}[width][pos]@{text@} +@end example + +@noindent +These commands typeset text in a box just as for \mbox or \makebox. +However, instead of printing the resulting box, they save it in bin cmd, +which must have been declared with \newsavebox. @refill + +@node \smallskip, \usebox, \savebox, Spaces and Boxes +@subsection \smallskip + +@noindent +Syntax: + +@example +\smallskip +@end example + +@noindent +The \smallskip command is equivalent to \vspace@{smallskipamount@} where +smallskipamount is determined by the document style. @refill + +@node \usebox, \vfill, \smallskip, Spaces and Boxes +@subsection \usebox + +@noindent +Syntax: + +@example +\usebox@{cmd@} +@end example + +@noindent +Prints the box most recently saved in bin cmd by a \savebox command. + +@node \vfill, \vspace, \usebox, Spaces and Boxes +@subsection \vfill + +@noindent +The \vfill fill command produces a rubber length which can stretch or shrink +vertically. @refill + +@node \vspace, , \vfill, Spaces and Boxes +@subsection \vspace + +@noindent +Syntax: + +@example +\vspace@{length@} +\vspace*@{length@} +@end example + +@noindent +The \vspace command adds vertical space. The length of the space can be +expressed in any terms that LaTeX understands, e.g. points, inches, etc. +You can add negative as well as positive space with an \vspace command. +@refill + +@noindent +LaTeX removes vertical space that comes at the end of a page. If you +don't want LaTeX to remove this space, include the optional * argument. +Then the space is never removed. @refill + +@node Special Characters, Splitting the Input, Spaces and Boxes, Commands +@section Special Characters + +@noindent +The following characters play a special role in LaTeX and are called +special printing characters, or simply special characters. @refill + +@example +# $ % & _ \ @{ @} ~ ^ +@end example + +@noindent +Whenever you put one of these special characters into your file, you are +doing something special. If you simply want the character to be printed +just as any other letter, include a \ in front of the character. For +example, \$ will produce $ in your output. @refill + +@noindent +Please note: \~ and \^ are accent commands; to get the accent alone, type +\~@{@} and \^@{@}. @refill + +@noindent +The exception to the rule is the \ itself because \\ has its own special +meaning. A \ is produced by typing $\backslash$ in your file. @refill + +@menu +* Accents:: Accents +* German Special Characters:: German Special Characters +@end menu + +@node Accents, German Special Characters, , Special Characters +@subsection Accents + +@noindent +Scholarly publications often refer to other languages, so LaTeX makes +it possible to typeset the most commonly used accents: @refill + +@table @asis +@item \` +grave accent +@item \' +acute accent +@item \^ +circumflex or "hat" +@item \" +umlaut or dieresis +@item \~ +tilde or "squiggle" +@item \= +macron or "bar" +@item \. +dot (above) accent +@item \u +breve accent +@item \v +hachek or "check" +@item \H +long Hungarian umlaut +@item \t +tie-after accent +@end table + +@noindent +LaTeX also provides three accents that go underneath: @refill + +@table @asis +@item \c +cedilla +@item \d +dot (below) accent +@item \b +bar-under accent +@end table + +@noindent +And there are a few special letters: @refill + +@table @asis +@item \oe +@itemx \OE +French ligature oe +@item \ae +@itemx \AE +Latin and Scandinavian ligature ae +@item \aa +@itemx \AA +Scandinavian A-with-circle +@item \o +@itemx \O +Scandinavian O-with-slash +@item \l +@itemx \L +Polish suppressed-L +@item \ss +German "es-zet" or sharp s +@end table + +@node German Special Characters, , Accents, Special Characters +@subsection German Special Characters + +@noindent +For convenient input of German texts see @ref{german.sty}. @refill + +@node Splitting the Input, Starting and Ending, Special Characters, Commands +@section Splitting the Input + +@noindent +A large document requires a lot of input. Rather than putting the whole +input in a single large file, it's more efficient to split it into +several smaller ones. Regardless of how many separate files you use, +there is one that is the root file; it is the one whose name you type +when you run LaTeX. @refill + +@node \include, \includeonly, , Splitting the Input +@subsection \include + +@noindent +Syntax: + +@example +\include@{file@} +@end example + +@noindent +The \include command is used in conjunction with the \includeonly +command for selective inlcusion of files. The file argument is the first +name of a file, denoting @file{file.tex}. If file is one the file names +in the file list of the \includeonly command or if there is no +\includeonly command, the \include command is equivalent to @refill + +@example +\clearpage \input@{file@} \clearpage +@end example + +@noindent +except that if the file @file{file.tex} does not exist, then a warning +message rather than an error is produced. If the file is not in the file +list, the \include command is equivalent to \clearpage. @refill + +@noindent +The \include command may not appear in the preamble or in a file read by +another \include command. @refill + +@node \includeonly, \input, \include, Splitting the Input +@subsection \includeonly + +@noindent +Syntax: + +@example +\includeonly@{file_list@} +@end example + +@noindent +The \includeonly command controls which files will be read in by an +\include command. It can only appear in the preamble. @refill + +@node \input, , \includeonly, Splitting the Input +@subsection \input + +@noindent +Syntax: + +@example +\input@{file@} +@end example + +@noindent +The \input command causes the indicated file to be read and processed, +exactly as if its contents had been inserted in the current file at that +point. The file name may be a complete file name with extension or just +a first name, in which case the file @file{file.tex} is used. @refill + +@node Starting and Ending, Table of Contents, Splitting the Input, Commands +@section Starting and Ending + +@noindent +Your input file must contain the following commands as a minimum. + +@example +\documentstyle@{style@} + +\begin@{document@} + ... your text goes here ... +\end@{document@} +@end example + +@noindent +where the style selected is one the valid styles for LaTeX. See +Document Styles within this help file. @refill + +@noindent +You may include other LaTeX commands between the \documentstyle and the +\begin@{document@} commands. @refill + +@node Table of Contents, Terminal Input and Output , Starting and Ending, Commands +@section Table of Contents + +@noindent +A table of contents is produced with the \tableofcontents command. You +put the command right where you want the table of contents to go; LaTeX +does the rest for you. It produces a heading, but it does not +automatically start a new page. If you want a new page after the table +of contents, include a \newpage command after the \tableofcontents +command. @refill + +@noindent +There are similar commands \listoffigures and \listoftables for +producing a list of figures and a list of tables, respectively. +Everything works exactly the same as for the table of contents. @refill + +@noindent +NOTE: If you want a any of these items to be generated, you can not have +the \nofiles command in your document. @refill + +@node \addcontentsline, \addtocontents, , Table of Contents +@subsection \addcontentsline + +@noindent +Syntax: + +@example +\addcontentsline@{file@}@{sec_unit@}@{entry@} +@end example + +@noindent +The \addcontentsline command adds an entry to the specified list or +table where @code{file} is the extension of the file on which +information is to be written: @refill + +@itemize +@item +toc (table of contents), +@item +lof (list of figures), or +@item +lot (list of tables). +@end itemize + +@noindent +@code{sec_unit} controls the formatting of the entry. It should be one +of the following, depending upon the value of the file argument: @refill + +@table @asis +@item toc +the name of the sectional unit, such as part or subsection. +@item lof +figure +@item lot +table +@end table + +@noindent +@code{entry} is the text of the entry. + +@node \addtocontents, , \addcontentsline, Table of Contents +@subsection \addtocontents + +@noindent +Syntax: + +@example +\addtocontents@{file@}@{text@} +@end example + +@noindent +The \addtocontents command adds text (or formatting commands) directly +to the file that generates the table of contents or list of figures or +tables. @refill + +@noindent +@code{file} is the extension of the file on which information is to be +written: + +@itemize +@item +toc (table of contents), +@item +lof (list of figures), or +@item +lot (list of tables) +@end itemize + +@noindent +@code{text} is the information to be written. + + +@node Terminal Input and Output , Typefaces, Table of Contents, Commands +@section Terminal Input and Output + +@node \typeout, \typein, , Terminal Input and Output +@subsection \typeout + +@noindent +Syntax: + +@example +\typeout@{msg@} +@end example + +@noindent +Prints msg on the terminal and in the log file. Commands in msg that are +defined with \newcommand or \renewcommand are replaced by their +definitions before being printed. @refill + +@noindent +LaTeX's usual rules for treating multiple spaces as a single space and +ignoring spaces after a command name apply to msg. A \space command in +msg causes a single space to be printed. @refill + +@node \typein, , \typeout, Terminal Input and Output +@subsection \typein + +@noindent +Syntax: + +@example +\typein[cmd]@{msg@} +@end example + +@noindent +Prints msg on the terminal and causes LaTeX to stop and wait for you to +type a line of input, ending with return. If the cmd argument is +missing, the typed input is processed as if it had been included in the +input file in place of the \typein command. If the cmd argument is +present, it must be a command name. This command name is then defined or +redefined to be the typed input. @refill + +@node Typefaces, , Terminal Input and Output , Commands +@section Typefaces + +@noindent +The typeface is specified by giving the size and style. A typeface is +also called a font. @refill + +@node Styles, Sizes, , Typefaces +@subsection Styles + +@noindent +The following type style commands are supported by LaTeX. + +@table @code +@item \rm +Roman. +@item \it +Italics. +@item \em +Emphasis (toggles between \it and \rm). +@item \bf +Boldface. +@item \sl +Slanted. +@item \sf +Sans serif. +@item \sc +Small caps. +@item \tt +Typewriter. +@end table + +@noindent +Since italic and slanted styles slope to the right, some letters stick +into the following characters. Insert \/ at the end to correct this +effect (see example below). @refill + +@noindent +Use the type style commands always inside a group, e.g. @refill + +@example +@{\em Emphasized Text\/@} +@end example + +@node Sizes, , Styles, Typefaces +@subsection Sizes + +@noindent +The following type size commands are supported by LaTeX. + +@itemize +@item +\tiny +@item +\scriptsize +@item +\footnotesize +@item +\small +@item +\normalsize (default) +@item +\large +@item +\Large (capital "l") +@item +\LARGE (all caps) +@item +\huge +@item +\Huge (capital "h") +@end itemize + +@noindent +Usually you needn't set the type size explicitly because LaTeX +automatically chooses appropriate sizes. If you ever think you have to, +always do it inside a group, e.g. + +@example +@{\large large text@} +@end example + +@bye + diff --git a/obsolete/info/math/voss/mathmode/Changes b/obsolete/info/math/voss/mathmode/Changes new file mode 100644 index 0000000000..4e4ddb5b66 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/Changes @@ -0,0 +1,90 @@ +..... Mathmode.ltx|tex|bib|ist +2.47 2010-12-14 - added a note for missing equation* +2.46 2010-12-10 - edited the bibliography +2.45 2010-10-18 - fix bug with missing $ symbols +2.44 2010-08-22 - typos +2.43 2010-07-22 - typos +2.42 2009-12-04 - typos +2.41 2009-04-08 - typos +2.40 2009-03-26 - update package versions +2.39 2009-02-14 - typos +2.38 2009-01-22 - use \mathrel for stacked definitions +2.37 2009-01-14 - updated bibliography + - switch to utf8 +2.36 2008-12-11 - fix missing line in code listing +2.35 2008-11-21 - new command for typesetting differentials, + like dx, dt aso. +2.34 2008-10-30 - typo, small tweaks, and using bera fonts +2.33 2008-04-23 - formatting of toc and some pages +2.32 2008-02-29 - again typos +2.31 2008-02-21 - typo +2.30 2007-12-31 - added penalty values for no breaks in inline mode +2.29 2007-11-30 - added two special symbols \Let and \teL +2.28 2007-09-25 - typo with BlueSky + - package fixltx2e with command \MakeRobust +2.27 2007-09-06 - small example for \limits +2.26 2007-05-01 - www.yandy.com -> www.pctex.com +2.25 2007-04-21 - added an example for aligned vertical dots + - typos + - added an appendix for the package file list of + the pdflatex run +2.24 2007-04-08 - added an example for a root over several lines + - fixed using \textrm inside array for cases +2.23 2007-03-30 - added \boldsymbol and \varGREEK letters +2.22 2007-02-01 - typos +2.21 2006-10-26 - added examples for package dotseqn + - one more example for split + - some typos and small changes to the structure +2.20 2006-10-08 - added examples for package cool + - new section "Tuning math typesetting" + - new subdirectory for the images +2.19 2006-10-06 - some more infos for the fleqn class option + - small fixes to the array environment + - added an example for gathered and + for boxed rows and columns of arrays + - indice in upright font shape + - a lot of modifications to the source code + - extended index +2.18 2006-09-27 - fix a problem & in align demo + - add a short section of mathtools +2.17 2006-09-25 fix problem with package showexpl +2.16 2006-08-05 typo and one more bib entry +2.15 2006-08-03 some typos, adding the missing + index and bibliography +2.14 2006-04-23 http://www.yandy.com is obsolete +2.13 2006-05-29 typos and adding a font demo section +2.12 2006-05-17 typos and changes to the bib file +2.11 2006-03-12 fix bug with \biggm +2.10 2005-12-22 new section "Problems with amsmath" +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/obsolete/info/math/voss/mathmode/Mathmode.bib b/obsolete/info/math/voss/mathmode/Mathmode.bib new file mode 100644 index 0000000000..e711dc72d9 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/Mathmode.bib @@ -0,0 +1,253 @@ +@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{ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf}}, + 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, +} + +@article{rahtz92, + Author = {Sebastian Rahtz and Leonor Barroca}, + Title = {A style option for rotated objects in {\LaTeX}}, + journal = {TUGboat}, + 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 {\TeX} 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\"atzer}, + Publisher = {Birkh\"auser Boston}, + Edition= {third}, + Year= {2000}, +} + +@book{graetzer07, + Title = {More Math into {\LaTeX}}, + Author = {George Gr\"atzer}, + Publisher = {Springer}, + Edition= {4th}, + Year= {2007}, + ISBN={978-0-387-32289-6}, +} + + +@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}, + Note = {21st printing}, + Year= {1986}, +} +@book{companion94, + Title = {The {\LaTeX} {C}ompanion}, + Author = {Michel Goossens and Frank Mittelbach}, + Publisher = {Addison Wesley}, + Edition= {2nd}, + Year= {2004}, +} + +@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.paultaylor.eu/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\'ematiques avec \LaTeX}, + Author = {David Cobac}, + Address = {\url{http://dcobac.free.fr/spip/IMG/pdf/prepdocmaths.pdf}}, + Note = {}, + year = {2004}, +} + +@Manual{expressionsII, + Title= {Atelier documents math\'ematiques}, + Author = {David Cobac}, + Address = {\url{http://dcobac.free.fr/spip/IMG/pdf/presentation4.pdf}}, + Note = {}, + year = {2004}, +} + +@Manual{kuester:2004, + Title= {Fonts for Mathematics}, + Author= {Johannes K\"uster}, + 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\"uster}, + Address={\url{http://www.typoma.com/publ/20040430-bachotex.pdf}}, + Note = {Vortrag auf der polnischen {\TeX}-{K}onferenz {`Bacho\TeX'}}, + month={apr}, + year = {2004}, +} + +@article{bouchie98, + Author = {Thierry Bouche}, + Title = {Diversity in math fonts}, + journal = {TUGboat}, + 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}, + 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 = {Math{ML} formatting with {\TeX} rules and {\TeX} fonts}, + journal = {TUGboat}, + 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}, + 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-{M}odus}, + journal = dtk, + year = 2004, + volume = {3/04}, + month = nov, + pages = {25--32}, + annote = bretter, + keywords = {}, +} + +@book{voss09, + Title = {Mathematiksatz in {\LaTeX}}, + Author = {Herbert Vo\ss}, + Publisher = "LOB-media.de", + Edition= {}, + Address= {Berlin/Heidelberg}, + Year= {2009}, +} + +@book{voss:mathe-E, + Title = {Typesetting {M}athematics with {\LaTeX}}, + Author = {Herbert Vo\ss}, + Publisher = "UIT", + Edition= {}, + Address= {Cambridge}, + Year= {2010}, +} + +@book{LaTeXRef, + title = "{\LaTeX} {R}eferenz", + author = "Herbert Vo\ss", + publisher = "LOB-media.de", + address = "Berlin, Heidelberg", + edition = {2.}, + year = "2010", +} diff --git a/obsolete/info/math/voss/mathmode/Mathmode.ist b/obsolete/info/math/voss/mathmode/Mathmode.ist new file mode 100644 index 0000000000..ed2d4b94ac --- /dev/null +++ b/obsolete/info/math/voss/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/obsolete/info/math/voss/mathmode/Mathmode.ltx b/obsolete/info/math/voss/mathmode/Mathmode.ltx new file mode 100644 index 0000000000..067759d943 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/Mathmode.ltx @@ -0,0 +1,403 @@ +%% +%% This is file `Mathmode.ltx', +%% +%% IMPORTANT NOTICE: +%% +%% Herbert Voss <hvoss@tug.org> +%% (C) 2008/2009/2010 +%% +%% 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.47} +% +\listfiles +\documentclass[11pt,a4paper,english,twoside]{article} +\usepackage{fixltx2e}%% the official fixes for LaTeX2e +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +%\usepackage{pamathx}% use this if you have the commercial palatino math font +%\usepackage{arev}% use this if you do not have the palatino math font +\usepackage{bera} +%\usepackage{lmodern} +%\usepackage[scaled=0.85]{luximono}% use this if you do not have the palatino math font +% +\usepackage[marginparwidth=80pt,bmargin=3cm,tmargin=2cm]{geometry} +\usepackage{ifpdf} +\usepackage{ifvtex} +\ifvtex\pdffalse\fi +\usepackage{comment} +\usepackage{graphicx} +\usepackage{varwidth} +\usepackage{paralist} +\usepackage{array} +\usepackage{delarray} +\usepackage{tabularx} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsopn} +\usepackage{bm} +\usepackage{upgreek} +\usepackage{ragged2e} +\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[allowspaces]{empheq}% defines also harpoon macros +\usepackage{mathtools} +\usepackage{nicefrac} + +\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{cool} +\usepackage{xypic} +\usepackage{fancyhdr} +% +\pagestyle{fancy} +\fancyhead[LE,RO]{\leftmark} +\fancyhead[LO,RE]{\rightmark} +\fancyhead[C]{} +\fancyfoot[LO,RE]{\footnotesize\ttfamily\jobname.tex\quad v.\MathmodeVersion} +%\cfoot{} +\fancyfoot[LE,RO]{\thepage} +\fancyfoot[C]{} +\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} +\makeatletter +\renewcommand\@pnumwidth{3.5em} +\renewcommand*\l@subsection{\@dottedtocline{2}{1.75em}{3.25em}} +\renewcommand*\l@subsubsection{\@dottedtocline{3}{4em}{4em}} +\makeatother +\let\myPart\part +\renewcommand\part[1]{\clearpage\myPart{#1}} +% +%%%%%%%%%%%%% Math symbols %%%%%%%%%%%%%%%%% +\newcommand{\mysin}{\operatorname{mysin}} +\newcommand{\eqdef}{\ensuremath{\mathrel{\stackrel{\mathrm{def}}{=}}}} +\newcommand{\eqexcl}{\ensuremath{\mathrel{\stackrel{\mathrm{!}}{=}}}} +\newcommand{\eqhat}{\ensuremath{\mathrel{\widehat{=}}}} +% +\newlength{\fullwidth} +\setlength\fullwidth{\textwidth} +%\addtolength\fullwidth{\marginparsep} +%\addtolength\fullwidth{\marginparwidth} +\addtolength\fullwidth{\evensidemargin} +% +\newlength{\LBoxWidth} +\newcommand{\LyXBox}[1]{% + \settowidth{\LBoxWidth}{#1} + \fbox{\parbox[c]{\LBoxWidth}{#1}}\xspace% +} +\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]{{\tt\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{microtype} +\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{\texttt{#1}\index{Package@\textbf{Package}!\texttt{#1}}} +\def\Index#1{#1\index{#1}} +\def\CIndex#1{\CMD{#1}\index{#1@\CMD{#1}}\index{Macro@\textbf{Macro}!\CMD{#1}}} +\def\DIndex#1{\texttt{#1}\index{#1@\texttt{#1}}\index{File@\textbf{File}!\texttt{#1}}} +\def\LIndex#1{\CMD{#1}\index{#1@\CMD{#1}}\index{Length@\textbf{Length}!\CMD{#1}}} +\def\ZIndex#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Counter@\textbf{Counter}!\texttt{#1}}} +\def\zIndex#1{\index{#1@\texttt{#1}}\index{Counter@\textbf{Counter}!\texttt{#1}}} +\def\FIndex#1{\texttt{#1}\index{#1@\texttt{#1}}\index{Font@\textbf{Font}!\texttt{#1}}} +\def\UIndex#1{\texttt{#1} environment\index{Environment@\textbf{Environment}!\texttt{#1}}\index{#1@\texttt{#1}}} +\def\uIndex#1{\texttt{#1}\index{Environment@\textbf{Environment}!\texttt{#1}}\index{#1@\texttt{#1}}} +% +\newcommand*\eg{e.g.,\xspace} +\newcommand*\Eg{E.g.,\xspace} +\newcommand*\etc{etc.\@\xspace} +\newcommand*\dy{\,\mathrm{d}y} +\newcommand*\dx{\,\mathrm{d}x} +\newcommand*\dyx{\,\frac{\mathrm{d}y}{\mathrm{d}x}} +\newcommand*\ds{\,\mathrm{d}s} +\newcommand*\dt{\,\mathrm{d}t} +\newcommand*\dst{\,\frac{\mathrm{d}s}{\mathrm{d}t}} +% +% +\def\Mbox#1{\par +\vspace{2ex} +\noindent +\resizebox{\linewidth}{!}{\fbox{\includegraphics{#1}}}\par\medskip} + +\usepackage{braket}% there were problems when loading before other packages ... + +%------------------------------------------ Index macros ------------------------------------- +\def\Lcs#1{{\ttfamily\textbackslash#1}% + \index{Macro!#1@\texttt{\textbackslash#1}}\index{#1@\texttt{\textbackslash#1}}} +\def\LMcs#1{{\ttfamily\bfseries\textbackslash#1}% + \index{Macro!#1@\textbf{\texttt{\textbackslash#1}}}\index{#1@\textbf{\texttt{\textbackslash#1}}}} +\def\Ldim#1{{\ttfamily\textbackslash#1}% + \index{Dimension!#1@\texttt{\textbackslash#1}}\index{#1@\texttt{\textbackslash#1}}} +\def\LMdim#1{{\ttfamily\bfseries\textbackslash#1}% + \index{Dimension!#1@\textbf{\texttt{\textbackslash#1}}}\index{#1@\textbf{\texttt{\textbackslash#1}}}} +\def\Lskip#1{{\ttfamily\textbackslash#1}% + \index{Skip!#1@\texttt{\textbackslash#1}}\index{#1@\texttt{\textbackslash#1}}} +\def\LMskip#1{{\ttfamily\bfseries\textbackslash#1}% + \index{Skip!#1@\textbf{\texttt{\textbackslash#1}}}\index{#1@\textbf{\texttt{\textbackslash#1}}}} + +\def\LMcsStar#1{\LMcs{#1*}} +\def\LMcsOptStar#1{{\ttfamily\bfseries\textbackslash#1\OptArg{*}}} +\def\LMctr#1{{\ttfamily\bfseries#1}} +\def\Loption#1{{\ttfamily#1}} +\def\LClass#1{{\ttfamily#1}} +\def\nxLcs#1{{\ttfamily\textbackslash#1}} +\def\Lenv#1{{\ttfamily#1}} +\def\nxLenv#1{{\ttfamily#1}} +\def\Larg#1{{\itshape\ttfamily#1}} +\def\Largb#1{{\itshape\ttfamily\{#1\}}} +\def\Larga#1{{\itshape\ttfamily<#1>}} +\def\Largr#1{{\itshape\ttfamily(#1)}} +\def\Largs#1{{\itshape\ttfamily[#1]}} +\def\LMBEG#1{{\ttfamily\textbackslash begin\{\textbf{#1}\}}} +\def\LMBEGStar#1{{\ttfamily\textbackslash begin\{\textbf{#1*}\}}} +\def\LMBEGOptStar#1{{\ttfamily\textbackslash begin\{\textbf{#1\OptArg{*}}\}}} +\def\LEND#1{{\ttfamily\textbackslash end\{#1\}}} +\def\LENDStar#1{{\ttfamily\textbackslash end\{#1*\}}} +\def\LENDOptStar#1{{\ttfamily\textbackslash end\{#1\OptArg{*}\}}} +\def\OptArg#1{{\colorbox{black!20}{\ttfamily#1}}} +\def\Coordx#1{$x_{#1}$} +\def\Coordy#1{$y_{#1}$} +\def\Coordz#1{$z_{#1}$} +\def\Coord#1{\Coordx{#1},\kern 1pt\Coordy{#1}} +\def\CAny{\Coordx{},\kern 1pt\Coordy{}} +\def\CIIIAny{\Coordx{},\kern 1pt\Coordy{},\kern 1pt\Coordz{}}% hv +% with brackets +\def\coord#1{(\Coordx{#1},\kern 1pt\Coordy{#1})} +\def\coordiii#1{(\Coordx{#1},\kern 1pt\Coordy{#1},\kern 1pt\Coordy{#1})}% hv +\def\coordx#1{($x_{#1}$)} +\def\coordy#1{($y_{#1}$)} +\def\coordz#1{($z_{#1}$)} +\def\cAny{(\Coordx{},\kern 1pt\Coordy{})} +\def\ciiiAny{(\Coordx{},\kern 1pt\Coordy{},\kern 1pt\Coordy{})}% hv + +\def\mPar#1{\marginpar[\RaggedLeft\small#1]{\RaggedRight\small#1}} +\usepackage{layout} + +\graphicspath{{images/}} +\begin{document} + +\input{MathmodeOrig.tex} + +\end{document} diff --git a/obsolete/info/math/voss/mathmode/Mathmode.pdf b/obsolete/info/math/voss/mathmode/Mathmode.pdf Binary files differnew file mode 100644 index 0000000000..835562771e --- /dev/null +++ b/obsolete/info/math/voss/mathmode/Mathmode.pdf diff --git a/obsolete/info/math/voss/mathmode/Mathmode.tex b/obsolete/info/math/voss/mathmode/Mathmode.tex new file mode 100644 index 0000000000..c8d4bdf844 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/Mathmode.tex @@ -0,0 +1,8282 @@ +%% +%% This is file `Mathmode.tex', +%% +%% IMPORTANT NOTICE: +%% +%% Herbert Voss <hvoss at tug dot org> +%% 2010-10-18 +%% +%% 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 +%% + \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; Juan Mari Alberdi; + Luciano Battaia; + Heiko Bauke; Neal Becker; Andrea Blomenhofer; Alexander Boronka; Walter Brown; + Alexander Buchner; Wilhelm Burger; + Marco Daniel; + Christian Faulhammer; Jos\'e{} Luis G\'omez Dans; + Zongbao Fang; + Sabine Glaser; Sven Gleich; + Azzam Hassam; Gernot Hassenpflug; Henning Heinze; Martin Hensel; Mathias Hoffmann; + Jon Kirwan; + Morten H\o{}gholm; M. Kalidoss; Dan Lasley; + Angus Leeming; Vladimir Lomov; Mico Loretan; Tim Love; Ladislav Lukas; Dan Luecking; + Hendrik Maryns; Heinz Mezera; + David Neuway; + Luis Trucco Passadore; Joachim Punter; + Carl Riehm; Will Robertson; Christoph Rumsm\"uller; + Jos\'e{} Carlos Santos; Arnaud Schmittbuhl; + Rainer Sch\"opf; Jens Schwaiger; Uwe Siart; Martin Sievers; Heiko Stamer; + G. Stengert; Uwe St\"ohr; + Guangjun Tan; + Carsten Thiel; + Juan Luis Varona; + David Weenink; + Philipp Wook; + Michael Zedler; + Zou Yuan-Chuan; + and last but not least a special thanks to Monika Hattenbach for her + excellent job of proofreading. +}} +\date{\today} + +\maketitle + +\begin{abstract} +It is often said that \TeX{} was designed for mathematical or technical purposes. +This may be true when we remember the reasons why Donald Knuth created \TeX{}. But nowadays +there are many examples in which \TeX\ is + used for publications with no mathematical or technical background content. However, +writing publications with such +material is one of the important advantages of \TeX{}. Because it +seems impossible to +know all existing macros and options of \AllTeX{} and the several additional packages, +especially of \AmSmath. This is the reason why I have attempted to gather +all the relevant +facts in this paper. An advanced version of this paper is available as a german book~\cite{voss09} +and also as an english translation~\cite{voss:mathe-E}. +Members of DANTE e.\,V., the german \TeX\ users group, may ask for a special price of the german edition (\url{http://www.dante.de})! + +\vspace{3cm} +\noindent Please report typos or any other comments to this documentation to +\href{mailto:hvoss@tug.org}{hvoss@tug.org}. +%\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 +%\fancypagestyle{plain} +\tableofcontents{} + +\clearpage +\pagestyle{fancy} +\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 there are always math expressions which are in a standard +textline, like this one: $f(x)=\int_{a}^{b}\frac{\sin x}{x}\,\mathrm{d}x$. 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~\vref{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{)} \mPar{\CMD{(}...\CMD{)}}, the problem is that \verb+\(+ is +not a robust macro (see section~\vref{subsec:mathInTitles}). +\item \verb+$ ... $+ \mPar{\$...\$} +\item \CMD{begin\{math\}} ... \CMD{end\{math\}}, also not robust% +\mPar{\CMD{begin\{math\}}\\...\\\CMD{end\{math\}}} +\end{enumerate} + +\index{*@\texttt{\textbackslash\char040}}\index{*@\texttt{\textbackslash\char041}} +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.\index{$@\texttt{\$}} + + +\subsection{Limits}\label{sub:Limits-Inline} + +In the inline mode the \Index{limits} are by default only in +super\index{Superscript} or subscript mode\index{Subscript} and +the fractions\index{Fraction} are always in the \Index{scriptstyle}% +\footnote{See section \vref{sec:Styles}.}\index{scriptstyle} +font size. For +example: $\int_{1}^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1$, which is not too +big for the textline. You % +\mPar{\CMD{limits}}can change this with the command \CIndex{limits}, +which must follow a math operator\footnote{To define a new operator see +page~\pageref{OperatorNames}}\index{Math operator} like % +\mPar{\CMD{int}\\\CMD{lim}\\\CMD{prod}\\\CMD{sum}} + an integral (\CIndex{int}), a sum (\CIndex{sum}), +a product (\CIndex{prod}) or a limes +(\CIndex{lim}). But this $\int\limits_{1}^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1$ +(\lstinline|$\int\limits_{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 % +\mPar{\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 \CIndex{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 \CIndex{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 \CIndex{part}, +\CIndex{chapter}, \CIndex{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+\(...\)+. +The latest package \PIndex{fixltx2e} defines an macro for declaring +existing commands to be robust. The package itself does this already for: + +\begin{lstlisting} +\MakeRobust\( +\MakeRobust\) +\MakeRobust\[ +\MakeRobust\] +\MakeRobust\makebox +\MakeRobust\savebox +\MakeRobust\framebox +\MakeRobust\parbox +\MakeRobust\rule +\MakeRobust\raisebox +\end{lstlisting} + + +If you do not have any contents, index, a.s.o. +you can write the mathstuff in \CIndex{chapter}, \CIndex{section}, +a.s.o without any restriction. Otherwise use \verb+\protect\(+ and \verb+\protect\)+ or the +\verb+$...$+ version.\index{$@\texttt{\$}} + +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. + +\mPar{\CMD{texorpdfstring}}% +There are problems with the \PIndex{hyperref} package when there is no +text part in a title. It is possible with the command \CIndex{texorpdfstring} +to tell \verb+hyperref+ to use different +commands, one for the title and another one for the bookmarks: + +\begin{verbatim} +\texorpdfstring{<TeX part>}{<hyperref part>} +\end{verbatim} + + +\begin{minipage}{\fullwidth} +\begin{lstlisting} +\texorpdfstring{$\int f(x)\,\mathrm{d}x$}{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 \CIndex{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 \LIndex{fboxsep} and \LIndex{fboxrule}, the predefined values +from the file \verb|latex.ltx| are: + +\bigskip +\begin{minipage}{\fullwidth} +\begin{lstlisting} +\fboxsep = 3pt +\fboxrule = .4pt +\end{lstlisting} +\end{minipage} + +The same is possible with the \CIndex{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}\label{subsec: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.\index{$@\texttt{\$}} + +\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, or +% +\begin{verbatim} +\relpenalty=10000 +\binoppenalty=10000 +\end{verbatim} +% +for absolutely no breaks. + +\subsection{Whitespace}\label{subsec:whitespace} +\LaTeX{} defines the length \LIndex{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}\,\mathrm{d}x=1 $} bar & +\begin{minipage}{0.7\linewidth} +\begin{lstlisting} +foo \fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1 $} bar +\end{lstlisting} +\end{minipage}\tabularnewline +% +foo \rule{20pt}{\ht\strutbox}\fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=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}\,\mathrm{d}x=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}\,\mathrm{d}x=1 $} bar & +\begin{minipage}{0.7\linewidth} +\begin{lstlisting} +\setlength{\mathsurround}{20pt} +foo \fbox{$ f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=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{compactenum} +\mPar{\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% +\mPar{\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\}}% +\mPar{\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{compactenum} +\item There is only \textbf{one} equation number for the whole environment. +\item \mPar{\CMD{nonumber}}In standard \LaTeX\ there exists no star-version of the equation environment +because \CIndex{[}\ldots\CIndex{]} is the equivalent. However, with package \AmSmath\ it will be defined. With the tag +\CIndex{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{compactenum} +\end{compactenum} + + +\subsection{\texttt{eqnarray} environment}\label{display:eqnarray} + +This is by default an array with three columns and as many rows as +you like. \mPar{\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 \UIndex{eqnarray} 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~\vref{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 +Suppressing the numbering 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 \CIndex{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 \UIndex{eqnarray} +% +\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{LTXexample}[width=0.5\columnwidth,wide] +\be + f(x) &=& \int\frac{\sin x}{x}\,\mathrm{d}x +\ee +\end{LTXexample} + +\medskip +\noindent or, if you do not want to have a numbered equation as + +\begin{LTXexample}[width=0.5\columnwidth,wide] +\be* + f(x) &=& \int\frac{\sin x}{x}\,\mathrm{d}x +\ee +\end{LTXexample} + + +\subsection{Equation numbering}\label{sub:Equationnumbering} + +For all equations which can have one or % +\mPar{\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 \CIndex{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} + +\mPar{\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 \PIndex{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 % +\mPar{\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 \PIndex{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\,\mathrm{d}x\label{eq:arab1}\\ +g(x) &= \int\frac{1}{x}\,\mathrm{d}x +\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\,\mathrm{d}x\label{eq:arab1}\\ +g(x) &= \int\frac{1}{x}\,\mathrm{d}x +\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} +% +\mPar{\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 \CIndex{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 \PIndex{calc} 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}\,\mathrm{d}x=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}\,\mathrm{d}x=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} +\mPar{\CMD{begin\{array\}}\\...\\\CMD{end\{array\}}} +This is simply the same as the \UIndex{eqnarray} 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 the \UIndex{equation} or the \UIndex{displaymath}. With \verb+@{}+ before the +first and after the last column the additional space \LIndex{arraycolsep} +is not used, which maybe important when using left aligned equations. + +\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 +\UIndex{tabular}. + +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{LTXexample}[pos=b] +\begin{equation} +x=\left\{ \begin{array}{cl} +0 & \textrm{if }A=\ldots\\ +1 & \textrm{if }B=\ldots\\ +x & \textrm{this runs with as much text as you like, but without an raggeright text.}\end{array}\right. +\end{equation} +\end{LTXexample} + + +It is obvious, that we need a \CMD{parbox} if the text is longer than the possible linewidth. + +\begin{LTXexample}[pos=b] +\begin{equation} +x = \left\{% + \begin{array}{l>{\raggedright}p{.5\textwidth}}% + 0 & if $A=\ldots$\tabularnewline + 1 & if $B=\ldots$\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{LTXexample} + + + +\subsection{\texttt{arraycolsep}}\label{sec:arraycolsep} +\mPar{\CMD{arraycolsep}}% +All the foregoing math environments use the array to typeset the math +expression. The predefined separation between two columns is the length +\LIndex{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}\,\mathrm{d}x} +\end{eqnarray*} + +\vspace{-2ex} +\arraycolsep=1.4pt +\begin{eqnarray*} +\boxed{f(x)\xstrut} & \boxed{=\xstrut} & \boxed{\int\frac{\sin x}{x}\,\mathrm{d}x} +\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}\,\mathrm{d}x +\end{eqnarray} +\egroup +\end{lstlisting} + +\begin{lstlisting} +\makeatletter +\newcommand{\be}{% + \begingroup + \setlength{\arraycolsep}{1.4pt} +[ ... ] +\end{lstlisting} + +\section{Matrix}\label{sec:matrix} +\mPar{\CMD{begin\{matrix\}}\\\ldots\\\CMD{end\{matrix\}}\\\CMD{bordermatrix}}% +\TeX{} knows two macros and \LaTeX{} one more for typesetting a +matrix\index{bordermatrix@\textbackslash bordermatrix}: + +\begin{LTXexample} +$\begin{matrix} + A & B & C \\ + d & e & f \\ + 1 & 2 & 3 \\ +\end{matrix}$ +\end{LTXexample} +\vspace{-10pt} +\begin{LTXexample} +$\bordermatrix{% + & 0 & 1 & 2 \cr + 0 & A & B & C \cr + 1 & d & e & f \cr + 2 & 1 & 2 & 3 \cr +}$ +\end{LTXexample} + +\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 +\UIndex{array} or especially the +\AmSmath package offers the same or better macros/environments. Nevertheless it is +possible to redefine the \CIndex{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{LTXexample} +$\bordermatrix{% + & 1 & 2 \cr +1 & x1 & x2 \cr +2 & x3 & x4 \cr +3 & x5 & x6 +}$ +\end{LTXexample} +\vspace{-10pt} +\begin{LTXexample} +$\bordermatrix[{[]}]{% + & 1 & 2 \cr +1 & x1 & x2 \cr +2 & x3 & x4 \cr +3 & x5 & x6 +}$ +\end{LTXexample} +\vspace{-10pt} +\begin{LTXexample} +$\bordermatrix[\{\}]{% + & 1 & 2 \cr +1 & x1 & x2 \cr +2 & x3 & x4 \cr +3 & x5 & x6 +}$ +\end{LTXexample} +\vspace{-10pt} +\begin{LTXexample} +$\bordermatrix*{% + x1 & x2 & 1 \cr + x3 & x4 & 2 \cr + x5 & x6 & 3 \cr + 1 & 2 +}$ +\end{LTXexample} +\vspace{-10pt} +\begin{LTXexample} +$\bordermatrix*[{[]}]{% + x1 & x2 & 1 \cr + x3 & x4 & 2 \cr + x5 & x6 & 3 \cr + 1 & 2 +}$ +\end{LTXexample} +\vspace{-10pt} +\begin{LTXexample} +$\bordermatrix*[\{\}]{% + x1 & x2 & 1 \cr + x3 & x4 & 2 \cr + x5 & x6 & 3 \cr + 1 & 2 +}$ +\end{LTXexample} + + +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 \UIndex{matrix} macro cannot be used together with the \AmSmath package, it redefines +this environment (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 \Index{subscript}, but +writing them in \Index{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} + +\mPar{\CMD{atop}}% +For general information about limits\index{Limits} read section +\vref{sub:Limits-Inline}. With the \TeX\ command \CIndex{atop} +multiple limits for a \CIndex{sum} or \CIndex{prod} are possible. The syntax is: + +\begin{LTXexample}[width=0.4\linewidth] +\[ {above \atop below} \] +\end{LTXexample} + +\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{LTXexample}[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{LTXexample} + + +\bigskip +\mPar{\CMD{shortstack}}% +which is not the best solution because the space between the lines +is too big. +The \AmSmath package provides several commands for +limits (section~\vref{sec:limit-AMS}) and the \CIndex{underset} and \CIndex{overset} +commands (see section~\vref{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 \CIndex{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} \CIndex{sqrt} is the default +for \LaTeX{} and the $n$-th root can be inserted with the optional +parameter \CMD{sqrt[n]\{\ldots\}}. +\mPar{\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 % +\mPar{\CMD{vphantom}}% +\CIndex{vphantom} command, +which reserves the vertical space (without a horizontal one) of the +parameter height. + +\begin{LTXexample}[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{LTXexample} + + +\vspace{-10pt} +\begin{LTXexample}[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{LTXexample} + + +The typesetting looks much better, especially when the formula +has different roots in a row, like equation~\vref{eq:root1}. Using +\AmSmath with the \CIndex{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 % +\mPar{\CMD{leftX}\\\CMD{rightX}} of the \CIndex{left} and \CIndex{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 +\mPar{\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{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$ +\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~\vref{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. + +\mPar{\CMD{biglX}\\\CMD{bigrX}}% +For all commands there exists a left/right version \CIndex{bigl}, +\CIndex{bigr}, \CIndex{Bigl} and so on, which only makes sense when writing things like: + +\begin{LTXexample}[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{LTXexample} + +\LaTeX{} takes the \verb|\biggl)| as a \Index{mathopen symbol}, which has by default +another horizontal spacing. + +In addition to the above commands there exist some more: +\CIndex{bigm}, \CIndex{Bigm}, \CIndex{biggm} and \CIndex{Biggm}, +which work as the standard ones (without the addtional ``m{}'') +but add some more horizontal space% +\mPar{\CMD{bigmX}\\\CMD{bigmX}} % +between the delimiter and the formula before and after (see +table~\vref{cap:Difference-between-the-bigg}). + + + +%$3\bigg|a^2-b^2-c^2\bigg|+2$ +%$3\biggm|a^2-b^2-c^2\biggm|+2$ + +\begin{table}[!htb] +\caption{Difference between the default +\CMD{bigg} and the \CMD{biggm} command}\label{cap:Difference-between-the-bigg} +\begin{LTXexample} +$\bigg(\displaystyle\frac{1}{3}\bigg|\frac{3}{4}\bigg)$ +\end{LTXexample} +\vspace{-15pt} +\begin{LTXexample} +$\bigg(\displaystyle\frac{1}{3}\biggm|\frac{3}{4}\bigg)$ +\end{LTXexample} +\end{table} + + +\newcommand{\xstrut}{\rule{0pt}{0.55cm}} +{\setlength{\hangindent}{-\marginparwidth} +\def\arraystretch{1.5} +\begin{longtable}{@{}l>{\raggedright}p{2.4cm}l>{\raggedright}p{5.7cm}@{}} +\caption{Use of the different parentheses for the ``big{}'' commands} \label{tab:big}\tabularnewline +Char & Code & Example & Code\tabularnewline\hline +\endfirsthead +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 +\end{longtable}} + + + +\clearpage + + +\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} +% +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 \Index{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 \PIndex{braket}. + +\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 \CIndex{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 \FIndex{cmex10} font is the small +thick vertical rule. Now the new delimiter \verb|\Norm| can be used in the usual way: + +\begin{LTXexample}[width=0.3\linewidth,wide] +$\left\Norm *BLA* \right\Norm$ + +$\left\Norm \dfrac{*BLA*}{*BLUB*} \right\Norm$ +\end{LTXexample} + + + +\subsection{Problems with parentheses}\label{subsec:Problems-with-parenthesis} +\mPar{\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{LTXexample}[width=0.425\linewidth,wide] +\[ +\int_\gamma F'(z) dz =\int_\alpha^\beta +F'\left(\gamma (t)\right)\cdot\gamma '(t)dt +\] +\end{LTXexample} + +The problem is that \TeX{} controlls the height of the parenthesis with +\LIndex{delimitershortfall} and \CIndex{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{LTXexample}[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{LTXexample} + +\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 +Table~\vref{cap:Spaces-in-math mode}). There are different ways to write text inside math. + +\mPar{\CMD{textstyle}\\\CMD{mbox}} + +\begin{itemize} +\mPar{\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 \CIndex{textstyle} + (see section~\vref{sec:Styles}), so that you have to place additional +commands when you use \CIndex{mbox} in a super- or subscript for limits. +\end{itemize} + +Inserting long text is possible with a \CIndex{parbox}, which can be aligned as usual to the top, +bottom or center, \eg \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 which, at its end, +switches back to the previous mode. + +\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} + +% +\mPar{\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] +\caption{Fonts in math mode}\label{cap:Fonts-in-math-mode} +\centering +\includegraphics{styles} +\iffalse +\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.pctex.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 +\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} + +\mPar{\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 \Index{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[\CIndex{thinmuskip}] space between ordinary and operator atoms +\item[\CIndex{medmuskip}] space between ordinary and binary atoms in display and text styles +\item[\CIndex{thickmuskip}] space between ordinary and relation atoms in display and text styles +\end{description} + +\subsection{Additional horizontal spacing} +\mPar{\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, +\eg $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 \verb+\boxed{a}+ and +b is \verb+\boxed{b}+. The short forms for some +\mPar{\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 \CIndex{hphantom} in mathmode depends to on object. \CIndex{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{LTXexample}[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{LTXexample} + +This only works when the math symbol is a mathrel one, otherwise you have to change the +horizontal space to \CIndex{medmuskip} or \CIndex{thinmuskip} or to use an empty group after +the \CIndex{hphantom} command. For more informations +about the math objects look into \verb+fontmath.ltx+ or \PIndex{amssymb} or use the \CIndex{show} +macro, which prints out the type of the mathsymbol, \eg \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 \PIndex{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} +\mPar{\CMD{mathpunct}\\\CMD{mathord}}% +In difference to a \Index{decimal point} and a \Index{comma} as a marker of thousands a lot of +countries prefer it vice versa. To get the same behaviour the meaning of \Index{dot} and +comma has to be changed: + + +\begin{align} +1,234,567.89 & \text{ default}\\ +1.234.567,89 & \text{ vice versa, wrong spacing}\label{eq:comma}\\ +1\mathpunct{.}234\mathpunct{.}567{,}89 & \text{ correct spacing} +\end{align} + + +\begin{lstlisting} +%\usepackage{amsmath} +1,234,567.89 & \text{ default}\\ +1.234.567,89 & \text{ vice versa, wrong spacing}\\ +1\mathpunct{.}234\mathpunct{.}567{,}89 & \text{ 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\CIndex{mathord} and \CIndex{mathpunct} +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 \PIndex{icomma}\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:vwhitespace} +\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}\,\mathrm{d}x +\end{equation} +\noindent The line doesn't end before the formula. +\begin{equation} +f(x) = \int\frac{\sin x}{x}\,\mathrm{d}x +\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}\,\mathrm{d}x +\end{equation} +\noindent The line doesn't end before the formula. +\begin{equation} + f(x) = \int\frac{\sin x}{x}\,\mathrm{d}x +\end{equation} +\noindent And the next line starts as usual with some text ... +\end{lstlisting} +%$ + + +\mPar{\texttt{fleqn} class option}% +When using the \verb+fleqn+\index{fleqn@\texttt{fleqn}} classoption for left +aligned equations the math environments \uIndex{equation} +and \CIndex{[}\ldots\CIndex{]} are typeset as a list. This is the reason why the +vertical space is defined by the length registers for a list, especially +\LIndex{topsep}, instead of \LIndex{abovedisplayskip} and \LIndex{belowdisplayskip}. +This doesn't effect the \UIndex{eqnarray}. + + +\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}}\mPar{\CMD{jot}} +The vertical space between the lines for all math expressions which allow multiple +lines can be changed with the length \LIndex{jot}, which is predefined as + +\begin{verbatim} +\newdimen\jot \jot=3pt +\end{verbatim} + +The following three formulas show this for the default value, \verb|\setlength\jot{0pt}| +and \verb|\setlength\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} +\setlength\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} +\setlength\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} +\mPar{\CMD{arraystretch}}% +The vertical space between the lines for all math expressions which contain an +\UIndex{array} can be changed with the command +\CIndex{arraystretch}, which is predefined +as +\begin{verbatim} +\renewcommand\arraystretch{1} +\end{verbatim} + +Renewing this definition is global to all following math expressions, so it should be used +in the same way as \LIndex{jot}. + +\paragraph{\CMD{vskip}}\index{Vertical spacing}\index{Spacing!vertical} +Another spacing for single lines is possible with the \CIndex{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}} +To have all formulas with another vertical spacing, one can choose +the package \PIndex{setspace} and redefining some of the math macros, \eg + +\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{LTXexample}[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{LTXexample} +\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 % +\mPar{\CMD{textstyle}\\ +\CMD{displaystyle}\\ +\CMD{scriptstyle}\\ +\CMD{scripscriptstyle}} fontsize called \CIndex{textstyle}, +which is smaller than the one for a display formula (see section~\ref{display}), which is called +\CIndex{displaystyle}. +Beside this predefinition there are two other special fontstyles for +math, \CIndex{scriptstyle} and \CIndex{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 +\Index{large}, \CIndex{Large}, \ldots\ \textbf{outside} the math environment. +For example a fraction written with \CIndex{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{Fontsize}, 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}\,\mathrm{d}x=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}\,\mathrm{d}x=0.5 +\end{smallequation} +\end{lstlisting} +If you use this the other way round for huge fontsizes, don't forget to load package +\PIndex{exscale} (see section~\vref{sec:exscale}). Also see this section for diffent symbol sizes. + + + +\section{Dots\label{sec:Dots}} + +\mPar{\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 \PIndex{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} +\CIndex{acute}\index{acute@\textbackslash acute} &$\acute{a}$& +\CIndex{bar}\index{bar@\textbackslash bar}&$\bar{a}$& +\CIndex{breve}\index{breve@\textbackslash breve} & $\breve{a}$\\ +\CIndex{bar}\index{bar@\textbackslash bar}&$\bar{a}$& +\CIndex{breve}\index{breve@\textbackslash breve} &$\breve{a}$\tabularnewline +\CIndex{check}\index{check@\textbackslash check} &$\check{a}$& +\CIndex{dddot} \index{dddot@\textbackslash dddot}&$\dddot{a}$& +\CIndex{ddot}\index{ddot@\textbackslash ddot}&$\ddot{a}$\tabularnewline +\CIndex{dot}\index{dot@\textbackslash dot}&$\dot{a}$& +\CIndex{grave}\index{grave@\textbackslash grave}&$\grave{a}$& +\CIndex{hat}\index{hat@\textbackslash hat}&$\hat{a}$\tabularnewline +\CIndex{mathring}\index{mathring@\textbackslash mathring}&$\mathring{a}$& +\CIndex{overbrace}\index{overbrace@\textbackslash overbrace}&$\overbrace{a}$& +\CIndex{overleftarrow}\index{overleftarrow@\textbackslash overleftarrow}&$\overleftarrow{a}$\tabularnewline +\CIndex{overleftrightarrow}\index{overleftrightarrow@\textbackslash overleftrightarrow}&$\overleftrightarrow{a}$& +\CIndex{overline}\index{overline@\textbackslash overline}&$\overline{a}$& +\CIndex{overrightarrow}\index{overrightarrow@\textbackslash overrightarrow}&$\overrightarrow{a}$\tabularnewline +\CIndex{tilde}\index{tilde@\textbackslash tilde}&$\tilde{a}$& +\CIndex{underbar}\index{underbar@\textbackslash underbar}&$\underbar{a}$& +\CIndex{underbrace}\index{underbrace@\textbackslash underbrace}&$\underbrace{a}$\tabularnewline +\CIndex{underleftarrow}\index{underleftarrow@\textbackslash underleftarrow}&$\underleftarrow{a}$& +\CIndex{underleftrightarrow}\index{underleftrightarrow@\textbackslash underleftrightarrow}& +$\underleftrightarrow{a}$& +\CIndex{underline}\index{underline@\textbackslash underline}&$\underline{a}$\tabularnewline +\CIndex{underrightarrow}\index{underrightarrow@\textbackslash underrightarrow}&$\underrightarrow{a}$& +\CIndex{vec}\index{vec@\textbackslash vec}&$\vec{a}$& +\CIndex{widehat}\index{widehat@\textbackslash widehat}&$\widehat{a}$\tabularnewline +\CIndex{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 \CIndex{imath} +and \CIndex{jmath} when an accents is placed over these letters and the dot should +disappear: $\vec{\imath}\ \dddot{\jmath}$ (\verb+$\vec{\imath}\ \dddot{\jmath}$+). + +Accents can be used in different ways, \eg 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 \CIndex{underbracket} and \CIndex{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, \eg \verb/1pt/ +\item the height of the edge brackets, \eg \verb/1em/ +\end{itemize} +using without any parameters gives the same values for thickness and +height as predefined for the \CIndex{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, \eg \verb/1pt/ +\item the height of the edge brackets, \eg \verb/1em/ +\end{itemize} +using without any parameters gives the same values for thickness and +height as predefined for the \CIndex{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 package \PIndex{esvect}% +\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}, \eg + +\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}]% + {Vectors with package \texttt{esvect} (in the right column the default one from \LaTeX{})} +\end{table} + + +Look into the documentation for more details about the package \PIndex{esvect}. + +%$ +\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} + +\index{Upright letters} +For variables with both exponent\index{Exponent} and indice index\index{Indice} +the order is not important, \verb|$a_1^2$| is +exactly the same than \verb|$a^2_1$|: $a_1^2=a^2_1$. By default all exponents and indices +are set as italic characters. It is possible to change this behaviour +to get upright characters. The following example shows this for the indices. + +\bgroup +\begin{LTXexample}[width=4.5cm,preset=\raggedright] +$A_{abc_{xyz}123def}^{abc123def}aa$ + +\makeatletter +\catcode`\_\active +\def_#1{\sb{\operator@font#1}} +\makeatother + +$A_{abc_{xyz}123def}^{abc123def}aa$ +\end{LTXexample} +\egroup + +\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 \CIndex{intop} and \CIndex{int} is that the first one has by default +over/under limits and the second subscript/superscript limits. Both can be changed +with the \CIndex{limits} or \CIndex{nolimits} command. The same behaviour happens to the +\CIndex{ointop} and \CIndex{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{LTXexample}[width=4cm] +\[ \foo_1^2 = x^2 \] +\end{LTXexample} +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{LTXexample}[width=4cm] +\[ \foo\limits_1^2 = x^2 \] +\end{LTXexample} + +\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 \CIndex{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, \eg 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|\lambda| & $\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 \Index{greek} letters are possible with the package \PIndex{bm} (see section~\vref{sec:bm}) +and if they should also be upright with the package \PIndex{upgreek}: +\index{greek!upright}\index{greek!bold} + +\medskip +\verb+$\bm{\upalpha}, \bm{\upbeta} ... $+ $ \bm{\upalpha}, \bm{\upbeta} ... $ + +A useful definition maybe: + +\begin{lstlisting} +\usepackage{upgreek} +\makeatletter +\newcommand{\bfgreek}[1]{\bm{\@nameuse{up#1}}} +\makeatother +\end{lstlisting} + +\makeatletter +\newcommand{\bfgreek}[1]{\bm{\@nameuse{up#1}}} +\makeatother +Then +\verb|$\bfgreek{mu}$| will allow you to type $\bfgreek{mu}$ to obtain an upright boldface $\mu$. + + + +\section{Pagebreaks} +\mPar{\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} + +\CIndex{allowdisplaybreaks} enables \TeX{} to insert pagebreaks into +displayed formulas whenever a newline command appears.\index{Pagebreak} +With the command \CIndex{displaybreak} it is also possible to insert a +pagebreak at any place. + +\section{\CMD{stackrel}} + +\CIndex{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}{=}|). \mPar{\CMD{stackrel}} +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{\mathrel{\stackrel{\mathrm{def}}{=}}}} +\end{lstlisting} +% +With the \CIndex{ensuremath} command we can use the new \CIndex{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}} + +\CIndex{choose}\index{Binom} is like \CIndex{atop} +with delimiters or like \CIndex{frac} +without the fraction line and also with delimiters. It is often used +for binomial coefficients and has the following syntax:\mPar{\CMD{choose}} + +\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}}\,\mathrm{d}x=1 +\end{equation} +\mPar{\CMD{textcolor}} +\begin{lstlisting} +\begin{equation} +\textcolor{blue}{f(x)} = \int\limits_1^{\infty}\textcolor{red}{\frac{1}{x^2}}\,\mathrm{d}x=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} + +\mPar{\CMD{mathversion}\\\CMD{boldmath}\\\CMD{unboldmath}}% +Writing a whole formula in bold\index{boldmath@\textbackslash boldmath} is possible with the command sequence +\CMD{boldmath} \ldots\ \CMD{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 +\CIndex{boldmath}. But it is no problem to put \CIndex{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 \CIndex{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 \PIndex{bm} (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 +\UIndex{description}: + +\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 \CIndex{section} and +\CIndex{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} +\mPar{\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, \eg \verb+\everymath{\displaysize}+. Using this macro doesn't really +make sense, when one is using footnotes because the footnote number is printed as superscript in +inline mathmode and an \CMD{everymath} will be valid, too. +\item[\CMD{everydisplay}] \index{everydisplay@\textbackslash everydisplay} puts the +argument before any displayed math expression, \eg \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)\,\mathrm{d}x} +\] +\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, \eg +\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 symbolic +code for all align environments is: + +\begin{lstlisting} +\begin{<name>} + <name> &= x & x &= x\\ + <name> &= x & x &= x +\end{<name>} +\end{lstlisting} + +\begin{table}[htb] +\caption[Comparison between the different align environments]{Comparison between the different align environments +with the same code, where the first three can have an equation number}\label{cap:align} +\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} + +\end{table} + +In difference to the \UIndex{eqnarray} 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, +\eg \verb+y &= x+. Compare the following three equations, the second one has a wrong spacing. %%% ----- Martin ----- + + +\noindent +~\hfill\includegraphics{amsalign} + +\iffalse +\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} +\fi + +\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, \eg +\begin{LTXexample}[width=0.5\linewidth] +\begin{align*} + 1 & 2 & 3 +\end{align*} +\end{LTXexample} + +\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}} +\mPar{\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} +\mPar{\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{LTXexample}[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{LTXexample} + +\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.\index{Alignment!left}\index{Indentation} + + +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}\,\mathrm{d}x +\end{align} + +\begin{flalign}\label{eq:leftaligned} + f(x) & = \int\frac{1}{x^2}\,\mathrm{d}x & +\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}\,\mathrm{d}x +\end{align} + +\begin{flalign}\label{eq:leftaligned} + f(x) & = \int\frac{1}{x^2}\,\mathrm{d}x & +\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} +\mPar{\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} +\mPar{\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} + +\mPar{\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{LTXexample}[width=0.65\linewidth] +\begin{align} + 2x+3 &= 7\\ +\end{align} +\end{LTXexample} + +\begin{LTXexample}[width=0.65\linewidth] +\begin{align} + 2x+3 &= 7 +\end{align} +\end{LTXexample} +\section{Other environments} + + +\subsection{\texttt{gather} environment} + +\mPar{\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{gathered} environment} +\mPar{\CMD{begin\{gathered\}[c]\\...\\\CMD{end\{gathered\}}}} + +The \verb+gathered+ environment is like the \verb+aligned+ or \verb+alignat+ +\index{gathered}\index{aligned}\index{alignat} +environment. They use only so much horizontal space as the widest line needs. +In difference to the \verb+gather+ environment it must be itself inside the +math mode. +% +\begin{align} +\rule{2cm}{1pt} +\begin{gathered} +\quad i_{11}=0.25\\ +\quad i_{21}=\frac{1}{3}i_{11}\\ +\quad i_{31}=0.33i_{22} +\end{gathered} +\rule{2cm}{1pt} +\end{align} + +% +\begin{lstlisting} +\begin{align} +\rule{2cm}{1pt} +\begin{gathered} +\quad i_{11}=0.25\\ +\quad i_{21}=\frac{1}{3}i_{11}\\ +\quad i_{31}=0.33i_{22} +\end{gathered} +\rule{2cm}{1pt} +\end{align} +\end{lstlisting} +% + +The optional argument can be used for setting the vertical alignment which is +by default c (centered). It can also be t for top or b for bottom. + +\begin{align} +\rule{1cm}{1pt} +\begin{gathered}[t] +\quad A=a\\ +\quad B=b\\ +\quad C=c +\end{gathered} +% +\begin{gathered}[c] +\quad A=a\\ +\quad B=b\\ +\quad C=c +\end{gathered} +% +\begin{gathered}[b] +\quad A=a\\ +\quad B=b\\ +\quad C=c +\end{gathered} +\ \rule{1cm}{1pt} +\end{align} + +\begin{lstlisting} +\begin{align} +\rule{1cm}{1pt} +\begin{gathered}[t] +\quad A=a\\ +\quad B=b\\ +\quad C=c +\end{gathered} +% +\begin{gathered}[c] +\quad A=a\\ +\quad B=b\\ +\quad C=c +\end{gathered} +% +\begin{gathered}[b] +\quad A=a\\ +\quad B=b\\ +\quad C=c +\end{gathered} +\ \rule{1cm}{1pt} +\end{align} +\end{lstlisting} + + +When using a square bracket as first character inside the environment, then +everything is ignored by \AmS until a following closing bracket, because \AmS takes this +as an optional argument: +% +\begin{align} +\begin{gathered} +[A]\quad A=a\\ +[B]\quad B=b\\ +[C]\quad C=c +\end{gathered} +\end{align} +% +\begin{lstlisting} +\begin{align} +\begin{gathered} +[A]\quad A=a\\ +[B]\quad B=b\\ +[C]\quad C=c +\end{gathered} +\end{align} +\end{lstlisting} +% +The \verb+[A]+ is completely ignored, which can be avoided by using the +optional argument \verb+[c]+ or at least an empty one directly +after the \verb+\begin{gather}+. Another possibility is using the package \verb+empheq+, +which fixes this behaviour by default. +% +\begin{align} +\begin{gathered}[] +[A]\quad A=a\\ +[B]\quad B=b\\ +[C]\quad C=c +\end{gathered} +\end{align} +% +\begin{lstlisting} +\begin{align} +\begin{gathered}[] +[A]\quad A=a\\ +[B]\quad B=b\\ +[C]\quad C=c +\end{gathered} +\end{align} +\end{lstlisting} +% + + +\subsection{\texttt{multline} environment} +\mPar{\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} + +\subsubsection{Examples for \texttt{multline}}\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} +% +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}. + + +A math expression with a very long fraction like the following one, which runs out +of the margin +could be written as a multiplication to avoid the fraction line. +% +%\begin{LTXexample}[pos=t,xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{equation} +\frac{\mathrm{d}G_\infty}{\mathrm{d}n}=\frac{\left[1-e^{-pn}\right] + \left[Q\left(n\right)-pR\left(n\right)+R'\left(n\right)\right]e^{-pn} + -\left[-\frac{Q \left(n\right)e^{-pn}}{p}+\frac{Q\left(0\right)}{p}+R + \left(n\right)e^{-pn} - A\right] pe^{-pn}}{\left({1-e^{-pn}}\right)^2} = 0 +\end{equation} +%\end{LTXexample} +% +\begin{lstlisting}[xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{equation} +\frac{\mathrm{d}G_\infty}{\mathrm{d}n}=\frac{\left[1-e^{-pn}\right] + \left[Q\left(n\right)-pR\left(n\right)+R'\left(n\right)\right]e^{-pn} + -\left[-\frac{Q \left(n\right)e^{-pn}}{p}+\frac{Q\left(0\right)}{p}+R + \left(n\right)e^{-pn} - A\right] pe^{-pn}}{\left({1-e^{-pn}}\right)^2} = 0 +\end{equation} +\end{lstlisting} +% +With the \verb+multline+ environment it can then be split into two or more parts: +% +\begin{LTXexample}[pos=t,xleftmargin=-1cm,xrightmargin=-1.5cm] +\begin{multline} +\frac{\mathrm{d}G_\infty}{\mathrm{d}n} = + \frac{1}{\left( {1-e^{-pn}} \right)^2 }\cdot + \left\{\vphantom{\frac{Q}{p}}% >>>> to get the correct height <<<<< + \left[ 1-e^{-pn} \right] \left[ Q \left( n \right) - pR + \left( n \right) + R'\left( n \right) \right]e^{-pn}\right.\\ + - \left.\left[-\frac{Q \left( n \right) e^{-pn}}{p} + + \frac{Q \left( 0 \right)}{p} + R \left( n \right) e^{-pn} + - A\right] pe^{-pn}\right\} = 0 +\end{multline} +\end{LTXexample} + + + +\subsection{\texttt{split} environment}\label{split} + +\mPar{\CMD{begin\{split\}\\...\\\CMD{end\{split\}}}}% +\makeatletter +\@removefromreset{equation}{section} +\makeatother +% +\begin{leftbar} +\noindent 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: +\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 don't permit 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))\,\mathrm{d}x\right|+\left|\int_{1}^{2}(g(x)-h(x))\,\mathrm{d}x\right|\\ + & =\left|\int_{0}^{1}(x^{2}-3x)\,\mathrm{d}x\right|+\left|\int_{1}^{2}(x^{2}-5x+6)\,\mathrm{d}x\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))\,\mathrm{d}x\right| +\left| + \int _{1}^{2}(g(x)-h(x))\,\mathrm{d}x\right| \\ + & = \left| \int _{0}^{1}(x^{2}-3x)\,\mathrm{d}x\right| +\left| + \int _{1}^{2}(x^{2}-5x+6)\,\mathrm{d}x\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))\,\mathrm{d}x\right|+\left|\int_{1}^{2}(g(x)-h(x))\,\mathrm{d}x\right|\\ + & =\left|\int_{0}^{1}(x^{2}-3x)\,\mathrm{d}x\right|+\left|\int_{1}^{2}(x^{2}-5x+6)\,\mathrm{d}x\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} + +Compare the following two examples for typesetting the minus sign. In the first case it +is typeset similiar to the plus character, and in the second example it is typeset +without the additional space for a binary math atom. + +\begin{minipage}{0.49\linewidth} +\begin{align} +\begin{split} +a = {} & -b + c \\ + & -d + e +\end{split} +\end{align} +% +\begin{align} +\begin{split} +a = {} & {-}b + c \\ + & {-}d + e +\end{split} +\end{align} +\end{minipage}\hfill +\begin{minipage}{0.49\linewidth} +\begin{lstlisting} +\begin{align} +\begin{split} +a = {} & -b + c \\ + & -d + e +\end{split} +\end{align} +% +\begin{align} +\begin{split} +a = {} & {-}b + c \\ + & {-}d + e +\end{split} +\end{align} +\end{lstlisting} +\end{minipage} + +\begin{itemize} +\item There exists no starred version (\texttt{\textbackslash{}begin\{split{*}\}}) %%% ----- Martin ----- +of the \texttt{split} environment. +\end{itemize} + + +\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}$ +\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} +\noindent 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: +\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 +\mPar{% +\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:vwhitespace} 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} + +\mPar{\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 % +\mPar{\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, \eg +$\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} + +\mPar{\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 % +\mPar{\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} \mPar{\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) & =\,\mathrm{d}x^{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) & =\,\mathrm{d}x^{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 \mPar{\textbackslash{}substack% +} +has an additional command for that, which +can have several lines with the following syntax: +\mPar{\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 \mPar{\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} + +\mPar{\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. + +\mPar{\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}. + +\mPar{\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} +\mPar{% +\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))\,\mathrm{d}x\right| +\left| \int _{1}^{2}(g(x)-h(x))\,\mathrm{d}x\right| \\ + & = \left| \int _{0}^{1}(x^{2}-3x)\,\mathrm{d}x\right| +\left| \int _{1}^{2}(x^{2}-5x+6)\,\mathrm{d}x\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))\,\mathrm{d}x\right| +\left| \int _{1}^{2}(g(x)-h(x))\,\mathrm{d}x\right| \\ + & = \left| \int _{0}^{1}(x^{2}-3x)\,\mathrm{d}x\right| +\left| \int _{1}^{2}(x^{2}-5x+6)\,\mathrm{d}x\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} +\mPar{% + \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 arrow 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} +\mPar{\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}\,\mathrm{d}x=1} +\end{align} + +\begin{lstlisting} +\begin{align} +\boxed{f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=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} +\mPar{\CMD{pmb}\\\CMD{boldsymbol}}% +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. However, +using the \CMD{boldsymbol} macro from \AmSmath{} is the better way when the font +has a bold symbol. +\index{boldsymbol@\CMD{boldsymbol}} + +Uppercase greek letters are by default in upright mode. \AmSmath\ supports also +such letters in italic mode with a preceeding \verb+var+ e.g., \verb+\varGamma+ + +\medskip +\begin{tabular}{ccc|cc} +\emph{letter} & \CMD{pmb}\verb+{letter}+ & \CMD{boldsymbol}\verb+{letter}+ & \emph{letter} & \emph{italic}\\ +$\alpha$ & $\pmb{\alpha}$ & $\boldsymbol{\alpha}$ & $\Gamma$ & $\varGamma$\\ +$\beta$ & $\pmb{\beta}$ & $\boldsymbol{\beta}$ & $\Delta$ & $\varDelta$\\ +$\gamma$ & $\pmb{\gamma}$ & $\boldsymbol{\gamma}$ & $\Theta$ & $\varTheta$\\ +$\delta$ & $\pmb{\delta}$ & $\boldsymbol{\delta}$ & $\Lambda$ & $\varLambda$\\ +$\epsilon$ & $\pmb{\epsilon}$ & $\boldsymbol{\epsilon}$ & $\Xi$ & $\varXi$\\ +$\varepsilon$ & $\pmb{\varepsilon}$ & $\boldsymbol{\varepsilon}$ & $\Pi$ & $\varPi$\\ +$\zeta$ & $\pmb{\zeta}$ & $\boldsymbol{\zeta}$ & $\Sigma$ & $\varSigma$\\ +$\eta$ & $\pmb{\eta}$ & $\boldsymbol{\eta}$ & $\Upsilon$ & $\varUpsilon$\\ +$\theta$ & $\pmb{\theta}$ & $\boldsymbol{\theta}$ & $\Phi$ & $\varPhi$\\ +$\vartheta$ & $\pmb{\vartheta}$ & $\boldsymbol{\vartheta}$ & $\Psi$ & $\varPsi$\\ +$\iota$ & $\pmb{\iota}$ & $\boldsymbol{\iota}$ & $\Omega$ & $\varOmega$\\ +$\ldots$ & $\ldots$ & $\ldots$ +\end{tabular} + + +\section{Miscellaneous commands}\label{sec:misc-AMS} + +There are several commands which can be used in math mode:\mPar{\CMD{overset}\\\CMD{underset}} + +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 +\verb+\boldsymbol{\Omega}+ & $\boldsymbol{\Omega}$ +\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 ----- +\CMD{boldsymbol} can be used for a math symbol that remains unaffected by +\CMD{mathbf} if the current math font set includes a bold version of that symbol. + + +\section{Problems with \texttt{amsmath}} +\AmSmath{} is an excellent package with some ``funny features''. +When using an \verb+align+ environment inside a \verb+gather+ environment, it should +be centered just like the other lines. This is only true, when there is a number/tag or +an additional ampersand: + + +%\begin{LTXexample}[pos=t] +\begin{gather*} + \begin{align*} + m_2 &= m_2' + m_2''\\ + &= \frac{V_2'}{v_2'} + \frac{V_2''}{v_2''} + \end{align*}\\ + \Rightarrow m_2 v_2' = V - V_2'' + V_2''\frac{v_2'}{v_2''}\\ +\end{gather*} +\begin{gather*} + \begin{align*} + m_2 &= m_2' + m_2''\\ + &= \frac{V_2'}{v_2'} + \frac{V_2''}{v_2''} & %<<<==== + \end{align*}\\ + \Rightarrow m_2 v_2' = V - V_2'' + V_2''\frac{v_2'}{v_2''}\\ +\end{gather*} +%\end{LTXexample} + +\begin{lstlisting} +\begin{gather*} + \begin{align*} + m_2 &= m_2' + m_2''\\ + &= \frac{V_2'}{v_2'} + \frac{V_2''}{v_2''} + \end{align*}\\ + \Rightarrow m_2 v_2' = V - V_2'' + V_2''\frac{v_2'}{v_2''}\\ +\end{gather*} +\begin{gather*} + \begin{align*} + m_2 &= m_2' + m_2''\\ + &= \frac{V_2'}{v_2'} + \frac{V_2''}{v_2''} & %<<<==== + \end{align*}\\ + \Rightarrow m_2 v_2' = V - V_2'' + V_2''\frac{v_2'}{v_2''}\\ +\end{gather*} +\end{lstlisting} + + +This effect depends to the horizontal width, which is wrong in the first example, +in fact of a missing tag or number the right whitespace is cut, but the left one +is still there. The additional ampersand prevents \AmSmath{} to change the right +margin. + +Another kind of curiousity is the following example, which depends to the +same problem of cutting whitespace only on one side. + +\bigskip\noindent% +%\begin{LTXexample}[pos=t] +\fbox{% +\begin{minipage}{10cm} +\begin{align*} + a&=b \\ c&=d +\end{align*} +\end{minipage}} + +\noindent\fbox{% +\begin{minipage}{10cm} +\noindent\begin{align*} + a&=b \\ c&=d +\end{align*} +\end{minipage}} +%\end{LTXexample} + +\bigskip +\begin{lstlisting} +\bigskip\noindent\fbox{% +\begin{minipage}{10cm} +\begin{align*} + a&=b \\ c&=d +\end{align*} +\end{minipage}} + +\noindent\fbox{% +\begin{minipage}{10cm} +\noindent\begin{align*} + a&=b \\ c&=d +\end{align*} +\end{minipage}} +\end{lstlisting} + + + +\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{LTXexample}[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{LTXexample} + +\begin{LTXexample}[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{LTXexample} + +\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{LTXexample}[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{LTXexample} + +\begin{LTXexample}[width=0.2\linewidth] +$\left(\left(\left(A\right)\right)\right)$\\[7pt] + +$\delimitershortfall-1pt +\left(\left(\left(A\right)\right)\right)$ +\end{LTXexample} + + +\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.\index{Indentation} + +The following formula is typeset in the usual way without modifying anything. + +\[ f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x \] + +Now we start a quotation environment which sets \CIndex{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}\,\mathrm{d}x \] + +\item Now we write the same equation, but now with modifying \Index{displayindent}, it is set to +the negative \verb+\leftskip+: + +\[ + \displayindent=-\labelwidth + f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x +\] +\end{itemize} + +\begin{lstlisting} +\[ + \displayindent=-\leftskip + f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x +\] +\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}\,\mathrm{d}x \] +\[ + \displaywidth=0.5\linewidth + f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x +\] +\begin{lstlisting} +\[ f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x \] +\[ + \displaywidth=0.5\linewidth + f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x +\] +\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, +\eg \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{LTXexample}[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{LTXexample} + +\begin{LTXexample}[width=0.35\linewidth] +\[\int\int_D \mathrm{d}x\mathrm{d}y \quad + \int\!\int_D \mathrm{d}x\,\mathrm{d}y\] +\[\int\!\!\int_D \mathrm{d}x\,\,\mathrm{d}y \quad + \int\!\!\!\int_D \mathrm{d}x\,\,\,\mathrm{d}y\] +\[\int\!\!\!\!\int_D \mathrm{d}x\,\,\,\,\mathrm{d}y \quad + \int\!\!\!\!\!\int_D \mathrm{d}x\,\,\,\,\,\mathrm{d}y\] +\[\int\!\!\!\int_D \mathrm{d}x\,\mathrm{d}y\] +\end{LTXexample} + +\subsection{\CMD{medmuskip}} +See section~\ref{subsec:mathskip}. + + +\section{Math font macros} +\subsection{\CMD{delcode}} +\cIndex{delcode}Each character has not only a \CIndex{catcode} and \CIndex{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 \CIndex{DeclareMathDelimiter} should be used (see section~\vref{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{LTXexample}[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{LTXexample} + +\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+ is an internal register where other macros can check which font is the actual one. At the beginning \TeX{} starts with \verb+\fam=-1+. + +\bigskip +\noindent +\includegraphics{family} +\iffalse + +\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{LTXexample}[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{LTXexample} +\fi + +\subsection{\CMD{mathaccent}} +\cIndex{mathaccent}Requires three parameter as one number, the class, the font family and the character. + +\begin{LTXexample}[width=0.3\linewidth] +\def\dA{\mathaccent"7015\relax} +{\Large $\dA{A}$} +\end{LTXexample} + +\subsection{\CMD{mathbin}} +\cIndex{mathbin}Declares a following character as a binary symbol with another +spacing before and behind such a symbol. + +\begin{LTXexample}[width=0.3\linewidth] +{\Large +$a|b \quad a\mathbin| b$} +\end{LTXexample} + +\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{LTXexample}[width=0.3\linewidth] +{\Large +$a\sum\limits_{i=1}^{\infty} b \quad + a\mathchar"1358\limits_{i=1}^{\infty} b$} +\end{LTXexample} + +\subsection{\CMD{mathchardef}} +\cIndex{mathchardef}This is in principle the same as \CIndex{mathchar}, +it only allows to make such definitions permanent. + +\begin{LTXexample}[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{LTXexample} + + +\subsection{\CMD{mathchoice}} +\cIndex{mathchoice}Specifies specific subformula sizes for the 4 main styles: +\CIndex{displaystyle} -- \CIndex{textstyle} -- +\CIndex{scriptstyle} -- \CIndex{scriptscriptstyle}. + +\begin{LTXexample}[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{LTXexample} + +\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{LTXexample}[width=0.2\linewidth] +{\large +$A:\frac{B}{C}:D$\\[5pt] +$A\mathopen:\frac{B}{C}\mathclose: D $} +\end{LTXexample} + + +\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, \eg +\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{LTXexample}[width=0.2\linewidth] +\[ A_{i=1}^{\infty} \] +\[ \mathop{A}_{i=1}^{\infty} \] +\end{LTXexample} + +\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{LTXexample}[width=0.2\linewidth] +{\large +$y = f(x)$\\[5pt] +$y \mathord= f(x)$} +\end{LTXexample} + +\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{LTXexample}[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{LTXexample} + + +\subsection{\CMD{scriptfont}} +\cIndex{scriptfont}Specifies the scriptstyle font (used for super/subscript) for a family. + +\begin{LTXexample}[width=0.25\linewidth] +$A_1$ +\font\tenxii=cmr12 +\scriptfont0=\tenxii +$A_1$ +\end{LTXexample} + + +\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 the package \PIndex{amsmath} is loaded, like +in this document. + +\begin{LTXexample}[width=0.2\linewidth] +\large +$\tilde i$ \qquad $\tilde{A}$\\[5pt] +$\skew{3}{\tilde}{i}$ \qquad $\skew{7}{\tilde}{A}$ +\end{LTXexample} + +\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{LTXexample}[width=0.2\linewidth] +$a\above0pt b$\\[8pt] + +${a\above1pt b}$\\[8pt] + +${a\above2.5pt b}$\\[8pt] + +$\displaystyle{a\above0pt b}$ +\end{LTXexample} + + + +\subsection{\CMD{abovewithdelims}} +\cIndex{abovewithdelims} +\begin{LTXexample}[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{LTXexample} + +\subsection{\CMD{atop}} +\cIndex{atop} + +\begin{LTXexample}[width=0.2\linewidth] +$a\atop b$\\[8pt] + +$({n \atop k}) = {n!\above1pt k!(n-k)!}$\\[8pt] + +$\displaystyle{a\atop b}$ +\end{LTXexample} + + +\subsection{\CMD{atopwithdelims}} +\cIndex{atopwithdelims} +\begin{LTXexample}[width=0.2\linewidth] +$a\atopwithdelims() b$\\[8pt] + +${n \atopwithdelims() k} = {n!\above1pt k!(n-k)!}$\\[8pt] + +$\displaystyle{a\atopwithdelims\{. b}$ +\end{LTXexample} + +\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{LTXexample}[width=0.5\linewidth] +\[ y=f(x) \eqno{(A12)} \] +\end{LTXexample} + +\subsection{\CMD{everydisplay}} +\cIndex{everydisplay}Inserts the parameter at the start of every switch to display math mode. + +\begin{LTXexample}[width=0.4\linewidth] +\everydisplay{\color{red} +} +\[ f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x \] +\[ g(x) = \int \frac{\sin^2 x}{x^2}\,\mathrm{d}x \] +\end{LTXexample} + +\subsection{\CMD{everymath}} +\cIndex{everymath}Same as \CIndex{everydisplay}, but now for the inline mode. +In the following example +the displaystyle is used (besides using color red) for every inline math expression. + +\bgroup +\begin{LTXexample}[width=0.45\linewidth] +\everymath{\color{red}% + \displaystyle} +\[ f(x) = \int \frac{\sin x}{x}\,\mathrm{d}x \] +Instead of $\frac{\sin x}{x}$ + now with $\frac{\cos x}{x}$: +\[ g(x) = \int \frac{\cos x}{x}\,\mathrm{d}x \] +\end{LTXexample} +\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~\vref{subsec:eqno}). + +\subsection{\CMD{limits}} +\cIndex{limits}Typesets limits above and/or below operators (see section~\vref{sec:limits}). + +\subsection{\CMD{mathinner}} +\cIndex{mathinner}Defines the following parameter as subformula. + +\subsection{\CMD{nolimits}} +\cIndex{nolimits}The opposite of \CIndex{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~\vref{subsec:overwithdelims}. + +\begin{LTXexample}[width=0.2\linewidth] +$ {a\over b} \qquad {{m\over n}\over{a+b}} $ +\[ {m\over n}\over{a+b} \] +\end{LTXexample} + + +\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{LTXexample}[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{LTXexample} + +\subsection{\CMD{overwithdelims}}\label{subsec:overwithdelims} +\cIndex{overwithdelims}Is a generalized fraction command with preset fraction bar thickness. %%% ----- Martin ----- + +\begin{LTXexample}[width=0.25\linewidth] +$ {a\overwithdelims() b} \qquad {{m\over n}\overwithdelims[]{a+b}} $ +\[ {m\over n}\overwithdelims\{.{a+b} \] +\end{LTXexample} + + +\subsection{\CMD{radical}} +\cIndex{radical}Makes a radical atom from the delimiter (27-bit number) and the math field. + +\begin{LTXexample}[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{LTXexample} + +\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{LTXexample}[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{LTXexample} + +\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} +\markboth{Math packages}{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/mathtools.html}{mathtools}\\ +\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 2007/12/03 v2.12 Emphasizing equations (MH) + amscd.sty 1999/11/29 v2.0 + accents.sty 2000/08/06 v1.2 Math Accent Tools + framed.sty 2007/10/04 v 0.95: framed or shaded text with page breaks +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.tex 2008/11/26 v1.01 PSTricks package for nodes (tvz,hv) +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} +} + + +\subsection{\texttt{accents}}\label{sec:package-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 \CMD{underline} and \CMD{underbar}. For %%% ----- Martin ----- +some reasons it may be better to use the \PIndex{accent} package with the +\CMD{underaccents} macro. + +\subsection{\texttt{amscd} -- commutative diagrams} + +The \PIndex{amscd} package 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} does not support diagonal arrows but is much %%% ----- Martin ----- +easier to handle than the complex \PIndex{pstricks} package or +the \PIndex{xypic} package. On the other hand simple diagrams +can be written with the \UIndex{array} 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} + + +\subsection{\texttt{amsopn}}\label{sec:amsopn} +With the \PIndex{amsopn} 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} + + +\subsection{\texttt{bigdel}}\label{sec:bigdelim} +This is a very useful package together with the \PIndex{multirow} package. +In the following example we need additional parentheses for a different +number of rows. This is also possible with the \UIndex{array}, +but not as easy as with the \PIndex{bigdelim} package. 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 \UIndex{array} +there must be two more columns defined, in case of a big delimiter left and +right. The syntax of \CIndex{ldelim} and \CIndex{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 \CIndex{left} or \CIndex{right} command +is allowed, \eg ``\verb/()[]{}|/''. The text is an optional argument and +always typeset in text mode. + +\subsection{\texttt{bm}}\label{sec:bm} +By default the math macro \CIndex{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)}$|), which is possible with the package \PIndex{bm}. +For writing a whole formula in bold have a look at section~\vref{sec:boldmath}. + + +\subsection{\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 quite 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 \CIndex{vphantom}: + +\[ +\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} + +The package \PIndex{braket} 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 \CIndex{Set} and the \CIndex{Braket} macro is the handling of the +vertical lines. In \CIndex{Set} only the first one gets the same size as the +braces\index{Braces} and in \CIndex{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. + + +\subsection{\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 \CIndex{hcancel} +with an optional argument +for the line color (requires package \PIndex{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 \CIndex{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} + + +\subsection{\texttt{cool}}\label{cool} +The \PIndex{cool} package defines a lot of special mathematical expressions +to use them by the macro name. The following list shows only some of +them, for more informations look at the example file, which comes with +the package. + +\bgroup +\parindent=0pt +\bigskip +\begin{tabular}{@{}ll@{}} +\CIndex{Sin}\verb|{x}| & $\displaystyle \Sin{x}$\\ +\CIndex{Cos}\verb|{x}| & $\displaystyle \Cos{x}$\\ +\CIndex{Tan}\verb|{x}| & $\displaystyle \Tan{x}$\\ +\CIndex{Csc}\verb|{x}| & $\displaystyle \Csc{x}$\\ +\CIndex{Sec}\verb|{x}| & $\displaystyle \Sec{x}$\\ +\CIndex{Cot}\verb|{x}| & $\displaystyle \Cot{x}$ +\end{tabular} + +\bigskip +\Style{ArcTrig=inverse}% +\CMD{Style\{ArcTrig=inverse\}} (default) + +\bigskip +\begin{tabular}{@{}ll@{}} +\CIndex{ArcSin}\verb|{x}|& $\displaystyle \ArcSin{x}$\\ +\CIndex{ArcCos}\verb|{x}|& $\displaystyle \ArcCos{x}$\\ +\CIndex{ArcTan}\verb|{x}|& $\displaystyle \ArcTan{x}$ +\end{tabular} + +\bigskip +\Style{ArcTrig=arc} +\CMD{Style\{ArcTrig=arc\}} + +\bigskip +\begin{tabular}{@{}ll@{}} +\CIndex{ArcSin}\verb|{x}| & $\displaystyle \ArcSin{x}$\\ +\CIndex{ArcCos}\verb|{x}| & $\displaystyle \ArcCos{x}$\\ +\CIndex{ArcTan}\verb|{x}| & $\displaystyle \ArcTan{x}$\\ +\CIndex{ArcCsc}\verb|{x}| & $\displaystyle \ArcCsc{x}$\\ +\CIndex{ArcSec}\verb|{x}| & $\displaystyle \ArcSec{x}$\\ +\CIndex{ArcCot}\verb|{x}| & $\displaystyle \ArcCot{x}$ +\end{tabular} + + +\bigskip +\begin{tabular}{@{}ll@{}} +\CIndex{Factorial}\verb|{n}| & $\displaystyle \Factorial{n}$\\ +\CIndex{DblFactorial}\verb|{n}| & $\displaystyle \DblFactorial{n}$\\ +\CIndex{Binomial}\verb|{n}{k}| & $\displaystyle \Binomial{n}{k}$\\ +\CIndex{Multinomial}\verb|{1,2,3,4}|& $\displaystyle \Multinomial{i_1,\ldots,i_n}$ +\end{tabular} + +\bigskip +\begin{tabular}{@{}ll@{}} +\CIndex{GammaFunc}\verb|{x}| & $\displaystyle \GammaFunc{x}$\\ +\CIndex{IncGamma}\verb|{a}{x}| & $\displaystyle \IncGamma{a}{x}$\\ +\CIndex{GenIncGamma}\verb|{a}{x}{y}|& $\displaystyle \GenIncGamma{a}{x}{y}$ \\ +\CIndex{RegIncGamma}\verb|{a}{x}|& $\displaystyle \RegIncGamma{a}{x}$ \\ +\CIndex{RegIncGammaInv}\verb|{a}{x}|& $\displaystyle \RegIncGammaInv{a}{x}$ \\ +\CIndex{GenRegIncGamma}\verb|{a}{x}{y}| & $\displaystyle \GenRegIncGamma{a}{x}{y}$\\ +\CIndex{GenRegIncGammaInv}\verb|{a}{x}{y}|& $\displaystyle \GenRegIncGammaInv{a}{x}{y}$\\ +\CIndex{Pochhammer}\verb|{a}{n}| & $\displaystyle \Pochhammer{a}{n}$ \\ +\CIndex{LogGamma}\verb|{x}| & $\displaystyle \LogGamma{x}$ +\end{tabular} + + +\bigskip + +\begin{tabular}{@{}ll@{}} +\CIndex{Hypergeometric}\verb|{0}{0}{}{}{x}| & $\displaystyle \Hypergeometric{0}{0}{}{}{x}$\\ +\CIndex{Hypergeometric}\verb|{0}{1}{}{b}{x}|& $\displaystyle \Hypergeometric{0}{1}{}{b}{x}$ +\end{tabular} + + +\bigskip +\begin{tabular}{@{}ll@{}} +\CIndex{RegHypergeometric}\verb|{0}{0}{}{}{x}| & $\displaystyle \RegHypergeometric{0}{0}{}{}{x}$\\ +\CIndex{RegHypergeometric}\verb|{0}{1}{}{b}{x}|& $\displaystyle \RegHypergeometric{0}{1}{}{b}{x}$ +\end{tabular} + + + +\bigskip +\begin{tabular}{@{}l@{}} +\CIndex{MeijerG}\verb|[a,b]{n}{p}{m}{q}{x}| \\ + \hspace*{2cm} $\displaystyle \MeijerG[a,b]{n}{p}{m}{q}{x}$ \\ +\CIndex{MeijerG}\verb|{1,2,3,4}{5,6}{3,6,9}{12,15,18,21,24}{x}| \\ + \hspace*{2cm} $\displaystyle \MeijerG{1,2,3,4}{5,6}{3,6,9}{12,15,18,21,24}{x}$ +\end{tabular} + +\index{Zeta!Functions} +\index{Polylogarithm} +\index{Zeta!Riemann} +\index{Zeta!Hurwitz} +\index{Zeta} + +\bigskip +\begin{tabular}{@{}ll@{}} +\CIndex{RiemannZeta}\verb|{s}| & $\displaystyle \RiemannZeta{s}$\\ +\CIndex{Zeta}\verb|{s}| & $\displaystyle \Zeta{s}$\\ +\CIndex{HurwitzZeta}\verb|{s}{a}|& $\displaystyle \HurwitzZeta{s}{a}$\\ +\CIndex{Zeta}\verb|{s,a}| & $\displaystyle \Zeta{s,a}$ \\ +\CIndex{RiemannSiegelTheta}\verb|{x}|& $\displaystyle \RiemannSiegelTheta{x}$ \\ +\CIndex{RiemannSiegelZ}\verb|{x}| & $\displaystyle \RiemannSiegelZ{x}$ \\ +\CIndex{StieltjesGamma}\verb|{n}| & $\displaystyle \StieltjesGamma{n}$ +\end{tabular} + + +\index{Mathieu!Functions} +\index{Mathieu!Characteristics} + +\bigskip +\begin{tabular}{@{}ll@{}} +\CIndex{MathieuC}\verb|{a}{q}{z}| & $\displaystyle \MathieuC{a}{q}{z}$ \\ +\CIndex{MathieuS}\verb|{a}{q}{z}| & $\displaystyle \MathieuS{a}{q}{z}$ +\end{tabular} + + +\bigskip +\begin{tabular}{@{}ll@{}} +\CIndex{MathieuCharacteristicA}\verb|{r}{q}|& $\displaystyle \MathieuCharacteristicA{r}{q}$ \\ +\CIndex{MathieuCharisticA}\verb|{r}{q}| & $\displaystyle \MathieuCharisticA{r}{q}$ \\ + +%%%%%%% Characteristic Value of Even Mathieu Fucntion b_r(q) +\CIndex{MathieuCharacteristicB}\verb|{r}{q}|& $\displaystyle \MathieuCharacteristicB{r}{q}$ \\ +\CIndex{MathieuCharisticB}\verb|{r}{q}|& $\displaystyle \MathieuCharisticB{r}{q}$ \\ + +%%%%%%%% Characteristic Exponent of a Mathieu Fucntion r(a,q) +\CIndex{MathieuCharacteristicExponent}\verb|{a}{q}|& $\displaystyle \MathieuCharacteristicExponent{a}{q}$\\ +\CIndex{MathieuCharisticExp}\verb|{a}{q}|& $\displaystyle \MathieuCharisticExp{a}{q}$ +\end{tabular} +\egroup + +\subsection{\texttt{delarray}}\label{delarray} + +Package \PIndex{delarray}% +\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>}{}'', \eg ``\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{} + +The \PIndex{delarray} package expects a pair of delimiters. If you need only +one (like the cases structure) then use the dot for an ``empty'' +delimiter, \eg + +\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. + + +\subsection{\texttt{dotseqn}}\label{dotseqn} +This package% +\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/contrib/dotseqn/}% +{CTAN://macros/latex/contrib/dotseqn}} fills the space between the math +expression and the equation +number with dots. Expect problems when using this package together with \AmSmath. + +\begingroup +\makeatletter +% package couldn't be loaded, it redefines the math +% environments +\newcommand\EqnDots{\leaders\hbox{\kern4\p@ .\kern4\p@}\hfill} +\@ifundefined{mathindent}{\newdimen\mathindent \mathindent\leftmargini}{} +\renewcommand{\[}{\relax \ifmmode\@badmath \else + \begin{trivlist}% + \@beginparpenalty\predisplaypenalty \@endparpenalty\postdisplaypenalty + \item[]\leavevmode \hbox to\linewidth\bgroup $\m@th\displaystyle %$ + \hskip\mathindent\bgroup + \fi} +\renewcommand{\]}{\relax\ifmmode \egroup $\hfil% $ + \egroup \end{trivlist}% + \else \@badmath \fi} +\renewenvironment{equation}% + {\@beginparpenalty\predisplaypenalty \@endparpenalty\postdisplaypenalty + \refstepcounter{equation}\trivlist \item[]\leavevmode + \hbox to\linewidth\bgroup $\m@th% $ + \displaystyle \hskip\mathindent}% + {$\EqnDots % $ Replace `\hfil' with dotted leaders `\EqnDots'. + \displaywidth\linewidth\hbox{\@eqnnum}\egroup \endtrivlist} +\renewenvironment{eqnarray}{% + \stepcounter{equation}% + \def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue \m@th \global\@eqcnt\z@ \tabskip\mathindent + \let\\\@eqncr \setlength\abovedisplayskip\topsep + \ifvmode \addtolength\abovedisplayskip\partopsep \fi + \addtolength\abovedisplayskip\parskip + \setlength\belowdisplayskip\abovedisplayskip + \setlength\belowdisplayshortskip\abovedisplayskip + \setlength\abovedisplayshortskip\abovedisplayskip + $$\everycr{}\halign to\linewidth% $$ + \bgroup + \hskip\@centering + $\displaystyle\tabskip\z@skip{##}$\@eqnsel&% + \global\@eqcnt\@ne \hfil${\DEQ@acs##\DEQ@acs}$\hfil&% + \global\@eqcnt\tw@ $\displaystyle{##}$\hskip\@centering\cr% + }% end of "\begin" part + {\@@eqncr + \noalign{% vertical skip up to overlay phantom line + \penalty\@M \vskip-\prevdepth + \edef\@tempa{\omit\span\omit\span\omit % span three columns + \vrule\@depth\the\prevdepth \@width\z@ % strut of proper depth + \kern-\mathindent \kern\linewidth}% % full line width + \nointerlineskip \expandafter % use saved |\@tempa| outside group + }\@tempa\cr + \egroup + \global\advance\c@equation\m@ne$$% $$ + \global\@ignoretrue + } +\def\@@eqncr{\let\reserved@a\@empty + \ifcase\@eqcnt \def\reserved@a{& &}\or \def\reserved@a{&}\fi + \reserved@a + \if@eqnsw \egroup $\EqnDots \@eqnnum $\bgroup \stepcounter{equation}% + \fi \global\@eqnswtrue\global\@eqcnt\z@\cr} +\def\DEQ@acs{\hskip\tw@\arraycolsep} +\makeatother +\begin{eqnarray} + F(x) &=& \int f(x)\,\mathrm{d}x + C +\end{eqnarray} +% +\begin{equation} + F(x)=\int f(x)\,\mathrm{d}x + C +\end{equation} +\endgroup + +\begin{lstlisting} +\begin{eqnarray} + F(x) &=& \int f(x)\,\mathrm{d}x + C +\end{eqnarray} +% +\begin{equation} + F(x)=\int f(x)\,\mathrm{d}x + C +\end{equation} +\end{lstlisting} + + +\subsection{\texttt{empheq}}\label{sec:empheq} + +This package\footnote{The package is part of the \texttt{mh}-bundle +of Morten H\o gholm (\href{http://www.ctan.org/tex-archive/macros/latex/contrib/mh/}{CTAN://macros/latex/contrib/mh/}).} +supports different frames for math environments of the \AmSmath +package. It doesn't support all the environments from standard \LaTeX{} which +are not modified by \AmSmath, \eg \UIndex{eqnarray}. + +With the optional argument of the \UIndex{empheq} +the preferred box type +can be specified. A simple one is \CIndex{fbox} + +\begin{empheq}[box=\fbox]{align} + f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1 +\end{empheq} + +\begin{lstlisting} +\begin{empheq}[box=\fbox]{align} + f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=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}\,\mathrm{d}x=1 +\end{empheq} + +\begin{lstlisting} +\begin{empheq}[box={\fboxsep=10pt\colorbox{yellow}}]{align} + f(x)=\int_1^{\infty}\frac{1}{x^2}\,\mathrm{d}x=1 +\end{empheq} +\end{lstlisting} + +The key \verb|box| can hold any possible \LaTeX{} command sequence. Boxing +subequations is also no problem, the \UIndex{empheq} works in the same way: + +\begin{subequations} +\begin{empheq}[box={\fboxsep=10pt\colorbox{cyan}}]{align} + f(x) & =\int_1^{\infty}\frac{1}{x^1}\,\mathrm{d}x=1\\ + f(x) & =\int_2^{\infty}\frac{1}{x^2}\,\mathrm{d}x=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}\,\mathrm{d}x=1\\ + f(x) & =\int_2^{\infty}\frac{1}{x^2}\,\mathrm{d}x=0.25 +\end{empheq} +\end{subequations} +\end{lstlisting} + +For more information on \PIndex{empheq} package have a look at the documentation of the package +which is available at any CTAN server. + +\subsection{\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 the \PIndex{wasysym} package% +\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} + + +\subsection{\texttt{eucal} and \texttt{euscript}}\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} +\includegraphics{EuScript} +%\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 \PIndex{eucal} was loaded with the option \verb|mathscr|. + + +\subsection{\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}}}\,% +\,\mathrm{d}x\approx\frac{\pi}{n}\sum_{i=1}^{n}f\left(\cos\left(\frac{2i-1}{2n}\right)\right)\] + + +Writing the same with the fontsize \CIndex{huge} gives +a surprising result, which belongs to the historical development of +\LaTeX{}, the \CIndex{int} and \CIndex{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 \PIndex{exscale} package% +\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}}}\,\mathrm{d}x\approx\frac{\pi}{n}% +\sum_{i=1}^{n}f\left(\cos\left(\frac{2i-1}{2n}\right)\right)\] +\end{minipage}% + +\subsection{\texttt{mathtools}}\label{sec:mathtools} +This package comes with a lot of additional features for typesetting math code. +Sometimes it is useful when only such equations are numbered which are +referenced in the text. This is possible with the switch \verb+\showonlyrefs+. + +Matrices are set by default with a centered horizontal alignment, which is +often not the best way. The \PIndex{mathtools} package provides a starred version of +the matrix environments which allow an optional argument for the horizontal +alignment: + +\[ +\begin{pmatrix*}[r] + 1 & -1 & 0 \\ + -1 & 1 & -1 \\ + 1 & -1 & 0 \\ +-11 & 11 &-11 \\ +\end{pmatrix*} +\] + +\begin{lstlisting} +\[ +\begin{pmatrix*}[r] + 1 & -1 & 0 \\ + -1 & 1 & -1 \\ + 1 & -1 & 0 \\ +-11 & 11 &-11 \\ +\end{pmatrix*} +\] +\end{lstlisting} + +\PIndex{mathtools} also provides some more environments for setting equations. +Very interesting is the \UIndex{lgathered}, which allows to typeset a formula in +the following way: + +\begin{LTXexample}[width=0.6\linewidth] +\begin{align} + x &= + \begin{lgathered}[t] + a + b + c \\ + d + e + + \!\begin{gathered}[t] + f + g + h \\ + i + j + k + \end{gathered} + \end{lgathered} +\end{align} +\end{LTXexample} + +The \CMD{!}\index{*@\textbackslash\char033} revokes the internal horizontal space +in front of the \UIndex{gathered}. + + + +\subsection{\texttt{nicefrac}}\label{sec:nicefrac} +Typesetting fractions\index{Fraction} in the inline mode is often a bad choice, the vertical spacing +increases in fact of the fraction. The \PIndex{nicefrac} package defines the macro +\CIndex{nicefrac}, which is used in the same way as the \CIndex{frac} command, but it +typesets the fraction with a less height: \nicefrac{2}{3} \lstinline|\nicefrac{2}{3}|. +The package is part of the \PIndex{units} package bundle and can be found in the +directory of \PIndex{units}. + + + +\subsection{\texttt{relsize}}\label{sec:relsize} +Often consecutives math operators are used, like two sum symbols, \eg +% +\[ \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 \CIndex{scalebox} macro from package \UIndex{graphicx} and write an own macro %%% ----- Martin ----- +\verb+\Sum+, \eg \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 \PIndex{relsize} package% +\footnote{\href{http://www.ctan.org/tex-archive/macros/latex/ltxmisc/}{CTAN://macros/latex/ltxmisc/}} +together with the \PIndex{exscale} one. \PIndex{relsize} defines a useful macro \CIndex{mathlarger}: + +\begin{LTXexample} +\[ \mathlarger{\sum}\sum_{i=1}^n i^2 \] +\end{LTXexample} + + +\subsection{\texttt{xypic}}\label{xypic.sty} + +The \CIndex{xymatrix} macro is part of the \PIndex{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 here.% +\footnote{For more information look at the package documentation or the +package \PIndex{xy} itself, 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{Math fonts} +Typesetting text and math is far different. There exist a lot of free text fonts without +additional math characters. This is the reason why we have to buy a commercial math font, e.\,g. +\Index{Palatino} (\PIndex{pamath}) or \Index{Helvetica} (\PIndex{hvmath}), or to +combine the free text font with another free math font. + +\section{Computer modern} +This is the default font, designed by Knuth.\index{cmr}\index{Computer modern} For the PDF output +the Type 1 fonts cm-super and BlueSky were used. + +\Mbox{cm-crop} + +\section{Latin modern} +This is the new designed font which comes with an own Type 1 version.\FIndex{lm}\index{Latin modern} + +\Mbox{lm-crop} + +\section{Palatino} +There is a free package mathpazo.\PIndex{mathpazo}\index{Palatino} + +\Mbox{pazo-crop} + +\section{Palatino -- microimp} +There is the package \PIndex{pamath} for the nonfree palatino font.\PIndex{mathpazo}\index{Palatino} + +\Mbox{pamath-crop} + +\section{cmbright} + +\Mbox{cmbright-crop} + +\section{minion} + +\Mbox{minionpro-crop} + + + +\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}% +% +\mPar{\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 \CIndex{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, \eg \CIndex{doteq}, \CIndex{equiv} or +\CIndex{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{\mathrel{\stackrel{\mathrm{def}}{=}}}} +\newcommand{\eqexcl}{\ensuremath{\mathrel{\stackrel{\mathrm{!}}{=}}}} +\newcommand{\eqhat}{\ensuremath{\mathrel{\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} + + +\noindent +\begin{minipage}{0.7\linewidth} +\begin{lstlisting} +\newcommand\Let{\mathrel{\mathop:\!\!=}}% Upper case L! +\newcommand\teL{\mathrel{=\!\!\mathop:}} +$x\Let y$ $y\teL x$ +\end{lstlisting}% +\end{minipage}\hfill +\newcommand\Let{\mathrel{\mathop:\!\!=}}% Upper case L! +\newcommand\teL{\mathrel{=\!\!\mathop:}} +$x\Let y$ $y\teL x$ +\begin{minipage}{0.15\linewidth} +\end{minipage} + + +%\lstset{xrightmargin=-\marginparwidth} + +\part{Examples} +\section{Tuning math typesetting} +Chapter 18 of the \TeX book is named ,,Fine Points of Mathematics Typing``~\cite{knuth86} +and it +shows on 20 pages some more or less important facts when typesetting mathematical +expressions. Often inline formulas contain a \Index{punctuation} character like a +\Index{dot}, \Index{comma}, \Index{colon}, \etc. It is a general rule to write +those characters outside the math mode. Compare + +\begin{LTXexample}[preset=\raggedright,width=0.4\linewidth] +$a, b, c, d, e, \textrm{and }f$ \\[5pt] +$a$, $b$, $c$, $d$, $e$, and $f$ +\end{LTXexample} + +Having such math as single expressions enables \TeX\ to insert a linebreak at several +places (see Section~\vref{subsec:linebreak}). + +Writing an \Index{ellipses} as three single dots, doesn't look very nice, one should +always use the \CIndex{ldots} command: + +\begin{LTXexample}[preset=\raggedright,width=0.4\linewidth] +$1,...,10$\\[5pt] +$1,\ldots,10$ +\end{LTXexample} + +This is correct as long as on the left and right are a comma as a separator. +For sums the \CIndex{cdot} command should be used instead: + +\begin{LTXexample}[preset=\raggedright,width=0.4\linewidth] +$1+2+\cdots+10$\\[5pt] +$x_n=x_{n-1}=\cdots=n_0=1$ +\end{LTXexample} + +For a multiplication it is important which character is used, in european countries +often a centered dot. In such a case it is appropriate not to use the \CIndex{cdots} +command for a ellipsis. + +For typesetting integrals\index{Integral} or differential equations\index{differential equation} +it makes sense to define the following short macros: + +\begin{lstlisting} +\newcommand*{\diff}{\mathop{}\!\mathrm{d}} +\newcommand*\dst{\,\frac{\diff s}{\diff t} +\end{lstlisting} + +\newcommand*{\diff}{\mathop{}\!\mathrm{d}} + + +\iffalse +\newcommand*\dy{\,\mathrm{d}y} +\newcommand*\dx{\,\mathrm{d}x} +\newcommand*\dyx{\,\frac{\mathrm{d}y}{\mathrm{d}x}} +\newcommand*\ds{\,\mathrm{d}s} +\newcommand*\dt{\,\mathrm{d}t} +\newcommand*\dst{\,\frac{\mathrm{d}s}{\mathrm{d}t}} +\fi + +\begin{LTXexample}[preset=\raggedright,width=0.4\linewidth] +\begin{align*} +F(x) &= \int\!f(x)\diff x\\ +v(t) &= \dst\\ +a(t) &= \frac{\diff{}^2s}{\diff t^2} +\end{align*} +\end{LTXexample} + +\begin{LTXexample}[preset=\raggedright,width=0.4\linewidth] +\begin{align*} +G(t) &= \underbrace{\,\int\cdots\!\int\!\!}_D\;\diff x\diff y\ldots\\ +u_C(t) &= \int\!\,i_C(t)\diff t +\end{align*} +\end{LTXexample} + +\bigskip +\section{Matrix} +\subsection{Identity matrix} + +There are several possibilities to write this matrix. Here is a solution +with the default array environment. + +\begin{LTXexample}[width=0.4\linewidth] +\[ +\left( + \begin{array}{ccccc} + 1\\ + & 1 & & \text{{\huge{0}}}\\ + & & 1\\ + & \text{{\huge{0}}} & & 1\\ + & & & & 1 + \end{array} +\right) +\] +\end{LTXexample} + +\subsection{System of linear equations} + +\begin{LTXexample}[pos=t] +\[ +\begin{array}{l@{\:=\:}*{5}{l@{\:+\:}}l} +y_1 & a_{11}x_1 & a_{12}x_2 & a_{13}x_3 & \dots & a_{1(n-1)}x_{n-1} & a_{1n}x_n \\ +y_2 & a_{21}x_1 & a_{22}x_2 & a_{23}x_3 & \dots & a_{2(n-1)}x_{n-1} & a_{2n}x_n \\ +\ \vdots &\ \vdots &\ \vdots &\ \vdots &\ \vdots &\ \vdots &\ \vdots\\ +y_{n-1} & a_{(n-1)1}x_1 & a_{(n-1)2}x_2 & a_{(n-1)3}x_3 & \dots & a_{(n-1)(n-1)}x_{n-1} & a_{(n-1)n}x_n\\ +y_n & a_{n1}x_1 & a_{n2}x_2 & a_{n3}x_3 & \dots & a_{(n)(n-1)}x_{n-1} & a_{nn}x_n +\end{array} +\] +\end{LTXexample} + +\subsection{Matrix with comments on top} + + +\begin{LTXexample}[width=0.35\linewidth] +\def\rb#1{\rotatebox{90}{$\xleftarrow{#1}$}} +\begin{tabular}{c} +$\begin{matrix} +\rb{text1}&\rb{text1}&\rb{text1}&\rb{text1}\\ +\end{matrix}$\\ +$\begin{bmatrix} +X_x & Y_x & Z_x & T_x \\ +X_y & Y_y & Z_y & T_y \\ +X_z & Y_z & Z_z & T_z \\ +0 & 0 & 0 & 1 +\end{bmatrix}$ +\end{tabular} +\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} +\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} +\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] & + \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] + & $x=2\quad\text{if }y>2$ &\refstepcounter{equation}(\theequation)\\ + & $x=3\quad\text{if }y\le2$&\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] + & 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}[xrightmargin=-\marginparwidth] +\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\noindent +\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=-\marginparwidth] +... +\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} + + +\subsection{Boxed rows and columns} + +\begin{LTXexample}[width=0.35\linewidth] +\[ +\overrightarrow{A}=\left[ + \begin{array}{cccc} + 1 & 2 & 3 & 4\\ + 1 & 2 & 3 & 4\\\hline + \multicolumn{1}{|c}{1} & 2 & 3 & + \multicolumn{1}{c|}{4}\\\hline + 1 & 2 & 3 & 4 + \end{array}\right] +\] +\end{LTXexample} + + +\begin{LTXexample}[width=0.35\linewidth] +\[ +\overrightarrow{A}=\left[ + \begin{array}{cc|c|c}\cline{3-3} + 1 & 2 & 3 & 4\\ + 1 & 2 & 3 & 4\\ + 1 & 2 & 3 & 4\\ + 1 & 2 & 3 & 4\\\cline{3-3} + \end{array}\right] +\] +\end{LTXexample} + +\begin{LTXexample}[width=0.35\linewidth] +\[ +\overrightarrow{A}=\left[ + \begin{array}{cc|c|c}\cline{3-3} + 1 & 2 & 3 & 4\\ + 1 & 2 & 3 & 4\\\hline + \multicolumn{1}{|c}{1} & 2 & 3 & + \multicolumn{1}{c|}{4}\\\hline + 1 & 2 & 3 & 4\\\cline{3-3} + \end{array}\right] +\] +\end{LTXexample} + + + +\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%[xrightmargin=-\marginparwidth] +\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, \eg + +\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} +%[xrightmargin=-\marginparwidth] +\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}} \] +%[xrightmargin=-\marginparwidth] +\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} + +%[xrightmargin=-\marginparwidth] +\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]\mathrm{d}^{3}V% + =\underset{\mathcal{S}\quad}\oiint u\,\Q{v}{n}\,\,\mathrm{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]\mathrm{d}^{3}V% + =\underset{\mathcal{S}\quad}\oiint% + \left(u\,\Q{v}{n}-v\,\Q{u}{n}\right)\mathrm{d}^{2}A +\] + + +They are both written with the \PIndex{esint} package% +\footnote{See section~\vref{sec:Integrals}.}, which gives nice integral symbols. +The \LaTeX{} code for the first equation is: + +%[xrightmargin=-\marginparwidth] +\begin{lstlisting} +\[ +\underset{\mathcal{G}\quad}\iiint\!% + \left[u\nabla^{2}v+\left(\nabla u,\nabla v\right)\right]\mathrm{d}^{3}V% + =\underset{\mathcal{S}\quad}\oiint u\,\Q{v}{n}\,\,\mathrm{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{Horizontal alignment}\label{sec:verticalAlignment} +%-------------------------------------------------------------------------- +\subsection{Over more than one page} +%-------------------------------------------------------------------------- +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) &= x^2-4x\\ +f(x)-g(x) &= x^2+x^3+x\\ + g(x) &= x^2+x^3+x^4+x^5+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: + +\bgroup +\medskip\noindent +\rule{\columnwidth}{1pt} +\newcommand\x{blah blah blah blah blah blah blah blah } +\addtolength\abovedisplayshortskip{-.5cm}% decrease the skip +\addtolength\abovedisplayskip{-.5cm} +\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 +\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 +% +\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 + +\noindent +\rule{\columnwidth}{1pt} +\egroup +\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 done all +inside a group. + +%[xrightmargin=-\marginparwidth] +\begin{lstlisting} +\newcommand\x{blah blah blah blah blah blah blah blah } +\bgroup +\addtolength\abovedisplayshortskip{-0.5cm}% decrease the skip +\addtolength\abovedisplayskip{-0.5cm} +\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 +\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 +% +\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 +\egroup +\end{lstlisting} + + + + +Another case of aligning equations inside an itemize environment is the following one. +With the \CIndex{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} + +%[xrightmargin=-\marginparwidth] +\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{Special text columns} +%-------------------------------------------------------------------------- +This one comes from Hartmut Henkel and offers a special form of placing +additional text between the equation and the \Index{equation number}. 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} % for the tabulars +\def\tagform@#1{{(\maketag@@@{\ignorespaces#1\unskip\@@italiccorr)} + \makebox[0pt][r]{% after the equation number + \makebox[0.5\textwidth][l]{\usebox{\myendhook}}}% + \global\sbox{\myendhook}{}% empty box +}} +\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. + +%[xrightmargin=-\marginparwidth] +\begin{lstlisting} +\newsavebox{\myendhook} % for the tabulars +\def\tagform@#1{{(\maketag@@@{\ignorespaces#1\unskip\@@italiccorr)} + \makebox[0pt][r]{% after the equation number + \makebox[0.4\textwidth][l]{\usebox{\myendhook}}% + }% + \global\sbox{\myendhook}{}% clear box content +}} +[ ... ] +\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} + + +%-------------------------------------------------------------------------- +\subsection{Centered vertical dots} +%-------------------------------------------------------------------------- + +By default the vertical dots of \CMD{vdots} are aligned to the left of +the $=$ symbol and not centered.\index{vdots@\textbackslash vdots} +% +\bgroup +\newsavebox{\eqbox}% Heiko Bauke +\sbox{\eqbox}{$\null=\null$} +\newcommand\Vdots{\makebox[\wd\eqbox]{\vdots}} +% +\begin{align} + a_1 & = b_1 & c_1 & = d_1 \\ + a_2 & = b_2 & c_2 & = d_2 \\ + a & \Vdots b & & \Vdots \nonumber \\ + a_n & = b_n & c_n & = d_n +\end{align} +\egroup +% +\begin{lstlisting} +\usepackage{amsmath} +... + +\newsavebox{\eqbox} +\sbox{\eqbox}{$\null=\null$} +\newcommand\Vdots{\makebox[\wd\eqbox]{\vdots}} + +\begin{align} + a_1 & = b_1 & c_1 & = d_1 \\ + a_2 & = b_2 & c_2 & = d_2 \\ + a & \Vdots b & & \Vdots \nonumber \\ + a_n & = b_n & c_n & = d_n +\end{align} +\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+vlatex+, \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 +%,xrightmargin=-\marginparwidth +\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 \,\mathrm{d}x = 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}\,\mathrm{d}x +\end{align} + +%,xrightmargin=-\marginparwidth +\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 \,\mathrm{d}x = 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: + +%,xrightmargin=-\marginparwidth +\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 of the table contents is +nonsense~\ldots And the following tabular is defined as a \Index{longtable} to enable pagebreaks. +%which is the reason for the following big skip, to show that it works. + + +%\vspace*{3cm} +%\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 \,\mathrm{d}x = 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 \,\mathrm{d}x = 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 \,\mathrm{d}x = 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 \,\mathrm{d}x = 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}\,\mathrm{d}x +\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 \,\mathrm{d}x = 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 \LIndex{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)\,\mathrm{d}x } +\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)\,\mathrm{d}x } +\end{itemize} + + +\section{Roots} +There exists no special symbol for roots\index{Root} which are longer than one line. In such +cases the root should be split into two or more one, like $\sqrt{a\cdot b\cdot c}=\sqrt{a}\cdot\sqrt{a}\cdot\sqrt{b}\cdot\sqrt{c}$ +if possible. If nothing helps one can use \CMD{overline}\cIndex{overline} for +following lines of the root. The following example uses the \verb+multline+ environment +to get only one equation number: + +\begin{multline} +d(P,Q)|_{Stat.,Dependent}=\\ + \sqrt{\left[a_{11}(x_{1}-y_{1})^{2}+a_{22}(x_{2}-y_{2})^{2}+ + \ldots+a_{pp}(x_{p}-y_{p})^{2}\right]+} \\ + \overline{\rule{0pt}{2.5ex} + \left[2a_{12}(x_{1}-y_{1})(x_{2}-y_{2})+2a_{13} + (x_{1}-y_{1})(x_{3}-y_{3}) + \right.}\\ + \overline{\rule{0pt}{2.5ex} + \left.\ldots +2a_{p-1,p}(x_{p-1}-y_{p-1})(x_{p}-y_{p})\right]} +\end{multline} + + +\begin{lstlisting} +\begin{multline} +d(P,Q)|_{Stat.,Dependent}=\\ + \sqrt{\left[a_{11}(x_{1}-y_{1})^{2}+a_{22}(x_{2}-y_{2})^{2}+ + \ldots+a_{pp}(x_{p}-y_{p})^{2}\right]+} \\ + \overline{\rule{0pt}{2.5ex} + \left[2a_{12}(x_{1}-y_{1})(x_{2}-y_{2})+2a_{13} + (x_{1}-y_{1})(x_{3}-y_{3}) + \right.}\\ + \overline{\rule{0pt}{2.5ex} + \left.\ldots +2a_{p-1,p}(x_{p-1}-y_{p-1})(x_{p}-y_{p})\right]} +\end{multline} +\end{lstlisting} + + +Alternative: + +\begin{multline} +d(P,Q)|_{Stat.,Dependent}=\\ + \Big(\left[a_{11}(x_{1}-y_{1})^{2}+a_{22}(x_{2}-y_{2})^{2}+ + \ldots+a_{pp}(x_{p}-y_{p})^{2}\right]+ \\ + \left[2a_{12}(x_{1}-y_{1})(x_{2}-y_{2})+2a_{13} + (x_{1}-y_{1})(x_{3}-y_{3}) + \right.\\ + \left.\ldots +2a_{p-1,p}(x_{p-1}-y_{p-1})(x_{p}-y_{p})\right]\Big)^{1/2} +\end{multline} + + +\begin{lstlisting} +\begin{multline} +d(P,Q)|_{Stat.,Dependent}=\\ + \left\{\left[a_{11}(x_{1}-y_{1})^{2}+a_{22}(x_{2}-y_{2})^{2}+ + \ldots+a_{pp}(x_{p}-y_{p})^{2}\right]+\right. \\ + \left[2a_{12}(x_{1}-y_{1})(x_{2}-y_{2})+2a_{13} + (x_{1}-y_{1})(x_{3}-y_{3}) + \right.\\ + \left.\left.\ldots +2a_{p-1,p}(x_{p-1}-y_{p-1})(x_{p}-y_{p})\right]\right\}^{1/2} +\end{multline} +\end{lstlisting} + + + +\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{{\ttfamily\BSL}} +\printindex{} +} +\egroup + + +\appendix +\section*{Appendix} +\section{Filelist} +This document was build with + +\begin{lstlisting}[breaklines,xrightmargin=-\marginparwidth] +This is pdfTeXk, Version 3.1415926-1.40.9 (Web2C 7.5.7) (format=pdflatex 2008.10.24) 30 OCT 2008 10:19 +\end{lstlisting} + +and with the following file and package versions: + + +\begin{lstlisting}[breaklines,xrightmargin=-\marginparwidth] + *File List* + article.cls 2005/09/16 v1.4f Standard LaTeX document class + size11.clo 2005/09/16 v1.4f Standard LaTeX file (size option) +fixltx2e.sty 2006/03/24 v1.1n fixes to LaTeX + fontenc.sty + t1enc.def 2005/09/27 v1.99g Standard LaTeX file +inputenc.sty 2006/05/05 v1.1b Input encoding file + latin1.def 2006/05/05 v1.1b Input encoding file + bera.sty 2004/01/31 (WaS) + fontenc.sty + t1enc.def 2005/09/27 v1.99g Standard LaTeX file +textcomp.sty 2005/09/27 v1.99g Standard LaTeX package + ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file +beraserif.sty 2004/01/30 (WaS) + keyval.sty 1999/03/16 v1.13 key=value parser (DPC) + t1fve.fd 2004/09/07 scalable font definitions for T1/fve. +berasans.sty 2004/01/30 (WaS) +beramono.sty 2004/01/31 (WaS) + ifpdf.sty 2007/12/12 v1.6 Provides the ifpdf switch (HO) + ifvtex.sty 2007/09/09 v1.3 Switches for detecting VTeX and its modes (HO) + comment.sty +graphicx.sty 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) +graphics.sty 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR) + trig.sty 1999/03/16 v1.09 sin cos tan (DPC) +graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive + pdftex.def 2008/09/08 v0.04l Graphics/color for pdfTeX +varwidth.sty 2003/03/10 ver 0.9a; Variable-width minipages + array.sty 2005/08/23 v2.4b Tabular extension package (FMi) +delarray.sty 1994/03/14 v1.01 array delimiter package (DPC) +tabularx.sty 1999/01/07 v2.07 `tabularx' package (DPC) + amsmath.sty 2000/07/18 v2.13 AMS math features + amstext.sty 2000/06/29 v2.01 + amsgen.sty 1999/11/30 v2.0 + amsbsy.sty 1999/11/29 v1.2d + amsopn.sty 1999/12/14 v2.01 operator names + amssymb.sty 2002/01/22 v2.2d +amsfonts.sty 2001/10/25 v2.2f + bm.sty 2004/02/26 v1.1c Bold Symbol Support (DPC/FMi) + upgreek.sty 2003/02/12 v2.0 (WaS) + cancel.sty 2000/03/12 v2.1 Cancel math terms + amscd.sty 1999/11/29 v1.2d + accents.sty 2006/05/12 v1.3 Math Accent Tools + dsfont.sty 1995/08/01 v0.1 Double stroke roman fonts +multirow.sty +bigdelim.sty + framed.sty 2007/10/04 v 0.95: framed or shaded text with page breaks +longtable.sty 2004/02/01 v4.11 Multi-page Table package (DPC) +varioref.sty 2006/05/13 v1.4p package for extended references (FMi) + xcolor.sty 2007/01/21 v2.11 LaTeX color extensions (UK) + color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive + makeidx.sty 2000/03/29 v1.0m Standard LaTeX package + url.sty 2006/04/12 ver 3.3 Verb mode for urls, etc. +setspace.sty 2000/12/01 6.7 Contributed and Supported LaTeX2e package + empheq.sty 2007/12/03 v2.12 Emphasizing equations (MH) + mhsetup.sty 2007/12/03 v1.2 programming setup (MH) +mathtools.sty 2008/08/01 v1.06 mathematical typesetting tools (MH) + calc.sty 2005/08/06 v4.2 Infix arithmetic (KKT,FJ) +nicefrac.sty 1998/08/04 v0.9b Nice fractions + ifthen.sty 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC) + exscale.sty 1997/06/16 v2.1g Standard LaTeX package exscale + relsize.sty 2003/07/04 ver 3.1 + xspace.sty 2006/05/08 v1.12 Space after command names (DPC,MH) + eucal.sty 2001/10/01 v2.2d Euler Script fonts +footmisc.sty 2007/06/12 v5.4a a miscellany of footnote facilities + esint.sty + esvect.sty +remreset.sty + cool.sty 2006/12/29 v1.35 COntent Oriented LaTeX +coollist.sty 2007/10/06 v1.2 COntent Oriented LaTeX Lists + coolstr.sty 2007/01/08 v2.1 COntent Oriented LaTeX Strings + forloop.sty 2006/09/18 v3.0 For Loops for LaTeX + bbm.sty 1999/03/15 V 1.2 provides fonts for set symbols - TH + xypic.sty 1999/02/16 Xy-pic version 3.7 + xy.sty +fancyhdr.sty +showexpl.sty 2007/02/03 v0.3h Typesetting example code (RN) +listings.sty 2007/02/22 1.4 (Carsten Heinz) + lstmisc.sty 2007/02/22 1.4 (Carsten Heinz) +listings.cfg 2007/02/22 1.4 listings configuration + lstmisc.sty 2007/02/22 1.4 (Carsten Heinz) +showexpl.cfg 2005/06/30 v0.02 Definitions for the showexpl package (hv) +lstlang1.sty 2004/09/05 1.3 listings language file +lstlang2.sty 2004/09/05 1.3 listings language file +lstlang3.sty 2004/09/05 1.3 listings language file +lstlang1.sty 2004/09/05 1.3 listings language file +lstlang2.sty 2004/09/05 1.3 listings language file +lstlang3.sty 2004/09/05 1.3 listings language file +lstlang1.sty 2004/09/05 1.3 listings language file +lstlang2.sty 2004/09/05 1.3 listings language file +lstlang3.sty 2004/09/05 1.3 listings language file +lstlang1.sty 2004/09/05 1.3 listings language file +lstlang2.sty 2004/09/05 1.3 listings language file +lstlang3.sty 2004/09/05 1.3 listings language file + lstmisc.sty 2007/02/22 1.4 (Carsten Heinz) +microtype.sty 2008/06/04 v2.3b Micro-typography with pdfTeX (RS) +microtype.cfg 2008/06/04 v2.3b microtype main configuration file (RS) +hyperref.sty 2008/09/29 v6.78l Hypertext links for LaTeX + ifxetex.sty 2008/09/18 v0.4 Provides ifxetex conditional + hycolor.sty 2008/09/08 v1.4 Code for color options of hyperref/bookmark (HO +) +xcolor-patch.sty 2008/09/08 xcolor patch + pd1enc.def 2008/09/29 v6.78l Hyperref: PDFDocEncoding definition (HO) +etexcmds.sty 2007/12/12 v1.2 Prefix for e-TeX command names (HO) +infwarerr.sty 2007/09/09 v1.2 Providing info/warning/message (HO) +hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +kvoptions.sty 2007/10/18 v3.0 Keyval support for LaTeX options (HO) + bitset.sty 2007/09/28 v1.0 Data type bit set (HO) + intcalc.sty 2007/09/27 v1.1 Expandable integer calculations (HO) +bigintcalc.sty 2007/11/11 v1.1 Expandable big integer calculations (HO) +pdftexcmds.sty 2007/12/12 v0.3 LuaTeX support for pdfTeX utility functions ( +HO) +kvsetkeys.sty 2007/09/29 v1.3 Key value parser with default handler support +(HO) +atbegshi.sty 2008/07/31 v1.9 At begin shipout hook (HO) + hpdftex.def 2008/09/29 v6.78l Hyperref driver for pdfTeX + hypcap.sty 2008/09/08 v1.10 Adjusting anchors of captions (HO) + babel.sty 2008/07/06 v3.8l The Babel package + english.ldf 2005/03/30 v3.3o English support from the babel system + braket.sty + ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions +supp-pdf.tex + nameref.sty 2007/05/29 v2.31 Cross-referencing by name of section +refcount.sty 2008/08/11 v3.1 Data extraction from references (HO) +Mathmode.out +Mathmode.out +Mathmode.tex + mt-cmr.cfg 2008/02/29 v1.9a microtype config. file: Computer Modern Roman +(RS) + umsa.fd 2002/01/19 v2.2g AMS font definitions + mt-msa.cfg 2006/02/04 v1.1 microtype config. file: AMS symbols (a) (RS) + umsb.fd 2002/01/19 v2.2g AMS font definitions + mt-msb.cfg 2005/06/01 v1.0 microtype config. file: AMS symbols (b) (RS) + mt-eur.cfg 2006/07/31 v1.1 microtype config. file: AMS Euler Roman (RS) + uesint.fd + uesvect.fd + ts1fve.fd 2004/09/07 scalable font definitions for TS1/fve. + t1fvm.fd 2004/09/07 scalable font definitions for T1/fvm. +images/styles.pdf +images/amsalign.pdf + t1fvs.fd 2004/09/07 scalable font definitions for T1/fvs. +images/family.pdf +images/EuScript.pdf +images/exscale.pdf +images/cm-crop.pdf +images/lm-crop.pdf +images/pazo-crop.pdf +images/pamath-crop.pdf +images/cmbright-crop.pdf +images/minionpro-crop.pdf +images/colArray.pdf +images/node.pdf +Mathmode.bbl +Mathmode.ind +\end{lstlisting} + +%\clearpage +%\layout
\ No newline at end of file diff --git a/obsolete/info/math/voss/mathmode/README b/obsolete/info/math/voss/mathmode/README new file mode 100644 index 0000000000..d9ef4f6d5c --- /dev/null +++ b/obsolete/info/math/voss/mathmode/README @@ -0,0 +1,9 @@ +Mathmode.pdf : math in TeX/LaTeX; package amsmath.sty + needs package 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 +images/ : subdir for all pdf|eps images diff --git a/obsolete/info/math/voss/mathmode/images/EuScript.pdf b/obsolete/info/math/voss/mathmode/images/EuScript.pdf Binary files differnew file mode 100644 index 0000000000..8ba3a8e1fd --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/EuScript.pdf diff --git a/obsolete/info/math/voss/mathmode/images/amsalign.pdf b/obsolete/info/math/voss/mathmode/images/amsalign.pdf Binary files differnew file mode 100644 index 0000000000..08194ee450 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/amsalign.pdf diff --git a/obsolete/info/math/voss/mathmode/images/cm-crop.pdf b/obsolete/info/math/voss/mathmode/images/cm-crop.pdf Binary files differnew file mode 100644 index 0000000000..97a6aaa084 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/cm-crop.pdf diff --git a/obsolete/info/math/voss/mathmode/images/cmbright-crop.pdf b/obsolete/info/math/voss/mathmode/images/cmbright-crop.pdf Binary files differnew file mode 100644 index 0000000000..ea5117d91a --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/cmbright-crop.pdf diff --git a/obsolete/info/math/voss/mathmode/images/colArray.pdf b/obsolete/info/math/voss/mathmode/images/colArray.pdf Binary files differnew file mode 100644 index 0000000000..5cfbbb8bb5 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/colArray.pdf diff --git a/obsolete/info/math/voss/mathmode/images/exscale.pdf b/obsolete/info/math/voss/mathmode/images/exscale.pdf Binary files differnew file mode 100644 index 0000000000..3c674f7948 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/exscale.pdf diff --git a/obsolete/info/math/voss/mathmode/images/family.pdf b/obsolete/info/math/voss/mathmode/images/family.pdf Binary files differnew file mode 100644 index 0000000000..4e0c6192d4 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/family.pdf diff --git a/obsolete/info/math/voss/mathmode/images/family0.pdf b/obsolete/info/math/voss/mathmode/images/family0.pdf Binary files differnew file mode 100644 index 0000000000..d3d3d9a0d9 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/family0.pdf diff --git a/obsolete/info/math/voss/mathmode/images/family1.pdf b/obsolete/info/math/voss/mathmode/images/family1.pdf Binary files differnew file mode 100644 index 0000000000..eb52309ebc --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/family1.pdf diff --git a/obsolete/info/math/voss/mathmode/images/lm-crop.pdf b/obsolete/info/math/voss/mathmode/images/lm-crop.pdf Binary files differnew file mode 100644 index 0000000000..f47326fe8f --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/lm-crop.pdf diff --git a/obsolete/info/math/voss/mathmode/images/minionpro-crop.pdf b/obsolete/info/math/voss/mathmode/images/minionpro-crop.pdf Binary files differnew file mode 100644 index 0000000000..052b2053f2 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/minionpro-crop.pdf diff --git a/obsolete/info/math/voss/mathmode/images/node.pdf b/obsolete/info/math/voss/mathmode/images/node.pdf Binary files differnew file mode 100644 index 0000000000..d3d448e973 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/node.pdf diff --git a/obsolete/info/math/voss/mathmode/images/pamath-crop.pdf b/obsolete/info/math/voss/mathmode/images/pamath-crop.pdf Binary files differnew file mode 100644 index 0000000000..3f9fc5e13e --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/pamath-crop.pdf diff --git a/obsolete/info/math/voss/mathmode/images/pazo-crop.pdf b/obsolete/info/math/voss/mathmode/images/pazo-crop.pdf Binary files differnew file mode 100644 index 0000000000..a9ec41a924 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/pazo-crop.pdf diff --git a/obsolete/info/math/voss/mathmode/images/styles.pdf b/obsolete/info/math/voss/mathmode/images/styles.pdf Binary files differnew file mode 100644 index 0000000000..c98539d9e0 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/styles.pdf diff --git a/obsolete/info/math/voss/mathmode/images/test-crop.pdf b/obsolete/info/math/voss/mathmode/images/test-crop.pdf Binary files differnew file mode 100644 index 0000000000..c98539d9e0 --- /dev/null +++ b/obsolete/info/math/voss/mathmode/images/test-crop.pdf diff --git a/obsolete/info/math/voss/mathmode/showexpl.cfg b/obsolete/info/math/voss/mathmode/showexpl.cfg new file mode 100644 index 0000000000..b7fc416afb --- /dev/null +++ b/obsolete/info/math/voss/mathmode/showexpl.cfg @@ -0,0 +1,48 @@ +% 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,% + explpreset={numbersep=1em,numbers=left,numberstyle=\tiny\ttfamily,vsep=\bigskipamount}, + 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,% + breaklines=true,% + breakindent=10pt,% + backgroundcolor=\color{hellgelb},% + breakautoindent=true,% + captionpos=t,% + xleftmargin=1.5em,% + xrightmargin=\fboxsep,% + numbersep=1em, + numbers=left, + numberstyle=\tiny\ttfamily, + xrightmargin=-1cm,% +% relwidth=0.5,% +% columnsep=10pt% +} +\renewcommand*\SX@Info{}% |