summaryrefslogtreecommitdiff
path: root/fonts/logix/doc/logix.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-07-07 03:03:32 +0000
committerNorbert Preining <norbert@preining.info>2021-07-07 03:03:32 +0000
commit4747884efc69f5b8ad51cc818467f7bbf428b815 (patch)
treed05568e0369ce16288bc105806553f717c194a1c /fonts/logix/doc/logix.tex
parent109a435244c29109322bcd46386301f6c62d4061 (diff)
CTAN sync 202107070303
Diffstat (limited to 'fonts/logix/doc/logix.tex')
-rw-r--r--fonts/logix/doc/logix.tex417
1 files changed, 301 insertions, 116 deletions
diff --git a/fonts/logix/doc/logix.tex b/fonts/logix/doc/logix.tex
index a59d5bb939..c4a60c4098 100644
--- a/fonts/logix/doc/logix.tex
+++ b/fonts/logix/doc/logix.tex
@@ -5,14 +5,13 @@
\usepackage[margin=0.5in]{geometry}
\setlength{\parskip}{0.5em}
- \usepackage{mathtools}
\usepackage{array}
\usepackage{logix}
\setmainfont{STIX Two Text}[NFSSFamily=mainfont,BoldFont={STIX Two Text Bold},ItalicFont={STIX Two Text Italic},BoldItalicFont={STIX Two Text Bold Italic}]
\setmathfont{STIX Two Math}[NFSSFamily=mathfont,BoldFont={},ItalicFont={},BoldItalicFont={}]
- \setmonofont{Logix}[NFSSFamily=monofont,BoldFont={},ItalicFont={},BoldItalicFont={}]
+ \setmonofont{Logix Mono}[NFSSFamily=monofont,BoldFont={},ItalicFont={},BoldItalicFont={}]
\usepackage{scrextend}
\usepackage{csquotes}
@@ -26,6 +25,8 @@
\setlength{\fboxsep}{0pt}
\setlength{\fboxrule}{0.01pt}
+ \hyphenation{tableaux tab-leaux}
+
\newcommand \testFrac {\frac{\frac{\frac{\frac{1}{1}}{\frac{1}{1}}}{\frac{\frac{1}{1}}{\frac{1}{1}}}}{\frac{\frac{\frac{1}{1}}{\frac{1}{1}}}{\frac{\frac{1}{1}}{\frac{1}{1}}}}}
\newcommand \delEnd {\rule[-5em]{0pt}{10.0em}}
@@ -90,7 +91,7 @@
\newgeometry{left=1.5in,right=1.5in,bottom=1.00in,top=0.75in}
- \section{Introduction: logix 2021-01-17 v1.08}
+ \section{Introduction: logix 2021-07-06 v1.09}
The logix package provides the logix Unicode font and must be used either with
\LuaLaTeX\ or \XeLaTeX. There are no available options. The Logix font contains
@@ -99,12 +100,12 @@
Unicode's Private Use Area. This package does not replace either the text font or the
math font but may be used to replace the monospace font.
- The logix package includes, in turn, the iftex, unicode-math and arydshln packages. The
- unicode-math package is passed the \enquote{bold-style=ISO} parameter and includes the
- fontspec package. The arydsln package conflicts with several packages. Known conflicts
- are the array, longtable, colortab and colortbl packages, all of which must be loaded
- before the logix package when they are used. Typical use of the logix package in a
- \LaTeX\ source file is:
+ The logix package includes, in turn, the iftex, mathtools, unicode-math and arydshln
+ packages. The unicode-math package is passed the \enquote{bold-style=ISO} parameter
+ and includes the fontspec package. The arydsln package conflicts with several packages.
+ Known conflicts are the array, longtable, colortab and colortbl packages, all of which
+ must be loaded before the logix package when they are used. Typical use of the logix
+ package in a \LaTeX\ source file is:
\begin{addmargin}[0.25in]{0.em}
\begin{FontSize}{9}{11}
@@ -187,7 +188,7 @@
since there is no real consensus for their use \textemdash\ although some are most
frequently associated with classical logic. Various flavors of turnstiles (and their
negations) are also provided. There is more of a consensus for their usage although the
- author has only seen two publications with the very useful sequent ({\textbackslash}Seq
+ author has only seen a few publications with the very useful sequent ({\textbackslash}Seq
$\Seq$) symbol. Additional arrows are provided as an alternative to the slash typically
used for replacement in quantification and arrows are provided for shift operators.
@@ -505,43 +506,46 @@
\end{tabular}
\clearpage
- \section{Logic Proofs}
+ \section{Logic Definitions, Axioms and Proofs}
\LaTeX\ has more than adequate support for traditional mathematical proofs.
Conversely, in logic, object proofs are written either as a linear sequence
(usually Hilbert style proofs) or as a tree (usually Natural Deduction or Gentzen
systems), but linear proofs can be used with most systems of logic. Tree style
- proofs have support in several other packages. However, linear proofs do not.
- This package supplies three environments to support linear proofs to alleviate
- this deficiency.
+ proofs have support in several other packages. However, Hilbert style proofs do not.
+ This package supplies several environments to support Hilbert style definitions,
+ axioms and proofs to alleviate this deficiency.
Logic definitions typically have a name with an optional number (e.g. \enquote{Ax. 3}
- or \enquote{Conjunction}), an expression and, optionally, a brief comment. A definition
- may stand alone or multiple definitions may be grouped. The LogixDefn environment
- provides structured formatting for logic definitions, either singly or as a group.
- The LogixDefn environment does not have required parameters, but does have an
- optional parameter. That parameter must be a horizontal length. If present, all of
- the definition expressions must fit within that length and its presence indicates
+ or \enquote{Conjunction}), a left expression, a right expression and, optionally, a
+ brief comment. A definition may stand alone or multiple definitions may be grouped.
+ The LogixDefn environment provides structured formatting for logic definitions, either
+ singly or as a group. The LogixDefn environment does not have required parameters, but
+ does have an optional parameter. That parameter must be a horizontal length. If present,
+ all of the definition expressions must fit within that length and its presence indicates
that a comment may optionally follow each expression. The length should be sufficient
to allow adequate space between the longest expression and the start of the comments,
and to avoid the expressions overlapping the comments.
- The LogixDefn environment defines the nested Line macro, which has three parameters
- if the optional LogixDefn parameter is not present, and otherwise four. The
- fourth parameter may not be omitted if the length parameter is present and contains
+ The LogixDefn environment defines the nested Line macro, which has four parameters
+ if the optional LogixDefn parameter is not present, and otherwise five. The
+ fifth parameter may not be omitted if the length parameter is present and contains
a possibly empty comment to be placed at the end of the line following the
expression. The basic three parameters for the Line macro are the definition's name,
- optional number (the empty argument must be present if there is no number) and
- the definition expression, which is typeset in math mode. Two examples of its use
- follow. Expressions in most examples are meaningless and only serve to show the
- presence of an expression.
+ optional number (the empty argument must be present if there is no number), the left
+ side of the definition and the right side of the definition, the latter two of which
+ are typeset in math mode. The left expression is right aligned and the right expression
+ is left aligned. The left and right sides of a definition are separated by the
+ definition symbol ($\Defn$), which is aligned when grouping expressions. Two examples
+ of its use follow. Expressions in most examples are meaningless and only serve to show
+ the presence of an expression.
\begin{addmargin}[0.25in]{0.em}
\begin{FontSize}{9}{11}
\begin{verbatim}
\begin{LogixDefn}
- \Line{Neg} {1}{\symsau{p} \Equv \symsau{q}}
- \Line{Conj}{} {\symsau{p} \Equv \symsau{q}}
+ \Line{Neg} {1}{\symsau{p}}{\symsau{q}}
+ \Line{Conj}{} {\symsau{p}}{\symsau{q}}
\end{LogixDefn}
\end{verbatim}
\end{FontSize}
@@ -551,8 +555,8 @@
\begin{FontSize}{9}{11}
\begin{verbatim}
\begin{LogixDefn}[5em]
- \Line{Df}{1}{\symsau{p} \Equv \symsau{q}}{Some comment}
- \Line{Df}{2}{\symsau{p} \Equv \symsau{q}}{Yet another comment}
+ \Line{Df}{1}{\symsau{p}}{\symsau{q}}{Some comment}
+ \Line{Df}{2}{\symsau{p}}{\symsau{q}}{Yet another comment}
\end{LogixDefn}
\end{verbatim}
\end{FontSize}
@@ -565,54 +569,106 @@
\begin{addmargin}[0.25in]{0.em}
\begin{LogixDefn}
- \Line{Neg} {1}{\symsau{p} \Equv \symsau{q}}
- \Line{Conj}{} {\symsau{p} \Equv \symsau{q}}
+ \Line{Neg} {1}{\symsau{p}}{\symsau{q}}
+ \Line{Conj}{} {\symsau{p}}{\symsau{q}}
\end{LogixDefn}
\begin{LogixDefn}[5em]
- \Line{Df}{1}{\symsau{p} \Equv \symsau{q}}{Some comment}
- \Line{Df}{2}{\symsau{p} \Equv \symsau{q}}{Yet another comment}
+ \Line{Df}{1}{\symsau{p}}{\symsau{q}}{Some comment}
+ \Line{Df}{2}{\symsau{p}}{\symsau{q}}{Yet another comment}
\end{LogixDefn}
\end{addmargin}
\end{flushleft}
\vspace{-0.50em}
- Environments defined in this package do not affect the indentation level.
- The LogixDefn environment would also be used to state axioms or theorems without
- associated proofs. In this document, the addmargin environment provided by the
- scrextend package is used to provide indentation.
+ Environments defined in this package do not affect the indentation level. In this
+ document, the addmargin environment provided by the scrextend package is used to
+ provide indentation.
+ \clearpage
- A linear logical theorem typically has a name (including any number), a possibly
- empty set of postulates and the theorem's expression. The LogixProof environment
- provides structured formatting for linear logic theorems. The LogixProof environment
- has four arguments with the first one optional. The optional argument is a horizontal
- length, and provides a width for the expression in each proof 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 (AC) for a specific theorem when working in ZF instead of ZFC).
+ The LogixAxiom environment is very similar to the LogixDefn environment, except
+ that there is only one expression, which is left aligned. Two examples of its use
+ are shown below. The first example is two replacement rules with required
+ meta-conditions. One for sequents and one for an equivalence operator. The second
+ example is similar, but without the required meta-conditions.
- \clearpage
- Postulates are distinguished from axioms. An axiom is assumed to hold for all
- theorems in a system whereas a postulate is only assumed to hold for a specific
- proof. The third parameter is the statement (the theorem's expression) of the proof.
-
- The LogixProof environment defines the Dash and Line nested macros. These are
- identical except that the Dash macro is followed by a dashed line separator and
- the Line macro is followed by a solid line separator. Each line of the proof is
- represented by an occurrence of one of these macros. The last line of the proof
- is normally represented by a Line macro. Each of these macros has four parameters
- (five when the optional length argument of the LogixProof environment is present).
- There are two typical styles for each line of a linear logical proof. The first
- is commonly used in short examples and in introductory texts. It starts with a
- line number, the expression for the proof line and an optional comment which
+\begin{addmargin}[0.25in]{0.em}
+\begin{FontSize}{9}{11}
+\begin{verbatim}
+\begin{LogixAxiom}
+ \Line{Rp} {12} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q}
+ \ClsParn, \symsau{p} \WkEquv \symsau{q}, \symsau{e} \Seq
+ \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p}
+ \ClsBrkt }
+ \Line{Rp} {2} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q}
+ \ClsParn, \symsau{p} \WkEquv \symsau{q} \Seq \symsau{e}
+ \WkEquv \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p}
+ \ClsBrkt }
+ \end{LogixAxiom}
+
+\begin{LogixAxiom}[10em]
+ \Line{Ax} {1} {\symsau{p} \Equv \symsau{q}, \symsau{e} \Seq \symsau{e}
+ \OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
+ { Sequent replacement rule. }
+ \Line{Ax} {2} {\symsau{p} \Equv \symsau{q} \Seq \symsau{e} \Equv \symsau{e}
+ \OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
+ { Equivalence replacement rule. }
+ \end{LogixAxiom}
+\end{verbatim}
+\end{FontSize}
+\end{addmargin}
+
+ \begin{flushleft}
+ These examples are typeset as shown below.
+ \vspace{0.25em}
+
+ \begin{addmargin}[0.25in]{0.em}
+ \begin{LogixAxiom}
+ \Line{Rp} {12} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q} \ClsParn, \symsau{p} \WkEquv \symsau{q}, \symsau{e} \Seq \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
+ \Line{Rp} {2} {\symsai{NegationFree}\OpnParn \symsau{p} \WkEquv \symsau{q} \ClsParn, \symsau{p} \WkEquv \symsau{q} \Seq \symsau{e} \WkEquv \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt }
+ \end{LogixAxiom}
+
+ \begin{LogixAxiom}[10em]
+ \Line{Ax} {1} {\symsau{p} \Equv \symsau{q}, \symsau{e} \Seq \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt } {Sequent replacement rule.}
+ \Line{Ax} {2} {\symsau{p} \Equv \symsau{q} \Seq \symsau{e} \Equv \symsau{e}\OpnBrkt \symsau{q} \RightSlash \symsau{p} \ClsBrkt } {Equivalence replacement rule.}
+ \end{LogixAxiom}
+ \end{addmargin}
+ \end{flushleft}
+ \vspace{-0.50em}
+
+ A Hilbert style logical theorem typically has a name (including any number), a possibly
+ empty set of postulates and the theorem's expression. The LogixProof environment
+ provides structured formatting for Hilbert style logic theorems. The LogixProof
+ environment has four arguments with the first one optional. The optional argument
+ is a horizontal length, and provides a width for the expression in each proof 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 (AC) for a specific theorem when working in ZF instead of ZFC).
+
+ Postulates are distinguished from axioms (however, formulas, rules and meta-rules are
+ not distinguished for axioms, postulates or theorems). An axiom is assumed to hold for
+ all theorems in a system whereas a postulate is only assumed to hold in the context
+ of a specific proof. The third parameter is the statement (the theorem's expression)
+ of the proof.
+
+ The LogixProof environment defines the Blnk, Dash and Line nested macros. These
+ are identical except that the Dash macro is followed by a dashed line separator
+ and the Line macro is followed by a solid line separator. Each line of the proof
+ is represented by an occurrence of one of these macros. The last line of the proof
+ is normally represented by a Dash or Line macro. Each of these macros has four
+ parameters (five when the optional length argument of the LogixProof environment
+ is present). There are two typical styles for each line of a linear logical proof.
+ The first is commonly used in short examples and in introductory texts. It starts
+ with a line number, the expression for the proof line and an optional comment which
justifies the proof step in some manner. The second style starts with a line
number, then the justifying theorem or axiom name, then a list of previous line
numbers of the proof that justify the proof step, followed by the expression for
the proof line and finally, an optional comment.
+ \clearpage
- The Dash and Line macros accommodate both proof styles. The first parameter for each
- of these macros is the line number. It is typeset in math mode so that subscripts
+ The Blnk, Dash and Line macros accommodate both proof styles. The first parameter for
+ each of these macros is the line number. It is typeset in math mode so that subscripts
may be used (sometimes useful in meta proofs). The second parameter is the name
of the justifying axiom or previous theorem (including any number). The third
parameter is the list of previous lines of the proof used to justify the proof,
@@ -628,8 +684,8 @@
\begin{FontSize}{9}{11}
\begin{verbatim}
\begin{LogixProof} {Th 46} {AC} {\prop{p} \Nd \prop{q}}
- \Dash {1} {Th 41} {} {\prop{p} \Impl \prop{q}}
- \Line {2} {Cn 2} {} {\prop{p} \Impl \prop{q}}
+ \Blnk {1} {Th 41} {} {\prop{p} \Impl \prop{q}}
+ \Dash {2} {Cn 2} {} {\prop{p} \Impl \prop{q}}
\end{LogixProof}
\end{verbatim}
\end{FontSize}
@@ -660,14 +716,15 @@
\vspace{-0.75em}
\begin{flushleft}
- These exampls are typeset as shown below. The first example assumes that the
+ These examples are typeset as shown below. The first example assumes that the
Axiom of Choice holds within the context of the proof.
\vspace{0.25em}
\begin{addmargin}[0.25in]{0.em}
+
\begin{LogixProof} {Th 46} {AC} {\prop{p} \Nd \prop{q}}
- \Dash {1} {Th 41} {} {\prop{p} \Impl \prop{q}}
- \Line {2} {Cn 2} {} {\prop{p} \Impl \prop{q}}
+ \Blnk {1} {Th 41} {} {\prop{p} \Impl \prop{q}}
+ \Dash {2} {Cn 2} {} {\prop{p} \Impl \prop{q}}
\end{LogixProof}
\begin{LogixProof}[5em] {Th 46} {} {\prop{p} \Nd \prop{q}}
@@ -683,7 +740,6 @@
\end{addmargin}
\end{flushleft}
- \clearpage
A more realistic example of using the LogixProof environment is shown below.
(Note the use of arrow lengths to indicate depth of expression nesting.
This is not automatic.)
@@ -691,16 +747,17 @@
\begin{flushleft}
\begin{addmargin}[0.25in]{0.em}
\begin{LogixProof} {Th 43} {} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \LImpl \OpnParn\prop{p} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
- \Dash{1} {Th 14} {} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Impl \OpnParn\prop{p} \SImpl \prop{q}\ClsParn}
- \Dash{2} {Im 3} {} {\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn}
- \Dash{3} {Im 3} {2} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \LImpl \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
- \Dash{4} {Cn 2} {1,3} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Impl \OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Nd \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
- \Dash{5} {Im 2} {} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Nd \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn \LImpl \OpnParn\prop{p} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
- \Line{6} {Im 2} {4,5} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \LImpl \OpnParn\prop{p} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
+ \Blnk{1} {Th 14} {} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Impl \OpnParn\prop{p} \SImpl \prop{q}\ClsParn}
+ \Blnk{2} {Im 3} {} {\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn}
+ \Blnk{3} {Im 3} {2} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \LImpl \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
+ \Blnk{4} {Cn 2} {1,3} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Impl \OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Nd \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
+ \Blnk{5} {Im 2} {} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \Nd \OpnParn\prop{q} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn \LImpl \OpnParn\prop{p} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
+ \Dash{6} {Im 2} {4,5} {\OpnParn\prop{p} \SImpl \prop{q}\ClsParn \LImpl \OpnParn\prop{p} \Impl \OpnParn\prop{r} \SImpl \prop{q}\ClsParn\ClsParn}
\end{LogixProof}
\end{addmargin}
\end{flushleft}
\vspace{-0.25em}
+ \clearpage
In addition to the LogixProof environment, the LogixSeqnt environment is
also provided. It is identical to the LogixProof environment with the exception
@@ -725,8 +782,8 @@
\begin{FontSize}{9}{11}
\begin{verbatim}
\begin{LogixSeqnt}[3em] {Th 46} {} {\prop{p} \Seq \prop{r}}
- \Line {1} {Th 41} {} {\prop{p}} {\prop{r}} {First comment}
- \Line {2} {Cn 2} {} {\prop{p}} {\prop{r}} {}
+ \Blnk {1} {Th 41} {} {\prop{p}} {\prop{r}} {First comment}
+ \Blnk {2} {Cn 2} {} {\prop{p}} {\prop{r}} {}
\Line {3} {Th 38} {2,1} { } {\prop{r}} {Last comment}
\end{LogixSeqnt}
\end{verbatim}
@@ -756,8 +813,8 @@
\end{LogixSeqnt}
\begin{LogixSeqnt}[3em] {Th 46} {} {\prop{p} \Seq \prop{r}}
- \Line {1} {Th 41} {} {\prop{p}} {\prop{r}} {First comment}
- \Line {2} {Cn 2} {} {\prop{p}} {\prop{r}} {}
+ \Blnk {1} {Th 41} {} {\prop{p}} {\prop{r}} {First comment}
+ \Blnk {2} {Cn 2} {} {\prop{p}} {\prop{r}} {}
\Line {3} {Th 38} {2,1} { } {\prop{r}} {Last comment}
\end{LogixSeqnt}
@@ -782,7 +839,43 @@
\end{addmargin}
\end{flushleft}
- \clearpage
+ The LogixTable environment provides a consistent environment for semantic maps
+ and tableaux. It replaces the use of the tabular environment, but other
+ than setting local parameters, is identical. The following example illustrates
+ its use for a semantic map.
+
+\begin{addmargin}[0.25in]{0.em}
+\begin{FontSize}{9}{11}
+\begin{verbatim}
+\begin{LogixTable}{c | c c c c }
+ \Nd & \meta{f} & \meta{u} & \meta{o} & \meta{t} \\ \hline
+ \meta{f} & \meta{f} & \meta{f} & \meta{f} & \meta{f} \\
+ \meta{u} & \meta{f} & \meta{u} & \meta{f} & \meta{u} \\
+ \meta{o} & \meta{f} & \meta{f} & \meta{o} & \meta{o} \\
+ \meta{t} & \meta{f} & \meta{u} & \meta{o} & \meta{t} \\
+ \end{LogixTable}
+\end{verbatim}
+\end{FontSize}
+\end{addmargin}
+\clearpage
+
+ \begin{flushleft}
+ This is typeset as shown below.
+ \vspace{0.25em}
+
+ \begin{addmargin}[0.25in]{0.em}
+ \begin{LogixTable}{c | c c c c }
+ \Nd & \meta{f} & \meta{u} & \meta{o} & \meta{t} \\ \hline
+ \meta{f} & \meta{f} & \meta{f} & \meta{f} & \meta{f} \\
+ \meta{u} & \meta{f} & \meta{u} & \meta{f} & \meta{u} \\
+ \meta{o} & \meta{f} & \meta{f} & \meta{o} & \meta{o} \\
+ \meta{t} & \meta{f} & \meta{u} & \meta{o} & \meta{t} \\
+ \end{LogixTable}
+ \end{addmargin}
+ \end{flushleft}
+
+ \section{Displaying Monospaced Source Text}
+
In \enquote{Fonts for Displaying Program Code in \LaTeX} Adrian P. Robson
examined the available options for displaying source code. For fonts which
contain a marked zero, Adrian recommended the Bera Mono based on vertical
@@ -791,17 +884,17 @@
font. It is a type 1 font and is not a Unicode font (but can still be used
if loaded before fontspec).
- This package provides the Logix Mono font, (also derived from the Bitstream
- Mono font) in addition to the Logix font. Most applications can use the Logix
+ In addition to the Logix font, this package provides the Logix Mono font, (also
+ derived from the Bitstream Mono font). Many applications can use the Logix
and Logix Mono fonts interchangably. Unfortunately, the additional symbols
- in the Logix font are not well handled by some applications. The Logix Mono
- font is designed (as is the Logix font) to be compatible with the STIX2
- mathematical fonts. It is also slightly heavier and more compact than the
- Bera Mono font to improve readability. Like the Bera Mono font, it is larger
- than many other typewriter fonts. The recommendation for the Bera Mono font
- is thus to load it with a scaling factor of 90\%. Here, the preferred approach
- is to explicltly set the point size and leading with the
- {\textbackslash}fontsize feature.
+ in the Logix font are not well handled by some applications so that monospaced
+ symbols are not displayed correctly. The Logix Mono font is designed (as is the
+ Logix font) to be compatible with the STIX2 mathematical fonts. It is also
+ slightly heavier and more compact than the Bera Mono font to improve readability.
+ Like the Bera Mono font, it is larger than many other typewriter fonts. The
+ recommendation for the Bera Mono font is thus to load it with a scaling factor
+ of 90\%. Here, the preferred approach is to explicltly set the point size and
+ leading with the {\textbackslash}fontsize feature.
\noindent Including the Logix monospace symbols can be done as follows \textellipsis
@@ -846,6 +939,9 @@
7/9 & 19.875 & 159 & 208 \\
\end{tabular}
+ All of the previous source examples were displayed using the Logic Mono font
+ with a point size of 9 with leading of 11.
+
\section{Symbols}
The remainder of this document is the list of symbols. Each symbol has a name
@@ -860,7 +956,6 @@
large enough that no predefined size variant will be used. Delimiters which
are too short for the second example are limited in size variations to 5\times\
the normal delimiter size.
- \clearpage
That is followed by script examples. First Greek and Greek italic, then the
sans-serif scripts, the slab-serif scripts, the normal serif scripts and
@@ -909,7 +1004,7 @@
Open Curved Angle Bracket & {\textbackslash}OpnCurvAngl & \scalebox{1.50}{\OpnCurvAngl} \\ \hline
Open Ceiling & {\textbackslash}OpnCeil & \scalebox{1.50}{\OpnCeil} \\ \hline
Open Floor & {\textbackslash}OpnFloor & \scalebox{1.50}{\OpnFloor} \\ \hline
- Open Force & {\textbackslash}OpnForce & \scalebox{1.50}{\OpnForce} \\ \hline
+ Open Turn & {\textbackslash}OpnTurn & \scalebox{1.50}{\OpnTurn} \\ \hline
Open Double Vertical Bar & {\textbackslash}OpnDblBar & \scalebox{1.50}{\OpnDblBar} \\ \hline
Open Triple Vertical Bar & {\textbackslash}OpnTrpBar & \scalebox{1.50}{\OpnTrpBar} \\ \hline
Open Double Group Brace & {\textbackslash}OpnDblGrp & \scalebox{1.50}{\OpnDblGrp} \\ \hline
@@ -948,7 +1043,7 @@
Close Curved Angle Bracket & {\textbackslash}ClsCurvAngl & \scalebox{1.50}{\ClsCurvAngl} \\ \hline
Close Ceiling & {\textbackslash}ClsCeil & \scalebox{1.50}{\ClsCeil} \\ \hline
Close Floor & {\textbackslash}ClsFloor & \scalebox{1.50}{\ClsFloor} \\ \hline
- Close Force & {\textbackslash}ClsForce & \scalebox{1.50}{\ClsForce} \\ \hline
+ Close Turn & {\textbackslash}ClsTurn & \scalebox{1.50}{\ClsTurn} \\ \hline
Close Double Vertical Bar & {\textbackslash}ClsDblBar & \scalebox{1.50}{\ClsDblBar} \\ \hline
Close Triple Vertical Bar & {\textbackslash}ClsTrpBar & \scalebox{1.50}{\ClsTrpBar} \\ \hline
Close Double Group Brace & {\textbackslash}ClsDblGrp & \scalebox{1.50}{\ClsDblGrp} \\ \hline
@@ -1280,16 +1375,29 @@
Bitwise OR operator / Logical Disjunction & {\textbackslash}Or & \scalebox{1.50}{\Or} \\ \hline
Bitwise NOT operator / Logical Negation & {\textbackslash}Nt & \scalebox{1.50}{\Nt} \\ \hline
Classical Logical Negation & {\textbackslash}Ngt & \scalebox{1.50}{\Ngt} \\ \hline
+ Logical NAND & {\textbackslash}Lnand & \scalebox{1.50}{\Lnand} \\ \hline
+ Logical NOR & {\textbackslash}Lnor & \scalebox{1.50}{\Lnor} \\ \hline
+ Logical XOR & {\textbackslash}Lxor & \scalebox{1.50}{\Lxor} \\ \hline
+ Sheffer's Stroke (Logical NAND) & {\textbackslash}Shfr & \scalebox{1.50}{\Shfr} \\ \hline
Bitwise NAND operator & {\textbackslash}Nand & \scalebox{1.50}{\Nand} \\ \hline
Bitwise NOR operator & {\textbackslash}Nor & \scalebox{1.50}{\Nor} \\ \hline
Bitwise XOR operator & {\textbackslash}Xor & \scalebox{1.50}{\Xor} \\ \hline
\end{symbolListA}
\begin{symbolListA}
+ Slanted Bar And & {\textbackslash}SbNd & \scalebox{1.50}{\SbNd} \\ \hline
+ Slanted Bar Or & {\textbackslash}SbOr & \scalebox{1.50}{\SbOr} \\ \hline
+ Slanted Bar Nand & {\textbackslash}SbNand & \scalebox{1.50}{\SbNand} \\ \hline
+ Slanted Bar Nor & {\textbackslash}SbNor & \scalebox{1.50}{\SbNor} \\ \hline
+ Slanted Bar Xor & {\textbackslash}SbXor & \scalebox{1.50}{\SbXor} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
Defines & {\textbackslash}Defn & \scalebox{1.50}{\Defn} \\ \hline
Q.E.D. & {\textbackslash}Qed & \scalebox{1.50}{\Qed} \\ \hline
\end{symbolListA}
+ \clearpage
\begin{symbolListA}
True & {\textbackslash}True & \scalebox{1.50}{\True} \\ \hline
False & {\textbackslash}False & \scalebox{1.50}{\False} \\ \hline
@@ -1302,24 +1410,31 @@
\end{symbolListA}
\begin{symbolListA}
- Logical Coherence & {\textbackslash}LcgCohrnc & \scalebox{1.50}{\LcgCohrnc} \\ \hline
- Bunch Coherence & {\textbackslash}BncCohrnc & \scalebox{1.50}{\BncCohrnc} \\ \hline
+ Logical Bistability & {\textbackslash}LcgBistab & \scalebox{1.50}{\LcgBistab} \\ \hline
+ Bunch Bistability & {\textbackslash}BncBistab & \scalebox{1.50}{\BncBistab} \\ \hline
\end{symbolListA}
- \clearpage
\begin{symbolListA}
Quantified Conjunction & {\textbackslash}QuantCon & \scalebox{1.50}{\QuantCon} \\ \hline
Quantified Disjuntion & {\textbackslash}QuantDis & \scalebox{1.50}{\QuantDis} \\ \hline
Universal Individual Quantifier & {\textbackslash}ForAll & \scalebox{1.50}{\ForAll} \\ \hline
Existential Individual Quantifier & {\textbackslash}Exists & \scalebox{1.50}{\Exists} \\ \hline
Unique Existential Individual Quantifier & {\textbackslash}Unique & \scalebox{1.50}{\Unique} \\ \hline
+ Existential Individual Quantifier Negation & {\textbackslash}NtExists & \scalebox{1.50}{\NtExists} \\ \hline
+ Hidden Existential Individual Quantifier & {\textbackslash}HdnExists & \scalebox{1.50}{\HdnExists} \\ \hline
+ Hidden Universal Individual Quantifier & {\textbackslash}HdnForAll & \scalebox{1.50}{\HdnForAll} \\ \hline
Universal Bunch Quantifier & {\textbackslash}BnchForAll & \scalebox{1.50}{\BnchForAll} \\ \hline
Existential Bunch Quantifier & {\textbackslash}BnchExists & \scalebox{1.50}{\BnchExists} \\ \hline
Unique Existential Bunch Quantifier & {\textbackslash}BnchUnique & \scalebox{1.50}{\BnchUnique} \\ \hline
+ Existential Bunch Quantifier Negation & {\textbackslash}BnchNtExists & \scalebox{1.50}{\BnchNtExists} \\ \hline
+ Hidden Existential Bunch Quantifier & {\textbackslash}BnchHdnExists & \scalebox{1.50}{\BnchHdnExists} \\ \hline
+ Hidden Universal Bunch Quantifier & {\textbackslash}BnchHdnForAll & \scalebox{1.50}{\BnchHdnForAll} \\ \hline
Map Abstraction & {\textbackslash}BndMap & \scalebox{1.50}{\BndMap} \\ \hline
\end{symbolListA}
+ \clearpage
\begin{symbolListA}
+ Zero width space & {\textbackslash}NoSpace & \scalebox{1.50}{\NoSpace} \\ \hline
Dot & {\textbackslash}Dt & \scalebox{1.50}{\Dt} \\ \hline
Comma & {\textbackslash}Coma & \scalebox{1.50}{\Coma} \\ \hline
Semicolon & {\textbackslash}Semicln & \scalebox{1.50}{\Semicln} \\ \hline
@@ -1346,7 +1461,6 @@
Right (forward) slash & {\textbackslash}RightSlash & \scalebox{1.50}{\RightSlash} \\ \hline
\end{symbolListA}
- \clearpage
\begin{symbolListA}
Single dagger & {\textbackslash}Dagger & \scalebox{1.50}{\Dagger} \\ \hline
Double horizontal dagger & {\textbackslash}Ddagger & \scalebox{1.50}{\Ddagger} \\ \hline
@@ -1361,6 +1475,7 @@
Back quote (grave) & {\textbackslash}BackQuote & \scalebox{1.50}{\BackQuote} \\ \hline
\end{symbolListA}
+ \clearpage
\begin{symbolListA}
Shift for superscripts & {\textbackslash}ShftSuper & \scalebox{1.50}{\ShftSuper} \\ \hline
Shift for subscripts & {\textbackslash}ShftSubscr & \scalebox{1.50}{\ShftSubscr} \\ \hline
@@ -1368,12 +1483,31 @@
\end{symbolListA}
\begin{symbolListA}
+ Replace All Bound Variables (left / right) & {\textbackslash}RplcAllBnd & \scalebox{1.50}{\RplcAllBnd} \\ \hline
Replace All Bound Variables (right) & {\textbackslash}RplcAllBndRight & \scalebox{1.50}{\RplcAllBndRight} \\ \hline
Replace All Bound Variables (left) & {\textbackslash}RplcAllBndLeft & \scalebox{1.50}{\RplcAllBndLeft} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Replace All (left / right) & {\textbackslash}RplcAll & \scalebox{1.50}{\RplcAll} \\ \hline
Replace All (right) & {\textbackslash}RplcAllRight & \scalebox{1.50}{\RplcAllRight} \\ \hline
Replace All (left) & {\textbackslash}RplcAllLeft & \scalebox{1.50}{\RplcAllLeft} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Replace Any Free Variables (left / right) & {\textbackslash}RplcFree & \scalebox{1.50}{\RplcFree} \\ \hline
Replace Any Free Variables (right) & {\textbackslash}RplcFreeRight & \scalebox{1.50}{\RplcFreeRight} \\ \hline
Replace Any Free Variables (left) & {\textbackslash}RplcFreeLeft & \scalebox{1.50}{\RplcFreeLeft} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Replace Any (left / right) & {\textbackslash}RplcAny & \scalebox{1.50}{\RplcAny} \\ \hline
+ Replace Any (right) & {\textbackslash}RplcAnyRight & \scalebox{1.50}{\RplcAnyRight} \\ \hline
+ Replace Any (left) & {\textbackslash}RplcAnyLeft & \scalebox{1.50}{\RplcAnyLeft} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Replace Equivalent Expressions (left / right) & {\textbackslash}RplcEquv & \scalebox{1.50}{\RplcEquv} \\ \hline
Replace Equivalent Expressions (right) & {\textbackslash}RplcEquvRight & \scalebox{1.50}{\RplcEquvRight} \\ \hline
Replace Equivalent Expressions (left) & {\textbackslash}RplcEquvLeft & \scalebox{1.50}{\RplcEquvLeft} \\ \hline
\end{symbolListA}
@@ -1395,19 +1529,19 @@
\end{symbolListA}
\begin{symbolListA}
- Empty Bunch & {\textbackslash}EmptyBunch & \scalebox{1.50}{\EmptyBunch} \\ \hline
+ Absent / Void Bunch & {\textbackslash}VoidBunch & \scalebox{1.50}{\VoidBunch} \\ \hline
Null Set & {\textbackslash}NullSet & \scalebox{1.50}{\NullSet} \\ \hline
\end{symbolListA}
\clearpage
\begin{symbolListA}
- Logical Necessity & {\textbackslash}LogNec & \scalebox{1.50}{\LogNec} \\ \hline
- Logical Possibility & {\textbackslash}LogPos & \scalebox{1.50}{\LogPos} \\ \hline
- Logical Next & {\textbackslash}LogNext & \scalebox{1.50}{\LogNext} \\ \hline
- Logical Future & {\textbackslash}LogFutr & \scalebox{1.50}{\LogFutr} \\ \hline
- Logical Past & {\textbackslash}LogPast & \scalebox{1.50}{\LogPast} \\ \hline
- Logical Contingency & {\textbackslash}LogCont & \scalebox{1.50}{\LogCont} \\ \hline
- Logical Non-contingency & {\textbackslash}LogNonCont & \scalebox{1.50}{\LogNonCont} \\ \hline
+ Necessity & {\textbackslash}Nec & \scalebox{1.50}{\Nec} \\ \hline
+ Possibility & {\textbackslash}Pos & \scalebox{1.50}{\Pos} \\ \hline
+ Next & {\textbackslash}Next & \scalebox{1.50}{\Next} \\ \hline
+ Future & {\textbackslash}Futr & \scalebox{1.50}{\Futr} \\ \hline
+ Past & {\textbackslash}Past & \scalebox{1.50}{\Past} \\ \hline
+ Contingency & {\textbackslash}Cont & \scalebox{1.50}{\Cont} \\ \hline
+ Non-contingency & {\textbackslash}NonCont & \scalebox{1.50}{\NonCont} \\ \hline
\end{symbolListA}
\begin{symbolListA}
@@ -1421,13 +1555,44 @@
\end{symbolListA}
\begin{symbolListA}
- Necessity & {\textbackslash}Nec & \scalebox{1.50}{\Nec} \\ \hline
- Possibility & {\textbackslash}Pos & \scalebox{1.50}{\Pos} \\ \hline
- Next & {\textbackslash}Next & \scalebox{1.50}{\Next} \\ \hline
- Future & {\textbackslash}Futr & \scalebox{1.50}{\Futr} \\ \hline
- Past & {\textbackslash}Past & \scalebox{1.50}{\Past} \\ \hline
- Contingency & {\textbackslash}Cont & \scalebox{1.50}{\Cont} \\ \hline
- Non-contingency & {\textbackslash}NonCont & \scalebox{1.50}{\NonCont} \\ \hline
+ Deontic Necessity & {\textbackslash}DeoNec & \scalebox{1.50}{\DeoNec} \\ \hline
+ Deontic Possibility & {\textbackslash}DeoPos & \scalebox{1.50}{\DeoPos} \\ \hline
+ Deontic Next & {\textbackslash}DeoNext & \scalebox{1.50}{\DeoNext} \\ \hline
+ Deontic Future & {\textbackslash}DeoFutr & \scalebox{1.50}{\DeoFutr} \\ \hline
+ Deontic Past & {\textbackslash}DeoPast & \scalebox{1.50}{\DeoPast} \\ \hline
+ Deontic Contingency & {\textbackslash}DeoCont & \scalebox{1.50}{\DeoCont} \\ \hline
+ Deontic Non-contingency & {\textbackslash}DeoNonCont & \scalebox{1.50}{\DeoNonCont} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Logical Necessity & {\textbackslash}LogNec & \scalebox{1.50}{\LogNec} \\ \hline
+ Logical Possibility & {\textbackslash}LogPos & \scalebox{1.50}{\LogPos} \\ \hline
+ Logical Next & {\textbackslash}LogNext & \scalebox{1.50}{\LogNext} \\ \hline
+ Logical Future & {\textbackslash}LogFutr & \scalebox{1.50}{\LogFutr} \\ \hline
+ Logical Past & {\textbackslash}LogPast & \scalebox{1.50}{\LogPast} \\ \hline
+ Logical Contingency & {\textbackslash}LogCont & \scalebox{1.50}{\LogCont} \\ \hline
+ Logical Non-contingency & {\textbackslash}LogNonCont & \scalebox{1.50}{\LogNonCont} \\ \hline
+ \end{symbolListA}
+
+ \clearpage
+ \begin{symbolListA}
+ Doxastic Necessity & {\textbackslash}DoxNec & \scalebox{1.50}{\DoxNec} \\ \hline
+ Doxastic Possibility & {\textbackslash}DoxPos & \scalebox{1.50}{\DoxPos} \\ \hline
+ Doxastic Next & {\textbackslash}DoxNext & \scalebox{1.50}{\DoxNext} \\ \hline
+ Doxastic Future & {\textbackslash}DoxFutr & \scalebox{1.50}{\DoxFutr} \\ \hline
+ Doxastic Past & {\textbackslash}DoxPast & \scalebox{1.50}{\DoxPast} \\ \hline
+ Doxastic Contingency & {\textbackslash}DoxCont & \scalebox{1.50}{\DoxCont} \\ \hline
+ Doxastic Non-contingency & {\textbackslash}DoxNonCont & \scalebox{1.50}{\DoxNonCont} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
+ Temporal Necessity & {\textbackslash}TmpNec & \scalebox{1.50}{\TmpNec} \\ \hline
+ Temporal Possibility & {\textbackslash}TmpPos & \scalebox{1.50}{\TmpPos} \\ \hline
+ Temporal Next & {\textbackslash}TmpNext & \scalebox{1.50}{\TmpNext} \\ \hline
+ Temporal Future & {\textbackslash}TmpFutr & \scalebox{1.50}{\TmpFutr} \\ \hline
+ Temporal Past & {\textbackslash}TmpPast & \scalebox{1.50}{\TmpPast} \\ \hline
+ Temporal Contingency & {\textbackslash}TmpCont & \scalebox{1.50}{\TmpCont} \\ \hline
+ Temporal Non-contingency & {\textbackslash}TmpNonCont & \scalebox{1.50}{\TmpNonCont} \\ \hline
\end{symbolListA}
\begin{symbolListA}
@@ -1449,19 +1614,24 @@
Weak Subbunch Negated & {\textbackslash}NotWkSbnch & \scalebox{1.50}{\NotWkSbnch} \\ \hline
\end{symbolListA}
- \clearpage
\begin{symbolListA}
Map Meet & {\textbackslash}MapMeet & \scalebox{1.50}{\MapMeet} \\ \hline
Map Join & {\textbackslash}MapJoin & \scalebox{1.50}{\MapJoin} \\ \hline
\end{symbolListA}
\begin{symbolListA}
+ Vee Meet & {\textbackslash}VeeMeet & \scalebox{1.50}{\VeeMeet} \\ \hline
+ Vee Join & {\textbackslash}VeeJoin & \scalebox{1.50}{\VeeJoin} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
Strict Submap & {\textbackslash}StrctSbmap & \scalebox{1.50}{\StrctSbmap} \\ \hline
Strict Submap Negated & {\textbackslash}NotStrctSbmap & \scalebox{1.50}{\NotStrctSbmap} \\ \hline
Submap & {\textbackslash}Sbmap & \scalebox{1.50}{\Sbmap} \\ \hline
Submap Negated & {\textbackslash}NotSbmap & \scalebox{1.50}{\NotSbmap} \\ \hline
\end{symbolListA}
+ \clearpage
\begin{symbolListA}
Set Intersection & {\textbackslash}SetMeet & \scalebox{1.50}{\SetMeet} \\ \hline
Set Union & {\textbackslash}SetJoin & \scalebox{1.50}{\SetJoin} \\ \hline
@@ -1474,6 +1644,7 @@
Strict Subset Negated & {\textbackslash}NotStrctSbset & \scalebox{1.50}{\NotStrctSbset} \\ \hline
Subset & {\textbackslash}Sbset & \scalebox{1.50}{\Sbset} \\ \hline
Subset Negated & {\textbackslash}NotSbset & \scalebox{1.50}{\NotSbset} \\ \hline
+ Cover & {\textbackslash}Cover & \scalebox{1.50}{\Cover} \\ \hline
\end{symbolListA}
\begin{symbolListA}
@@ -1501,8 +1672,22 @@
Not Greater Than or Equal & {\textbackslash}NotGre & \scalebox{1.50}{\NotGre} \\ \hline
\end{symbolListA}
+ \begin{symbolListA}
+ Slanted Bar Less Than & {\textbackslash}SbLs & \scalebox{1.50}{\SbLs} \\ \hline
+ Slanted Bar Less Than or Equal & {\textbackslash}SbLse & \scalebox{1.50}{\SbLse} \\ \hline
+ Slanted Bar Greater Than & {\textbackslash}SbGr & \scalebox{1.50}{\SbGr} \\ \hline
+ Slanted Bar Greater Than or Equal & {\textbackslash}SbGre & \scalebox{1.50}{\SbGre} \\ \hline
+ \end{symbolListA}
+
\clearpage
\begin{symbolListA}
+ Slanted Bar Not Less Than & {\textbackslash}SbNotLs & \scalebox{1.50}{\SbNotLs} \\ \hline
+ Slanted Bar Not Less Than or Equal & {\textbackslash}SbNotLse & \scalebox{1.50}{\SbNotLse} \\ \hline
+ Slanted Bar Not Greater Than & {\textbackslash}SbNotGr & \scalebox{1.50}{\SbNotGr} \\ \hline
+ Slanted Bar Not Greater Than or Equal & {\textbackslash}SbNotGre & \scalebox{1.50}{\SbNotGre} \\ \hline
+ \end{symbolListA}
+
+ \begin{symbolListA}
Precedes & {\textbackslash}Pre & \scalebox{1.50}{\Pre} \\ \hline
Precedes or Equal & {\textbackslash}Preq & \scalebox{1.50}{\Preq} \\ \hline
Succeeds & {\textbackslash}Suc & \scalebox{1.50}{\Suc} \\ \hline
@@ -2279,8 +2464,8 @@
\begin{symbolListD}
{\textbackslash}OpnFloorS, {\textbackslash}OpnFloor[A-L] & \OpnFloorS \frac{1}{2+\frac{3}{4}} \ClsFloorS & \OpnFloorS \testFrac \ClsFloorS & \OpnFloor ~ \OpnFloorA ~ \OpnFloorB ~ \OpnFloorC ~ \OpnFloorD ~ \OpnFloorE ~ \OpnFloorF ~ \OpnFloorG ~ \OpnFloorH ~ \OpnFloorI ~ \OpnFloorJ ~ \OpnFloorK ~ \OpnFloorL \delEnd \\ \hline
{\textbackslash}ClsFloorS, {\textbackslash}ClsFloor[A-L] & \OpnFloorS \frac{1}{2+\frac{3}{4}} \ClsFloorS & \OpnFloorS \testFrac \ClsFloorS & \ClsFloor ~ \ClsFloorA ~ \ClsFloorB ~ \ClsFloorC ~ \ClsFloorD ~ \ClsFloorE ~ \ClsFloorF ~ \ClsFloorG ~ \ClsFloorH ~ \ClsFloorI ~ \ClsFloorJ ~ \ClsFloorK ~ \ClsFloorL \delEnd \\ \hline
- {\textbackslash}OpnForceS, {\textbackslash}OpnForce[A-L] & \OpnForceS \frac{1}{2+\frac{3}{4}} \ClsForceS & \OpnForceS \testFrac \ClsForceS & \OpnForce ~ \OpnForceA ~ \OpnForceB ~ \OpnForceC ~ \OpnForceD ~ \OpnForceE ~ \OpnForceF ~ \OpnForceG ~ \OpnForceH ~ \OpnForceI ~ \OpnForceJ ~ \OpnForceK ~ \OpnForceL \delEnd \\ \hline
- {\textbackslash}ClsForceS, {\textbackslash}ClsForce[A-L] & \OpnForceS \frac{1}{2+\frac{3}{4}} \ClsForceS & \OpnForceS \testFrac \ClsForceS & \ClsForce ~ \ClsForceA ~ \ClsForceB ~ \ClsForceC ~ \ClsForceD ~ \ClsForceE ~ \ClsForceF ~ \ClsForceG ~ \ClsForceH ~ \ClsForceI ~ \ClsForceJ ~ \ClsForceK ~ \ClsForceL \delEnd \\ \hline
+ {\textbackslash}OpnTurnS, {\textbackslash}OpnTurn[A-L] & \OpnTurnS \frac{1}{2+\frac{3}{4}} \ClsTurnS & \OpnTurnS \testFrac \ClsTurnS & \OpnTurn ~ \OpnTurnA ~ \OpnTurnB ~ \OpnTurnC ~ \OpnTurnD ~ \OpnTurnE ~ \OpnTurnF ~ \OpnTurnG ~ \OpnTurnH ~ \OpnTurnI ~ \OpnTurnJ ~ \OpnTurnK ~ \OpnTurnL \delEnd \\ \hline
+ {\textbackslash}ClsTurnS, {\textbackslash}ClsTurn[A-L] & \OpnTurnS \frac{1}{2+\frac{3}{4}} \ClsTurnS & \OpnTurnS \testFrac \ClsTurnS & \ClsTurn ~ \ClsTurnA ~ \ClsTurnB ~ \ClsTurnC ~ \ClsTurnD ~ \ClsTurnE ~ \ClsTurnF ~ \ClsTurnG ~ \ClsTurnH ~ \ClsTurnI ~ \ClsTurnJ ~ \ClsTurnK ~ \ClsTurnL \delEnd \\ \hline
{\textbackslash}OpnDblBarS, {\textbackslash}OpnDblBar[A-L] & \OpnDblBarS \frac{1}{2+\frac{3}{4}} \ClsDblBarS & \OpnDblBarS \testFrac \ClsDblBarS & \OpnDblBar ~ \OpnDblBarA ~ \OpnDblBarB ~ \OpnDblBarC ~ \OpnDblBarD ~ \OpnDblBarE ~ \OpnDblBarF ~ \OpnDblBarG ~ \OpnDblBarH ~ \OpnDblBarI ~ \OpnDblBarJ ~ \OpnDblBarK ~ \OpnDblBarL \delEnd \\ \hline
{\textbackslash}ClsDblBarS, {\textbackslash}ClsDblBar[A-L] & \OpnDblBarS \frac{1}{2+\frac{3}{4}} \ClsDblBarS & \OpnDblBarS \testFrac \ClsDblBarS & \ClsDblBar ~ \ClsDblBarA ~ \ClsDblBarB ~ \ClsDblBarC ~ \ClsDblBarD ~ \ClsDblBarE ~ \ClsDblBarF ~ \ClsDblBarG ~ \ClsDblBarH ~ \ClsDblBarI ~ \ClsDblBarJ ~ \ClsDblBarK ~ \ClsDblBarL \delEnd \\ \hline
\end{symbolListD}