diff options
author | Karl Berry <karl@freefriends.org> | 2022-07-14 20:16:39 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-07-14 20:16:39 +0000 |
commit | 0b8488c78a724e5502da4c748bc875bdc3afcdd9 (patch) | |
tree | 1850c73538ef0a062de0a417aa4ef2ad7184567f /Master | |
parent | eaaf9faef83392a61ca18d110442330a4a636416 (diff) |
eulerpx (14jul22)
git-svn-id: svn://tug.org/texlive/trunk@63890 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/fonts/eulerpx/README | 102 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/eulerpx/eulerpxdoc.pdf | bin | 0 -> 363770 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/fonts/eulerpx/eulerpxdoc.tex | 154 | ||||
-rw-r--r-- | Master/texmf-dist/doc/fonts/eulerpx/sample.tex | 176 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/eulerpx/eulerpx.sty | 281 | ||||
-rwxr-xr-x | Master/tlpkg/libexec/ctan2tds | 1 |
6 files changed, 497 insertions, 217 deletions
diff --git a/Master/texmf-dist/doc/fonts/eulerpx/README b/Master/texmf-dist/doc/fonts/eulerpx/README index 40bff6d9154..f6576978970 100644 --- a/Master/texmf-dist/doc/fonts/eulerpx/README +++ b/Master/texmf-dist/doc/fonts/eulerpx/README @@ -4,89 +4,15 @@ = = ================================================================================ = = -= Version 0.3.1 Luuk Tijssen = -= 2021-07-12 <ltijssen2502 at gmail dot com> = += Version 1.0 Luuk Tijssen = += 2022-07-14 <ltijssen2502 at gmail dot com> = = = ================================================================================ -The original author of this package is Jabir Ali Ouassou (up to, and including, -v0.2.1). Newer versions of the package are updated by its new maintainer, Luuk -Tijssen. I thank Ali for his continued support in the development of this -package. - -This package provides the `eulerpx' font, which started as a hybrid of multiple -other font packages, notably eulervm and newpxmath. Its purpose is to use the -eulervm symbols for greek and latin letters, but the newpxmath font for braces -and brackets, and the text font for digits and operators. - -This package was put together with the intent to use it with the Palatino and -Optima fonts (newpxtext and classico), but may work with other combinations too; -for instance, using it with the Kepler and Biolinum fonts (kpfonts and biolinum). -It is not recommended to use this package with the Computer Modern text font, -this looks ugly. - -To use the package, add this to your preamble: - - \usepackage{eulerpx} - -As of v0.3, bold math characters are accessed through the \boldsymbol macro -provided by the `amsmath' package. For more professional/serious applications, -it is recommended to load the `bm' package for this purpose instead. - -Before v0.3, bold math characters were accessed through the \mathbf macro. This -macro now yields the bold text (operator) font. - -This package basically loads the newpxmath package, after which it replaces the -characters which are available in the fonts provided by eulervm. Therefore, many -of the (anti-)features provided by newpxmath are carried over to this package as -well. It is recommended to also read the documentation to the newpxmath package, -which describes all of these features. This README only covers the features -added by the eulerpx package. - -As of v0.3, you can load the newpxmath package with any options before the -eulerpx package in your preamble - - \usepackage[varbb]{newpxmath} - \usepackage{eulerpx} - -such as in the above example with the option `varbb'. This will cause newpxmath -to load a different alphabet into the \mathbb macro. (Which, in the opinion of -the authors, is prettier than the default.) - -Before v0.3, newpxmath was loaded with the options `upint' and `varbb' by -default. When loading the newpxmath package before the eulerpx package without -using these options would result in an options-clash LaTeX error. Upright -integrals are still set by default, but without using this option, so that the -user is free to load newpxmath with whatever options they desire. - -As of v0.2, the font for digits and operators is automatically changed to serif -or sans-serif when the bindings \rmfamily or \sffamily (respectively) are -encountered. However, it was found that the implementation of this feature lead -to inconsistency in the output. For this reason, since v0.3, the feature now has -to be explicitly enabled by using the option `sansmath', i.e., - - \usepackage[sansmath]{eulerpx} - -in order to enable its functionality. Beware that enabling this option might -lead to unexpected behavior in the output. - -If the option `utf8' is provided, the package will also declare the Greek -unicode range; i.e., if the package is included with - - \usepackage[utf8]{inputenc} - \usepackage[utf8]{eulerpx} - -then you may write your equations in the form $α + β$ instead of $\alpha + -\beta$. Note that the unicode coverage only includes the lower- and upper case -Greek alphabets, no special roman/math characters are included. For this -purpose you will need to load another package. - - - License ------- -Copyright 2016-2017 J. A. Ouassou -Copyright 2021 L. Tijssen +Copyright 2016, 2017 Jabir Ali Ouassou +Copyright 2021, 2022 Luuk Tijssen This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license or (at your option) @@ -97,14 +23,21 @@ version 2005/12/01 or later. This work has the LPPL maintenance status `maintained'. -The Current Maintainer of this work is L. Tijssen. +The Current Maintainer of this work is Luuk Tijssen. This work consists of the file eulerpx.sty. - - History ------- +2022-07-14: + v1.0: First major release! + - Now with pdf documentation; + - Increased coverage of Euler symbols; + - Deprecated `sansmath' and `unicode' options; + - Added a key-value option scale to enable scaling the font; + - It is now possible to use eulerpx with math fonts other than + newpxmath with option `nonpxmath'; + - Other miscellaneous and under-the-hood improvements. 2021-07-12: v0.3.1: Fixed a bug introduced in v0.3.0 causing the \mathnormal alphabet to output glyphs in newpxmath instead of Euler Roman. @@ -127,8 +60,6 @@ History 2016-10-01: v0.1: Initial eulerpx package created. - - Credits ------- This package is based on the following existing packages: @@ -141,8 +72,3 @@ This package is based on the following existing packages: not use e.g. Euler digits and brackets. As of v0.3, support for encodings other than T1 has returned. It is now possible to use any encoding supported by newpxmath. - - The \mathversion implementation is inspired by the `sansmath' package. I - have modified this such that the macro does not alter the font used for - mathematical symbols, only the fonts used for operators and numerals. This - is useful for people that want to consistently use the Euler symbols in - *all* environments, and only typeset operators and digits in sans/serif. diff --git a/Master/texmf-dist/doc/fonts/eulerpx/eulerpxdoc.pdf b/Master/texmf-dist/doc/fonts/eulerpx/eulerpxdoc.pdf Binary files differnew file mode 100644 index 00000000000..5db89daa35a --- /dev/null +++ b/Master/texmf-dist/doc/fonts/eulerpx/eulerpxdoc.pdf diff --git a/Master/texmf-dist/doc/fonts/eulerpx/eulerpxdoc.tex b/Master/texmf-dist/doc/fonts/eulerpx/eulerpxdoc.tex new file mode 100644 index 00000000000..8a3b4ee4b76 --- /dev/null +++ b/Master/texmf-dist/doc/fonts/eulerpx/eulerpxdoc.tex @@ -0,0 +1,154 @@ + +\documentclass[11pt,a4paper,english]{article} + +\usepackage{babel} +\usepackage[margin=25mm]{geometry} +\usepackage{graphicx} +\usepackage{amsmath} + +\usepackage[helvratio=0.9]{newpxtext} +\usepackage[upint]{newpxmath} +\usepackage[nonpxmath]{../tex/eulerpx} +\def\hmmax{0} +\def\bmmax{0} +\usepackage{bm} +\usepackage{microtype} + +\usepackage[hidelinks,breaklinks=true]{hyperref} +\usepackage{bookmark} +\usepackage{biblatex} + +\usepackage{fonttable} + +\newcommand*\pkg[1]{{\sf #1}} +\newcommand*\cs[1]{{\tt\textbackslash #1}} +\newcommand*\printdef[2]{{\tt\cs{def}\cs{#1}\{#2\}}} + +%\urlstyle{tt} + +\frenchspacing + +\title{The \pkg{eulerpx} font package} +\author{% + Luuk T\ij ssen\thanks{% + The intial versions of this package were written by Jabir Ali Ouassou. + }\\ + \nolinkurl{ltijssen2502@gmail.com}% +} + +\begin{document} + +\maketitle + +\section*{Getting started} +You can start using \pkg{eulerpx} in your document right away by adding +\begin{verbatim} + \usepackage{newpxtext} + \usepackage{eulerpx} +\end{verbatim} +to your document preamble. +Euler Fraktur can be accessed through the \cs{mathfrak}-macro, likewise Euler Script through \cs{mathscr}. +The bold math font (Euler) can be accessed through \cs{boldsymbol}, and the bold text font through \cs{mathbf}. +Alternative versions of various math symbols and alphabets from \pkg{newpx} are provided by \cs{varmathfrak}, \cs{varmathscr}, \cs{varsum} and \cs{varaleph}. + +%In case you get the error +%\begin{verbatim} +% $! LaTeX Error: Too many math alphabets used in version normal. +%\end{verbatim} +%with this package, try using +%\begin{verbatim} +% \let\mathfrak=\varmathfrak +% \let\mathscr=\varmathscr +%\end{verbatim} +%and do \emph{not} use the \pkg{amssymb} package with \pkg{eulerpx}! + +\section{Introduction} +\AmS{} Euler (from here on simply referred to as `Euler') is a typeface created by Hermann Zapf (1918-2015) in 1983. +Unfortunately, Zapf wasn't able to complete the font during his lifetime, meaning that many frequently-used math symbols are missing from it. +In order to make Euler usable, these symbols have to be substituted from other fonts. +Other \LaTeX{} implementations of Euler, such as the \pkg{euler} and \pkg{eulervm} packages, use the default Computer Modern typeface for these substitutions. + +The big issue with using Computer Modern for substituting math symbols in Euler, is that these two fonts generally don't go well together. +The \pkg{eulerpx} package tries to alleviate this issue by allowing the user to choose different math fonts for its substitutions. +The obvious and default choice for this font is the Palatino typeface, another typeface created by Zapf. +This font is conveniently provided by the package \pkg{newpx}, and hence the name `eulerpx.' + +%\subsection{Further reading} +%Test + +\section{Options} +In initial versions of this package, \pkg{newpx} was the only font option. +But, since version 1{.}0, you can load your own math font \emph{before} \pkg{eulerpx}, if you use the \verb|nonpxmath|-option. +We additionally provide the key-value option \verb|scale| (for instance, \verb|scale=0.9|, for a fractional scale of 0{.}9). +This allows you to scale the Euler symbols to match the size of the symbols from the other font. + +Not all font combinations are guaranteed to look good, so exercise some caution in your font choice. +Additionally, you should try to stick to math fonts that include upright integrals (for instance, through an \verb|upint|-option), and slanted versions of the inequality symbols, which are selected automatically by \pkg{eulerpx}, if available. +If you prefer the non-slanted inequality symbols, this behaviour can be inhibited using the \verb|noslant|-option. + +\subsection{Example} +For instance, in order to use the Times typeface (package \pkg{newtx}) with Euler, you can add +\begin{verbatim} + \usepackage{newtxtext} + \usepackage[upint]{newtxmath} + \usepackage[nonpxmath,scale=0.95]{eulerpx} +\end{verbatim} +to your document preamble. +The scale factor of 0{.}95 was derived empirically by trying to match the height of the text and math `x;' \verb|x$x$|. + +\section{Deprecated options} +Some of the options that were previously offered by this package are now deprecated. +These options were not correctly implemented and could cause visual artifacts. +If you would still like to use some of these options, alternatives that mimic their original behaviour are provided below. + +\subsection{The {\tt sansmath}-option} +If you want to use the sans-serif text font for operators (as opposed to the default serif text font), you can add the following to your document preamble: +\begin{verbatim} + \usepackage{newpxtext} + \let\oldrmdefault=\rmdefault + \let\rmdefault=\sfdefault + \usepackage{eulerpx} + \let\rmdefault=\oldrmdefault +\end{verbatim} + +\subsection{The {\tt unicode}-option} +If you want to write mathematics in Unicode in {\tt pdflatex}, you can add this to your document preamble:\footnote{Credit: David Carlisle on Stack Exchange, \url{https://tex.stackexchange.com/a/601583}.} +\begin{verbatim} + \usepackage{newpxtext} + \usepackage{eulerpx} + \let\rmdefault=\oldrmdefault + \def\z"{} + \def\UnicodeMathSymbol#1#2#3#4{% + \ifnum#1>"A0 + \DeclareUnicodeCharacter{\z#1}{#2}% + \fi + } + \input unicode-math-table +\end{verbatim} +Though, in that case, you may also want to switch to Xe\LaTeX, in which case you can use the \pkg{unicode-math} package. + +\pagebreak +\appendix +\section{Font sample}\label{sec:sample} +The following excerpt is taken from Michael Sharpe's \pkg{stickstoo} package documentation (page 4), who in turn sourced it from the \TeX Book and Karl Berry's torture test. + +\input sample.tex + +\newpage +\section{Font tables}\label{sec:tables} +\subsection{euf} +\fonttable{eufm10} + +\newpage +\subsection{zeur} +\fonttable{zeurm10} + +\newpage +\subsection{zeus} +\fonttable{zeusm10} + +\newpage +\subsection{zeuex} +\fonttable{zeuex10} + +\end{document} diff --git a/Master/texmf-dist/doc/fonts/eulerpx/sample.tex b/Master/texmf-dist/doc/fonts/eulerpx/sample.tex new file mode 100644 index 00000000000..5505c02a57d --- /dev/null +++ b/Master/texmf-dist/doc/fonts/eulerpx/sample.tex @@ -0,0 +1,176 @@ + +\newcommand*\mat[1]{\bm{#1}} +%\newcommand*\mat[1]{\textsf{#1}} + +%The following snippets mostly originated with the \TeX Book and were adapted for \LaTeX{} from Karl~Berry's torture test for plain \TeX{} math fonts. + +$x + y - z$, \quad $x + y * z$, \quad $z * y / z$, \quad +$(x+y)(x-y) = x^2 - y^2$, + +$x \times y \cdot z = [x\, y\, z]$, \quad $x\circ y \bullet z$, \quad +$x\cup y \cap z$, \quad $x\sqcup y \sqcap z$, \quad + +$x \vee y \wedge z$, \quad $x\pm y\mp z$, \quad +$x=y/z$, \quad $x \coloneq y$, \quad $x\le y \ne z$, \quad $x \sim y \simeq z$ +$x \equiv y \nequiv z$, \quad $x\subset y \subseteq z$ + +$\sin2\theta=2\sin\theta\cos\theta$, \quad +$\hbox{O}(n\log n\log n)$, \quad +$\Pr(X>x)=\exp(-x/\mu)$, + +$\bigl(x\in A(n)\bigm|x\in B(n)\bigr)$, \quad +$\bigcup_n X_n\bigm\|\bigcap_n Y_n$ + +% page 178 + +In text matrices $\binom{1\,1}{0\,1}$ and $\bigl(\genfrac{}{}{0pt}{}{a}{1}\genfrac{}{}{0pt}{}{b}{m}\genfrac{}{}{0pt}{}{c}{n}\bigr)$ + +% page 142 + +\[a_0+\frac1{\displaystyle a_1 + +{\strut \frac1{\displaystyle a_2 + +{\strut \frac1{\displaystyle a_3 + +{\strut \frac1{\displaystyle a_4}}}}}}}\] + +% page 143 + +\[\binom{p}{2}x^2y^{p-2} - \frac1{1 - x}\frac{1}{1 - x^2} += +\frac{a+1}{b}\bigg/\frac{c+1}{d}.\] + +%% page 145 + +\[\sqrt{1+\sqrt{1+\sqrt{1+\sqrt{1+\sqrt{1+x}}}}}\] + +%% page 147 + +\[\left(\frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2}\right) +\bigl|\varphi(x+iy)\bigr|^2=0\] + +%% page 149 + +% \[\pi(n)=\sum_{m=2}^n\left\lfloor\biggl(\sum_{k=1}^{m-1}\bigl +% \lfloor(m/k)\big/\lceil m/k\rceil\bigr\rfloor\biggr)^{-1}\right\rfloor.\] + +\[\pi(n)=\sum_{m=2}^n\left\lfloor\Biggl(\sum_{k=1}^{m-1}\bigl +\lfloor(m/k)\big/\lceil m/k\rceil\bigr\rfloor\Biggr)^{-1}\right\rfloor.\] + +% page 168 + +\[\int_0^\infty \frac{t - i b}{t^2 + b^2}e^{iat}\,dt=e^{ab}E_1(ab), \quad +a,b > 0.\] + +% page 176 + +\[\mat{A} \coloneq \begin{pmatrix}x-\lambda&1&0\\ +0&x-\lambda&1\\ +0&0&x-\lambda\end{pmatrix}.\] + +\[\left\lgroup\begin{matrix}a&b&c\\ d&e&f\\\end{matrix}\right\rgroup +\left\lgroup\begin{matrix}u&x\cr v&y\cr w&z\end{matrix}\right\rgroup\] + +% page 177 + +\[\mat{A} = \begin{pmatrix}a_{11}&a_{12}&\ldots&a_{1n}\\ +a_{21}&a_{22}&\ldots&a_{2n}\\ +\vdots&\vdots&\ddots&\vdots\\ +a_{m1}&a_{m2}&\ldots&a_{mn}\end{pmatrix}\] + +\[\mat{M}=\bordermatrix{&C&I&C'\cr +C&1&0&0\cr I&b&1-b&0\cr C'&0&a&1-a}\] + +%% page 186 + +\[\sum_{n=0}^\infty a_nz^n\qquad\hbox{converges if}\qquad +|z|<\Bigl(\limsup_{n\to\infty}\root n\of{|a_n|}\,\Bigr)^{-1}.\] + +\[\frac{f(x+\Delta x)-f(x)}{\Delta x}\to f'(x) +\qquad \hbox{as $\Delta x\to0$.}\] + +\[\|u_i\|=1,\qquad u_i\cdot u_j=0\quad\hbox{if $i\ne j$.}\] + +%% page 191 + +\[\it\hbox{The confluent image of}\quad +\begin{Bmatrix}\hbox{an arc}\hfill\\\hbox{a circle}\hfill\\ +\hbox{a fan}\hfill\\\end{Bmatrix} +\quad\hbox{is}\quad +\begin{Bmatrix}\hbox{an arc}\hfill\\ +\hbox{an arc or a circle}\hfill\\ +\hbox{a fan or an arc}\hfill\end{Bmatrix}.\] + +%% page 191 + +\begin{align*} +T(n)\le T(2^{\lceil\lg n\rceil}) +&\le c(3^{\lceil\lg n\rceil}-2^{\lceil\lg n\rceil})\\ +&<3c\cdot3^{\lg n}\\ +&=3c\,n^{\lg3}. +\end{align*} + +%\begin{align*} +%\left\{% +%\begin{gathered}\alpha&=f(z)\\ \beta&=f(z^2)\\ \gamma&=f(z^3) +%\end{gathered} +%\right\} +%\qquad +%\left\{% +%\begin{gathered} +%x&=\alpha^2-\beta\\ y&=2\gamma +%\end{gathered} +%\right\}% +%\end{align*} + +%\[\left\{ +%\begin{align} +%\alpha&=f(z)\cr \beta&=f(z^2)\cr \gamma&=f(z^3)\\ +%%\end{align} +%\right\} +%\qquad +%\left\{ +%%\begin{align} +%x&=\alpha^2-\beta\cr y&=2\gamma\\ +%\end{align} +%\right\}.\] +%%% page 192 + +\begin{align*} +\begin{aligned} +(x+y)(x-y)&=x^2-xy+yx-y^2\\ +&=x^2-y^2\\ +(x+y)^2&=x^2+2xy+y^2. +\end{aligned} +\end{align*} + +%% page 192 + +\begin{align*} +\begin{aligned} +\biggl(\int_{-\infty}^\infty e^{-x^2}\,dx\biggr)^2 +&=\int_{-\infty}^\infty\int_{-\infty}^\infty e^{-(x^2+y^2)}\,dx\,dy\\ +&=\int_0^{2\pi}\int_0^\infty e^{-r^2}\,dr\,d\theta\\ +&=\int_0^{2\pi}\biggl(e^{-\frac{r^2}{2}} +\biggl|_{r=0}^{r=\infty}\,\biggr)\,d\theta\\ +&=\pi. +\end{aligned} +\end{align*} + +%% page 197 + +\[\prod_{k\ge0}\frac{1}{(1-q^kz)}= +\sum_{n\ge0}z^n\bigg/\!\!\prod_{1\le k\le n}(1-q^k).\] + +\[\sum_{\substack{\scriptstyle 0< i\le m\\\scriptstyle0<j\le n}}p(i,j) \,\ne +% +% \[\sum_{i=1}^p \sum_{j=1}^q \sum_{k=1}^r a_{ij} b_{jk} c_{ki}\] +% +\sum_{i=1}^p \sum_{j=1}^q \sum_{k=1}^r a_{ij} b_{jk} c_{ki} \,\ne +% +\sum_{\substack{\scriptstyle 1\le i\le p \\ \scriptstyle 1\le j\le q\\ +\scriptstyle 1\le k\le r}} a_{ij} b_{jk} c_{ki}\] + +\[\max_{1\le n\le m}\log_2P_n \quad \hbox{and} \quad +\lim_{x\to0}\frac{\sin x}{x}=1\] + +\[p_1(n)=\lim_{m\to\infty}\sum_{\nu=0}^\infty\bigl(1-\cos^{2m}(\nu!^n\pi/n)\bigr)\] + diff --git a/Master/texmf-dist/tex/latex/eulerpx/eulerpx.sty b/Master/texmf-dist/tex/latex/eulerpx/eulerpx.sty index cc26a46e9a7..33cc0ae11e2 100644 --- a/Master/texmf-dist/tex/latex/eulerpx/eulerpx.sty +++ b/Master/texmf-dist/tex/latex/eulerpx/eulerpx.sty @@ -1,33 +1,123 @@ -%% eulerpx.sty -%% Copyright 2016-2017 J. A. Ouassou -%% Copyright 2021 L. Tijssen -%% -%% This work may be distributed and/or modified under the conditions of the LaTeX -%% Project Public License, either version 1.3 of this license or (at your option) -%% any later version. The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of LaTeX -%% version 2005/12/01 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainer of this work is L. Tijssen. -%% -%% This work consists of the file eulerpx.sty. -%% - -% Package metadata -\def\fileversion{v0.3.1} -\def\filedate{2021/07/12} +% eulerpx.sty +% +% Copyright (C) 2016, 2017 Jabir Ali Ouassou +% Copyright (C) 2021, 2022 Luuk Tijssen +% +% This work may be distributed and/or modified under the conditions of the LaTeX +% Project Public License, either version 1.3 of this license or (at your option) +% any later version. The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Luuk Tijssen. +% +% This work consists of the file eulerpx.sty. + +\def\fileversion{v1.0} +\def\filedate{2022/07/14} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{eulerpx}[\filedate\space\fileversion] -\typeout{Package: `eulerpx' \fileversion\space<\filedate>} +\typeout{Package: `eulerpx' \fileversion\space <\filedate>} -% Inherit custom integral definitions from `amsmath' \RequirePackage{amsmath} +\RequirePackage{xkeyval} + +%% Macro definitions + +% Apply font-wide scaling factor +\def\epx@scale#1{% + \xdef\zeu@Scale{#1}% + \xdef\zeu@@Scale{s*[#1]}% +} + +% Use text symbols in math +\def\epx@mathsymbol#1{% + \mathchoice + {\mbox{{\normalsize#1}}} + {\mbox{{\normalsize#1}}} + {\mbox{{\scriptsize#1}}} + {\mbox{{\tiny#1}}}% +} +\def\epx@mathop#1{% + \mathchoice + {\vcenter{\hbox{{\normalsize#1}}}} + {\vcenter{\hbox{{\normalsize#1}}}} + {\vcenter{\hbox{{\scriptsize#1}}}} + {\vcenter{\hbox{{\tiny#1}}}}% +} + +% \let#1=#2, only if #2 exists +\def\epx@let#1#2{% + \ifdefined#2 + \let#1=#2 + \else + \PackageWarning{eulerpx}{% + Missing character `\protect#2',\MessageBreak + substituting `\protect#1'% + } + \fi +} + +%% Package options -% Inherit math symbols from the `newpxmath' package -\RequirePackage{newpxmath} +\newif\ifepx@npxmath +\newif\ifepx@slant +\DeclareOptionX{scale}{\epx@scale{#1}} +\DeclareOptionX{scaled}{\epx@scale{#1}} +\DeclareOptionX{nonpxmath}{\epx@npxmathfalse} +\DeclareOptionX{noslant}{\epx@slantfalse} + +\epx@scale{1.0} +\epx@npxmathtrue +\epx@slanttrue +\ProcessOptionsX + +%% Font setup + +\ifepx@npxmath + %\@ifpackageloaded{newpxmath}{% + % \PackageWarning{eulerpx}{% + % Package `newpxmath' already loaded\MessageBreak + % package options may differ% + % }}{% + \RequirePackage[upint,scaled=\zeu@Scale]{newpxmath}% + % }% +\fi + +\ifepx@slant + \epx@let{\geq}{\geqslant} + \let\ge=\geq + \epx@let{\leq}{\leqslant} + \let\le=\leq + \epx@let{\ngeq}{\ngeqslant} + \epx@let{\nleq}{\nleqslant} +\fi + +% eulervm.sty, ca. lines 133--146/ +% newpxmath.sty, ca. lines 197--209 +% Miscellaneous text font symbols +\DeclareMathSymbol{,}{\mathpunct}{operators}{44} +\DeclareMathSymbol{.}{\mathord}{operators}{46} +\DeclareMathSymbol{\ldotp}{\mathpunct}{operators}{46} +%\def\mathsection{\epx@mathsymbol{\textsection}} % doesn't respect \boldmath + +% Declare text font as operator font +\DeclareSymbolFont{operators}{OT1}{\rmdefault}{m}{n} +\SetSymbolFont{operators}{bold}{OT1}{\rmdefault}{b}{n} +\def\operator@font{\mathgroup\symoperators} + +% Declare text font as math alphabets +\DeclareSymbolFontAlphabet{\mathrm}{operators} +\DeclareMathAlphabet{\mathsf}{\encodingdefault}{\sfdefault}{m}{n} +\DeclareMathAlphabet{\mathit}{OT1}{\rmdefault}{m}{it} +\DeclareMathAlphabet{\mathtt}{\encodingdefault}{\ttdefault}{m}{n} +\SetMathAlphabet{\mathsf}{bold}{\encodingdefault}{\sfdefault}{b}{n} +\SetMathAlphabet{\mathit}{bold}{OT1}{\rmdefault}{b}{it} +\SetMathAlphabet{\mathtt}{bold}{\encodingdefault}{\ttdefault}{b}{n} +\DeclareMathAlphabet{\mathbf}{OT1}{\rmdefault}{b}{n} % Declare Euler Roman as symbol font \DeclareSymbolFont{EulerRoman}{U}{zeur}{m}{n} @@ -36,14 +126,32 @@ % Declare Euler math alphabets % Euler Script +\let\varmathscr=\mathscr \let\mathscr=\undefined \DeclareMathAlphabet\mathscr{U}{zeus}{m}{n} \SetMathAlphabet\mathscr{bold}{U}{zeus}{b}{n} +% eulervm.sty, ca. lines 217--227 % Euler Fraktur +\DeclareFontFamily{U}{euf}{}% +\DeclareFontShape{U}{euf}{m}{n}{% + <-6>\zeu@@Scale eufm5% + <6-9>\zeu@@Scale eufm7% + <9->\zeu@@Scale eufm10% +}{}% +\DeclareFontShape{U}{euf}{b}{n}{% + <-6>\zeu@@Scale eufb5% + <6-9>\zeu@@Scale eufb7% + <9->\zeu@@Scale eufb10% +}{}% + +\let\varmathfrak=\mathfrak +\let\mathfrak=\undefined \DeclareMathAlphabet\mathfrak{U}{euf}{m}{n} \SetMathAlphabet\mathfrak{bold}{U}{euf}{b}{n} +%% Symbol declarations + % Upper-case Greek letters \DeclareMathSymbol{\Gamma}{\mathalpha}{EulerRoman}{0} \DeclareMathSymbol{\Delta}{\mathalpha}{EulerRoman}{1} @@ -88,7 +196,7 @@ \let\varrho=\rho \DeclareMathSymbol{\varphi}{\mathord}{EulerRoman}{39} -%% Arabic (lining) numerals +% Arabic (lining) numerals %\DeclareMathSymbol{0}{\mathalpha}{EulerRoman}{48} %\DeclareMathSymbol{1}{\mathalpha}{EulerRoman}{49} %\DeclareMathSymbol{2}{\mathalpha}{EulerRoman}{50} @@ -101,6 +209,7 @@ %\DeclareMathSymbol{9}{\mathalpha}{EulerRoman}{57} % %\DeclareMathSymbol{.}{\mathord}{EulerRoman}{58} +%\DeclareMathSymbol{\ldotp}{\mathpunct}{EulerRoman}{58} %\DeclareMathSymbol{,}{\mathpunct}{EulerRoman}{59} \DeclareMathSymbol{\partial}{\mathord}{EulerRoman}{64} @@ -167,111 +276,25 @@ \DeclareMathSymbol{\jmath}{\mathord}{EulerRoman}{124} \DeclareMathSymbol{\wp}{\mathord}{EulerRoman}{125} -\DeclareMathSymbol{\hslash}{\mathord}{EulerRoman}{128} -\let\hbar=\hslash - -% Renew the definition of #1 to #3, only if #3 exists, -% and store the old definition of #1 in #2 -\def\epx@renewifdefined#1#2#3{% - \ifdefined#3% - \let#2=#1% - \let#1=#3% - \fi% -} - -% Change geq, leq and their shorthands/negations to slanted versions -\epx@renewifdefined{\geq}{\geqnormal}{\geqslant} -\let\ge=\geq -\epx@renewifdefined{\leq}{\leqnormal}{\leqslant} -\let\le=\leq -\epx@renewifdefined{\ngeq}{\ngeqnormal}{\ngeqslant} -\epx@renewifdefined{\nleq}{\nleqnormal}{\nleqslant} - -% Upright integrals -\epx@renewifdefined{\smallint}{\smallintsl}{\smallintup} -\epx@renewifdefined{\smalliint}{\smalliintsl}{\smalliintup} -\epx@renewifdefined{\smalliiint}{\smalliiintsl}{\smalliiintup} -\epx@renewifdefined{\smalloint}{\smallointsl}{\smallointup} -\epx@renewifdefined{\smalloiint}{\smalloiintsl}{\smalloiintup} -\epx@renewifdefined{\smalloiiint}{\smalloiiintsl}{\smalloiiintup} -\epx@renewifdefined{\smallvarointclockwise}{\smallvarointclockwisesl}{\smallvarointclockwiseup} -\epx@renewifdefined{\smallointctrclockwise}{\smallointctrclockwisesl}{\smallointctrclockwiseup} -\epx@renewifdefined{\smallsumint}{\smallsumintsl}{\smallsumintup} -\epx@renewifdefined{\smalliiiint}{\smalliiiintsl}{\smalliiiintup} -\epx@renewifdefined{\smallfint}{\smallfintsl}{\smallfintup} -\epx@renewifdefined{\smallsqint}{\smallsqintsl}{\smallsqintup} - -\epx@renewifdefined{\intop}{\intslop}{\intupop} -\epx@renewifdefined{\iintop}{\iintslop}{\iintupop} -\epx@renewifdefined{\iiintop}{\iiintslop}{\iiintupop} -\epx@renewifdefined{\ointop}{\ointslop}{\ointupop} -\epx@renewifdefined{\oiintop}{\oiintslop}{\oiintupop} -\epx@renewifdefined{\oiiintop}{\oiiintslop}{\oiiintupop} -\epx@renewifdefined{\varointclockwiseop}{\varointclockwiseslop}{\varointclockwiseupop} -\epx@renewifdefined{\ointctrclockwiseop}{\ointctrclockwiseslop}{\ointctrclockwiseupop} -\epx@renewifdefined{\sumintop}{\sumintslop}{\sumintupop} -\epx@renewifdefined{\iiiintop}{\iiiintslop}{\iiiintupop} -\epx@renewifdefined{\fintop}{\fintslop}{\fintupop} -\epx@renewifdefined{\sqintop}{\sqintslop}{\sqintupop} - -% Sans-serif maths -\DeclareOption{sansmath}{ - % Declare the math serif font - \DeclareMathVersion{normal} - \SetSymbolFont{operators}{normal}{T1}{\rmdefault}{m}{n} - \SetMathAlphabet{\mathrm}{normal}{T1}{\rmdefault}{m}{n} - - % Declare the math sans font - \DeclareMathVersion{sans} - \SetSymbolFont{operators}{sans}{T1}{\sfdefault}{m}{n} - \SetMathAlphabet{\mathrm}{sans}{T1}{\sfdefault}{m}{n} - - % Make the package toggle between sans/serif math automatically - \let\oldrmfamily=\rmfamily - \let\oldsffamily=\sffamily - \renewcommand{\rmfamily}{\oldrmfamily\mathversion{normal}} - \renewcommand{\sffamily}{\oldsffamily\mathversion{sans}} -} +% Miscellaneous Euler symbols +%\DeclareMathSymbol{\hslash}{\mathord}{EulerRoman}{128} +%\let\hbar=\hslash +% don't respect \boldmath +\def\Re{\epx@mathsymbol{\usefont{U}{zeus}{m}{n}\char60}} +\def\Im{\epx@mathsymbol{\usefont{U}{zeus}{m}{n}\char61}} +\let\varaleph=\aleph +\def\aleph{\epx@mathsymbol{\usefont{U}{zeus}{m}{n}\char64}} +\def\mathsection{\epx@mathsymbol{\usefont{U}{zeus}{m}{n}\char120}} -% Unicode input -\DeclareOption{utf8}{ - \DeclareUnicodeCharacter{0393}{\Gamma} - \DeclareUnicodeCharacter{0394}{\Delta} - \DeclareUnicodeCharacter{0398}{\Theta} - \DeclareUnicodeCharacter{039B}{\Lambda} - \DeclareUnicodeCharacter{039E}{\Xi} - \DeclareUnicodeCharacter{03A0}{\Pi} - \DeclareUnicodeCharacter{03A3}{\Sigma} - \DeclareUnicodeCharacter{03A5}{\Upsilon} - \DeclareUnicodeCharacter{03A6}{\Phi} - \DeclareUnicodeCharacter{03A8}{\Psi} - \DeclareUnicodeCharacter{03A9}{\Omega} - \DeclareUnicodeCharacter{03B1}{\alpha} - \DeclareUnicodeCharacter{03B2}{\beta} - \DeclareUnicodeCharacter{03B3}{\gamma} - \DeclareUnicodeCharacter{03B4}{\delta} - \DeclareUnicodeCharacter{03B5}{\epsilon} - \DeclareUnicodeCharacter{03B6}{\zeta} - \DeclareUnicodeCharacter{03B7}{\eta} - \DeclareUnicodeCharacter{03B8}{\theta} - \DeclareUnicodeCharacter{03B9}{\iota} - \DeclareUnicodeCharacter{03BA}{\kappa} - \DeclareUnicodeCharacter{03BB}{\lambda} - \DeclareUnicodeCharacter{03BC}{\mu} - \DeclareUnicodeCharacter{03BD}{\nu} - \DeclareUnicodeCharacter{03BE}{\xi} - \DeclareUnicodeCharacter{03C0}{\pi} - \DeclareUnicodeCharacter{03C1}{\rho} - \DeclareUnicodeCharacter{03C2}{\sigma} - \DeclareUnicodeCharacter{03C3}{\sigma} - \DeclareUnicodeCharacter{03C4}{\tau} - \DeclareUnicodeCharacter{03C5}{\upsilon} - \DeclareUnicodeCharacter{03C6}{\varphi} - \DeclareUnicodeCharacter{03C7}{\chi} - \DeclareUnicodeCharacter{03C8}{\psi} - \DeclareUnicodeCharacter{03C9}{\omega} +\def\epx@smallsum{\epx@mathop{\usefont{U}{zeuex}{m}{n}\char80}} +\def\epx@sum{\epx@mathop{\usefont{U}{zeuex}{m}{n}\char88}} +\let\varsum=\sum +\let\sum=\undefined +\DeclareMathOperator*{\sum}{% + \mathchoice{\epx@sum}{\epx@smallsum}{\epx@smallsum}{\epx@smallsum}% } -\ProcessOptions\relax +%\let\varsmallsum=\smallsum +%\def\smallsum{\epx@mathop{\usefont{U}{zeur}{m}{n}\char6}} \endinput diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 70e75c19f37..7fded9656ff 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -502,6 +502,7 @@ chomp (my $ctan_root = `tlpkginfo --ctan-root`); 'ethiop', "&MAKEflatten", 'euclide', "&MAKEpst", 'eukleides', "die 'skipping, requires compilation'", + 'eulerpx', "&MAKEflatten", 'eulervm', "&MAKEcopy", 'euproposal', "die 'skipping, replaced by proposal'", 'eurofont', "die 'skipping, support for nonfree fonts or obsolete'", |