diff options
Diffstat (limited to 'fonts/newtx')
-rw-r--r-- | fonts/newtx/README | 17 | ||||
-rw-r--r-- | fonts/newtx/doc/newtxdoc.pdf | bin | 688185 -> 688667 bytes | |||
-rw-r--r-- | fonts/newtx/doc/newtxdoc.tex | 4 | ||||
-rw-r--r-- | fonts/newtx/tex/newtx.sty | 310 | ||||
-rw-r--r-- | fonts/newtx/tex/newtxmath.sty | 221 | ||||
-rw-r--r-- | fonts/newtx/tex/untxmia.fd | 16 |
6 files changed, 363 insertions, 205 deletions
diff --git a/fonts/newtx/README b/fonts/newtx/README index 3ad0699cbc..99873acf79 100644 --- a/fonts/newtx/README +++ b/fonts/newtx/README @@ -1,12 +1,25 @@ This package, initially based on txfonts, provides many fixes and enhancements to the txfonts package, splitting it into two separate packages---newtxtext and newtxmath, which may be run independently of one another. It provides scaling, improved metrics, and other options. In particular, newtxmath offers a libertine option which substitutes Linux Libertine (provided with TeXLive and MikTeX) italic and Greek letters for the default Times letters, providing a good match for the Libertine text font, which is heavier than Computer Modern but lighter than Times, and in my experience, looks very sharp and clear on the screen. -Current version: 1.744 2024-04-01 +Current version: 1.752 2024-07-05 This material is subject to the LaTeX Project Public License. See http://www.ctan.org/license/lppl1.3 for the details of that license. +Changes in version 1.752 +Small addition to newtxmath so that with option gelasio, the operator +fd is changed to ot1mingelasio.fd, whose fonts have XCharter Greek upper case. + +Changes in version 1.751 +Reworked the scaling calculations in newtx.sty to repair the handling of the scaling of sans text. + +Changes in version 1.75 +Added code to newtx.sty and newtxmath.sty to support gelasio small caps, additional +figure in pdflatex and math. (Best to use gelasiomath.sty as the interface as it adds +supporting code and calls newtx and thereby newtxmath in the proper order +and with matching scales.) + Changes in version 1.744 -Added code to newtxtext.sty that had been remove in error from an earlier version, preventing Helvetica sans from scaling properly. (Thanks Dana Nau.) +Added code to newtxtext.sty that had been removed in error from an earlier version, preventing Helvetica sans from scaling properly. (Thanks Dana Nau.) Changes in version 1.743 Updated the zut[b]mi[a].{tfm,vf} needed for the erewhon option to newtxmath. diff --git a/fonts/newtx/doc/newtxdoc.pdf b/fonts/newtx/doc/newtxdoc.pdf Binary files differindex b51ec00692..100c925612 100644 --- a/fonts/newtx/doc/newtxdoc.pdf +++ b/fonts/newtx/doc/newtxdoc.pdf diff --git a/fonts/newtx/doc/newtxdoc.tex b/fonts/newtx/doc/newtxdoc.tex index da1ae0c977..3a18e08300 100644 --- a/fonts/newtx/doc/newtxdoc.tex +++ b/fonts/newtx/doc/newtxdoc.tex @@ -275,7 +275,7 @@ Aside from options that are passed along to the text and math packages, {\tt new You may set the scale for both text and math by setting {\tt scale} or, equivalently, {\tt scaled}. Alternatively, you may scale text and math separately by means of the options {\tt textscale[d]}, {\tt mathscale[d]}. \item Option {\tt otfmath} is acted upon only under a unicode engine, and specifies unicode math rather than the default---type1 math using {\tt newtxmath}. The effect is the exact opposite to {\tt no-math}, which would specify math not controlled by {\tt fontspec}. \item Option {\tt subscriptcorrectionfile} allows you to set your own file specifying subscript corrections. -\item You may specify as an option to {\tt newtx} the name of any supported text package and any options other than scale[d] that are understood by that package. The default text package is {\tt newtxtext}, which need not be specified explicitly. Other valid options as of early May, 2022, are: +\item You may specify as an option to {\tt newtx} the name of any supported text package and any options other than scale[d] that are understood by that package. The default text package is {\tt newtxtext}, which need not be specified explicitly. Other valid options as of early June, 2024, are: \begin{verbatim} libertine libertinus @@ -285,6 +285,7 @@ MinionPro minion --> MinionPro cochineal garamondx +gelasio baskervillef baskerville --> baskervillef Baskerville --> baskervillef @@ -935,6 +936,7 @@ Don't use these unless you know what you're doing. \item (new in version 1.55) {\tt stix2} loads different versions of math italic and bold math italic based on \textsf{StixTwoMath} rather than \textsf{Times}---the {\tt varg} and {\tt varvw} options are disabled in this case. See the documentation to the {\tt SticksToo} package, which contains more details and some math samples. \item (new in version 1.60) {\tt ebgaramond} loads different versions of math italic and bold math italic based on \textsf{EBGaramond} rather than \textsf{Times}---the {\tt varg} and {\tt varvw} options are disabled in this case. See the end of Appendix 2 for an example of a preamble. You may in addition specify option {\tt alth} which changes the shape of math h from {\ebgmi h} to {\ebgmi\char250}. (The renderings of \verb|\hslash| and \verb|\hbar| are also changed.) \item (new as of version 1.629) {\tt noto, notosans} load different versions of math italic and bold math italic based on \textsf{NotoSerif}, \textsf{NotoSans} rather than \textsf{Times}. There are some intricacies involved, for which there is a separate package, {\tt notomath}, that tries to offer as simple an interface as it was possible for me to devise. +\item (new in version 1.75) {\tt gelasio} loads math italic and math bold italic based on the {\tt gelasio} text fooonts, with Greek math letters taken from an enlarged version of those letters from {\tt XCharter}. It is best to use the separate package {\tt gelasiomath}, which adds several features specific to {\tt gelasio}. \item (new in version 1.62) {\tt nc, ncf} load different versions of math italic and bold math italic based on \textsf{ScholaX} (\textsf{New Century Schoolbook}) rather than \textsf{Times}---the {\tt varg} and {\tt varvw} options are disabled in this case. The difference is that option {\tt nc} loads math Greek letters from {\tt newtxmath}, while option {\tt ncf} loads math greek from an adaptation of {\tt fourier} Greek. \item {\tt minion} loads different versions of math italic and bold math italic based on \textsf{MinionPro} rather than \textsf{Times}---the {\tt varg} and {\tt varvw} options are disabled in this case, as the equivalent variant forms are made available by default---see the extended discussion below; \item {\tt garamondx} loads different versions of math italic and bold math italic based on \textsf{garamondx} rather than \textsf{Times}---the {\tt varg} and {\tt varvw} options are disabled in this case, as the equivalent variant forms are made available by default. diff --git a/fonts/newtx/tex/newtx.sty b/fonts/newtx/tex/newtx.sty index e80baff17b..3c31a91788 100644 --- a/fonts/newtx/tex/newtx.sty +++ b/fonts/newtx/tex/newtx.sty @@ -2,8 +2,8 @@ %Package to simplify loading of newtxmath with a text font family such as newtxtext for all latex engines, or for newtxtext and an otf math package. -\def\fileversion{1.739} -\def\filedate{2024/02/24} +\def\fileversion{1.751} +\def\filedate{2024/06/22} \ProvidesPackage{newtx}[% \filedate\space v\fileversion (Michael Sharpe) latex and unicode latex support for newtxmath and a supported text font family, or for newtxtext and an otf math package] @@ -54,7 +54,10 @@ % options for newtxmath as etoolbox internal list allowing \ifinlist %\def\ntx@mathlstr{vecsep,amsthm,nosubscriptcorrection,subscriptcorrection,timesmathacc,varbb,vvarbb,nosymbolsc,noamssymbols,amssymbols,uprightscript,uprightGreek,slantedGreek,frenchmath,nonewtxmathopt,upint,smallerops,useBImacros,varg,varvw,noOT1} -\forcsvlist{\listadd\ntx@mathlst}{vecsep,amsthm,nosubscriptcorrection,subscriptcorrection,timesmathacc,varbb,vvarbb,nosymbolsc,noamssymbols,amssymbols,uprightscript,uprightGreek,slantedGreek,frenchmath,nonewtxmathopt,upint,smallerops,useBImacros,varg,varvw,noOT1,propmathfigs,curlybraces,cochrho,cochf,alty,alth,liby,nochvw} +\forcsvlist{\listadd\ntx@mathlst}{vecsep,amsthm,nosubscriptcorrection,subscriptcorrection, +timesmathacc,varbb,vvarbb,nosymbolsc,noamssymbols,amssymbols,uprightscript,uprightGreek, +slantedGreek,frenchmath,nonewtxmathopt,upint,smallerops,useBImacros,varg,varvw,noOT1, +propmathfigs,curlybraces,cochrho,cochf,alty,alth,liby,nochvw} %\show\ntx@mathlst % Note that subscriptcorrectionfile is not on the list---we process it in this sty file @@ -95,8 +98,10 @@ %\newif\ifntx@nofontspec % must load fontspec if unicode engine \newif\ifntx@otfmath %\ntx@otfmathfalse % default is type1 math +%\newdimen\ntx@dima +%\def\tx@divide#1#2{\ntx@dima=\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr #2pt\relax\relax} +%\tx@divide{300}{400}\showthe\ntx@dima -\def\tx@divide#1#2{\strip@pt\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr #2pt\relax\relax} \newcommand*{\ntxtext@RM}{1} \newcommand*{\ntxtext@SF}{1} \newcommand*{\ntxtext@TT}{.88} @@ -105,10 +110,11 @@ \newcommand*{\ntxtext@rm}{} % not understood by libertinus-otf \newcommand*{\ntxtext@sf}{}% not understood by libertinus-otf -\newcommand*{\ntxtext@scale}{1} +\newcommand*{\ntxtext@scale}{0} \newcommand*{\ntxmath@scale}{1} -\DeclareOptionX{scaled}[1]{\renewcommand*{\ntxtext@scale}{#1}\renewcommand*{\ntxmath@scale}{#1}} -\DeclareOptionX{scale}[1]{\renewcommand*{\ntxtext@scale}{#1}\renewcommand*{\ntxmath@scale}{#1}} +%\traceon +\DeclareOptionX{scaled}[1]{\renewcommand*{\ntxmath@scale}{#1}} +\DeclareOptionX{scale}[1]{\renewcommand*{\ntxmath@scale}{#1}} \DeclareOptionX{textscale}[1]{\renewcommand*{\ntxtext@scale}{#1}} \DeclareOptionX{textscaled}[1]{\renewcommand*{\ntxtext@scale}{#1}} \DeclareOptionX{mathscale}[1]{\renewcommand*{\ntxmath@scale}{#1}} @@ -258,6 +264,12 @@ \def\ntx@sc{TeXGyreScholaX@scale}% \def\ntx@TF{scholax}\def\ntx@MF{nc} \def\ntx@id{14}\def\ntx@minfam{minscholax}\fi} +\DeclareOptionX{Gelasio}[true]{\@nameuse{if#1} + \def\ntx@sc{Gelasio@scale}\def\ntx@TF{gelasio}\def\ntx@MF{gelasio} + \def\ntx@id{16}\def\ntx@minfam{mingelasio}\fi} +\DeclareOptionX{gelasio}[true]{\@nameuse{if#1} + \def\ntx@sc{Gelasio@scale}\def\ntx@TF{gelasio}\def\ntx@MF{gelasio} + \def\ntx@id{16}\def\ntx@minfam{mingelasio}\fi} % for stacked fractions \DeclareOptionX{sfracvcenter}{% \def\tx@sfrVC{#1}} @@ -270,6 +282,22 @@ % \ntx@Topt contains all unknown options that are not math options. It contains no scale options. \ntx@Mopt lists all the math options. \ProcessOptionsX\relax +\def\tx@mathtotextfactor{1} +\ifcase\ntx@id % 0, newtxtext + \or\or % 1,2 + \or \def\tx@mathtotextfactor{1.05} % 3, ebg + \or\or % 4,5 + \or \def\tx@mathtotextfactor{.94} % 6, garx + \or\or % 7,8 + \or \def\tx@mathtotextfactor{.94} % 9, heur + \or\or % 10, 11 + \or \def\tx@mathtotextfactor{.935} % 12, xch + \or % 13 + \or \def\tx@mathtotextfactor{.93} % 14, schx + \or \def\tx@mathtotextfactor{.93} % 15, schx/four + \or \def\tx@mathtotextfactor{.92} % 16, gel +\fi + %\show\ntx@Mopt %\show\ntx@Topt %\traceon @@ -280,34 +308,48 @@ % \ntx@otftextfalse % \fi %\fi +\newif\ifntx@iszero +\@tempdima=\@ne\p@\@tempdima=\ntxtext@scale\@tempdima +\expandafter\ifnum\number\@tempdima=0\relax\ntx@iszerotrue\fi + +\ifntx@iszero% + \@tempdima=\tx@mathtotextfactor\p@% + \@tempdima=\ntxmath@scale\@tempdima% + \edef\ntxtext@scale{\strip@pt\@tempdima} + %\show\ntxtext@scale +\fi +\def\ntxtext@scaled{s*[\ntxtext@scale]} + \ifntx@otfmath \ifnum\ntx@id>0 \PackageWarning{newtx.sty}{Reverting to newtxtext: newtx with option {\tt otfmath} can not handle other text packages.} \ntx@id=0 \ntx@text % revert to newtxtext \fi -\else % t1 math - \ifnum\ntx@id=0 +\fi + +\ifnum\ntx@id=0 \ifthenelse{\not\equal{\sfdefault}{cmss}}% {\tx@helvfalse}{} \ifthenelse{\not\equal{\ttdefault}{cmtt}}% {\tx@ttfalse}{} - \iftx@helv +\fi +\iftx@helv \renewcommand*{\sfdefault}{qhv} \@tempdima=\ntxtext@scale\p@ \@tempdima=\tx@helvratio\@tempdima% \edef\qhv@scale{\strip@pt\@tempdima} - \else +\else \PassOptionsToPackage{nohelv=true}{newtxtext} - \fi - \iftx@tt\renewcommand*{\ttdefault}{ntxtt}\fi - \ifthenelse{\not\equal{\tx@helvratio}{.94}}% +\fi + +\ifthenelse{\not\equal{\tx@helvratio}{.94}}% {\PassOptionsToPackage{helvratio=\tx@helvratio}% {newtxtext}}{} - \iftx@tt\else% - \PassOptionsToPackage{nott=true}{newtxtext}\fi - - \fi + +\iftx@tt\renewcommand*{\ttdefault}{ntxtt}\fi +\iftx@tt\else% + \PassOptionsToPackage{nott=true}{newtxtext} \fi %\ifntx@badnof\PackageError{newtx.sty}{Incompatible options, nofontspec and otfmath}{Incompatible options, nofontspec and otfmath}\fi % Set the text scale macros appropriately @@ -316,14 +358,12 @@ %\PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF} \edef\ntxmath@scaled{s*[\ntxmath@scale]} % For the min text fd files, need to use actual scale macro passed to fd? -%\@namedef{\ntx@sc}{\ntxtext@scale} +%\@namedef{\ntx@sc}{\ntxtext@scale}% -\newif\ifntx@iszero -\@tempdima\@ne\p@\@tempdima\ntxtext@scale\@tempdima -\expandafter\ifnum\number\@tempdima=0\relax\ntx@iszerotrue\fi -% +%\newcommand{\PassMathScale}{%\ifntx@iszero\gdef\ntxtext@scale{\ntxmath@scale} +%\gdef\ntxtext@scaled{s*[\ntxtext@scale]}\fi -\newcommand{\PassMathScale}{\ifntx@iszero\gdef\ntxtext@scale{\ntxmath@scale}\gdef\ntxtext@scaled{s*[\ntxtext@scale]}\fi +% The following block sents scale instructions to text package \ifnum\ntx@id=4 % MinionPro \PassOptionsToPackage{scale=\ntxtext@scale}{\ntx@TF} \else @@ -345,24 +385,32 @@ \@tempdimb=\ntxtext@TT\@tempdima \PassOptionsToPackage{ttscale=\strip@pt\@tempdimb}{\ntx@TF} - \else % - \PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF} + \else % + \ifnum\ntx@id=16 % gelasio + \PassOptionsToPackage{scale=\ntxtext@scale}{\ntx@TF}% + \else + \PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF} + \fi \fi \fi \fi -} +%} % -\newcommand{\PassMatchingScale}[1]{% - \ifntx@iszero% - \@tempdima #1\p@ \@tempdima\ntxmath@scale\@tempdima \xdef\ntxtext@scale{\strip@pt\@tempdima} - \gdef\ntxtext@scaled{s*[\ntxtext@scale]} - \fi - \PassOptionsToPackage{scaled=\ntxtext@scale}{\ntx@TF}% -} +%\newcommand{\PassMatchingScale}[1]{% +% \ifntx@iszero% +% \@tempdima #1\p@ \@tempdima\ntxmath@scale\@tempdima \xdef\ntxtext@scale{\strip@pt\@tempdima} +% \fi +% \xdef\ntxtext@scaled{s*[\ntxtext@scale]} +%} %\fi +%\PassMathScale +%\traceon +% Send parameters for stacked fractions +\def\tx@sfrac{} % X for cases where parameters are given \ifcase\ntx@id % 0, newtxtext -\PassMathScale +\def\tx@sfrac{X} +%\PassMathScale % info for sfrac (stacked fractions) involving newtxtext \@ifundefined{tx@xht}{\def\tx@xht{450}}{} % lowercase letters \@ifundefined{tx@deht}{\def\tx@deht{406}}{} % denominator figures ht @@ -373,7 +421,7 @@ \@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness \@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this \or %1, libertine -\PassMathScale +\def\tx@sfrac{X} % \PassOptionsToPackage{ttscaled=\ntxtext@scale, % llscaled=\ntxtext@scale}{\ntx@TF} % for tt and serifed in Libertine \@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters @@ -393,7 +441,7 @@ %{\addfontfeature{RawFeature=+frac}#2/#3}}% %}} \or % 2, etbb -\PassMathScale +\def\tx@sfrac{X} \@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters \@ifundefined{tx@deht}{\def\tx@deht{357}}{} % denominator figures ht \@ifundefined{tx@nubase}{\def\tx@nubase{295}}{} % baseline of numerators @@ -403,7 +451,7 @@ \@ifundefined{tx@sfrTH}{\def\tx@sfrTH{64}}{} % bar thickness \@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this \or % 3, ebgaramond -\PassMatchingScale{1.05} +\def\tx@sfrac{X} \@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters \@ifundefined{tx@deht}{\def\tx@deht{341}}{} % denominator figures ht \@ifundefined{tx@nubase}{\def\tx@nubase{443}}{} % baseline of numerators @@ -422,7 +470,7 @@ %{\addfontfeature{RawFeature=+frac}#2/#3}}% %}}}} \or % 4, MinionPro -\PassMathScale +%\PassMathScale %\@ifundefined{tx@xht}{\def\tx@xht{437}}{} % lowercase letters %\@ifundefined{tx@deht}{\def\tx@deht{359}}{} % denominator figures ht %\@ifundefined{tx@nubase}{\def\tx@nubase{277}}{} % baseline of numerators @@ -432,7 +480,7 @@ %\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness %\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this \or % 5, cochineal -\PassMathScale +\def\tx@sfrac{X} \@ifundefined{tx@xht}{\def\tx@xht{430}}{} % lowercase letters \@ifundefined{tx@deht}{\def\tx@deht{378}}{} % denominator figures ht \@ifundefined{tx@nubase}{\def\tx@nubase{248}}{} % baseline of numerators @@ -442,15 +490,15 @@ \@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness \@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.9}}{} % scale defigures by this amount \or % 6, garamondx -\PassMatchingScale{.94} +%\PassMatchingScale{.94} \or % 7, BaskervilleF -\PassMathScale +%\PassMathScale \or % 8, baskervaldx -\PassMathScale +%\PassMathScale \or % 9, heuristica -\PassMatchingScale{.94} +%\PassMatchingScale{.94} \or % 10, libertinus -\PassMathScale +\def\tx@sfrac{X} \@ifundefined{tx@xht}{\def\tx@xht{431}}{} % lowercase letters \@ifundefined{tx@deht}{\def\tx@deht{324}}{} % denominator figures ht \@ifundefined{tx@nubase}{\def\tx@nubase{364}}{} % baseline of numerators @@ -470,7 +518,7 @@ %{\addfontfeature{RawFeature=+frac}#2/#3}}% %}}}} \or % 11, erewhon -\PassMathScale +\def\tx@sfrac{X} \@ifundefined{tx@xht}{\def\tx@xht{461}}{} % lowercase letters \@ifundefined{tx@deht}{\def\tx@deht{384}}{} % denominator figures ht \@ifundefined{tx@nubase}{\def\tx@nubase{256}}{} % baseline of numerators @@ -480,7 +528,7 @@ \@ifundefined{tx@sfrTH}{\def\tx@sfrTH{58}}{} % bar thickness \@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this \or % 12, XCharter -\PassMatchingScale{.98} +\def\tx@sfrac{X} \@ifundefined{tx@xht}{\def\tx@xht{481}}{} % lowercase letters \@ifundefined{tx@deht}{\def\tx@deht{382}}{} % denominator figures ht \@ifundefined{tx@nubase}{\def\tx@nubase{295}}{} % baseline of numerators @@ -490,7 +538,7 @@ \@ifundefined{tx@sfrTH}{\def\tx@sfrTH{54}}{} % bar thickness \@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this \or % 13, stickstoo -\PassMathScale +\def\tx@sfrac{X} \@ifundefined{tx@xht}{\def\tx@xht{473}}{} % lowercase letters \@ifundefined{tx@deht}{\def\tx@deht{411}}{} % denominator figures ht \@ifundefined{tx@nubase}{\def\tx@nubase{252}}{} % baseline of numerators @@ -500,7 +548,7 @@ \@ifundefined{tx@sfrTH}{\def\tx@sfrTH{56}}{} % bar thickness \@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.75}}{} % scale defigures by this \or % 14, scholax -\PassMatchingScale{.93} +\def\tx@sfrac{X} \@ifundefined{tx@xht}{\def\tx@xht{466}}{} % lowercase letters \@ifundefined{tx@deht}{\def\tx@deht{423}}{} % denominator figures ht \@ifundefined{tx@nubase}{\def\tx@nubase{289}}{} % baseline of numerators @@ -510,7 +558,7 @@ \@ifundefined{tx@sfrTH}{\def\tx@sfrTH{70}}{} % bar thickness \@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this \or % 15, scholax/fourier -\PassMatchingScale{.93} +\def\tx@sfrac{X} \@ifundefined{tx@xht}{\def\tx@xht{466}}{} % lowercase letters \@ifundefined{tx@deht}{\def\tx@deht{423}}{} % denominator figures ht \@ifundefined{tx@nubase}{\def\tx@nubase{289}}{} % baseline of numerators @@ -519,6 +567,16 @@ \@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar \@ifundefined{tx@sfrTH}{\def\tx@sfrTH{70}}{} % bar thickness \@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.8}}{} % scale defigures by this +\or % 16, gelasio +\def\tx@sfrac{X} +\@ifundefined{tx@xht}{\def\tx@xht{485}}{} % lowercase letters +\@ifundefined{tx@deht}{\def\tx@deht{473}}{} % denominator figures +\@ifundefined{tx@nubase}{\def\tx@nubase{246}}{} % baseline of numerators +\@ifundefined{tx@debase}{\def\tx@debase{0}}{} % baseline of denoms +\@ifundefined{tx@sfrVC}{\def\tx@sfrVC{360}}{}% vertical center of sfrac +\@ifundefined{tx@sfrVS}{\def\tx@sfrVS{106}}{} % space above/below bar +\@ifundefined{tx@sfrTH}{\def\tx@sfrTH{70}}{} % bar thickness +\@ifundefined{tx@sfrSC}{\def\tx@sfrSC{.75}}{} % scale defigures by this \fi \PassOptionsToPackage{\ntx@MF}{newtxmath} @@ -526,57 +584,69 @@ %\ifblank{\ntx@textopt}{}% %{\PassOptionsToPackage{\ntx@textopt}{\ntx@TF}} -\newdimen\tx@sixem\tx@sixem6pt % for checking if a number refers to ex -\newdimen\tx@y \newdimen\tx@x - -% convert numerical entry that may be multiple of ex (<6) or em value -\def\tx@toex#1{\tx@x#1pt \ifdim\tx@x<\z@\tx@y-\tx@x\else\tx@y\tx@x\fi \ifdim\tx@y>\tx@sixem \tx@x\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr \tx@xht pt\relax\relax\fi} - -\newdimen\tx@tmpdima \newdimen\tx@tmpdimb \newdimen\tx@tmpdimc -\newdimen\tx@tmpdimd \newdimen\tx@tmpdime \newdimen\tx@tmpdimf -\newdimen\tx@dimA -\newdimen\tx@dimAA \newdimen\tx@dimB \newdimen\tx@dimBB -\newdimen\tx@dimC % vertical center -% double cap letters for below bar, single cap for above -\tx@toex\tx@sfrVC\tx@dimC\tx@x %Vertical center of fraction -\tx@toex\tx@sfrTH\tx@tmpdimb\tx@x % bar thickness -\tx@tmpdime.5\tx@tmpdimb % half bar thickness -\tx@toex\tx@sfrVS\tx@tmpdimc\tx@x% vertical space -\tx@toex\tx@deht\tx@tmpdimd\tx@x % height of unscaled figures -\tx@tmpdimd\tx@sfrSC\tx@tmpdimd % height of scaled figures -\tx@toex\tx@debase\tx@tmpdimf\tx@x % unscaled baseline of de figures -\tx@toex\tx@nubase\tx@tmpdima\tx@x % unscaled baseline of nu figures -\tx@tmpdima\tx@sfrSC\tx@tmpdima % scaled nu baseline -\tx@tmpdimf\tx@sfrSC\tx@tmpdimf % scaled de baseline -\tx@dimA\tx@dimC -\advance\tx@dimA by \tx@tmpdime % top of bar -\tx@dimAA\tx@dimC -\advance\tx@dimAA by -\tx@tmpdime % bottom of bar -\tx@dimB\tx@dimA -\advance\tx@dimB by \tx@tmpdimc % top figure baseline -\advance\tx@dimB by -\tx@tmpdima -\tx@dimBB\tx@dimAA -\advance\tx@dimBB by -\tx@tmpdimc % -\advance\tx@dimBB by -\tx@tmpdimd % bottom figure baseline -\advance\tx@dimBB by -\tx@tmpdimf +%\newdimen\tx@sixem\tx@sixem6pt % for checking if a number refers to ex +\newdimen\tx@x \newdimen\tx@y + +% convert numerical entry that may be multiple of ex or em value +%\def\tx@toex#1{\tx@x#1pt \ifdim\tx@x<\z@\tx@y=-\tx@x\else\tx@y=\tx@x\fi \ifdim\tx@y>\tx@sixem \tx@x=\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr \tx@xht pt\relax\relax\fi} +%\def\tx@chkex#1{\@tx@chkex#1ex\@nil} +%\def\@tx@chkex#1ex#2\@nil{\ifthenelse{\equal{#2}{}}{\tx@toex #1}{\tx@x=#1ex}} # defines dimen \tx@x +\def\tx@toex#1{\tx@x=\dimexpr 1pt * (\dimexpr #1pt\relax) / \dimexpr \tx@xht pt\relax\relax} +%\def\tx@divide#1#2{\ntx@dima=\dimexpr 1pt * (\dimexpr #1 pt\relax) / \dimexpr #2pt\relax\relax} + +% Code for stacked fractions---not available in cases 4,6,7,8,9 +\if X\tx@sfrac +\newdimen\tx@tmpdima \newdimen\tx@tmpdimb \newdimen\tx@tmpdimC +\newdimen\tx@dimX \newdimen\tx@dimY \newdimen\tx@dimZ +\newdimen\tx@numrbase \newdimen\tx@dnombase +\newdimen\tx@bartop \newdimen\tx@barbot +\newdimen\tx@bartopex \newdimen\tx@barbotex +\setlength\tx@tmpdimb{\tx@sfrTH pt} % bar thickness +\setlength\tx@tmpdima{\tx@deht pt} % de figure ht +\setlength\tx@tmpdimC{\tx@sfrVC pt} % bar center height +\tx@bartop=\tx@tmpdimC +\advance\tx@bartop by .5\tx@tmpdimb % top of bar +\tx@toex{\strip@pt\tx@bartop}\tx@bartopex=\tx@x % same, in ex units +\tx@barbot=\tx@bartop +\advance\tx@barbot by -\tx@tmpdimb % bottom of bar +\tx@toex{\strip@pt\tx@barbot}\tx@barbotex=\tx@x % same, in ex units +\tx@dimX=\tx@bartop +\advance\tx@dimX by \tx@sfrVS pt % bottom of numr +\tx@dimY=\tx@barbot +\advance\tx@dimY by -\tx@sfrVS pt % top of dnom +\advance\tx@dimY by -\tx@sfrSC\tx@tmpdima % baseline of dnom + +\tx@toex{\strip@pt\tx@dimX}\tx@numrbase=\tx@x % num baseline in ex units +\tx@toex{\strip@pt\tx@dimY}\tx@dnombase=\tx@x % dnom baseline in ex units + \newcommand*{\textsfrac}[3][]{% like \textsfrac[1]{23}{34} \mbox{% \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1] {\textlf{#1}\kern.04em}{}% {\hmode@bgroup% \ooalign{% - \setbox0=\hbox{\scalefont{\tx@sfrSC}\nustyle#2}% - \hfil \raise\strip@pt\tx@dimB ex\box0\hfil \crcr% - \leaders\hrule height \strip@pt\tx@dimA ex depth -\strip@pt\tx@dimAA ex\hfill \crcr% - \setbox1=\hbox{\scalefont{\tx@sfrSC}\destyle#3}% - \hfil\raise\strip@pt\tx@dimBB ex\box1\hfil}% +% \ifnum\ntx@id=16\relax + \setbox0=\hbox{\textsmde{#2}}% scaled down denom, baseline 0 + \tx@dimZ=\strip@pt\tx@numrbase ex% + \hfil \raise \tx@dimZ \box0\hfil \crcr% + \tx@dimX=\strip@pt\tx@bartopex ex% + \tx@dimY=-\strip@pt\tx@barbotex ex% + \leaders\hrule height \tx@dimX depth \tx@dimY \hfill \crcr% + \setbox1=\hbox{\textsmde{#3}}% + \tx@dimZ=\strip@pt\tx@dnombase ex + \hfil\raise \tx@dimZ \box1\hfil}% \egroup}} } +\else +\newcommand*{\textsfrac}[3][]{% +\mbox{% + \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1] + {\textlf{#1}\kern.04em}{}% +#2/#3}} +\fi -%\ifntx@otfmath\typeout{otf math}\else\typeout{type1 math}\fi - - +% Document setup instructions \ifntx@otftext \ifntx@otfmath %I \typeout{I} @@ -611,7 +681,7 @@ \mbox{% \ifthenelse{\not\equal{#1}{}}%Test for integer portion [optional #1] {\textlf{#1}\kern.02em}{}% -{\ifntx@otftext\addfontfeature{RawFeature=+frac}#2/#3} +\ifntx@otftext\addfontfeature{RawFeature=+frac}#2/#3 \else\textnu{#2}{\normalfont\fontencoding{TS1}\selectfont\char"2F}% \textde{#3}\fi} }}} @@ -699,6 +769,60 @@ \or % 13, stickstoo \or % 14, scholax \or % 15, scholax/fourier +\or % 16, gelasio \fi - +% galasio.sty does not offer macros for numerators, denominators or inferiors +%\ifgelasio@otf +% \providecommand\nufigures{% +% \addfontfeatures{VerticalPosition=Numerator}} +% \providecommand\defigures{% +% \addfontfeatures{VerticalPosition=Denominator}} +% \providecommand\infigures{% +% \addfontfeatures{VerticalPosition=Inferior}} +% +% \DeclareTextFontCommand{\textnum}{\nufigures} +% \DeclareTextFontCommand{\textde}{\defigures} +% \DeclareTextFontCommand{\textinf}{\infigures} +% \@ifundefined{tx@sfrSC}{}{% +% \newcommand*{\textsmde}[1]{% +% \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}} +% +%\else % type1 --we define \text.. by lowering \textsu +% \newbox\tx@box +% \newcommand*{\textde}[1]{{\setbox0=\hbox{\textsu{#1}}\setbox1=\hbox{\raise -.763ex \box0}\dp1=0pt\ht1=.977ex\box1\relax}} +% +% \providecommand*\textnum[1]{\raisebox{.507ex}{\textde{#1}}} +% \let\textnu\textnum +%% \providecommand*\textde[1]{{\setbox0=\hbox{\textsu{#1}}% +%% \setbox1=\hbox{\lower.763ex\box0}\dp0=0pt\relax\box1\relax}} +% %\raisebox{-.763ex}{\textsu{#1}}} +% % the following will be used only by \textsfrac +% \@ifundefined{tx@sfrSC}{}{% +% \newcommand*{\textsmde}[1]{% +% \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0}% +% } +%\fi +%\DeclareTextFontCommand{\textlf}{\liningnums} +%\fi % end ifcase +\ifnum\ntx@id=16\relax +\else % create \textsmsmde for other than minion and gelasio +% We move the small font to the text baseline and scale it by \tx@sfrSC, for use only in the \textsfrac macro. +\ifnum\ntx@id=4\relax +\else + \ifnum\tx@debase=0 + \newcommand*{\textsmde}[1]{% + \setbox0=\hbox{\scalebox\tx@sfrSC{\textde{#1}}}\box0} + \else + \newdimen\tx@u \newdimen\tx@v + \tx@u=-\tx@debase pt + \tx@toex{\strip@pt\tx@u}\tx@y=\tx@x + %\showthe\tx@y + \tx@v=\strip@pt\tx@y ex + \newcommand*{\textsmde}[1]{% + \setbox2=\hbox{\textde{#1}}% + \setbox1=\hbox{\raise \tx@v \box2}% + \setbox0=\hbox{\scalebox{\tx@sfrSC}{\box1}}\box0} + \fi %\ifnum\tx@debase=0 +\fi %\ifnum\ntx@id=4 +\fi %\ifnum\ntx@id=16 \endinput diff --git a/fonts/newtx/tex/newtxmath.sty b/fonts/newtx/tex/newtxmath.sty index 86fa898e14..83fc81cae3 100644 --- a/fonts/newtx/tex/newtxmath.sty +++ b/fonts/newtx/tex/newtxmath.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e}[1997/06/01] -% +% %:ams % Based on Young Ryu's txfonts.sty, v.3.2.1 % Text and math are now loaded in separate sty files---the text @@ -11,8 +11,8 @@ % of glyph collisions. % These modifications are by Michael Sharpe, msharpe at ucsd dot edu -\def\fileversion{1.742} -\def\filedate{2024/03/06} +\def\fileversion{1.752} +\def\filedate{2024/07/05} \ProvidesPackage{newtxmath}[\filedate\space v\fileversion ] \@ifundefined{newtxmathLoaded}{}{\endinput} @@ -43,9 +43,13 @@ \newcount\tx@cntz \input{binhex} -\let\ntxmath@scaled\@empty\def\tx@scale{1} +\let\ntxmath@scaled\@empty +\@ifundefined{ntxmathscale}{\def\ntxmathscale{1}}{} +\def\tx@scale{\ntxmathscale} +\def\ntxmath@scaled{s*[\tx@scale]} \define@key{ntxmath}{scaled}[1.0]{\def\tx@scale{#1}\def\ntxmath@scaled{s*[#1]}} \define@key{ntxmath}{scale}[1.0]{\def\tx@scale{#1}\def\ntxmath@scaled{s*[#1]}} + \def\ntxmath@vecsep{.25ex} \define@key{ntxmath}{vecsep}[.25ex]{\def\ntxmath@vecsep{#1}} %: @@ -72,6 +76,7 @@ \newif\iftx@largelibfigs \newif\iftx@frenchm % french math \newif\iftx@minion \newif\iftx@libaltvw \newif\iftx@bv \newif\iftx@ut \newif\iftx@ba % new BaskervilleF fonts +\newif\iftx@gel % GelasioMath \newif\iftx@ch \newif\iftx@coch \newif\iftx@nc % NewCenturySchoolbook \newif\iftx@ot % use OT1 for operators \newif\iftx@ntxmath \tx@ntxmathtrue % default is Times operators and math italic @@ -88,7 +93,7 @@ \newif\iftx@nootone % do not switch to OT1 for operators \newif\iftx@digits % use digits from letters \newif\iftx@isenh % the math style is enhanced and can make use of new macros -% Currently (2019-12-11) only txmath, libertine, XCharter, ebgaramond, stickstoo, utopia, nc, minion and cochineal have been enhanced. +% Currently (2019-12-11) only txmath, libertine, XCharter, aramond, stickstoo, utopia, nc, minion and cochineal have been enhanced. \newif\iftx@ebgalth \newif\iftx@cochf % switch to long f \newif\iftx@cochrho % switch to long rho @@ -229,6 +234,7 @@ \DeclareOption{Heuristica}{\tx@uttrue\tx@ntxmathfalse} \DeclareOption{Erewhon}{\tx@uttrue\tx@ntxmathfalse} \DeclareOption{erewhon}{\tx@uttrue\tx@ntxmathfalse} +\DeclareOption{gelasio}{\tx@geltrue\tx@ntxmathfalse} \DeclareOption{charter}{\tx@chtrue\tx@ntxmathfalse} \DeclareOption{xcharter}{\tx@chtrue\tx@ntxmathfalse} \DeclareOption{cmintegrals}{\tx@cminttrue} @@ -303,7 +309,6 @@ amssymbols,uprightGreek,nosubscriptcorrection} % \let\NotoSans@scale\NotoSerif@scale % \let\NotoSansMono@scale\NotoSerif@scale %\fi - % Check whether math face is enhanced \iftx@ntxmath\tx@isenhtrue\else \iftx@lbtn\tx@isenhtrue\else @@ -316,6 +321,8 @@ amssymbols,uprightGreek,nosubscriptcorrection} \iftx@minion\tx@isenhtrue\else \iftx@noto\tx@isenhtrue\else \iftx@notosans\tx@isenhtrue\else + \iftx@gel\tx@isenhtrue\else + \fi \fi \fi \fi @@ -327,6 +334,7 @@ amssymbols,uprightGreek,nosubscriptcorrection} \fi \fi \fi + \AtEndPreamble{% %\traceon \iftx@sbc @@ -358,6 +366,7 @@ amssymbols,uprightGreek,nosubscriptcorrection} \iftx@bv\let\X@s@v@rg\@undefined\fi \iftx@ba\let\X@s@v@rg\@undefined\fi \iftx@stxtwo\let\X@s@v@rg\@undefined\fi +\iftx@gel\let\X@s@v@rg\@undefined\fi % altnu, liby and largelibfigs valid only with libertin[e,us] \iftx@lbtn\else\tx@altnufalse\tx@largelibfigsfalse\tx@libyfalse\fi % Use existing text fonts for operators, mathrm, etc @@ -381,7 +390,7 @@ amssymbols,uprightGreek,nosubscriptcorrection} \fi \fi \fi - +\iftx@gel\edef\rmdefaultB{mingelasio}\fi \iftx@minion\edef\rmdefaultB{MinionPro-TLF}\fi \iftx@noto\edef\rmdefaultB{NotoSerif-TLF}\fi \iftx@notosans\edef\rmdefaultB{NotoSans-TLF}\fi @@ -431,108 +440,116 @@ amssymbols,uprightGreek,nosubscriptcorrection} %%%%%%%%%%%%%%% \iftx@lbtn - \iftx@subsfile\else\def\tx@subs{newtx-libertine-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{nxlmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{nxlmi}{b}{it} - \DeclareFontSubstitution{OML}{nxlmi}{m}{it} + \iftx@subsfile\else\def\tx@subs{newtx-libertine-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{nxlmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{nxlmi}{b}{it} + \DeclareFontSubstitution{OML}{nxlmi}{m}{it} \else - \iftx@minion - \iftx@subsfile\else\def\tx@subs{newtx-minion-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zmnmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zmnmi}{b}{it} - \DeclareFontSubstitution{OML}{zmnmi}{m}{it} + \iftx@minion + \iftx@subsfile\else\def\tx@subs{newtx-minion-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zmnmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zmnmi}{b}{it} + \DeclareFontSubstitution{OML}{zmnmi}{m}{it} + \else + \iftx@gm + \iftx@subsfile\else\def\tx@subs{newtx-garamond-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zgmmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zgmmi}{b}{it} + \DeclareFontSubstitution{OML}{zgmmi}{m}{it} \else - \iftx@gm - \iftx@subsfile\else\def\tx@subs{newtx-garamond-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zgmmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zgmmi}{b}{it} - \DeclareFontSubstitution{OML}{zgmmi}{m}{it} + \iftx@bv + \iftx@subsfile\else\def\tx@subs{newtx-baskervald-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zbvmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zbvmi}{b}{it} + \DeclareFontSubstitution{OML}{zbvmi}{m}{it} + \else + \iftx@ut + \iftx@subsfile\else\def\tx@subs{newtx-utopia-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zutmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zutmi}{b}{it} + \DeclareFontSubstitution{OML}{zutmi}{m}{it} \else - \iftx@bv - \iftx@subsfile\else\def\tx@subs{newtx-baskervald-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zbvmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zbvmi}{b}{it} - \DeclareFontSubstitution{OML}{zbvmi}{m}{it} + \iftx@ch + \iftx@subsfile\else\def\tx@subs{newtx-xcharter-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zchmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zchmi}{b}{it} + \DeclareFontSubstitution{OML}{zchmi}{m}{it} + \else + \iftx@coch + \iftx@subsfile\else\def\tx@subs{newtx-cochineal-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zcochmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zcochmi}{b}{it} + \DeclareFontSubstitution{OML}{zcochmi}{m}{it} \else - \iftx@ut - \iftx@subsfile\else\def\tx@subs{newtx-utopia-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zutmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zutmi}{b}{it} - \DeclareFontSubstitution{OML}{zutmi}{m}{it} + \iftx@ba + \iftx@subsfile\else\def\tx@subs{newtx-baskervillef-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zbami}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zbami}{b}{it} + \DeclareFontSubstitution{OML}{zbami}{m}{it} + \else + \iftx@stxtwo + \iftx@subsfile\else\def\tx@subs{newtx-stickstoo-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{ntxstx2mi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{ntxstx2mi}{b}{it} + \DeclareFontSubstitution{OML}{ntxstx2mi}{m}{it} \else - \iftx@ch - \iftx@subsfile\else\def\tx@subs{newtx-xcharter-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zchmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zchmi}{b}{it} - \DeclareFontSubstitution{OML}{zchmi}{m}{it} - \else - \iftx@coch - \iftx@subsfile\else\def\tx@subs{newtx-cochineal-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zcochmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zcochmi}{b}{it} - \DeclareFontSubstitution{OML}{zcochmi}{m}{it} + \iftx@ebgm + \iftx@subsfile\else\def\tx@subs{newtx-ebgaramond-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{ntxebgmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{ntxebgmi}{b}{it} + \DeclareFontSubstitution{OML}{ntxebgmi}{m}{it} + \else + \iftx@nc + \iftx@fourier + \iftx@subsfile\else\def\tx@subs{newtx-ncf-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zncfmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zncfmi}{b}{it} + \DeclareFontSubstitution{OML}{zncfmi}{m}{it} + \else + \iftx@subsfile\else\def\tx@subs{newtx-nc-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zncmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zncmi}{b}{it} + \DeclareFontSubstitution{OML}{zncmi}{m}{it} + \fi + \else + \iftx@noto + \iftx@subsfile\else\def\tx@subs{newtx-noto-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{notomi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{notomi}{b}{it} + \DeclareFontSubstitution{OML}{notomi}{m}{it} + \else + \iftx@notosans + \iftx@subsfile\else\def\tx@subs{newtx-notosans-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{notosansmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{notosansmi}{b}{it} + \DeclareFontSubstitution{OML}{notosansmi}{m}{it} \else - \iftx@ba - \iftx@subsfile\else\def\tx@subs{newtx-baskervillef-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zbami}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zbami}{b}{it} - \DeclareFontSubstitution{OML}{zbami}{m}{it} - \else - \iftx@stxtwo - \iftx@subsfile\else\def\tx@subs{newtx-stickstoo-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{ntxstx2mi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{ntxstx2mi}{b}{it} - \DeclareFontSubstitution{OML}{ntxstx2mi}{m}{it} - \else - \iftx@ebgm - \iftx@subsfile\else\def\tx@subs{newtx-ebgaramond-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{ntxebgmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{ntxebgmi}{b}{it} - \DeclareFontSubstitution{OML}{ntxebgmi}{m}{it} - \else - \iftx@nc - \iftx@fourier - \iftx@subsfile\else\def\tx@subs{newtx-ncf-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zncfmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zncfmi}{b}{it} - \DeclareFontSubstitution{OML}{zncfmi}{m}{it} - \else - \iftx@subsfile\else\def\tx@subs{newtx-nc-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{zncmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{zncmi}{b}{it} - \DeclareFontSubstitution{OML}{zncmi}{m}{it} - \fi - \else - \iftx@noto - \iftx@subsfile\else\def\tx@subs{newtx-noto-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{notomi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{notomi}{b}{it} - \DeclareFontSubstitution{OML}{notomi}{m}{it} - \else - \iftx@notosans - \iftx@subsfile\else\def\tx@subs{newtx-notosans-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{notosansmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{notosansmi}{b}{it} - \DeclareFontSubstitution{OML}{notosansmi}{m}{it} - \else - %\iftx@subsfile\else\def\tx@subs{newtx-subs.tex}\fi - \DeclareSymbolFont{letters}{OML}{ntxmi}{m}{it} - \SetSymbolFont{letters}{bold}{OML}{ntxmi}{b}{it} - \DeclareFontSubstitution{OML}{ntxmi}{m}{it} - \fi - \fi - \fi - \fi - \fi - \fi + \iftx@gel + \iftx@subsfile\else\def\tx@subs{newtx-gel-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{zgelmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{zgelmi}{b}{it} + \DeclareFontSubstitution{OML}{zgelmi}{m}{it} + \else + %\iftx@subsfile\else\def\tx@subs{newtx-subs.tex}\fi + \DeclareSymbolFont{letters}{OML}{ntxmi}{m}{it} + \SetSymbolFont{letters}{bold}{OML}{ntxmi}{b}{it} + \DeclareFontSubstitution{OML}{ntxmi}{m}{it} + \fi \fi - \fi - \fi + \fi + \fi + \fi + \fi + \fi \fi - \fi + \fi + \fi + \fi \fi + \fi \fi + \iftx@isenh \iftx@digits \DeclareMathSymbol{0}{\mathord}{letters}{132} @@ -976,14 +993,6 @@ amssymbols,uprightGreek,nosubscriptcorrection} \re@DeclareMathAccent{\dddot}{\mathord}{symbols}{168} \re@DeclareMathAccent{\ddddot}{\mathord}{symbols}{200} \iftx@tma - \re@DeclareMathAccent{\grave}{\mathord}{symbols}{158} - \re@DeclareMathAccent{\acute}{\mathord}{symbols}{159} - \re@DeclareMathAccent{\hat}{\mathord}{symbols}{160} - \re@DeclareMathAccent{\tilde}{\mathord}{symbols}{161} - \re@DeclareMathAccent{\bar}{\mathord}{symbols}{162} - \re@DeclareMathAccent{\breve}{\mathord}{symbols}{163} - \re@DeclareMathAccent{\mathring}{\mathord}{symbols}{166} - \re@DeclareMathAccent{\check}{\mathord}{symbols}{167} \else \iftx@ot %no change needed if using OT1 for operators \else diff --git a/fonts/newtx/tex/untxmia.fd b/fonts/newtx/tex/untxmia.fd index 4e77bfc7e3..212e5b2386 100644 --- a/fonts/newtx/tex/untxmia.fd +++ b/fonts/newtx/tex/untxmia.fd @@ -5,7 +5,7 @@ %THIS FILE SHOULD BE PUT IN A TEX INPUTS DIRECTORY \ProvidesFile{untxmia.fd} - [2018/04/14 Fontinst v1.933 font definitions for U/ntxmia.] + [2024/04/09 Fontinst v1.933 font definitions for U/ntxmia.] \expandafter\ifx\csname ntxmath@scaled\endcsname\relax \let\ntxmath@scaled\@empty% @@ -105,12 +105,22 @@ <-> \ntxmath@scaled notosansbmia }{} \else - \DeclareFontShape{U}{ntxmia}{m}{it}{ + \iftx@gel + \DeclareFontShape{U}{ntxmia}{m}{it}{ + <-> \ntxmath@scaled zgelmia + }{} + \DeclareFontShape{U}{ntxmia}{b}{it}{ + <-> \ntxmath@scaled zgelbmia + }{} + \else + + \DeclareFontShape{U}{ntxmia}{m}{it}{ <-> \ntxmath@scaled ntxmia }{} - \DeclareFontShape{U}{ntxmia}{b}{it}{ + \DeclareFontShape{U}{ntxmia}{b}{it}{ <-> \ntxmath@scaled ntxbmia }{} + \fi \fi \fi \fi |