diff options
author | Karl Berry <karl@freefriends.org> | 2019-07-01 21:12:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-07-01 21:12:11 +0000 |
commit | c65b3647e380ddcf394b1e2a3439060f1089e95e (patch) | |
tree | 22bc624300902c0cd136b0db431ae6e11eb05c3c /Master/texmf-dist/tex/latex | |
parent | 2ee346b14369d34b308ad2924177c2761739f34a (diff) |
logix (1jul19)
git-svn-id: svn://tug.org/texlive/trunk@51523 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/logix/logix.sty | 2335 |
1 files changed, 2335 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/logix/logix.sty b/Master/texmf-dist/tex/latex/logix/logix.sty new file mode 100644 index 00000000000..bd6984eeb03 --- /dev/null +++ b/Master/texmf-dist/tex/latex/logix/logix.sty @@ -0,0 +1,2335 @@ +% logix.sty +% Copyright (c) 2001..2019 by Michael Lee Finney. +% +% 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} + \ProvidesPackage{logix} + [2019/07/01 v1.00 (Michael Lee Finney) Supplemental logical and mathematical symbols for XeLaTex / LuaLaTeX.] + \ProvidesFile{logix.otf} + [2019/07/01 v1.00 (Michael Lee Finney) OpenType Unicode font.] + \RequirePackage{ifxetex} + \RequirePackage{ifluatex} + \RequirePackage{unicode-math} + \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. + + \newfontface \logix {logix.otf}[Scale=1.0,NFSSFamily=logix] + + \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 \\ +% \KntNFSpace \KntHXSUSO \KntNNSpace \KntRQC \KntNQSpace \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 three parameters if the optional LogixDefn parameter is not +% present and otherwise four. The optional fourth 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 three parameters for the Line macro are the definition's name, +% optional number (but the empty argument must be present) and the definition itself, +% which is typeset in math mode. Two examples of its use are: +% +% \begin{LogixDefn} +% \Line{Special}{}{ \OpnParn \prop{p} \WkEquv \prop{q} \ClsParn \Defn \OpnParn \prop{p} \WkImpl \prop{q} \ClsParn \Nd \OpnParn \prop{q} \WkImpl \prop{p} \ClsParn } +% \Line{Df} {4}{ \OpnParn \prop{p} \WkEquv \prop{q} \ClsParn \Defn \OpnParn \prop{p} \WkImpl \prop{q} \ClsParn \Nd \OpnParn \prop{q} \WkImpl \prop{p} \ClsParn } +% \end{LogixDefn} +% +% \begin{LogixDefn}[15em] +% \Line{Df}{1}{ \OpnParn \prop{p} \WkEquv \prop{q} \ClsParn \Defn \OpnParn \prop{p} \WkImpl \prop{q} \ClsParn \Nd \OpnParn \prop{q} \WkImpl \prop{p} \ClsParn } { Some comment } +% \Line{Df}{2}{ \OpnParn \prop{p} \WkEquv \prop{q} \ClsParn \Defn \OpnParn \prop{p} \WkImpl \prop{q} \ClsParn \Nd \OpnParn \prop{q} \WkImpl \prop{p} \ClsParn } { Yet another } +% \end{LogixDefn} +% +% 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 two macros -- 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}\Comma\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}\Comma\prop{q}\Seq\prop{r}} +% \Line {1} {Th 41} {} {\prop{p}\Comma\prop{q}} {\prop{r}} +% \Line {2} {Cn 2 } {} {\prop{p}\Comma\prop{q}} {\prop{r}} +% \Line {3} {Th 38} {2} { } {\prop{r}} +% \end{LogixSeqnt} +% +% 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& + \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 \PrfEnd {\rule[-0.375em]{0pt}{1.30em}} + \ifx& + \newcommand \parms {4} + \newcommand \Dash[4] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\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}{\OpnBrkt}##3{\ClsBrkt}\fi & ##4 & \PrfEnd \\ \hline} + \else + \newcommand \parms {5} + \newcommand \Dash[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\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}{\OpnBrkt}##3{\ClsBrkt}\fi & \mathmakebox[#1][l]{##4} $##5$ & \PrfEnd \\ \hline} + \fi + \noindent\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 @{} } + \multicolumn{\parms}{@{} l}{\noindent\begin{tabular}{ @{} l @{} l @{} @{\hspace{0.25em}} >{$} l <{$} @{} c @{} } + #2. & \ifx&\else{\hspace{0.25em}\OpnGrp}#3{\ClsGrp}\fi & #4 & \PrfEnd + \end{tabular}} \\\hline% + }{% + \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 \PrfEnd {\rule[-0.375em]{0pt}{1.30em}} + \ifx& + \newcommand \parms {5} + \newcommand \Dash[5] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\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}{\OpnBrkt}##3{\ClsBrkt}\fi & ##4 & ##5 & \PrfEnd \\ \hline} + \else + \newcommand \parms {6} + \newcommand \Dash[6] { \hspace{0.35em} ##1. & \ifx&##2&\else \hspace{0.25em}##2.\fi & \ifx&##3&\else\hspace{0.25em}{\OpnBrkt}##3{\ClsBrkt}\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}{\OpnBrkt}##3{\ClsBrkt}\fi & ##4 & \mathmakebox[#1][l]{##5} $##6$ & \PrfEnd \\ \hline} + \fi + \noindent\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 @{} } + \multicolumn{\parms}{@{} l}{\noindent\begin{tabular}{ @{} l @{} l @{} @{\hspace{0.25em}} >{$} l <{$} @{} c @{} } + #2. & \ifx&\else{\hspace{0.25em}\OpnGrp}#3{\ClsGrp}\fi & #4 & \PrfEnd + \end{tabular}} \\\hline% + }{% + \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}} % Open Bar + \newcommand \OpnGrp {\lgl{E301}} % Open Group Brace + \newcommand \OpnParn {\lgl{E302}} % Open Parenthesis + \newcommand \OpnBrac {\lgl{E303}} % Open Curly Brace + \newcommand \OpnBrknBrac {\lgl{E304}} % Open Curly Broken Brace + \newcommand \OpnCircBrac {\lgl{E305}} % Open Curly Circle Brace + \newcommand \OpnArrwBrac {\lgl{E306}} % Open Arrow Brace + \newcommand \OpnBrkt {\lgl{E307}} % Open Square Bracket + \newcommand \OpnCrlyBrkt {\lgl{E308}} % Open Square Curly Bracket + \newcommand \OpnBrknBrkt {\lgl{E309}} % Open Square Broken Bracket + \newcommand \OpnCircBrkt {\lgl{E30A}} % Open Square Circle Bracket + \newcommand \OpnTortoise {\lgl{E30B}} % Open Tortoise Shell + \newcommand \OpnAngl {\lgl{E30C}} % Open Angle Bracket + \newcommand \OpnDblBrac {\lgl{E30D}} % Open Double Curly Brace + \newcommand \OpnDblAngl {\lgl{E30E}} % Open Double Angle Bracket + \newcommand \OpnSqrParn {\lgl{E30F}} % Open Square Parenthesis + \newcommand \OpnParnBar {\lgl{E310}} % Open Parenthesis with Bar + \newcommand \OpnBracBar {\lgl{E311}} % Open Brace with Bar + \newcommand \OpnBrknBracBar {\lgl{E312}} % Open Broken Brace with Bar + \newcommand \OpnCircBracBar {\lgl{E313}} % Open Circle Brace with Bar + \newcommand \OpnBrktBar {\lgl{E314}} % Open Bracket with Bar + \newcommand \OpnCrlyBrktBar {\lgl{E315}} % Open Curly Bracket with Bar + \newcommand \OpnBrknBrktBar {\lgl{E316}} % Open Broken Bracket with Bar + \newcommand \OpnCircBrktBar {\lgl{E317}} % Open Circle Bracket with Bar + \newcommand \OpnTortoiseBar {\lgl{E318}} % Open Tortoise Shell with Bar + \newcommand \OpnAnglBar {\lgl{E319}} % Open Angle Bracket with Bar + \newcommand \OpnCurvAngl {\lgl{E31A}} % Open Curved Angle Bracket + \newcommand \OpnDblParn {\lgl{E31B}} % Open Double Parenthesis + \newcommand \OpnCeil {\lgl{E31C}} % Open Ceiling + \newcommand \OpnFloor {\lgl{E31D}} % Open Floor + \newcommand \OpnTurn {\lgl{E31E}} % Open Turnstile + \newcommand \OpnCntx {\lgx{E31F}} % Open Context Quote + \newcommand \OpnDblGrp {\lgl{E320}} % Open Double Group Brace + + \newcommand \ClsBar {\lgr{E340}} % Close Bar + \newcommand \ClsGrp {\lgr{E341}} % Close Group Brace + \newcommand \ClsParn {\lgr{E342}} % Close Parenthesis + \newcommand \ClsBrac {\lgr{E343}} % Close Curly Brace + \newcommand \ClsBrknBrac {\lgr{E344}} % Close Curly Broken Brace + \newcommand \ClsCircBrac {\lgr{E345}} % Close Curly Circle Brace + \newcommand \ClsArrwBrac {\lgr{E346}} % Close Arrow Brace + \newcommand \ClsBrkt {\lgr{E347}} % Close Square Bracket + \newcommand \ClsCrlyBrkt {\lgr{E348}} % Close Square Curly Bracket + \newcommand \ClsBrknBrkt {\lgr{E349}} % Close Square Broken Bracket + \newcommand \ClsCircBrkt {\lgr{E34A}} % Close Square Circle Bracket + \newcommand \ClsTortoise {\lgr{E34B}} % Close Tortoise Shell + \newcommand \ClsAngl {\lgr{E34C}} % Close Angle Bracket + \newcommand \ClsDblBrac {\lgr{E34D}} % Close Double Curly Brace + \newcommand \ClsDblAngl {\lgr{E34E}} % Close Double Angle Bracket + \newcommand \ClsSqrParn {\lgr{E34F}} % Close Square Parenthesis + \newcommand \ClsParnBar {\lgr{E350}} % Close Parenthesis with Bar + \newcommand \ClsBracBar {\lgr{E351}} % Close Brace with Bar + \newcommand \ClsBrknBracBar {\lgr{E352}} % Close Broken Brace with Bar + \newcommand \ClsCircBracBar {\lgr{E353}} % Close Circle Brace with Bar + \newcommand \ClsBrktBar {\lgr{E354}} % Close Bracket with Bar + \newcommand \ClsCrlyBrktBar {\lgr{E355}} % Close Curly Bracket with Bar + \newcommand \ClsBrknBrktBar {\lgr{E356}} % Close Broken Bracket with Bar + \newcommand \ClsCircBrktBar {\lgr{E357}} % Close Circle Bracket with Bar + \newcommand \ClsTortoiseBar {\lgr{E358}} % Close Tortoise Shell with Bar + \newcommand \ClsAnglBar {\lgr{E359}} % Close Angle Bracket with Bar + \newcommand \ClsCurvAngl {\lgr{E35A}} % Close Curved Angle Bracket + \newcommand \ClsDblParn {\lgl{E35B}} % Close Double Parenthesis + \newcommand \ClsCeil {\lgr{E35C}} % Close Ceiling + \newcommand \ClsFloor {\lgr{E35D}} % Close Floor + \newcommand \ClsTurn {\lgr{E35E}} % Close Turnstile + \newcommand \ClsCntx {\lgx{E35F}} % Close Context Quote + \newcommand \ClsDblGrp {\lgr{E360}} % Close Double Group Brace + + \newcommand \MapParInMul {\lgx{EAA0}} % Continuous, Partial, Into Multi-Map + \newcommand \MapParInSng {\lgx{EAA1}} % Continuous, Partial, Into, Singleton Map + \newcommand \MapParInOne {\lgx{EAA2}} % Continuous, Partial, Into, One-To-One Map + \newcommand \MapParOnMul {\lgx{EAA8}} % Continuous, Partial, Onto Multi-Map + \newcommand \MapParOnSng {\lgx{EAA9}} % Continuous, Partial, Onto, Singleton Map + \newcommand \MapParOnOne {\lgx{EAAA}} % Continuous, Partial, Onto, One-To-One Map + \newcommand \MapParInGndMul {\lgx{EAB0}} % Continuous, Partial, Into, Grounded Multi-Map + \newcommand \MapParInGndSng {\lgx{EAB1}} % Continuous, Partial, Into, Grounded, Singleton Map + \newcommand \MapParInGndOne {\lgx{EAB2}} % Continuous, Partial, Into, Grounded, One-To-One Map + \newcommand \MapParOnGndMul {\lgx{EAB8}} % Continuous, Partial, Onto, Grounded Multi-Map + \newcommand \MapParOnGndSng {\lgx{EAB9}} % Continuous, Partial, Onto, Grounded, Singleton Map + \newcommand \MapParOnGndOne {\lgx{EABA}} % Continuous, Partial, Onto, Grounded, One-To-One Map + + \newcommand \MapTotInMul {\lgx{EA80}} % Continuous, Total, Into Multi-Map + \newcommand \MapTotInSng {\lgx{EA81}} % Continuous, Total, Into, Singleton Map + \newcommand \MapTotInOne {\lgx{EA82}} % Continuous, Total, Into, One-To-One Map + \newcommand \MapTotOnMul {\lgx{EA88}} % Continuous, Total, Onto Multi-Map + \newcommand \MapTotOnSng {\lgx{EA89}} % Continuous, Total, Onto, Singleton Map + \newcommand \MapTotOnOne {\lgx{EA8A}} % Continuous, Total, Onto, One-To-One Map + \newcommand \MapTotInGndMul {\lgx{EA90}} % Continuous, Total, Into, Grounded Multi-Map + \newcommand \MapTotInGndSng {\lgx{EA91}} % Continuous, Total, Into, Grounded, Singleton Map + \newcommand \MapTotInGndOne {\lgx{EA92}} % Continuous, Total, Into, Grounded, One-To-One Map + \newcommand \MapTotOnGndMul {\lgx{EA98}} % Continuous, Total, Onto, Grounded Multi-Map + \newcommand \MapTotOnGndSng {\lgx{EA99}} % Continuous, Total, Onto, Grounded, Singleton Map + \newcommand \MapTotOnGndOne {\lgx{EA9A}} % Continuous, Total, Onto, Grounded, One-To-One Map + + \newcommand \FunParInMul {\lgx{EAA4}} % Continuous, Partial, Into Multi-Function + \newcommand \FunParInSng {\lgx{EAA5}} % Continuous, Partial, Into, Singleton Function + \newcommand \FunParInOne {\lgx{EAA6}} % Continuous, Partial, Into, One-To-One Function + \newcommand \FunParOnMul {\lgx{EAAC}} % Continuous, Partial, Onto Multi-Function + \newcommand \FunParOnSng {\lgx{EAAD}} % Continuous, Partial, Onto, Singleton Function + \newcommand \FunParOnOne {\lgx{EAAE}} % Continuous, Partial, Onto, One-To-One Function + \newcommand \FunParInGndMul {\lgx{EAB4}} % Continuous, Partial, Into, Grounded Multi-Function + \newcommand \FunParInGndSng {\lgx{EAB5}} % Continuous, Partial, Into, Grounded, Singleton Function + \newcommand \FunParInGndOne {\lgx{EAB6}} % Continuous, Partial, Into, Grounded, One-To-One Function + \newcommand \FunParOnGndMul {\lgx{EABC}} % Continuous, Partial, Onto, Grounded Multi-Function + \newcommand \FunParOnGndSng {\lgx{EABD}} % Continuous, Partial, Onto, Grounded, Singleton Function + \newcommand \FunParOnGndOne {\lgx{EABE}} % Continuous, Partial, Onto, Grounded, One-To-One Function + + \newcommand \FunTotInMul {\lgx{EA84}} % Continuous, Total, Into Multi-Function + \newcommand \FunTotInSng {\lgx{EA85}} % Continuous, Total, Into, Singleton Function + \newcommand \FunTotInOne {\lgx{EA86}} % Continuous, Total, Into, One-To-One Function + \newcommand \FunTotOnMul {\lgx{EA8C}} % Continuous, Total, Onto Multi-Function + \newcommand \FunTotOnSng {\lgx{EA8D}} % Continuous, Total, Onto, Singleton Function + \newcommand \FunTotOnOne {\lgx{EA8E}} % Continuous, Total, Onto, One-To-One Function + \newcommand \FunTotInGndMul {\lgx{EA94}} % Continuous, Total, Into, Grounded Multi-Function + \newcommand \FunTotInGndSng {\lgx{EA95}} % Continuous, Total, Into, Grounded, Singleton Function + \newcommand \FunTotInGndOne {\lgx{EA96}} % Continuous, Total, Into, Grounded, One-To-One Function + \newcommand \FunTotOnGndMul {\lgx{EA9C}} % Continuous, Total, Onto, Grounded Multi-Function + \newcommand \FunTotOnGndSng {\lgx{EA9D}} % Continuous, Total, Onto, Grounded, Singleton Function + \newcommand \FunTotOnGndOne {\lgx{EA9E}} % Continuous, Total, Onto, Grounded, One-To-One Function + + \newcommand \MapComp {\lgx{E23C}} % Map Composition + \newcommand \FncComp {\lgx{E239}} % Function Composition + \newcommand \FncCnvrs {\lgx{E2C3}} % Function Converse + + \newcommand \SFunc {\lgx{E9DC}} % Short Function + \newcommand \Func {\lgx{E9DD}} % Function + \newcommand \LFunc {\lgx{E9DE}} % Long Function + \newcommand \XFunc {\lgx{E9DF}} % Extra Long Function + + \newcommand \ClsImpl {\lgx{E79E}} % Classical Implication + \newcommand \NotClsImpl {\lgx{E79F}} % Not Classical Implication + \newcommand \ClsEquv {\lgx{E666}} % Classical Equivalence + \newcommand \NotClsEquv {\lgx{E667}} % Not Classical Equivalence + + \newcommand \SWkMtImpl {\lgx{E810}} % Short Weak Material Implication + \newcommand \NotSWkMtImpl {\lgx{E811}} % Short Not Weak Material Implication + \newcommand \SWkMtEquv {\lgx{E812}} % Short Weak Material Equivalence + \newcommand \NotSWkMtEquv {\lgx{E813}} % Short Not Weak Material Equivalence + \newcommand \WkMtImpl {\lgx{E814}} % Weak Material Implication + \newcommand \NotWkMtImpl {\lgx{E815}} % Not Weak Material Implication + \newcommand \WkMtEquv {\lgx{E816}} % Weak Material Equivalence + \newcommand \NotWkMtEquv {\lgx{E817}} % Not Weak Material Equivalence + \newcommand \LWkMtImpl {\lgx{E818}} % Long Weak Material Implication + \newcommand \NotLWkMtImpl {\lgx{E819}} % Long Not Weak Material Implication + \newcommand \LWkMtEquv {\lgx{E81A}} % Long Weak Material Equivalence + \newcommand \NotLWkMtEquv {\lgx{E81B}} % Long Not Weak Material Equivalence + \newcommand \XWkMtImpl {\lgx{E81C}} % Extra Long Weak Material Implication + \newcommand \NotXWkMtImpl {\lgx{E81D}} % Extra Long Not Weak Material Implication + \newcommand \XWkMtEquv {\lgx{E81E}} % Extra Long Weak Material Equivalence + \newcommand \NotXWkMtEquv {\lgx{E81F}} % Extra Long Not Weak Material Equivalence + + \newcommand \SMtImpl {\lgx{E820}} % Short WMaterial Implication + \newcommand \NotSMtImpl {\lgx{E821}} % Short NNot Material Implication + \newcommand \SMtEquv {\lgx{E822}} % Short WMaterial Equivalence + \newcommand \NotSMtEquv {\lgx{E823}} % Short NNot Material Equivalence + \newcommand \MtImpl {\lgx{E824}} % Material Implication + \newcommand \NotMtImpl {\lgx{E825}} % Not Material Implication + \newcommand \MtEquv {\lgx{E826}} % Material Equivalence + \newcommand \NotMtEquv {\lgx{E827}} % Not Material Equivalence + \newcommand \LMtImpl {\lgx{E828}} % Long Material Implication + \newcommand \NotLMtImpl {\lgx{E829}} % Long Not Material Implication + \newcommand \LMtEquv {\lgx{E82A}} % Long Material Equivalence + \newcommand \NotLMtEquv {\lgx{E82B}} % Long Not Material Equivalence + \newcommand \XMtImpl {\lgx{E82C}} % Extra Long Material Implication + \newcommand \NotXMtImpl {\lgx{E82D}} % Extra Long Not Material Implication + \newcommand \XMtEquv {\lgx{E82E}} % Extra Long Material Equivalence + \newcommand \NotXMtEquv {\lgx{E82F}} % Extra Long Not Material Equivalence + + \newcommand \SInImpl {\lgx{E830}} % Short WIntuitionistic Implication + \newcommand \NotSInImpl {\lgx{E831}} % Short NNot Intuitionistic Implication + \newcommand \SInEquv {\lgx{E832}} % Short WIntuitionistic Equivalence + \newcommand \NotSInEquv {\lgx{E833}} % Short NNot Intuitionistic Equivalence + \newcommand \InImpl {\lgx{E834}} % Intuitionistic Implication + \newcommand \NotInImpl {\lgx{E835}} % Not Intuitionistic Implication + \newcommand \InEquv {\lgx{E836}} % Intuitionistic Equivalence + \newcommand \NotInEquv {\lgx{E837}} % Not Intuitionistic Equivalence + \newcommand \LInImpl {\lgx{E838}} % Long Intuitionistic Implication + \newcommand \NotLInImpl {\lgx{E839}} % Long Not Intuitionistic Implication + \newcommand \LInEquv {\lgx{E83A}} % Long Intuitionistic Equivalence + \newcommand \NotLInEquv {\lgx{E83B}} % Long Not Intuitionistic Equivalence + \newcommand \XInImpl {\lgx{E83C}} % Extra Long Intuitionistic Implication + \newcommand \NotXInImpl {\lgx{E83D}} % Extra Long Not Intuitionistic Implication + \newcommand \XInEquv {\lgx{E83E}} % Extra Long Intuitionistic Equivalence + \newcommand \NotXInEquv {\lgx{E83F}} % Extra Long Not Intuitionistic Equivalence + + \newcommand \SWkImpl {\lgx{E840}} % Short WWeak Implication + \newcommand \NotSWkImpl {\lgx{E841}} % Short NNot Weak Implication + \newcommand \SWkEquv {\lgx{E842}} % Short WWeak Implication Equivalence + \newcommand \NotSWkEquv {\lgx{E843}} % Short NNot Weak Implication Equivalence + \newcommand \WkImpl {\lgx{E844}} % Weak Implication + \newcommand \NotWkImpl {\lgx{E845}} % Not Weak Implication + \newcommand \WkEquv {\lgx{E846}} % Weak Implication Equivalence + \newcommand \NotWkEquv {\lgx{E847}} % Not Weak Implication Equivalence + \newcommand \LWkImpl {\lgx{E848}} % Long Weak Implication + \newcommand \NotLWkImpl {\lgx{E849}} % Long Not Weak Implication + \newcommand \LWkEquv {\lgx{E84A}} % Long Weak Implication Equivalence + \newcommand \NotLWkEquv {\lgx{E84B}} % Long Not Weak Implication Equivalence + \newcommand \XWkImpl {\lgx{E84C}} % Extra Long Weak Implication + \newcommand \NotXWkImpl {\lgx{E84D}} % Extra Long Not Weak Implication + \newcommand \XWkEquv {\lgx{E84E}} % Extra Long Weak Implication Equivalence + \newcommand \NotXWkEquv {\lgx{E84F}} % Extra Long Not Weak Implication Equivalence + + \newcommand \SImpl {\lgx{E850}} % Short WImplication + \newcommand \NotSImpl {\lgx{E851}} % Short NNot Implication + \newcommand \SEquv {\lgx{E852}} % Short WImplication Equivalence + \newcommand \NotSEquv {\lgx{E853}} % Short NNot Implication Equivalence + \newcommand \Impl {\lgx{E854}} % Implication + \newcommand \NotImpl {\lgx{E855}} % Not Implication + \newcommand \Equv {\lgx{E856}} % Implication Equivalence + \newcommand \NotEquv {\lgx{E857}} % Not Implication Equivalence + \newcommand \LImpl {\lgx{E858}} % Long Implication + \newcommand \NotLImpl {\lgx{E859}} % Long Not Implication + \newcommand \LEquv {\lgx{E85A}} % Long Implication Equivalence + \newcommand \NotLEquv {\lgx{E85B}} % Long Not Implication Equivalence + \newcommand \XImpl {\lgx{E85C}} % Extra Long Implication + \newcommand \NotXImpl {\lgx{E85D}} % Extra Long Not Implication + \newcommand \XEquv {\lgx{E85E}} % Extra Long Implication Equivalence + \newcommand \NotXEquv {\lgx{E85F}} % Extra Long Not Implication Equivalence + + \newcommand \SWkEntail {\lgx{E860}} % Short WWeak Entailment + \newcommand \NotSWkEntail {\lgx{E861}} % Short NNot Weak Entailment + \newcommand \SWkEntailEquv {\lgx{E862}} % Short WWeak Entailment Equivalence + \newcommand \NotSWkEntailEquv {\lgx{E863}} % Short NNot Weak Entailment Equivalence + \newcommand \WkEntail {\lgx{E864}} % Weak Entailment + \newcommand \NotWkEntail {\lgx{E865}} % Not Weak Entailment + \newcommand \WkEntailEquv {\lgx{E866}} % Weak Entailment Equivalence + \newcommand \NotWkEntailEquv {\lgx{E867}} % Not Weak Entailment Equivalence + \newcommand \LWkEntail {\lgx{E868}} % Long Weak Entailment + \newcommand \NotLWkEntail {\lgx{E869}} % Long Not Weak Entailment + \newcommand \LWkEntailEquv {\lgx{E86A}} % Long Weak Entailment Equivalence + \newcommand \NotLWkEntailEquv {\lgx{E86B}} % Long Not Weak Entailment Equivalence + \newcommand \XWkEntail {\lgx{E86C}} % Extra Long Weak Entailment + \newcommand \NotXWkEntail {\lgx{E86D}} % Extra Long Not Weak Entailment + \newcommand \XWkEntailEquv {\lgx{E86E}} % Extra Long Weak Entailment Equivalence + \newcommand \NotXWkEntailEquv {\lgx{E86F}} % Extra Long Not Weak Entailment Equivalence + + \newcommand \SEntail {\lgx{E870}} % Short WEntailment + \newcommand \NotSEntail {\lgx{E871}} % Short NNot Entailment + \newcommand \SEntailEquv {\lgx{E872}} % Short WEntailment Equivalence + \newcommand \NotSEntailEquv {\lgx{E873}} % Short NNot Entailment Equivalence + \newcommand \Entail {\lgx{E874}} % Entailment + \newcommand \NotEntail {\lgx{E875}} % Not Entailment + \newcommand \EntailEquv {\lgx{E876}} % Entailment Equivalence + \newcommand \NotEntailEquv {\lgx{E877}} % Not Entailment Equivalence + \newcommand \LEntail {\lgx{E878}} % Long Entailment + \newcommand \NotLEntail {\lgx{E879}} % Long Not Entailment + \newcommand \LEntailEquv {\lgx{E87A}} % Long Entailment Equivalence + \newcommand \NotLEntailEquv {\lgx{E87B}} % Long Not Entailment Equivalence + \newcommand \XEntail {\lgx{E87C}} % Extra Long Entailment + \newcommand \NotXEntail {\lgx{E87D}} % Extra Long Not Entailment + \newcommand \XEntailEquv {\lgx{E87E}} % Extra Long Entailment Equivalence + \newcommand \NotXEntailEquv {\lgx{E87F}} % Extra Long Not Entailment Equivalence + + \newcommand \Seq {\lgx{E94C}} % Sequent + \newcommand \NotSeq {\lgx{E96C}} % Sequent Denied + \newcommand \Rule {\lgx{E940}} % Assertion (Rule) + \newcommand \NotRule {\lgx{E960}} % Assertion (Rule) Denied + \newcommand \Model {\lgx{E942}} % Model + \newcommand \NotModel {\lgx{E962}} % Model Denied + \newcommand \Turn {\lgx{E944}} % Turnstile + \newcommand \NotTurn {\lgx{E964}} % Turnstile Denied + \newcommand \Conseq {\lgx{E946}} % Consequence Relation + \newcommand \NotConseq {\lgx{E966}} % Consequence Relation Denied + + \newcommand \Defn {\lgx{E60A}} % Defines + \newcommand \Qed {\lgx{E08F}} % Q.E.D. + + \newcommand \Nd {\lgx{E6A0}} % Bitwise AND operator / Logical Conjunction + \newcommand \Or {\lgx{E6A1}} % Bitwise OR operator / Logical Disjunction + \newcommand \Nt {\lgx{E0C0}} % Bitwise NOT operator / Logical Negation + \newcommand \Ng {\lgx{E64C}} % Classical Logical Negation + \newcommand \Nand {\lgx{E6A2}} % Bitwise NAND operator + \newcommand \Nor {\lgx{E6A3}} % Bitwise NOR operator + \newcommand \Xor {\lgx{E6A5}} % Bitwise XOR operator + + \newcommand \LcgCohrnc {\lgx{E068}} % Logical Coherence + \newcommand \BncCohrnc {\lgx{E078}} % Bunch Coherence + + \newcommand \True {\lgx{E012}} % True + \newcommand \False {\lgx{E014}} % False + \newcommand \Top {\lgx{E017}} % Lattice / type top + \newcommand \Bot {\lgx{E016}} % Lattice / type bottom + + \newcommand \QuantCon {\lgx{E891}} % Quantified Conjunction + \newcommand \QuantDis {\lgx{E890}} % Quantified Disjuntion + \newcommand \ForAll {\lgx{E8C0}} % Universal Individual Quantifier + \newcommand \Exists {\lgx{E8C1}} % Existential Individual Quantifier + \newcommand \Unique {\lgx{E8C2}} % Unique Existential Individual Quantifier + \newcommand \BnchForAll {\lgx{E8D0}} % Universal Bunch Quantifier + \newcommand \BnchExists {\lgx{E8D1}} % Existential Bunch Quantifier + \newcommand \BnchUnique {\lgx{E8D2}} % Unique Existential Bunch Quantifier + \newcommand \BndMap {\lgx{E030}} % Map Abstraction + + \newcommand \Dt {\lgx{E098}} % Dot + \newcommand \Comma {\lgx{E099}} % Comma + \newcommand \Semicln {\lgx{E09A}} % Semicolon + \newcommand \Cln {\lgx{E091}} % Colon + \newcommand \Thus {\lgx{E092}} % Thus + \newcommand \Since {\lgx{E093}} % Since + \newcommand \Dts {\lgx{E096}} % Dots (ellipsis) + \newcommand \BndDot {\lgx{E090}} % Binding Dot + \newcommand \BndBar {\lgm{E380}} % Binding Bar + \newcommand \LngVrtBar {\lgx{E0EC}} % Long Vertical Bar + \newcommand \Queston {\lgx{E02C}} % Question mark + \newcommand \Exclaim {\lgx{E02D}} % Exclamation point + \newcommand \Percent {\lgx{E03C}} % Percent sign + \newcommand \Ampersand {\lgx{E03D}} % Ampersand + \newcommand \Dollar {\lgx{E05F}} % Dollar sign + \newcommand \At {\lgx{E03E}} % At sign + \newcommand \Circumflex {\lgx{E03F}} % ASCII Circumflex + \newcommand \Number {\lgx{E04F}} % Number sign + \newcommand \Underscore {\lgx{E09E}} % Underscore + \newcommand \Tild {\lgx{007E}} % Tilde E64C + \newcommand \SingleQuote {\lgx{E09C}} % Single quote + \newcommand \DoubleQuote {\lgx{E09B}} % Double quote + \newcommand \BackQuote {\lgx{E09D}} % Back quote (grave) + \newcommand \LeftSlash {\lgx{E103}} % Left (back) slash + \newcommand \RightSlash {\lgx{E102}} % Right (forward) slash + + \newcommand \ShftSuper {\lgx{EAC3}} % Shift for superscripts + \newcommand \ShftSubscr {\lgx{EAC4}} % Shift for subscripts + \newcommand \ShftAccent {\lgx{EAC5}} % Shift for accents + + \newcommand \RplcAllBndRight {\lgx{E9D4}} % Replace All Bound Variables (right) + \newcommand \RplcAllBndLeft {\lgx{E9D5}} % Replace All Bound Variables (left) + \newcommand \RplcAllRight {\lgx{E9DA}} % Replace All (right) + \newcommand \RplcAllLeft {\lgx{E9DB}} % Replace All (left) + \newcommand \RplcFreeRight {\lgx{E9F0}} % Replace Any Free Variables (right) + \newcommand \RplcFreeLeft {\lgx{E9F1}} % Replace Any Free Variables (left) + \newcommand \RplcEquvRight {\lgx{E9F8}} % Replace Equivalent Expressions (right) + \newcommand \RplcEquvLeft {\lgx{E9F9}} % Replace Equivalent Expressions (left) + + \newcommand \LstFix {\lgx{E031}} % Least Fixed Point + \newcommand \GrtFix {\lgx{E032}} % Greatest Fixed Point + \newcommand \Choice {\lgx{E033}} % Choice + \newcommand \ExLstFix {\lgx{E034}} % Extended Least Fixed Point + \newcommand \ExGrtFix {\lgx{E035}} % Extended Greatest Fixed Point + \newcommand \FrstOrd {\lgx{E039}} % First Ordinal (omega) + + \newcommand \LogNec {\lgx{E230}} % Logical Necessity (temporal always or henceforth) + \newcommand \LogPos {\lgx{E232}} % Logical Possibility (temporal sometime or eventually) + \newcommand \LogNext {\lgx{E233}} % Logical Next (temporal next or nexttime) + \newcommand \LogFutr {\lgx{E234}} % Logical Future (temporal in the future) + \newcommand \LogPast {\lgx{E235}} % Logical Past (temporal in the past) + \newcommand \LogCont {\lgx{E236}} % Logical Contingency + \newcommand \LogNonCont {\lgx{E237}} % Logical Non-contingency + + \newcommand \Nec {\lgx{E270}} % Necessity (temporal always or henceforth) + \newcommand \Pos {\lgx{E272}} % Possibility (temporal sometime or eventually) + \newcommand \Next {\lgx{E273}} % Next (temporal next or nexttime) + \newcommand \Futr {\lgx{E274}} % Future (temporal in the future) + \newcommand \Past {\lgx{E275}} % Past (temporal in the past) + \newcommand \Cont {\lgx{E276}} % Contingency + \newcommand \NonCont {\lgx{E277}} % Non-contingency + + \newcommand \FacNec {\lgx{E220}} % Factual Necessity (temporal always or henceforth) + \newcommand \FacPos {\lgx{E222}} % Factual Possibility (temporal sometime or eventually) + \newcommand \FacNext {\lgx{E223}} % Factual Next (temporal next or nexttime) + \newcommand \FacFutr {\lgx{E224}} % Factual Future (temporal in the future) + \newcommand \FacPast {\lgx{E225}} % Factual Past (temporal in the past) + \newcommand \FacCont {\lgx{E226}} % Factual Contingency + \newcommand \FacNonCont {\lgx{E227}} % Factual Non-contingency + + \newcommand \Of {\lgx{E600}} % Bunch Inclusion + \newcommand \In {\lgx{E602}} % Set Membership + \newcommand \NotIn {\lgx{E603}} % Set Membership Negated + + \newcommand \EmptyBunch {\lgx{E054}} % Empty Bunch + \newcommand \NullSet {\lgx{E053}} % Null Set + + \newcommand \BnchMeet {\lgx{E710}} % Bunch Meet + \newcommand \BnchJoin {\lgx{E711}} % Bunch Join + + \newcommand \StrctSbnch {\lgx{E718}} % Strict Subbunch + \newcommand \NotStrctSbnch {\lgx{E719}} % Strict Subbunch Negated + \newcommand \Sbnch {\lgx{E71A}} % Subbunch + \newcommand \NotSbnch {\lgx{E71B}} % Subbunch Negated + + \newcommand \StrctWkSbnch {\lgx{E738}} % Strict Weak Subbunch + \newcommand \NotStrctWkSbnch {\lgx{E739}} % Strict Weak Subbunch Negated + \newcommand \WkSbnch {\lgx{E73A}} % Weak Subbunch + \newcommand \NotWkSbnch {\lgx{E73B}} % Weak Subbunch Negated + + \newcommand \MapMeet {\lgx{E760}} % Map Meet + \newcommand \MapJoin {\lgx{E761}} % Map Join + + \newcommand \StrctSbmap {\lgx{E768}} % Strict Submap + \newcommand \NotStrctSbmap {\lgx{E769}} % Strict Submap Negated + \newcommand \Sbmap {\lgx{E76A}} % Submap + \newcommand \NotSbmap {\lgx{E76B}} % Submap Negated + + \newcommand \SetMeet {\lgx{E790}} % Set Intersection + \newcommand \SetJoin {\lgx{E791}} % Set Union + \newcommand \Normal {\lgx{E2E5}} % Normal Subgroup + \newcommand \SetSymDiff {\lgx{E2E7}} % Set Symmetric Difference + + \newcommand \StrctSbset {\lgx{E798}} % Strict Subset + \newcommand \NotStrctSbset {\lgx{E799}} % Strict Subset Negated + \newcommand \Sbset {\lgx{E79A}} % Subset + \newcommand \NotSbset {\lgx{E79B}} % Subset Negated + + \newcommand \QuantBnchMeet {\lgx{E895}} % Bunch Meet Quantifier + \newcommand \QuantBnchJoin {\lgx{E894}} % Bunch Join Quantifier + \newcommand \QuantSetMeet {\lgx{E893}} % Set Intersection Quantifier + \newcommand \QuantSetJoin {\lgx{E892}} % Set Union Quantifier + + \newcommand \Ls {\lgx{E6A8}} % Less Than + \newcommand \Lse {\lgx{E6AA}} % Less Than or Equal + \newcommand \Eq {\lgx{E656}} % Equal + \newcommand \Sm {\lgx{E658}} % Similar + \newcommand \Gr {\lgx{E6AE}} % Greater Than + \newcommand \Gre {\lgx{E6AC}} % Greater Than or Equal + + \newcommand \NotLs {\lgx{E6A9}} % Not Less Than + \newcommand \NotLse {\lgx{E6AB}} % Not Less Than or Equal + \newcommand \NotEq {\lgx{E657}} % Not Equal + \newcommand \NotSm {\lgx{E659}} % Not Similar + \newcommand \NotGr {\lgx{E6AF}} % Not Greater Than + \newcommand \NotGre {\lgx{E6AD}} % Not Greater Than or Equal + + \newcommand \Pre {\lgx{E6C8}} % Precedes + \newcommand \Preq {\lgx{E6CA}} % Precedes or Equal + \newcommand \Suc {\lgx{E6CE}} % Succeeds + \newcommand \Sucq {\lgx{E6CC}} % Succeeds or Equal + + \newcommand \NotPre {\lgx{E6C9}} % Not Precedes + \newcommand \NotPreq {\lgx{E6CB}} % Not Precedes or Equal + \newcommand \NotSuc {\lgx{E6CF}} % Not Succeeds + \newcommand \NotSucq {\lgx{E6CD}} % Not Succeeds or Equal + + \newcommand \Minus {\lgx{E0C7}} % Minus + \newcommand \Plus {\lgx{E0C6}} % Plus + \newcommand \PlusMinus {\lgx{E0CE}} % Plus / Minus + \newcommand \MinusPlus {\lgx{E0CF}} % Minus / Plus + \newcommand \Asterick {\lgx{E0C4}} % Asterick + \newcommand \Divide {\lgx{E103}} % Divide + \newcommand \Times {\lgx{E0C5}} % Times + + \newcommand \Append {\lgx{E0CB}} % Append + \newcommand \Concat {\lgx{E0CD}} % Concatenation + + \newcommand \CircPlus {\lgx{E12B}} % Large Circled Plus + \newcommand \CircTimes {\lgx{E12C}} % Large Circled Times + \newcommand \CircStar {\lgx{E11D}} % Circled Star + + \newcommand \Dagger {\lgx{E05B}} % Single dagger + \newcommand \Ddagger {\lgx{E05C}} % Double horizontal dagger + \newcommand \Daggerr {\lgx{E05D}} % Double vertical dagger + \newcommand \Ddaggerr {\lgx{E05E}} % Double horizontal and vertical dagger + +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +% Define custom \not mappings. + + \NewNegationCommand {\ClsImpl} {\NotClsImpl} + \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 {\CksEquv} {\NotClsEquv} + \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 {\Seq} {\NotSeq} + \NewNegationCommand {\Rule} {\NotRule} + \NewNegationCommand {\Model} {\NotModel} + \NewNegationCommand {\Turn} {\NotTurn} + \NewNegationCommand {\Conseq} {\NotConseq} + \NewNegationCommand {\In} {\NotIn} + \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 {\Ls} {\NotLs} + \NewNegationCommand {\Lse} {\NotLse} + \NewNegationCommand {\Eq} {\NotEq} + \NewNegationCommand {\Sm} {\NotSm} + \NewNegationCommand {\Gr} {\NotGr} + \NewNegationCommand {\Gre} {\NotGre} + \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} + + \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 + +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +% +% 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. +% + + \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 \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 \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 \KntRSNRSDA {\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 \KntRDNRSDA {\lgk{E1FB}} % Left dashed line, right solid down arrow + \newcommand \KntTDNBSRA {\lgk{E1FC}} % Top dashed line, bottom solid right arrow + \newcommand \KntLDNRSUA {\lgk{E1FD}} % Left dashed line, right solid up arrow + \newcommand \KntTSLABDN {\lgk{E1FE}} % Top solid left arrow, bottom dashed line + \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 \KntRSNRDDA {\lgk{E203}} % Left solid line, right dashed down arrow + \newcommand \KntTSNBDRA {\lgk{E204}} % Top solid line, bottom dashed right arrow + \newcommand \KntLSNRDUA {\lgk{E205}} % Left solid line, right dashed up arrow + \newcommand \KntTDLABSN {\lgk{E206}} % Top dashed left arrow, bottom solid line + \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 \KntRDNRDDA {\lgk{E20B}} % Left dashed line, right dashed down arrow + \newcommand \KntTDNBDRA {\lgk{E20C}} % Top dashed line, bottom dashed right arrow + \newcommand \KntLDNRDUA {\lgk{E20D}} % Left dashed line, right dashed up arrow + \newcommand \KntTDLABDN {\lgk{E20E}} % Top dashed left arrow, bottom dashed line + \newcommand \KntLDDARDN {\lgk{E20F}} % Left dashed down arrow, right dashed line + + \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}} + \newcommand \BlackSquareRoundCorners {\lgx{E221}} + \newcommand \BlackDiamond {\lgx{E222}} + \newcommand \BlackCircle {\lgx{E223}} + \newcommand \BlackRightTriangle {\lgx{E224}} + \newcommand \BlackLeftTriangle {\lgx{E225}} + \newcommand \BlackDownTriangle {\lgx{E226}} + \newcommand \BlackUpTriangle {\lgx{E227}} + \newcommand \BlackSmallCircle {\lgx{E228}} + \newcommand \BlackVerySmallCircle {\lgx{E229}} + \newcommand \BlackLozenge {\lgx{E22A}} + \newcommand \BlackCurvedDiamond {\lgx{E22B}} + \newcommand \BlackVerySmallSquare {\lgx{E22C}} + \newcommand \BlackLeftArrowHead {\lgx{E22D}} + \newcommand \BlackRightArrowHead {\lgx{E22E}} + \newcommand \BlackRightCurvedArrowHead {\lgx{E22F}} + + \newcommand \WhiteSquare {\lgx{E230}} + \newcommand \WhiteSquareRoundCorners {\lgx{E231}} + \newcommand \WhiteDiamond {\lgx{E232}} + \newcommand \WhiteCircle {\lgx{E233}} + \newcommand \WhiteRightTriangle {\lgx{E234}} + \newcommand \WhiteLeftTriangle {\lgx{E235}} + \newcommand \WhiteDownTriangle {\lgx{E236}} + \newcommand \WhiteUpTriangle {\lgx{E237}} + \newcommand \WhiteSmallCircle {\lgx{E238}} + \newcommand \WhiteVerySmallCircle {\lgx{E239}} + \newcommand \WhiteLozenge {\lgx{E23A}} + \newcommand \WhiteCurvedDiamond {\lgx{E23B}} + \newcommand \WhiteVerySmallSquare {\lgx{E23C}} + \newcommand \WhiteLeftArrowHead {\lgx{E23D}} + \newcommand \WhiteRightArrowHead {\lgx{E23E}} + \newcommand \WhiteRightCurvedArrowHead {\lgx{E23F}} + + \newcommand \OutlineSquare {\lgx{E240}} + \newcommand \OutlineSquareRoundCorners {\lgx{E241}} + \newcommand \OutlineDiamond {\lgx{E242}} + \newcommand \OutlineCircle {\lgx{E243}} + \newcommand \OutlineRightTriangle {\lgx{E244}} + \newcommand \OutlineLeftTriangle {\lgx{E245}} + \newcommand \OutlineDownTriangle {\lgx{E246}} + \newcommand \OutlineUpTriangle {\lgx{E247}} + \newcommand \OutlineSmallCircle {\lgx{E248}} + \newcommand \OutlineVerySmallCircle {\lgx{E249}} + \newcommand \OutlineLozenge {\lgx{E24A}} + \newcommand \OutlineCurvedDiamond {\lgx{E24B}} + \newcommand \OutlineVerySmallSquare {\lgx{E24C}} + \newcommand \OutlineLeftArrowHead {\lgx{E24D}} + \newcommand \OutlineRightArrowHead {\lgx{E24E}} + \newcommand \OutlineRightCurvedArrowHead {\lgx{E24F}} + + \newcommand \DottedSquare {\lgx{E250}} + \newcommand \DottedSquareRoundCorners {\lgx{E251}} + \newcommand \DottedDiamond {\lgx{E252}} + \newcommand \DottedCircle {\lgx{E253}} + \newcommand \DottedRightTriangle {\lgx{E254}} + \newcommand \DottedLeftTriangle {\lgx{E255}} + \newcommand \DottedDownTriangle {\lgx{E256}} + \newcommand \DottedUpTriangle {\lgx{E257}} + \newcommand \DottedSmallCircle {\lgx{E258}} + \newcommand \DottedVerySmallCircle {\lgx{E259}} + \newcommand \DottedLozenge {\lgx{E25A}} + \newcommand \DottedCurvedDiamond {\lgx{E25B}} + \newcommand \DottedVerySmallSquare {\lgx{E25C}} + \newcommand \DottedLeftArrowHead {\lgx{E25D}} + \newcommand \DottedRightArrowHead {\lgx{E25E}} + \newcommand \DottedRightCurvedArrowHead {\lgx{E25F}} + + \newcommand \WhiteSquareContainingBlackSquare {\lgx{E260}} + \newcommand \WhiteSquareRoundCornersContainingBlackSquare {\lgx{E261}} + \newcommand \WhiteDiamondContainingBlackDiamond {\lgx{E262}} + \newcommand \WhiteCircleContainingBlackCircle {\lgx{E263}} + \newcommand \WhiteRightTriangleContainingBlackRightTriangle {\lgx{E264}} + \newcommand \WhiteLeftTriangleContainingBlackLeftTriangle {\lgx{E265}} + \newcommand \WhiteDownTriangleContainingBlackDownTriangle {\lgx{E266}} + \newcommand \WhiteUpTriangleContainingBlackUpTriangle {\lgx{E267}} + \newcommand \WhiteSmallCircleContainingBlackCircle {\lgx{E268}} + \newcommand \WhiteVerySmallCircleContainingBlackCircle {\lgx{E269}} + \newcommand \WhiteLozengeContainingBlackLozenge {\lgx{E26A}} + \newcommand \WhiteCurvedDiamondContainingBlackDiamond {\lgx{E26B}} + \newcommand \WhiteVerySmallSquareContainingBlackSquare {\lgx{E26C}} + \newcommand \WhiteReallySmallCircle {\lgx{E26D}} + \newcommand \WhiteReallySmallSquare {\lgx{E26E}} + \newcommand \WhiteReallySmallDiamond {\lgx{E26F}} + + \newcommand \HorizontallyDividedSquare {\lgx{E270}} + \newcommand \HorizontallyDividedSquareRoundCorners {\lgx{E271}} + \newcommand \HorizontallyDividedDiamond {\lgx{E272}} + \newcommand \HorizontallyDividedCircle {\lgx{E273}} + \newcommand \HorizontallyDividedRightTriangle {\lgx{E274}} + \newcommand \HorizontallyDividedLeftTriangle {\lgx{E275}} + \newcommand \HorizontallyDividedDownTriangle {\lgx{E276}} + \newcommand \HorizontallyDividedUpTriangle {\lgx{E277}} + \newcommand \HorizontallyDividedSmallCircle {\lgx{E278}} + \newcommand \HorizontallyDividedVerySmallCircle {\lgx{E279}} + \newcommand \HorizontallyDividedLozenge {\lgx{E27A}} + \newcommand \HorizontallyDividedCurvedDiamond {\lgx{E27B}} + \newcommand \HorizontallyDividedVerySmallSquare {\lgx{E27C}} + \newcommand \BlackReallySmallCircle {\lgx{E27D}} + \newcommand \BlackReallySmallSquare {\lgx{E27E}} + \newcommand \BlackReallySmallDiamond {\lgx{E27F}} + + \newcommand \VerticallyDividedSquare {\lgx{E280}} + \newcommand \VerticallyDividedSquareRoundCorners {\lgx{E281}} + \newcommand \VerticallyDividedDiamond {\lgx{E282}} + \newcommand \VerticallyDividedCircle {\lgx{E283}} + \newcommand \VerticallyDividedRightTriangle {\lgx{E284}} + \newcommand \VerticallyDividedLeftTriangle {\lgx{E285}} + \newcommand \VerticallyDividedDownTriangle {\lgx{E286}} + \newcommand \VerticallyDividedUpTriangle {\lgx{E287}} + \newcommand \VerticallyDividedSmallCircle {\lgx{E288}} + \newcommand \VerticallyDividedVerySmallCircle {\lgx{E289}} + \newcommand \VerticallyDividedLozenge {\lgx{E28A}} + \newcommand \VerticallyDividedCurvedDiamond {\lgx{E28B}} + \newcommand \VerticallyDividedVerySmallSquare {\lgx{E28C}} + + \newcommand \QuarteredSquare {\lgx{E290}} + \newcommand \QuarteredSquareRoundCorners {\lgx{E291}} + \newcommand \QuarteredDiamond {\lgx{E292}} + \newcommand \QuarteredCircle {\lgx{E293}} + \newcommand \QuarteredRightTriangle {\lgx{E294}} + \newcommand \QuarteredLeftTriangle {\lgx{E295}} + \newcommand \QuarteredDownTriangle {\lgx{E296}} + \newcommand \QuarteredUpTriangle {\lgx{E297}} + \newcommand \QuarteredSmallCircle {\lgx{E298}} + \newcommand \QuarteredVerySmallCircle {\lgx{E299}} + \newcommand \QuartedLozenge {\lgx{E29A}} + \newcommand \QuarteredCurvedDiamond {\lgx{E29B}} + \newcommand \QuarteredVerySmallSquare {\lgx{E29C}} + + \newcommand \DownSlashedSquare {\lgx{E2A0}} + \newcommand \DownSlashedSquareRoundCorners {\lgx{E2A1}} + \newcommand \DownSlashedDiamond {\lgx{E2A2}} + \newcommand \DownSlashedCircle {\lgx{E2A3}} + \newcommand \DownSlashedRightTriangle {\lgx{E2A4}} + \newcommand \DownSlashedLeftTriangle {\lgx{E2A5}} + \newcommand \DownSlashedDownTriangle {\lgx{E2A6}} + \newcommand \DownSlashedUpTriangle {\lgx{E2A7}} + \newcommand \DownSlashedSmallCircle {\lgx{E2A8}} + \newcommand \DownSlashedVerySmallCircle {\lgx{E2A9}} + \newcommand \DownSlashedLozenge {\lgx{E2AA}} + \newcommand \DownSlashedCurvedDiamond {\lgx{E2AB}} + \newcommand \DownSlashedVerySmallSquare {\lgx{E2AC}} + + \newcommand \UpSlashedSquare {\lgx{E2B0}} + \newcommand \UpSlahsedSquareRoundCorners {\lgx{E2B1}} + \newcommand \UpSlashedDiamond {\lgx{E2B2}} + \newcommand \UpSlashedCircle {\lgx{E2B3}} + \newcommand \UpSlashedRightTriangle {\lgx{E2B4}} + \newcommand \UpSlashedLeftTriangle {\lgx{E2B5}} + \newcommand \UpSlashedDownTriangle {\lgx{E2B6}} + \newcommand \UpSlashedUpTriangle {\lgx{E2B7}} + \newcommand \UpSlashedSmallCircle {\lgx{E2B8}} + \newcommand \UpSlashedVerySmallCircle {\lgx{E2B9}} + \newcommand \UpSlashedLozenge {\lgx{E2BA}} + \newcommand \UpSlashedCurvedDiamond {\lgx{E2BB}} + \newcommand \UpSlashedVerySmallSquare {\lgx{E2BC}} + + \newcommand \CrossedSquare {\lgx{E2C0}} + \newcommand \CrossedSquareRoundCorners {\lgx{E2C1}} + \newcommand \CrossedDiamond {\lgx{E2C2}} + \newcommand \CrossedCircle {\lgx{E2C3}} + \newcommand \CrossedRightTriangle {\lgx{E2C4}} + \newcommand \CrossedLeftTriangle {\lgx{E2C5}} + \newcommand \CrossedDownTriangle {\lgx{E2C6}} + \newcommand \CrossedUpTriangle {\lgx{E2C7}} + \newcommand \CrossedSmallCircle {\lgx{E2C8}} + \newcommand \CrossedVerySmallCircle {\lgx{E2C9}} + \newcommand \CrossedLozenge {\lgx{E2CA}} + \newcommand \CrossedCurvedDiamond {\lgx{E2CB}} + \newcommand \CrossedVerySmallSquare {\lgx{E2CC}} + + \newcommand \LBlackSquare {\lgx{E2D0}} + \newcommand \LBlackSquareRoundCorners {\lgx{E2D1}} + \newcommand \LBlackDiamond {\lgx{E2D2}} + \newcommand \LBlackCircle {\lgx{E2D3}} + \newcommand \LBlackRightTriangle {\lgx{E2D4}} + \newcommand \LBlackLeftTriangle {\lgx{E2D5}} + \newcommand \LBlackDownTriangle {\lgx{E2D6}} + \newcommand \LBlackUpTriangle {\lgx{E2D7}} + \newcommand \LBlackSmallCircle {\lgx{E2D8}} + \newcommand \LBlackVerySmallCircle {\lgx{E2D9}} + \newcommand \LBlackLozenge {\lgx{E2DA}} + \newcommand \LBlackCurvedDiamond {\lgx{E2DB}} + \newcommand \LBlackVerySmallSquare {\lgx{E2DC}} + \newcommand \LBlackLeftArrowHead {\lgx{E2DD}} + \newcommand \LBlackRightArrowHead {\lgx{E2DE}} + \newcommand \LBlackRightCurvedArrowHead {\lgx{E2DF}} + + \newcommand \LWhiteSquare {\lgx{E2E0}} + \newcommand \LWhiteSquareRoundCorners {\lgx{E2E1}} + \newcommand \LWhiteDiamond {\lgx{E2E2}} + \newcommand \LWhiteCircle {\lgx{E2E3}} + \newcommand \LWhiteRightTriangle {\lgx{E2E4}} + \newcommand \LWhiteLeftTriangle {\lgx{E2E5}} + \newcommand \LWhiteDownTriangle {\lgx{E2E6}} + \newcommand \LWhiteUpTriangle {\lgx{E2E7}} + \newcommand \LWhiteSmallCircle {\lgx{E2E8}} + \newcommand \LWhiteVerySmallCircle {\lgx{E2E9}} + \newcommand \LWhiteLozenge {\lgx{E2EA}} + \newcommand \LWhiteCurvedDiamond {\lgx{E2EB}} + \newcommand \LWhiteVerySmallSquare {\lgx{E2EC}} + \newcommand \LWhiteLeftArrowHead {\lgx{E2ED}} + \newcommand \LWhiteRightArrowHead {\lgx{E2EE}} + \newcommand \LWhiteRightCurvedArrowHead {\lgx{E2EF}} + +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +% +% 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 font. cli +% +% Blackboard font. blu +% +% Fraktur font. fru +% Fraktur bold font. Fru +% +% Monospace slab-serif font. mnu +% Monospace raised, serif, italic font. mni +% +% Greek font. gru +% Greek, italic font. gri +% +% 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 and +% are raised by 0.433em to match the Knt symbols. +% +% 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. +% \vrbld \symblu Blackboard / double struck variables +% \vrblf \symfru Fraktur variables. +% \vrblF \symFru Bold, Fraktur variables. +% +% \mono \symmnu Monospace slab-serif 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 {0000} + \newcommand \sauLtrBase {0000} + + \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 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}}} + +% 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}}} + +% 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}}} + +% 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 + +% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |