summaryrefslogtreecommitdiff
path: root/info/mathtrip/src
diff options
context:
space:
mode:
Diffstat (limited to 'info/mathtrip/src')
-rw-r--r--info/mathtrip/src/ChoixPolice.sty479
-rw-r--r--info/mathtrip/src/DrawMethod.sty27
-rw-r--r--info/mathtrip/src/EscherPage10.tex68
-rw-r--r--info/mathtrip/src/MathTrip.sty657
-rw-r--r--info/mathtrip/src/MathTrip.tex146
-rw-r--r--info/mathtrip/src/SpecificDimentions.sty1050
-rw-r--r--info/mathtrip/src/T1.tex35
-rw-r--r--info/mathtrip/src/T10.tex65
-rw-r--r--info/mathtrip/src/T10Def.tex49
-rw-r--r--info/mathtrip/src/T1Def.tex30
-rw-r--r--info/mathtrip/src/T2.tex32
-rw-r--r--info/mathtrip/src/T2Def.tex32
-rw-r--r--info/mathtrip/src/T3.tex55
-rw-r--r--info/mathtrip/src/T3Def.tex48
-rw-r--r--info/mathtrip/src/T4.tex53
-rw-r--r--info/mathtrip/src/T4Def.tex34
-rw-r--r--info/mathtrip/src/T5.tex37
-rw-r--r--info/mathtrip/src/T5Def.tex31
-rw-r--r--info/mathtrip/src/T6.tex38
-rw-r--r--info/mathtrip/src/T6Def.tex27
-rw-r--r--info/mathtrip/src/T7.tex14
-rw-r--r--info/mathtrip/src/T7Def.tex15
-rw-r--r--info/mathtrip/src/T8.tex32
-rw-r--r--info/mathtrip/src/T8Def.tex27
-rw-r--r--info/mathtrip/src/T9.tex31
-rw-r--r--info/mathtrip/src/T9Def.tex27
-rw-r--r--info/mathtrip/src/Title.tex52
-rw-r--r--info/mathtrip/src/angle.sty26
-rw-r--r--info/mathtrip/src/angle.tex65
-rw-r--r--info/mathtrip/src/calc.tex68
-rw-r--r--info/mathtrip/src/calc2.tex86
-rw-r--r--info/mathtrip/src/calc3.tex58
-rw-r--r--info/mathtrip/src/const.tex20
-rw-r--r--info/mathtrip/src/cramers.tex40
-rw-r--r--info/mathtrip/src/definitions.tex79
-rw-r--r--info/mathtrip/src/escher.pdfbin0 -> 7803 bytes
-rw-r--r--info/mathtrip/src/escher.ps8413
-rw-r--r--info/mathtrip/src/fact2.tex54
-rw-r--r--info/mathtrip/src/fib1.tex87
-rw-r--r--info/mathtrip/src/finite.tex78
-rw-r--r--info/mathtrip/src/first_prime.tex42
-rw-r--r--info/mathtrip/src/geom.tex84
-rw-r--r--info/mathtrip/src/graph.tex77
-rw-r--r--info/mathtrip/src/hyper.tex54
-rw-r--r--info/mathtrip/src/ids1.tex30
-rw-r--r--info/mathtrip/src/ids2.tex38
-rw-r--r--info/mathtrip/src/ids3.tex25
-rw-r--r--info/mathtrip/src/magic.tex26
-rw-r--r--info/mathtrip/src/matrix.tex59
-rw-r--r--info/mathtrip/src/misc.tex105
-rw-r--r--info/mathtrip/src/number.tex91
-rw-r--r--info/mathtrip/src/partial.tex44
-rw-r--r--info/mathtrip/src/pascal_triangle.tex41
-rw-r--r--info/mathtrip/src/pi.tex60
-rw-r--r--info/mathtrip/src/power2.tex41
-rw-r--r--info/mathtrip/src/prob.tex114
-rw-r--r--info/mathtrip/src/prob2.tex36
-rw-r--r--info/mathtrip/src/quote1.tex14
-rw-r--r--info/mathtrip/src/quote2.tex18
-rw-r--r--info/mathtrip/src/quote3.tex17
-rw-r--r--info/mathtrip/src/quote4.tex15
-rw-r--r--info/mathtrip/src/quote5.tex19
-rw-r--r--info/mathtrip/src/quote6.tex18
-rw-r--r--info/mathtrip/src/recur1.tex177
-rw-r--r--info/mathtrip/src/seq_nb.tex42
-rw-r--r--info/mathtrip/src/series1.tex101
-rw-r--r--info/mathtrip/src/series2.tex46
-rw-r--r--info/mathtrip/src/series3.tex79
-rw-r--r--info/mathtrip/src/series4.tex50
-rw-r--r--info/mathtrip/src/stieltjes.tex54
-rw-r--r--info/mathtrip/src/sums.tex54
-rw-r--r--info/mathtrip/src/table.tex66
-rw-r--r--info/mathtrip/src/trees.tex20
-rw-r--r--info/mathtrip/src/triangle.tex46
-rw-r--r--info/mathtrip/src/trig1.tex84
-rw-r--r--info/mathtrip/src/trig2.tex65
-rw-r--r--info/mathtrip/src/unit.sty53
-rw-r--r--info/mathtrip/src/unit.tex102
-rw-r--r--info/mathtrip/src/version.tex12
79 files changed, 14384 insertions, 0 deletions
diff --git a/info/mathtrip/src/ChoixPolice.sty b/info/mathtrip/src/ChoixPolice.sty
new file mode 100644
index 0000000000..ef2b066c4d
--- /dev/null
+++ b/info/mathtrip/src/ChoixPolice.sty
@@ -0,0 +1,479 @@
+%This style file allows to easily switch between many fonts.
+%It is particularly useful when working with 16bits TeX
+%but it can be used with normal TeX too (with less
+%font choices).
+%
+%This style uses options to determine the fonts to use.
+% lmodern (or nothing) to choose the default font "lmmodern".
+% cmunicode to use the "cmunicode" fonts. This fonts
+% has been created with all the CM fonts for 8bits TeX
+% and it is quite nice. THe characters are similar to lmmodern
+% with more glyphs (greek, cyrillic IPA) and no math font.
+% L'aspect des caractères est similaire à latin Modern.
+% Some of the characters are based on the good fonts from BlueSky.
+% didot to use GFS Didot with Asana Math for mathematic.
+% When 8bits TeX is used, the package "gfsdidot" is loaded.
+% lucida to use lucida (mathematic and standard)
+% stix to use STIX2 fonts (Mathematic and Standard)
+% cambria to use Cambria with Cambria Math
+% Calibri is used for the sans serif font.
+% dejavu to use DejaVu (serif) and the math fonts from GUST foundry.
+% dejavusans to use DejaVu Sans for text and Math. To complement
+% the LucidaBrightOT is used. When 8bits TeX is used,
+% the package "arev" is loaded.
+% neohellenic to use GFS Neo Hellenic with GFSNeoHellenicMath.
+%
+%
+%
+%
+% — Normally, other sahpe (tt or sans) are Latin Modern or DejaVu.
+%
+% — Fonts "Latin Modern", "GFS Didot" and "Asana" are provided
+% (in usul directories) with all TeX distributions.
+% — The fonts «STIX» version 2 (similar to Times Roman)
+% should be installed, after being downloaded from site
+% «http://www.stixfonts.org/», in the usual directories of TeX.
+% — The fonts family "Lucida" should be bought at TUG
+% (https://www.tug.org) and installed in usual TeX directories.
+% — The fonts "Cambria", "Cambria Math" and "Calibri" should be installed
+% as system fonts. This is generally the case when Excel is installed.
+%
+% — For the TeX 8bits, the fonts lmmodern is used except when gfsdidot or arev is loaded.
+% To use an other fonts, one can load the correct package after this style.
+% Par exemple, \usepackage[charter]{mathdesign}
+%
+% — This code has been tested with XeLateX (TeX 16bits) and pdflatex (TeX 8bits).
+\chardef\PoliceLatinModern=0
+\chardef\PoliceDidot=1
+\chardef\PoliceLucida=2
+\chardef\PoliceStixII=3
+\chardef\PoliceCambria=4
+\chardef\PoliceDejaVu=5
+\chardef\PoliceCmUnicode=6
+\chardef\PoliceDejavuSans=7
+\chardef\PoliceNeoHellenic=8
+%Useful to have an invalid value for a font. A such value can be used
+%as an initializer or a delimiter of list
+\chardef\PoliceInvalide=254
+
+%The default font used to typeset the document if the wanted font
+%is not found. If one change this font, he should change
+%the macros '\PoliceParDefaut' and '\MainFontDocText' accordingly.
+\chardef\PoliceDocumentParDefaut=\PoliceLatinModern
+%The real font of the document
+\chardef\PoliceDocument\PoliceDocumentParDefaut
+%The wanted font of the document. This macro and the previous one
+%have the same value if the font is found but might differ
+%if the default font is used when the wanted font cannot be found.
+\chardef\PoliceDesiree\PoliceLatinModern
+\DeclareOption{lmodern}{\chardef\PoliceDocument\PoliceLatinModern
+ \chardef\PoliceDesiree\PoliceLatinModern}
+\DeclareOption{didot}{\chardef\PoliceDocument\PoliceDidot
+ \chardef\PoliceDesiree\PoliceDidot}
+\DeclareOption{lucida}{\chardef\PoliceDocument\PoliceLucida
+ \chardef\PoliceDesiree\PoliceLucida}
+\DeclareOption{stix}{\chardef\PoliceDocument\PoliceStixII
+ \chardef\PoliceDesiree\PoliceStixII}
+\DeclareOption{cambria}{\chardef\PoliceDocument\PoliceCambria
+ \chardef\PoliceDesiree\PoliceCambria}
+\DeclareOption{dejavu}{\chardef\PoliceDocument\PoliceDejaVu
+ \chardef\PoliceDesiree\PoliceDejaVu}
+\DeclareOption{cmunicode}{\chardef\PoliceDocument\PoliceCmUnicode
+ \chardef\PoliceDesiree\PoliceCmUnicode}
+\DeclareOption{dejavusans}{\chardef\PoliceDocument\PoliceDejavuSans
+ \chardef\PoliceDesiree\PoliceDejavuSans}
+\DeclareOption{neohellenic}{\chardef\PoliceDocument\PoliceNeoHellenic
+ \chardef\PoliceDesiree\PoliceNeoHellenic}
+\ProcessOptions
+
+\usepackage{iftex}
+
+%
+%-------------------------------------Macros provided by the style--------------------------
+%
+
+%This macro provides the default settings when no font is specified (for TeX Unicode only).
+%The default is to use the font Latin Modern and generally since it is
+%the current default from pdfTeX, XeTeX and LuaTeX, almost nothing
+%should be done.
+%
+%Since this fonts does not provide the greek character, these one are taken
+%from the very similar CM Unicode font.
+%
+%This Macro has no parameter.
+%
+%This macro modify the global variable/macro "\PoliceDocument"
+\newcommand\PoliceParDefaut{%
+ \iftutex %16 bits TeX
+ %The default font is Latin Modern, always defined with 16 bits TeX.
+ %However, Greek is missing from Latin Modern. It will be taken from
+ %the almost identical font CM Unicode.
+ %The command «\greekfont» is used with "polyglossia" and
+ %probably "babel".
+ \newfontfamily\greekfont[Script=Greek]{cmunrm.otf}[%
+ Extension=.otf,%
+ UprightFont=*,%
+ BoldFont=cmunbx,%
+ ItalicFont=cmunti,%
+ BoldItalicFont=cmunbi]%
+ \else %8bits TeX
+ \RequirePackage{lmodern}%
+ \fi
+ \chardef\PoliceDocument\PoliceDocumentParDefaut
+}
+
+%This macros contain the text to describe
+%the default main font of the document.
+%
+%The macro has no parameter
+\newcommand\MainFontDocText{%
+ \iftutex{Latin Modern (Unicode)}\else{Latin Modern (\TeX)}\fi
+}
+
+%This macro typeset the name of the current set of fonts used to format
+%the document.
+%The name is similar to the option choosen but generally more suitable to be
+%typeset in a document.
+%
+%To know, programmatically, the current font of the document, it's much
+%better to use the macro "\PoliceDocument".
+%
+%The macro has no parameter.
+\newcommand\MainDocFontName[1][\PoliceDocument]{
+ \iftutex
+ \ifcase#1%
+ %Latin Modern
+ \MainFontDocText
+ \or
+ %Didot
+ GFS Didot, Asana Math%
+ \or
+ %Lucida
+ Lucida%
+ \or
+ %Stix version 2
+ Stix 2%
+ \or
+ %Cambria
+ Cambria, Cambria Math%
+ \or
+ %DejaVu
+ DejaVu, TeX Gyre DejaVu Math%
+ \or
+ %CMUnicode
+ CMUnicode, Latin Modern Math%
+ \or
+ %DejaVuSans
+ \IfFontExistsTF{LucidaBrightMathOT.otf}{%
+ DejaVu Sans, Lucida Bright Math%
+ }{%
+ DejaVu Sans, DejaVu Sans Math%
+ }%
+ \or
+ %NeoHellenic
+ GFS NeoHellenic%
+ \else
+ \MainFontDocText
+ \fi
+ \else
+ %TeX standard
+ \ifx\PoliceDocument\PoliceDejavuSans
+ %Arev
+ Arev (\TeX)%
+ \else
+ \ifx\PoliceDocument\PoliceDidot
+ %Didot
+ GFS Didot (\TeX)%
+ \else
+ %The default, lmmodern
+ \MainFontDocText
+ \fi
+ \fi
+ \fi
+}
+
+%This macro setup the definition to setup a font (in almost
+%all the possible modes: Text, Math, Greek etc) in a 16 Bits LaTeX (lualatex,xelatex)
+%and to setup the default font in 8bit TeX.
+%
+%The macro has 3 parameters:
+% 1) the name of the font in a form usable by the command
+% "\IfFontExistsTF" of the package "fontspec"
+% 2) the set of command to define the fonts to be used
+% 3) a set of commands used as a fallback in the case of the font
+% is unavailable on a system
+%
+%Only the second parameter is used with 8 bits TeX.
+\newcommand\ChoixPolice[3]{%
+ \iftutex %TeX 16 bits
+ \IfFontExistsTF{#1}{#2}{%Font wanted not found
+ \wlog{The font #1 is not found. The font '\MainFontDocText' will be used instead.}%
+ #3}%
+ \else %TeX 8bits
+ #2%
+ \fi
+}
+
+%The following macros define the commands to be able to use the different
+%available fonts in a document. Since they are so many fonts available, only
+%the fonts with mathemathecal counterpart are defined.
+\newcommand\ChoixDidot{%
+ \ChoixPolice{GFSDidot.otf}{%
+ \setmathfont{Asana-Math.otf}%
+ \setmainfont{GFSDidot}[%
+ Extension=.otf,%
+ UprightFont=*,%
+ BoldFont=*Bold,%
+ ItalicFont=*Italic,%
+ BoldItalicFont=*BoldItalic%
+ ]%
+ \setsansfont{DejaVuSans}[%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ Scale = MatchLowercase%
+ ]%
+ \setmonofont{DejaVuSansMono}[% main typewriter%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ ]%
+ }{\PoliceParDefaut}%
+}
+\newcommand\ChoixLucida{%
+ \ChoixPolice{LucidaBrightOT.otf}{%
+ % Slightly reduce the size.
+ %\defaultfontfeatures{Scale=.92}
+ \setmathfont{LucidaBrightMathOT.otf}%
+ \setmathfont[version=bold]{LucidaBrightMathOT-Demi.otf}%
+ %
+ % The explicit .otf extension tells the engines to find the font via%
+ % filenames in the TeX trees, rather than as system-installed fonts.%
+ %
+ \setmainfont{LucidaBrightOT}[% main rm%
+ Extension=.otf,%
+ UprightFont=*,%
+ ItalicFont=*-Italic,%
+ BoldFont=*-Demi,%
+ BoldItalicFont=*-DemiItalic,%
+ ]%
+ %
+ \setsansfont{LucidaSansOT}[% main sans%
+ Extension=.otf,%
+ UprightFont=*,%
+ ItalicFont=*-Italic,%
+ BoldFont=*-Demi,%
+ BoldItalicFont=*-DemiItalic,%
+ ]%
+ %
+ \setmonofont{LucidaSansTypewriterOT.otf}[% main typewriter%
+ Extension=.otf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ ]%
+ %
+ %
+ % The specialized one-off fonts:%
+ \newfontface\LucidaBlackletter{LucidaBlackletterOT.otf}%
+ \newfontface\LucidaCalligraphy{LucidaCalligraphyOT.otf}%
+ \newfontface\LucidaHandwriting{LucidaHandwritingOT.otf}%
+ }{\PoliceParDefaut}%
+}
+\newcommand\ChoixStix{%
+ \ChoixPolice{STIX2Text-Regular.otf}{%
+ %Stix version 2 (the first version working with TeX)
+ \setmathfont{STIX2Math.otf}%
+ \setmainfont{STIX2Text}[%
+ Extension=.otf,%
+ UprightFont=*-Regular,%
+ ItalicFont=*-Italic,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldItalic,%
+ ]%
+ \setsansfont{DejaVuSans}[%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ ]%
+ \setmonofont{DejaVuSansMono}[% main typewriter%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ ]%
+ %The macro "\greekfont" is used with "polyglossia" and "babel"%
+ \newfontfamily\greekfont[Script=Greek]{LinLibertine_R.otf}[%
+ Extension=.otf,%
+ UprightFont=*,%
+ BoldFont=LinLibertine_RB,%
+ ItalicFont=LinLibertine_RI,%
+ BoldItalicFont=LinLibertine_RBI]%
+ }{\PoliceParDefaut}%
+}
+\newcommand\ChoixCambria{%
+ \ChoixPolice{Cambria}{%
+ \setmathfont{Cambria Math}%
+ \setmainfont{Cambria}%
+ \setsansfont{Calibri}%
+ \setmonofont{DejaVuSansMono}[% main typewriter%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ ]%
+ }{\PoliceParDefaut}%
+}
+\newcommand\ChoixDejaVu{%
+ \ChoixPolice{DejaVuSerif.ttf}{%
+ \setmathfont{texgyredejavu-math.otf}%
+ \setmainfont{DejaVuSerif}[%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Italic,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldItalic,%
+ ]%
+ \setsansfont{DejaVuSans}[%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ ]%
+ \setmonofont{DejaVuSansMono}[% main typewriter%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ ]%
+ }{\PoliceParDefaut}%
+}
+\newcommand\ChoixCMUnicode{%
+ \ChoixPolice{cmunrm.otf}{%
+ %Latin Modern is used for math. For the rest, the CM Unicode (very similar to Latin
+ %Modern is used). CM Unicode has more characters than Latin Modern
+ \setmainfont{cmunrm}[%
+ Extension=.otf,%
+ UprightFont=*,%
+ BoldFont=cmunbx,%
+ ItalicFont=cmunti,%
+ BoldItalicFont=cmunbi]%
+ \setsansfont{cmunss}[%
+ Extension=.otf,%
+ UprightFont=*,%
+ BoldFont=cmunsx,%
+ ItalicFont=cmunsi,%
+ BoldItalicFont=cmunso]%
+ \setmonofont{cmuntt}[%
+ Extension=.otf,%
+ UprightFont=*,%
+ BoldFont=cmuntb,%
+ ItalicFont=cmunst,%
+ BoldItalicFont=cmuntx]%
+ }{\PoliceParDefaut}%
+}
+\newcommand\ChoixDejaVuSans{%
+ \ChoixPolice{DejaVuSans.ttf}{%
+ \IfFontExistsTF{LucidaBrightMathOT.otf}{%
+ \setmathfont{LucidaBrightMathOT.otf}%Font color match better with dejaVuSans
+ }{%
+ \setmathfont{DejaVuSans.ttf}%
+ }%
+ \setmathfont{DejaVuSans.ttf}[range=up]%
+ \setmathfont{DejaVuSans.ttf}[range=bb->bfsfup]%
+ \setmathfont{DejaVuSans-Oblique.ttf}[range=it]%
+ \setmathfont{DejaVuSansMono.ttf}[range=tt]%
+ \setmathfont{DejaVuSans-Bold.ttf}[range=bfup]%
+ \setmathfont{DejaVuSans-BoldOblique.ttf}[range=bfit]%
+ \setmainfont{DejaVuSerif}[%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Italic,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldItalic,%
+ ]%
+ \setsansfont{DejaVuSans}[%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ ]%
+ \setmonofont{DejaVuSansMono}[% main typewriter%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ ]%
+ \renewcommand\familydefault{\sfdefault}%
+ }{\PoliceParDefaut}%
+}
+\newcommand\ChoixNeohellenic{%
+ \ChoixPolice{GFSNeohellenic.otf}{%
+ %Load GFS Neo Hellenic as the sans font and use the GFS Neo Hellenic
+ %for math. Do some specific adaptation for the GFS Neo Hellenic at 12pt.
+ \RequirePackage{gfsneohellenicot}%
+ \setmonofont{DejaVuSansMono}[% main typewriter%
+ Extension=.ttf,%
+ UprightFont=*,%
+ ItalicFont=*-Oblique,%
+ BoldFont=*-Bold,%
+ BoldItalicFont=*-BoldOblique,%
+ ]%
+ \renewcommand\familydefault{\sfdefault}%
+ }{\PoliceParDefaut}%
+}
+%
+%--------------------------------------Code executed when loading style----------------------
+%
+\iftutex
+ \usepackage{unicode-math}
+ \usepackage{fontspec}
+ \defaultfontfeatures{Ligatures=TeX}
+ \ifcase\PoliceDocument
+ %Latin Modern is the default font
+ \PoliceParDefaut
+ \or
+ \ChoixDidot
+ \or
+ \ChoixLucida
+ \or
+ \ChoixStix
+ \or
+ \ChoixCambria
+ \or
+ \ChoixDejaVu
+ \or
+ \ChoixCMUnicode
+ \or
+ \ChoixDejaVuSans
+ \or
+ \ChoixNeohellenic
+ \else
+ \PoliceParDefaut
+ \fi
+ \else
+ %TeX standard
+ \RequirePackage{amssymb}
+ \ifx\PoliceDocument\PoliceDejavuSans
+ \RequirePackage{arev}
+ \else
+ \ifx\PoliceDocument\PoliceDidot
+ \RequirePackage{gfsdidot}
+ \else
+ \PoliceParDefaut
+ \fi
+ \fi
+ \fi
diff --git a/info/mathtrip/src/DrawMethod.sty b/info/mathtrip/src/DrawMethod.sty
new file mode 100644
index 0000000000..fb6047954c
--- /dev/null
+++ b/info/mathtrip/src/DrawMethod.sty
@@ -0,0 +1,27 @@
+%This package contains some code to determine the tools to be used to draw
+%some geometrical figure.
+%
+%It accept one option whose value is:
+% tikz to draw with the TikZ package (this is the default value)
+% inclusion to include an external file.
+
+
+%Declare few constants to choose what will be used to typeset the figure
+\chardef\TIKZ=0
+\chardef\INCLUSION=1 %When an external image is simply included
+
+\chardef\DrawMethod=\TIKZ
+\DeclareOption{tikz}{\chardef\DrawMethod\TIKZ}
+\DeclareOption{inclusion}{\chardef\DrawMethod\INCLUSION}
+\ProcessOptions
+
+\ifcase\DrawMethod
+ %TikZ
+ \RequirePackage{tikz}
+ \usetikzlibrary{arrows,decorations.markings}
+\or
+ %Inclusion
+ \RequirePackage{graphicx}
+\else
+ \RequirePackage{graphicx}
+\fi
diff --git a/info/mathtrip/src/EscherPage10.tex b/info/mathtrip/src/EscherPage10.tex
new file mode 100644
index 0000000000..46d28c18f2
--- /dev/null
+++ b/info/mathtrip/src/EscherPage10.tex
@@ -0,0 +1,68 @@
+%This command draw either the escher knot (the original image)
+%or the escher impossible brick (the new one).
+%
+%The Macro use the global (to the page 10) toggle "OriginalImage"
+%
+%The macro has one parameter:
+% 1) The size to use to typeset the content
+\newcommand\TTenDisplayImage[1]{%
+ \parbox[t]{#1}{%
+ \iftoggle{OriginalImage}{%
+ \vfill
+ \iftoggle{DVIOutput}{%
+ \centerline{\includegraphics[viewport=0 0 135 125]{escher.ps}}%
+ }{%
+ \centerline{\includegraphics[viewport=0 0 135 125]{escher.pdf}}%
+ }%
+ }{%
+ % Author: Julien Cretel
+ % Date: 24/02/2013
+ %
+ %The code was published here:
+ %http://www.texample.net/tikz/examples/escher-brick-penrose-triangle/
+ %
+ \savebox\ImpossibleBrick{%
+ \begin{tikzpicture}[scale=4, line join=bevel]
+
+ % \a and \b are two macros defining characteristic
+ % dimensions of the impossible brick.
+ \pgfmathsetmacro{\a}{0.18}
+ \pgfmathsetmacro{\b}{1.37}
+
+ \tikzset{%
+ apply style/.code={\tikzset{##1}},
+ brick_edges/.style={thick,draw=black},
+ face_colourA/.style={fill=gray!50},
+ face_colourB/.style={fill=gray!25},
+ face_colourC/.style={fill=gray!90},
+ }
+
+ \foreach \theta/\v/\facestyleone/\facestyletwo in {%
+ 0/0/{brick_edges,face_colourA}/{brick_edges,face_colourC},
+ 180/-\a/{brick_edges,face_colourB}/{brick_edges,face_colourC}
+ }{
+ \begin{scope}[rotate=\theta,shift={(\v,0)}]
+ \draw[apply style/.expand once=\facestyleone]
+ ({-.5*\b},{1.5*\a}) --
+ ++(\b,0) --
+ ++(-\a,-\a) --
+ ++({-\b+2*\a},0) --
+ ++(0,-{2*\a}) --
+ ++(\b,0) --
+ ++(-\a,-\a) --
+ ++(-\b,0) --
+ cycle;
+ \draw[apply style/.expand once=\facestyletwo]
+ ({.5*\b},{1.5*\a}) --
+ ++(0,{-2*\a}) --
+ ++(-\a,0) --
+ ++(0,\a) --
+ cycle;
+ \end{scope}
+ }
+ \end{tikzpicture}}
+ \par
+ \centerline{\usebox\ImpossibleBrick}
+ }
+ }
+}
diff --git a/info/mathtrip/src/MathTrip.sty b/info/mathtrip/src/MathTrip.sty
new file mode 100644
index 0000000000..d810baae8b
--- /dev/null
+++ b/info/mathtrip/src/MathTrip.sty
@@ -0,0 +1,657 @@
+%This file contains all the macros used
+%in the LaTeX port of the document cheat.pdf available
+%in the TeX showcase.
+
+
+%This boolean is true when output is DVI and false otherwise
+\newtoggle{DVIOutput}
+\togglefalse{DVIOutput}
+\ifx\pdfoutput\@undefined
+ % no pdfTeX
+ \togglefalse{DVIOutput}
+\else\ifnum\pdfoutput<1
+ %pdfTeX is outputting a .dvi file
+ \toggletrue{DVIOutput}
+\else
+ %pdfTeX is outputting a .pdf file
+ \togglefalse{DVIOutput}
+\fi\fi
+
+%These lengths are used to specify the dimentions of the different columns
+%of the tabular environment. These are useful to write code working on many
+%page after the specific dimentions for the page have been assigned to them.
+%Normally no page of the document has more than three columns even
+%the page 2 but for the ease of typesetting it is useful
+%to split the first logical column in three. Thus it is
+%possible to have until 5 columns.
+\newlength{\ColOne}
+\newlength{\ColTwo}
+\newlength{\ColThree}
+\newlength{\ColFour}
+\newlength{\ColFive}
+%Theses length are mainly used to save the current similar
+%values which can be locally modified.
+\newlength{\BeforeFormulaSpace} % Will contain the space before a formula when it is displayed.
+\newlength{\InterFormulaSpace} %Space between two lines of formulae displayed
+ %inside the 'DisplayFormulae' environment
+\newlength{\DisLeftSkip}
+\newlength{\DisParFillSkip}
+\newlength{\DisParIndent}
+%The length '\CurrentLineWidth' is the current width of a line.
+%It is useful when a lot of data (like when writing
+%formulae with "\Fm" macros) should be put on a line to
+%know when inserting a break.
+%
+%This variable is mainly used in the macro "\LongEquation"
+%and "\Fm" which have to put a maximum amount of text on a line.
+\newlength{\CurrentLineWidth}
+%The length \MathContentSize is used to setup the size of the parboxes
+%containing the different mathematical elements of the page
+\newlength{\MathContentSize}
+%This length is useful to manipulate horizontal space
+\newlength{\HSpace}
+%This length is useful to manipulate vertical space at different
+%place
+\newlength{\VSpace}
+%This is a temporary length usable for computation inside macro
+\newlength{\TmpLengthA}
+
+%A temporary counter for a local usage
+\newcounter{tmpCountA}
+%A counter used to contain the number of blank lines
+%to add in a table from the 'nicematrix' package.
+\newcounter{NbBlankLines}
+%Some new counters are usefuls to number equations and formulaes
+%The counter 'DisplayFormulaNb' is the number of the current displayed formulae
+\newcounter{DisplayFormulaNb}
+%The enumerated type describing the style to display the number
+%of the formulae. The values are:
+% 0 without number
+% 1 regular
+% 2 bold
+\chardef\StyleWithoutNumber=0
+\chardef\StyleRegular=1
+\chardef\StyleBold=2
+\chardef\DisNumberStyle=\StyleWithoutNumber
+%Enumerated type to indicate if the formula should be typeset
+%in display style (with bigger characters) or without change
+\chardef\SmallChar=1
+\chardef\BigChar=0
+\chardef\DisDisplay=\BigChar
+
+%This box is useful to store a formula which can
+%be moved after composition.
+\newsavebox\FormulaBox
+
+%Three temporary boxes (for use in a macro)
+\newsavebox\TmpBoxA
+\newsavebox\TmpBoxB
+\newsavebox\TmpBoxC
+%This box contains the Escher's impossible brick on page 10
+\newsavebox\ImpossibleBrick
+
+%------------------------------------------------------------------------------
+%
+% Macros definition
+%
+%------------------------------------------------------------------------------
+
+%This TeX (and not LaTeX) macro does nothing but it can be used
+%inside other macro to achieve some effects. It is declared here just
+%to be certain that the name will be unique.
+\def\cheatTmpMacro{\relax}
+
+%This command define the separator of thousands (this one is different in differents
+%regions/country)
+\newcommand\SepMillier{\,}
+%Similary the decimal separator is different in different country.
+\newcommand\SepDecimal{{,}}
+
+%The following macros modify the space typeset by LaTeX before and after
+%a formula in display math.
+%
+%The command has two parameter
+% 1) the new space to use in normal mode (symmetric for above and below)
+% 2) the new space to use for short mode (the mode is short when
+% the line of text before is shorter than the width of formula).
+\newcommand\DisplaySpace[2]{%
+ \deflength{\abovedisplayskip}{#1}%
+ \deflength{\belowdisplayskip}{#1}%
+ \deflength{\abovedisplayshortskip}{#2}%
+ \deflength{\belowdisplayshortskip}{#2}%
+}
+
+%Define a new environment useful to typeset formulae in a more or less free
+%style.
+%
+%This environment has 5 parameters:
+% 1) The number to use when displaying the first formula
+% (generally 1 except when a sequence of formula should
+% be continued)
+% 2) The horizontal space to let before a formula.
+% 3) The dimention which should separate two formulae
+% 4) An enumerated value to define the style of displaying
+% the formula (standard mode, display mode etc.)
+% 5) An enumerated type to specify the style (bold, regular...) of the number of the
+% formula.
+\newenvironment{DisplayFormulae}[5]{%Begin definitions
+ \newbool{FirstFormula}%
+ \booltrue{FirstFormula}%
+ \newbool{PrintEquation}% true if the formula should be typeset
+ % and printed, when fals it is only typeset
+ % (useful to know its width)
+ \booltrue{PrintEquation}%
+ \newbool{Inline}%When true, the formula is not typeset in a box
+ %but simply typed inline. Rarely used but useful
+ %if the formula is surrounded by some text.
+ \boolfalse{Inline}%
+ \deflength\CurrentLineWidth{0pt}%
+ \defcounter{DisplayFormulaNb}{#1}%
+ % Since this counter is automatically incremented before
+ % to typeset a formula
+ \defcounter{DisplayFormulaNb}{\value{DisplayFormulaNb}-1}%
+ \deflength{\BeforeFormulaSpace}{#2}%
+ \deflength{\InterFormulaSpace}{#3}%
+ \chardef\DisDisplay=#4%
+ \chardef\DisNumberStyle=#5%
+ \deflength{\DisLeftSkip}{\leftskip}%
+ \deflength{\DisParFillSkip}{\parfillskip}%
+ \deflength{\DisParIndent}{\parindent}%
+ \deflength{\parindent}{0pt}%
+ \deflength{\leftskip}{0pt}%
+ \deflength{\parfillskip}{0pt}%
+ \par\unskip
+ \begin{sloppypar}\raggedright\noindent\unskip
+}{%End definitions
+ \par\end{sloppypar}\noindent
+ \setlength{\leftskip}{\DisLeftSkip}%
+ \setlength{\parfillskip}{\DisParFillSkip}%
+}
+
+%This macro put a new line when writing formulae with the
+%\Fm family of macro inside an environment 'DisplayFormulae'
+%The macro has one parameter
+% 1)The height to force at the begining of a paragraph
+% This forces an interline with a rule. This parameter
+% is optionnal and its default value is '\InterFormulaSpace'
+%
+%This macro uses the global (to itself) length
+%'\CurrentLineWidth'
+\newcommand\NewParFormulae[1][\InterFormulaSpace]{%
+ \par
+ %To force the desired space between formulae
+ \rule{0pt}{#1}%
+ \unskip\noindent\unskip}
+
+%This macro is the separator of formulae. Normally
+%it is empty but it can be redefined to set a specific
+%separator if needed.
+%
+%This macro is executed in math mode
+\newcommand\FmSep{\relax}
+
+%This macro is used to display a formula inside an environment
+%"DisplayFormulae". It will work correctly only in that
+%environement which provide a way to use global variables (to this
+%macro) to keep some states between its different calls.
+%
+%It has two parameters:
+% 1) A boolean value which, when it is true, indicates
+% that the formula should be printed inline
+% with some other text (but the formula is still
+% typeset in LR box). For this to work correctly,
+% it is sufficient that the length '\CurrentLineWidth'
+% being set to a length of 0pt. This is like the
+% first equation on a line and the equation is simply
+% printed without adding anything.
+% This parameter is optionnal and its default value is 'false'.
+% 2) The formula to display. The formula
+% is typeset in math mode.
+%
+%This macro uses and update the global (to the macro)
+%length "\CurrentLineWidth" (which indicate the next point
+%where to put text on the current line).
+%
+%The global variable (defined inside the
+%'DisplayFormulae' environment) '\DisNumberStyle' is used too,
+%to determine how the equation should be typeset (with or without
+%numbering for instance).
+%
+%!! Be careful !!
+%When not in inline mode, this macro skips all the blanks
+%before it. This is useful to avoid spurious blanks introduced
+%somewhere before the call to this macro.
+\newcommand\Fm[2][false]{%
+ \setbool{Inline}{#1}%
+ \ifbool{Inline}{\deflength{\CurrentLineWidth}{0pt}}{%
+ %Not Inline:
+ \unskip\noindent\unskip
+ }%
+ \defcounter{DisplayFormulaNb}{\value{DisplayFormulaNb}+1}%
+ \WriteFormula{\the\CurrentLineWidth}{\CurrentLineWidth}{#2}{true}%
+ %Since a formula is written, we are no more on the first formula.
+ \boolfalse{FirstFormula}%
+}%
+
+%This command do really the job of typesetting the formula
+%It has 5 parameters:
+% 1) A white space to be put before the equation.
+% If this value is greater than 0pt, the equation is
+% considered to be part of a multipart equation
+% (but it is not its first part).
+%
+% This means that a space of that dimention is simply added
+% before the equation and the equation is printed.
+% If the width of the text with the added space before
+% the equation is wider than the available space, the equation
+% is simply typeset right justified.
+%
+% This parameter is optionnal and its value is 0pt.
+% 2) The current position on the line
+% 3) A variable of type dimen to contain the new
+% point of insertion in the printed line (where
+% the next equation could be typesetted).
+% 4) The formula to type
+% 5) A boolean value which when it is true indicates that
+% the equation should be printed. Otherwise the equation
+% is typesetted but not printed. This is useful to
+% know the width of the printed equation, but without
+% printing it in the text.
+\newcommand\WriteFormula[5][0pt]{%
+ \begingroup%To protect the global boxes and variables used
+ %in this macro.
+ \deflength{\CurrentLineWidth}{#2}%The current position on the line
+ \setbool{PrintEquation}{#5}%
+ \ifdimequal{#1}{0pt}%
+ {%Normal case when one has to print a std equation
+ \ifdimgreater{\CurrentLineWidth}{0pt}{%Already some text on the line
+ %we add the space between the formula.
+ \ifbool{PrintEquation}{%
+ \hspace{\InterFormulaeSkip}%
+ \deflength{\CurrentLineWidth}{\CurrentLineWidth+\InterFormulaeSkip}%
+ }{}%
+ }{}%
+ \savebox\FormulaBox{%
+ \hspace*{\BeforeFormulaSpace}%
+ \ifnum\DisNumberStyle=\StyleBold
+ \textbf{\arabic{DisplayFormulaNb}.~}%
+ \else
+ \ifnum\DisNumberStyle=\StyleRegular
+ \arabic{DisplayFormulaNb}.~%
+ \fi
+ \fi
+ \ensuremath{%
+ \ifnum\DisDisplay=\BigChar\displaystyle\fi
+ %Typeset the equation and call the macro to
+ %add a separator between the equations.
+ #4\FmSep}%
+ }%
+ \settowidth{\HSpace}{\usebox\FormulaBox}%
+ \deflength\CurrentLineWidth{\CurrentLineWidth+\HSpace}%
+ \ifdimgreater{\CurrentLineWidth}{\linewidth}%
+ {%Force a new paragraph
+ \ifbool{PrintEquation}{\NewParFormulae}{}%
+ \deflength{\CurrentLineWidth}{\HSpace}%Since the formula is the only text on the line
+ }{}%
+ }{%The second part of the equation should be printed
+ \savebox\FormulaBox{%
+ \ensuremath{%
+ \ifnum\DisDisplay=\BigChar\displaystyle\fi
+ %Typeset the second part of the equation
+ %but add the white space before it.
+ \makebox[#1][l]{}#4\FmSep\relax
+ }%
+ }%
+ \settowidth{\HSpace}{\usebox\FormulaBox}%
+ \deflength{\CurrentLineWidth}{\HSpace}%
+ \ifdimgreater{\CurrentLineWidth}{\linewidth}%
+ {%With the space added before it,
+ %the second part of the equation is wider
+ %than the available space. We simply put
+ %the equation right aligned
+ \savebox\FormulaBox{%
+ \makebox[\linewidth][l]{%
+ \ensuremath{%
+ \ifnum\DisDisplay=\BigChar\displaystyle\fi
+ %Typeset the second part of the equation without
+ %the preceding blank space and force the right alignment
+ \hfill #4\FmSep\relax
+ }%
+ }%
+ }%
+ \settowidth{\HSpace}{\usebox\FormulaBox}%
+ %Since the line is pushed to the right of space, the line
+ %is full.
+ \deflength{\CurrentLineWidth}{\linewidth}%
+ }{}%
+ }%
+ \ifbool{PrintEquation}{\usebox\FormulaBox}{}%Print the formula in the document
+ %\HSpace is the width of the box containing the typeseted formula.
+ \ifdimgreater{\HSpace}{\linewidth}%
+ {\typeout{^^J==Info The text of this equation:^^J#4^^J%
+ is wider than the width of the text. Please split it manually.}%
+ }{}%
+ \edef\mytemp{\endgroup
+ \noexpand\deflength{#3}{\the\CurrentLineWidth}%
+ }%
+ \mytemp %Close the group and set the value of the
+ %insertion point of the next equation.
+}
+
+%The following macro is similar to '\Fm' but write only
+%the first part of an equation. When an equation is spiltted in two parts,
+%the first part starts always on a new line (except if this is
+%the first equation of a group of equations, to avoid extra blank
+%space).
+%
+%The macro has one parameter:
+% 1) The first part of the equation
+% The formula is typeset in math mode.
+\newcommand\FmPartA[1]{%
+ \begingroup
+ %A group can be used since this command should always be used
+ %with '\FmPartB' and the fact that the \CurrentLineWidth is not
+ %updated (due to the group) is without importance since the next
+ %text will be the second part of the equation on a new line.
+
+ %Force equation on a new line except if this is the first equation.
+ \ifbool{FirstFormula}{%First formula
+ }{%No more the first formula, a new line is forced
+ \NewParFormulae%
+ }%
+ \deflength{\CurrentLineWidth}{0pt}%Since this equation starts
+ %on a new line
+ %There must be no separator of equation between the two part of
+ %a splitted equation
+ \def\FmSep{\relax}%
+ \Fm{#1}%
+ \endgroup
+}
+
+%The following macro is similar to '\Fm' but write only
+%the second part of an equation
+%
+%The macro has two parameters:
+% 1) Some text which will be used to determine the horizontal
+% offset to let before writing the second part of the equation
+% 2) The second part of the equation
+%The formulae are typeset in math mode.
+\newcommand\FmPartB[2]{%
+ %Start on a new line.
+ \NewParFormulae
+ %Typeset the first part of the equation without printing it
+ %to get the length of the first part in \TmpLengthA
+ \WriteFormula{0pt}{\TmpLengthA}{#1}{false}%
+ %Print the second (or following) part of the equation by
+ %adding a blank space corresponding to the width of the
+ %first part. The parameter with a length of 0pt
+ %reflects the fact that the equation start at the beginning
+ %of the line (after the \NewParFormulae}.
+ \WriteFormula[\TmpLengthA]{0pt}{\CurrentLineWidth}{#2}{true}%
+ %A blank character seems to be present, it is suppressed
+ %now
+ \unskip
+}
+
+%This macro is useful to indicate that no specific typeseting
+%should be done (and the default typesetting should be used instead)
+\newcommand\DoNothing{}
+
+%This macro is made to display the long equations (where 2 equal signs are used
+%to separate part of equation)
+%The macro has 5 parameters
+% 1) Any parameter expanding to something prevents
+% the addition of space before equation. Otherwise
+% a space of "\SpaceBeforeLongEq" is added
+% 2) The formula until the first equal sign
+% 3) The formula beteween the two equal sign
+% 4) The formula after the last equal sign
+% 5) The width of the line where the long equation should be typeset.
+%
+%If for some reason there is less than 2 equal signs, the corresponding
+%parameters should be empty.
+%
+%This macro uses the global boxes "\TmpBoxA" and \TmpBoxB".
+%This macro uses the global length "\CurrentLineWidth" and "\HSpace"
+%
+\newcommand\LongEquation[5][{\DoNothing}]{%
+ \begingroup
+ \deflength{\CurrentLineWidth}{#5}%
+ \par
+ \ifdefempty{#1}{\AdjustSpace{\SpaceBeforeLongEq}}{}%
+ \noindent
+ \def\temp{#3}%
+ \ifx\temp\empty
+ %Second parameter empty, the first part of equation is simply printed.
+ $#2$%
+ \else
+ %Second parameter not empty
+ \savebox\TmpBoxA{$#2=#3$}%
+ \settowidth\HSpace{\usebox\TmpBoxA}%
+ \ifnum\HSpace>\CurrentLineWidth
+ $#2=$\\\mbox{}\hfill
+ \savebox\TmpBoxA{$#3$}%
+ \fi
+ \def\temp{#4}%
+ \ifx\temp\empty
+ %Third parameter empty the formula until this parameter is typeset
+ \usebox\TmpBoxA
+ \else
+ %Third parameter not empty
+ \savebox\TmpBoxB{$#2=#3=#4$}%
+ \settowidth{\HSpace}{\usebox\TmpBoxB}%
+ \ifnum\HSpace>\CurrentLineWidth
+ \usebox\TmpBoxA=\\\mbox{}\hfill
+ $#4$%
+ \else
+ \usebox\TmpBoxB
+ \fi
+ \fi
+ \fi
+ \endgroup
+}
+
+
+%This command add or remove vertical space
+%
+%The command has 1 parameter
+% 1) The length for the space to add or remove
+\newcommand\AdjustSpace[1]{\par %to force vertical mode
+ \vspace{#1}\noindent\ignorespaces\par}
+
+%This command assign a counter with the biggest of three numbers.
+%
+%The macro has 4parameters:
+% 1) The name of the resulting counter.
+% This parameter is optionnal and its name is
+% 'NbBlankLines'
+% 2-4) The three values to check
+\newcommand\BiggestNbLines[4][NbBlankLines]{%
+ \defcounter{#1}{#2}%The biggest is the first
+ \ifnumless{\value{#1}}{#3}{%first < second
+ %The biggest is the second number
+ \defcounter{#1}{#3}%
+ }{}
+ \ifnumless{\value{#1}}{#4}{%The current biggest < third
+ %the biggest is the third number
+ \defcounter{#1}{#4}%
+ }{}
+}
+
+%This command adds few blank lines in a table. It is particularly useful
+%with the 'nicematrix' package where it is often necessary to add few lines
+%to be able to use block on many lines.
+%
+%The macro has two parameters:
+% 1) The number of lines to add
+% 2) A macro to add the lines
+%
+%This command uses the global counter 'NbBlankLines' and the macro
+%'\cheatTmpMacro'.
+\newcommand\AddBlankLines[2]{%
+ \defcounter{NbBlankLines}{#1}%
+ \def\cheatTmpMacro{\relax}%
+ \whileboolexpr{test {\ifnumcomp{\value{NbBlankLines}}{>}{0}}}%
+ {\defcounter{NbBlankLines}{\value{NbBlankLines}-1}%
+ \edef\cheatTmpMacro{\cheatTmpMacro #2}}%
+ \cheatTmpMacro
+}
+
+%This command is used to setup the style of the numerous
+%small titles used in the page.
+%
+%The command has one parameter
+% 1) The text of the intertitle
+\newcommand\IntertitleShape[1]{%
+ \textit{#1}%
+}
+
+%This command add some remarks about a math formula.
+%It is very useful to add some text like "a>0"
+%
+%The macro has two parameters
+% 1) The separator to typeset before the remark. This parameter
+% is optionnal and has the value of '\text{,}\enspace'
+% 2) The text of the remark, which will be typeset
+% in math mode. One has to use the AMS command
+% '\text' to typeset in text mode
+\newcommand\MathRemark[2][\text{,}\enspace]{\unskip\ensuremath{#1#2}}
+
+%This command add the infinitesimal difference after a math expression
+%It is very useful to have consistent spacing
+%before the 'dx'.
+%The command has one parameter:
+% 1) The letter to use. This parameter is typeset
+% in math mode and it is optionnal. Its
+% default value is 'x'
+\newcommand\dx[1][x]{\unskip\ensuremath{\,d#1}}
+
+%This command is used to typeset a variable followed
+%by the infinitesimal difference dx
+%
+%This command has one parameter
+% 1) The letter to use for the variable.
+% This text is typeset in math mode This parameter
+% is optional and its value is 'x'
+\newcommand\xdx[1][x]{\ensuremath{#1\dx}}
+
+%
+%This command is intended to stack two characters
+%with some vertical space between them.
+%
+%The command has 4 parameters:
+% 1) a left delimiter (might be empty)
+% 2) a right delimiter (might be empty)
+% 3) the "numerator" character
+% 4) the "denominator" character
+%
+%The idea is taken from here:
+%https://tex.stackexchange.com/questions/119096/on-atop-again-how-to-obtain-the-same-result-without-warning
+%
+%The syntax of \genfrac macro is:
+%\genfrac{<left-delim>}{<right-delim>}{<thickness>}{<mathstyle>}{<numerator>}{<denominator>}
+\newcommand\Empile[4]{%
+ \genfrac{#1}{#2}{\z@}{}{#3}{#4}%
+}
+
+%Macros defined in the original document
+\newcommand\titleTable{\textbf{\rule[-2ex]{0pt}{6ex}\large Mathematical formulæ and facts}}
+\newcommand\Real{\iftutex\BbbR\else\mathbb{R}\fi} %ℝ
+\newcommand\Natural{\iftutex\BbbN\else\mathbb{N}\fi} %ℕ
+\newcommand\Z{\iftutex\BbbZ\else\mathbb{Z}\fi} %ℤ
+\newcommand\Par{\par\vskip 3pt}
+\newcommand\centertwo[2]{\line {\hss #1\hss #2\hss}}
+\newcommand\centerthree[3]{\line {\hss #1\hss #2\hss #3\hss}}
+\newcommand\sign{\hbox{\rm sign}}
+\newcommand\etc{$\ldots$}
+\newcommand\Ldots{,\ldots,}
+\newcommand\Hrule{\vskip 3pt\hrule\vskip 3pt}
+\newcommand\Or{\vee}
+\newcommand\E{\iftutex\BbbE\else\mathbb{E}\fi} %Expectation (in probabilities)
+\newcommand\abs{\mathop{\rm abs}\nolimits}
+\newcommand\perm{\mathop{\rm perm}\nolimits}
+\newcommand\sech{\mathop{\rm sech}\nolimits}
+\newcommand\csch{\mathop{\rm csch}\nolimits}
+
+\newcommand\arccot{\mathop{\rm arccot}\nolimits}
+\newcommand\arcsec{\mathop{\rm arcsec}\nolimits}
+\newcommand\arccsc{\mathop{\rm arccsc}\nolimits}
+\newcommand\arcsinh{\mathop{\rm arcsinh}\nolimits}
+\newcommand\arccosh{\mathop{\rm arccosh}\nolimits}
+\newcommand\arctanh{\mathop{\rm arctanh}\nolimits}
+\newcommand\arccoth{\mathop{\rm arccoth}\nolimits}
+\newcommand\arcsech{\mathop{\rm arcsech}\nolimits}
+\newcommand\arccsch{\mathop{\rm arccsch}\nolimits}
+
+\iftutex %16bits TeX
+ %lAngle,rAngle are defined in unicode-math
+ \newcommand\Euls[2]{\ensuremath{\Empile{\lAngle}{\rAngle}{#1}{#2}}}
+ %but not in Lucida
+ \ifnum\PoliceDocument=\PoliceLucida
+ \renewcommand\Euls[2]{\bigg\langle\!\!\!\bigg\langle{#1 \atop #2} \bigg\rangle\!\!\!\bigg\rangle}
+ %and dejavusans
+ \else
+ \ifnum\PoliceDocument=\PoliceDejavuSans
+ \renewcommand\Euls[2]{\bigg\langle\!\!\!\bigg\langle{#1 \atop #2} \bigg\rangle\!\!\!\bigg\rangle}
+ \fi
+ \fi
+\else %8 bits TeX.
+ %Use of the TeX definition.
+ \newcommand\Euls[2]{\bigg\langle\!\!\!\bigg\langle{#1 \atop #2} \bigg\rangle\!\!\!\bigg\rangle}
+\fi
+\newcommand\ramsey{\mathop{\rm r}\nolimits}
+\newcommand\Var{\mathop{\rm Var}\nolimits} %variance (prob and stat)
+\newcommand\SousEnsemble[2]{\ensuremath{\Empile{\{}{\}}{#1}{#2}}}
+\newcommand\Cycle[2]{\cycle{#1}{#2}}
+\newcommand\cycle[2]{\ensuremath{\Empile{[}{]}{#1}{#2}}}
+\newcommand\Eul[2]{\eul{#1}{#2}}
+\newcommand\eul[2]{\ensuremath{\Empile{\langle}{\rangle}{#1}{#2}}}
+\newcommand\fivrm{}
+\newcommand\euls[2]{\Euls{#1}{#2}}
+\newcommand\ValAbs[1]{\lvert#1\rvert} %absolute value
+
+%Commands used to make the title page.
+%This document could be typeset many times with each time a different
+%font. Then each produced document will be merged into one.
+%This is useful to show a large set of fonts.
+%
+%In this latter case, it is important to be able to deactivate
+%some parts of the title which will be otherwise redundant.
+\newbool{FullTitle}
+\booltrue{FullTitle}%When true all the title is typeset, otherwise
+ %only the name of the used font is displayed
+
+%The font to use for the name of the package (this font should be adapted,
+%if possible, to a very big character used a title).
+\newcommand\TitleFontFile{QTHelvet-BoldOutline.otf}
+\IfFontExistsTF{\TitleFontFile}%
+ {\newfontface\PackageNameFnt{\TitleFontFile}}{\newcommand\PackageNameFnt{\relax}}
+%This command typeset the main title and the full name of the package
+%The command has no parameter
+\newcommand\PackageName{%
+ \ifbool{FullTitle}%
+ {%
+ \par\centerline{\PackageNameFnt\fontsize{50pt}{55pt}\selectfont MathTrip}\par
+ }{}%
+}
+%A short quote to go with the package name (and the main title)
+\newcommand\TitleQuote{%
+ \ifbool{FullTitle}%
+ {%
+ \begin{flushright}%
+ \parbox[t]{20em}{%
+ %\fontsize{20pt}{24pt}\selectfont
+ La pente, déjà verticale, se redressait encore.
+ \par
+ %\fontsize{16pt}{18pt}\selectfont\itshape
+ \textit{\small The slope, already vertical, was still rising.}
+ \begin{flushright}
+ Georges Livanos (french alpinist)
+ \end{flushright}%
+ }%
+ \end{flushright}%
+ }{}%
+}
+
+%The version of the document
+\newcommand\Version{2.8}
diff --git a/info/mathtrip/src/MathTrip.tex b/info/mathtrip/src/MathTrip.tex
new file mode 100644
index 0000000000..313c00ddb8
--- /dev/null
+++ b/info/mathtrip/src/MathTrip.tex
@@ -0,0 +1,146 @@
+%This document is a port to LaTeX of the document
+%"https://www.tug.org/texshowcase/cheat.pdf" produced and written in plain TeX.
+%The original TeX document was written by Steve Seiden.
+%
+%The only copyright notice found about the original document was this one:
+% I grant permission for you to reproduce this cheat sheet, and redistribute
+% it for educational purposes only. You may not reproduce it for profit.
+% If you reproduce it, you must not alter or delete my copyright.
+%
+%For the code specific to the LaTeX port, the licence is LPPL or BSD licence (at your choice).
+%
+%The goal of the port to LaTeX is to be able to use the document to test
+%some Unicode math fonts and unicode TeX more easily. This seems to be difficult
+%with Plain TeX
+%
+%To use an other font as the one already configured in this document, one has to pass one parameter
+%to this document for specifying the font and to modify two packages:
+% 1) "ChoixPolice.sty" which define the fonts to use
+% when a specific parameter describing the font is specified
+% 2) "SpecificDimentions.sty" which define and specify
+% some dimentions related to the fonts for each
+% page of the document. This style is the more tricky
+% to modify since it contains a lot of parameters specifying
+% many dimentions everywhere in the document.
+%
+% The easiest way to adapt the document to a new font is
+% probably to use the definition of a font with similar
+% characteristics and adapt few dimentions corresponding
+% to the places where the use of the new font causes problems
+% with the typesseting.
+%
+%The already defined parameters for specifying the font to use in
+%the document are:
+% lmodern (or nothing) to choose the default font "lmmodern".
+% cmunicode to use the "cmunicode" fonts. This fonts
+% has been created with all the CM fonts for 8bits TeX
+% and it is quite nice. The characters are similar to lmmodern
+% with more glyphs (greek, cyrillic IPA) and no math font.
+% The font Latin Modern is used for math.
+% Some of the characters from CMUnicode are based
+% on the good PS fonts from BlueSky.
+% didot to use GFS Didot with Asana Math for mathematic.
+% When 8bits TeX is used, the package "gfsdidot" is loaded.
+% lucida to use lucida (mathematic and standard)
+% stix to use STIX2 fonts (Mathematic and Standard)
+% cambria to use Cambria with Cambria Math
+% Calibri is used for the sans serif font.
+% dejavu to use DejaVu (serif) and the math fonts from GUST foundry.
+% dejavusans to use DejaVu Sans for text and Math. To complement
+% the LucidaBrightOT is used. When 8bits TeX is used,
+% the package "arev" is loaded.
+% neohellenic to use GFS Neo Hellenic with GFSNeoHellenicMath.
+%
+%
+%Few more parameters are available to draw some of the illustrations contained in the document.
+% tikz to draw all the illustrations with TikZ (default).
+% inclusion to use the inclusion of external images files
+% to draw some of the illustrations.
+
+%Here are several definitions for the "documentclass" command. Since only one
+%command "documentclass" is allowed in a TeX document, this is used
+%to be able to automate the the production of all the examples in all
+%the fonts (with an external script like "cheat.pl").
+%
+%The idea is to use the first "documentclass" command immediately
+%following the line(s) containing the string "automatic typesetting" and to comment
+%or ignore all other "documentclass" command. This allow an easy way to switch between
+%automatic and manual typesetting.
+
+%For automatic typesetting. The string "FONT_TO_BE_REPLACED" should be replaced by
+%by the appropriate font name. The string "SUPPLEMENTARY_PARMS" will
+%be replaced by the other parameters necessary for the correct typesetting.
+%\documentclass[a4paper,FONT_TO_BE_REPLACED,SUPPLEMENTARY_PARMS,fleqn,alignedleftspaceno]{article}
+%
+%To produce a manual typesetting with the font "NeoHellenic", one has to use
+%the following declaration:
+\documentclass[a4paper,neohellenic,fleqn,alignedleftspaceno]{article}
+
+%\setlength{\paperwidth}{210mm}
+%\setlength{\paperheight}{297mm}
+\setlength{\hoffset}{-22mm}
+\setlength{\voffset}{-20mm}
+\setlength{\oddsidemargin}{0pt}
+\setlength{\topmargin}{0pt}
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+\setlength{\textheight}{290mm}
+\setlength{\textwidth}{200mm}
+\setlength{\marginparsep}{0pt}
+\setlength{\marginparwidth}{0pt}
+\setlength{\footskip}{-20mm}
+\setlength{\marginparpush}{0pt}
+
+%A lot of command to simplify coding by using
+%the e-tex extension.
+\usepackage{etoolbox}
+%Useful to manage the diffenerent TeX engines.
+\usepackage{iftex}
+%This package simplifies greatly the management of complex
+%to very complex tables.
+\usepackage{nicematrix}
+%Better spacing between the cells inside array and tabular environment.
+\NiceMatrixOptions{cell-space-limits = 1pt}
+%If "mathtools" is called after the package "ChoixPolice"
+%which define the fonts (and the mathematical fonts)
+%to be used, some errors (macros redefinitions arise)
+%except when the font Latin Modern is used.
+\usepackage[fleqn]{mathtools}
+\usepackage{tikz}
+\usepackage{unit} %To draw trigonometric circle and rectangular triangle
+ %at page 4
+\usepackage{angle} %To draw the angle at page 5
+\usetikzlibrary{arrows,decorations.markings}
+\usepackage{graphicx}
+\usepackage{bigstrut}
+\usepackage{enumitem}
+%This package allow easily to have multi columnns in a text.
+\usepackage{multicol}
+%This style manages the differents fonts in which this document
+%can be typeseted.
+\usepackage{ChoixPolice}
+%This style contains all the different dimentions which should
+%be adjusted when different fonts are used.
+\usepackage{SpecificDimentions}
+%This package is used to check the document parameters
+%describing the method of drawing some figure.
+\usepackage{DrawMethod}
+%This style contains all the specific macros used to typeset
+%more or less automatically the differents formulae of the document
+\usepackage{MathTrip}
+
+%For changing the size of rule the following URL could be useful.
+%https://tex.stackexchange.com/questions/408868/how-to-change-hline-thickness-in-tabular
+\begin{document}
+\include{Title}
+\include{T1}
+\include{T2}
+\include{T3}
+\include{T4}
+\include{T5}
+\include{T6}
+\include{T7}
+\include{T8}
+\include{T9}
+\include{T10}
+\end{document}
diff --git a/info/mathtrip/src/SpecificDimentions.sty b/info/mathtrip/src/SpecificDimentions.sty
new file mode 100644
index 0000000000..fdc342efb9
--- /dev/null
+++ b/info/mathtrip/src/SpecificDimentions.sty
@@ -0,0 +1,1050 @@
+%This files describe some lengths useful to setup correctly
+%the file "cheat.tex".
+%
+%Since these lengths are closely related to the
+%fonts used, one can use the variable "\PoliceDocument" from
+%the package "ChoixPolice" to define them specifically.
+%
+%Generally some parameters for the dimentions are always present.
+%These parameters are used to contain:
+% — the width of the first columns
+% of each page. The width of the last column
+% in the page is computed by substracting the width of
+% the first columns from the total width allocated for the
+% document.
+% — the height (in number of lines) of the horizontal areas of
+% the page. Most of the text is displayed on block of one (or
+% more) columns and many lines. Playing with these values
+% has the effect of moving the text inside the block.
+% — a dimention to space the different formulae used in the page
+% — a dimention to manage the space to let before a title in the page
+%In addition each block might have two dimentions to move it verticaly and horizontaly.
+%
+%The other dimentions are generally much more specific to the layout of
+%the page.
+%
+
+%This length is the width of the table used on each page
+\newlength{\TableWidth}
+\setlength{\TableWidth}{195mm}
+
+
+%All the variables are prefixed with "Tx" where x is a number
+%corresponding to the page of the document "cheat.tex".
+
+%
+%Page 1
+%
+\newlength{\TOneColOne}
+%The length to push the area of the definitions in the first column
+\newlength{\TOnePushDef}
+%and the length to push the area of the second part of the
+%identities (FormulaB).
+\newlength{\TOnePushFormulaeB}
+%This is the dimentions of the three horizontal areas of the page
+%The parts about Series, Formula first part and formula second part
+\newcounter{TOneSeriesPart}
+\newcounter{TOneFormulaeAPart}
+\newcounter{TOneFormulaeBPart}
+%The interline space for the formulae in the part about Series and
+%the two parts with some general identities.
+\newlength{\TOneInterlineSeries}
+\newlength{\TOneInterlineFormulaeA} %First part
+\newlength{\TOneInterlineFormulaeB} %Second part
+%And the one to move the the horizontal area (containing the definition)
+%horizontally
+\newlength{\TOneMoveDef}
+%Space before a title in page one
+\newlength{\TOneInterTitle}
+%Space between the definition in the column 1
+\newlength{\TOneInterlineDef}
+%
+%Page 2
+%
+%Horizontal area of the three zones (Identities, Trees and Recurences)
+%of the table in page 2
+\newcounter{TTwoIdentitiesPart}
+\newcounter{TTwoTreesPart}
+\newcounter{TTwoRecurencesPart}
+%Space to let before math in display mode (normal and short) in page 2
+\newlength{\TTwoDisplaySpace}
+\newlength{\TTwoDisplayShortSpace}
+%Space before a title in page two
+\newlength{\TTwoInterTitle}
+%Space between the paragraphs in the text about recurence
+%on the page 2
+\newlength{\TTwoRecurParSkip}
+%The space between the lines of formulae in the first part of the
+%page
+\newlength{\TTwoInterlineFormulae}
+%
+%Page 3
+%
+\newlength{\TThreeColOne}
+\newlength{\TThreeColTwo}
+\newlength{\TThreeColThree}
+\newlength{\TThreeColFour}
+%These are the horizontal dimestions for the following parts:
+% 1) The columns with the numbers
+% 2) The Pascal's triangle
+% 3) The general part
+% 4) The probability part in the fourth column
+% 5) The probability part in the fiveth column.
+%of the 'General' and 'Pascal's triangle' part
+\newcounter{TThreeNumbersPart}
+\newcounter{TThreePascalPart}
+\newcounter{TThreeGeneralPart}
+\newcounter{TThreeProbAPart}
+\newcounter{TThreeProbBPart}
+%The interline to use in the three first columns
+%containing the numbers (i, power 2, and prime)
+\newlength{\TThreeInterlineNumbers}
+%And the interline of Pascal's triangle.
+\newlength{\TThreeInterlinePascal}
+%This one is used for the first probability block wich start
+%with "Normal (Gaussian)..." on page 3
+\newlength{\TThreeMoveProbA}
+%This dimention is used to push the block of
+%probability starting with 'Binomial Distribution' (ProbPartB)
+\newlength{\TThreeMoveProbB}
+%Space to let before math in display mode (normal and short) in page 3
+\newlength{\TThreeDisplaySpace}
+\newlength{\TThreeDisplayShortSpace}
+%Space to let between intertitle in page 3
+\newlength{\TThreeInterTitle}
+%
+%Page 4
+%
+\newlength\TFourColOne
+\newlength\TFourColTwo
+\newlength\TFourColThree
+%The page 4 is mainly 3 column with the column
+%2 roughly divided in 4 horizontal areas.
+%One area for matrix, one for the hyperbolic function,
+%one for the trigonometric table and one for the quote
+%and copyright.
+\newcounter{TFourMatrix}
+\newcounter{TFourHyperbolic}
+\newcounter{TFourTrig}
+\newcounter{TFourQuote}
+%These both lengths are used to push up the content of the
+%column one and three
+\newlength\TFourPushTrig
+\newlength\TFourPushMoreTrig
+%Space to let between intertitle in page 4
+\newlength{\TFourInterTitle}
+%Space to let before math in display mode (normal and short) in page 4
+\newlength{\TFourDisplaySpace}
+\newlength{\TFourDisplayShortSpace}
+%Interline for formulae on page 4
+\newlength{\TFourSkipFormulae}
+%
+%Page 5
+%
+\newlength\TFiveColOne
+\newlength\TFiveColTwo
+%Size (in number of lines) of the three main columns and
+%the area used for the quote
+\newcounter{TFiveNumberTheoryCol}
+\newcounter{TFiveGeometryCol}
+\newcounter{TFiveGraphCol}
+\newcounter{TFiveQuoteArea}
+%Space to let before math in display mode (normal and short) in page 5
+\newlength{\TFiveDisplaySpace}
+\newlength{\TFiveDisplayShortSpace}
+%Space to let between intertitle in page 5
+\newlength{\TFiveInterTitle}
+%Space to move verticaly the column with the projective
+%geometry
+\newlength{\TFivePushGeometry}
+%And the column about the 'Graph Theory'
+\newlength{\TFivePushGraph}
+%This value is used in the page 5 to align some formula
+%to the left margin
+%For a strange reason an indent is always remaining even
+%with the environment "flalign".
+\newlength{\TFiveCalcEqLeftMargin}
+%Big space to add or remove around mathematics. For a strange reason there is
+%too much space around math environment.
+\newlength{\TFiveBigSpaceAroundEq}
+%and small space around equation
+\newlength{\TFiveSmallSpaceAroundEq}
+%Width of the first column on page 6
+\newlength{\TSixColumnOne}
+%The number of lines used for the Pi area
+\newcounter{TSixHorizontalPiPart}
+%The number of lines used for the partial fractions area
+\newcounter{TSixHorizontalPartialFracPart}
+%The number of lines used for the quote
+\newcounter{TSixHorizontalQuotePart}
+%Space to let before math in display mode (normal and short) in page 6
+\newlength{\TSixDisplaySpace}
+\newlength{\TSixDisplayShortSpace}
+%Space to let before the intertitle in page 6
+\newlength{\TSixInterTitle}
+%Interline before the formulae on page 6
+\newlength{\TSixSkipFormulae}
+%Length of the rule in column 2 of page 6 to push
+%text toward the top of the column
+\newlength\TSixPushCalculus
+%Interline for formulae on page 7
+\newlength{\TSevenSkipFormulae}
+%Number of lines of the only column of page 7
+\newcounter{TSevenHorizontalCalculusPart}
+%Width of the first column from the tabular environment on page 8
+\newlength{\TEightFirstColWidth}
+%Number of line of the two horizontal areas
+\newcounter{TEightHorizontalCalculusPart}
+%The number of line used for the part with the binomial? development
+\newcounter{TEightHorizontalPowerPart}
+%The height of the 'finite calculus' part
+\newcounter{TEightHorizontalFiniteCalculusPart}
+%Space to let before the intertitle in page 8
+\newlength{\TEightInterTitle}
+%Interline for formulae (in calculus part) on page 8
+\newlength{\TEightBaselineSkipFormulae}
+%To separe the formulae used in the column 'FiniteCalculus'
+%instead of the formulae of the first column.
+\newlength{\TEightBaselineSkipFormulaeB}
+%Space to let before math in display mode (normal and short) in page 8
+\newlength{\TEightDisplaySpace}
+\newlength{\TEightDisplayShortSpace}
+%Width of the first column from the tabular environment on page 9
+\newlength{\TNineColOne}
+%Space to let before math in display mode (normal and short) in page 9
+\newlength{\TNineDisplaySpace}
+\newlength{\TNineDisplayShortSpace}
+%Space to let between intertitle in page 9
+\newlength{\TNineInterTitle}
+%The page has 2 column and one area containing
+%a lot of series (plus some lines with title)
+%
+%This counter wil contain the number of line of the
+%area of the first column with the series
+\newcounter{TNineHorizontalSeriesColOne}
+%For the second column about series in the first horizontal area.
+\newcounter{TNineHorizontalSeriesColTwo}
+%The number of line used for the citation of L. Kronecker
+\newcounter{TNineHorizontalQuote}
+%
+%Space between all the taylor serie expansion in page 9
+\newlength{\TNineExpansionSkip}
+%Length of the rule in column 2 of page 9 to push
+%text toward the top of the column
+\newlength\TNinePushSeries
+%This is the width of the first column of page 10
+\newlength{\TTenColOne}
+%This is the width of the second column of page 10
+%The length of the third column is computed automatically
+%with the dimentions of the two first columns.
+\newlength{\TTenColTwo}
+%Space to let between intertitle in page 10
+\newlength{\TTenInterTitle}
+%
+%Space to be used in a rule to push up the text in the column
+%with the series on page 10
+\newlength\TTenPushSeries
+%
+%Space between all the serie expansion in page 10
+\newlength{\TTenExpansionSkip}
+%Space to let before math in display mode (normal and short) in page 10
+\newlength{\TTenDisplaySpace}
+\newlength{\TTenDisplayShortSpace}
+%The page the can be divided in 4 horizontal parts. The following value
+%are the number of lines used bythese three parts.
+\newcounter{TTenHorizontalPartOne} %The area with the series and the image
+\newcounter{TTenHorizontalPartTwo} %The area with the series and the Stieltjes intergration
+\newcounter{TTenHorizontalPartThree} %The area with the cramer's rule and the ibonacci numbers
+\newcounter{TTenHorizontalPartFour} %The area with the quote and the magic square.
+
+%This value is the space which should be let before printing
+%the number of a formula. Depending of the size of the font, one might
+%wish to change it. This value is not necessarly
+%related to a specific page.
+\newlength{\SpaceBeforeFormula}
+%This value is the space to let before a long equation (a long equation has
+%at most two equal signs and the formula at most 3 parts)
+\newlength{\SpaceBeforeLongEq}
+%This value is the interline space used when displaying formulae
+%preceded by a number. This length is not related to a specific page
+%and it is used inside the environment 'DisplayFormulae'.
+\newlength{\BaseLineSkipFormulae}
+%The length added between two formulae inside the environment
+%'DisplayFormulae' when using the '\Fm' family
+\newlength{\InterFormulaeSkip}
+%Counter for the number of lines to add in an environment
+%'NiceTabular' when a block is used.
+%
+%If two blocks in the same rows have different number of lines
+%the biggest number should be used to add the lines necessary
+%to the environment.
+\newcounter{NbLinesToAdd}
+
+%This command define the default values for the document.
+%These values are related to the font "NeoHellenic" which
+%was the first font used to typeset the document.
+%
+%The command has no parameter
+\newcommand\DefaultDimentions{%
+ %
+ %Page 1
+ %
+ %Size of the font used to typeset the formulae (part 1 and 2)
+ \newcommand{\TOneFormulaeFontSize}{\fontsize{8.8pt}{9.6pt}\selectfont}
+ %Size of the font to typeset the part about the Series
+ \newcommand{\TOneSeriesFontSize}{\relax}
+ %Size of the font used to type the definitions (the two first columns)
+ \newcommand{\TOneDefinitionsFontSize}{\footnotesize}
+ \setlength{\TOneColOne}{6.9cm}
+ \defcounter{TOneFormulaeAPart}{18}
+ \deflength{\TOneInterTitle}{1ex plus .5ex minus .5ex}
+ \deflength{\TOneInterlineSeries}{3ex plus .5ex minus .5ex}
+ \deflength{\TOneInterlineFormulaeA}{4.2ex plus .5ex minus .5ex}
+ \deflength{\TOnePushDef}{55ex}
+ \deflength{\TOneMoveDef}{-.8em}
+ \defcounter{TOneSeriesPart}{26}
+ \defcounter{TOneFormulaeBPart}{14}
+ \deflength{\TOneInterlineDef}{-2ex plus .2ex minus .5ex}
+ \deflength{\TOneInterlineFormulaeB}{3.6ex plus .5ex minus .5ex}
+ \deflength{\TOnePushFormulaeB}{0ex}
+ \ifluatex
+ %luatex seems to typeset differently when the white space is scarce
+ %and the dimention for the writing tiny. Thus few parameters
+ %should be specifically adapted.
+ \defcounter{TOneSeriesPart}{25}
+ \defcounter{TOneFormulaeBPart}{15}
+ \deflength{\TOneInterlineDef}{-2.4ex plus .2ex minus .5ex}
+ \deflength{\TOneInterlineFormulaeB}{2.5ex plus .35ex minus .35ex}
+ \deflength{\TOnePushFormulaeB}{3ex}
+ \fi
+ %Page 2
+ \defcounter{TTwoIdentitiesPart}{16}
+ \defcounter{TTwoTreesPart}{4}
+ \defcounter{TTwoRecurencesPart}{38}
+ %Size of the font to type the recurence part
+ \newcommand\TTwoRecurenceFontSize{\fontsize{9.6pt}{10.2pt}\selectfont}
+ %Size of the font for the part about the tree
+ \newcommand\TTwoTreeFontSize{\relax}
+ \setlength{\TTwoDisplaySpace}{0pt plus 1pt minus 1.5pt}
+ \setlength{\TTwoDisplayShortSpace}{0pt plus 1pt minus 1pt}
+ \setlength{\TTwoInterTitle}{1ex plus .5ex minus .5ex}
+ \setlength{\TTwoRecurParSkip}{.3ex plus .5ex minus 0ex}
+ \setlength{\TTwoInterlineFormulae}{3.4ex plus 1ex minus 1ex}
+ %Size of the font to typeset the formulae in the first part of the page
+ \newcommand\TTwoFormulaeFontSize{\relax}
+ \setlength{\TTwoInterlineFormulae}{3.4ex plus 1ex minus 1ex}
+ \ifluatex
+ \renewcommand\TTwoFormulaeFontSize{\fontsize{9.4pt}{9.8pt}\selectfont}
+ \setlength{\TTwoInterlineFormulae}{3.1ex plus 1ex minus 1ex}
+ \fi
+ %
+ %Page 3
+ %
+ \setlength{\TThreeColOne}{4mm}
+ \setlength{\TThreeColTwo}{2.4cm}
+ \setlength{\TThreeColThree}{6mm}
+ \setlength{\TThreeColFour}{6.4cm}
+ \defcounter{TThreeNumbersPart}{43}
+ \defcounter{TThreePascalPart}{12}
+ \defcounter{TThreeGeneralPart}{45}
+ \defcounter{TThreeProbAPart}{12}
+ \defcounter{TThreeProbBPart}{45}
+ %Font size for the three first column of numbers
+ \newcommand\TThreeNumbersFontSize{\relax}
+ %Font size for the pascal's triangle
+ \newcommand\TThreePascalFontSize{\fontsize{7.6pt}{8pt}\selectfont}
+ \setlength{\TThreeDisplaySpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeInterlineNumbers}{3.6ex plus 1ex minus 1ex}
+ \setlength{\TThreeInterlinePascal}{2.75ex plus 1ex minus 1ex}
+ \setlength{\TThreeInterTitle}{.75ex plus .5ex minus .5ex}
+ \setlength{\TThreeMoveProbA}{29.75ex}
+ \setlength{\TThreeMoveProbB}{0ex}
+ \ifluatex
+ \setlength{\TThreeMoveProbB}{-1ex}%To move the parbox up
+ \fi
+ %
+ %Page 4
+ %
+ \setlength{\TFourColOne}{7.3cm}
+ \setlength{\TFourColTwo}{7.5cm}
+ \deflength{\TFourPushTrig}{63ex}
+ \deflength{\TFourPushMoreTrig}{34ex}
+ \defcounter{TFourMatrix}{25}
+ \defcounter{TFourHyperbolic}{26}
+ \defcounter{TFourTrig}{5}
+ \defcounter{TFourQuote}{3}
+ \setlength{\TFourInterTitle}{2ex plus .25ex minus 1ex}
+ \setlength{\TFourDisplaySpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TFourDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TFourSkipFormulae}{3ex plus 1ex minus 1ex}
+ \newcommand\TFourColOneFontSize{\relax}
+ \newcommand\TFourColTwoFontSize{\relax}
+ \newcommand\TFourColThreeFontSize{\relax}
+ %Fonts for the quote, the version and the table of trig
+ %value
+ \newcommand\TFourCopyrightFontSize{\scriptsize}
+ \newcommand\TFourTrigTableFontSize{\footnotesize}
+ %Scale factor of the drawing of the trigonometric circle and pythagorean triangle
+ %at the beginning of Columnn one (when draw with Tikz)
+ \newcommand\TFourTrigOneScale{0.8}
+ \newcommand\TFourQuoteFontSize{\relax}
+ \ifluatex
+ \setlength{\TFourSkipFormulae}{2.7ex plus 1ex minus 1ex}
+ \renewcommand\TFourQuoteFontSize{\fontsize{9.6pt}{10.2pt}\selectfont}
+ \fi
+ %
+ %Page 5
+ %
+ \setlength{\TFiveColOne}{6.3cm}
+ \setlength{\TFiveColTwo}{7cm}
+ \defcounter{TFiveNumberTheoryCol}{51}
+ \defcounter{TFiveGeometryCol}{48}
+ \defcounter{TFiveGraphCol}{54}
+ \defcounter{TFiveQuoteArea}{5}
+ \setlength{\TFiveInterTitle}{1ex plus .5ex minus .5ex}
+ \setlength{\TFivePushGeometry}{.75ex}
+ \setlength{\TFivePushGraph}{.5ex}
+ \ifluatex
+ \defcounter{TFiveNumberTheoryCol}{53}
+ \defcounter{TFiveGeometryCol}{48}
+ \defcounter{TFiveGraphCol}{56}
+ \defcounter{TFiveQuoteArea}{4}
+ \setlength{\TFiveInterTitle}{.75ex plus .5ex minus .5ex}
+ \setlength{\TFivePushGeometry}{-.25ex}
+ \setlength{\TFivePushGraph}{.5ex}
+ \fi
+ %Size of the font of the second column (file "graph.tex" and graph2.tex)
+ \newcommand\TFiveGraphFontSize{\fontsize{9.2pt}{10pt}\selectfont}
+ %Font size of the text in column one
+ \newcommand\TFiveColOneFontSize{\relax}
+ %Size of the geometry part of the third column on page 5
+ \newcommand\TFiveGeomFontSize{\relax}
+ \setlength{\TFiveDisplaySpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TFiveDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ %
+ %Page 6
+ %
+ \setlength{\TSixColumnOne}{6.8cm}
+ \defcounter{TSixHorizontalPiPart}{26}
+ \defcounter{TSixHorizontalPartialFracPart}{25}
+ \defcounter{TSixHorizontalQuotePart}{7}
+ \deflength{\TSixDisplaySpace}{0ex plus .5ex minus .1ex}
+ \deflength{\TSixDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \deflength{\TSixInterTitle}{1ex plus .5ex minus 1ex}
+ \deflength{\TSixSkipFormulae}{3.8ex plus 1ex minus 2ex}
+ \deflength{\TSixPushCalculus}{69.5ex}
+ %Size of the fonts in the three text of the column one: pi.tex, partial.tex and quote3.tex.
+ \newcommand\TSixPiFontSize{\relax}
+ \newcommand\TSixPartialFontSize{\relax}
+ \newcommand\TSixQuoteFontSize{\relax}
+ %And the size of the font for the column two (calculus formulae)
+ \newcommand\TSixColTwoFontSize{\relax}
+ %
+ %Page 7
+ %
+ \setlength{\TSevenSkipFormulae}{3.8ex plus 1ex minus 2ex}
+ %Size of font at page 7
+ \newcommand\TSevenSeriesCalculusFontSize{\relax}
+ \defcounter{TSevenHorizontalCalculusPart}{59}
+ %
+ %Page 8
+ %
+ \deflength{\TEightFirstColWidth}{12.2cm}
+ \defcounter{TEightHorizontalCalculusPart}{43}
+ \defcounter{TEightHorizontalFiniteCalculusPart}{44}
+ \defcounter{TEightHorizontalPowerPart}{14}
+ %Define a new command to define the font's size to typeset the calulus and finite calculus
+ %and the formulae on the second line first column on page 8
+ \newcommand\TEightSeriesCalculusFontSize{\fontsize{9.2pt}{9.8pt}\selectfont}
+ \newcommand\TEightSeriesFiniteCalculusFontSize{\relax}
+ \newcommand\TEightSeriesFactAFontSize{\fontsize{9.2pt}{9.8pt}\selectfont}
+ \deflength{\TEightInterTitle}{1ex plus .5ex minus 1ex}
+ \deflength{\TEightDisplaySpace}{0ex plus .5ex minus .1ex}
+ \deflength{\TEightDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \deflength{\TEightBaselineSkipFormulae}{4ex plus .5ex minus 1ex}
+ \deflength{\TEightBaselineSkipFormulaeB}{1ex plus .5ex minus 1ex}
+ \ifluatex
+ \deflength{\TEightInterTitle}{1.75ex plus .5ex minus 1ex}
+ \fi
+ %
+ %Page 9
+ %
+ \deflength{\TNineColOne}{12.5cm}
+ \deflength{\TNineDisplaySpace}{0ex plus .5ex minus .5ex}
+ \deflength{\TNineDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \deflength{\TNineInterTitle}{2ex plus .1ex minus 1ex}
+ \deflength{\TNineExpansionSkip}{2ex plus .5ex minus .5ex}
+ \deflength{\TNinePushSeries}{0ex}
+ \defcounter{TNineHorizontalSeriesColOne}{51}
+ \defcounter{TNineHorizontalSeriesColTwo}{48}
+ \defcounter{TNineHorizontalQuote}{6}
+ %Define a new command to define the font's size to typeset the series page 9
+ \newcommand\TNineSeriesFontSize{\relax}
+ %
+ %Page 10
+ %
+ \setlength{\TTenColOne}{7.5cm}
+ \setlength{\TTenColTwo}{5.6cm}
+ \setlength{\TTenInterTitle}{1ex plus .5ex minus .5ex}
+ \defcounter{TTenHorizontalPartOne}{13} %13 tabular lines
+ \defcounter{TTenHorizontalPartTwo}{23}
+ \defcounter{TTenHorizontalPartThree}{14}
+ \defcounter{TTenHorizontalPartFour}{5}
+ \setlength{\TTenExpansionSkip}{1.75ex plus .5ex minus 1ex}
+ \setlength{\TTenDisplaySpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TTenDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TTenPushSeries}{4ex}
+ %Define a new command to define the font's size to typeset the magic square at page 10
+ \newcommand\TTenMagicSquareFontSize{\tiny}
+ %Define a new command to define the font's size to typeset the Stieljes integration page 10
+ %For most font, one can use the standard size and has nothing to do
+ \newcommand\TTenStieljesFontSize{\relax}
+ %Define a new command to define the font's size to typeset the cramer's rule page 10
+ %For most font, one can use the standard size and has nothing to do
+ \newcommand\TTenCramerFontSize{\relax}
+ %Define a new command to define the font's size to typeset the series formulae on page 10
+ %For most font, one can use the standard size and has nothing to do
+ \newcommand\TTenSeriesFontSize{\relax}
+ %Font to use for the definition and properties of the Fibonacci
+ %numbers.
+ \newcommand\TTenFibonacciFontSize{\relax}
+ %
+ %--------------------------General values--------------------
+ %
+ %Normally these value should not be modified when changing
+ %the font in which the document is typeseted.
+ \deflength{\SpaceBeforeLongEq}{2ex plus .5ex minus .5ex}
+ \deflength{\InterFormulaeSkip}{.3em plus .05em minus .1em}
+ \deflength{\SpaceBeforeFormula}{10pt}
+ \deflength{\BaseLineSkipFormulae}{3.7ex plus 1ex minus 1ex}
+ %Remove all the margin in the left margin of the equations:
+ %all the spacing will be managed manually to be able to do typeseting
+ %as precisely as possible.
+ \deflength{\@mathmargin}{0pt}
+}
+
+%This macro set the definition for the lmodern fonts.
+%A macro is useful since these modification of parameters are
+%used at many places in the code (notably when "lmodern" fonts is choosen
+%for the default behaviour with 8bits TeX).
+%
+%This macro has no parameter
+\newcommand\LModernDimentions{%
+ \setlength{\TOneColOne}{2.65cm}
+ \setlength{\TOneColTwo}{4.6cm}
+ \setlength{\TOneMoveSums}{5.25cm}
+ \setlength{\TOneSpaceSums}{-0.8ex plus .2ex minus .3ex}
+ \setlength{\TOneMoveFormulaeA}{3.9cm}
+ \setlength{\TOneSeriesTitleSpace}{-1.4\baselineskip plus .2\baselineskip minus .1\baselineskip}
+ \setlength{\TOneSeriesEqLeftMargin}{-2.50em}
+ \setlength{\TOneThirdColumnMargin}{0.5em}
+ \setlength{\TOneSepareBlockFormulae}{0pt}
+ \setlength{\TOneColBPar}{.5ex plus .2ex minus .1ex}
+ \setlength{\SpaceBeforeFormula}{10pt}
+ \setlength{\BaseLineSkipFormulae}{5ex plus 1ex minus 1ex}
+ \renewcommand{\TTwoFormulaeFontSize}{\small}
+ \setlength{\TTwoColumnTree}{3cm}
+ \setlength{\TTwoColumnFormulae}{\TableWidth-\TTwoColumnTree-\tabcolsep-10pt}
+ \setlength{\TTwoColumnOne}{6cm}
+ \setlength{\TTwoColumnTwo}{6.3cm}
+ \setlength{\TTwoColumnThree}{6cm}
+ \setlength{\TThreeColumnFour}{6cm}
+ \setlength{\TThreeInterTitle}{1.5ex plus .5ex minus .5ex}
+ \setlength{\TThreeStrutRaise}{-1.5ex}
+ \setlength{\TThreeStrutLength}{3.8ex}
+ \setlength{\TThreeAckermannEqLeftMargin}{-1cm}
+ \setlength{\TThreeBinomialEqLeftMargin}{-0.8cm}
+ \setlength{\TThreeEspEqLeftMargin}{0pt}
+ \setlength{\TThreeProbEqLeftMargin}{-.8cm}
+ \setlength{\TThreeIncExcEqLeftMargin}{-0.8cm}
+ \setlength{\TFourColOne}{.37\TableWidth}
+ \setlength{\TFourColTwo}{.39\TableWidth}
+ \setlength{\TFourColThree}{.20\TableWidth}
+ \setlength{\TFourSkipFormulae}{18pt}
+ \setlength{\TFourMoveVersion}{-1.75cm}
+ \setlength{\TFourPosColTwo}{-.75\fboxsep}
+ \setlength{\TFourVersionWidth}{.92\TFourColOne}
+ \setlength{\TFourMoreIdentSpace}{2ex}
+ \setlength{\TFiveColOne}{6.0cm}
+ \setlength{\TFiveColTwo}{6.8cm}
+ \renewcommand\TFiveColOneFontSize{\small}
+ \renewcommand\TFiveGraphFontSize{\small}
+ \setlength{\TFiveCalcEqLeftMargin}{-2em}
+ \setlength{\TEightFirstColWidth}{12.8cm}
+ \renewcommand\TSevenSeriesCalculusFontSize{\fontsize{9.6pt}{11.4pt}\selectfont}
+ \setlength\TEightSecondColWidth{\TableWidth-\TEightFirstColWidth-4\tabcolsep}
+ \renewcommand\TEightSeriesFiniteCalculusFontSize{\small}
+ \setlength{\TEightInterTitle}{-1ex plus 1ex minus 1ex}
+ \setlength{\TEightInterTitleAfter}{-1ex plus 1ex minus 1ex}
+ \setlength{\TEightCalcEqLeftMargin}{-2.5em}
+ \setlength{\TNineColOne}{12.35cm}
+ \iftutex
+ \setlength{\TThreeNormalGaussEqLeftMargin}{0pt}
+ \else %8 bits TeX. Some spacing are different between pdflatex and
+ %xelatex
+ \setlength{\TThreeNormalGaussEqLeftMargin}{-0.8cm}
+ \renewcommand\TNineSeriesFontSize{\fontsize{9.6pt}{11.4pt}\selectfont}
+ \fi
+}
+
+\DefaultDimentions
+
+%------------------------------------------------------------------------------------------------
+% Specification of the values for
+% the different fonts
+%------------------------------------------------------------------------------------------------
+\ifcase\PoliceDocument
+ %Latin Modern
+ \LModernDimentions
+ \or
+ %Didot
+ %This is not exactly the same font with TeX 16bits and TeX 8bits
+ %since in TeX 16bits the font Assana is used for math.
+ \setlength{\TOneSeriesTitleSpace}{-1.6\baselineskip}
+ \setlength{\TOneSeriesEqLeftMargin}{-2.50em}
+ \setlength{\TOneThirdColumnMargin}{0.5em}
+ \setlength{\SpaceBeforeFormula}{10pt}
+ \renewcommand{\TTwoFormulaeFontSize}{\small}
+ \setlength{\TTwoColumnTree}{3.5cm}
+ \setlength{\TTwoColumnFormulae}{\TableWidth-\TTwoColumnTree-\tabcolsep-10pt}
+ \setlength{\TTwoColumnOne}{6cm}
+ \setlength{\TTwoColumnTwo}{6.3cm}
+ \setlength{\TTwoColumnThree}{6cm}
+ \setlength{\TThreeStrutRaise}{-1.5ex}
+ \setlength{\TThreeInterTitle}{.5ex plus .2ex minus .3ex}
+ \setlength{\TThreeAckermannEqLeftMargin}{-0.75cm}
+ \setlength{\TThreeBinomialEqLeftMargin}{-.5cm}
+ \setlength{\TThreeProbEqLeftMargin}{-1cm}
+ \setlength{\TThreeIncExcEqLeftMargin}{-.8cm}
+ \setlength{\TThreeRandVarEqLeftMargin}{-0.5cm}
+ \setlength{\TFourColOne}{.365\TableWidth}
+ \setlength{\TFourColTwo}{.395\TableWidth}
+ \setlength{\TFourColThree}{.20\TableWidth}
+ \setlength{\TFourSkipFormulae}{18pt}
+ \renewcommand\TFiveColOneFontSize{\small}
+ \setlength{\TEightSpaceBegFactTwo}{-4ex plus 1ex minus 1ex}
+ \setlength{\TEightSpaceAfterFactTwo}{-5ex plus 2ex minus 2ex}
+ \iftutex %16bits TeX
+ \setlength{\TOneSepareBlockFormulae}{0pt}
+ \setlength{\TOneMoveSums}{6.2cm}
+ \setlength{\TOneMoveFormulaeA}{4.1cm}
+ \setlength{\BaseLineSkipFormulae}{31.2pt}
+ \setlength{\TOneSpaceSums}{-0.8ex plus .1ex minus .25ex}
+ \setlength{\TOneColBPar}{.7ex plus .1ex minus .3ex}
+ \setlength{\TThreeColumnFour}{5.9cm}
+ \setlength{\TThreeStrutLength}{3.5ex}
+ \setlength{\TThreeEspEqLeftMargin}{0cm}
+ \setlength{\TFourMoveVersion}{-2.5cm}
+ \setlength{\TFourTableInterline}{.8ex}
+ \setlength{\TFourMoreIdentSpace}{1.3ex}
+ \setlength{\TFourVersionWidth}{.95\TFourColOne}
+ \setlength{\TFourHMoveVersion}{.8em}
+ \setlength{\TFourPosColTwo}{-.7\fboxsep}
+ \renewcommand\TFiveGraphFontSize{\small}
+ \setlength{\TTenLineTwoHeigth}{10.0cm}
+ \setlength{\TTenLineThreeHeigth}{8.4cm}
+ \else %8bits TeX
+ \setlength{\TOneSepareBlockFormulae}{-1.5ex plus .5ex minus .5ex}
+ \setlength{\BaseLineSkipFormulae}{27pt}
+ \setlength{\TOneMoveSums}{5.5cm}
+ \setlength{\TOneMoveFormulaeA}{4.9cm}
+ \setlength{\TOneSpaceSums}{-0.9ex plus .1ex minus .25ex}
+ \setlength{\TOneColBPar}{.5ex plus .1ex minus .3ex}
+ \renewcommand\TThreeFontSize{\fontsize{9.6pt}{11.4pt}\selectfont}
+ \setlength{\TThreeColumnFour}{6.1cm}
+ \setlength{\TThreeColumnFive}{6.3cm}
+ \setlength{\TThreeStrutLength}{3.8ex}
+ \setlength{\TThreeEspEqLeftMargin}{0cm}
+ \setlength{\TFourMoveVersion}{-2cm}
+ \setlength{\TFourHMoveVersion}{.65em}
+ \setlength{\TFourTableInterline}{1ex}
+ \setlength{\TFourMoreIdentSpace}{1.7ex}
+ \setlength{\TFourVersionWidth}{.99\TFourColOne}
+ \setlength{\TFourPosColTwo}{-.55\fboxsep}
+ \renewcommand\TFiveGraphFontSize{\fontsize{8.6pt}{11pt}\selectfont}
+ \setlength{\TEightFirstColWidth}{12.6cm}
+ \setlength{\TEightCalcEqLeftMargin}{-2.5em}
+ \renewcommand\TEightSeriesFiniteCalculusFontSize{\small}
+ \setlength{\TTenLineTwoHeigth}{10.2cm}
+ \setlength{\TTenLineThreeHeigth}{8.6cm}
+ \renewcommand\TTenMagicSquareFontSize{\scriptsize}
+ \fi
+ \or
+ %Lucida
+ \iftutex %16bits TeX
+ \renewcommand{\TOneFontSize}{\small}
+ \setlength{\TOneColOne}{2.65cm}
+ \setlength{\TOneColBPar}{.4ex plus .2ex minus .1ex}
+ \setlength{\TOneSepareBlockFormulae}{0pt}
+ \setlength{\TOneMoveSums}{4.8cm}
+ \setlength{\TOneMoveFormulaeA}{4.1cm}
+ \setlength{\BaseLineSkipFormulae}{31.2pt}
+ \setlength{\TOneSeriesTitleSpace}{-1.6\baselineskip}
+ \renewcommand{\TTwoFontSize}{\small}
+ \renewcommand{\TTwoFormulaeFontSize}{\fontsize{8.6pt}{10.4pt}\selectfont}
+ \setlength{\TTwoColumnTree}{3cm}
+ \setlength{\TTwoColumnFormulae}{\TableWidth-\TTwoColumnTree-\tabcolsep-10pt}
+ \setlength{\TTwoColumnOne}{6cm}
+ \setlength{\TTwoColumnTwo}{6.3cm}
+ \setlength{\TTwoColumnThree}{6cm}
+ \renewcommand\TThreeFontSize{\fontsize{9pt}{11pt}\selectfont}
+ \setlength{\TThreeDisplaySpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeInterTitle}{1ex plus .5ex minus .5ex}
+ \setlength{\TThreeMoveGeneral}{0pt}
+ \setlength{\TThreeColumnFour}{6.3cm}
+ \setlength{\TThreeColumnFive}{6.6cm}
+ \setlength{\TThreeStrutRaise}{-1.5ex}
+ \setlength{\TThreeStrutLength}{3ex}
+ \setlength{\TThreeAckermannEqLeftMargin}{-1cm}
+ \setlength{\TThreeBinomialEqLeftMargin}{-0.8cm}
+ \setlength{\TThreeEspEqLeftMargin}{0pt}
+ \setlength{\TThreeProbEqLeftMargin}{-1cm}
+ \setlength{\TThreeIncExcEqLeftMargin}{-.8cm}
+ \setlength{\TThreeRandVarEqLeftMargin}{-.8cm}
+ \setlength{\TFourColOne}{.39\TableWidth}
+ \setlength{\TFourColTwo}{.395\TableWidth}
+ \setlength{\TFourColThree}{.19\TableWidth}
+ \renewcommand\TFourColOneFontSize{\small}
+ \renewcommand\TFourColTwoFontSize{\small}
+ \setlength{\TFourDisplaySpace}{0ex plus .1ex minus .5ex}
+ \setlength{\TFourDisplayShortSpace}{0ex plus .1ex minus .5ex}
+ \setlength{\TFourMoveVersion}{-2cm}
+ \setlength{\TFourHMoveVersion}{.45em}
+ \setlength{\TFourTableInterline}{.5ex}
+ \setlength{\TFourMoreIdentSpace}{1ex}
+ \setlength{\TFourVersionWidth}{.9\TFourColOne}
+ \setlength{\TFourPosColTwo}{-.55\fboxsep}
+ \setlength{\TFiveColOne}{6.5cm}
+ \setlength{\TFiveColTwo}{6.5cm}
+ \renewcommand\TFiveColOneFontSize{\fontsize{8.4pt}{11pt}\selectfont}
+ \renewcommand\TFiveGraphFontSize{\fontsize{8.4pt}{11pt}\selectfont}
+ \renewcommand\TFiveGeomFontSize{\fontsize{8.4pt}{11pt}\selectfont}
+ \setlength{\TFiveBigSpaceAroundEq}{-2ex plus .5ex minus .8ex}
+ \setlength{\TFiveSmallSpaceAroundEq}{0ex plus .5ex minus .5ex}
+ \setlength{\TFiveCalcEqLeftMargin}{-2em}
+ \setlength{\TSixColumnOne}{7.2cm}
+ \renewcommand\TSixPiSize{\small}
+ \renewcommand\TSixPartialSize{\small}
+ \renewcommand\TSixQuoteSize{\small}
+ \renewcommand\TSixColTwoFontSize{\footnotesize}
+ \renewcommand\TSevenSeriesCalculusFontSize{\small}
+ \setlength{\TEightSpaceAfterFactTwo}{-3ex plus 2ex minus 2ex}
+ \setlength{\TEightCalcEqLeftMargin}{-2.5em}
+ \renewcommand\TEightSeriesCalculusSize{\footnotesize}
+ \renewcommand\TEightSeriesFiniteCalculusFontSize{\footnotesize}
+ \renewcommand\TEightSeriesFactASize{\footnotesize}
+ \setlength\TEightSecondColWidth{\TableWidth-\TEightFirstColWidth-4\tabcolsep}
+ \setlength{\TEightInterTitle}{-1ex plus 1ex minus 1ex}
+ \setlength{\TEightInterTitleAfter}{-2ex plus 1ex minus 1ex}
+ \renewcommand\TNineSeriesFontSize{\small}
+ \setlength{\TTenLineThreeHeigth}{8.6cm}
+ \renewcommand\TTenStieljesFontSize{\small}
+ \renewcommand\TTenMagicSquareFontSize{\scriptsize}
+ \renewcommand\TTenCramerFontSize{\small}
+ \else %If the TeX is 8bits, the font lmodern is used instead
+ \LModernDimentions
+ \fi
+ \or
+ %Stix version 2 (the version working correctly with
+ %TeX)
+ \iftutex %16bits TeX
+ \setlength{\SpaceBeforeFormula}{10pt}
+ \setlength{\BaseLineSkipFormulae}{32pt}
+ \setlength{\TOneMoveSums}{5cm}
+ \setlength{\TOneMoveFormulaeA}{3.85cm}
+ \setlength{\TOneColBPar}{.4ex plus .2ex minus .1ex}
+ \setlength{\TOneSeriesTitleSpace}{-1.7\baselineskip}
+ \setlength{\TOneSeriesEqLeftMargin}{-2.50em}
+ \setlength{\TOneThirdColumnMargin}{0.5em}
+ \setlength{\TOneSepareBlockFormulae}{.05ex}
+ \setlength{\TOneSpaceSums}{-0.8ex plus .2ex minus .2ex}
+ \renewcommand{\TTwoFormulaeFontSize}{\small}
+ \setlength{\TTwoColumnTree}{3.6cm}
+ \setlength{\TTwoColumnFormulae}{\TableWidth-\TTwoColumnTree-\tabcolsep-10pt}
+ \setlength{\TTwoColumnOne}{6cm}
+ \setlength{\TTwoColumnTwo}{6.3cm}
+ \setlength{\TThreeDisplaySpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeInterTitle}{1ex plus .5ex minus .5ex}
+ \setlength{\TThreeMoveGeneral}{0pt}
+ \setlength{\TThreeColumnFour}{6.15cm}
+ \setlength{\TThreeColumnFive}{7cm}
+ \setlength{\TThreeStrutRaise}{-1.5ex}
+ \setlength{\TThreeStrutLength}{3.45ex}
+ \setlength{\TThreeAckermannEqLeftMargin}{-.8cm}
+ \setlength{\TThreeBinomialEqLeftMargin}{-0.8cm}
+ \setlength{\TThreeEspEqLeftMargin}{0pt}
+ \setlength{\TThreeProbEqLeftMargin}{-.8cm}
+ \setlength{\TThreeIncExcEqLeftMargin}{-.8cm}
+ \setlength{\TThreeRandVarEqLeftMargin}{-.8cm}
+ \setlength{\TFourColOne}{.37\TableWidth}
+ \setlength{\TFourColTwo}{.395\TableWidth}
+ \setlength{\TFourColThree}{.21\TableWidth}
+ \setlength{\TFourTableInterline}{.55ex plus .1ex minus .1ex}
+ \setlength{\TFourTableLastLineHeight}{2.5ex}
+ \setlength{\TFourMoveVersion}{-2.5cm}
+ \setlength{\TFourMoreIdentSpace}{1.4ex plus .2ex minus .1ex}
+ \setlength{\TFourDisplaySpace}{0ex plus .15ex minus .1ex}
+ \setlength{\TFourDisplayShortSpace}{0ex plus .1ex minus .1ex}
+ \setlength{\TFourSkipFormulae}{18pt plus .5pt minus 1pt}
+ \setlength{\TFiveColOne}{6.5cm}
+ \setlength{\TFiveColTwo}{6.5cm}
+ \setlength{\TFiveBigSpaceAroundEq}{-2ex plus .5ex minus .8ex}
+ \setlength{\TFiveSmallSpaceAroundEq}{0ex plus .5ex minus .5ex}
+ \setlength{\TFiveCalcEqLeftMargin}{-2em}
+ \setlength{\TEightSpaceAfterFactTwo}{-4ex plus 2ex minus 2ex}
+ \setlength{\TEightCalcEqLeftMargin}{-2.5em}
+ \setlength{\TEightFirstColWidth}{12.6cm}
+ \setlength{\TTenLineTwoHeigth}{10.6cm}
+ \renewcommand\TTenMagicSquareFontSize{\scriptsize}
+ \else %If the TeX is 8bits, the font lmodern is used instead
+ \LModernDimentions
+ \fi
+ \or
+ %Cambria
+ \iftutex %16bits TeX
+ \setlength{\SpaceBeforeFormula}{10pt}
+ \setlength{\BaseLineSkipFormulae}{30pt}
+ \setlength{\TOneMoveSums}{6.1cm}
+ \setlength{\TOneMoveFormulaeA}{4cm}
+ \setlength{\TOneSeriesTitleSpace}{-1.8\baselineskip}
+ \setlength{\TOneSeriesEqLeftMargin}{-2.50em}
+ \setlength{\TOneThirdColumnMargin}{0.5em}
+ \setlength{\TOneSepareBlockFormulae}{-.8ex plus .2ex minus .3ex}
+ \setlength{\TOneColBPar}{.7ex plus .2ex minus .1ex}
+ \setlength{\TOneSpaceSums}{-1ex plus .2ex minus .2ex}
+ \renewcommand{\TTwoFormulaeFontSize}{\small}
+ \setlength{\TTwoColumnTree}{3.6cm}
+ \setlength{\TTwoColumnFormulae}{\TableWidth-\TTwoColumnTree-\tabcolsep-10pt}
+ \setlength{\TTwoColumnOne}{6cm}
+ \setlength{\TTwoColumnTwo}{6.075cm}
+ \setlength{\TThreeDisplaySpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeInterTitle}{1ex plus .5ex minus .5ex}
+ \setlength{\TThreeMoveGeneral}{0pt}
+ \setlength{\TThreeColumnFour}{6.15cm}
+ \setlength{\TThreeColumnFive}{7cm}
+ \setlength{\TThreeStrutRaise}{-1.5ex}
+ \setlength{\TThreeStrutLength}{3.5ex}
+ \setlength{\TThreeAckermannEqLeftMargin}{-.8cm}
+ \setlength{\TThreeBinomialEqLeftMargin}{-0.8cm}
+ \setlength{\TThreeEspEqLeftMargin}{0pt}
+ \setlength{\TThreeProbEqLeftMargin}{-.8cm}
+ \setlength{\TThreeIncExcEqLeftMargin}{-.8cm}
+ \setlength{\TThreeRandVarEqLeftMargin}{-.8cm}
+ \setlength{\TFourColOne}{.37\TableWidth}
+ \setlength{\TFourColTwo}{.39\TableWidth}
+ \setlength{\TFourColThree}{.23\TableWidth}
+ \setlength{\TFourTableInterline}{.45ex plus .1ex minus .1ex}
+ \setlength{\TFourTableLastLineHeight}{2.5ex}
+ \setlength{\TFourMoreIdentSpace}{1ex plus .8ex minus .1ex}
+ \setlength{\TFourDisplaySpace}{0ex plus .1ex minus .1ex}
+ \setlength{\TFourDisplayShortSpace}{0ex plus .1ex minus .1ex}
+ \setlength{\TFourSkipFormulae}{16.5pt plus .5pt minus 1pt}
+ \setlength{\TFiveColOne}{6.4cm}
+ \setlength{\TFiveColTwo}{6.4cm}
+ \setlength{\TFiveBigSpaceAroundEq}{-2ex plus 1ex minus .8ex}
+ \setlength{\TFiveSmallSpaceAroundEq}{0ex plus .5ex minus .5ex}
+ \setlength{\TFiveCalcEqLeftMargin}{-2em}
+ \renewcommand\TEightSeriesFiniteCalculusFontSize{\small}
+ \setlength{\TEightSpaceAfterFactTwo}{-5ex plus 2ex minus 2ex}
+ \setlength{\TEightFirstColWidth}{13.1cm}
+ \setlength\TEightSecondColWidth{\TableWidth-\TEightFirstColWidth-4\tabcolsep}
+ \setlength{\TNineColOne}{12.35cm}
+ \setlength{\TTenLineTwoHeigth}{10.0cm}
+ \setlength{\TTenLineThreeColSpace}{2ex}
+ \else %If the TeX is 8bits, the font lmodern is used instead
+ \LModernDimentions
+ \fi
+ \or
+ %DejaVu
+ \iftutex %16bits TeX
+ \renewcommand{\TOneFontSize}{\small}
+ \setlength{\TOneColOne}{2.35cm}
+ \setlength{\TOneColTwo}{4.5cm}
+ \setlength{\TOneColBPar}{.2ex plus .2ex minus .1ex}
+ \setlength{\TOneSepareBlockFormulae}{-1ex plus .1ex minus .3ex}
+ \setlength{\TOneMoveSums}{4.8cm}
+ \setlength{\TOneMoveFormulaeA}{5.3cm}
+ \setlength{\BaseLineSkipFormulae}{29pt}
+ \setlength{\TOneSeriesTitleSpace}{-1.6\baselineskip}
+ \renewcommand{\TTwoFontSize}{\small}
+ \renewcommand{\TTwoFormulaeFontSize}{\fontsize{8.6pt}{10.4pt}\selectfont}
+ \setlength{\TTwoColumnTree}{3.6cm}
+ \setlength{\TTwoColumnFormulae}{\TableWidth-\TTwoColumnTree-\tabcolsep-10pt}
+ \setlength{\TTwoColumnOne}{6cm}
+ \setlength{\TTwoColumnTwo}{6.075cm}
+ \renewcommand\TThreeFontSize{\fontsize{9pt}{11pt}\selectfont}
+ \setlength{\TThreeDisplaySpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeInterTitle}{1ex plus .5ex minus .5ex}
+ \setlength{\TThreeMoveGeneral}{0pt}
+ \setlength{\TThreeColumnFour}{5.9cm}
+ \setlength{\TThreeColumnFive}{7cm}
+ \setlength{\TThreeStrutRaise}{-1.5ex}
+ \setlength{\TThreeStrutLength}{3ex}
+ \setlength{\TThreeAckermannEqLeftMargin}{-1cm}
+ \setlength{\TThreeBinomialEqLeftMargin}{-0.8cm}
+ \setlength{\TThreeEspEqLeftMargin}{0pt}
+ \setlength{\TThreeProbEqLeftMargin}{-1cm}
+ \setlength{\TThreeIncExcEqLeftMargin}{-.8cm}
+ \setlength{\TThreeNormalGaussEqLeftMargin}{-1cm}
+ \setlength{\TThreeRandVarEqLeftMargin}{-.8cm}
+ \setlength{\TFourColTwo}{.3945\TableWidth}
+ \setlength{\TFourColThree}{.20\TableWidth}
+ \renewcommand\TFourColOneFontSize{\small}
+ \renewcommand\TFourColTwoFontSize{\small}
+ \setlength{\TFourDisplaySpace}{0ex plus .1ex minus .5ex}
+ \setlength{\TFourDisplayShortSpace}{0ex plus .1ex minus .5ex}
+ \setlength{\TFourSkipFormulae}{16pt plus .5pt minus 1pt}
+ \setlength{\TFourMoreIdentSpace}{1ex plus .8ex minus .1ex}
+ \setlength{\TFourVersionWidth}{.9\TFourColOne}
+ \renewcommand\TFourTrigOneScale{0.86}
+ \setlength{\TFiveColOne}{6.2cm}
+ \setlength{\TFiveColTwo}{6.2cm}
+ \renewcommand\TFiveColOneFontSize{\fontsize{8.6pt}{11pt}\selectfont}
+ \renewcommand\TFiveGraphFontSize{\fontsize{8.6pt}{11pt}\selectfont}
+ \renewcommand\TFiveGeomFontSize{\fontsize{8.6pt}{11pt}\selectfont}
+ \setlength{\TFiveBigSpaceAroundEq}{-2ex plus .5ex minus .8ex}
+ \setlength{\TFiveSmallSpaceAroundEq}{0ex plus .5ex minus .5ex}
+ \setlength{\TFiveCalcEqLeftMargin}{-2em}
+ \setlength{\TSixColumnOne}{7.2cm}
+ \renewcommand\TSixPiSize{\small}
+ \renewcommand\TSixPartialSize{\small}
+ \renewcommand\TSixQuoteSize{\small}
+ \renewcommand\TSixColTwoFontSize{\footnotesize}
+ \renewcommand\TSevenSeriesCalculusFontSize{\small}
+ \setlength{\TEightSpaceAfterFactTwo}{-2ex plus 2ex minus 2ex}
+ \setlength{\TEightFirstColWidth}{12.6cm}
+ \setlength{\TEightCalcEqLeftMargin}{-2.5em}
+ \renewcommand\TEightSeriesCalculusSize{\footnotesize}
+ \renewcommand\TEightSeriesFiniteCalculusFontSize{\footnotesize}
+ \renewcommand\TEightSeriesFactASize{\footnotesize}
+ \setlength\TEightSecondColWidth{\TableWidth-\TEightFirstColWidth-4\tabcolsep}
+ \setlength{\TEightInterTitle}{-1ex plus 1ex minus 1ex}
+ \setlength{\TEightInterTitleAfter}{-2ex plus 1ex minus 1ex}
+ \setlength{\TNineColOne}{12.35cm}
+ \renewcommand\TNineSeriesFontSize{\fontsize{8pt}{9.5pt}\selectfont}
+ \setlength{\TTenLineThreeColSpace}{1ex}
+ \setlength{\TTenLineThreeHeigth}{9cm}
+ \renewcommand\TTenCramerFontSize{\small}
+ \renewcommand\TTenSeriesFontSize{\small}
+ \renewcommand\TTenMagicSquareFontSize{\scriptsize}
+ \else %If the TeX is 8bits, the font lmodern is used instead
+ \LModernDimentions
+ \fi
+ \or
+ %CM Unicode (the standard fonts of TeX put in Unicode but with
+ %no math font, one has to use LM Math for a math font).
+ \LModernDimentions
+ \or
+ %DejaVuSans
+ \renewcommand{\TOneFontSize}{\small}
+ \setlength{\TOneColOne}{2.35cm}
+ \setlength{\TOneColTwo}{4.5cm}
+ \setlength{\TOneSepareBlockFormulae}{-1ex plus .1ex minus .3ex}
+ \setlength{\BaseLineSkipFormulae}{29pt}
+ \setlength{\TOneSeriesTitleSpace}{-1.6\baselineskip}
+ \renewcommand{\TTwoFontSize}{\small}
+ \renewcommand{\TTwoFormulaeFontSize}{\fontsize{8.6pt}{10.4pt}\selectfont}
+ \setlength{\TTwoColumnTree}{3.6cm}
+ \setlength{\TTwoColumnFormulae}{\TableWidth-\TTwoColumnTree-\tabcolsep-10pt}
+ \setlength{\TTwoColumnOne}{6cm}
+ \setlength{\TTwoColumnTwo}{6.075cm}
+ \renewcommand\TThreeFontSize{\fontsize{9pt}{11pt}\selectfont}
+ \setlength{\TThreeDisplaySpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeDisplayShortSpace}{0ex plus .5ex minus .1ex}
+ \setlength{\TThreeInterTitle}{1ex plus .5ex minus .5ex}
+ \setlength{\TThreeMoveGeneral}{0pt}
+ \setlength{\TThreeColumnFour}{6.1cm}
+ \setlength{\TThreeColumnFive}{6.7cm}
+ \setlength{\TThreeStrutRaise}{-1.5ex}
+ \setlength{\TThreeAckermannEqLeftMargin}{-1cm}
+ \setlength{\TThreeBinomialEqLeftMargin}{-0.8cm}
+ \setlength{\TThreeEspEqLeftMargin}{0pt}
+ \setlength{\TThreeProbEqLeftMargin}{-1cm}
+ \setlength{\TThreeIncExcEqLeftMargin}{-.8cm}
+ \setlength{\TThreeRandVarEqLeftMargin}{-.8cm}
+ \setlength{\TThreeNormalGaussEqLeftMargin}{-.3cm}
+ \setlength{\TFourColTwo}{.3945\TableWidth}
+ \setlength{\TFourColThree}{.20\TableWidth}
+ \renewcommand\TFourColOneFontSize{\small}
+ \renewcommand\TFourColTwoFontSize{\small}
+ \setlength{\TFourDisplaySpace}{0ex plus .1ex minus .5ex}
+ \setlength{\TFourDisplayShortSpace}{0ex plus .1ex minus .5ex}
+ \setlength{\TFourSkipFormulae}{18pt plus .5pt minus 1pt}
+ \setlength{\TFourMoreIdentSpace}{1ex plus .8ex minus .1ex}
+ \setlength{\TFourVersionWidth}{.9\TFourColOne}
+ \renewcommand\TFourTrigOneScale{0.86}
+ \setlength{\TFiveColOne}{6.2cm}
+ \setlength{\TFiveColTwo}{6.2cm}
+ \renewcommand\TFiveColOneFontSize{\fontsize{8.6pt}{11pt}\selectfont}
+ \renewcommand\TFiveGraphFontSize{\fontsize{8.6pt}{11pt}\selectfont}
+ \renewcommand\TFiveGeomFontSize{\fontsize{8.6pt}{11pt}\selectfont}
+ \setlength{\TFiveBigSpaceAroundEq}{-2ex plus .5ex minus .8ex}
+ \setlength{\TFiveSmallSpaceAroundEq}{0ex plus .5ex minus .5ex}
+ \setlength{\TFiveCalcEqLeftMargin}{-2em}
+ \setlength{\TSixColumnOne}{7.2cm}
+ \renewcommand\TSixPiSize{\small}
+ \renewcommand\TSixPartialSize{\small}
+ \renewcommand\TSixQuoteSize{\small}
+ \renewcommand\TSixColTwoFontSize{\footnotesize}
+ \renewcommand\TSevenSeriesCalculusFontSize{\small}
+ \setlength{\TEightSpaceAfterFactTwo}{-2ex plus 2ex minus 2ex}
+ \setlength{\TEightFirstColWidth}{12.6cm}
+ \setlength{\TEightCalcEqLeftMargin}{-2.5em}
+ \renewcommand\TEightSeriesCalculusSize{\footnotesize}
+ \renewcommand\TEightSeriesFiniteCalculusFontSize{\footnotesize}
+ \renewcommand\TEightSeriesFactASize{\footnotesize}
+ \setlength\TEightSecondColWidth{\TableWidth-\TEightFirstColWidth-4\tabcolsep}
+ \setlength{\TEightInterTitle}{-1ex plus 1ex minus 1ex}
+ \setlength{\TEightInterTitleAfter}{-2ex plus 1ex minus 1ex}
+ \setlength{\TNineColOne}{12.35cm}
+ \renewcommand\TNineSeriesFontSize{\fontsize{8pt}{9.5pt}\selectfont}
+ \setlength{\TTenLineThreeColSpace}{1ex}
+ \setlength{\TTenLineThreeHeigth}{9cm}
+ \renewcommand\TTenCramerFontSize{\small}
+ \renewcommand\TTenSeriesFontSize{\small}
+ \renewcommand\TTenMagicSquareFontSize{\scriptsize}
+ \setlength{\TNineColOne}{12.35cm}
+ \renewcommand\TNineSeriesFontSize{\small}
+ \renewcommand\TTenCramerFontSize{\small}
+ \renewcommand\TTenSeriesFontSize{\small}
+ \renewcommand\TTenMagicSquareFontSize{\scriptsize}
+ \renewcommand\TTenStieljesFontSize{\small}
+ \iftutex %16bits TeX
+ \setlength{\TOneMoveSums}{4.8cm}
+ \setlength{\TOneMoveFormulaeA}{5.3cm}
+ \setlength{\TOneColBPar}{.2ex plus .2ex minus .1ex}
+ \setlength{\TThreeStrutLength}{3.1ex}
+ \setlength{\TTenLineTwoHeigth}{9.2cm}
+ \setlength{\TTenLineThreeHeigth}{8.6cm}
+ \else %If the TeX is 8bits, the font arev is used instead
+ \setlength{\TOneMoveSums}{5.4cm}
+ \setlength{\TOneMoveFormulaeA}{5.3cm}
+ \setlength{\TOneColBPar}{.4ex plus .2ex minus .1ex}
+ \setlength{\TThreeStrutLength}{3.7ex}
+ \renewcommand\TFourScaleHeight{0.9735}
+ \setlength{\TFourMoveVersion}{-2.5cm}
+ \setlength{\TFourSkipFormulae}{19pt plus .5pt minus 1pt}
+ \setlength{\TFourMoreIdentSpace}{.4ex plus .2ex minus .1ex}
+ \setlength{\TTenLineTwoHeigth}{10.2cm}
+ \setlength{\TTenLineThreeHeigth}{9cm}
+ \fi
+ \or
+ %NeoHellenic
+ \iftutex %16bits TeX
+ %Nothing to do since the default dimentions have been defined for the
+ %NeoHellenic font.
+ \relax
+ \else %If the TeX is 8bits, the font lmodern is used instead
+ \LModernDimentions
+ \fi
+\else
+ %The default is similar to Latin Modern which is the default fonts
+ %(at least for the 8bits TeX)
+ \LModernDimentions
+\fi
+
diff --git a/info/mathtrip/src/T1.tex b/info/mathtrip/src/T1.tex
new file mode 100644
index 0000000000..823b059ddb
--- /dev/null
+++ b/info/mathtrip/src/T1.tex
@@ -0,0 +1,35 @@
+\begingroup
+ \input{T1Def.tex}
+
+ \begin{NiceTabular}{|wl{\ColOne}|wl{\ColTwo}|}\hline
+ %Line 1: Global title
+ \Block[c]{1-2}{\titleTable}&\\\hline
+ %Line 2: Title of the three columns
+ \Block[c]{1-1}{Definitions} &
+ \Block[c]{1-1}{Series} \\\hline
+ %Line 3: The definition and the area of the series.
+ \Block[l]{\value{TOneSeriesPart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \vspace{\TOnePushDef}%
+ \hspace*{\TOneMoveDef}\smash{\TOneDef{\MathContentSize}}}&
+ \Block[c]{\value{TOneSeriesPart}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-1\tabcolsep}%
+ \TOneSums{\MathContentSize}} \\
+ \AddBlankLines{\value{TOneSeriesPart}-2}{\TOneEmptyLine}\\\cline{2-2}
+ %Line 4: The title of the Identities part
+ \Block[c]{1-1}{} &
+ \Block[c]{1-1}{Identities} \\\cline{2-2}
+ %Line 5: The first part of the Identities
+ \Block[c]{\value{TOneFormulaeAPart}-1}{} &
+ \Block[c]{\value{TOneFormulaeAPart}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-1\tabcolsep}%
+ \TOneIdentitiesA{\MathContentSize}} \\
+ \AddBlankLines{\value{TOneFormulaeAPart}-2}{\TOneEmptyLine}\\\cline{1-1}
+ %Line 6: The last part of the formula
+ \Block[c]{\value{TOneFormulaeBPart}-2}{%
+ \deflength{\MathContentSize}{\ColOne+\ColTwo-1\tabcolsep}%
+ \TOneIdentitiesB{\MathContentSize}%
+ } & \\
+ \AddBlankLines{\value{TOneFormulaeBPart}-2}{\TOneEmptyLine}\\\hline
+ \end{NiceTabular}
+\endgroup
diff --git a/info/mathtrip/src/T10.tex b/info/mathtrip/src/T10.tex
new file mode 100644
index 0000000000..714fc51a30
--- /dev/null
+++ b/info/mathtrip/src/T10.tex
@@ -0,0 +1,65 @@
+\begingroup
+\input{T10Def.tex}
+
+\toggletrue{OriginalImage}
+%To draw the impossible brick with TIKZ uncomment the following line
+%\togglefalse{OriginalImage}
+
+\begin{NiceTabular}{|wl{\ColOne}|wl{\ColTwo}|wl{\ColThree}|}\hline
+ %Line 1: Global title
+ \Block[c]{1-3}{\titleTable}&&\\\hline
+ %Line 2: Title of the two columns
+ \Block[c]{1-2}{Series} &&
+ \Block[c]{1-1}{%
+ \iftoggle{OriginalImage}{Escher's Knot}{Escher's impossible brick}%
+ }\\\hline
+ %Line 3: First horizontal zone (first two columns merged)
+ % with some equations about series and
+ % the escher image.
+ %
+ \Block[l]{\value{TTenHorizontalPartOne}-2}{%
+ \deflength{\MathContentSize}{\ColOne+\ColTwo-2\tabcolsep}%
+ \TTenSerieTwo{\MathContentSize}%
+ }&&
+ \Block[l]{\value{TTenHorizontalPartOne}-1}{%
+ \deflength{\MathContentSize}{\ColThree-2\tabcolsep}%
+ \TTenDisplayImage{\MathContentSize}}\\
+ \AddBlankLines{\value{TTenHorizontalPartOne}-2}{\TTenEmptyLine}\\\cline{2-3}
+ %Line 4: Second line of title
+ \Block[c]{1-1}{\TTenSeriesBTitle} & \Block[c]{1-2}{\TTenTitleStieltjes} \\\cline{2-3}
+ %Line 5: The continuation of the series (column 1) and the
+ % the part about Stieljtes integration
+ \Block[l,b]{\value{TTenHorizontalPartTwo}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TTenSerieFour{\MathContentSize}\\
+ \rule{0pt}{\TTenPushSeries}%
+ } &
+ \Block[l]{\value{TTenHorizontalPartTwo}-2}{%
+ \deflength{\MathContentSize}{\ColTwo+\ColThree-2\tabcolsep}%
+ \TTenStieltjes{\MathContentSize}}&\\
+ \AddBlankLines{\value{TTenHorizontalPartTwo}-2}{\TTenEmptyLine}\\\hline
+ %Line 6: the area containing the title "cramer's rule" and "the Fibonacci
+ % numbers"
+ \Block[c]{1-1}{\TTenCramersTitle} & \Block[c]{1-2}{\TTenFibTitle}\\\hline
+ %Line 7: Third horizontal zone containing on two columns
+ %the cramer's rule, and the Fibonacci numbers.
+ \Block[l]{\value{TTenHorizontalPartThree}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TTenCramer{\MathContentSize}} &
+ \Block[l]{\value{TTenHorizontalPartThree}-2}{%
+ \deflength{\MathContentSize}{\ColTwo+\ColThree-2\tabcolsep}%
+ \TTenFibonacci{\MathContentSize}}\\
+ \AddBlankLines{\value{TTenHorizontalPartThree}-2}{\TTenEmptyLine}\\\hline
+ %Line 8: the area containing the title "magic square"
+ \Block[c]{1-1}{\TTenQuoteTitle} & \Block[c]{1-2}{\TTenMagicTitle}\\\cline{2-3}
+ %Line 9: Fourth horizontal zone containing on two columns
+ %the quote, and the magic square
+ \Block[l]{\value{TTenHorizontalPartFour}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TTenQuote{\MathContentSize}} &
+ \Block[c]{\value{TTenHorizontalPartFour}-2}{%
+ \deflength{\MathContentSize}{\ColTwo+\ColThree-2\tabcolsep}%
+ \TTenMagic{.6\MathContentSize}}\\
+ \AddBlankLines{\value{TTenHorizontalPartFour}-2}{\TTenEmptyLine}\\\hline
+\end{NiceTabular}
+\endgroup
diff --git a/info/mathtrip/src/T10Def.tex b/info/mathtrip/src/T10Def.tex
new file mode 100644
index 0000000000..3917e1c3c2
--- /dev/null
+++ b/info/mathtrip/src/T10Def.tex
@@ -0,0 +1,49 @@
+%Basically the page 10 is divided in 3 horizontal
+%zones and 3 columns.
+%
+%The first horizontal zone is spread over the two first columns (merged together)
+%and the third columnd.
+%The second horizontal zone is spread over the first column and
+%the two last columns (merged together)
+%The third horizontal zone is spread over the three columns (without any merging
+%of the columns)
+
+
+%A new toggle is defined. When it is true, the image
+%of the Escher's Knot (the same image as in the original TeX
+%Document) is used otherwise the impossible brick of
+%Escher is draw dynamically with TIKZ.
+\newtoggle{OriginalImage}
+
+%Fix the dimentions of the 3 columns of this page
+\deflength{\ColOne}{\TTenColOne}
+\deflength{\ColTwo}{\TTenColTwo}
+\deflength{\ColThree}{\TableWidth - \ColOne - \ColTwo -4\tabcolsep}
+
+%Every files containing the text of the different part of the page
+%is imported. Generally in each file a command is defined to
+%typeset properly the text located in a specific part of the page
+\input{series2.tex} %The command produced: is \TTenSerieTwo
+\input{EscherPage10.tex} %TeX command produced: \TTenDisplayImage
+\input{series4.tex} %TeX command produced: \TTenSerieFour
+\input{stieltjes.tex} %TeX command produced: \TTenStieltjes
+\input{cramers.tex} %TeX command produced: \TTenCramer
+\input{quote5.tex} %TeX command produced: \TTenQuote
+\input{fib1.tex} %TeX command produced: \TTenFibonacci
+\input{magic.tex} %TeX command produced: \TTenMagic
+
+%This command is to create Intertitle
+%The command has two parameters:
+% 1) Anything which expand to someting to avoid to put spacing
+% command before the title. This parameter is optionnal.
+% 2) The text of the title
+\newcommand\TTenTitle[2][\DoNothing]{%
+ \ifdefempty{#1}{\AdjustSpace{\TTenInterTitle}}{}%
+ \noindent \IntertitleShape{#2}%
+ \par
+}
+
+%This command defines a blank line for the tabular
+%used as the base of the page 10.
+\newcommand\TTenEmptyLine{&&\\}
+
diff --git a/info/mathtrip/src/T1Def.tex b/info/mathtrip/src/T1Def.tex
new file mode 100644
index 0000000000..cfcb0402c4
--- /dev/null
+++ b/info/mathtrip/src/T1Def.tex
@@ -0,0 +1,30 @@
+%Basically the page 5 is divided in 3 horizontal
+%zones and 3 columns.
+%
+%The first column goes over all the zone, the second is splitted
+%over 2 zones and the third column is splitted over 3 zones.
+
+%Fix the dimentions of the 3 columns of this page
+\deflength{\ColOne}{\TOneColOne}
+\deflength{\ColTwo}{\TableWidth - \ColOne -4\tabcolsep}
+
+\input{definitions.tex} %The command produced is \TOneDef
+\input{sums.tex} %The command produced is \TOneSums
+\input{ids1.tex} %The command produced is \TOneIdentitiesA
+\input{ids2.tex} %The command produced is \TOneIdentitiesB
+
+%This command is to create Intertitle
+%The command has two parameters:
+% 1) Anything which expand to someting to avoid to put spacing
+% command before the title. This parameter is optionnal.
+% 2) The text of the title
+\newcommand\TOneTitle[2][\DoNothing]{%
+ \ifdefempty{#1}{\AdjustSpace{\TOneInterTitle}}{}%
+ \noindent \IntertitleShape{#2}%
+ \par
+}
+
+%This command defines a blank line for the tabular
+%used as the base of the page 10.
+\newcommand\TOneEmptyLine{&\\}
+
diff --git a/info/mathtrip/src/T2.tex b/info/mathtrip/src/T2.tex
new file mode 100644
index 0000000000..dc2fd081cc
--- /dev/null
+++ b/info/mathtrip/src/T2.tex
@@ -0,0 +1,32 @@
+\begingroup
+ \input{T2Def.tex}
+
+ % \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ % \TTwoTree{\MathContentSize}
+
+ \begin{NiceTabular}{|wl{\ColOne}|}\hline
+ %Line 1: Global title
+ \Block[c]{1-1}{\titleTable}\\\hline
+ %Line 2: Title of the three columns
+ \Block[c]{1-1}{Identities Cont.} \\\hline
+ %Line 3 the end of the different identities.
+ \Block[c]{\value{TTwoIdentitiesPart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TTwoIdentities{\MathContentSize}}\\
+ \AddBlankLines{\value{TTwoIdentitiesPart}-2}{\TTwoEmptyLine}\\\hline
+ %Line 4: The title of the part about the Trees
+ \Block[c]{1-1}{Trees} \\\hline
+ %Line 5 The few formulae about the trees
+ \Block[c]{\value{TTwoTreesPart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TTwoTree{\MathContentSize}}\\
+ \AddBlankLines{\value{TTwoTreesPart}-2}{\TTwoEmptyLine}\\\hline
+ %Line 6: The title of the Recurrences
+ \Block[c]{1-1}{Recurrences} \\\hline
+ %Line 7: the text about recurences.
+ \Block[c]{\value{TTwoRecurencesPart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TTwoRecurOne{\MathContentSize}}\\
+ \AddBlankLines{\value{TTwoRecurencesPart}-2}{\TTwoEmptyLine}\\\hline
+ \end{NiceTabular}
+\endgroup
diff --git a/info/mathtrip/src/T2Def.tex b/info/mathtrip/src/T2Def.tex
new file mode 100644
index 0000000000..ea2aa239e6
--- /dev/null
+++ b/info/mathtrip/src/T2Def.tex
@@ -0,0 +1,32 @@
+%Basically the page 5 is divided in 3 horizontal
+%zones and 3 columns.
+%
+%The first column goes over all the zone, the second is splitted
+%over 2 zones and the third column is splitted over 3 zones.
+
+%Fix the dimentions of the 3 columns of this page
+\deflength{\ColOne}{\TableWidth -2\tabcolsep}
+
+\input{ids3.tex} %The command produced is \TTwoIdentities
+\input{trees.tex} %The command produced is \TTwoTree
+\input{recur1.tex} %The command produced is \TTwoRecurOne
+
+%This command is to create Intertitle
+%The command has two parameters:
+% 1) Anything which expand to someting to avoid to put spacing
+% command before the title. This parameter is optionnal.
+% 2) The text of the title
+\newcommand\TTwoTitle[2][\DoNothing]{%
+ \ifdefempty{#1}{\AdjustSpace{\TTwoInterTitle}}{}%
+ \begingroup
+ \raggedright
+ \noindent
+ \IntertitleShape{#2}%
+ \par
+ \endgroup
+}
+
+%This command defines a blank line for the tabular
+%used as the base of the page 10.
+\newcommand\TTwoEmptyLine{\\}
+
diff --git a/info/mathtrip/src/T3.tex b/info/mathtrip/src/T3.tex
new file mode 100644
index 0000000000..51072ee8ab
--- /dev/null
+++ b/info/mathtrip/src/T3.tex
@@ -0,0 +1,55 @@
+\begingroup
+
+ \input{T3Def.tex}
+
+ \begin{NiceTabular}{|wl{\ColOne}|wl{\ColTwo}|wl{\ColThree}|wl{\ColFour}|wl{\ColFive}|}\hline
+ %Line 1: Global title
+ \Block[c]{1-5}{\titleTable}&&&&\\\hline
+ %Line 2: few mathematical constant
+ \Block[c]{1-5}{%
+ \deflength{\MathContentSize}{\ColOne+\ColTwo+\ColThree+\ColFour+\ColFive-8\tabcolsep}%
+ \TThreeConstants{\MathContentSize}} & & & & \\\hline
+ %Line 3: Title of the five columns
+ \Block[c]{1-1}{$i$} &
+ \Block[c]{1-1}{$2^i$} &
+ \Block[c]{1-1}{$p_i$} &
+ \Block[c]{1-1}{General} &
+ \Block[c]{1-1}{Probability cont.} \\\hline
+ %Line 4: The list of numbers (i, power 2, prime), the general formulae,
+ %and first part prob.
+ \Block[c]{\value{TThreeNumbersPart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TThreeSeqNb{\MathContentSize}}&
+ \Block[c]{\value{TThreeNumbersPart}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-2\tabcolsep}%
+ \TThreePowerTwo{\MathContentSize}} &
+ \Block[c]{\value{TThreeNumbersPart}-1}{%
+ \deflength{\MathContentSize}{\ColThree-1\tabcolsep}%
+ \TThreeFirstPrimes{\MathContentSize}} &
+ \Block[c]{\value{TThreeGeneralPart}-1}{%
+ \deflength{\MathContentSize}{\ColFour-2\tabcolsep}%
+ \TThreeGeneral{\MathContentSize}} &
+ \Block[c]{\value{TThreeProbBPart}-1}{%
+ \deflength{\MathContentSize}{\ColFive-1\tabcolsep}%
+ \vspace{\TThreeMoveProbA}%
+ \TThreeProb{\MathContentSize}}\\
+ \BiggestNbLines{\value{TThreeNumbersPart}}
+ {\value{TThreeGeneralPart}}
+ {\value{TThreeProbBPart}}
+ \AddBlankLines{\value{NbBlankLines}-2}{\TThreeEmptyLine}\\\cline{1-4}
+ %Line 5 the intermediary title
+ \Block[c]{1-3}{Pascal's Triangle} &&&\Block[c]{1-1}{Probability}&\\\cline{1-4}
+ %Line 6 the triangle of pascal and some text on probability.
+ \Block[c]{\value{TThreePascalPart}-3}{%
+ \deflength{\MathContentSize}{\ColOne+\ColTwo+\ColThree-2\tabcolsep}%
+ \TThreePascal{\MathContentSize}}& & &
+ \Block[c]{\value{TThreeProbAPart}-1}{%
+ \vspace*{\TThreeMoveProbB}%
+ \deflength{\MathContentSize}{\ColFour-2\tabcolsep}%
+ \TThreeProbTwo{\MathContentSize}} & \\
+ \BiggestNbLines{\value{TThreePascalPart}}
+ {\value{TThreeProbAPart}}
+ {0}
+ \AddBlankLines{\value{NbBlankLines}-2}{\TThreeEmptyLine}\\\hline
+ \end{NiceTabular}
+\endgroup
diff --git a/info/mathtrip/src/T3Def.tex b/info/mathtrip/src/T3Def.tex
new file mode 100644
index 0000000000..f60127f027
--- /dev/null
+++ b/info/mathtrip/src/T3Def.tex
@@ -0,0 +1,48 @@
+%Basically the page 5 is divided in 3 horizontal
+%zones and 3 columns.
+%
+%The first column goes over all the zone, the second is splitted
+%over 2 zones and the third column is splitted over 3 zones.
+
+%Fix the dimentions of the 3 columns of this page
+\deflength{\ColOne}{\TThreeColOne}
+\deflength{\ColTwo}{\TThreeColTwo}
+\deflength{\ColThree}{\TThreeColThree}
+\deflength{\ColFour}{\TThreeColFour}
+\deflength{\ColFive}{\TableWidth - \ColOne - \ColTwo -\ColThree -\ColFour -8\tabcolsep}
+
+\input{const.tex} %The command produced is \TThreeConstants
+\input{power2.tex} %The command produced is \TThreePowerTwo
+\input{seq_nb.tex} %The command produced is \TThreeSeqNb
+\input{first_prime.tex} %The command produced is \TThreeFirstPrimes
+\input{misc.tex} %The command produced is \TThreeGeneral
+\input{prob.tex} %The command produced is \TThreeProb
+\input{prob2.tex} %The command produced is \TThreeProbTwo
+\input{pascal_triangle.tex} %The command produced is \TThreePascal
+
+%This command is to create Intertitle
+%The command has two parameters:
+% 1) Anything which expand to someting to avoid to put spacing
+% command before the title. This parameter is optionnal.
+% 2) The text of the title
+\newcommand\TThreeTitle[2][\DoNothing]{%
+ \ifdefempty{#1}{\AdjustSpace{\TThreeInterTitle}}{}%
+ \noindent \IntertitleShape{#2}%
+ \par
+}
+
+%This macro is the separator used in the line of Pascal's triangle.
+%Between xelatex and lualatex, the management of space
+%is not identical and the separator should be changed.
+\newcommand\TThreePascalSep{%
+ \def\sep{~}%
+ \ifluatex
+ \def\sep{\,}%
+ \fi
+ \sep
+}
+
+%This command defines a blank line for the tabular
+%used as the base of the page 10.
+\newcommand\TThreeEmptyLine{&&&&\\}
+
diff --git a/info/mathtrip/src/T4.tex b/info/mathtrip/src/T4.tex
new file mode 100644
index 0000000000..711eb12617
--- /dev/null
+++ b/info/mathtrip/src/T4.tex
@@ -0,0 +1,53 @@
+\begingroup
+ \input{T4Def.tex}
+
+
+ \begin{NiceTabular}{|wl{\ColOne}|wl{\ColTwo}|wl{\ColThree}|}\hline
+ %Line 1: Global title
+ \Block[c]{1-3}{\titleTable}&&\\\hline
+ %Line 2: Title of the three columns
+ \Block[c]{1-1}{Trigonometry} &
+ \Block[c]{1-1}{Matrices} &
+ \Block[c]{1-1}{More Trig.} \\\hline
+ %Line 3: The matrix area. The first and last column
+ % will have their content hidden to TeX
+ \Block[c]{\value{TFourMatrix}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \vspace{-\TFourPushTrig}%
+ \smash{\TFourTrigOne{\MathContentSize}}}&
+ \Block[c]{\value{TFourMatrix}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-2\tabcolsep}%
+ \TFourMatrix{\MathContentSize}} &
+ \Block[c]{\value{TFourMatrix}-1}{%
+ \deflength{\MathContentSize}{\ColThree-1\tabcolsep}%
+ \vspace{-\TFourPushMoreTrig}
+ \smash{\TFourTrigTwo{\MathContentSize}}}\\
+ \AddBlankLines{\value{TFourMatrix}-2}{\TFourEmptyLine}\\\cline{2-2}
+ %Line 4: Title of the second columns
+ \Block[c]{1-1}{} &
+ \Block[c]{1-1}{Hyperbolic Functions} &
+ \Block[c]{1-1}{} \\\cline{2-2}
+ %Line 5: The hyperbolic functions area.
+ \Block[c]{\value{TFourHyperbolic}-1}{} &
+ \Block[c]{\value{TFourHyperbolic}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-2\tabcolsep}%
+ \TFourHyperbolic{\MathContentSize}} &
+ \Block[c]{\value{TFourHyperbolic}-1}{} \\
+ \AddBlankLines{\value{TFourHyperbolic}-2}{\TFourEmptyLine}\\\cline{2-2}
+ %Line 6: The trigonometric table
+ \Block[c]{\value{TFourTrig}-1}{} &
+ \Block[c]{\value{TFourTrig}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-2\tabcolsep}%
+ \TFourTrigTable{\MathContentSize}} &
+ \Block[c]{\value{TFourTrig}-1}{} \\
+ \AddBlankLines{\value{TFourTrig}-2}{\TFourEmptyLine}\\\hline
+ %Line 6: The quote and the copyright
+ \Block[c]{\value{TFourQuote}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TFourVersion{\MathContentSize}} &
+ \Block[c]{\value{TFourQuote}-2}{%
+ \deflength{\MathContentSize}{\ColTwo+\ColThree-2\tabcolsep}%
+ \TFourQuoteOne{\MathContentSize}} &\\
+ \AddBlankLines{\value{TFourQuote}-2}{\TFourEmptyLine}\\\hline
+ \end{NiceTabular}
+\endgroup
diff --git a/info/mathtrip/src/T4Def.tex b/info/mathtrip/src/T4Def.tex
new file mode 100644
index 0000000000..fc94f4d755
--- /dev/null
+++ b/info/mathtrip/src/T4Def.tex
@@ -0,0 +1,34 @@
+%Basically the page 5 is divided in 3 horizontal
+%zones and 3 columns.
+%
+%The first column goes over all the zone, the second is splitted
+%over 2 zones and the third column is splitted over 3 zones.
+
+%Fix the dimentions of the 3 columns of this page
+\deflength{\ColOne}{\TFourColOne}
+\deflength{\ColTwo}{\TFourColTwo}
+\deflength{\ColThree}{\TableWidth - \ColOne - \ColTwo -4\tabcolsep}
+
+\input{trig1.tex} %The command produced is \TFourTrigOne
+\input{matrix.tex} %The command produced is \TFourMatrix
+\input{hyper.tex} %The command produced is \TFourHyperbolic
+\input{table.tex} %The command produced is \TFourTrigTable
+\input{quote4.tex} %The command produced is \TFourQuoteOne
+\input{trig2.tex} %The command produced is \TFourTrigTwo
+\input{version.tex} %The command produced is \TFourVersion
+
+%This command is to create Intertitle
+%The command has two parameters:
+% 1) Anything which expand to someting to avoid to put spacing
+% command before the title. This parameter is optionnal.
+% 2) The text of the title
+\newcommand\TFourTitle[2][\DoNothing]{%
+ \ifdefempty{#1}{\AdjustSpace{\TFourInterTitle}}{}%
+ \noindent \IntertitleShape{#2}%
+ \par
+}
+
+%This command defines a blank line for the tabular
+%used as the base of the page 10.
+\newcommand\TFourEmptyLine{&&\\}
+
diff --git a/info/mathtrip/src/T5.tex b/info/mathtrip/src/T5.tex
new file mode 100644
index 0000000000..da85c5592a
--- /dev/null
+++ b/info/mathtrip/src/T5.tex
@@ -0,0 +1,37 @@
+\begingroup
+ \input{T5Def.tex}
+ \begin{NiceTabular}{|wl{\ColOne}|wl{\ColTwo}|wl{\ColThree}|}\hline
+ %Line 1: Global title
+ \Block[c]{1-3}{\titleTable}&&\\\hline
+ %Line 2: Title of the two columns
+ \Block[c]{1-1}{Number Theory} &
+ \Block[c]{1-1}{Graph Theory} &
+ \Block[c]{1-1}{Geometry} \\\hline
+ %Line 3: Mainly the three columns containing number theory,
+ % Graph Theory and geometry
+ \Block[c]{\value{TFiveNumberTheoryCol}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TFiveNumberTheory{\MathContentSize}%
+ } &
+ \Block[c]{\value{TFiveGraphCol}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-2\tabcolsep}%
+ \vspace{\TFivePushGraph}%
+ \TFiveGrapheOne{\MathContentSize}%
+ } &
+ \Block[c]{\value{TFiveGeometryCol}-1}{%
+ \deflength{\MathContentSize}{\ColThree-2\tabcolsep}%
+ \vspace{\TFivePushGeometry}%
+ \TFiveGeometry{\MathContentSize}%
+ } \\
+ \BiggestNbLines{\value{TFiveGraphCol}}
+ {\value{TFiveGeometryCol}}
+ {\value{TFiveNumberTheoryCol}}
+ \AddBlankLines{\value{NbBlankLines}-2}{\TFiveEmptyLine}\\\cline{2-3}
+ %Line 4: the quote
+ \Block[l]{\value{TFiveQuoteArea}-1}{} &%
+ \Block[c]{\value{TFiveQuoteArea}-2}{%
+ \deflength{\MathContentSize}{\ColTwo+\ColThree-2\tabcolsep}%
+ \TFiveQuote{\MathContentSize}} &\\%
+ \AddBlankLines{\value{TFiveQuoteArea}-2}{\TFiveEmptyLine}\\\hline
+ \end{NiceTabular}
+\endgroup
diff --git a/info/mathtrip/src/T5Def.tex b/info/mathtrip/src/T5Def.tex
new file mode 100644
index 0000000000..ec57c73306
--- /dev/null
+++ b/info/mathtrip/src/T5Def.tex
@@ -0,0 +1,31 @@
+%Basically the page 5 is divided in 3 horizontal
+%zones and 3 columns.
+%
+%The first column goes over all the zone, the second is splitted
+%over 2 zones and the third column is splitted over 3 zones.
+
+%Fix the dimentions of the 3 columns of this page
+\deflength{\ColOne}{\TFiveColOne}
+\deflength{\ColTwo}{\TFiveColTwo}
+\deflength{\ColThree}{\TableWidth - \ColOne - \ColTwo -4\tabcolsep}
+
+\input{number.tex} %The command produced is \TFiveNumberTheory
+\input{graph.tex} %The command produced is \TFiveGrapheOne
+\input{geom.tex} %The command produced is \TFiveGeometry
+\input{quote1.tex} %The command produced is \TFiveQuote
+
+%This command is to create Intertitle
+%The command has two parameters:
+% 1) Anything which expand to someting to avoid to put spacing
+% command before the title. This parameter is optionnal.
+% 2) The text of the title
+\newcommand\TFiveTitle[2][\DoNothing]{%
+ \ifdefempty{#1}{\AdjustSpace{\TFiveInterTitle}}{}%
+ \noindent \IntertitleShape{#2}%
+ \par
+}
+
+%This command defines a blank line for the tabular
+%used as the base of the page 10.
+\newcommand\TFiveEmptyLine{&&\\}
+
diff --git a/info/mathtrip/src/T6.tex b/info/mathtrip/src/T6.tex
new file mode 100644
index 0000000000..445f8920c6
--- /dev/null
+++ b/info/mathtrip/src/T6.tex
@@ -0,0 +1,38 @@
+\begingroup
+ \input{T6Def.tex}
+ \begin{NiceTabular}{|wl{\ColOne}|wl{\ColTwo}|}\hline
+ %Line 1: Global title
+ \Block[c]{1-2}{\titleTable}&\\\hline
+ %Line 2: Title of the two columns
+ \Block[c]{1-1}{$\pi$} & \Block[c]{1-1}{Calculus}\\\hline
+ %Line 3: two columns one is very high containing calculus
+ %while the other is quite low containing facts about pi
+ %Calculus formula and the second column with some formulae
+ %about the finite calculus.
+ \Block[t]{\value{TSixHorizontalPiPart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TSixPi{\MathContentSize}
+ }&
+ \Block[t]{\value{TSixHorizontalPiPart}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-2\tabcolsep}%
+ %Mask to tex the dimensions of the box
+ \smash{\TSixCalculusOne{\MathContentSize}}\\
+ \rule{0pt}{\TSixPushCalculus}
+ }\\
+ \AddBlankLines{\value{TSixHorizontalPiPart}-2}{\TSixEmptyLine}\\\cline{1-1}
+ %Line 4 %second title
+ \Block[c]{1-1}{Partial Fractions} & \\\cline{1-1}
+ %Line 5: Partial fraction
+ \Block[c]{\value{TSixHorizontalPartialFracPart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TSixPartialFrac{\MathContentSize}%
+ }&\\
+ \AddBlankLines{\value{TSixHorizontalPartialFracPart}-2}{\TSixEmptyLine}\\\cline{1-1}
+ %Line 6: The quote
+ \Block[c]{\value{TSixHorizontalQuotePart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TSixQuoteThree{\MathContentSize}%
+ }&\\
+ \AddBlankLines{\value{TSixHorizontalQuotePart}-2}{\TSixEmptyLine}\\\hline
+ \end{NiceTabular}
+\endgroup
diff --git a/info/mathtrip/src/T6Def.tex b/info/mathtrip/src/T6Def.tex
new file mode 100644
index 0000000000..a705d6d418
--- /dev/null
+++ b/info/mathtrip/src/T6Def.tex
@@ -0,0 +1,27 @@
+%Basically the page 8 is divided in 2 horizontal
+%zones and 2 columns.
+%
+
+\deflength{\ColOne}{\TSixColumnOne}
+\deflength{\ColTwo}{\TableWidth - \ColOne -2\tabcolsep}
+
+%Every files containing the text of the different part of the page
+%is imported. Generally in each file a command is defined to
+%typeset properly the text located in a specific part of the page
+\input{calc.tex} %The command produced is \TSixCalculusOne
+\input{pi.tex} %The command produced is \TSixPi
+\input{partial.tex} %The command produced is \TSixPartialFrac
+\input{quote3.tex} %The command produced is \TSixQuoteThree
+
+%This command is to create Intertitle
+%The command has one parameter:
+% 1) The text of the title
+\newcommand\TSixTitle[1]{%
+ \par\vspace{\TSixInterTitle}%
+ \noindent \IntertitleShape{#1}\par
+}
+
+%This command defines a blank line for the tabular
+%used as the base of the page 10.
+\newcommand\TSixEmptyLine{&\\}
+
diff --git a/info/mathtrip/src/T7.tex b/info/mathtrip/src/T7.tex
new file mode 100644
index 0000000000..fc4e4917a5
--- /dev/null
+++ b/info/mathtrip/src/T7.tex
@@ -0,0 +1,14 @@
+\begingroup
+ \input{T7Def.tex}
+ \begin{NiceTabular}{|wl{\ColOne}|}\hline
+ %Line 1: Global title
+ \Block[c]{1-1}{\titleTable}\\\hline
+ %Line 2: Title of the two columns
+ \Block[c]{1-1}{Calculus Cont.}\\\hline
+ %Line 3: all the rest of the table
+ \Block[l]{\value{TSevenHorizontalCalculusPart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TSevenCalculusTwo{\MathContentSize}}\\
+ \AddBlankLines{\value{TSevenHorizontalCalculusPart}-2}{\TSevenEmptyLine}\\\hline
+ \end{NiceTabular}
+\endgroup
diff --git a/info/mathtrip/src/T7Def.tex b/info/mathtrip/src/T7Def.tex
new file mode 100644
index 0000000000..fde4194378
--- /dev/null
+++ b/info/mathtrip/src/T7Def.tex
@@ -0,0 +1,15 @@
+%Basically the page 8 is divided in 2 horizontal
+%zones and 2 columns.
+%
+
+\deflength{\ColOne}{\TableWidth}
+
+%Every files containing the text of the different part of the page
+%is imported. Generally in each file a command is defined to
+%typeset properly the text located in a specific part of the page
+\input{calc2.tex} %The command produced: is \TSevenCalculusTwo
+
+%This command defines a blank line for the tabular
+%used as the base of the page 10.
+\newcommand\TSevenEmptyLine{\\}
+
diff --git a/info/mathtrip/src/T8.tex b/info/mathtrip/src/T8.tex
new file mode 100644
index 0000000000..2eadcf1375
--- /dev/null
+++ b/info/mathtrip/src/T8.tex
@@ -0,0 +1,32 @@
+\begingroup
+ \input{T8Def.tex}
+
+\begin{NiceTabular}{|wl{\ColOne}|wl{\ColTwo}|}\hline
+ %Line 1: Global title
+ \Block[c]{1-2}{\titleTable}&\\\hline
+ %Line 2: Title of the two columns
+ \Block[c]{1-1}{Calculus Cont.} & \Block[c]{1-1}{Finite Calculus}\\\hline
+ %Line 3: two columns very high. The first column with the end
+ %Calculus formula and the second column with some formulae
+ %about the finite calculus.
+ \Block[l]{\value{TEightHorizontalCalculusPart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TEightCalculusThree{\MathContentSize}%
+ }&
+ \Block[l]{\value{TEightHorizontalFiniteCalculusPart}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-2\tabcolsep}%
+ \TEightFiniteCalculusA{\MathContentSize}}\\
+ \BiggestNbLines{\value{TEightHorizontalCalculusPart}}%
+ {\value{TEightHorizontalFiniteCalculusPart}}%
+ {0}%
+ \AddBlankLines{\value{NbBlankLines}-2}{\TEightEmptyLine}\\\hline
+ %Line 4:
+ \Block[c]{\value{TEightHorizontalPowerPart}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TEightFactTwo{\MathContentSize}}&
+ \Block[c]{\value{TEightHorizontalPowerPart}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-2\tabcolsep}%
+ \TEightQuote{\MathContentSize}}\\%
+ \AddBlankLines{\value{TEightHorizontalPowerPart}-2}{\TEightEmptyLine}\\\hline
+\end{NiceTabular}
+\endgroup
diff --git a/info/mathtrip/src/T8Def.tex b/info/mathtrip/src/T8Def.tex
new file mode 100644
index 0000000000..14dd7cf64b
--- /dev/null
+++ b/info/mathtrip/src/T8Def.tex
@@ -0,0 +1,27 @@
+%Basically the page 8 is divided in 2 horizontal
+%zones and 2 columns.
+%
+
+\deflength{\ColOne}{\TEightFirstColWidth}
+\deflength{\ColTwo}{\TableWidth - \ColOne -2\tabcolsep}
+
+%Every files containing the text of the different part of the page
+%is imported. Generally in each file a command is defined to
+%typeset properly the text located in a specific part of the page
+\input{calc3.tex} %The command produced: is \TEightCalculusThree
+\input{fact2.tex} %The command produced: is \TEightFactTwo
+\input{finite.tex} %The command produced: is \TEightFiniteCalculusA
+\input{quote6.tex} %The command produced: is \TEightQuote
+
+%This command is to create Intertitle
+%The command has one parameter:
+% 1) The text of the title
+\newcommand\TEightTitle[1]{%
+ \par\vspace{\TEightInterTitle}%
+ \noindent \IntertitleShape{#1}\par
+}
+
+%This command defines a blank line for the tabular
+%used as the base of the page 10.
+\newcommand\TEightEmptyLine{&\\}
+
diff --git a/info/mathtrip/src/T9.tex b/info/mathtrip/src/T9.tex
new file mode 100644
index 0000000000..1f43640dc6
--- /dev/null
+++ b/info/mathtrip/src/T9.tex
@@ -0,0 +1,31 @@
+\begingroup
+\input{T9Def.tex}
+
+\begin{NiceTabular}{|wl{\ColOne}|wl{\ColTwo}|}\hline
+ %Line 1: Global title
+ \Block[c]{1-2}{\titleTable}&\\\hline
+ %Line 2: Title of the two columns
+ \Block[c]{1-2}{Series} & \\\hline
+ %Line 3: two column very high. The first column with Taylor's series
+ % while the second is some general properties of the series
+ %
+ \Block[l]{\value{TNineHorizontalSeriesColOne}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TNineSeriesOne{\MathContentSize}%
+ }&
+ \Block[l]{\value{TNineHorizontalSeriesColTwo}-1}{%
+ \deflength{\MathContentSize}{\ColTwo-2\tabcolsep}%
+ \TNineSeriesThree{\MathContentSize}%
+ \rule{0pt}{\TNinePushSeries}}\\
+ \BiggestNbLines{\value{TNineHorizontalSeriesColOne}}
+ {\value{TNineHorizontalSeriesColTwo}}
+ {0}
+ \AddBlankLines{\value{NbBlankLines}-2}{\TNineEmptyLine}\\\cline{1-1}
+ %Line 4: The beautiful and famous citation of Kronecker
+ \Block[l]{\value{TNineHorizontalQuote}-1}{%
+ \deflength{\MathContentSize}{\ColOne-2\tabcolsep}%
+ \TNineQuote{\MathContentSize}}&
+ \Block[l]{\value{TNineHorizontalQuote}-1}{}\\
+ \AddBlankLines{\value{TNineHorizontalQuote}-2}{\TNineEmptyLine}\\\hline
+\end{NiceTabular}
+\endgroup
diff --git a/info/mathtrip/src/T9Def.tex b/info/mathtrip/src/T9Def.tex
new file mode 100644
index 0000000000..a055925a8a
--- /dev/null
+++ b/info/mathtrip/src/T9Def.tex
@@ -0,0 +1,27 @@
+%Basically the page 9 is divided in 2 horizontal
+%zones and 2 columns.
+%
+
+
+%Fix the dimentions of the 3 columns of this page
+\deflength{\ColOne}{\TNineColOne}
+\deflength{\ColTwo}{\TableWidth - \ColOne -2\tabcolsep}
+
+%Every files containing the text of the different part of the page
+%is imported. Generally in each file a command is defined to
+%typeset properly the text located in a specific part of the page
+\input{series1.tex} %The command produced: is \TNineSeriesOne
+\input{series3.tex} %The command produced: is \TNineSeriesThree
+\input{quote2.tex} %TeX command produced: \TNineQuote
+
+%This command is to create Intertitle
+%The command has one parameter:
+% 1) The text of the title
+\newcommand\TNineTitle[1]{%
+ \noindent \IntertitleShape{#1}%
+}
+
+%This command defines a blank line for the tabular
+%used as the base of the page 10.
+\newcommand\TNineEmptyLine{&\\}
+
diff --git a/info/mathtrip/src/Title.tex b/info/mathtrip/src/Title.tex
new file mode 100644
index 0000000000..f88b3483ef
--- /dev/null
+++ b/info/mathtrip/src/Title.tex
@@ -0,0 +1,52 @@
+%This snt provides a title page for the document displaying
+%the mathematical formulae. Its usefulness could be discussed when
+%this document is printed only once in one font (however, it could
+%be anyway useful to mention the name of the used font and the name of authors).
+%
+%It will undoubtly be more useful when the document is typeset in all possible
+%font and then merged in one single document. In that case, this page is very
+%handy to separe the differents documents while giving some information
+%about the font.
+\pagestyle{empty}
+\mbox{}
+\vspace{15ex plus 2ex minus 1ex}
+\PackageName
+\vspace{5ex plus 2ex minus 1ex}
+\TitleQuote
+\par
+\vspace{25ex plus 5ex minus 10ex}
+\begingroup
+ \bfseries
+ \centerline{\Large Few formulæ and mathematical facts}\vspace{2ex plus .5ex minus .3ex}
+ \centerline{\large For fun and to show the font}\vspace{2ex plus .5ex minus .3ex}
+ \centerline{\large ``\MainDocFontName[\PoliceDesiree]''}
+ \ifnum\PoliceDocument=\PoliceDesiree
+ \vspace{2ex plus .5ex minus .3ex}
+ \else
+ \centerline{This font was not found and is replaced by}\vspace{1.5ex plus .5ex minus .3ex}
+ \centerline{``\MainDocFontName[\PoliceDocumentParDefaut]''}\vspace{2ex plus .5ex minus .3ex}
+ \fi
+ \ifbool{FullTitle}{\centerline{\large A. Aubord and A. Tsolomitis, version: \Version, \today}}{}
+\endgroup
+\par
+%
+%If a font is not found and replaced by the default font,
+%it is not very useful to print the document (except the title page
+%giving the name of the replaced font and an explanation for
+%the reason of change).
+%
+%In that situation, Two cases could happen:
+% 1) The document should be part
+% of a larger document containing examples of all the fonts, and thus
+% a version of the document will be certainly already printed with the
+% default font.
+% 2) One want a single document to show a specific font
+% but this latter one is not found. By changing a parameter
+% in the '\documentclass' declaration, one can simply
+% print the document with an other (hopefully existing) font.
+\ifnum\PoliceDocument=\PoliceDesiree
+ \relax
+\else
+ \expandafter\end{document}%
+\fi
+
diff --git a/info/mathtrip/src/angle.sty b/info/mathtrip/src/angle.sty
new file mode 100644
index 0000000000..fa16d225b0
--- /dev/null
+++ b/info/mathtrip/src/angle.sty
@@ -0,0 +1,26 @@
+%This package is used to draw the figure of an angle with
+%
+%It accept 3 options (pstricks,tikz and inclusion) to determine how
+%the drawing should be done.
+
+\newbox\AngleBox
+
+%Value (in degrees) of the theta angle shown in the trigonometric
+%circle (in page 4) and in the three point angle in page 5.
+\providecommand\ThetaAngle{35}
+
+\ifcase\DrawMethod
+ %TikZ
+ %length of the base of the angle.
+ \newlength{\anglebase}
+ %and the length of the other side of the angle
+ \newlength{\angleside}
+
+ %Radius of the circle for drwaing a point
+ \newlength{\PointRadius}
+\or
+ %Inclusion
+ \relax
+\else
+ \relax
+\fi
diff --git a/info/mathtrip/src/angle.tex b/info/mathtrip/src/angle.tex
new file mode 100644
index 0000000000..73ab45a61c
--- /dev/null
+++ b/info/mathtrip/src/angle.tex
@@ -0,0 +1,65 @@
+%This document can be run standalone if few comments
+%are removed (or added). This is useful to check and modify the drawing.
+%
+%
+%The document accept one parameter whose value is "pstricks", "tikz", "inclusion"
+%to define if the drawing is made with ps-tricks, tikz or simply
+%by the inclusion of an external file.
+%\documentclass[tikz]{article}
+
+%\usepackage{angle}
+
+%\chardef\DrawMethod=0\relax
+%\begin{document}
+\ifcase\DrawMethod
+ %TikZ
+ \setlength{\anglebase}{2.5cm}
+ \setlength{\angleside}{2.5cm}
+ \setlength{\PointRadius}{2pt}
+
+ \savebox\AngleBox{%
+ \begin{tikzpicture}
+ %Coordinates of the angle
+ \coordinate (O) at (0,0);
+ \coordinate (B) at (\anglebase,0);
+ \coordinate (C) at (2.0479,1.4339); %2.5*cos(35),2.5*sin(35)
+ %Position do place the letter Theta for marking the angle
+ \coordinate (Theta) at (.4296cm,.2cm);
+ %Position where to place the label "l_2"
+ \coordinate (L2Label) at (1.1cm,0.58cm);
+ %Position of the centre of the circle indicating point x1,y1 and y2,y2
+ \coordinate (XOne) at (\anglebase+\PointRadius,0);
+ \coordinate (XTwo) at (\anglebase+\PointRadius,0);
+ %
+ %Draw the base of the angle
+ \draw [thick] (O) -- (B) node[midway,below] {$\ell_1$};
+ %Draw the angle
+ \draw [thick] (O) -- (\ThetaAngle:\angleside);
+
+ %Draw the small circle at the end of the angle to mark the point X1,y1 and x2,y2
+ \draw (O) node{$\circ$};
+ \draw (B) node{$\circ$};
+ \draw (C) node{$\circ$};
+
+ %Draw the angle mark
+ \draw (.20\anglebase,0) arc(0:\ThetaAngle:.20\anglebase);
+ %Put the letter for the angle and the 3 points of the angle.
+ \draw (Theta) node[right]{$\theta$};
+ \draw (O) node[below,left]{$(0,0)$};
+ \draw (B) node[below,right]{$(x_1,y_1)$};
+ \draw (C) node[below,right]{$(x_2,y_2)$};
+ \draw (L2Label) node[below,right] {$\ell_2$};
+ \end{tikzpicture}
+ }
+\or
+ %Inclusion
+ \relax
+\else
+ \relax
+\fi
+
+%Finally, the draw is typeset
+%\begin{center}
+% \usebox\AngleBox
+%\end{center}
+%\end{document}
diff --git a/info/mathtrip/src/calc.tex b/info/mathtrip/src/calc.tex
new file mode 100644
index 0000000000..60c9c2e557
--- /dev/null
+++ b/info/mathtrip/src/calc.tex
@@ -0,0 +1,68 @@
+%This command provides the mathematic (calculus) of the second
+%column of the page 6.
+%
+%This command has one parameter:
+% 1) The width of the math text
+\newcommand\TSixCalculusOne[1]{%
+ \def\dudx{\unskip\,\frac{du}{dx}}
+ \parbox[t]{#1}{%
+ \TSixColTwoFontSize
+ \deflength{\VSpace}{1.15\TSixSkipFormulae} %Useful to add more space for the derivatives.
+ \TSixTitle{Derivatives:}
+ \AdjustSpace{1ex plus .5ex minus .5ex}
+ \begin{DisplayFormulae}{1}{\SpaceBeforeFormula}{\VSpace}{\BigChar}{\StyleBold}
+ \Fm{\frac{d(cu)}{dx} = c \dudx}
+ \Fm{\frac{d(u+v)}{dx} = \dudx + \frac{dv}{dx}}
+ \Fm{\frac{d(uv)}{dx} = u \frac{dv}{dx} + v \dudx}
+ \Fm{\frac{d(u^n)}{dx} = nu^{n-1}\dudx}
+ \Fm{\frac{d(u/v)}{dx} = \frac{v\big(\dudx\big) - u\big(\frac{dv}{dx}\big)}{v^2}}
+ \Fm{\frac{d(e^{cu})}{dx} = ce^{cu}\dudx}
+ \Fm{\frac{d(c^u)}{dx} = (\ln c) c^u\dudx}
+ \Fm{\frac{d(\ln u)}{dx} = \frac{1}{u} \dudx}
+ \Fm{\frac{d(\sin u)}{dx} = \cos u \dudx}
+ \Fm{\frac{d(\cos u)}{dx} = - \sin u \dudx}
+ \Fm{\frac{d(\tan u)}{dx} = \sec^2 u \dudx}
+ \Fm{\frac{d(\cot u)}{dx} = \csc^2 u \dudx}
+ \Fm{\frac{d(\sec u)}{dx} = \tan u \,\sec u \dudx}
+ \Fm{\frac{d(\csc u)}{dx} = - \cot u \,\csc u \dudx}
+ \Fm{\frac{d(\arcsin u)}{dx} = \frac{1}{\sqrt{1 - u^2}}\dudx}
+ \Fm{\frac{d(\arccos u)}{dx} = \frac{-1}{\sqrt{1 - u^2}}\dudx}
+ \Fm{\frac{d(\arctan u)}{dx} = \frac{1}{1 + u^2}\dudx}
+ \Fm{\frac{d(\arccot u)}{dx} = \frac{-1}{1 + u^2}\dudx}
+ \Fm{\frac{d(\arcsec u)}{dx} = \frac{1}{u \sqrt{1 - u^2}}\dudx}
+ \Fm{\frac{d(\arccsc u)}{dx} = \frac{-1}{u \sqrt{1 - u^2}}\dudx}
+ \Fm{\frac{d(\sinh u)}{dx} = \cosh u \dudx}
+ \Fm{\frac{d(\cosh u)}{dx} = \sinh u \dudx}
+ \Fm{\frac{d(\tanh u)}{dx} = \sech^2 u \dudx}
+ \Fm{\frac{d(\coth u)}{dx} = -\csch^2 u \dudx}
+ \Fm{\frac{d(\sech u)}{dx} = -\sech u \,\tanh u\dudx}
+ \Fm{\frac{d(\csch u)}{dx} = -\csch u \,\coth u\dudx}
+ \Fm{\frac{d(\arcsinh u)}{dx} = \frac{1}{\sqrt{1 + u^2}}\dudx}
+ \Fm{\frac{d(\arccosh u)}{dx} = \frac{1}{\sqrt{u^2 - 1}}\dudx}
+ \Fm{\frac{d(\arctanh u)}{dx} = \frac{1}{1 - u^2}\dudx}
+ \Fm{\frac{d(\arccoth u)}{dx} = \frac{1}{u^2 - 1}\dudx}
+ \Fm{\frac{d(\arcsech u)}{dx} = \frac{-1}{u \sqrt{1 - u^2}}\dudx}
+ \Fm{\frac{d(\arccsch u)}{dx} = \frac{-1}{\vert u \vert \sqrt{1 + u^2}}\dudx.}
+ \end{DisplayFormulae}
+
+ \TSixTitle{Integrals:}
+ \begin{DisplayFormulae}{1}{\SpaceBeforeFormula}{\TSixSkipFormulae}{\BigChar}{\StyleBold}
+ \Fm{\int c u \dx = c \int u \dx}
+ \Fm{\int (u + v) \dx = \int u \dx + \int v \dx}
+ \Fm{\int x^n \dx = \frac{1}{n+1}x^{n+1}
+ \MathRemark{n \neq -1}}
+ \Fm{\int \frac{1}{x} dx = \ln \ValAbs{x}}
+ \Fm{\int e^x \dx = e^x}
+ \Fm{\int \frac{dx}{1 + x^2} = \arctan x}
+ \Fm{\int u \frac{dv}{dx} dx = uv - \int v {du \over dx} dx}
+ \Fm{\int \sin \xdx = -\cos x}
+ \Fm{\int \cos \xdx = \sin x}
+ \Fm{\int \tan \xdx = -\ln \ValAbs{\cos x}}
+ \Fm{\int \cot \xdx = \ln \ValAbs{\cos x}}
+ \Fm{\int \sec \xdx = \ln \ValAbs{\sec x + \tan x}}
+ \Fm{\int \csc \xdx = \ln \ValAbs{\csc x + \cot x}}
+ \Fm{\int \arcsin \tfrac{x}{a} dx = \arcsin \tfrac{x}{a} + \sqrt{a^2 - x^2}
+ \MathRemark{a > 0}}
+ \end{DisplayFormulae}
+ }
+}
diff --git a/info/mathtrip/src/calc2.tex b/info/mathtrip/src/calc2.tex
new file mode 100644
index 0000000000..3eeebf70b2
--- /dev/null
+++ b/info/mathtrip/src/calc2.tex
@@ -0,0 +1,86 @@
+%This macro provides all the formulae of page 7
+%
+%This macro has one parameter
+% 1) The width of the math text
+\newcommand\TSevenCalculusTwo[1]{%
+ \parbox[t]{#1}{%
+ \TSevenSeriesCalculusFontSize
+ \begin{DisplayFormulae}{15}{\SpaceBeforeFormula}{\TSevenSkipFormulae}{\BigChar}{\StyleBold}
+ \Fm{\int \arccos \tfrac{x}{a}\dx = \arccos \tfrac{x}{a} - \sqrt{a^2 - x^2}
+ \MathRemark{a > 0}}
+ \Fm{\int \arctan \tfrac{x}{a}\dx = x \arctan \tfrac{x}{a} - \tfrac{a}{2} \ln(a^2 + x^2)%
+ \MathRemark{a > 0}}
+ \Fm{\int \sin^2 (a x)\dx = \tfrac{1}{2a} \big(ax - \sin(ax) \cos(ax)\big)}
+ \Fm{\int \cos^2 (a x)\dx = \tfrac{1}{2a} \big(ax + \sin(ax) \cos(ax)\big)}
+ \Fm{\int \sec^2 \xdx = \tan x}
+ \Fm{\int \csc^2 \xdx = - \cot x}
+ \Fm{\int \sin^n \xdx = -\frac{\sin^{n-1} x \cos x}{n} + \frac{n-1}{n}\int \sin^{n-2} \xdx}
+ \Fm{\int \cos^n \xdx = \frac{\cos^{n-1} x \sin x}{n} + \frac{n-1}{n}\int \cos^{n-2} \xdx}
+ \Fm{\int \tan^n \xdx = \frac{\tan^{n-1} x}{n - 1} - \int \tan^{n-2} \xdx
+ \MathRemark{n \neq 1}}
+ \Fm{\int \cot^n \xdx = -\frac{\cot^{n-1} x}{n - 1} - \int \cot^{n-2} \xdx
+ \MathRemark{n \neq 1}}
+ \Fm{\int \sec^n \xdx = \frac{\tan x\sec^{n-1} x}{n - 1} + \frac{n-2}{n-1}\int \sec^{n-2} \xdx
+ \MathRemark{n \neq 1}}
+ \Fm{\int \csc^n \xdx = -\frac{\cot x\csc^{n-1} x}{n - 1} + \frac{n-2}{n-1}\int \csc^{n-2} \xdx
+ \MathRemark{n \neq 1}}
+ \Fm{\int \sinh \xdx = \cosh x}
+ \Fm{\int \cosh \xdx = \sinh x}
+ \Fm{\int \tanh \xdx = \ln \vert \cosh x \vert}
+ \Fm{\int \coth \xdx = \ln \vert \sinh x \vert}
+ \Fm{\int \sech \xdx = \arctan \sinh x }
+ \Fm{\int \csch \xdx = \ln\left\vert\tanh \tfrac{x}{2} \right\vert}
+ \Fm{\int \sinh^2 \xdx = \tfrac{1}{4} \sinh (2x) - \tfrac{1}{2} x}
+ \Fm{\int \cosh^2 \xdx = \tfrac{1}{4} \sinh (2x) + \tfrac{1}{2} x}
+ \Fm{\int \sech^2 \xdx = \tanh x}
+ \Fm{\int \arcsinh \tfrac{x}{a}\dx = x \arcsinh \tfrac{x}{a} - \sqrt{x^2 + a^2}
+ \MathRemark{a > 0}}
+ \Fm{\int \arccosh \tfrac{x}{a}\dx = \left\{
+ \begin{array}{l}
+ \displaystyle
+ x \arccosh \frac{x}{a} - \sqrt{x^2 + a^2}
+ \MathRemark{\text{if }\arccosh \frac{x}{a} > 0\text{ and }a > 0} \\
+ \displaystyle
+ \rule{0pt}{5ex plus 1ex minus 1ex}%The two line of the array are too tight, this separates them
+ x \arccosh \frac{x}{a} + \sqrt{x^2 + a^2}
+ \MathRemark{\text{if }\arccosh \frac{x}{a} < 0\text{ and }a > 0} \\
+ \end{array}
+ \right.
+ }
+ \Fm{\int \arctanh \tfrac{x}{a}\dx = x \arctanh \tfrac{x}{a} + \tfrac{a}{2} \ln\vert a^2 - x^2\vert}
+ \Fm{\int \frac{dx}{\sqrt{a^2 + x^2}}= \ln \left(x + \sqrt{a^2 + x^2}\right)
+ \MathRemark{a > 0}}
+ \Fm{\int \frac{dx}{a^2 + x^2}= \tfrac{1}{a} \arctan \tfrac{x}{a}
+ \MathRemark{a > 0}}
+ \Fm{\int \sqrt{a^2 - x^2}\dx = \tfrac{x}{2} \sqrt{a^2 - x^2} + \tfrac{a^2}{2} \arcsin \tfrac{x}{a}
+ \MathRemark{a > 0}}
+ \Fm{\int (a^2 - x^2)^{3/2}\dx = \tfrac{x}{8} (5a^2 - 2x^2)\sqrt{a^2 - x^2} + \tfrac{3a^4}{8} \arcsin \tfrac{x}{a}
+ \MathRemark{a > 0}}
+ \Fm{\int \frac{dx}{\sqrt{a^2 - x^2}} = \arcsin \tfrac{x}{a}
+ \MathRemark{a > 0}}
+ \Fm{\int \frac{dx}{a^2 - x^2} = \frac{1}{2a} \ln\left\vert\frac{a + x}{a - x}\right\vert}
+ \Fm{\int \frac{dx}{(a^2 - x^2)^{3/2}} = \frac{x}{a^2\sqrt{a^2 - x^2}}}
+ \Fm{\int \sqrt{a^2 \pm x^2}\dx = \tfrac{x}{2} \sqrt{a^2 \pm x^2} \pm \tfrac{a^2}{2} \ln\left\vert x + \sqrt{a^2 \pm x^2}\right\vert}
+ \Fm{\int \frac{dx}{\sqrt{x^2 - a^2}}= \ln\left\vert x + \sqrt{x^2 - a^2}\right\vert
+ \MathRemark{a > 0}}
+ \Fm{\int \frac{dx}{a x^2 + b x}= \frac{1}{a} \ln\left\vert\frac{x}{a + bx}\right\vert}
+ \Fm{\int x \sqrt{a + b x}\dx= \frac{2(3bx - 2a)(a + bx)^{3/2}}{15 b^2}}
+ \Fm{\int \frac{\sqrt{a + b x}}{x}\dx= 2\sqrt{a + b x} + a \int \frac{1}{x \sqrt{a + b x}}\dx}
+ \Fm{\int \frac{x}{\sqrt{a + b x}}\dx= \frac{1}{\sqrt{2}} \ln\left\vert\frac{\sqrt{a + b x} - \sqrt{a}}{\sqrt{a + b x} + \sqrt{a}}\right\vert
+ \MathRemark{a > 0}}
+ \Fm{\int \frac{\sqrt{a^2 - x^2}}{x}\dx = \sqrt{a^2 - x^2} - a \ln\left\vert\frac{a + \sqrt{a^2 - x^2}}{x}\right\vert}
+ \Fm{\int x \sqrt{a^2 - x^2}\dx = - \tfrac{1}{3} (a^2 - x^2)^{3/2}}
+ \Fm{\int x^2 \sqrt{a^2 - x^2}\dx = \tfrac{x}{8} (2x^2 - a^2)\sqrt{a^2 - x^2} + \tfrac{a^4}{8} \arcsin \tfrac{x}{a}
+ \MathRemark{a > 0}}
+ \Fm{\int \frac{dx}{\sqrt{a^2 - x^2}}= - \tfrac{1}{a} \ln\left\vert\frac{a + \sqrt{a^2 - x^2}}{x}\right\vert}
+ \Fm{\int \frac{\xdx}{\sqrt{a^2 - x^2}} = - \sqrt{a^2 - x^2}}
+ \Fm{\int \frac{x^2\dx}{\sqrt{a^2 - x^2}} = - \tfrac{x}{2} \sqrt{a^2 - x^2} + \tfrac{a^2}{2} \arcsin \tfrac{x}{a}
+ \MathRemark{a > 0}}
+ \Fm{\int \frac{\sqrt{a^2 + x^2}}{x}\dx = \sqrt{a^2 + x^2} - a \ln\left\vert\frac{a + \sqrt{a^2 + x^2}}{x}\right\vert}
+ \Fm{\int \frac{\sqrt{x^2 - a^2}}{x}\dx = \sqrt{x^2 - a^2} - a \arccos \tfrac{a}{\vert x\vert}
+ \MathRemark{a > 0}}
+ \Fm{\int x \sqrt{x^2 \pm a^2}\dx = \tfrac{1}{3} (x^2 \pm a^2)^{3/2}}
+ \Fm{\int \frac{dx}{x \sqrt{x^2 + a^2}} = \tfrac{1}{a} \ln \left\vert\frac{x}{a + \sqrt{a^2 + x^2}}\right\vert}
+ \end{DisplayFormulae}
+ }%
+}
diff --git a/info/mathtrip/src/calc3.tex b/info/mathtrip/src/calc3.tex
new file mode 100644
index 0000000000..dc314f132e
--- /dev/null
+++ b/info/mathtrip/src/calc3.tex
@@ -0,0 +1,58 @@
+%This command produces the text of the calculus in the first column
+%of the first horizontal area
+%
+%The command has one parameter:
+% 1) The width of the mathematical text
+\newcommand\TEightCalculusThree[1]{%
+ %Command to put a strut in these formulae
+ \def\TEightCalcC{\rule[-5ex plus .5ex minus 1ex]{0pt}{6ex plus 2ex minus 1ex}}
+ %A much bigger strut
+ \def\TEightCalcBig{\rule[-5ex plus .5ex minus 1ex]{0pt}{12ex plus 2ex minus 1ex}}
+ \parbox[t]{#1}{%
+ \TEightSeriesCalculusFontSize
+ \begin{DisplayFormulae}{62}{\SpaceBeforeFormula}{\TEightBaselineSkipFormulae}{\BigChar}{\StyleBold}
+ %Formula 62
+ \Fm{\int \frac{dx}{x \sqrt{x^2 - a^2}} = \frac{1}{a} \arccos \frac{a}{\vert x\vert}\quad a > 0}
+ \Fm{\int \frac{dx}{x^2 \sqrt{x^2 \pm a^2}} = \mp \frac{\sqrt{x^2 \pm a^2}}{a^2 x}}
+ \Fm{\int \frac{\xdx}{\sqrt{x^2 \pm a^2}} = \sqrt{x^2 \pm a^2}}
+ \Fm{\int \frac{\sqrt{x^2 \pm a^2}}{x^4} \, dx = \mp \frac{(x^2 + a^2)^{3/2}}{3a^2 x^3}}
+ \Fm{\int \frac{dx}{a x^2 + bx + c} = \left\{
+ \begin{array}{lr}
+ \displaystyle \frac{1}{\sqrt{b^2 -4ac}} \ln \left\vert\frac{2ax + b - \sqrt{b^2 -4ac}}{2ax + b + \sqrt{b^2 -4ac}}\right\vert
+ &\text{if $b^2 > 4ac$\TEightCalcC} \\
+ \displaystyle \frac{2}{\sqrt{4ac - b^2}} \arctan \frac{2ax + b}{\sqrt{4ac - b^2}}
+ &\text{if $b^2 < 4ac$\TEightCalcC} \\
+ \end{array}\right.
+ }
+ \Fm{\int \frac{dx}{\sqrt{a x^2 + bx + c}} = \left\{
+ \begin{array}{lr}
+ \displaystyle \frac{1}{\sqrt{a}} \ln \left\vert 2ax + b + 2\sqrt{a} \sqrt{ax^2 + bx + c}\right\vert
+ &\text{if $a > 0$\TEightCalcC}\\
+ \displaystyle \frac{1}{\sqrt{- a}} \arcsin \frac{-2ax - b}{\sqrt{b^2 - 4ac}}
+ &\text{if $a < 0$\TEightCalcC}\\
+ \end{array}\right.
+ }
+ \def\FirstPart{\int \sqrt{a x^2 + bx + c} \, dx =}
+ \FmPartA{\FirstPart}
+ \FmPartB{\FirstPart}{\frac{2ax + b}{4a} \sqrt{a x^2 + bx + c} +
+ \frac{4ax - b^2}{8a} \int \frac{dx}{\sqrt{a x^2 + bx + c}}}
+ \Fm{\int \frac{\xdx}{\sqrt{a x^2 + bx + c}} = \frac{\sqrt{a x^2 + bx + c}}{a} - \frac{b}{2a}
+ \int \frac{dx}{\sqrt{a x^2 + bx + c}}}
+ \Fm{\TEightCalcBig\int \frac{dx}{x \sqrt{a x^2 + bx + c}} = \left\{
+ \begin{array}{l@{\hspace{.3ex plus .3ex minus .1ex}}r}
+ \displaystyle \frac{-1}{\sqrt{c}} \ln \left\vert\frac{2\sqrt{c} \sqrt{ax^2 + bx + c} + bx + 2c}{x}\right\vert
+ &\text{\small if $c > 0$}\\
+ \displaystyle \frac{1}{\sqrt{- c}} \arcsin \frac{bx + 2c}{\vert x \vert\sqrt{b^2 - 4ac}}
+ &\text{\small if $c < 0$} \\
+ \end{array}\right.
+ }
+ \Fm{\int x^3 \sqrt{x^2 + a^2} \, dx = (\frac{1}{3} x^2 - \frac{2}{15} a^2)(x^2 + a^2)^{3/2}}
+ %Formula 72
+ \Fm{\int x^n \sin (ax) \, dx = - \frac{1}{a} x^n \cos (ax) + \frac{n}{a} \int x^{n-1} \cos (ax) \, dx}
+ \Fm{\int x^n \cos (ax) \, dx = \frac{1}{a} x^n \sin (ax) - \frac{n}{a} \int x^{n-1} \sin (ax) \, dx}
+ \Fm{\int x^n e^{ax} \, dx = \frac{x^n e^{ax}}{a} - \frac{n}{a} \int x^{n-1} e^{ax} \, dx}
+ \Fm{\int x^n \ln (ax) \, dx = x^{n+1}\left(\frac{\ln (ax)}{n+1} - \frac{1}{(n+1)^2}\right)}
+ \Fm{\int x^n (\ln ax)^m \, dx = \frac{x^{n+1}}{n+1}(\ln ax)^m - \frac{m}{n+1}\int x^n (\ln ax)^{m-1} \, dx}
+ \end{DisplayFormulae}
+ }
+}
diff --git a/info/mathtrip/src/const.tex b/info/mathtrip/src/const.tex
new file mode 100644
index 0000000000..f1b8668ad5
--- /dev/null
+++ b/info/mathtrip/src/const.tex
@@ -0,0 +1,20 @@
+%This command provides the value of few important mathematical
+%constants in the first line of the page 3
+%
+%The command has one parameter:
+% 1) The width of the text
+\newcommand\TThreeConstants[1]{%
+ \parbox[t]{#1}{%
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ %Since there is only few constants, a separator between equations
+ %is not needed. It may be useful however if more constants
+ %should be added.
+ %\def\FmSep{\unskip\text{,}}
+ \Fm{\pi \approx 3\SepDecimal 14159}
+ \Fm{e \approx 2\SepDecimal 71828}
+ \Fm{\gamma \approx 0\SepDecimal 57721}
+ \Fm{\phi = {\frac{1+\sqrt{5}}{2}} \approx 1\SepDecimal 61803}
+ \Fm{\hat\phi = {\frac{1-\sqrt{5}}{2}} \approx -0\SepDecimal 61803}
+ \end{DisplayFormulae}
+ }
+}
diff --git a/info/mathtrip/src/cramers.tex b/info/mathtrip/src/cramers.tex
new file mode 100644
index 0000000000..0175387442
--- /dev/null
+++ b/info/mathtrip/src/cramers.tex
@@ -0,0 +1,40 @@
+%This command provides the cramers rule in the column 1
+%of the third horizontal part of page 10
+%
+%This command has one parameter:
+% 1) The width of the line used to typeset the formulae
+\newcommand\TTenCramer[1]{%
+ \parbox[t]{#1}{%
+ \TTenCramerFontSize
+ \DisplaySpace{\TTenDisplaySpace}{\TTenDisplayShortSpace}
+ \noindent If we have equations:%
+ \[\begin{array}{l%Col 2 plus sign
+ @{\hspace{.2em}}c@{\hspace{.2em}}% Col 3
+ l%Col 4, \cdot
+ wc{4em}%Col 5, plus sign
+ @{\hspace{.2em}}c@{\hspace{.2em}}% Col 6
+ l%Col 7 equal sign
+ @{\hspace{.2em}}c@{\hspace{.2em}}% Col 8
+ l}
+
+ a_{1,1} x_1 &+& a_{1,2} x_2& \makebox[2em][c]{$\cdots$} &+& a_{1,n} x_n &=& b_1 \\
+ a_{2,1} x_1 &+& a_{2,2} x_2& \makebox[2em][c]{$\cdots$} &+& a_{2,n} x_n &=& b_2 \\
+ & & & & & & & \\
+ & & & \vdots & & & & \\
+ & & & & & & & \\
+ a_{n,1} x_1 &+& a_{n,2} x_2& \makebox[2em][c]{$\cdots$} &+& a_{n,n} x_n &=& b_n \\
+ \end{array}\]
+
+ \AdjustSpace{3ex plus .5 ex minus 1ex}
+
+ Let $A = (a_{i,j})$ and $B$ be the column matrix $(b_i)$.
+ Then there is a unique solution iff $\det A \neq 0$.
+ Let $A_i$ be $A$ with column $i$ replaced by $B$.
+ Then
+ \begin{displaymath}
+ x_i = \frac{\det A_i}{\det A}.
+ \end{displaymath}
+ }%
+}
+%The command containing the title of this part
+\newcommand\TTenCramersTitle{Cramer's rule}
diff --git a/info/mathtrip/src/definitions.tex b/info/mathtrip/src/definitions.tex
new file mode 100644
index 0000000000..fa034e46fb
--- /dev/null
+++ b/info/mathtrip/src/definitions.tex
@@ -0,0 +1,79 @@
+%This commands provides the text for the definitions on the first
+%page.
+%This command has one parameter:
+% 1) The width of the text
+\newcommand\TOneDef[1]{%
+ \def\LineOfArray##1##2{%
+ {\ensuremath{##1}}&%
+ \begin{DisplayFormulae}{0}{0pt}{2ex plus .5ex minus .5ex}%
+ {\BigChar}{\StyleWithoutNumber}%
+ {\raggedright##2\par\vspace{\TOneInterlineDef}}%
+ \end{DisplayFormulae}\\
+ }
+ \begingroup
+ \def\LongestExpr{f(n) = \Omega(g(n))}%
+ \settowidth{\TmpLengthA}{$\LongestExpr$}
+ \parbox[t]{#1}{%
+ \setlength{\HSpace}{#1-\TmpLengthA}%
+ \begin{tabular}{@{}l@{\hspace{.2em}}|%
+ p{\HSpace}}
+ %Line 1
+ \LineOfArray{f(n) = O(g(n))}%
+ {iff \Fm[true]{\exists} positive \Fm[true]{c, n_0} such that
+ \Fm[true]{0 \leq f(n) \leq cg(n)}
+ \Fm[true]{\MathRemark[\relax]{\forall n \geq n_0}.}}
+ %Line 2
+ \LineOfArray{\LongestExpr}%
+ {iff $\exists$ positive \Fm[true]{c, n_0} such that
+ \Fm[true]{f(n) \geq cg(n) \geq 0}
+ \Fm[true]{\MathRemark[\relax]{\forall n \geq n_0}}.}
+ %Line 3
+ \LineOfArray{f(n) = \Theta(g(n))}%
+ {iff \Fm[true]{f(n) = O(g(n))} and \Fm[true]{f(n) = \Omega(g(n))}. }
+ %Line 4
+ \LineOfArray{f(n) = o(g(n))}%
+ {iff \Fm[true]{\lim_{n \to \infty} f(n)/g(n) = 0}.}
+ %Line 5
+ \LineOfArray{\lim_{n \to \infty} a_n = a}%
+ {iff \Fm[true]{\forall \epsilon > 0}, \Fm[true]{\exists n_0} such that
+ \Fm[true]{\vert a_n - a\vert < \epsilon\MathRemark{\forall n \geq n_0}}.}
+ %Line 6
+ \LineOfArray{\sup S}%
+ {least \Fm[true]{b \in \Real} such that \Fm[true]{b \geq s\MathRemark{\forall s \in S}}.}
+ %Line 7
+ \LineOfArray{\inf S}%
+ {greatest \Fm[true]{b \in \Real} such that \Fm[true]{b \leq s\MathRemark{\forall s \in S}}.}
+ %Line 8
+ \LineOfArray{\liminf_{n \to \infty} a_n}%
+ {\def\FirstPart{\lim_{n\to\infty} \inf \{\mbox{}}%
+ \Fm[true]{\FirstPart a_i \mid i \geq n,}%
+ \FmPartB{\FirstPart}{\MathRemark[\relax]{i \in \Natural}}\}
+ }
+ %Line 9
+ \LineOfArray{\limsup_{n \to \infty} a_n}%
+ {\def\FirstPart{\lim_{n\to\infty} \sup \{\mbox{}}%
+ \Fm[true]{\FirstPart a_i \mid i\geq n,}%
+ \FmPartB{\FirstPart}{\MathRemark[\relax]{i \in \Natural}}\}
+ }
+ %Line 10
+ \LineOfArray{\binom{n}{k}}{Combinations: Size $k$ subsets of a size $n$ set.}
+ %Line 11
+ \LineOfArray{\cycle{n}{k}}%
+ {Stirling numbers (1\textsuperscript{st} kind):
+ Arrangements of an $n$ element set into $k$ cycles.}
+ %Line 12
+ \LineOfArray{\SousEnsemble{n}{k}}%
+ {Stirling numbers (2\textsuperscript{nd} kind):
+ Partitions of an $n$ element set into $k$ non-empty sets.}
+ %Line 13
+ \LineOfArray{\eul{n}{k}}%
+ {1\textsuperscript{st} order Eulerian numbers:
+ Permutations \Fm[true]{\pi_1\pi_2\ldots\pi_n} on \Fm[true]{\{1,2, \ldots, n\}} with $k$ ascents.}
+ %Line 14
+ \LineOfArray{\euls{n}{k}}{2\textsuperscript{nd} order \mbox{Eulerian} numbers.}
+ %Line 15
+ \LineOfArray{C_n}{Catalan Numbers: Binary trees with \Fm[true]{n + 1} vertices.}
+ \end{tabular}
+ }%
+ \endgroup
+}
diff --git a/info/mathtrip/src/escher.pdf b/info/mathtrip/src/escher.pdf
new file mode 100644
index 0000000000..a6ac7c0137
--- /dev/null
+++ b/info/mathtrip/src/escher.pdf
Binary files differ
diff --git a/info/mathtrip/src/escher.ps b/info/mathtrip/src/escher.ps
new file mode 100644
index 0000000000..c4c30edcff
--- /dev/null
+++ b/info/mathtrip/src/escher.ps
@@ -0,0 +1,8413 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 0 0 612 792
+%%HiResBoundingBox: 0 0 612.00 792.00
+%%Creator: MiKTeX GPL Ghostscript 922 (ps2write)
+%%LanguageLevel: 2
+%%CreationDate: D:20190323182559+01'00'
+%%Pages: 1
+%%EndComments
+%%BeginProlog
+/DSC_OPDFREAD true def
+/SetPageSize true def
+/EPS2Write false def
+currentdict/DSC_OPDFREAD known{
+currentdict/DSC_OPDFREAD get
+}{
+false
+}ifelse
+10 dict begin
+/DSC_OPDFREAD exch def
+/this currentdict def
+/y 720 def
+/ebuf 200 string def
+/prnt{
+36//this/y get moveto//ebuf cvs show
+//this/y 2 copy get 12 sub put
+}bind def
+/newline{
+36//this/y get moveto
+//this/y 2 copy get 12 sub put
+}bind def
+errordict/handleerror
+{systemdict begin
+$error begin
+newerror
+{(%%[ Error handled by opdfread.ps : )print errorname//ebuf cvs print(; OffendingCommand: )
+print/command load//ebuf cvs print( ]%%)= flush
+/newerror false store vmstatus pop pop 0 ne
+{grestoreall
+}if
+errorname(VMerror)ne
+{showpage
+}if
+initgraphics
+0 720 moveto
+errorname(VMerror)eq
+{//this/ehsave known
+{clear//this/ehsave get restore 2 vmreclaim
+}if
+vmstatus exch pop exch pop
+}
+/Courier 12 selectfont
+{
+(ERROR: )//prnt exec errorname//prnt exec
+(OFFENDING COMMAND: )//prnt exec
+/command load//prnt exec
+$error/ostack known{
+(%%[STACK:)=
+(STACK:)//prnt exec
+$error/ostack get aload length{
+//newline exec
+dup mark eq{
+(-mark-)dup = show
+}{
+dup type/nametype eq{
+dup xcheck not{
+(/)show
+(/)print
+}if
+}if
+dup =//ebuf cvs show
+}ifelse
+}repeat
+}if
+}ifelse
+(%%]%)=
+//systemdict/showpage get exec
+quit
+}if
+end
+end
+}bind readonly put
+end
+50 dict begin
+/DefaultSwitch
+{
+dup where{
+pop pop
+}{
+false def
+}ifelse
+}bind def
+/=string 256 string def
+/=only{
+//=string cvs print
+}bind def
+/HexDigits(0123456789ABCDEF)readonly def
+/PrintHex
+{8{
+dup -28 bitshift 15 and//HexDigits exch 1 getinterval//=only exec
+4 bitshift
+}repeat
+pop
+}bind def
+/PDFR_DEBUG DefaultSwitch
+/PDFR_DUMP DefaultSwitch
+/PDFR_STREAM DefaultSwitch
+/TTFDEBUG DefaultSwitch
+/RotatePages DefaultSwitch
+/FitPages DefaultSwitch
+/CenterPages DefaultSwitch
+/SetPageSize DefaultSwitch
+/error
+{
+counttomark 1 sub -1 0{
+index dup type/arraytype eq{==}{=only}ifelse
+}for
+()=
+cleartomark
+....Undefined
+}bind def
+//SetPageSize{
+//RotatePages//FitPages or//CenterPages or{
+mark(/RotatePages, /FitPages and CenterPages are not allowed with /SetPageSize)//error exec
+}if
+}
+{
+//FitPages//CenterPages and{
+mark(CenterPages is not allowed with /FitPages)//error exec
+}if
+}
+ifelse
+/knownget
+{
+2 copy known{
+get true
+}{
+pop pop false
+}ifelse
+}bind def
+/IsUpper
+{dup(A)0 get ge exch(Z)0 get le and
+}bind def
+/cpa2g{
+dup length array
+0 1 2 index length 1 sub{
+dup 3 index exch get cp2g
+3 copy put pop pop
+}for
+exch pop
+}bind def
+/cpd2g{
+dup length dict exch{
+cp2g 2 index 3 1 roll put
+}forall
+}bind def
+/cps2g{
+dup length string copy
+}bind def
+/cp2gprocs
+<</arraytype//cpa2g/dicttype//cpd2g/packedarraytype//cpa2g/stringtype//cps2g >>
+def
+/cp2g{
+dup gcheck not{
+dup//cp2gprocs 1 index type
+2 copy known{
+get currentglobal 3 1 roll true setglobal exec exch setglobal
+1 index wcheck not{readonly}if
+1 index xcheck{cvx}if
+exch pop
+}{
+pop pop
+}ifelse
+}if
+}bind def
+/BlockBuffer 65535 string def
+/PDFReader currentdict def
+/ObjectRegistryMaxLength 50000 def
+/ObjectRegistry 10 dict def
+ObjectRegistry
+begin
+0 ObjectRegistryMaxLength dict def
+end
+/CurrentObject null def
+/DoneDocumentStructure false def
+/GraphicState 20 dict begin
+/InitialTextMatrix matrix def
+/InitialMatrix matrix currentmatrix def
+currentdict end def
+/TempMatrix matrix def
+/GraphicStateStack 20 array def
+/GraphicStateStackPointer 0 def
+/InitialTextMatrixStack 20 array def
+/InitialTextMatrixStackPointer 0 def
+/PDFColorSpaces 50 dict def
+/InstalledFonts 50 dict def
+/MacRomanEncodingInverse null def
+currentglobal false setglobal
+userdict/PDFR_InitialGS gstate put
+userdict/PDFR_Patterns 50 dict put
+userdict/FuncDataReader 10 dict put
+setglobal
+/InitialExtGState 20 dict begin
+/BG2 currentblackgeneration cp2g def
+/UCR2 currentundercolorremoval cp2g def
+/TR2 currentglobal false setglobal[currentcolortransfer]exch setglobal cp2g def
+/HT currenthalftone cp2g def
+currentdict end readonly def
+/InitialGraphicState 20 dict begin
+/FontSize 0 def
+/CharacterSpacing 0 def
+/TextLeading 0 def
+/TextRenderingMode 0 def
+/WordSpacing 0 def
+currentdict end readonly def
+/SimpleColorSpaceNames 15 dict begin
+/DeviceGray true def
+/DeviceRGB true def
+/DeviceCMYK true def
+currentdict end readonly def
+/1_24_bitshift_1_sub 1 24 bitshift 1 sub def
+/ReadFontProcs 10 dict def
+/GetObject
+{
+dup ObjectRegistryMaxLength idiv
+//PDFReader/ObjectRegistry get exch knownget{
+exch knownget
+}{
+pop false
+}ifelse
+}bind def
+/PutObject
+{
+1 index ObjectRegistryMaxLength idiv
+//PDFReader/ObjectRegistry get 1 index knownget{
+exch pop
+3 1 roll put
+}{
+//PDFReader/ObjectRegistry get dup
+begin
+1 index ObjectRegistryMaxLength dict def
+end
+exch get
+3 1 roll put
+}ifelse
+}bind def
+/Register
+{
+1 index GetObject{
+dup xcheck{
+4 3 roll pop
+//PDFR_DEBUG{
+(Have a daemon for )print 2 index ==
+}if
+exec
+}{
+dup null ne{
+mark(The object )4 index(is already defined : )4 index//error exec
+}{
+pop
+}ifelse
+3 2 roll
+exec
+}ifelse
+}{
+3 2 roll
+exec
+}ifelse
+PutObject
+}bind def
+/IsRegistered
+{
+GetObject{
+null ne
+}{
+false
+}ifelse
+}bind def
+/GetRegistered
+{
+dup GetObject not{
+exch mark exch(Object )exch( isn't defined before needed (1).)//error exec
+}if
+dup xcheck{
+exch mark exch(Object )exch( isn't defined before needed (2).)//error exec
+}{
+dup null eq{
+exch mark exch(Object )exch( isn't defined before needed (3).)//error exec
+}if
+exch pop
+}ifelse
+}bind def
+/StandardFontNames<<
+/Times-Roman true
+/Helvetica true
+/Courier true
+/Symbol true
+/Times-Bold true
+/Helvetica-Bold true
+/Courier-Bold true
+/ZapfDingbats true
+/Times-Italic true
+/Helvetica-Oblique true
+/Courier-Oblique true
+/Times-BoldItalic true
+/Helvetica-BoldOblique true
+/Courier-BoldOblique true
+>>def
+/CleanAllResources
+{//PDFR_DEBUG{
+(CleanAllResources beg)=
+}if
+//PDFReader/ObjectRegistry get{
+dup length 0 exch 1 exch 1 sub{
+2 copy get dup xcheck{
+pop pop
+}{
+dup null eq{
+pop pop
+}{
+dup type/dicttype eq{/.Global known}{pop false}ifelse{
+pop
+}{
+//PDFR_DEBUG{
+(Dropping )print dup =
+}if
+1 index exch/DroppedObject put
+}ifelse
+}ifelse
+}ifelse
+}for
+pop
+}forall
+FontDirectory length dict begin
+FontDirectory{
+pop
+dup//StandardFontNames exch known not{
+dup null def
+}if
+pop
+}forall
+currentdict
+end{
+pop
+//PDFR_DEBUG{
+(Undefining font )print dup =
+}if
+undefinefont
+}forall
+//PDFR_DEBUG{
+(CleanAllResources end)=
+}if
+}bind def
+/PrintReference
+{
+//PDFR_DEBUG{
+({ )print
+dup{
+=only( )print
+}forall
+( })=
+}if
+}bind def
+/R
+{
+0 ne{
+exch mark exch(A referred object generation )exch( isn't 0.)//error exec
+}if
+[
+exch//GetRegistered/exec load
+]cvx
+//PrintReference exec
+}bind def
+/IsObjRef
+{
+dup type/arraytype eq{
+dup length 3 eq{
+dup xcheck exch
+dup 0 get type/integertype eq 3 2 roll and exch
+dup 1 get//GetRegistered eq 3 2 roll and exch
+2 get/exec load eq and
+}{
+pop false
+}ifelse
+}{
+pop false
+}ifelse
+}bind def
+/DoNothing
+{
+}def
+/RunTypeDaemon
+{
+dup type/dicttype eq{
+dup/Type//knownget exec{
+//PDFReader/TypeDaemons get exch
+//knownget exec{
+exec
+}if
+}if
+}if
+}bind def
+/obj
+{
+//PDFR_DEBUG{
+(Defining )print 1 index =only( )print dup =only( obj)=
+}if
+0 ne{
+exch mark exch(An object generation )exch( isn't 0.)//error exec
+}if
+}bind def
+/endobj
+{
+//PDFR_DEBUG{
+(endobj )=
+}if
+count 1 eq{
+pop
+}{
+dup type/dicttype eq{
+dup/.endobj_daemon//knownget exec{
+//PDFR_DEBUG{(.endobj_daemon for )print 2 index =}if
+exec
+}if
+}if
+dup type/dicttype eq{dup/ImmediateExec known}{false}ifelse{
+pop pop
+}{
+//PDFR_DEBUG{
+(Storing )print 1 index =
+}if
+//RunTypeDaemon exec
+//DoNothing 3 1 roll//Register exec
+}ifelse
+}ifelse
+}bind def
+/StoreBlock
+{
+//PDFR_DEBUG{
+(StoreBlock )print//PDFReader/BlockCount get =only(, Length = )print dup length =
+}if
+dup length string copy
+//PDFReader/BlockCount get exch
+//PDFReader/CurrentObject get 3 1 roll
+put
+//PDFReader/BlockCount get 1 add
+//PDFReader exch/BlockCount exch put
+}bind def
+/CheckLength
+{dup type/integertype ne{
+mark(Object length isn't an integer.)//error exec
+}if
+}bind def
+/ResolveD
+{
+3 copy pop get
+dup//IsObjRef exec{
+//PDFR_DEBUG{
+(Resolving )print//PrintReference exec
+}if
+exec
+exch exec
+}{
+exch pop
+}ifelse
+dup 4 1 roll
+put
+}bind def
+/ResolveA
+{2 index 2 index get
+dup//IsObjRef exec{
+exec
+exch exec
+3 copy put
+}{
+exch pop
+}ifelse
+exch pop exch pop
+}bind def
+/StoreStream
+{
+dup//PDFReader exch/CurrentObject exch put
+//PDFReader/BlockCount 0 put
+dup/Length//CheckLength//ResolveD exec
+//PDFR_DEBUG{
+(StoreStream Length = )print dup =
+}if
+currentfile exch()/SubFileDecode filter
+{dup//BlockBuffer readstring{
+//StoreBlock exec
+}{
+//StoreBlock exec
+exit
+}ifelse
+}loop
+pop
+//PDFReader/CurrentObject null put
+//PDFR_DEBUG{
+(StoreStream end.)=
+}if
+}bind def
+/MakeStreamDumper
+{
+//PDFR_DEBUG{
+(MakeStreamDumper beg.)=
+}if
+currentglobal exch dup gcheck setglobal
+[exch
+1 dict dup/c 0 put exch
+1024 string
+{readstring pop
+(StreamDumper )print 1 index/c get =string cvs print( )print
+dup length =string cvs print( <)print dup print(>\n)print
+dup length
+3 2 roll
+dup/c get
+3 2 roll
+add/c exch put
+}/exec load
+]
+cvx 0()/SubFileDecode filter
+exch setglobal
+//PDFR_DEBUG{
+(MakeStreamDumper end.)=
+}if
+}bind def
+/ShortFilterNames 15 dict begin
+/AHx/ASCIIHexDecode def
+/A85/ASCII85Decode def
+/LZW/LZWDecode def
+/Fl/FlateDecode def
+/RL/RunLengthDecode def
+/CCF/CCITTFaxDecode def
+/DCT/DCTDecode def
+currentdict end readonly def
+/AppendFilters
+{
+//PDFR_DEBUG{
+(AppendFilters beg.)=
+}if
+dup 3 1 roll
+/Filter//knownget exec{
+dup type/nametype eq{
+dup//ShortFilterNames exch//knownget exec{
+exch pop
+}if
+2 index/DecodeParms//knownget exec{
+exch
+}if
+filter
+}{
+dup 0 exch 1 exch length 1 sub{
+2 copy get
+dup//ShortFilterNames exch//knownget exec{
+exch pop
+}if
+3 1 roll
+4 index/DecodeParms//knownget exec{
+exch get
+}{
+pop null
+}ifelse
+dup null eq{
+pop 3 1 roll filter exch
+}{
+3 1 roll
+4 1 roll filter exch
+}ifelse
+}for
+pop
+}ifelse
+//PDFR_DEBUG//PDFR_DUMP and{
+//MakeStreamDumper exec
+}if
+}if
+exch pop
+//PDFR_DEBUG{
+(AppendFilters end.)=
+}if
+}bind def
+/ExecuteStream
+{
+dup//PDFReader exch/CurrentObject exch put
+dup/Length//CheckLength//ResolveD exec
+//PDFR_DEBUG{
+(ExecuteStream id = )print 2 index =only( Length = )print dup =
+}if
+//PDFReader/InitialGraphicState get
+//PDFReader/GraphicState get copy pop
+//PDFReader/Operators get begin
+currentfile exch()/SubFileDecode filter
+1 index//AppendFilters exec
+cvx mark exch
+exec
+counttomark 0 ne{
+mark(Data left on ostack after an immediate stream execution.)//error exec
+}if
+cleartomark
+end
+//PDFR_DEBUG{
+(ExecuteStream end.)=
+}if
+//PDFReader/CurrentObject null put
+dup/IsPage known{
+dup/Context get/NumCopies//knownget exec{
+1 sub{
+copypage
+}repeat
+}if
+EPS2Write not{showpage}if
+}if
+}bind def
+/stream
+{
+//PDFR_DEBUG{
+1 index =only( stream)=
+}if
+1 index GetObject{
+dup xcheck{
+exec
+1 index null PutObject
+}{
+pop
+}ifelse
+}if
+dup/ImmediateExec known{
+dup/GlobalExec//knownget exec{
+currentglobal 4 1 roll
+setglobal
+//ExecuteStream exec
+3 2 roll setglobal
+}{
+//ExecuteStream exec
+}ifelse
+}{
+//StoreStream exec
+}ifelse
+dup/.CleanResources//knownget exec{
+/All eq{
+//CleanAllResources exec
+}if
+}if
+}bind def
+/HookFont
+{
+//PDFR_DEBUG{
+(Loaded the font )print dup/FontName get =
+}if
+{
+dup/FontFileType get dup/Type1 eq exch/MMType1 eq or{
+dup/FontName get
+//PDFReader/RemoveFontNamePrefix get exec
+findfont
+exit
+}if
+dup/FontFileType get/TrueType eq{
+//PDFReader/MakeType42 get exec
+//PDFR_DEBUG{
+(Font dict <<)=
+dup{
+1 index/sfnts eq{
+exch pop
+(/sfnts [)print
+{
+(-string\()print length//=only exec(\)- )=
+}forall
+(])=
+}{
+exch//=only exec( )print ==
+}ifelse
+}forall
+(>>)=
+}if
+dup/FontName get exch definefont
+exit
+}if
+mark(FontHook has no proc for )2 index/FontFileType get//error exec
+}loop
+/Font exch put
+}bind def
+/endstream
+{
+}bind def
+/xref
+{
+//PDFR_DEBUG{
+(xref)=
+//PDFR_DUMP{
+//PDFReader/ObjectRegistry get ==
+}if
+}if
+end
+count 0 ne{
+mark(Excessive data on estack at the end of the interpretation.)//error exec
+}if
+currentfile 1(%%EOF)/SubFileDecode filter
+flushfile
+cleardictstack
+}bind def
+/ResolveDict
+{dup{
+pop 1 index exch
+//DoNothing//ResolveD exec
+pop
+}forall
+pop
+}bind def
+/SetupPageView
+{
+//PDFR_DEBUG{
+(SetupPageView beg)=
+}if
+//DSC_OPDFREAD not{
+//GraphicState/InitialMatrix get setmatrix
+}if
+/MediaBox get aload pop
+3 index neg 3 index neg translate
+3 -1 roll sub 3 1 roll exch sub exch
+userdict/.HWMargins//knownget exec{
+aload pop
+}{
+currentpagedevice/.HWMargins//knownget exec{
+aload pop
+}{
+0 0 0 0
+}ifelse
+}ifelse
+currentpagedevice/PageSize get aload pop
+3 -1 roll sub 3 1 roll exch sub exch
+exch 3 index sub exch 3 index sub
+//SetPageSize{
+//PDFR_DEBUG{
+(Setting page size to )print 1 index//=only exec( )print dup =
+}if
+pop pop 3 index 3 index 2 copy
+currentglobal false setglobal 3 1 roll
+currentpagedevice dup/PageSize known{
+/PageSize get aload pop
+}{
+0 0
+}ifelse
+round cvi 2 index round cvi eq
+exch round cvi 3 index round cvi eq and
+{
+//PDFR_DEBUG{(PageSize matches request)== flush}if
+pop pop
+}{
+/MediaRequested where{
+//PDFR_DEBUG{(MediaRequested is true, check against new request)== flush}if
+/MediaRequested get aload pop
+round cvi 2 index round cvi eq
+exch round cvi 3 index round cvi eq and
+{
+//PDFR_DEBUG{(MediaRequested same as current request, ignore)== flush}if
+pop pop false
+}{
+//PDFR_DEBUG{(MediaRequested different to current request)== flush}if
+true
+}ifelse
+}{
+//PDFR_DEBUG{(No MediaRequested yet)== flush}if
+true
+}ifelse
+{
+//PDFR_DEBUG{(Setting pagesize)== flush}if
+2 array astore
+dup/MediaRequested exch def
+<< exch/PageSize exch >>setpagedevice
+}if
+}ifelse
+userdict/PDFR_InitialGS gstate put
+setglobal
+}if
+//RotatePages{
+2 copy gt 6 index 6 index gt ne{
+1 index 5 index le 1 index 5 index le and not
+}{
+false
+}ifelse
+}{
+false
+}ifelse
+{//CenterPages{
+//PDFR_DEBUG{
+(Rotating page, and then centering it)==
+}if
+90 rotate
+0 5 index neg translate
+5 index 1 index exch sub 2 div
+2 index 6 index sub 2 div neg
+translate
+}{
+//FitPages{
+1 index 5 index div 1 index 7 index div
+2 copy gt{
+exch
+}if
+pop dup scale
+}if
+90 rotate
+0 5 index neg translate
+}ifelse
+}{
+//CenterPages{
+//PDFR_DEBUG{
+(Ccentering page)==
+}if
+1 index 6 index sub 2 div
+1 index 6 index sub 2 div
+translate
+}{
+//FitPages{
+1 index 6 index div 1 index 6 index div
+2 copy gt{
+exch
+}if
+pop dup scale
+}if
+}ifelse
+}ifelse
+pop pop
+translate
+pop pop
+//PDFR_DEBUG{
+(SetupPageView end)=
+}if
+}bind def
+/PageContentsDaemon
+{
+//PDFR_DEBUG{
+(Executing PageContentsDaemon for )print 2 index =
+}if
+1 index exch/Context exch put
+dup/ImmediateExec true put
+dup/IsPage true put
+SetPageSize{dup/Context get//SetupPageView exec}if
+}bind def
+/FontFileDaemon
+{
+//PDFR_DEBUG{
+(Executing FontFileDaemon for )print 2 index =
+}if
+dup/FontFileType get
+2 index exch
+dup//ReadFontProcs exch//knownget exec{
+exch pop exec
+}{
+mark(FontFile reader for )2 index( isn't implemented yet.)//error exec
+}ifelse
+//PDFR_DEBUG{
+(FontFileDaemon end)=
+}if
+pop
+}bind def
+/FontDescriptorDaemon
+{
+//PDFR_DEBUG{
+(Executing FontDescriptorDaemon for )print 2 index =
+}if
+2 copy/FontResource exch put
+/Subtype get 1 index exch/FontFileType exch put
+}bind def
+/UnPDFEscape{
+dup dup length string cvs
+dup(#)search{
+{
+pop
+(16#--)2 index 0 2 getinterval
+1 index 3 2 getinterval copy pop
+cvi
+0 exch put
+0
+1 index 2 1 index length 2 sub getinterval
+3 copy putinterval
+length
+3 copy exch put
+getinterval
+(#)search not{
+pop exit
+}if
+}loop
+(\0)search pop exch pop exch pop
+cvn
+exch pop
+}{
+pop pop
+}ifelse
+}bind def
+/TypeDaemons<<
+/Page
+{//PDFR_DEBUG{
+(Recognized a page.)=
+}if
+dup/Contents//knownget exec{
+0 get//DoNothing exch
+[
+3 index//PageContentsDaemon/exec load
+]cvx
+//Register exec
+}{
+(fixme: page with no Contents won't be printed.)=
+}ifelse
+}bind
+/FontDescriptor
+{//PDFR_DEBUG{
+(Recognized a font descriptor.)=
+}if
+dup/FontName//knownget exec{
+1 index/FontName 3 -1 roll//UnPDFEscape exec put
+}if
+dup dup/FontFile known{/FontFile}{/FontFile2}ifelse
+//knownget exec{
+0 get//DoNothing exch
+[
+3 index//FontFileDaemon/exec load
+]cvx
+//Register exec
+}{
+(Font descriptor )print 1 index =only( has no FontFile.)=
+}ifelse
+}bind
+/Font
+{//PDFR_DEBUG{
+(Recognized a font resource.)=
+}if
+dup/BaseFont//knownget exec{
+//UnPDFEscape exec 2 copy/BaseFont exch put
+//PDFReader/RemoveFontNamePrefix get exec
+currentglobal exch
+dup/Font resourcestatus{
+pop pop
+//PDFReader/GetInstalledFont get exec pop
+}{
+pop
+}ifelse
+setglobal
+}if
+dup/FontDescriptor//knownget exec{
+0 get
+dup//IsRegistered exec{
+//PDFR_DEBUG{
+(already registered )print dup =
+}if
+pop
+}{
+//DoNothing exch
+[
+3 index//FontDescriptorDaemon/exec load
+]cvx
+//Register exec
+}ifelse
+}if
+}bind
+>>def
+/MakeStreamReader
+{dup
+[
+exch
+//PDFR_DEBUG{
+(Stream proc )
+/print load
+//PDFR_STREAM{
+(<)
+/print load
+}if
+}if
+1 dict dup/i -1 put
+/dup load
+/i
+/get load
+1
+/add load
+/dup load
+3
+1
+/roll load
+/i
+/exch load
+/put load
+//knownget
+/exec load
+/not load
+{()}
+/if load
+//PDFR_DEBUG{
+//PDFR_STREAM{
+/dup load
+/print load
+(>)
+/print load
+}if
+( end of stream proc.\n)
+/print load
+}if
+]cvx
+//PDFR_DEBUG{
+(Stream reader )print dup ==
+}if
+0()/SubFileDecode filter
+exch//AppendFilters exec
+}bind def
+/RunDelayedStream
+{
+//GraphicState/InitialTextMatrix get
+//InitialTextMatrixStack//PDFReader/InitialTextMatrixStackPointer get
+2 copy get null eq{
+2 copy currentglobal true setglobal matrix exch setglobal put
+}if
+get copy pop
+//PDFReader/InitialTextMatrixStackPointer 2 copy get 1 add put
+//MakeStreamReader exec
+mark exch
+cvx exec
+counttomark 0 ne{
+mark(Data left on ostack after a delayed stream execution.)//error exec
+}if
+cleartomark
+//PDFReader/InitialTextMatrixStackPointer 2 copy get 1 sub put
+//InitialTextMatrixStack//PDFReader/InitialTextMatrixStackPointer get get
+//GraphicState/InitialTextMatrix get
+copy pop
+}bind def
+//ReadFontProcs begin
+/Type1
+{//PDFR_DEBUG{
+(ReadFontProcs.Type1)=
+}if
+dup/.endobj_daemon[4 index//HookFont/exec load]cvx put
+dup/ImmediateExec true put
+/GlobalExec true put
+}bind def
+/MMType1//Type1 def
+/TrueType
+{//PDFR_DEBUG{
+(ReadFontProcs.TrueType)=
+}if
+dup/.endobj_daemon[4 index//HookFont/exec load]cvx put
+pop
+}bind def
+end
+/.opdloadttfontdict 50 dict def
+.opdloadttfontdict begin
+/maxstring 65400 def
+end
+/.InsertionSort
+{
+/CompareProc exch def
+/Array exch def
+1 1 Array length 1 sub
+{
+/Ix exch def
+/Value1 Array Ix get def
+/Jx Ix 1 sub def
+{
+Jx 0 lt{
+exit
+}if
+/Value2 Array Jx get def
+Value1 Value2 CompareProc{
+exit
+}if
+Array Jx 1 add Value2 put
+/Jx Jx 1 sub def
+}loop
+Array Jx 1 add Value1 put
+}for
+Array
+}bind def
+/putu16{
+3 copy -8 bitshift put
+exch 1 add exch 16#ff and put
+}bind def
+/putu32{
+3 copy -16 bitshift putu16
+exch 2 add exch 16#ffff and putu16
+}bind def
+/.readtable{
+dup dup 1 and add string
+dup 0 4 -1 roll getinterval
+3 -1 roll exch
+dup()ne{readstring}if pop pop
+}bind def
+/.readbigtable{
+dup maxstring lt{
+.readtable
+}{
+currentuserparams/VMReclaim get -2 vmreclaim
+[4 2 roll{
+dup maxstring le{exit}if
+1 index maxstring string readstring pop 3 1 roll maxstring sub
+}loop .readtable]
+exch vmreclaim
+}ifelse
+}bind def
+/ReadTTF
+{
+.opdloadttfontdict begin
+/TTFontFile exch def
+/TableDir TTFontFile 12 string readstring pop def
+/tables TTFontFile TableDir 4 getu16 16 mul string readstring pop def
+/tabarray tables length 16 idiv array def
+TableDir 0 4 getinterval(ttcf)eq{
+QUIET not{(Can't handle TrueType font Collections.)=}if
+/.loadttfonttables cvx/invalidfont signalerror
+}{
+0 16 tables length 1 sub{
+dup
+tables exch 16 getinterval
+exch 16 div cvi exch
+tabarray 3 1 roll put
+}for
+}ifelse
+tabarray{exch 8 getu32 exch 8 getu32 gt}.InsertionSort pop
+/Read TableDir length tables length add def
+/tabs[
+tabarray{
+dup 8 getu32
+Read sub
+dup 0 gt{
+dup string TTFontFile exch readstring pop pop
+Read add/Read exch def
+}{
+pop
+}ifelse
+12 getu32
+dup Read add
+/Read exch def
+TTFontFile exch .readbigtable
+}forall
+]def
+end
+}bind def
+/GetLocaType
+{
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+0 4 getinterval(head)eq{
+tabs exch get
+50 gets16
+/LocaType exch def
+exit
+}{
+pop
+}ifelse
+}for
+}bind def
+/GetNumGlyphs
+{
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+0 4 getinterval(maxp)eq{
+tabs exch get
+4 getu16
+/NumGlyphs exch def
+exit
+}{
+pop
+}ifelse
+}for
+}bind def
+/StringToLoca
+{
+/LocaIndex exch def
+/StringOffset 0 def
+{
+dup length StringOffset gt{
+dup
+LocaType 1 eq{
+StringOffset getu32
+LocaArray LocaIndex 3 -1 roll put
+/LocaIndex LocaIndex 1 add def
+/StringOffset StringOffset 4 add
+def
+}{
+StringOffset getu16 2 mul
+LocaArray length LocaIndex gt{
+LocaArray LocaIndex 3 -1 roll put
+}{
+pop
+}ifelse
+/LocaIndex LocaIndex 1 add def
+/StringOffset StringOffset 2 add
+def
+}ifelse
+}{
+pop
+LocaIndex
+exit
+}ifelse
+}loop
+}bind def
+/GetSortedLoca
+{
+NumGlyphs 1 add array/LocaArray exch def
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+0 4 getinterval(loca)eq{
+tabs exch get
+exit
+}{
+pop
+}ifelse
+}for
+dup type/stringtype eq{
+0 StringToLoca pop
+}{
+0 exch
+{
+exch StringToLoca
+}forall
+pop
+}ifelse
+LocaArray{gt}.InsertionSort pop
+}bind def
+/GetWorkingString
+{
+WorkString 0
+GlyfArray GlyfStringIndex get
+putinterval
+/WorkBytes GlyfArray GlyfStringIndex get length def
+/GlyfStringIndex GlyfStringIndex 1 add def
+}bind def
+/GetWorkingBytes
+{
+/BytesToRead exch def
+WorkString 0 BytesToRead getinterval
+dup length string copy
+WorkString BytesToRead WorkBytes BytesToRead sub getinterval
+dup length string copy
+WorkString 0 3 -1 roll putinterval
+/WorkBytes WorkBytes BytesToRead sub def
+}bind def
+/GetGlyfBytes
+{
+/ToRead exch def
+WorkBytes 0 eq{
+GetWorkingString
+}if
+WorkBytes ToRead ge{
+ToRead string dup 0
+ToRead GetWorkingBytes putinterval
+}{
+ToRead string
+dup
+0
+WorkString 0 WorkBytes getinterval
+putinterval
+dup
+WorkBytes
+ToRead WorkBytes sub
+GetWorkingString
+GetWorkingBytes
+putinterval
+}ifelse
+}bind def
+/SplitGlyf
+{
+/GlyfArray exch def
+/DestArray GlyfArray length 2 mul array def
+/DestArrayIndex 0 def
+/LastLoca 0 def
+/NextLocaIndex 0 def
+/LastLocaIndex 0 def
+/GlyfStringIndex 0 def
+/WorkString maxstring string def
+/WorkBytes 0 def
+{
+LocaArray NextLocaIndex get
+LastLoca sub maxstring gt
+{
+LocaArray LastLocaIndex get LastLoca sub
+GetGlyfBytes
+DestArray DestArrayIndex 3 -1 roll put
+/DestArrayIndex DestArrayIndex 1 add def
+LocaArray LastLocaIndex get/LastLoca exch def
+}{
+/LastLocaIndex NextLocaIndex def
+/NextLocaIndex NextLocaIndex 1 add def
+NextLocaIndex NumGlyphs gt
+{
+WorkBytes
+GlyfStringIndex GlyfArray length lt{
+GlyfArray GlyfStringIndex get length
+add string dup
+0
+WorkString 0 WorkBytes getinterval
+putinterval
+dup
+WorkBytes
+GetWorkingString
+WorkString 0 WorkBytes getinterval
+putinterval
+}{
+pop
+WorkString 0 WorkBytes getinterval
+}ifelse
+dup length string copy
+DestArray DestArrayIndex 3 -1 roll put
+exit
+}if
+}ifelse
+}loop
+DestArray
+}bind def
+/ProcessTTData
+{
+.opdloadttfontdict begin
+0 1 tabarray length 1 sub{
+/ix exch def
+tabarray ix get
+12 getu32 dup maxstring le{
+dup 4 mod 0 ne{
+4 div cvi 1 add 4 mul string/newstring exch def
+/oldstring tabs ix get def
+newstring 0 oldstring putinterval
+0 1 newstring length oldstring length sub 1 sub{
+newstring exch oldstring length add 0 put
+}for
+tabs ix newstring put
+}{
+pop
+}ifelse
+}{
+dup 4 mod 0 ne{
+dup maxstring idiv maxstring mul sub
+4 idiv 1 add 4 mul string/newstring exch def
+tabs ix get
+dup length 1 sub dup/iy exch def get/oldstring exch def
+newstring 0 oldstring putinterval
+0 1 newstring length oldstring length sub 1 sub{
+newstring exch oldstring length add 0 put
+}for
+tabs ix get iy newstring put
+}{
+pop
+}ifelse
+}ifelse
+}for
+0 1 tabarray length 1 sub{
+dup tabarray exch get
+dup 12 getu32 maxstring gt{
+0 4 getinterval dup(glyf)eq{
+pop
+GetLocaType
+GetNumGlyphs
+GetSortedLoca
+dup tabs exch get
+SplitGlyf
+tabs 3 1 roll put
+}{
+(Warning, table )print print( > 64Kb\n)print
+pop
+}ifelse
+}{
+pop
+pop
+}ifelse
+}for
+end
+}bind def
+/Makesfnts
+{
+.opdloadttfontdict begin
+0
+tabs{
+dup type/stringtype eq{
+pop
+1 add
+}{
+{
+type/stringtype eq{
+1 add
+}if
+}forall
+}ifelse
+}forall
+1 add
+/TTOffset
+TableDir length
+tabarray length 16 mul add
+def
+0
+tabarray{
+exch dup 1 add
+3 1 roll
+dup
+tabs exch get
+dup type/stringtype eq{
+length
+2 index exch
+TTOffset
+dup 3 1 roll add
+/TTOffset exch def
+8 exch putu32
+exch tabarray 3 1 roll
+put
+}{
+0 exch
+{
+dup type/stringtype eq{
+length add
+}{
+pop
+}ifelse
+}forall
+2 index exch
+TTOffset
+dup 3 1 roll add
+/TTOffset exch def
+8 exch putu32
+exch tabarray 3 1 roll
+put
+}ifelse
+}forall
+pop
+array
+dup 0
+TableDir length
+tables length add
+string
+dup 0 TableDir putinterval
+dup 12 tables putinterval
+put
+dup
+/ix 1 def
+tabs{
+dup type/stringtype eq{
+ix exch
+put dup
+/ix ix 1 add def
+}{
+{
+dup type/stringtype eq{
+ix exch put dup
+/ix ix 1 add def
+}{
+pop
+}ifelse
+}forall
+}ifelse
+}forall
+pop
+end
+}bind def
+/MakeType42
+{
+//PDFR_DEBUG{
+(MakeType42 beg)=
+}if
+10 dict begin
+/FontName 1 index/FontName get def
+/FontType 42 def
+/FontMatrix[1 0 0 1 0 0]def
+/FontBBox 1 index/FontBBox get def
+dup/FontResource get
+dup/Encoding known{
+//PDFReader/ObtainEncoding get exec
+/Encoding get
+}{
+pop null
+}ifelse
+/PDFEncoding exch def
+/CharStrings 2 index//PDFReader/MakeTTCharStrings get exec def
+/sfnts 2 index//MakeStreamReader exec
+ReadTTF
+ProcessTTData
+Makesfnts
+def
+/Encoding StandardEncoding def
+/PaintType 0 def
+currentdict end
+//PDFR_DEBUG{
+(MakeType42 end)=
+}if
+}bind def
+/GetInstalledFont
+{
+dup//InstalledFonts exch knownget{
+exch pop
+}{
+dup findfont dup 3 1 roll
+//InstalledFonts 3 1 roll put
+}ifelse
+}bind def
+/RemoveFontNamePrefix
+{//=string cvs true
+0 1 5{
+2 index exch get//IsUpper exec not{
+pop false exit
+}if
+}for
+{(+)search{
+pop pop
+}if
+}if
+cvn
+}bind def
+/CheckFont
+{dup/Type get/Font ne{
+mark(Resource )3 index( must have /Type/Font .)//error exec
+}if
+}bind def
+/CheckEncoding
+{dup type/nametype ne{
+dup/Type get/Encoding ne{
+mark(Resource )3 index( must have /Type/Encoding .)//error exec
+}if
+}if
+}bind def
+/ObtainEncoding
+{dup/Encoding known{
+dup dup/Encoding//CheckEncoding//ResolveD exec
+dup type dup/arraytype eq exch/packedarraytype eq or{
+pop pop
+}{
+dup type/nametype eq{
+/Encoding findresource
+}{
+dup/BaseEncoding//knownget exec not{
+/StandardEncoding
+}if
+/Encoding findresource
+exch
+/Differences//knownget exec{
+exch dup length array copy exch
+0 exch
+{
+dup type/integertype eq{
+exch pop
+}{
+3 copy put pop
+1 add
+}ifelse
+}forall
+pop
+}if
+}ifelse
+/Encoding exch put
+}ifelse
+}{
+dup/Encoding/StandardEncoding/Encoding findresource put
+}ifelse
+}bind def
+/ObtainMetrics
+{dup/Widths//knownget exec{
+1 index/Encoding get
+256 dict
+3 index/Subtype get/TrueType eq{
+1000
+}{
+1
+}ifelse
+4 index/MissingWidth//knownget exec not{
+0
+}if
+5 index/FirstChar//knownget exec not{
+0
+}if
+6 5 roll
+dup 0 exch 1 exch length 1 sub{
+2 copy get
+exch 3 index add
+7 index exch get
+dup dup null ne exch/.notdef ne and{
+6 index 3 1 roll exch
+6 index div
+3 copy pop//knownget exec{
+0 eq
+}{
+true
+}ifelse
+{put
+}{
+pop pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}for
+pop pop pop pop exch pop
+1 index exch/Metrics exch put
+}{
+dup/MissingWidth//knownget exec{
+256 dict
+2 index/Encoding get{
+dup null ne{
+3 copy 3 2 roll put
+}if
+pop
+}forall
+exch pop
+1 index exch/Metrics exch put
+}if
+}ifelse
+}bind def
+/NotDef
+{
+FontMatrix aload pop pop pop exch pop exch pop
+1 exch div exch
+1 exch div exch
+1 index 0 setcharwidth
+0 setlinewidth
+0 0 moveto
+2 copy rlineto
+1 index 0 rlineto
+neg exch neg exch rlineto
+closepath stroke
+}bind def
+/SaveResourcesToStack
+{
+[
+//PDFReader/OldResources known{
+//PDFReader/OldResources get
+}{
+null
+}ifelse
+//PDFReader/CurrentObject get/Context get/Resources get
+]
+//PDFReader/OldResources 3 -1 roll put
+}bind def
+/RestoreResourcesFromStack
+{
+//PDFReader/OldResources get dup
+0 get//PDFReader/OldResources 3 -1 roll put
+1 get//PDFReader/CurrentObject get/Context get/Resources 3 -1 roll put
+}bind def
+/BuildChar
+{//PDFR_DEBUG{
+(BuildChar )print dup//=only exec( )print
+}if
+exch begin
+Encoding exch get
+//PDFR_DEBUG{
+dup =
+}if
+dup null eq{
+pop//NotDef exec
+}
+{
+CharProcs exch//knownget exec
+{
+currentfont/Font get/Resources//knownget exec{
+exec
+SaveResourcesToStack
+//PDFReader/CurrentObject get/Context get
+/Resources 3 -1 roll put
+//RunDelayedStream exec
+RestoreResourcesFromStack
+}{
+//RunDelayedStream exec
+}ifelse
+}
+{
+//NotDef exec
+}ifelse
+}ifelse
+end
+}bind def
+/printdict
+{(<<)=
+{exch = ==}forall
+(>>)=
+}bind def
+/printfont
+{
+dup{
+exch dup =
+dup/Encoding eq{
+pop =
+}{
+dup/FontInfo eq exch/Private eq or{
+//printdict exec
+}{
+==
+}ifelse
+}ifelse
+}forall
+}bind def
+/ScaleMetrics
+{1 index{
+2 index div
+3 index
+3 1 roll put
+}forall
+pop
+}bind def
+/ResolveAndSetFontAux
+{exch dup
+//PDFReader/CurrentObject get/Context get/Resources get
+/Font//DoNothing//ResolveD exec
+exch//CheckFont//ResolveD exec
+dup/Font//knownget exec{
+exch pop exch pop
+}{
+{
+dup/Subtype get dup dup/Type1 eq exch/TrueType eq or exch/MMType1 eq or{
+exch pop
+dup/BaseFont get
+//RemoveFontNamePrefix exec
+//PDFR_DEBUG{
+(Font )print dup =
+}if
+1 index/FontDescriptor known{
+//PDFR_DEBUG{
+(Font from a font descriptor.)=
+}if
+1 index
+/FontDescriptor//DoNothing//ResolveD exec
+/Font//knownget exec{
+exch pop
+}{
+//PDFR_DEBUG{
+(Font descriptor has no Font resolved.)=
+}if
+//GetInstalledFont exec
+}ifelse
+}{
+//GetInstalledFont exec
+}ifelse
+exch
+dup/Encoding known not{
+1 index/Encoding get 1 index exch/Encoding exch put
+}if
+//ObtainEncoding exec
+//ObtainMetrics exec
+exch
+dup length dict copy
+dup 2 index/Encoding get
+/Encoding exch put
+1 index/Metrics//knownget exec{
+2 index/Subtype get/TrueType ne{
+1 index/FontMatrix get 0 get
+dup 0 eq{
+pop
+1 index/FontMatrix get 1 get
+dup 0 eq{pop 1}if
+}if
+0.001 div
+//ScaleMetrics exec
+}{
+1 index/sfnts known not{
+1 index/FontMatrix get 0 get
+dup 0 eq{
+pop
+1 index/FontMatrix get 1 get
+dup 0 eq{pop 1}if
+}if
+//ScaleMetrics exec
+}if
+}ifelse
+1 index exch/Metrics exch put
+}if
+1 index/BaseFont get
+exch
+dup/FID undef
+dup/UniqueID undef
+definefont
+dup 3 1 roll
+/Font exch put
+exit
+}if
+dup/Subtype get/Type3 eq{
+//ObtainEncoding exec
+2 copy exch/FontName exch put
+dup/CharProcs get//ResolveDict exec
+dup/FontType 3 put
+dup/BuildChar//BuildChar put
+dup dup/Font exch put
+dup 3 1 roll
+definefont
+2 copy ne{
+2 copy/Font exch put
+}if
+exch pop
+exit
+}if
+dup/Subtype get/Type0 eq{
+}if
+dup/Subtype get/CIDFontType0 eq{
+}if
+dup/Subtype get/CIDFontType2 eq{
+}if
+mark(Unknown font type )2 index/Subtype get//error exec
+}loop
+}ifelse
+exch scalefont setfont
+}bind def
+/ResolveAndSetFont
+{
+//ResolveAndSetFontAux exec
+}bind def
+/.knownget
+{2 copy known{
+get true
+}{
+pop pop false
+}ifelse
+}bind def
+/.min
+{2 copy lt{
+exch
+}if
+pop
+}bind def
+/.max
+{2 copy gt{
+exch
+}if
+pop
+}bind def
+/.dicttomark
+{>>
+}bind def
+/getu16{
+2 copy get 8 bitshift 3 1 roll 1 add get add
+}bind def
+/gets16{
+getu16 16#8000 xor 16#8000 sub
+}bind def
+/getu32{
+2 copy getu16 16 bitshift 3 1 roll 2 add getu16 add
+}bind def
+/gets32{
+2 copy gets16 16 bitshift 3 1 roll 2 add getu16 add
+}bind def
+/cmapformats mark
+0{
+6 256 getinterval{}forall 256 packedarray
+}bind
+2{
+/sHK_sz 2 def
+/sH_sz 8 def
+dup 2 getu16/cmapf2_tblen exch def
+dup 4 getu16/cmapf2_lang exch def
+dup 6 256 sHK_sz mul getinterval/sHKs exch def
+0
+0 1 255{
+sHKs exch
+2 mul getu16
+1 index
+1 index
+lt{exch}if pop
+}for
+/sH_len exch def
+dup 6 256 sHK_sz mul add
+cmapf2_tblen 1 index sub getinterval
+/sH_gIA exch def
+/cmapf2_glyph_array 65535 array def
+/.cmapf2_putGID{
+/cmapf2_ch cmapf2_ch_hi 8 bitshift cmapf2_ch_lo add def
+firstCode cmapf2_ch_lo le
+cmapf2_ch_lo firstCode entryCount add lt
+and{
+sH_offset idRangeOffset add
+cmapf2_ch_lo firstCode sub 2 mul
+add 6 add
+sH_gIA exch getu16
+dup 0 gt{
+idDelta add
+cmapf2_glyph_array exch cmapf2_ch exch put
+}{
+pop
+}ifelse
+}{
+}ifelse
+}def
+16#00 1 16#ff{
+/cmapf2_ch_hi exch def
+sHKs cmapf2_ch_hi sHK_sz mul getu16
+/sH_offset exch def
+sH_gIA sH_offset sH_sz getinterval
+dup 0 getu16/firstCode exch def
+dup 2 getu16/entryCount exch def
+dup 4 gets16/idDelta exch def
+dup 6 getu16/idRangeOffset exch def
+pop
+sH_offset 0 eq{
+/cmapf2_ch_lo cmapf2_ch_hi def
+/cmapf2_ch_hi 0 def
+.cmapf2_putGID
+}{
+16#00 1 16#ff{
+/cmapf2_ch_lo exch def
+.cmapf2_putGID
+}for
+}ifelse
+}for
+pop
+0 1 cmapf2_glyph_array length 1 sub{
+dup cmapf2_glyph_array exch get
+null eq{cmapf2_glyph_array exch 0 put}{pop}ifelse
+}for
+cmapf2_glyph_array
+}bind
+4{
+/etab exch def
+/nseg2 etab 6 getu16 def
+14/endc etab 2 index nseg2 getinterval def
+2 add
+nseg2 add/startc etab 2 index nseg2 getinterval def
+nseg2 add/iddelta etab 2 index nseg2 getinterval def
+nseg2 add/idroff etab 2 index nseg2 getinterval def
+pop
+/firstcode startc 0 getu16 16#ff00 and dup 16#f000 ne{pop 0}if def
+/lastcode firstcode def
+/striptopbyte false def
+/putglyph{
+glyphs code 3 -1 roll put/code code 1 add def
+}bind def
+/numcodes 0 def/glyphs 0 0 2 nseg2 3 sub{
+/i2 exch def
+/scode startc i2 getu16 def
+/ecode endc i2 getu16 def
+ecode lastcode gt{
+/lastcode ecode def
+}if
+}for pop
+firstcode 16#f000 ge lastcode firstcode sub 255 le and{
+lastcode 255 and
+/striptopbyte true def
+}{
+lastcode
+}ifelse
+1 add
+array def
+glyphs length 1024 ge{
+.array1024z 0 1024 glyphs length 1023 sub{glyphs exch 2 index putinterval}for
+glyphs dup length 1024 sub 3 -1 roll
+putinterval
+}{
+0 1 glyphs length 1 sub{glyphs exch 0 put}for
+}ifelse
+/numcodes 0 def/code 0 def
+0 2 nseg2 3 sub{
+/i2 exch def
+/scode startc i2 getu16 def
+/ecode endc i2 getu16 def
+numcodes scode firstcode sub
+exch sub 0 .max dup/code exch code exch add def
+ecode scode sub 1 add add numcodes add/numcodes exch def
+/delta iddelta i2 gets16 def
+TTFDEBUG{
+(scode=)print scode =only
+( ecode=)print ecode =only
+( delta=)print delta =only
+( droff=)print idroff i2 getu16 =
+}if
+idroff i2 getu16 dup 0 eq{
+pop scode delta add 65535 and 1 ecode delta add 65535 and
+striptopbyte{
+/code scode 255 and def
+}{
+/code scode def
+}ifelse
+{putglyph}for
+}{
+/gloff exch 14 nseg2 3 mul add 2 add i2 add add def
+striptopbyte{
+/code scode 255 and def
+}{
+/code scode def
+}ifelse
+0 1 ecode scode sub{
+2 mul gloff add etab exch getu16
+dup 0 ne{delta add 65535 and}if putglyph
+}for
+}ifelse
+}for glyphs/glyphs null def
+}bind
+6{
+dup 6 getu16/firstcode exch def dup 8 getu16/ng exch def
+firstcode ng add array
+0 1 firstcode 1 sub{2 copy 0 put pop}for
+dup firstcode ng getinterval
+0 1 ng 1 sub{
+dup 2 mul 10 add 4 index exch getu16 3 copy put pop pop
+}for pop exch pop
+}bind
+.dicttomark readonly def
+/cmaparray{
+dup 0 getu16 cmapformats exch .knownget{
+TTFDEBUG{
+(cmap: format )print 1 index 0 getu16 = flush
+}if exec
+}{
+(Can't handle format )print 0 getu16 = flush
+0 1 255{}for 256 packedarray
+}ifelse
+TTFDEBUG{
+(cmap: length=)print dup length = dup ==
+}if
+}bind def
+/postremap mark
+/Cdot/Cdotaccent
+/Edot/Edotaccent
+/Eoverdot/Edotaccent
+/Gdot/Gdotaccent
+/Ldot/Ldotaccent
+/Zdot/Zdotaccent
+/cdot/cdotaccent
+/edot/edotaccent
+/eoverdot/edotaccent
+/gdot/gdotaccent
+/ldot/ldotaccent
+/zdot/zdotaccent
+.dicttomark readonly def
+/get_from_stringarray
+{1 index type/stringtype eq{
+get
+}{
+exch{
+2 copy length ge{
+length sub
+}{
+exch get exit
+}ifelse
+}forall
+}ifelse
+}bind def
+/getinterval_from_stringarray
+{
+2 index type/stringtype eq{
+getinterval
+}{
+string exch 0
+4 3 roll{
+dup length
+dup 4 index lt{
+3 index exch sub
+exch pop 3 1 roll exch pop
+}{
+dup 3 1 roll
+4 index sub
+5 index length 4 index sub
+2 copy gt{exch}if pop
+dup 3 1 roll
+5 index exch getinterval
+5 index 4 index 3 index
+getinterval
+copy pop
+exch pop add exch pop 0 exch
+dup 3 index length ge{exit}if
+}ifelse
+}forall
+pop pop
+}ifelse
+}bind def
+/string_array_size
+{dup type/stringtype eq{
+length
+}{
+0 exch{length add}forall
+}ifelse
+}bind def
+/postformats mark
+16#00010000{
+pop MacGlyphEncoding
+}
+16#00020000{
+dup dup type/arraytype eq{0 get}if length 36 lt{
+TTFDEBUG{(post format 2.0 invalid.)= flush}if
+pop[]
+}{
+/postglyphs exch def
+/post_first postglyphs dup type/arraytype eq{0 get}if def
+post_first 32 getu16/numglyphs exch def
+/glyphnames numglyphs 2 mul 34 add def
+/postpos glyphnames def
+/total_length postglyphs//string_array_size exec def
+numglyphs array 0 1 numglyphs 1 sub{
+postpos total_length ge{
+1 numglyphs 1 sub{1 index exch/.notdef put}for
+exit
+}if
+postglyphs postpos//get_from_stringarray exec
+postglyphs postpos 1 add 2 index//getinterval_from_stringarray exec cvn
+exch postpos add 1 add/postpos exch def
+2 index 3 1 roll
+put
+}for
+/postnames exch def
+numglyphs array 0 1 numglyphs 1 sub{
+dup 2 mul 34 add postglyphs exch 2//getinterval_from_stringarray exec
+dup 0 get 8 bitshift exch 1 get add dup 258 lt{
+MacGlyphEncoding exch get
+}{
+dup 32768 ge{
+pop/.notdef
+}{
+258 sub dup postnames length ge{
+TTFDEBUG{( *** warning: glyph index past end of 'post' table)= flush}if
+pop
+exit
+}if
+postnames exch get
+postremap 1 index .knownget{exch pop}if
+}ifelse
+}ifelse
+2 index 3 1 roll put
+}for
+}
+ifelse
+}bind
+16#00030000{
+pop[]
+}bind
+.dicttomark readonly def
+/first_post_string
+{
+post dup type/arraytype eq{0 get}if
+}bind def
+/.getpost{
+/glyphencoding post null eq{
+TTFDEBUG{(post missing)= flush}if[]
+}{
+postformats first_post_string 0 getu32 .knownget{
+TTFDEBUG{
+(post: format )print
+first_post_string
+dup 0 getu16 =only(,)print 2 getu16 = flush
+}if
+post exch exec
+}{
+TTFDEBUG{(post: unknown format )print post 0 getu32 = flush}if[]
+}ifelse
+}ifelse def
+}bind def
+/MacRomanEncoding[
+StandardEncoding 0 39 getinterval aload pop
+/quotesingle
+StandardEncoding 40 56 getinterval aload pop
+/grave
+StandardEncoding 97 31 getinterval aload pop
+/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
+/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
+/ecircumflex/edieresis/iacute/igrave
+/icircumflex/idieresis/ntilde/oacute
+/ograve/ocircumflex/odieresis/otilde
+/uacute/ugrave/ucircumflex/udieresis
+/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
+/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
+/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
+/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
+/questiondown/exclamdown/logicalnot/.notdef
+/florin/.notdef/.notdef/guillemotleft
+/guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright
+/quoteleft/quoteright/divide/.notdef
+/ydieresis/Ydieresis/fraction/currency
+/guilsinglleft/guilsinglright/fi/fl
+/daggerdbl/periodcentered/quotesinglbase/quotedblbase
+/perthousand/Acircumflex/Ecircumflex/Aacute
+/Edieresis/Egrave/Iacute/Icircumflex
+/Idieresis/Igrave/Oacute/Ocircumflex
+/.notdef/Ograve/Uacute/Ucircumflex
+/Ugrave/dotlessi/circumflex/tilde
+/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
+]/Encoding defineresource pop
+/TTParser<<
+/Pos 0
+/post null
+>>def
+/readu8
+{read not{
+mark(Insufficient data in the stream.)//error exec
+}if
+}bind def
+/readu16
+{dup//readu8 exec 8 bitshift exch//readu8 exec or
+}bind def
+/reads16
+{//readu16 exec 16#8000 xor 16#8000 sub
+}bind def
+/readu32
+{dup//readu16 exec 16 bitshift exch//readu16 exec or
+}bind def
+/reads32
+{dup//reads16 exec 16 bitshift exch//readu16 exec or
+}bind def
+/SkipToPosition
+{dup//TTParser/Pos get
+exch//TTParser exch/Pos exch put
+sub
+//PDFR_DEBUG{
+(Skipping )print dup//=only exec( bytes.)=
+}if
+dup 0 eq{
+pop pop
+}{
+dup 3 1 roll
+()/SubFileDecode filter
+exch
+{1 index//BlockBuffer readstring pop length
+dup 0 eq{pop exch pop exit}if
+sub
+}loop
+0 ne{
+mark(Insufficient data in the stream for SkipToPosition.)//error exec
+}if
+}ifelse
+}bind def
+/TagBuffer 4 string def
+/ParseTTTableDirectory
+{//PDFR_DEBUG{
+(ParseTTTableDirectory beg)=
+}if
+15 dict begin
+dup//readu32 exec 16#00010000 ne{
+mark(Unknown True Type version.)//error exec
+}if
+dup//readu16 exec/NumTables exch def
+dup//readu16 exec/SearchRange exch def
+dup//readu16 exec/EntrySelector exch def
+dup//readu16 exec/RangeShift exch def
+//PDFR_DEBUG{
+(NumTables = )print NumTables =
+}if
+NumTables{
+dup//TagBuffer readstring not{
+mark(Could not read TT tag.)//error exec
+}if
+cvn
+[2 index//readu32 exec pop
+2 index//readu32 exec
+3 index//readu32 exec
+]
+//PDFR_DEBUG{
+2 copy exch//=only exec( )print ==
+}if
+def
+}repeat
+pop
+//TTParser/Pos 12 NumTables 16 mul add put
+currentdict end
+//PDFR_DEBUG{
+(ParseTTTableDirectory end)=
+}if
+}bind def
+/ParseTTcmap
+{//PDFR_DEBUG{
+(ParseTTcmap beg)=
+}if
+/cmap get aload pop
+3 1 roll
+7 dict begin
+//PDFR_DEBUG{
+(Current position = )print//TTParser/Pos get =
+(cmap position = )print dup =
+}if
+1 index exch//SkipToPosition exec
+//TTParser/Pos get/TablePos exch def
+dup//readu16 exec pop
+dup//readu16 exec/NumEncodings exch def
+//PDFR_DEBUG{
+(NumEncodings = )print NumEncodings =
+}if
+null
+NumEncodings{
+1 index//readu32 exec
+2 index//readu32 exec
+3 array dup 3 2 roll 0 exch put
+2 index null ne{
+dup 0 get 3 index 0 get sub
+3 index exch 1 exch put
+}if
+dup 4 3 roll pop 3 1 roll
+def
+}repeat
+dup 0 get
+4 3 roll exch sub
+1 exch put
+//PDFR_DEBUG{
+currentdict{
+exch dup type/integertype eq{
+//PrintHex exec( )print ==
+}{
+pop pop
+}ifelse
+}forall
+}if
+4 NumEncodings 8 mul add/HeaderLength exch def
+//TTParser/Pos//TTParser/Pos get HeaderLength add put
+0
+NumEncodings{
+16#7FFFFFF null
+currentdict{
+1 index type/integertype eq{
+exch pop dup 0 get
+dup 5 index gt{
+dup 4 index lt{
+4 1 roll
+exch pop exch pop
+}{
+pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}forall
+//PDFR_DEBUG{
+(Obtaining subtable for )print dup ==
+}if
+3 2 roll pop
+3 copy pop
+TablePos add//SkipToPosition exec
+3 copy exch pop 1 get
+//TTParser/Pos//TTParser/Pos get 3 index add put
+string
+readstring not{
+mark(Can't read a cmap subtable.)//error exec
+}if
+2 exch put
+}repeat
+pop pop
+currentdict end
+//PDFR_DEBUG{
+(ParseTTcmap end)=
+}if
+}bind def
+/GetTTEncoding
+{//PDFR_DEBUG{
+(GetTTEncoding beg)=
+}if
+get
+exch pop
+2 get
+10 dict begin
+/TTFDEBUG//PDFR_DEBUG def
+//cmaparray exec
+end
+//PDFR_DEBUG{
+(GetTTEncoding end)=
+dup ==
+}if
+}bind def
+/InverseEncoding
+{
+256 dict begin
+dup length 1 sub -1 0{
+2 copy get
+exch
+1 index currentdict exch//knownget exec{
+dup type/arraytype eq{
+aload length 1 add array astore
+}{
+2 array astore
+}ifelse
+}if
+def
+}for
+pop
+currentdict end
+}bind def
+/GetMacRomanEncodingInverse
+{//PDFReader/MacRomanEncodingInverse get
+dup null eq{
+pop
+MacRomanEncoding//InverseEncoding exec
+dup//PDFReader exch/MacRomanEncodingInverse exch put
+}if
+}bind def
+/PutCharStringSingle
+{
+dup 3 index length lt{
+2 index exch get
+dup 0 ne{
+def
+}{
+pop pop
+}ifelse
+}{
+pop pop
+}ifelse
+}bind def
+/PutCharString
+{1 index type/nametype ne{
+mark(Bad charstring name)//error exec
+}if
+dup type/arraytype eq{
+{
+3 copy//PutCharStringSingle exec
+pop pop
+}forall
+pop
+}{
+//PutCharStringSingle exec
+}ifelse
+}bind def
+/ComposeCharStrings
+{
+//PDFR_DEBUG{
+(ComposeCharStrings beg)=
+}if
+1 index length 1 add dict begin
+/.notdef 0 def
+exch
+//TTParser/post get
+dup null ne{
+exch
+1 index length 1 sub -1 0{
+dup 3 index exch get exch
+dup 0 eq 2 index/.notdef eq or{
+pop pop
+}{
+def
+}ifelse
+}for
+}if
+exch pop exch
+{
+//PutCharString exec
+}forall
+pop
+currentdict end
+//PDFR_DEBUG{
+(ComposeCharStrings end)=
+}if
+}bind def
+/ParseTTpost
+{
+//PDFR_DEBUG{
+(ParseTTpost beg)=
+}if
+/post get aload pop
+3 1 roll
+//PDFR_DEBUG{
+(Current position = )print//TTParser/Pos get =
+(post position = )print dup =
+}if
+1 index exch//SkipToPosition exec
+//TTParser/Pos//TTParser/Pos get 4 index add put
+exch dup 65535 le{
+string
+readstring not{
+mark(Insufficient data in the stream for ParseTTpost.)//error exec
+}if
+}{
+[3 1 roll
+dup 16384 div floor cvi
+exch 1 index 16384 mul
+sub exch
+1 sub 0 1 3 -1 roll
+{
+1 add index
+16384 string readstring not{
+mark(Insufficient data in the stream for ParseTTpost.)//error exec
+}if
+}for
+counttomark -2 roll
+string readstring not{
+mark(Insufficient data in the stream for ParseTTpost.)//error exec
+}if
+]
+}ifelse
+1 dict begin
+/post exch def
+//.getpost exec
+//TTParser/post glyphencoding put
+//PDFR_DEBUG{
+(ParseTTpost end)=
+glyphencoding ==
+}if
+end
+}bind def
+/MakeTTCharStrings
+{//MakeStreamReader exec
+dup dup//ParseTTTableDirectory exec
+//TTParser/post null put
+dup/post//knownget exec{
+0 get
+1 index/cmap get 0 get
+lt{
+2 copy//ParseTTpost exec
+//ParseTTcmap exec
+}{
+2 copy//ParseTTcmap exec
+3 1 roll
+//ParseTTpost exec
+}ifelse
+}{
+//ParseTTcmap exec
+}ifelse
+{
+dup 16#00030001 known{
+//PDFR_DEBUG{
+(Using the TT cmap encoding for Windows Unicode.)=
+}if
+16#00030001//GetTTEncoding exec
+AdobeGlyphList//ComposeCharStrings exec
+exit
+}if
+dup 16#00010000 known{
+//PDFR_DEBUG{
+(Using the TT cmap encoding for Macintosh Roman.)=
+}if
+16#00010000//GetTTEncoding exec
+PDFEncoding dup null eq{
+pop//GetMacRomanEncodingInverse exec
+}{
+//InverseEncoding exec
+}ifelse
+//ComposeCharStrings exec
+exit
+}if
+dup 16#00030000 known{
+//PDFR_DEBUG{
+(Using the TT cmap encoding 3.0 - not sure why Ghostscript writes it since old versions.)=
+}if
+16#00030000//GetTTEncoding exec
+PDFEncoding dup null eq{
+pop//GetMacRomanEncodingInverse exec
+}{
+//InverseEncoding exec
+}ifelse
+//ComposeCharStrings exec
+exit
+}if
+mark(True Type cmap has no useful encodings.)//error exec
+}loop
+//PDFR_DEBUG{
+(CharStrings <<)=
+dup{
+exch
+dup type/nametype eq{
+//=only exec
+}{
+==
+}ifelse
+( )print ==
+}forall
+(>>)=
+}if
+}bind def
+/ScaleVal
+{
+aload pop
+1 index sub
+3 2 roll mul add
+}bind def
+/ScaleArg
+{
+aload pop
+1 index sub
+3 1 roll
+sub exch div
+}bind def
+/ScaleArgN
+{
+dup length 2 sub -2 0{
+2
+2 index 3 1 roll getinterval
+3 2 roll
+exch//ScaleArg exec
+1 index length 2 idiv 1 add 1 roll
+}for
+pop
+}bind def
+/ComputeFunction_10
+{
+//PDFR_DEBUG{
+(ComputeFunction_10 beg )print 1 index//=only exec( stack=)print count =
+}if
+exch
+dup 1 eq{
+pop dup length 1 sub get
+}{
+1 index length 1 sub mul
+dup dup floor sub
+dup 0 eq{
+pop cvi get
+}{
+3 1 roll floor cvi
+2 getinterval
+aload pop
+2 index mul 3 2 roll 1 exch sub 3 2 roll mul add
+}ifelse
+}ifelse
+//PDFR_DEBUG{
+(ComputeFunction_10 end )print dup//=only exec( stack=)print count =
+}if
+}bind def
+/ComputeFunction_n0
+{
+//PDFR_DEBUG{
+(ComputeFunction_n0 beg N=)print dup//=only exec( stack=)print count =
+}if
+dup 0 eq{
+pop
+}{
+dup 2 add -1 roll
+dup 3 index length 1 sub ge{
+pop 1 sub
+exch dup length 1 sub get exch
+//PDFReader/ComputeFunction_n0 get exec
+}{
+dup floor cvi dup
+4 index exch get
+3 index dup
+5 add copy
+6 2 roll
+pop pop pop pop
+1 sub
+//PDFReader/ComputeFunction_n0 get exec
+3 2 roll pop
+exch
+4 3 roll exch
+4 add 2 roll 1 add
+3 2 roll exch get
+exch 1 sub
+//PDFReader/ComputeFunction_n0 get exec
+1 index mul
+3 1 roll
+1 exch sub mul add
+}ifelse
+}ifelse
+//PDFR_DEBUG{
+(ComputeFunction_n0 end )print dup//=only exec( stack=)print count =
+}if
+}bind def
+/FunctionToProc_x01
+{
+dup/Domain get exch
+dup/Data get 0 get exch
+/Size get length
+[4 1 roll
+//PDFR_DEBUG{
+{(function beg, stack =)print count//=only exec(\n)print}/exec load
+5 2 roll
+}if
+dup 1 gt{
+{mark exch
+3 add 2 roll
+//ScaleArgN exec
+counttomark dup
+3 add -2 roll
+pop exch
+//ComputeFunction_n0 exec
+}/exec load
+}{
+pop
+3 1/roll load//ScaleArg/exec load
+/exch load
+//ComputeFunction_10/exec load
+}ifelse
+//PDFR_DEBUG{
+(function end, stack =)/print load/count load//=only/exec load(\n)/print load
+}if
+]cvx
+//PDFR_DEBUG{
+(Made a procedure for the 1-result function :)=
+dup ==
+}if
+}bind def
+/FunctionProcDebugBeg
+{(FunctionProcDebugBeg )print count =
+}bind def
+/FunctionProcDebugEnd
+{(FunctionProcDebugEnd )print count =
+}bind def
+/FunctionToProc_x0n
+{
+PDFR_DEBUG{
+(FunctionToProc_x0n beg m=)print dup =
+}if
+1 index/Size get length exch
+dup 7 mul 2 add array
+PDFR_DEBUG{
+dup 0//FunctionProcDebugBeg put
+}{
+dup 0//DoNothing put
+}ifelse
+dup 1/exec load put
+dup 2 5 index/Domain get put
+2 index 1 eq{
+dup 3//ScaleArg put
+}{
+dup 3//ScaleArgN put
+}ifelse
+dup 4/exec load put
+1 index 1 sub 0 exch 1 exch{
+dup 7 mul 5 add
+1 index 4 index 1 sub ne{
+dup 3 index exch 6 index put 1 add
+dup 3 index exch/copy load put 1 add
+}if
+[
+6 index/Data get 3 index get
+6 index 1 eq{
+//ComputeFunction_10/exec load
+}{
+6 index
+//ComputeFunction_n0/exec load
+}ifelse
+]cvx
+3 index exch 2 index exch put 1 add
+2 index 1 index/exec load put 1 add
+1 index 4 index 1 sub ne{
+2 index 1 index 6 index 1 add put 1 add
+2 index 1 index 1 put 1 add
+2 index 1 index/roll load put
+}if
+pop pop
+}for
+PDFR_DEBUG{
+dup dup length 2 sub//FunctionProcDebugEnd put
+}{
+dup dup length 2 sub//DoNothing put
+}ifelse
+dup dup length 1 sub/exec load put
+cvx exch pop exch pop exch pop
+//PDFR_DEBUG{
+(Made a procedure for the n-argument function :)=
+dup ==
+}if
+PDFR_DEBUG{
+(FunctionToProc_x0n end)=
+}if
+}bind def
+/MakeTableRec
+{
+0
+exec
+}bind def
+/MakeTable
+{//PDFR_DEBUG{
+(MakeTable beg )print count =
+}if
+1 index/Size get exch
+1 sub dup
+3 1 roll
+get
+array
+1 index 0 eq{
+exch pop exch pop
+}{
+dup length 1 sub -1 0{
+3 index 3 index//MakeTableRec exec
+2 index 3 1 roll put
+}for
+exch pop exch pop
+}ifelse
+//PDFR_DEBUG{
+(MakeTable end )print count =
+}if
+}bind def
+//MakeTableRec 0//MakeTable put
+/StoreSample
+{
+1 sub
+dup 0 eq{
+pop
+}{
+-1 1{
+I exch get get
+}for
+}ifelse
+I 0 get 3 2 roll put
+}bind def
+/ReadSample32
+{
+4{
+File read not{
+mark(Insufficient data for function.)//error exec
+}if
+}repeat
+pop
+3 1 roll exch
+256 mul add 256 mul add
+//1_24_bitshift_1_sub div
+}bind def
+/ReadSample
+{
+Buffer BitsLeft BitsPerSample
+{2 copy ge{
+exit
+}if
+3 1 roll
+8 add 3 1 roll
+256 mul File read not{
+mark(Insufficient data for function.)//error exec
+}if
+add
+3 1 roll
+}loop
+sub dup
+2 index exch
+neg bitshift
+2 copy exch bitshift
+4 3 roll exch sub
+/Buffer exch def
+exch/BitsLeft exch def
+Div div
+}bind def
+/ReadSamplesRec
+{0
+exec
+}bind def
+/ReadSamples
+{
+//PDFR_DEBUG{
+(ReadSamples beg )print count =
+}if
+dup 1 eq{
+pop
+0 1 Size 0 get 1 sub{
+I exch 0 exch put
+0 1 M 1 sub{
+dup Range exch 2 mul 2 getinterval
+//PDFR_DEBUG{
+(Will read a sample ... )print
+}if
+BitsPerSample 32 eq{//ReadSample32}{//ReadSample}ifelse
+exec exch//ScaleVal exec
+//PDFR_DEBUG{
+(value=)print dup =
+}if
+exch Table exch get
+Size length//StoreSample exec
+}for
+}for
+}{
+1 sub
+dup Size exch get 0 exch 1 exch 1 sub{
+I exch 2 index exch put
+dup//ReadSamplesRec exec
+}for
+pop
+}ifelse
+//PDFR_DEBUG{
+(ReadSamples end )print count =
+}if
+}bind def
+//ReadSamplesRec 0//ReadSamples put
+/StreamToArray
+{//PDFR_DEBUG{
+(StreamToArray beg )print count =
+}if
+userdict/FuncDataReader get begin
+dup/BitsPerSample get/BitsPerSample exch def
+dup/Size get length/N exch def
+dup/Range get length 2 idiv/M exch def
+1 BitsPerSample bitshift 1 sub/Div exch def
+/BitsLeft 0 def
+/Buffer 0 def
+dup/Size get/Size exch def
+dup/Range get/Range exch def
+/File 1 index//MakeStreamReader exec def
+/I[N{0}repeat]def
+M array
+dup length 1 sub -1 0{
+2 index N//MakeTable exec
+2 index 3 1 roll put
+}for
+/Table exch def
+N//ReadSamples exec
+PDFR_DEBUG{
+(Table = )print Table ==
+}if
+/Data Table put
+end
+//PDFR_DEBUG{
+(StreamToArray end )print count =
+}if
+}bind def
+/FunctionToProc10
+{
+PDFR_DEBUG{
+(FunctionToProc10 beg, Range = )print dup/Range get ==
+}if
+dup/Order//knownget exec{
+1 ne{
+(Underimplemented function Type 0 Order 3.)=
+}if
+}if
+dup//StreamToArray exec
+dup/Range get length dup 2 eq{
+pop//FunctionToProc_x01 exec
+}{
+2 idiv//FunctionToProc_x0n exec
+}ifelse
+PDFR_DEBUG{
+(FunctionToProc10 end)=
+}if
+}bind def
+/FunctionToProc12
+{begin
+currentdict/C0//knownget exec{length 1 eq}{true}ifelse{
+N
+currentdict/C0//knownget exec{
+0 get
+}{
+0
+}ifelse
+currentdict/C1//knownget exec{
+0 get
+}{
+1
+}ifelse
+1 index sub
+[4 1 roll
+{
+4 2 roll
+exp mul add
+}aload pop
+]cvx
+}{
+[
+0 1 C0 length 1 sub{
+N
+C0 2 index get
+C1 3 index get
+4 3 roll pop
+1 index sub
+[/dup load
+5 2 roll
+{
+4 2 roll
+exp mul add
+exch
+}aload pop
+]cvx
+/exec load
+}for
+/pop load
+]cvx
+}ifelse
+end
+//PDFR_DEBUG{
+(FunctionType2Proc : )print dup ==
+}if
+}bind def
+/FunctionToProc14
+{//MakeStreamReader exec cvx exec
+//PDFR_DEBUG{
+(FunctionType4Proc : )print dup ==
+}if
+}bind def
+/FunctionToProc1
+{
+dup/FunctionType get
+{dup 0 eq{
+pop//FunctionToProc10 exec exit
+}if
+dup 2 eq{
+pop//FunctionToProc12 exec exit
+}if
+dup 4 eq{
+pop//FunctionToProc14 exec exit
+}if
+mark exch(Function type )exch( isn't implemented yet.)//error exec
+}loop
+}bind def
+/FunctionToProc20
+{
+PDFR_DEBUG{
+(FunctionToProc20, Range = )print dup/Range get ==
+}if
+dup/Order//knownget exec{
+1 ne{
+(Underimplemented function Type 0 Order 3.)=
+}if
+}if
+dup//StreamToArray exec
+dup/Range get length dup 2 eq{
+pop//FunctionToProc_x01 exec
+}{
+2 idiv//FunctionToProc_x0n exec
+}ifelse
+}bind def
+/FunctionToProc
+{//PDFR_DEBUG{
+(FunctionToProc beg )print count =
+}if
+dup type/dicttype eq{
+dup/Domain get length 2 idiv
+{
+dup 1 eq{
+pop//FunctionToProc1 exec exit
+}if
+dup 2 eq{
+pop//FunctionToProc20 exec exit
+}if
+mark(Functions with many arguments aren't implemented yet.)//error exec
+}loop
+}{
+//PDFR_DEBUG{(Not a function dict, assume already a procedure.)print}if
+}ifelse
+//PDFR_DEBUG{
+(FunctionToProc end )print count =
+}if
+}bind def
+/spotfunctions mark
+/Round{
+abs exch abs 2 copy add 1 le{
+dup mul exch dup mul add 1 exch sub
+}{
+1 sub dup mul exch 1 sub dup mul add 1 sub
+}ifelse
+}
+/Diamond{
+abs exch abs 2 copy add .75 le{
+dup mul exch dup mul add 1 exch sub
+}{
+2 copy add 1.23 le{
+.85 mul add 1 exch sub
+}{
+1 sub dup mul exch 1 sub dup mul add 1 sub
+}ifelse
+}ifelse
+}
+/Ellipse{
+abs exch abs 2 copy 3 mul exch 4 mul add 3 sub dup 0 lt{
+pop dup mul exch .75 div dup mul add 4 div 1 exch sub
+}{
+dup 1 gt{
+pop 1 exch sub dup mul exch 1 exch sub
+.75 div dup mul add 4 div 1 sub
+}{
+.5 exch sub exch pop exch pop
+}ifelse
+}ifelse
+}
+/EllipseA{dup mul .9 mul exch dup mul add 1 exch sub}
+/InvertedEllipseA{dup mul .9 mul exch dup mul add 1 sub}
+/EllipseB{dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub}
+/EllipseC{dup mul .9 mul exch dup mul add 1 exch sub}
+/InvertedEllipseC{dup mul .9 mul exch dup mul add 1 sub}
+/Line{exch pop abs neg}
+/LineX{pop}
+/LineY{exch pop}
+/Square{abs exch abs 2 copy lt{exch}if pop neg}
+/Cross{abs exch abs 2 copy gt{exch}if pop neg}
+/Rhomboid{abs exch abs 0.9 mul add 2 div}
+/DoubleDot{2{360 mul sin 2 div exch}repeat add}
+/InvertedDoubleDot{2{360 mul sin 2 div exch}repeat add neg}
+/SimpleDot{dup mul exch dup mul add 1 exch sub}
+/InvertedSimpleDot{dup mul exch dup mul add 1 sub}
+/CosineDot{180 mul cos exch 180 mul cos add 2 div}
+/Double{exch 2 div exch 2{360 mul sin 2 div exch}repeat add}
+/InvertedDouble{
+exch 2 div exch 2{360 mul sin 2 div exch}repeat add neg
+}
+.dicttomark readonly def
+/CheckColorSpace
+{
+dup type/arraytype ne{
+mark(Resource )3 index( must be an array.)//error exec
+}if
+}bind def
+/SubstitutePDFColorSpaceRec
+{0
+exec
+}bind def
+/SubstitutePDFColorSpace
+{
+{
+dup 0 get/Pattern eq{
+dup length 1 gt{
+dup dup 1//CheckColorSpace//ResolveA exec
+dup type/nametype ne{
+//SubstitutePDFColorSpaceRec exec
+}if
+1 exch put
+}if
+exit
+}if
+dup 0 get/Indexed eq{
+exit
+}if
+dup 0 get/Separation eq{
+dup dup 2//CheckColorSpace//ResolveA exec
+dup type/nametype ne{
+//SubstitutePDFColorSpaceRec exec
+}if
+2 exch put
+exit
+}if
+dup 0 get/CalGray eq{
+1 get
+dup/Gamma//knownget exec{
+[exch[exch/exp load]cvx dup dup]
+1 index exch/DecodeLMN exch put
+}if
+[exch/CIEBasedA exch]
+exit
+}if
+dup 0 get/CalRGB eq{
+1 get
+dup/Matrix//knownget exec{
+1 index exch/MatrixLMN exch put
+}if
+dup/Gamma//knownget exec{
+aload pop
+[exch/exp load]cvx
+3 1 roll
+[exch/exp load]cvx
+3 1 roll
+[exch/exp load]cvx
+3 1 roll
+3 array astore
+1 index exch/DecodeLMN exch put
+}if
+[exch/CIEBasedABC exch]
+exit
+}if
+dup 0 get/Lab eq{
+1 get
+begin
+currentdict/Range//knownget exec{aload pop}{-100 100 -100 100}ifelse
+0 100 6 2 roll 6 array astore
+/RangeABC exch def
+/DecodeABC[{16 add 116 div}bind{500 div}bind{200 div}bind]def
+/MatrixABC[1 1 1 1 0 0 0 0 -1]def
+{dup 6 29 div ge{dup dup mul mul}{4 29 div sub 108 841 div mul}ifelse}
+/DecodeLMN[
+[3 index aload pop WhitePoint 0 get/mul load]cvx
+[4 index aload pop WhitePoint 1 get/mul load]cvx
+[5 index aload pop WhitePoint 2 get/mul load]cvx
+]def pop
+//PDFR_DEBUG{
+(Constructed from Lab <<)=
+currentdict{exch = ==}forall
+(>>)=
+}if
+[/CIEBasedABC currentdict]
+end
+exit
+pop
+}if
+dup 0 get/CIEBasedA eq{exit}if
+dup 0 get/CIEBasedABC eq{exit}if
+mark exch(Unimplemented color space )exch//error exec
+}loop
+}bind def
+//SubstitutePDFColorSpaceRec 0//SubstitutePDFColorSpace put
+/ResolveArrayElement
+{2 copy get
+dup type dup/arraytype eq exch
+/packedarraytype eq or{
+dup length 1 ge exch xcheck and{
+2 copy get
+dup 0 get type/integertype eq
+1 index 1 get type dup/arraytype
+eq exch
+/packedarraytype eq or
+and{
+exec
+2 index 4 1 roll put
+}{
+pop pop
+}ifelse
+}{
+pop
+}ifelse
+}{
+pop pop
+}ifelse
+}bind def
+/ResolveColorSpaceArrayRec
+{0
+exec
+}bind def
+/SetColorSpaceSafe
+{
+PDFR_DEBUG{
+(SetColorSpaceSafe beg)=
+}if
+currentcolorspace dup type/arraytype eq{
+1 index type/arraytype eq{
+dup length 2 index length eq{
+false exch
+dup length 0 exch 1 exch 1 sub{
+dup
+4 index exch get exch
+2 index exch get
+ne{
+exch pop true exch exit
+}if
+}for
+pop
+{
+setcolorspace
+}{
+pop
+}ifelse
+}{
+pop setcolorspace
+}ifelse
+}{
+pop setcolorspace
+}ifelse
+}{
+pop setcolorspace
+}ifelse
+PDFR_DEBUG{
+(SetColorSpaceSafe end)=
+}if
+}bind def
+/ResolveColorSpaceArray
+{
+//PDFR_DEBUG{
+(ResolveColorSpaceArray beg )print dup ==
+}if
+dup 0 get/Indexed eq{
+1//ResolveArrayElement exec
+dup dup 1 get
+dup type/arraytype eq{
+//SubstitutePDFColorSpace exec
+//ResolveColorSpaceArrayRec exec
+1 exch put
+}{
+pop pop
+}ifelse
+}if
+dup 0 get/Separation eq{
+dup dup 1 get UnPDFEscape 1 exch put
+3//ResolveArrayElement exec
+dup 3 get//FunctionToProc exec
+2 copy 3 exch put
+pop
+}if
+dup 0 get/Pattern eq{
+dup length 1 gt{
+dup 1 get dup type/arraytype eq{
+ResolveColorSpaceArray
+1 index 1 3 -1 roll put
+}{
+pop
+}ifelse
+}if
+}if
+PDFR_DEBUG{
+(Construcrted color space :)=
+dup ==
+}if
+//PDFR_DEBUG{
+(ResolveColorSpaceArray end )print dup ==
+}if
+}bind def
+//ResolveColorSpaceArrayRec 0//ResolveColorSpaceArray put
+/ResolveColorSpace
+{
+//PDFR_DEBUG{
+(ResolveColorSpace beg )print dup =
+}if
+dup//SimpleColorSpaceNames exch known not{
+dup//PDFColorSpaces exch//knownget exec{
+exch pop
+//PDFR_DEBUG{
+(ResolveColorSpace known )=
+}if
+}{
+dup
+//PDFReader/CurrentObject get/Context get/Resources get
+/ColorSpace//DoNothing//ResolveD exec
+exch//CheckColorSpace//ResolveD exec
+dup type/arraytype eq{
+//SubstitutePDFColorSpace exec
+//ResolveColorSpaceArray exec
+dup//PDFColorSpaces 4 2 roll put
+}if
+}ifelse
+}if
+//PDFR_DEBUG{
+(ResolveColorSpace end )print dup ==
+}if
+}bind def
+/CheckPattern
+{
+dup/PatternType//knownget exec{
+dup 1 ne{
+mark(Resource )4 index( is a shading, which can't be handled at level 2. )//error exec
+}if
+pop
+}if
+dup/Type knownget{
+/Pattern ne{
+mark(Resource )4 index( must have /Type/Pattern .)//error exec
+}if
+}if
+}bind def
+/PaintProc
+{/Context get
+//RunDelayedStream exec
+}bind def
+/ResolvePattern
+{
+dup
+userdict/PDFR_Patterns get
+exch//knownget exec{
+exch pop
+}{
+dup
+//PDFReader/CurrentObject get/Context get/Resources get
+/Pattern//DoNothing//ResolveD exec
+exch//CheckPattern//ResolveD exec
+dup dup/Context exch put
+dup/Resources//DoNothing//ResolveD exec pop
+dup/PaintProc//PaintProc put
+gsave userdict/PDFR_InitialGS get setgstate
+currentglobal exch false setglobal
+dup/Matrix get
+makepattern
+exch setglobal
+grestore
+dup userdict/PDFR_Patterns get
+4 2 roll
+put
+}ifelse
+}bind def
+/SetColor
+{//PDFR_DEBUG{
+(SetColor beg)=
+}if
+currentcolorspace dup type/nametype eq{
+pop setcolor
+}{
+0 get/Pattern eq{
+//ResolvePattern exec setpattern
+}{
+setcolor
+}ifelse
+}ifelse
+//PDFR_DEBUG{
+(SetColor end)=
+}if
+}bind def
+/ImageKeys 15 dict begin
+/BPC/BitsPerComponent def
+/CS/ColorSpace def
+/D/Decode def
+/DP/DecodeParms def
+/F/Filter def
+/H/Height def
+/IM/ImageMask def
+/I/Interpolate def
+/W/Width def
+currentdict end readonly def
+/ImageValues 15 dict begin
+/G/DeviceGray def
+/RGB/DeviceRGB def
+/CMYK/DeviceCMYK def
+/I/Indexed def
+/AHx/ASCIIHexDecode def
+/A85/ASCII85Decode def
+/LZW/LZWDecode def
+/Fl/FlateDecode def
+/RL/RunLengthDecode def
+/CCF/CCITTFaxDecode def
+/DCT/DCTDecode def
+currentdict end readonly def
+/GetColorSpaceRange
+{2 index/ColorSpace get
+dup type/arraytype eq{
+1 get
+}if
+exch//knownget exec{
+exch pop
+}if
+}bind def
+/DecodeArrays 15 dict begin
+/DeviceGray{[0 1]}def
+/DeviceRGB{[0 1 0 1 0 1]}def
+/DeviceCMYK{[0 1 0 1 0 1 0 1]}def
+/Indexed{
+dup/BitsPerComponent get 1 exch bitshift 1 sub[exch 0 exch]
+}def
+/Separation{[0 1]}def
+/CIEBasedA{[0 1]/RangeA//GetColorSpaceRange exec}def
+/CIEBasedABC{[0 1 0 1 0 1]/RangeABC//GetColorSpaceRange exec}def
+currentdict end readonly def
+/Substitute
+{1 index//knownget exec{
+exch pop
+}if
+}bind def
+/DebugImagePrinting
+{
+//PDFR_DEBUG{
+(Image :)=
+dup{exch//=only exec( )print ==
+}forall
+}if
+}bind def
+/CompleteImage
+{
+dup/ColorSpace known{
+dup/ColorSpace//CheckColorSpace//ResolveD exec pop
+}if
+dup/Decode known not{
+dup/ColorSpace//knownget exec{
+dup type/arraytype eq{
+0 get
+}if
+//DecodeArrays exch get exec
+}{
+[0 1]
+}ifelse
+1 index exch/Decode exch put
+}if
+dup/ImageMatrix[2 index/Width get 0 0 5 index/Height get neg
+0 7 index/Height get]put
+//DebugImagePrinting exec
+}bind def
+/CompleteInlineImage
+{
+//PDFR_DEBUG{
+(CompleteInlineImage beg)=
+}if
+dup/ImageType known not{
+dup/ImageType 1 put
+}if
+dup length dict exch{
+exch//ImageKeys//Substitute exec
+dup/Filter eq{
+exch//ImageValues//Substitute exec exch
+}if
+dup/ColorSpace eq{
+exch
+dup//ImageValues exch//knownget exec{
+exch pop
+}{
+//ResolveColorSpace exec
+}ifelse
+exch
+}if
+exch
+2 index 3 1 roll put
+}forall
+//CompleteImage exec
+dup/DataSource 2 copy get
+2 index//AppendFilters exec put
+//PDFR_DEBUG{
+(CompleteInlineImage end)=
+}if
+}bind def
+/CompleteOutlineImage
+{
+currentglobal exch dup gcheck setglobal
+//PDFR_DEBUG{
+(CompleteOutlineImage beg)=
+}if
+dup dup//MakeStreamReader exec/DataSource exch put
+dup/ImageType known not{
+//CompleteImage exec
+dup/ImageType 1 put
+dup/ColorSpace known{
+dup/ColorSpace//CheckColorSpace//ResolveD exec
+dup type/arraytype eq{
+//ResolveColorSpaceArray exec
+//SubstitutePDFColorSpace exec
+1 index exch/ColorSpace exch put
+}{
+pop
+}ifelse
+}if
+}if
+//PDFR_DEBUG{
+(CompleteOutlineImage end)=
+}if
+exch setglobal
+}bind def
+/DoImage
+{
+//PDFR_DEBUG{
+(DoImage beg)=
+}if
+gsave
+dup/ColorSpace//knownget exec{setcolorspace}if
+dup/ImageMask//knownget exec not{false}if
+{imagemask}{image}ifelse
+grestore
+//PDFR_DEBUG{
+(DoImage end)=
+}if
+}bind def
+/GSave
+{
+gsave
+//PDFReader/GraphicStateStackPointer get
+dup//GraphicStateStack exch get null eq{
+dup//GraphicStateStack exch//InitialGraphicState length dict put
+}if
+dup//GraphicStateStack exch get
+//GraphicState exch copy pop
+1 add//PDFReader exch/GraphicStateStackPointer exch put
+}bind def
+/GRestore
+{
+grestore
+//PDFReader/GraphicStateStackPointer get
+1 sub dup
+//PDFReader exch/GraphicStateStackPointer exch put
+//GraphicStateStack exch get
+//GraphicState copy pop
+}bind def
+/SetFont
+{dup//GraphicState exch/FontSize exch put
+//ResolveAndSetFont exec
+//GraphicState/FontMatrixNonHV currentfont/FontMatrix get 1 get 0 ne put
+}bind def
+/ShowText
+{//GraphicState/TextRenderingMode get 0 eq{
+//GraphicState/WordSpacing get 0
+32
+//GraphicState/CharacterSpacing get 0
+6 5 roll
+//GraphicState/FontMatrixNonHV get{
+[
+7 -2 roll pop
+5 -2 roll pop
+5 -1 roll
+{
+exch
+pop
+3 index add
+exch 2 index eq{3 index add}if
+4 1 roll
+}
+currentfont/FontMatrix get 0 get 0 ne{
+1 1 index length 1 sub getinterval cvx
+}if
+5 index
+cshow
+pop pop pop]
+xshow
+}{
+awidthshow
+}ifelse
+}{
+//GraphicState/CharacterSpacing get 0 eq
+//GraphicState/FontMatrixNonHV get not and
+//GraphicState/WordSpacing get 0 eq and{
+true charpath
+}{
+{
+exch
+pop 0
+currentpoint 5 4 roll
+( )dup 0 3 index put true charpath
+5 1 roll
+moveto rmoveto
+//GraphicState/CharacterSpacing get 0 rmoveto
+32 eq{
+//GraphicState/WordSpacing get 0 rmoveto
+}if
+}
+//GraphicState/FontMatrixNonHV get dup not exch{
+pop currentfont/FontMatrix get 0 get 0 ne
+}if{
+1 1 index length 1 sub getinterval cvx
+}if
+exch cshow
+}ifelse
+}ifelse
+}bind def
+/ShowTextBeg
+{//GraphicState/TextRenderingMode get 0 ne{
+currentpoint newpath moveto
+}if
+}bind def
+/ShowTextEnd
+{//GraphicState/TextRenderingMode get
+{dup 1 eq{
+stroke exit
+}if
+dup 2 eq{
+gsave fill grestore stroke exit
+}if
+dup 3 eq{
+currentpoint newpath moveto
+}if
+dup 4 eq{
+gsave fill grestore clip exit
+}if
+dup 5 eq{
+gsave stroke grestore clip exit
+}if
+dup 6 eq{
+gsave fill grestore gsave stroke grestore fill exit
+}if
+dup 7 eq{
+clip exit
+}if
+exit
+}loop
+pop
+}bind def
+/ShowTextWithGlyphPositioning
+{//ShowTextBeg exec
+{dup type/stringtype eq{
+//ShowText exec
+}{
+neg 1000 div//GraphicState/FontSize get mul 0 rmoveto
+}ifelse
+}forall
+//ShowTextEnd exec
+}bind def
+/CheckFont
+{dup/Type get/ExtGState ne{
+mark(Resource )3 index( must have /Type/ExtGState.)//error exec
+}if
+}bind def
+/SetTransfer
+{
+//PDFR_DEBUG{(SetTransfer beg )print count =}if
+dup type/arraytype eq 1 index xcheck not and{
+0 4 getinterval aload pop
+setcolortransfer
+}{
+settransfer
+}ifelse
+//PDFR_DEBUG{(SetTransfer end )print count =}if
+}bind def
+/CheckExtGState
+{dup/Type get/ExtGState ne{
+mark(Resource )3 index( must have /Type/ExtGState.)//error exec
+}if
+}bind def
+/CheckHalftone
+{dup/HalftoneType known not{
+mark(Resource )3 index( must have /HalftoneType.)//error exec
+}if
+}bind def
+/ResolveFunction
+{
+//PDFR_DEBUG{(ResolveFunction beg )print dup = count =}if
+2 copy get//IsObjRef exec{
+2 copy//DoNothing//ResolveD exec
+3 copy put pop
+}if
+2 copy get dup type/arraytype eq exch xcheck and not{
+2 copy get
+dup type/arraytype eq 1 index xcheck not and{
+dup length 1 sub -1 0{
+2 copy//DoNothing ResolveA
+dup/Identity eq{
+pop 2 copy{}put
+}{
+//FunctionToProc exec
+3 copy put pop
+}ifelse
+pop
+}for
+}{
+dup/Default eq{
+}{
+dup/Identity eq{
+pop{}
+}{dup type/nametype eq{
+//spotfunctions exch get
+}{
+//FunctionToProc exec
+}ifelse
+}ifelse
+}ifelse
+}ifelse
+3 copy put
+exch pop
+}{
+1 index exch get
+}ifelse
+//PDFR_DEBUG{(ResolveFunction end )print dup == count =}if
+}bind def
+/ResolveFunctionSafe
+{2 copy known{
+//ResolveFunction exec
+}if
+pop
+}bind def
+/CreateHalftoneThresholds
+{
+dup/Thresholds known not{
+dup/HalftoneType get 10 eq{
+dup dup//MakeStreamReader exec
+/Thresholds exch put
+}if
+dup/HalftoneType get dup 3 eq exch 6 eq or{
+dup dup//MakeStreamReader exec
+//BlockBuffer readstring pop
+dup length
+dup 0 eq{
+mark(Could not read Thresholds)//error exec
+}if
+string copy/Thresholds exch put
+dup/HalftoneType 3 put
+}if
+}if
+}bind def
+/SetExtGState
+{
+//PDFReader/CurrentObject get/Context get/Resources get
+/ExtGState//DoNothing//ResolveD exec
+exch//CheckExtGState//ResolveD exec
+dup/LW//knownget exec{
+setlinewidth
+}if
+dup/LC//knownget exec{
+setlinecap
+}if
+dup/LJ//knownget exec{
+setlinejoin
+}if
+dup/ML//knownget exec{
+setmeterlimit
+}if
+dup/D//knownget exec{
+setdash
+}if
+dup/RI//knownget exec{
+mark(Unimplemented ExtGState.RI)//error exec
+}if
+dup/OP//knownget exec{
+setoverprint
+}if
+dup/op//knownget exec{
+setoverprint
+}if
+dup/OPM//knownget exec{
+mark(Unimplemented ExtGState.OPM)//error exec
+}if
+dup/Font//knownget exec{
+mark(Unimplemented ExtGState.Font)//error exec
+}if
+dup/BG known{
+/BG//ResolveFunction exec
+setblackgeneration
+}if
+dup/BG2 known{
+/BG2//ResolveFunction exec
+dup/Default eq{
+//InitialExtGState/BG2 get
+}if
+setblackgeneration
+}if
+dup/UCR known{
+/UCR//ResolveFunction exec
+setundercolorremoval
+}if
+dup/UCR2 known{
+/UCR2//ResolveFunction exec
+dup/Default eq{
+//InitialExtGState/UCR2 get
+}if
+setundercolorremoval
+}if
+dup/TR known{
+/TR//ResolveFunction exec
+//SetTransfer exec
+}if
+dup/TR2 known{
+/TR2//ResolveFunction exec
+dup/Default eq{
+pop//InitialExtGState/TR2 get
+aload pop setcolortransfer
+}{
+//SetTransfer exec
+}ifelse
+}if
+dup/HT//knownget exec{
+dup/Default eq{
+pop//InitialExtGState/HT get
+sethalftone
+}{
+//PDFR_DEBUG{(Ht beg)=}if
+pop dup/HT//CheckHalftone//ResolveD exec
+/SpotFunction//ResolveFunctionSafe exec
+/TransferFunction//ResolveFunctionSafe exec
+null exch
+dup/HalftoneType get dup 5 eq exch dup 4 eq exch 2 eq or or{
+dup{
+dup//IsObjRef exec{
+pop
+1 index exch//CheckHalftone ResolveD
+}if
+dup type/dicttype eq{
+dup/SpotFunction//ResolveFunctionSafe exec
+/TransferFunction//ResolveFunctionSafe exec
+//CreateHalftoneThresholds exec
+dup/HalftoneType get 5 gt{
+4 3 roll pop
+dup 4 1 roll
+}if
+}if
+pop pop
+}forall
+}if
+//CreateHalftoneThresholds exec
+//PDFR_DEBUG{
+(HT:)=
+dup{
+1 index/Default eq{
+(Default <<)=
+exch pop
+{exch = ==}forall
+(>>)=
+}{
+exch = ==
+}ifelse
+}forall
+(HT end)= flush
+}if
+exch dup null ne{
+(Warning: Ignoring a halftone with a Level 3 component halftone Type )print dup/HalftoneType get =
+pop pop
+}{
+pop
+dup/HalftoneType get 5 gt{
+(Warning: Ignoring a Level 3 halftone Type )print dup/HalftoneType get =
+pop
+}{
+sethalftone
+}ifelse
+}ifelse
+//PDFR_DEBUG{(HT set)= flush}if
+}ifelse
+}if
+dup/FL//knownget exec{
+setflattness
+}if
+dup/SM//knownget exec{
+setsmoothness
+}if
+dup/SA//knownget exec{
+setstrokeadjust
+}if
+dup/BM//knownget exec{
+mark(Unimplemented ExtGState.BM)//error exec
+}if
+dup/SMask//knownget exec{
+mark(Unimplemented ExtGState.SMask)//error exec
+}if
+dup/CA//knownget exec{
+mark(Unimplemented ExtGState.CA)//error exec
+}if
+dup/ca//knownget exec{
+mark(Unimplemented ExtGState.ca)//error exec
+}if
+dup/AIS//knownget exec{
+mark(Unimplemented ExtGState.AIS)//error exec
+}if
+dup/TK//knownget exec{
+mark(Unimplemented ExtGState.TK)//error exec
+}if
+pop
+}bind def
+/CheckXObject
+{dup/Subtype get dup/Image ne exch dup/Form ne exch/PS ne and and{
+mark(Resource )3 index( must have /Subtype /Image or /Form or /PS.)//error exec
+}if
+}bind def
+/DoXObject
+{
+//PDFReader/CurrentObject get/Context get/Resources get
+/XObject//DoNothing//ResolveD exec
+exch//CheckXObject//ResolveD exec
+dup/Subtype get
+dup/Image eq{
+pop
+//CompleteOutlineImage exec
+//DoImage exec
+}{
+dup/PS eq{
+PDFR_DEBUG{
+(Executing a PS Xobject)=
+}if
+pop
+//RunDelayedStream exec
+}{
+dup/Form eq{
+pop
+PDFR_DEBUG{
+(Executing a Form XObject)=
+}if
+//PDFReader/CurrentObject get exch
+dup//PDFReader exch<< exch/Context exch >>/CurrentObject exch put
+dup/Matrix get concat
+dup/BBox get aload pop exch 3 index sub exch 2 index sub rectclip
+//RunDelayedStream exec
+//PDFReader exch/CurrentObject exch put
+}{
+mark exch(unimplemented XObject type )exch//error exec
+}ifelse
+}ifelse
+}ifelse
+}bind def
+/Operators 50 dict begin
+/q{//GSave exec}bind def
+/Q{//GRestore exec}bind def
+/cm{//TempMatrix astore concat}bind def
+/i{1 .min setflat}bind def
+/J/setlinecap load def
+/d/setdash load def
+/j/setlinejoin load def
+/w/setlinewidth load def
+/M/setmiterlimit load def
+/gs{SetExtGState}bind def
+/g/setgray load def
+/rg/setrgbcolor load def
+/k/setcmykcolor load def
+/cs{//ResolveColorSpace exec//SetColorSpaceSafe exec
+}bind def
+/sc/setcolor load def
+/scn{//SetColor exec}bind def
+/G/setgray load def
+/RG/setrgbcolor load def
+/K/setcmykcolor load def
+/CS//cs def
+/ri{SetColorRenderingIntent}bind def
+/SC/setcolor load def
+/SCN{//SetColor exec}bind def
+/m/moveto load def
+/l/lineto load def
+/c/curveto load def
+/v{currentpoint 6 2 roll curveto}bind def
+/y{2 copy curveto}bind def
+/re{
+4 2 roll moveto exch dup 0 rlineto 0 3 -1 roll rlineto neg 0 rlineto
+closepath
+}def
+/h/closepath load def
+/n/newpath load def
+/S/stroke load def
+/s{closepath stroke}bind def
+/f/fill load def
+/f*/eofill load def
+/B{gsave fill grestore stroke}bind def
+/b{closepath gsave fill grestore stroke}bind def
+/B*{gsave eofill grestore stroke}bind def
+/b*{closepath gsave eofill grestore stroke}bind def
+/W/clip load def
+/W*/eoclip load def
+/sh{
+ResolveShading
+dup/Background known{
+gsave
+dup/ColorSpace get setcolorspace
+dup/Background get aload pop setcolor
+pathbbox
+2 index sub exch 3 index sub exch
+rectfill
+grestore
+}if
+shfill
+}bind def
+/Do{//DoXObject exec}bind def
+/BI{currentglobal false setglobal<<}bind def
+/ID{>>
+dup/DataSource currentfile
+2 index/F//knownget exec{
+/A85 eq{
+0(~>)/SubFileDecode filter
+}if
+}if
+put
+//CompleteInlineImage exec
+exch setglobal
+//DoImage exec
+}bind def
+/EI{}bind def
+/BT{gsave//GraphicState/InitialTextMatrix get currentmatrix pop}bind def
+/ET{grestore}bind def
+/Tc{//GraphicState exch/CharacterSpacing exch put}bind def
+/TL{//GraphicState exch/TextLeading exch put}bind def
+/Tr{//GraphicState exch/TextRenderingMode exch put}bind def
+/Ts{
+mark(Unimplemented SetTextRise)//error exec
+}bind def
+/Tw{//GraphicState exch/WordSpacing exch put}bind def
+/Tz{
+mark(Unimplemented SetHorizontalTextScaling)//error exec
+}bind def
+/Td{translate 0 0 moveto}bind def
+/TD{dup neg//TL exec//Td exec}bind def
+/Tm{//GraphicState/InitialTextMatrix get setmatrix
+//TempMatrix astore concat
+0 0 moveto}bind def
+/T*{0//GraphicState/TextLeading get neg//Td exec}bind def
+/Tj{//ShowTextBeg exec//ShowText exec//ShowTextEnd exec}bind def
+/'{//T* exec//ShowText exec//ShowTextEnd exec}bind def
+/"{3 2 roll//Tw exec exch//Tc exec//' exec}bind def
+/TJ//ShowTextWithGlyphPositioning def
+/Tf//SetFont def
+/d0/setcharwidth load def
+/d1/setcachedevice load def
+/BDC{pop pop}bind def
+/BMC{pop}bind def
+/EMC{}bind def
+/BX{BeginCompatibilitySection}bind def
+/EX{EndCompatibilitySection}bind def
+/DP{DefineMarkedContentPointWithPropertyList}bind def
+/MP{DefineMarkedContentPoint}bind def
+/PS{cvx exec}bind def
+currentdict end def
+//PDFR_STREAM{
+//Operators length dict begin
+//Operators{
+exch dup
+[exch//=only/exec load
+( )/print load
+8 7 roll
+dup type/arraytype eq{
+/exec load
+}if
+( )/print load
+]cvx
+def
+}forall
+currentdict end/Operators exch def
+}if
+/.registerencoding
+{pop pop
+}bind def
+/.defineencoding
+{def
+}bind def
+/.findencoding
+{load
+}bind def
+/currentglobal where
+{pop currentglobal{setglobal}true setglobal}
+{{}}
+ifelse
+/MacRomanEncoding
+StandardEncoding 0 39 getinterval aload pop
+/quotesingle
+StandardEncoding 40 56 getinterval aload pop
+/grave
+StandardEncoding 97 31 getinterval aload pop
+/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
+/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
+/ecircumflex/edieresis/iacute/igrave
+/icircumflex/idieresis/ntilde/oacute
+/ograve/ocircumflex/odieresis/otilde
+/uacute/ugrave/ucircumflex/udieresis
+/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
+/registered/copyright/trademark/acute/dieresis/.notdef/AE/Oslash
+/.notdef/plusminus/.notdef/.notdef/yen/mu/.notdef/.notdef
+/.notdef/.notdef/.notdef/ordfeminine/ordmasculine/.notdef/ae/oslash
+/questiondown/exclamdown/logicalnot/.notdef
+/florin/.notdef/.notdef/guillemotleft
+/guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright
+/quoteleft/quoteright/divide/.notdef
+/ydieresis/Ydieresis/fraction/currency
+/guilsinglleft/guilsinglright/fi/fl
+/daggerdbl/periodcentered/quotesinglbase/quotedblbase
+/perthousand/Acircumflex/Ecircumflex/Aacute
+/Edieresis/Egrave/Iacute/Icircumflex
+/Idieresis/Igrave/Oacute/Ocircumflex
+/.notdef/Ograve/Uacute/Ucircumflex
+/Ugrave/dotlessi/circumflex/tilde
+/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
+256 packedarray
+5 1 index .registerencoding
+.defineencoding
+exec
+/AdobeGlyphList mark
+/A 16#0041
+/AE 16#00c6
+/AEacute 16#01fc
+/AEmacron 16#01e2
+/AEsmall 16#f7e6
+/Aacute 16#00c1
+/Aacutesmall 16#f7e1
+/Abreve 16#0102
+/Abreveacute 16#1eae
+/Abrevecyrillic 16#04d0
+/Abrevedotbelow 16#1eb6
+/Abrevegrave 16#1eb0
+/Abrevehookabove 16#1eb2
+/Abrevetilde 16#1eb4
+/Acaron 16#01cd
+/Acircle 16#24b6
+/Acircumflex 16#00c2
+/Acircumflexacute 16#1ea4
+/Acircumflexdotbelow 16#1eac
+/Acircumflexgrave 16#1ea6
+/Acircumflexhookabove 16#1ea8
+/Acircumflexsmall 16#f7e2
+/Acircumflextilde 16#1eaa
+/Acute 16#f6c9
+/Acutesmall 16#f7b4
+/Acyrillic 16#0410
+/Adblgrave 16#0200
+/Adieresis 16#00c4
+/Adieresiscyrillic 16#04d2
+/Adieresismacron 16#01de
+/Adieresissmall 16#f7e4
+/Adotbelow 16#1ea0
+/Adotmacron 16#01e0
+/Agrave 16#00c0
+/Agravesmall 16#f7e0
+/Ahookabove 16#1ea2
+/Aiecyrillic 16#04d4
+/Ainvertedbreve 16#0202
+/Alpha 16#0391
+/Alphatonos 16#0386
+/Amacron 16#0100
+/Amonospace 16#ff21
+/Aogonek 16#0104
+/Aring 16#00c5
+/Aringacute 16#01fa
+/Aringbelow 16#1e00
+/Aringsmall 16#f7e5
+/Asmall 16#f761
+/Atilde 16#00c3
+/Atildesmall 16#f7e3
+/Aybarmenian 16#0531
+/B 16#0042
+/Bcircle 16#24b7
+/Bdotaccent 16#1e02
+/Bdotbelow 16#1e04
+/Becyrillic 16#0411
+/Benarmenian 16#0532
+/Beta 16#0392
+/Bhook 16#0181
+/Blinebelow 16#1e06
+/Bmonospace 16#ff22
+/Brevesmall 16#f6f4
+/Bsmall 16#f762
+/Btopbar 16#0182
+/C 16#0043
+/Caarmenian 16#053e
+/Cacute 16#0106
+/Caron 16#f6ca
+/Caronsmall 16#f6f5
+/Ccaron 16#010c
+/Ccedilla 16#00c7
+/Ccedillaacute 16#1e08
+/Ccedillasmall 16#f7e7
+/Ccircle 16#24b8
+/Ccircumflex 16#0108
+/Cdot 16#010a
+/Cdotaccent 16#010a
+/Cedillasmall 16#f7b8
+/Chaarmenian 16#0549
+/Cheabkhasiancyrillic 16#04bc
+/Checyrillic 16#0427
+/Chedescenderabkhasiancyrillic 16#04be
+/Chedescendercyrillic 16#04b6
+/Chedieresiscyrillic 16#04f4
+/Cheharmenian 16#0543
+/Chekhakassiancyrillic 16#04cb
+/Cheverticalstrokecyrillic 16#04b8
+/Chi 16#03a7
+/Chook 16#0187
+/Circumflexsmall 16#f6f6
+/Cmonospace 16#ff23
+/Coarmenian 16#0551
+/Csmall 16#f763
+/D 16#0044
+/DZ 16#01f1
+/DZcaron 16#01c4
+/Daarmenian 16#0534
+/Dafrican 16#0189
+/Dcaron 16#010e
+/Dcedilla 16#1e10
+/Dcircle 16#24b9
+/Dcircumflexbelow 16#1e12
+/Dcroat 16#0110
+/Ddotaccent 16#1e0a
+/Ddotbelow 16#1e0c
+/Decyrillic 16#0414
+/Deicoptic 16#03ee
+/Delta 16#2206
+/Deltagreek 16#0394
+/Dhook 16#018a
+/Dieresis 16#f6cb
+/DieresisAcute 16#f6cc
+/DieresisGrave 16#f6cd
+/Dieresissmall 16#f7a8
+/Digammagreek 16#03dc
+/Djecyrillic 16#0402
+/Dlinebelow 16#1e0e
+/Dmonospace 16#ff24
+/Dotaccentsmall 16#f6f7
+/Dslash 16#0110
+/Dsmall 16#f764
+/Dtopbar 16#018b
+/Dz 16#01f2
+/Dzcaron 16#01c5
+/Dzeabkhasiancyrillic 16#04e0
+/Dzecyrillic 16#0405
+/Dzhecyrillic 16#040f
+/E 16#0045
+/Eacute 16#00c9
+/Eacutesmall 16#f7e9
+/Ebreve 16#0114
+/Ecaron 16#011a
+/Ecedillabreve 16#1e1c
+/Echarmenian 16#0535
+/Ecircle 16#24ba
+/Ecircumflex 16#00ca
+/Ecircumflexacute 16#1ebe
+/Ecircumflexbelow 16#1e18
+/Ecircumflexdotbelow 16#1ec6
+/Ecircumflexgrave 16#1ec0
+/Ecircumflexhookabove 16#1ec2
+/Ecircumflexsmall 16#f7ea
+/Ecircumflextilde 16#1ec4
+/Ecyrillic 16#0404
+/Edblgrave 16#0204
+/Edieresis 16#00cb
+/Edieresissmall 16#f7eb
+/Edot 16#0116
+/Edotaccent 16#0116
+/Edotbelow 16#1eb8
+/Efcyrillic 16#0424
+/Egrave 16#00c8
+/Egravesmall 16#f7e8
+/Eharmenian 16#0537
+/Ehookabove 16#1eba
+/Eightroman 16#2167
+/Einvertedbreve 16#0206
+/Eiotifiedcyrillic 16#0464
+/Elcyrillic 16#041b
+/Elevenroman 16#216a
+/Emacron 16#0112
+/Emacronacute 16#1e16
+/Emacrongrave 16#1e14
+/Emcyrillic 16#041c
+/Emonospace 16#ff25
+/Encyrillic 16#041d
+/Endescendercyrillic 16#04a2
+/Eng 16#014a
+/Enghecyrillic 16#04a4
+/Enhookcyrillic 16#04c7
+/Eogonek 16#0118
+/Eopen 16#0190
+/Epsilon 16#0395
+/Epsilontonos 16#0388
+/Ercyrillic 16#0420
+/Ereversed 16#018e
+/Ereversedcyrillic 16#042d
+/Escyrillic 16#0421
+/Esdescendercyrillic 16#04aa
+/Esh 16#01a9
+/Esmall 16#f765
+/Eta 16#0397
+/Etarmenian 16#0538
+/Etatonos 16#0389
+/Eth 16#00d0
+/Ethsmall 16#f7f0
+/Etilde 16#1ebc
+/Etildebelow 16#1e1a
+/Euro 16#20ac
+/Ezh 16#01b7
+/Ezhcaron 16#01ee
+/Ezhreversed 16#01b8
+/F 16#0046
+/Fcircle 16#24bb
+/Fdotaccent 16#1e1e
+/Feharmenian 16#0556
+/Feicoptic 16#03e4
+/Fhook 16#0191
+/Fitacyrillic 16#0472
+/Fiveroman 16#2164
+/Fmonospace 16#ff26
+/Fourroman 16#2163
+/Fsmall 16#f766
+/G 16#0047
+/GBsquare 16#3387
+/Gacute 16#01f4
+/Gamma 16#0393
+/Gammaafrican 16#0194
+/Gangiacoptic 16#03ea
+/Gbreve 16#011e
+/Gcaron 16#01e6
+/Gcedilla 16#0122
+/Gcircle 16#24bc
+/Gcircumflex 16#011c
+/Gcommaaccent 16#0122
+/Gdot 16#0120
+/Gdotaccent 16#0120
+/Gecyrillic 16#0413
+/Ghadarmenian 16#0542
+/Ghemiddlehookcyrillic 16#0494
+/Ghestrokecyrillic 16#0492
+/Gheupturncyrillic 16#0490
+/Ghook 16#0193
+/Gimarmenian 16#0533
+/Gjecyrillic 16#0403
+/Gmacron 16#1e20
+/Gmonospace 16#ff27
+/Grave 16#f6ce
+/Gravesmall 16#f760
+/Gsmall 16#f767
+/Gsmallhook 16#029b
+/Gstroke 16#01e4
+/H 16#0048
+/H18533 16#25cf
+/H18543 16#25aa
+/H18551 16#25ab
+/H22073 16#25a1
+/HPsquare 16#33cb
+/Haabkhasiancyrillic 16#04a8
+/Hadescendercyrillic 16#04b2
+/Hardsigncyrillic 16#042a
+/Hbar 16#0126
+/Hbrevebelow 16#1e2a
+/Hcedilla 16#1e28
+/Hcircle 16#24bd
+/Hcircumflex 16#0124
+/Hdieresis 16#1e26
+/Hdotaccent 16#1e22
+/Hdotbelow 16#1e24
+/Hmonospace 16#ff28
+/Hoarmenian 16#0540
+/Horicoptic 16#03e8
+/Hsmall 16#f768
+/Hungarumlaut 16#f6cf
+/Hungarumlautsmall 16#f6f8
+/Hzsquare 16#3390
+/I 16#0049
+/IAcyrillic 16#042f
+/IJ 16#0132
+/IUcyrillic 16#042e
+/Iacute 16#00cd
+/Iacutesmall 16#f7ed
+/Ibreve 16#012c
+/Icaron 16#01cf
+/Icircle 16#24be
+/Icircumflex 16#00ce
+/Icircumflexsmall 16#f7ee
+/Icyrillic 16#0406
+/Idblgrave 16#0208
+/Idieresis 16#00cf
+/Idieresisacute 16#1e2e
+/Idieresiscyrillic 16#04e4
+/Idieresissmall 16#f7ef
+/Idot 16#0130
+/Idotaccent 16#0130
+/Idotbelow 16#1eca
+/Iebrevecyrillic 16#04d6
+/Iecyrillic 16#0415
+/Ifraktur 16#2111
+/Igrave 16#00cc
+/Igravesmall 16#f7ec
+/Ihookabove 16#1ec8
+/Iicyrillic 16#0418
+/Iinvertedbreve 16#020a
+/Iishortcyrillic 16#0419
+/Imacron 16#012a
+/Imacroncyrillic 16#04e2
+/Imonospace 16#ff29
+/Iniarmenian 16#053b
+/Iocyrillic 16#0401
+/Iogonek 16#012e
+/Iota 16#0399
+/Iotaafrican 16#0196
+/Iotadieresis 16#03aa
+/Iotatonos 16#038a
+/Ismall 16#f769
+/Istroke 16#0197
+/Itilde 16#0128
+/Itildebelow 16#1e2c
+/Izhitsacyrillic 16#0474
+/Izhitsadblgravecyrillic 16#0476
+/J 16#004a
+/Jaarmenian 16#0541
+/Jcircle 16#24bf
+/Jcircumflex 16#0134
+/Jecyrillic 16#0408
+/Jheharmenian 16#054b
+/Jmonospace 16#ff2a
+/Jsmall 16#f76a
+/K 16#004b
+/KBsquare 16#3385
+/KKsquare 16#33cd
+/Kabashkircyrillic 16#04a0
+/Kacute 16#1e30
+/Kacyrillic 16#041a
+/Kadescendercyrillic 16#049a
+/Kahookcyrillic 16#04c3
+/Kappa 16#039a
+/Kastrokecyrillic 16#049e
+/Kaverticalstrokecyrillic 16#049c
+/Kcaron 16#01e8
+/Kcedilla 16#0136
+/Kcircle 16#24c0
+/Kcommaaccent 16#0136
+/Kdotbelow 16#1e32
+/Keharmenian 16#0554
+/Kenarmenian 16#053f
+/Khacyrillic 16#0425
+/Kheicoptic 16#03e6
+/Khook 16#0198
+/Kjecyrillic 16#040c
+/Klinebelow 16#1e34
+/Kmonospace 16#ff2b
+/Koppacyrillic 16#0480
+/Koppagreek 16#03de
+/Ksicyrillic 16#046e
+/Ksmall 16#f76b
+/L 16#004c
+/LJ 16#01c7
+/LL 16#f6bf
+/Lacute 16#0139
+/Lambda 16#039b
+/Lcaron 16#013d
+/Lcedilla 16#013b
+/Lcircle 16#24c1
+/Lcircumflexbelow 16#1e3c
+/Lcommaaccent 16#013b
+/Ldot 16#013f
+/Ldotaccent 16#013f
+/Ldotbelow 16#1e36
+/Ldotbelowmacron 16#1e38
+/Liwnarmenian 16#053c
+/Lj 16#01c8
+/Ljecyrillic 16#0409
+/Llinebelow 16#1e3a
+/Lmonospace 16#ff2c
+/Lslash 16#0141
+/Lslashsmall 16#f6f9
+/Lsmall 16#f76c
+/M 16#004d
+/MBsquare 16#3386
+/Macron 16#f6d0
+/Macronsmall 16#f7af
+/Macute 16#1e3e
+/Mcircle 16#24c2
+/Mdotaccent 16#1e40
+/Mdotbelow 16#1e42
+/Menarmenian 16#0544
+/Mmonospace 16#ff2d
+/Msmall 16#f76d
+/Mturned 16#019c
+/Mu 16#039c
+/N 16#004e
+/NJ 16#01ca
+/Nacute 16#0143
+/Ncaron 16#0147
+/Ncedilla 16#0145
+/Ncircle 16#24c3
+/Ncircumflexbelow 16#1e4a
+/Ncommaaccent 16#0145
+/Ndotaccent 16#1e44
+/Ndotbelow 16#1e46
+/Nhookleft 16#019d
+/Nineroman 16#2168
+/Nj 16#01cb
+/Njecyrillic 16#040a
+/Nlinebelow 16#1e48
+/Nmonospace 16#ff2e
+/Nowarmenian 16#0546
+/Nsmall 16#f76e
+/Ntilde 16#00d1
+/Ntildesmall 16#f7f1
+/Nu 16#039d
+/O 16#004f
+/OE 16#0152
+/OEsmall 16#f6fa
+/Oacute 16#00d3
+/Oacutesmall 16#f7f3
+/Obarredcyrillic 16#04e8
+/Obarreddieresiscyrillic 16#04ea
+/Obreve 16#014e
+/Ocaron 16#01d1
+/Ocenteredtilde 16#019f
+/Ocircle 16#24c4
+/Ocircumflex 16#00d4
+/Ocircumflexacute 16#1ed0
+/Ocircumflexdotbelow 16#1ed8
+/Ocircumflexgrave 16#1ed2
+/Ocircumflexhookabove 16#1ed4
+/Ocircumflexsmall 16#f7f4
+/Ocircumflextilde 16#1ed6
+/Ocyrillic 16#041e
+/Odblacute 16#0150
+/Odblgrave 16#020c
+/Odieresis 16#00d6
+/Odieresiscyrillic 16#04e6
+/Odieresissmall 16#f7f6
+/Odotbelow 16#1ecc
+/Ogoneksmall 16#f6fb
+/Ograve 16#00d2
+/Ogravesmall 16#f7f2
+/Oharmenian 16#0555
+/Ohm 16#2126
+/Ohookabove 16#1ece
+/Ohorn 16#01a0
+/Ohornacute 16#1eda
+/Ohorndotbelow 16#1ee2
+/Ohorngrave 16#1edc
+/Ohornhookabove 16#1ede
+/Ohorntilde 16#1ee0
+/Ohungarumlaut 16#0150
+/Oi 16#01a2
+/Oinvertedbreve 16#020e
+/Omacron 16#014c
+/Omacronacute 16#1e52
+/Omacrongrave 16#1e50
+/Omega 16#2126
+/Omegacyrillic 16#0460
+/Omegagreek 16#03a9
+/Omegaroundcyrillic 16#047a
+/Omegatitlocyrillic 16#047c
+/Omegatonos 16#038f
+/Omicron 16#039f
+/Omicrontonos 16#038c
+/Omonospace 16#ff2f
+/Oneroman 16#2160
+/Oogonek 16#01ea
+/Oogonekmacron 16#01ec
+/Oopen 16#0186
+/Oslash 16#00d8
+/Oslashacute 16#01fe
+/Oslashsmall 16#f7f8
+/Osmall 16#f76f
+/Ostrokeacute 16#01fe
+/Otcyrillic 16#047e
+/Otilde 16#00d5
+/Otildeacute 16#1e4c
+/Otildedieresis 16#1e4e
+/Otildesmall 16#f7f5
+/P 16#0050
+/Pacute 16#1e54
+/Pcircle 16#24c5
+/Pdotaccent 16#1e56
+/Pecyrillic 16#041f
+/Peharmenian 16#054a
+/Pemiddlehookcyrillic 16#04a6
+/Phi 16#03a6
+/Phook 16#01a4
+/Pi 16#03a0
+/Piwrarmenian 16#0553
+/Pmonospace 16#ff30
+/Psi 16#03a8
+/Psicyrillic 16#0470
+/Psmall 16#f770
+/Q 16#0051
+/Qcircle 16#24c6
+/Qmonospace 16#ff31
+/Qsmall 16#f771
+/R 16#0052
+/Raarmenian 16#054c
+/Racute 16#0154
+/Rcaron 16#0158
+/Rcedilla 16#0156
+/Rcircle 16#24c7
+/Rcommaaccent 16#0156
+/Rdblgrave 16#0210
+/Rdotaccent 16#1e58
+/Rdotbelow 16#1e5a
+/Rdotbelowmacron 16#1e5c
+/Reharmenian 16#0550
+/Rfraktur 16#211c
+/Rho 16#03a1
+/Ringsmall 16#f6fc
+/Rinvertedbreve 16#0212
+/Rlinebelow 16#1e5e
+/Rmonospace 16#ff32
+/Rsmall 16#f772
+/Rsmallinverted 16#0281
+/Rsmallinvertedsuperior 16#02b6
+/S 16#0053
+/SF010000 16#250c
+/SF020000 16#2514
+/SF030000 16#2510
+/SF040000 16#2518
+/SF050000 16#253c
+/SF060000 16#252c
+/SF070000 16#2534
+/SF080000 16#251c
+/SF090000 16#2524
+/SF100000 16#2500
+/SF110000 16#2502
+/SF190000 16#2561
+/SF200000 16#2562
+/SF210000 16#2556
+/SF220000 16#2555
+/SF230000 16#2563
+/SF240000 16#2551
+/SF250000 16#2557
+/SF260000 16#255d
+/SF270000 16#255c
+/SF280000 16#255b
+/SF360000 16#255e
+/SF370000 16#255f
+/SF380000 16#255a
+/SF390000 16#2554
+/SF400000 16#2569
+/SF410000 16#2566
+/SF420000 16#2560
+/SF430000 16#2550
+/SF440000 16#256c
+/SF450000 16#2567
+/SF460000 16#2568
+/SF470000 16#2564
+/SF480000 16#2565
+/SF490000 16#2559
+/SF500000 16#2558
+/SF510000 16#2552
+/SF520000 16#2553
+/SF530000 16#256b
+/SF540000 16#256a
+/Sacute 16#015a
+/Sacutedotaccent 16#1e64
+/Sampigreek 16#03e0
+/Scaron 16#0160
+/Scarondotaccent 16#1e66
+/Scaronsmall 16#f6fd
+/Scedilla 16#015e
+/Schwa 16#018f
+/Schwacyrillic 16#04d8
+/Schwadieresiscyrillic 16#04da
+/Scircle 16#24c8
+/Scircumflex 16#015c
+/Scommaaccent 16#0218
+/Sdotaccent 16#1e60
+/Sdotbelow 16#1e62
+/Sdotbelowdotaccent 16#1e68
+/Seharmenian 16#054d
+/Sevenroman 16#2166
+/Shaarmenian 16#0547
+/Shacyrillic 16#0428
+/Shchacyrillic 16#0429
+/Sheicoptic 16#03e2
+/Shhacyrillic 16#04ba
+/Shimacoptic 16#03ec
+/Sigma 16#03a3
+/Sixroman 16#2165
+/Smonospace 16#ff33
+/Softsigncyrillic 16#042c
+/Ssmall 16#f773
+/Stigmagreek 16#03da
+/T 16#0054
+/Tau 16#03a4
+/Tbar 16#0166
+/Tcaron 16#0164
+/Tcedilla 16#0162
+/Tcircle 16#24c9
+/Tcircumflexbelow 16#1e70
+/Tcommaaccent 16#0162
+/Tdotaccent 16#1e6a
+/Tdotbelow 16#1e6c
+/Tecyrillic 16#0422
+/Tedescendercyrillic 16#04ac
+/Tenroman 16#2169
+/Tetsecyrillic 16#04b4
+/Theta 16#0398
+/Thook 16#01ac
+/Thorn 16#00de
+/Thornsmall 16#f7fe
+/Threeroman 16#2162
+/Tildesmall 16#f6fe
+/Tiwnarmenian 16#054f
+/Tlinebelow 16#1e6e
+/Tmonospace 16#ff34
+/Toarmenian 16#0539
+/Tonefive 16#01bc
+/Tonesix 16#0184
+/Tonetwo 16#01a7
+/Tretroflexhook 16#01ae
+/Tsecyrillic 16#0426
+/Tshecyrillic 16#040b
+/Tsmall 16#f774
+/Twelveroman 16#216b
+/Tworoman 16#2161
+/U 16#0055
+/Uacute 16#00da
+/Uacutesmall 16#f7fa
+/Ubreve 16#016c
+/Ucaron 16#01d3
+/Ucircle 16#24ca
+/Ucircumflex 16#00db
+/Ucircumflexbelow 16#1e76
+/Ucircumflexsmall 16#f7fb
+/Ucyrillic 16#0423
+/Udblacute 16#0170
+/Udblgrave 16#0214
+/Udieresis 16#00dc
+/Udieresisacute 16#01d7
+/Udieresisbelow 16#1e72
+/Udieresiscaron 16#01d9
+/Udieresiscyrillic 16#04f0
+/Udieresisgrave 16#01db
+/Udieresismacron 16#01d5
+/Udieresissmall 16#f7fc
+/Udotbelow 16#1ee4
+/Ugrave 16#00d9
+/Ugravesmall 16#f7f9
+/Uhookabove 16#1ee6
+/Uhorn 16#01af
+/Uhornacute 16#1ee8
+/Uhorndotbelow 16#1ef0
+/Uhorngrave 16#1eea
+/Uhornhookabove 16#1eec
+/Uhorntilde 16#1eee
+/Uhungarumlaut 16#0170
+/Uhungarumlautcyrillic 16#04f2
+/Uinvertedbreve 16#0216
+/Ukcyrillic 16#0478
+/Umacron 16#016a
+/Umacroncyrillic 16#04ee
+/Umacrondieresis 16#1e7a
+/Umonospace 16#ff35
+/Uogonek 16#0172
+/Upsilon 16#03a5
+/Upsilon1 16#03d2
+/Upsilonacutehooksymbolgreek 16#03d3
+/Upsilonafrican 16#01b1
+/Upsilondieresis 16#03ab
+/Upsilondieresishooksymbolgreek 16#03d4
+/Upsilonhooksymbol 16#03d2
+/Upsilontonos 16#038e
+/Uring 16#016e
+/Ushortcyrillic 16#040e
+/Usmall 16#f775
+/Ustraightcyrillic 16#04ae
+/Ustraightstrokecyrillic 16#04b0
+/Utilde 16#0168
+/Utildeacute 16#1e78
+/Utildebelow 16#1e74
+/V 16#0056
+/Vcircle 16#24cb
+/Vdotbelow 16#1e7e
+/Vecyrillic 16#0412
+/Vewarmenian 16#054e
+/Vhook 16#01b2
+/Vmonospace 16#ff36
+/Voarmenian 16#0548
+/Vsmall 16#f776
+/Vtilde 16#1e7c
+/W 16#0057
+/Wacute 16#1e82
+/Wcircle 16#24cc
+/Wcircumflex 16#0174
+/Wdieresis 16#1e84
+/Wdotaccent 16#1e86
+/Wdotbelow 16#1e88
+/Wgrave 16#1e80
+/Wmonospace 16#ff37
+/Wsmall 16#f777
+/X 16#0058
+/Xcircle 16#24cd
+/Xdieresis 16#1e8c
+/Xdotaccent 16#1e8a
+/Xeharmenian 16#053d
+/Xi 16#039e
+/Xmonospace 16#ff38
+/Xsmall 16#f778
+/Y 16#0059
+/Yacute 16#00dd
+/Yacutesmall 16#f7fd
+/Yatcyrillic 16#0462
+/Ycircle 16#24ce
+/Ycircumflex 16#0176
+/Ydieresis 16#0178
+/Ydieresissmall 16#f7ff
+/Ydotaccent 16#1e8e
+/Ydotbelow 16#1ef4
+/Yericyrillic 16#042b
+/Yerudieresiscyrillic 16#04f8
+/Ygrave 16#1ef2
+/Yhook 16#01b3
+/Yhookabove 16#1ef6
+/Yiarmenian 16#0545
+/Yicyrillic 16#0407
+/Yiwnarmenian 16#0552
+/Ymonospace 16#ff39
+/Ysmall 16#f779
+/Ytilde 16#1ef8
+/Yusbigcyrillic 16#046a
+/Yusbigiotifiedcyrillic 16#046c
+/Yuslittlecyrillic 16#0466
+/Yuslittleiotifiedcyrillic 16#0468
+/Z 16#005a
+/Zaarmenian 16#0536
+/Zacute 16#0179
+/Zcaron 16#017d
+/Zcaronsmall 16#f6ff
+/Zcircle 16#24cf
+/Zcircumflex 16#1e90
+/Zdot 16#017b
+/Zdotaccent 16#017b
+/Zdotbelow 16#1e92
+/Zecyrillic 16#0417
+/Zedescendercyrillic 16#0498
+/Zedieresiscyrillic 16#04de
+/Zeta 16#0396
+/Zhearmenian 16#053a
+/Zhebrevecyrillic 16#04c1
+/Zhecyrillic 16#0416
+/Zhedescendercyrillic 16#0496
+/Zhedieresiscyrillic 16#04dc
+/Zlinebelow 16#1e94
+/Zmonospace 16#ff3a
+/Zsmall 16#f77a
+/Zstroke 16#01b5
+/a 16#0061
+/aabengali 16#0986
+/aacute 16#00e1
+/aadeva 16#0906
+/aagujarati 16#0a86
+/aagurmukhi 16#0a06
+/aamatragurmukhi 16#0a3e
+/aarusquare 16#3303
+/aavowelsignbengali 16#09be
+/aavowelsigndeva 16#093e
+/aavowelsigngujarati 16#0abe
+/abbreviationmarkarmenian 16#055f
+/abbreviationsigndeva 16#0970
+/abengali 16#0985
+/abopomofo 16#311a
+/abreve 16#0103
+/abreveacute 16#1eaf
+/abrevecyrillic 16#04d1
+/abrevedotbelow 16#1eb7
+/abrevegrave 16#1eb1
+/abrevehookabove 16#1eb3
+/abrevetilde 16#1eb5
+/acaron 16#01ce
+/acircle 16#24d0
+/acircumflex 16#00e2
+/acircumflexacute 16#1ea5
+/acircumflexdotbelow 16#1ead
+/acircumflexgrave 16#1ea7
+/acircumflexhookabove 16#1ea9
+/acircumflextilde 16#1eab
+/acute 16#00b4
+/acutebelowcmb 16#0317
+/acutecmb 16#0301
+/acutecomb 16#0301
+/acutedeva 16#0954
+/acutelowmod 16#02cf
+/acutetonecmb 16#0341
+/acyrillic 16#0430
+/adblgrave 16#0201
+/addakgurmukhi 16#0a71
+/adeva 16#0905
+/adieresis 16#00e4
+/adieresiscyrillic 16#04d3
+/adieresismacron 16#01df
+/adotbelow 16#1ea1
+/adotmacron 16#01e1
+/ae 16#00e6
+/aeacute 16#01fd
+/aekorean 16#3150
+/aemacron 16#01e3
+/afii00208 16#2015
+/afii08941 16#20a4
+/afii10017 16#0410
+/afii10018 16#0411
+/afii10019 16#0412
+/afii10020 16#0413
+/afii10021 16#0414
+/afii10022 16#0415
+/afii10023 16#0401
+/afii10024 16#0416
+/afii10025 16#0417
+/afii10026 16#0418
+/afii10027 16#0419
+/afii10028 16#041a
+/afii10029 16#041b
+/afii10030 16#041c
+/afii10031 16#041d
+/afii10032 16#041e
+/afii10033 16#041f
+/afii10034 16#0420
+/afii10035 16#0421
+/afii10036 16#0422
+/afii10037 16#0423
+/afii10038 16#0424
+/afii10039 16#0425
+/afii10040 16#0426
+/afii10041 16#0427
+/afii10042 16#0428
+/afii10043 16#0429
+/afii10044 16#042a
+/afii10045 16#042b
+/afii10046 16#042c
+/afii10047 16#042d
+/afii10048 16#042e
+/afii10049 16#042f
+/afii10050 16#0490
+/afii10051 16#0402
+/afii10052 16#0403
+/afii10053 16#0404
+/afii10054 16#0405
+/afii10055 16#0406
+/afii10056 16#0407
+/afii10057 16#0408
+/afii10058 16#0409
+/afii10059 16#040a
+/afii10060 16#040b
+/afii10061 16#040c
+/afii10062 16#040e
+/afii10063 16#f6c4
+/afii10064 16#f6c5
+/afii10065 16#0430
+/afii10066 16#0431
+/afii10067 16#0432
+/afii10068 16#0433
+/afii10069 16#0434
+/afii10070 16#0435
+/afii10071 16#0451
+/afii10072 16#0436
+/afii10073 16#0437
+/afii10074 16#0438
+/afii10075 16#0439
+/afii10076 16#043a
+/afii10077 16#043b
+/afii10078 16#043c
+/afii10079 16#043d
+/afii10080 16#043e
+/afii10081 16#043f
+/afii10082 16#0440
+/afii10083 16#0441
+/afii10084 16#0442
+/afii10085 16#0443
+/afii10086 16#0444
+/afii10087 16#0445
+/afii10088 16#0446
+/afii10089 16#0447
+/afii10090 16#0448
+/afii10091 16#0449
+/afii10092 16#044a
+/afii10093 16#044b
+/afii10094 16#044c
+/afii10095 16#044d
+/afii10096 16#044e
+/afii10097 16#044f
+/afii10098 16#0491
+/afii10099 16#0452
+/afii10100 16#0453
+/afii10101 16#0454
+/afii10102 16#0455
+/afii10103 16#0456
+/afii10104 16#0457
+/afii10105 16#0458
+/afii10106 16#0459
+/afii10107 16#045a
+/afii10108 16#045b
+/afii10109 16#045c
+/afii10110 16#045e
+/afii10145 16#040f
+/afii10146 16#0462
+/afii10147 16#0472
+/afii10148 16#0474
+/afii10192 16#f6c6
+/afii10193 16#045f
+/afii10194 16#0463
+/afii10195 16#0473
+/afii10196 16#0475
+/afii10831 16#f6c7
+/afii10832 16#f6c8
+/afii10846 16#04d9
+/afii299 16#200e
+/afii300 16#200f
+/afii301 16#200d
+/afii57381 16#066a
+/afii57388 16#060c
+/afii57392 16#0660
+/afii57393 16#0661
+/afii57394 16#0662
+/afii57395 16#0663
+/afii57396 16#0664
+/afii57397 16#0665
+/afii57398 16#0666
+/afii57399 16#0667
+/afii57400 16#0668
+/afii57401 16#0669
+/afii57403 16#061b
+/afii57407 16#061f
+/afii57409 16#0621
+/afii57410 16#0622
+/afii57411 16#0623
+/afii57412 16#0624
+/afii57413 16#0625
+/afii57414 16#0626
+/afii57415 16#0627
+/afii57416 16#0628
+/afii57417 16#0629
+/afii57418 16#062a
+/afii57419 16#062b
+/afii57420 16#062c
+/afii57421 16#062d
+/afii57422 16#062e
+/afii57423 16#062f
+/afii57424 16#0630
+/afii57425 16#0631
+/afii57426 16#0632
+/afii57427 16#0633
+/afii57428 16#0634
+/afii57429 16#0635
+/afii57430 16#0636
+/afii57431 16#0637
+/afii57432 16#0638
+/afii57433 16#0639
+/afii57434 16#063a
+/afii57440 16#0640
+/afii57441 16#0641
+/afii57442 16#0642
+/afii57443 16#0643
+/afii57444 16#0644
+/afii57445 16#0645
+/afii57446 16#0646
+/afii57448 16#0648
+/afii57449 16#0649
+/afii57450 16#064a
+/afii57451 16#064b
+/afii57452 16#064c
+/afii57453 16#064d
+/afii57454 16#064e
+/afii57455 16#064f
+/afii57456 16#0650
+/afii57457 16#0651
+/afii57458 16#0652
+/afii57470 16#0647
+/afii57505 16#06a4
+/afii57506 16#067e
+/afii57507 16#0686
+/afii57508 16#0698
+/afii57509 16#06af
+/afii57511 16#0679
+/afii57512 16#0688
+/afii57513 16#0691
+/afii57514 16#06ba
+/afii57519 16#06d2
+/afii57534 16#06d5
+/afii57636 16#20aa
+/afii57645 16#05be
+/afii57658 16#05c3
+/afii57664 16#05d0
+/afii57665 16#05d1
+/afii57666 16#05d2
+/afii57667 16#05d3
+/afii57668 16#05d4
+/afii57669 16#05d5
+/afii57670 16#05d6
+/afii57671 16#05d7
+/afii57672 16#05d8
+/afii57673 16#05d9
+/afii57674 16#05da
+/afii57675 16#05db
+/afii57676 16#05dc
+/afii57677 16#05dd
+/afii57678 16#05de
+/afii57679 16#05df
+/afii57680 16#05e0
+/afii57681 16#05e1
+/afii57682 16#05e2
+/afii57683 16#05e3
+/afii57684 16#05e4
+/afii57685 16#05e5
+/afii57686 16#05e6
+/afii57687 16#05e7
+/afii57688 16#05e8
+/afii57689 16#05e9
+/afii57690 16#05ea
+/afii57694 16#fb2a
+/afii57695 16#fb2b
+/afii57700 16#fb4b
+/afii57705 16#fb1f
+/afii57716 16#05f0
+/afii57717 16#05f1
+/afii57718 16#05f2
+/afii57723 16#fb35
+/afii57793 16#05b4
+/afii57794 16#05b5
+/afii57795 16#05b6
+/afii57796 16#05bb
+/afii57797 16#05b8
+/afii57798 16#05b7
+/afii57799 16#05b0
+/afii57800 16#05b2
+/afii57801 16#05b1
+/afii57802 16#05b3
+/afii57803 16#05c2
+/afii57804 16#05c1
+/afii57806 16#05b9
+/afii57807 16#05bc
+/afii57839 16#05bd
+/afii57841 16#05bf
+/afii57842 16#05c0
+/afii57929 16#02bc
+/afii61248 16#2105
+/afii61289 16#2113
+/afii61352 16#2116
+/afii61573 16#202c
+/afii61574 16#202d
+/afii61575 16#202e
+/afii61664 16#200c
+/afii63167 16#066d
+/afii64937 16#02bd
+/agrave 16#00e0
+/agujarati 16#0a85
+/agurmukhi 16#0a05
+/ahiragana 16#3042
+/ahookabove 16#1ea3
+/aibengali 16#0990
+/aibopomofo 16#311e
+/aideva 16#0910
+/aiecyrillic 16#04d5
+/aigujarati 16#0a90
+/aigurmukhi 16#0a10
+/aimatragurmukhi 16#0a48
+/ainarabic 16#0639
+/ainfinalarabic 16#feca
+/aininitialarabic 16#fecb
+/ainmedialarabic 16#fecc
+/ainvertedbreve 16#0203
+/aivowelsignbengali 16#09c8
+/aivowelsigndeva 16#0948
+/aivowelsigngujarati 16#0ac8
+/akatakana 16#30a2
+/akatakanahalfwidth 16#ff71
+/akorean 16#314f
+/alef 16#05d0
+/alefarabic 16#0627
+/alefdageshhebrew 16#fb30
+/aleffinalarabic 16#fe8e
+/alefhamzaabovearabic 16#0623
+/alefhamzaabovefinalarabic 16#fe84
+/alefhamzabelowarabic 16#0625
+/alefhamzabelowfinalarabic 16#fe88
+/alefhebrew 16#05d0
+/aleflamedhebrew 16#fb4f
+/alefmaddaabovearabic 16#0622
+/alefmaddaabovefinalarabic 16#fe82
+/alefmaksuraarabic 16#0649
+/alefmaksurafinalarabic 16#fef0
+/alefmaksurainitialarabic 16#fef3
+/alefmaksuramedialarabic 16#fef4
+/alefpatahhebrew 16#fb2e
+/alefqamatshebrew 16#fb2f
+/aleph 16#2135
+/allequal 16#224c
+/alpha 16#03b1
+/alphatonos 16#03ac
+/amacron 16#0101
+/amonospace 16#ff41
+/ampersand 16#0026
+/ampersandmonospace 16#ff06
+/ampersandsmall 16#f726
+/amsquare 16#33c2
+/anbopomofo 16#3122
+/angbopomofo 16#3124
+/angkhankhuthai 16#0e5a
+/angle 16#2220
+/anglebracketleft 16#3008
+/anglebracketleftvertical 16#fe3f
+/anglebracketright 16#3009
+/anglebracketrightvertical 16#fe40
+/angleleft 16#2329
+/angleright 16#232a
+/angstrom 16#212b
+/anoteleia 16#0387
+/anudattadeva 16#0952
+/anusvarabengali 16#0982
+/anusvaradeva 16#0902
+/anusvaragujarati 16#0a82
+/aogonek 16#0105
+/apaatosquare 16#3300
+/aparen 16#249c
+/apostrophearmenian 16#055a
+/apostrophemod 16#02bc
+/apple 16#f8ff
+/approaches 16#2250
+/approxequal 16#2248
+/approxequalorimage 16#2252
+/approximatelyequal 16#2245
+/araeaekorean 16#318e
+/araeakorean 16#318d
+/arc 16#2312
+/arighthalfring 16#1e9a
+/aring 16#00e5
+/aringacute 16#01fb
+/aringbelow 16#1e01
+/arrowboth 16#2194
+/arrowdashdown 16#21e3
+/arrowdashleft 16#21e0
+/arrowdashright 16#21e2
+/arrowdashup 16#21e1
+/arrowdblboth 16#21d4
+/arrowdbldown 16#21d3
+/arrowdblleft 16#21d0
+/arrowdblright 16#21d2
+/arrowdblup 16#21d1
+/arrowdown 16#2193
+/arrowdownleft 16#2199
+/arrowdownright 16#2198
+/arrowdownwhite 16#21e9
+/arrowheaddownmod 16#02c5
+/arrowheadleftmod 16#02c2
+/arrowheadrightmod 16#02c3
+/arrowheadupmod 16#02c4
+/arrowhorizex 16#f8e7
+/arrowleft 16#2190
+/arrowleftdbl 16#21d0
+/arrowleftdblstroke 16#21cd
+/arrowleftoverright 16#21c6
+/arrowleftwhite 16#21e6
+/arrowright 16#2192
+/arrowrightdblstroke 16#21cf
+/arrowrightheavy 16#279e
+/arrowrightoverleft 16#21c4
+/arrowrightwhite 16#21e8
+/arrowtableft 16#21e4
+/arrowtabright 16#21e5
+/arrowup 16#2191
+/arrowupdn 16#2195
+/arrowupdnbse 16#21a8
+/arrowupdownbase 16#21a8
+/arrowupleft 16#2196
+/arrowupleftofdown 16#21c5
+/arrowupright 16#2197
+/arrowupwhite 16#21e7
+/arrowvertex 16#f8e6
+/asciicircum 16#005e
+/asciicircummonospace 16#ff3e
+/asciitilde 16#007e
+/asciitildemonospace 16#ff5e
+/ascript 16#0251
+/ascriptturned 16#0252
+/asmallhiragana 16#3041
+/asmallkatakana 16#30a1
+/asmallkatakanahalfwidth 16#ff67
+/asterisk 16#002a
+/asteriskaltonearabic 16#066d
+/asteriskarabic 16#066d
+/asteriskmath 16#2217
+/asteriskmonospace 16#ff0a
+/asterisksmall 16#fe61
+/asterism 16#2042
+/asuperior 16#f6e9
+/asymptoticallyequal 16#2243
+/at 16#0040
+/atilde 16#00e3
+/atmonospace 16#ff20
+/atsmall 16#fe6b
+/aturned 16#0250
+/aubengali 16#0994
+/aubopomofo 16#3120
+/audeva 16#0914
+/augujarati 16#0a94
+/augurmukhi 16#0a14
+/aulengthmarkbengali 16#09d7
+/aumatragurmukhi 16#0a4c
+/auvowelsignbengali 16#09cc
+/auvowelsigndeva 16#094c
+/auvowelsigngujarati 16#0acc
+/avagrahadeva 16#093d
+/aybarmenian 16#0561
+/ayin 16#05e2
+/ayinaltonehebrew 16#fb20
+/ayinhebrew 16#05e2
+/b 16#0062
+/babengali 16#09ac
+/backslash 16#005c
+/backslashmonospace 16#ff3c
+/badeva 16#092c
+/bagujarati 16#0aac
+/bagurmukhi 16#0a2c
+/bahiragana 16#3070
+/bahtthai 16#0e3f
+/bakatakana 16#30d0
+/bar 16#007c
+/barmonospace 16#ff5c
+/bbopomofo 16#3105
+/bcircle 16#24d1
+/bdotaccent 16#1e03
+/bdotbelow 16#1e05
+/beamedsixteenthnotes 16#266c
+/because 16#2235
+/becyrillic 16#0431
+/beharabic 16#0628
+/behfinalarabic 16#fe90
+/behinitialarabic 16#fe91
+/behiragana 16#3079
+/behmedialarabic 16#fe92
+/behmeeminitialarabic 16#fc9f
+/behmeemisolatedarabic 16#fc08
+/behnoonfinalarabic 16#fc6d
+/bekatakana 16#30d9
+/benarmenian 16#0562
+/bet 16#05d1
+/beta 16#03b2
+/betasymbolgreek 16#03d0
+/betdagesh 16#fb31
+/betdageshhebrew 16#fb31
+/bethebrew 16#05d1
+/betrafehebrew 16#fb4c
+/bhabengali 16#09ad
+/bhadeva 16#092d
+/bhagujarati 16#0aad
+/bhagurmukhi 16#0a2d
+/bhook 16#0253
+/bihiragana 16#3073
+/bikatakana 16#30d3
+/bilabialclick 16#0298
+/bindigurmukhi 16#0a02
+/birusquare 16#3331
+/blackcircle 16#25cf
+/blackdiamond 16#25c6
+/blackdownpointingtriangle 16#25bc
+/blackleftpointingpointer 16#25c4
+/blackleftpointingtriangle 16#25c0
+/blacklenticularbracketleft 16#3010
+/blacklenticularbracketleftvertical 16#fe3b
+/blacklenticularbracketright 16#3011
+/blacklenticularbracketrightvertical 16#fe3c
+/blacklowerlefttriangle 16#25e3
+/blacklowerrighttriangle 16#25e2
+/blackrectangle 16#25ac
+/blackrightpointingpointer 16#25ba
+/blackrightpointingtriangle 16#25b6
+/blacksmallsquare 16#25aa
+/blacksmilingface 16#263b
+/blacksquare 16#25a0
+/blackstar 16#2605
+/blackupperlefttriangle 16#25e4
+/blackupperrighttriangle 16#25e5
+/blackuppointingsmalltriangle 16#25b4
+/blackuppointingtriangle 16#25b2
+/blank 16#2423
+/blinebelow 16#1e07
+/block 16#2588
+/bmonospace 16#ff42
+/bobaimaithai 16#0e1a
+/bohiragana 16#307c
+/bokatakana 16#30dc
+/bparen 16#249d
+/bqsquare 16#33c3
+/braceex 16#f8f4
+/braceleft 16#007b
+/braceleftbt 16#f8f3
+/braceleftmid 16#f8f2
+/braceleftmonospace 16#ff5b
+/braceleftsmall 16#fe5b
+/bracelefttp 16#f8f1
+/braceleftvertical 16#fe37
+/braceright 16#007d
+/bracerightbt 16#f8fe
+/bracerightmid 16#f8fd
+/bracerightmonospace 16#ff5d
+/bracerightsmall 16#fe5c
+/bracerighttp 16#f8fc
+/bracerightvertical 16#fe38
+/bracketleft 16#005b
+/bracketleftbt 16#f8f0
+/bracketleftex 16#f8ef
+/bracketleftmonospace 16#ff3b
+/bracketlefttp 16#f8ee
+/bracketright 16#005d
+/bracketrightbt 16#f8fb
+/bracketrightex 16#f8fa
+/bracketrightmonospace 16#ff3d
+/bracketrighttp 16#f8f9
+/breve 16#02d8
+/brevebelowcmb 16#032e
+/brevecmb 16#0306
+/breveinvertedbelowcmb 16#032f
+/breveinvertedcmb 16#0311
+/breveinverteddoublecmb 16#0361
+/bridgebelowcmb 16#032a
+/bridgeinvertedbelowcmb 16#033a
+/brokenbar 16#00a6
+/bstroke 16#0180
+/bsuperior 16#f6ea
+/btopbar 16#0183
+/buhiragana 16#3076
+/bukatakana 16#30d6
+/bullet 16#2022
+/bulletinverse 16#25d8
+/bulletoperator 16#2219
+/bullseye 16#25ce
+/c 16#0063
+/caarmenian 16#056e
+/cabengali 16#099a
+/cacute 16#0107
+/cadeva 16#091a
+/cagujarati 16#0a9a
+/cagurmukhi 16#0a1a
+/calsquare 16#3388
+/candrabindubengali 16#0981
+/candrabinducmb 16#0310
+/candrabindudeva 16#0901
+/candrabindugujarati 16#0a81
+/capslock 16#21ea
+/careof 16#2105
+/caron 16#02c7
+/caronbelowcmb 16#032c
+/caroncmb 16#030c
+/carriagereturn 16#21b5
+/cbopomofo 16#3118
+/ccaron 16#010d
+/ccedilla 16#00e7
+/ccedillaacute 16#1e09
+/ccircle 16#24d2
+/ccircumflex 16#0109
+/ccurl 16#0255
+/cdot 16#010b
+/cdotaccent 16#010b
+/cdsquare 16#33c5
+/cedilla 16#00b8
+/cedillacmb 16#0327
+/cent 16#00a2
+/centigrade 16#2103
+/centinferior 16#f6df
+/centmonospace 16#ffe0
+/centoldstyle 16#f7a2
+/centsuperior 16#f6e0
+/chaarmenian 16#0579
+/chabengali 16#099b
+/chadeva 16#091b
+/chagujarati 16#0a9b
+/chagurmukhi 16#0a1b
+/chbopomofo 16#3114
+/cheabkhasiancyrillic 16#04bd
+/checkmark 16#2713
+/checyrillic 16#0447
+/chedescenderabkhasiancyrillic 16#04bf
+/chedescendercyrillic 16#04b7
+/chedieresiscyrillic 16#04f5
+/cheharmenian 16#0573
+/chekhakassiancyrillic 16#04cc
+/cheverticalstrokecyrillic 16#04b9
+/chi 16#03c7
+/chieuchacirclekorean 16#3277
+/chieuchaparenkorean 16#3217
+/chieuchcirclekorean 16#3269
+/chieuchkorean 16#314a
+/chieuchparenkorean 16#3209
+/chochangthai 16#0e0a
+/chochanthai 16#0e08
+/chochingthai 16#0e09
+/chochoethai 16#0e0c
+/chook 16#0188
+/cieucacirclekorean 16#3276
+/cieucaparenkorean 16#3216
+/cieuccirclekorean 16#3268
+/cieuckorean 16#3148
+/cieucparenkorean 16#3208
+/cieucuparenkorean 16#321c
+/circle 16#25cb
+/circlemultiply 16#2297
+/circleot 16#2299
+/circleplus 16#2295
+/circlepostalmark 16#3036
+/circlewithlefthalfblack 16#25d0
+/circlewithrighthalfblack 16#25d1
+/circumflex 16#02c6
+/circumflexbelowcmb 16#032d
+/circumflexcmb 16#0302
+/clear 16#2327
+/clickalveolar 16#01c2
+/clickdental 16#01c0
+/clicklateral 16#01c1
+/clickretroflex 16#01c3
+/club 16#2663
+/clubsuitblack 16#2663
+/clubsuitwhite 16#2667
+/cmcubedsquare 16#33a4
+/cmonospace 16#ff43
+/cmsquaredsquare 16#33a0
+/coarmenian 16#0581
+/colon 16#003a
+/colonmonetary 16#20a1
+/colonmonospace 16#ff1a
+/colonsign 16#20a1
+/colonsmall 16#fe55
+/colontriangularhalfmod 16#02d1
+/colontriangularmod 16#02d0
+/comma 16#002c
+/commaabovecmb 16#0313
+/commaaboverightcmb 16#0315
+/commaaccent 16#f6c3
+/commaarabic 16#060c
+/commaarmenian 16#055d
+/commainferior 16#f6e1
+/commamonospace 16#ff0c
+/commareversedabovecmb 16#0314
+/commareversedmod 16#02bd
+/commasmall 16#fe50
+/commasuperior 16#f6e2
+/commaturnedabovecmb 16#0312
+/commaturnedmod 16#02bb
+/compass 16#263c
+/congruent 16#2245
+/contourintegral 16#222e
+/control 16#2303
+/controlACK 16#0006
+/controlBEL 16#0007
+/controlBS 16#0008
+/controlCAN 16#0018
+/controlCR 16#000d
+/controlDC1 16#0011
+/controlDC2 16#0012
+/controlDC3 16#0013
+/controlDC4 16#0014
+/controlDEL 16#007f
+/controlDLE 16#0010
+/controlEM 16#0019
+/controlENQ 16#0005
+/controlEOT 16#0004
+/controlESC 16#001b
+/controlETB 16#0017
+/controlETX 16#0003
+/controlFF 16#000c
+/controlFS 16#001c
+/controlGS 16#001d
+/controlHT 16#0009
+/controlLF 16#000a
+/controlNAK 16#0015
+/controlRS 16#001e
+/controlSI 16#000f
+/controlSO 16#000e
+/controlSOT 16#0002
+/controlSTX 16#0001
+/controlSUB 16#001a
+/controlSYN 16#0016
+/controlUS 16#001f
+/controlVT 16#000b
+/copyright 16#00a9
+/copyrightsans 16#f8e9
+/copyrightserif 16#f6d9
+/cornerbracketleft 16#300c
+/cornerbracketlefthalfwidth 16#ff62
+/cornerbracketleftvertical 16#fe41
+/cornerbracketright 16#300d
+/cornerbracketrighthalfwidth 16#ff63
+/cornerbracketrightvertical 16#fe42
+/corporationsquare 16#337f
+/cosquare 16#33c7
+/coverkgsquare 16#33c6
+/cparen 16#249e
+/cruzeiro 16#20a2
+/cstretched 16#0297
+/curlyand 16#22cf
+/curlyor 16#22ce
+/currency 16#00a4
+/cyrBreve 16#f6d1
+/cyrFlex 16#f6d2
+/cyrbreve 16#f6d4
+/cyrflex 16#f6d5
+/d 16#0064
+/daarmenian 16#0564
+/dabengali 16#09a6
+/dadarabic 16#0636
+/dadeva 16#0926
+/dadfinalarabic 16#febe
+/dadinitialarabic 16#febf
+/dadmedialarabic 16#fec0
+/dagesh 16#05bc
+/dageshhebrew 16#05bc
+/dagger 16#2020
+/daggerdbl 16#2021
+/dagujarati 16#0aa6
+/dagurmukhi 16#0a26
+/dahiragana 16#3060
+/dakatakana 16#30c0
+/dalarabic 16#062f
+/dalet 16#05d3
+/daletdagesh 16#fb33
+/daletdageshhebrew 16#fb33
+/dalethebrew 16#05d3
+/dalfinalarabic 16#feaa
+/dammaarabic 16#064f
+/dammalowarabic 16#064f
+/dammatanaltonearabic 16#064c
+/dammatanarabic 16#064c
+/danda 16#0964
+/dargahebrew 16#05a7
+/dargalefthebrew 16#05a7
+/dasiapneumatacyrilliccmb 16#0485
+/dblGrave 16#f6d3
+/dblanglebracketleft 16#300a
+/dblanglebracketleftvertical 16#fe3d
+/dblanglebracketright 16#300b
+/dblanglebracketrightvertical 16#fe3e
+/dblarchinvertedbelowcmb 16#032b
+/dblarrowleft 16#21d4
+/dblarrowright 16#21d2
+/dbldanda 16#0965
+/dblgrave 16#f6d6
+/dblgravecmb 16#030f
+/dblintegral 16#222c
+/dbllowline 16#2017
+/dbllowlinecmb 16#0333
+/dbloverlinecmb 16#033f
+/dblprimemod 16#02ba
+/dblverticalbar 16#2016
+/dblverticallineabovecmb 16#030e
+/dbopomofo 16#3109
+/dbsquare 16#33c8
+/dcaron 16#010f
+/dcedilla 16#1e11
+/dcircle 16#24d3
+/dcircumflexbelow 16#1e13
+/dcroat 16#0111
+/ddabengali 16#09a1
+/ddadeva 16#0921
+/ddagujarati 16#0aa1
+/ddagurmukhi 16#0a21
+/ddalarabic 16#0688
+/ddalfinalarabic 16#fb89
+/dddhadeva 16#095c
+/ddhabengali 16#09a2
+/ddhadeva 16#0922
+/ddhagujarati 16#0aa2
+/ddhagurmukhi 16#0a22
+/ddotaccent 16#1e0b
+/ddotbelow 16#1e0d
+/decimalseparatorarabic 16#066b
+/decimalseparatorpersian 16#066b
+/decyrillic 16#0434
+/degree 16#00b0
+/dehihebrew 16#05ad
+/dehiragana 16#3067
+/deicoptic 16#03ef
+/dekatakana 16#30c7
+/deleteleft 16#232b
+/deleteright 16#2326
+/delta 16#03b4
+/deltaturned 16#018d
+/denominatorminusonenumeratorbengali 16#09f8
+/dezh 16#02a4
+/dhabengali 16#09a7
+/dhadeva 16#0927
+/dhagujarati 16#0aa7
+/dhagurmukhi 16#0a27
+/dhook 16#0257
+/dialytikatonos 16#0385
+/dialytikatonoscmb 16#0344
+/diamond 16#2666
+/diamondsuitwhite 16#2662
+/dieresis 16#00a8
+/dieresisacute 16#f6d7
+/dieresisbelowcmb 16#0324
+/dieresiscmb 16#0308
+/dieresisgrave 16#f6d8
+/dieresistonos 16#0385
+/dihiragana 16#3062
+/dikatakana 16#30c2
+/dittomark 16#3003
+/divide 16#00f7
+/divides 16#2223
+/divisionslash 16#2215
+/djecyrillic 16#0452
+/dkshade 16#2593
+/dlinebelow 16#1e0f
+/dlsquare 16#3397
+/dmacron 16#0111
+/dmonospace 16#ff44
+/dnblock 16#2584
+/dochadathai 16#0e0e
+/dodekthai 16#0e14
+/dohiragana 16#3069
+/dokatakana 16#30c9
+/dollar 16#0024
+/dollarinferior 16#f6e3
+/dollarmonospace 16#ff04
+/dollaroldstyle 16#f724
+/dollarsmall 16#fe69
+/dollarsuperior 16#f6e4
+/dong 16#20ab
+/dorusquare 16#3326
+/dotaccent 16#02d9
+/dotaccentcmb 16#0307
+/dotbelowcmb 16#0323
+/dotbelowcomb 16#0323
+/dotkatakana 16#30fb
+/dotlessi 16#0131
+/dotlessj 16#f6be
+/dotlessjstrokehook 16#0284
+/dotmath 16#22c5
+/dottedcircle 16#25cc
+/doubleyodpatah 16#fb1f
+/doubleyodpatahhebrew 16#fb1f
+/downtackbelowcmb 16#031e
+/downtackmod 16#02d5
+/dparen 16#249f
+/dsuperior 16#f6eb
+/dtail 16#0256
+/dtopbar 16#018c
+/duhiragana 16#3065
+/dukatakana 16#30c5
+/dz 16#01f3
+/dzaltone 16#02a3
+/dzcaron 16#01c6
+/dzcurl 16#02a5
+/dzeabkhasiancyrillic 16#04e1
+/dzecyrillic 16#0455
+/dzhecyrillic 16#045f
+/e 16#0065
+/eacute 16#00e9
+/earth 16#2641
+/ebengali 16#098f
+/ebopomofo 16#311c
+/ebreve 16#0115
+/ecandradeva 16#090d
+/ecandragujarati 16#0a8d
+/ecandravowelsigndeva 16#0945
+/ecandravowelsigngujarati 16#0ac5
+/ecaron 16#011b
+/ecedillabreve 16#1e1d
+/echarmenian 16#0565
+/echyiwnarmenian 16#0587
+/ecircle 16#24d4
+/ecircumflex 16#00ea
+/ecircumflexacute 16#1ebf
+/ecircumflexbelow 16#1e19
+/ecircumflexdotbelow 16#1ec7
+/ecircumflexgrave 16#1ec1
+/ecircumflexhookabove 16#1ec3
+/ecircumflextilde 16#1ec5
+/ecyrillic 16#0454
+/edblgrave 16#0205
+/edeva 16#090f
+/edieresis 16#00eb
+/edot 16#0117
+/edotaccent 16#0117
+/edotbelow 16#1eb9
+/eegurmukhi 16#0a0f
+/eematragurmukhi 16#0a47
+/efcyrillic 16#0444
+/egrave 16#00e8
+/egujarati 16#0a8f
+/eharmenian 16#0567
+/ehbopomofo 16#311d
+/ehiragana 16#3048
+/ehookabove 16#1ebb
+/eibopomofo 16#311f
+/eight 16#0038
+/eightarabic 16#0668
+/eightbengali 16#09ee
+/eightcircle 16#2467
+/eightcircleinversesansserif 16#2791
+/eightdeva 16#096e
+/eighteencircle 16#2471
+/eighteenparen 16#2485
+/eighteenperiod 16#2499
+/eightgujarati 16#0aee
+/eightgurmukhi 16#0a6e
+/eighthackarabic 16#0668
+/eighthangzhou 16#3028
+/eighthnotebeamed 16#266b
+/eightideographicparen 16#3227
+/eightinferior 16#2088
+/eightmonospace 16#ff18
+/eightoldstyle 16#f738
+/eightparen 16#247b
+/eightperiod 16#248f
+/eightpersian 16#06f8
+/eightroman 16#2177
+/eightsuperior 16#2078
+/eightthai 16#0e58
+/einvertedbreve 16#0207
+/eiotifiedcyrillic 16#0465
+/ekatakana 16#30a8
+/ekatakanahalfwidth 16#ff74
+/ekonkargurmukhi 16#0a74
+/ekorean 16#3154
+/elcyrillic 16#043b
+/element 16#2208
+/elevencircle 16#246a
+/elevenparen 16#247e
+/elevenperiod 16#2492
+/elevenroman 16#217a
+/ellipsis 16#2026
+/ellipsisvertical 16#22ee
+/emacron 16#0113
+/emacronacute 16#1e17
+/emacrongrave 16#1e15
+/emcyrillic 16#043c
+/emdash 16#2014
+/emdashvertical 16#fe31
+/emonospace 16#ff45
+/emphasismarkarmenian 16#055b
+/emptyset 16#2205
+/enbopomofo 16#3123
+/encyrillic 16#043d
+/endash 16#2013
+/endashvertical 16#fe32
+/endescendercyrillic 16#04a3
+/eng 16#014b
+/engbopomofo 16#3125
+/enghecyrillic 16#04a5
+/enhookcyrillic 16#04c8
+/enspace 16#2002
+/eogonek 16#0119
+/eokorean 16#3153
+/eopen 16#025b
+/eopenclosed 16#029a
+/eopenreversed 16#025c
+/eopenreversedclosed 16#025e
+/eopenreversedhook 16#025d
+/eparen 16#24a0
+/epsilon 16#03b5
+/epsilontonos 16#03ad
+/equal 16#003d
+/equalmonospace 16#ff1d
+/equalsmall 16#fe66
+/equalsuperior 16#207c
+/equivalence 16#2261
+/erbopomofo 16#3126
+/ercyrillic 16#0440
+/ereversed 16#0258
+/ereversedcyrillic 16#044d
+/escyrillic 16#0441
+/esdescendercyrillic 16#04ab
+/esh 16#0283
+/eshcurl 16#0286
+/eshortdeva 16#090e
+/eshortvowelsigndeva 16#0946
+/eshreversedloop 16#01aa
+/eshsquatreversed 16#0285
+/esmallhiragana 16#3047
+/esmallkatakana 16#30a7
+/esmallkatakanahalfwidth 16#ff6a
+/estimated 16#212e
+/esuperior 16#f6ec
+/eta 16#03b7
+/etarmenian 16#0568
+/etatonos 16#03ae
+/eth 16#00f0
+/etilde 16#1ebd
+/etildebelow 16#1e1b
+/etnahtafoukhhebrew 16#0591
+/etnahtafoukhlefthebrew 16#0591
+/etnahtahebrew 16#0591
+/etnahtalefthebrew 16#0591
+/eturned 16#01dd
+/eukorean 16#3161
+/euro 16#20ac
+/evowelsignbengali 16#09c7
+/evowelsigndeva 16#0947
+/evowelsigngujarati 16#0ac7
+/exclam 16#0021
+/exclamarmenian 16#055c
+/exclamdbl 16#203c
+/exclamdown 16#00a1
+/exclamdownsmall 16#f7a1
+/exclammonospace 16#ff01
+/exclamsmall 16#f721
+/existential 16#2203
+/ezh 16#0292
+/ezhcaron 16#01ef
+/ezhcurl 16#0293
+/ezhreversed 16#01b9
+/ezhtail 16#01ba
+/f 16#0066
+/fadeva 16#095e
+/fagurmukhi 16#0a5e
+/fahrenheit 16#2109
+/fathaarabic 16#064e
+/fathalowarabic 16#064e
+/fathatanarabic 16#064b
+/fbopomofo 16#3108
+/fcircle 16#24d5
+/fdotaccent 16#1e1f
+/feharabic 16#0641
+/feharmenian 16#0586
+/fehfinalarabic 16#fed2
+/fehinitialarabic 16#fed3
+/fehmedialarabic 16#fed4
+/feicoptic 16#03e5
+/female 16#2640
+/ff 16#fb00
+/ffi 16#fb03
+/ffl 16#fb04
+/fi 16#fb01
+/fifteencircle 16#246e
+/fifteenparen 16#2482
+/fifteenperiod 16#2496
+/figuredash 16#2012
+/filledbox 16#25a0
+/filledrect 16#25ac
+/finalkaf 16#05da
+/finalkafdagesh 16#fb3a
+/finalkafdageshhebrew 16#fb3a
+/finalkafhebrew 16#05da
+/finalmem 16#05dd
+/finalmemhebrew 16#05dd
+/finalnun 16#05df
+/finalnunhebrew 16#05df
+/finalpe 16#05e3
+/finalpehebrew 16#05e3
+/finaltsadi 16#05e5
+/finaltsadihebrew 16#05e5
+/firsttonechinese 16#02c9
+/fisheye 16#25c9
+/fitacyrillic 16#0473
+/five 16#0035
+/fivearabic 16#0665
+/fivebengali 16#09eb
+/fivecircle 16#2464
+/fivecircleinversesansserif 16#278e
+/fivedeva 16#096b
+/fiveeighths 16#215d
+/fivegujarati 16#0aeb
+/fivegurmukhi 16#0a6b
+/fivehackarabic 16#0665
+/fivehangzhou 16#3025
+/fiveideographicparen 16#3224
+/fiveinferior 16#2085
+/fivemonospace 16#ff15
+/fiveoldstyle 16#f735
+/fiveparen 16#2478
+/fiveperiod 16#248c
+/fivepersian 16#06f5
+/fiveroman 16#2174
+/fivesuperior 16#2075
+/fivethai 16#0e55
+/fl 16#fb02
+/florin 16#0192
+/fmonospace 16#ff46
+/fmsquare 16#3399
+/fofanthai 16#0e1f
+/fofathai 16#0e1d
+/fongmanthai 16#0e4f
+/forall 16#2200
+/four 16#0034
+/fourarabic 16#0664
+/fourbengali 16#09ea
+/fourcircle 16#2463
+/fourcircleinversesansserif 16#278d
+/fourdeva 16#096a
+/fourgujarati 16#0aea
+/fourgurmukhi 16#0a6a
+/fourhackarabic 16#0664
+/fourhangzhou 16#3024
+/fourideographicparen 16#3223
+/fourinferior 16#2084
+/fourmonospace 16#ff14
+/fournumeratorbengali 16#09f7
+/fouroldstyle 16#f734
+/fourparen 16#2477
+/fourperiod 16#248b
+/fourpersian 16#06f4
+/fourroman 16#2173
+/foursuperior 16#2074
+/fourteencircle 16#246d
+/fourteenparen 16#2481
+/fourteenperiod 16#2495
+/fourthai 16#0e54
+/fourthtonechinese 16#02cb
+/fparen 16#24a1
+/fraction 16#2044
+/franc 16#20a3
+/g 16#0067
+/gabengali 16#0997
+/gacute 16#01f5
+/gadeva 16#0917
+/gafarabic 16#06af
+/gaffinalarabic 16#fb93
+/gafinitialarabic 16#fb94
+/gafmedialarabic 16#fb95
+/gagujarati 16#0a97
+/gagurmukhi 16#0a17
+/gahiragana 16#304c
+/gakatakana 16#30ac
+/gamma 16#03b3
+/gammalatinsmall 16#0263
+/gammasuperior 16#02e0
+/gangiacoptic 16#03eb
+/gbopomofo 16#310d
+/gbreve 16#011f
+/gcaron 16#01e7
+/gcedilla 16#0123
+/gcircle 16#24d6
+/gcircumflex 16#011d
+/gcommaaccent 16#0123
+/gdot 16#0121
+/gdotaccent 16#0121
+/gecyrillic 16#0433
+/gehiragana 16#3052
+/gekatakana 16#30b2
+/geometricallyequal 16#2251
+/gereshaccenthebrew 16#059c
+/gereshhebrew 16#05f3
+/gereshmuqdamhebrew 16#059d
+/germandbls 16#00df
+/gershayimaccenthebrew 16#059e
+/gershayimhebrew 16#05f4
+/getamark 16#3013
+/ghabengali 16#0998
+/ghadarmenian 16#0572
+/ghadeva 16#0918
+/ghagujarati 16#0a98
+/ghagurmukhi 16#0a18
+/ghainarabic 16#063a
+/ghainfinalarabic 16#fece
+/ghaininitialarabic 16#fecf
+/ghainmedialarabic 16#fed0
+/ghemiddlehookcyrillic 16#0495
+/ghestrokecyrillic 16#0493
+/gheupturncyrillic 16#0491
+/ghhadeva 16#095a
+/ghhagurmukhi 16#0a5a
+/ghook 16#0260
+/ghzsquare 16#3393
+/gihiragana 16#304e
+/gikatakana 16#30ae
+/gimarmenian 16#0563
+/gimel 16#05d2
+/gimeldagesh 16#fb32
+/gimeldageshhebrew 16#fb32
+/gimelhebrew 16#05d2
+/gjecyrillic 16#0453
+/glottalinvertedstroke 16#01be
+/glottalstop 16#0294
+/glottalstopinverted 16#0296
+/glottalstopmod 16#02c0
+/glottalstopreversed 16#0295
+/glottalstopreversedmod 16#02c1
+/glottalstopreversedsuperior 16#02e4
+/glottalstopstroke 16#02a1
+/glottalstopstrokereversed 16#02a2
+/gmacron 16#1e21
+/gmonospace 16#ff47
+/gohiragana 16#3054
+/gokatakana 16#30b4
+/gparen 16#24a2
+/gpasquare 16#33ac
+/gradient 16#2207
+/grave 16#0060
+/gravebelowcmb 16#0316
+/gravecmb 16#0300
+/gravecomb 16#0300
+/gravedeva 16#0953
+/gravelowmod 16#02ce
+/gravemonospace 16#ff40
+/gravetonecmb 16#0340
+/greater 16#003e
+/greaterequal 16#2265
+/greaterequalorless 16#22db
+/greatermonospace 16#ff1e
+/greaterorequivalent 16#2273
+/greaterorless 16#2277
+/greateroverequal 16#2267
+/greatersmall 16#fe65
+/gscript 16#0261
+/gstroke 16#01e5
+/guhiragana 16#3050
+/guillemotleft 16#00ab
+/guillemotright 16#00bb
+/guilsinglleft 16#2039
+/guilsinglright 16#203a
+/gukatakana 16#30b0
+/guramusquare 16#3318
+/gysquare 16#33c9
+/h 16#0068
+/haabkhasiancyrillic 16#04a9
+/haaltonearabic 16#06c1
+/habengali 16#09b9
+/hadescendercyrillic 16#04b3
+/hadeva 16#0939
+/hagujarati 16#0ab9
+/hagurmukhi 16#0a39
+/haharabic 16#062d
+/hahfinalarabic 16#fea2
+/hahinitialarabic 16#fea3
+/hahiragana 16#306f
+/hahmedialarabic 16#fea4
+/haitusquare 16#332a
+/hakatakana 16#30cf
+/hakatakanahalfwidth 16#ff8a
+/halantgurmukhi 16#0a4d
+/hamzaarabic 16#0621
+/hamzalowarabic 16#0621
+/hangulfiller 16#3164
+/hardsigncyrillic 16#044a
+/harpoonleftbarbup 16#21bc
+/harpoonrightbarbup 16#21c0
+/hasquare 16#33ca
+/hatafpatah 16#05b2
+/hatafpatah16 16#05b2
+/hatafpatah23 16#05b2
+/hatafpatah2f 16#05b2
+/hatafpatahhebrew 16#05b2
+/hatafpatahnarrowhebrew 16#05b2
+/hatafpatahquarterhebrew 16#05b2
+/hatafpatahwidehebrew 16#05b2
+/hatafqamats 16#05b3
+/hatafqamats1b 16#05b3
+/hatafqamats28 16#05b3
+/hatafqamats34 16#05b3
+/hatafqamatshebrew 16#05b3
+/hatafqamatsnarrowhebrew 16#05b3
+/hatafqamatsquarterhebrew 16#05b3
+/hatafqamatswidehebrew 16#05b3
+/hatafsegol 16#05b1
+/hatafsegol17 16#05b1
+/hatafsegol24 16#05b1
+/hatafsegol30 16#05b1
+/hatafsegolhebrew 16#05b1
+/hatafsegolnarrowhebrew 16#05b1
+/hatafsegolquarterhebrew 16#05b1
+/hatafsegolwidehebrew 16#05b1
+/hbar 16#0127
+/hbopomofo 16#310f
+/hbrevebelow 16#1e2b
+/hcedilla 16#1e29
+/hcircle 16#24d7
+/hcircumflex 16#0125
+/hdieresis 16#1e27
+/hdotaccent 16#1e23
+/hdotbelow 16#1e25
+/he 16#05d4
+/heart 16#2665
+/heartsuitblack 16#2665
+/heartsuitwhite 16#2661
+/hedagesh 16#fb34
+/hedageshhebrew 16#fb34
+/hehaltonearabic 16#06c1
+/heharabic 16#0647
+/hehebrew 16#05d4
+/hehfinalaltonearabic 16#fba7
+/hehfinalalttwoarabic 16#feea
+/hehfinalarabic 16#feea
+/hehhamzaabovefinalarabic 16#fba5
+/hehhamzaaboveisolatedarabic 16#fba4
+/hehinitialaltonearabic 16#fba8
+/hehinitialarabic 16#feeb
+/hehiragana 16#3078
+/hehmedialaltonearabic 16#fba9
+/hehmedialarabic 16#feec
+/heiseierasquare 16#337b
+/hekatakana 16#30d8
+/hekatakanahalfwidth 16#ff8d
+/hekutaarusquare 16#3336
+/henghook 16#0267
+/herutusquare 16#3339
+/het 16#05d7
+/hethebrew 16#05d7
+/hhook 16#0266
+/hhooksuperior 16#02b1
+/hieuhacirclekorean 16#327b
+/hieuhaparenkorean 16#321b
+/hieuhcirclekorean 16#326d
+/hieuhkorean 16#314e
+/hieuhparenkorean 16#320d
+/hihiragana 16#3072
+/hikatakana 16#30d2
+/hikatakanahalfwidth 16#ff8b
+/hiriq 16#05b4
+/hiriq14 16#05b4
+/hiriq21 16#05b4
+/hiriq2d 16#05b4
+/hiriqhebrew 16#05b4
+/hiriqnarrowhebrew 16#05b4
+/hiriqquarterhebrew 16#05b4
+/hiriqwidehebrew 16#05b4
+/hlinebelow 16#1e96
+/hmonospace 16#ff48
+/hoarmenian 16#0570
+/hohipthai 16#0e2b
+/hohiragana 16#307b
+/hokatakana 16#30db
+/hokatakanahalfwidth 16#ff8e
+/holam 16#05b9
+/holam19 16#05b9
+/holam26 16#05b9
+/holam32 16#05b9
+/holamhebrew 16#05b9
+/holamnarrowhebrew 16#05b9
+/holamquarterhebrew 16#05b9
+/holamwidehebrew 16#05b9
+/honokhukthai 16#0e2e
+/hookabovecomb 16#0309
+/hookcmb 16#0309
+/hookpalatalizedbelowcmb 16#0321
+/hookretroflexbelowcmb 16#0322
+/hoonsquare 16#3342
+/horicoptic 16#03e9
+/horizontalbar 16#2015
+/horncmb 16#031b
+/hotsprings 16#2668
+/house 16#2302
+/hparen 16#24a3
+/hsuperior 16#02b0
+/hturned 16#0265
+/huhiragana 16#3075
+/huiitosquare 16#3333
+/hukatakana 16#30d5
+/hukatakanahalfwidth 16#ff8c
+/hungarumlaut 16#02dd
+/hungarumlautcmb 16#030b
+/hv 16#0195
+/hyphen 16#002d
+/hypheninferior 16#f6e5
+/hyphenmonospace 16#ff0d
+/hyphensmall 16#fe63
+/hyphensuperior 16#f6e6
+/hyphentwo 16#2010
+/i 16#0069
+/iacute 16#00ed
+/iacyrillic 16#044f
+/ibengali 16#0987
+/ibopomofo 16#3127
+/ibreve 16#012d
+/icaron 16#01d0
+/icircle 16#24d8
+/icircumflex 16#00ee
+/icyrillic 16#0456
+/idblgrave 16#0209
+/ideographearthcircle 16#328f
+/ideographfirecircle 16#328b
+/ideographicallianceparen 16#323f
+/ideographiccallparen 16#323a
+/ideographiccentrecircle 16#32a5
+/ideographicclose 16#3006
+/ideographiccomma 16#3001
+/ideographiccommaleft 16#ff64
+/ideographiccongratulationparen 16#3237
+/ideographiccorrectcircle 16#32a3
+/ideographicearthparen 16#322f
+/ideographicenterpriseparen 16#323d
+/ideographicexcellentcircle 16#329d
+/ideographicfestivalparen 16#3240
+/ideographicfinancialcircle 16#3296
+/ideographicfinancialparen 16#3236
+/ideographicfireparen 16#322b
+/ideographichaveparen 16#3232
+/ideographichighcircle 16#32a4
+/ideographiciterationmark 16#3005
+/ideographiclaborcircle 16#3298
+/ideographiclaborparen 16#3238
+/ideographicleftcircle 16#32a7
+/ideographiclowcircle 16#32a6
+/ideographicmedicinecircle 16#32a9
+/ideographicmetalparen 16#322e
+/ideographicmoonparen 16#322a
+/ideographicnameparen 16#3234
+/ideographicperiod 16#3002
+/ideographicprintcircle 16#329e
+/ideographicreachparen 16#3243
+/ideographicrepresentparen 16#3239
+/ideographicresourceparen 16#323e
+/ideographicrightcircle 16#32a8
+/ideographicsecretcircle 16#3299
+/ideographicselfparen 16#3242
+/ideographicsocietyparen 16#3233
+/ideographicspace 16#3000
+/ideographicspecialparen 16#3235
+/ideographicstockparen 16#3231
+/ideographicstudyparen 16#323b
+/ideographicsunparen 16#3230
+/ideographicsuperviseparen 16#323c
+/ideographicwaterparen 16#322c
+/ideographicwoodparen 16#322d
+/ideographiczero 16#3007
+/ideographmetalcircle 16#328e
+/ideographmooncircle 16#328a
+/ideographnamecircle 16#3294
+/ideographsuncircle 16#3290
+/ideographwatercircle 16#328c
+/ideographwoodcircle 16#328d
+/ideva 16#0907
+/idieresis 16#00ef
+/idieresisacute 16#1e2f
+/idieresiscyrillic 16#04e5
+/idotbelow 16#1ecb
+/iebrevecyrillic 16#04d7
+/iecyrillic 16#0435
+/ieungacirclekorean 16#3275
+/ieungaparenkorean 16#3215
+/ieungcirclekorean 16#3267
+/ieungkorean 16#3147
+/ieungparenkorean 16#3207
+/igrave 16#00ec
+/igujarati 16#0a87
+/igurmukhi 16#0a07
+/ihiragana 16#3044
+/ihookabove 16#1ec9
+/iibengali 16#0988
+/iicyrillic 16#0438
+/iideva 16#0908
+/iigujarati 16#0a88
+/iigurmukhi 16#0a08
+/iimatragurmukhi 16#0a40
+/iinvertedbreve 16#020b
+/iishortcyrillic 16#0439
+/iivowelsignbengali 16#09c0
+/iivowelsigndeva 16#0940
+/iivowelsigngujarati 16#0ac0
+/ij 16#0133
+/ikatakana 16#30a4
+/ikatakanahalfwidth 16#ff72
+/ikorean 16#3163
+/ilde 16#02dc
+/iluyhebrew 16#05ac
+/imacron 16#012b
+/imacroncyrillic 16#04e3
+/imageorapproximatelyequal 16#2253
+/imatragurmukhi 16#0a3f
+/imonospace 16#ff49
+/increment 16#2206
+/infinity 16#221e
+/iniarmenian 16#056b
+/integral 16#222b
+/integralbottom 16#2321
+/integralbt 16#2321
+/integralex 16#f8f5
+/integraltop 16#2320
+/integraltp 16#2320
+/intersection 16#2229
+/intisquare 16#3305
+/invbullet 16#25d8
+/invcircle 16#25d9
+/invsmileface 16#263b
+/iocyrillic 16#0451
+/iogonek 16#012f
+/iota 16#03b9
+/iotadieresis 16#03ca
+/iotadieresistonos 16#0390
+/iotalatin 16#0269
+/iotatonos 16#03af
+/iparen 16#24a4
+/irigurmukhi 16#0a72
+/ismallhiragana 16#3043
+/ismallkatakana 16#30a3
+/ismallkatakanahalfwidth 16#ff68
+/issharbengali 16#09fa
+/istroke 16#0268
+/isuperior 16#f6ed
+/iterationhiragana 16#309d
+/iterationkatakana 16#30fd
+/itilde 16#0129
+/itildebelow 16#1e2d
+/iubopomofo 16#3129
+/iucyrillic 16#044e
+/ivowelsignbengali 16#09bf
+/ivowelsigndeva 16#093f
+/ivowelsigngujarati 16#0abf
+/izhitsacyrillic 16#0475
+/izhitsadblgravecyrillic 16#0477
+/j 16#006a
+/jaarmenian 16#0571
+/jabengali 16#099c
+/jadeva 16#091c
+/jagujarati 16#0a9c
+/jagurmukhi 16#0a1c
+/jbopomofo 16#3110
+/jcaron 16#01f0
+/jcircle 16#24d9
+/jcircumflex 16#0135
+/jcrossedtail 16#029d
+/jdotlessstroke 16#025f
+/jecyrillic 16#0458
+/jeemarabic 16#062c
+/jeemfinalarabic 16#fe9e
+/jeeminitialarabic 16#fe9f
+/jeemmedialarabic 16#fea0
+/jeharabic 16#0698
+/jehfinalarabic 16#fb8b
+/jhabengali 16#099d
+/jhadeva 16#091d
+/jhagujarati 16#0a9d
+/jhagurmukhi 16#0a1d
+/jheharmenian 16#057b
+/jis 16#3004
+/jmonospace 16#ff4a
+/jparen 16#24a5
+/jsuperior 16#02b2
+/k 16#006b
+/kabashkircyrillic 16#04a1
+/kabengali 16#0995
+/kacute 16#1e31
+/kacyrillic 16#043a
+/kadescendercyrillic 16#049b
+/kadeva 16#0915
+/kaf 16#05db
+/kafarabic 16#0643
+/kafdagesh 16#fb3b
+/kafdageshhebrew 16#fb3b
+/kaffinalarabic 16#feda
+/kafhebrew 16#05db
+/kafinitialarabic 16#fedb
+/kafmedialarabic 16#fedc
+/kafrafehebrew 16#fb4d
+/kagujarati 16#0a95
+/kagurmukhi 16#0a15
+/kahiragana 16#304b
+/kahookcyrillic 16#04c4
+/kakatakana 16#30ab
+/kakatakanahalfwidth 16#ff76
+/kappa 16#03ba
+/kappasymbolgreek 16#03f0
+/kapyeounmieumkorean 16#3171
+/kapyeounphieuphkorean 16#3184
+/kapyeounpieupkorean 16#3178
+/kapyeounssangpieupkorean 16#3179
+/karoriisquare 16#330d
+/kashidaautoarabic 16#0640
+/kashidaautonosidebearingarabic 16#0640
+/kasmallkatakana 16#30f5
+/kasquare 16#3384
+/kasraarabic 16#0650
+/kasratanarabic 16#064d
+/kastrokecyrillic 16#049f
+/katahiraprolongmarkhalfwidth 16#ff70
+/kaverticalstrokecyrillic 16#049d
+/kbopomofo 16#310e
+/kcalsquare 16#3389
+/kcaron 16#01e9
+/kcedilla 16#0137
+/kcircle 16#24da
+/kcommaaccent 16#0137
+/kdotbelow 16#1e33
+/keharmenian 16#0584
+/kehiragana 16#3051
+/kekatakana 16#30b1
+/kekatakanahalfwidth 16#ff79
+/kenarmenian 16#056f
+/kesmallkatakana 16#30f6
+/kgreenlandic 16#0138
+/khabengali 16#0996
+/khacyrillic 16#0445
+/khadeva 16#0916
+/khagujarati 16#0a96
+/khagurmukhi 16#0a16
+/khaharabic 16#062e
+/khahfinalarabic 16#fea6
+/khahinitialarabic 16#fea7
+/khahmedialarabic 16#fea8
+/kheicoptic 16#03e7
+/khhadeva 16#0959
+/khhagurmukhi 16#0a59
+/khieukhacirclekorean 16#3278
+/khieukhaparenkorean 16#3218
+/khieukhcirclekorean 16#326a
+/khieukhkorean 16#314b
+/khieukhparenkorean 16#320a
+/khokhaithai 16#0e02
+/khokhonthai 16#0e05
+/khokhuatthai 16#0e03
+/khokhwaithai 16#0e04
+/khomutthai 16#0e5b
+/khook 16#0199
+/khorakhangthai 16#0e06
+/khzsquare 16#3391
+/kihiragana 16#304d
+/kikatakana 16#30ad
+/kikatakanahalfwidth 16#ff77
+/kiroguramusquare 16#3315
+/kiromeetorusquare 16#3316
+/kirosquare 16#3314
+/kiyeokacirclekorean 16#326e
+/kiyeokaparenkorean 16#320e
+/kiyeokcirclekorean 16#3260
+/kiyeokkorean 16#3131
+/kiyeokparenkorean 16#3200
+/kiyeoksioskorean 16#3133
+/kjecyrillic 16#045c
+/klinebelow 16#1e35
+/klsquare 16#3398
+/kmcubedsquare 16#33a6
+/kmonospace 16#ff4b
+/kmsquaredsquare 16#33a2
+/kohiragana 16#3053
+/kohmsquare 16#33c0
+/kokaithai 16#0e01
+/kokatakana 16#30b3
+/kokatakanahalfwidth 16#ff7a
+/kooposquare 16#331e
+/koppacyrillic 16#0481
+/koreanstandardsymbol 16#327f
+/koroniscmb 16#0343
+/kparen 16#24a6
+/kpasquare 16#33aa
+/ksicyrillic 16#046f
+/ktsquare 16#33cf
+/kturned 16#029e
+/kuhiragana 16#304f
+/kukatakana 16#30af
+/kukatakanahalfwidth 16#ff78
+/kvsquare 16#33b8
+/kwsquare 16#33be
+/l 16#006c
+/labengali 16#09b2
+/lacute 16#013a
+/ladeva 16#0932
+/lagujarati 16#0ab2
+/lagurmukhi 16#0a32
+/lakkhangyaothai 16#0e45
+/lamaleffinalarabic 16#fefc
+/lamalefhamzaabovefinalarabic 16#fef8
+/lamalefhamzaaboveisolatedarabic 16#fef7
+/lamalefhamzabelowfinalarabic 16#fefa
+/lamalefhamzabelowisolatedarabic 16#fef9
+/lamalefisolatedarabic 16#fefb
+/lamalefmaddaabovefinalarabic 16#fef6
+/lamalefmaddaaboveisolatedarabic 16#fef5
+/lamarabic 16#0644
+/lambda 16#03bb
+/lambdastroke 16#019b
+/lamed 16#05dc
+/lameddagesh 16#fb3c
+/lameddageshhebrew 16#fb3c
+/lamedhebrew 16#05dc
+/lamfinalarabic 16#fede
+/lamhahinitialarabic 16#fcca
+/laminitialarabic 16#fedf
+/lamjeeminitialarabic 16#fcc9
+/lamkhahinitialarabic 16#fccb
+/lamlamhehisolatedarabic 16#fdf2
+/lammedialarabic 16#fee0
+/lammeemhahinitialarabic 16#fd88
+/lammeeminitialarabic 16#fccc
+/largecircle 16#25ef
+/lbar 16#019a
+/lbelt 16#026c
+/lbopomofo 16#310c
+/lcaron 16#013e
+/lcedilla 16#013c
+/lcircle 16#24db
+/lcircumflexbelow 16#1e3d
+/lcommaaccent 16#013c
+/ldot 16#0140
+/ldotaccent 16#0140
+/ldotbelow 16#1e37
+/ldotbelowmacron 16#1e39
+/leftangleabovecmb 16#031a
+/lefttackbelowcmb 16#0318
+/less 16#003c
+/lessequal 16#2264
+/lessequalorgreater 16#22da
+/lessmonospace 16#ff1c
+/lessorequivalent 16#2272
+/lessorgreater 16#2276
+/lessoverequal 16#2266
+/lesssmall 16#fe64
+/lezh 16#026e
+/lfblock 16#258c
+/lhookretroflex 16#026d
+/lira 16#20a4
+/liwnarmenian 16#056c
+/lj 16#01c9
+/ljecyrillic 16#0459
+/ll 16#f6c0
+/lladeva 16#0933
+/llagujarati 16#0ab3
+/llinebelow 16#1e3b
+/llladeva 16#0934
+/llvocalicbengali 16#09e1
+/llvocalicdeva 16#0961
+/llvocalicvowelsignbengali 16#09e3
+/llvocalicvowelsigndeva 16#0963
+/lmiddletilde 16#026b
+/lmonospace 16#ff4c
+/lmsquare 16#33d0
+/lochulathai 16#0e2c
+/logicaland 16#2227
+/logicalnot 16#00ac
+/logicalnotreversed 16#2310
+/logicalor 16#2228
+/lolingthai 16#0e25
+/longs 16#017f
+/lowlinecenterline 16#fe4e
+/lowlinecmb 16#0332
+/lowlinedashed 16#fe4d
+/lozenge 16#25ca
+/lparen 16#24a7
+/lslash 16#0142
+/lsquare 16#2113
+/lsuperior 16#f6ee
+/ltshade 16#2591
+/luthai 16#0e26
+/lvocalicbengali 16#098c
+/lvocalicdeva 16#090c
+/lvocalicvowelsignbengali 16#09e2
+/lvocalicvowelsigndeva 16#0962
+/lxsquare 16#33d3
+/m 16#006d
+/mabengali 16#09ae
+/macron 16#00af
+/macronbelowcmb 16#0331
+/macroncmb 16#0304
+/macronlowmod 16#02cd
+/macronmonospace 16#ffe3
+/macute 16#1e3f
+/madeva 16#092e
+/magujarati 16#0aae
+/magurmukhi 16#0a2e
+/mahapakhhebrew 16#05a4
+/mahapakhlefthebrew 16#05a4
+/mahiragana 16#307e
+/maichattawalowleftthai 16#f895
+/maichattawalowrightthai 16#f894
+/maichattawathai 16#0e4b
+/maichattawaupperleftthai 16#f893
+/maieklowleftthai 16#f88c
+/maieklowrightthai 16#f88b
+/maiekthai 16#0e48
+/maiekupperleftthai 16#f88a
+/maihanakatleftthai 16#f884
+/maihanakatthai 16#0e31
+/maitaikhuleftthai 16#f889
+/maitaikhuthai 16#0e47
+/maitholowleftthai 16#f88f
+/maitholowrightthai 16#f88e
+/maithothai 16#0e49
+/maithoupperleftthai 16#f88d
+/maitrilowleftthai 16#f892
+/maitrilowrightthai 16#f891
+/maitrithai 16#0e4a
+/maitriupperleftthai 16#f890
+/maiyamokthai 16#0e46
+/makatakana 16#30de
+/makatakanahalfwidth 16#ff8f
+/male 16#2642
+/mansyonsquare 16#3347
+/maqafhebrew 16#05be
+/mars 16#2642
+/masoracirclehebrew 16#05af
+/masquare 16#3383
+/mbopomofo 16#3107
+/mbsquare 16#33d4
+/mcircle 16#24dc
+/mcubedsquare 16#33a5
+/mdotaccent 16#1e41
+/mdotbelow 16#1e43
+/meemarabic 16#0645
+/meemfinalarabic 16#fee2
+/meeminitialarabic 16#fee3
+/meemmedialarabic 16#fee4
+/meemmeeminitialarabic 16#fcd1
+/meemmeemisolatedarabic 16#fc48
+/meetorusquare 16#334d
+/mehiragana 16#3081
+/meizierasquare 16#337e
+/mekatakana 16#30e1
+/mekatakanahalfwidth 16#ff92
+/mem 16#05de
+/memdagesh 16#fb3e
+/memdageshhebrew 16#fb3e
+/memhebrew 16#05de
+/menarmenian 16#0574
+/merkhahebrew 16#05a5
+/merkhakefulahebrew 16#05a6
+/merkhakefulalefthebrew 16#05a6
+/merkhalefthebrew 16#05a5
+/mhook 16#0271
+/mhzsquare 16#3392
+/middledotkatakanahalfwidth 16#ff65
+/middot 16#00b7
+/mieumacirclekorean 16#3272
+/mieumaparenkorean 16#3212
+/mieumcirclekorean 16#3264
+/mieumkorean 16#3141
+/mieumpansioskorean 16#3170
+/mieumparenkorean 16#3204
+/mieumpieupkorean 16#316e
+/mieumsioskorean 16#316f
+/mihiragana 16#307f
+/mikatakana 16#30df
+/mikatakanahalfwidth 16#ff90
+/minus 16#2212
+/minusbelowcmb 16#0320
+/minuscircle 16#2296
+/minusmod 16#02d7
+/minusplus 16#2213
+/minute 16#2032
+/miribaarusquare 16#334a
+/mirisquare 16#3349
+/mlonglegturned 16#0270
+/mlsquare 16#3396
+/mmcubedsquare 16#33a3
+/mmonospace 16#ff4d
+/mmsquaredsquare 16#339f
+/mohiragana 16#3082
+/mohmsquare 16#33c1
+/mokatakana 16#30e2
+/mokatakanahalfwidth 16#ff93
+/molsquare 16#33d6
+/momathai 16#0e21
+/moverssquare 16#33a7
+/moverssquaredsquare 16#33a8
+/mparen 16#24a8
+/mpasquare 16#33ab
+/mssquare 16#33b3
+/msuperior 16#f6ef
+/mturned 16#026f
+/mu 16#00b5
+/mu1 16#00b5
+/muasquare 16#3382
+/muchgreater 16#226b
+/muchless 16#226a
+/mufsquare 16#338c
+/mugreek 16#03bc
+/mugsquare 16#338d
+/muhiragana 16#3080
+/mukatakana 16#30e0
+/mukatakanahalfwidth 16#ff91
+/mulsquare 16#3395
+/multiply 16#00d7
+/mumsquare 16#339b
+/munahhebrew 16#05a3
+/munahlefthebrew 16#05a3
+/musicalnote 16#266a
+/musicalnotedbl 16#266b
+/musicflatsign 16#266d
+/musicsharpsign 16#266f
+/mussquare 16#33b2
+/muvsquare 16#33b6
+/muwsquare 16#33bc
+/mvmegasquare 16#33b9
+/mvsquare 16#33b7
+/mwmegasquare 16#33bf
+/mwsquare 16#33bd
+/n 16#006e
+/nabengali 16#09a8
+/nabla 16#2207
+/nacute 16#0144
+/nadeva 16#0928
+/nagujarati 16#0aa8
+/nagurmukhi 16#0a28
+/nahiragana 16#306a
+/nakatakana 16#30ca
+/nakatakanahalfwidth 16#ff85
+/napostrophe 16#0149
+/nasquare 16#3381
+/nbopomofo 16#310b
+/nbspace 16#00a0
+/ncaron 16#0148
+/ncedilla 16#0146
+/ncircle 16#24dd
+/ncircumflexbelow 16#1e4b
+/ncommaaccent 16#0146
+/ndotaccent 16#1e45
+/ndotbelow 16#1e47
+/nehiragana 16#306d
+/nekatakana 16#30cd
+/nekatakanahalfwidth 16#ff88
+/newsheqelsign 16#20aa
+/nfsquare 16#338b
+/ngabengali 16#0999
+/ngadeva 16#0919
+/ngagujarati 16#0a99
+/ngagurmukhi 16#0a19
+/ngonguthai 16#0e07
+/nhiragana 16#3093
+/nhookleft 16#0272
+/nhookretroflex 16#0273
+/nieunacirclekorean 16#326f
+/nieunaparenkorean 16#320f
+/nieuncieuckorean 16#3135
+/nieuncirclekorean 16#3261
+/nieunhieuhkorean 16#3136
+/nieunkorean 16#3134
+/nieunpansioskorean 16#3168
+/nieunparenkorean 16#3201
+/nieunsioskorean 16#3167
+/nieuntikeutkorean 16#3166
+/nihiragana 16#306b
+/nikatakana 16#30cb
+/nikatakanahalfwidth 16#ff86
+/nikhahitleftthai 16#f899
+/nikhahitthai 16#0e4d
+/nine 16#0039
+/ninearabic 16#0669
+/ninebengali 16#09ef
+/ninecircle 16#2468
+/ninecircleinversesansserif 16#2792
+/ninedeva 16#096f
+/ninegujarati 16#0aef
+/ninegurmukhi 16#0a6f
+/ninehackarabic 16#0669
+/ninehangzhou 16#3029
+/nineideographicparen 16#3228
+/nineinferior 16#2089
+/ninemonospace 16#ff19
+/nineoldstyle 16#f739
+/nineparen 16#247c
+/nineperiod 16#2490
+/ninepersian 16#06f9
+/nineroman 16#2178
+/ninesuperior 16#2079
+/nineteencircle 16#2472
+/nineteenparen 16#2486
+/nineteenperiod 16#249a
+/ninethai 16#0e59
+/nj 16#01cc
+/njecyrillic 16#045a
+/nkatakana 16#30f3
+/nkatakanahalfwidth 16#ff9d
+/nlegrightlong 16#019e
+/nlinebelow 16#1e49
+/nmonospace 16#ff4e
+/nmsquare 16#339a
+/nnabengali 16#09a3
+/nnadeva 16#0923
+/nnagujarati 16#0aa3
+/nnagurmukhi 16#0a23
+/nnnadeva 16#0929
+/nohiragana 16#306e
+/nokatakana 16#30ce
+/nokatakanahalfwidth 16#ff89
+/nonbreakingspace 16#00a0
+/nonenthai 16#0e13
+/nonuthai 16#0e19
+/noonarabic 16#0646
+/noonfinalarabic 16#fee6
+/noonghunnaarabic 16#06ba
+/noonghunnafinalarabic 16#fb9f
+/nooninitialarabic 16#fee7
+/noonjeeminitialarabic 16#fcd2
+/noonjeemisolatedarabic 16#fc4b
+/noonmedialarabic 16#fee8
+/noonmeeminitialarabic 16#fcd5
+/noonmeemisolatedarabic 16#fc4e
+/noonnoonfinalarabic 16#fc8d
+/notcontains 16#220c
+/notelement 16#2209
+/notelementof 16#2209
+/notequal 16#2260
+/notgreater 16#226f
+/notgreaternorequal 16#2271
+/notgreaternorless 16#2279
+/notidentical 16#2262
+/notless 16#226e
+/notlessnorequal 16#2270
+/notparallel 16#2226
+/notprecedes 16#2280
+/notsubset 16#2284
+/notsucceeds 16#2281
+/notsuperset 16#2285
+/nowarmenian 16#0576
+/nparen 16#24a9
+/nssquare 16#33b1
+/nsuperior 16#207f
+/ntilde 16#00f1
+/nu 16#03bd
+/nuhiragana 16#306c
+/nukatakana 16#30cc
+/nukatakanahalfwidth 16#ff87
+/nuktabengali 16#09bc
+/nuktadeva 16#093c
+/nuktagujarati 16#0abc
+/nuktagurmukhi 16#0a3c
+/numbersign 16#0023
+/numbersignmonospace 16#ff03
+/numbersignsmall 16#fe5f
+/numeralsigngreek 16#0374
+/numeralsignlowergreek 16#0375
+/numero 16#2116
+/nun 16#05e0
+/nundagesh 16#fb40
+/nundageshhebrew 16#fb40
+/nunhebrew 16#05e0
+/nvsquare 16#33b5
+/nwsquare 16#33bb
+/nyabengali 16#099e
+/nyadeva 16#091e
+/nyagujarati 16#0a9e
+/nyagurmukhi 16#0a1e
+/o 16#006f
+/oacute 16#00f3
+/oangthai 16#0e2d
+/obarred 16#0275
+/obarredcyrillic 16#04e9
+/obarreddieresiscyrillic 16#04eb
+/obengali 16#0993
+/obopomofo 16#311b
+/obreve 16#014f
+/ocandradeva 16#0911
+/ocandragujarati 16#0a91
+/ocandravowelsigndeva 16#0949
+/ocandravowelsigngujarati 16#0ac9
+/ocaron 16#01d2
+/ocircle 16#24de
+/ocircumflex 16#00f4
+/ocircumflexacute 16#1ed1
+/ocircumflexdotbelow 16#1ed9
+/ocircumflexgrave 16#1ed3
+/ocircumflexhookabove 16#1ed5
+/ocircumflextilde 16#1ed7
+/ocyrillic 16#043e
+/odblacute 16#0151
+/odblgrave 16#020d
+/odeva 16#0913
+/odieresis 16#00f6
+/odieresiscyrillic 16#04e7
+/odotbelow 16#1ecd
+/oe 16#0153
+/oekorean 16#315a
+/ogonek 16#02db
+/ogonekcmb 16#0328
+/ograve 16#00f2
+/ogujarati 16#0a93
+/oharmenian 16#0585
+/ohiragana 16#304a
+/ohookabove 16#1ecf
+/ohorn 16#01a1
+/ohornacute 16#1edb
+/ohorndotbelow 16#1ee3
+/ohorngrave 16#1edd
+/ohornhookabove 16#1edf
+/ohorntilde 16#1ee1
+/ohungarumlaut 16#0151
+/oi 16#01a3
+/oinvertedbreve 16#020f
+/okatakana 16#30aa
+/okatakanahalfwidth 16#ff75
+/okorean 16#3157
+/olehebrew 16#05ab
+/omacron 16#014d
+/omacronacute 16#1e53
+/omacrongrave 16#1e51
+/omdeva 16#0950
+/omega 16#03c9
+/omega1 16#03d6
+/omegacyrillic 16#0461
+/omegalatinclosed 16#0277
+/omegaroundcyrillic 16#047b
+/omegatitlocyrillic 16#047d
+/omegatonos 16#03ce
+/omgujarati 16#0ad0
+/omicron 16#03bf
+/omicrontonos 16#03cc
+/omonospace 16#ff4f
+/one 16#0031
+/onearabic 16#0661
+/onebengali 16#09e7
+/onecircle 16#2460
+/onecircleinversesansserif 16#278a
+/onedeva 16#0967
+/onedotenleader 16#2024
+/oneeighth 16#215b
+/onefitted 16#f6dc
+/onegujarati 16#0ae7
+/onegurmukhi 16#0a67
+/onehackarabic 16#0661
+/onehalf 16#00bd
+/onehangzhou 16#3021
+/oneideographicparen 16#3220
+/oneinferior 16#2081
+/onemonospace 16#ff11
+/onenumeratorbengali 16#09f4
+/oneoldstyle 16#f731
+/oneparen 16#2474
+/oneperiod 16#2488
+/onepersian 16#06f1
+/onequarter 16#00bc
+/oneroman 16#2170
+/onesuperior 16#00b9
+/onethai 16#0e51
+/onethird 16#2153
+/oogonek 16#01eb
+/oogonekmacron 16#01ed
+/oogurmukhi 16#0a13
+/oomatragurmukhi 16#0a4b
+/oopen 16#0254
+/oparen 16#24aa
+/openbullet 16#25e6
+/option 16#2325
+/ordfeminine 16#00aa
+/ordmasculine 16#00ba
+/orthogonal 16#221f
+/oshortdeva 16#0912
+/oshortvowelsigndeva 16#094a
+/oslash 16#00f8
+/oslashacute 16#01ff
+/osmallhiragana 16#3049
+/osmallkatakana 16#30a9
+/osmallkatakanahalfwidth 16#ff6b
+/ostrokeacute 16#01ff
+/osuperior 16#f6f0
+/otcyrillic 16#047f
+/otilde 16#00f5
+/otildeacute 16#1e4d
+/otildedieresis 16#1e4f
+/oubopomofo 16#3121
+/overline 16#203e
+/overlinecenterline 16#fe4a
+/overlinecmb 16#0305
+/overlinedashed 16#fe49
+/overlinedblwavy 16#fe4c
+/overlinewavy 16#fe4b
+/overscore 16#00af
+/ovowelsignbengali 16#09cb
+/ovowelsigndeva 16#094b
+/ovowelsigngujarati 16#0acb
+/p 16#0070
+/paampssquare 16#3380
+/paasentosquare 16#332b
+/pabengali 16#09aa
+/pacute 16#1e55
+/padeva 16#092a
+/pagedown 16#21df
+/pageup 16#21de
+/pagujarati 16#0aaa
+/pagurmukhi 16#0a2a
+/pahiragana 16#3071
+/paiyannoithai 16#0e2f
+/pakatakana 16#30d1
+/palatalizationcyrilliccmb 16#0484
+/palochkacyrillic 16#04c0
+/pansioskorean 16#317f
+/paragraph 16#00b6
+/parallel 16#2225
+/parenleft 16#0028
+/parenleftaltonearabic 16#fd3e
+/parenleftbt 16#f8ed
+/parenleftex 16#f8ec
+/parenleftinferior 16#208d
+/parenleftmonospace 16#ff08
+/parenleftsmall 16#fe59
+/parenleftsuperior 16#207d
+/parenlefttp 16#f8eb
+/parenleftvertical 16#fe35
+/parenright 16#0029
+/parenrightaltonearabic 16#fd3f
+/parenrightbt 16#f8f8
+/parenrightex 16#f8f7
+/parenrightinferior 16#208e
+/parenrightmonospace 16#ff09
+/parenrightsmall 16#fe5a
+/parenrightsuperior 16#207e
+/parenrighttp 16#f8f6
+/parenrightvertical 16#fe36
+/partialdiff 16#2202
+/paseqhebrew 16#05c0
+/pashtahebrew 16#0599
+/pasquare 16#33a9
+/patah 16#05b7
+/patah11 16#05b7
+/patah1d 16#05b7
+/patah2a 16#05b7
+/patahhebrew 16#05b7
+/patahnarrowhebrew 16#05b7
+/patahquarterhebrew 16#05b7
+/patahwidehebrew 16#05b7
+/pazerhebrew 16#05a1
+/pbopomofo 16#3106
+/pcircle 16#24df
+/pdotaccent 16#1e57
+/pe 16#05e4
+/pecyrillic 16#043f
+/pedagesh 16#fb44
+/pedageshhebrew 16#fb44
+/peezisquare 16#333b
+/pefinaldageshhebrew 16#fb43
+/peharabic 16#067e
+/peharmenian 16#057a
+/pehebrew 16#05e4
+/pehfinalarabic 16#fb57
+/pehinitialarabic 16#fb58
+/pehiragana 16#307a
+/pehmedialarabic 16#fb59
+/pekatakana 16#30da
+/pemiddlehookcyrillic 16#04a7
+/perafehebrew 16#fb4e
+/percent 16#0025
+/percentarabic 16#066a
+/percentmonospace 16#ff05
+/percentsmall 16#fe6a
+/period 16#002e
+/periodarmenian 16#0589
+/periodcentered 16#00b7
+/periodhalfwidth 16#ff61
+/periodinferior 16#f6e7
+/periodmonospace 16#ff0e
+/periodsmall 16#fe52
+/periodsuperior 16#f6e8
+/perispomenigreekcmb 16#0342
+/perpendicular 16#22a5
+/perthousand 16#2030
+/peseta 16#20a7
+/pfsquare 16#338a
+/phabengali 16#09ab
+/phadeva 16#092b
+/phagujarati 16#0aab
+/phagurmukhi 16#0a2b
+/phi 16#03c6
+/phi1 16#03d5
+/phieuphacirclekorean 16#327a
+/phieuphaparenkorean 16#321a
+/phieuphcirclekorean 16#326c
+/phieuphkorean 16#314d
+/phieuphparenkorean 16#320c
+/philatin 16#0278
+/phinthuthai 16#0e3a
+/phisymbolgreek 16#03d5
+/phook 16#01a5
+/phophanthai 16#0e1e
+/phophungthai 16#0e1c
+/phosamphaothai 16#0e20
+/pi 16#03c0
+/pieupacirclekorean 16#3273
+/pieupaparenkorean 16#3213
+/pieupcieuckorean 16#3176
+/pieupcirclekorean 16#3265
+/pieupkiyeokkorean 16#3172
+/pieupkorean 16#3142
+/pieupparenkorean 16#3205
+/pieupsioskiyeokkorean 16#3174
+/pieupsioskorean 16#3144
+/pieupsiostikeutkorean 16#3175
+/pieupthieuthkorean 16#3177
+/pieuptikeutkorean 16#3173
+/pihiragana 16#3074
+/pikatakana 16#30d4
+/pisymbolgreek 16#03d6
+/piwrarmenian 16#0583
+/plus 16#002b
+/plusbelowcmb 16#031f
+/pluscircle 16#2295
+/plusminus 16#00b1
+/plusmod 16#02d6
+/plusmonospace 16#ff0b
+/plussmall 16#fe62
+/plussuperior 16#207a
+/pmonospace 16#ff50
+/pmsquare 16#33d8
+/pohiragana 16#307d
+/pointingindexdownwhite 16#261f
+/pointingindexleftwhite 16#261c
+/pointingindexrightwhite 16#261e
+/pointingindexupwhite 16#261d
+/pokatakana 16#30dd
+/poplathai 16#0e1b
+/postalmark 16#3012
+/postalmarkface 16#3020
+/pparen 16#24ab
+/precedes 16#227a
+/prescription 16#211e
+/primemod 16#02b9
+/primereversed 16#2035
+/product 16#220f
+/projective 16#2305
+/prolongedkana 16#30fc
+/propellor 16#2318
+/propersubset 16#2282
+/propersuperset 16#2283
+/proportion 16#2237
+/proportional 16#221d
+/psi 16#03c8
+/psicyrillic 16#0471
+/psilipneumatacyrilliccmb 16#0486
+/pssquare 16#33b0
+/puhiragana 16#3077
+/pukatakana 16#30d7
+/pvsquare 16#33b4
+/pwsquare 16#33ba
+/q 16#0071
+/qadeva 16#0958
+/qadmahebrew 16#05a8
+/qafarabic 16#0642
+/qaffinalarabic 16#fed6
+/qafinitialarabic 16#fed7
+/qafmedialarabic 16#fed8
+/qamats 16#05b8
+/qamats10 16#05b8
+/qamats1a 16#05b8
+/qamats1c 16#05b8
+/qamats27 16#05b8
+/qamats29 16#05b8
+/qamats33 16#05b8
+/qamatsde 16#05b8
+/qamatshebrew 16#05b8
+/qamatsnarrowhebrew 16#05b8
+/qamatsqatanhebrew 16#05b8
+/qamatsqatannarrowhebrew 16#05b8
+/qamatsqatanquarterhebrew 16#05b8
+/qamatsqatanwidehebrew 16#05b8
+/qamatsquarterhebrew 16#05b8
+/qamatswidehebrew 16#05b8
+/qarneyparahebrew 16#059f
+/qbopomofo 16#3111
+/qcircle 16#24e0
+/qhook 16#02a0
+/qmonospace 16#ff51
+/qof 16#05e7
+/qofdagesh 16#fb47
+/qofdageshhebrew 16#fb47
+/qofhebrew 16#05e7
+/qparen 16#24ac
+/quarternote 16#2669
+/qubuts 16#05bb
+/qubuts18 16#05bb
+/qubuts25 16#05bb
+/qubuts31 16#05bb
+/qubutshebrew 16#05bb
+/qubutsnarrowhebrew 16#05bb
+/qubutsquarterhebrew 16#05bb
+/qubutswidehebrew 16#05bb
+/question 16#003f
+/questionarabic 16#061f
+/questionarmenian 16#055e
+/questiondown 16#00bf
+/questiondownsmall 16#f7bf
+/questiongreek 16#037e
+/questionmonospace 16#ff1f
+/questionsmall 16#f73f
+/quotedbl 16#0022
+/quotedblbase 16#201e
+/quotedblleft 16#201c
+/quotedblmonospace 16#ff02
+/quotedblprime 16#301e
+/quotedblprimereversed 16#301d
+/quotedblright 16#201d
+/quoteleft 16#2018
+/quoteleftreversed 16#201b
+/quotereversed 16#201b
+/quoteright 16#2019
+/quoterightn 16#0149
+/quotesinglbase 16#201a
+/quotesingle 16#0027
+/quotesinglemonospace 16#ff07
+/r 16#0072
+/raarmenian 16#057c
+/rabengali 16#09b0
+/racute 16#0155
+/radeva 16#0930
+/radical 16#221a
+/radicalex 16#f8e5
+/radoverssquare 16#33ae
+/radoverssquaredsquare 16#33af
+/radsquare 16#33ad
+/rafe 16#05bf
+/rafehebrew 16#05bf
+/ragujarati 16#0ab0
+/ragurmukhi 16#0a30
+/rahiragana 16#3089
+/rakatakana 16#30e9
+/rakatakanahalfwidth 16#ff97
+/ralowerdiagonalbengali 16#09f1
+/ramiddlediagonalbengali 16#09f0
+/ramshorn 16#0264
+/ratio 16#2236
+/rbopomofo 16#3116
+/rcaron 16#0159
+/rcedilla 16#0157
+/rcircle 16#24e1
+/rcommaaccent 16#0157
+/rdblgrave 16#0211
+/rdotaccent 16#1e59
+/rdotbelow 16#1e5b
+/rdotbelowmacron 16#1e5d
+/referencemark 16#203b
+/reflexsubset 16#2286
+/reflexsuperset 16#2287
+/registered 16#00ae
+/registersans 16#f8e8
+/registerserif 16#f6da
+/reharabic 16#0631
+/reharmenian 16#0580
+/rehfinalarabic 16#feae
+/rehiragana 16#308c
+/rekatakana 16#30ec
+/rekatakanahalfwidth 16#ff9a
+/resh 16#05e8
+/reshdageshhebrew 16#fb48
+/reshhebrew 16#05e8
+/reversedtilde 16#223d
+/reviahebrew 16#0597
+/reviamugrashhebrew 16#0597
+/revlogicalnot 16#2310
+/rfishhook 16#027e
+/rfishhookreversed 16#027f
+/rhabengali 16#09dd
+/rhadeva 16#095d
+/rho 16#03c1
+/rhook 16#027d
+/rhookturned 16#027b
+/rhookturnedsuperior 16#02b5
+/rhosymbolgreek 16#03f1
+/rhotichookmod 16#02de
+/rieulacirclekorean 16#3271
+/rieulaparenkorean 16#3211
+/rieulcirclekorean 16#3263
+/rieulhieuhkorean 16#3140
+/rieulkiyeokkorean 16#313a
+/rieulkiyeoksioskorean 16#3169
+/rieulkorean 16#3139
+/rieulmieumkorean 16#313b
+/rieulpansioskorean 16#316c
+/rieulparenkorean 16#3203
+/rieulphieuphkorean 16#313f
+/rieulpieupkorean 16#313c
+/rieulpieupsioskorean 16#316b
+/rieulsioskorean 16#313d
+/rieulthieuthkorean 16#313e
+/rieultikeutkorean 16#316a
+/rieulyeorinhieuhkorean 16#316d
+/rightangle 16#221f
+/righttackbelowcmb 16#0319
+/righttriangle 16#22bf
+/rihiragana 16#308a
+/rikatakana 16#30ea
+/rikatakanahalfwidth 16#ff98
+/ring 16#02da
+/ringbelowcmb 16#0325
+/ringcmb 16#030a
+/ringhalfleft 16#02bf
+/ringhalfleftarmenian 16#0559
+/ringhalfleftbelowcmb 16#031c
+/ringhalfleftcentered 16#02d3
+/ringhalfright 16#02be
+/ringhalfrightbelowcmb 16#0339
+/ringhalfrightcentered 16#02d2
+/rinvertedbreve 16#0213
+/rittorusquare 16#3351
+/rlinebelow 16#1e5f
+/rlongleg 16#027c
+/rlonglegturned 16#027a
+/rmonospace 16#ff52
+/rohiragana 16#308d
+/rokatakana 16#30ed
+/rokatakanahalfwidth 16#ff9b
+/roruathai 16#0e23
+/rparen 16#24ad
+/rrabengali 16#09dc
+/rradeva 16#0931
+/rragurmukhi 16#0a5c
+/rreharabic 16#0691
+/rrehfinalarabic 16#fb8d
+/rrvocalicbengali 16#09e0
+/rrvocalicdeva 16#0960
+/rrvocalicgujarati 16#0ae0
+/rrvocalicvowelsignbengali 16#09c4
+/rrvocalicvowelsigndeva 16#0944
+/rrvocalicvowelsigngujarati 16#0ac4
+/rsuperior 16#f6f1
+/rtblock 16#2590
+/rturned 16#0279
+/rturnedsuperior 16#02b4
+/ruhiragana 16#308b
+/rukatakana 16#30eb
+/rukatakanahalfwidth 16#ff99
+/rupeemarkbengali 16#09f2
+/rupeesignbengali 16#09f3
+/rupiah 16#f6dd
+/ruthai 16#0e24
+/rvocalicbengali 16#098b
+/rvocalicdeva 16#090b
+/rvocalicgujarati 16#0a8b
+/rvocalicvowelsignbengali 16#09c3
+/rvocalicvowelsigndeva 16#0943
+/rvocalicvowelsigngujarati 16#0ac3
+/s 16#0073
+/sabengali 16#09b8
+/sacute 16#015b
+/sacutedotaccent 16#1e65
+/sadarabic 16#0635
+/sadeva 16#0938
+/sadfinalarabic 16#feba
+/sadinitialarabic 16#febb
+/sadmedialarabic 16#febc
+/sagujarati 16#0ab8
+/sagurmukhi 16#0a38
+/sahiragana 16#3055
+/sakatakana 16#30b5
+/sakatakanahalfwidth 16#ff7b
+/sallallahoualayhewasallamarabic 16#fdfa
+/samekh 16#05e1
+/samekhdagesh 16#fb41
+/samekhdageshhebrew 16#fb41
+/samekhhebrew 16#05e1
+/saraaathai 16#0e32
+/saraaethai 16#0e41
+/saraaimaimalaithai 16#0e44
+/saraaimaimuanthai 16#0e43
+/saraamthai 16#0e33
+/saraathai 16#0e30
+/saraethai 16#0e40
+/saraiileftthai 16#f886
+/saraiithai 16#0e35
+/saraileftthai 16#f885
+/saraithai 16#0e34
+/saraothai 16#0e42
+/saraueeleftthai 16#f888
+/saraueethai 16#0e37
+/saraueleftthai 16#f887
+/sarauethai 16#0e36
+/sarauthai 16#0e38
+/sarauuthai 16#0e39
+/sbopomofo 16#3119
+/scaron 16#0161
+/scarondotaccent 16#1e67
+/scedilla 16#015f
+/schwa 16#0259
+/schwacyrillic 16#04d9
+/schwadieresiscyrillic 16#04db
+/schwahook 16#025a
+/scircle 16#24e2
+/scircumflex 16#015d
+/scommaaccent 16#0219
+/sdotaccent 16#1e61
+/sdotbelow 16#1e63
+/sdotbelowdotaccent 16#1e69
+/seagullbelowcmb 16#033c
+/second 16#2033
+/secondtonechinese 16#02ca
+/section 16#00a7
+/seenarabic 16#0633
+/seenfinalarabic 16#feb2
+/seeninitialarabic 16#feb3
+/seenmedialarabic 16#feb4
+/segol 16#05b6
+/segol13 16#05b6
+/segol1f 16#05b6
+/segol2c 16#05b6
+/segolhebrew 16#05b6
+/segolnarrowhebrew 16#05b6
+/segolquarterhebrew 16#05b6
+/segoltahebrew 16#0592
+/segolwidehebrew 16#05b6
+/seharmenian 16#057d
+/sehiragana 16#305b
+/sekatakana 16#30bb
+/sekatakanahalfwidth 16#ff7e
+/semicolon 16#003b
+/semicolonarabic 16#061b
+/semicolonmonospace 16#ff1b
+/semicolonsmall 16#fe54
+/semivoicedmarkkana 16#309c
+/semivoicedmarkkanahalfwidth 16#ff9f
+/sentisquare 16#3322
+/sentosquare 16#3323
+/seven 16#0037
+/sevenarabic 16#0667
+/sevenbengali 16#09ed
+/sevencircle 16#2466
+/sevencircleinversesansserif 16#2790
+/sevendeva 16#096d
+/seveneighths 16#215e
+/sevengujarati 16#0aed
+/sevengurmukhi 16#0a6d
+/sevenhackarabic 16#0667
+/sevenhangzhou 16#3027
+/sevenideographicparen 16#3226
+/seveninferior 16#2087
+/sevenmonospace 16#ff17
+/sevenoldstyle 16#f737
+/sevenparen 16#247a
+/sevenperiod 16#248e
+/sevenpersian 16#06f7
+/sevenroman 16#2176
+/sevensuperior 16#2077
+/seventeencircle 16#2470
+/seventeenparen 16#2484
+/seventeenperiod 16#2498
+/seventhai 16#0e57
+/sfthyphen 16#00ad
+/shaarmenian 16#0577
+/shabengali 16#09b6
+/shacyrillic 16#0448
+/shaddaarabic 16#0651
+/shaddadammaarabic 16#fc61
+/shaddadammatanarabic 16#fc5e
+/shaddafathaarabic 16#fc60
+/shaddakasraarabic 16#fc62
+/shaddakasratanarabic 16#fc5f
+/shade 16#2592
+/shadedark 16#2593
+/shadelight 16#2591
+/shademedium 16#2592
+/shadeva 16#0936
+/shagujarati 16#0ab6
+/shagurmukhi 16#0a36
+/shalshelethebrew 16#0593
+/shbopomofo 16#3115
+/shchacyrillic 16#0449
+/sheenarabic 16#0634
+/sheenfinalarabic 16#feb6
+/sheeninitialarabic 16#feb7
+/sheenmedialarabic 16#feb8
+/sheicoptic 16#03e3
+/sheqel 16#20aa
+/sheqelhebrew 16#20aa
+/sheva 16#05b0
+/sheva115 16#05b0
+/sheva15 16#05b0
+/sheva22 16#05b0
+/sheva2e 16#05b0
+/shevahebrew 16#05b0
+/shevanarrowhebrew 16#05b0
+/shevaquarterhebrew 16#05b0
+/shevawidehebrew 16#05b0
+/shhacyrillic 16#04bb
+/shimacoptic 16#03ed
+/shin 16#05e9
+/shindagesh 16#fb49
+/shindageshhebrew 16#fb49
+/shindageshshindot 16#fb2c
+/shindageshshindothebrew 16#fb2c
+/shindageshsindot 16#fb2d
+/shindageshsindothebrew 16#fb2d
+/shindothebrew 16#05c1
+/shinhebrew 16#05e9
+/shinshindot 16#fb2a
+/shinshindothebrew 16#fb2a
+/shinsindot 16#fb2b
+/shinsindothebrew 16#fb2b
+/shook 16#0282
+/sigma 16#03c3
+/sigma1 16#03c2
+/sigmafinal 16#03c2
+/sigmalunatesymbolgreek 16#03f2
+/sihiragana 16#3057
+/sikatakana 16#30b7
+/sikatakanahalfwidth 16#ff7c
+/siluqhebrew 16#05bd
+/siluqlefthebrew 16#05bd
+/similar 16#223c
+/sindothebrew 16#05c2
+/siosacirclekorean 16#3274
+/siosaparenkorean 16#3214
+/sioscieuckorean 16#317e
+/sioscirclekorean 16#3266
+/sioskiyeokkorean 16#317a
+/sioskorean 16#3145
+/siosnieunkorean 16#317b
+/siosparenkorean 16#3206
+/siospieupkorean 16#317d
+/siostikeutkorean 16#317c
+/six 16#0036
+/sixarabic 16#0666
+/sixbengali 16#09ec
+/sixcircle 16#2465
+/sixcircleinversesansserif 16#278f
+/sixdeva 16#096c
+/sixgujarati 16#0aec
+/sixgurmukhi 16#0a6c
+/sixhackarabic 16#0666
+/sixhangzhou 16#3026
+/sixideographicparen 16#3225
+/sixinferior 16#2086
+/sixmonospace 16#ff16
+/sixoldstyle 16#f736
+/sixparen 16#2479
+/sixperiod 16#248d
+/sixpersian 16#06f6
+/sixroman 16#2175
+/sixsuperior 16#2076
+/sixteencircle 16#246f
+/sixteencurrencydenominatorbengali 16#09f9
+/sixteenparen 16#2483
+/sixteenperiod 16#2497
+/sixthai 16#0e56
+/slash 16#002f
+/slashmonospace 16#ff0f
+/slong 16#017f
+/slongdotaccent 16#1e9b
+/smileface 16#263a
+/smonospace 16#ff53
+/sofpasuqhebrew 16#05c3
+/softhyphen 16#00ad
+/softsigncyrillic 16#044c
+/sohiragana 16#305d
+/sokatakana 16#30bd
+/sokatakanahalfwidth 16#ff7f
+/soliduslongoverlaycmb 16#0338
+/solidusshortoverlaycmb 16#0337
+/sorusithai 16#0e29
+/sosalathai 16#0e28
+/sosothai 16#0e0b
+/sosuathai 16#0e2a
+/space 16#0020
+/spacehackarabic 16#0020
+/spade 16#2660
+/spadesuitblack 16#2660
+/spadesuitwhite 16#2664
+/sparen 16#24ae
+/squarebelowcmb 16#033b
+/squarecc 16#33c4
+/squarecm 16#339d
+/squarediagonalcrosshatchfill 16#25a9
+/squarehorizontalfill 16#25a4
+/squarekg 16#338f
+/squarekm 16#339e
+/squarekmcapital 16#33ce
+/squareln 16#33d1
+/squarelog 16#33d2
+/squaremg 16#338e
+/squaremil 16#33d5
+/squaremm 16#339c
+/squaremsquared 16#33a1
+/squareorthogonalcrosshatchfill 16#25a6
+/squareupperlefttolowerrightfill 16#25a7
+/squareupperrighttolowerleftfill 16#25a8
+/squareverticalfill 16#25a5
+/squarewhitewithsmallblack 16#25a3
+/srsquare 16#33db
+/ssabengali 16#09b7
+/ssadeva 16#0937
+/ssagujarati 16#0ab7
+/ssangcieuckorean 16#3149
+/ssanghieuhkorean 16#3185
+/ssangieungkorean 16#3180
+/ssangkiyeokkorean 16#3132
+/ssangnieunkorean 16#3165
+/ssangpieupkorean 16#3143
+/ssangsioskorean 16#3146
+/ssangtikeutkorean 16#3138
+/ssuperior 16#f6f2
+/sterling 16#00a3
+/sterlingmonospace 16#ffe1
+/strokelongoverlaycmb 16#0336
+/strokeshortoverlaycmb 16#0335
+/subset 16#2282
+/subsetnotequal 16#228a
+/subsetorequal 16#2286
+/succeeds 16#227b
+/suchthat 16#220b
+/suhiragana 16#3059
+/sukatakana 16#30b9
+/sukatakanahalfwidth 16#ff7d
+/sukunarabic 16#0652
+/summation 16#2211
+/sun 16#263c
+/superset 16#2283
+/supersetnotequal 16#228b
+/supersetorequal 16#2287
+/svsquare 16#33dc
+/syouwaerasquare 16#337c
+/t 16#0074
+/tabengali 16#09a4
+/tackdown 16#22a4
+/tackleft 16#22a3
+/tadeva 16#0924
+/tagujarati 16#0aa4
+/tagurmukhi 16#0a24
+/taharabic 16#0637
+/tahfinalarabic 16#fec2
+/tahinitialarabic 16#fec3
+/tahiragana 16#305f
+/tahmedialarabic 16#fec4
+/taisyouerasquare 16#337d
+/takatakana 16#30bf
+/takatakanahalfwidth 16#ff80
+/tatweelarabic 16#0640
+/tau 16#03c4
+/tav 16#05ea
+/tavdages 16#fb4a
+/tavdagesh 16#fb4a
+/tavdageshhebrew 16#fb4a
+/tavhebrew 16#05ea
+/tbar 16#0167
+/tbopomofo 16#310a
+/tcaron 16#0165
+/tccurl 16#02a8
+/tcedilla 16#0163
+/tcheharabic 16#0686
+/tchehfinalarabic 16#fb7b
+/tchehinitialarabic 16#fb7c
+/tchehmedialarabic 16#fb7d
+/tcircle 16#24e3
+/tcircumflexbelow 16#1e71
+/tcommaaccent 16#0163
+/tdieresis 16#1e97
+/tdotaccent 16#1e6b
+/tdotbelow 16#1e6d
+/tecyrillic 16#0442
+/tedescendercyrillic 16#04ad
+/teharabic 16#062a
+/tehfinalarabic 16#fe96
+/tehhahinitialarabic 16#fca2
+/tehhahisolatedarabic 16#fc0c
+/tehinitialarabic 16#fe97
+/tehiragana 16#3066
+/tehjeeminitialarabic 16#fca1
+/tehjeemisolatedarabic 16#fc0b
+/tehmarbutaarabic 16#0629
+/tehmarbutafinalarabic 16#fe94
+/tehmedialarabic 16#fe98
+/tehmeeminitialarabic 16#fca4
+/tehmeemisolatedarabic 16#fc0e
+/tehnoonfinalarabic 16#fc73
+/tekatakana 16#30c6
+/tekatakanahalfwidth 16#ff83
+/telephone 16#2121
+/telephoneblack 16#260e
+/telishagedolahebrew 16#05a0
+/telishaqetanahebrew 16#05a9
+/tencircle 16#2469
+/tenideographicparen 16#3229
+/tenparen 16#247d
+/tenperiod 16#2491
+/tenroman 16#2179
+/tesh 16#02a7
+/tet 16#05d8
+/tetdagesh 16#fb38
+/tetdageshhebrew 16#fb38
+/tethebrew 16#05d8
+/tetsecyrillic 16#04b5
+/tevirhebrew 16#059b
+/tevirlefthebrew 16#059b
+/thabengali 16#09a5
+/thadeva 16#0925
+/thagujarati 16#0aa5
+/thagurmukhi 16#0a25
+/thalarabic 16#0630
+/thalfinalarabic 16#feac
+/thanthakhatlowleftthai 16#f898
+/thanthakhatlowrightthai 16#f897
+/thanthakhatthai 16#0e4c
+/thanthakhatupperleftthai 16#f896
+/theharabic 16#062b
+/thehfinalarabic 16#fe9a
+/thehinitialarabic 16#fe9b
+/thehmedialarabic 16#fe9c
+/thereexists 16#2203
+/therefore 16#2234
+/theta 16#03b8
+/theta1 16#03d1
+/thetasymbolgreek 16#03d1
+/thieuthacirclekorean 16#3279
+/thieuthaparenkorean 16#3219
+/thieuthcirclekorean 16#326b
+/thieuthkorean 16#314c
+/thieuthparenkorean 16#320b
+/thirteencircle 16#246c
+/thirteenparen 16#2480
+/thirteenperiod 16#2494
+/thonangmonthothai 16#0e11
+/thook 16#01ad
+/thophuthaothai 16#0e12
+/thorn 16#00fe
+/thothahanthai 16#0e17
+/thothanthai 16#0e10
+/thothongthai 16#0e18
+/thothungthai 16#0e16
+/thousandcyrillic 16#0482
+/thousandsseparatorarabic 16#066c
+/thousandsseparatorpersian 16#066c
+/three 16#0033
+/threearabic 16#0663
+/threebengali 16#09e9
+/threecircle 16#2462
+/threecircleinversesansserif 16#278c
+/threedeva 16#0969
+/threeeighths 16#215c
+/threegujarati 16#0ae9
+/threegurmukhi 16#0a69
+/threehackarabic 16#0663
+/threehangzhou 16#3023
+/threeideographicparen 16#3222
+/threeinferior 16#2083
+/threemonospace 16#ff13
+/threenumeratorbengali 16#09f6
+/threeoldstyle 16#f733
+/threeparen 16#2476
+/threeperiod 16#248a
+/threepersian 16#06f3
+/threequarters 16#00be
+/threequartersemdash 16#f6de
+/threeroman 16#2172
+/threesuperior 16#00b3
+/threethai 16#0e53
+/thzsquare 16#3394
+/tihiragana 16#3061
+/tikatakana 16#30c1
+/tikatakanahalfwidth 16#ff81
+/tikeutacirclekorean 16#3270
+/tikeutaparenkorean 16#3210
+/tikeutcirclekorean 16#3262
+/tikeutkorean 16#3137
+/tikeutparenkorean 16#3202
+/tilde 16#02dc
+/tildebelowcmb 16#0330
+/tildecmb 16#0303
+/tildecomb 16#0303
+/tildedoublecmb 16#0360
+/tildeoperator 16#223c
+/tildeoverlaycmb 16#0334
+/tildeverticalcmb 16#033e
+/timescircle 16#2297
+/tipehahebrew 16#0596
+/tipehalefthebrew 16#0596
+/tippigurmukhi 16#0a70
+/titlocyrilliccmb 16#0483
+/tiwnarmenian 16#057f
+/tlinebelow 16#1e6f
+/tmonospace 16#ff54
+/toarmenian 16#0569
+/tohiragana 16#3068
+/tokatakana 16#30c8
+/tokatakanahalfwidth 16#ff84
+/tonebarextrahighmod 16#02e5
+/tonebarextralowmod 16#02e9
+/tonebarhighmod 16#02e6
+/tonebarlowmod 16#02e8
+/tonebarmidmod 16#02e7
+/tonefive 16#01bd
+/tonesix 16#0185
+/tonetwo 16#01a8
+/tonos 16#0384
+/tonsquare 16#3327
+/topatakthai 16#0e0f
+/tortoiseshellbracketleft 16#3014
+/tortoiseshellbracketleftsmall 16#fe5d
+/tortoiseshellbracketleftvertical 16#fe39
+/tortoiseshellbracketright 16#3015
+/tortoiseshellbracketrightsmall 16#fe5e
+/tortoiseshellbracketrightvertical 16#fe3a
+/totaothai 16#0e15
+/tpalatalhook 16#01ab
+/tparen 16#24af
+/trademark 16#2122
+/trademarksans 16#f8ea
+/trademarkserif 16#f6db
+/tretroflexhook 16#0288
+/triagdn 16#25bc
+/triaglf 16#25c4
+/triagrt 16#25ba
+/triagup 16#25b2
+/ts 16#02a6
+/tsadi 16#05e6
+/tsadidagesh 16#fb46
+/tsadidageshhebrew 16#fb46
+/tsadihebrew 16#05e6
+/tsecyrillic 16#0446
+/tsere 16#05b5
+/tsere12 16#05b5
+/tsere1e 16#05b5
+/tsere2b 16#05b5
+/tserehebrew 16#05b5
+/tserenarrowhebrew 16#05b5
+/tserequarterhebrew 16#05b5
+/tserewidehebrew 16#05b5
+/tshecyrillic 16#045b
+/tsuperior 16#f6f3
+/ttabengali 16#099f
+/ttadeva 16#091f
+/ttagujarati 16#0a9f
+/ttagurmukhi 16#0a1f
+/tteharabic 16#0679
+/ttehfinalarabic 16#fb67
+/ttehinitialarabic 16#fb68
+/ttehmedialarabic 16#fb69
+/tthabengali 16#09a0
+/tthadeva 16#0920
+/tthagujarati 16#0aa0
+/tthagurmukhi 16#0a20
+/tturned 16#0287
+/tuhiragana 16#3064
+/tukatakana 16#30c4
+/tukatakanahalfwidth 16#ff82
+/tusmallhiragana 16#3063
+/tusmallkatakana 16#30c3
+/tusmallkatakanahalfwidth 16#ff6f
+/twelvecircle 16#246b
+/twelveparen 16#247f
+/twelveperiod 16#2493
+/twelveroman 16#217b
+/twentycircle 16#2473
+/twentyhangzhou 16#5344
+/twentyparen 16#2487
+/twentyperiod 16#249b
+/two 16#0032
+/twoarabic 16#0662
+/twobengali 16#09e8
+/twocircle 16#2461
+/twocircleinversesansserif 16#278b
+/twodeva 16#0968
+/twodotenleader 16#2025
+/twodotleader 16#2025
+/twodotleadervertical 16#fe30
+/twogujarati 16#0ae8
+/twogurmukhi 16#0a68
+/twohackarabic 16#0662
+/twohangzhou 16#3022
+/twoideographicparen 16#3221
+/twoinferior 16#2082
+/twomonospace 16#ff12
+/twonumeratorbengali 16#09f5
+/twooldstyle 16#f732
+/twoparen 16#2475
+/twoperiod 16#2489
+/twopersian 16#06f2
+/tworoman 16#2171
+/twostroke 16#01bb
+/twosuperior 16#00b2
+/twothai 16#0e52
+/twothirds 16#2154
+/u 16#0075
+/uacute 16#00fa
+/ubar 16#0289
+/ubengali 16#0989
+/ubopomofo 16#3128
+/ubreve 16#016d
+/ucaron 16#01d4
+/ucircle 16#24e4
+/ucircumflex 16#00fb
+/ucircumflexbelow 16#1e77
+/ucyrillic 16#0443
+/udattadeva 16#0951
+/udblacute 16#0171
+/udblgrave 16#0215
+/udeva 16#0909
+/udieresis 16#00fc
+/udieresisacute 16#01d8
+/udieresisbelow 16#1e73
+/udieresiscaron 16#01da
+/udieresiscyrillic 16#04f1
+/udieresisgrave 16#01dc
+/udieresismacron 16#01d6
+/udotbelow 16#1ee5
+/ugrave 16#00f9
+/ugujarati 16#0a89
+/ugurmukhi 16#0a09
+/uhiragana 16#3046
+/uhookabove 16#1ee7
+/uhorn 16#01b0
+/uhornacute 16#1ee9
+/uhorndotbelow 16#1ef1
+/uhorngrave 16#1eeb
+/uhornhookabove 16#1eed
+/uhorntilde 16#1eef
+/uhungarumlaut 16#0171
+/uhungarumlautcyrillic 16#04f3
+/uinvertedbreve 16#0217
+/ukatakana 16#30a6
+/ukatakanahalfwidth 16#ff73
+/ukcyrillic 16#0479
+/ukorean 16#315c
+/umacron 16#016b
+/umacroncyrillic 16#04ef
+/umacrondieresis 16#1e7b
+/umatragurmukhi 16#0a41
+/umonospace 16#ff55
+/underscore 16#005f
+/underscoredbl 16#2017
+/underscoremonospace 16#ff3f
+/underscorevertical 16#fe33
+/underscorewavy 16#fe4f
+/union 16#222a
+/universal 16#2200
+/uogonek 16#0173
+/uparen 16#24b0
+/upblock 16#2580
+/upperdothebrew 16#05c4
+/upsilon 16#03c5
+/upsilondieresis 16#03cb
+/upsilondieresistonos 16#03b0
+/upsilonlatin 16#028a
+/upsilontonos 16#03cd
+/uptackbelowcmb 16#031d
+/uptackmod 16#02d4
+/uragurmukhi 16#0a73
+/uring 16#016f
+/ushortcyrillic 16#045e
+/usmallhiragana 16#3045
+/usmallkatakana 16#30a5
+/usmallkatakanahalfwidth 16#ff69
+/ustraightcyrillic 16#04af
+/ustraightstrokecyrillic 16#04b1
+/utilde 16#0169
+/utildeacute 16#1e79
+/utildebelow 16#1e75
+/uubengali 16#098a
+/uudeva 16#090a
+/uugujarati 16#0a8a
+/uugurmukhi 16#0a0a
+/uumatragurmukhi 16#0a42
+/uuvowelsignbengali 16#09c2
+/uuvowelsigndeva 16#0942
+/uuvowelsigngujarati 16#0ac2
+/uvowelsignbengali 16#09c1
+/uvowelsigndeva 16#0941
+/uvowelsigngujarati 16#0ac1
+/v 16#0076
+/vadeva 16#0935
+/vagujarati 16#0ab5
+/vagurmukhi 16#0a35
+/vakatakana 16#30f7
+/vav 16#05d5
+/vavdagesh 16#fb35
+/vavdagesh65 16#fb35
+/vavdageshhebrew 16#fb35
+/vavhebrew 16#05d5
+/vavholam 16#fb4b
+/vavholamhebrew 16#fb4b
+/vavvavhebrew 16#05f0
+/vavyodhebrew 16#05f1
+/vcircle 16#24e5
+/vdotbelow 16#1e7f
+/vecyrillic 16#0432
+/veharabic 16#06a4
+/vehfinalarabic 16#fb6b
+/vehinitialarabic 16#fb6c
+/vehmedialarabic 16#fb6d
+/vekatakana 16#30f9
+/venus 16#2640
+/verticalbar 16#007c
+/verticallineabovecmb 16#030d
+/verticallinebelowcmb 16#0329
+/verticallinelowmod 16#02cc
+/verticallinemod 16#02c8
+/vewarmenian 16#057e
+/vhook 16#028b
+/vikatakana 16#30f8
+/viramabengali 16#09cd
+/viramadeva 16#094d
+/viramagujarati 16#0acd
+/visargabengali 16#0983
+/visargadeva 16#0903
+/visargagujarati 16#0a83
+/vmonospace 16#ff56
+/voarmenian 16#0578
+/voicediterationhiragana 16#309e
+/voicediterationkatakana 16#30fe
+/voicedmarkkana 16#309b
+/voicedmarkkanahalfwidth 16#ff9e
+/vokatakana 16#30fa
+/vparen 16#24b1
+/vtilde 16#1e7d
+/vturned 16#028c
+/vuhiragana 16#3094
+/vukatakana 16#30f4
+/w 16#0077
+/wacute 16#1e83
+/waekorean 16#3159
+/wahiragana 16#308f
+/wakatakana 16#30ef
+/wakatakanahalfwidth 16#ff9c
+/wakorean 16#3158
+/wasmallhiragana 16#308e
+/wasmallkatakana 16#30ee
+/wattosquare 16#3357
+/wavedash 16#301c
+/wavyunderscorevertical 16#fe34
+/wawarabic 16#0648
+/wawfinalarabic 16#feee
+/wawhamzaabovearabic 16#0624
+/wawhamzaabovefinalarabic 16#fe86
+/wbsquare 16#33dd
+/wcircle 16#24e6
+/wcircumflex 16#0175
+/wdieresis 16#1e85
+/wdotaccent 16#1e87
+/wdotbelow 16#1e89
+/wehiragana 16#3091
+/weierstrass 16#2118
+/wekatakana 16#30f1
+/wekorean 16#315e
+/weokorean 16#315d
+/wgrave 16#1e81
+/whitebullet 16#25e6
+/whitecircle 16#25cb
+/whitecircleinverse 16#25d9
+/whitecornerbracketleft 16#300e
+/whitecornerbracketleftvertical 16#fe43
+/whitecornerbracketright 16#300f
+/whitecornerbracketrightvertical 16#fe44
+/whitediamond 16#25c7
+/whitediamondcontainingblacksmalldiamond 16#25c8
+/whitedownpointingsmalltriangle 16#25bf
+/whitedownpointingtriangle 16#25bd
+/whiteleftpointingsmalltriangle 16#25c3
+/whiteleftpointingtriangle 16#25c1
+/whitelenticularbracketleft 16#3016
+/whitelenticularbracketright 16#3017
+/whiterightpointingsmalltriangle 16#25b9
+/whiterightpointingtriangle 16#25b7
+/whitesmallsquare 16#25ab
+/whitesmilingface 16#263a
+/whitesquare 16#25a1
+/whitestar 16#2606
+/whitetelephone 16#260f
+/whitetortoiseshellbracketleft 16#3018
+/whitetortoiseshellbracketright 16#3019
+/whiteuppointingsmalltriangle 16#25b5
+/whiteuppointingtriangle 16#25b3
+/wihiragana 16#3090
+/wikatakana 16#30f0
+/wikorean 16#315f
+/wmonospace 16#ff57
+/wohiragana 16#3092
+/wokatakana 16#30f2
+/wokatakanahalfwidth 16#ff66
+/won 16#20a9
+/wonmonospace 16#ffe6
+/wowaenthai 16#0e27
+/wparen 16#24b2
+/wring 16#1e98
+/wsuperior 16#02b7
+/wturned 16#028d
+/wynn 16#01bf
+/x 16#0078
+/xabovecmb 16#033d
+/xbopomofo 16#3112
+/xcircle 16#24e7
+/xdieresis 16#1e8d
+/xdotaccent 16#1e8b
+/xeharmenian 16#056d
+/xi 16#03be
+/xmonospace 16#ff58
+/xparen 16#24b3
+/xsuperior 16#02e3
+/y 16#0079
+/yaadosquare 16#334e
+/yabengali 16#09af
+/yacute 16#00fd
+/yadeva 16#092f
+/yaekorean 16#3152
+/yagujarati 16#0aaf
+/yagurmukhi 16#0a2f
+/yahiragana 16#3084
+/yakatakana 16#30e4
+/yakatakanahalfwidth 16#ff94
+/yakorean 16#3151
+/yamakkanthai 16#0e4e
+/yasmallhiragana 16#3083
+/yasmallkatakana 16#30e3
+/yasmallkatakanahalfwidth 16#ff6c
+/yatcyrillic 16#0463
+/ycircle 16#24e8
+/ycircumflex 16#0177
+/ydieresis 16#00ff
+/ydotaccent 16#1e8f
+/ydotbelow 16#1ef5
+/yeharabic 16#064a
+/yehbarreearabic 16#06d2
+/yehbarreefinalarabic 16#fbaf
+/yehfinalarabic 16#fef2
+/yehhamzaabovearabic 16#0626
+/yehhamzaabovefinalarabic 16#fe8a
+/yehhamzaaboveinitialarabic 16#fe8b
+/yehhamzaabovemedialarabic 16#fe8c
+/yehinitialarabic 16#fef3
+/yehmedialarabic 16#fef4
+/yehmeeminitialarabic 16#fcdd
+/yehmeemisolatedarabic 16#fc58
+/yehnoonfinalarabic 16#fc94
+/yehthreedotsbelowarabic 16#06d1
+/yekorean 16#3156
+/yen 16#00a5
+/yenmonospace 16#ffe5
+/yeokorean 16#3155
+/yeorinhieuhkorean 16#3186
+/yerahbenyomohebrew 16#05aa
+/yerahbenyomolefthebrew 16#05aa
+/yericyrillic 16#044b
+/yerudieresiscyrillic 16#04f9
+/yesieungkorean 16#3181
+/yesieungpansioskorean 16#3183
+/yesieungsioskorean 16#3182
+/yetivhebrew 16#059a
+/ygrave 16#1ef3
+/yhook 16#01b4
+/yhookabove 16#1ef7
+/yiarmenian 16#0575
+/yicyrillic 16#0457
+/yikorean 16#3162
+/yinyang 16#262f
+/yiwnarmenian 16#0582
+/ymonospace 16#ff59
+/yod 16#05d9
+/yoddagesh 16#fb39
+/yoddageshhebrew 16#fb39
+/yodhebrew 16#05d9
+/yodyodhebrew 16#05f2
+/yodyodpatahhebrew 16#fb1f
+/yohiragana 16#3088
+/yoikorean 16#3189
+/yokatakana 16#30e8
+/yokatakanahalfwidth 16#ff96
+/yokorean 16#315b
+/yosmallhiragana 16#3087
+/yosmallkatakana 16#30e7
+/yosmallkatakanahalfwidth 16#ff6e
+/yotgreek 16#03f3
+/yoyaekorean 16#3188
+/yoyakorean 16#3187
+/yoyakthai 16#0e22
+/yoyingthai 16#0e0d
+/yparen 16#24b4
+/ypogegrammeni 16#037a
+/ypogegrammenigreekcmb 16#0345
+/yr 16#01a6
+/yring 16#1e99
+/ysuperior 16#02b8
+/ytilde 16#1ef9
+/yturned 16#028e
+/yuhiragana 16#3086
+/yuikorean 16#318c
+/yukatakana 16#30e6
+/yukatakanahalfwidth 16#ff95
+/yukorean 16#3160
+/yusbigcyrillic 16#046b
+/yusbigiotifiedcyrillic 16#046d
+/yuslittlecyrillic 16#0467
+/yuslittleiotifiedcyrillic 16#0469
+/yusmallhiragana 16#3085
+/yusmallkatakana 16#30e5
+/yusmallkatakanahalfwidth 16#ff6d
+/yuyekorean 16#318b
+/yuyeokorean 16#318a
+/yyabengali 16#09df
+/yyadeva 16#095f
+/z 16#007a
+/zaarmenian 16#0566
+/zacute 16#017a
+/zadeva 16#095b
+/zagurmukhi 16#0a5b
+/zaharabic 16#0638
+/zahfinalarabic 16#fec6
+/zahinitialarabic 16#fec7
+/zahiragana 16#3056
+/zahmedialarabic 16#fec8
+/zainarabic 16#0632
+/zainfinalarabic 16#feb0
+/zakatakana 16#30b6
+/zaqefgadolhebrew 16#0595
+/zaqefqatanhebrew 16#0594
+/zarqahebrew 16#0598
+/zayin 16#05d6
+/zayindagesh 16#fb36
+/zayindageshhebrew 16#fb36
+/zayinhebrew 16#05d6
+/zbopomofo 16#3117
+/zcaron 16#017e
+/zcircle 16#24e9
+/zcircumflex 16#1e91
+/zcurl 16#0291
+/zdot 16#017c
+/zdotaccent 16#017c
+/zdotbelow 16#1e93
+/zecyrillic 16#0437
+/zedescendercyrillic 16#0499
+/zedieresiscyrillic 16#04df
+/zehiragana 16#305c
+/zekatakana 16#30bc
+/zero 16#0030
+/zeroarabic 16#0660
+/zerobengali 16#09e6
+/zerodeva 16#0966
+/zerogujarati 16#0ae6
+/zerogurmukhi 16#0a66
+/zerohackarabic 16#0660
+/zeroinferior 16#2080
+/zeromonospace 16#ff10
+/zerooldstyle 16#f730
+/zeropersian 16#06f0
+/zerosuperior 16#2070
+/zerothai 16#0e50
+/zerowidthjoiner 16#feff
+/zerowidthnonjoiner 16#200c
+/zerowidthspace 16#200b
+/zeta 16#03b6
+/zhbopomofo 16#3113
+/zhearmenian 16#056a
+/zhebrevecyrillic 16#04c2
+/zhecyrillic 16#0436
+/zhedescendercyrillic 16#0497
+/zhedieresiscyrillic 16#04dd
+/zihiragana 16#3058
+/zikatakana 16#30b8
+/zinorhebrew 16#05ae
+/zlinebelow 16#1e95
+/zmonospace 16#ff5a
+/zohiragana 16#305e
+/zokatakana 16#30be
+/zparen 16#24b5
+/zretroflexhook 16#0290
+/zstroke 16#01b6
+/zuhiragana 16#305a
+/zukatakana 16#30ba
+.dicttomark readonly def
+/currentglobal where
+{pop currentglobal{setglobal}true setglobal}
+{{}}
+ifelse
+/MacRomanEncoding .findencoding
+/MacGlyphEncoding
+/.notdef/.null/CR
+4 index 32 95 getinterval aload pop
+99 index 128 45 getinterval aload pop
+/notequal/AE
+/Oslash/infinity/plusminus/lessequal/greaterequal
+/yen/mu1/partialdiff/summation/product
+/pi/integral/ordfeminine/ordmasculine/Ohm
+/ae/oslash/questiondown/exclamdown/logicalnot
+/radical/florin/approxequal/increment/guillemotleft
+/guillemotright/ellipsis/nbspace
+174 index 203 12 getinterval aload pop
+/lozenge
+187 index 216 24 getinterval aload pop
+/applelogo
+212 index 241 7 getinterval aload pop
+/overscore
+220 index 249 7 getinterval aload pop
+/Lslash/lslash/Scaron/scaron
+/Zcaron/zcaron/brokenbar/Eth/eth
+/Yacute/yacute/Thorn/thorn/minus
+/multiply/onesuperior/twosuperior/threesuperior/onehalf
+/onequarter/threequarters/franc/Gbreve/gbreve
+/Idotaccent/Scedilla/scedilla/Cacute/cacute
+/Ccaron/ccaron/dmacron
+260 -1 roll pop
+258 packedarray
+7 1 index .registerencoding
+.defineencoding
+exec
+
+%%BeginResource: file (PDF object obj_1)
+1 0 obj
+<<>>endobj
+%%EndResource
+%%EndProlog
+%%Page: 1 1
+%%PageBoundingBox: 0 0 612 792
+%%BeginPageSetup
+4 0 obj
+<</Type/Page/MediaBox [0 0 612 792]
+/Parent 3 0 R
+/Resources<</ProcSet[/PDF]
+>>
+/Contents 5 0 R
+>>
+endobj
+%%EndPageSetup
+/pagesave save def
+5 0 obj
+<</Length 5827>>stream
+q 0.1 0 0 0.1 0 0 cm
+q 1332 0 0 1282.67 0 -0.00009556 cm
+BI
+/CS/G
+/W 216
+/H 208
+/BPC 8
+/F[/A85
+/LZW]
+ID
+J3Vsg3$]7K#D>EP:q1$o*=mro@So+\<\5,H7Uo<*jE<[.O@Wn[3@'nb-^757;Rp>H>q_R=@/pQ-
+!c9ld9kI>7jK`bcRm<o.q98Pl7uL4m'3Yi#K`e/MBb`\)(5Ye<9e+["eS:LUS(2=Rao(E5@%g:E
+<U1)PULUf+WHF\)G+Wu_frOcR"W$-JO5I&5Hl`prKY5k#=:AafeTeu;0%Z"MVU^aNe*pJpj>/_,
+Y@9=i>pXrTMpCU&g5QS8,DF6Cla_mq.oj'[=#LupL:Y]Z^1DE_NQ&qp("V^A[VKL`:UB-PC3Z<3
+lW_blgUXn#^>#J`j6sHR^:eFWLpg>9eXmA$?cVMTH#S5QS!iW\p8\,Z"GbS"^^]UQq**!N[]VS"
+)Y3k[MMrOc].^5KpV.2ILC6Cc.a$]sD-I^-\;^mYnM&=Q'_K2g'@R2plRR;P^@2Ob[C))I#04_7
+o<R[6%pTh_.1;Y8nNp$09cP>g]Q4:cO:6ld4E".Tg:aLAg?Q[3j'qUIMC]&[b>L_nrj?d"Njl$n
+FC?%[Ea7>o6S'cXbf!DLlAA%@I$F'1Deug4_m=)iq8LdHHSJ4c[+L5G1@!URVD%lI5Ho$1mf_)0
+@i$c'e8.]!7-rBn#;9eU]`D#pEpVu6eAPnc^JJ\g\'blCa\G\^Kkh;^ckKhi:3)$Gi%i[O1DE,t
+"=GnQ<EuPe9(Wg[4P/&1Rn6fVRhHl=1;!P@U/S^;#MDcZ:sn"Fb:q/GFsI_R2RM#EqqRDf(Jqos
+2+7D>1dqEbg6_a%6qLI>l"7aHL%f.XpF<XJ2K"5@F'>adSV'GW1g]HW&]G84WH9`X)G0\C'/Rs7
+.SGBM)/Ycq86A=<N**QK@;eSpp+(N%oK.ek7^s4\?g"kUTaPQL*<?Q11ZfK)7no!YUZ'Kf"Wcb=
+VGU\p9AToB6Ptb@S(*hS-ZI^?<i5mq/TjRW`#DZU6Y#T0ZQJ1*hXe!J(&l1C@[Fd9O$OXND.1iF
+4uILhGW\2+Ct25^1@L^XWsHKV6n9"tRH>=&;GO(O``:4Ma`:Lo00P-[pl[e5lM%-[+7E=VUW-6C
+Y=Z>so^0=[dJOZ%V;Q;o?e.tS^3r.d'dQdri4ap&VKog3l[<UjQG"bRLu&"Qm]E=*VF8,d:!r+2
+0<*iE>t*A0o(jGrHQr1'>qoI[5"D)V^L(5`<K"eAc5i.^,hTF1!kV<iBtlIafW,f$9Q=rugp#:A
+m[RM#A7d:g&CeRGe)Uj-.\TJK(OGG@gX:966/9)L1=BED"*r*NJ@>0a`6@e<1m!-%^c)2DdM+2r
+9hd8]W&"Ape#7f?=jatYQAOSM,_-3gi5"D4&(q@[J'UZs]<r^f@T.kLaN`5L7*--Je4+iU+tto6
+bk[rC;ehE5_Du5J^D4&fN0/M.74;RP?gMZP%rs2>Qicf<ipMIS<Y7f4!dS*]G#aDSTgQ:_E+#Ha
+K5oSH_g!=@(379AOEqm%B\(MRq$q!'dRutf^9&@7G].R72)7_6pE5rkP`D_u_It:MdS&LgNi#-0
+W07%L"<;[6%S8rd0^mu=V319L5#!>6gSQ5IF0ZQ>_`/:c+Oio0;I-LsLF.9eN!3uGOc)T5o-bs`
+hhFnRl:e`Lm8huCIW(@*_aM$+A%V7fF$0+ZG3(YigraGrH7m7[a$\pFc^IQD(X?Q5UuiYgPk3=V
+;:mYk-+qHfZ-B0i36pq?qn[r*U.*BVff\KbD4GOi<mt00lVmB`KTnqm695&lWO/jh'ZP%=RDf?o
+';_15mX[!hpI1g.W1!#/NDqrq8#M8LV,M,.4BIWJ-TanfaeB;+3k$<3eQ8kP[CK7^'iLQ;SOU_\
+Nlu]8,EJR_D=b_M<kA6+TM7SNn[\A7KVL5;/HKEW7VkIr(p%N7J#a=hI+*B4@VN`EU@IL09)<Zl
+<_[5#ZQ@4gHE.&u*KQpHXio)AY>XISE_Z7bdb@m?<ioWfF>(%M[0>#`-sa*d7T&ElHFlj&[AKNp
+d_sC%%;T!3*g)cr_m:hp=02'`DKS_99W#3GmA7$l%]u/,QHI=NjBSo(XRj>@a*THJ2jLaiUY*Y5
+533e^?T69S:oI9q,HRN70)?&9)68$o_jG-LU4(AC(Er.IPc1Pn]@H-45]AiD8lQSX9uqC&@/\QA
+&j7:/9:KW8"k@#U4q0<<>r=370PC%T%80pqI[kP#YErP9+?OiU/k*7W&q:bK8Q>k3mOakTU0,FH
+;i3(57(Lplm8HH`md%"cSMSj5=LFINVHu?o'p=b7p,@`km:sD(VIJCCklWMB`M,gB_Vkhj>&&X8
+HEDATk:6@>EJ1j4R*sSg=P/IiP1lfMqCnj0L1mm$.'bb36YFtQ3Z$&QS.RbX`geP6Zh;g=cbduk
+#rafM2@k3nd`u$cF*/UNkW@/n,N_\C+PtV,I?bHU79lfCX"LF#[8OYM9F[]WSM7=-Jd17@-(j.f
+]qr-%LfT?9MH$VlT!TBaiH0Tmh6tVU:L>7-*H`Xr78BY"K!4;.HS=1h6H?[C%dTLqP)K#egj>Y2
+l%jVC,Fg,oLMaFb>R@m.M=mVMWrKm0$$LJ3,/m]WIQskl2RT^>_]&hA^@uQKm306opt"G'mF=K^
+f+NFXHSFAO)p4:Ijd:=k$m$FaGHM/"]f@G&B9f=%m*"_6\K8E;rJ.=Z<^PGs'4p(7XiPX=]pP3c
+gh>MHWnK*&gTa*hm=#5CDMr5_9'':H=h1`<L*OX+^O&d^7F-u)2p=96qke*oH2?LpPoV)_G=kT&
+@b.ECHq']N$/5kD2_W8@Mf&"[q8KGj4^;8&N_qiK\iA]8hYct]9f8KS?FNn0]?q2D4j>_D%]Je$
+gT^I5+mRk?O,GbdRW>63GSpE(PJ3rU7gHBdE[Pej3lZ!mrScG["H]0,&'DX'h<<[#qqrOHT!a;D
+q'*eB^H,cZ@4qr<f+6_bY@iB'4Rqq7f.>r1VrQqt^sfCRhq5W/R]C?ah7(-^1_]K,idNB%bfX4f
+jR[15p;I6-O2tSmLqE,Er$OI:&&_I_W`JAeY!j>4Y<)E<eEZIFmEb^:`mC._$JjrSYg5H&:<'o-
+1BUG^Rh,"IXq(OE*0':8E9=+:AB*abEp'ZORa;QKV>soJ%aC$8Pttrm7r%aPcJhA=CZi(#N7oKe
+k,rWQ\BBp=V_IY$]X_o\r+jZp0>?n,1nnrD5jKuOb`k*oTX="E#3pm,nA)"sr<b6SO"ah<&;ZNh
+eCcBq%V^Cm#7B'8:B?FE$:W*SYH\2QNmoHB!XGl=->8,c3tNrRhZjR=YjDHb8uN-'hIm[<c>HKR
+enj`[!(QUAm3;K=MTRJLZH`ae.kqUUJAl;UQ75.hCNSJd?P;TOrl/-ZMBMVs<r[$LaCeb*9GXPg
+Ls6M]Tl8"sAQ6d39#<1M#S+BQ:W17gYo+d6cYg])Y@'<UU.aRl(^r1Q:r`VJ523<r)$TrjjYmgQ
+LnkUKqh8AX;"Ed(LAWXH&guV-WI!6Qm*ft*RP0g^%2/ikbh@&"&BY"0$kjYcQMF>[?*CpYn4]A>
+_&)9tP78qgEVC.;*j;ed!_8>IW2P$D=Goqr'ljf8naOh^+O"h)s)0NZCmu]m^C8>ln.H'l-WF@>
+V#?0_`[l]e%6"1oMK5t`Kr;0Wcgpl74O*=*.\ouMdMWlp>73)u*Kf.\LE+[:VKJrs"Hf347bYP\
+]%G4LN3/]jcre\RRj/+;EDD1JjjbI8\m5s"8hB?]d+I%6fXYltpSVu^#!"%[o[]'ANiloE15Lr_
+CCs/MD38Z9%7mYa#oPAJMN3`:%I5ER2V?5=XE+H[AgnCl+Ub;HOD%>^/<]bV5m>]e&1g)U;J.L0
+AMA$i+HD.''5m)U<AeTCfTO8',OC$H!B1YH^iM(1CC)XlTUj.)+]F4%akfUlAM&P'DJDBi/^#+f
+eM_4^^F=RTY9(9n5:>Ip3DrX7``3NX%k-g],I23m%4Z.N[gD7b_kq73'9[Da2Zdarr9OA.,92Qd
+HA(Mp$,sY1&plG$0/gj+H0NE;b1Sm2)C/,dj&!=i`<d/3r6VcX;aVaY#G1?3>q6SX5kGXNE?9I@
+=SOKSI7g*b9u?X;^I9rE`l\fUnf'dA.c6AV3fOe1Zi&CQIa-3B79!>U/Cb+031J/d\?c[snCo[>
+,ss7naj8nY:?O5#%*6pY1_AOOn1d##D_De$-S=mHNPR:=MR%;I9WVR<9mX3(M[hEI6kGG9mGa-U
+ZV%9]AT%A,Y3qtQiC":>&M-D$1n'HiN9O7)5-g9<'6KI8cSVn#Xn99?Xas42R&r2&89;`^Y*>G2
+>e&8^mB!Uh0VM.>`ksHuq<n&VeLohJAsLnI4-=G+D9XVS57uDY;"AMu#\54PmlU0f5c;V[eGRLM
+%k5_H</YYk2"(\!'+sm`-'[:<-0B5!ALd=gZnObU1t)t8PeE:e@umlNapdL`+\IWU:m>Ho$_Ic=
+?GL[Nf52Zbp&S>MR&T:Ka-AAZ:S/u3]]<fL<cqM9X34AH>fTji[&WRZ/fH#N9il8`=n,?!;`]!m
+imE^c8PtH8"o?BF'(W87lSX;$'O$nVGqBclSo2;Q<20R2`<]2i2=ePpN^68d0ep*'@8qql<-qe>
+RlseZ.BPk[8Zp39ZY7n`@5[8?o`#m&*4jI+;%leXcdrfZ?V\m9n#eq'D$;gFB0;K5bf:B'QGt1n
+B4!J[/;HcVOQ0.%r8M\m2tjph;[7-IiCS)SjUcD\p7YR=SRbcY-aQffd5s+$:L2Cs,0E%<Fcf&"
+:f8gT^p50R&[nc?q+e2fb#W]\;RTaEEbq^!eM-&uEckRU=^i-qBU7[i/)a^:UG.pP1ip$REU>LR
+j^aP5G88L!dX+:'Ut&,7<9V@?Z)_5534>bji\YWdF0t&S9^h_2FG/+>[-)^2),70MeS^39QINkD
+=tEaRZEZDI[pDgMKm`39"7H@IMZ6t_qT^qN'SB#qlq'N&UNiV0DfQ4_PXtCe/jccjhps)c_c3p:
+B%beW@e".P:cS[R#A&QG?^"TWP`#Cd:/2ITJ2TW@eu=(`OVtJRlu>l^mc'J8K`4b66'u.O0CnWD
+bm+a2GkXF1f5<CP\O`*;LK@_nEVVDKYk8iLe$*\E1sntk6AdLEII5!G=IU5rFaS#1MDRjK1R0;-
+O,G`L9JQ+il@Te."\heiGaJeq1U0E:V%q.(LPip#()p;AK8bg!`n*G#==kqfk(L&c#.Ph;R*/sE
+Z[5F@NjEJbP!(LdZ&oX%>Yrfs;p@=`hIQ&*Bf$8uq'b4K)R+7A3lDM9cfn$Q+*q'VjAo?D$5k")
+R$QDn]^GqLR,='lF\taO8(.Kgku(oWDiAsG,[#BT%U1?fiuU#M9a_]!H&DT^s&Vuj7:sf5mTaGX
+JOheqnTg<<lF>u3fRN^n?FdV9WHS9O`;<P)@(:,o;W"#Z&t(M7>L^Ibkoc9,PFVI1SMb1>orXi&
+[,FUF@laB]%0&Et*8u`[Sac;jq/`4sX&UgPTnS\Bc+/';,ukhF8+XK;qD0iB(qCPD+jC#P\NQ=*
+Z_Ek]Unf3npVR3D3:Y\\UKUruQ;qLa?Gk&qG$8g[e>ULc+]c$'Vt&3/2/'Sk02,AaU,n:!eEJD@
+*ppEiWV!*bN-V.AO/gd3@4JCYGhm@#\Z<;Vn5[l$R`D*=-*6q<XZ4.r'O@drSZUK):q%T']'*fG
+fXBN*B,^MpgA?-Ks/N[4/mARa)[[n'&"qYi-/06<],DuB+,)d$Y?M7;U>`5D0Jf'eZXd:F)a1Pi
+7C7D5[(B!_637~>
+EI Q
+Q
+
+endstream
+endobj
+pagesave restore
+%%PageTrailer
+%%Trailer
+end
+%%EOF
diff --git a/info/mathtrip/src/fact2.tex b/info/mathtrip/src/fact2.tex
new file mode 100644
index 0000000000..0bb4fb304a
--- /dev/null
+++ b/info/mathtrip/src/fact2.tex
@@ -0,0 +1,54 @@
+%This macro provides the typesetting of the math of the second horizontal area
+%of the column 1of page 8.
+%
+%The macro has one parameter
+% 1) The width usable for typeseting the math.
+\newcommand\TEightFactTwo[1]{
+ \parbox[t]{#1}{%
+ \def\LineOfArrayA##1##2##3{##1&=&##2&=##3\\}%
+ \def\LineOfArrayB##1##2##3##4{##1&=&##2&##3=##4\\}%
+ %This macro should add a negative spave in the last column
+ %of a line of the array. For a strange reason when a line is alone the
+ %value is much too far at right. This a pure visual layout, like one
+ %is accustomized to do in Word.
+ \def\LastColPosition{\hspace{-32.6ex}}
+ \TEightSeriesFactAFontSize
+ \noindent
+ $\begin{array}{lllll}
+ %x^1
+ \LineOfArrayA{x^1}{x^{\underline 1}}{x^{\overline 1}}
+ %x^2
+ \LineOfArrayA{x^2}{x^{\underline 2} + x^{\underline 1}}{x^{\overline 2} - x^{\overline 1}}
+ %x^3
+ \LineOfArrayA{x^3}{x^{\underline 3} + 3 x^{\underline 2} + x^{\underline 1}}
+ {x^{\overline 3}- 3 x^{\overline 2} + x^{\overline 1}}
+ %x^4
+ \LineOfArrayA{x^4}{x^{\underline 4} + 6 x^{\underline 3}+ 7 x^{\underline 2} + x^{\underline 1}}
+ {x^{\overline 4} - 6 x^{\overline 3}+ 7 x^{\overline 2} - x^{\overline 1}}
+ %x^5
+ \LineOfArrayA{x^5}{x^{\underline 5} + 15x^{\underline 4} + 25 x^{\underline 3}+ 10 x^{\underline 2} + x^{\underline 1}}
+ {x^{\underline 5} - 15 x^{\overline 4} + 25 x^{\overline 3}- 10 x^{\overline 2} + x^{\overline 1}}
+ \end{array}$
+
+ \par\vspace{1ex plus .2ex minus .5ex}
+ \centerline{\rule{5cm}{.5pt}}
+ \par\vspace{1ex plus .2ex minus .5ex}
+
+ \noindent
+ $\begin{array}{llllll}
+ %Line 1
+ \LineOfArrayB{x^{\overline 1}}{x^1}{x^{\underline 1}}{x^1}
+ %Line 2
+ \LineOfArrayB{x^{\overline 2}}{x^2 + x^1}{x^{\underline 2}}{x^2 - x^1}
+ %Line 3
+ \LineOfArrayB{x^{\overline 3}}{x^3 + 3x^2 + 2x^1}{x^{\underline 3}}{x^3 - 3x^2 + 2x^1}
+ %Line 4
+ \LineOfArrayB{x^{\overline 4}}{x^4 + 6x^3 + 11x^2 + 6x^1}
+ {x^{\underline 4}}{x^4 - 6x^3 + 11x^2 - 6x^1}
+ %Line 5
+ \LineOfArrayB{x^{\overline 5}}{x^5 + 10 x^4 + 35 x^3 + 50 x^2 + 24 x^1}
+ {x^{\underline 5}}{x^5 - 10 x^4 + 35 x^3 - 50 x^2 +}
+ & & & & & \LastColPosition 24 x^1\\
+ \end{array}$
+ }
+}
diff --git a/info/mathtrip/src/fib1.tex b/info/mathtrip/src/fib1.tex
new file mode 100644
index 0000000000..cdb878c64c
--- /dev/null
+++ b/info/mathtrip/src/fib1.tex
@@ -0,0 +1,87 @@
+%This command provides the Fibonacci definitions located in the third
+%column of the third horizontal part of page 10
+%
+%The command has one parameter
+% 1) The width of the text
+\newcommand\TTenFibonacci[1]{%
+ %
+ %This macro will typeset a property of the Fibonacci number
+ %and the associated formulae.
+ %
+ %The macro has three parameters
+ % 1) The text of the property
+ % 2) The associated formula
+ % 3) The width to use to write the text.
+ \def\FibProperty##1##2##3{%
+ \parbox[t]{##3}{\noindent \textit{##1}\\##2}%
+ }%
+ \parbox[t]{#1}{%
+ \deflength{\HSpace}{.5#1}%
+ \begin{tabular}{wl{\HSpace}|wl{\HSpace}}%
+ \TTenFibonacciFontSize
+ \deflength{\HSpace}{\HSpace-2\tabcolsep}%
+ %Line 1
+ \FibProperty{The Fibonacci number system:}
+ {Every integer $n$ has a unique representation
+ \[
+ n = F_{k_1} + F_{k_2} + \cdots + F_{k_m}
+ \]
+ where $k_i \geq k_{i+1} + 2$ for all $i$,
+ $1 \leq i < m$ and $k_m \geq 2$.}
+ {\HSpace}
+ &
+ \FibProperty{Definitions:}%
+ {$\begin{array}{l@{\hspace{.1em}}c@{\hspace{.2em}}l}
+ %Line 1
+ F_0 &=& F_1 = 1\\
+ %Line 2
+ F_i &=& F_{i-1} + F_{i-2}\\
+ %Line 3
+ F_{-i} &=& (-1)^{i-1} \\[\VSpace]
+ %Line 4
+ \rule{0pt}{3.5ex plus .1ex minus 1ex}% To increase space bewtween array's lines
+ \phi &=& \frac{1+\sqrt{5}}{2}\text{,} \quad \hat\phi = \frac{1-\sqrt{5}}{2} = 1-\phi\\
+ %Line 5
+ \rule{0pt}{3.5ex plus .1ex minus 1ex}% To increase space bewtween array's lines
+ F_i &=& \frac{1}{\sqrt{5}} \left(\phi^i - \hat{\phi}^i\right)\\
+ \end{array}$}
+ {\HSpace}
+ \\ %Line 2
+ \rule{0pt}{3ex plus 1ex minus .5ex}%Add a little bit space between the
+ %lines of the array
+ \FibProperty{The first Fibonacci numbers:}
+ {$1, 1, 2, 3, 5, 8, 13, 21, 34, 55,
+ 89, \ldots$}
+ {\HSpace}
+ &
+ \FibProperty{Cassini's identity for $i > 0$:}
+ {$F_{i+1} F_{i-1} - F^2_i = (-1)^i$}
+ {\HSpace}
+ \\ %Line 3
+ \FibProperty{Additive rule:}%
+ {$\begin{array}{lcl}%
+ %Line 1
+ F_{n+k} &=& F_k F_{n+1} + F_{k-1} F_n \\
+ %Line 2
+ F_{2n} &=& F_n F_{n+1} + F_{n-1} F_n
+ \end{array}$}
+ {\HSpace}
+ &
+ \rule{0pt}{3ex plus 1ex minus .5ex}%Add a little bit space between the
+ %lines of the array
+ \FibProperty{Calculation by matrices:}
+ {$\begin{pmatrix}
+ F_{n-2} &F_{n-1} \\
+ F_{n-1} &F_n \\
+ \end{pmatrix}
+ =
+ \begin{pmatrix}
+ 0 &1 \\
+ 1 &1 \\
+ \end{pmatrix}^n$}
+ {\HSpace}
+ \end{tabular}
+ }%
+}
+%This is the title of this part
+\newcommand\TTenFibTitle{The Fibonacci numbers}
diff --git a/info/mathtrip/src/finite.tex b/info/mathtrip/src/finite.tex
new file mode 100644
index 0000000000..594dbc372b
--- /dev/null
+++ b/info/mathtrip/src/finite.tex
@@ -0,0 +1,78 @@
+%This macro provides the text about the finite calculus
+%on the first horiyontal area of the page 8.
+
+%The macro has one parameter
+% 1( The width of the mathematical text
+\newcommand\TEightFiniteCalculusA[1]{%
+ \deflength{\HSpace}{#1}%
+ \parbox[t]{\HSpace}{%
+ \TEightSeriesFiniteCalculusFontSize
+ \DisplaySpace{\TEightDisplaySpace}{\TEightDisplayShortSpace}
+
+ \TEightTitle{Difference, shift operators:}
+ \begin{DisplayFormulae}{1}{\SpaceBeforeFormula}{\TEightBaselineSkipFormulaeB}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\Delta f(x) = f(x+1) - f(x)i}
+ \Fm{\E f(x) = f(x+1)}
+ \end{DisplayFormulae}
+
+ \TEightTitle{Fundamental Theorem:}
+ \begin{DisplayFormulae}{1}{\SpaceBeforeFormula}{\TEightBaselineSkipFormulaeB}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{f(x) = \Delta F(x) \Leftrightarrow \sum f(x) \delta x = F(x) + C}
+ \Fm{\sum_a^b f(x) \delta x = \sum_{i=a}^{b-1} f(i)}
+ \end{DisplayFormulae}
+
+ \TEightTitle{Differences:}
+ \begin{DisplayFormulae}{1}{\SpaceBeforeFormula}{\TEightBaselineSkipFormulaeB}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\Delta(c u) = c \Delta u}
+ \Fm{\Delta(u + v) = \Delta u + \Delta v}
+ \Fm{\Delta(uv) = u\Delta v + \E v \Delta u}
+ \Fm{\Delta(x^{\underline n}) = n x^{\underline n - 1}}
+ \Fm{\Delta(H_x) = x^{\underline{-1}}}
+ \Fm{\Delta(2^x) = 2^x}
+ \Fm{\Delta(c^x) = (c-1)c^x}
+ \Fm{\Delta\binom{x}{m} = \binom{x}{m-1}.}
+ \end{DisplayFormulae}
+
+ \TEightTitle{Sums:}
+ \begin{DisplayFormulae}{1}{\SpaceBeforeFormula}{\TEightBaselineSkipFormulaeB}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\sum c u \, \delta x = c \sum u \, \delta x}
+ \Fm{\sum (u + v) \, \delta x = \sum u \, \delta x + \sum v \, \delta x}
+ \Fm{\sum u \Delta v \, \delta x = uv - \sum\E v \Delta u \, \delta x}
+ \Fm{\sum x^{\underline n}\, \delta x = \frac{x^{\underline{n + 1}}}{m + 1}}
+ \Fm{\sum x^{\underline{-1}} \, \delta x = H_x}
+ \Fm{\sum c^x \, \delta x = {c^x \over c-1}}
+ \Fm{\sum \binom{x}{m} \, \delta x = \binom{x}{m+1}}
+ \end{DisplayFormulae}
+
+ \TEightTitle{Falling Factorial Powers:}
+ \begin{DisplayFormulae}{1}{\SpaceBeforeFormula}{\TEightBaselineSkipFormulaeB}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{x^{\underline n} = x(x-1) \cdots (x-n+1), \quad n > 0}
+ \Fm{x^{\underline 0} = 1}
+ \Fm{x^{\underline n} = \frac{1}{(x+1) \cdots (x+\vert n \vert)}, \quad n < 0}
+ \Fm{x^{\underline{n+m}} = x^{\underline m}(x-m)^{\underline n}}
+ \end{DisplayFormulae}
+
+ \TEightTitle{Rising Factorial Powers:}
+ \begin{DisplayFormulae}{1}{\SpaceBeforeFormula}{\TEightBaselineSkipFormulaeB}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{x^{\overline n} = x(x+1) \cdots (x+n-1), \quad n > 0}
+ \Fm{x^{\overline 0} = 1}
+ \Fm{x^{\overline n} = \frac{1}{(x-1) \cdots (x-\vert n \vert)}, \quad n < 0}
+ \Fm{x^{\overline{n+m}} = x^{\overline m}(x+m)^{\overline n}}
+ \end{DisplayFormulae}
+
+ \TEightTitle{Conversion:}
+ \AdjustSpace{-2ex plus .5ex minus .5ex}%
+ \begin{DisplayFormulae}{1}{\SpaceBeforeFormula}{\TEightBaselineSkipFormulaeB}{\SmallChar}{\StyleWithoutNumber}
+ \def\FirstPart{x^{\underline n}=}
+ \FmPartA{\FirstPart (-1)^n(-x)^{\overline n}=(x-n+1)^{\overline n}=}
+ \FmPartB{\FirstPart}{1/(x+1)^{\overline{-n}}}
+ \def\FirstPart{x^{\overline n} =}
+ \FmPartA{\FirstPart (-1)^n(-x)^{\underline n}=(x+n-1)^{\underline n}=}
+ \FmPartB{\FirstPart}{1/(x-1)^{\underline{-n}}}
+ \Fm{x^n = \sum_{k=1}^n \SousEnsemble{n}{k} x^{\underline k}= \sum_{k=1}^n
+ \SousEnsemble{n}{k} (-1)^{n-k} x^{\overline k}}
+ \Fm{x^{\underline n} = \sum_{k=1}^n \Cycle{n}{k} (-1)^{n-k} x^k}
+ \Fm{x^{\overline n} = \sum_{k=1}^n \Cycle{n}{k} x^k}
+ \end{DisplayFormulae}
+ }
+}
diff --git a/info/mathtrip/src/first_prime.tex b/info/mathtrip/src/first_prime.tex
new file mode 100644
index 0000000000..b1abaf1d25
--- /dev/null
+++ b/info/mathtrip/src/first_prime.tex
@@ -0,0 +1,42 @@
+%This command provides the first 32 prime numbers on the page
+%3
+%The command has one parameter:
+% 1) The size of the text
+\newcommand\TThreeFirstPrimes[1]{%
+ \def\LineOfNumbers##1{\rule{0pt}{\TThreeInterlineNumbers}\centerline{$##1$}}
+ \parbox[t]{#1}{%
+ \TThreeNumbersFontSize
+ \LineOfNumbers{2}
+ \LineOfNumbers{3}
+ \LineOfNumbers{5}
+ \LineOfNumbers{7}
+ \LineOfNumbers{11}
+ \LineOfNumbers{13}
+ \LineOfNumbers{17}
+ \LineOfNumbers{19}
+ \LineOfNumbers{23}
+ \LineOfNumbers{29}
+ \LineOfNumbers{31}
+ \LineOfNumbers{37}
+ \LineOfNumbers{41}
+ \LineOfNumbers{43}
+ \LineOfNumbers{47}
+ \LineOfNumbers{53}
+ \LineOfNumbers{59}
+ \LineOfNumbers{61}
+ \LineOfNumbers{67}
+ \LineOfNumbers{71}
+ \LineOfNumbers{73}
+ \LineOfNumbers{79}
+ \LineOfNumbers{83}
+ \LineOfNumbers{89}
+ \LineOfNumbers{97}
+ \LineOfNumbers{101}
+ \LineOfNumbers{103}
+ \LineOfNumbers{107}
+ \LineOfNumbers{109}
+ \LineOfNumbers{113}
+ \LineOfNumbers{127}
+ \LineOfNumbers{131}
+ }%
+}
diff --git a/info/mathtrip/src/geom.tex b/info/mathtrip/src/geom.tex
new file mode 100644
index 0000000000..26c8578176
--- /dev/null
+++ b/info/mathtrip/src/geom.tex
@@ -0,0 +1,84 @@
+%This macro provides the text for the 'geometry' part in
+%the third column of the page 5
+%
+%The macro has one parameter
+\newcommand\TFiveGeometry[1]{%
+ \parbox[t]{#1}{%
+ \TFiveGeomFontSize
+ \DisplaySpace{\TFiveDisplaySpace}{\TFiveDisplayShortSpace}
+ %Since the column is narrow, ragged right looks better
+ \raggedright
+
+ \TFiveTitle{Projective coordinates:}
+ The triples $(x,y,z)$,
+ not all $x$, $y$ and $z$ zero.
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\MathRemark[\relax]{\forall c \neq 0}}
+ \Fm{(x,y,z) = (cx,cy,cz)}.
+ \end{DisplayFormulae}
+
+ \begin{tabular}{ll}
+ Cartesian & Projective \\\hline
+ $(x,y)$ &$(x,y,1)$ \\
+ $y = mx + b$ &$(m,-1,b)$ \\
+ $x = c$ &$(1,0,-c)$ \\
+ \end{tabular}
+
+ \TFiveTitle{Distance formula, $L_p$ and $L_\infty$ metric:}
+ \AdjustSpace{1.5ex plus .2ex minus .5ex}
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus .5ex}{\BigChar}{\StyleWithoutNumber}
+ \Fm{\sqrt{(x_1 - x_0)^2 + (y_1 - y_0)^2}},
+ \Fm{\big[ \vert x_1 - x_0 \vert^p + \vert y_1 - y_0 \vert^p \big]^{1/p}},
+ \begin{multline*}
+ \lim_{p \to \infty} \big[ \vert x_1 - x_0 \vert^p + \\[-3ex plus .5ex minus .5ex]
+ \vert y_1 - y_0 \vert^p \big]^{1/p}
+ \end{multline*}.
+ \end{DisplayFormulae}
+
+ \TFiveTitle{Area of triangle $(x_0,y_0)$, $(x_1,y_1)$ and $(x_2,y_2)$:}
+ \AdjustSpace{1.5ex plus .2ex minus .5ex}
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\tfrac{1}{2}\abs\left\vert
+ \begin{matrix}
+ x_1-x_0 &y_1-y_0 \\
+ x_2-x_0 &y_2-y_0 \\
+ \end{matrix}%
+ \right\vert
+ }
+ \end{DisplayFormulae}
+
+ \TFiveTitle{Angle formed by three points:}
+ \input{angle.tex}
+ \centerline{\usebox\AngleBox}
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\cos \theta = \frac{(x_1, y_1) \cdot (x_2, y_2)}{\ell_1 \ell_2}}
+ \end{DisplayFormulae}
+
+ \TFiveTitle{Line through two points $(x_0,y_0)$ and $(x_1,y_1)$:}
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\left\vert
+ \begin{matrix}
+ x &y & 1\\
+ x_0 &y_0 & 1\\
+ x_1 &y_1 & 1\\
+ \end{matrix}%
+ \right\vert = 0
+ }
+ \end{DisplayFormulae}
+
+ \TFiveTitle{Area of circle, volume of sphere:}
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{A= \pi r^2}
+ \Fm{V= \tfrac{4}{3} \pi r^3}
+ \end{DisplayFormulae}
+
+ \TFiveTitle{Area and volume of a circumscribed cylinder to a sphere:}
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{A_{cyl}= \frac{3}{2}A_{sph}},
+ \Fm{V_{cyl}= \frac{3}{2}V_{sph}}
+ \end{DisplayFormulae}
+ \begin{flushright}
+ Archimedes
+ \end{flushright}
+ }%
+}
diff --git a/info/mathtrip/src/graph.tex b/info/mathtrip/src/graph.tex
new file mode 100644
index 0000000000..b3d318fda3
--- /dev/null
+++ b/info/mathtrip/src/graph.tex
@@ -0,0 +1,77 @@
+%This macro provides the math text for the second column of page 5
+%
+%The macro has one parameter:
+% 1) The width of the text
+\newcommand\TFiveGrapheOne[1]{%
+ \def\LineOfArray##1##2{##1&{\raggedright ##2}\\}
+ \parbox[t]{#1}{%
+ %Space dedicated to the explanation of the graph's
+ %vocabulary in the tabular environment
+ \deflength{\HSpace}{.70#1}
+ \TFiveGraphFontSize
+ %Since the column is narrow, ragged at right
+ %produces better spacing
+ %
+ \raggedright
+ \TFiveTitle{Definitions:}
+ \begin{tabular}{@{}l@{\hspace{.25em}}p{\HSpace}}
+ \LineOfArray{Loop}{An edge connecting a vertex to itself.}
+ \LineOfArray{Directed}{Each edge has a direction.}
+ \LineOfArray{Simple}{Graph with no loops or multi-edges.}
+ \LineOfArray{Walk}{A sequence $v_0e_1v_1\ldots e_\ell v_\ell$.}
+ \LineOfArray{Trail}{A walk with distinct edges.}
+ \LineOfArray{Path}{A trail with distinct vertices.}
+ \LineOfArray{Connected}{A graph where there exists a path between any two vertices.}
+ \LineOfArray{Component}{A maximal connected subgraph.}
+ \LineOfArray{Tree}{A connected acyclic graph.}
+ \LineOfArray{Free tree}{A tree with no root.}
+ \LineOfArray{DAG}{Directed acyclic graph.}
+ \LineOfArray{Eulerian}{Graph with a trail visiting each edge exactly once.}
+ \LineOfArray{Hamiltonian}{Graph with a cycle visiting each vertex exactly once.}
+ \LineOfArray{Cut}{A set of edges whose removal increases the number of components.}
+ \LineOfArray{Cut-set}{A minimal cut.}
+ \LineOfArray{Cut edge}{A size 1 cut.}
+ \LineOfArray{k-Connected}{A graph connected with the removal of any $k-1$ vertices.}
+ \LineOfArray{k-Tough}{$\forall S \subseteq V, S \neq \emptyset$ we have $k\cdot c(G-S) \leq \vert S \vert$.}
+ \LineOfArray{k-Regular}{A graph where all vertices have degree $k$.}
+ \LineOfArray{k-Factor}{A $k$-regular spanning subgraph.}
+ \LineOfArray{Matching}{A set of edges, no two of which are adjacent.}
+ \LineOfArray{Clique}{A set of vertices, all of which are adjacent.}
+ \LineOfArray{Ind. set}{A set of vertices, none of which are adjacent.}
+ \LineOfArray{Vertex cover}{A set of vertices which cover all edges.}
+ \LineOfArray{Planar graph}{A graph which can be embeded in the plane.}
+ \LineOfArray{Plane graph}{An embedding of a planar graph.}
+ \end{tabular}
+
+ \TFiveTitle{Planar graphs}
+ \AdjustSpace{1ex plus .5ex minus .2ex}
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\sum_{v\in V} \deg(v) = 2 m}
+ \end{DisplayFormulae}
+ \AdjustSpace{1ex plus .5ex minus .2ex}
+ If $G$ is planar then $n - m + f = 2$, so
+ \AdjustSpace{1ex plus .5ex minus .2ex}
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{f \leq 2n - 4, \quad m \leq 3 n - 6}
+ \end{DisplayFormulae}
+ \AdjustSpace{1ex plus .5ex minus .2ex}
+ Any planar graph has a vertex with degree $\leq 5$.
+
+ \TFiveTitle{Notation:}
+ \begin{tabular}{@{}lp{\HSpace}}
+ \LineOfArray{$E(G)$}{Edge set}
+ \LineOfArray{$V(G)$}{Vertex set}
+ \LineOfArray{$c(G)$}{Number of components}
+ \LineOfArray{$G[S]$}{Induced subgraph}
+ \LineOfArray{$\deg(v)$}{Degree of $v$}
+ \LineOfArray{$\Delta(G)$}{Maximum degree}
+ \LineOfArray{$\delta(G)$}{Minimum degree}
+ \LineOfArray{$\chi(G)$}{Chromatic number}
+ \LineOfArray{$\chi_E(G)$}{Edge chromatic number}
+ \LineOfArray{$G^c$}{Complement graph}
+ \LineOfArray{$K_n$}{Complete graph}
+ \LineOfArray{$K_{n_1,n_2}$}{Complete bipartite graph}
+ \LineOfArray{$\ramsey(k,\ell)$}{Ramsey number}
+ \end{tabular}
+ }
+}
diff --git a/info/mathtrip/src/hyper.tex b/info/mathtrip/src/hyper.tex
new file mode 100644
index 0000000000..19a92f8293
--- /dev/null
+++ b/info/mathtrip/src/hyper.tex
@@ -0,0 +1,54 @@
+%This command provides the text for the hyperbolic function in
+%the second part of the second column in page 4
+%
+%This macro has one parameter
+% 1) The width allowed to typeset the text
+\newcommand\TFourHyperbolic[1]{%
+ \parbox[t]{#1}{%
+ \DisplaySpace{\TFourDisplaySpace}{\TFourDisplayShortSpace}
+
+ \TFourTitle{Definitions:}
+ \begin{DisplayFormulae}{1}{0pt}{\TFourSkipFormulae}{\BigChar}{\StyleWithoutNumber}
+ \def\LineOfArray##1##2##3##4{\rule{0pt}{4ex plus .5ex minus 1ex}%
+ {##1}&=&{##2}&{##3}&=&{##4}\\}
+ \Fm{\begin{array}{l%Equal sign
+ @{\hspace{.1em}}c@{\hspace{.2em}}%
+ l%
+ l%
+ @{\hspace{.1em}}c@{\hspace{.2em}}%
+ l}
+ \LineOfArray{\sinh x}{\frac{e^x - e^{-x}}{2}}%
+ {\cosh x}{\frac{e^x + e^{-x}}{2}}
+ \LineOfArray{\tanh x}{\frac{e^x - e^{-x}}{e^x + e^{-x}}}
+ {\csch x}{\frac{1}{\sinh x}}
+ \LineOfArray{\sech x}{\frac{1}{\cosh x}}
+ {\coth x}{\frac{1}{\tanh x}}
+ \end{array}%
+ }
+ \end{DisplayFormulae}
+
+ \TFourTitle{Identities:}
+ \AdjustSpace{1ex plus .5ex minus .5ex}
+ \begin{DisplayFormulae}{1}{0pt}{\TFourSkipFormulae}{\BigChar}{\StyleWithoutNumber}
+ \def\FmSep{\unskip\text{,}}%use a comma as separator for the formula
+ \Fm{\cosh^2 x - \sinh^2 x = 1}
+ \Fm{\tanh^2 x + \sech^2 x = 1}
+ \Fm{\coth^2 x - \csch^2 x = 1}
+ \Fm{\sinh (-x) = - \sinh x}
+ \Fm{\cosh (-x) = \cosh x}
+ \Fm{\tanh (-x) = - \tanh x}
+ \Fm{\sinh (x + y) = \sinh x \cosh y + \cosh x \sinh y}
+ \Fm{\cosh (x + y) = \cosh x \cosh y + \sinh x \sinh y}
+ \Fm{\sinh 2x = 2 \sinh x \cosh x}
+ \Fm{\cosh 2x = \cosh^2 x + \sinh^2 x}
+ \Fm{\cosh x + \sinh x = e^x}
+ \Fm{\cosh x - \sinh x = e^{-x}}
+ \def\FirstPart{(\cosh x + \sinh x)^n = \mbox{}}
+ \FmPartA{\FirstPart\cosh n x +}
+ \FmPartB{\FirstPart}{\sinh n x \MathRemark{n \in \Z}}
+ \Fm{2 \sinh^2 \tfrac{x}{2} = \cosh x - 1}
+ \def\FmSep{\unskip\text{.}}
+ \Fm{2 \cosh^2 \tfrac{x}{2} = \cosh x + 1}
+ \end{DisplayFormulae}
+ }
+}
diff --git a/info/mathtrip/src/ids1.tex b/info/mathtrip/src/ids1.tex
new file mode 100644
index 0000000000..349f80beb8
--- /dev/null
+++ b/info/mathtrip/src/ids1.tex
@@ -0,0 +1,30 @@
+%This command provides the text for the formulae written in the second
+%horizontal area of the second column.
+%
+%The command has one parameter:
+% 1) The width of the text
+\newcommand\TOneIdentitiesA[1]{%
+ \parbox[t]{#1}{%
+ \TOneFormulaeFontSize
+ \begin{DisplayFormulae}{1}{0pt}{\TOneInterlineFormulaeA}{\BigChar}{\StyleBold}
+ \Fm{\binom{n}{k} = \frac{n!}{(n-k)! k!}}
+ \Fm{\sum_{k=0}^n \binom{n}{k} = 2^n}
+ \Fm{\binom{n}{k} = \binom{n}{n-k}}
+ \Fm{\binom{n}{k} = \frac{n}{k}\binom{n-1}{k-1}}
+ \Fm{\binom{n}{k} = \binom{n-1}{k} + \binom{n-1}{k-1}}
+ \Fm{\binom{n}{m}\binom{m}{k} = \binom{n}{k} \binom{n-k}{m-k}}
+ \Fm{\sum_{k=0}^n \binom{r+k}{k} = \binom{r+n+1}{n}}
+ \Fm{\sum_{k=0}^n \binom{k}{m} = \binom{n+1}{m+1}}
+ \Fm{\sum_{k=0}^n \binom{r}{k}\binom{s}{n-k} = \binom{r+s}{n}}
+ \Fm{\binom{n}{k} = (-1)^k \binom{k-n-1}{k}}
+ \Fm{\SousEnsemble{n}{1} = \SousEnsemble{n}{n} = 1}
+ \Fm{\SousEnsemble{n}{2} = 2^{n-1}-1}
+ \Fm{\SousEnsemble{n}{k} = k \SousEnsemble{n-1}{k} + \SousEnsemble{n-1}{k-1}}
+ \Fm{\Cycle{n}{1} = (n-1)!}
+ \Fm{\Cycle{n}{2} = (n-1)!H_{n-1}}
+ \Fm{\Cycle{n}{n} = 1}
+ \Fm{\Cycle{n}{k} \geq \SousEnsemble{n}{k}}
+ \Fm{\Cycle{n}{k} = (n-1) \Cycle{n-1}{k} + \Cycle{n-1}{k-1}}
+ \end{DisplayFormulae}
+ }%
+}
diff --git a/info/mathtrip/src/ids2.tex b/info/mathtrip/src/ids2.tex
new file mode 100644
index 0000000000..a7efbeac9f
--- /dev/null
+++ b/info/mathtrip/src/ids2.tex
@@ -0,0 +1,38 @@
+%This command provides the identities in the third
+%horizontal area in page 1
+%The macro has oe parameter:
+% 1) The width of the text
+\newcommand\TOneIdentitiesB[1]{%
+ \parbox[t]{#1}{%
+ \TOneFormulaeFontSize
+ \vspace{\TOnePushFormulaeB}%
+ \begin{DisplayFormulae}{19}{0pt}{\TOneInterlineFormulaeB}{\BigChar}{\StyleBold}
+ \Fm{\SousEnsemble{n}{n-1} = \Cycle{n}{n-1} = \binom{n}{2}}
+ \Fm{\sum_{k=0}^n\Cycle{n}{k} = n!}
+ \Fm{C_n = \frac{1}{n+1}\binom{2n}{n}}
+ \Fm{\Eul{n}{0} = \Eul{n}{n-1} = 1}
+ \Fm{\Eul{n}{k} = \Eul{n}{n-1-k}}
+ \Fm{\Eul{n}{k} = (k+1)\Eul{n-1}{k} + (n-k)\Eul{n-1}{k-1}}
+ \Fm{\Eul{0}{k} = \left\{%
+ \begin{array}{lr}%
+ 1 & \mbox{if }$k=0$, \\
+ 0 & \mbox{otherwise} \\
+ \end{array}%
+ \right.}
+ \Fm{\Eul{n}{1} = 2^n - n - 1}
+ \Fm{\Eul{n}{2} = 3^n - (n+1)2^n + \binom{n+1}{2}}
+ \Fm{x^n = \sum_{k=0}^n \Eul{n}{k} \binom{x+k}{n}}
+ \Fm{\Eul{n}{m} = \sum_{k=0}^m \binom{n+1}{k} (m+1-k)^n(-1)^k}
+ \Fm{m! \SousEnsemble{n}{m} = \sum_{k=0}^n \Eul{n}{k} \binom{k}{n-m}}
+ \Fm{\Eul{n}{m} =\sum_{k=0}^n \SousEnsemble{n}{k} \binom{n-k}{m} (-1)^{n-k-m}k!}
+ \Fm{\Euls{n}{0} = 1}
+ \Fm{\Euls{n}{n} = 0 \MathRemark{\text{for }n\neq 0}}
+ \Fm{\Euls{n}{k} = (k+1)\Euls{n-1}{k} + (2n-1-k)\Euls{n-1}{k-1}}
+ \Fm{\sum_{k=0}^n \Euls{n}{k} = \frac{(2n)^{\underline{n}}}{2^n}}
+ \Fm{\SousEnsemble{x}{x-n} = \sum_{k=0}^n \Euls{n}{k} \binom{x+n-1-k}{2n}}
+ \Fm{\SousEnsemble{n+1}{m+1} = \sum_k \binom{n}{k} \SousEnsemble{k}{m} = \sum_{k=0}^n \SousEnsemble{k}{m} (m+1)^{n-k}}
+ \end{DisplayFormulae}
+ %To keep a small horizontal white space after pushing the block
+ \vspace{1.1\TOnePushFormulaeB}
+ }%
+}
diff --git a/info/mathtrip/src/ids3.tex b/info/mathtrip/src/ids3.tex
new file mode 100644
index 0000000000..0a19c36a6c
--- /dev/null
+++ b/info/mathtrip/src/ids3.tex
@@ -0,0 +1,25 @@
+%This command provides the text of the identities displayed at the
+%top of page 3
+%
+%The command has one parameter:
+% 1) The width of the text
+\newcommand\TTwoIdentities[1]{%
+ \parbox[t]{#1}{%
+ \TTwoFormulaeFontSize
+ \begin{DisplayFormulae}{38}{\SpaceBeforeFormula}{\TTwoInterlineFormulae}{\BigChar}{\StyleBold}
+ \Fm{\Cycle{n+1}{m+1} = \sum_k \Cycle{n}{k} \binom{k}{m} = \sum_{k=0}^n \Cycle{k}{m}
+ n^{\underline{n-k}} = n! \sum_{k=0}^n \frac{1}{k!} \Cycle{k}{m}}
+ \Fm{\Cycle{x}{x-n} = \sum_{k=0}^n \Euls{n}{k} \binom{x+k}{2n}}
+ \Fm{\SousEnsemble{n}{m} = \sum_k \binom{n}{k} \SousEnsemble{k+1}{m+1}(-1)^{n-k}}
+ \Fm{\Cycle{n}{m} = \sum_k \Cycle{n+1}{k+1} \binom{k}{m}(-1)^{m-k}}
+ \Fm{\SousEnsemble{m+n+1}{m} = \sum_{k=0}^m k \SousEnsemble{n+k}{k}}
+ \Fm{\Cycle{m+n+1}{m} = \sum_{k=0}^m k (n+k)\Cycle{n+k}{k}}
+ \Fm{\binom{n}{m} = \sum_k \SousEnsemble{n+1}{k+1} \Cycle{k}{m} (-1)^{m-k}}
+ \Fm{(n-m)!\binom{n}{m} = \sum_k \Cycle{n+1}{k+1} \SousEnsemble{k}{m} (-1)^{m-k}\MathRemark{\text{for }n \geq m}}
+ \Fm{\SousEnsemble{n}{n-m} = \sum_k \binom{m-n}{m+k} \binom{m+n}{n+k}\Cycle{m+k}{k}}
+ \Fm{\Cycle{n}{n-m} = \sum_k \binom{m-n}{m+k} \binom{m+n}{n+k}\SousEnsemble{m+k}{k}}
+ \Fm{\SousEnsemble{n}{\ell+m}\binom{\ell+m}{\ell} = \sum_k \SousEnsemble{k}{\ell} \SousEnsemble{n-k}{m} \binom{n}{k}}
+ \Fm{\Cycle{n}{\ell+m}\binom{\ell+m}{\ell} = \sum_k \Cycle{k}{\ell} \Cycle{n-k}{m} \binom{n}{k}}
+ \end{DisplayFormulae}
+ }%
+}
diff --git a/info/mathtrip/src/magic.tex b/info/mathtrip/src/magic.tex
new file mode 100644
index 0000000000..1679f6cd3f
--- /dev/null
+++ b/info/mathtrip/src/magic.tex
@@ -0,0 +1,26 @@
+%This command provides the magic square in he second column
+%of the third horizontal part at page 10.
+%
+%The command has one parameter
+% The width of the text
+\newcommand\TTenMagic[1]{%
+ \parbox[t]{#1}{%
+ \TTenMagicSquareFontSize
+ $\begin{array}{llllllllll}
+ %Useful to have more space with the upper border
+ \rule{0pt}{2.7ex plus .05ex minus .2ex}%
+ 00 &47 &18 &76 &29 &93 &85 &34 &61 &52 \\
+ 86 &11 &57 &28 &70 &39 &94 &45 &02 &63 \\
+ 95 &80 &22 &67 &38 &71 &49 &56 &13 &04 \\
+ 59 &96 &81 &33 &07 &48 &72 &60 &24 &15 \\
+ 73 &69 &90 &82 &44 &17 &58 &01 &35 &26 \\
+ 68 &74 &09 &91 &83 &55 &27 &12 &46 &30 \\
+ 37 &08 &75 &19 &92 &84 &66 &23 &50 &41 \\
+ 14 &25 &36 &40 &51 &62 &03 &77 &88 &99 \\
+ 21 &32 &43 &54 &65 &06 &10 &89 &97 &78 \\
+ 42 &53 &64 &05 &16 &20 &31 &98 &79 &87 \\
+ \end{array}$%
+ }%
+}
+%This is the title of this part
+\newcommand\TTenMagicTitle{The magic square}
diff --git a/info/mathtrip/src/matrix.tex b/info/mathtrip/src/matrix.tex
new file mode 100644
index 0000000000..efd7ddb66c
--- /dev/null
+++ b/info/mathtrip/src/matrix.tex
@@ -0,0 +1,59 @@
+%This command provides the text about matrix in the first part
+%of the column 2 of the page 4.
+%
+%The macro has one parameter
+% 1) The width allowed for the text
+\newcommand\TFourMatrix[1]{%
+ \parbox[t]{#1}{%
+ \DisplaySpace{\TFourDisplaySpace}{\TFourDisplayShortSpace}
+ %The column is narrow, text looks better ragged right
+ \raggedright
+
+ \TFourTitle{Multiplication:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{C = A \cdot B},
+ \Fm{c_{i,j} = \sum_{k=1}^n a_{i,k} b_{k,j}}.
+ \end{DisplayFormulae}
+
+ \TFourTitle{Determinants:}
+ $\det A \neq 0$ iff $A$ is non-singular.
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\det A \cdot B = \det A \cdot \det B},
+ \Fm{\det A = \sum_\pi \prod_{i=1}^n \sign(\pi) a_{i,\pi(i)}}.
+ \end{DisplayFormulae}
+
+ \TFourTitle{$2 \times 2$ and $3 \times 3$ determinant:}
+ \AdjustSpace{1ex plus .5ex minus .2ex}
+ \begin{DisplayFormulae}{1}{0pt}{5ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\begin{bmatrix}
+ a &b \\
+ c &d \\
+ \end{bmatrix} = a d - b c}
+ %Second Equation, matrix 3x3
+ \def\FirstPart{A=\begin{bmatrix}%
+ a &b &c \\
+ d &e &f \\
+ g &h &i \\
+ \end{bmatrix}}
+ \FmPartA{\FirstPart =
+ g\begin{bmatrix}%
+ b &c \\
+ e &f \\
+ \end{bmatrix}
+ -h \begin{bmatrix}%
+ a &c \\
+ d &f \\
+ \end{bmatrix}+}
+ \FmPartB{\FirstPart =}{\enspace i \begin{bmatrix}%
+ a &b \\
+ d &e \\
+ \end{bmatrix}}
+ \Fm{\det A=a e i + b f g + c d h -c e g - f h a - i b d}
+ \end{DisplayFormulae}
+
+ \TFourTitle{Permanents:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\perm A = \sum_\pi \prod_{i=1}^n a_{i,\pi(i)}}.
+ \end{DisplayFormulae}
+ }%
+}
diff --git a/info/mathtrip/src/misc.tex b/info/mathtrip/src/misc.tex
new file mode 100644
index 0000000000..53de2a6e8a
--- /dev/null
+++ b/info/mathtrip/src/misc.tex
@@ -0,0 +1,105 @@
+%This command provides the text about the 'General' part
+%of the page 3
+%
+%The command has one parameter:
+% 1) The width of the text
+\newcommand\TThreeGeneral[1]{%
+ \parbox[t]{#1}{%
+ \DisplaySpace{\TThreeDisplaySpace}{\TThreeDisplayShortSpace}
+
+ %Since the columns is narrow, ragged right looks nicer
+ %Don't use \RaggedRight here since the result is not good
+ \raggedright
+
+ \TThreeTitle{Bernoulli Numbers
+ (\MathRemark[\relax]{B_i = 0}, \MathRemark[\relax]{\text{odd} i \neq 1}):}%
+ \begin{DisplayFormulae}{1}{0pt}{5ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \def\FmSep{\unskip\text{,}}
+ \Fm{B_0 = 1}
+ \Fm{B_1 = -{\frac{1}{2}}}
+ \Fm{B_2 = \frac{1}{6}}
+ \Fm{B_4 = -{\frac{1}{30}}}
+ \Fm{B_6 = \frac{1}{42}}
+ \Fm{B_8 = -{\frac{1}{30}}}
+ \def\FmSep{\relax}
+ \Fm{B_{10} = \frac{5}{66}}
+ \end{DisplayFormulae}
+
+ \TThreeTitle{Change of base, quadratic formula:}%
+ \begin{DisplayFormulae}{1}{0pt}{6ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \Fm{\log_b x = \frac{\log_a{x}}{\log_a{b}}},
+ \Fm{\frac{-b \pm \sqrt{b^2 - 4ac}}{2a}}
+ \end{DisplayFormulae}
+
+ \TThreeTitle{Euler's number $e$:}
+ \AdjustSpace{1.5ex plus .5ex minus .5ex}
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \def\FmSep{\unskip\text{,}}
+ \Fm{e = 1 + \tfrac{1}{2} + \tfrac{1}{6} + \tfrac{1}{24} + \cdots = \sum_{n=0}^\infty\frac{1}{n!}}
+ \Fm{\lim_{n \to \infty} \Bigl(1 + \frac{x}{n}\Bigr)^n = e^x}
+ \Fm{\left(1 + \tfrac{1}{n} \right)^n < e < \left(1 + \tfrac{1}{n} \right)^{n+1}}
+ \def\FmSep{\relax}
+ \def\FirstPart{\left(1 + \tfrac{1}{n} \right)^n = \mbox{}}
+ \FmPartA{\FirstPart e - \frac{e}{2 n} + \frac{11 e}{24 n^2} -}
+ \FmPartB{\FirstPart}{O\left(\frac{1}{n^3}\right)}
+ \end{DisplayFormulae}
+
+ \TThreeTitle{Harmonic numbers:}
+ \AdjustSpace{1.5ex plus .5ex minus .5ex}
+ \begin{DisplayFormulae}{1}{0pt}{5ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \def\FmSep{\unskip\text{,}}
+ \Fm{1}
+ \Fm{\frac{3}{2}}
+ \Fm{\frac{11}{6}}
+ \Fm{\frac{25}{12}}
+ \Fm{\frac{137}{60}}
+ \Fm{\frac{49}{20}}
+ \Fm{\frac{363}{140}}
+ \Fm{\frac{761}{280}}
+ \Fm{\frac{7129}{2520}}
+ \Fm{\ldots}
+ \Fm{\ln n < H_n < \ln n + 1}
+ \def\FmSep{\relax}
+ \Fm{H_n = \ln n + \gamma + O\bigg(\frac{1}{n} \bigg)}
+ \end{DisplayFormulae}
+
+ \TThreeTitle{Factorial, Stirling's approximation:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \def\FmSep{\unskip\text{,}}
+ \Fm{1}
+ \Fm{2}
+ \Fm{6}
+ \Fm{24}
+ \Fm{120}
+ \Fm{720}
+ \Fm{5040}
+ \Fm{40320}
+ \Fm{362880}
+ \def\FmSep{\relax}
+ \Fm{\ldots}
+ \Fm{n! = \sqrt{2\pi n} \bigg(\frac{n}{e}\bigg)^n\bigg(1 +
+ \Theta\bigg(\frac{1}{n}\bigg)\bigg)}
+ \end{DisplayFormulae}
+
+ \TThreeTitle{Ackermann's function and inverse:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ {%This equation is just too wide and not easy to split, font size
+ %reduction seems to be the easiest solution
+ %\fontsize{9.3pt}{10pt}\selectfont
+ \fontsize{8.8pt}{9.6pt}\selectfont
+ \Fm{a(i,j) =
+ \left\{%
+ \begin{array}{lr}
+ 2^j &\MathRemark[\relax]{i = 1} \\
+ a(i-1,2) &\MathRemark[\relax]{j=1} \\
+ a(i-1,a(i,j-1)) &\MathRemark[\relax]{i,j \geq 2}
+ \end{array}
+ \right.%
+ }
+ }
+ %Force the next formula on a new line
+ \NewParFormulae
+ \Fm{\alpha(i) = \min\{j \mid a(j,j) \geq i \}}
+ \end{DisplayFormulae}
+ }%
+}
diff --git a/info/mathtrip/src/number.tex b/info/mathtrip/src/number.tex
new file mode 100644
index 0000000000..6e47242313
--- /dev/null
+++ b/info/mathtrip/src/number.tex
@@ -0,0 +1,91 @@
+%This command provide the text about number theory in the first column
+%of the page 5
+%
+%The command has one parameter:
+% 1) The width of the text
+\newcommand\TFiveNumberTheory[1]{%
+ \parbox[t]{#1}{%
+ \TFiveColOneFontSize
+ %Space around math environments
+ \DisplaySpace{\TFiveDisplaySpace}{\TFiveDisplayShortSpace}
+ %The column is too narrow, ragged rigth is
+ %nicer
+ \raggedright
+
+ \TFiveTitle{The Chinese remainder theorem:}
+ There exists a number $C$ such that:
+ \[
+ \begin{array}{l%
+ @{\hspace{.1em}}c@{\hspace{.2em}}%
+ l%
+ c%
+ l}
+ C & \equiv& r_{1} & \bmod & m_{1} \\
+ & & & \vdots & \\
+ C & \equiv& r_{n} & \bmod & m_{n} \\
+ \end{array}
+ \]
+ if $m_{i}$ and $m_{j}$ are relatively prime for $i\neq j$.
+
+ \TFiveTitle{Euler's function:}
+ $\phi(x)$ is the number of positive integers less than $x$ relatively prime to $x$.
+
+ If $\prod_{i=1}^n p^{e_i}_i$ is the prime factorization of $x$ then
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\phi(x) = \prod_{i=1}^n p^{e_i - 1}_i (p_i - 1)}
+ \end{DisplayFormulae}
+
+ \TFiveTitle{Euler's theorem:}
+ If $a$ and $b$ are relatively prime then
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{1 \equiv a^{\phi(b)} \bmod b}
+ \end{DisplayFormulae}
+
+ \TFiveTitle{Fermat's theorem:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{1 \equiv a^{p-1} \bmod p}
+ \end{DisplayFormulae}
+
+ \TFiveTitle{The Euclidean algorithm:}
+ if $a > b$ are integers then
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{gcd(a, b) = \gcd(a \bmod b, b)}
+ \end{DisplayFormulae}
+
+ \AdjustSpace{1.5ex plus .5ex minus 1ex}
+ If $\prod_{i=1}^n p^{e_i}_i$ is the prime factorization of $x$ then
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{S(x) = \sum_{d\vert x} d = \prod_{i=1}^n \frac{p^{e_i+1}_i - 1}{p_i - 1}}
+ \end{DisplayFormulae}
+
+ \TFiveTitle{Perfect Numbers:}
+ $x$ is an even perfect number iff $x = 2^{n-1}(2^n - 1)$ and $2^n - 1$ is prime.
+
+ \TFiveTitle{Wilson's theorem:}
+ $n$ is a prime iff $(n-1)! \equiv -1 \bmod n$.
+
+ \TFiveTitle{M\"obius inversion:}
+ \mbox{$\mu(i) = \left\{\begin{array}{@{\hspace{.2em plus .05em minus .05em}}l%
+ @{\hspace{.3em plus .05em minus .05em}}l}
+ 1 & \text{if }i = 1 \\
+ 0 & \text{if $i$ is not square-free} \\
+ (-1)^r &\text{if $i$ is the product of} \\
+ &\text{$ir$ distinct primes.} \\
+ \end{array}\right.$}
+
+ If $G(a) = \sum_{d \vert a} F(d)$
+ then $F(a) = \sum_{d \vert a} \mu(d) G\Big(\frac{a}{d}\Big)$
+
+ \TFiveTitle{Prime numbers:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ %Equation 1
+ \def\FirstPart{p_n =}
+ \FmPartA{\FirstPart \ln n + n \ln \ln n - n + n \frac{\ln \ln n}{\ln n}+}
+ \FmPartB{\FirstPart}{O\left(\frac{n}{\ln n}\right)}
+ %Equation 2
+ \def\FirstPart{\pi(n) =}
+ \FmPartA{\FirstPart\frac{n}{\ln n} + \frac{n}{(\ln n)^2} + \frac{2! n}{(\ln n)^3}+}
+ \FmPartB{\FirstPart}{O\left(\frac{n}{(\ln n)^4}\right)}
+ \end{DisplayFormulae}
+ }
+}
diff --git a/info/mathtrip/src/partial.tex b/info/mathtrip/src/partial.tex
new file mode 100644
index 0000000000..b5c8b96da2
--- /dev/null
+++ b/info/mathtrip/src/partial.tex
@@ -0,0 +1,44 @@
+%This command provides the math for the second horizontal area
+%of the first column of the page 6
+%
+%The command has one parameter
+% 1) The width of the math text
+\newcommand\TSixPartialFrac[1]{%
+ \parbox[t]{#1}{%
+ \TSixPartialFontSize
+ \DisplaySpace{\TSixDisplaySpace}{\TSixDisplayShortSpace}
+ %Since the columns is narrow, ragged right looks better
+ \raggedright
+
+ Let $N(x)$ and $D(x)$ be polynomial functions of $x$.
+
+ We can break down $N(x)/D(x)$ using partial fraction expansion.
+
+ First,
+ if the degree of $N$ is greater than or equal to the degree of $D$,
+ divide $N$ by $D$,
+ obtaining
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\frac{N(x)}{D(x)} = Q(x) + \frac{N'(x)}{D(x)}}
+ \end{DisplayFormulae}
+ where the degree of $N'$ is less than that of $D$.
+
+ \TSixTitle{Second, factor $D(x)$}
+ Use the following rules:
+
+ \mbox{For a non-repeated factor:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\frac{N(x)}{(x-a) D(x)} = \frac{A}{x-a} + \frac{N'(x)}{D(x)}}
+ where
+ \Fm{A = \left[\frac{N(x)}{D(x)}\right]_{x=a}}
+ \end{DisplayFormulae}
+
+ \mbox{For a repeated factor:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\frac{N(x)}{(x-a)^m D(x)} =\sum_{k=0}^{m-1}\frac{A_k}{(x-a)^{m-k}} + \frac{N'(x)}{D(x)}}
+ where
+ \Fm{A_k = \frac{1}{k!}\left[\frac{d^k}{dx^k}
+ \left(\frac{N(x)}{D(x)}\right)\right]_{x=a}}
+ \end{DisplayFormulae}
+ }
+}
diff --git a/info/mathtrip/src/pascal_triangle.tex b/info/mathtrip/src/pascal_triangle.tex
new file mode 100644
index 0000000000..8610cc6673
--- /dev/null
+++ b/info/mathtrip/src/pascal_triangle.tex
@@ -0,0 +1,41 @@
+%This command provides the number of the Pascal's triangle
+%on the first column of the page 3
+%
+%This command has one parameter:
+% 1)The width of the text
+\newcommand\TThreePascal[1]{%
+ \def\LineOfTriangle##1{\rule{0pt}{\TThreeInterlinePascal}\centerline{$##1$}}
+ \parbox[t]{#1}{%
+ \TThreePascalFontSize
+ %Line 1
+ \LineOfTriangle{1}
+ %Line 2
+ \LineOfTriangle{1\TThreePascalSep{}1}
+ %Line 3
+ \LineOfTriangle{1\TThreePascalSep{}2\TThreePascalSep{}1}
+ %Line 4
+ \LineOfTriangle{1\TThreePascalSep{}3\TThreePascalSep{}3\TThreePascalSep{}1}
+ %Line 5
+ \LineOfTriangle{1\TThreePascalSep{}4\TThreePascalSep{}6\TThreePascalSep{}4%
+ \TThreePascalSep{}1}
+ %Line 6
+ \LineOfTriangle{1\TThreePascalSep{}5\TThreePascalSep{}10\TThreePascalSep{}10%
+ \TThreePascalSep{}5\TThreePascalSep{}1}
+ %Line 7
+ \LineOfTriangle{1\TThreePascalSep{}6\TThreePascalSep{}15\TThreePascalSep{}20%
+ \TThreePascalSep{}15\TThreePascalSep{}6\TThreePascalSep{}1}
+ %Line 8
+ \LineOfTriangle{1\TThreePascalSep{}7\TThreePascalSep{}21\TThreePascalSep{}35%
+ \TThreePascalSep{}35\TThreePascalSep{}21\TThreePascalSep{}7\TThreePascalSep{}1}
+ %Line 9
+ \LineOfTriangle{1\TThreePascalSep{}8\TThreePascalSep{}28\TThreePascalSep{}56\TThreePascalSep{}70%
+ \TThreePascalSep{}56\TThreePascalSep{}28\TThreePascalSep{}8\TThreePascalSep{}1}
+ %Line 10
+ \LineOfTriangle{1\TThreePascalSep{}9\TThreePascalSep{}36\TThreePascalSep{}84\TThreePascalSep{}126%
+ \TThreePascalSep{}126\TThreePascalSep{}84\TThreePascalSep{}36\TThreePascalSep{}9\TThreePascalSep{}1}
+ %Line 11
+ \LineOfTriangle{1\TThreePascalSep{}10\TThreePascalSep{}45\TThreePascalSep{}120\TThreePascalSep{}210%
+ \TThreePascalSep{}252\TThreePascalSep{}210\TThreePascalSep{}120\TThreePascalSep{}45%
+ \TThreePascalSep{}10\TThreePascalSep{}1}
+ }%
+}
diff --git a/info/mathtrip/src/pi.tex b/info/mathtrip/src/pi.tex
new file mode 100644
index 0000000000..6e9fde5478
--- /dev/null
+++ b/info/mathtrip/src/pi.tex
@@ -0,0 +1,60 @@
+%This command provides the math for the definition around
+%pi on first horizontal part of the first column
+%of page 6.
+%
+%This command has one parameter:
+% 1)The width of the math text
+\newcommand\TSixPi[1]{%
+ \parbox[t]{#1}{%
+ \TSixPiFontSize
+ \DisplaySpace{\TSixDisplaySpace}{\TSixDisplayShortSpace}
+ \TSixTitle{Wallis' identity:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\pi = 2 \cdot \frac{2 \cdot 2 \cdot 4 \cdot 4 \cdot 6 \cdot 6 \cdots}{%
+ 1 \cdot 3 \cdot 3 \cdot 5 \cdot 5 \cdot 7 \cdots}
+ }
+ \end{DisplayFormulae}
+
+ \TSixTitle{Brouncker's continued fraction expansion:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\tfrac {\pi}{4} = 1 + \frac{1^2}{2 +
+ \frac{3^2}{2 + \frac{5^2}{2 + \frac{7^2}{2 + \cdots}}}}
+ }
+ \end{DisplayFormulae}
+
+ \TSixTitle{Gregrory's series:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\tfrac {\pi}{4} = 1 - \tfrac{1}{3} + \tfrac{1}{5} - \tfrac{1}{7} +
+ \tfrac{1}{9} - \cdots}
+ \end{DisplayFormulae}
+
+ \TSixTitle{Newton's series:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\tfrac {\pi}{6} = \frac{1}{2} +
+ \frac{1}{2\cdot 3 \cdot 2^3} +
+ \frac{1 \cdot 3}{2\cdot 4 \cdot 5 \cdot 2^5} + \cdots
+ }
+ \end{DisplayFormulae}
+
+ \TSixTitle{Sharp's series:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\tfrac {\pi}{6} = \frac{1}{\sqrt{3}}
+ \Big(1 - \frac{1}{3^1 \cdot 3 } + \frac{1}{3^2 \cdot 5 } -
+ \frac{1}{3^3 \cdot 7 } + \cdots \Big)
+ }
+ \end{DisplayFormulae}
+
+ \TSixTitle{Euler's series:}
+ \begin{DisplayFormulae}{1}{0pt}{4ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\tfrac{\pi^2}{6} = \tfrac{1}{1^2} + \tfrac{1}{2^2} + \tfrac{1}{3^2} +
+ \tfrac{1}{4^2} + \tfrac{1}{5^2} + \cdots
+ }
+ \Fm{\tfrac{\pi^2}{8} = \tfrac{1}{1^2} + \tfrac{1}{3^2} + \tfrac{1}{5^2} +
+ \tfrac{1}{7^2} + \tfrac{1}{9^2} + \cdots
+ }
+ \Fm{\tfrac{\pi^2}{12} = \tfrac{1}{1^2} - \tfrac{1}{2^2} + \tfrac{1}{3^2} -
+ \tfrac{1}{4^2} + \tfrac{1}{5^2} - \cdots
+ }
+ \end{DisplayFormulae}
+ }
+}
diff --git a/info/mathtrip/src/power2.tex b/info/mathtrip/src/power2.tex
new file mode 100644
index 0000000000..123fae3905
--- /dev/null
+++ b/info/mathtrip/src/power2.tex
@@ -0,0 +1,41 @@
+%This command provides the list of 2 power on page 3
+%The command has one parameter
+% 1) The width of the text
+\newcommand\TThreePowerTwo[1]{%
+ \def\LineOfNumbers##1{\rule{0pt}{\TThreeInterlineNumbers}\centerline{$##1$}}
+ \parbox[t]{#1}{%
+ \TThreeNumbersFontSize
+ \LineOfNumbers{2}
+ \LineOfNumbers{4}
+ \LineOfNumbers{8}
+ \LineOfNumbers{16}
+ \LineOfNumbers{32}
+ \LineOfNumbers{64}
+ \LineOfNumbers{128}
+ \LineOfNumbers{256}
+ \LineOfNumbers{512}
+ \LineOfNumbers{1\SepMillier 024}
+ \LineOfNumbers{2\SepMillier 048}
+ \LineOfNumbers{4\SepMillier 096}
+ \LineOfNumbers{8\SepMillier 192}
+ \LineOfNumbers{16\SepMillier 384}
+ \LineOfNumbers{32\SepMillier 768}
+ \LineOfNumbers{65\SepMillier 536}
+ \LineOfNumbers{131\SepMillier 072}
+ \LineOfNumbers{262\SepMillier 144}
+ \LineOfNumbers{524\SepMillier 288}
+ \LineOfNumbers{1\SepMillier 048\SepMillier 576}
+ \LineOfNumbers{2\SepMillier 097\SepMillier 152}
+ \LineOfNumbers{4\SepMillier 194\SepMillier 304}
+ \LineOfNumbers{8\SepMillier 388\SepMillier 608}
+ \LineOfNumbers{16\SepMillier 777\SepMillier 216}
+ \LineOfNumbers{33\SepMillier 554\SepMillier 432}
+ \LineOfNumbers{67\SepMillier 108\SepMillier 864}
+ \LineOfNumbers{134\SepMillier 217\SepMillier 728}
+ \LineOfNumbers{268\SepMillier 435\SepMillier 456}
+ \LineOfNumbers{536\SepMillier 870\SepMillier 912}
+ \LineOfNumbers{1\SepMillier 073\SepMillier 741\SepMillier 824}
+ \LineOfNumbers{2\SepMillier 147\SepMillier 483\SepMillier 648}
+ \LineOfNumbers{4\SepMillier 294\SepMillier 967\SepMillier 296}
+ }%
+}
diff --git a/info/mathtrip/src/prob.tex b/info/mathtrip/src/prob.tex
new file mode 100644
index 0000000000..fa0c8efd5e
--- /dev/null
+++ b/info/mathtrip/src/prob.tex
@@ -0,0 +1,114 @@
+%This command provides the text of the last column (Probability)
+%on page 3
+%
+%The macro has one parameter:
+% 1) The width of the text
+%
+\newcommand\TThreeProb[1]{%
+ \parbox[t]{#1}{%
+ \DisplaySpace{\TThreeDisplaySpace}{\TThreeDisplayShortSpace}
+
+
+ %Formula 9
+ \TThreeTitle{Normal (Gaussian) distribution:}
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \Fm{p(x) = \frac{1}{\sqrt{2 \pi} \sigma} e^{-(x-\mu)^2/2\sigma^2}},
+ \Fm{\E[X] = \mu}
+ \end{DisplayFormulae}
+
+ %Formula 10
+ \TThreeTitle{Continuous distributions:}%
+ If $\Pr[a<X<b] = \int_{a}^b p(x)\dx$,
+ then $p$ is the probability density function of $X$.
+
+ If $\Pr[X<a] = P(a)$,
+ then $P$ is the distribution function of $X$.
+
+ If $P$ and $p$ both exist then
+ $P(a) = \int_{-\infty}^a p(x)\dx$.
+
+ %Formula 11
+ \TThreeTitle{Expectation:}
+ If $X$ is discrete
+ $\E[g(X)] = \sum_x g(x) \Pr[X=x]$.
+
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \unskip
+ If $X$ continuous then
+ \def\FirstPart{\E[g(X)]\mbox{}}
+ \FmPartA{\FirstPart = \int_{-\infty}^{\infty} g(x) p(x)\dx}
+ \FmPartB{\FirstPart}{= \int_{-\infty}^{\infty} g(x) \, d P(x)}.
+ \end{DisplayFormulae}
+
+ %Formula 12
+ \TThreeTitle{Variance, standard deviation:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \Fm{\Var[X] = \E[X^2] - \E[X]^2},
+ \Fm{\sigma = \sqrt{\Var[X]}}
+ \end{DisplayFormulae}
+
+ %Formula 13
+ \TThreeTitle{For events $A$ and $B$:}%
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \Fm{\Pr[A \Or B] = \Pr[A] + \Pr[B] - \Pr[A \And B]}
+ \FmPartA{\MathRemark[\relax]{\text{iff $A$ and $B$ are independent:}}}
+ %Small initial space to show that the remark is only for
+ %this equation
+ \FmPartB{xxxx}{\Pr[A \And B] =\Pr[A] \cdot \Pr[B]}
+ \Fm{\Pr[A \vert B] = \frac{\Pr[A \And B]}{\Pr[B]}}
+ \end{DisplayFormulae}%
+
+ %Formula 14
+ \TThreeTitle{For random variables $X$ and $Y$:}%
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \FmPartA{\MathRemark[\relax]{\text{if $X$ and $Y$ are independent:}}}
+ %Small initial space to show that the remark is only for
+ %this equation
+ \FmPartB{xxxx}{\E[X \cdot Y] = \E[X] \cdot \E[Y]}
+ \Fm{\E[X + Y] = \E[X] + \E[Y]}
+ \Fm{\E[c X] = c \E[X]}
+ \end{DisplayFormulae}
+
+ %Formula 15
+ \TThreeTitle{Bayes' theorem:}%
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \Fm{\Pr[A_i\vert B] =
+ \frac{\Pr[B\vert A_i] \Pr[A_i]}{\sum_{j=1}^n \Pr[A_j] \Pr[B\vert A_j]}}
+ \end{DisplayFormulae}
+
+ %Formula 16
+ \TThreeTitle{Inclusion-exclusion:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \raggedright
+ \def\FirstPart{\Pr\Big[\bigvee^n_{i=1} X_i \Big] = \mbox{}}
+ \FmPartA{\FirstPart \sum^n_{i=1} \Pr[X_i] +}
+ \FmPartB{\FirstPart}{\sum_{k=2}^n (-1)^{k+1} \sum_{\smash{i_i<\cdots <i_k}}
+ \Pr\Big[\bigwedge^k_{j=1} X_{i_j}\Big]}
+ \end{DisplayFormulae}
+
+ %Formula 17
+ \TThreeTitle{Moment inequalities:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \Fm{\Pr\big[\vert X\vert \geq \lambda \E[X]\big] \leq \frac{1}{\lambda}},
+ \Fm{\Pr\Big[\big\vert X - \E[X]\big\vert \geq \lambda \cdot \sigma \Big]
+ \leq \frac{1}{\lambda^2}}
+ \end{DisplayFormulae}
+
+ %Formula 18
+ \TThreeTitle{Geometric distribution:}%
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \Fm{\Pr[X = k] = pq^{k-1}\MathRemark{q = 1-p}},
+ \Fm{\E[X] = \sum^\infty_{k=1} kpq^{k-1} = \frac{1}{p}}
+ \end{DisplayFormulae}
+
+ \AdjustSpace{2ex plus 1ex minus .5ex}
+ \noindent
+ The ``coupon collector'':
+ We are given a random coupon each day,
+ and there are $n$ different types of coupons.
+ The distribution of coupons is uniform.
+
+ The expected number of days to pass before we to collect all $n$ types is
+ $n=H_n$.
+ }%
+}
diff --git a/info/mathtrip/src/prob2.tex b/info/mathtrip/src/prob2.tex
new file mode 100644
index 0000000000..3ec1964c96
--- /dev/null
+++ b/info/mathtrip/src/prob2.tex
@@ -0,0 +1,36 @@
+%This command provides the text to be written
+%in the second part of the column 4 on the page 3
+%
+%The command has one parameter
+% 1) The width of the text
+\newcommand\TThreeProbTwo[1]{%
+ \parbox[t]{#1}{%
+ \DisplaySpace{\TThreeDisplaySpace}{\TThreeDisplayShortSpace}
+ %Formula 7
+ \TThreeTitle{Binomial distribution:}
+ \ifluatex
+ \AdjustSpace{0ex plus .5ex minus .5ex}
+ \else
+ \AdjustSpace{1ex plus .5ex minus .5ex}
+ \fi
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \def\FirstPart{\Pr[X = k] = \mbox{}}
+ \FmPartA{\FirstPart \binom{n}{k} p^k q^{n-k}}
+ \FmPartB{\FirstPart}{\MathRemark[\relax]{q = 1-p}},
+ \Fm{\E[X] = \sum^n_{k=1} k {n \choose k} p^k q^{n-k} = n p}
+ \end{DisplayFormulae}
+
+ %Formula 8
+ \TThreeTitle{Poisson distribution:}%
+ \AdjustSpace{.75ex plus .5ex minus .5ex}
+ \raggedright
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\Pr[X = k] = \frac{e^{-\lambda} \lambda^k}{k!}},
+ \Fm{\E[X] = \lambda}
+ \end{DisplayFormulae}
+
+ %To push a little bit the text to the top and
+ %separate it from the bottom of the NiceTabular environment.
+ %\vspace{\TThreeMoveProbB}
+ }%
+}
diff --git a/info/mathtrip/src/quote1.tex b/info/mathtrip/src/quote1.tex
new file mode 100644
index 0000000000..1da408417a
--- /dev/null
+++ b/info/mathtrip/src/quote1.tex
@@ -0,0 +1,14 @@
+%This command provides the text of the quote used on page 5
+%
+%The command has one parameter:
+% 1)The width allowed for the text
+\newcommand\TFiveQuote[1]{%
+ \parbox[t]{#1}{%
+ If I have seen farther than others,
+ it is because I have stood on the shoulders of giants.
+
+ \begin{flushright}
+ — Issac Newton
+ \end{flushright}
+ }
+}
diff --git a/info/mathtrip/src/quote2.tex b/info/mathtrip/src/quote2.tex
new file mode 100644
index 0000000000..8278e739f1
--- /dev/null
+++ b/info/mathtrip/src/quote2.tex
@@ -0,0 +1,18 @@
+%This is the quotation on page 9
+%The command has one parameter
+% 1) The width usable to typeset the text
+\newcommand\TNineQuote[1]{%
+ \parbox[t]{#1}{%
+ \noindent
+ Die ganzen Zahlen hat der liebe Gott gemacht,
+ alles andere ist Menschenwerk.
+
+ \begin{flushright}
+ — Leopold Kronecker
+ \end{flushright}
+
+ \noindent
+ \emph{\small God made the natural numbers;
+ all the rest is the work of man.}
+ }
+}
diff --git a/info/mathtrip/src/quote3.tex b/info/mathtrip/src/quote3.tex
new file mode 100644
index 0000000000..4753c2a556
--- /dev/null
+++ b/info/mathtrip/src/quote3.tex
@@ -0,0 +1,17 @@
+%THis command provides the text of the quote in the third horizontal are of the
+%first column in the page 6
+%
+%The command has one parameter
+% 1) The width of the text
+\newcommand\TSixQuoteThree[1]{%
+ \parbox[t]{#1}{%
+ \TSixQuoteFontSize
+ The reasonable man adapts himself to the world;
+ the unreasonable persists in trying to adapt the world to himself.
+ Therefore all progress depends on the unreasonable.
+
+ \begin{flushright}
+ — George Bernard Shaw
+ \end{flushright}
+ }
+}
diff --git a/info/mathtrip/src/quote4.tex b/info/mathtrip/src/quote4.tex
new file mode 100644
index 0000000000..4a6996e5c2
--- /dev/null
+++ b/info/mathtrip/src/quote4.tex
@@ -0,0 +1,15 @@
+%This command provides the quoze of J. von Neuman
+%in the page 4.
+%
+%The command has one parameter:
+% 1) The width of the text
+\newcommand\TFourQuoteOne[1]{%
+\parbox[t]{#1}{%
+\TFourQuoteFontSize
+… in mathematics you don't understand things, you just get used to them.
+
+\begin{flushright}
+— J. von Neumann
+\end{flushright}
+}%
+}
diff --git a/info/mathtrip/src/quote5.tex b/info/mathtrip/src/quote5.tex
new file mode 100644
index 0000000000..3210bd0d56
--- /dev/null
+++ b/info/mathtrip/src/quote5.tex
@@ -0,0 +1,19 @@
+%This command produce the quote in the first column
+%of the third horizontal part of page 10
+%
+%The macro hasone parameter
+% 1) The width of the text
+\newcommand\TTenQuote[1]{%
+ \parbox[t]{#1}{%
+ \noindent
+ Improvement makes strait roads,
+ but the crooked roads without Improvement,
+ are roads of Genius.
+
+ \begin{flushright}
+ — William Blake (The Marriage of Heaven and Hell)
+ \end{flushright}
+ }
+}
+%The title of this part
+\newcommand\TTenQuoteTitle{\relax}
diff --git a/info/mathtrip/src/quote6.tex b/info/mathtrip/src/quote6.tex
new file mode 100644
index 0000000000..1805ac10e7
--- /dev/null
+++ b/info/mathtrip/src/quote6.tex
@@ -0,0 +1,18 @@
+%This command provides the text of the quote of David Hilbert
+%on the page 9
+%
+%This command has one parameter:
+% 1) The width of the text
+\newcommand\TEightQuote[1]{%
+ \parbox[t]{#1}{%
+ \raggedright
+ Aus dem Paradies, das Cantor uns geschaffen,
+ soll uns niemand vertreiben k\"onnen.
+
+ \begin{flushright}
+ — David Hilbert
+ \end{flushright}
+
+ \textit{\small From the paradise, that Cantor created for us, no-one shall be able to expel us.}
+ }
+}
diff --git a/info/mathtrip/src/recur1.tex b/info/mathtrip/src/recur1.tex
new file mode 100644
index 0000000000..6cafb0e27a
--- /dev/null
+++ b/info/mathtrip/src/recur1.tex
@@ -0,0 +1,177 @@
+%This commad provides the text in the first column of the recurences
+%
+%This command has one parameter:
+% 1) The width of the text
+\newcommand\TTwoRecurOne[1]{%
+ \parbox[t]{#1}{%
+ \TTwoRecurenceFontSize
+ %This command add a small line between 2 paragraphs to
+ %better separate different elements.
+ \def\Filet{\par\centerline{\rule{5em}{.5pt}}\par}
+ \deflength{\parskip}{\TTwoRecurParSkip}
+ %We accept a unbalanced last column
+ %\defcounter{unbalance}{2}
+ %Width of the vertical rule to separate columns.
+ \deflength{\columnseprule}{.4pt}
+ \DisplaySpace{\TTwoDisplaySpace}{\TTwoDisplayShortSpace}
+
+
+ \begin{multicols}{3}
+ \TTwoTitle{Master method:}
+ \AdjustSpace{-.75ex plus .25 ex minus .5ex}
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{T(n) = aT(n/b) + f(n)}
+ \Fm{\MathRemark[\relax]{a\geq 1, b > 1}}
+ \end{DisplayFormulae}
+
+ \Filet
+
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \unskip If \Fm[true]{\exists\, \epsilon > 0} such that \Fm[true]{f(n) = O(n^{\log_b a - \epsilon})}
+ then: \Fm[true]{T(n) = \Theta(n^{\log_b a})}
+ \end{DisplayFormulae}
+
+ \Filet
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \unskip If \Fm[true]{f(n) = \Theta(n^{\log_b a})} then
+ \Fm[true]{T(n) = \Theta(n^{\log_b a} \log_2 n)}
+ \end{DisplayFormulae}
+
+ \Filet
+
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \unskip If \Fm[true]{\exists\, \epsilon > 0} such that
+ \Fm[true]{f(n) = \Omega(n^{\log_b a + \epsilon})},
+ and \Fm[true]{\exists\, c < 1} such that \Fm[true]{a f(n/b) \leq cf(n)} for large $n$,
+ then:
+ \Fm[true]{T(n) = \Theta(f(n))}
+ \end{DisplayFormulae}
+
+ \TTwoTitle{Substitution \textup{(}example\textup{)}:}
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \unskip Consider the following recurrence:\\
+ \Fm[true]{T_{i+1} = 2^{2^i} \cdot T_i^2\MathRemark{T_1 = 2}}.
+ Note that $T_i$ is always a power of two.
+ \end{DisplayFormulae}
+
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \unskip Let \Fm[true]{t_i = \log_2 T_i}.
+ Then we have:
+ \Fm[true]{t_{i+1} = 2^i + 2 t_i\MathRemark{t_1 = 1}}
+ \end{DisplayFormulae}
+
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \unskip Let \Fm[true]{u_i = t_i/2^i}.
+ Dividing both sides of the previous equation by \Fm[true]{2^{i+1}} we get:
+ \Fm[true]{\frac{t_{i+1}}{2^{i+1}} = \frac{2^i}{2^{i+1}} + \frac{t_i}{2^i}}
+ \end{DisplayFormulae}
+
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \unskip Substituting we find:\\%[-1ex plus .5ex minus .5ex]
+ \Fm[true]{u_{i+1} = 2^{-1} + u_i\MathRemark{u_1 = 2^{-1}}},
+ which is simply \Fm[true]{u_i = i/2}.
+
+ So we find that \Fm[true]{T_i} has the closed form \Fm[true]{T_i = 2^{i2^{i-1}}}.
+ \end{DisplayFormulae}
+
+ \TTwoTitle{Summing factors \textup{(}example\textup{)}:}
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \unskip Consider the following recurrence:\\
+ \Fm[true]{T(n) = 3T(n/2) + n\MathRemark{T(1) = 1}}
+ \end{DisplayFormulae}
+
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \unskip Rewrite so that all terms involving $T$ are on the
+ left side:\\
+ \Fm[true]{T(n) - 3T(n/2) = n}
+
+ Now expand the recurrence,
+ and choose a factor which makes the left side ``telescope''.
+ \end{DisplayFormulae}
+
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \Fm{\left(T(n) - 3T(n/2) = n\right)}
+ \def\FormulaRecur{\left(T(n/2) - 3T(n/4) = n/2\right)}
+ \Fm{\FormulaRecur}
+ %To get the size of the preceding formula
+ \WriteFormula{0pt}{\TmpLengthA}{\FormulaRecur}{false}
+ \Fm{\makebox[\TmpLengthA][c]{$\vdots$}}
+ \Fm{3^{\log_2 n - 1}\left(T(2) - 3T(1) = 2\right)}
+ \end{DisplayFormulae}
+
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \unskip Let \Fm[true]{m = \log_2 n}.
+ Summing the left side we get:
+ \def\FirstPart{T(n) - 3^mT(1)}
+ \FmPartA{\FirstPart= T(n) - 3^m}
+ \FmPartB{\FirstPart}{= T(n) - n^k}\\
+ \MathRemark[\relax]{\text{where } k = \log_2 3 \approx 1\SepDecimal 58496}.
+ \end{DisplayFormulae}
+
+ Summing the right side we get:\\
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \Fm{\sum_{i=0}^{m-1} \frac{n}{2^i} 3^i = n \sum_{i=0}^{m-1} \left(\frac{3}{2} \right)^i}
+ \end{DisplayFormulae}
+
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \unskip Let \Fm[true]{c = \frac{3}{2}}.
+ Then we have:
+ \def\FirstPart{n \sum_{i=0}^{m-1} c^i}
+ \FmPartA{\FirstPart = n \left( \frac{c^m-1}{c-1} \right)}
+ \FmPartB{\FirstPart}{= 2 n \left( c^{\log_2 n } - 1 \right)}
+ \FmPartB{\FirstPart}{= 2 n \left( c^{(k-1) \log_c n } - 1 \right)}
+ \FmPartB{\FirstPart}{= 2 n^k - 2n}
+ and so \Fm[true]{T(n) = 3 n^k - 2n}.
+ \end{DisplayFormulae}
+
+ Full history recurrences can often be changed to limited history ones.
+
+ \TTwoTitle{Example:}
+ \AdjustSpace{-1.5ex plus .5ex minus .5ex}
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \unskip Consider:
+ \Fm{T_i = 1 + \sum^{i-1}_{j=0} T_j\MathRemark{T_0 = 1}}\\
+ Note that:
+ \Fm{T_{i+1} = 1 + \sum^i_{j=0} T_j}\\
+ By subtracting we find:
+ \def\FirstPart{T_{i+1} - T_i}
+ \FmPartA{\FirstPart = 1 + \sum^i_{j=0} T_j - 1 - \sum^{i-1}_{j=0} T_j}
+ \FmPartB{\FirstPart}{= T_i}\\
+ And so \Fm[true]{T_{i+1} = 2T_i = 2^{i+1}}.
+ \end{DisplayFormulae}
+
+ \TTwoTitle{Generating functions:}
+ \begin{enumerate}[noitemsep,nolistsep]
+ \item Multiply both sides of the equation by $x^i$.
+ \item Sum both sides over all $i$ for which the equation is valid.
+ \item Choose a generating function $G(x)$.
+ Usually $G(x) = \sum_{i=0}^\infty x^i g_i$.
+ \item Rewrite the equation in terms of the generating function $G(x)$.
+ \item Solve for $G(x)$.
+ \item The coefficient of $x^i$ in $G(x)$ is $g_i$.
+ \end{enumerate}
+
+ \TTwoTitle{Example:}
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\BigChar}{\StyleWithoutNumber}
+ \unskip
+ Let the equation: \\
+ \Fm{g_{i+1} = 2 g_i + 1\MathRemark{g_0 = 0}}.\\[.6ex plus .2ex minus .1ex]
+ Multiply and sum:
+ \Fm{\sum_{i\geq 0} g_{i+1} x^i = \sum_{i\geq 0} 2 g_i x^i + \sum_{i\geq 0} x^i}
+ We choose: \Fm[true]{G(x) = \sum_{i\geq 0} x^i g_i}.\\
+ Rewrite in terms of \Fm[true]{G(x)}:
+ \Fm{\frac{G(x)-g_0}{x} = 2 G(x) + \sum_{i\geq 0} x^i}\\
+ Simplify:
+ \Fm{\frac{G(x)}{x} = 2 G(x) + \frac{1}{1-x}}\\
+ Solve for \Fm[true]{G(x)}:
+ \Fm{G(x) = \frac{x}{(1-x)(1-2x)}}.\\
+ Expand this using partial fractions:
+ \def\FirstPart{G(x)}
+ \FmPartA{\FirstPart = x \left(\frac{2}{1-2x} - \frac{1}{1-x}\right)}
+ \FmPartB{\FirstPart}{= x \left(2 \sum_{i\geq 0} 2^i x^i - \sum_{i\geq 0} x^i\right)}
+ \FmPartB{\FirstPart}{= \sum_{i\geq 0} (2^{i+1} - 1) x^{i+1}}\\
+ So \Fm[true]{g_i = 2^i - 1}.
+ \end{DisplayFormulae}
+ \end{multicols}
+ }%
+}
diff --git a/info/mathtrip/src/seq_nb.tex b/info/mathtrip/src/seq_nb.tex
new file mode 100644
index 0000000000..d782ad20dd
--- /dev/null
+++ b/info/mathtrip/src/seq_nb.tex
@@ -0,0 +1,42 @@
+%This command provides the sequance of numbers 1..32 on the first column
+%of page 3
+%This command has one parameter
+% 1) The width of the text
+\newcommand\TThreeSeqNb[1]{%
+ \def\LineOfNumbers##1{\rule{0pt}{\TThreeInterlineNumbers}\centerline{$##1$}}
+ \parbox[t]{#1}{%
+ \TThreeNumbersFontSize
+ \LineOfNumbers{1}
+ \LineOfNumbers{2}
+ \LineOfNumbers{3}
+ \LineOfNumbers{4}
+ \LineOfNumbers{5}
+ \LineOfNumbers{6}
+ \LineOfNumbers{7}
+ \LineOfNumbers{8}
+ \LineOfNumbers{9}
+ \LineOfNumbers{10}
+ \LineOfNumbers{11}
+ \LineOfNumbers{12}
+ \LineOfNumbers{13}
+ \LineOfNumbers{14}
+ \LineOfNumbers{15}
+ \LineOfNumbers{16}
+ \LineOfNumbers{17}
+ \LineOfNumbers{18}
+ \LineOfNumbers{19}
+ \LineOfNumbers{20}
+ \LineOfNumbers{21}
+ \LineOfNumbers{22}
+ \LineOfNumbers{23}
+ \LineOfNumbers{24}
+ \LineOfNumbers{25}
+ \LineOfNumbers{26}
+ \LineOfNumbers{27}
+ \LineOfNumbers{28}
+ \LineOfNumbers{29}
+ \LineOfNumbers{30}
+ \LineOfNumbers{31}
+ \LineOfNumbers{32}
+ }%
+}
diff --git a/info/mathtrip/src/series1.tex b/info/mathtrip/src/series1.tex
new file mode 100644
index 0000000000..1990ef21b0
--- /dev/null
+++ b/info/mathtrip/src/series1.tex
@@ -0,0 +1,101 @@
+%This command typeset the series of the first column
+%of the page 9
+%
+%The command has one parameter:
+% 1) The width usable to type the text
+\newcommand\TNineSeriesOne[1]{%
+ %The following command typeset the development of the different
+ %series.
+ %The macro has 3 parameters
+ % 1) The closed form (before the first equal sign)
+ % 2) The development(between both equal sign)
+ % 3) The form written with the sum sign (Σ) after
+ % the third equal sign
+ %This macro use the global (to this macro) length
+ %'\HSpace' which should have been set to the width
+ %of the mathematical text.
+ \def\DevelopSerie##1##2##3{##1&=&##2&=&##3\\[\TNineExpansionSkip]}%
+ \parbox[t]{#1}{%
+ \TNineSeriesFontSize
+ \DisplaySpace{\TNineDisplaySpace}{\TNineDisplayShortSpace}%
+ \TNineTitle{Taylor's series centered at $a$:}%
+ \begin{displaymath}
+ f(x) = f(a) + (x-a)f'(a) + \tfrac{(x-a)^2}{2} f''(a) + \cdots =
+ \sum_{i=0}^\infty \tfrac{(x-a)^i}{i!} f^{(i)}(a)
+ \end{displaymath}
+ \TNineTitle{Expansions:}
+ \AdjustSpace{2ex plus 1ex minus -5ex}
+ $\begin{array}{l%Equal sign
+ @{\hspace{.1em}}c@{\hspace{.2em}}%Col 3 development
+ l%Equal sign
+ @{\hspace{.1em}}c@{\hspace{.2em}}%Col 5 compact form
+ l%
+ }
+ \DevelopSerie{\tfrac{1}{1 - x}}%
+ {1 + x + x^2 + x^3 + x^4 + \cdots}%
+ {\sum_{i=0}^\infty x^i}
+ \DevelopSerie{\tfrac{1}{1 - c x}}%
+ {1 + c x + c^2 x^2 + c^3 x^3 + \cdots}%
+ {\sum_{i=0}^\infty c^i x^i}
+ \DevelopSerie{\tfrac{1}{1 - x^n}}%
+ {1 + x^n + x^{2n} + x^{3n} + \cdots}%
+ {\sum_{i=0}^\infty x^{ni}}
+ \DevelopSerie{\tfrac{x}{(1 - x)^2}}%
+ {x + 2 x^2 + 3 x^3 + 4 x^4 + \cdots}%
+ {\sum_{i=0}^\infty i x^i}
+ \DevelopSerie{\sum_{k=0}^n {n \brace k} \tfrac{k! z^k}{(1-z)^{k+1}}}% fix by Raphael Reitzig
+ % x^k {d^n \over dx^n}\left({1 \over 1 - x}\right) % original line
+ {x + 2^n x^2 + 3^n x^3 + 4^n x^4 + \cdots}%
+ {\sum_{i=0}^\infty i^n x^i}
+ \DevelopSerie{e^x}%
+ {1 + x + \tfrac{1}{2} x^2 + \tfrac{1}{6} x^3 + \cdots}%
+ {\sum_{i=0}^\infty \tfrac{x^i}{i!}}
+ \DevelopSerie{\ln (1 + x)}%
+ {x - \tfrac{1}{2} x^2 + \tfrac{1}{3} x^3 - \tfrac{1}{4} x^4 - \cdots}%
+ {\sum_{i=1}^\infty (-1)^{i+1} \tfrac{x^i}{i}}
+ \DevelopSerie{\ln \tfrac{1}{1 - x}}%
+ {x + \tfrac{1}{2} x^2 + \tfrac{1}{3} x^3 + \tfrac{1}{4} x^4 + \cdots}%
+ {\sum_{i=1}^\infty \tfrac{x^i}{i}}
+ \DevelopSerie{\sin x}%
+ {x - \tfrac{1}{3!} x^3 + \tfrac{1}{5!} x^5 - \tfrac{1}{7!} x^7 + \cdots}%
+ {\sum_{i=0}^\infty (-1)^i \tfrac{x^{2i+1}}{(2i+1)!}}
+ \DevelopSerie{\cos x}%
+ {1 - \tfrac{1}{2!} x^2 + \tfrac{1}{4!} x^4 - \tfrac{1}{6!} x^6 + \cdots}%
+ {\sum_{i=0}^\infty (-1)^i \tfrac{x^{2i}}{(2i)!}}
+ \DevelopSerie{\tan^{-1} x}%
+ {x - \tfrac{1}{3} x^3 + \tfrac{1}{5} x^5 - \tfrac{1}{7} x^7 + \cdots}%
+ {\sum_{i=0}^\infty (-1)^i \tfrac{x^{2i+1}}{2i+1}}
+ \DevelopSerie{(1+x)^n}%
+ {1 + n x + \tfrac{n(n-1)}{2} x^2 + \cdots}%
+ {\sum_{i=0}^\infty \binom{n}{i} x^i}
+ \DevelopSerie{\tfrac{1}{(1-x)^{n+1}}}%
+ {1 + (n+1) x + \binom{n+2}{2} x^2 + \cdots}%
+ {\sum_{i=0}^\infty \binom{i+ n}{i} x^i}
+ \DevelopSerie{\tfrac{x}{e^x - 1}}%
+ {1 - \tfrac{1}{2} x + \tfrac{1}{12} x^2 - \tfrac{1}{720} x^4 + \cdots}%
+ {\sum_{i=0}^\infty \tfrac{B_i x^i}{i!}}
+ \DevelopSerie{\tfrac{1}{2x}(1 - \sqrt{1-4x})}%
+ {1 + x + 2 x^2 + 5 x^3 + \cdots}%
+ {\sum_{i=0}^\infty \tfrac{1}{i+1}\binom{2i}{i}x^i}
+ \DevelopSerie{\tfrac{1}{\sqrt{1-4x}}}%
+ % {1 + x + 2 x^2 + 6 x^3 + \cdots}% % original line
+ {1 + 2 x + 6 x^2 + 20 x^3 + \cdots}% % fix by Raphael Reitzig
+ {\sum_{i=0}^\infty \binom{2i}{i}x^i}
+ \DevelopSerie{\tfrac{1}{\sqrt{1-4x}}\left(\tfrac{1 - \sqrt{1-4x}}{2x}\right)^n}%
+ {1 + (2+n)x + \binom{4+n}{2} x^2 + \cdots}%
+ {\sum_{i=0}^\infty \binom{2i+n}{i}x^i}
+ \DevelopSerie{\tfrac{1}{1-x}\ln\tfrac{1}{1- x}}%
+ {x + \tfrac{3}{2} x^2 + \tfrac{11}{6} x^3 + \tfrac{25}{12} x^4 + \cdots}%
+ {\sum_{i=1}^\infty H_i x^i}
+ \DevelopSerie{\tfrac{1}{2}\left(\ln\tfrac{1}{1- x}\right)^2}%
+ {\tfrac{1}{2} x^2 + \tfrac{3}{4} x^3 + \tfrac{11}{24} x^4 + \cdots}%
+ {\sum_{i=2}^\infty \tfrac{H_{i-1} x^i}{i}}
+ \DevelopSerie{\tfrac{x}{1 - x - x^2}}%
+ {x + x^2 + 2 x^3 + 3 x^4 + \cdots}%
+ {\sum_{i=0}^\infty F_i x^i}
+ \DevelopSerie{\tfrac{F_n x}{1 - (F_{n-1} + F_{n+1})x - (-1)^n x^2}}%
+ {F_n x + F_{2n} x^2 + F_{3n} x^3 + \cdots}%
+ {\sum_{i=0}^\infty F_{ni} x^i.}
+ \end{array}$
+ }
+}
diff --git a/info/mathtrip/src/series2.tex b/info/mathtrip/src/series2.tex
new file mode 100644
index 0000000000..5461f2a844
--- /dev/null
+++ b/info/mathtrip/src/series2.tex
@@ -0,0 +1,46 @@
+%The following command print all the series and their expansion
+%which are typeset in the first horizontal part of the page 10.
+%
+%The macro has one parameter.
+% 1) The width to use to typeset the formulae
+%
+\newcommand\TTenSerieTwo[1]{%
+ %This command typeset a line equation about the series on page 10
+ %
+ %The command has 4 parameters
+ % 1) The first formula to be expanded
+ % 2) its expanded version
+ % 3) The second formula to be expanded
+ % 4) its expanded version
+ \def\LineOfArray##1##2##3##4{%
+ ##1&=&##2&##3&=&##4\\[\TTenExpansionSkip]%
+ }%
+ \parbox[t]{#1}{%
+ \TTenSeriesFontSize
+ \TTenTitle{Expansions:}%
+ $\displaystyle
+ \begin{array}{l@{\hspace{.1em}}c@{\hspace{.2em}}ll@{\hspace{.1em}}c@{\hspace{.2em}}l}%
+ \LineOfArray{\frac{1}{(1-x)^{n+1}}\ln\frac{1}{1- x}}%
+ {\sum_{i=0}^\infty (H_{n+i} - H_n) \binom{n+i}{i} x^i}%
+ {\left(\frac{1}{x}\right)^{\overline{-n}}}%
+ {\sum_{i=0}^\infty \SousEnsemble{i}{n} x^i}%
+ \LineOfArray{x^{\overline{n}}}%
+ {\sum_{i=0}^\infty \Cycle{n}{i} x^i}%
+ {(e^x - 1)^n}%
+ {\sum_{i=0}^\infty \SousEnsemble{i}{n} \frac{n! x^i}{i!}}%
+ \LineOfArray{\left(\ln \frac{1}{1 -x}\right)^n}%
+ {\sum_{i=0}^\infty \Cycle{i}{n} \frac{n! x^i}{i!}}%
+ {x \cot x}%
+ {\sum_{i=0}^\infty \frac{(-4)^i B_{2i} x^{2i}}{(2i)!}}%
+ \LineOfArray{\tan x}%
+ {\sum_{i=1}^\infty (-1)^{i-1}\frac{2^{2i} (2^{2i} - 1) B_{2i} x^{2i-1}}{(2i)!}}%
+ {\zeta(x)}%
+ {\sum_{i=1}^\infty \frac{1}{i^x}}%
+ \LineOfArray{\frac{1}{\zeta(x)}}%
+ {\sum_{i=1}^\infty \frac{\mu(i)}{i^x}}%
+ {\frac{\zeta(x-1)}{\zeta(x)}}%
+ {\sum_{i=1}^\infty \frac{\phi(i)}{i^x}}%
+ \end{array}$%
+ }%
+}
+
diff --git a/info/mathtrip/src/series3.tex b/info/mathtrip/src/series3.tex
new file mode 100644
index 0000000000..b9a10034c0
--- /dev/null
+++ b/info/mathtrip/src/series3.tex
@@ -0,0 +1,79 @@
+%The following command typeset the series of the second
+%column of the page 9
+%
+%This command has one parameter:
+% 1) The width of the mathematical text
+\newcommand\TNineSeriesThree[1]{%
+ %This command typeset a fact about a serie and
+ %the math used to describe the property.
+ %
+ %The command has two parameters:
+ % 1) The title of the fact
+ % 2) The corresponding math.
+ %This macro uses the global (to the macro) variables '\Hspace', '\CurrentLineWidth'
+ %which should contain the space used to typeset the math.
+ \def\SerieProperty##1##2{%
+ \def\temp{\TNineTitle{##1} \ensuremath{##2}}%
+ \savebox\TmpBoxA{\temp}%
+ \settowidth\CurrentLineWidth{\usebox\TmpBoxA}%
+ \ifdimcomp{\CurrentLineWidth}{<}{\HSpace}%
+ {%Enough space, everything is written on one line
+ \temp
+ }{%The title is on one line, the math typeset as 'display math'
+ \TNineTitle{##1}%
+ \begin{displaymath}%
+ ##2%
+ \end{displaymath}%
+ }%
+ \par
+ \AdjustSpace{\TNineInterTitle}%
+ }%
+ %This command typeset a line showing the expansion of ordinary power serie
+ %
+ %The command has 2 parameters
+ % 1) The formula to be expanded
+ % 2) The expanded version
+ \def\LineOfOrdPowSerie##1##2{##1&=&##2\\[\TNineExpansionSkip]}%
+ \parbox[t]{#1}{%
+ \TNineSeriesFontSize
+ \DisplaySpace{\TNineDisplaySpace}{\TNineDisplayShortSpace}%
+ \setlength{\HSpace}{#1}%
+ \SerieProperty{Ordinary power series:}
+ {A(x) = \sum_{i=0}^\infty a_i x^i}
+ \SerieProperty{Exponential power series:}
+ {A(x) = \sum_{i=0}^\infty a_i \frac{x^i}{i!}}
+ \SerieProperty{Dirichlet power series:}
+ {A(x) = \sum_{i=1}^\infty \frac{a_i}{i^x}}
+ \SerieProperty{Binomial theorem:}
+ {(x + y)^n = \sum_{k=0}^n\binom{n}{k} x^{n-k} y^k}
+ \SerieProperty{Difference of like powers:}
+ {x^n - y^n = (x-y) \sum_{k=0}^{n-1} x^{n-1-k} y^k}
+ \SerieProperty{For ordinary power series:}
+ {\begin{array}{lcl}
+ \LineOfOrdPowSerie{\alpha A(x) + \beta B(x)}%
+ {\sum_{i=0}^\infty(\alpha a_i + \beta b_i) x^i}
+ \LineOfOrdPowSerie{x^k A(x)}%
+ {\sum_{i=k}^\infty a_{i-k} x^i}
+ \LineOfOrdPowSerie{\frac{A(x) - \sum_{i=0}^{k-1} a_i x^i}{x^k}}%
+ {\sum_{i=0}^\infty a_{i+k} x^i}
+ \LineOfOrdPowSerie{A(cx)}%
+ {\sum_{i=0}^\infty c^i a_i x^i}
+ \LineOfOrdPowSerie{A'(x)}%
+ {\sum_{i=0}^\infty (i+1) a_{i+1} x^i}
+ \LineOfOrdPowSerie{x A'(x)}%
+ {\sum_{i=1}^\infty i a_i x^i}
+ \LineOfOrdPowSerie{\int A(x) \, dx}%
+ {\sum_{i=1}^\infty \frac{a_{i-1}}{i} x^i}
+ \LineOfOrdPowSerie{\frac{A(x) + A(-x)}{2}}%
+ {\sum_{i=0}^\infty a_{2i} x^{2i}}
+ \LineOfOrdPowSerie{\frac{A(x) - A(-x)}{2}}%
+ {\sum_{i=0}^\infty a_{2i+1} x^{2i+1}}
+ \end{array}
+ }
+ \SerieProperty{Summation:}
+ {\text{If }b_i = \sum_{j=0}^i a_i\text{ then }
+ B(x) = \frac{1}{1 -x} A(x)}
+ \SerieProperty{Convolution:}
+ {A(x)B(x) = \sum_{i=0}^\infty\left(\sum_{j=0}^i a_j b_{i-j}\right)x^i}
+ }
+}
diff --git a/info/mathtrip/src/series4.tex b/info/mathtrip/src/series4.tex
new file mode 100644
index 0000000000..26beaca666
--- /dev/null
+++ b/info/mathtrip/src/series4.tex
@@ -0,0 +1,50 @@
+%Produce the formulae in the first columns of the second horizontal
+%part of page 10
+%
+%The macrohas one parameter:
+% 1) The size available to typeset the math
+\newcommand\TTenSerieFour[1]{%
+ \parbox[t]{#1}{%
+ \TTenSeriesFontSize
+ %This command typeset a line equation about the series on page 10
+ %when the serie is in one column
+ %
+ %The command has 2 parameters
+ % 1) The first formula to be expanded
+ % 2) its expanded version
+ \def\LineOfArray##1##2{%
+ ##1&=&##2\\[\TTenExpansionSkip]%
+ }
+ %To have some longer vertical space between some lines
+ %of the array (to better separate some equation).
+ \deflength\VSpace{1.2\TTenExpansionSkip}
+ $\displaystyle
+ \begin{array}{l@{\hspace{.1em}}c@{\hspace{.2em}}l}
+ \LineOfArray{\zeta(x)}
+ {\prod_p \frac{1}{1 - p^{-x}}}
+ \LineOfArray{\zeta^2(x)}
+ {\sum_{i=1}^\infty \frac{d(i)}{x^i}}
+ %The previous line is too long
+ & & \text{where }d(n) = \sum_{d \vert n} 1 \\[\VSpace]
+ \LineOfArray{\zeta(x)\zeta(x-1)}
+ {\sum_{i=1}^\infty \frac{S(i)}{x^i}}
+ %The previous line is too long
+ & & \text{where }S(n) = \sum_{d \vert n} d \\[\VSpace]
+ \LineOfArray{\zeta(2n)}
+ {\frac{2^{2n-1} \vert B_{2n} \vert}{(2n)!} \pi^{2n}, \quad n \in \Natural}
+ \LineOfArray{\frac{x}{\sin x}}
+ {\sum_{i=0}^\infty (-1)^{i-1}\frac{(4^i - 2) B_{2i} x^{2i}}{(2i)!}}
+ \LineOfArray{\left(\frac{1 - \sqrt{1-4x}}{2x}\right)^n}
+ {\sum_{i=0}^\infty \frac{n(2i + n - 1)!}{i! (n + i)!} x^i}
+ \LineOfArray{e^x \sin x}%
+ {\sum_{i=1}^\infty \frac{2^{i/2} \sin \tfrac{i \pi}{4}}{i!} x^i}
+ \LineOfArray{\frac{\sqrt{1 - \sqrt{1 -x}}}{x}}%
+ {\sum_{i=0}^\infty \frac{(4i)!}{16^i \sqrt{2} (2i)! (2i+1)!} x^i}
+ \LineOfArray{\left(\frac{\arcsin x}{x}\right)^2}%
+ {\sum_{i=0}^\infty \frac{ 4^i i!^2}{(i + 1)(2i +1)!} x^{2i}}
+ \end{array}$
+ }
+}
+%The title of this part
+%\newcommand\TTenSeriesBTitle{Series (continued)}
+\newcommand\TTenSeriesBTitle{\relax}
diff --git a/info/mathtrip/src/stieltjes.tex b/info/mathtrip/src/stieltjes.tex
new file mode 100644
index 0000000000..10ecef09f1
--- /dev/null
+++ b/info/mathtrip/src/stieltjes.tex
@@ -0,0 +1,54 @@
+%This command provides the two last columns of
+%the second horizontal part of the page 10
+%
+%The macro has one parameter:
+% 1) The width available to typeset the formulae
+\newcommand\TTenStieltjes[1]{%
+ %This command print one line of the array showing
+ %the differents Stieltjes integrals.
+ %
+ %The command has two parameters:
+ % 1) The part of equation before the equal sign
+ % 2) The part of the equation following it
+ \def\LineOfArray##1##2{%
+ ##1&=&##2\\[\TTenExpansionSkip]%
+ }
+ \parbox[t]{#1}{%
+ \TTenStieljesFontSize
+ \DisplaySpace{\TTenDisplaySpace}{\TTenDisplayShortSpace}
+ \noindent
+ If $G$ is continuous in the interval $[a,b]$ and $F$ is nondecreasing then
+ \begin{displaymath}
+ \int_a^b G(x) \, d F(x)
+ \end{displaymath}
+ exists.
+
+ \AdjustSpace{1.5ex plus .5ex minus 1ex}
+ If $a \leq b \leq c$ then
+ \begin{displaymath}
+ \int_a^c G(x) \, d F(x) = \int_a^b G(x) \, d F(x) + \int_b^c G(x) \, d F(x)
+ \end{displaymath}
+
+ \AdjustSpace{1.5ex plus .5ex minus 1ex}
+ If the integrals involved exist
+ \begin{displaymath}
+ \begin{array}{lcl}
+ \LineOfArray{\int_a^b \big(G(x) + H(x)\big)\, d F(x)}%
+ {\int_a^b G(x) \, d F(x) + \int_a^b H(x) \, d F(x)}%
+ \LineOfArray{\int_a^b G(x)\, d \big(F(x) + H(x)\big)}%
+ {\int_a^b G(x) \, d F(x) + \int_a^b G(x) \, d H(x)}%
+ \LineOfArray{\int_a^b c \cdot G(x)\, d F(x)}%
+ {\int_a^b G(x)\, d \big(c \cdot F(x)\big) = c \int_a^b G(x) \, d F(x)}%
+ \LineOfArray{\int_a^b G(x)\, d F(x)}%
+ {G(b)F(b) - G(a)F(a) - \int_a^b F(x) \, d G(x)}%
+ \end{array}
+ \end{displaymath}
+ If the integrals involved exist,
+ and $F$ possesses a derivative $F'$ at every point in $[a,b]$ then
+ \begin{displaymath}
+ \int_a^b G(x) \, d F(x) = \int_a^b G(x) F'(x) \, dx
+ \end{displaymath}
+ }%
+}
+%The title of this part
+\newcommand\TTenTitleStieltjes{Stieltjes Integration}
diff --git a/info/mathtrip/src/sums.tex b/info/mathtrip/src/sums.tex
new file mode 100644
index 0000000000..9e4a01cd04
--- /dev/null
+++ b/info/mathtrip/src/sums.tex
@@ -0,0 +1,54 @@
+%This command provides the text for the closed form of the sums on the page
+%1 first part of the second column
+\newcommand\TOneSums[1]{%
+ \parbox[t]{#1}{%
+ \TOneSeriesFontSize
+ \begin{DisplayFormulae}{0}{0pt}{\TOneInterlineSeries}{\BigChar}{\StyleWithoutNumber}%
+ \def\FmSep{\unskip\text{,}}
+ \Fm{\sum_{i=1}^n i = \frac{n(n+1)}{2}}
+ \Fm{\sum_{i=1}^n i^2 = \frac{n(n+1)(2n+1)}{6}}
+ \def\FmSep{\relax}
+ \Fm{\sum_{i=1}^n i^3 = \frac{n^2(n+1)^2}{4}}
+ \end{DisplayFormulae}
+
+ \TOneTitle{In general:}
+ \AdjustSpace{-2ex plus .5ex minus .5ex}
+ \begin{DisplayFormulae}{0}{0pt}{\TOneInterlineSeries}{\BigChar}{\StyleWithoutNumber}%
+ %The split of this equation is tricky since it uses a variable length symbol ([)
+ %depending of the size of the sums.
+ %
+ %By using a rule in the first part which has the same depth and height
+ %as the sum symbol it is possible to split the equation
+ %and keep the correct size of the symbol with a variable size.
+ \def\EquationPartB{\sum_{i=1}^n \left((i+1)^{m+1} - i^{m+1} - (m+1)i^m\right)}
+ \settoheight{\TmpLengthA}{$\EquationPartB$}
+ \settoheight{\VSpace}{$\EquationPartB$}
+ \def\FirstPart{\sum_{i=1}^n i^m = \frac{1}{m+1}
+ \left[\mbox{}\rule[\VSpace]{0pt}{\TmpLengthA}\right.}
+ \FmPartA{\FirstPart (n+1)^{m+1} - 1 -}
+ \FmPartB{\FirstPart}{\left.\EquationPartB\right]}
+ \Fm{\sum_{i=1}^{n-1} i^m = \frac{1}{m+1}\sum_{k=0}^m \binom{m+1}{k} B_k n^{m+1-k}}
+ \end{DisplayFormulae}
+
+ \TOneTitle{Geometric series:}
+ \begin{DisplayFormulae}{0}{0pt}{\TOneInterlineSeries}{\BigChar}{\StyleWithoutNumber}%
+ \def\FmSep{\unskip\text{,}}
+ \Fm{\sum_{i=0}^n c^i = \frac{1-c^{n+1}}{1-c}\MathRemark{c \neq 1}}
+ \Fm{\sum_{i=0}^\infty c^i = \frac{1}{1 - c}}
+ \Fm{\sum_{i=1}^\infty c^i = \frac{c}{1 - c}\MathRemark{\vert c \vert < 1}}
+ \Fm{\sum_{i=0}^n i c^i = \frac{nc^{n+2} - (n+1)c^{n+1} + c}{(c-1)^2}\MathRemark{c \neq 1}}
+ \def\FmSep{\relax}
+ \Fm{\sum_{i=0}^\infty i c^i = \frac{c}{(1 - c)^2}\MathRemark{\vert c \vert < 1}}
+ \end{DisplayFormulae}
+
+ \TOneTitle{Harmonic series:}
+ \begin{DisplayFormulae}{0}{0pt}{\TOneInterlineSeries}{\BigChar}{\StyleWithoutNumber}%
+ \def\FmSep{\unskip\text{,}}
+ \Fm{H_n = \sum_{i=1}^n \frac{1}{i}}
+ \Fm{\sum_{i=1}^n iH_i = \frac{n(n+1)}{2}H_n - \frac{n(n-1)}{4}}
+ \Fm{\sum_{i=1}^n H_i = (n+1)H_n - n}
+ \def\FmSep{\relax}
+ \Fm{\sum_{i=1}^n \binom{i}{m} H_i = \binom{n+1}{m+1} \left(H_{n+1} - \frac{1}{m+1}\right)}
+ \end{DisplayFormulae}
+ }%
+}
diff --git a/info/mathtrip/src/table.tex b/info/mathtrip/src/table.tex
new file mode 100644
index 0000000000..32fd3e2734
--- /dev/null
+++ b/info/mathtrip/src/table.tex
@@ -0,0 +1,66 @@
+%This command provides the text for the table of trigonometric values
+%in the second column of page 4
+%
+%The macro has one parameter:
+% 1) The width of the text
+\newcommand\TFourTrigTable[1]{%
+ \parbox[t]{#1}{%
+ \DisplaySpace{\TFourDisplaySpace}{\TFourDisplayShortSpace}%
+ \TFourTrigTableFontSize
+ \def\LineOfArray##1##2##3##4##5{%
+ \rule{0pt}{3.7ex plus .5ex minus .5ex}{##1}\text{,}&{##2}\text{,}&%
+ {##3}\text{,}&{##4}\text{,}&{##5}\\}
+ \centerline{$\begin{array}{l@{\hspace{.1em plus .05em minus .05em}}%
+ l@{\hspace{.1em plus .05em minus .05em}}%
+ l@{\hspace{.1em plus .05em minus .05em}}%
+ l@{\hspace{.1em plus .05em minus .05em}}%
+ l}
+ \LineOfArray{\sin{0}=0}%
+ {\sin{\frac{\pi}{6}}=\frac{1}{2}}%
+ {\sin{\frac{\pi}{4}}=\frac{\sqrt{2}}{2}}%
+ {\sin{\frac{\pi}{3}}=\frac{\sqrt{3}}{2}}%
+ {\sin{\frac{\pi}{2}}=1}
+ %
+ \LineOfArray{\cos{0}=1}%
+ {\cos{\frac{\pi}{6}}=\frac{\sqrt{3}}{2}}%
+ {\cos{\frac{\pi}{4}}=\frac{\sqrt{2}}{2}}%
+ {\cos{\frac{\pi}{3}}=\frac{1}{2}}%
+ {\cos{\frac{\pi}{2}}=0}
+ %
+ \LineOfArray{\tan{0}=1}%
+ {\tan{\frac{\pi}{6}}=\frac{\sqrt{3}}{3}}%
+ {\tan{\frac{\pi}{4}}=1}%
+ {\tan{\frac{\pi}{3}}=\sqrt{3}}%
+ {\tan{\frac{\pi}{2}}=\infty}
+ \end{array}$}
+% \def\LineOfArray##1##2##3##4##5##6{\rule{0pt}{3ex plus .5ex minus .5ex}%
+% {##1}&{##2}&{##3}&{##4}&{##5}&{##6}\\}%
+% \[
+% \begin{array}{llllll}
+% \LineOfArray{\theta}{0}{\frac{\pi}{6}}{\frac{\pi}{4}}
+% {\frac{\pi}{3}}{\frac{\pi}{2}}\hline
+% \LineOfArray{\sin \theta}{0}{\frac{1}{2}}{\frac{\sqrt{2}}{2}}
+% {\frac{\sqrt{3}}{2}}{1}
+% \LineOfArray{\cos \theta}{1}{\frac{\sqrt{3}}{2}}
+% {\frac{\sqrt{2}}{2}}{\frac{1}{2}}{0}
+% \LineOfArray{\tan \theta}{0}{\frac{\sqrt{3}}{3}}
+% {1}{\sqrt{3}}{\infty}
+% \end{array}
+% \]
+%Transposed version
+% \begin{DisplayFormulae}{1}{0pt}{0pt}{\BigChar}{\StyleWithoutNumber}%
+% \def\LineOfArray##1##2##3##4{\rule{0pt}{1.8ex plus .5ex minus 1.5ex}%
+% {##1}&{##2}&{##3}&{##4}\\}%
+%
+% \Fm{\begin{array}{cccc}
+% \LineOfArray{\theta}{\sin \theta}{\cos \theta}{\tan \theta}\hline
+% \LineOfArray{0}{0}{1}{0}
+% \LineOfArray{\frac{\pi}{6}}{\frac{1}{2}}{\frac{\sqrt{3}}{2}}{\frac{\sqrt{3}}{3}}
+% \LineOfArray{\frac{\pi}{4}}{\frac{\sqrt{2}}{2}}{\frac{\sqrt{2}}{2}}{1}
+% \LineOfArray{\frac{\pi}{3}}{\frac{\sqrt{3}}{2}}{\frac{1}{2}}{\sqrt{3}}
+% \LineOfArray{\frac{\pi}{2}}{1}{0}{\infty}
+% \end{array}%
+% }%
+% \end{DisplayFormulae}%
+ }
+}
diff --git a/info/mathtrip/src/trees.tex b/info/mathtrip/src/trees.tex
new file mode 100644
index 0000000000..8c52235261
--- /dev/null
+++ b/info/mathtrip/src/trees.tex
@@ -0,0 +1,20 @@
+%This command provides the command to typeset the part about
+%the trees in the page 2
+%
+%This command has one parameter
+% 1) The width of the text
+\newcommand\TTwoTree[1]{%
+ \parbox[t]{#1}{%
+ \TTwoTreeFontSize
+ Every tree with $n$ vertices has $n-1$ edges.
+
+ \AdjustSpace{-1ex plus .5ex minus .5ex}
+ \TTwoTitle{Kraft inequality:}
+ \begin{DisplayFormulae}{1}{0pt}{2ex plus 1ex minus 1ex}{\SmallChar}{\StyleWithoutNumber}
+ \unskip
+ If the depths of the leaves of a binary tree are \Fm[true]{d_1 \cdots d_n}:
+ \Fm[true]{\sum_{i=1}^n 2^{- d_i} \leq 1},
+ and equality holds only if every internal node has 2 sons.
+ \end{DisplayFormulae}
+ }%
+}
diff --git a/info/mathtrip/src/triangle.tex b/info/mathtrip/src/triangle.tex
new file mode 100644
index 0000000000..f663a1263b
--- /dev/null
+++ b/info/mathtrip/src/triangle.tex
@@ -0,0 +1,46 @@
+%This document can be run standalone if few comments
+%are removed. This is useful to check and modify the drawing.
+%
+%\documentclass{article}
+%\usepackage{calc}
+%\usepackage{tikz}
+%\usetikzlibrary{arrows,decorations.markings}
+%\begin{document}
+
+%length of the base of triangle.
+%\newlength{\trianglebase}
+%and its height
+%\newlength{\triangleheight}
+%Length of the mark for the right angle
+%\newlength{\ranglesizeB}
+%
+\setlength{\trianglebase}{2cm}
+\setlength{\triangleheight}{1.5cm}
+\setlength{\ranglesizeB}{0.15cm}
+
+\savebox\TriangleBox{%
+ \begin{tikzpicture}
+ %Coordinates of the triangle
+ \coordinate (A) at (0,0);
+ \coordinate (B) at (\trianglebase,0);
+ \coordinate (C) at (.167\trianglebase,\triangleheight);
+ \coordinate (HeightBase) at (.167\trianglebase,0);
+ %
+ %Triangle with origin in (0,0) and a height of \triangleheight
+ %arriving at point "HeightBase".
+ \draw [thick] (A) -- (C) node[midway,left] {$b$}
+ -- (B) node[midway,above] {$a$}
+ -- cycle node[midway,below] {$c$};
+ %Draw the height
+ \draw (HeightBase) -- (C) node[midway,right]{$h$};
+
+ %Draw the right angle symbol
+ \draw (HeightBase) -- ++ (0, \ranglesizeB) -- ++ (\ranglesizeB, 0) -- ++(0,-\ranglesizeB) -- cycle;
+
+ %Put a letter for the angle.
+ \draw (A) node[below,left]{$A$};
+ \draw (B) node[below,right]{$B$};
+ \draw (C) node[above]{$C$};
+ \end{tikzpicture}
+}
+%\end{document}
diff --git a/info/mathtrip/src/trig1.tex b/info/mathtrip/src/trig1.tex
new file mode 100644
index 0000000000..ec8f09a657
--- /dev/null
+++ b/info/mathtrip/src/trig1.tex
@@ -0,0 +1,84 @@
+%This command provides the text to be typeset on the
+%first column of page 4. The first trigonometric
+%formulae
+%
+%The macro has one parameter:
+% 1) The width of math text
+\newcommand\TFourTrigOne[1]{%
+ \parbox[t]{#1}{%
+ \DisplaySpace{\TFourDisplaySpace}{\TFourDisplayShortSpace}
+ %The column is narrow, ragged right looks nicer
+ \raggedright
+
+ \input{unit.tex}
+ \hspace{-.85em plus .1em minus .1em}\usebox\UnitBox
+
+ \TFourTitle{Pythagorean theorem:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{C^2 = A^2 + B^2}.
+ \end{DisplayFormulae}
+
+ \TFourTitle{Definitions:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\BigChar}{\StyleWithoutNumber}
+ \def\LineOfArray##1##2##3##4{%
+ \rule{0pt}{4ex plus 1ex minus .5ex}%
+ {##1}&=&{##2}&{##3}&=&{##4}\\}
+ \Fm{\begin{array}{l%Equal sign
+ @{\hspace{.1em}}c@{\hspace{.2em}}%
+ l%
+ l%Equal sign
+ @{\hspace{.1em}}c@{\hspace{.2em}}%
+ l}
+ \LineOfArray{\sin a}{\frac{A}{C}}{\cos a}{\frac{B}{C}}
+ \LineOfArray{\csc a}{\frac{C}{A}}{\sec a}{\frac{C}{B}}
+ \LineOfArray{\tan a}{\frac{\sin a}{\cos a} = \frac{A}{B}}
+ {\cot a}{\frac{\cos a}{\sin a}=\frac{B}{A}}
+ \end{array}%
+ }
+ \end{DisplayFormulae}
+
+ \TFourTitle{Area, radius of inscribed circle:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{\tfrac{1}{2} A B}
+ \Fm{\frac{A B}{A + B + C}}
+ \end{DisplayFormulae}
+
+ \TFourTitle{Identities:}
+ \begin{DisplayFormulae}{1}{0pt}{\TFourSkipFormulae}{\BigChar}{\StyleWithoutNumber}
+ \def\FmSep{\text{,}}
+ \Fm{\sin x = \frac{1}{\csc x}}
+ \Fm{\cos x = \frac{1}{\sec x}}
+ \Fm{\tan x = \frac{1}{\cot x}}
+ \Fm{\sin^2 x + \cos^2 x = 1}
+ \Fm{1 + \tan^2 x = \sec^2 x}
+ \Fm{1 + \cot^2 x = \csc^2 x}
+ \Fm{\sin x = \cos \left(\tfrac{\pi}{2} - x\right)}
+ \Fm{\sin x = \sin (\pi - x)}
+ \Fm{\cos x = - \cos (\pi - x)}
+ \Fm{\tan x = \cot \left(\tfrac{\pi}{2} - x\right)}
+ \Fm{\cot x = - \cot (\pi - x)}
+ \Fm{\csc x = \cot \tfrac{x}{2} - \cot x}
+ \Fm{\sin (x \pm y) = \sin x \cos y \pm \cos x \sin y}
+ \Fm{\cos (x \pm y) = \cos x \cos y \mp \sin x \sin y}
+ \Fm{\tan (x \pm y) = \frac{\tan x \pm \tan y}{1 \mp \tan x \tan y}}
+ \Fm{\sin 2 x = 2 \sin x \cos x}
+ \Fm{\sin 2 x = \frac{2 \tan x}{1 + \tan^2 x}}
+ \Fm{\cot (x \pm y) = \frac{\cot x \cot y \mp 1}{\cot x \pm \cot y }}
+ \Fm{\cos 2 x = \cos^2 x - \sin^2 x}
+ \Fm{\cos 2 x = 2 \cos^2 x - 1}
+ \Fm{\cos 2 x = 1 - 2 \sin^2 x}
+ \Fm{\cos 2 x = \frac{1 - \tan^2 x}{1 + \tan^2 x}}
+ \Fm{\tan 2 x = \frac{2 \tan x}{1 - \tan^2 x}}
+ \Fm{\cot 2 x = \frac{\cot^2 x - 1}{2 \cot x}}
+ \Fm{\sin (x + y) \sin (x - y) = \sin^2 x - \sin^2 y}
+ \def\FmSep{\text{.}}
+ \Fm{\cos (x + y) \cos (x - y) = \cos^2 x - \sin^2 y}
+ \end{DisplayFormulae}
+
+ \TFourTitle{Euler's equation:}
+ \begin{DisplayFormulae}{1}{0pt}{3ex plus 1ex minus .5ex}{\SmallChar}{\StyleWithoutNumber}
+ \Fm{e^{i x} = \cos x + i \sin x},
+ \Fm{e^{i \pi} + 1= 0}.
+ \end{DisplayFormulae}
+ }
+}
diff --git a/info/mathtrip/src/trig2.tex b/info/mathtrip/src/trig2.tex
new file mode 100644
index 0000000000..c8f69deb68
--- /dev/null
+++ b/info/mathtrip/src/trig2.tex
@@ -0,0 +1,65 @@
+%This command provides the additional trigonometric functions
+%displayed in the column three of the page 4
+%
+%The command has one parameter:
+% 1) The width of the text
+\newcommand\TFourTrigTwo[1]{%
+\parbox[t]{#1}{%
+ \deflength\TmpLengthA{3ex plus .5ex minus 1.5ex}
+ \DisplaySpace{\TFourDisplaySpace}{\TFourDisplayShortSpace}
+ %Since the width of the column is narrow, ragged right
+ %looks better
+ \raggedright
+
+ \input{triangle.tex}
+ \usebox\TriangleBox
+
+ \TFourTitle{Law of cosines:}
+ \begin{DisplayFormulae}{1}{0pt}{\TmpLengthA}{\BigChar}{\StyleWithoutNumber}
+ \def\FirstPart{c^2 = \mbox{}}
+ \FmPartA{\FirstPart a^2 + b^2 -}.
+ \FmPartB{\FirstPart}{2ab \cos C}.
+ \end{DisplayFormulae}
+
+ \TFourTitle{Area:}
+ \AdjustSpace{-2.5ex plus .5ex minus .5ex}
+ \begin{DisplayFormulae}{1}{0pt}{1.1\TmpLengthA}{\BigChar}{\StyleWithoutNumber}
+ \def\FirstPart{A}
+ \FmPartA{\FirstPart = \tfrac{1}{2} h c = \tfrac{1}{2} a b \sin C}
+ \FmPartB{\FirstPart}{= \tfrac{c^2 \sin A \sin B}{2 \sin C}}
+ \end{DisplayFormulae}
+
+ \TFourTitle{Heron's formula:}
+ \begin{DisplayFormulae}{1}{0pt}{.9\TmpLengthA}{\BigChar}{\StyleWithoutNumber}
+ \Fm{A = \sqrt{s \cdot s_a \cdot s_b \cdot s_c}}
+ \Fm{s = \tfrac{1}{2} (a + b + c)}
+ \Fm{s_a = s - a}
+ \Fm{s_b = s - b}
+ \Fm{s_c = s - c}
+ \end{DisplayFormulae}
+
+ \TFourTitle{More identities:}
+ \begin{DisplayFormulae}{1}{0pt}{\TmpLengthA}{\BigChar}{\StyleWithoutNumber}
+ \def\FmSep{\unskip\text{,}}%Comma is the separator of equation
+ \Fm{\sin \tfrac{x}{2} = \sqrt{\dfrac{1 - \cos x}{2}}}
+ \Fm{\cos \tfrac{x}{2} = \sqrt{\dfrac{1 + \cos x}{2}}}
+ \def\FirstPart{\tan \tfrac{x}{2}}%
+ \FmPartA{\FirstPart = \sqrt{\dfrac{1 - \cos x}{1 + \cos x}}}
+ \FmPartB{\FirstPart}{\!= \dfrac{1 - \cos x}{\sin x}}
+ \FmPartB{\FirstPart}{\!= \dfrac{\sin x}{1 + \cos x}}
+ \def\FirstPart{\cot \tfrac{x}{2}}
+ \FmPartA{\FirstPart = \sqrt{\dfrac{1 + \cos x}{1 - \cos x}}}
+ \FmPartB{\FirstPart}{\!=\dfrac{1 + \cos x}{\sin x}}
+ \FmPartB{\FirstPart}{\!=\dfrac{\sin x}{1 - \cos x}}
+ \Fm{\sin x = \dfrac{e^{ix} - e^{-ix}}{2 i}}
+ \Fm{\cos x = \dfrac{e^{ix} + e^{-ix}}{2}}
+ \def\FirstPart{\tan x}
+ \FmPartA{\FirstPart = -i \dfrac{e^{ix} - e^{-ix}}{e^{ix} + e^{-ix}}}
+ \FmPartB{\FirstPart}{\!=-i \dfrac{e^{2ix} - 1}{e^{2ix} + 1}}
+ \Fm{\sin x = \dfrac{\sinh i x}{i}}
+ \Fm{\cos x = \cosh i x}
+ \def\FmSep{\unskip\text{.}}
+ \Fm{\tan x = \dfrac{\tanh i x}{i}}
+ \end{DisplayFormulae}
+ }%
+}
diff --git a/info/mathtrip/src/unit.sty b/info/mathtrip/src/unit.sty
new file mode 100644
index 0000000000..1ec8618dbd
--- /dev/null
+++ b/info/mathtrip/src/unit.sty
@@ -0,0 +1,53 @@
+%This package is used to draw the figure of of the trigonometric circle
+%in page 4
+%
+%It accept 3 options (pstricks,tikz and inclusion) to determine how
+%the drawing should be done.
+
+\RequirePackage{DrawMethod}
+
+%These two boxes are used to keep drawings made in TiKz environments.
+%It is generally easier to position precisely a box as to position
+%directly the environment.
+%Environment at page 4
+\newsavebox\UnitBox
+\newsavebox\TriangleBox
+
+%Box and length used in page 4.
+%Width and height of the triangle
+\newlength{\pythagwidth}
+\newlength{\pythagheight}
+%Length of the mark for the right angle
+\newlength{\ranglesize}
+%Length of the trigonometric half axes (from 0 to x)
+\newlength{\axissize}
+%Radius of the angle mark in trigonometric circle
+\newlength{\RadiusTheta}
+%Center in X and Y of the trigonometric circle
+\newlength{\TrigoX}
+\newlength{\TrigoY}
+%
+\newlength{\trianglebase}
+%and its height
+\newlength{\triangleheight}
+%Length of the mark for the right angle
+\newlength{\ranglesizeB}
+%Value (in degrees) of the theta angle shown in the trigonometric
+%circle (in page 4) and in the three point angle in page 5.
+\providecommand\ThetaAngle{35}
+
+\ifcase\DrawMethod
+ %TikZ
+ \setlength{\pythagwidth}{3cm}
+ \setlength{\pythagheight}{2cm}
+ \setlength{\axissize}{1.8cm}
+ \setlength{\ranglesize}{0.3cm}
+ \setlength{\RadiusTheta}{1.5\ranglesize}
+ \setlength{\TrigoX}{1.6\pythagwidth}
+ \setlength{\TrigoY}{0.5\pythagheight}
+\or
+ %Inclusion
+ \relax
+\else
+ \relax
+\fi
diff --git a/info/mathtrip/src/unit.tex b/info/mathtrip/src/unit.tex
new file mode 100644
index 0000000000..210d052b14
--- /dev/null
+++ b/info/mathtrip/src/unit.tex
@@ -0,0 +1,102 @@
+%This document can be run standalone if few comments
+%are removed (at the beginning and the end of it).
+%This is useful to check and modify the drawing.
+%
+%When used as a standalone document, the following options
+%are useful:
+% tikz to typeset the document with tikz (default)
+% inclusion to simply include an image
+%
+%This document is used to draw the trigonometric circle and the
+%rectangular triangle of page 4.
+%
+%\documentclass[tikz]{article}
+%\usepackage{unit}
+
+%\newcommand\TFourTrigOneScale{0.8}
+%\begin{document}
+
+\ifcase\DrawMethod
+ %TikZ
+ \savebox\UnitBox{%
+ \begin{tikzpicture}[scale=\TFourTrigOneScale]
+ %Coordinates of the triangle
+ \coordinate (O) at (0,0);
+ \coordinate (A) at (0,\pythagheight);
+ \coordinate (B) at (\pythagwidth,0);
+ %Coordinate of the center of the trigonometric circle
+ \coordinate (C) at (\TrigoX,\TrigoY);
+ %Coordinate of the begining of the mark of the angle in trigonometric circle
+ %(This point is located on the x axis at the right of the center of the trigonometric
+ %circle).
+ \coordinate (M) at (\TrigoX+\RadiusTheta,\TrigoY);
+ %Coordinate of the letter Theta to describe the angle (the radius is 1cm and the angle
+ %is 35 degrees)
+ \coordinate (T) at (\TrigoX+0.7cm,\TrigoY+0.25cm);
+ %Coordinate of the string "(cos(θ),sin(θ))". The numeric
+ %values are cos(θ) and sin(θ).
+ \coordinate (String) at (\TrigoX+.819152cm,\TrigoY+.5735764cm);
+ %Coordinate of the 4 points (1,0), (0,1) etc.
+ \coordinate (E) at (\TrigoX+1cm+1.2em,\TrigoY-1.2ex);
+ \coordinate (N) at (\TrigoX,\TrigoY+1cm+1ex);
+ \coordinate (W) at (\TrigoX-1cm-1.2em,\TrigoY-1.2ex);
+ \coordinate (S) at (\TrigoX,\TrigoY-1cm-1.3ex);
+ %
+ %Rectangular triangle with origin in (0,0) and sides OA and OB
+ \draw [thick] (O) -- (A) node[midway,left] {$A$}
+ -- (B) node[midway,above] {$C$}
+ -- cycle node[midway,below] {$B$};
+
+ %Draw the right angle symbol
+ \draw (O) -- ++ (0, \ranglesize) -- ++ (\ranglesize, 0) -- ++(0,-\ranglesize) -- cycle;
+
+ %Mark the angles
+ \draw (1.5\ranglesize,1.5\ranglesize) node {$c$};
+ %Angle a which is arccos(3/sqrt(3^2+2^2))=33,69 degrees rounded to 34 degrees.
+ \draw (\pythagwidth-2\ranglesize,0) arc(180:146:2\ranglesize);
+ %Put the the letter
+ \draw (\pythagwidth-3\ranglesize,\ranglesize) node {$a$};
+ %Now the second angle b 90 - 34 = 56 degrees
+ \draw (0,\pythagheight-2\ranglesize) arc(270:326:2\ranglesize);
+ %Put the letter
+ \draw (1.5\ranglesize,\pythagheight-2.5\ranglesize) node {$b$};
+
+ %Now the drawing of the trigonometric circle
+ \draw [decoration={markings,mark=at position 1 with
+ {\arrow[scale=1.3,>=latex]{>}}},postaction={decorate}] (C) -- ++(\axissize,0);
+ \draw [decoration={markings,mark=at position 1 with
+ {\arrow[scale=1.3,>=latex]{>}}},postaction={decorate}] (C) -- ++(-\axissize,0);
+ \draw [decoration={markings,mark=at position 1 with
+ {\arrow[scale=1.3,>=latex]{>}}},postaction={decorate}] (C) -- ++(0,-\axissize);
+ \draw [decoration={markings,mark=at position 1 with
+ {\arrow[scale=1.3,>=latex]{>}}},postaction={decorate}] (C) -- ++(0,\axissize);
+
+ %The circle
+ \draw (C) circle(1);
+
+ %The angle Theta of 35 degrees
+ \draw (C) -- ++(\ThetaAngle:1);
+ %with its mark
+ \draw (M) arc(0:\ThetaAngle:\RadiusTheta);
+ %and then put all the labels
+ %Theta
+ \draw (T) node {$\theta$};
+ %(cos θ, sin θ)
+ \draw (String) node[right] {$(\cos\theta,\sin\theta)$};
+ %the points of the compass
+ \draw (E) node [below]{{\footnotesize$(1,0)$}};
+ \draw (N) node [above,right]{{\footnotesize$(0,1)$}};
+ \draw (W) node [below]{{\footnotesize$(-1,0)$}};
+ \draw (S) node [below,right]{{\footnotesize$(-1,0)$}};
+ \end{tikzpicture}
+ }
+\or
+ %Inclusion
+ \relax
+\else
+ \relax
+\fi
+%\begin{center}
+% \usebox\UnitBox
+%\end{center}
+%\end{document}
diff --git a/info/mathtrip/src/version.tex b/info/mathtrip/src/version.tex
new file mode 100644
index 0000000000..7e9f5200a5
--- /dev/null
+++ b/info/mathtrip/src/version.tex
@@ -0,0 +1,12 @@
+%This command provides the copyright and version text
+%The command has one parameter
+% 1) The width allowed for the text
+\newcommand\TFourVersion[1]{%
+ \parbox[t]{#1}{%
+ \TFourCopyrightFontSize
+ \centerline{v2.02 \copyright 1994--2002 by Steve Seiden}
+ \centerline{sseiden@acm.org}
+ \centerline{v\Version{} \copyright 2018--2022, port to \LaTeX{} by Alain Aubord}
+ \centerline{tex.support@sourire.ch}
+ }
+}