summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/fonts/newpx/README5
-rw-r--r--Master/texmf-dist/tex/latex/newpx/newpxmath.sty282
2 files changed, 199 insertions, 88 deletions
diff --git a/Master/texmf-dist/doc/fonts/newpx/README b/Master/texmf-dist/doc/fonts/newpx/README
index 23a1a5243e4..0c30cb25c1b 100644
--- a/Master/texmf-dist/doc/fonts/newpx/README
+++ b/Master/texmf-dist/doc/fonts/newpx/README
@@ -1,10 +1,13 @@
This package, based initially on pxfonts, provides many fixes and enhancements to that package, splitting it in two parts---newpxtext and newpxmath---which may be run independently of one another. It provides scaling, improved metrics, and other options. For proper operation, the packages require that the packages newtxmath, pxfonts and TeXGyrePagella be installed and their map files enabled. The text package now relies on an extension of the TeXGyrePagella Type1 fonts that is provided with this package. The accompanying MANIFEST-newpx.txt provides details of the extension as requested by GUST-FONT-LICENSE.txt
-Current version: 1.321 2017-08-18
+Current version: 1.33 2018-12-16
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.33
+Modified newpxmath.sty to correct the macros involving selection of Blackboard Bold alphabets.
+
Changes in version 1.321
Modified the footnote marker code to remove a clash with the KOMA classes.
diff --git a/Master/texmf-dist/tex/latex/newpx/newpxmath.sty b/Master/texmf-dist/tex/latex/newpx/newpxmath.sty
index 29f408e04f0..60b6483fc14 100644
--- a/Master/texmf-dist/tex/latex/newpx/newpxmath.sty
+++ b/Master/texmf-dist/tex/latex/newpx/newpxmath.sty
@@ -11,8 +11,8 @@
% of glyph collisions.
% These modifications are by Michael Sharpe, msharpe at ucsd dot edu
-\def\fileversion{1.32}
-\def\filedate{2017/05/31}
+\def\fileversion{1.33}
+\def\filedate{2018/11/22}
\ProvidesPackage{newpxmath}
[\filedate\space v\fileversion]
%\@ifundefined{newpxmathLoaded}{}{\endinput}
@@ -22,7 +22,10 @@
%\csname newpxmathLoaded\endcsname
%\let\newpxmathLoaded\endinput
\RequirePackage{amsmath} % for better \left
-%\def\ly@one{LY1}
+\RequirePackage{etoolbox}
+%\RequirePackage{etextools} % for \ifiscs, conflicts with biblatex
+% 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}
@@ -201,26 +204,44 @@ amssymbols,uprightGreek}
\DeclareMathSymbol{#1}{#2}{#3}{#4}
\advance #4 by1}
+\DeclareRobustCommand{\BI@}[1]{%
+\begingroup\text{\mathversion{bold}$#1$}\endgroup}
+%\DeclareRobustCommand{\BIA}{\BI@{A}} % etc
+
+\newcount\px@cntz
+\newcount\px@IsAlNum
\def\px@isdigit#1{% #1 should be a single character
\px@Isdigit=\z@ %
-\count0=\number`#1\relax%
-\ifnum\count0>47\relax%
-\ifnum\count0<58\relax%
+\px@cntz=\number`#1\relax%
+\ifnum\px@cntz>47\relax%
+\ifnum\px@cntz<58\relax%
\px@Isdigit=\@ne %
\fi%
\fi%
}
-\DeclareRobustCommand{\BI@}[1]{%
-\begingroup\text{\mathversion{bold}$#1$}\endgroup}
-%\DeclareRobustCommand{\BIA}{\BI@{A}} % etc
+\def\px@isAlNum#1{% #1 should be a single character
+\px@IsAlNum=\z@ %
+\px@cntz=\number`#1\relax%
+\ifnum\px@cntz>47\relax%
+ \ifnum\px@cntz<58\relax%
+ \px@IsAlNum=\@ne %
+ \else
+ \ifnum\px@cntz>64\relax%
+ \ifnum\px@cntz<91\relax%
+ \px@IsAlNum=\tw@ %
+ \else
+ \ifnum\px@cntz>96\relax%
+ \ifnum\px@cntz<123\relax%
+ \px@IsAlNum=3\relax %
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+\fi
+}
-\def\px@XXX#1#2\@nil{% #1=first character, #2=rest of string
-\px@isdigit{#1}%
-\ifnum\px@Isdigit>\z@ $#1$\else#1\fi%
-\if\relax\detokenize{#2}\relax \else
-\edef\px@XXXcmd{\noexpand\px@XXX #2\noexpand\@nil}\px@XXXcmd \fi}
-\def\equalht#1{\px@XXX #1\@nil}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1524,98 +1545,185 @@ $\hfil\displaystyle{#1}\hfil$\crcr%
\re@DeclareMathSymbol{\varg}{\mathord}{lettersA}{49}
\DeclareMathSymbol{\uppartial}{\mathord}{lettersA}{64}
-\def\npx@UC{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}
-\def\npx@lc{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}
-\def\npx@num{0,1,2,3,4,5,6,7,8,9}
+%\def\npx@UC{A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z}
+%\def\npx@lc{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}
+%\def\npx@num{0,1,2,3,4,5,6,7,8,9}
-%\@for\npx@x:=\npx@UC\do{\edef\npx@tmp{\edef\csname
+%%\@for\npx@x:=\npx@UC\do{\edef\npx@tmp{\edef\csname
+%%\DeclareMathSymbol{\m@thbbch@rA}{\mathord}{lettersA}{129}
%\DeclareMathSymbol{\m@thbbch@rA}{\mathord}{lettersA}{129}
-\DeclareMathSymbol{\m@thbbch@rA}{\mathord}{lettersA}{129}
-\DeclareMathSymbol{\m@thbbch@rB}{\mathord}{lettersA}{130}
-\DeclareMathSymbol{\m@thbbch@rC}{\mathord}{lettersA}{131}
-\DeclareMathSymbol{\m@thbbch@rD}{\mathord}{lettersA}{132}
-\DeclareMathSymbol{\m@thbbch@rE}{\mathord}{lettersA}{133}
-\DeclareMathSymbol{\m@thbbch@rF}{\mathord}{lettersA}{134}
-\DeclareMathSymbol{\m@thbbch@rG}{\mathord}{lettersA}{135}
-\DeclareMathSymbol{\m@thbbch@rH}{\mathord}{lettersA}{136}
-\DeclareMathSymbol{\m@thbbch@rI}{\mathord}{lettersA}{137}
-\DeclareMathSymbol{\m@thbbch@rJ}{\mathord}{lettersA}{138}
-\DeclareMathSymbol{\m@thbbch@rK}{\mathord}{lettersA}{139}
-\DeclareMathSymbol{\m@thbbch@rL}{\mathord}{lettersA}{140}
-\DeclareMathSymbol{\m@thbbch@rM}{\mathord}{lettersA}{141}
-\DeclareMathSymbol{\m@thbbch@rN}{\mathord}{lettersA}{142}
-\DeclareMathSymbol{\m@thbbch@rO}{\mathord}{lettersA}{143}
-\DeclareMathSymbol{\m@thbbch@rP}{\mathord}{lettersA}{144}
-\DeclareMathSymbol{\m@thbbch@rQ}{\mathord}{lettersA}{145}
-\DeclareMathSymbol{\m@thbbch@rR}{\mathord}{lettersA}{146}
-\DeclareMathSymbol{\m@thbbch@rS}{\mathord}{lettersA}{147}
-\DeclareMathSymbol{\m@thbbch@rT}{\mathord}{lettersA}{148}
-\DeclareMathSymbol{\m@thbbch@rU}{\mathord}{lettersA}{149}
-\DeclareMathSymbol{\m@thbbch@rV}{\mathord}{lettersA}{150}
-\DeclareMathSymbol{\m@thbbch@rW}{\mathord}{lettersA}{151}
-\DeclareMathSymbol{\m@thbbch@rX}{\mathord}{lettersA}{152}
-\DeclareMathSymbol{\m@thbbch@rY}{\mathord}{lettersA}{153}
-\DeclareMathSymbol{\m@thbbch@rZ}{\mathord}{lettersA}{154}
-
-\DeclareMathSymbol{\m@thbbch@rk}{\mathord}{lettersA}{171}
-% Original \varmathbb macro, slightly polished
-\def\DoFutureLet{%
- \def\@FutureLetDecide{%
- \ifx\@nil\@FutureLetToken
- \def\@FutureLetNext{\@EachCharacterDone}
- \else
- \def\@FutureLetNext{\@PickUpTheCharacter}
- \fi
- \@FutureLetNext
- }%
-\futurelet\@FutureLetToken\@FutureLetDecide}% end DoFutureLet
-
-%\def\m@keCharacter#1{%
-% \@tempcnta=`#1\relax \advance\@tempcnta "40\relax
-% \edef\npx@char{\npx@lettersA\nhex{2}{\the\@tempcnta}}
-% \expandafter\mathchar\npx@char}
-%\def\@PickUpTheCharacter#1{\m@keCharacter{#1}\DoFutureLet}
-%\def\@EachCharacterDone \@nil{}% cleanup---get rid of \@nil
-%\newif\ifnpx@notnil
-%\def\@EachCharacter{%
-% \DoFutureLet{\@EachCharacterDone}{\@PickUpTheCharacter}}
+%\DeclareMathSymbol{\m@thbbch@rB}{\mathord}{lettersA}{130}
+%\DeclareMathSymbol{\m@thbbch@rC}{\mathord}{lettersA}{131}
+%\DeclareMathSymbol{\m@thbbch@rD}{\mathord}{lettersA}{132}
+%\DeclareMathSymbol{\m@thbbch@rE}{\mathord}{lettersA}{133}
+%\DeclareMathSymbol{\m@thbbch@rF}{\mathord}{lettersA}{134}
+%\DeclareMathSymbol{\m@thbbch@rG}{\mathord}{lettersA}{135}
+%\DeclareMathSymbol{\m@thbbch@rH}{\mathord}{lettersA}{136}
+%\DeclareMathSymbol{\m@thbbch@rI}{\mathord}{lettersA}{137}
+%\DeclareMathSymbol{\m@thbbch@rJ}{\mathord}{lettersA}{138}
+%\DeclareMathSymbol{\m@thbbch@rK}{\mathord}{lettersA}{139}
+%\DeclareMathSymbol{\m@thbbch@rL}{\mathord}{lettersA}{140}
+%\DeclareMathSymbol{\m@thbbch@rM}{\mathord}{lettersA}{141}
+%\DeclareMathSymbol{\m@thbbch@rN}{\mathord}{lettersA}{142}
+%\DeclareMathSymbol{\m@thbbch@rO}{\mathord}{lettersA}{143}
+%\DeclareMathSymbol{\m@thbbch@rP}{\mathord}{lettersA}{144}
+%\DeclareMathSymbol{\m@thbbch@rQ}{\mathord}{lettersA}{145}
+%\DeclareMathSymbol{\m@thbbch@rR}{\mathord}{lettersA}{146}
+%\DeclareMathSymbol{\m@thbbch@rS}{\mathord}{lettersA}{147}
+%\DeclareMathSymbol{\m@thbbch@rT}{\mathord}{lettersA}{148}
+%\DeclareMathSymbol{\m@thbbch@rU}{\mathord}{lettersA}{149}
+%\DeclareMathSymbol{\m@thbbch@rV}{\mathord}{lettersA}{150}
+%\DeclareMathSymbol{\m@thbbch@rW}{\mathord}{lettersA}{151}
+%\DeclareMathSymbol{\m@thbbch@rX}{\mathord}{lettersA}{152}
+%\DeclareMathSymbol{\m@thbbch@rY}{\mathord}{lettersA}{153}
+%\DeclareMathSymbol{\m@thbbch@rZ}{\mathord}{lettersA}{154}
%
-\def\m@keCharacter#1{\csname\F@ntPrefix#1\endcsname}
-\def\@PickUpTheCharacter#1{\m@keCharacter{#1}\DoFutureLet}
-\def\@EachCharacterDone \@nil{}
+%\DeclareMathSymbol{\m@thbbch@rk}{\mathord}{lettersA}{171}
+%% Original \varmathbb macro, slightly polished
+%\def\DoFutureLet{%
+% \def\@FutureLetDecide{%
+% \ifx\@nil\@FutureLetToken
+% \def\@FutureLetNext{\@EachCharacterDone}
+% \else
+% \def\@FutureLetNext{\@PickUpTheCharacter}
+% \fi
+% \@FutureLetNext
+% }%
+%\futurelet\@FutureLetToken\@FutureLetDecide}% end DoFutureLet
%
+%%\def\m@keCharacter#1{%
+%% \@tempcnta=`#1\relax \advance\@tempcnta "40\relax
+%% \edef\npx@char{\npx@lettersA\nhex{2}{\the\@tempcnta}}
+%% \expandafter\mathchar\npx@char}
+%%\def\@PickUpTheCharacter#1{\m@keCharacter{#1}\DoFutureLet}
+%%\def\@EachCharacterDone \@nil{}% cleanup---get rid of \@nil
+%%\newif\ifnpx@notnil
+%%\def\@EachCharacter{%
+%% \DoFutureLet{\@EachCharacterDone}{\@PickUpTheCharacter}}
+%%
+%\def\m@keCharacter#1{\csname\F@ntPrefix#1\endcsname}
+%\def\@PickUpTheCharacter#1{\m@keCharacter{#1}\DoFutureLet}
+%\def\@EachCharacterDone \@nil{}
+%%
+%%\DeclareRobustCommand*{\varmathbb}[1]{\gdef\F@ntPrefix{m@thbbch@r}%
+%% \@EachCharacter #1\@nil}
%\DeclareRobustCommand*{\varmathbb}[1]{\gdef\F@ntPrefix{m@thbbch@r}%
-% \@EachCharacter #1\@nil}
-\DeclareRobustCommand*{\varmathbb}[1]{\gdef\F@ntPrefix{m@thbbch@r}%
- \DoFutureLet #1\@nil}
+% \DoFutureLet #1\@nil}
% Additional macros to access process a single character only, work with \bm
-\def\npx@char{}
-\DeclareRobustCommand*{\vmathbb}[1]{% for original variant bb
- \@tempcnta=`#1\relax \advance\@tempcnta "40\relax
- \edef\npx@char{"\hexnumber@\symlettersA\nhex{2}{\the\@tempcnta}}
- \expandafter\mathchar\npx@char
-}
-\DeclareRobustCommand*{\vvmathbb}[1]{% for new (STIX) variant
- \@tempcnta=`#1\relax \advance\@tempcnta "80\relax
- \edef\npx@char{"\hexnumber@\symlettersA\nhex{2}{\the\@tempcnta}}
- \expandafter\mathchar\npx@char
-}
+%\def\npx@char{}
+%\DeclareRobustCommand*{\vmathbb}[1]{% for original variant bb
+% \@tempcnta=`#1\relax \advance\@tempcnta "40\relax
+% \edef\npx@char{"\hexnumber@\symlettersA\nhex{2}{\the\@tempcnta}}
+% \expandafter\mathchar\npx@char
+%}
+%\DeclareRobustCommand*{\vvmathbb}[1]{% for new (STIX) variant
+% \@tempcnta=`#1\relax \advance\@tempcnta "80\relax
+% \edef\npx@char{"\hexnumber@\symlettersA\nhex{2}{\the\@tempcnta}}
+% \expandafter\mathchar\npx@char
+%}
%\DeclareRobustCommand*{\vvmathbbb}[1]{% for new (STIX) variant
% \@tempcnta=`#1\relax \advance\@tempcnta "80\relax
% \edef\npx@char{"\hexnumber@\symboldlettersA\nhex{2}{\the\@tempcnta}}
% \expandafter\mathchar\npx@char
%}
+% Experimental code May 8, 2018
+\newcount\npx@numstart
+\newcount\npx@UCstart
+\newcount\npx@lcstart
+\newcount\npx@tmpc
+\newcount\npx@imath
+\newcount\npx@jmath
+\newif\ifnpx@notempty
+\def\npx@fam{}
+\def\npx@char{}
+\def\npx@alfa#1#2#3#4#5#6#7{%#1=string, #2=UC,#3=lc,#4=imath,#5=jmath,#6=numstart,#7=fam
+ \npx@UCstart=#2
+ %\gdef\xx{x#3x}
+ \@xp\ifblank\@xp{#3}{\npx@lcstart=512 }{\npx@lcstart=#3}
+ \@xp\ifblank\@xp{#4}{\npx@imath=512 }{\npx@imath=#4}
+ \@xp\ifblank\@xp{#5}{\npx@jmath=512 }{\npx@jmath=#5}
+ \@xp\ifblank\@xp{#6}{\npx@numstart=512 }{\npx@numstart=#6}
+ \def\npx@fam{#7}
+ \@xp\ifblank\@xp{#1}{\relax}{\@xp\npx@@alfa #1\@nil}}
+
+\def\npx@@alfa#1#2\@nil{%
+ \npx@out{#1}
+ \ifblank{#2}{\relax}{\npx@@alfa #2\@nil}}
+
+\def\npx@out#1{% #1 is always a single token---use values from \npx@alfa
+ %\showthe\npx@numstart
+ \npx@tmpc=\z@
+ \ifx#1\imath\npx@tmpc=128\relax
+ \ifnum\npx@imath>255\relax #1\npx@tmpc=256 \message{^^JNo imath in this alphabet^^J}\fi
+ \else % not \imath
+ \ifx#1\jmath\npx@tmpc=129\relax
+ \ifnum\npx@jmath>255\relax #1\npx@tmpc=256 \message{^^JNo jmath in this alphabet^^J}\fi
+ \else % neither \imath nor \jmath
+ \ifiscseq{#1}{#1\npx@tmpc=256 }{% not a cs
+ \npx@tmpc=\number\@xp`#1}
+ \fi
+ \fi
+ %\message{^^JCharacter index = \the\npx@tmpc^^J}
+ \ifnum\npx@tmpc<128\relax % neither \imath nor \jmath nor cs
+ \px@isAlNum{#1}
+ %\message{^^JIsAlNum = \the\px@IsAlNum^^J}
+ \ifnum\px@IsAlNum=\@ne % it's a digit
+ \ifnum\npx@numstart>255\relax #1\npx@tmpc=256 \message{^^JNo digits in this alphabet^^J}
+ \else
+ \advance\npx@tmpc -48 % 0..9
+ \advance\npx@tmpc \npx@numstart
+ \fi
+ \else
+ \ifnum\px@IsAlNum=\tw@ % it's UC
+ \advance\npx@tmpc -65 % 0..25
+ \advance\npx@tmpc\npx@UCstart
+ \else
+ \ifnum\px@IsAlNum>\tw@ % it's lc
+ \ifnum\npx@lcstart>255 #1\npx@tmpc=256 \message{^^JNo lowercase in this alphabet^^J}
+ \else
+ %\message{^^JCharacter index = \the\npx@tmpc^^J
+ %lcstart = \the\npx@lcstart^^J}
+ \advance\npx@tmpc -97 % 0..25
+ \advance\npx@tmpc\npx@lcstart
+ %\message{^^JCharacter index = \the\npx@tmpc^^J}
+ \fi
+ \else % it must be a character outside alphanumerics
+ #1
+ \fi
+ \fi
+ \fi
+ \else % npx@tmpc>127
+ \ifnum\npx@tmpc=128\relax % imath
+ \npx@tmpc=\npx@imath
+ \else
+ \ifnum\npx@tmpc=129\relax % jmath
+ \npx@tmpc=\npx@jmath
+ \fi
+ \fi
+ \fi
+ \ifnum\npx@tmpc<256\relax
+ \edef\npx@char{"\@xp\hexnumber@\csname sym\npx@fam\endcsname\nhex{2}{\the\npx@tmpc}}
+ %\message{^^Joutput char = \npx@char^^J}
+ \@xp\mathchar\npx@char%\traceoff
+ \fi %end of ifnum <256
+}
+
+\DeclareRobustCommand{\vmathbb}[1]{\npx@alfa{#1}{129}{159}{}{}{}{lettersA}}
+\DeclareRobustCommand{\vvmathbb}[1]{\npx@alfa{#1}{193}{225}{}{}{176}{lettersA}}
+
\ifpx@vvarbb
\let\mathbb\vvmathbb
\else
\ifpx@varbb
- \let\mathbb\varmathbb
+ \let\mathbb\vmathbb
\else
- \ifpx@ams\else\let\mathbb\varmathbb\fi
+ \ifpx@ams\else\let\mathbb\vmathbb\fi
\fi
\fi
+\let\varmathbb\vmathbb
+\let\vvarmathbb\vvmathbb
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Math Extension (npxex) Definition % largesymbols
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%