% Copyright (c) 2001..2022 by Michael Lee Finney.
%
% logix.sty - 2022-06-22 v1.13
%
%    This work may be distributed and/or modified under the conditions of the
% LaTeX Project Public License, either version 1.3 of this license or (at your
% option) any later version.  The latest version of this license is in
%
%     http://www.latex-project.org/lppl.txt
%
% and version 1.3c or later is part of all distributions of LaTeX version
% 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Michael Lee Finney.
%
% This work consists of the file logix.sty.
%
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%
% This package provides a font and associated commands which are complementary
% to the STIX2 OpenType mathematic fonts. Usage in logic is emphasized as
% opposed to mathematical usage. A large set of stretchy delimiters is provided
% along with numerous arrows and geometric symbols and Rational Knot drawing
% symbols. Many other additional symbols are provided.
%

   \NeedsTeXFormat{LaTeX2e}[2020/02/02]
   \ProvidesPackage{logix}
      [2022-06-22 v1.13 (Michael Lee Finney) Supplemental logical and mathematical symbols for XeLaTex / LuaLaTeX.]
   \ProvidesFile{logix.otf}
      [2022-06-22 v1.13 (Michael Lee Finney) OpenType Unicode font.]
   \RequirePackage{iftex}
   \RequirePackage[bold-style=ISO]{unicode-math}
   \RequirePackage{mathtools}
   \RequirePackage{arydshln}

% Checks for LuaTex or XeTex as engines.

   \ifluatex \else \ifxetex \else
      \PackageError{logix}{LuaLaTeX or XeLaTeX is required.}{Compile using LuaLaTeX or XeLaTeX.}
      \fi \fi

% This source file loads the logix font and defines associated commands.

   \IfFontExistsTF{logix.otf} {}
      { \PackageError{logix}{logix.otf required}{Make sure that the logix.otf font file is installed} }

% Load / define logix font.

   \ifluatex
         \newfontface \logix {logix.otf}[Renderer=Basic,Script=Math,Scale=1.0,NFSSFamily=logix]
      \else
         \newfontface \logix {logix.otf}[Scale=1.0,NFSSFamily=logix]
      \fi

   \DeclareSymbolFont{Logix}{TU}{logix}{m}{n}

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

%
%    Environments are defined for logic definitions, logic proofs and building rational
% knots. There are four environments: KnotGrid, LogixDefn, LogixProof and LogixSeqnt.
%
%    KnotGrid provides a grid (based on tabular, but the use of ampersand (&) separators
% is not required between grid cells. Each knot symbol has an exact width and height --
% most are 1em x 1em, but a few are half or quarter height or width. Every symbol (or
% symbols) in a grid cell must have the same height as all other knot symbols in the
% same row and same width as all other knot symbols in the same column. The KnotGrid
% environment has no options and is used as follows (this example has 3 rows and 5
% columns):
%
%    \begin{KnotGrid}
%       \KntLFC   \KntTSN      \KntHXSOSU   \KntTSFN         \KntTRSC  \\
%       \KntNF    \KntHXSUSO   \KntNN       \KntRQC \KntNQ   \KntRSN   \\
%       \KntLFC   \KntBSN      \KntHXSOSU   \KntBSFN         \KntRBSC
%       \end{KnotGrid}
%
% where a grid cell would otheriwse be empty or where padding is required to satisfy
% the size requirements for a cell, 16 KntxxSpace symbols are provided which are
% exactly sized both horizontally and vertically to assist. The knot symbosl are
% typeset in math mode so that spaces are ignored. This allows the grid structure to
% be explicit, making readability and maintenance easier.
%
%    LogixDefn provides structured formatting for logic definitions. There is an
% optional parameter, which must be a horizontal length. If present, all of the
% definitions must fit within that length. The LogixDefn environment defines the
% Line macro, which has four parameters if the optional LogixDefn parameter is not
% present and otherwise five. The optional fifth (sixth) parameter may not be
% omitted if the length parameter is present and contains a comment to placed at
% the end of the line. The basic four parameters for the Line macro are the
% definition's name, optional number (but the empty argument must be present)
% and the left and right definition expressions, which is typeset in math mode.
% The left expression is right aligned, they are separated by the definition
% symbol (:=) and the right expression is left aligned. Grouped definitions are
% aligned on the definition symbol. Two examples of its use are:
%
%    \begin{LogixDefn}
%       \Line{Neg} {1}{\symsau{p}}{\symsau{q}}
%       \Line{Conj}{} {\symsau{p}}{\symsau{q}}
%       \end{LogixDefn}
%
%    \begin{LogixDefn}[5em]
%       \Line{Df}{1}{\symsau{p}}{\symsau{q}}{Some comment}
%       \Line{Df}{2}{\symsau{p}}{\symsau{q}}{Yet another comment}
%       \end{LogixDefn}
%
%    LogixAxiom is similar to LogixDefn except that it only has one expression
% which is left aligned. Two examples of its use are
%
%    \begin{LogixAxiom}
%       \Line{Rp} {12} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q} \ClsParn, \symsau{p} \WkEquv \symsau{q}, \symsau{e} \Seq \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
%       \Line{Rp} {2}  {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q} \ClsParn, \symsau{p} \WkEquv \symsau{q} \Seq \symsau{e} \WkEquv \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
%       \end{LogixAxiom}
%
%    \begin{LogixAxiom}[10em]
%       \Line{Ax} {1}  {\symsau{p} \Equv \symsau{q}, \symsau{e} \Seq \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }      {Sequent replacement rule.}
%       \Line{Ax} {2}  {\symsau{p} \Equv \symsau{q} \Seq \symsau{e} \Equv \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt } {Equivlance replacement rule.}
%       \end{LogixAxiom}
%
%    LogixProof provides structed formatting for logic proofs. There are four
% arguments with the first one optional. As for LogixDefn the optional argument
% is a horizontal length argument, and provides a width for each line which is
% followed by a comment when the length argument is present. The other three
% arguments are the name (and any associated number) of the theorem, a possibly
% empty set of postulates which are assumed only for the purpose of the proof
% (e.g. assuming the Axiom of Choice for a specific theorem when working in ZF
% instead of ZFC) Thus postulates are distinguished from axioms which are assumed
% to hold for all theorems in a system. The third parameter is the statement of
% the proof.
%
%    The LogixProof environment defines three macros -- Blnk, Dash and Line, which
% are identical except that Dash is followed by a dashed line separator and Line is
% followed by a solid line separator. Each of these macros have four parameters
% (five when the length argument is present). The first is the line number. It
% is typeset in math mode so that subscripts may be used (sometimes useful in
% meta proofs). The second is the justifying axiom or previous theorem. The
% third is the list of previous lines of the proof used to justify the proof,
% and the fourth is the expression for the proof line. A list is used for the
% previous justifying lines since the same line can be used more than once
% and the order is potentially significant. Both the second and third parameters
% may be empty, allowing for using the comment for justification (a common style
% in some textbooks and papers). Here is an example with comments:
%
%    \begin{LogixProof}[5em] {Th 46} {} {\prop{p}\Coma\prop{q}\Seq\prop{r}}
%       \Dash {1} {Th 41} {}    {\prop{r} \Nd \prop{s} \Impl \prop{q}} {Comment for first line}
%       \Dash {2} {Cn 2 } {}    {\prop{r}}                             {Comment for second line}
%       \Dash {3} {Th 38} {2}   {\prop{r}}                             {}
%       \Line {4} {Im 3 } {1,6} {\prop{r}}                             {Comment for last line}
%       \end{LogixProof}
%
%    LogixSeqnt is identical to LogixProof execpt that the lines have an extra
% parameter before the expression, which represents the list of expressions
% assumed to hold for the expression as a sequent. An example of its use (but
% without comments and with solid lines) is:
%
%    \begin{LogixSeqnt} {Th 46} {Dt 1} {\prop{p}\Coma\prop{q}\Seq\prop{r}}
%       \Line {1} {Th 41} {}    {\prop{p}\Coma\prop{q}} {\prop{r}}
%       \Line {2} {Cn 2 } {}    {\prop{p}\Coma\prop{q}} {\prop{r}}
%       \Line {3} {Th 38} {2}   {                      } {\prop{r}}
%       \end{LogixSeqnt}
%
%    The LogixTable environment sets a few display options and then invokes
% the tabular environment. An exmple of its usage for a semantic table is:
%
%    \begin{LogixTable}{c | c c c c }
%       \Nd        & \symSau{f} & \symSau{u} & \symSau{o} & \symSau{t} \\ \hline
%       \symSau{f} & \symSau{f} & \symSau{f} & \symSau{f} & \symSau{f} \\
%       \symSau{u} & \symSau{f} & \symSau{u} & \symSau{f} & \symSau{u} \\
%       \symSau{o} & \symSau{f} & \symSau{f} & \symSau{o} & \symSau{o} \\
%       \symSau{t} & \symSau{f} & \symSau{u} & \symSau{o} & \symSau{t} \\
%       \end{LogixTable}
%
%    Note that none of these environments are indented by default. Often,
% horizontal space is at a premium, so any indentation is left to the user.
%

% Environment for drawing knots.

   \newenvironment{KnotGrid}{%
      \renewcommand{\arraystretch}{0}
      \noindent\begin{tabular}{ @{} >{$} c <{$} @{} } }{%
      \end{tabular} }

% Enviroment for logic definitions.

   \newenvironment{LogixDefn}[1][]{%
      \newcommand  \PrfEnd {\rule[-0.375em]{0pt}{1.30em}}
      \renewcommand{\arraystretch}{0}
      \ifx&#1&
            \newcommand \Line[4]{%
               \ifx&##2&%
                     ##1. \hspace{0.25em} &                      & ##3 & \Defn & ##4                            & \PrfEnd \\%
                  \else%                                                 
                     ##1  \hspace{0.35em} & ##2. \hspace{0.25em} & ##3 & \Defn & ##4                            & \PrfEnd \\%
                  \fi%                                                                   
               }                                                                         
         \else                                                                           
            \newcommand \Line[5]{%                                                       
               \ifx&##2&%                                                                
                     ##1. \hspace{0.25em} &                      & ##3 & \Defn & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\%
                  \else%                                                 
                     ##1  \hspace{0.35em} & ##2. \hspace{0.25em} & ##3 & \Defn & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\%
                  \fi%
               }
         \fi
      \noindent\begin{tabular}{ @{} l @{} r @{} >{$} r <{$} @{} >{$} c <{$} @{} >{$} l <{$} @{} c @{} }}{%
      \end{tabular} }

% Environment for logic axioms.

   \newenvironment{LogixAxiom}[1][]{%
      \newcommand  \PrfEnd {\rule[-0.375em]{0pt}{1.30em}}
      \renewcommand{\arraystretch}{0}
      \ifx&#1&
            \newcommand \Line[3]{%
               \ifx&##2&%
                     ##1. \hspace{0.25em} &                      & ##3                            & \PrfEnd \\%
                  \else%
                     ##1  \hspace{0.35em} & ##2. \hspace{0.25em} & ##3                            & \PrfEnd \\%
                  \fi%
               }
         \else
            \newcommand \Line[4]{%
               \ifx&##2&%
                     ##1. \hspace{0.25em} &                      & \mathmakebox[#1][l]{##3} $##4$ & \PrfEnd \\%
                  \else%
                     ##1  \hspace{0.35em} & ##2. \hspace{0.25em} & \mathmakebox[#1][l]{##3} $##4$ & \PrfEnd \\%
                  \fi%
               }
         \fi
      \noindent\begin{tabular}{ @{} l @{} r @{} >{$} l <{$} @{} c @{} }}{%
      \end{tabular} }

% Environment for logic proofs without sequents.

   \newenvironment{LogixProof}[4][]{%
      \setlength{\dashlinedash}{2pt}
      \setlength{\dashlinegap}{2pt}
      \setlength{\arrayrulewidth}{0.2pt}%
      \renewcommand{\arraystretch}{0}%
      \newcommand  \PrfBgn {\-\ \hspace{0.50em}}%
      \newcommand  \PrfEnd {\rule[-0.375em]{0pt}{1.35em}}%
      \ifx&#1&
            \newcommand \Blnk[4] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \PrfEnd \\}
            \newcommand \Dash[4] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \PrfEnd \\ \hdashline}
            \newcommand \Line[4] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \PrfEnd \\ \hline}
         \else
            \newcommand \Blnk[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\}
            \newcommand \Dash[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\ \hdashline}
            \newcommand \Line[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\ \hline}
         \fi
      \noindent\begin{tabular}{ @{\hspace{0.60em}} l @{\hspace{0.50em}}}
         \noindent\hspace{-0.50em}\begin{tabular}{ @{} l @{} l @{} @{\hspace{0.25em}} >{$} l <{$} @{} c @{} }
         #2. & \ifx&#3&\else{\hspace{0.25em}\OpnGrp}#3{\ClsGrp}\fi & #4 & \PrfEnd \end{tabular} \\\hline
         \noindent\hspace{-0.10em}\begin{tabular}{
            @{} >{$} r <{$}                                    % Line number, aligned right, left padding 0.35em.
            @{} l                                              % Justification reference, left padding 0.25em.
            @{} l @{\hspace{0.25em}} |                         % Justification line numbers, left padding 0.25em, vertical bar, right padding 0.25em.
            @{} >{\hspace{0.25em}$} l <{$} @{\hspace{0.25em}}  % Proposition, right padding 0.25em.
            @{} c @{} } }{%
         \end{tabular} \end{tabular}}

