summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/pm-isomath/pm-isomath.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/pm-isomath/pm-isomath.dtx')
-rw-r--r--macros/latex/contrib/pm-isomath/pm-isomath.dtx125
1 files changed, 87 insertions, 38 deletions
diff --git a/macros/latex/contrib/pm-isomath/pm-isomath.dtx b/macros/latex/contrib/pm-isomath/pm-isomath.dtx
index 61a4df91da..28d8960585 100644
--- a/macros/latex/contrib/pm-isomath/pm-isomath.dtx
+++ b/macros/latex/contrib/pm-isomath/pm-isomath.dtx
@@ -57,7 +57,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%<style>\ProvidesPackage{pm-isomath}[%
%<txt>\ProvidesFile{README.txt}[%
%<*driver,style,txt>
- 2021/05/15 v.1.1.07
+ 2021/08/24 v.1.2.00
%<txt> README file for pm-isomath.sty]
%<style>Poor man package for typesetting ISO compliant math when using pdfLaTeX]
%</driver,style,txt>
@@ -75,6 +75,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage{lmodern,textcomp}
+%\usepackage{libertinus,libertinust1math}
\usepackage{pm-isomath}
\usepackage{siunitx}
\let\originalmeta\meta
@@ -104,7 +105,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%</driver>
% \fi
%
-% \CheckSum{501}%
+% \CheckSum{511}
% \begin{abstract}
% The ISO regulations for typesetting math in the field of physics
% and technology are pretty stringent and imply legal questions
@@ -119,7 +120,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%
% With \LuaLaTeX\ and \XeLaTeX, while using OpenType math fonts
% there should not be any difficulty in fulfilling the regulations,
-% but with \pdfLaTeX; things are not so simple. There exist some
+% but with \pdfLaTeX things are not so simple. There exist some
% facilities, but sometimes they do not work.
%
% This package provides some robust work-arounds to bypass the
@@ -130,8 +131,8 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% The ISO regulations (formerly ISO\,31/XI, now ISO\,80000) are
% stringent rules to typeset mathematics in the domains of physics
% and experimental sciences; their title explicitly mentions “physics
-% and technology”, but their careful reading lets us understand that
-% they apply to all sciences that use the “mathematics of
+% and physical sciences”, but their careful reading lets us understand
+% that they apply to all sciences that use the “mathematics of
% quantities”. Such entities form a special group or space,
% where the elements are couples of two ordered entities $(x, y)$,
% where $y$ represents the unit of measure and $x$ represents the
@@ -145,7 +146,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% is always accompanied by a certain degree of uncertainty;
% metrologists are the masters in measuring quantities
% and handling their measures and uncertainties, but although
-% for simplicity laypeople handles measures as if hey were rational
+% for simplicity laypeople handle measures as if hey were rational
% numbers (after all aren't they the ratio of something to be
% measured and the unit of measure?) we are facing the domain
% of fuzzy sets.
@@ -182,11 +183,12 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%
% These regulations can be purchased from the ISO site in
% Switzerland; they are quite expensive and the cost is
-% affordable by associated professional studios or large
+% affordable by associated professional studios and large
% academic and/or research institutions.
%
% For private users I'd suggest to download the PDF document
-% \url{https://www.nist.gov/pml/special-publication-811-extended- contents}. This document has been produced by the National
+% \url{https://www.nist.gov/pml/special-publication-811-extended- contents}.
+% This document has been produced by the National
% Institute for Science and Technology, the Institution that
% several years ago was appointed to replace the United States
% National Bureau of Standards. Their staff is made essentially
@@ -205,9 +207,10 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% is not a limitation set forth by the underlying interpreter
% \pdfTeX. Matter of fact there exists the quite recent
% LibertinusT1math fonts for \pdfLaTeX, created by Michael Sharpe,
-% that, to my best knowledge, are the only math 8-bit encoded fonts with 256 glyphs. Package |libertinust1math| accepts the |ISO| option
+% that, to my best knowledge, are the only math 8-bit encoded fonts
+% with 256 glyphs. Package |libertinust1math| accepts the |ISO| option
% that allows to fulfil the ISO regulations; it accepts other
-% options; depending on which ones are specified the number
+% options; depending on which ones are specified, the number
% of math groups, beyond the essential first four ones, increases
% by three to six units, reaching a maximum of ten; there remains
% enough free math groups to satisfy most user requirements.
@@ -215,9 +218,8 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% But even while using such LibertinusT1math fonts, \pdfTeX\
% suffers from another handicap derived from the knuthian
% original \TeX-the-program and by the NFSS (New Font Selection
-% Scheme, which is not new any more, because it dates back to
-% 1994, when \LaTeX\,2.09 became obsolete and was substituted
-% by \LaTeXe.). I am not complaining about these \pdfTeX\ and
+% Scheme, that dates back to 1994, when \LaTeXe\ started its life.).
+% I am not complaining about these \pdfTeX\ and
% \LaTeX\ limitations; for decades people have been happily
% typesetting math with results that are much superior to any
% other typesetting program at least when the latter does not
@@ -227,7 +229,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% are handled by \pdfTeX\ and \LaTeX; such alphabets
% are loaded in the form of math groups, the number of which
% cannot exceed 16 (numbered from 0 to 15); each group loads
-% three sizes for normal math style, for script style and for
+% three sizes: for normal math style, for script style and for
% script-script style. Taking into account the bold version, the
% number of math groups would risk to exceed its capabilities;
% in order to avoid exceeding the number limit on the math
@@ -273,10 +275,10 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% This summary does not replace the original ISO document nor
% what is written in the instructions published by NIST. It
% simply recalls those rules that this package tries to implement.
-% In what follows, the word ``quantity'' is used to represent
+% In what follows the word \emph{quantity} is used to represent
% any physical entity that may be measured according to the
-% metrological practice; the word ``variable'' is used to
-% represent a mathematical entity that represents variable data.
+% metrological practice; the word \emph{variable} is used to
+% represent a mathematical entity that may assume several values.
%\begin{enumerate}[noitemsep]
% \item
% All quantity and variable symbols are represented by one
@@ -295,7 +297,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% typesetting language and does not understand the real
% meaning of what it is being typeset.
% \item
-% All quantity symbols must be set in italics, slanted type
+% All quantity symbols must be set in italics; slanted roman type
% is allowed, but serifed italics should be preferred unless
% the ISO rules prescribe a sans serif font. This implies that
% the differential symbol be in upright font to avoid confusion
@@ -314,8 +316,8 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% except when the ISO rules require a sans serif font.
% This rule includes numbers and their digits, symbols that
% represent constant numeric values, all appositions both
-% in subscript and superscript position. Appositions are not
-% quantities or variables: for example in $V_i$, the
+% in subscript and superscript position. Subscripts require
+% special attention: for example in $V_i$, the
% subscript $i$ is a variable because it represents the $i$-th
% element in a sequence, such as $V_0, V_1, V_2, \dots$; on
% the opposite $V_{\mathrm{i}}$ the subscript is an apposition
@@ -422,7 +424,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% family for Greek fonts are the Latin Modern compliant
% LGR encoded collection of CBfonts; they are always
% available with any up-to-date and complete \TeX\ system
-% installation.
+% installation.^^A VERIFICARE! -- PUÒ DARSI CHE NON FUNZIONI CON FAMIGLIE DIVERSE
%
% This is also a disadvantage, in the sense that Latin Modern
% fonts might not be the best ones to use with any specific
@@ -524,8 +526,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%\cs{ISOalpha}\marg{family}\parg{shape}
%\cs{ISOalpha}\marg{family}\oarg{series}\parg{shape}
%\end{ttsintassi}
-% This offers the maximum flexibility in using the necessary
-% commands.
+% This offers the maximum flexibility in using the necessary commands.
%
% The package defines other macros for fulfilling the rules
% relative to the differential symbol and the numerical constants
@@ -589,7 +590,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%\end{verbatim}
%
% \subparagraph{A resistivity value}
-% The resistivity of copper is $1.68\,\micro\ohm\,\mathrm{cm}$ (in text mode: 1.68\unit{\micro\ohm\,cm})
+% The resistivity of copper is $1.68\,\micro\ohm\,\mathrm{cm}$ (in text mode: 1.68\unit{\micro\ohm\,cm})^^A VERIFICARE PERCHÉ IL DUE MI SONO DIVERSI -- perché \ISOfam per il greco non funziona
% is typeset with the following code
%\begin{verbatim}
%$1.68\,\micro\ohm\,\mathrm{cm}$ (in text mode: 1.68\unit{\micro\ohm\,cm})
@@ -661,7 +662,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%
% \subparagraph{ISO upright partial differential}
% Among the fonts used to typeset math when using \prog{pdflatex},
-% only the LibertinusT1math font contains the upright partial
+% only the LibertinusT1math fonts contain the upright partial
% differential symbol that conforms the ISO regulations. All other
% fonts at the moment available to typeset mathematics do not
% contain an upright symbol, but they contain the original slanted
@@ -687,8 +688,8 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% This package |pm-isomath| is far from perfect, and its results are
% questionable; of course poor man solutions are just patches,
% incomplete solutions; nevertheless the results are not so bad. It has
-% the indubitable advantage that is does not use any math groups,
-% therefore there is no risk to exceed their limit of 16~math groups.
+% the indubitable advantage that is does not use any other math groups,
+% therefore there is no risk to exceed the limit of 16~groups.
%
% As patches are not perfect, the above display of examples shows
% what can be done without human intervention. Attentive users
@@ -708,7 +709,12 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% the macro by applying an affine shearing transformation; I believe
% that this new solution, thanks to Laurent Van Deik's suggestion,
% is better suited to typeset ISO compliant math in a better way.
-% He also helped a lot with the vector, matrix, and tensor macro testing.
+% He also helped a lot with the vector, matrix, and tensor macro
+% testing. Thanks to him, this new version of |pm-isomath| is
+% supposed to work as expected when using the
+% Libertinus+LibertinusTimath fonts and other fonts where the
+% textual fonts can handle also the LGR encoding; in previous
+% versions there was a remarkable mismatch in certain math styles
%
% \StopEventually{}
%
@@ -881,11 +887,28 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% codes for shapes, and for every valid combination of
% series, shape and size it defines the specific font file
% to use.
+%
+% If the document preamble specifies a different textual font
+% from the default Latin Modern the family name default should
+% be changed; this is delayed at the execution of the
+% |\begin{document}| command. But this might have strange effects
+% on the corresponding Greek fonts, because they might be missing.
+% Example: the GFS Bodoni fonts are chosen, they are good for both
+% Latin and Greek text and no problems show up. The Libertinus
+% fonts contain the Latin glyphs In various encodings), and the
+% LGR encoded Greek ones, the Cyrillic fonts in various encodings.
+% Apparently the Libertinus fonts are the most flexible available
+% fonts for use with \pdfLaTeX. Only the typewriter type text font
+% may be replaced with better results with other fonts; it is not
+% important for mathematics, but I preferred to write this
+% documentation with Latin Roman, because it contains several
+% stretches of typewriter type texts.
+
% We should not care for the font names, but in order to use
% different font families, series, and shapes the user should
% know their codes. this is generally a difficult task, but
-% not impossible; it “suffices” to open the packages that
+% not impossible; it ``suffices'' to open the packages that
% allow to use the desired fonts, read the code and find out
% the names of the |.fd| files; then search these files on the
% trees of the \TeX\ system, and eventually find out the
@@ -930,14 +953,20 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%\end{table}
%
% \begin{macrocode}
-\def\ISOfam{lmr}\def\ISOser{m}\def\ISOsha{n}
+\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
+}
+
% \end{macrocode}
%
% As explained in the initial documentation, all font changing
% commands are constructed in such a way as to have a default
% family, series and shape common to both Latin and Greek fonts;
% therefore with three optional arguments that the user can
-% specify with different delimiters, but respecting their order,
+% specify with different delimiters, but respecting their order;
% the user can get eight different choice combinations that
% allow the selection of a large number of different looks.
%
@@ -980,6 +1009,27 @@ This work consists of this file pm-isomath.dtx, a README.txt file
{\usefont{LGR}{\ISOfam}{\ISOser}{\ISOsha}#1}}}
% \end{macrocode}
+% It is convenient to notice that for Greek letters the default
+% encoding is LGR, the only encoding that \pdfLaTeX\ understands
+% without the necessity of other packages. If the default text
+% font family does not handle the Greek encoding, errors show
+% up in different forms that difficult to handle. Therefore it
+% is better to use the above commands with an explicit font
+% family code, for example |lmr|, and accept the consequent
+% font mismatch. After examining the result the author may
+% accept the mismatch, but s/he might prefer to select a
+% different textual Greek font the glyphs of which have a
+% less noticeable mismatch; even better, s/he might prefer
+% to use a couple of matching Latin and Greek fonts, so that
+% it is possible to get e perfect match. This is why we suggest
+% to typeset the document either with Latin Modern, or Libertinus
+% (that is usable also with slavic languages typeset in Cyrillic);
+% among the fonts provided by the Greek Font Society (GFS), the
+% Bodoni collection is available with matching Latin and Greek
+% families. These are just examples; the user can explore its
+% own \TeX\ system installation where PFB fonts are stored and
+% discover the multitude of available fonts.
+%
% We now define the macros for all lowercase Greek letters
% and several uppercase ones (even some that are identical
% to some Latin letters) that should save several keystrokes
@@ -1062,7 +1112,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% abbreviation |sym| and replace it with |symbol|.
% The strange test with the digit ‘9’ is a dirty trick (described in
% the \TeX\-book) in order to discover if the symbol is a digit or a
-% letter; With digits the vector and tensor symbols should be upright,
+% letter; with digits the vector and tensor symbols should be upright,
% while with letters they should be italic or slanted. The italic
% correction |\/| contained by the font selection command is useful
% in situations where the “text” produced by such command is followed
@@ -1090,10 +1140,10 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% \end{macrocode}
%
% As shown in the previous various examples, such macros work pretty
-% well, but in some circumstances they require human help;
-% when the symbol is parenthesised, for example when it is the
-% argument of a function, or when it is at the beginning of a math
-% sub\,expression, it is not centred between the parentheses or has
+% well, but in some circumstances they require human help; when the
+% symbol is parenthesised, for example when it is the argument of a
+% function, or when it is at the beginning of a math sub\,expression,
+% either it is not centred between the parentheses, or it has
% extra blank space at its left; this happens only if the vector or
% tensor symbol is a letter, while if it is a digit such extra space
% does not appear; such considerations hold true also for the
@@ -1176,7 +1226,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% ISO regulations such symbol should be upright. For use with
% \pdfLaTeX the only font distributed with any \TeX system that
% contains such an upright symbol is the LibertinusT1math one;
-% all other OMS encoded fonts available today do no contain it.
+% all other OMS encoded fonts available today do not contain it.
% The defined command |\uppartial| name is identical to the one used
% by the LibertinusT1math font; therefore it is easy to check if
% this symbol has already been defined.
@@ -1285,7 +1335,6 @@ This work consists of this file pm-isomath.dtx, a README.txt file
\DeclareRobustCommand*\ped[1]{%
\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}}%
%
-\providecommand\ap{}
\DeclareRobustCommand\ap[1]{%
\textormath{\textsuperscript{#1}}{^{\mathrm{#1}}}}%
%