diff options
author | Karl Berry <karl@freefriends.org> | 2024-03-14 20:21:59 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-03-14 20:21:59 +0000 |
commit | 8d5a756a403da93240d7f737211a0d06bf00d0d5 (patch) | |
tree | 5835bed3e2ea40dc28b9f7395a5a21d1e881ed85 | |
parent | a72e963512d59c6e73a83d7f468843b377f63a7c (diff) |
lato-math (14mar24)
git-svn-id: svn://tug.org/texlive/trunk@70633 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/fonts/lato-math/LatoMath.ltx | 682 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/lato-math/LatoMath.pdf | bin | 0 -> 209466 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/fonts/lato-math/README.md | 56 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/lato-math/unimath-lato.ltx | 515 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/lato-math/unimath-lato.pdf | bin | 0 -> 1937253 bytes | |||
-rw-r--r-- | Master/texmf-dist/fonts/opentype/public/lato-math/LatoMath-Bold.otf | bin | 0 -> 121132 bytes | |||
-rw-r--r-- | Master/texmf-dist/fonts/opentype/public/lato-math/LatoMath.otf | bin | 0 -> 438780 bytes | |||
-rw-r--r-- | Master/texmf-dist/tex/latex/lato-math/lato-math.sty | 160 | ||||
-rwxr-xr-x | Master/tlpkg/bin/tlpkg-ctan-check | 2 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/lato-math.tlpsrc | 0 |
11 files changed, 1415 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/fonts/lato-math/LatoMath.ltx b/Master/texmf-dist/doc/fonts/lato-math/LatoMath.ltx new file mode 100644 index 00000000000..2e6b6edbcbb --- /dev/null +++ b/Master/texmf-dist/doc/fonts/lato-math/LatoMath.ltx @@ -0,0 +1,682 @@ +\DocumentMetadata{pdfstandard=A-2b, lang=en-GB} +\documentclass[a4paper,12pt]{scrartcl} + +\usepackage{mathtools, array, varioref} +\usepackage[british]{babel} +\usepackage{fourier-orns} +\usepackage[default,defaultsans]{lato} +\usepackage{realscripts} +\usepackage{lato-math} +\setmonofont{Inconsolatazi4}[Scale=MatchLowercase, + HyphenChar=None,StylisticSet={2,3}] +\usepackage{subfig} +\captionsetup[subtable]{position=top} +\usepackage{microtype} +\usepackage{hyperref} +\hypersetup{pdftitle={Lato Math User’s Guide}, + pdfauthor={Chenjing Bu \& Daniel Flipo}, + bookmarksopen, + colorlinks + } +\newcommand*{\hlabel}[1]{\phantomsection\label{#1}} + +\newcommand*{\LAotf}{Lato~Math} +\newcommand*{\pkg}[1]{\texttt{#1}} +\newcommand*{\file}[1]{\texttt{#1}} +\newcommand*{\opt}[1]{\texttt{#1}} +\newcommand*{\cmd}[1]{\texttt{\textbackslash #1}} +\newcommand*{\scmd}[1]{\texttt{\small\textbackslash #1}} +\newcommand*{\showtchar}[1]{\cmd{#1}~\csname #1\endcsname} +\newcommand*{\showmchar}[1]{\cmd{#1}~$(\csname #1\endcsname)$} +\newcommand*{\showmchardollar}[1]{\texttt{\$\cmd{#1}\$}~$(\csname #1\endcsname)$} + +\renewcommand{\labelitemi}{\lefthand} + +\title{\decofourleft\,\LAotf\,\decofourright} +\author{Chenjing Bu --- Daniel Flipo\\ + \url{https://github.com/abccsss/LatoMath}} + +\newcommand*{\version}{0.36} +\usepackage{setspace} +\setstretch{1.10} +\setlength{\parindent}{0pt} +\setlength{\parskip}{12pt plus 3pt minus 3pt} + +\begin{document} +\maketitle + +\section{What is \LAotf{}?} + +\LAotf{} is an OpenType maths font +meant to be used with the Lato font, or other sans-serif text fonts. +It requires LuaTeX or XeTeX as engine and the \pkg{unicode-math} +package\footnote{Please read the documentation \file{unicode-math.pdf}.}. + +Please note that the current version (\version) is \emph{experimental, +do expect metrics and glyphs to change} until version 1.0 is reached. +Comments, suggestions and bug reports are welcome! + +Some examples% +\footnote{The second one is borrowed from the LaTeX Companion, + 3\textsuperscript{rd} edition.}: +\[ + \int_0^1 \frac{1}{x^x} \, \symup{d} x = + \sum_{n=1}^{\infty} \frac{1}{n^n} +\] + +\begin{equation*} \begin{split} + \iiiint\limits_{\symbf{Q}} f(w,x,y,z)\,\symup{d}w\,\symup{d}x\,\symup{d}y + \,\symup{d}z + &\leq \oint_{\symbf{\partial Q}} f' + \left( \max \left\lbrace + \frac{\lVert w \rVert}{\lvert w^{2} + x^{2} \rvert} ; + \frac{\lVert z \rVert}{\lvert y^{2} + z^{2} \rvert} ; + \frac{\lVert w \oplus z \rVert}{\lvert x \oplus y \rvert} + \right\rbrace \right) \\ + &\precapprox \biguplus_{\mathbb{Q} \Subset \bar{\symbf{Q}}} + \left[ f^{\ast} + \left( + \frac{\left\lmoustache\mathbb{Q}(t)\right\rmoustache}{\sqrt{1 - t^{2}}} + \right) + \right]_{t=\alpha}^{t=\vartheta} - ( \Delta + \nu -v )^{3} +\end{split} \end{equation*} + +\section{Usage} + +\subsection{Calling \cmd{setmathfont}} + +A basic call for \LAotf{} would be: +\begin{verbatim} +\usepackage{unicode-math} +\setmathfont{LatoMath.otf} % Call by file name or +\setmathfont{Lato Math} % Call by font name +\end{verbatim} +this loads \LAotf{} as maths font% +\footnote{Both calls work equally well with LuaTeX; with XeTeX a call by font + name will fail unless the font is declared as a \emph{system font}.} +with the default options, see subsections~\vref{ssection-um}, +\vref{ssection-cv} and~\vref{ssection-ss} for customisation. + +%\enlargethispage*{1.0\baselineskip} +Please note that the text fonts have to be chosen separately, f.i.: +\label{sec:setfont} +\begin{verbatim} +\setsansfont{Lato}[Extension = .ttf, + UprightFont = *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic] +\end{verbatim} +otherwise you would get Latin Modern for text fonts. + +\subsection{Calling \pkg{lato-math.sty} (recommended)} + +As an alternative to load \LAotf{} you can type:\\[.5\baselineskip] +\verb+\usepackage[ +\textit{options} +\footnote{Possible \textit{options} are \opt{tight}, \opt{Scale=} or + any of the options described in sections~\ref{ssection-um}, + \ref{ssection-cv} and \ref{ssection-ss}.}% +\verb+ ]{lato-math}+\\[.5\baselineskip] +it loads \pkg{unicode-math} with the default options, sets LatoMath +as maths font and does a bit more: +\begin{enumerate} +\item it checks at \verb+\begin{document}+ if packages \pkg{amssymb} or + \pkg{latexsym} are loaded and issues warnings in case they are; +\item it provides aliases for glyphs named differently in Unicode, so that + all \pkg{latexsym} or AMS commands are also available; +\item it defines specific maths characters like \showmchar{BbbDelta}, + \showmchar{parallelslant}, + \showmchar{shortparallelslant}, etc.; +\item it provides an option \opt{tight} which reduces spacing + (\cmd{thinmuskip}, \cmd{medmuskip} and \cmd{thickmuskip}) in maths mode. +\end{enumerate} + +Please note that the \pkg{lato-math} package does not load any text fonts. +The Lato text fonts can be loaded directly (see section~\ref{sec:setfont}), +or via the \pkg{lato} package% +\footnote{The \pkg{lato} package loads all available weights, + \texttt{Hairline} to \texttt{Black}, hence loading takes significantly + longer…} +---see this package’s documentation, file \file{lato.pdf}, for all the +available options: \\ +\verb+\usepackage[default]{lato}+\\ +will load the Lato text fonts as main (roman) font while \\ +\verb+\usepackage[defaultsans]{lato}+\\ +will load the Lato text fonts as sans font (use both options if necessary). +Consider loading \pkg{realscripts.sty} which +redefines \verb+\textsuperscript+ to output the \emph{real} superscripts +available with the Lato fonts: M\textsuperscript{r}, M\textsuperscript{lle}, +N\textsuperscript{2} instead of \emph{faked} ones, +M\fakesuperscript{r}, M\fakesuperscript{lle}, N\fakesuperscript{2}. + +The \pkg{lato-math} also provides a \opt{Scale=}\textsl{<decimal>} option +meant to be used to load the \LAotf{} font together with text fonts other +than Lato, while keeping the advantages 1. to~4. pointed in the preceding +list, f.i. + +\verb+\usepackage[Scale=0.98]{lato-math}+ + + +\section{What is provided?} + +\LAotf{} provides all common \pkg{unicode-math} glyphs plus all glyphs +available in the \pkg{amssymb} and \pkg{latexsym} packages. Therefore, +the latter two packages \emph{should not} be loaded as they might override +\LAotf{} glyphs. + +A full list of available glyphs is shown in file \file{unimath-lato.pdf} which +also shows the coverage of other sans-serif maths fonts compared to +the serif maths fonts NewComputerModern and Cambria. + +\subsection{Upright or slanted?} +\label{ssection-um} + +Package \pkg{unicode-math} follows \TeX{} conventions for Latin and Greek +letters: in maths mode, the default option (\opt{math-style=TeX}) prints +Latin letters $a$…$z$ $A$…$Z$ and lowercase Greek letters $\alpha$…$\omega$ +slanted (italic) while uppercase Greek letters $\Alpha \Beta \Gamma$…$\Omega$ +are printed upright. +This can be changed by option \opt{math-style} as shown in +table~\vref{math-style}. + +\begin{table}[ht] + \centering + \caption{Effects of the \opt{math-style} package option.} + \hlabel{math-style} + \begin{tabular}{@{}>{\ttfamily}lcc@{}} + \hline + \rmfamily Package option & Latin & Greek \\ + \hline + math-style=ISO & $(a,z,B,X)$ & $\symit{(\alpha,\beta,\Gamma,\Xi)}$ \\ + math-style=TeX & $(a,z,B,X)$ & $(\symit\alpha,\symit\beta,\symup\Gamma,\symup\Xi)$ \\ + math-style=french & $(a,z,\symup B,\symup X)$ & $(\symup\alpha,\symup\beta,\symup\Gamma,\symup\Xi)$ \\ + math-style=upright & $(\symup a,\symup z,\symup B,\symup X)$ & $(\symup\alpha,\symup\beta,\symup\Gamma,\symup\Xi)$ \\ + \hline + \end{tabular} +\end{table} + +Bold letters are printed upright except lowercase Greek letters +which are slanted (the default option is \opt{bold-style=TeX}). This can be +changed by option \opt{bold-style} as shown in table~\vref{bold-style}. + +\begin{table}[ht] + \centering + \caption{Effects of the \opt{bold-style} package option.} + \hlabel{bold-style} + \begin{tabular}{@{}>{\ttfamily}lcc@{}} + \hline + \rmfamily Package option & Latin & Greek \\ + \hline + bold-style=ISO & $(\symbfit a, \symbfit z, \symbfit B, \symbfit X)$ & $(\symbfit\alpha, \symbfit\beta, \symbfit\Gamma, \symbfit\Xi)$ \\ + bold-style=TeX & $(\symbfup a,\symbfup z,\symbfup B,\symbfup X)$ & $(\symbfit\alpha, \symbfit\beta,\symbfup \Gamma,\symbfup \Xi)$ \\ + bold-style=upright & $(\symbfup a,\symbfup z,\symbfup B,\symbfup X)$ & $(\symbfup \alpha,\symbfup \beta,\symbfup \Gamma,\symbfup \Xi)$ \\ + \hline + \end{tabular} +\end{table} + +Other possible customisation: $\nabla$ is printed upright and $\partial$ is +printed slanted by default, but \opt{nabla=italic} and +\opt{partial=upright} can change this. + +All these options are offered by the \pkg{unicode-math} package, they can +be added to the \cmd{setmathfont} call as well% +\footnote{IMHO it is easier to add \emph{all options} to the \cmd{setmathfont} + command.}, for example: + +\verb+\setmathfont{LatoMath.otf}[math-style=french,partial=upright]+ + +will print for the code + +\verb|\[ \frac{\partial f}{\partial x} = \alpha \symbf{V} + a\nabla\Gamma|\\ +\verb| + \symbf{\beta}\symbf{M} \]| + +\setmathfont{LatoMath.otf}[math-style=french,partial=upright] +\[\frac{\partial f}{\partial x} = \alpha \symbf{V} + a\nabla\Gamma + + \symbf{\beta}\symbf{M} \] +while the default settings would print +\setmathfont{LatoMath.otf}[math-style=TeX,partial=italic] +\[\frac{\partial f}{\partial x} = \alpha \symbf{V} + a\nabla\Gamma + + \symbf{\beta}\symbf{M} \] + +Both shapes remain available anytime: \verb+$\uppi,\itpi$+ +prints $\uppi, \itpi$. + +If your text editor is able to handle Greek letters or maths symbols, they can +be entered in the code instead control sequences (i.e. +$\symup{α}$, $\symup{β}$, $\symup{Γ}$,… for \cmd{alpha}, \cmd{beta}, +\cmd{Gamma},…). + +\subsection{Character variants} +\label{ssection-cv} + +\LAotf{} provides nine ``Character Variants'' options, listed on +table~\vref{cv}, to choose between different glyphs for Greek characters +and some others. + +For instance, to get \cmd{epsilon} and \cmd{phi} typeset as $\varepsilon$ +and $\varphi$ instead of $\epsilon$ and $\phi$, you can add option +\verb+CharacterVariant={3,6}+ to the \cmd{setmathfont} call: + +\verb+\setmathfont{LatoMath.otf}[CharacterVariant={3,6}]+ + +\begin{table}[ht] + \centering \caption{Character variants.} + \hlabel{cv} + \begin{tabular}{@{}>{\ttfamily}lccl@{}} + \hline + & Default & Variant & Name\\ + \hline + cv01 & $\hslash$ & $\mithbar$ & \cmd{hslash} \\ + cv02 & $\emptyset$ & $\varemptyset$ & \cmd{emptyset} \\ + cv03 & $\epsilon$ & $\varepsilon$ & \cmd{epsilon} \\ + cv04 & $\kappa$ & $\varkappa$ & \cmd{kappa} \\ + cv05 & $\pi$ & $\varpi$ & \cmd{pi} \\ + cv06 & $\phi$ & $\varphi$ & \cmd{phi} \\ + cv07 & $\rho$ & $\varrho$ & \cmd{rho} \\ + cv08 & $\sigma$ & $\varsigma$ & \cmd{sigma} \\ + cv09 & $\theta$ & $\vartheta$ & \cmd{theta} \\ + cv10 & $\Theta$ & $\varTheta$ & \cmd{Theta}\\ + \hline + \end{tabular} +\end{table} + +This works for all shapes and weights of these characters: f.i.\ % +\verb+$\symbf{\epsilon}$+, \verb+$\symbf{\phi}$+ are output as +\setmathfont{LatoMath.otf}[CharacterVariant={3,6}]$\symbf{\epsilon}$, +$\symbf{\phi}$ instead of +\setmathfont{LatoMath.otf}$\symbf{\epsilon}$, $\symbf{\phi}$. +If \opt{math-style=french} has been chosen, \verb+\epsilon+ and \verb+\phi+ +are output as $\symup{\varepsilon}$ and $\symup{\varphi}$ (upright). + +Please note that curly braces are mandatory whenever more than one +``Character Variant'' is selected. + +Note about \cmd{hbar}: \pkg{amsmath} provides two different glyphs +(italic $h$ with horizontal or diagonal stroke) while \pkg{unicode-math} +defines \cmd{hbar} as \cmd{hslash} (U+210F). +\pkg{LatoMath} follows \pkg{unicode-math}; the italic $h$ with horizontal +stroke can be printed using \cmd{hslash} or \cmd{hbar} together with character +variant \texttt{cv01} or with \cmd{mithbar} (replacement for AMS’ command +\cmd{hbar}). + + +\subsection{Stylistic sets} +\label{ssection-ss} + +\LAotf{} provides five ``Stylistic Sets'' options to choose between different +glyphs for families of maths symbols. + +\verb+StylisticSet=4+, alias% +\footnote{These \texttt{Style} aliases are provided by \file{lato-math.sty}.} +\verb+Style=leqslant+, converts inequalities into their slanted variants, see +table~\vref{ss04}. + +\verb+StylisticSet=5+, alias \verb+Style=smaller+, converts some symbols into +their smaller variants, see table~\vref{ss05}. +\begin{table}[ht] + \centering + \caption{Stylistic Sets 4 and 5} + \subfloat[\texttt{Style=leqslant\quad (+ss04)}]{\hlabel{ss04}% + \begin{tabular}[t]{@{}lcc@{}} + \hline + Command & Default & Variant \\ + \hline + \cmd{leq} & $\leq$ & $\leqslant$ \\ + \cmd{geq} & $\geq$ & $\geqslant$ \\ + \cmd{nleq} & $\nleq$ & $\nleqslant$ \\ + \cmd{ngeq} & $\ngeq$ & $\ngeqslant$ \\ + \cmd{leqq} & $\leqq$ & $\leqqslant$ \\ + \cmd{geqq} & $\geqq$ & $\geqqslant$ \\ + \cmd{nleqq} & $\nleqq$ & $\nleqqslant$ \\ + \cmd{ngeqq} & $\ngeqq$ & $\ngeqqslant$ \\ + \cmd{eqless} & $\eqless$ & $\eqslantless$ \\ + \cmd{eqgtr} & $\eqgtr$ & $\eqslantgtr$ \\ + \cmd{lesseqgtr} & $\lesseqgtr$ & $\lesseqslantgtr$ \\ + \cmd{gtreqless} & $\gtreqless$ & $\gtreqslantless$ \\ + \cmd{lesseqqgtr} & $\lesseqqgtr$ & $\lesseqqslantgtr$ \\ + \cmd{gtreqqless} & $\gtreqqless$ & $\gtreqqslantless$ \\ + \hline + \end{tabular} + }\hspace{10mm} % eof subfloat + \subfloat[\texttt{Style=smaller\quad (+ss05)}]{\hlabel{ss05}% + \begin{tabular}[t]{@{}lcc@{}} + \hline + Command & Default & Variant \\ + \hline + \cmd{in} & $\in$ & $\smallin$ \\ + \cmd{ni} & $\ni$ & $\smallni$ \\ + \cmd{mid} & $\mid$ & $\shortmid$ \\ + \cmd{nmid} & $\nmid$ & $\nshortmid$ \\ + \cmd{parallel} & $\parallel$ & $\shortparallel$ \\ + \cmd{nparallel} & $\nparallel$ & $\nshortparallel$ \\ + \cmd{parallelslant} & $\parallelslant$ & $\shortparallelslant$ \\ + \cmd{nparallelslant} & $\nparallelslant$ & $\nshortparallelslant$ \\ + \hline + \end{tabular} + }% eof subfloat +\end{table} + +%\pagebreak[4] +\verb+StylisticSet=6+, alias \verb+Style=subsetneq+, converts some inclusion +symbols, as shown in table~\vref{ss06}. + +\verb+StylisticSet=7+, alias \verb+Style=parallelslant+, converts +``parallel'' symbols into their slanted variants, see table~\vref{ss07}. +\begin{table}[ht] + \centering + \caption{Stylistic Sets 6 and 7} + \subfloat[\texttt{Style=subsetneq\quad (+ss06)}]{\hlabel{ss06}% + \begin{tabular}[t]{@{}lcc@{}} + \hline + Command & Default & Variant \\ + \hline + \cmd{subsetneq} & $\subsetneq$ & $\varsubsetneq$ \\ + \cmd{supsetneq} & $\supsetneq$ & $\varsupsetneq$ \\ + \cmd{subsetneqq} & $\subsetneqq$ & $\varsubsetneqq$ \\ + \cmd{supsetneqq} & $\supsetneqq$ & $\varsupsetneqq$ \\ + \hline + \end{tabular} + }\hspace{10mm} % eof subfloat + \subfloat[\texttt{Style=parallelslant\quad (+ss07)}]{\hlabel{ss07}% + \begin{tabular}[t]{@{}lcc@{}} + \hline + Command & Default & Variant \\ + \hline + \cmd{parallel} & $\parallel$ & $\parallelslant$ \\ + \cmd{nparallel} & $\nparallel$ & $\nparallelslant$ \\ + \cmd{shortparallel} & $\shortparallel$ & $\shortparallelslant$ \\ + \cmd{nshortparallel} & $\nshortparallel$ & $\nshortparallelslant$ \\ + \hline + \end{tabular} + } % eof subfloat +\end{table} + +To enable Stylistic Sets 4 and 8 for \LAotf{}, you should enter + +\verb+\setmathfont{LatoMath.otf}[StylisticSet={4,8}] or+\\ +\verb+\usepackage[Style={leqslant,upint}]{lato-math}+ + +then, \verb+\[x\leq y \quad \int_{a}^{b} f(x) \;\symup{d}x\]+ +will print as +\setmathfont{LatoMath.otf}[StylisticSet={4,8}] +\[x\leq y \quad \int_{a}^{b} f(x) \;\symup{d}x\] +instead of +\setmathfont{LatoMath.otf} +\[x\leq y \quad \int_{a}^{b} f(x) \;\symup{d}x\] + +%\pagebreak[4] +\verb+StylisticSet=8+, alias% +\footnote{These \texttt{Style} aliases are provided by \file{lato-math.sty}.} +\verb+Style=upint+, converts integrals signs into their upright +variants, see table~\vref{ss08}. +\begin{table}[ht] + \let\DS\displaystyle + \centering + \caption{Style=upint\quad (+ss08)}\hlabel{ss08} + \begin{tabular}[t]{@{}l*{8}c@{}} + \hline + Command &\cmd{int} &\cmd{iint} &\cmd{iiint} &\cmd{iiiint} + &\cmd{oint} &\cmd{oiint} &\cmd{oiiint} \\ + \hline + Default\rule[-15pt]{0pt}{35pt} &$\DS\int$ &$\DS\iint$ &$\DS\iiint$ &$\DS\iiiint$ + &$\DS\oint$ &$\DS\oiint$ &$\DS\oiiint$ + \\[\baselineskip] + \setmathfont{LatoMath.otf}[Style=upint] + Upright\rule[-15pt]{0pt}{30pt} &$\DS\int$ &$\DS\iint$ &$\DS\iiint$ &$\DS\iiiint$ + &$\DS\oint$ &$\DS\oiint$ &$\DS\oiiint$ \\ + \hline + \end{tabular}\\[\baselineskip] + \setmathfont{LatoMath.otf} + \begin{tabular}[t]{@{}l*{4}c@{}} + \hline + Command &\scmd{intclockwise} &\scmd{awint} + &\scmd{varointclockwise} &\scmd{ointctrclockwise} \\ + \hline + Default\rule[-15pt]{0pt}{35pt} &$\DS\intclockwise$ &$\DS\awint$ + &$\DS\varointclockwise$ &$\DS\ointctrclockwise$ \\ + \setmathfont{LatoMath.otf}[Style=upint] + Upright\rule[-15pt]{0pt}{30pt} &$\DS\intclockwise$ &$\DS\awint$ + &$\DS\varointclockwise$ &$\DS\ointctrclockwise$ \\ + \hline + \end{tabular} +\end{table} +\setmathfont{LatoMath.otf} + +\subsection{Other font features} +\label{ssec-other-features} + +To get oldstyle numbers in maths, the feature \texttt{+onum} is available: + +\verb+\setmathfont{LatoMath.otf}[Numbers=OldStyle] or+\\ +\verb+\usepackage[Style=fulloldstyle]{lato-math}+ + +\setmathfont{LatoMath.otf}[Numbers=OldStyle] +$0123456789, \symbf{0123456789}$ +\setmathfont{LatoMath.otf} + +\subsection{Standard LaTeX maths commands} +\label{ssec-math-commands} + +All standard LaTeX maths commands, all \pkg{amssymb} commands and all +\pkg{latexsym} commands are supported by \LAotf{}, for some of them loading +\pkg{lato-math.sty} is required. + +Various wide accents and extensible arrows are also supported: +\begin{itemize} +\item \cmd{wideoverbar} and \cmd{mathunderbar}% + \footnote{\cmd{overline} and \cmd{underline} are not font related, + they are based on \cmd{rule}.} + \[\wideoverbar{x}\quad \wideoverbar{xy}\quad \wideoverbar{xyz}\quad + \wideoverbar{A\cup B}\quad \wideoverbar{A\cup (B\cap C)\cup D}\quad + \mathunderbar{m+n+p}\] + +\item \cmd{widehat} and \cmd{widetilde} +\[\widehat{x}\; \widehat{xx} \;\widehat{xxx} \;\widehat{xxxx}\; + \widehat{xxxxx} \;\widehat{xxxxxx} \;\widetilde{x}\; \widetilde{xx}\; + \widetilde{xxx} \;\widetilde{xxxx} \;\widetilde{xxxxx}\; + \widetilde{xxxxxx}\] + +\item \cmd{widecheck} and \cmd{widebreve} + \[\widecheck{x}\quad \widecheck{xxxx}\quad \widecheck{xxxxxx}\quad + \widebreve{x}\quad \widebreve{xxxx}\quad \widebreve{xxxxxx}\] + +\item \cmd{overparen} and \cmd{underparen} + \[\overparen{x}\quad \overparen{xy}\quad \overparen{xyz}\quad + \mathring{\overparen{A\cup B}}\quad + \overparen{A\cup (B\cap C)\cup D}^{\smwhtcircle}\quad + \overparen{x+y}^{2}\quad \overparen{a+b+...+z}^{26}\] +\[\underparen{x}\quad \underparen{xz} \quad \underparen{xyz} + \quad \underparen{x+z}_{2}\quad \underparen{a+b+...+z}_{26}\] + +\item \cmd{overbrace} and \cmd{underbrace} + \[\overbrace{a}\quad \overbrace{ab}\quad \overbrace{abc}\quad + \overbrace{abcd}\quad \overbrace{abcde}\quad + \overbrace{a+b+c}^{3}\quad \overbrace{ a+b+. . . +z }^{26}\] +\[\underbrace{a}\quad\underbrace{ab}\quad\underbrace{abc}\quad + \underbrace{abcd}\quad \underbrace{abcde}\quad + \underbrace{a+b+c}_{3} \quad \underbrace{ a+b+...+z }_{26}\] + +\item \cmd{overbracket} and \cmd{underbracket} + \[\overbracket{a}\quad \overbracket{ab}\quad \overbracket{abc}\quad + \overbracket{abcd}\quad \overbracket{abcde}\quad + \overbracket{a+b+c}^{3}\quad \overbracket{ a+b+. . . +z }^{26}\] +\[\underbracket{a}\quad\underbracket{ab}\quad\underbracket{abc}\quad + \underbracket{abcd}\quad \underbracket{abcde}\quad + \underbracket{a+b+c}_{3} \quad \underbracket{ a+b+...+z }_{26}\] + +\item \cmd{overrightarrow} and \cmd{overleftarrow} + \[\overrightarrow{v}\quad \overrightarrow{M}\quad \overrightarrow{vv} + \quad \overrightarrow{AB}\quad \overrightarrow{ABC} + \quad \overrightarrow{ABCD} \quad \overrightarrow{ABCDEFGH}. +\] +\[\overleftarrow{v}\quad \overleftarrow{M}\quad \overleftarrow{vv} + \quad \overleftarrow{AB}\quad \overleftarrow{ABC} + \quad \overleftarrow{ABCD} \quad \overleftarrow{ABCDEFGH}\] + +\item \cmd{overrightharpoon} and \cmd{overleftharpoon} + \[\overrightharpoon{v}\quad \overrightharpoon{M}\quad \overrightharpoon{vv} + \quad \overrightharpoon{AB}\quad \overrightharpoon{ABC} + \quad \overrightharpoon{ABCD} \quad \overrightharpoon{ABCDEFGH}. + \] + \[\overleftharpoon{v}\quad \overleftharpoon{M}\quad \overleftharpoon{vv} + \quad \overleftharpoon{AB}\quad \overleftharpoon{ABC} + \quad \overleftharpoon{ABCD} \quad \overleftharpoon{ABCDEFGH}\] + +\item \cmd{underrightarrow} and \cmd{underleftarrow} + \[\underrightarrow{v}\quad \underrightarrow{M}\quad \underrightarrow{vv} + \quad \underrightarrow{AB}\quad \underrightarrow{ABC} + \quad \underrightarrow{ABCD} \quad \underrightarrow{ABCDEFGH}. + \] + \[\underleftarrow{v}\quad \underleftarrow{M}\quad \underleftarrow{vv} + \quad \underleftarrow{AB}\quad \underleftarrow{ABC} + \quad \underleftarrow{ABCD} \quad \underleftarrow{ABCDEFGH}\] + +\item \cmd{underrightharpoon} and \cmd{underleftharpoondown} + \[\underrightharpoondown{v}\quad \underrightharpoondown{M}\quad + \underrightharpoondown{vv}\quad \underrightharpoondown{AB}\quad + \underrightharpoondown{ABC}\quad \underrightharpoondown{ABCD}\quad + \underrightharpoondown{ABCDEFGH}. + \] + \[\underleftharpoondown{v}\quad \underleftharpoondown{M}\quad + \underleftharpoondown{vv}\quad \underleftharpoondown{AB}\quad + \underleftharpoondown{ABC}\quad \underleftharpoondown{ABCD} + \quad \underleftharpoondown{ABCDEFGH}. + \] +\end{itemize} + +All the extensible arrows provided by the \pkg{mathtools} package are +available in the \LAotf{} font (loading \pkg{lato-math.sty} is required), f.i.: +\[X \xLeftrightarrow{\text{above}} Y \xhookrightarrow[\text{under}]{} + Z\xmapsto{\text{above}} W\] + +A wide range of extensible vertical delimiters is provided: + +\[ \left/ + \begin{pmatrix} a_{1} \\ a_{2} \\ a_{3} \end{pmatrix} + \begin{bmatrix} a_{1} \\ a_{2} \\ a_{3} \end{bmatrix} + \begin{Bmatrix} a_{1} \\ a_{2} \\ a_{3} \end{Bmatrix} + \begin{vmatrix} a_{1} \\ a_{2} \\ a_{3} \end{vmatrix} + \begin{Vmatrix} a_{1} \\ a_{2} \\ a_{3} \end{Vmatrix} + \left\lVvert\begin{array}{c} a_{1} \\ a_{2} \\ a_{3} \end{array}\right\Vvert + \left\lceil \begin{array}{c} a_{1} \\ a_{2} \\ a_{3} \end{array}\right\rceil + \left\lfloor\begin{array}{c} a_{1} \\ a_{2} \\ a_{3} \end{array}\right\rfloor + \left\lBrack\begin{array}{c} a_{1} \\ a_{2} \\ a_{3} \end{array}\right\rBrack + \left\langle\begin{array}{c} a_{1} \\ a_{2} \\ a_{3} \end{array}\right\rangle + \left\lAngle\begin{array}{c} a_{1} \\ a_{2} \\ a_{3} \end{array}\right\rAngle + \right\backslash \] + +\subsection{Mathematical alphabets} +\label{ssec-math-alphabets} + +\begin{itemize} +\item All Latin and Greek characters are available in italic, upright, bold + and bold italic via the \verb+\symit{}+, \verb+\symup{}+, \verb+\symbf{}+ + and \verb+\symbfit{}+ commands. + +\item Calligraphic alphabet (\cmd{symscr} or \cmd{symcal} or + \cmd{mathcal} command), uppercase: + + $\symscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ + + also in boldface (\cmd{symbfscr},\cmd{symbfcal} or \cmd{mathbfcal} command): + + $\symbfscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$ + +\item Blackboard-bold alphabet (\cmd{symbb} or \cmd{mathbb} command): + + $\symbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$\\ + $\symbb{abcdefghijklmnopqrstuvwxyz\quad 0123456789}$ + +\item Fraktur alphabet is borrowed from Latin Modern, medium and bold + (\cmd{symfrak}, or \cmd{symbffrak} commands): + + $\symfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ\; abcdefghijklmnopqrstuvwxyz}$\\ + $\symbffrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$\\ + \hphantom{$\symfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ\;}$}% + $\symbffrak{abcdefghijklmnopqrstuvwxyz}$ + + but this can overwritten, i.e. + +\verb+\setmathfont{Asana-Math.otf}[range=frak,Scale=MatchUppercase]+\\ +\verb+$\symfrak{ABCDEFGHIJKL...XYZ abcdefghijkl...xyz}$+ + +%\verb+\setmathfont{Asana-Math.otf}[range=frak,Scale=MatchUppercase]+\\ +%\verb+$\symfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz}$+ + +\item Typewriter alphabet is sans-serif: $\symtt{0123456789}$ + + $\symtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz}$ + +but it can be borrowed from another maths font. + +%\verb+\setmathfont{STIXTwoMath-Regular.otf}[range=tt,+\\ +%\verb+ Scale=MatchUppercase]+\\ +%\verb+$\symtt{ABCDE...XYZ abcde...xyz}$+ + +%\verb+\setmathfont{STIXTwoMath-Regular.otf}[range=tt,Scale=MatchUppercase]+\\ +%\verb+$\symtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz}$+ +\end{itemize} + +Like Latin Modern, \pkg{LatoMath} provides only four lowercase latin +letters in script (or calligraphic) shape: $\mscre$, $\mscrg$, $\ell$, +$\mscro$ (\verb+\mscre+, \verb+\mscrg+, \verb+\ell+, \verb+\mscro+). + +All others (range \verb+"1D4B6+ to \verb+"1D4CF+) have to be borrowed +from another maths font if needed, i.e. + +\verb+\setmathfont{LibertinusMath-Regular.otf}%+\\ +\verb+ [range="1D4B6-"1D4CF, Scale=MatchLowercase]+ + +\subsection{Bold variant} + +\setmathfont{LatoMath.otf}[BoldFont=LatoMath-Bold.otf] +In case short maths formulas have to be printed in section titles, +a \emph{limited} bold variant is provided. Example of usage:\quad +\textbf{\boldmath Einstein’s equation $E=mc^2$} + +\verb+\setmathfont{LatoMath-Bold.otf}[version=bold, +\textit{options}\verb+]+\\ +\verb+\section{\mathversion{bold} Einstein’s equation $E=mc^2$}+ + +It is also possible to use the \verb+\boldmath+ command% +\footnote{The \cmd{boldmath} command works out of the box when + \pkg{lato-math.sty} is loaded.}: + +\verb+\setmathfont{LatoMath-Regular.otf}[BoldFont=LatoMath-Bold.otf]+\\ +\verb+\section{\boldmath Einstein’s equation $E=mc^2$}+ + +\subsection{Missing symbols} + +\LAotf{} is fairly complete (see file \file{unimath-sans.pdf}), +if you happen to need some of the few missing glyphs you can borrow them from +a more complete font, say \file{New Computer Modern}. For instance if you need +Italic Blackboard Bold (U+2145 to U+2149) you could try: + +\verb+\setmathfont{NewCMMath-Book.otf}[range={"2145-"2149},Scale=1.05]+ + +Let’s mention \pkg{albatross}, a useful tool to find out the list of fonts +providing a given glyph: f.i. type in a terminal ``\texttt{albatross U+2145}'', +see the manpage or \file{albatross-manual.pdf}. + +\section{Acknowledgements} + +Many thanks to \href{https:www.typoland.com}{Łukasz Dziedzic} for providing +the Lato text fonts in OpenType format. + +We are grateful to George Williams and his co-workers for providing and +maintaining FontForge and to Ulrik Vieth for his illuminating paper published +in TUGboat~2009 Volume~30 about OpenType Maths. + + +\bigskip +\begin{center}\Huge +\decotwo +\end{center} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-engine: luatex +%%% TeX-master: t +%%% coding: utf-8 +%%% End: diff --git a/Master/texmf-dist/doc/fonts/lato-math/LatoMath.pdf b/Master/texmf-dist/doc/fonts/lato-math/LatoMath.pdf Binary files differnew file mode 100644 index 00000000000..58ccc5dbba9 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/lato-math/LatoMath.pdf diff --git a/Master/texmf-dist/doc/fonts/lato-math/README.md b/Master/texmf-dist/doc/fonts/lato-math/README.md new file mode 100644 index 00000000000..3b22451b4e1 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/lato-math/README.md @@ -0,0 +1,56 @@ +Lato Math package +================= + +## Description + +__Lato Math__ is an OpenType sans-serif math font, +based on the +[Lato](https://github.com/latofonts/lato-source) font. + +## Contents + +* LatoMath.otf OpenType Math font +* LatoMath-Bold.otf Bold variant (limited coverage) +* lato-math.sty LaTeX style file +* LatoMath.pdf Documentation in PDF format +* LatoMath.ltx LaTeX source of LatoMath.pdf +* unimath-lato.pdf Modified version of unimath-symbols.pdf + showing available LatoMath symbols compared + to other sans-serif math fonts. +* unimath-lato.ltx LaTeX source of unimath-sans.pdf +* README.md (this file) + +## Installation + +This package is meant to be installed automatically by TeXLive, MikTeX, etc. +Otherwise, the package can be installed under TEXMFHOME or TEXMFLOCAL, f.i. +LatoMath.otf in directory texmf-local/fonts/opentype/public/LatoMath/ +and lato-otf.sty in directory texmf-local/tex/latex/LatoMath/. +Documentation files and their sources can go to directory +texmf-local/doc/fonts/public/LatoMath/ + +Don't forget to rebuild the file database (mktexlsr or so) if you install +under TEXMFLOCAL. + +Finally, make the system font database aware of the LatoMath font +(fontconfig under Linux). + +## License + +* The font `LatoMath.otf’ is licensed under the SIL Open Font License, +Version 1.1. This license is available with a FAQ at: +http://scripts.sil.org/OFL +* The other files are distributed under the terms of the LaTeX Project +Public License from CTAN archives in directory macros/latex/base/lppl.txt. +Either version 1.3c or, at your option, any later version. + +## Changes + +* v. 0.1: first appeared on https://github.com/abccsss/LatoMath/ + Author: Chenjing Bu. + +* First public version: 0.36 + +--- +Copyright 2024 Chenjing Bu, Daniel Flipo. +https://github.com/abccsss/LatoMath/ diff --git a/Master/texmf-dist/doc/fonts/lato-math/unimath-lato.ltx b/Master/texmf-dist/doc/fonts/lato-math/unimath-lato.ltx new file mode 100644 index 00000000000..330ae5d8f2f --- /dev/null +++ b/Master/texmf-dist/doc/fonts/lato-math/unimath-lato.ltx @@ -0,0 +1,515 @@ +%%^^A%% unimath-symbols.ltx -- part of UNICODE-MATH <wspr.io/unicode-math> +%%^^A%% Listing of Unicode mathematics symbols using a variety of fonts. + +% !TEX TS-program = LuaLaTeX + +%% List of fonts changed (df). +%% +%% Changes by David Carlisle: https://github.com/wspr/unicode-math/issues/570 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% SYMBOLS DEFINED BY UNICODE-MATH +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass[final]{article} +\makeatletter + +\usepackage{ragged2e,setspace,booktabs,catchfile,shortvrb,geometry,metalogo,textcomp,longtable,array,hyperref} + +\usepackage{ninecolors} +\NineColors{saturation=high} + +\geometry{margin=24mm} +\hypersetup{colorlinks,linkcolor=black} + +\def\cmd#1{\texttt{\textbackslash\expandafter\@gobble\string#1}} + +\usepackage{fontspec} +\setmainfont{texgyrepagella}% + [ + Extension = .otf , + UprightFont = *-regular, + ItalicFont = *-italic, + BoldFont = *-bold, + BoldItalicFont = *-bolditalic, + Ligatures=TeX, + Numbers={Lowercase,Monospaced}, + ] +\usepackage[math-style=literal,bold-style=literal]{unicode-math} + +\ExplSyntaxOn +\cs_generate_variant:Nn \fontspec_set_fontface:NNnn {c} + +\def\FINISH{} +\newcount\Nfonts +\def\defmathfont#1#2#3#4{ + \Nfonts=\numexpr\Nfonts+1\relax + \tl_set:cn {L#1} {#4} + \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} + \tl_gput_right:Nn \FINISH { + \refstepcounter{#1}\label{count:#1} + } +} +\ExplSyntaxOff + +\defmathfont{ncm}{NewCMMath-Book.otf}{red5}{M} +\defmathfont{cambria}{Cambria_Math.ttf}{brown5}{C} +\defmathfont{gfs}{GFSNeohellenicMath.otf}{green5}{G} +\defmathfont{kpsans}{KpMath-Sans.otf}{violet5}{K} +\defmathfont{lato}{LatoMath.otf}{cyan5}{L} +\defmathfont{noto}{NotoSansMath-DF.otf}{yellow5}{N} +\defmathfont{fira}{FiraMath-Regular.otf}{magenta5}{F} + +\def\INPUT{\input{unicode-math-table.tex}} +\def\TABLE{% +\par\noindent +\setlength\tabcolsep{5pt}% +\begin{longtable}[l]{@{}l *{\Nfonts}{c} lp{100pt}@{}} + \toprule + \textsc{usv} & \Lncm & \Lcambria & \Lgfs & \Lkpsans & \Llato & \Lnoto + & \Lfira & Macro & Description \\ + \midrule \endhead + \INPUT\\ + \bottomrule +\end{longtable} +} +\makeatletter +\def\USV#1{\footnotesize\scshape\MakeLowercase{u+\@gobble#1}} +\makeatother +\def\CMD#1{\footnotesize\cmd#1} +\def\DESC#1{\vspace{-6pt}% + \begin{spacing}{0.5} + \RaggedRight\scriptsize #1% + \end{spacing} +} + +\newcommand\SHOW[1]{% + \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}{ncm}{#1} & + \SYMB{#2}{cambria}{#1} & + \SYMB{#2}{gfs}{#1} & + \SYMB{#2}{kpsans}{#1} & + \SYMB{#2}{lato}{#1} & + \SYMB{#2}{noto}{#1} & + \SYMB{#2}{fira}{#1} & + \CMD{#2} + \tl_if_in:NnT \PLAIN {#2} + { + \makebox[0pt][l] + { \color[gray]{0.7} \textsuperscript{\sffamily (p)} } + } + \tl_if_in:NnT \LTXSYM {#2} + { + \makebox[0pt][l] + { \color[gray]{0.7} \textsuperscript{\sffamily (l)} } + } + \tl_if_in:NnT \AMSSYMB {#2} + { + \makebox[0pt][l] + { \color[gray]{0.7} \textsuperscript{\sffamily (a)} } + } + & + \DESC{#3} \\ + }% + \expandafter\tempa +} +\ExplSyntaxOff +\def\SYMB#1#2#3{% + \expandafter\iffontchar\csname#2\endcsname #3\relax + \refstepcounter{#2}% + \mathversion{#2}% + $\displaystyle#1$% + \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\LTXSYM{ +\cong +\notin +\rightleftharpoons +\doteq +\mathring +} + +\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} + +\input{unicode-math.dtx} + +\begin{document} +\MakeShortVerb\| +\title{Symbols defined by \textsf{unicode-math}} +\author{Will Robertson} +\date{Modified (df) to show Sans-Serif Math symbols} +\maketitle + +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. It compares (with approximate symbol counts) +two reference fonts (NewComputerModern and Cambria) to four sans-serif fonts: +\begin{itemize} +\item[\Lncm] \mathversion{ncm} $\mathup{New\ Computer\ Modern\ Math}$ (\ref{count:ncm}) +\item[\Lcambria] \mathversion{cambria} $\mathup{Cambria\ Math}$ (\ref{count:cambria}) +\item[\Lgfs] \mathversion{gfs} $\mathup{GFS\ Neo\ Hellenic\ Math}$ (\ref{count:gfs}) +\item[\Lkpsans] \mathversion{kpsans} $\mathup{KpSans\ Math}$ (\ref{count:kpsans}) +\item[\Llato] \mathversion{lato} $\mathup{Lato\ Math}$ (\ref{count:lato}) +\item[\Lnoto] \mathversion{noto} $\mathup{Noto\ Sans\ Math}$ (\ref{count:noto}) +\item[\Lfira] \mathversion{fira} $\mathup{Fira\ Math}$ (\ref{count:fira}) +\end{itemize} +Symbols defined in Plain \TeX\ are indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (p)}} after their macro name. +\LaTeX\ follows Plain \TeX, but defines a handful more, indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (l)}}. +Symbols defined in \textsf{amssymb} are indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (a)}}. + +Note that this list of fonts is not intended to be exhaustive but I am happy to add new fonts by request if they are distributed in \TeX\ Live.\footnote{Only a single \TeX\ Gyre Math font is shown here by design as they all largely have the same symbol coverage.} + +\tableofcontents + +\clearpage +\section{Opening symbols, \cmd\mathopen} +\begingroup +\def\sqrt{\sqrtsign{}} +\def\cuberoot{\cuberootsign{}} +\def\fourthroot{\fourthrootsign{}} +\def\longdivision{\longdivisionsign{}} +\SHOW\mathopen +\endgroup + +\clearpage +\section{Closing symbols, \cmd\mathclose} +\SHOW\mathclose + +\section{Fence symbols, \cmd\mathfence} +\SHOW\mathfence + +\clearpage +\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} + +Note that accents will only be properly placed if used with an OpenType font with the necessary information. + +\begingroup +\def\SYMB#1#2#3{% + \expandafter\iffontchar\csname#2\endcsname #3\relax + \refstepcounter{#2}% + \mathversion{#2}% + $\displaystyle#1 \mitx$% + \fi +} +\SHOW\mathaccent +\endgroup + +% Added (df) +\section{Accents wide, \cmd\mathaccentwide} +\begingroup +\def\SYMB#1#2#3{% + \expandafter\iffontchar\csname#2\endcsname #3\relax + \refstepcounter{#2}% + \mathversion{#2}% + $\displaystyle#1 {\mitx+\mity}$% + \fi +} +\SHOW\mathaccentwide +\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 + +% Added (df) +\section{Bottom accents wide, \cmd\mathbotaccentwide} +\begingroup +\def\SYMB#1#2#3{% + \expandafter\iffontchar\csname#2\endcsname #3\relax + \refstepcounter{#2}% + \mathversion{#2}% + $\displaystyle#1 {\mitx+\mity}$% + \fi +} +\SHOW\mathbotaccentwide +\endgroup + +\clearpage +\section{Big operators, \cmd\mathop} + +Of the operators shown below, a subset need to be flagged by \textsf{unicode-math} for \cmd\nolimits\ adjustments. +The limits behaviour as specified by \textsf{unicode-math} are shown with grey subscripts and superscripts. +\begingroup +\def\SYMB#1#2#3{% + \expandafter\iffontchar\csname#2\endcsname #3\relax + \stepcounter{#2}% + \mathversion{#2}% + $\displaystyle#1_0^1$% + \fi +} +\SHOW\mathop +\endgroup + +%\clearpage +\section{Binary relations, \cmd\mathbin} +\SHOW\mathbin + +\clearpage +\section{Ordinary symbols, \cmd\mathord} +\SHOW\mathord + +\clearpage +\section{Relation symbols, \cmd\mathrel} +\SHOW\mathrel + +\clearpage +\section{Alphabetical symbols, \cmd\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_lazy_and:nnT + { \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_lazy_or:nnT + { \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 + +\FINISH +\mbox{} +\end{document} + +\endinput + +% /© +% +% ------------------------------------------------ +% The UNICODE-MATH package <wspr.io/unicode-math> +% ------------------------------------------------ +% This package is free software and may be redistributed and/or modified under +% the conditions of the LaTeX Project Public License, version 1.3c or higher +% (your choice): <http://www.latex-project.org/lppl/>. +% ------------------------------------------------ +% Copyright 2006-2019 Will Robertson, LPPL "maintainer" +% Copyright 2010-2017 Philipp Stephani +% Copyright 2011-2017 Joseph Wright +% Copyright 2012-2015 Khaled Hosny +% ------------------------------------------------ +% +% ©/ + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% TeX-engine: luatex +%%% End: diff --git a/Master/texmf-dist/doc/fonts/lato-math/unimath-lato.pdf b/Master/texmf-dist/doc/fonts/lato-math/unimath-lato.pdf Binary files differnew file mode 100644 index 00000000000..f090575514e --- /dev/null +++ b/Master/texmf-dist/doc/fonts/lato-math/unimath-lato.pdf diff --git a/Master/texmf-dist/fonts/opentype/public/lato-math/LatoMath-Bold.otf b/Master/texmf-dist/fonts/opentype/public/lato-math/LatoMath-Bold.otf Binary files differnew file mode 100644 index 00000000000..d542ed49a57 --- /dev/null +++ b/Master/texmf-dist/fonts/opentype/public/lato-math/LatoMath-Bold.otf diff --git a/Master/texmf-dist/fonts/opentype/public/lato-math/LatoMath.otf b/Master/texmf-dist/fonts/opentype/public/lato-math/LatoMath.otf Binary files differnew file mode 100644 index 00000000000..34450579d82 --- /dev/null +++ b/Master/texmf-dist/fonts/opentype/public/lato-math/LatoMath.otf diff --git a/Master/texmf-dist/tex/latex/lato-math/lato-math.sty b/Master/texmf-dist/tex/latex/lato-math/lato-math.sty new file mode 100644 index 00000000000..e87b058e4c1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lato-math/lato-math.sty @@ -0,0 +1,160 @@ +\NeedsTeXFormat{LaTeX2e}[2022/06/01] +\def\fileversion{0.36} +\def\filedate{2024-03-14} +\ProvidesPackage{lato-math}[\filedate\space\fileversion] + +%Ensure luatex or xetex engine +\RequirePackage{iftex}[2019/10/24] +\RequireTUTeX +\RequirePackage{unicode-math} + +\newopentypefeature{Style}{leqslant}{+ss04} +\newopentypefeature{Style}{smaller}{+ss05} +\newopentypefeature{Style}{subsetneq}{+ss06} +\newopentypefeature{Style}{parallelslant}{+ss07} +\newopentypefeature{Style}{upint}{+ss08} +\newopentypefeature{Style}{upneg}{+ss09} + +\newtoks\LatoMtoks +\newcommand*{\Latostore@KV@Option}[2]{% + \LatoMtoks=\expandafter{\the\LatoMtoks #1={#2},}} + +% Package options: +\DeclareKeys + { + tight.if = Lato@tight , + loose.code = \Lato@tightfalse , + fulloldstyle.code = \Latostore@KV@Option{Numbers}{OldStyle} , + math-style.code = \Latostore@KV@Option{math-style}{#1} , + bold-style.code = \Latostore@KV@Option{bold-style}{#1} , + nabla.code = \Latostore@KV@Option{nabla}{#1} , + partial.code = \Latostore@KV@Option{partial}{#1} , + CharacterVariant.code = \Latostore@KV@Option{CharacterVariant}{#1} , + StylisticSet.code = \Latostore@KV@Option{StylisticSet}{#1} , + Style.code = \Latostore@KV@Option{Style}{#1} , + Scale.code = \Latostore@KV@Option{Scale}{#1} + } +% +\ProcessKeyOptions +% +% Math fonts: LatoMath.otf +% Following Joseph Wright in https://tex.stackexchange.com/questions/451 +\Latostore@KV@Option{BoldFont}{LatoMath-Bold.otf} +\begingroup + \edef\temp{% + \endgroup + \noexpand\setmathfont{LatoMath.otf}% + [\unexpanded\expandafter{\the\LatoMtoks}]% + } + \temp +% +\ifLato@tight + \thinmuskip=2mu + \medmuskip=2.5mu plus 1mu minus 2.5mu + \thickmuskip=3.5mu plus 2.5mu +\fi + +\AtBeginDocument{% + % LatoMath specific + % \Umathchardef\<cmd> = <math type> <family> <slot> + % <math type> : \mathord=0 \mathrel=3 ; <family>=0 + \Umathchardef\mbfimath = 0 0 "E041 \relax + \Umathchardef\mbfjmath = 0 0 "E042 \relax + \Umathchardef\mbfdotlessi = 0 0 "E043 \relax + \Umathchardef\mbfdotlessj = 0 0 "E044 \relax + \Umathchardef\mithbar = 0 0 "E048 \relax + \Umathchardef\varemptyset = 0 0 "E04F \relax + \Umathchardef\BbbDelta = 0 0 "E050 \relax + \Umathchardef\BbbTheta = 0 0 "E051 \relax + \Umathchardef\BbbLambda = 0 0 "E052 \relax + \Umathchardef\BbbXi = 0 0 "E053 \relax + \Umathchardef\BbbSigma = 0 0 "E054 \relax + \Umathchardef\BbbPhi = 0 0 "E055 \relax + \Umathchardef\BbbPsi = 0 0 "E056 \relax + \Umathchardef\BbbOmega = 0 0 "E057 \relax + \Umathchardef\lesseqslantgtr = 3 0 "E060 \relax + \Umathchardef\gtreqslantless = 3 0 "E061 \relax + \Umathchardef\lesseqqslantgtr = 3 0 "E062 \relax + \Umathchardef\gtreqqslantless = 3 0 "E063 \relax + \Umathchardef\nleqqslant = 3 0 "E066 \relax + \Umathchardef\ngeqqslant = 3 0 "E067 \relax + \Umathchardef\parallelslant = 3 0 "E080 \relax + \Umathchardef\nparallelslant = 3 0 "E081 \relax + \Umathchardef\shortparallelslant = 3 0 "E082 \relax + \Umathchardef\nshortparallelslant = 3 0 "E083 \relax + \Umathchardef\mapstochar = 3 0 "E08D \relax + \Umathchardef\lhook = 3 0 "E08E \relax + \Umathchardef\rhook = 3 0 "E08F \relax + % amssymb + \@ifpackageloaded{amssymb}% + {\PackageWarning{lato-otf}{% + LatoMath provides all AMS symbols.\MessageBreak + Loading amssymb.sty is not advisable.\MessageBreak + Reported}% + }% + {% AMS Symbols not referenced in unicode-math-table.tex + % \Umathchardef\<cmd> = <math type> <family> <slot> + % <math type> : \mathord=0 \mathrel=3 ; <family>=0 + \Umathchardef\circledR = 0 0 "24C7 \relax + \Umathchardef\circledS = 0 0 "24C8 \relax + \Umathchardef\diagup = 0 0 "27CB \relax + \Umathchardef\diagdown = 0 0 "27CD \relax + \Umathchardef\lvertneqq = 3 0 "E002 \relax + \Umathchardef\gvertneqq = 3 0 "E003 \relax + \Umathchardef\varsubsetneq = 3 0 "E006 \relax + \Umathchardef\varsupsetneq = 3 0 "E007 \relax + \Umathchardef\varsubsetneqq = 3 0 "E015 \relax + \Umathchardef\varsupsetneqq = 3 0 "E016 \relax + \Umathchardef\shortmid = 3 0 "E070 \relax + \Umathchardef\shortparallel = 3 0 "E071 \relax + \Umathchardef\nshortmid = 3 0 "E072 \relax + \Umathchardef\nshortparallel = 3 0 "E073 \relax + \Umathchardef\nleqslant = 3 0 "E076 \relax + \Umathchardef\ngeqslant = 3 0 "E077 \relax + \Umathchardef\nleqq = 3 0 "E078 \relax + \Umathchardef\ngeqq = 3 0 "E079 \relax + \Umathchardef\npreceq = 3 0 "E07C \relax + \Umathchardef\nsucceq = 3 0 "E07D \relax + \Umathchardef\nsubseteqq = 3 0 "E07E \relax + \Umathchardef\nsupseteqq = 3 0 "E07F \relax + \let\centerdot\cdotp + \let\restriction\upharpoonright + \let\doteqdot\Doteq + \let\doublecup\Cup + \let\doublecap\Cap + \let\llless\lll + \let\gggtr\ggg + \let\circlearrowleft\acwopencirclearrow + \let\circlearrowright\cwopencirclearrow + \let\lozenge\mdlgwhtlozenge + \let\blacklozenge\mdlgblklozenge + \let\square\mdlgwhtsquare + \let\blacksquare\mdlgblksquare + \let\dashleftarrow\leftdasharrow + \let\dashrightarrow\rightdasharrow + \let\ntriangleleft\nvartriangleleft + \let\ntriangleright\nvartriangleright + \let\varpropto\propto + \let\thicksim\sim + \let\thickapprox\approx + \let\smallsmile\smile + \let\smallfrown\frown + }% + % latexsym + \@ifpackageloaded{latexsym}% + {\PackageWarning{lato-otf}{% + LatoMath provides all LaTeX symbols.\MessageBreak + Loading latexsym.sty is not advisable.\MessageBreak + Reported}% + }% + {\let\lhd\vartriangleleft + \let\rhd\vartriangleright + \let\unlhd\trianglelefteq + \let\unrhd\trianglerighteq + \let\leadsto\rightcurvedarrow + \let\Box\lgwhtsquare + \let\Diamond\mdlgwhtdiamond + }% +} + +\endinput diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 7c6ecda10d0..1adc6127816 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -490,7 +490,7 @@ my @TLP_working = qw( latexdemo latexdiff latexfileinfo-pkgs latexfileversion latexgit latexindent latexmk latexmp latexpand - latino-sine-flexione lato layaureo layouts lazylist + latino-sine-flexione lato lato-math layaureo layouts lazylist lccaps lcd lcg lcyw leading leadsheets leaflet lebhart lecturer lectures lectureslides ledmac leftidx leftindex leipzig lengthconvert diff --git a/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc index 6bb0ab4c54e..d8d128b454e 100644 --- a/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-fontsextra.tlpsrc @@ -213,6 +213,7 @@ depend kpfonts depend kpfonts-otf depend kurier depend lato +depend lato-math depend lexend depend lfb depend libertine diff --git a/Master/tlpkg/tlpsrc/lato-math.tlpsrc b/Master/tlpkg/tlpsrc/lato-math.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/lato-math.tlpsrc |