% Environment for logic proofs with sequents.

   \newenvironment{LogixSeqnt}[4][]{%
      \setlength{\dashlinedash}{2pt}
      \setlength{\dashlinegap}{2pt}
      \setlength{\arrayrulewidth}{0.2pt}%
      \renewcommand{\arraystretch}{0}%
      \newcommand  \PrfBgn {\-\ \hspace{0.50em}}%
      \newcommand  \PrfEnd {\rule[-0.375em]{0pt}{1.35em}}%
      \ifx&#1&
            \newcommand \Blnk[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & ##5 & \PrfEnd \\}
            \newcommand \Dash[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & ##5 & \PrfEnd \\ \hdashline}
            \newcommand \Line[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & ##5 & \PrfEnd \\ \hline}
         \else
            \newcommand \Blnk[6] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \mathmakebox[#1][l]{##5} $##6$ & \PrfEnd \\}
            \newcommand \Dash[6] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \mathmakebox[#1][l]{##5} $##6$ & \PrfEnd \\ \hdashline}
            \newcommand \Line[6] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrac}##3{\ClsBrac}\fi & ##4 & \mathmakebox[#1][l]{##5} $##6$ & \PrfEnd \\ \hline}
         \fi
      \noindent\begin{tabular}{ @{\hspace{0.60em}} l @{\hspace{0.50em}}}
         \noindent\hspace{-0.50em}\begin{tabular}{ @{} l @{} l @{} @{\hspace{0.25em}} >{$} l <{$} @{} c @{} }
         #2. & \ifx&#3&\else{\hspace{0.25em}\OpnGrp}#3{\ClsGrp}\fi & #4 & \PrfEnd \end{tabular} \\\hline
         \noindent\hspace{-0.10em}\begin{tabular}{
         @{} >{$} r <{$}                        % Line number, aligned right, left padding 0.35em.
         @{} l                                  % Justification reference, left padding 0.25em.
         @{} l @{\hspace{0.25em}} |             % Justification line numbers, left padding 0.25em, vertical bar, right padding 0.25em.
         @{} >{\hspace{0.25em}$} r <{$}         % Sequent assumptions, left padding 0.25em.
         @{} >{$\Seq} l <{$} @{\hspace{0.25em}} % Sequent conclusion, right padding 0.25em.
         @{} c @{} } }{%
         \end{tabular} \end{tabular}}

% Environment for consistent semantic tables, replaces use of tabular environment.

   \newenvironment{LogixTable}[2][]{%
      \setlength{\dashlinedash}{2pt}
      \setlength{\dashlinegap}{2pt}
      \setlength{\arrayrulewidth}{0.2pt}
      \renewcommand{\arraystretch}{1.3}%
      \begin{tabular}[#1]{#2}}{%
      \end{tabular}}

%    Define the logix math symbols. These symbols have sidebearings defined in the font.
% Applying the symbol type results in extra white space so they are declared as
% \mathord. However, some symbols require minor kerning adjustments to work smoothly
% with LaTeX math layout. That is accomplished using the \mkern command as part of
% the symbol defintion. The standard symbol types are shown below.
%
%    Logic expressions, as compared to mathematic expressions do not require
% additional spacing. The minimum spacing is provided by the sidebearings,
% so all symbols are defined as type \mathord to prevent elastic glue. Any
% adjustments, if necessary will either be made here (on a temporary basis)
% or in the font itself. If normal TeX glue is desired in a specific case,
% then use one of the following commands.
%
%    \mathord     0 - Simple / ordinary, e.g. \alpha, no padding space
%    \mathop      1 - Prefix operator, thin space on both sides (3mu)
%    \mathbin     2 - Binary operator, medium space on both sides (4mu)
%    \mathrel     3 - Relation, thick space on both sides (5mu)
%    \mathopen    4 - Open (left) delimiter, may add space on left
%    \mathclose   5 - Close (right) delimiter, may add space on right
%    \mathpunct   6 - Postfix operator / punctuation, thin space on right.
%    \mathalpha   7 - Alphabetic (e.g. A), no padding space

   \newcommand  \lgx[1]           {\ensuremath{\Umathchar "0 \symLogix "#1}}
   \newcommand  \lgl[1]           {\ensuremath{\Udelimiter 4 \symLogix "#1}}
   \newcommand  \lgm[1]           {\ensuremath{\Udelimiter 0 \symLogix "#1}}
   \newcommand  \lgr[1]           {\ensuremath{\Udelimiter 5 \symLogix "#1}}

   \newcommand  \OpnBar           {\lgl{E300}\relax}              % Open Vertical Bar
   \newcommand  \OpnGrp           {\lgl{E301}\relax}              % Open Group Brace
   \newcommand  \OpnParn          {\lgl{E302}\relax}              % Open Parenthesis
   \newcommand  \OpnBrac          {\lgl{E303}\relax}              % Open Curly Brace
   \newcommand  \OpnBrknBrac      {\lgl{E304}\relax}              % Open Curly Broken Brace
   \newcommand  \OpnCircBrac      {\lgl{E305}\relax}              % Open Curly Circle Brace
   \newcommand  \OpnArrwBrac      {\lgl{E306}\relax}              % Open Arrow Brace
   \newcommand  \OpnBrkt          {\lgl{E307}\relax}              % Open Square Bracket
   \newcommand  \OpnCrlyBrkt      {\lgl{E308}\relax}              % Open Square Curly Bracket
   \newcommand  \OpnBrknBrkt      {\lgl{E309}\relax}              % Open Square Broken Bracket
   \newcommand  \OpnCircBrkt      {\lgl{E30A}\relax}              % Open Square Circle Bracket
   \newcommand  \OpnTortoise      {\lgl{E30B}\relax}              % Open Tortoise Shell
   \newcommand  \OpnAngl          {\lgl{E30C}\relax}              % Open Angle Bracket
   \newcommand  \OpnDblBrac       {\lgl{E30D}\relax}              % Open Double Curly Brace
   \newcommand  \OpnDblAngl       {\lgl{E30E}\relax}              % Open Double Angle Bracket
   \newcommand  \OpnSqrParn       {\lgl{E30F}\relax}              % Open Square Parenthesis
   \newcommand  \OpnParnBar       {\lgl{E310}\relax}              % Open Parenthesis with Bar
   \newcommand  \OpnBracBar       {\lgl{E311}\relax}              % Open Brace with Bar
   \newcommand  \OpnBrknBracBar   {\lgl{E312}\relax}              % Open Broken Brace with Bar
   \newcommand  \OpnCircBracBar   {\lgl{E313}\relax}              % Open Circle Brace with Bar
   \newcommand  \OpnBrktBar       {\lgl{E314}\relax}              % Open Bracket with Bar
   \newcommand  \OpnCrlyBrktBar   {\lgl{E315}\relax}              % Open Curly Bracket with Bar
   \newcommand  \OpnBrknBrktBar   {\lgl{E316}\relax}              % Open Broken Bracket with Bar
   \newcommand  \OpnCircBrktBar   {\lgl{E317}\relax}              % Open Circle Bracket with Bar
   \newcommand  \OpnTortoiseBar   {\lgl{E318}\relax}              % Open Tortoise Shell with Bar
   \newcommand  \OpnAnglBar       {\lgl{E319}\relax}              % Open Angle Bracket with Bar
   \newcommand  \OpnCurvAngl      {\lgl{E31A}\relax}              % Open Curved Angle Bracket
   \newcommand  \OpnDblParn       {\lgl{E31B}\relax}              % Open Double Parenthesis
   \newcommand  \OpnCeil          {\lgl{E31C}\relax}              % Open Ceiling
   \newcommand  \OpnFloor         {\lgl{E31D}\relax}              % Open Floor
   \newcommand  \OpnTurn          {\lgl{E31E}\relax}              % Open Turnstile
   \newcommand  \OpnCntx          {\lgx{E31F}\relax}              % Open Context Quote
   \newcommand  \OpnDblGrp        {\lgl{E320}\relax}              % Open Double Group Brace
   \newcommand  \OpnDblBar        {\lgl{E321}\relax}              % Open Double Vertical Bar
   \newcommand  \OpnTrpBar        {\lgl{E322}\relax}              % Open Triple Vertical Bar
   \newcommand  \OpnDblCeil       {\lgl{E323}\relax}              % Open Double Ceiling
   \newcommand  \OpnDblFloor      {\lgl{E324}\relax}              % Open Double Floor

   \newcommand  \OpnBarS          {\left\OpnBar\relax}            % Stretchy Open Vertical Bar
   \newcommand  \OpnGrpS          {\left\OpnGrp\relax}            % Stretchy Open Group Brace
   \newcommand  \OpnParnS         {\left\OpnParn\relax}           % Stretchy Open Parenthesis
   \newcommand  \OpnBracS         {\left\OpnBrac\relax}           % Stretchy Open Curly Brace
   \newcommand  \OpnBrknBracS     {\left\OpnBrknBrac\relax}       % Stretchy Open Curly Broken Brace
   \newcommand  \OpnCircBracS     {\left\OpnCircBrac\relax}       % Stretchy Open Curly Circle Brace
   \newcommand  \OpnArrwBracS     {\left\OpnArrwBrac\relax}       % Stretchy Open Arrow Brace
   \newcommand  \OpnBrktS         {\left\OpnBrkt\relax}           % Stretchy Open Square Bracket
   \newcommand  \OpnCrlyBrktS     {\left\OpnCrlyBrkt\relax}       % Stretchy Open Square Curly Bracket
   \newcommand  \OpnBrknBrktS     {\left\OpnBrknBrkt\relax}       % Stretchy Open Square Broken Bracket
   \newcommand  \OpnCircBrktS     {\left\OpnCircBrkt\relax}       % Stretchy Open Square Circle Bracket
   \newcommand  \OpnTortoiseS     {\left\OpnTortoise\relax}       % Stretchy Open Tortoise Shell
   \newcommand  \OpnAnglS         {\left\OpnAngl\relax}           % Stretchy Open Angle Bracket
   \newcommand  \OpnDblBracS      {\left\OpnDblBrac\relax}        % Stretchy Open Double Curly Brace
   \newcommand  \OpnDblAnglS      {\left\OpnDblAngl\relax}        % Stretchy Open Double Angle Bracket
   \newcommand  \OpnSqrParnS      {\left\OpnSqrParn\relax}        % Stretchy Open Square Parenthesis
   \newcommand  \OpnParnBarS      {\left\OpnParnBar\relax}        % Stretchy Open Parenthesis with Bar
   \newcommand  \OpnBracBarS      {\left\OpnBracBar\relax}        % Stretchy Open Brace with Bar
   \newcommand  \OpnBrknBracBarS  {\left\OpnBrknBracBar\relax}    % Stretchy Open Broken Brace with Bar
   \newcommand  \OpnCircBracBarS  {\left\OpnCircBracBar\relax}    % Stretchy Open Circle Brace with Bar
   \newcommand  \OpnBrktBarS      {\left\OpnBrktBar\relax}        % Stretchy Open Bracket with Bar
   \newcommand  \OpnCrlyBrktBarS  {\left\OpnCrlyBrktBar\relax}    % Stretchy Open Curly Bracket with Bar
   \newcommand  \OpnBrknBrktBarS  {\left\OpnBrknBrktBar\relax}    % Stretchy Open Broken Bracket with Bar
   \newcommand  \OpnCircBrktBarS  {\left\OpnCircBrktBar\relax}    % Stretchy Open Circle Bracket with Bar
   \newcommand  \OpnTortoiseBarS  {\left\OpnTortoiseBar\relax}    % Stretchy Open Tortoise Shell with Bar
   \newcommand  \OpnAnglBarS      {\left\OpnAnglBar\relax}        % Stretchy Open Angle Bracket with Bar
   \newcommand  \OpnCurvAnglS     {\left\OpnCurvAngl\relax}       % Stretchy Open Curved Angle Bracket
   \newcommand  \OpnDblParnS      {\left\OpnDblParn\relax}        % Stretchy Open Double Parenthesis
   \newcommand  \OpnCeilS         {\left\OpnCeil\relax}           % Stretchy Open Ceiling
   \newcommand  \OpnFloorS        {\left\OpnFloor\relax}          % Stretchy Open Floor
   \newcommand  \OpnTurnS         {\left\OpnTurn\relax}           % Stretchy Open Turnstile
   \newcommand  \OpnCntxS         {\left\OpnCntx\relax}           % Stretchy Open Context Quote
   \newcommand  \OpnDblGrpS       {\left\OpnDblGrp\relax}         % Stretchy Open Double Group Brace
   \newcommand  \OpnDblBarS       {\left\OpnDblBar\relax}         % Stretchy Open Double Vertical Bar
   \newcommand  \OpnTrpBarS       {\left\OpnTrpBar\relax}         % Stretchy Open Triple Vertical Bar
   \newcommand  \OpnDblCeilS      {\left\OpnDblCeil\relax}        % Stretchy Open Double Ceiling
   \newcommand  \OpnDblFloorS     {\left\OpnDblFloor\relax}       % Stretchy Open Double Floor

   \newcommand  \ClsBar           {\lgr{E340}\relax}              % Close Vertical Bar
   \newcommand  \ClsGrp           {\lgr{E341}\relax}              % Close Group Brace
   \newcommand  \ClsParn          {\lgr{E342}\relax}              % Close Parenthesis
   \newcommand  \ClsBrac          {\lgr{E343}\relax}              % Close Curly Brace
   \newcommand  \ClsBrknBrac      {\lgr{E344}\relax}              % Close Curly Broken Brace
   \newcommand  \ClsCircBrac      {\lgr{E345}\relax}              % Close Curly Circle Brace
   \newcommand  \ClsArrwBrac      {\lgr{E346}\relax}              % Close Arrow Brace
   \newcommand  \ClsBrkt          {\lgr{E347}\relax}              % Close Square Bracket
   \newcommand  \ClsCrlyBrkt      {\lgr{E348}\relax}              % Close Square Curly Bracket
   \newcommand  \ClsBrknBrkt      {\lgr{E349}\relax}              % Close Square Broken Bracket
   \newcommand  \ClsCircBrkt      {\lgr{E34A}\relax}              % Close Square Circle Bracket
   \newcommand  \ClsTortoise      {\lgr{E34B}\relax}              % Close Tortoise Shell
   \newcommand  \ClsAngl          {\lgr{E34C}\relax}              % Close Angle Bracket
   \newcommand  \ClsDblBrac       {\lgr{E34D}\relax}              % Close Double Curly Brace
   \newcommand  \ClsDblAngl       {\lgr{E34E}\relax}              % Close Double Angle Bracket
   \newcommand  \ClsSqrParn       {\lgr{E34F}\relax}              % Close Square Parenthesis
   \newcommand  \ClsParnBar       {\lgr{E350}\relax}              % Close Parenthesis with Bar
   \newcommand  \ClsBracBar       {\lgr{E351}\relax}              % Close Brace with Bar
   \newcommand  \ClsBrknBracBar   {\lgr{E352}\relax}              % Close Broken Brace with Bar
   \newcommand  \ClsCircBracBar   {\lgr{E353}\relax}              % Close Circle Brace with Bar
   \newcommand  \ClsBrktBar       {\lgr{E354}\relax}              % Close Bracket with Bar
   \newcommand  \ClsCrlyBrktBar   {\lgr{E355}\relax}              % Close Curly Bracket with Bar
   \newcommand  \ClsBrknBrktBar   {\lgr{E356}\relax}              % Close Broken Bracket with Bar
   \newcommand  \ClsCircBrktBar   {\lgr{E357}\relax}              % Close Circle Bracket with Bar
   \newcommand  \ClsTortoiseBar   {\lgr{E358}\relax}              % Close Tortoise Shell with Bar
   \newcommand  \ClsAnglBar       {\lgr{E359}\relax}              % Close Angle Bracket with Bar
   \newcommand  \ClsCurvAngl      {\lgr{E35A}\relax}              % Close Curved Angle Bracket
   \newcommand  \ClsDblParn       {\lgl{E35B}\relax}              % Close Double Parenthesis
   \newcommand  \ClsCeil          {\lgr{E35C}\relax}              % Close Ceiling
   \newcommand  \ClsFloor         {\lgr{E35D}\relax}              % Close Floor
   \newcommand  \ClsTurn          {\lgr{E35E}\relax}              % Close Turnstile
   \newcommand  \ClsCntx          {\lgx{E35F}\relax}              % Close Context Quote
   \newcommand  \ClsDblGrp        {\lgr{E360}\relax}              % Close Double Group Brace
   \newcommand  \ClsDblBar        {\lgr{E361}\relax}              % Close Double Vertical Bar
   \newcommand  \ClsTrpBar        {\lgr{E362}\relax}              % Close Triple Vertical Bar
   \newcommand  \ClsDblCeil       {\lgr{E363}\relax}              % Close Double Ceiling
   \newcommand  \ClsDblFloor      {\lgr{E364}\relax}              % Close Double Floor

   \newcommand  \ClsBarS          {\right\ClsBar\relax}           % Stretchy Close Vertical Bar
   \newcommand  \ClsGrpS          {\right\ClsGrp\relax}           % Stretchy Close Group Brace
   \newcommand  \ClsParnS         {\right\ClsParn\relax}          % Stretchy Close Parenthesis
   \newcommand  \ClsBracS         {\right\ClsBrac\relax}          % Stretchy Close Curly Brace
   \newcommand  \ClsBrknBracS     {\right\ClsBrknBrac\relax}      % Stretchy Close Curly Broken Brace
   \newcommand  \ClsCircBracS     {\right\ClsCircBrac\relax}      % Stretchy Close Curly Circle Brace
   \newcommand  \ClsArrwBracS     {\right\ClsArrwBrac\relax}      % Stretchy Close Arrow Brace
   \newcommand  \ClsBrktS         {\right\ClsBrkt\relax}          % Stretchy Close Square Bracket
   \newcommand  \ClsCrlyBrktS     {\right\ClsCrlyBrkt\relax}      % Stretchy Close Square Curly Bracket
   \newcommand  \ClsBrknBrktS     {\right\ClsBrknBrkt\relax}      % Stretchy Close Square Broken Bracket
   \newcommand  \ClsCircBrktS     {\right\ClsCircBrkt\relax}      % Stretchy Close Square Circle Bracket
   \newcommand  \ClsTortoiseS     {\right\ClsTortoise\relax}      % Stretchy Close Tortoise Shell
   \newcommand  \ClsAnglS         {\right\ClsAngl\relax}          % Stretchy Close Angle Bracket
   \newcommand  \ClsDblBracS      {\right\ClsDblBrac\relax}       % Stretchy Close Double Curly Brace
   \newcommand  \ClsDblAnglS      {\right\ClsDblAngl\relax}       % Stretchy Close Double Angle Bracket
   \newcommand  \ClsSqrParnS      {\right\ClsSqrParn\relax}       % Stretchy Close Square Parenthesis
   \newcommand  \ClsParnBarS      {\right\ClsParnBar\relax}       % Stretchy Close Parenthesis with Bar
   \newcommand  \ClsBracBarS      {\right\ClsBracBar\relax}       % Stretchy Close Brace with Bar
   \newcommand  \ClsBrknBracBarS  {\right\ClsBrknBracBar\relax}   % Stretchy Close Broken Brace with Bar
   \newcommand  \ClsCircBracBarS  {\right\ClsCircBracBar\relax}   % Stretchy Close Circle Brace with Bar
   \newcommand  \ClsBrktBarS      {\right\ClsBrktBar\relax}       % Stretchy Close Bracket with Bar
   \newcommand  \ClsCrlyBrktBarS  {\right\ClsCrlyBrktBar\relax}   % Stretchy Close Curly Bracket with Bar
   \newcommand  \ClsBrknBrktBarS  {\right\ClsBrknBrktBar\relax}   % Stretchy Close Broken Bracket with Bar
   \newcommand  \ClsCircBrktBarS  {\right\ClsCircBrktBar\relax}   % Stretchy Close Circle Bracket with Bar
   \newcommand  \ClsTortoiseBarS  {\right\ClsTortoiseBar\relax}   % Stretchy Close Tortoise Shell with Bar
   \newcommand  \ClsAnglBarS      {\right\ClsAnglBar\relax}       % Stretchy Close Angle Bracket with Bar
   \newcommand  \ClsCurvAnglS     {\right\ClsCurvAngl\relax}      % Stretchy Close Curved Angle Bracket
   \newcommand  \ClsDblParnS      {\right\ClsDblParn\relax}       % Stretchy Close Double Parenthesis
   \newcommand  \ClsCeilS         {\right\ClsCeil\relax}          % Stretchy Close Ceiling
   \newcommand  \ClsFloorS        {\right\ClsFloor\relax}         % Stretchy Close Floor
   \newcommand  \ClsTurnS         {\right\ClsTurn\relax}          % Stretchy Close Turnstile
   \newcommand  \ClsCntxS         {\right\ClsCntx\relax}          % Stretchy Close Context Quote
   \newcommand  \ClsDblGrpS       {\right\ClsDblGrp\relax}        % Stretchy Close Double Group Brace
   \newcommand  \ClsDblBarS       {\right\ClsDblBar\relax}        % Stretchy Close Vertical Double Bar
   \newcommand  \ClsTrpBarS       {\right\ClsTrpBar\relax}        % Stretchy Close Vertical Triple Bar
   \newcommand  \ClsDblCeilS      {\right\ClsDblCeil\relax}       % Stretchy Close Double Ceiling
   \newcommand  \ClsDblFloorS     {\right\ClsDblFloor\relax}      % Stretchy Close Double Floor

   \newcommand  \MapParInMul      {\lgx{EAA0}\relax}              % Continuous, Partial, Into Multi-Map
   \newcommand  \MapParInSng      {\lgx{EAA1}\relax}              % Continuous, Partial, Into, Singleton Map
   \newcommand  \MapParInOne      {\lgx{EAA2}\relax}              % Continuous, Partial, Into, One-To-One Map
   \newcommand  \MapParOnMul      {\lgx{EAA8}\relax}              % Continuous, Partial, Onto Multi-Map
   \newcommand  \MapParOnSng      {\lgx{EAA9}\relax}              % Continuous, Partial, Onto, Singleton Map
   \newcommand  \MapParOnOne      {\lgx{EAAA}\relax}              % Continuous, Partial, Onto, One-To-One Map
   \newcommand  \MapParInGndMul   {\lgx{EAB0}\relax}              % Continuous, Partial, Into, Grounded Multi-Map
   \newcommand  \MapParInGndSng   {\lgx{EAB1}\relax}              % Continuous, Partial, Into, Grounded, Singleton Map
   \newcommand  \MapParInGndOne   {\lgx{EAB2}\relax}              % Continuous, Partial, Into, Grounded, One-To-One Map
   \newcommand  \MapParOnGndMul   {\lgx{EAB8}\relax}              % Continuous, Partial, Onto, Grounded Multi-Map
   \newcommand  \MapParOnGndSng   {\lgx{EAB9}\relax}              % Continuous, Partial, Onto, Grounded, Singleton Map
   \newcommand  \MapParOnGndOne   {\lgx{EABA}\relax}              % Continuous, Partial, Onto, Grounded, One-To-One Map

   \newcommand  \MapTotInMul      {\lgx{EA80}\relax}              % Continuous, Total, Into Multi-Map
   \newcommand  \MapTotInSng      {\lgx{EA81}\relax}              % Continuous, Total, Into, Singleton Map
   \newcommand  \MapTotInOne      {\lgx{EA82}\relax}              % Continuous, Total, Into, One-To-One Map
   \newcommand  \MapTotOnMul      {\lgx{EA88}\relax}              % Continuous, Total, Onto Multi-Map
   \newcommand  \MapTotOnSng      {\lgx{EA89}\relax}              % Continuous, Total, Onto, Singleton Map
   \newcommand  \MapTotOnOne      {\lgx{EA8A}\relax}              % Continuous, Total, Onto, One-To-One Map
   \newcommand  \MapTotInGndMul   {\lgx{EA90}\relax}              % Continuous, Total, Into, Grounded Multi-Map
   \newcommand  \MapTotInGndSng   {\lgx{EA91}\relax}              % Continuous, Total, Into, Grounded, Singleton Map
   \newcommand  \MapTotInGndOne   {\lgx{EA92}\relax}              % Continuous, Total, Into, Grounded, One-To-One Map
   \newcommand  \MapTotOnGndMul   {\lgx{EA98}\relax}              % Continuous, Total, Onto, Grounded Multi-Map
   \newcommand  \MapTotOnGndSng   {\lgx{EA99}\relax}              % Continuous, Total, Onto, Grounded, Singleton Map
   \newcommand  \MapTotOnGndOne   {\lgx{EA9A}\relax}              % Continuous, Total, Onto, Grounded, One-To-One Map

   \newcommand  \FunParInMul      {\lgx{EAA4}\relax}              % Continuous, Partial, Into Multi-Function
   \newcommand  \FunParInSng      {\lgx{EAA5}\relax}              % Continuous, Partial, Into, Singleton Function
   \newcommand  \FunParInOne      {\lgx{EAA6}\relax}              % Continuous, Partial, Into, One-To-One Function
   \newcommand  \FunParOnMul      {\lgx{EAAC}\relax}              % Continuous, Partial, Onto Multi-Function
   \newcommand  \FunParOnSng      {\lgx{EAAD}\relax}              % Continuous, Partial, Onto, Singleton Function
   \newcommand  \FunParOnOne      {\lgx{EAAE}\relax}              % Continuous, Partial, Onto, One-To-One Function
   \newcommand  \FunParInGndMul   {\lgx{EAB4}\relax}              % Continuous, Partial, Into, Grounded Multi-Function
   \newcommand  \FunParInGndSng   {\lgx{EAB5}\relax}              % Continuous, Partial, Into, Grounded, Singleton Function
   \newcommand  \FunParInGndOne   {\lgx{EAB6}\relax}              % Continuous, Partial, Into, Grounded, One-To-One Function
   \newcommand  \FunParOnGndMul   {\lgx{EABC}\relax}              % Continuous, Partial, Onto, Grounded Multi-Function
   \newcommand  \FunParOnGndSng   {\lgx{EABD}\relax}              % Continuous, Partial, Onto, Grounded, Singleton Function
   \newcommand  \FunParOnGndOne   {\lgx{EABE}\relax}              % Continuous, Partial, Onto, Grounded, One-To-One Function

   \newcommand  \FunTotInMul      {\lgx{EA84}\relax}              % Continuous, Total, Into Multi-Function
   \newcommand  \FunTotInSng      {\lgx{EA85}\relax}              % Continuous, Total, Into, Singleton Function
   \newcommand  \FunTotInOne      {\lgx{EA86}\relax}              % Continuous, Total, Into, One-To-One Function
   \newcommand  \FunTotOnMul      {\lgx{EA8C}\relax}              % Continuous, Total, Onto Multi-Function
   \newcommand  \FunTotOnSng      {\lgx{EA8D}\relax}              % Continuous, Total, Onto, Singleton Function
   \newcommand  \FunTotOnOne      {\lgx{EA8E}\relax}              % Continuous, Total, Onto, One-To-One Function
   \newcommand  \FunTotInGndMul   {\lgx{EA94}\relax}              % Continuous, Total, Into, Grounded Multi-Function
   \newcommand  \FunTotInGndSng   {\lgx{EA95}\relax}              % Continuous, Total, Into, Grounded, Singleton Function
   \newcommand  \FunTotInGndOne   {\lgx{EA96}\relax}              % Continuous, Total, Into, Grounded, One-To-One Function
   \newcommand  \FunTotOnGndMul   {\lgx{EA9C}\relax}              % Continuous, Total, Onto, Grounded Multi-Function
   \newcommand  \FunTotOnGndSng   {\lgx{EA9D}\relax}              % Continuous, Total, Onto, Grounded, Singleton Function
   \newcommand  \FunTotOnGndOne   {\lgx{EA9E}\relax}              % Continuous, Total, Onto, Grounded, One-To-One Function

   \newcommand  \SMapTo           {\lgx{E9D6}\relax}              % Short Maps To
   \newcommand  \MapTo            {\lgx{E9D7}\relax}              % Maps To
   \newcommand  \LMapTo           {\lgx{E9D8}\relax}              % Long Maps To
   \newcommand  \XMapTo           {\lgx{E9D9}\relax}              % Extra Long Maps To
   \newcommand  \VMapTo           {\lgx{E9B8}\relax}              % Very Long Maps To

   \newcommand  \SFunc            {\lgx{E9DC}\relax}              % Short Total Function
   \newcommand  \Func             {\lgx{E9DD}\relax}              % Total Function
   \newcommand  \LFunc            {\lgx{E9DE}\relax}              % Long Total Function
   \newcommand  \XFunc            {\lgx{E9DF}\relax}              % Extra Long Total Function
   \newcommand  \VFunc            {\lgx{E9B9}\relax}              % Very Long Total Function

   \newcommand  \SParFunc         {\lgx{EA25}\relax}              % Short Partial Function
   \newcommand  \ParFunc          {\lgx{EA26}\relax}              % Partial Function
   \newcommand  \LParFunc         {\lgx{EA27}\relax}              % Long Partial Function
   \newcommand  \XParFunc         {\lgx{EA28}\relax}              % Extra Long Partial Function
   \newcommand  \VParFunc         {\lgx{EA29}\relax}              % Very Long Partial Function

   \newcommand  \MapComp          {\lgx{E23C}\relax}              % Map Composition
   \newcommand  \FncComp          {\lgx{E239}\relax}              % Function / Backward  Composition
   \newcommand  \ForComp          {\lgx{E229}\relax}              % Forward Composition
   \newcommand  \FncCnvrs         {\lgx{E2C3}\relax}              % Function Converse

   \newcommand  \ClsImpl          {\lgx{E79E}\relax}              % Classical Implication
   \newcommand  \NotClsImpl       {\lgx{E79F}\relax}              % Not Classical Implication
   \newcommand  \ClsEquv          {\lgx{E666}\relax}              % Classical Equivalence
   \newcommand  \NotClsEquv       {\lgx{E667}\relax}              % Not Classical Equivalence

   \newcommand  \SWkMtImpl        {\lgx{E810}\relax}              % Short Weak Material Implication
   \newcommand  \WkMtImpl         {\lgx{E814}\relax}              % Weak Material Implication
   \newcommand  \LWkMtImpl        {\lgx{E818}\relax}              % Long Weak Material Implication
   \newcommand  \XWkMtImpl        {\lgx{E81C}\relax}              % Extra Long Weak Material Implication
   \newcommand  \VWkMtImpl        {\lgx{E8B8}\relax}              % Very Long Weak Material Implication

   \newcommand  \SMtImpl          {\lgx{E820}\relax}              % Short Material Implication
   \newcommand  \MtImpl           {\lgx{E824}\relax}              % Material Implication
   \newcommand  \LMtImpl          {\lgx{E828}\relax}              % Long Material Implication
   \newcommand  \XMtImpl          {\lgx{E82C}\relax}              % Extra Long Material Implication
   \newcommand  \VMtImpl          {\lgx{E8BC}\relax}              % Very Long Material Implication

   \newcommand  \SInImpl          {\lgx{E830}\relax}              % Short Intuitionistic Implication
   \newcommand  \InImpl           {\lgx{E834}\relax}              % Intuitionistic Implication
   \newcommand  \LInImpl          {\lgx{E838}\relax}              % Long Intuitionistic Implication
   \newcommand  \XInImpl          {\lgx{E83C}\relax}              % Extra Long Intuitionistic Implication
   \newcommand  \VInImpl          {\lgx{E8C8}\relax}              % Very Long Intuitionistic Implication

   \newcommand  \SWkImpl          {\lgx{E840}\relax}              % Short Weak Implication
   \newcommand  \WkImpl           {\lgx{E844}\relax}              % Weak Implication
   \newcommand  \LWkImpl          {\lgx{E848}\relax}              % Long Weak Implication
   \newcommand  \XWkImpl          {\lgx{E84C}\relax}              % Extra Long Weak Implication
   \newcommand  \VWkImpl          {\lgx{E8CC}\relax}              % Very Long Weak Implication

   \newcommand  \SImpl            {\lgx{E850}\relax}              % Short Implication
   \newcommand  \Impl             {\lgx{E854}\relax}              % Implication
   \newcommand  \LImpl            {\lgx{E858}\relax}              % Long Implication
   \newcommand  \XImpl            {\lgx{E85C}\relax}              % Extra Long Implication
   \newcommand  \VImpl            {\lgx{E8D8}\relax}              % Very Long Implication

   \newcommand  \NotSWkMtImpl     {\lgx{E811}\relax}              % Short Not Weak Material Implication
   \newcommand  \NotWkMtImpl      {\lgx{E815}\relax}              % Not Weak Material Implication
   \newcommand  \NotLWkMtImpl     {\lgx{E819}\relax}              % Long Not Weak Material Implication
   \newcommand  \NotXWkMtImpl     {\lgx{E81D}\relax}              % Extra Long Not Weak Material Implication
   \newcommand  \NotVWkMtImpl     {\lgx{E8B9}\relax}              % Very Long Not Weak Material Implication

   \newcommand  \NotSMtImpl       {\lgx{E821}\relax}              % Short Not Material Implication
   \newcommand  \NotMtImpl        {\lgx{E825}\relax}              % Not Material Implication
   \newcommand  \NotLMtImpl       {\lgx{E829}\relax}              % Long Not Material Implication
   \newcommand  \NotXMtImpl       {\lgx{E82D}\relax}              % Extra Long Not Material Implication
   \newcommand  \NotVMtImpl       {\lgx{E8BD}\relax}              % Very Long Not Material Implication

   \newcommand  \NotSInImpl       {\lgx{E831}\relax}              % Short Not Intuitionistic Implication
   \newcommand  \NotInImpl        {\lgx{E835}\relax}              % Not Intuitionistic Implication
   \newcommand  \NotLInImpl       {\lgx{E839}\relax}              % Long Not Intuitionistic Implication
   \newcommand  \NotXInImpl       {\lgx{E83D}\relax}              % Extra Long Not Intuitionistic Implication
   \newcommand  \NotVInImpl       {\lgx{E8C9}\relax}              % Very Long Not Intuitionistic Implication

   \newcommand  \NotSWkImpl       {\lgx{E841}\relax}              % Short Not Weak Implication
   \newcommand  \NotWkImpl        {\lgx{E845}\relax}              % Not Weak Implication
   \newcommand  \NotLWkImpl       {\lgx{E849}\relax}              % Long Not Weak Implication
   \newcommand  \NotXWkImpl       {\lgx{E84D}\relax}              % Extra Long Not Weak Implication
   \newcommand  \NotVWkImpl       {\lgx{E8CD}\relax}              % Very Long Not Weak Implication

   \newcommand  \NotSImpl         {\lgx{E851}\relax}              % Short Not Implication
   \newcommand  \NotImpl          {\lgx{E855}\relax}              % Not Implication
   \newcommand  \NotLImpl         {\lgx{E859}\relax}              % Long Not Implication
   \newcommand  \NotXImpl         {\lgx{E85D}\relax}              % Extra Long Not Implication
   \newcommand  \NotVImpl         {\lgx{E8D9}\relax}              % Very Long Not Implication

   \newcommand  \SWkEntail        {\lgx{E860}\relax}              % Short Weak Entailment
   \newcommand  \WkEntail         {\lgx{E864}\relax}              % Weak Entailment
   \newcommand  \LWkEntail        {\lgx{E868}\relax}              % Long Weak Entailment
   \newcommand  \XWkEntail        {\lgx{E86C}\relax}              % Extra Long Weak Entailment
   \newcommand  \VWkEntail        {\lgx{E8DC}\relax}              % Very Long Weak Entailment

   \newcommand  \SEntail          {\lgx{E870}\relax}              % Short Entailment
   \newcommand  \Entail           {\lgx{E874}\relax}              % Entailment
   \newcommand  \LEntail          {\lgx{E878}\relax}              % Long Entailment
   \newcommand  \XEntail          {\lgx{E87C}\relax}              % Extra Long Entailment
   \newcommand  \VEntail          {\lgx{E8E0}\relax}              % Very Long Entailment

   \newcommand  \SWkMtEquv        {\lgx{E812}\relax}              % Short Weak Material Equivalence
   \newcommand  \WkMtEquv         {\lgx{E816}\relax}              % Weak Material Equivalence
   \newcommand  \LWkMtEquv        {\lgx{E81A}\relax}              % Long Weak Material Equivalence
   \newcommand  \XWkMtEquv        {\lgx{E81E}\relax}              % Extra Long Weak Material Equivalence
   \newcommand  \VWkMtEquv        {\lgx{E8BA}\relax}              % Very Long Weak Material Equivalence

   \newcommand  \SMtEquv          {\lgx{E822}\relax}              % Short Material Equivalence
   \newcommand  \MtEquv           {\lgx{E826}\relax}              % Material Equivalence
   \newcommand  \LMtEquv          {\lgx{E82A}\relax}              % Long Material Equivalence
   \newcommand  \XMtEquv          {\lgx{E82E}\relax}              % Extra Long Material Equivalence
   \newcommand  \VMtEquv          {\lgx{E8BE}\relax}              % Very Long Material Equivalence

   \newcommand  \SInEquv          {\lgx{E832}\relax}              % Short Intuitionistic Equivalence
   \newcommand  \InEquv           {\lgx{E836}\relax}              % Intuitionistic Equivalence
   \newcommand  \LInEquv          {\lgx{E83A}\relax}              % Long Intuitionistic Equivalence
   \newcommand  \XInEquv          {\lgx{E83E}\relax}              % Extra Long Intuitionistic Equivalence
   \newcommand  \VInEquv          {\lgx{E8CA}\relax}              % Very Long Intuitionistic Equivalence

   \newcommand  \SWkEquv          {\lgx{E842}\relax}              % Short Weak Implication Equivalence
   \newcommand  \WkEquv           {\lgx{E846}\relax}              % Weak Implication Equivalence
   \newcommand  \LWkEquv          {\lgx{E84A}\relax}              % Long Weak Implication Equivalence
   \newcommand  \XWkEquv          {\lgx{E84E}\relax}              % Extra Long Weak Implication Equivalence
   \newcommand  \VWkEquv          {\lgx{E8CE}\relax}              % Very Long Weak Implication Equivalence

   \newcommand  \NotSWkEntail     {\lgx{E861}\relax}              % Short Not Weak Entailment
   \newcommand  \NotWkEntail      {\lgx{E865}\relax}              % Not Weak Entailment
   \newcommand  \NotLWkEntail     {\lgx{E869}\relax}              % Long Not Weak Entailment
   \newcommand  \NotXWkEntail     {\lgx{E86D}\relax}              % Extra Long Not Weak Entailment
   \newcommand  \NotVWkEntail     {\lgx{E8DD}\relax}              % Very Long Not Weak Entailment

   \newcommand  \NotSEntail       {\lgx{E871}\relax}              % Short Not Entailment
   \newcommand  \NotEntail        {\lgx{E875}\relax}              % Not Entailment
   \newcommand  \NotLEntail       {\lgx{E879}\relax}              % Long Not Entailment
   \newcommand  \NotXEntail       {\lgx{E87D}\relax}              % Extra Long Not Entailment
   \newcommand  \NotVEntail       {\lgx{E8E1}\relax}              % Very Long Not Entailment

   \newcommand  \NotSWkMtEquv     {\lgx{E813}\relax}              % Short Not Weak Material Equivalence
   \newcommand  \NotWkMtEquv      {\lgx{E817}\relax}              % Not Weak Material Equivalence
   \newcommand  \NotLWkMtEquv     {\lgx{E81B}\relax}              % Long Not Weak Material Equivalence
   \newcommand  \NotXWkMtEquv     {\lgx{E81F}\relax}              % Extra Long Not Weak Material Equivalence
   \newcommand  \NotVWkMtEquv     {\lgx{E8BB}\relax}              % Very Long Not Weak Material Equivalence

   \newcommand  \NotSMtEquv       {\lgx{E823}\relax}              % Short Not Material Equivalence
   \newcommand  \NotMtEquv        {\lgx{E827}\relax}              % Not Material Equivalence
   \newcommand  \NotLMtEquv       {\lgx{E82B}\relax}              % Long Not Material Equivalence
   \newcommand  \NotXMtEquv       {\lgx{E82F}\relax}              % Extra Long Not Material Equivalence
   \newcommand  \NotVMtEquv       {\lgx{E8BF}\relax}              % Very Long Not Material Equivalence

   \newcommand  \NotSInEquv       {\lgx{E833}\relax}              % Short Not Intuitionistic Equivalence
   \newcommand  \NotInEquv        {\lgx{E837}\relax}              % Not Intuitionistic Equivalence
   \newcommand  \NotLInEquv       {\lgx{E83B}\relax}              % Long Not Intuitionistic Equivalence
   \newcommand  \NotXInEquv       {\lgx{E83F}\relax}              % Extra Long Not Intuitionistic Equivalence
   \newcommand  \NotVInEquv       {\lgx{E8CB}\relax}              % Very Long Not Intuitionistic Equivalence

   \newcommand  \NotSWkEquv       {\lgx{E843}\relax}              % Short Not Weak Implication Equivalence
   \newcommand  \NotWkEquv        {\lgx{E847}\relax}              % Not Weak Implication Equivalence
   \newcommand  \NotLWkEquv       {\lgx{E84B}\relax}              % Long Not Weak Implication Equivalence
   \newcommand  \NotXWkEquv       {\lgx{E84F}\relax}              % Extra Long Not Weak Implication Equivalence
   \newcommand  \NotVWkEquv       {\lgx{E8CF}\relax}              % Very Long Not Weak Implication Equivalence

   \newcommand  \SEquv            {\lgx{E852}\relax}              % Short Implication Equivalence
   \newcommand  \Equv             {\lgx{E856}\relax}              % Implication Equivalence
   \newcommand  \LEquv            {\lgx{E85A}\relax}              % Long Implication Equivalence
   \newcommand  \XEquv            {\lgx{E85E}\relax}              % Extra Long Implication Equivalence
   \newcommand  \VEquv            {\lgx{E8DA}\relax}              % Very Long Implication Equivalence

   \newcommand  \SWkEntailEquv    {\lgx{E862}\relax}              % Short Weak Entailment Equivalence
   \newcommand  \WkEntailEquv     {\lgx{E866}\relax}              % Weak Entailment Equivalence
   \newcommand  \LWkEntailEquv    {\lgx{E86A}\relax}              % Long Weak Entailment Equivalence
   \newcommand  \XWkEntailEquv    {\lgx{E86E}\relax}              % Extra Long Weak Entailment Equivalence
   \newcommand  \VWkEntailEquv    {\lgx{E8DE}\relax}              % Very Long Weak Entailment Equivalence

   \newcommand  \SEntailEquv      {\lgx{E872}\relax}              % Short Entailment Equivalence
   \newcommand  \EntailEquv       {\lgx{E876}\relax}              % Entailment Equivalence
   \newcommand  \LEntailEquv      {\lgx{E87A}\relax}              % Long Entailment Equivalence
   \newcommand  \XEntailEquv      {\lgx{E87E}\relax}              % Extra Long Entailment Equivalence
   \newcommand  \VEntailEquv      {\lgx{E8E2}\relax}              % Very Long Entailment Equivalence

   \newcommand  \NotSEquv         {\lgx{E853}\relax}              % Short Not Implication Equivalence
   \newcommand  \NotEquv          {\lgx{E857}\relax}              % Not Implication Equivalence
   \newcommand  \NotLEquv         {\lgx{E85B}\relax}              % Long Not Implication Equivalence
   \newcommand  \NotXEquv         {\lgx{E85F}\relax}              % Extra Long Not Implication Equivalence
   \newcommand  \NotVEquv         {\lgx{E8DB}\relax}              % Very Long Not Implication Equivalence

   \newcommand  \NotSWkEntailEquv {\lgx{E863}\relax}              % Short Not Weak Entailment Equivalence
   \newcommand  \NotWkEntailEquv  {\lgx{E867}\relax}              % Not Weak Entailment Equivalence
   \newcommand  \NotLWkEntailEquv {\lgx{E86B}\relax}              % Long Not Weak Entailment Equivalence
   \newcommand  \NotXWkEntailEquv {\lgx{E86F}\relax}              % Extra Long Not Weak Entailment Equivalence
   \newcommand  \NotVWkEntailEquv {\lgx{E8DF}\relax}              % Very Long Not Weak Entailment Equivalence

   \newcommand  \NotSEntailEquv   {\lgx{E873}\relax}              % Short Not Entailment Equivalence
   \newcommand  \NotEntailEquv    {\lgx{E877}\relax}              % Not Entailment Equivalence
   \newcommand  \NotLEntailEquv   {\lgx{E87B}\relax}              % Long Not Entailment Equivalence
   \newcommand  \NotXEntailEquv   {\lgx{E87F}\relax}              % Extra Long Not Entailment Equivalence
   \newcommand  \NotVEntailEquv   {\lgx{E8E3}\relax}              % Very Long Not Entailment Equivalence

   \newcommand  \Seq              {\lgx{E94C}\relax}              % Sequent
   \newcommand  \Rule             {\lgx{E940}\relax}              % Assertion (Rule)
   \newcommand  \TrpTurn          {\lgx{E94E}\relax}              % Triple Turnstile
   \newcommand  \Model            {\lgx{E942}\relax}              % Model
   \newcommand  \Turn             {\lgx{E944}\relax}              % Turnstile
   \newcommand  \Conseq           {\lgx{E946}\relax}              % Consequence Relation
   \newcommand  \DTrpTurn         {\lgx{E980}\relax}              % Double Bar Triple Turnstile
   \newcommand  \TurnWavy         {\lgx{E908}\relax}              % Wavy Turnstile
   \newcommand  \TurnDWavy        {\lgx{E90A}\relax}              % Double Wavy Turnstile
   \newcommand  \DTurnWavy        {\lgx{E90C}\relax}              % Wavy Double Bar Turnstile
   \newcommand  \DTurnDWavy       {\lgx{E90E}\relax}              % Double Wavy Double Bar Turnstile

   \newcommand  \NotSeq           {\lgx{E96C}\relax}              % Sequent Denied
   \newcommand  \NotRule          {\lgx{E960}\relax}              % Assertion (Rule) Denied
   \newcommand  \NotTrpTurn       {\lgx{E96E}\relax}              % Triple Turnstile Denied
   \newcommand  \NotModel         {\lgx{E962}\relax}              % Model Denied
   \newcommand  \NotTurn          {\lgx{E964}\relax}              % Turnstile Denied
   \newcommand  \NotConseq        {\lgx{E966}\relax}              % Consequence Relation Denied
   \newcommand  \NotDTrpTurn      {\lgx{E982}\relax}              % Double Bar Triple Turnstile Denied
   \newcommand  \NotTurnWavy      {\lgx{E928}\relax}              % Wavy Turnstile Denied
   \newcommand  \NotTurnDWavy     {\lgx{E92A}\relax}              % Double Wavy Turnstile Denied
   \newcommand  \NotDTurnWavy     {\lgx{E92C}\relax}              % Wavy Double Bar Turnstile Denied
   \newcommand  \NotDTurnDWavy    {\lgx{E92E}\relax}              % Double Wavy Double Bar Turnstile Denied

   \newcommand  \DashArrowRight   {\lgx{EA16}\relax}              % Right Dash Arrow
   \newcommand  \DashArrowLeft    {\lgx{EA17}\relax}              % Left Dash Arrow

   \newcommand  \HookArrowRight   {\lgx{EA1C}\relax}              % Right Hook Arrow
   \newcommand  \HookArrowLeft    {\lgx{EA1D}\relax}              % Left Hook Arrow

   \newcommand  \HarpoonUpRight   {\lgx{E98C}\relax}              % Right Harpoon Up Arrow
   \newcommand  \HarpoonUpLeft    {\lgx{E98D}\relax}              % Left Harpoon Up Arrow

   \newcommand  \HarpoonDnRight   {\lgx{E98E}\relax}              % Right Harpoon Down Arrow
   \newcommand  \HarpoonDnLeft    {\lgx{E98F}\relax}              % Left Harpoon Down Arrow

   \newcommand  \FlatArrowRight   {\lgx{EBB8}\relax}              % Right Flat Arrow
   \newcommand  \FlatArrowLeft    {\lgx{EBBA}\relax}              % Left Flat Arrow

   \newcommand  \ForkArrowRight   {\lgx{E9F2}\relax}              % Right Fork Arrow
   \newcommand  \ForkArrowLeft    {\lgx{E9F3}\relax}              % Left Fork Arrow

   \newcommand  \ZigArrowRight    {\lgx{E99C}\relax}              % Right Zig Zag Arrow
   \newcommand  \ZigArrowLeft     {\lgx{E99D}\relax}              % Left Zig Zag Arrow

   \newcommand  \WavyArrowRight   {\lgx{E99E}\relax}              % Right Wavy Arrow
   \newcommand  \WavyArrowLeft    {\lgx{E99F}\relax}              % Left Wavy Arrow

   \newcommand  \LoopArrowRight   {\lgx{EA2E}\relax}              % Right Loop Arrow
   \newcommand  \LoopArrowLeft    {\lgx{EA2F}\relax}              % Left Loop Arrow

   \newcommand  \FishArrowRight   {\lgx{EA1E}\relax}              % Right Fish Arrow
   \newcommand  \FishArrowLeft    {\lgx{EA1F}\relax}              % Left Fish Arrow

   \newcommand  \Nd               {\lgx{E6A0}\relax}              % Bitwise AND operator / Logical Conjunction
   \newcommand  \Or               {\lgx{E6A1}\relax}              % Bitwise OR operator  / Logical Disjunction
   \newcommand  \Nt               {\lgx{E0C0}\relax}              % Bitwise NOT operator / Logical Negation
   \newcommand  \Nand             {\lgx{E6A2}\relax}              % Bitwise NAND operator
   \newcommand  \Nor              {\lgx{E6A3}\relax}              % Bitwise NOR operator
   \newcommand  \Xor              {\lgx{E6A5}\relax}              % Bitwise XOR operator
   \newcommand  \InvNt            {\lgx{E0C1}\relax}              % Inverted Negation
   \newcommand  \Ngt              {\lgx{E64C}\relax}              % Classical Logical Negation
   \newcommand  \Lnand            {\lgx{E9F6}\relax}              % Logical NAND
   \newcommand  \Lnor             {\lgx{E9F7}\relax}              % Logical NOR
   \newcommand  \Shfr             {\lgx{E07F}\relax}              % Sheffer's Stroke (Logical NAND)

   \newcommand  \CircNd           {\lgx{E650}\relax}              % Circled Bitwise AND operator / Logical Conjunction
   \newcommand  \CircOr           {\lgx{E651}\relax}              % Circled Bitwise OR operator  / Logical Disjunction
   \newcommand  \CircNt           {\lgx{E652}\relax}              % Circled Bitwise NOT operator / Logical Negation
   \newcommand  \CircNand         {\lgx{E653}\relax}              % Circled Bitwise NAND operator
   \newcommand  \CircNor          {\lgx{E654}\relax}              % Circled Bitwise NOR operator
   \newcommand  \CircXor          {\lgx{E655}\relax}              % Circled Bitwise XOR operator
   \newcommand  \CircInvNt        {\lgx{E660}\relax}              % Circled Inverted Negation
   \newcommand  \CircNgt          {\lgx{E661}\relax}              % Circled Classical Logical Negation

   \newcommand  \Dnd              {\lgx{E6A6}\relax}              % Dotted AND operator / Logical Conjunction
   \newcommand  \Dor              {\lgx{E6A7}\relax}              % Dotted OR operator  / Logical Disjunction
   \newcommand  \Dnt              {\lgx{E0F0}\relax}              % Dotted NOT operator / Logical Negation
   \newcommand  \DAsterisk        {\lgx{E0E4}\relax}              % Dotted Asterisk
   \newcommand  \DTimes           {\lgx{E0E5}\relax}              % Dotted Times
   \newcommand  \DPlus            {\lgx{E0E6}\relax}              % Dotted Plus
   \newcommand  \DMinus           {\lgx{E0E7}\relax}              % Dotted Minus

   \newcommand  \SbNd             {\lgx{E680}\relax}              % Slanted Bar And
   \newcommand  \SbOr             {\lgx{E681}\relax}              % Slanted Bar Or
   \newcommand  \SbNand           {\lgx{E682}\relax}              % Slanted Bar Nand
   \newcommand  \SbNor            {\lgx{E683}\relax}              % Slanted Bar Nor
   \newcommand  \SbXor            {\lgx{E685}\relax}              % Slanted Bar Xor

   \newcommand  \Defn             {\lgx{E60A}\relax}              % Defines
   \newcommand  \End              {\lgx{E08E}\relax}              % End Law
   \newcommand  \Qed              {\lgx{E08F}\relax}              % Q.E.D.

   \newcommand  \LcgBistab        {\lgx{E068}\relax}              % Logical Bistability
   \newcommand  \BncBistab        {\lgx{E078}\relax}              % Bunch Bistability

   \newcommand  \QuantCon         {\lgx{E891}\relax}              % Quantified Conjunction
   \newcommand  \QuantDis         {\lgx{E890}\relax}              % Quantified Disjuntion
   \newcommand  \ForAll           {\lgx{E8C0}\relax}              % Universal Individual Quantifier
   \newcommand  \Exists           {\lgx{E8C1}\relax}              % Existential Individual Quantifier
   \newcommand  \Unique           {\lgx{E8C2}\relax}              % Unique Existential Individual Quantifier
   \newcommand  \NtExists         {\lgx{E8C3}\relax}              % Existential Individual Quantifier Negation
   \newcommand  \HdnExists        {\lgx{E8C4}\relax}              % Hidden Variable Existential Individual Quantifier
   \newcommand  \HdnForAll        {\lgx{E8C5}\relax}              % Hidden Variable Universal Individual Quantifier
   \newcommand  \BnchForAll       {\lgx{E8D0}\relax}              % Universal Bunch Quantifier
   \newcommand  \BnchExists       {\lgx{E8D1}\relax}              % Existential Bunch Quantifier
   \newcommand  \BnchUnique       {\lgx{E8D2}\relax}              % Unique Existential Bunch Quantifier
   \newcommand  \BnchNtExists     {\lgx{E8D3}\relax}              % Existential Bunch Quantifier Negation
   \newcommand  \BnchHdnExists    {\lgx{E8D4}\relax}              % Hidden Variable Existential Bunch Quantifier
   \newcommand  \BnchHdnForAll    {\lgx{E8D5}\relax}              % Hidden Variable Universal Bunch Quantifier
   \newcommand  \BndMap           {\lgx{E030}\relax}              % Map Abstraction

   \newcommand  \True             {\lgx{E012}\relax}              % True
   \newcommand  \False            {\lgx{E014}\relax}              % False
   \newcommand  \NTrue            {\lgx{E011}\relax}              % Not true
   \newcommand  \NFalse           {\lgx{E015}\relax}              % Not false
   \newcommand  \Top              {\lgx{E017}\relax}              % Lattice / type top
   \newcommand  \TFNone           {\lgx{E010}\relax}              % Neither true nor false
   \newcommand  \TFBoth           {\lgx{E013}\relax}              % Both true and false
   \newcommand  \Bot              {\lgx{E016}\relax}              % Lattice / type  bottom

   \newcommand  \NoSpace          {\lgx{E05A}\relax}              % Zero width space
   \newcommand  \Dt               {\lgx{E098}\relax}              % Dot
   \newcommand  \Coma             {\lgx{E099}\relax}              % Comma
   \newcommand  \Semicln          {\lgx{E09A}\relax}              % Semicolon
   \newcommand  \Cln              {\lgx{E091}\relax}              % Colon
   \newcommand  \Thus             {\lgx{E092}\relax}              % Thus
   \newcommand  \Since            {\lgx{E093}\relax}              % Since
   \newcommand  \VDots            {\lgx{E094}\relax}              % Vertical dots
   \newcommand  \CDots            {\lgx{E096}\relax}              % Centered Horizontal Dots (ellipsis)
   \newcommand  \LDots            {\lgx{E09C}\relax}              % Baseline Horizontal Dots (ellipsis)
   \newcommand  \BndDot           {\lgx{E090}\relax}              % Binding Dot
   \newcommand  \BndBar           {\lgm{E380}\relax}              % Binding Bar
   \newcommand  \BndBarS          {\middle\BndBar\relax}          % Stretchy Binding Bar
   \newcommand  \LngVrtBar        {\lgx{E0EC}\relax}              % Long Vertical Bar
   \newcommand  \Queston          {\lgx{E02C}\relax}              % Question mark
   \newcommand  \Exclaim          {\lgx{E02D}\relax}              % Exclamation point
   \newcommand  \Percnt           {\lgx{E03C}\relax}              % Percent sign
   \newcommand  \Ampersand        {\lgx{E03D}\relax}              % Ampersand
   \newcommand  \Dollar           {\lgx{E05F}\relax}              % Dollar sign
   \newcommand  \At               {\lgx{E03E}\relax}              % At sign
   \newcommand  \Circumflex       {\lgx{E03F}\relax}              % ASCII Circumflex
   \newcommand  \Numbr            {\lgx{E04F}\relax}              % Number sign
   \newcommand  \Underscore       {\lgx{E0AF}\relax}              % Underscore
   \newcommand  \Tild             {\lgx{E06E}\relax}              % Tilde
   \newcommand  \LeftSlash        {\lgx{E103}\relax}              % Left (Back) slash
   \newcommand  \RightSlash       {\lgx{E102}\relax}              % Right (Forward) slash
   \newcommand  \Cpyrght          {\lgx{E06F}\relax}              % Copyright

   \newcommand  \Dagger           {\lgx{E05B}\relax}              % Single dagger
   \newcommand  \Ddagger          {\lgx{E05C}\relax}              % Double horizontal dagger
   \newcommand  \Daggerr          {\lgx{E05D}\relax}              % Double vertical dagger
   \newcommand  \Ddaggerr         {\lgx{E05E}\relax}              % Double horizontal and vertical dagger

   \newcommand  \SingleQuote      {\lgx{E08B}\relax}              % Single quote
   \newcommand  \DoubleQuote      {\lgx{E09B}\relax}              % Double quote
   \newcommand  \TripleQuote      {\lgx{E0AB}\relax}              % Triple quote
   \newcommand  \BackQuote        {\lgx{E09F}\relax}              % Back quote (grave)

   \newcommand  \ShftSuper        {\lgx{EAC3}\relax}              % Shift for superscripts
   \newcommand  \ShftSubscr       {\lgx{EAC4}\relax}              % Shift for subscripts
   \newcommand  \ShftAccent       {\lgx{EAC5}\relax}              % Shift for accents

   \newcommand  \RplcAllBnd       {\lgx{EA20}\relax}              % Replace All Bound Variables (left / right)
   \newcommand  \RplcAllBndRight  {\lgx{E9D4}\relax}              % Replace All Bound Variables (right)
   \newcommand  \RplcAllBndLeft   {\lgx{E9D5}\relax}              % Replace All Bound Variables (left)

   \newcommand  \RplcAll          {\lgx{EA21}\relax}              % Replace All (left / right)
   \newcommand  \RplcAllRight     {\lgx{E9DA}\relax}              % Replace All (right)
   \newcommand  \RplcAllLeft      {\lgx{E9DB}\relax}              % Replace All (left)

   \newcommand  \RplcFree         {\lgx{EA22}\relax}              % Replace Any Free Variables (left / right)
   \newcommand  \RplcFreeRight    {\lgx{E9F0}\relax}              % Replace Any Free Variables (right)
   \newcommand  \RplcFreeLeft     {\lgx{E9F1}\relax}              % Replace Any Free Variables (left)

   \newcommand  \RplcAny          {\lgx{EA23}\relax}              % Replace Any (left / right)
   \newcommand  \RplcAnyRight     {\lgx{E9FA}\relax}              % Replace Any (right)
   \newcommand  \RplcAnyLeft      {\lgx{E9FB}\relax}              % Replace Any (left)

   \newcommand  \RplcEquv         {\lgx{EA24}\relax}              % Replace Equivalent Expressions (left / right)
   \newcommand  \RplcEquvRight    {\lgx{E9F8}\relax}              % Replace Equivalent Expressions (right)
   \newcommand  \RplcEquvLeft     {\lgx{E9F9}\relax}              % Replace Equivalent Expressions (left)

   \newcommand  \LstFix           {\lgx{E031}\relax}              % Least Fixed Point
   \newcommand  \GrtFix           {\lgx{E032}\relax}              % Greatest Fixed Point
   \newcommand  \Choice           {\lgx{E033}\relax}              % Choice
   \newcommand  \Choices          {\lgx{E057}\relax}              % Choices
   \newcommand  \ExLstFix         {\lgx{E034}\relax}              % Extended Least Fixed Point
   \newcommand  \ExGrtFix         {\lgx{E035}\relax}              % Extended Greatest Fixed Point
   \newcommand  \FrstOrd          {\lgx{E039}\relax}              % First Ordinal (omega)
   \newcommand  \Infin            {\lgx{E03A}\relax}              % Infinity

   \newcommand  \Of               {\lgx{E600}\relax}              % Bunch Inclusion
   \newcommand  \In               {\lgx{E602}\relax}              % Set Membership
   \newcommand  \NotIn            {\lgx{E603}\relax}              % Set Membership Negated
   \newcommand  \Owns             {\lgx{E606}\relax}              % Set Owns Element
   \newcommand  \NotOwns          {\lgx{E605}\relax}              % Set Owns Element Negated

   \newcommand  \VoidBunch        {\lgx{E054}\relax}              % Void / Absent Bunch
   \newcommand  \NullSet          {\lgx{E053}\relax}              % Empty / Null Set

   \newcommand  \Nec              {\lgx{E220}\relax}              % Necessity
   \newcommand  \Pos              {\lgx{E222}\relax}              % Possibility
   \newcommand  \Next             {\lgx{E223}\relax}              % Next
   \newcommand  \Futr             {\lgx{E224}\relax}              % Future
   \newcommand  \Past             {\lgx{E225}\relax}              % Past
   \newcommand  \Cont             {\lgx{E226}\relax}              % Contingency
   \newcommand  \NonCont          {\lgx{E227}\relax}              % Non-contingency

   \newcommand  \FacNec           {\lgx{E230}\relax}              % Factual Necessity
   \newcommand  \FacPos           {\lgx{E232}\relax}              % Factual Possibility
   \newcommand  \FacNext          {\lgx{E233}\relax}              % Factual Next
   \newcommand  \FacFutr          {\lgx{E234}\relax}              % Factual Future
   \newcommand  \FacPast          {\lgx{E235}\relax}              % Factual Past
   \newcommand  \FacCont          {\lgx{E236}\relax}              % Factual Contingency
   \newcommand  \FacNonCont       {\lgx{E237}\relax}              % Factual Non-contingency

   \newcommand  \DeoNec           {\lgx{E240}\relax}              % Deontic Necessity
   \newcommand  \DeoPos           {\lgx{E242}\relax}              % Deontic Possibility
   \newcommand  \DeoNext          {\lgx{E243}\relax}              % Deontic Next
   \newcommand  \DeoFutr          {\lgx{E244}\relax}              % Deontic Future
   \newcommand  \DeoPast          {\lgx{E245}\relax}              % Deontic Past
   \newcommand  \DeoCont          {\lgx{E246}\relax}              % Deontic Contingency
   \newcommand  \DeoNonCont       {\lgx{E247}\relax}              % Deontic Non-contingency

   \newcommand  \LogNec           {\lgx{E250}\relax}              % Logical Necessity
   \newcommand  \LogPos           {\lgx{E252}\relax}              % Logical Possibility
   \newcommand  \LogNext          {\lgx{E253}\relax}              % Logical Next
   \newcommand  \LogFutr          {\lgx{E254}\relax}              % Logical Future
   \newcommand  \LogPast          {\lgx{E255}\relax}              % Logical Past
   \newcommand  \LogCont          {\lgx{E256}\relax}              % Logical Contingency
   \newcommand  \LogNonCont       {\lgx{E257}\relax}              % Logical Non-contingency

   \newcommand  \DoxNec           {\lgx{E260}\relax}              % Doxastic Necessity
   \newcommand  \DoxPos           {\lgx{E262}\relax}              % Doxastic Possibility
   \newcommand  \DoxNext          {\lgx{E263}\relax}              % Doxastic Next
   \newcommand  \DoxFutr          {\lgx{E264}\relax}              % Doxastic Future
   \newcommand  \DoxPast          {\lgx{E265}\relax}              % Doxastic Past
   \newcommand  \DoxCont          {\lgx{E266}\relax}              % Doxastic Contingency
   \newcommand  \DoxNonCont       {\lgx{E267}\relax}              % Doxastic Non-contingency

   \newcommand  \TmpNec           {\lgx{E270}\relax}              % Temporal Necessity
   \newcommand  \TmpPos           {\lgx{E272}\relax}              % Temporal Possibility
   \newcommand  \TmpNext          {\lgx{E273}\relax}              % Temporal Next
   \newcommand  \TmpFutr          {\lgx{E274}\relax}              % Temporal Future
   \newcommand  \TmpPast          {\lgx{E275}\relax}              % Temporal Past
   \newcommand  \TmpCont          {\lgx{E276}\relax}              % Temporal Contingency
   \newcommand  \TmpNonCont       {\lgx{E277}\relax}              % Temporal Non-contingency

   \newcommand  \BnchMeet         {\lgx{E710}\relax}              % Bunch Meet
   \newcommand  \BnchJoin         {\lgx{E711}\relax}              % Bunch Join

   \newcommand  \StrctSbnch       {\lgx{E718}\relax}              % Strict Subbunch
   \newcommand  \NotStrctSbnch    {\lgx{E719}\relax}              % Strict Subbunch Negated
   \newcommand  \Sbnch            {\lgx{E71A}\relax}              % Subbunch
   \newcommand  \NotSbnch         {\lgx{E71B}\relax}              % Subbunch Negated

   \newcommand  \StrctWkSbnch     {\lgx{E738}\relax}              % Strict Weak Subbunch
   \newcommand  \NotStrctWkSbnch  {\lgx{E739}\relax}              % Strict Weak Subbunch Negated
   \newcommand  \WkSbnch          {\lgx{E73A}\relax}              % Weak Subbunch
   \newcommand  \NotWkSbnch       {\lgx{E73B}\relax}              % Weak Subbunch Negated

   \newcommand  \MapMeet          {\lgx{E760}\relax}              % Map Meet
   \newcommand  \MapJoin          {\lgx{E761}\relax}              % Map Join

   \newcommand  \VeeMeet          {\lgx{EAF6}\relax}              % Vee Meet
   \newcommand  \VeeJoin          {\lgx{EAF7}\relax}              % Vee Join

   \newcommand  \StrctSbmap       {\lgx{E768}\relax}              % Strict Submap
   \newcommand  \NotStrctSbmap    {\lgx{E769}\relax}              % Strict Submap Negated
   \newcommand  \Sbmap            {\lgx{E76A}\relax}              % Submap
   \newcommand  \NotSbmap         {\lgx{E76B}\relax}              % Submap Negated

   \newcommand  \SetMeet          {\lgx{E790}\relax}              % Set Intersection
   \newcommand  \SetJoin          {\lgx{E791}\relax}              % Set Union
   \newcommand  \Normal           {\lgx{E2E5}\relax}              % Normal Subgroup
   \newcommand  \SetSymDiff       {\lgx{E2E7}\relax}              % Set Symmetric Difference

   \newcommand  \StrctSbset       {\lgx{E798}\relax}              % Strict Subset
   \newcommand  \NotStrctSbset    {\lgx{E799}\relax}              % Strict Subset Negated
   \newcommand  \Sbset            {\lgx{E79A}\relax}              % Subset
   \newcommand  \NotSbset         {\lgx{E79B}\relax}              % Subset Negated
   \newcommand  \Cover            {\lgx{E94D}\relax}              % Cover

   \newcommand  \StrctFntSbset    {\lgx{E678}\relax}              % Strict Finite Subset
   \newcommand  \NotStrctFntSbset {\lgx{E679}\relax}              % Strict Finite Subset Negated
   \newcommand  \FntSbset         {\lgx{E67A}\relax}              % Finite Subset
   \newcommand  \NotFntSbset      {\lgx{E67B}\relax}              % Finite Subset Negated

   \newcommand  \QuantBnchMeet    {\lgx{E895}\relax}              % Bunch Meet Quantifier
   \newcommand  \QuantBnchJoin    {\lgx{E894}\relax}              % Bunch Join Quantifier
   \newcommand  \QuantSetMeet     {\lgx{E893}\relax}              % Set Intersection Quantifier
   \newcommand  \QuantSetJoin     {\lgx{E892}\relax}              % Set Union Quantifier

   \newcommand  \MulMap           {\lgx{E079}\relax}              % Multimap
   \newcommand  \NotMulMap        {\lgx{E07A}\relax}              % Not Multimap
   \newcommand  \MulMapInv        {\lgx{E07B}\relax}              % Inverted Multimap
   \newcommand  \NotMulMapInv     {\lgx{E07C}\relax}              % Not Inverted Multimap
   \newcommand  \MulMapDual       {\lgx{E07D}\relax}              % Dual Multimap
   \newcommand  \NotMulMapDual    {\lgx{E07E}\relax}              % Not Dual Multimap

   \newcommand  \Ls               {\lgx{E6A8}\relax}              % Less Than
   \newcommand  \Lse              {\lgx{E6AA}\relax}              % Less Than or Equal
   \newcommand  \Eq               {\lgx{E656}\relax}              % Equal
   \newcommand  \Sm               {\lgx{E658}\relax}              % Similar
   \newcommand  \Gre              {\lgx{E6AC}\relax}              % Greater Than or Equal
   \newcommand  \Gr               {\lgx{E6AE}\relax}              % Greater Than

   \newcommand  \NotLs            {\lgx{E6A9}\relax}              % Not Less Than
   \newcommand  \NotLse           {\lgx{E6AB}\relax}              % Not Less Than or Equal
   \newcommand  \NotEq            {\lgx{E657}\relax}              % Not Equal
   \newcommand  \NotSm            {\lgx{E659}\relax}              % Not Similar
   \newcommand  \NotGre           {\lgx{E6AD}\relax}              % Not Greater Than or Equal
   \newcommand  \NotGr            {\lgx{E6AF}\relax}              % Not Greater Than

   \newcommand  \CircLs           {\lgx{E6C0}\relax}              % Circled Less Than
   \newcommand  \CircLse          {\lgx{E6C1}\relax}              % Circled Less Than or Equal
   \newcommand  \CircEq           {\lgx{E6C2}\relax}              % Circled Equal
   \newcommand  \CircSm           {\lgx{E6C3}\relax}              % Circled Similar
   \newcommand  \CircGre          {\lgx{E6C4}\relax}              % Circled Greater Than or Equal
   \newcommand  \CircGr           {\lgx{E6C5}\relax}              % Circled Greater Than

   \newcommand  \SmCircPlus       {\lgx{E11B}\relax}              % Small Circled Plus
   \newcommand  \SmCircTimes      {\lgx{E11C}\relax}              % Small Circled Times
   \newcommand  \SmCircStar       {\lgx{E11D}\relax}              % Small Circled Star

   \newcommand  \LgCircPlus       {\lgx{E12B}\relax}              % Large Circled Plus
   \newcommand  \LgCircTimes      {\lgx{E12C}\relax}              % Large Circled Times
   \newcommand  \LgCircStar       {\lgx{E12D}\relax}              % Large Circled Star

   \newcommand  \SCoh             {\lgx{E0F1}\relax}              % Frown
   \newcommand  \SInCoh           {\lgx{E0F2}\relax}              % Smile
   \newcommand  \Coh              {\lgx{E0F3}\relax}              % Smile (bottom) and Frowm (top)
   \newcommand  \InCoh            {\lgx{E0F4}\relax}              % Frown (bottom) and Smile (top)

   \newcommand  \AAnd             {\lgx{E00E}\relax}              % Additive AND
   \newcommand  \Mnd              {\lgx{E293}\relax}              % Multiplicitive AND
   \newcommand  \Aor              {\lgx{E2C3}\relax}              % Additive OR
   \newcommand  \Mor              {\lgx{E00F}\relax}              % Multiplicitive OR
   \newcommand  \OfCrse           {\lgx{E01E}\relax}              % Of Course
   \newcommand  \WhyNot           {\lgx{E01F}\relax}              % Why Not
   \newcommand  \Perp             {\lgx{E0F7}\relax}              % Perp
   \newcommand  \SimPerp          {\lgx{E0F8}\relax}              % Sim Perp

   \newcommand  \QuantAAnd        {\lgx{E0F9}\relax}              % Quantified Additive And
   \newcommand  \QuantMor         {\lgx{E0FA}\relax}              % Quantified Multiplicative Or

   \newcommand  \SbLs             {\lgx{E688}\relax}              % Slanted Bar Less Than
   \newcommand  \SbLse            {\lgx{E68A}\relax}              % Slanted Bar Less Than or Equal
   \newcommand  \SbGr             {\lgx{E68E}\relax}              % Slanted Bar Greater Than
   \newcommand  \SbGre            {\lgx{E68C}\relax}              % Slanted Bar Greater Than or Equal

   \newcommand  \NotSbLs          {\lgx{E689}\relax}              % Slanted Bar Not Less Than
   \newcommand  \NotSbLse         {\lgx{E68B}\relax}              % Slanted Bar Not Less Than or Equal
   \newcommand  \NotSbGr          {\lgx{E68F}\relax}              % Slanted Bar Not Greater Than
   \newcommand  \NotSbGre         {\lgx{E68D}\relax}              % Slanted Bar Not Greater Than or Equal

   \newcommand  \Pre              {\lgx{E6C8}\relax}              % Precedes
   \newcommand  \Preq             {\lgx{E6CA}\relax}              % Precedes or Equal
   \newcommand  \Suc              {\lgx{E6CE}\relax}              % Succeeds
   \newcommand  \Sucq             {\lgx{E6CC}\relax}              % Succeeds or Equal

   \newcommand  \NotPre           {\lgx{E6C9}\relax}              % Not Precedes
   \newcommand  \NotPreq          {\lgx{E6CB}\relax}              % Not Precedes or Equal
   \newcommand  \NotSuc           {\lgx{E6CF}\relax}              % Not Succeeds
   \newcommand  \NotSucq          {\lgx{E6CD}\relax}              % Not Succeeds or Equal

   \newcommand  \Minus            {\lgx{E0C7}\relax}              % Minus
   \newcommand  \Pls              {\lgx{E0C6}\relax}              % Plus
   \newcommand  \PlusMinus        {\lgx{E0CE}\relax}              % Plus / Minus
   \newcommand  \MinusPlus        {\lgx{E0CF}\relax}              % Minus / Plus
   \newcommand  \Asterick         {\lgx{E0C4}\relax}              % Asterick
   \newcommand  \Divide           {\lgx{E102}\relax}              % Divide
   \newcommand  \Divd             {\lgx{E0FB}\relax}              % Divide
   \newcommand  \Times            {\lgx{E0C5}\relax}              % Times

   \newcommand  \CircMinus        {\lgx{E670}\relax}              % Circled Minus
   \newcommand  \CircPls          {\lgx{E671}\relax}              % Circled Plus
   \newcommand  \CircPlusMinus    {\lgx{E672}\relax}              % Circled Plus / Minus
   \newcommand  \CircMinusPlus    {\lgx{E673}\relax}              % Circled Minus / Plus
   \newcommand  \CircAsterick     {\lgx{E674}\relax}              % Circled Asterick
   \newcommand  \CircDivide       {\lgx{E675}\relax}              % Circled Divide
   \newcommand  \CircDivd         {\lgx{E676}\relax}              % Circled Divide
   \newcommand  \CircTimes        {\lgx{E677}\relax}              % Circled Times

   \newcommand  \Append           {\lgx{E0CB}\relax}              % Append
   \newcommand  \Concat           {\lgx{E0CD}\relax}              % Concatenation
   \newcommand  \Catenate         {\lgx{E0C9}\relax}              % Concatenation
   \newcommand  \Alt              {\lgx{E08D}\relax}              % Alternate

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

% Define custom \not mappings.

   \NewNegationCommand  {\ClsImpl}        {\NotClsImpl}
   \NewNegationCommand  {\CksEquv}        {\NotClsEquv}

   \NewNegationCommand  {\SWkMtImpl}      {\NotSWkMtImpl}
   \NewNegationCommand  {\SMtImpl}        {\NotSMtImpl}
   \NewNegationCommand  {\SInImpl}        {\NotSInImpl}
   \NewNegationCommand  {\SWkImpl}        {\NotSWkImpl}
   \NewNegationCommand  {\SImpl}          {\NotSImpl}
   \NewNegationCommand  {\SWkEntail}      {\NotSWkEntail}
   \NewNegationCommand  {\SEntail}        {\NotSEntail}

   \NewNegationCommand  {\WkMtImpl}       {\NotWkMtImpl}
   \NewNegationCommand  {\MtImpl}         {\NotMtImpl}
   \NewNegationCommand  {\InImpl}         {\NotInImpl}
   \NewNegationCommand  {\WkImpl}         {\NotWkImpl}
   \NewNegationCommand  {\Impl}           {\NotImpl}
   \NewNegationCommand  {\WkEntail}       {\NotWkEntail}
   \NewNegationCommand  {\Entail}         {\NotEntail}

   \NewNegationCommand  {\LWkMtImpl}      {\NotLWkMtImpl}
   \NewNegationCommand  {\LMtImpl}        {\NotLMtImpl}
   \NewNegationCommand  {\LInImpl}        {\NotLInImpl}
   \NewNegationCommand  {\LWkImpl}        {\NotLWkImpl}
   \NewNegationCommand  {\LImpl}          {\NotLImpl}
   \NewNegationCommand  {\LWkEntail}      {\NotLWkEntail}
   \NewNegationCommand  {\LEntail}        {\NotLEntail}

   \NewNegationCommand  {\XWkMtImpl}      {\NotXWkMtImpl}
   \NewNegationCommand  {\XMtImpl}        {\NotXMtImpl}
   \NewNegationCommand  {\XInImpl}        {\NotXInImpl}
   \NewNegationCommand  {\XWkImpl}        {\NotXWkImpl}
   \NewNegationCommand  {\XImpl}          {\NotXImpl}
   \NewNegationCommand  {\XWkEntail}      {\NotXWkEntail}
   \NewNegationCommand  {\XEntail}        {\NotXEntail}

   \NewNegationCommand  {\VWkMtImpl}      {\NotVWkMtImpl}
   \NewNegationCommand  {\VMtImpl}        {\NotVMtImpl}
   \NewNegationCommand  {\VInImpl}        {\NotVInImpl}
   \NewNegationCommand  {\VWkImpl}        {\NotVWkImpl}
   \NewNegationCommand  {\VImpl}          {\NotVImpl}
   \NewNegationCommand  {\VWkEntail}      {\NotVWkEntail}
   \NewNegationCommand  {\VEntail}        {\NotVEntail}

   \NewNegationCommand  {\SWkMtEquv}      {\NotSWkMtEquv}
   \NewNegationCommand  {\SMtEquv}        {\NotSMtEquv}
   \NewNegationCommand  {\SInEquv}        {\NotSInEquv}
   \NewNegationCommand  {\SWkEquv}        {\NotSWkEquv}
   \NewNegationCommand  {\SEquv}          {\NotSEquv}
   \NewNegationCommand  {\SWkEntailEquv}  {\NotSWkEntailEquv}
   \NewNegationCommand  {\SEntailEquv}    {\NotSEntailEquv}

   \NewNegationCommand  {\WkMtEquv}       {\NotWkMtEquv}
   \NewNegationCommand  {\MtEquv}         {\NotMtEquv}
   \NewNegationCommand  {\InEquv}         {\NotInEquv}
   \NewNegationCommand  {\WkEquv}         {\NotWkEquv}
   \NewNegationCommand  {\Equv}           {\NotEquv}
   \NewNegationCommand  {\WkEntailEquv}   {\NotWkEntailEquv}
   \NewNegationCommand  {\EntailEquv}     {\NotEntailEquv}

   \NewNegationCommand  {\LWkMtEquv}      {\NotLWkMtEquv}
   \NewNegationCommand  {\LMtEquv}        {\NotLMtEquv}
   \NewNegationCommand  {\LInEquv}        {\NotLInEquv}
   \NewNegationCommand  {\LWkEquv}        {\NotLWkEquv}
   \NewNegationCommand  {\LEquv}          {\NotLEquv}
   \NewNegationCommand  {\LWkEntailEquv}  {\NotLWkEntailEquv}
   \NewNegationCommand  {\LEntailEquv}    {\NotLEntailEquv}

   \NewNegationCommand  {\XWkMtEquv}      {\NotXWkMtEquv}
   \NewNegationCommand  {\XMtEquv}        {\NotXMtEquv}
   \NewNegationCommand  {\XInEquv}        {\NotXInEquv}
   \NewNegationCommand  {\XWkEquv}        {\NotXWkEquv}
   \NewNegationCommand  {\XEquv}          {\NotXEquv}
   \NewNegationCommand  {\XWkEntailEquv}  {\NotXWkEntailEquv}
   \NewNegationCommand  {\XEntailEquv}    {\NotXEntailEquv}

   \NewNegationCommand  {\VWkMtEquv}      {\NotVWkMtEquv}
   \NewNegationCommand  {\VMtEquv}        {\NotVMtEquv}
   \NewNegationCommand  {\VInEquv}        {\NotVInEquv}
   \NewNegationCommand  {\VWkEquv}        {\NotVWkEquv}
   \NewNegationCommand  {\VEquv}          {\NotVEquv}
   \NewNegationCommand  {\VWkEntailEquv}  {\NotVWkEntailEquv}
   \NewNegationCommand  {\VEntailEquv}    {\NotVEntailEquv}

   \NewNegationCommand  {\Seq}            {\NotSeq}
   \NewNegationCommand  {\Rule}           {\NotRule}
   \NewNegationCommand  {\TrpTurn}        {\NotTrpTurn}
   \NewNegationCommand  {\Model}          {\NotModel}
   \NewNegationCommand  {\Turn}           {\NotTurn}
   \NewNegationCommand  {\Conseq}         {\NotConseq}
   \NewNegationCommand  {\DTrpTurn}       {\NotDTrpTurn}

   \NewNegationCommand  {\TurnWavy}       {\NotTurnWavy}
   \NewNegationCommand  {\TurnDWavy}      {\NotTurnDWavy}
   \NewNegationCommand  {\DTurnWavy}      {\NotDTurnWavy}
   \NewNegationCommand  {\DTurnDWavy}     {\NotDTurnDWavy}

   \NewNegationCommand  {\In}             {\NotIn}
   \NewNegationCommand  {\Owns}           {\NotOwns}

   \NewNegationCommand  {\StrctSbnch}     {\NotStrctSbnch}
   \NewNegationCommand  {\Sbnch}          {\NotSbnch}

   \NewNegationCommand  {\StrctWkSbnch}   {\NotStrctWkSbnch}
   \NewNegationCommand  {\WkSbnch}        {\NotWkSbnch}

   \NewNegationCommand  {\StrctSbmap}     {\NotStrctSbmap}
   \NewNegationCommand  {\Sbmap}          {\NotSbmap}

   \NewNegationCommand  {\StrctSbset}     {\NotStrctSbset}
   \NewNegationCommand  {\Sbset}          {\NotSbset}

   \NewNegationCommand  {\StrctFntSbset}  {\NotStrctFntSbset}
   \NewNegationCommand  {\FntSbset}       {\NotFntSbset}

   \NewNegationCommand  {\MulMap}         {\NotMulMap}
   \NewNegationCommand  {\MulMapInv}      {\NotMulMapInv}
   \NewNegationCommand  {\MulMapDual}     {\NotMulMapDual}

   \NewNegationCommand  {\Ls}             {\NotLs}
   \NewNegationCommand  {\Lse}            {\NotLse}
   \NewNegationCommand  {\Eq}             {\NotEq}
   \NewNegationCommand  {\Sm}             {\NotSm}
   \NewNegationCommand  {\Gr}             {\NotGr}
   \NewNegationCommand  {\Gre}            {\NotGre}

   \NewNegationCommand  {\SbLs}           {\NotSbLs}
   \NewNegationCommand  {\SbLse}          {\NotSbLse}
   \NewNegationCommand  {\SbGr}           {\NotSbGr}
   \NewNegationCommand  {\SbGre}          {\NotSbGre}

   \NewNegationCommand  {\Pre}            {\NotPre}
   \NewNegationCommand  {\Preq}           {\NotPreq}
   \NewNegationCommand  {\Suc}            {\NotSuc}
   \NewNegationCommand  {\Sucq}           {\NotSucq}

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

% Define oversized delimiters and their stretchy parts.

   \newcommand    \defineDelimiter[2] {%
\expandafter\def\csname #1A\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "00}}%  Size variant  1
\expandafter\def\csname #1B\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "01}}%  Size variant  2
\expandafter\def\csname #1C\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "02}}%  Size variant  3
\expandafter\def\csname #1D\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "03}}%  Size variant  4
\expandafter\def\csname #1E\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "04}}%  Size variant  5
\expandafter\def\csname #1F\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "05}}%  Size variant  6
\expandafter\def\csname #1G\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "06}}%  Size variant  7
\expandafter\def\csname #1H\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "07}}%  Size variant  8
\expandafter\def\csname #1I\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "08}}%  Size variant  9
\expandafter\def\csname #1J\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "09}}%  Size variant 10
\expandafter\def\csname #1K\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "0A}}%  Size variant 11
\expandafter\def\csname #1L\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "0B}}}% Size variant 12

   \newcommand    \defineDelimiterX[2] {%
\expandafter\def\csname #1M\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "0C}}%  Size variant 13
\expandafter\def\csname #1N\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "0D}}%  Size variant 14
\expandafter\def\csname #1O\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "0E}}%  Size variant 15
\expandafter\def\csname #1P\endcsname{\ensuremath{\Umathchar "0 \symLogix \numexpr "#2 + "0F}}}% Size variant 16

   \defineDelimiter{OpnGrp}         {EBE0}
   \defineDelimiter{ClsGrp}         {EBF0}
   \defineDelimiter{OpnParn}        {EC00}
   \defineDelimiter{ClsParn}        {EC10}
   \defineDelimiter{OpnBrac}        {EC20}
   \defineDelimiter{ClsBrac}        {EC30}
   \defineDelimiter{OpnBrknBrac}    {EC40}
   \defineDelimiter{ClsBrknBrac}    {EC50}
   \defineDelimiter{OpnCircBrac}    {EC60}
   \defineDelimiter{ClsCircBrac}    {EC70}
   \defineDelimiter{OpnArrwBrac}    {EC80}
   \defineDelimiter{ClsArrwBrac}    {EC90}
   \defineDelimiter{OpnBrkt}        {ECA0}
   \defineDelimiter{ClsBrkt}        {ECB0}
   \defineDelimiter{OpnCrlyBrkt}    {ECC0}
   \defineDelimiter{ClsCrlyBrkt}    {ECD0}
   \defineDelimiter{OpnBrknBrkt}    {ECE0}
   \defineDelimiter{ClsBrknBrkt}    {ECF0}
   \defineDelimiter{OpnCircBrkt}    {ED00}
   \defineDelimiter{ClsCircBrkt}    {ED10}
   \defineDelimiter{OpnTortoise}    {ED20}
   \defineDelimiter{ClsTortoise}    {ED30}
   \defineDelimiter{OpnAngl}        {ED40}
   \defineDelimiterX{OpnAngl}       {ED40}
   \defineDelimiter{ClsAngl}        {ED50}
   \defineDelimiterX{ClsAngl}       {ED50}
   \defineDelimiter{OpnCurvAngl}    {ED60}
   \defineDelimiterX{OpnCurvAngl}   {ED60}
   \defineDelimiter{ClsCurvAngl}    {ED70}
   \defineDelimiterX{ClsCurvAngl}   {ED70}
   \defineDelimiter{OpnDblBrac}     {ED80}
   \defineDelimiter{ClsDblBrac}     {ED90}
   \defineDelimiter{OpnDblAngl}     {EDA0}
   \defineDelimiterX{OpnDblAngl}    {EDA0}
   \defineDelimiter{ClsDblAngl}     {EDB0}
   \defineDelimiterX{ClsDblAngl}    {EDB0}
   \defineDelimiter{OpnSqrParn}     {EDC0}
   \defineDelimiter{ClsSqrParn}     {EDD0}
   \defineDelimiter{OpnParnBar}     {EDE0}
   \defineDelimiter{ClsParnBar}     {EDF0}
   \defineDelimiter{OpnBracBar}     {EE00}
   \defineDelimiter{ClsBracBar}     {EE10}
   \defineDelimiter{OpnBrknBracBar} {EE20}
   \defineDelimiter{ClsBrknBracBar} {EE30}
   \defineDelimiter{OpnCircBracBar} {EE40}
   \defineDelimiter{ClsCircBracBar} {EE50}
   \defineDelimiter{OpnBrktBar}     {EE60}
   \defineDelimiter{ClsBrktBar}     {EE70}
   \defineDelimiter{OpnCrlyBrktBar} {EE80}
   \defineDelimiter{ClsCrlyBrktBar} {EE90}
   \defineDelimiter{OpnBrknBrktBar} {EEA0}
   \defineDelimiter{ClsBrknBrktBar} {EEB0}
   \defineDelimiter{OpnCircBrktBar} {EEC0}
   \defineDelimiter{ClsCircBrktBar} {EED0}
   \defineDelimiter{OpnCeil}        {EEE0}
   \defineDelimiter{ClsCeil}        {EEF0}
   \defineDelimiter{OpnFloor}       {EF00}
   \defineDelimiter{ClsFloor}       {EF10}
   \defineDelimiter{OpnTurn}        {EF20}
   \defineDelimiter{ClsTurn}        {EF30}
   \defineDelimiter{OpnBar}         {EF40}
   \defineDelimiter{ClsBar}         {EF50}
   \defineDelimiter{BndBar}         {EF60}
   \defineDelimiter{OpnTortoiseBar} {EF70}
   \defineDelimiter{ClsTortoiseBar} {EF80}
   \defineDelimiter{OpnAnglBar}     {EF90}
   \defineDelimiterX{OpnAnglBar}    {EF90}
   \defineDelimiter{ClsAnglBar}     {EFA0}
   \defineDelimiterX{ClsAnglBar}    {EFA0}
   \defineDelimiter{OpnDblParn}     {F000}
   \defineDelimiter{ClsDblParn}     {F010}
   \defineDelimiter{OpnDblGrp}      {F020}
   \defineDelimiter{ClsDblGrp}      {F080}
   \defineDelimiter{OpnDblBar}      {F090}
   \defineDelimiter{ClsDblBar}      {F0A0}
   \defineDelimiter{OpnTrpBar}      {F100}
   \defineDelimiter{ClsTrpBar}      {F110}
   \defineDelimiter{OpnDblCeil}     {F180}
   \defineDelimiter{ClsDblCeil}     {F1A0}
   \defineDelimiter{OpnDblFloor}    {F190}
   \defineDelimiter{ClsDblFloor}    {F200}


   \newcommand  \OpnGrpBtm          {\lgx{EBEC}}  % OpnGrp bottom
   \newcommand  \OpnGrpExt          {\lgx{EBED}}  % OpnGrp extender
   \newcommand  \OpnGrpTop          {\lgx{EBEE}}  % OpnGrp top

   \newcommand  \ClsGrpBtm          {\lgx{EBFC}}  % ClsGrp bottom
   \newcommand  \ClsGrpExt          {\lgx{EBFD}}  % ClsGrp extender
   \newcommand  \ClsGrpTop          {\lgx{EBFE}}  % ClsGrp top

   \newcommand  \OpnParnBtm         {\lgx{EC0C}}  % OpnParn bottom
   \newcommand  \OpnParnExt         {\lgx{EC0D}}  % OpnParn extender
   \newcommand  \OpnParnTop         {\lgx{EC0E}}  % OpnParn top

   \newcommand  \ClsParnBtm         {\lgx{EC1C}}  % ClsParn bottom
   \newcommand  \ClsParnExt         {\lgx{EC1D}}  % ClsParn extender
   \newcommand  \ClsParnTop         {\lgx{EC1E}}  % ClsParn top

   \newcommand  \OpnBracBtm         {\lgx{EC2C}}  % OpnBrac bottom
   \newcommand  \OpnBracExt         {\lgx{EC2D}}  % OpnBrac extender
   \newcommand  \OpnBracMid         {\lgx{EC2E}}  % OpnBrac middle
   \newcommand  \OpnBracTop         {\lgx{EC2F}}  % OpnBrac top

   \newcommand  \ClsBracBtm         {\lgx{EC3C}}  % ClsBrac bottom
   \newcommand  \ClsBracExt         {\lgx{EC3D}}  % ClsBrac extender
   \newcommand  \ClsBracMid         {\lgx{EC3E}}  % ClsBrac middle
   \newcommand  \ClsBracTop         {\lgx{EC3F}}  % ClsBrac top

   \newcommand  \OpnBrknBracBtm     {\lgx{EC4C}}  % OpnBrknBrac bottom
   \newcommand  \OpnBrknBracExt     {\lgx{EC4D}}  % OpnBrknBrac extender
   \newcommand  \OpnBrknBracMid     {\lgx{EC4E}}  % OpnBrknBrac middle
   \newcommand  \OpnBrknBracTop     {\lgx{EC4F}}  % OpnBrknBrac top

   \newcommand  \ClsBrknBracBtm     {\lgx{EC5C}}  % ClsBrknBrac bottom
   \newcommand  \ClsBrknBracExt     {\lgx{EC5D}}  % ClsBrknBrac extender
   \newcommand  \ClsBrknBracMid     {\lgx{EC5E}}  % ClsBrknBrac middle
   \newcommand  \ClsBrknBracTop     {\lgx{EC5F}}  % ClsBrknBrac top

   \newcommand  \OpnCircBracBtm     {\lgx{EC6C}}  % OpnCircBrac bottom
   \newcommand  \OpnCircBracExt     {\lgx{EC6D}}  % OpnCircBrac extender
   \newcommand  \OpnCircBracMid     {\lgx{EC6E}}  % OpnCircBrac middle
   \newcommand  \OpnCircBracTop     {\lgx{EC6F}}  % OpnCircBrac top

   \newcommand  \ClsCircBracBtm     {\lgx{EC7C}}  % ClsCircBrac bottom
   \newcommand  \ClsCircBracExt     {\lgx{EC7D}}  % ClsCircBrac extender
   \newcommand  \ClsCircBracMid     {\lgx{EC7E}}  % ClsCircBrac middle
   \newcommand  \ClsCircBracTop     {\lgx{EC7F}}  % ClsCircBrac top

   \newcommand  \OpnArrwBracBtm     {\lgx{EC8C}}  % OpnArrwBrac bottom
   \newcommand  \OpnArrwBracExt     {\lgx{EC8D}}  % OpnArrwBrac extender
   \newcommand  \OpnArrwBracMid     {\lgx{EC8E}}  % OpnArrwBrac middle
   \newcommand  \OpnArrwBracTop     {\lgx{EC8F}}  % OpnArrwBrac top

   \newcommand  \ClsArrwBracBtm     {\lgx{EC9C}}  % ClsArrwBrac bottom
   \newcommand  \ClsArrwBracExt     {\lgx{EC9D}}  % ClsArrwBrac extender
   \newcommand  \ClsArrwBracMid     {\lgx{EC9E}}  % ClsArrwBrac middle
   \newcommand  \ClsArrwBracTop     {\lgx{EC9F}}  % ClsArrwBrac top

   \newcommand  \OpnBrktBtm         {\lgx{ECAC}}  % OpnBrkt bottom
   \newcommand  \OpnBrktExt         {\lgx{ECAD}}  % OpnBrkt extender
   \newcommand  \OpnBrktTop         {\lgx{ECAE}}  % OpnBrkt top

   \newcommand  \ClsBrktBtm         {\lgx{ECBC}}  % ClsBrkt bottom
   \newcommand  \ClsBrktExt         {\lgx{ECBD}}  % ClsBrkt extender
   \newcommand  \ClsBrktTop         {\lgx{ECBE}}  % ClsBrkt top

   \newcommand  \OpnCrlyBrktBtm     {\lgx{ECCC}}  % OpnCrlyBrkt bottom
   \newcommand  \OpnCrlyBrktExt     {\lgx{ECCD}}  % OpnCrlyBrkt extender
   \newcommand  \OpnCrlyBrktMid     {\lgx{ECCE}}  % OpnCrlyBrkt middle
   \newcommand  \OpnCrlyBrktTop     {\lgx{ECCF}}  % OpnCrlyBrkt top

   \newcommand  \ClsCrlyBrktBtm     {\lgx{ECDC}}  % ClsCrlyBrkt bottom
   \newcommand  \ClsCrlyBrktExt     {\lgx{ECDD}}  % ClsCrlyBrkt extender
   \newcommand  \ClsCrlyBrktMid     {\lgx{ECDE}}  % ClsCrlyBrkt middle
   \newcommand  \ClsCrlyBrktTop     {\lgx{ECDF}}  % ClsCrlyBrkt top

   \newcommand  \OpnBrknBrktBtm     {\lgx{ECEC}}  % OpnBrknBrkt bottom
   \newcommand  \OpnBrknBrktExt     {\lgx{ECED}}  % OpnBrknBrkt extender
   \newcommand  \OpnBrknBrktMid     {\lgx{ECEE}}  % OpnBrknBrkt middle
   \newcommand  \OpnBrknBrktTop     {\lgx{ECEF}}  % OpnBrknBrkt top

   \newcommand  \ClsBrknBrktBtm     {\lgx{ECFC}}  % ClsBrknBrkt bottom
   \newcommand  \ClsBrknBrktExt     {\lgx{ECFD}}  % ClsBrknBrkt extender
   \newcommand  \ClsBrknBrktMid     {\lgx{ECFE}}  % ClsBrknBrkt middle
   \newcommand  \ClsBrknBrktTop     {\lgx{ECFF}}  % ClsBrknBrkt top

   \newcommand  \OpnCircBrktBtm     {\lgx{ED0C}}  % OpnCircBrkt bottom
   \newcommand  \OpnCircBrktExt     {\lgx{ED0D}}  % OpnCircBrkt extender
   \newcommand  \OpnCircBrktMid     {\lgx{ED0E}}  % OpnCircBrkt middle
   \newcommand  \OpnCircBrktTop     {\lgx{ED0F}}  % OpnCircBrkt top

   \newcommand  \ClsCircBrktBtm     {\lgx{ED1C}}  % ClsCircBrkt bottom
   \newcommand  \ClsCircBrktExt     {\lgx{ED1D}}  % ClsCircBrkt extender
   \newcommand  \ClsCircBrktMid     {\lgx{ED1E}}  % ClsCircBrkt middle
   \newcommand  \ClsCircBrktTop     {\lgx{ED1F}}  % ClsCircBrkt top

   \newcommand  \OpnTortoiseBtm     {\lgx{ED2C}}  % OpnTortoise bottom
   \newcommand  \OpnTortoiseExt     {\lgx{ED2D}}  % OpnTortoise extender
   \newcommand  \OpnTortoiseTop     {\lgx{ED2E}}  % OpnTortoise top

   \newcommand  \ClsTortoiseBtm     {\lgx{ED3C}}  % ClsTortoise bottom
   \newcommand  \ClsTortoiseExt     {\lgx{ED3D}}  % ClsTortoise extender
   \newcommand  \ClsTortoiseTop     {\lgx{ED3E}}  % ClsTortoise top

   \newcommand  \OpnDblBracBtm      {\lgx{ED8C}}  % OpnDblBrac bottom
   \newcommand  \OpnDblBracExt      {\lgx{ED8D}}  % OpnDblBrac extender
   \newcommand  \OpnDblBracMid      {\lgx{ED8E}}  % OpnDblBrac middle
   \newcommand  \OpnDblBracTop      {\lgx{ED8F}}  % OpnDblBrac top

   \newcommand  \ClsDblBracBtm      {\lgx{ED9C}}  % ClsDblBrac bottom
   \newcommand  \ClsDblBracExt      {\lgx{ED9D}}  % ClsDblBrac extender
   \newcommand  \ClsDblBracMid      {\lgx{ED9E}}  % ClsDblBrac middle
   \newcommand  \ClsDblBracTop      {\lgx{ED9F}}  % ClsDblBrac top

   \newcommand  \OpnSqrParnBtm      {\lgx{EDCC}}  % OpnSqrParn bottom
   \newcommand  \OpnSqrParnExt      {\lgx{EDCD}}  % OpnSqrParn extender
   \newcommand  \OpnSqrParnTop      {\lgx{EDCE}}  % OpnSqrParn top

   \newcommand  \ClsSqrParnBtm      {\lgx{EDDC}}  % ClsSqrParn bottom
   \newcommand  \ClsSqrParnExt      {\lgx{EDDD}}  % ClsSqrParn extender
   \newcommand  \ClsSqrParnTop      {\lgx{EDDE}}  % ClsSqrParn top

   \newcommand  \OpnParnBarBtm      {\lgx{EDEC}}  % OpnParnBar bottom
   \newcommand  \OpnParnBarExt      {\lgx{EDED}}  % OpnParnBar extender
   \newcommand  \OpnParnBarTop      {\lgx{EDEE}}  % OpnParnBar top

   \newcommand  \ClsParnBarBtm      {\lgx{EDFC}}  % ClsParnBar bottom
   \newcommand  \ClsParnBarExt      {\lgx{EDFD}}  % ClsParnBar extender
   \newcommand  \ClsParnBarTop      {\lgx{EDFE}}  % ClsParnBar top

   \newcommand  \OpnBracBarBtm      {\lgx{EE0C}}  % OpnBracBar bottom
   \newcommand  \OpnBracBarExt      {\lgx{EE0D}}  % OpnBracBar extender
   \newcommand  \OpnBracBarMid      {\lgx{EE0E}}  % OpnBracBar middle
   \newcommand  \OpnBracBarTop      {\lgx{EE0F}}  % OpnBracBar top

   \newcommand  \ClsBracBarBtm      {\lgx{EE1C}}  % ClsBracBar bottom
   \newcommand  \ClsBracBarExt      {\lgx{EE1D}}  % ClsBracBar extender
   \newcommand  \ClsBracBarMid      {\lgx{EE1E}}  % ClsBracBar middle
   \newcommand  \ClsBracBarTop      {\lgx{EE1F}}  % ClsBracBar top

   \newcommand  \OpnBrknBracBarBtm  {\lgx{EE2C}}  % OpnBrknBracBar bottom
   \newcommand  \OpnBrknBracBarExt  {\lgx{EE2D}}  % OpnBrknBracBar extender
   \newcommand  \OpnBrknBracBarMid  {\lgx{EE2E}}  % OpnBrknBracBar middle
   \newcommand  \OpnBrknBracBarTop  {\lgx{EE2F}}  % OpnBrknBracBar top

   \newcommand  \ClsBrknBracBarBtm  {\lgx{EE3C}}  % ClsBrknBracBar bottom
   \newcommand  \ClsBrknBracBarExt  {\lgx{EE3D}}  % ClsBrknBracBar extender
   \newcommand  \ClsBrknBracBarMid  {\lgx{EE3E}}  % ClsBrknBracBar middle
   \newcommand  \ClsBrknBracBarTop  {\lgx{EE3F}}  % ClsBrknBracBar top

   \newcommand  \OpnCircBracBarBtm  {\lgx{EE4C}}  % OpnCircBracBar bottom
   \newcommand  \OpnCircBracBarExt  {\lgx{EE4D}}  % OpnCircBracBar extender
   \newcommand  \OpnCircBracBarMid  {\lgx{EE4E}}  % OpnCircBracBar middle
   \newcommand  \OpnCircBracBarTop  {\lgx{EE4F}}  % OpnCircBracBar top

   \newcommand  \ClsCircBracBarBtm  {\lgx{EE5C}}  % ClsCircBracBar bottom
   \newcommand  \ClsCircBracBarExt  {\lgx{EE5D}}  % ClsCircBracBar extender
   \newcommand  \ClsCircBracBarMid  {\lgx{EE5E}}  % ClsCircBracBar middle
   \newcommand  \ClsCircBracBarTop  {\lgx{EE5F}}  % ClsCircBracBar top

   \newcommand  \OpnBrktBarBtm      {\lgx{EE6C}}  % OpnBrktBar bottom
   \newcommand  \OpnBrktBarExt      {\lgx{EE6D}}  % OpnBrktBar extender
   \newcommand  \OpnBrktBarTop      {\lgx{EE6E}}  % OpnBrktBar top

   \newcommand  \ClsBrktBarBtm      {\lgx{EE7C}}  % ClsBrktBar bottom
   \newcommand  \ClsBrktBarExt      {\lgx{EE7D}}  % ClsBrktBar extender
   \newcommand  \ClsBrktBarTop      {\lgx{EE7E}}  % ClsBrktBar top

   \newcommand  \OpnCrlyBrktBarBtm  {\lgx{EE8C}}  % OpnCrlyBrktBar bottom
   \newcommand  \OpnCrlyBrktBarExt  {\lgx{EE8D}}  % OpnCrlyBrktBar extender
   \newcommand  \OpnCrlyBrktBarMid  {\lgx{EE8E}}  % OpnCrlyBrktBar middle
   \newcommand  \OpnCrlyBrktBarTop  {\lgx{EE8F}}  % OpnCrlyBrktBar top

   \newcommand  \ClsCrlyBrktBarBtm  {\lgx{EE9C}}  % ClsCrlyBrktBar bottom
   \newcommand  \ClsCrlyBrktBarExt  {\lgx{EE9D}}  % ClsCrlyBrktBar extender
   \newcommand  \ClsCrlyBrktBarMid  {\lgx{EE9E}}  % ClsCrlyBrktBar middle
   \newcommand  \ClsCrlyBrktBarTop  {\lgx{EE9F}}  % ClsCrlyBrktBar top

   \newcommand  \OpnBrknBrktBarBtm  {\lgx{EEAC}}  % OpnBrknBrktBar bottom
   \newcommand  \OpnBrknBrktBarExt  {\lgx{EEAD}}  % OpnBrknBrktBar extender
   \newcommand  \OpnBrknBrktBarMid  {\lgx{EEAE}}  % OpnBrknBrktBar middle
   \newcommand  \OpnBrknBrktBarTop  {\lgx{EEAF}}  % OpnBrknBrktBar top

   \newcommand  \ClsBrknBrktBarBtm  {\lgx{EEBC}}  % ClsBrknBrktBar bottom
   \newcommand  \ClsBrknBrktBarExt  {\lgx{EEBD}}  % ClsBrknBrktBar extender
   \newcommand  \ClsBrknBrktBarMid  {\lgx{EEBE}}  % ClsBrknBrktBar middle
   \newcommand  \ClsBrknBrktBarTop  {\lgx{EEBF}}  % ClsBrknBrktBar top

   \newcommand  \OpnCircBrktBarBtm  {\lgx{EECC}}  % OpnCircBrktBar bottom
   \newcommand  \OpnCircBrktBarExt  {\lgx{EECD}}  % OpnCircBrktBar extender
   \newcommand  \OpnCircBrktBarMid  {\lgx{EECE}}  % OpnCircBrktBar middle
   \newcommand  \OpnCircBrktBarTop  {\lgx{EECF}}  % OpnCircBrktBar top

   \newcommand  \ClsCircBrktBarBtm  {\lgx{EEDC}}  % ClsCircBrktBar bottom
   \newcommand  \ClsCircBrktBarExt  {\lgx{EEDD}}  % ClsCircBrktBar extender
   \newcommand  \ClsCircBrktBarMid  {\lgx{EEDE}}  % ClsCircBrktBar middle
   \newcommand  \ClsCircBrktBarTop  {\lgx{EEDF}}  % ClsCircBrktBar top

   \newcommand  \OpnCeilExt         {\lgx{EEEC}}  % OpnCeil extender
   \newcommand  \OpnCeilTop         {\lgx{EEED}}  % OpnCeil top

   \newcommand  \ClsCeilExt         {\lgx{EEFC}}  % ClsCeil extender
   \newcommand  \ClsCeilTop         {\lgx{EEFD}}  % ClsCeil top

   \newcommand  \OpnFloorBtm        {\lgx{EF0C}}  % OpnFloor bottom
   \newcommand  \OpnFloorExt        {\lgx{EF0D}}  % OpnFloor extender

   \newcommand  \ClsFloorBtm        {\lgx{EF1C}}  % ClsFloor bottom
   \newcommand  \ClsFloorExt        {\lgx{EF1D}}  % ClsFloor extender

   \newcommand  \OpnTurnMid         {\lgx{EF2C}}  % OpnTurn middle
   \newcommand  \OpnTurnExt         {\lgx{EF2D}}  % OpnTurn extender

   \newcommand  \ClsTurnMid         {\lgx{EF3C}}  % ClsTurn middle
   \newcommand  \ClsTurnExt         {\lgx{EF3D}}  % ClsTurn extender

   \newcommand  \OpnBarBtm          {\lgx{EF4C}}  % OpnBar bottom
   \newcommand  \OpnBarExt          {\lgx{EF4D}}  % OpnBar extender

   \newcommand  \ClsBarBtm          {\lgx{EF5C}}  % ClsBar bottom
   \newcommand  \ClsBarExt          {\lgx{EF5D}}  % ClsBar extender

   \newcommand  \BndBarBtm          {\lgx{EF6C}}  % BndBar bottom
   \newcommand  \BndBarExt          {\lgx{EF6D}}  % BndBar extender

   \newcommand  \OpnTortoiseBarBtm  {\lgx{EF7C}}  % OpnTortoiseBar bottom
   \newcommand  \OpnTortoiseBarExt  {\lgx{EF7D}}  % OpnTortoiseBar extender
   \newcommand  \OpnTortoiseBarTop  {\lgx{EF7E}}  % OpnTortoiseBar top

   \newcommand  \ClsTortoiseBarBtm  {\lgx{EF8C}}  % ClsTortoiseBar bottom
   \newcommand  \ClsTortoiseBarExt  {\lgx{EF8D}}  % ClsTortoiseBar extender
   \newcommand  \ClsTortoiseBarTop  {\lgx{EF8E}}  % ClsTortoiseBar top

   \newcommand  \OpnDblParnBtm      {\lgx{F00C}}  % OpnDblParn bottom
   \newcommand  \OpnDblParnExt      {\lgx{F00D}}  % OpnDblParn extender
   \newcommand  \OpnDblParnTop      {\lgx{F00E}}  % OpnDblParn top

   \newcommand  \ClsDblParnBtm      {\lgx{F01C}}  % ClsDblParn bottom
   \newcommand  \ClsDblParnExt      {\lgx{F01D}}  % ClsDblParn extender
   \newcommand  \ClsDblParnTop      {\lgx{F01E}}  % ClsDblParn top

   \newcommand  \OpnDblGrpBtm       {\lgx{F02C}}  % OpnDblGrp bottom
   \newcommand  \OpnDblGrpExt       {\lgx{F02D}}  % OpnDblGrp extender
   \newcommand  \OpnDblGrpTop       {\lgx{F02E}}  % OpnDblGrp top

   \newcommand  \ClsDblGrpBtm       {\lgx{F08C}}  % ClsDblGrp bottom
   \newcommand  \ClsDblGrpExt       {\lgx{F08D}}  % ClsDblGrp extender
   \newcommand  \ClsDblGrpTop       {\lgx{F08E}}  % ClsDblGrp top

   \newcommand  \OpnDblBarBtm       {\lgx{F09C}}  % OpnDblBar bottom
   \newcommand  \OpnDblBarExt       {\lgx{F09D}}  % OpnDblBar extender

   \newcommand  \ClsDblBarBtm       {\lgx{F0AC}}  % ClsDblBar bottom
   \newcommand  \ClsDblBarExt       {\lgx{F0AD}}  % ClsDblBar extender

   \newcommand  \OpnTrpBarBtm       {\lgx{F10C}}  % OpnTrpBar bottom
   \newcommand  \OpnTrpBarExt       {\lgx{F10D}}  % OpnTrpBar extender

   \newcommand  \ClsTrpBarBtm       {\lgx{F11C}}  % ClsTrpBar bottom
   \newcommand  \ClsTrpBarExt       {\lgx{F11D}}  % ClsTrpBar extender

   \newcommand  \OpnDblCeilExt      {\lgx{F18C}}  % OpnDblCeil extender
   \newcommand  \OpnDblCeilTop      {\lgx{F18D}}  % OpnDblCeil top
                       
   \newcommand  \ClsDblCeilExt      {\lgx{F1AC}}  % ClsDblCeil extender
   \newcommand  \ClsDblCeilTop      {\lgx{F1AD}}  % ClsDblCeil top
                       
   \newcommand  \OpnDblFloorBtm     {\lgx{F19C}}  % OpnDblFloor bottom
   \newcommand  \OpnDblFloorExt     {\lgx{F19D}}  % OpnDblFloor extender
                       
   \newcommand  \ClsDblFloorBtm     {\lgx{F20C}}  % ClsDblFloor bottom
   \newcommand  \ClsDblFloorExt     {\lgx{F20D}}  % ClsDblFloor extender

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

%
%    Define symbols which may be used to construct Rational Links, Knots and Tangles.
% In order to keep names shortish, the following abbreviations are used for Knot symbols
%
%    A - Arrow
%    B - Bottom
%    C - Cap / Corner
%    D - Dashed / Down
%    E - Three quarter
%    F - halF
%    H - Horizontal
%    J - Join
%    L - Left
%    M - sMoothed
%    N - liNe / Normal
%    O - Over
%    Q - Fourth / Quarter
%    R - Right
%    S - Solid
%    T - Top
%    U - Under / Up
%    V - Vertical
%    X - Cross
%    Z - Zero
%
%    All symbols starting with Knt have their depth and height set identically
% so that when aligned on their baselines, TeX sees their dimensions as the
% same. This allows consistent vertical alignment. The \KntXY struts / spaces
% are designed so that their depth and height matches that of the corresponding
% symbols where X is the height and Y is the width (N, E, F, Q, or Z). They can
% be used for empty cells matching the the width and height of the current row
% and column and for padding a symbol.
%
%    The \KntlgX macros (where X is one of k, e, f, q or v) may be used to force
% a specific height for a symbol.
%

   \newcommand  \lgk[1]           {\protect\raisebox{0.0000em}[0.7620em][0.2380em]{\ensuremath{\Umathchar "0 \symLogix "#1}}}
   \newcommand  \lge[1]           {\protect\raisebox{0.0000em}[0.5120em][0.2380em]{\ensuremath{\Umathchar "0 \symLogix "#1}}}
   \newcommand  \lgf[1]           {\protect\raisebox{0.0000em}[0.2620em][0.2380em]{\ensuremath{\Umathchar "0 \symLogix "#1}}}
   \newcommand  \lgq[1]           {\protect\raisebox{0.0000em}[0.0120em][0.2380em]{\ensuremath{\Umathchar "0 \symLogix "#1}}}
   \newcommand  \lgv[1]           {\protect\raisebox{0.4330em}[0.7620em][0.2380em]{\ensuremath{\Umathchar "0 \symLogix "#1}}}

   \newcommand  \Kntlgk[1]        {\protect\raisebox{0.0000em}[0.7620em][0.2380em]{#1}}
   \newcommand  \Kntlge[1]        {\protect\raisebox{0.0000em}[0.5120em][0.2380em]{#1}}
   \newcommand  \Kntlgf[1]        {\protect\raisebox{0.0000em}[0.2620em][0.2380em]{#1}}
   \newcommand  \Kntlgq[1]        {\protect\raisebox{0.0000em}[0.0120em][0.2380em]{#1}}
   \newcommand  \Kntlgv[1]        {\protect\raisebox{0.4330em}[0.7620em][0.2380em]{#1}}

   \newcommand  \KntNN            {\lgk{E210}}                       % Full height, full width space.
   \newcommand  \KntNE            {\lgk{E211}}                       % Full height, three quarter width space.
   \newcommand  \KntNF            {\lgk{E212}}                       % Full height, half width space.
   \newcommand  \KntNQ            {\lgk{E213}}                       % Full height, quarter width space.
   \newcommand  \KntNZ            {\rule[-0.238em]{0pt}{1.000em}}    % Full height, zero width strut.

   \newcommand  \KntEN            {\lge{E210}}                       % Three quarter height, full width space.
   \newcommand  \KntEE            {\lge{E211}}                       % Three quarter height, three quarter width space.
   \newcommand  \KntEF            {\lge{E212}}                       % Three quarter height, half width space.
   \newcommand  \KntEQ            {\lge{E213}}                       % Three quarter height, quarter width space.
   \newcommand  \KntEZ            {\rule[-0.238em]{0pt}{0.750em}}    % Three quarter height, zero width strut.

   \newcommand  \KntFN            {\lgf{E210}}                       % Half height, full width space.
   \newcommand  \KntFE            {\lgf{E211}}                       % Half height, three quarter width space.
   \newcommand  \KntFF            {\lgf{E212}}                       % Half height, half width space.
   \newcommand  \KntFQ            {\lgf{E213}}                       % Half height, quarter width space.
   \newcommand  \KntFZ            {\rule[-0.238em]{0pt}{0.500em}}    % Half height, zero width strut.

   \newcommand  \KntQN            {\lgq{E210}}                       % Quarter height, full width space.
   \newcommand  \KntQE            {\lgq{E211}}                       % Quarter height, three quarter width space.
   \newcommand  \KntQF            {\lgq{E212}}                       % Quarter height, half width space.
   \newcommand  \KntQQ            {\lgq{E213}}                       % Quarter height, quarter width space.
   \newcommand  \KntQZ            {\rule[-0.238em]{0pt}{0.250em}}    % Quarter height, zero width strut.

   \newcommand  \KntZN            {\rule[0pt]{1.000em}{0pt}}         % Zero height, full width strut.
   \newcommand  \KntZE            {\rule[0pt]{0.750em}{0pt}}         % Zero height, three quarter width strut.
   \newcommand  \KntZF            {\rule[0pt]{0.500em}{0pt}}         % Zero height, half width width strut.
   \newcommand  \KntZQ            {\rule[0pt]{0.250em}{0pt}}         % Zero height, quarter width strut.
   \newcommand  \KntZZ            {\rule[0pt]{0.000em}{0pt}}         % Zero height, zero width strut.

   \newcommand  \KntHDASH         {\lgk{E13E}}  % Horizontal bar with vertical dash
   \newcommand  \KntVDASH         {\lgk{E13F}}  % Vertical bar with horizontal dash

   \newcommand  \KntHXSOSU        {\lgk{E140}}  % Horizontal flow, Cross, solid over, solid under
   \newcommand  \KntHXSUSO        {\lgk{E141}}  % Horizontal flow, Cross, solid under, solid over
   \newcommand  \KntVXSOSU        {\lgk{E142}}  % Vertical flow, Cross, solid over, solid under
   \newcommand  \KntVXSUSO        {\lgk{E143}}  % Vertical flow, Cross, solid under, solid over
   \newcommand  \KntHXDOSU        {\lgk{E144}}  % Horizontal flow, Cross, dashed over, solid under
   \newcommand  \KntHXSUDO        {\lgk{E145}}  % Horizontal flow, Cross, solid under, dashed over
   \newcommand  \KntVXDOSU        {\lgk{E146}}  % Vertical flow, Cross, dashed over, solid under
   \newcommand  \KntVXSUDO        {\lgk{E147}}  % Vertical flow, Cross, solid under, dashed over
   \newcommand  \KntHXSODU        {\lgk{E148}}  % Horizontal flow, Cross, solid over, dashed under
   \newcommand  \KntHXDUSO        {\lgk{E149}}  % Horizontal flow, Cross, dashed under, solid over
   \newcommand  \KntVXSODU        {\lgk{E14A}}  % Vertical flow, Cross, solid over, dashed under
   \newcommand  \KntVXDUSO        {\lgk{E14B}}  % Vertical flow, Cross, dashed under, solid over
   \newcommand  \KntHXDODU        {\lgk{E14C}}  % Horizontal flow, Cross, dashed over, dashed under
   \newcommand  \KntHXDUDO        {\lgk{E14D}}  % Horizontal flow, Cross, dashed under, dashed over
   \newcommand  \KntVXDODU        {\lgk{E14E}}  % Vertical flow, Cross, dashed over, dashed under
   \newcommand  \KntVXDUDO        {\lgk{E14F}}  % Vertical flow, Cross, dashed under, dashed over

   \newcommand  \KntHHMSTSB       {\lgk{E150}}  % Horizontal flow, Horizontal smoothing; solid top, solid bottom
   \newcommand  \KntVVMSLSR       {\lgk{E151}}  % Vertical flow, Vertical smoothing; solid left, solid right
   \newcommand  \KntHHMDTSB       {\lgk{E152}}  % Horizontal flow, Horizontal smoothing; dashed top, solid bottom
   \newcommand  \KntVVMSLDR       {\lgk{E153}}  % Vertical flow, Vertical smoothing; solid left, dashed right
   \newcommand  \KntHHMSTDB       {\lgk{E154}}  % Horizontal flow, Horizontal smoothing; solid top, dashed bottom
   \newcommand  \KntVVMDLSR       {\lgk{E155}}  % Vertical flow, Vertical smoothing; dashed left, solid right
   \newcommand  \KntHHMDTDB       {\lgk{E156}}  % Horizontal flow, Horizontal smoothing; dashed top, dashed bottom
   \newcommand  \KntVVMDLDR       {\lgk{E157}}  % Vertical flow, Vertical smoothing; dashed left, dashed right
   \newcommand  \KntHVMSLSR       {\lgk{E158}}  % Horizontal flow, Vertical smoothing, solid left, solid right
   \newcommand  \KntVHMSTSB       {\lgk{E159}}  % Vertical flow, Horizontal smoothing, solid top, solid bottom
   \newcommand  \KntHVMSLDR       {\lgk{E15A}}  % Horizontal flow, Vertical smoothing, solid left, dashed right
   \newcommand  \KntVHMSTDB       {\lgk{E15B}}  % Vertical flow, Horizontal smoothing, solid top, dashed bottom
   \newcommand  \KntHVMDLSR       {\lgk{E15C}}  % Horizontal flow, Vertical smoothing, dashed left, solid right
   \newcommand  \KntVHMDTSB       {\lgk{E15D}}  % Vertical flow, Horizontal smoothing, dashed top, solid bottom
   \newcommand  \KntHVMDLDR       {\lgk{E15E}}  % Horizontal flow, Vertical smoothing, dashed left, dashed right
   \newcommand  \KntVHMDTDB       {\lgk{E15F}}  % Vertical flow, Horizontal smoothing, dashed top, dashed bottom

   \newcommand  \KntLCS           {\lgk{E160}}  % Left cap, solid
   \newcommand  \KntTCS           {\lgk{E161}}  % Top cap, solid
   \newcommand  \KntRCS           {\lgk{E162}}  % Right cap, solid
   \newcommand  \KntBCS           {\lgk{E163}}  % Bottom cap, solid
   \newcommand  \KntLCD           {\lgk{E164}}  % Left cap, dashed
   \newcommand  \KntTCD           {\lgk{E165}}  % Top cap, dashed
   \newcommand  \KntRCD           {\lgk{E166}}  % Right cap, dashed
   \newcommand  \KntBCD           {\lgk{E167}}  % Bottom cap, dashed
   \newcommand  \KntLFC           {\lgk{E168}}  % Left half width cap
   \newcommand  \KntTFC           {\lgf{E169}}  % Top half width cap
   \newcommand  \KntRFC           {\lgk{E16A}}  % Right half width cap
   \newcommand  \KntBFC           {\lgf{E16B}}  % Bottom half width cap
   \newcommand  \KntLQC           {\lgk{E16C}}  % Left quarter width cap
   \newcommand  \KntTQC           {\lgq{E16D}}  % Top quarter width cap
   \newcommand  \KntRQC           {\lgk{E16E}}  % Right quarter width cap
   \newcommand  \KntBQC           {\lgq{E16F}}  % Bottom quarter width cap

   \newcommand  \KntSJTLBR        {\lgk{E170}}  % Solid join, top left to bottom right
   \newcommand  \KntSJBLTR        {\lgk{E171}}  % Solid join, bottom left to top right
   \newcommand  \KntSJTRBL        {\lgk{E172}}  % Solid join, top right to bottom left
   \newcommand  \KntSJBRTL        {\lgk{E173}}  % Solid join, bottom right to top left
   \newcommand  \KntDJTLBR        {\lgk{E174}}  % Dashed join, top left to bottom right
   \newcommand  \KntDJBLTR        {\lgk{E175}}  % Dashed join, bottom left to top right
   \newcommand  \KntDJTRBL        {\lgk{E176}}  % Dashed join, top right to bottom left
   \newcommand  \KntDJBRTL        {\lgk{E177}}  % Dashed join, bottom right to top left
   \newcommand  \KntSFJTLBR       {\lgk{E178}}  % Solid half width join, top left to bottom right
   \newcommand  \KntSFJBLTR       {\lgk{E179}}  % Solid half width join, bottom left to top right
   \newcommand  \KntSFJTRBL       {\lgf{E17A}}  % Solid half width join, top right to bottom left
   \newcommand  \KntSFJBRTL       {\lgf{E17B}}  % Solid half width join, bottom right to top left
   \newcommand  \KntDFJTLBR       {\lgk{E17C}}  % Dashed half width join, top left to bottom right
   \newcommand  \KntDFJBLTR       {\lgk{E17D}}  % Dashed half width join, bottom left to top right
   \newcommand  \KntDFJTRBL       {\lgf{E17E}}  % Dashed half width join, top right to bottom left
   \newcommand  \KntDFJBRTL       {\lgf{E17F}}  % Dashed half width join, bottom right to top left

   \newcommand  \KntLTSC          {\lgk{E180}}  % Left, top solid corner
   \newcommand  \KntTRSC          {\lgk{E181}}  % Top, right solid corner
   \newcommand  \KntRBSC          {\lgk{E182}}  % Right, bottom solid corner
   \newcommand  \KntBLSC          {\lgk{E183}}  % Bottom, left solid corner
   \newcommand  \KntLTDC          {\lgk{E184}}  % Left, top dashed corner
   \newcommand  \KntTRDC          {\lgk{E185}}  % Top, right dashed corner
   \newcommand  \KntRBDC          {\lgk{E186}}  % Right, bottom dashed corner
   \newcommand  \KntBLDC          {\lgk{E187}}  % Bottom, left dashed corner
   \newcommand  \KntLTSFC         {\lgf{E188}}  % Left, top solid half width corner
   \newcommand  \KntTRSFC         {\lgf{E189}}  % Top, right solid half width corner
   \newcommand  \KntRBSFC         {\lgf{E18A}}  % Right, bottom solid half width corner
   \newcommand  \KntBLSFC         {\lgf{E18B}}  % Bottom, left solid half width corner
   \newcommand  \KntLTDFC         {\lgf{E18C}}  % Left, top dashed half width corner
   \newcommand  \KntTRDFC         {\lgf{E18D}}  % Top, right dashed half width corner
   \newcommand  \KntRBDFC         {\lgf{E18E}}  % Right, bottom dashed half width corner
   \newcommand  \KntBLDFC         {\lgf{E18F}}  % Bottom, left dashed half width corner

   \newcommand  \KntTSN           {\lgk{E190}}  % Top solid line
   \newcommand  \KntRSN           {\lgk{E191}}  % Right solid line
   \newcommand  \KntBSN           {\lgk{E192}}  % Bottom solid line
   \newcommand  \KntLSN           {\lgk{E193}}  % Left solid line
   \newcommand  \KntTDN           {\lgk{E194}}  % Top dashed line
   \newcommand  \KntRDN           {\lgk{E195}}  % Right dashed line
   \newcommand  \KntBDN           {\lgk{E196}}  % Bottom dashed line
   \newcommand  \KntLDN           {\lgk{E197}}  % Left dashed line
   \newcommand  \KntTSNBSN        {\lgk{E198}}  % Top solid line, bottom solid line
   \newcommand  \KntLSNRSN        {\lgk{E199}}  % Left solid line, right solid line
   \newcommand  \KntTSNBDN        {\lgk{E19A}}  % Top solid line, bottom dashed line
   \newcommand  \KntLDNRSN        {\lgk{E19B}}  % Left dashed line, right solid line
   \newcommand  \KntTDNBSN        {\lgk{E19C}}  % Top dashed line, bottom solid line
   \newcommand  \KntLSNRDN        {\lgk{E19D}}  % Left solid line, right dashed line
   \newcommand  \KntTDNBDN        {\lgk{E19E}}  % Top dashed line, bottom dashed line
   \newcommand  \KntLDNRDN        {\lgk{E19F}}  % Left dashed line, right dashed line

   \newcommand  \KntTSFN          {\lgk{E1A0}}  % Top solid half line
   \newcommand  \KntRSFN          {\lgf{E1A1}}  % Right solid half line
   \newcommand  \KntBSFN          {\lgk{E1A2}}  % Bottom solid half line
   \newcommand  \KntLSFN          {\lgf{E1A3}}  % Left solid half line
   \newcommand  \KntTSDN          {\lgk{E1A4}}  % Top dashed half line
   \newcommand  \KntRSDN          {\lgf{E1A5}}  % Right dashed half line
   \newcommand  \KntBSDN          {\lgk{E1A6}}  % Bottom dashed half line
   \newcommand  \KntLSDN          {\lgf{E1A7}}  % Left dashed half line
   \newcommand  \KntTSFNBSFN      {\lgk{E1A8}}  % Top solid half line, bottom solid half line
   \newcommand  \KntLSFNRSFN      {\lgf{E1A9}}  % Left solid half line, right solid half line
   \newcommand  \KntTSFNBDFN      {\lgk{E1AA}}  % Top solid half line, bottom dashed half line
   \newcommand  \KntLDFNRSFN      {\lgf{E1AB}}  % Left dashed half line, right solid half line
   \newcommand  \KntTDFNBSFN      {\lgk{E1AC}}  % Top dashed half line, bottom solid half line
   \newcommand  \KntLSFNRDFN      {\lgf{E1AD}}  % Left solid half line, right dashed half line
   \newcommand  \KntTDFNBDFN      {\lgk{E1AE}}  % Top dashed half line, bottom dashed half line
   \newcommand  \KntLDFNRDFN      {\lgf{E1AF}}  % Left dashed half line, right dashed half line

   \newcommand  \KntTSQN          {\lgk{E1B0}}  % Top solid forth line
   \newcommand  \KntRSQN          {\lgq{E1B1}}  % Right solid forth line
   \newcommand  \KntBSQN          {\lgk{E1B2}}  % Bottom solid forth line
   \newcommand  \KntLSQN          {\lgq{E1B3}}  % Left solid forth line
   \newcommand  \KntTDQN          {\lgk{E1B4}}  % Top dashed forth line
   \newcommand  \KntRDQN          {\lgq{E1B5}}  % Right dashed forth line
   \newcommand  \KntBDQN          {\lgk{E1B6}}  % Bottom dashed forth line
   \newcommand  \KntLDQN          {\lgq{E1B7}}  % Left dashed forth line
   \newcommand  \KntTSQNBSQN      {\lgk{E1B8}}  % Top solid forth line, bottom solid forth line
   \newcommand  \KntLSQNRSQN      {\lgq{E1B9}}  % Left solid forth line, right solid forth line
   \newcommand  \KntTSQNBDQN      {\lgk{E1BA}}  % Top solid forth line, bottom dashed forth line
   \newcommand  \KntLDQNRSQN      {\lgq{E1BB}}  % Left dashed forth line, right solid forth line
   \newcommand  \KntBDQNBSQN      {\lgk{E1BC}}  % Top dashed forth line, bottom solid forth line
   \newcommand  \KntLSQNRDQN      {\lgq{E1BD}}  % Left solid forth line, right dashed forth line
   \newcommand  \KntTDQNBDQN      {\lgk{E1BE}}  % Top dashed forth line, bottom dashed forth line
   \newcommand  \KntLDQNRDQN      {\lgq{E1BF}}  % Left dashed forth line, right dashed forth line

   \newcommand  \KntTSLA          {\lgk{E1C0}}  % Top solid left arrow
   \newcommand  \KntRSUA          {\lgk{E1C1}}  % Right solid up arrow
   \newcommand  \KntBSRA          {\lgk{E1C2}}  % Bottom solid right arrow
   \newcommand  \KntLSDA          {\lgk{E1C3}}  % Left solid down arrow
   \newcommand  \KntTSRA          {\lgk{E1C4}}  % Top solid right arrow
   \newcommand  \KntRSDA          {\lgk{E1C5}}  % Right solid down arrow
   \newcommand  \KntBSLA          {\lgk{E1C6}}  % Bottom solid left arrow
   \newcommand  \KntLSUA          {\lgk{E1C7}}  % Left solid up arrow
   \newcommand  \KntTDLA          {\lgk{E1C8}}  % Top dashed left arrow
   \newcommand  \KntRDUA          {\lgk{E1C9}}  % Right dashed up arrow
   \newcommand  \KntBDRA          {\lgk{E1CA}}  % Bottom dashed right arrow
   \newcommand  \KntLDDA          {\lgk{E1CB}}  % Left dashed down arrow
   \newcommand  \KntTDRA          {\lgk{E1CC}}  % Top dashed right arrow
   \newcommand  \KntRDDA          {\lgk{E1CD}}  % Right dashed down arrow
   \newcommand  \KntBDLA          {\lgk{E1CE}}  % Bottom dashed left arrow
   \newcommand  \KntLDUA          {\lgk{E1CF}}  % Left dashed up arrow

   \newcommand  \KntTSLABSLA      {\lgk{E1D0}}  % Top solid left arrow, bottom solid left arrow
   \newcommand  \KntLSUARSUA      {\lgk{E1D1}}  % Left solid up arrow, right solid up arrow
   \newcommand  \KntTSRABSRA      {\lgk{E1D2}}  % Top solid right arrow, bottom solid right arrow
   \newcommand  \KntLSDARSDA      {\lgk{E1D3}}  % Left solid down arrow, right solid down arrow
   \newcommand  \KntTSLABSRA      {\lgk{E1D4}}  % Top solid left arrow, bottom solid right arrow
   \newcommand  \KntLSDARSUA      {\lgk{E1D5}}  % Left solid down arrow, right solid up arrow
   \newcommand  \KntTSRABSLA      {\lgk{E1D6}}  % Top solid right arrow, bottom solid left arrow
   \newcommand  \KntLSUARSDA      {\lgk{E1D7}}  % Left solid up arrow, right solid down arrow
   \newcommand  \KntTSLABDLA      {\lgk{E1D8}}  % Top solid left arrow, bottom dashed left arrow
   \newcommand  \KntLDUARSUA      {\lgk{E1D9}}  % Left dashed up arrow, right solid up arrow
   \newcommand  \KntTDRABSRA      {\lgk{E1DA}}  % Top dashed right arrow, bottom solid right arrow
   \newcommand  \KntLSDARDDA      {\lgk{E1DB}}  % Left solid down arrow, right dashed down arrow
   \newcommand  \KntTDLABSLA      {\lgk{E1DC}}  % Top dashed left arrow, bottom solid left arrow
   \newcommand  \KntLSUARDUA      {\lgk{E1DD}}  % Left solid up arrow, right dashed up arrow
   \newcommand  \KntTSRABDRA      {\lgk{E1DE}}  % Top solid right arrow, bottom dashed right arrow
   \newcommand  \KntLDDARSDA      {\lgk{E1DF}}  % Left dashed down arrow, right solid down arrow

   \newcommand  \KntTSLABDRA      {\lgk{E1E0}}  % Top solid left arrow, bottom dashed right arrow
   \newcommand  \KntLDDARSUA      {\lgk{E1E1}}  % Left dashed down arrow, right solid up arrow
   \newcommand  \KntTDLABSRA      {\lgk{E1E2}}  % Top dashed left arrow, bottom solid right arrow
   \newcommand  \KntLSDARDUA      {\lgk{E1E3}}  % Left solid down arrow, right dashed up arrow
   \newcommand  \KntTDRABSLA      {\lgk{E1E4}}  % Top dashed right arrow, bottom solid left arrow
   \newcommand  \KntLSUARDDA      {\lgk{E1E5}}  % Left solid up arrow, right dashed down arrow
   \newcommand  \KntTSRABDLA      {\lgk{E1E6}}  % Top solid right arrow, bottom dashed left arrow
   \newcommand  \KntLDUARSDA      {\lgk{E1E7}}  % Left dashed up arrow, right solid down arrow
   \newcommand  \KntTDLABDLA      {\lgk{E1E8}}  % Top dashed left arrow, bottom dashed left arrow
   \newcommand  \KntLDUARDUA      {\lgk{E1E9}}  % Left dashed up arrow, right dashed up arrow
   \newcommand  \KntTDRABDRA      {\lgk{E1EA}}  % Top dashed right arrow, bottom dashed right arrow
   \newcommand  \KntLDDARDDA      {\lgk{E1EB}}  % Left dashed down arrow, right dashed down arrow
   \newcommand  \KntTDLABDRA      {\lgk{E1EC}}  % Top dashed left arrow, bottom dashed right arrow
   \newcommand  \KntLDDARDUA      {\lgk{E1ED}}  % Left dashed down arrow, right dashed up arrow
   \newcommand  \KntTDRABDLA      {\lgk{E1EE}}  % Top dashed right arrow, bottom dashed left arrow
   \newcommand  \KntLDUARDDA      {\lgk{E1EF}}  % Left dashed up arrow, right dashed down arrow

   \newcommand  \KntTSNBSLA       {\lgk{E1F0}}  % Top solid line, bottom solid left arrow
   \newcommand  \KntLSUARSN       {\lgk{E1F1}}  % Left solid up arrow, right solid line
   \newcommand  \KntTSRABSN       {\lgk{E1F2}}  % Top solid right arrow, bottom solid line
   \newcommand  \KntLSNRSDA       {\lgk{E1F3}}  % Left solid line, right solid down arrow
   \newcommand  \KntTSNBSRA       {\lgk{E1F4}}  % Top solid line, bottom solid right arrow
   \newcommand  \KntLSDARSN       {\lgk{E1F5}}  % Left solid down arrow, right solid line
   \newcommand  \KntTSLABSN       {\lgk{E1F6}}  % Top solid left arrow, bottom solid line
   \newcommand  \KntLSNRSUA       {\lgk{E1F7}}  % Left solid line, right solid up arrow
   \newcommand  \KntTDNBSLA       {\lgk{E1F8}}  % Top dashed line, bottom solid left arrow
   \newcommand  \KntLSUARDN       {\lgk{E1F9}}  % Left solid up arrow, right dashed line
   \newcommand  \KntTSRABDN       {\lgk{E1FA}}  % Top solid right arrow, bottom dashed line
   \newcommand  \KntLDNRSDA       {\lgk{E1FB}}  % Left dashed line, right solid down arrow
   \newcommand  \KntTSLABDN       {\lgk{E1FC}}  % Top solid left arrow, bottom dashed line
   \newcommand  \KntLDNRSUA       {\lgk{E1FD}}  % Left dashed line, right solid up arrow
   \newcommand  \KntTDNBSRA       {\lgk{E1FE}}  % Top dashed line, bottom solid right arrow
   \newcommand  \KntLSDARDN       {\lgk{E1FF}}  % Left solid down arrow, right dashed line

   \newcommand  \KntTSNBDLA       {\lgk{E200}}  % Top solid line, bottom dashed left arrow
   \newcommand  \KntLDUARSN       {\lgk{E201}}  % Left dashed up arrow, right solid line
   \newcommand  \KntTDRABSN       {\lgk{E202}}  % Top dashed right arrow, bottom solid line
   \newcommand  \KntLSNRDDA       {\lgk{E203}}  % Left solid line, right dashed down arrow
   \newcommand  \KntTDLABSN       {\lgk{E204}}  % Top dashed left arrow, bottom solid line
   \newcommand  \KntLSNRDUA       {\lgk{E205}}  % Left solid line, right dashed up arrow
   \newcommand  \KntTSNBDRA       {\lgk{E206}}  % Top solid line, bottom dashed right arrow
   \newcommand  \KntLDDARSN       {\lgk{E207}}  % Left dashed down arrow, right solid line
   \newcommand  \KntTDNBDLA       {\lgk{E208}}  % Top dashed line, bottom dashed left arrow
   \newcommand  \KntLDUARDN       {\lgk{E209}}  % Left dashed up arrow, right dashed line
   \newcommand  \KntTDRABDN       {\lgk{E20A}}  % Top dashed right arrow, bottom dashed line
   \newcommand  \KntLDNRDDA       {\lgk{E20B}}  % Left dashed line, right dashed down arrow
   \newcommand  \KntTDLABDN       {\lgk{E20C}}  % Top dashed left arrow, bottom dashed line
   \newcommand  \KntLDNRDUA       {\lgk{E20D}}  % Left dashed line, right dashed up arrow
   \newcommand  \KntTDNBDRA       {\lgk{E20E}}  % Top dashed line, bottom dashed right arrow
   \newcommand  \KntLDDARDN       {\lgk{E20F}}  % Left dashed down arrow, right dashed line

   \newcommand  \KntNNSpace       {\lgk{E210}}  % Full Width Space
   \newcommand  \KntNESpace       {\lgk{E211}}  % Three Quarter Width Space
   \newcommand  \KntNFSpace       {\lgk{E212}}  % Half Width Space
   \newcommand  \KntNQSpace       {\lgk{E213}}  % Quarter Width Space

   \newcommand  \KntTSNF          {\lgf{E214}}  % Top solid line, half height
   \newcommand  \KntRSNF          {\lgk{E215}}  % Right solid line, half width
   \newcommand  \KntBSNF          {\lgf{E216}}  % Bottom solid line, half height
   \newcommand  \KntLSNF          {\lgk{E217}}  % Left solid line, half width
   \newcommand  \KntTSFNF         {\lgf{E218}}  % Top solid half line, half height
   \newcommand  \KntRSFNF         {\lgf{E219}}  % Right solid half line, half width
   \newcommand  \KntBSFNF         {\lgf{E21A}}  % Bottom solid half line, half height
   \newcommand  \KntLSFNF         {\lgf{E21B}}  % Left solid half line, half width
   \newcommand  \KntTSQNF         {\lgf{E21C}}  % Top solid forth line, half height
   \newcommand  \KntRSQNF         {\lgq{E21D}}  % Right solid forth line, half width
   \newcommand  \KntBSQNF         {\lgf{E21E}}  % Bottom solid forth line, half height
   \newcommand  \KntLSQNF         {\lgq{E21F}}  % Left solid forth line, half width

   \newcommand  \Kntzero          {\lgv{EFB0}}  % Monospace raised, italic, serif font: digit 0
   \newcommand  \Kntone           {\lgv{EFB1}}  % Monospace raised, italic, serif font: digit 1
   \newcommand  \Knttwo           {\lgv{EFB2}}  % Monospace raised, italic, serif font: digit 2
   \newcommand  \Kntthree         {\lgv{EFB3}}  % Monospace raised, italic, serif font: digit 3
   \newcommand  \Kntfour          {\lgv{EFB4}}  % Monospace raised, italic, serif font: digit 4
   \newcommand  \Kntfive          {\lgv{EFB5}}  % Monospace raised, italic, serif font: digit 5
   \newcommand  \Kntsix           {\lgv{EFB6}}  % Monospace raised, italic, serif font: digit 6
   \newcommand  \Kntseven         {\lgv{EFB7}}  % Monospace raised, italic, serif font: digit 7
   \newcommand  \Knteight         {\lgv{EFB8}}  % Monospace raised, italic, serif font: digit 8
   \newcommand  \Kntnine          {\lgv{EFB9}}  % Monospace raised, italic, serif font: digit 9

   \newcommand  \KntA             {\lgv{EFC1}}  % Monospace raised, italic, serif font: letter A
   \newcommand  \KntB             {\lgv{EFC2}}  % Monospace raised, italic, serif font: letter B
   \newcommand  \KntC             {\lgv{EFC3}}  % Monospace raised, italic, serif font: letter C
   \newcommand  \KntD             {\lgv{EFC4}}  % Monospace raised, italic, serif font: letter D
   \newcommand  \KntE             {\lgv{EFC5}}  % Monospace raised, italic, serif font: letter E
   \newcommand  \KntF             {\lgv{EFC6}}  % Monospace raised, italic, serif font: letter F
   \newcommand  \KntG             {\lgv{EFC7}}  % Monospace raised, italic, serif font: letter G
   \newcommand  \KntH             {\lgv{EFC8}}  % Monospace raised, italic, serif font: letter H
   \newcommand  \KntI             {\lgv{EFC9}}  % Monospace raised, italic, serif font: letter I
   \newcommand  \KntJ             {\lgv{EFCA}}  % Monospace raised, italic, serif font: letter J
   \newcommand  \KntK             {\lgv{EFCB}}  % Monospace raised, italic, serif font: letter K
   \newcommand  \KntL             {\lgv{EFCC}}  % Monospace raised, italic, serif font: letter L
   \newcommand  \KntM             {\lgv{EFCD}}  % Monospace raised, italic, serif font: letter M
   \newcommand  \KntN             {\lgv{EFCE}}  % Monospace raised, italic, serif font: letter N
   \newcommand  \KntO             {\lgv{EFCF}}  % Monospace raised, italic, serif font: letter O
   \newcommand  \KntP             {\lgv{EFD0}}  % Monospace raised, italic, serif font: letter P
   \newcommand  \KntQ             {\lgv{EFD1}}  % Monospace raised, italic, serif font: letter Q
   \newcommand  \KntR             {\lgv{EFD2}}  % Monospace raised, italic, serif font: letter R
   \newcommand  \KntS             {\lgv{EFD3}}  % Monospace raised, italic, serif font: letter S
   \newcommand  \KntT             {\lgv{EFD4}}  % Monospace raised, italic, serif font: letter T
   \newcommand  \KntU             {\lgv{EFD5}}  % Monospace raised, italic, serif font: letter U
   \newcommand  \KntV             {\lgv{EFD6}}  % Monospace raised, italic, serif font: letter V
   \newcommand  \KntW             {\lgv{EFD7}}  % Monospace raised, italic, serif font: letter W
   \newcommand  \KntX             {\lgv{EFD8}}  % Monospace raised, italic, serif font: letter X
   \newcommand  \KntY             {\lgv{EFD9}}  % Monospace raised, italic, serif font: letter Y
   \newcommand  \KntZ             {\lgv{EFDA}}  % Monospace raised, italic, serif font: letter Z

   \newcommand  \Knta             {\lgv{EFE1}}  % Monospace raised, italic, serif font: letter a
   \newcommand  \Kntb             {\lgv{EFE2}}  % Monospace raised, italic, serif font: letter b
   \newcommand  \Kntc             {\lgv{EFE3}}  % Monospace raised, italic, serif font: letter c
   \newcommand  \Kntd             {\lgv{EFE4}}  % Monospace raised, italic, serif font: letter d
   \newcommand  \Knte             {\lgv{EFE5}}  % Monospace raised, italic, serif font: letter e
   \newcommand  \Kntf             {\lgv{EFE6}}  % Monospace raised, italic, serif font: letter f
   \newcommand  \Kntg             {\lgv{EFE7}}  % Monospace raised, italic, serif font: letter g
   \newcommand  \Knth             {\lgv{EFE8}}  % Monospace raised, italic, serif font: letter h
   \newcommand  \Knti             {\lgv{EFE9}}  % Monospace raised, italic, serif font: letter i
   \newcommand  \Kntj             {\lgv{EFEA}}  % Monospace raised, italic, serif font: letter j
   \newcommand  \Kntk             {\lgv{EFEB}}  % Monospace raised, italic, serif font: letter k
   \newcommand  \Kntl             {\lgv{EFEC}}  % Monospace raised, italic, serif font: letter l
   \newcommand  \Kntm             {\lgv{EFED}}  % Monospace raised, italic, serif font: letter m
   \newcommand  \Kntn             {\lgv{EFEE}}  % Monospace raised, italic, serif font: letter n
   \newcommand  \Knto             {\lgv{EFEF}}  % Monospace raised, italic, serif font: letter o
   \newcommand  \Kntp             {\lgv{EFF0}}  % Monospace raised, italic, serif font: letter p
   \newcommand  \Kntq             {\lgv{EFF1}}  % Monospace raised, italic, serif font: letter q
   \newcommand  \Kntr             {\lgv{EFF2}}  % Monospace raised, italic, serif font: letter r
   \newcommand  \Knts             {\lgv{EFF3}}  % Monospace raised, italic, serif font: letter s
   \newcommand  \Kntt             {\lgv{EFF4}}  % Monospace raised, italic, serif font: letter t
   \newcommand  \Kntu             {\lgv{EFF5}}  % Monospace raised, italic, serif font: letter u
   \newcommand  \Kntv             {\lgv{EFF6}}  % Monospace raised, italic, serif font: letter v
   \newcommand  \Kntw             {\lgv{EFF7}}  % Monospace raised, italic, serif font: letter w
   \newcommand  \Kntx             {\lgv{EFF8}}  % Monospace raised, italic, serif font: letter x
   \newcommand  \Knty             {\lgv{EFF9}}  % Monospace raised, italic, serif font: letter y
   \newcommand  \Kntz             {\lgv{EFFA}}  % Monospace raised, italic, serif font: letter z

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

% Define geometric symbols, some of which are also used for mathematical operators.

   \newcommand  \BlackSquare                                     {\lgx{E220}\relax}   % Black Square
   \newcommand  \BlackSquareRoundCorners                         {\lgx{E221}\relax}   % Black Square Round Corners
   \newcommand  \BlackDiamond                                    {\lgx{E222}\relax}   % Black Diamond
   \newcommand  \BlackCircle                                     {\lgx{E223}\relax}   % Black Circle
   \newcommand  \BlackRightTriangle                              {\lgx{E224}\relax}   % Black Right Triangle
   \newcommand  \BlackLeftTriangle                               {\lgx{E225}\relax}   % Black Left Triangle
   \newcommand  \BlackDownTriangle                               {\lgx{E226}\relax}   % Black Down Triangle
   \newcommand  \BlackUpTriangle                                 {\lgx{E227}\relax}   % Black Up Triangle
   \newcommand  \BlackSmallCircle                                {\lgx{E228}\relax}   % Black Small Circle
   \newcommand  \BlackVerySmallCircle                            {\lgx{E229}\relax}   % Black Very Small Circle
   \newcommand  \BlackLozenge                                    {\lgx{E22A}\relax}   % Black Lozenge
   \newcommand  \BlackCurvedDiamond                              {\lgx{E22B}\relax}   % Black Curved Diamond
   \newcommand  \BlackVerySmallSquare                            {\lgx{E22C}\relax}   % Black Very Small Square
   \newcommand  \BlackLeftArrowHead                              {\lgx{E22D}\relax}   % Black Left Arrow Head
   \newcommand  \BlackRightArrowHead                             {\lgx{E22E}\relax}   % Black Right Arrow Head
   \newcommand  \BlackRightCurvedArrowHead                       {\lgx{E22F}\relax}   % Black Right Curved Arrow Head
                                                                                                                                              
   \newcommand  \WhiteSquare                                     {\lgx{E230}\relax}   % White Square
   \newcommand  \WhiteSquareRoundCorners                         {\lgx{E231}\relax}   % White Square Round Corners
   \newcommand  \WhiteDiamond                                    {\lgx{E232}\relax}   % White Diamond
   \newcommand  \WhiteCircle                                     {\lgx{E233}\relax}   % White Circle
   \newcommand  \WhiteRightTriangle                              {\lgx{E234}\relax}   % White Right Triangle
   \newcommand  \WhiteLeftTriangle                               {\lgx{E235}\relax}   % White Left Triangle
   \newcommand  \WhiteDownTriangle                               {\lgx{E236}\relax}   % White Down Triangle
   \newcommand  \WhiteUpTriangle                                 {\lgx{E237}\relax}   % White Up Triangle
   \newcommand  \WhiteSmallCircle                                {\lgx{E238}\relax}   % White Small Circle
   \newcommand  \WhiteVerySmallCircle                            {\lgx{E239}\relax}   % White Very Small Circle
   \newcommand  \WhiteLozenge                                    {\lgx{E23A}\relax}   % White Lozenge
   \newcommand  \WhiteCurvedDiamond                              {\lgx{E23B}\relax}   % White Curved Diamond
   \newcommand  \WhiteVerySmallSquare                            {\lgx{E23C}\relax}   % White Very Small Square
   \newcommand  \WhiteLeftArrowHead                              {\lgx{E23D}\relax}   % White Left Arrow Head
   \newcommand  \WhiteRightArrowHead                             {\lgx{E23E}\relax}   % White Right Arrow Head
   \newcommand  \WhiteRightCurvedArrowHead                       {\lgx{E23F}\relax}   % White Right Curved Arrow Head
                                                                                                                                              
   \newcommand  \OutlineSquare                                   {\lgx{E240}\relax}   % Outline Square
   \newcommand  \OutlineSquareRoundCorners                       {\lgx{E241}\relax}   % Outline Square Round Corners
   \newcommand  \OutlineDiamond                                  {\lgx{E242}\relax}   % Outline Diamond
   \newcommand  \OutlineCircle                                   {\lgx{E243}\relax}   % Outline Circle
   \newcommand  \OutlineRightTriangle                            {\lgx{E244}\relax}   % Outline Right Triangle
   \newcommand  \OutlineLeftTriangle                             {\lgx{E245}\relax}   % Outline Left Triangle
   \newcommand  \OutlineDownTriangle                             {\lgx{E246}\relax}   % Outline Down Triangle
   \newcommand  \OutlineUpTriangle                               {\lgx{E247}\relax}   % Outline Up Triangle
   \newcommand  \OutlineSmallCircle                              {\lgx{E248}\relax}   % Outline Small Circle
   \newcommand  \OutlineVerySmallCircle                          {\lgx{E249}\relax}   % Outline Very Small Circle
   \newcommand  \OutlineLozenge                                  {\lgx{E24A}\relax}   % Outline Lozenge
   \newcommand  \OutlineCurvedDiamond                            {\lgx{E24B}\relax}   % Outline Curved Diamond
   \newcommand  \OutlineVerySmallSquare                          {\lgx{E24C}\relax}   % Outline Very Small Square
   \newcommand  \OutlineLeftArrowHead                            {\lgx{E24D}\relax}   % Outline Left Arrow Head
   \newcommand  \OutlineRightArrowHead                           {\lgx{E24E}\relax}   % Outline Right Arrow Head
   \newcommand  \OutlineRightCurvedArrowHead                     {\lgx{E24F}\relax}   % Outline Right Curved Arrow Head
                                                                                                                                              
   \newcommand  \DottedSquare                                    {\lgx{E250}\relax}   % Dotted Square
   \newcommand  \DottedSquareRoundCorners                        {\lgx{E251}\relax}   % Dotted Square Round Corners
   \newcommand  \DottedDiamond                                   {\lgx{E252}\relax}   % Dotted Diamond
   \newcommand  \DottedCircl                                     {\lgx{E253}\relax}   % Dotted Circl
   \newcommand  \DottedRightTriangle                             {\lgx{E254}\relax}   % Dotted Right Triangle
   \newcommand  \DottedLeftTriangle                              {\lgx{E255}\relax}   % Dotted Left Triangle
   \newcommand  \DottedDownTriangle                              {\lgx{E256}\relax}   % Dotted Down Triangle
   \newcommand  \DottedUpTriangle                                {\lgx{E257}\relax}   % Dotted Up Triangle
   \newcommand  \DottedSmallCircle                               {\lgx{E258}\relax}   % Dotted Small Circle
   \newcommand  \DottedVerySmallCircle                           {\lgx{E259}\relax}   % Dotted Very Small Circle
   \newcommand  \DottedLozenge                                   {\lgx{E25A}\relax}   % Dotted Lozenge
   \newcommand  \DottedCurvedDiamond                             {\lgx{E25B}\relax}   % Dotted Curved Diamond
   \newcommand  \DottedVerySmallSquare                           {\lgx{E25C}\relax}   % Dotted Very Small Square
   \newcommand  \DottedLeftArrowHead                             {\lgx{E25D}\relax}   % Dotted Left Arrow Head
   \newcommand  \DottedRightArrowHead                            {\lgx{E25E}\relax}   % Dotted Right Arrow Head
   \newcommand  \DottedRightCurvedArrowHead                      {\lgx{E25F}\relax}   % Dotted Right Curved Arrow Head
                                                                                                                                              
   \newcommand  \WhiteSquareContainingBlackSquare                {\lgx{E260}\relax}   % White Square Containing Black Square
   \newcommand  \WhiteSquareRoundCornersContainingBlackSquare    {\lgx{E261}\relax}   % White Square Round Corners Containing Black Square
   \newcommand  \WhiteDiamondContainingBlackDiamond              {\lgx{E262}\relax}   % White Diamond Containing Black Diamond
   \newcommand  \WhiteCircleContainingBlackCircle                {\lgx{E263}\relax}   % White Circle Containing Black Circle
   \newcommand  \WhiteRightTriangleContainingBlackRightTriangle  {\lgx{E264}\relax}   % White Right Triangle Containing Black Right Triangle
   \newcommand  \WhiteLeftTriangleContainingBlackLeftTriangle    {\lgx{E265}\relax}   % White Left Triangle Containing Black Left Triangle
   \newcommand  \WhiteDownTriangleContainingBlackDownTriangle    {\lgx{E266}\relax}   % White Down Triangle Containing Black Down Triangle
   \newcommand  \WhiteUpTriangleContainingBlackUpTriangle        {\lgx{E267}\relax}   % White Up Triangle Containing Black Up Triangle
   \newcommand  \WhiteSmallCircleContainingBlackCircle           {\lgx{E268}\relax}   % White Small Circle Containing Black Circle
   \newcommand  \WhiteVerySmallCircleContainingBlackCircle       {\lgx{E269}\relax}   % White Very Small Circle Containing Black Circle
   \newcommand  \WhiteLozengeContainingBlackLozenge              {\lgx{E26A}\relax}   % White Lozenge Containing Black Lozenge
   \newcommand  \WhiteCurvedDiamondContainingBlackDiamond        {\lgx{E26B}\relax}   % White Curved Diamond Containing Black Diamond
   \newcommand  \WhiteVerySmallSquareContainingBlackSquare       {\lgx{E26C}\relax}   % White Very Small Square Containing Black Square
   \newcommand  \WhiteReallySmallCircle                          {\lgx{E26D}\relax}   % White Really Small Circle
   \newcommand  \WhiteReallySmallSquare                          {\lgx{E26E}\relax}   % White Really Small Square
   \newcommand  \WhiteReallySmallDiamond                         {\lgx{E26F}\relax}   % White Really Small Diamond
                                                                                                                                              
   \newcommand  \HorizontallyDividedSquare                       {\lgx{E270}\relax}   % Horizontally Divided Square
   \newcommand  \HorizontallyDividedSquareRoundCorners           {\lgx{E271}\relax}   % Horizontally Divided Square Round Corners
   \newcommand  \HorizontallyDividedDiamond                      {\lgx{E272}\relax}   % Horizontally Divided Diamond
   \newcommand  \HorizontallyDividedCircle                       {\lgx{E273}\relax}   % Horizontally Divided Circle
   \newcommand  \HorizontallyDividedRightTriangle                {\lgx{E274}\relax}   % Horizontally Divided Right Triangle
   \newcommand  \HorizontallyDividedLeftTriangle                 {\lgx{E275}\relax}   % Horizontally Divided Left Triangle
   \newcommand  \HorizontallyDividedDownTriangle                 {\lgx{E276}\relax}   % Horizontally Divided Down Triangle
   \newcommand  \HorizontallyDividedUpTriangle                   {\lgx{E277}\relax}   % Horizontally Divided Up Triangle
   \newcommand  \HorizontallyDividedSmallCircle                  {\lgx{E278}\relax}   % Horizontally Divided Small Circle
   \newcommand  \HorizontallyDividedVerySmallCircle              {\lgx{E279}\relax}   % Horizontally Divided Very Small Circle
   \newcommand  \HorizontallyDividedLozenge                      {\lgx{E27A}\relax}   % Horizontally Divided Lozenge
   \newcommand  \HorizontallyDividedCurvedDiamond                {\lgx{E27B}\relax}   % Horizontally Divided Curved Diamond
   \newcommand  \HorizontallyDividedVerySmallSquare              {\lgx{E27C}\relax}   % Horizontally Divided Very Small Square
   \newcommand  \BlackReallySmallCircle                          {\lgx{E27D}\relax}   % Black Really Small Circle
   \newcommand  \BlackReallySmallSquare                          {\lgx{E27E}\relax}   % Black Really Small Square
   \newcommand  \BlackReallySmallDiamond                         {\lgx{E27F}\relax}   % Black Really Small Diamond

   \newcommand  \VerticallyDividedSquare                         {\lgx{E280}\relax}   % Vertically Divided Square
   \newcommand  \VerticallyDividedSquareRoundCorners             {\lgx{E281}\relax}   % Vertically Divided Square Round Corners
   \newcommand  \VerticallyDividedDiamond                        {\lgx{E282}\relax}   % Vertically Divided Diamond
   \newcommand  \VerticallyDividedCircle                         {\lgx{E283}\relax}   % Vertically Divided Circle
   \newcommand  \VerticallyDividedRightTriangle                  {\lgx{E284}\relax}   % Vertically Divided Right Triangle
   \newcommand  \VerticallyDividedLeftTriangle                   {\lgx{E285}\relax}   % Vertically Divided Left Triangle
   \newcommand  \VerticallyDividedDownTriangle                   {\lgx{E286}\relax}   % Vertically Divided Down Triangle
   \newcommand  \VerticallyDividedUpTriangle                     {\lgx{E287}\relax}   % Vertically Divided Up Triangle
   \newcommand  \VerticallyDividedSmallCircle                    {\lgx{E288}\relax}   % Vertically Divided Small Circle
   \newcommand  \VerticallyDividedVerySmallCircle                {\lgx{E289}\relax}   % Vertically Divided Very Small Circle
   \newcommand  \VerticallyDividedLozenge                        {\lgx{E28A}\relax}   % Vertically Divided Lozenge
   \newcommand  \VerticallyDividedCurvedDiamond                  {\lgx{E28B}\relax}   % Vertically Divided Curved Diamond
   \newcommand  \VerticallyDividedVerySmallSquare                {\lgx{E28C}\relax}   % Vertically Divided Very Small Square
                                                                                                                                         
   \newcommand  \QuarteredSquare                                 {\lgx{E290}\relax}   % Quartered Square
   \newcommand  \QuarteredSquareRoundCorners                     {\lgx{E291}\relax}   % Quartered Square Round Corners
   \newcommand  \QuarteredDiamond                                {\lgx{E292}\relax}   % Quartered Diamond
   \newcommand  \QuarteredCircle                                 {\lgx{E293}\relax}   % Quartered Circle
   \newcommand  \QuarteredRightTriangle                          {\lgx{E294}\relax}   % Quartered Right Triangle
   \newcommand  \QuarteredLeftTriangle                           {\lgx{E295}\relax}   % Quartered Left Triangle
   \newcommand  \QuarteredDownTriangle                           {\lgx{E296}\relax}   % Quartered Down Triangle
   \newcommand  \QuarteredUpTriangle                             {\lgx{E297}\relax}   % Quartered Up Triangle
   \newcommand  \QuarteredSmallCircle                            {\lgx{E298}\relax}   % Quartered Small Circle
   \newcommand  \QuarteredVerySmallCircle                        {\lgx{E299}\relax}   % Quartered Very Small Circle
   \newcommand  \QuartedLozenge                                  {\lgx{E29A}\relax}   % Quartered Lozenge
   \newcommand  \QuarteredCurvedDiamond                          {\lgx{E29B}\relax}   % Quartered Curved Diamond
   \newcommand  \QuarteredVerySmallSquare                        {\lgx{E29C}\relax}   % Quartered Very Small Square
                                                                                                                                         
   \newcommand  \DownSlashedSquare                               {\lgx{E2A0}\relax}   % Down Slashed Square
   \newcommand  \DownSlashedSquareRoundCorners                   {\lgx{E2A1}\relax}   % Down Slashed Square Round Corners
   \newcommand  \DownSlashedDiamond                              {\lgx{E2A2}\relax}   % Down Slashed Diamond
   \newcommand  \DownSlashedCircle                               {\lgx{E2A3}\relax}   % Down Slashed Circle
   \newcommand  \DownSlashedRightTriangle                        {\lgx{E2A4}\relax}   % Down Slashed Right Triangle
   \newcommand  \DownSlashedLeftTriangle                         {\lgx{E2A5}\relax}   % Down Slashed Left Triangle
   \newcommand  \DownSlashedDownTriangle                         {\lgx{E2A6}\relax}   % Down Slashed Down Triangle
   \newcommand  \DownSlashedUpTriangle                           {\lgx{E2A7}\relax}   % Down Slashed Up Triangle
   \newcommand  \DownSlashedSmallCircle                          {\lgx{E2A8}\relax}   % Down Slashed Small Circle
   \newcommand  \DownSlashedVerySmallCircle                      {\lgx{E2A9}\relax}   % Down Slashed Very Small Circle
   \newcommand  \DownSlashedLozenge                              {\lgx{E2AA}\relax}   % Down Slashed Lozenge
   \newcommand  \DownSlashedCurvedDiamond                        {\lgx{E2AB}\relax}   % Down Slashed Curved Diamond
   \newcommand  \DownSlashedVerySmallSquare                      {\lgx{E2AC}\relax}   % Down Slashed Very Small Square
                                                                                                                                         
   \newcommand  \UpSlashedSquare                                 {\lgx{E2B0}\relax}   % Up Slashed Square
   \newcommand  \UpSlahsedSquareRoundCorners                     {\lgx{E2B1}\relax}   % Up SlahsedSquare Round Corners
   \newcommand  \UpSlashedDiamond                                {\lgx{E2B2}\relax}   % Up Slashed Diamond
   \newcommand  \UpSlashedCircle                                 {\lgx{E2B3}\relax}   % Up Slashed Circle
   \newcommand  \UpSlashedRightTriangle                          {\lgx{E2B4}\relax}   % Up Slashed Right Triangle
   \newcommand  \UpSlashedLeftTriangle                           {\lgx{E2B5}\relax}   % Up Slashed Left Triangle
   \newcommand  \UpSlashedDownTriangle                           {\lgx{E2B6}\relax}   % Up Slashed Down Triangle
   \newcommand  \UpSlashedUpTriangle                             {\lgx{E2B7}\relax}   % Up Slashed Up Triangle
   \newcommand  \UpSlashedSmallCircle                            {\lgx{E2B8}\relax}   % Up Slashed Small Circle
   \newcommand  \UpSlashedVerySmallCircle                        {\lgx{E2B9}\relax}   % Up Slashed Very Small Circle
   \newcommand  \UpSlashedLozenge                                {\lgx{E2BA}\relax}   % Up Slashed Lozenge
   \newcommand  \UpSlashedCurvedDiamond                          {\lgx{E2BB}\relax}   % Up Slashed Curved Diamond
   \newcommand  \UpSlashedVerySmallSquare                        {\lgx{E2BC}\relax}   % Up Slashed Very Small Square
                                                                                                                                         
   \newcommand  \CrossedSquare                                   {\lgx{E2C0}\relax}   % Crossed Square
   \newcommand  \CrossedSquareRoundCorners                       {\lgx{E2C1}\relax}   % Crossed Square Round Corners
   \newcommand  \CrossedDiamond                                  {\lgx{E2C2}\relax}   % Crossed Diamond
   \newcommand  \CrossedCircle                                   {\lgx{E2C3}\relax}   % Crossed Circle
   \newcommand  \CrossedRightTriangle                            {\lgx{E2C4}\relax}   % Crossed Right Triangle
   \newcommand  \CrossedLeftTriangle                             {\lgx{E2C5}\relax}   % Crossed Left Triangle
   \newcommand  \CrossedDownTriangle                             {\lgx{E2C6}\relax}   % Crossed Down Triangle
   \newcommand  \CrossedUpTriangle                               {\lgx{E2C7}\relax}   % Crossed Up Triangle
   \newcommand  \CrossedSmallCircle                              {\lgx{E2C8}\relax}   % Crossed Small Circle
   \newcommand  \CrossedVerySmallCircle                          {\lgx{E2C9}\relax}   % Crossed Very Small Circle
   \newcommand  \CrossedLozenge                                  {\lgx{E2CA}\relax}   % Crossed Lozenge
   \newcommand  \CrossedCurvedDiamond                            {\lgx{E2CB}\relax}   % Crossed Curved Diamond
   \newcommand  \CrossedVerySmallSquare                          {\lgx{E2CC}\relax}   % Crossed Very Small Square
                                                                                                                                         
   \newcommand  \LBlackSquare                                    {\lgx{E2D0}\relax}   % LBlack Square
   \newcommand  \LBlackSquareRoundCorners                        {\lgx{E2D1}\relax}   % LBlack Square Round Corners
   \newcommand  \LBlackDiamond                                   {\lgx{E2D2}\relax}   % LBlack Diamond
   \newcommand  \LBlackCircle                                    {\lgx{E2D3}\relax}   % LBlack Circle
   \newcommand  \LBlackRightTriangle                             {\lgx{E2D4}\relax}   % LBlack Right Triangle
   \newcommand  \LBlackLeftTriangle                              {\lgx{E2D5}\relax}   % LBlack Left Triangle
   \newcommand  \LBlackDownTriangle                              {\lgx{E2D6}\relax}   % LBlack Down Triangle
   \newcommand  \LBlackUpTriangle                                {\lgx{E2D7}\relax}   % LBlack Up Triangle
   \newcommand  \LBlackSmallCircle                               {\lgx{E2D8}\relax}   % LBlack Small Circle
   \newcommand  \LBlackVerySmallCircle                           {\lgx{E2D9}\relax}   % LBlack Very Small Circle
   \newcommand  \LBlackLozenge                                   {\lgx{E2DA}\relax}   % LBlack Lozenge
   \newcommand  \LBlackCurvedDiamond                             {\lgx{E2DB}\relax}   % LBlack Curved Diamond
   \newcommand  \LBlackVerySmallSquare                           {\lgx{E2DC}\relax}   % LBlack Very Small Square
   \newcommand  \LBlackLeftArrowHead                             {\lgx{E2DD}\relax}   % LBlack Left Arrow Head
   \newcommand  \LBlackRightArrowHead                            {\lgx{E2DE}\relax}   % LBlack Right Arrow Head
   \newcommand  \LBlackRightCurvedArrowHead                      {\lgx{E2DF}\relax}   % LBlack Right Curved Arrow Head
                                                                                                                                         
   \newcommand  \LWhiteSquare                                    {\lgx{E2E0}\relax}   % LWhite Square
   \newcommand  \LWhiteSquareRoundCorners                        {\lgx{E2E1}\relax}   % LWhite Square Round Corners
   \newcommand  \LWhiteDiamond                                   {\lgx{E2E2}\relax}   % LWhite Diamond
   \newcommand  \LWhiteCircle                                    {\lgx{E2E3}\relax}   % LWhite Circle
   \newcommand  \LWhiteRightTriangle                             {\lgx{E2E4}\relax}   % LWhite Right Triangle
   \newcommand  \LWhiteLeftTriangle                              {\lgx{E2E5}\relax}   % LWhite Left Triangle
   \newcommand  \LWhiteDownTriangle                              {\lgx{E2E6}\relax}   % LWhite Down Triangle
   \newcommand  \LWhiteUpTriangle                                {\lgx{E2E7}\relax}   % LWhite Up Triangle
   \newcommand  \LWhiteSmallCircle                               {\lgx{E2E8}\relax}   % LWhite Small Circle
   \newcommand  \LWhiteVerySmallCircle                           {\lgx{E2E9}\relax}   % LWhite Very Small Circle
   \newcommand  \LWhiteLozenge                                   {\lgx{E2EA}\relax}   % LWhite Lozenge
   \newcommand  \LWhiteCurvedDiamond                             {\lgx{E2EB}\relax}   % LWhite Curved Diamond
   \newcommand  \LWhiteVerySmallSquare                           {\lgx{E2EC}\relax}   % LWhite Very Small Square
   \newcommand  \LWhiteLeftArrowHead                             {\lgx{E2ED}\relax}   % LWhite Left Arrow Head
   \newcommand  \LWhiteRightArrowHead                            {\lgx{E2EE}\relax}   % LWhite Right Arrow Head
   \newcommand  \LWhiteRightCurvedArrowHead                      {\lgx{E2EF}\relax}   % LWhite Right Curved Arrow Head

   \newcommand  \WhiteCircleA                                    {\lgx{E3C0}\relax}   % White Circle Size 0.20 em
   \newcommand  \WhiteCircleB                                    {\lgx{E3D0}\relax}   % White Circle Size 0.30 em
   \newcommand  \WhiteCircleC                                    {\lgx{E3E0}\relax}   % White Circle Size 0.40 em
   \newcommand  \WhiteCircleD                                    {\lgx{E3F0}\relax}   % White Circle Size 0.50 em
   \newcommand  \WhiteCircleE                                    {\lgx{E400}\relax}   % White Circle Size 0.60 em
   \newcommand  \WhiteCircleF                                    {\lgx{E410}\relax}   % White Circle Size 0.70 em
   \newcommand  \WhiteCircleG                                    {\lgx{E420}\relax}   % White Circle Size 0.80 em
   \newcommand  \WhiteCircleH                                    {\lgx{E430}\relax}   % White Circle Size 0.90 em
   \newcommand  \WhiteCircleI                                    {\lgx{E440}\relax}   % White Circle Size 1.00 em
                                                                                                                               
   \newcommand  \BlackCircleA                                    {\lgx{E3C8}\relax}   % Black Circle Size 0.20 em
   \newcommand  \BlackCircleB                                    {\lgx{E3D8}\relax}   % Black Circle Size 0.30 em
   \newcommand  \BlackCircleC                                    {\lgx{E3E8}\relax}   % Black Circle Size 0.40 em
   \newcommand  \BlackCircleD                                    {\lgx{E3F8}\relax}   % Black Circle Size 0.50 em
   \newcommand  \BlackCircleE                                    {\lgx{E408}\relax}   % Black Circle Size 0.60 em
   \newcommand  \BlackCircleF                                    {\lgx{E418}\relax}   % Black Circle Size 0.70 em
   \newcommand  \BlackCircleG                                    {\lgx{E428}\relax}   % Black Circle Size 0.80 em
   \newcommand  \BlackCircleH                                    {\lgx{E438}\relax}   % Black Circle Size 0.90 em
   \newcommand  \BlackCircleI                                    {\lgx{E448}\relax}   % Black Circle Size 1.00 em
                                                                                                                               
   \newcommand  \WhiteSquareA                                    {\lgx{E3C1}\relax}   % White Square Size 0.20 em
   \newcommand  \WhiteSquareB                                    {\lgx{E3D1}\relax}   % White Square Size 0.30 em
   \newcommand  \WhiteSquareC                                    {\lgx{E3E1}\relax}   % White Square Size 0.40 em
   \newcommand  \WhiteSquareD                                    {\lgx{E3F1}\relax}   % White Square Size 0.50 em
   \newcommand  \WhiteSquareE                                    {\lgx{E401}\relax}   % White Square Size 0.60 em
   \newcommand  \WhiteSquareF                                    {\lgx{E411}\relax}   % White Square Size 0.70 em
   \newcommand  \WhiteSquareG                                    {\lgx{E421}\relax}   % White Square Size 0.80 em
   \newcommand  \WhiteSquareH                                    {\lgx{E431}\relax}   % White Square Size 0.90 em
   \newcommand  \WhiteSquareI                                    {\lgx{E441}\relax}   % White Square Size 1.00 em
                                                                                                                               
   \newcommand  \BlackSquareA                                    {\lgx{E3C9}\relax}   % Black Square Size 0.20 em
   \newcommand  \BlackSquareB                                    {\lgx{E3D9}\relax}   % Black Square Size 0.30 em
   \newcommand  \BlackSquareC                                    {\lgx{E3E9}\relax}   % Black Square Size 0.40 em
   \newcommand  \BlackSquareD                                    {\lgx{E3F9}\relax}   % Black Square Size 0.50 em
   \newcommand  \BlackSquareE                                    {\lgx{E409}\relax}   % Black Square Size 0.60 em
   \newcommand  \BlackSquareF                                    {\lgx{E419}\relax}   % Black Square Size 0.70 em
   \newcommand  \BlackSquareG                                    {\lgx{E429}\relax}   % Black Square Size 0.80 em
   \newcommand  \BlackSquareH                                    {\lgx{E439}\relax}   % Black Square Size 0.90 em
   \newcommand  \BlackSquareI                                    {\lgx{E449}\relax}   % Black Square Size 1.00 em
                                                                                                                               
   \newcommand  \WhiteDiamondA                                   {\lgx{E3C2}\relax}   % White Diamond Size 0.20 em
   \newcommand  \WhiteDiamondB                                   {\lgx{E3D2}\relax}   % White Diamond Size 0.30 em
   \newcommand  \WhiteDiamondC                                   {\lgx{E3E2}\relax}   % White Diamond Size 0.40 em
   \newcommand  \WhiteDiamondD                                   {\lgx{E3F2}\relax}   % White Diamond Size 0.50 em
   \newcommand  \WhiteDiamondE                                   {\lgx{E402}\relax}   % White Diamond Size 0.60 em
   \newcommand  \WhiteDiamondF                                   {\lgx{E412}\relax}   % White Diamond Size 0.70 em
   \newcommand  \WhiteDiamondG                                   {\lgx{E422}\relax}   % White Diamond Size 0.80 em
   \newcommand  \WhiteDiamondH                                   {\lgx{E432}\relax}   % White Diamond Size 0.90 em
   \newcommand  \WhiteDiamondI                                   {\lgx{E442}\relax}   % White Diamond Size 1.00 em
                                                                                                                               
   \newcommand  \BlackDiamondA                                   {\lgx{E3CA}\relax}   % Black Diamond Size 0.20 em
   \newcommand  \BlackDiamondB                                   {\lgx{E3DA}\relax}   % Black Diamond Size 0.30 em
   \newcommand  \BlackDiamondC                                   {\lgx{E3EA}\relax}   % Black Diamond Size 0.40 em
   \newcommand  \BlackDiamondD                                   {\lgx{E3FA}\relax}   % Black Diamond Size 0.50 em
   \newcommand  \BlackDiamondE                                   {\lgx{E40A}\relax}   % Black Diamond Size 0.60 em
   \newcommand  \BlackDiamondF                                   {\lgx{E41A}\relax}   % Black Diamond Size 0.70 em
   \newcommand  \BlackDiamondG                                   {\lgx{E42A}\relax}   % Black Diamond Size 0.80 em
   \newcommand  \BlackDiamondH                                   {\lgx{E43A}\relax}   % Black Diamond Size 0.90 em
   \newcommand  \BlackDiamondI                                   {\lgx{E44A}\relax}   % Black Diamond Size 1.00 em
                                                                                                                               
   \newcommand  \WhiteRightTriangleA                             {\lgx{E3C3}\relax}   % White Right Triangle Size 0.20 em
   \newcommand  \WhiteRightTriangleB                             {\lgx{E3D3}\relax}   % White Right Triangle Size 0.30 em
   \newcommand  \WhiteRightTriangleC                             {\lgx{E3E3}\relax}   % White Right Triangle Size 0.40 em
   \newcommand  \WhiteRightTriangleD                             {\lgx{E3F3}\relax}   % White Right Triangle Size 0.50 em
   \newcommand  \WhiteRightTriangleE                             {\lgx{E403}\relax}   % White Right Triangle Size 0.60 em
   \newcommand  \WhiteRightTriangleF                             {\lgx{E413}\relax}   % White Right Triangle Size 0.70 em
   \newcommand  \WhiteRightTriangleG                             {\lgx{E423}\relax}   % White Right Triangle Size 0.80 em
   \newcommand  \WhiteRightTriangleH                             {\lgx{E433}\relax}   % White Right Triangle Size 0.90 em
   \newcommand  \WhiteRightTriangleI                             {\lgx{E443}\relax}   % White Right Triangle Size 1.00 em
                                                                                                                               
   \newcommand  \BlackRightTriangleA                             {\lgx{E3CB}\relax}   % Black Right Triangle Size 0.20 em
   \newcommand  \BlackRightTriangleB                             {\lgx{E3DB}\relax}   % Black Right Triangle Size 0.30 em
   \newcommand  \BlackRightTriangleC                             {\lgx{E3EB}\relax}   % Black Right Triangle Size 0.40 em
   \newcommand  \BlackRightTriangleD                             {\lgx{E3FB}\relax}   % Black Right Triangle Size 0.50 em
   \newcommand  \BlackRightTriangleE                             {\lgx{E40B}\relax}   % Black Right Triangle Size 0.60 em
   \newcommand  \BlackRightTriangleF                             {\lgx{E41B}\relax}   % Black Right Triangle Size 0.70 em
   \newcommand  \BlackRightTriangleG                             {\lgx{E42B}\relax}   % Black Right Triangle Size 0.80 em
   \newcommand  \BlackRightTriangleH                             {\lgx{E43B}\relax}   % Black Right Triangle Size 0.90 em
   \newcommand  \BlackRightTriangleI                             {\lgx{E44B}\relax}   % Black Right Triangle Size 1.00 em
                                                                                                                               
   \newcommand  \WhiteLeftTriangleA                              {\lgx{E3C4}\relax}   % White Left Triangle Size 0.20 em
   \newcommand  \WhiteLeftTriangleB                              {\lgx{E3D4}\relax}   % White Left Triangle Size 0.30 em
   \newcommand  \WhiteLeftTriangleC                              {\lgx{E3E4}\relax}   % White Left Triangle Size 0.40 em
   \newcommand  \WhiteLeftTriangleD                              {\lgx{E3F4}\relax}   % White Left Triangle Size 0.50 em
   \newcommand  \WhiteLeftTriangleE                              {\lgx{E404}\relax}   % White Left Triangle Size 0.60 em
   \newcommand  \WhiteLeftTriangleF                              {\lgx{E414}\relax}   % White Left Triangle Size 0.70 em
   \newcommand  \WhiteLeftTriangleG                              {\lgx{E424}\relax}   % White Left Triangle Size 0.80 em
   \newcommand  \WhiteLeftTriangleH                              {\lgx{E434}\relax}   % White Left Triangle Size 0.90 em
   \newcommand  \WhiteLeftTriangleI                              {\lgx{E444}\relax}   % White Left Triangle Size 1.00 em
                                                                                                                               
   \newcommand  \BlackLeftTriangleA                              {\lgx{E3CC}\relax}   % Black Left Triangle Size 0.20 em
   \newcommand  \BlackLeftTriangleB                              {\lgx{E3DC}\relax}   % Black Left Triangle Size 0.30 em
   \newcommand  \BlackLeftTriangleC                              {\lgx{E3EC}\relax}   % Black Left Triangle Size 0.40 em
   \newcommand  \BlackLeftTriangleD                              {\lgx{E3FC}\relax}   % Black Left Triangle Size 0.50 em
   \newcommand  \BlackLeftTriangleE                              {\lgx{E40C}\relax}   % Black Left Triangle Size 0.60 em
   \newcommand  \BlackLeftTriangleF                              {\lgx{E41C}\relax}   % Black Left Triangle Size 0.70 em
   \newcommand  \BlackLeftTriangleG                              {\lgx{E42C}\relax}   % Black Left Triangle Size 0.80 em
   \newcommand  \BlackLeftTriangleH                              {\lgx{E43C}\relax}   % Black Left Triangle Size 0.90 em
   \newcommand  \BlackLeftTriangleI                              {\lgx{E44C}\relax}   % Black Left Triangle Size 1.00 em
                                                                                                                               
   \newcommand  \WhiteUpTriangleA                                {\lgx{E3C5}\relax}   % White Up Triangle Size 0.20 em
   \newcommand  \WhiteUpTriangleB                                {\lgx{E3D5}\relax}   % White Up Triangle Size 0.30 em
   \newcommand  \WhiteUpTriangleC                                {\lgx{E3E5}\relax}   % White Up Triangle Size 0.40 em
   \newcommand  \WhiteUpTriangleD                                {\lgx{E3F5}\relax}   % White Up Triangle Size 0.50 em
   \newcommand  \WhiteUpTriangleE                                {\lgx{E405}\relax}   % White Up Triangle Size 0.60 em
   \newcommand  \WhiteUpTriangleF                                {\lgx{E415}\relax}   % White Up Triangle Size 0.70 em
   \newcommand  \WhiteUpTriangleG                                {\lgx{E425}\relax}   % White Up Triangle Size 0.80 em
   \newcommand  \WhiteUpTriangleH                                {\lgx{E435}\relax}   % White Up Triangle Size 0.90 em
   \newcommand  \WhiteUpTriangleI                                {\lgx{E445}\relax}   % White Up Triangle Size 1.00 em
                                                                                                                               
   \newcommand  \BlackUpTriangleA                                {\lgx{E3CD}\relax}   % Black Up Triangle Size 0.20 em
   \newcommand  \BlackUpTriangleB                                {\lgx{E3DD}\relax}   % Black Up Triangle Size 0.30 em
   \newcommand  \BlackUpTriangleC                                {\lgx{E3ED}\relax}   % Black Up Triangle Size 0.40 em
   \newcommand  \BlackUpTriangleD                                {\lgx{E3FD}\relax}   % Black Up Triangle Size 0.50 em
   \newcommand  \BlackUpTriangleE                                {\lgx{E40D}\relax}   % Black Up Triangle Size 0.60 em
   \newcommand  \BlackUpTriangleF                                {\lgx{E41D}\relax}   % Black Up Triangle Size 0.70 em
   \newcommand  \BlackUpTriangleG                                {\lgx{E42D}\relax}   % Black Up Triangle Size 0.80 em
   \newcommand  \BlackUpTriangleH                                {\lgx{E43D}\relax}   % Black Up Triangle Size 0.90 em
   \newcommand  \BlackUpTriangleI                                {\lgx{E44D}\relax}   % Black Up Triangle Size 1.00 em
                                                                                                                               
   \newcommand  \WhiteDownTriangleA                              {\lgx{E3C6}\relax}   % White Down Triangle Size 0.20 em
   \newcommand  \WhiteDownTriangleB                              {\lgx{E3D6}\relax}   % White Down Triangle Size 0.30 em
   \newcommand  \WhiteDownTriangleC                              {\lgx{E3E6}\relax}   % White Down Triangle Size 0.40 em
   \newcommand  \WhiteDownTriangleD                              {\lgx{E3F6}\relax}   % White Down Triangle Size 0.50 em
   \newcommand  \WhiteDownTriangleE                              {\lgx{E406}\relax}   % White Down Triangle Size 0.60 em
   \newcommand  \WhiteDownTriangleF                              {\lgx{E416}\relax}   % White Down Triangle Size 0.70 em
   \newcommand  \WhiteDownTriangleG                              {\lgx{E426}\relax}   % White Down Triangle Size 0.80 em
   \newcommand  \WhiteDownTriangleH                              {\lgx{E436}\relax}   % White Down Triangle Size 0.90 em
   \newcommand  \WhiteDownTriangleI                              {\lgx{E446}\relax}   % White Down Triangle Size 1.00 em
                                                                                                                               
   \newcommand  \BlackDownTriangleA                              {\lgx{E3CE}\relax}   % Black Down Triangle Size 0.20 em
   \newcommand  \BlackDownTriangleB                              {\lgx{E3DE}\relax}   % Black Down Triangle Size 0.30 em
   \newcommand  \BlackDownTriangleC                              {\lgx{E3EE}\relax}   % Black Down Triangle Size 0.40 em
   \newcommand  \BlackDownTriangleD                              {\lgx{E3FE}\relax}   % Black Down Triangle Size 0.50 em
   \newcommand  \BlackDownTriangleE                              {\lgx{E40E}\relax}   % Black Down Triangle Size 0.60 em
   \newcommand  \BlackDownTriangleF                              {\lgx{E41E}\relax}   % Black Down Triangle Size 0.70 em
   \newcommand  \BlackDownTriangleG                              {\lgx{E42E}\relax}   % Black Down Triangle Size 0.80 em
   \newcommand  \BlackDownTriangleH                              {\lgx{E43E}\relax}   % Black Down Triangle Size 0.90 em
   \newcommand  \BlackDownTriangleI                              {\lgx{E44E}\relax}   % Black Down Triangle Size 1.00 em

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

%
%   Define alphanumeric symbols. Twenty scripts are provided. Some of these
% overlap with the math fonts provided by STIX2 with minor differences. In
% particular, every Latin script has an associated set of digits, which as
% far as possible match the font. Unicode does not provide all sets of digits
% and for some scripts may omit some letters. Additionally, the main three
% scripts: sans-serif, slab serif and normal serif all are represented as
% upright, italic/slanted, bold, and bold italic/slanted.
%
%   Each script is identified by three letters.The first two letters
% provide the major classification of the font.
%
%    sa - Sans serif
%    sl - Slab serif
%    sr - Normal serif
%    cl - Calligraphic
%    bl - Blackboard
%    fr - Fraktur
%    mn - Monospace
%    gr - Greek
%
% The first letter is upper case for bold scripts and otherwise lower case. The
% third letter is either 'u' for upright or 'i' for italic / slanted. Except for
% Sans serif, slab serif and normal serif not all of the four script styles are
% present.
%
% The complete list of scripts is:
%
%    Sans serif font.                           sau
%    Sans serif, italic font.                   sai
%    Sans serif, bold font.                     Sau
%    Sans serif, bold, oblique font.            Sai
%
%    Slab serif font.                           slu
%    Slab serif, italic font.                   sli
%    Slab serif, bold font.                     Slu
%    Slab serif, bold, oblique font.            Sli
%
%    Normal serif font.                         sru
%    Normal serif, italic font.                 sri
%    Normal serif, bold font.                   Sru
%    Normal serif, bold, italic font.           Sri
%
%    Calligraphic script font.                  cli
%    Calligraphic script bold font.             Cli
%
%    Fraktur font.                              fru
%    Fraktur bold font.                         Fru
%
%    Monospace slab-serif font.                 mnu
%    Monospace serif, italic font.              mni
%
%    Greek font.                                gru
%    Greek, italic font.                        gri
%
%    Blackboard font.                           blu
%
%    Individual letters are available as xxx<name> where xxx is one of the
% above and <name> is the letter and for latin scripts is one of: zero, one,
% two, three, four, five, six, seven, eight, nine, a-z or A-Z. Thus, for
% example, SluX is a slab serif, bold upper case 'X'. In addition to the
% scripts listed above, "Knt" is the same as "mni" except that each digit
% or letter is raised by 0.433em, and is intended for use with the Knt
% symbols.
%
%    Each script has a symXxx and mathXxx macro which can be used in math mode
% where 'Xxx' is the three letters that identify the script. So, the slab serif
% bold font has the symSlu and mathSlu macros. Unlike the unicode-math package,
% these scripts do not provide the \partial and \nabla symbols. Also unlike the
% unicode-math package, the Greek scripts do not change due to context. The symmni
% and mathmni macros space out adjacent letters unlike the the other macros.
%
% Synonyms for some of the symXxx macros are provided for use in logic.
%
%    \prop     \symsau   Upright sans-serif variables.
%    \propi    \symsai   Italic sans-serif variables.
%    \meta     \symSau   Bold sans-serif variables.
%    \metai    \symSai   Bold, italic sans-serif variables.
%
%    \bnch     \symslu   Upright slab-serif variables.
%    \bnchi    \symsli   Italic slab-serif variables.
%    \bnchb    \symSlu   Bold slab-serif variables.
%    \bnchbi   \symSli   Bold, italic slab-serif variables.
%
%    \vrbl     \symsru   Upright serif variables.
%    \vrbli    \symsri   Italic serif variables.
%    \vrblb    \symSru   Bold serif variables.
%    \vrblbi   \symSri   Bold, italic serif variables.
%
%    \vrblc    \symcli   Calligraphic variables.
%    \vrblC    \symCli   Calligraphic bold variables.
%
%    \vrblf    \symfru   Fraktur variables.
%    \vrblF    \symFru   Bold, Fraktur variables.
%
%    \mono     \symmnu   Monospace slab-serif variables.
%    \monoi    \symmni   Monospace, italic slab-serif variables.
%
%    \vrbld    \symblu   Blackboard / double struck variables
%

   \newcommand    \defineLatinScriptMacro[3] {%
\Umathcode "30 = "#3 \symLogix \numexpr "#1 + "30\relax%
\Umathcode "31 = "#3 \symLogix \numexpr "#1 + "31\relax%
\Umathcode "32 = "#3 \symLogix \numexpr "#1 + "32\relax%
\Umathcode "33 = "#3 \symLogix \numexpr "#1 + "33\relax%
\Umathcode "34 = "#3 \symLogix \numexpr "#1 + "34\relax%
\Umathcode "35 = "#3 \symLogix \numexpr "#1 + "35\relax%
\Umathcode "36 = "#3 \symLogix \numexpr "#1 + "36\relax%
\Umathcode "37 = "#3 \symLogix \numexpr "#1 + "37\relax%
\Umathcode "38 = "#3 \symLogix \numexpr "#1 + "38\relax%
\Umathcode "39 = "#3 \symLogix \numexpr "#1 + "39\relax%
%
\Umathcode "41 = "#3 \symLogix \numexpr "#2 + "41\relax%
\Umathcode "42 = "#3 \symLogix \numexpr "#2 + "42\relax%
\Umathcode "43 = "#3 \symLogix \numexpr "#2 + "43\relax%
\Umathcode "44 = "#3 \symLogix \numexpr "#2 + "44\relax%
\Umathcode "45 = "#3 \symLogix \numexpr "#2 + "45\relax%
\Umathcode "46 = "#3 \symLogix \numexpr "#2 + "46\relax%
\Umathcode "47 = "#3 \symLogix \numexpr "#2 + "47\relax%
\Umathcode "48 = "#3 \symLogix \numexpr "#2 + "48\relax%
\Umathcode "49 = "#3 \symLogix \numexpr "#2 + "49\relax%
\Umathcode "4A = "#3 \symLogix \numexpr "#2 + "4A\relax%
\Umathcode "4B = "#3 \symLogix \numexpr "#2 + "4B\relax%
\Umathcode "4C = "#3 \symLogix \numexpr "#2 + "4C\relax%
\Umathcode "4D = "#3 \symLogix \numexpr "#2 + "4D\relax%
\Umathcode "4E = "#3 \symLogix \numexpr "#2 + "4E\relax%
\Umathcode "4F = "#3 \symLogix \numexpr "#2 + "4F\relax%
\Umathcode "50 = "#3 \symLogix \numexpr "#2 + "50\relax%
\Umathcode "51 = "#3 \symLogix \numexpr "#2 + "51\relax%
\Umathcode "52 = "#3 \symLogix \numexpr "#2 + "52\relax%
\Umathcode "53 = "#3 \symLogix \numexpr "#2 + "53\relax%
\Umathcode "54 = "#3 \symLogix \numexpr "#2 + "54\relax%
\Umathcode "55 = "#3 \symLogix \numexpr "#2 + "55\relax%
\Umathcode "56 = "#3 \symLogix \numexpr "#2 + "56\relax%
\Umathcode "57 = "#3 \symLogix \numexpr "#2 + "57\relax%
\Umathcode "58 = "#3 \symLogix \numexpr "#2 + "58\relax%
\Umathcode "59 = "#3 \symLogix \numexpr "#2 + "59\relax%
\Umathcode "5A = "#3 \symLogix \numexpr "#2 + "5A\relax%
%
\Umathcode "61 = "#3 \symLogix \numexpr "#2 + "61\relax%
\Umathcode "62 = "#3 \symLogix \numexpr "#2 + "62\relax%
\Umathcode "63 = "#3 \symLogix \numexpr "#2 + "63\relax%
\Umathcode "64 = "#3 \symLogix \numexpr "#2 + "64\relax%
\Umathcode "65 = "#3 \symLogix \numexpr "#2 + "65\relax%
\Umathcode "66 = "#3 \symLogix \numexpr "#2 + "66\relax%
\Umathcode "67 = "#3 \symLogix \numexpr "#2 + "67\relax%
\Umathcode "68 = "#3 \symLogix \numexpr "#2 + "68\relax%
\Umathcode "69 = "#3 \symLogix \numexpr "#2 + "69\relax%
\Umathcode "6A = "#3 \symLogix \numexpr "#2 + "6A\relax%
\Umathcode "6B = "#3 \symLogix \numexpr "#2 + "6B\relax%
\Umathcode "6C = "#3 \symLogix \numexpr "#2 + "6C\relax%
\Umathcode "6D = "#3 \symLogix \numexpr "#2 + "6D\relax%
\Umathcode "6E = "#3 \symLogix \numexpr "#2 + "6E\relax%
\Umathcode "6F = "#3 \symLogix \numexpr "#2 + "6F\relax%
\Umathcode "70 = "#3 \symLogix \numexpr "#2 + "70\relax%
\Umathcode "71 = "#3 \symLogix \numexpr "#2 + "71\relax%
\Umathcode "72 = "#3 \symLogix \numexpr "#2 + "72\relax%
\Umathcode "73 = "#3 \symLogix \numexpr "#2 + "73\relax%
\Umathcode "74 = "#3 \symLogix \numexpr "#2 + "74\relax%
\Umathcode "75 = "#3 \symLogix \numexpr "#2 + "75\relax%
\Umathcode "76 = "#3 \symLogix \numexpr "#2 + "76\relax%
\Umathcode "77 = "#3 \symLogix \numexpr "#2 + "77\relax%
\Umathcode "78 = "#3 \symLogix \numexpr "#2 + "78\relax%
\Umathcode "79 = "#3 \symLogix \numexpr "#2 + "79\relax%
\Umathcode "7A = "#3 \symLogix \numexpr "#2 + "7A\relax}

   \newcommand    \defineLatinScript[3] {%
\expandafter\def\csname #1Zero\endcsname{\ensuremath{\Umathchar  7 \symLogix \numexpr "#2 + "30}}% Latin digit 0
\expandafter\def\csname #1One\endcsname{\ensuremath{\Umathchar   7 \symLogix \numexpr "#2 + "31}}% Latin digit 1
\expandafter\def\csname #1Two\endcsname{\ensuremath{\Umathchar   7 \symLogix \numexpr "#2 + "32}}% Latin digit 2
\expandafter\def\csname #1Three\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#2 + "33}}% Latin digit 3
\expandafter\def\csname #1Four\endcsname{\ensuremath{\Umathchar  7 \symLogix \numexpr "#2 + "34}}% Latin digit 4
\expandafter\def\csname #1Five\endcsname{\ensuremath{\Umathchar  7 \symLogix \numexpr "#2 + "35}}% Latin digit 5
\expandafter\def\csname #1Six\endcsname{\ensuremath{\Umathchar   7 \symLogix \numexpr "#2 + "36}}% Latin digit 6
\expandafter\def\csname #1Seven\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#2 + "37}}% Latin digit 7
\expandafter\def\csname #1Eight\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#2 + "38}}% Latin digit 8
\expandafter\def\csname #1Nine\endcsname{\ensuremath{\Umathchar  7 \symLogix \numexpr "#2 + "39}}% Latin digit 9
%
\expandafter\def\csname #1A\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "41}}%     Latin letter A
\expandafter\def\csname #1B\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "42}}%     Latin letter B
\expandafter\def\csname #1C\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "43}}%     Latin letter C
\expandafter\def\csname #1D\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "44}}%     Latin letter D
\expandafter\def\csname #1E\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "45}}%     Latin letter E
\expandafter\def\csname #1F\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "46}}%     Latin letter F
\expandafter\def\csname #1G\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "47}}%     Latin letter G
\expandafter\def\csname #1H\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "48}}%     Latin letter H
\expandafter\def\csname #1I\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "49}}%     Latin letter I
\expandafter\def\csname #1J\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "4A}}%     Latin letter J
\expandafter\def\csname #1K\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "4B}}%     Latin letter K
\expandafter\def\csname #1L\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "4C}}%     Latin letter L
\expandafter\def\csname #1M\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "4D}}%     Latin letter M
\expandafter\def\csname #1N\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "4E}}%     Latin letter N
\expandafter\def\csname #1O\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "4F}}%     Latin letter O
\expandafter\def\csname #1P\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "50}}%     Latin letter P
\expandafter\def\csname #1Q\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "51}}%     Latin letter Q
\expandafter\def\csname #1R\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "52}}%     Latin letter R
\expandafter\def\csname #1S\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "53}}%     Latin letter S
\expandafter\def\csname #1T\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "54}}%     Latin letter T
\expandafter\def\csname #1U\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "55}}%     Latin letter U
\expandafter\def\csname #1V\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "56}}%     Latin letter V
\expandafter\def\csname #1W\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "57}}%     Latin letter W
\expandafter\def\csname #1X\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "58}}%     Latin letter X
\expandafter\def\csname #1Y\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "59}}%     Latin letter Y
\expandafter\def\csname #1Z\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "5A}}%     Latin letter Z
%
\expandafter\def\csname #1a\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "61}}%     Latin letter a
\expandafter\def\csname #1b\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "62}}%     Latin letter b
\expandafter\def\csname #1c\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "63}}%     Latin letter c
\expandafter\def\csname #1d\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "64}}%     Latin letter d
\expandafter\def\csname #1e\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "65}}%     Latin letter e
\expandafter\def\csname #1f\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "66}}%     Latin letter f
\expandafter\def\csname #1g\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "67}}%     Latin letter g
\expandafter\def\csname #1h\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "68}}%     Latin letter h
\expandafter\def\csname #1i\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "69}}%     Latin letter i
\expandafter\def\csname #1j\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "6A}}%     Latin letter j
\expandafter\def\csname #1k\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "6B}}%     Latin letter k
\expandafter\def\csname #1l\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "6C}}%     Latin letter l
\expandafter\def\csname #1m\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "6D}}%     Latin letter m
\expandafter\def\csname #1n\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "6E}}%     Latin letter n
\expandafter\def\csname #1o\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "6F}}%     Latin letter o
\expandafter\def\csname #1p\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "70}}%     Latin letter p
\expandafter\def\csname #1q\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "71}}%     Latin letter q
\expandafter\def\csname #1r\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "72}}%     Latin letter r
\expandafter\def\csname #1s\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "73}}%     Latin letter s
\expandafter\def\csname #1t\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "74}}%     Latin letter t
\expandafter\def\csname #1u\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "75}}%     Latin letter u
\expandafter\def\csname #1v\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "76}}%     Latin letter v
\expandafter\def\csname #1w\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "77}}%     Latin letter w
\expandafter\def\csname #1x\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "78}}%     Latin letter x
\expandafter\def\csname #1y\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "79}}%     Latin letter y
\expandafter\def\csname #1z\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#3 + "7A}}}%    Latin letter z

   \newcommand    \defineGreekScriptMacro[2] {%
\Umathcode "391 = "#2 \symLogix \numexpr "#1 + "21\relax%  Greek upper case letter Alpha
\Umathcode "392 = "#2 \symLogix \numexpr "#1 + "22\relax%  Greek upper case letter Beta
\Umathcode "393 = "#2 \symLogix \numexpr "#1 + "23\relax%  Greek upper case letter Gamma
\Umathcode "394 = "#2 \symLogix \numexpr "#1 + "24\relax%  Greek upper case letter Delta
\Umathcode "395 = "#2 \symLogix \numexpr "#1 + "25\relax%  Greek upper case letter Epsilon
\Umathcode "396 = "#2 \symLogix \numexpr "#1 + "26\relax%  Greek upper case letter Zeta
\Umathcode "397 = "#2 \symLogix \numexpr "#1 + "27\relax%  Greek upper case letter Eta
\Umathcode "398 = "#2 \symLogix \numexpr "#1 + "28\relax%  Greek upper case letter Theta
\Umathcode "399 = "#2 \symLogix \numexpr "#1 + "29\relax%  Greek upper case letter Iota
\Umathcode "39A = "#2 \symLogix \numexpr "#1 + "2A\relax%  Greek upper case letter Kappa
\Umathcode "39B = "#2 \symLogix \numexpr "#1 + "2B\relax%  Greek upper case letter Lambda
\Umathcode "39C = "#2 \symLogix \numexpr "#1 + "2C\relax%  Greek upper case letter Mu
\Umathcode "39D = "#2 \symLogix \numexpr "#1 + "2D\relax%  Greek upper case letter Nu
\Umathcode "39E = "#2 \symLogix \numexpr "#1 + "2E\relax%  Greek upper case letter Xi
\Umathcode "39F = "#2 \symLogix \numexpr "#1 + "2F\relax%  Greek upper case letter Omicron
\Umathcode "3A0 = "#2 \symLogix \numexpr "#1 + "30\relax%  Greek upper case letter Pi
\Umathcode "3A1 = "#2 \symLogix \numexpr "#1 + "31\relax%  Greek upper case letter Rho
\Umathcode "3A3 = "#2 \symLogix \numexpr "#1 + "32\relax%  Greek upper case letter Sigma
\Umathcode "3A4 = "#2 \symLogix \numexpr "#1 + "33\relax%  Greek upper case letter Tau
\Umathcode "3A5 = "#2 \symLogix \numexpr "#1 + "34\relax%  Greek upper case letter Upsilon
\Umathcode "3A6 = "#2 \symLogix \numexpr "#1 + "35\relax%  Greek upper case letter Phi
\Umathcode "3A7 = "#2 \symLogix \numexpr "#1 + "36\relax%  Greek upper case letter Chi
\Umathcode "3A8 = "#2 \symLogix \numexpr "#1 + "37\relax%  Greek upper case letter Psi
\Umathcode "3A9 = "#2 \symLogix \numexpr "#1 + "38\relax%  Greek upper case letter Omega
%
\Umathcode "3B1 = "#2 \symLogix \numexpr "#1 + "41\relax%  Greek lower case letter alpha
\Umathcode "3B2 = "#2 \symLogix \numexpr "#1 + "42\relax%  Greek lower case letter beta
\Umathcode "3B3 = "#2 \symLogix \numexpr "#1 + "43\relax%  Greek lower case letter gamma
\Umathcode "3B4 = "#2 \symLogix \numexpr "#1 + "44\relax%  Greek lower case letter delta
\Umathcode "3F5 = "#2 \symLogix \numexpr "#1 + "45\relax%  Greek lower case letter epsilon
\Umathcode "3B6 = "#2 \symLogix \numexpr "#1 + "46\relax%  Greek lower case letter zeta
\Umathcode "3B7 = "#2 \symLogix \numexpr "#1 + "47\relax%  Greek lower case letter eta
\Umathcode "3B8 = "#2 \symLogix \numexpr "#1 + "48\relax%  Greek lower case letter theta
\Umathcode "3B9 = "#2 \symLogix \numexpr "#1 + "49\relax%  Greek lower case letter iota
\Umathcode "3BA = "#2 \symLogix \numexpr "#1 + "4A\relax%  Greek lower case letter kappa
\Umathcode "3BB = "#2 \symLogix \numexpr "#1 + "4B\relax%  Greek lower case letter lambda
\Umathcode "3BC = "#2 \symLogix \numexpr "#1 + "4C\relax%  Greek lower case letter mu
\Umathcode "3BD = "#2 \symLogix \numexpr "#1 + "4D\relax%  Greek lower case letter nu
\Umathcode "3BE = "#2 \symLogix \numexpr "#1 + "4E\relax%  Greek lower case letter xi
\Umathcode "3BF = "#2 \symLogix \numexpr "#1 + "4F\relax%  Greek lower case letter omicron
\Umathcode "3C0 = "#2 \symLogix \numexpr "#1 + "50\relax%  Greek lower case letter pi
\Umathcode "3C1 = "#2 \symLogix \numexpr "#1 + "51\relax%  Greek lower case letter rho
\Umathcode "3C3 = "#2 \symLogix \numexpr "#1 + "52\relax%  Greek lower case letter sigma
\Umathcode "3C4 = "#2 \symLogix \numexpr "#1 + "53\relax%  Greek lower case letter tau
\Umathcode "3C5 = "#2 \symLogix \numexpr "#1 + "54\relax%  Greek lower case letter upsilon
\Umathcode "3D5 = "#2 \symLogix \numexpr "#1 + "55\relax%  Greek lower case letter phi
\Umathcode "3C7 = "#2 \symLogix \numexpr "#1 + "56\relax%  Greek lower case letter chi
\Umathcode "3C8 = "#2 \symLogix \numexpr "#1 + "57\relax%  Greek lower case letter psi
\Umathcode "3C9 = "#2 \symLogix \numexpr "#1 + "58\relax%  Greek lower case letter omega
%
\Umathcode "3B5 = "#2 \symLogix \numexpr "#1 + "65\relax%  Greek lower case letter variant varepsilon
\Umathcode "3D1 = "#2 \symLogix \numexpr "#1 + "68\relax%  Greek lower case letter variant vartheta
\Umathcode "3D6 = "#2 \symLogix \numexpr "#1 + "70\relax%  Greek lower case letter variant varpi
\Umathcode "3F1 = "#2 \symLogix \numexpr "#1 + "71\relax%  Greek lower case letter variant varrho
\Umathcode "3C2 = "#2 \symLogix \numexpr "#1 + "72\relax%  Greek lower case letter variant varsigma
\Umathcode "3C6 = "#2 \symLogix \numexpr "#1 + "75\relax}% Greek lower case letter variant varphi

   \newcommand    \defineGreekScript[3] {%
\expandafter\def\csname #1Alpha\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "21}}%  Greek upper case Alpha
\expandafter\def\csname #1Beta\endcsname{\ensuremath{      \Umathchar 7 \symLogix \numexpr "#2 + "22}}%  Greek upper case Beta
\expandafter\def\csname #1Gamma\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "23}}%  Greek upper case Gamma
\expandafter\def\csname #1Delta\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "24}}%  Greek upper case Delta
\expandafter\def\csname #1Epsilon\endcsname{\ensuremath{   \Umathchar 7 \symLogix \numexpr "#2 + "25}}%  Greek upper case Epsilon
\expandafter\def\csname #1Zeta\endcsname{\ensuremath{      \Umathchar 7 \symLogix \numexpr "#2 + "26}}%  Greek upper case Zeta
\expandafter\def\csname #1Eta\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "27}}%  Greek upper case Eta
\expandafter\def\csname #1Theta\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "28}}%  Greek upper case Theta
\expandafter\def\csname #1Iota\endcsname{\ensuremath{      \Umathchar 7 \symLogix \numexpr "#2 + "29}}%  Greek upper case Iota
\expandafter\def\csname #1Kappa\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "2A}}%  Greek upper case Kappa
\expandafter\def\csname #1Lambda\endcsname{\ensuremath{    \Umathchar 7 \symLogix \numexpr "#2 + "2B}}%  Greek upper case Lambda
\expandafter\def\csname #1Mu\endcsname{\ensuremath{        \Umathchar 7 \symLogix \numexpr "#2 + "2C}}%  Greek upper case Mu
\expandafter\def\csname #1Nu\endcsname{\ensuremath{        \Umathchar 7 \symLogix \numexpr "#2 + "2D}}%  Greek upper case Nu
\expandafter\def\csname #1Xi\endcsname{\ensuremath{        \Umathchar 7 \symLogix \numexpr "#2 + "2E}}%  Greek upper case Xi
\expandafter\def\csname #1Omicron\endcsname{\ensuremath{   \Umathchar 7 \symLogix \numexpr "#2 + "2F}}%  Greek upper case Omicron
\expandafter\def\csname #1Pi\endcsname{\ensuremath{        \Umathchar 7 \symLogix \numexpr "#2 + "30}}%  Greek upper case Pi
\expandafter\def\csname #1Rho\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "31}}%  Greek upper case Rho
\expandafter\def\csname #1Sigma\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "32}}%  Greek upper case Sigma
\expandafter\def\csname #1Tau\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "33}}%  Greek upper case Tau
\expandafter\def\csname #1Upsilon\endcsname{\ensuremath{   \Umathchar 7 \symLogix \numexpr "#2 + "34}}%  Greek upper case Upsilon
\expandafter\def\csname #1Phi\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "35}}%  Greek upper case Phi
\expandafter\def\csname #1Chi\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "36}}%  Greek upper case Chi
\expandafter\def\csname #1Psi\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "37}}%  Greek upper case Psi
\expandafter\def\csname #1Omega\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "38}}%  Greek upper case Omega
%
\expandafter\def\csname #1alpha\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "41}}%  Greek lower case alpha
\expandafter\def\csname #1beta\endcsname{\ensuremath{      \Umathchar 7 \symLogix \numexpr "#2 + "42}}%  Greek lower case beta
\expandafter\def\csname #1gamma\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "43}}%  Greek lower case gamma
\expandafter\def\csname #1delta\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "44}}%  Greek lower case delta
\expandafter\def\csname #1epsilon\endcsname{\ensuremath{   \Umathchar 7 \symLogix \numexpr "#2 + "45}}%  Greek lower case epsilon
\expandafter\def\csname #1zeta\endcsname{\ensuremath{      \Umathchar 7 \symLogix \numexpr "#2 + "46}}%  Greek lower case zeta
\expandafter\def\csname #1eta\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "47}}%  Greek lower case eta
\expandafter\def\csname #1theta\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "48}}%  Greek lower case theta
\expandafter\def\csname #1iota\endcsname{\ensuremath{      \Umathchar 7 \symLogix \numexpr "#2 + "49}}%  Greek lower case iota
\expandafter\def\csname #1kappa\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "4A}}%  Greek lower case kappa
\expandafter\def\csname #1lambda\endcsname{\ensuremath{    \Umathchar 7 \symLogix \numexpr "#2 + "4B}}%  Greek lower case lambda
\expandafter\def\csname #1mu\endcsname{\ensuremath{        \Umathchar 7 \symLogix \numexpr "#2 + "4C}}%  Greek lower case mu
\expandafter\def\csname #1nu\endcsname{\ensuremath{        \Umathchar 7 \symLogix \numexpr "#2 + "4D}}%  Greek lower case nu
\expandafter\def\csname #1xi\endcsname{\ensuremath{        \Umathchar 7 \symLogix \numexpr "#2 + "4E}}%  Greek lower case xi
\expandafter\def\csname #1omicron\endcsname{\ensuremath{   \Umathchar 7 \symLogix \numexpr "#2 + "4F}}%  Greek lower case omicron
\expandafter\def\csname #1pi\endcsname{\ensuremath{        \Umathchar 7 \symLogix \numexpr "#2 + "50}}%  Greek lower case pi
\expandafter\def\csname #1rho\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "51}}%  Greek lower case rho
\expandafter\def\csname #1sigma\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "52}}%  Greek lower case sigma
\expandafter\def\csname #1tau\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "53}}%  Greek lower case tau
\expandafter\def\csname #1upsilon\endcsname{\ensuremath{   \Umathchar 7 \symLogix \numexpr "#2 + "54}}%  Greek lower case upsilon
\expandafter\def\csname #1phi\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "55}}%  Greek lower case phi
\expandafter\def\csname #1chi\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "56}}%  Greek lower case chi
\expandafter\def\csname #1psi\endcsname{\ensuremath{       \Umathchar 7 \symLogix \numexpr "#2 + "57}}%  Greek lower case psi
\expandafter\def\csname #1omega\endcsname{\ensuremath{     \Umathchar 7 \symLogix \numexpr "#2 + "58}}%  Greek lower case omega
%
\expandafter\def\csname #1varepsilon\endcsname{\ensuremath{\Umathchar 7 \symLogix \numexpr "#2 + "65}}%  Greek lower case variant epsilon
\expandafter\def\csname #1vartheta\endcsname {\ensuremath{ \Umathchar 7 \symLogix \numexpr "#2 + "68}}%  Greek lower case variant theta
\expandafter\def\csname #1varpi\endcsname {\ensuremath{    \Umathchar 7 \symLogix \numexpr "#2 + "70}}%  Greek lower case variant pi
\expandafter\def\csname #1varrho\endcsname{\ensuremath{    \Umathchar 7 \symLogix \numexpr "#2 + "71}}%  Greek lower case variant rho
\expandafter\def\csname #1varsigma\endcsname{\ensuremath{  \Umathchar 7 \symLogix \numexpr "#2 + "72}}%  Greek lower case variant sigma
\expandafter\def\csname #1varphi\endcsname{\ensuremath{    \Umathchar 7 \symLogix \numexpr "#2 + "75}}}% Greek lower case variant phi

% Sans serif font.

   \newcommand  \sauNbrBase       {F0F0}
   \newcommand  \sauLtrBase       {F640}

   \defineLatinScript{sau}{\sauNbrBase}{\sauLtrBase}

   \newcommand \symsau[1]  {{\defineLatinScriptMacro{\sauNbrBase}{\sauLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathsau[1] {{\defineLatinScriptMacro{\sauNbrBase}{\sauLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Prop}{\sauNbrBase}{\sauLtrBase}

   \newcommand \prop[1] {{\defineLatinScriptMacro{\sauNbrBase}{\sauLtrBase}{0}\ensuremath{#1}}}

% Sans serif, italic font.

   \newcommand  \saiNbrBase       {F000}
   \newcommand  \saiLtrBase       {F000}

   \defineLatinScript{sai}{\saiNbrBase}{\saiLtrBase}

   \newcommand \symsai[1]  {{\defineLatinScriptMacro{\saiNbrBase}{\saiLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathsai[1] {{\defineLatinScriptMacro{\saiNbrBase}{\saiLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Propi}{\saiNbrBase}{\saiLtrBase}

   \newcommand \propi[1] {{\defineLatinScriptMacro{\saiNbrBase}{\saiLtrBase}{0}\ensuremath{#1}}}

% Sans serif, bold font.

   \newcommand  \SauNbrBase       {F080}
   \newcommand  \SauLtrBase       {F080}

   \defineLatinScript{Sau}{\SauNbrBase}{\SauLtrBase}

   \newcommand \symSau[1]  {{\defineLatinScriptMacro{\SauNbrBase}{\SauLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathSau[1] {{\defineLatinScriptMacro{\SauNbrBase}{\SauLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Meta}{\SauNbrBase}{\SauLtrBase}

   \newcommand \meta[1] {{\defineLatinScriptMacro{\SauNbrBase}{\SauLtrBase}{0}\ensuremath{#1}}}

% Sans serif, bold, italic font.

   \newcommand  \SaiNbrBase       {F100}
   \newcommand  \SaiLtrBase       {F100}

   \defineLatinScript{Sai}{\SaiNbrBase}{\SaiLtrBase}

   \newcommand \symSai[1]  {{\defineLatinScriptMacro{\SaiNbrBase}{\SaiLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathSai[1] {{\defineLatinScriptMacro{\SaiNbrBase}{\SaiLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Metai}{\SaiNbrBase}{\SaiLtrBase}

   \newcommand \metai[1]  {{\defineLatinScriptMacro{\SaiNbrBase}{\SaiLtrBase}{0}\ensuremath{#1}}}

% Slab serif font.

   \newcommand  \sluNbrBase       {F180}
   \newcommand  \sluLtrBase       {F180}

   \defineLatinScript{slu}{\sluNbrBase}{\sluLtrBase}

   \newcommand \symslu[1]  {{\defineLatinScriptMacro{\sluNbrBase}{\sluLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathslu[1] {{\defineLatinScriptMacro{\sluNbrBase}{\sluLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Bnch}{\sluNbrBase}{\sluLtrBase}

   \newcommand \bnch[1]  {{\defineLatinScriptMacro{\sluNbrBase}{\sluLtrBase}{0}\ensuremath{#1}}}

% Slab serif, italic font.

   \newcommand  \sliNbrBase       {F200}
   \newcommand  \sliLtrBase       {F200}

   \defineLatinScript{sli}{\sliNbrBase}{\sliLtrBase}

   \newcommand \symsli[1]  {{\defineLatinScriptMacro{\sliNbrBase}{\sliLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathsli[1] {{\defineLatinScriptMacro{\sliNbrBase}{\sliLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Bnchi}{\sliNbrBase}{\sliLtrBase}

   \newcommand \bnchi[1]  {{\defineLatinScriptMacro{\sliNbrBase}{\sliLtrBase}{0}\ensuremath{#1}}}

% Slab serif, bold font.

   \newcommand  \SluNbrBase       {F280}
   \newcommand  \SluLtrBase       {F280}

   \defineLatinScript{Slu}{\SluNbrBase}{\SluLtrBase}

   \newcommand \symSlu[1]  {{\defineLatinScriptMacro{\SluNbrBase}{\SluLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathSlu[1] {{\defineLatinScriptMacro{\SluNbrBase}{\SluLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Bnchb}{\SluNbrBase}{\SluLtrBase}

   \newcommand \bnchb[1]  {{\defineLatinScriptMacro{\SluNbrBase}{\SluLtrBase}{0}\ensuremath{#1}}}

% Slab serif, bold, italic font.

   \newcommand  \SliNbrBase       {F300}
   \newcommand  \SliLtrBase       {F300}

   \defineLatinScript{Sli}{\SliNbrBase}{\SliLtrBase}

   \newcommand \symSli[1]  {{\defineLatinScriptMacro{\SliNbrBase}{\SliLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathSli[1] {{\defineLatinScriptMacro{\SliNbrBase}{\SliLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Bnchbi}{\SliNbrBase}{\SliLtrBase}

   \newcommand \bnchbi[1]  {{\defineLatinScriptMacro{\SliNbrBase}{\SliLtrBase}{0}\ensuremath{#1}}}

% Normal serif font.

   \newcommand  \sruNbrBase       {F380}
   \newcommand  \sruLtrBase       {F380}

   \defineLatinScript{sru}{\sruNbrBase}{\sruLtrBase}

   \newcommand \symsru[1]  {{\defineLatinScriptMacro{\sruNbrBase}{\sruLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathsru[1] {{\defineLatinScriptMacro{\sruNbrBase}{\sruLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Vrbl}{\sruNbrBase}{\sruLtrBase}

   \newcommand \vrbl[1]  {{\defineLatinScriptMacro{\sruNbrBase}{\sruLtrBase}{0}\ensuremath{#1}}}

% Normal serif, italic font.

   \newcommand  \sriNbrBase       {F400}
   \newcommand  \sriLtrBase       {F400}

   \defineLatinScript{sri}{\sriNbrBase}{\sriLtrBase}

   \newcommand \symsri[1]  {{\defineLatinScriptMacro{\sriNbrBase}{\sriLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathsri[1] {{\defineLatinScriptMacro{\sriNbrBase}{\sriLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Vrbli}{\sriNbrBase}{\sriLtrBase}

   \newcommand \vrbli[1]  {{\defineLatinScriptMacro{\sriNbrBase}{\sriLtrBase}{0}\ensuremath{#1}}}

% Normal serif, bold font.

   \newcommand  \SruNbrBase       {F480}
   \newcommand  \SruLtrBase       {F480}

   \defineLatinScript{Sru}{\SruNbrBase}{\SruLtrBase}

   \newcommand \symSru[1]  {{\defineLatinScriptMacro{\SruNbrBase}{\SruLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathSru[1] {{\defineLatinScriptMacro{\SruNbrBase}{\SruLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Vrblb}{\SruNbrBase}{\SruLtrBase}

   \newcommand \vrblb[1]  {{\defineLatinScriptMacro{\SruNbrBase}{\SruLtrBase}{0}\ensuremath{#1}}}

% Normal serif, bold, italic font.

   \newcommand  \SriNbrBase       {F500}
   \newcommand  \SriLtrBase       {F500}

   \defineLatinScript{Sri}{\SriNbrBase}{\SriLtrBase}

   \newcommand \symSri[1]  {{\defineLatinScriptMacro{\SriNbrBase}{\SriLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathSri[1] {{\defineLatinScriptMacro{\SriNbrBase}{\SriLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Vrblbi}{\SriNbrBase}{\SriLtrBase}

   \newcommand \vrblbi[1]  {{\defineLatinScriptMacro{\SriNbrBase}{\SriLtrBase}{0}\ensuremath{#1}}}

% Calligraphic script font.

   \newcommand  \cliNbrBase       {F400}
   \newcommand  \cliLtrBase       {F580}

   \defineLatinScript{cli}{\cliNbrBase}{\cliLtrBase}

   \newcommand \symcli[1]  {{\defineLatinScriptMacro{\cliNbrBase}{\cliLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathcli[1] {{\defineLatinScriptMacro{\cliNbrBase}{\cliLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Vrblc}{\cliNbrBase}{\cliLtrBase}

   \newcommand \vrblc[1]  {{\defineLatinScriptMacro{\cliNbrBase}{\cliLtrBase}{0}\ensuremath{#1}}}

% Calligraphic script bold font.

   \newcommand  \CliNbrBase       {F500}
   \newcommand  \CliLtrBase       {F540}

   \defineLatinScript{Cli}{\CliNbrBase}{\CliLtrBase}

   \newcommand \symCli[1]  {{\defineLatinScriptMacro{\CliNbrBase}{\CliLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathCli[1] {{\defineLatinScriptMacro{\CliNbrBase}{\CliLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{VrblC}{\CliNbrBase}{\CliLtrBase}

   \newcommand \vrblC[1]  {{\defineLatinScriptMacro{\CliNbrBase}{\CliLtrBase}{0}\ensuremath{#1}}}

% Fraktur font.

   \newcommand  \fruNbrBase       {F380}
   \newcommand  \fruLtrBase       {F680}

   \defineLatinScript{fru}{\fruNbrBase}{\fruLtrBase}

   \newcommand \symfru[1]  {{\defineLatinScriptMacro{\fruNbrBase}{\fruLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathfru[1] {{\defineLatinScriptMacro{\fruNbrBase}{\fruLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Vrblf}{\fruNbrBase}{\fruLtrBase}

   \newcommand \vrblf[1]  {{\defineLatinScriptMacro{\fruNbrBase}{\fruLtrBase}{0}\ensuremath{#1}}}

% Fraktur bold font.

   \newcommand  \FruNbrBase       {F480}
   \newcommand  \FruLtrBase       {F700}

   \defineLatinScript{Fru}{\FruNbrBase}{\FruLtrBase}

   \newcommand \symFru[1]  {{\defineLatinScriptMacro{\FruNbrBase}{\FruLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathFru[1] {{\defineLatinScriptMacro{\FruNbrBase}{\FruLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{VrblF}{\FruNbrBase}{\FruLtrBase}

   \newcommand \vrblF[1]  {{\defineLatinScriptMacro{\FruNbrBase}{\FruLtrBase}{0}\ensuremath{#1}}}

% Monospace slab serif font.

   \newcommand  \mnuNbrBase       {F780}
   \newcommand  \mnuLtrBase       {F780}

   \defineLatinScript{mnu}{\mnuNbrBase}{\mnuLtrBase}

   \newcommand \symmnu[1]  {{\defineLatinScriptMacro{\mnuNbrBase}{\mnuLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathmnu[1] {{\defineLatinScriptMacro{\mnuNbrBase}{\mnuLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Mono}{\mnuNbrBase}{\mnuLtrBase}

   \newcommand \mono[1]  {{\defineLatinScriptMacro{\mnuNbrBase}{\mnuLtrBase}{0}\ensuremath{#1}}}

% Monospace, serif, italic font.

   \newcommand  \mniNbrBase       {EF80}
   \newcommand  \mniLtrBase       {EF80}

   \defineLatinScript{mni}{\mniNbrBase}{\mniLtrBase}

   \newcommand \symmni[1]  {{\defineLatinScriptMacro{\mniNbrBase}{\mniLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathmni[1] {{\defineLatinScriptMacro{\mniNbrBase}{\mniLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Monoi}{\mnuNbrBase}{\mnuLtrBase}

   \newcommand \monoi[1]  {{\defineLatinScriptMacro{\mniNbrBase}{\mniLtrBase}{0}\ensuremath{#1}}}

% Blackboard font.

   \newcommand  \bluNbrBase       {F600}
   \newcommand  \bluLtrBase       {F600}

   \defineLatinScript{blu}{\bluNbrBase}{\bluLtrBase}

   \newcommand \symblu[1]  {{\defineLatinScriptMacro{\bluNbrBase}{\bluLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathblu[1] {{\defineLatinScriptMacro{\bluNbrBase}{\bluLtrBase}{7}\ensuremath{#1}}}

   \defineLatinScript{Vrbld}{\bluNbrBase}{\bluLtrBase}

   \newcommand \vrbld[1]  {{\defineLatinScriptMacro{\bluNbrBase}{\bluLtrBase}{0}\ensuremath{#1}}}

% Greek font.

   \newcommand  \gruLtrBase       {F800}

   \defineGreekScript{gru}{\gruLtrBase}

   \newcommand \symgru[1]  {{\defineGreekScriptMacro{\gruLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathgru[1] {{\defineGreekScriptMacro{\gruLtrBase}{7}\ensuremath{#1}}}

% Greek, italic font.

   \newcommand  \griLtrBase       {F880}

   \defineGreekScript{gri}{\griLtrBase}

   \newcommand \symgri[1]  {{\defineGreekScriptMacro{\griLtrBase}{0}\ensuremath{#1}}}
   \newcommand \mathgri[1] {{\defineGreekScriptMacro{\griLtrBase}{7}\ensuremath{#1}}}

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

% End of the package.

   \endinput

% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
