summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx')
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx352
1 files changed, 271 insertions, 81 deletions
diff --git a/Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx b/Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx
index 451fd687ca5..7488731ccd3 100644
--- a/Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx
+++ b/Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx
@@ -1,3 +1,4 @@
+%!TEX TS-program = LuaLaTeX
%%%%%%%%%%%%%%%%%%%%%%%
% SYMBOLS DEFINED BY UNICODE-MATH
@@ -6,7 +7,7 @@
\documentclass{article}
\makeatletter
-\usepackage{booktabs,shortvrb,geometry,varwidth,textcomp,longtable,hyperref}
+\usepackage{booktabs,catchfile,shortvrb,geometry,metalogo,varwidth,textcomp,longtable,hyperref}
\geometry{margin=3cm}
\hypersetup{colorlinks,linkcolor=black}
@@ -15,69 +16,38 @@
\usepackage{fontspec}
\setmainfont[Ligatures=TeX,Numbers={Lowercase,Monospaced}]{TeX Gyre Pagella}
-\usepackage{unicode-math}
-\setmathfont{XITS Math}
-
-\newcounter{lm}
-\setcounter{lm}{-1}
-\setmathfont[version=lm,SizeFeatures={
- {Size=-10, Colour=999999},
- {Size=10-, Colour=CC6666}}]{lmmath-regular.otf}
-
-\newcounter{xits}
-\setcounter{xits}{-1}
-\setmathfont[version=xits,SizeFeatures={
- {Size=-10, Colour=999999},
- {Size=10-, Colour=CCCC66}}]{xits-math.otf}
-
-\newcounter{lucida}
-\setcounter{lucida}{-1}
-\setmathfont[version=lucida,SizeFeatures={
- {Size=-10, Colour=999999},
- {Size=10-, Colour=66CC66}}]{Lucida Math}
-
-\newcounter{lucibold}
-\setcounter{lucibold}{-1}
-\setmathfont[version=lucibold,SizeFeatures={
- {Size=-10, Colour=999999},
- {Size=10-, Colour=66CC66}}]{Lucida Math Demibold}
-
-\newcounter{cambria}
-\setcounter{cambria}{-1}
-\setmathfont[version=cambria,SizeFeatures={
- {Size=-10, Colour=999999},
- {Size=10-, Colour=66CCCC}}]{Cambria Math}
-
-\newcounter{asana}
-\setcounter{asana}{-1}
-\setmathfont[version=asana,SizeFeatures={
- {Size=-10, Colour=999999},
- {Size=10-, Colour=6666CC}}]{Asana-Math.otf}
-
-\newcounter{euler}
-\setcounter{euler}{-1}
-\setmathfont[version=euler,SizeFeatures={
- {Size=-10, Colour=999999},
- {Size=10-, Colour=CC66CC}}]{Neo Euler}
-
+\usepackage[math-style=literal,bold-style=literal]{unicode-math}
+
\ExplSyntaxOn
-\fontspec_set_fontface:NNnn \lm \x {} {lmmath-regular.otf}
-\fontspec_set_fontface:NNnn \xits \x {} {xits-math.otf}
-\fontspec_set_fontface:NNnn \lucida \x {} {Lucida~ Math}
-\fontspec_set_fontface:NNnn \lucibold \x {} {Lucida~ Math~ Demibold}
-\fontspec_set_fontface:NNnn \cambria \x {} {Cambria~ Math}
-\fontspec_set_fontface:NNnn \asana \x {} {Asana-Math.otf}
-\fontspec_set_fontface:NNnn \euler \x {} {Neo~ Euler}
+\cs_generate_variant:Nn \fontspec_set_fontface:NNnn {c}
+
+\def\defmathfont#1#2#3{
+ \newcounter{#1}
+ \setcounter{#1}{-1}
+ \setmathfont[version=#1,SizeFeatures={
+ {Size=-10, Colour=999999},
+ {Size=10-, Colour=#3}}]{#2}
+ \fontspec_set_fontface:cNnn {#1} \x {ItalicFont={},BoldFont={}} {#2}
+}
\ExplSyntaxOff
+\defmathfont{lm}{lmmath-regular.otf}{CC6666}
+\defmathfont{xits}{xits-math.otf}{CCCC66}
+\defmathfont{lucida}{Lucida Bright Math OT}{66CC66}
+\defmathfont{lucibold}{Lucida Bright Math OT Demibold}{66CC66}
+\defmathfont{cambria}{Cambria Math}{66CCCC}
+\defmathfont{asana}{Asana-Math.otf}{6666CC}
+\defmathfont{pagella}{texgyrepagella-math.otf}{AA6666}
+\defmathfont{euler}{Neo Euler}{CC66CC}
+
+\def\INPUT{\input{unicode-math-table.tex}}
\def\TABLE{%
-\setlength\LTleft{-2cm}
\par\noindent
-\begin{longtable}[l]{@{}lcccccccll@{}}
+\begin{longtable}[l]{@{}lccccccccll@{}}
\toprule
- \textsc{usv} & M & X & C & L & D & A & E & Macro & Description \\
+ \textsc{usv} & M & X & C & L & D & A & P & E & Macro & Description \\
\midrule \endhead
- \input unicode-math-table.tex\relax\\
+ \INPUT\\
\bottomrule
\end{longtable}
}
@@ -90,26 +60,41 @@
}
\newcommand\SHOW[1]{%
-\def\UnicodeMathSymbol##1##2##3##4{%
- \def\1{#1}\def\2{##3}%
- \ifx\1\2%
- \def\tempa{%
- \USV{##1} &
- \SYMB{##2}{lm}{##1} &
- \SYMB{##2}{xits}{##1} &
- \SYMB{##2}{cambria}{##1} &
- \SYMB{##2}{lucida}{##1} &
- \SYMB{##2}{lucibold}{##1} &
- \SYMB{##2}{asana}{##1} &
- \SYMB{##2}{euler}{##1} &
- \CMD{##2} &
- \DESC{##4} \\%
+ \def\UnicodeMathSymbol##1##2##3##4{%
+ \def\1{#1}\def\2{##3}%
+ \ifx\1\2\PRINTLINE{##1}{##2}{##4}\fi
+ }%
+ \TABLE
+}
+\ExplSyntaxOn
+\def\PRINTLINE#1#2#3{
+ \def\tempa{
+ \USV{#1} &
+ \SYMB{#2}{lm}{#1} &
+ \SYMB{#2}{xits}{#1} &
+ \SYMB{#2}{cambria}{#1} &
+ \SYMB{#2}{lucida}{#1} &
+ \SYMB{#2}{lucibold}{#1} &
+ \SYMB{#2}{asana}{#1} &
+ \SYMB{#2}{pagella}{#1} &
+ \SYMB{#2}{euler}{#1} &
+ \CMD{#2}
+ \tl_if_in:NnT \PLAIN {#2}
+ {
+ \makebox[0pt][l]
+ { \color[gray]{0.7} \textsuperscript{\sffamily (p)} }
+ }
+ \tl_if_in:NnT \AMSSYMB {#2}
+ {
+ \makebox[0pt][l]
+ { \color[gray]{0.7} \textsuperscript{\sffamily (a)} }
+ }
+ &
+ \DESC{#3} \\
}%
\expandafter\tempa
- \fi
-}%
-\TABLE
}
+\ExplSyntaxOff
\def\SYMB#1#2#3{%
\expandafter\iffontchar\csname#2\endcsname #3\relax
\refstepcounter{#2}%
@@ -118,9 +103,13 @@
\fi
}
+\def\PLAIN{\alpha\beta\gamma\delta\epsilon\zeta\eta\theta\iota\kappa\lambda\mu\nu\xi\pi\rho\sigma\tau\upsilon\phi\chi\psi\omega\varepsilon\vartheta\varpi\varrho\varsigma\varphi\Gamma\Delta\Theta\Lambda\Xi\Pi\Sigma\Upsilon\Phi\Psi\Omega\aleph\hbar\imath\jmath\ell\wp\Re\Im\partial\infty\prime\emptyset\nabla\surd\top\bot\angle\triangle\forall\exists\neg\flat\natural\sharp\clubsuit\diamondsuit\heartsuit\spadesuit\coprod\bigvee\bigwedge\biguplus\bigcap\bigcup\int\prod\sum\bigotimes\bigoplus\bigodot\oint\bigsqcup\smallint\triangleleft\triangleright\bigtriangleup\bigtriangledown\wedge\land\vee\lor\cap\cup\ddagger\dagger\sqcap\sqcup\uplus\amalg\diamond\bullet\wr\div\odot\oslash\otimes\ominus\oplus\mp\pm\circ\bigcirc\setminus\cdot\ast\times\star\propto\sqsubseteq\sqsupseteq\parallel\mid\dashv\vdash\nearrow\searrow\nwarrow\swarrow\Leftrightarrow\Leftarrow\Rightarrow\neq\ne\lnot\leq\le\geq\ge\succ\prec\approx\succeq\preceq\supset\subset\supseteq\subseteq\in\ni\owns\gg\ll\not\leftrightarrow\leftarrow\gets\rightarrow\to\mapstochar\mapsto\sim\simeq\perp\equiv\asymp\smile\frown\leftharpoonup\leftharpoondown\rightharpoonup\rightharpoondown\joinrel\relbar\Relbar\lhook\hookrightarrow\rhook\hookleftarrow\bowtie\models\Longrightarrow\longrightarrow\longleftarrow\Longleftarrow\longmapsto\longleftrightarrow\Longleftrightarrow\iff\ldotp\cdotp\colon\ldots\cdots\vdots\ddots\acute\grave\ddot\tilde\bar\breve\check\hat\vec\dot\widetilde\widehat\overrightarrow\overleftarrow\overbrace\underbrace\lmoustache\rmoustache\lgroup\rgroup\arrowvert\Arrowvert\bracevert\Vert\vert\uparrow\downarrow\updownarrow\Uparrow\Downarrow\Updownarrow\backslash\rangle\langle\rbrace\lbrace\rceil\lceil\rfloor\lfloor\sqrt}
+
+\def\AMSSYMB{\boxdot\boxplus\boxtimes\square\blacksquare\centerdot\lozenge\blacklozenge\circlearrowright\circlearrowleft\leftrightharpoons\boxminus\Vdash\Vvdash\vDash\twoheadrightarrow\twoheadleftarrow\leftleftarrows\rightrightarrows\upuparrows\downdownarrows\upharpoonright\restriction\downharpoonright\upharpoonleft\downharpoonleft\rightarrowtail\leftarrowtail\leftrightarrows\rightleftarrows\Lsh\Rsh\rightsquigarrow\leftrightsquigarrow\looparrowleft\looparrowright\circeq\succsim\gtrsim\gtrapprox\multimap\therefore\because\doteqdot\Doteq\triangleq\precsim\lesssim\lessapprox\eqslantless\eqslantgtr\curlyeqprec\curlyeqsucc\preccurlyeq\leqq\leqslant\lessgtr\backprime\risingdotseq\fallingdotseq\succcurlyeq\geqq\geqslant\gtrless\vartriangleright\vartriangleleft\trianglerighteq\trianglelefteq\bigstar\between\blacktriangledown\blacktriangleright\blacktriangleleft\vartriangle\blacktriangle\triangledown\eqcirc\lesseqgtr\gtreqless\lesseqqgtr\gtreqqless\Rrightarrow\Lleftarrow\veebar\barwedge\doublebarwedge\measuredangle\sphericalangle\varpropto\smallsmile\smallfrown\Subset\Supset\Cup\doublecup\Cap\doublecap\curlywedge\curlyvee\leftthreetimes\rightthreetimes\subseteqq\supseteqq\bumpeq\Bumpeq\lll\llless\ggg\gggtr\circledS\pitchfork\dotplus\backsim\backsimeq\complement\intercal\circledcirc\circledast\circleddash\lvertneqq\gvertneqq\nleq\ngeq\nless\ngtr\nprec\nsucc\lneqq\gneqq\nleqslant\ngeqslant\lneq\gneq\npreceq\nsucceq\precnsim\succnsim\lnsim\gnsim\nleqq\ngeqq\precneqq\succneqq\precnapprox\succnapprox\lnapprox\gnapprox\nsim\ncong\diagup\diagdown\varsubsetneq\varsupsetneq\nsubseteqq\nsupseteqq\subsetneqq\supsetneqq\varsubsetneqq\varsupsetneqq\subsetneq\supsetneq\nsubseteq\nsupseteq\nparallel\nmid\nshortmid\nshortparallel\nvdash\nVdash\nvDash\nVDash\ntrianglerighteq\ntrianglelefteq\ntriangleleft\ntriangleright\nleftarrow\nrightarrow\nLeftarrow\nRightarrow\nLeftrightarrow\nleftrightarrow\divideontimes\varnothing\nexists\Finv\Game\eth\eqsim\beth\gimel\daleth\lessdot\gtrdot\ltimes\rtimes\shortmid\shortparallel\smallsetminus\thicksim\thickapprox\approxeq\succapprox\precapprox\curvearrowleft\curvearrowright\digamma\varkappa\Bbbk\hslash\backepsilon}
+
\begin{document}
\MakeShortVerb\|
-\title{Every symbol defined by \textsf{unicode-math}}
+\title{Every symbol (most symbols) defined by \textsf{unicode-math}}
\author{Will Robertson\\\texttt{wspr81@gmail.com}}
\maketitle
@@ -128,7 +117,7 @@ This document uses the file \texttt{unicode-math-table.tex}
to print every symbol defined by the \textsf{unicode-math}
package.
Use this document to find the command name or the Unicode glyph slot for a symbol that you wish to use.
-Seven fonts are shown: (with approximate symbol counts)
+Eight fonts are shown: (with approximate symbol counts)
\begin{itemize}
\item[M] \mathversion{lm} $\mathup{Latin\ Modern\ Math}$ (\ref{count:lm})
\item[X] \mathversion{xits} $\mathup{XITS\ Math}$ (\ref{count:xits})
@@ -136,16 +125,19 @@ Seven fonts are shown: (with approximate symbol counts)
\item[L] \mathversion{lucida} $\mathup{Lucida\ Math}$ (\ref{count:lucida})
\item[D] \mathversion{lucibold} $\mathup{Lucida\ Math\ Demibold}$ (\ref{count:lucibold})
\item[A] \mathversion{asana} $\mathup{Asana\ Math}$ (\ref{count:asana})
+\item[P] \mathversion{pagella} $\mathup{TeX\ Gyre\ Pagella\ Math}$ (\ref{count:pagella})
\item[E] \mathversion{euler} $\mathup{Neo\ Euler}$ (\ref{count:euler})
\end{itemize}
+Symbols defined in Plain \TeX\ are indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (p)}} after their macro name.
+Symbols defined in \textsf{amssymb} are indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (a)}}.
\tableofcontents
\clearpage
\section{Opening symbols, \cmd\mathopen}
\begingroup
-\let\sqrtold\sqrt
-\def\sqrt{\sqrtold{}}
+\def\sqrt{\sqrtsign{}}
+\def\longdivision{\longdivisionsign{}}
\SHOW\mathopen
\endgroup
@@ -160,6 +152,31 @@ Seven fonts are shown: (with approximate symbol counts)
\section{Punctuation symbols, \cmd\mathpunct}
\SHOW\mathpunct
+\section{`Over' symbols, \cmd\mathover}
+\begingroup
+\def\SYMB#1#2#3{%
+ \expandafter\iffontchar\csname#2\endcsname #3\relax
+ \refstepcounter{#2}%
+ \mathversion{#2}%
+ $\displaystyle #1{\mitx+\mity}$%
+ \fi
+}
+\SHOW\mathover
+\endgroup
+
+
+\section{`Under' symbols, \cmd\mathunder}
+\begingroup
+\def\SYMB#1#2#3{%
+ \expandafter\iffontchar\csname#2\endcsname #3\relax
+ \refstepcounter{#2}%
+ \mathversion{#2}%
+ $\displaystyle #1{\mitx+\mity}$%
+ \fi
+}
+\SHOW\mathunder
+\endgroup
+
\clearpage
\section{Accents, \cmd\mathaccent}
@@ -170,12 +187,24 @@ Note that accents will only be properly placed if used with an OpenType font wit
\expandafter\iffontchar\csname#2\endcsname #3\relax
\refstepcounter{#2}%
\mathversion{#2}%
- $\displaystyle#1 x$%
+ $\displaystyle#1 \mitx$%
\fi
}
\SHOW\mathaccent
\endgroup
+\section{Bottom accents, \cmd\mathbotaccent}
+\begingroup
+\def\SYMB#1#2#3{%
+ \expandafter\iffontchar\csname#2\endcsname #3\relax
+ \refstepcounter{#2}%
+ \mathversion{#2}%
+ $\displaystyle#1 \mitx$%
+ \fi
+}
+\SHOW\mathbotaccent
+\endgroup
+
\clearpage
\section{Big operators, \cmd\mathop}
@@ -192,7 +221,6 @@ The limits behaviour as specified by \textsf{unicode-math} are shown with grey s
\SHOW\mathop
\endgroup
-\clearpage
\section{Binary relations, \cmd\mathbin}
\SHOW\mathbin
@@ -206,7 +234,168 @@ The limits behaviour as specified by \textsf{unicode-math} are shown with grey s
\clearpage
\section{Alphabetical symbols, \cmd\mathalpha}
-\SHOW\mathalpha
+
+% first read in all \mathalpha symbols into a variable:
+\ExplSyntaxOn
+\cs_set:Npn \UnicodeMathSymbol #1#2#3#4 {
+ \str_if_eq:nnT {\mathalpha} {#3} {
+ \exp_not:n { \UnicodeMathSymbol {#1}{#2}{#3}{#4} }
+ }
+}
+\CatchFileEdef
+ \ALPHA{unicode-math-table.tex}
+ {\char_set_catcode_space:N \ }
+
+% now each time we print an alphabet we remove the slot;
+% this ensures we won't miss anything
+
+\def\INPUT{\ALPHA}
+\cs_new:Npn \SLOTS #1#2 {
+ \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4 {
+ \bool_if:nT
+ {
+ \int_compare_p:n {##1 >= #1} && \int_compare_p:n {##1 <= #2}
+ }
+ {
+ \PRINTLINE{##1}{##2}{##4}
+ }
+ }
+ \TABLE
+ \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4 {
+ \bool_if:nT
+ {
+ \int_compare_p:n {##1 > #2} || \int_compare_p:n {##1 < #1}
+ }
+ {
+ \exp_not:n { \UnicodeMathSymbol {##1}{##2}{##3}{##4} }
+ }
+ }
+ \edef\ALPHA{\ALPHA}
+}
+
+\ExplSyntaxOff
+
+\subsection{Normal weight}
+
+\subsubsection{Upright Greek, uppercase}
+\SLOTS{"00391}{"003A9}
+
+\subsubsection{Upright Greek, lowercase}
+\SLOTS{"003B1}{"003F5}
+
+\subsubsection{Italic, Latin, uppercase}
+\SLOTS{"1D434}{"1D44D}
+
+\subsubsection{Italic, Latin, lowercase}
+\SLOTS{"1D44E}{"1D467}
+
+\subsubsection{Italic Greek, uppercase}
+\SLOTS{"1D6E2}{"1D6FA}
+
+\subsubsection{Italic Greek, lowercase}
+\SLOTS{"1D6FC}{"1D71B}
+
+\subsubsection{Script, Latin, uppercase}
+\SLOTS{"1D49C}{"1D4B5}
+
+\subsubsection{Script, Latin, lowercase}
+\SLOTS{"1D4B6}{"1D4CF}
+
+\subsubsection{Fraktur, Latin, uppercase}
+\SLOTS{"1D504}{"1D51C}
+
+\subsubsection{Fraktur, Latin, lowercase}
+\SLOTS{"1D51E}{"1D537}
+
+\subsubsection{Blackboard, Latin, uppercase}
+\SLOTS{"1D538}{"1D550}
+
+\subsubsection{Blackboard, Latin, lowercase}
+\SLOTS{"1D552}{"1D56B}
+
+\subsubsection{Sans serif, Latin, uppercase}
+\SLOTS{"1D5A0}{"1D5B9}
+
+\subsubsection{Sans serif, Latin, lowercase}
+\SLOTS{"1D5BA}{"1D5D3}
+
+\subsubsection{Italic sans serif, Latin, uppercase}
+\SLOTS{"1D608}{"1D621}
+
+\subsubsection{Italic sans serif, Latin, lowercase}
+\SLOTS{"1D622}{"1D63B}
+
+\subsubsection{Typewriter, Latin, uppercase}
+\SLOTS{"1D670}{"1D689}
+
+\subsubsection{Typewriter, Latin, lowercase}
+\SLOTS{"1D68A}{"1D6A3}
+
+\subsection{Bold}
+
+\subsubsection{Bold, Latin, uppercase}
+\SLOTS{"1D400}{"1D419}
+
+\subsubsection{Bold, Latin, lowercase}
+\SLOTS{"1D41A}{"1D433}
+
+\subsubsection{Bold Greek, uppercase}
+\SLOTS{"1D6A8}{"1D6C0}
+
+\subsubsection{Bold Greek, lowercase}
+\SLOTS{"1D6C2}{"1D6E1}
+
+\subsubsection{Bold italic, Latin, uppercase}
+\SLOTS{"1D468}{"1D481}
+
+\subsubsection{Bold italic, Latin, lowercase}
+\SLOTS{"1D482}{"1D49B}
+
+\subsubsection{Bold italic Greek, uppercase}
+\SLOTS{"1D71C}{"1D734}
+
+\subsubsection{Bold italic Greek, lowercase}
+\SLOTS{"1D736}{"1D755}
+
+\subsubsection{Bold script, Latin, uppercase}
+\SLOTS{"1D4D0}{"1D4E9}
+
+\subsubsection{Bold script, Latin, lowercase}
+\SLOTS{"1D4EA}{"1D503}
+
+\subsubsection{Bold fraktur, Latin, uppercase}
+\SLOTS{"1D56C}{"1D585}
+
+\subsubsection{Bold fraktur, Latin, lowercase}
+\SLOTS{"1D586}{"1D59F}
+
+\subsubsection{Bold sans serif, Latin, uppercase}
+\SLOTS{"1D5D4}{"1D5ED}
+
+\subsubsection{Bold sans serif, Latin, lowercase}
+\SLOTS{"1D5EE}{"1D607}
+
+\subsubsection{Bold italic sans serif, Latin, uppercase}
+\SLOTS{"1D63C}{"1D655}
+
+\subsubsection{Bold italic sans serif, Latin, lowercase}
+\SLOTS{"1D656}{"1D66F}
+
+\subsubsection{Bold sans serif Greek, uppercase}
+\SLOTS{"1D756}{"1D76E}
+
+\subsubsection{Bold sans serif Greek, lowercase}
+\SLOTS{"1D770}{"1D78F}
+
+\subsubsection{Bold italic sans serif Greek, uppercase}
+\SLOTS{"1D790}{"1D7A8}
+
+\subsubsection{Bold italic sans serif Greek, lowercase}
+\SLOTS{"1D7AA}{"1D7C9}
+
+\subsection{Miscellaneous}
+\def\UnicodeMathSymbol#1#2#3#4{\PRINTLINE{#1}{#2}{#4}}
+\TABLE
\refstepcounter{lm}\label{count:lm}
\refstepcounter{xits}\label{count:xits}
@@ -214,6 +403,7 @@ The limits behaviour as specified by \textsf{unicode-math} are shown with grey s
\refstepcounter{lucida}\label{count:lucida}
\refstepcounter{lucibold}\label{count:lucibold}
\refstepcounter{asana}\label{count:asana}
+\refstepcounter{pagella}\label{count:pagella}
\refstepcounter{euler}\label{count:euler}
\end{document}