%% %% This is file `pm-isomath.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% pm-isomath.dtx (with options: `style') %% ______________________________________________________ %% The PM-ISOmath bundle %% Copyright (C) 2017-2021 Claudio Beccari %% All rights reserved %% %% License information appended %% \NeedsTeXFormat{LaTeX2e}[2019/01/01] \ProvidesPackage{pm-isomath}[% 2021/08/24 v.1.2.00 Poor man package for typesetting ISO compliant math when using pdfLaTeX] \@ifpackageloaded{iftex}{}{\RequirePackage{iftex}} \unless\ifPDFTeX \PackageError{pm-isomath}{% ******************************************\MessageBreak This package should be used only when \MessageBreak typesetting with pdfLaTeX. \MessageBreak Loading this package is skipped \MessageBreak ******************************************\MessageBreak }{% ******************************************\MessageBreak Press the X key and restart typesetting \MessageBreak while using pdfLaTeX\MessageBreak ******************************************\MessageBreak } \expandafeter\@firstoftwo \else \PackageInfo{pm-isomath}{% ******************************************\MessageBreak Typesetting this document with pdfLaTeX! \MessageBreak ******************************************\MessageBreak } \expandafter\@secondoftwo \fi {\endinput}{\relax} \newif\ifengineer \engineerfalse \DeclareOption{engineer}{\engineertrue} \ProcessOptions*\relax \@ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}} \@ifpackageloaded{etoolbox}{}{\RequirePackage{etoolbox}} \RequirePackage{xparse} \newcommand\switchvarsymbols[1]{% \letcs{\tempA}{#1}\csletcs{#1}{var#1}\cslet{var#1}{\tempA}} %%%% \newcommand\switchvarlowercasegreekletters{% \switchvarsymbols{epsilon} \switchvarsymbols{theta} \switchvarsymbols{rho} \switchvarsymbols{phi}} %%%% \newcommand\switchvaruppercasegreekletters{% \switchvarsymbols{Gamma} \switchvarsymbols{Delta} \switchvarsymbols{Theta} \switchvarsymbols{Lambda} \switchvarsymbols{Xi} \switchvarsymbols{Pi} \switchvarsymbols{Sigma} \switchvarsymbols{Upsilon} \switchvarsymbols{Phi} \switchvarsymbols{Psi} \switchvarsymbols{Omega}} %%%%% \switchvarlowercasegreekletters \switchvaruppercasegreekletters \@ifpackageloaded{alphabeta}{}{\RequirePackage{alphabeta}} \def\Def@Fam{lmr}\edef\ISOfam{\Def@Fam} \def\ISOser{m} \def\ISOsha{n} \AtBeginDocument{% \unless\ifx\f@family\Def@Fam\edef\ISOfam{\f@family}\fi } \NewDocumentCommand\MathLatin{m g O{m} D(){it}}{% \bgroup\edef\y{\IfNoValueTF{#2}{\ISOfam}{#2}}% \edef\x{\noexpand\egroup\noexpand\MLatin{\noexpand#1}{\y}}\x{#3}{#4}% } \providecommand\MLatin[4]{\text{\def\ISOfam{#2}\def\ISOsha{#4}% \ifcsstring{math@version}{bold}{\def\ISOser{bx}}{\def\ISOser{#3}}% \usefont{T1}{\ISOfam}{\ISOser}{\ISOsha}#1}} \NewDocumentCommand\MathGreek{ m g O{m} d()}{% \edef\y{\IfNoValueTF{#2}{\ISOfam}{#2}}% \edef\x{\IfNoValueTF{#4}{\ISOsha}{#4}}% \MGreek{#1}{\y}{#3}{\x}} \newcommand{\MGreek}[4]{\text{\def\ISOfam{#2}\def\ISOsha{#4}% \ifcsstring{math@version}{bold}{\def\ISOser{bx}}{\def\ISOser{#3}}% {\usefont{LGR}{\ISOfam}{\ISOser}{\ISOsha}#1}}} \newcommand\ISOalpha{\MathGreek{\alpha}} \newcommand\ISObeta{\MathGreek{\beta}} \newcommand\ISOgamma{\MathGreek{\gamma}} \newcommand\ISOdelta{\MathGreek{\delta}} \newcommand\ISOepsilon{\MathGreek{\epsilon}} \newcommand\ISOzeta{\MathGreek{\zeta}} \newcommand\ISOeta{\MathGreek{\eta}} \newcommand\ISOtheta{\MathGreek{\theta}} \newcommand\ISOiota{\MathGreek{\iota}} \newcommand\ISOkappa{\MathGreek{\kappa}} \newcommand\ISOlambda{\MathGreek{\lambda}} \newcommand\ISOmu{\MathGreek{\mu}} \newcommand\ISOnu{\MathGreek{\nu}} \newcommand\ISOxi{\MathGreek{\xi}} \newcommand\ISOomicron{\MathGreek{\omicron}} \newcommand\ISOpi{\MathGreek{\pi}} \newcommand\ISOrho{\MathGreek{\rho}} \newcommand\ISOsigma{\MathGreek{\sigma}} \newcommand\ISOtau{\MathGreek{\tau}} \newcommand\ISOupsilon{\MathGreek{\upsilon}} \newcommand\ISOphi{\MathGreek{\phi}} \newcommand\ISOchi{\MathGreek{\chi}} \newcommand\ISOpsi{\MathGreek{\psi}} \newcommand\ISOomega{\MathGreek{\omega}} \newcommand\ISOGamma{\MathGreek{\Gamma}} \newcommand\ISODelta{\MathGreek{\Delta}} \newcommand\ISOEta{\MathGreek{\Eta}} \newcommand\ISOTheta{\MathGreek{\Theta}} \newcommand\ISOLambda{\MathGreek{\Lambda}} \newcommand\ISOXi{\MathGreek{\Xi}} \newcommand\ISOPi{\MathGreek{\Pi}} \newcommand\ISORho{\MathGreek{\Rho}} \newcommand\ISOSigma{\MathGreek{\Sigma}} \newcommand\ISOUpsilon{\MathGreek{\Upsilon}} \newcommand\ISOPhi{\MathGreek{\Phi}} \newcommand\ISOChi{\MathGreek{\Chi}} \newcommand\ISOPsi{\MathGreek{\Psi}} \newcommand\ISOOmega{\MathGreek{\Omega}} \DeclareRobustCommand{\mathrm}% {\relax\ifmmode\else\expandafter\non@alpherr \csname mathrm \endcsname\fi \def\ISOsha{n}\expandafter\use@mathgroup \csname M@OT1\endcsname\symoperators} \DeclareRobustCommand{\mathit}% {\relax\ifmmode\expandafter\non@alpherr \csname mathit \endcsname\fi \def\ISOsha{it}\expandafter\use@mathgroup \csname M@OT1\endcsname{9}} \AtBeginDocument{% \providecommand\mathrmbf[1]{\MathLatin{#1}{lmr}[bx](n)} \providecommand\mathbfit[1]{\MathLatin{#1}{lmr}[bx](it)} \providecommand\mathsfit[1]{\MathLatin{#1}{lmss}[m](sl)} \providecommand\mathsfbfit[1]{\MathLatin{#1}{lmss}[bx](sl)} \providecommand\mathsfbf[1]{\MathLatin{#1}{lmss}[bx](n)} } \AtBeginDocument{% \unless\ifdefined\vectorsymbol \NewDocumentCommand\vectorsymbol{s m}{% \ifnum 9<1#2\relax \mathrmbf{#2}% \else \IfBooleanTF{#1}{\!}{}\mathbfit{#2\/}% \fi}% \fi \unless\ifdefined\matrixsymbol\let\matrixsymbol\vectorsymbol\fi \unless\ifdefined\tensorsymbol \NewDocumentCommand\tensorsymbol{s m}{% \ifnum 9<1#2\relax \mathsfbf{#2}% \else \IfBooleanT{#1}{\!}\mathsfbfit{#2\/}% \fi}% \fi } \newcommand\iunit{\MathLatin{i}(n)} \newcommand\junit{\MathLatin{j}(n)} \ifengineer \let\iu\junit \else \let\iu\iunit \fi \let\eu\undefined \DeclareMathOperator\eu{\MathLatin{e}(n)} \providecommand\uppi{} \renewcommand\uppi{\ISOpi(n)} \providecommand*\diff{} \renewcommand*\diff{\ensuremath{\mathop{}\!\MathLatin{d}(n)}} \newbox{\PMpartialbox} \AtBeginDocument{% \unless\ifdefined\uppartial% \NewDocumentCommand\uppartial{O{0.25}}{\bgroup% \setbox\PMpartialbox\hbox{% $\mkern1mu\partial$}\hspace{1.3\wd\PMpartialbox}% \pdfsave\pdfsetmatrix{1 0 -#1 1}\llap{\box\PMpartialbox}\pdfrestore \mkern-1.5mu\egroup} \fi} \providecommand*\micro{} \AtBeginDocument{\@ifpackageloaded{textcomp}% {\renewcommand*\micro{\textormath{\textmu}{\ISOmu(rs)}}}% {\renewcommand*\micro{\ISOmu(rs)}}% } \providecommand*\ohm{}\def\ISOohm{\ISOOmega(n)} \AtBeginDocument{% \@ifpackageloaded{siunitx}{\let\ohm\ISOohm}{\let\ohm\ISOohm}% }% \global\csletcs{bbl@it@ped}{undefined} \global\csletcs{bbl@it@ap}{undefined} \DeclareRobustCommand\textormath{% \unless\ifmmode\expandafter\@firstoftwo \else\expandafter\@secondoftwo\fi} \AfterEndPreamble{\let\ped\undefined\let\ap\undefined \DeclareRobustCommand*\ped[1]{% \textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}% \DeclareRobustCommand\ap[1]{% \textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}% \unless\ifcsname unit\endcsname \DeclareRobustCommand{\unit}[1]{\,\textormath{#1}{\mathrm{#1}}} \fi} %% %% %% Distributable under the LaTeX Project Public License, %% version 1.3c or higher (your choice). The latest version of %% this license is at: http://www.latex-project.org/lppl.txt %% %% This work is "maintained" %% %% This work consists of this file pm-isomath.dtx, a README.txt file %% and the derived files: %% pm-isomath.sty, pm-isomath.pdf. %% %% %% End of file `pm-isomath.sty'.