diff options
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/fonts/newpx/README | 25 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/newpx/newpxdoc.pdf | bin | 226781 -> 416486 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/fonts/newpx/newpxdoc.tex | 265 |
3 files changed, 232 insertions, 58 deletions
diff --git a/Master/texmf-dist/doc/fonts/newpx/README b/Master/texmf-dist/doc/fonts/newpx/README index 25a0ef708e9..41b9a364cf0 100644 --- a/Master/texmf-dist/doc/fonts/newpx/README +++ b/Master/texmf-dist/doc/fonts/newpx/README @@ -1,10 +1,33 @@ 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.505 2022-01-30 +Current version: 1.51 2023-08-20 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.51 +1. Corrected the zplnumr tfm files so that numerator figures work as expected. +2. Corrected newpxtext.sty so that: + (i) removed the code for the useless option nofontspec; + (ii) removed a duplicate option handler for defaultfeatures; + (iii) limited the effect of defaultfeatures to the main font; + (iv) reworked the footnote code so that KOMA based documents work as expected; + (v) added option notextnu preventing a clash with babel/greek. +3. Added glyphs dotlessi.sc, dotlessj.sc, idotaccent.sc (with dot) and i.TRK (a copy of i) which is subbed for i in the Turkish localization. In smcp, i.TRK --> idotaccent.sc, dotlessi --> dotlessi.sc and dotlessj --> dotlessj.sc, and similarly in pcap. In c2sc, Idotaccent --> idotaccent.sc, and similarly in c2pc. Unlike i, i.TRK does not undergo any ligations, so that its dot is preserved. See TRK.fea for the localization feature which can be chosen after selecting Merge Feature Info in the FontForge file menu. The table it creates should be moved to the top of the tables, or at least ahead of c2sc, c2pc, smcp, pcap and the liga tables. +4. Corrected the glyph I.sc in bolditalic, removing spurious dot. +5. Added newpx.sty, which works in all latex engines, calling newpxtext.sty and newpxmath.sty as appropriate. +6. Added \textsfrac for building stacked fractions: \textfrac[2]{17}{32} renders somewhat like $2\frac{17}{32}. +7. Added a minzlt text font family that can serve as operators and for \mathrm, \mathit and so on. This allows newpxmath.sty to be loaded before the text font, whether it be [pdf]latex flavored newpxtext or a unicode text font. +8. Updated newpxmath to closer parity with newtxmath with modifications to the names of {C,c}olon related math symbols. Also, a fix for use with siunitx under option noOT1. +9. Modified newpxtext.sty to solve an issue with footnote markers in Title and \thanks. The key was to change the lines (recommended in the realscripts documentation dating back to 2016) +\renewcommand{\footnotemarkfont}{\normalfont} % for standard latex users +to +\renewcommand{\footnotemark}{\normalfont} +and +\setkomafont{footnotelabel}{\normalfont} % for KOMA users +to +\setkomafont{footnotereference}{\normalfont} + Changes in version 1.505 Corrected case of names of encoding files used for subs, sups, numr and dnom and modified newpx.map in a number of the affected items. diff --git a/Master/texmf-dist/doc/fonts/newpx/newpxdoc.pdf b/Master/texmf-dist/doc/fonts/newpx/newpxdoc.pdf Binary files differindex 43c321d28c1..9d997e4d451 100644 --- a/Master/texmf-dist/doc/fonts/newpx/newpxdoc.pdf +++ b/Master/texmf-dist/doc/fonts/newpx/newpxdoc.pdf diff --git a/Master/texmf-dist/doc/fonts/newpx/newpxdoc.tex b/Master/texmf-dist/doc/fonts/newpx/newpxdoc.tex index 5df5dbf6e3e..9a151f03392 100644 --- a/Master/texmf-dist/doc/fonts/newpx/newpxdoc.tex +++ b/Master/texmf-dist/doc/fonts/newpx/newpxdoc.tex @@ -1,4 +1,4 @@ -% !TEX TS-program = xelatex +% !TEX TS-program = lualatex \documentclass[11pt]{article} \usepackage[margin=1in]{geometry} \usepackage[parfill]{parskip}% Begin paragraphs with an empty line rather than an indent @@ -34,11 +34,9 @@ %\usepackage[largesc,theoremfont]{newpxtext} \usepackage{trace} -\usepackage[theoremfont,trueslanted,scosf]{newpxtext2} +\usepackage[theoremfont,trueslanted,scosf]{newpxtext} \makeatletter -%\ifzpl@lining\show\foo\else\show\barf\fi \ifzpl@otf - %\setmonofont{Inconsolatazi4-Regular.otf}[Scale=MatchLowercase] \setmonofont{inconsolata}[Scale=MatchLowercase] \else \usepackage[T1]{fontenc} @@ -115,6 +113,19 @@ \section{Introduction} This package is meant to be a replacement for Young Ryu's {\tt pxfonts}---a complete text and math package with roman text font provided by a Palatino clone, sans serif based on a \textsf{Helvetica} clone, typewriter faces, plus math symbol fonts whose math italic letters are from a Palatino Italic clone. As with the related {\tt txfonts} (though not as severe) the math metrics in {\tt pxfonts} seem overly tight. +\textsc{Changes as of version 1.51}\\ +\begin{itemize} +\item +There is a new {\tt newpx.sty} that offers simplifications in the use of {\tt newpxtext} and {\tt newpxmath} under [pdf]latex, xelatex and lualatex. With {\tt newpx}, you can pass options to {\tt newpxtext} and {\tt newpxmath} as appropriate. For example +\begin{verbatim} +\usepackage[scale=.98,varbb,p,osf]{newpx} +\end{verbatim} +would send {\tt scale=.98} to both text and math packages, {\tt varbb} to {\tt newpxmath} and the rest to {\tt newpxtext}. Later sections have more usage examples. +\item +{Newpxtext.sty} now has a stacked fraction macro: \verb|\textsfrac[2]{17}{32}| produces \textsfrac[2]{17}{32}. +\item +Version 1.51 brings {\tt newpxmath} essentially up to parity with {\tt newtxmath}, version 1.723. +\end{itemize} \textsc{Changes as of version 1.5}\\ {\tt newpxtext.sty} contains code that mostly works for both {\tt pdflatex} as well as {\tt XeLateX} and {\tt LuaLaTeX}, though there are some new features that work only with the last two. The precise differences will be spelled out below. Unless explicitly noted, macros and package options will function similarly for all LaTeX engines. %The goal of this new project is use his glyphs along with a few additions and with completely reworked metrics which are generally looser, but not as loose as Computer Modern math. The following small examples (double normal size) provide some idea of the extent of the changes. @@ -135,7 +146,7 @@ This package is meant to be a replacement for Young Ryu's {\tt pxfonts}---a com %\end{minipage} -This {\tt newpx} package differs from {\tt pxfonts} in the following ways: +The original {\tt newpx} package differed from {\tt pxfonts} in the following ways, all of which are preserved in the newest version: \begin{itemize} \item {\tt newpx} is split into separate text and math packages that do not need to be used in conjunction; @@ -162,14 +173,14 @@ braces and other delimiters are now larger and, I believe, more pleasing to olde \textsc{Important changes as of version 1.5} \begin{itemize} \item - Small caps are available in all weights and styles, and are offered in two sizes. The default small caps supplied by TeXGyrePagella are really \textsc{Petite Caps}, having xheights approximately the same x-heights (sometimes smaller) as lowercase letters. Option \texttt{largesc} increases the size of small caps by 5.33\%, approximating the size of Linotype Palatino Small Caps. IMO, this is a better match in terms of weight and size. For a side by side comparison: {\pcf Petite Caps}, \textsc{Small Caps}. The two sizes of small caps are now implemented in the Opentype fonts as Petite Caps and Small Caps ({\tt pcap} and {\tt smcp}). The option {\tt largesc} changes the default rendering of \verb|\scshape| and \verb|\textsc| to Small Caps instead of the default Petite Caps. + Small caps are available in all weights and styles, and are offered in two sizes. The default small caps supplied by TeXGyrePagella are really \textsc{Petite Caps}, having xheights approximately the same x-heights (sometimes smaller) as lowercase letters. Option \texttt{largesc} increases the size of small caps by 5.33\%, approximating the size of Linotype Palatino Small Caps. IMO, this is a better match in terms of weight and size: {\pcf Petite Caps}, \textsc{Small Caps}. The two sizes of small caps are now implemented in the Opentype fonts as Petite Caps and Small Caps ({\tt pcap} and {\tt smcp}). The option {\tt largesc} changes the default rendering of \verb|\scshape| and \verb|\textsc| to Small Caps instead of the default Petite Caps. -\item The last versions were missing the switches \verb|\tlfstyle|, \verb|\lfstyle|, \verb|\tosfstyle| and \verb|\osfstyle| as well as their command forms \verb|\texttlf|, \verb|\textlf|, \verb|\texttosf| and \verb|\textosf|, which allowed you to get any figure alignment and style, no matter what the default figure style. For example, though we the main text is proportional oldstyle, \verb|{\texttlf{123}| gives the tabular lining form \texttlf{123}, as does \verb|{\tlfstyle123}|. +\item The last versions were missing the switches \verb|\tlfstyle|, \verb|\lfstyle|, \verb|\tosfstyle| and \verb|\osfstyle| as well as their command forms \verb|\texttlf|, \verb|\textlf|, \verb|\texttosf| and \verb|\textosf|, which allowed you to get any figure alignment and style, no matter what the default figure style. For example, though we the main text is proportional oldstyle, \verb|\texttlf{123}| gives the tabular lining form \texttlf{123}, as does \verb|{\tlfstyle123}|. \item There are also the commands \verb|\oldstylenums|, \verb|\liningnums|, \verb|\tabularnums| and \verb|\proportionalnums|, which change only the alignment and the style. \item Two additional figure styles have been added---denominators and subscripts (inferiors), each the same size as superiors, with denominators having the same baseline as text and subscripts below the text baseline. These may be specified respectively by the text switches \verb|\defigures| (\textsc{aka} \verb|\destyle|) and \verb|\infigures| (\textsc{aka} \verb|\instyle|) or the corresponding macros \verb|\textde| and \verb|\textinf|. For example, \verb|{\defigures 123}| gives {\defigures 123}, as would \verb|\textde{123}|, and \verb|{\infigures 123}| gives {\infigures 123}, as would \verb|\textinf{123}|. - +\item There is a numerators figure style normally used only in the construction of fractions. It may be called by any one of \verb|{\nustyle 123}|, \verb|{\nufigures 123}|, \verb|\textnum{123}|, \verb|\textnumerator{123}|. There is also an equivalent named \verb|\textnu{123}|, but this is problematic since it conflicts with a command in the Greek variant of the {\tt babel} package. If you use the latter, there is an option {\tt notextnu} to {\tt newtxtext} that will prevent the redefinition of \verb|\textnu|. \item There is a new version of \verb|\textfrac| that provides better kerning around the division solidus than the default command. The integer part may be specified as an optional argument. E.g., \verb|\textfrac{7}{8}| gives \textfrac{7}{8}, while \verb|\textfrac[2]{31}{32}| gives \textfrac[2]{31}{32}. \item There is a new \verb|\textcircled| which works with both letters and numbers.\\ @@ -198,9 +209,9 @@ to load the roman and typewriter text fonts at 95\% of normal size, and the sans \begin{verbatim} \usepackage[scaled=.95,helvratio=.96]{newpxtext} \end{verbatim} -load roman and typewriter text fonts at 95\% of normal size, and the sans serif (\textsf{Helvetica} clone) at scale $0.95*0.96$. +load roman and typewriter text fonts at 95\% of normal size, and the sans serif (\textsf{Helvetica} clone) at scale 0.95*0.96. -The option \texttt{osf} instructs the text fonts to use old-style figures \oldstylenums{1234567890} rather than the default lining figures $1234567890$. As of version $1.23$, {\tt newpxtext} loads initially with lining figures so the math package uses lining figures in math mode. The option {\tt osf} switches to old-style figures in text at the very end of the preamble, forcing the use of oldstyle figures in text, but not math. In previous versions, it was necessary to run +The option \texttt{osf} instructs the text fonts to use old-style figures \oldstylenums{1234567890} rather than the default lining figures \texttlf{1234567890}. As of version 1.23, {\tt newpxtext} loads initially with lining figures so the math package uses lining figures in math mode. The option {\tt osf} switches to old-style figures in text at the very end of the preamble, forcing the use of oldstyle figures in text, but not math. In previous versions, it was necessary to run \verb|\useosf| after loading math. This is no longer required, but does no harm. See the discussion in section 4 for further details. A similar macro \verb|\useproportional| makes proportional figures the default outside math mode. As of version 1.415, the new option {\tt nohelv} prevents the loading of the default Helvetica clone as the sans serif text font. If you use this option, you should load your preferred sans serif font, otherwise you will be left with the Computer Modern default, most likely in a metafont version if not using OT1 encoding. @@ -246,7 +257,103 @@ If you want full control, the options {\tt spacing, stretch, shrink} allow you t \end{verbatim} \textbf{Behavior under XeLaTeX and LuaLaTeX.}\\ Fontspec offers the {\tt WordSpace=} option for individual control of the space, stretch and shrink, with the value being either an ordered triple like \verb|{1.1,1,.8}| or a single number like {\tt .9}, the latter having the same effect as the triple \verb|{.9,.9,.9}|. These three numbers act as multipliers of {\tt space}, {\tt stretch} and {\tt shrink}. The option that you can set is {\tt spcfactor=}, entering either a number or a triple---e.g., {\tt spcfactor=1.1} or \verb|{1.1,1,.8}|. Note however that {\tt tighter} and {\tt looser} will have an effect if {\tt spcfactor} is not set, amounting to \verb|{\spcfactor={1,.625,1}| and \verb|{\spcfactor={1.2,1,1}| respectively. -. + +\subsection{Basic example preambles.} + +The examples below are unrealistically simple but do show the structure of the part of the preamble required to load {\tt newpx}. + +\textsc{I: Otf text, otf math (requires unicode engine)} + + +Supports an arbitrary otf math font with otf text using {\tt TeXGyreTermesX}. +\begin{verbatim} + % Without newpx package: + \usepackage[otfmath]{newpxtext} + \usepackage{unicode-math} %loads amsmath + \setmathfont{}[] %expects your input here for otf math font and options +% or, with newpx package: + \usepackage[otfmath]{newpx} % pass options to text package + \setmathfont{}[] %expects your input here for otf math font and options +\end{verbatim} +\textsc{Notes:} +\begin{itemize} +\item Your option list to {\tt newpx[text]} must include {\tt otfmath}, otherwise it will load {\tt newpxmath}. +\item With {\tt newpx}, you may specify some other otf text fonts. +\item After loading {\tt newpx}, you must load your chosen unicode math package with \verb|\setmathfont{}[]|. +\item +You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. +\item When using an otf math font, options to {\tt newpx} are passed only to {\tt newpxtext}. + +\item Babel, if used, must be specified before {\tt newpx[text]}, which loads {\tt fontspec}. +\item Polyglossia, if used, must be specified after loading {\tt newpx[text]}. +\end{itemize} + +\textsc{II: Otf text, type1 math (requires unicode engine)} + +Supports {\tt newpxmath} with an otf text font. +\begin{verbatim} +% Without newpx + \renewcommand*{\rmdefault}{zplTLF} % loads minimal version of text font for use in math + \usepackage[T1]{fontenc} % so operators can have accented letters + \usepackage[list of math options]{newpxmath} % + \usepackage[no-math]{fontspec} + \usepackage{} % the chosen otf text font package, or fontspec \setmainfont, etc +% or, using newpx, only for TeXGyrePagellaX + \renewcommand*{\rmdefault}{zplTLF} % loads minimal version of text font for use in math + \usepackage[T1]{fontenc} % so operators can have accented letters + \usepackage[list of text and mathoptions]{newpx} % options will be passed to text font package and newpxmath +\end{verbatim} +\textsc{Notes:} +\begin{itemize} +\item No special option requirements---this is the default case. +\item Babel, if used, must be specified before {\tt newpx[text]}, which loads {\tt fontspec}. +\item Polyglossia, if used, must be specified after loading {\tt newpx[text]}. +\end{itemize} + + + +\textsc{III: type1 text, type1 math (requires non-unicode engine)} + +In the olden days of [pdf]latex processing, {\tt newpx} was traditionally summoned with lines like +\begin{verbatim} +\usepackage[T1]{fontenc} +\usepackage[<list of text options>]{newpxtext} +\usepackage[<list of math options>]{newpxmath} +\end{verbatim} +which still works but is a bit less flexible than its modern form: +\begin{verbatim} +\renewcommand*{\rmdefault}{zplTLF}% minimal text family, Roman and Bold for math +\usepackage[T1]{fontenc} +\usepackage[<list of text and math options>]{newpx} +\end{verbatim} +which expands in the non-unicode case to +\begin{verbatim} +\renewcommand*{\rmdefault}{zplTLF}% minimal text family, Roman and Bold for math +\usepackage[T1]{fontenc} +\usepackage[<list of math options>]{newpxmath} +\usepackage[<list of text options>]{newpxtext} +\end{verbatim} +For this arrangement, the math package needs information about the text font currently in force and the current typewriter and, possibly, the current sans serif font. The default Latin Modern text family would most likely not work well here for use as operators, \verb|\mathbf|, \verb|\mathtt| and the like. Dealing with the math part first allows you the flexibility of choosing different text fonts for use in math than you will use for body text. +\begin{verbatim} +% Without newpx + \renewcommand*{\rmdefault}{zplTLF}% minimal text family, Roman and Bold for math + \usepackage[T1]{fontenc} + \usepackage[<list of math options>]{newpxmath} % options will be as passed from newpx + \usepackage{} % the chosen text package + % should load tt and sans math before math +% or, using newpx, where text font will be TeXGyrePagelleX + % should load tt and sans math before newpx + \renewcommand*{\rmdefault}{zplTLF}% minimal text family, Roman and Bold for math + \usepackage[T1]{fontenc} + \usepackage[<list of text and math options>]{newpx} +\end{verbatim} +\textsc{Notes:} + +\begin{itemize} +\item Babel, if used, must be specified before {\tt newpx[text]}. +\end{itemize} + +Note that with a unicode engine, it is not possible to load a type1 text font package unless you have created custom {\tt tu}-encoded support files. \section{Usage with {\tt babel}} You should normally load {\tt babel} before loading {\tt newpxtext} in order for {\tt babel} to function as expected. For example, using {\tt pdflatex}: @@ -263,11 +370,22 @@ You should normally load {\tt babel} before loading {\tt newpxtext} in order for % option vvarbb gives you stix blackboard bold \linespread{1.05} \end{verbatim} - +With {\tt newpx}, you could simplify this a bit. +\begin{verbatim} +\usepackage[greek.polutonico,english]{babel} +\usepackage[varqu,varl]{inconsolata} +\usepackage[T1]{fontenc} +% the next line makes text figures proportional, oldstyle, while math uses lining figures +\usepackage[theoremfont,trueslanted,largesc,tighter,p,osf,amsthm,vvarbb]{newpx} +% amsmath is loaded automatically, before amsthm +% option vvarbb gives you stix blackboard bold +\linespread{1.05} +\end{verbatim} + \section{Usage with Lua\LaTeX\ and Xe\LaTeX} -As far as I can tell, \textsf{newpxmath} works with both, but requires a very specific loading order and choice of options. Briefly, the math options must all be loaded prior to loading and using {\tt fontspec}. As of version 1.5, {\tt newpxtext} will load fontspec when processing with XeLaTeX or LuaLaTeX unless one or more of the options {\tt nofontspec}, {\tt type1} is specified. (If you specify the option {\tt no-math} to {\tt newpxtext}, it will pass that option to the {\tt fontspec} call. This should be done if {\tt fontspec} will not be expected to load an Opentype math font.) +As far as I can tell, \textsf{newpxmath} works with both, but requires a very specific loading order and choice of options. Briefly, the math options must all be loaded prior to loading and using {\tt fontspec}. As of version 1.5, {\tt newpxtext} will load {\tt fontspec} when processing with XeLaTeX or LuaLaTeX unless one option {\tt type1} is specified. (Option {\tt nofontspec} is no longer acted upon, having no proper function, as of version 1.506.) If you specify the option {\tt no-math} to {\tt newpxtext}, it will pass that option to the {\tt fontspec} call. This should be specified if {\tt fontspec} will not be expected to load an Opentype math font. -\textsc{Example I: TeXGyrePagellaX Opentype + Asana-Math (Opentype).} +\textsc{Example I: TeXGyrePagellaX Opentype + texgyrepagella-math (Opentype).} \begin{verbatim} %\usepackage[greek.polutonico,english]{babel} % if using babel % next line calls fontspec and loads TeXGyrePagellaX otf @@ -276,7 +394,9 @@ As far as I can tell, \textsf{newpxmath} works with both, but requires a very sp %\usepackage{polyglossia} % must load after fontspec, if using polyglossia % polyglossia setup commands \usepackage{unicode-math}% can't load type1 math fonts after this -\setmathfont{Asana-Math} +\setmathfont{texgyrepagella-math} +% \mathsf and \mathtt from Latin Modern +% operators and other \mathxx from TeXGyrePagellaX \end{verbatim} \textsc{Notes:} \begin{itemize} @@ -285,61 +405,89 @@ You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. \item Babel, if used, must be specified before {\tt newpxtext}, which loads {\tt fontspec}. \item Polyglossia, if used, must be specified after loading {\tt newpxtext}. \end{itemize} -\textsc{Example II: newpxtext type1 + Asana-Math (Opentype).} +With {\tt newpx}, there is a little simplification: \begin{verbatim} %\usepackage[greek.polutonico,english]{babel} % if using babel -% next line does not call fontspec, loads newpxtext type1 -\usepackage[type1,theoremfont,trueslanted,largesc,p,osf]{newpxtext} -\usepackage{fontspec} +% next line calls fontspec and loads TeXGyrePagellaX otf +\usepackage[theoremfont,trueslanted,largesc,p,osf]{newpx} +% set mono and sans opentype fonts %\usepackage{polyglossia} % must load after fontspec, if using polyglossia % polyglossia setup commands -\usepackage{unicode-math}% can't load type1 math fonts after this -\setmathfont{Asana-Math} +%\usepackage{unicode-math}% newpx loads unicode-math +\setmathfont{texgyrepagella-math} \end{verbatim} -\textsc{Notes:} -\begin{itemize} -\item The {\tt type1} option to {\tt newpxtext} prevents the package loading {\tt fontspec} so you must load it before loading {\tt unicode-math} and any opentype fonts. -\item -You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. -\item Babel, if used, must be specified before {\tt newpxtext}. -\item Polyglossia, if used, must be specified after loading {\tt fontspec}. -\end{itemize} -\textsc{Example III: TeXGyrePagellaX Opentype + newpxmath (type1) + polyglossia + other Opentype.} +%\textsc{Example II: newpxtext type1 + texgyrepagella-math (Opentype).} +%\begin{verbatim} +%%\usepackage[greek.polutonico,english]{babel} % if using babel +%% next line does not call fontspec, loads newpxtext type1 +%\usepackage[type1,theoremfont,trueslanted,largesc,p,osf]{newpxtext} +%\usepackage{fontspec} +%%\usepackage{polyglossia} % must load after fontspec, if using polyglossia +%% polyglossia setup commands +%\usepackage{unicode-math}% can't load type1 math fonts after this +%\setmathfont{texgyrepagella-math} +%\end{verbatim} +%\textsc{Notes:} +%\begin{itemize} +%\item The {\tt type1} option to {\tt newpxtext} prevents the package loading {\tt fontspec} so you must load it before loading {\tt unicode-math} and any opentype fonts. +%\item +%You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. +%\item Babel, if used, must be specified before {\tt newpxtext}. +%\item Polyglossia, if used, must be specified after loading {\tt fontspec}. +%\end{itemize} + +\textsc{Example II: TeXGyrePagellaX Opentype + newpxmath (type1) + polyglossia + other Opentype.} \begin{verbatim} -\renewcommand{\rmdefault}{zplTLF}% Roman and Bold Pagella for math mode +\renewcommand{\rmdefault}{zplTLF}% Roman and Bold PagellaX for math mode \usepackage[T1]{fontenc} % T1 is active encoding for use in math text -\usepackage[type1]{cabin}% used only by \mathsf, optional -\usepackage{amsmath} % must be loaded before amsthm if using amsthm -\usepackage{amsthm}% load before newpxmath -\usepackage[vvarbb]{newpxmath} +\usepackage[type1]{sourcesanspro}% used only by \mathsf, optional +% Next line loads amsmath, then loads amsthm +\usepackage[amsthm,vvarbb]{newpxmath} \usepackage[no-math]{newpxtext}% pass no-math option to fontspec % Fontspec will be loaded so that Opentype text fonts may be loaded -\usepackage{polyglossia} % must load after fontspec -\setdefaultlanguage[variant=american]{english} -\setotherlanguages{french,russian} -\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} +% By default, TeXGyrePagellaX (otf) will be loaded +%\usepackage{polyglossia} % must load after fontspec +%\setdefaultlanguage[variant=american]{english} +%\setotherlanguages{french,russian} +%\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} \end{verbatim} \textsc{Notes:} \begin{itemize} \item The {\tt no-math} option to {\tt newpxtext} causes {\tt fontspec} to load with option {\tt no-math}, preventing the package from loading any unicode math font. \item -You do not need to load {\tt amsmath}: it is loaded by {\tt newpxmath} However, if you wish to load {\tt amsthm}, load {\tt amsmath}, then {\tt amsthm} before {\tt newpxmath}. +You do not need to load {\tt amsmath}: it is loaded by {\tt newpxmath} Option {\tt amsthm} will cause {\tt amsmath} to load before {\tt amsthm}. \item Babel, if used, must be specified before {\tt newpxtext}. \item Polyglossia, if used, must be specified after loading {\tt newpxtext}. -\item The {\tt type} option to {\tt cabin} is important, preventing it from loading {\tt fontspec}, which would lead to an {\tt option clash} error. +\item The {\tt type1} option to {\tt cabin} is important, preventing it from loading {\tt fontspec}, which would lead to an {\tt option clash} error. (This does seem to work properly in the version of {\tt cabin.sty} dated 12/25/2022.) \end{itemize} +With {\tt newpx}, the above is equivalent to: +\begin{verbatim} +\renewcommand{\rmdefault}{zplTLF}% Roman and Bold PagellaX for math mode +\usepackage[T1]{fontenc} % T1 is active encoding for use in math text +\usepackage[type1]{sourcesanspro}% used only by \mathsf, optional +% Next line loads amsmath, then loads amsthm +\usepackage[no-math,amsthm,vvarbb]{newpx} +% Fontspec will be loaded so that Opentype text fonts may be loaded +% By default, TeXGyrePagellaX (otf) will be loaded +\usepackage{polyglossia} % must load after fontspec +\setdefaultlanguage[variant=american]{english} +\setotherlanguages{french,russian} +\newfontfamily{\cyrillicfont}[Scale=MatchLowercase]{cochineal} +\end{verbatim} -\textsc{Example IV: newpxtext type1 + newpxmath (type1) + polyglossia + other Opentype.} +\textsc{Example III: newpxtext type1 + newpxmath (type1) + polyglossia + other Opentype.} \begin{verbatim} \renewcommand{\rmdefault}{zplTLF}% Roman and Bold Pagella for math mode \usepackage[T1]{fontenc} % T1 is active encoding for use in math text -\usepackage[type1]{cabin}% used only by \mathsf, optional -\usepackage{amsmath} % must be loaded before amsthm if using amsthm -\usepackage{amsthm}% load before newpxmath -\usepackage[vvarbb]{newpxmath} -\usepackage[no-math]{newpxtext}% pass no-math option to fontspec -% Fontspec will be loaded so that Opentype text fonts may be loaded +\usepackage[type1]{sourcesanspro}% used only by \mathsf, optional +%Uncomment either the following line +%\usepackage[amsthm,vvarbb,no-math]{newpx} +%or the next pair of lines +%\usepackage[amsthm,vvarbb]{newpxmath} +%\usepackage[no-math]{newpxtext}% pass no-math option to fontspec + +% Other Opentype text fonts may be loaded here \usepackage{polyglossia} % must load after fontspec \setdefaultlanguage[variant=american]{english} \setotherlanguages{french,russian} @@ -347,20 +495,19 @@ You do not need to load {\tt amsmath}: it is loaded by {\tt newpxmath} However, \end{verbatim} \textsc{Notes:} \begin{itemize} -\item The {\tt type1} option to {\tt newpxtext} prevents the package loading {\tt fontspec} so you must load it before loading {\tt unicode-math} and any opentype fonts. \item You do not need to load {\tt amsmath}: it is loaded by {\tt unicode-math}. \item Babel, if used, must be specified before {\tt newpxtext}. -\item Polyglossia, if used, must be specified after loading {\tt fontspec}. +\item Polyglossia, if used, must be specified after loading {\tt newpx [text]}. \end{itemize} -%\textsc{Example V: newpxtext tfm + Asana-Math.} +%\textsc{Example V: newpxtext tfm + texgyrepagella-math.} Be aware that some text packages (e.g., {\tt cabin}) may contain a line like \begin{verbatim} \RequirePackage{fontspec} \end{verbatim} -which would prevent (``option clash'' error) a subsequent +which would provoke an ``option clash'' error with a subsequent \begin{verbatim} \usepackage[no-math]{fontspec} \end{verbatim} @@ -368,7 +515,7 @@ unless suppressed by an appropriate option. E.g., \begin{verbatim} \usepackage[type1]{cabin} \end{verbatim} -prevents the problem with the {\tt cabin} package. +prevents the problem with the {\tt cabin} package. (Not working in the version of {\tt cabin.sty} dated 12/25/2022.) \iffalse Consider three scenarios for using some part of {\tt newpx} with one of XeLaTeX, LuaLaTeX. @@ -378,7 +525,7 @@ prevents the problem with the {\tt cabin} package. \usepackage[T1]{fontenc} % affects only \mathrm, \mathbf etc \usepackage{newpxtext} \usepackage[scaled=.85]{beramono}% used only by \mathtt, optional -\usepackage[type1]{cabin}% used only by \mathsf, optional +\usepackage[type1]{sourcesanspro}% used only by \mathsf, optional \usepackage{amsmath} % must be loaded before amsthm, if using amsthm \usepackage{amsthm}% load before newpxmath \usepackage[vvarbb]{newpxmath} @@ -397,7 +544,7 @@ While the math font options must be specified before {\tt fontspec}, be aware of \usepackage[T1]{fontenc} % affects only \mathrm, \mathbf etc \renewcommand{\rmdefault}{zplTLF}% Roman font for use in math mode \usepackage[scaled=.85]{beramono}% used only by \mathtt, optional -\usepackage[type1]{cabin}% used only by \mathsf, optional +\usepackage[type1]{sourcesanspro}% used only by \mathsf, optional \usepackage{amsmath} % must be loaded before amsthm \usepackage{amsthm}% load before newpxmath \usepackage[vvarbb]{newpxmath} @@ -413,7 +560,7 @@ While the math font options must be specified before {\tt fontspec}, be aware of \begin{verbatim} \renewcommand{\rmdefault}{zplTLF}% Roman and Bold for use in math mode \usepackage[T1]{fontenc} % T1 is active encoding for use in math text -\usepackage[type1]{cabin}% used only by \mathsf, optional +\usepackage[type1]{sourcesanspro}% used only by \mathsf, optional \usepackage{amsmath} % must be loaded before amsthm \usepackage{amsthm}% load before newpxmath \usepackage[vvarbb]{newpxmath} @@ -426,13 +573,17 @@ While the math font options must be specified before {\tt fontspec}, be aware of \end{verbatim} \fi -Previous to version 1.5, the preceding pages of this document were processed using {\tt pdflatex}, which was the only engine supported by {\tt newpxtext.sty}. As of version $1.5$, XeLaTeX and LuaLaTeX are also supported and the entire document is now processes by XeLaTeX. All {\tt newpxtext} options and macros formerly limited to {\tt pdflatex} have been modified and now work essentially the same under both unicode engines, though the output may not always be precisely the same as with {\tt pdflatex}. There are some macros and options available under unicode engines that go beyond what can be done under {\tt pdflatex}. +Previous to version 1.5, the preceding pages of this document were processed using {\tt pdflatex}, which was the only engine supported by {\tt newpxtext.sty}. As of version 1.5, XeLaTeX and LuaLaTeX are also supported and the entire document is now processes by LuaLaTeX. All {\tt newpxtext} options and macros formerly limited to {\tt pdflatex} have been modified and now work essentially the same under both unicode engines, though the output may not always be precisely the same as with {\tt pdflatex}. There are some macros and options available under unicode engines that go beyond what can be done under {\tt pdflatex}. \textsc{Modified Macros and Options:} \begin{itemize} \item \verb|\textfrac| works more precisely under unicode tex because it is possible to adjust kerning between all characters. The effect should not be very noticeable, at least in regular style. \item {\tt sups}: the package treats this differently in unicode LaTeX and pdflatex, with handling in the unicode case passed off to the {\tt realscripts} package where the footnote marker font is set to \verb|\normalfont|, meaning that superiors from the current (TeXGyrePagellaX) text font are employed. +\item The \verb|\footnote| macro has been changed and appears to function correctly in KOMA based packages, though for proper handling of multiple footnote markers it may be necessary to add the following line to your preamble: +\begin{verbatim} +\usepackage[multiple]{fontmisc} +\end{verbatim} \item {\tt theoremfont}, {\tt thmtabular}, {\tt thmlining} all function in a manner similar to that in {\tt pdflatex}. \item {\tt swashQ} operates as before. \item {\tt foresolidus, aftsolidus} are not used in unicode tex. |