summaryrefslogtreecommitdiff
path: root/fonts/newpx/tex/newpxmath.sty
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/newpx/tex/newpxmath.sty')
-rw-r--r--fonts/newpx/tex/newpxmath.sty42
1 files changed, 28 insertions, 14 deletions
diff --git a/fonts/newpx/tex/newpxmath.sty b/fonts/newpx/tex/newpxmath.sty
index 2910b19bfd..6ff5d27d82 100644
--- a/fonts/newpx/tex/newpxmath.sty
+++ b/fonts/newpx/tex/newpxmath.sty
@@ -11,8 +11,8 @@
% of glyph collisions.
% These modifications are by Michael Sharpe, msharpe at ucsd dot edu
-\def\fileversion{1.424}
-\def\filedate{2021/06/01}
+\def\fileversion{1.426}
+\def\filedate{2021/10/12}
\ProvidesPackage{newpxmath}
[\filedate\space v\fileversion]
%\@ifundefined{newpxmathLoaded}{}{\endinput}
@@ -27,7 +27,7 @@
% replacement for \ifiscs
\def\ifiscseq#1{\ifcat$\expandafter\@gobble\string#1$\expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi}%\def\ly@one{LY1}
\def\t@one{T1}
-%\def\ot@one{OT1}
+\def\ot@one{OT1}
\input{binhex}
\RequirePackage{xkeyval}
@@ -35,6 +35,9 @@
\newif\ifpx@sbc
%\newif\ifpx@spc
+\newif\ifpx@nootone % do not switch to OT1 for operators
+
+
%\newcommand\enablesbcorrection{\px@sbctrue\AtBeginDocument{\mathcode`\_=\string"8000 \catcode`\_=12\relax}}
%\newcommand\disablesbcorrection{\px@sbcfalse\catcode`\_=8\relax}
@@ -94,13 +97,16 @@
% \fi%
% \fi%
% \fi}
+%\traceon
\newtoks\px@tA % accumulate \if\next
\newtoks\px@tB % accumulate \fi
\newcommand*{\loadsubfile}[1]{\readsufile{#1}%creates toks px@tA. px@tB
\px@tA\expandafter{\the\expandafter\px@tA\the\px@tB}
-\expandafter\def\expandafter\px@sb\expandafter{\the\px@tA}\enablesbcorrection}
+\expandafter\def\expandafter\px@sb\expandafter{\the\px@tA}}
+%\enablesbcorrection}
%\newcommand*{\loadsupfile}[1]{\readsufile{#1}%creates toks px@tA. px@tB
%\def\px@sp{\the\px@tA \the\px@tB}\enablespcorrection}
+\def\px@subs{newpx-subs.tex} % default name of subscript kerns file
\newread\px@su
\def\readsufile#1{%
@@ -114,6 +120,7 @@
\fi
\repeat
}
+
%\def\px@Prepend#1(to:)#2{\toks0={#1}%
% \edef\px@act{\noexpand#2={\the\toks0 \the#2}}%
% \px@act}
@@ -126,7 +133,7 @@
\def\px@addrec#1#2{%
\ifiscseq{#1}{\px@tA\expandafter{\the\px@tA\ifx}}{\px@tA\expandafter{\the\px@tA\if}}
-\px@tA\expandafter{\the\px@tA\ifx\px@next #1\mkern #2 mu\else}
+\px@tA\expandafter{\the\px@tA\px@next #1\mkern #2 mu\else}
\px@tB\expandafter{\the\px@tB\fi}}
%px@AppendToks\toks0(to:)\px@tA \px@AppendToks\fi(to:)\px@tB}
@@ -148,6 +155,7 @@
\newif\ifpx@varbb \newif\ifpx@vvarbb \newif\ifpx@symbolsC \newif\ifpx@bigdelims \newif\ifpx@frenchm % french math
\px@symbolsCtrue
+\DeclareOption{subscriptcorrectionfile}{\def\px@subs{#1}}
\DeclareOption{nosubscriptcorrection}{\px@sbcfalse}
\DeclareOption{subscriptcorrection}{\px@sbctrue}
\DeclareOption{bigdelims}{\px@bigdelimstrue}
@@ -164,6 +172,7 @@
\DeclareOption{frenchmath}{\px@frenchmtrue}
\DeclareOption{upint}{\px@upinttrue}
\DeclareOption{smallerops}{\px@smopstrue}
+\DeclareOption{noOT1}{\px@nootonetrue}
\DeclareOption{fracspacing}{%
\def\setSYdimens{%
\fontdimen 8\font=0.789\fontdimen6\font % was 0.677 of a quad
@@ -179,8 +188,8 @@ amssymbols,uprightGreek}
\PackageError{newpxmath}{xy package is not compatible with the subscriptcorrection macros}{Either remove xy or disable
subscriptcorrection}
\fi % ifx
- \IfFileExists{newpx-subs.tex}{\loadsubfile{newpx-subs.tex}}%
- {\def\px@sb{\px@sb@dflt}\message{File newpx-subs.tex not found. Using basic defaults for subscript correction.^^J}}
+ \IfFileExists{\px@subs}{\loadsubfile{\px@subs}}%
+ {\def\px@sb{\px@sb@dflt}\message{File \px@subs\space not found. Using basic defaults for subscript correction.^^J}}
\fi
}
@@ -194,16 +203,21 @@ amssymbols,uprightGreek}
%\DeclareSymbolFont{operators}{OT1}{zpltlf}{m}{n}
%\SetSymbolFont{operators}{bold}{OT1}{zpltlf}{b}{n}
% was formerly existing text fonts for operators
-\DeclareSymbolFont{operators}{OT1}{\rmdefault}{m}{n}
-\SetSymbolFont{operators}{bold}{OT1}{\rmdefault}{b}{n}
+\let\px@enc\encodingdefault
+%:
+\ifpx@nootone\else
+\let\px@enc\ot@one\fi
+
+\DeclareSymbolFont{operators}{\px@enc}{\rmdefault}{m}{n}
+\SetSymbolFont{operators}{bold}{\px@enc}{\rmdefault}{b}{n}
\def\operator@font{\mathgroup\symoperators}
\DeclareMathAlphabet{\mathsf}{\encodingdefault}{\sfdefault}{m}{n}
-\DeclareMathAlphabet{\mathit}{OT1}{\rmdefault}{m}{it}
+\DeclareMathAlphabet{\mathit}{\px@enc}{\rmdefault}{m}{it}
\DeclareMathAlphabet{\mathtt}{\encodingdefault}{\ttdefault}{m}{n}
\DeclareSymbolFontAlphabet{\mathrm}{operators}
-\DeclareMathAlphabet{\mathbf}{OT1}{\rmdefault}{b}{n}
-\SetMathAlphabet{\mathit}{bold}{OT1}{\rmdefault}{b}{it}
+\DeclareMathAlphabet{\mathbf}{\px@enc}{\rmdefault}{b}{n}
+\SetMathAlphabet{\mathit}{bold}{\px@enc}{\rmdefault}{b}{it}
\SetMathAlphabet{\mathsf}{bold}{\encodingdefault}{\sfdefault}{b}{n}
\SetMathAlphabet{\mathtt}{bold}{\encodingdefault}{\ttdefault}{b}{n}
@@ -396,10 +410,10 @@ amssymbols,uprightGreek}
\ifpx@sbc
\AtBeginDocument{\mathcode`\_=\string"8000 \catcode`\_=12\relax} \begingroup
\catcode`\_=13 % active
- \gdef_{\s@@b}
+ \gdef_{\expandafter\s@@b@}
\endgroup
%
-\def\s@@b{\ifpx@sbc\expandafter\s@@b@\else\expandafter\sb\fi}
+%\def\s@@b{\expandafter\s@@b@}
\def\s@@b@#1{\def\px@next@{#1}%
\px@sbptoks={#1}%
\px@Pop\px@sbptoks(into:)\px@next% px@next first non-blank token