texlive[73239] Master/texmf-dist: isphysicalmath (30dec24)
commits+karl at tug.org
commits+karl at tug.org
Mon Dec 30 22:18:39 CET 2024
Revision: 73239
https://tug.org/svn/texlive?view=revision&revision=73239
Author: karl
Date: 2024-12-30 22:18:39 +0100 (Mon, 30 Dec 2024)
Log Message:
-----------
isphysicalmath (30dec24)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/isphysicalmath/README.md
trunk/Master/texmf-dist/doc/latex/isphysicalmath/isphysicalmath-doc.pdf
trunk/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.dtx
trunk/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.ins
trunk/Master/texmf-dist/tex/latex/isphysicalmath/isphysicalmath.sty
Modified: trunk/Master/texmf-dist/doc/latex/isphysicalmath/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/isphysicalmath/README.md 2024-12-30 21:18:29 UTC (rev 73238)
+++ trunk/Master/texmf-dist/doc/latex/isphysicalmath/README.md 2024-12-30 21:18:39 UTC (rev 73239)
@@ -1,7 +1,7 @@
---
isphysicalmath package
-Author: Mario Fantini, <marfant7 at gmail.com>
+Author: Mario Fantini, <ing.mariofantini at gmail.com>
License: LaTeX Project Public License lppl
@@ -11,22 +11,24 @@
# Overview
-LaTeX is a powerful language, but to take advantage of it, to respect its quality
-and to observe the discipline of matters that it interacts with: it requires some devices.
+LaTeX is a powerful language, but to take advantage of it, to respect its quality \
+and to observe the discipline of matters that it interacts with: it requires some \
+devices.
-If you are interested in the form of math and physics, here comes `isphysicalmath` inside LaTeX;
-as far as international scientific notation and formatting of formulas, quantities,
-numerical values, factors, dimensions, measurement units.
+If you are interested in the form of math and physics, here comes `isphysicalmath` \
+inside LaTeX; as far as international scientific notation and formatting of formulas, \
+quantities, numerical values, factors, dimensions, measurement units.
-So, isphysicalmath` package helps user to write mathematical and physical contents,
+So, isphysicalmath` package helps user to write mathematical and physical contents, \
according to the scientific notation (international mainly), in an elegant way.
# Dependencies
-`isphysicalmath` has xstring package dependency.
+`isphysicalmath` has xstring package dependency, but you don’t need to specify \
+it in your document preamble.
-Internally, it uses standard commands like: \textnormal, \hspace{}, \,; however,
+Internally, it uses standard commands like: \textnormal, \hspace{}, \,; however, \
it performs its activity in complex math environment too.
@@ -52,10 +54,24 @@
- option 'dc'
- - option 'comma'
-
- command 'comma'
+ - Rendering of a number as it multiplied by number ten raised to positive \
+ exponents of power
+
+ - By first digit as leading digit, without truncated digits on the right of it
+
+ - By first digit as leading digit, with truncated digits on the right of it
+
+ - Rendering of a number as it multiplied by number ten raised to negative \
+ exponents of power
+
+ - By first digit as leading digit, without truncated digits on the right of it
+
+ - By first digit as leading digit, with truncated digits on the right of it
+
+ - option 'flushpostdot'
+
- isphysicalmath url
- Copyright
@@ -65,9 +81,8 @@
# Credits
-Thanks to all TeX/LaTeX contributors, in particular to Scott Pakin
-for his packaging tutorial, and to CTAN team for its tutoring, tools
-and services.
+Thanks to all TeX/LaTeX contributors, in particular to Scott Pakin for his \
+packaging tutorial, and to CTAN team for its tutoring, tools and services.
# URL
@@ -76,29 +91,26 @@
https://ctan.org/pkg/isphysicalmath
-https://github.com/MartDiVenus/LaTeX/tree/isphysicalmath
-
# License
-Copyright (C) 2024 by Mario Fantini <marfant7 at gmail.com>
+Copyright (C) 2024 by Mario Fantini <ing.mariofantini at gmail.com>
-This file 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:
+This file 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.
+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 Mario Fantini.
-This work consists of the files isphysicalmath.dtx and isphysicalmath.ins
-and the derived file isphysicalmath.sty.
+This work consists of the files isphysicalmath.dtx and isphysicalmath.ins and the \
+derived file isphysicalmath.sty.
# Change History
@@ -110,5 +122,30 @@
- v1.1.0
-2024.01.03 improvements have been brought, see isphysicalmath-doc.pdf.
+2024.01.03 Improvements have been brought, see isphysicalmath-doc.pdf.
+
+- v2.0.0
+
+2024.12.24 Following corrections, improvements and new features have been brought:
+
+- I have corrected some distraction mistakes. However, perfect operation of
+`isphysicalmath`\
+ was guarenteed before these corrections too.
+
+- I have removed `comma option`.
+
+- I have changed the order of `options` in the documentation index.
+
+- I have added the following new features:
+
+ - `\ispmdexpp` command;
+
+ - `\ispmdexppt` command;
+
+ - `\ispmdexpm` command;
+
+ - `flushpostdot` option;
+
+- I have changed my e-mail contact.
+
Modified: trunk/Master/texmf-dist/doc/latex/isphysicalmath/isphysicalmath-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.dtx 2024-12-30 21:18:29 UTC (rev 73238)
+++ trunk/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.dtx 2024-12-30 21:18:39 UTC (rev 73239)
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2023 by Mario Fantini <marfant7 at gmail.com>
+% Copyright (C) 2024 by Mario Fantini <ing.mariofantini at gmail.com>
% ---------------------------------------------------------
%
% This work may be distributed and/or modified under the
@@ -29,7 +29,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<package>\ProvidesPackage{isphysicalmath}
%<*package>
-[2024/01/03 v1.1.0 .dtx isphysicalmath file]
+[2024/12/27 v2.0.0 .dtx isphysicalmath file]
%</package>
%<package>\RequirePackage{xstring}
%<package>%
@@ -40,9 +40,10 @@
%<package>\def\ispmrc#1,#2{{#1.#2}}
%<package>}
%<package>%
-%<package>% option [comma]: scientific international notation for thousands and their multiples.
-%<package>\DeclareOption{comma}{
-%<package>\def\ispmc#1{%
+%<package>\ExecuteOptions{dc}
+%<package>%
+%<package>% command \ispmcomma: scientific international notation for thousands and their multiples.
+%<package>\newcommand{\ispmcomma}[1]{%
%<package>\StrLen{#1}[\temp]%
%<package>\ifnum\temp=4%
%<package>\StrChar{#1}{1}[\unoq]%
@@ -102,21 +103,205 @@
%<package>\unoq\dueq\treq,\quattroq\cinqueq\seiq,\setteq\ottoq\noveq%
%<package>\fi%
%<package>}
+%<package>%
+%<package>%
+%<package>% Formatting section:
+%<package>% a small space between value and measurement unit
+%<package>\newcommand{\ispms}{\,}
+%<package>% normal text rendering for first measurement unit
+%<package>\newcommand{\ispmntone}[1]{\textnormal{#1}}
+%<package>% jolly: the default setting consists in --- a $0.15\ispmone{mm}$ of space
+%<package>% and normal text rendering for a generic 'entity'.
+%<package>% If you are a developer, you can modify it when and how you want.
+%<package>\newcommand{\ispm}[1]{\hspace{0.15mm}\textnormal{#1}}
+%<package>% normal text rendering for first and second measurement units
+%<package>\newcommand{\ispmnttwo}[2]{\textnormal{#1}\textnormal{#2}}
+%<package>% space between first and second measurement units
+%<package>\newcommand{\ispmss}{\hspace{0.15mm}}
+%<package>% \ispm if you have only a measurement unit
+%<package>% e.g. $F = 20 \ispmone{N}$
+%<package>\newcommand{\ispmone}{\ispms\ispmntone}
+%<package>% \ispm if you have two measurement units
+%<package>% e.g. $L = 20 \ispmtwo{N}{m}$
+%<package>\newcommand{\ispmtwo}[2]{\ispms\ispmnttwo\ispmss{#1}\ispmnttwo\ispmss{#2}}
+%<package>% ispm if you have three measurement units
+%<package>% e.g. $V = 8 \ispmtwo{m}{m}\ispmthird{m}$
+%<package>\newcommand{\ispmthird}[1]{\ispmss\ispm{#1}}
+%<package>% and so on until ninth measurement unit
+%<package>\newcommand{\ispmfourth}[1]{\ispmss\ispm{#1}}
+%<package>\newcommand{\ispmfifth}[1]{\ispmss\ispm{#1}}
+%<package>\newcommand{\ispmsixth}[1]{\ispmss\ispm{#1}}
+%<package>\newcommand{\ispmseventh}[1]{\ispmss\ispm{#1}}
+%<package>\newcommand{\ispmeighth}[1]{\ispmss\ispm{#1}}
+%<package>\newcommand{\ispmninth}[1]{\ispmss\ispm{#1}}
+%<package>% If you don't want numerical order, you could use generic \ispmn command
+%<package>\newcommand{\ispmn}[1]{\ispmss\ispm{#1}}
+%<package>
+%<package>
+%<package>%% Delete digits after dot
+%<package>\DeclareOption{flushpostdot}{
+%<package>% e.g. \ispmflushpd 1.2 = 1
+%<package>\def\ispmflushpd#1.#2{{#1}}
%<package>}
-%<package>\ExecuteOptions{dc}
-%<package>\ExecuteOptions{comma}
-%<package>\ProcessOptions\relax
+%<package>\ExecuteOptions{flushpostdot}
+%<package>
+%<package>
+%<package>%% Potenze del numero dieci
+%<package>\newcommand{\ispmpl}{(}
+%<package>\newcommand{\ispmpr}{)}
+%<package>\newcommand{\ispmten}{10}
+%<package>\newcommand{\ispmtenf}{\ispmpl\ispmten\ispmpr}
+%<package>
+%<package>%% Esponenti positivi con la prima cifra "leading": numeri interi
+%<package>% commentato perché limitante, quello per i numeri reali è invece completo (universale)
+%<package>%\newcommand{\ispmdexpp}[1]{%
+%<package>%\StrLen{#1}[\temp]%
+%<package>%\ifnum\temp=2%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\ispmpl{\unoq}.{\dueq}\ispmpr\ispmtenf%
+%<package>%\fi%
+%<package>%\ifnum\temp=3%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\ispmpl{\unoq}.{\dueq}{\treq}\ispmpr\ispmtenf$^2$%
+%<package>%\fi%
+%<package>%\ifnum\temp=4%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}\ispmpr\ispmtenf$^3$%
+%<package>%\fi%
+%<package>%\ifnum\temp=5%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\StrChar{#1}{5}[\cinqueq]%
+%<package>%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}\ispmpr\ispmtenf$^4$%
+%<package>%\fi%
+%<package>%\ifnum\temp=6%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\StrChar{#1}{5}[\cinqueq]%
+%<package>%\StrChar{#1}{6}[\seiq]%
+%<package>%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}\ispmpr\ispmtenf$^5$%
+%<package>%\fi%
+%<package>%\ifnum\temp=7%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\StrChar{#1}{5}[\cinqueq]%
+%<package>%\StrChar{#1}{6}[\seiq]%
+%<package>%\StrChar{#1}{7}[\setteq]%
+%<package>%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}\ispmpr\ispmtenf$^6$%
+%<package>%\fi%
+%<package>%\ifnum\temp=8%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\StrChar{#1}{5}[\cinqueq]%
+%<package>%\StrChar{#1}{6}[\seiq]%
+%<package>%\StrChar{#1}{7}[\setteq]%
+%<package>%\StrChar{#1}{8}[\ottoq]%
+%<package>%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}{\ottoq}\ispmpr\ispmtenf$^7$%
+%<package>%\fi%
+%<package>%\ifnum\temp=9%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\StrChar{#1}{5}[\cinqueq]%
+%<package>%\StrChar{#1}{6}[\seiq]%
+%<package>%\StrChar{#1}{7}[\setteq]%
+%<package>%\StrChar{#1}{8}[\ottoq]%
+%<package>%\StrChar{#1}{9}[\noveq]%
+%<package>%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}{\ottoq}{\noveq}\ispmpr\ispmtenf$^8$%
+%<package>%\fi%
+%<package>%}
%<package>%
-%<package>% command \ispmcomma: scientific international notation for thousands and their multiples.
-%<package>\newcommand{\ispmcomma}[1]{%
+%<package>%% Esponenti positivi Reali con la prima cifra "leading"
+%<package>\newcommand{\ispmdexpp}[1]{%
+%<package>%
+%<package>%% Two digits, two arguments
%<package>\StrLen{#1}[\temp]%
+%<package>\ifnum\temp=2%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\ispmpl{\unoq}.{\dueq}\ispmpr\ispmtenf%
+%<package>\fi%
+%<package>%
+%<package>% Three arguments
+%<package>\ifnum\temp=3%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% Two digits, three arguments \\
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq\dueq\treq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% Three digits, three arguments \\
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}\ispmpr\ispmtenf$^2$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi%
+%<package>%
+%<package>%
+%<package>% if A
%<package>\ifnum\temp=4%
%<package>\StrChar{#1}{1}[\unoq]%
%<package>\StrChar{#1}{2}[\dueq]%
%<package>\StrChar{#1}{3}[\treq]%
%<package>\StrChar{#1}{4}[\quattroq]%
-%<package>\unoq,\dueq\treq\quattroq%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq\dueq\treq\quattroq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}\ispmpr\ispmtenf$^3$%
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
%<package>\fi%
+%<package>%
+%<package>% if A
%<package>\ifnum\temp=5%
%<package>\StrChar{#1}{1}[\unoq]%
%<package>\StrChar{#1}{2}[\dueq]%
@@ -123,8 +308,522 @@
%<package>\StrChar{#1}{3}[\treq]%
%<package>\StrChar{#1}{4}[\quattroq]%
%<package>\StrChar{#1}{5}[\cinqueq]%
-%<package>\unoq\dueq,\treq\quattroq\cinqueq%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq\dueq\treq\quattroq\cinqueq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>% 12.3 -> 1.23(10)
+%<package>\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1
+%<package>\ifx\quattroq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\quattroq.
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\cinqueq}\ispmpr\ispmtenf$^2$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}\ispmpr\ispmtenf$^4$%
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
+%<package>%
+%<package>\ifnum\temp=6%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq\dueq\treq\quattroq\cinqueq\seiq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>% 12.3 -> 1.23(10)
+%<package>\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1
+%<package>\ifx\quattroq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\quattroq.
+%<package>%123.4 -> 1.234(10)^2
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\cinqueq}\ispmpr\ispmtenf$^2$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\ifx\cinqueq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1
+%<package>\if\cinqueq.
+%<package>%1234.5 -> 1.2345(10)^3
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\seiq}\ispmpr\ispmtenf$^3$%
+%<package>% else A.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}\ispmpr\ispmtenf$^5$%
+%<package>% fi A.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
%<package>\fi%
+%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=7%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>\StrChar{#1}{7}[\setteq]%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq\dueq\treq\quattroq\cinqueq\seiq\setteq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>% 12.3 -> 1.23(10)
+%<package>\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1
+%<package>\ifx\quattroq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\quattroq.
+%<package>%123.4 -> 1.234(10)^2
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\cinqueq}\ispmpr\ispmtenf$^2$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\ifx\cinqueq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1
+%<package>\if\cinqueq.
+%<package>%1234.5 -> 1.2345(10)^3
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\seiq}\ispmpr\ispmtenf$^3$%
+%<package>% else A.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1
+%<package>\if\seiq.
+%<package>%12345.6 -> 1.23456(10)^4
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\setteq}\ispmpr\ispmtenf$^4$%
+%<package>% else A.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}\ispmpr\ispmtenf$^6$%
+%<package>% fi A.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi%
+%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=8%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>\StrChar{#1}{7}[\setteq]%
+%<package>\StrChar{#1}{8}[\ottoq]%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq\dueq\treq\quattroq\cinqueq\seiq\setteq\ottoq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>% 12.3 -> 1.23(10)
+%<package>\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1
+%<package>\ifx\quattroq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\quattroq.
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\cinqueq}\ispmpr\ispmtenf$^2$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\ifx\cinqueq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1
+%<package>\if\cinqueq.
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\seiq}\ispmpr\ispmtenf$^3$%
+%<package>% else A.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1
+%<package>\if\seiq.
+%<package>%12345.6 -> 1.23456(10)^4
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\setteq}\ispmpr\ispmtenf$^4$%
+%<package>% else A.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1.1
+%<package>\if\setteq.
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\ottoq}\ispmpr\ispmtenf$^5$%
+%<package>% else A.1.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}{\ottoq}\ispmpr\ispmtenf$^7$%
+%<package>% fi A.1.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi%
+%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=9%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>\StrChar{#1}{7}[\setteq]%
+%<package>\StrChar{#1}{8}[\ottoq]%
+%<package>\StrChar{#1}{9}[\noveq]%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq\dueq\treq\quattroq\cinqueq\seiq\setteq\ottoq\noveq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>% 12.3 -> 1.23(10)
+%<package>\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1
+%<package>\ifx\quattroq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\quattroq.
+%<package>%123.4 -> 1.234(10)^2
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\cinqueq}\ispmpr\ispmtenf$^2$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\ifx\cinqueq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1
+%<package>\if\cinqueq.
+%<package>%1234.5 -> 1.2345(10)^3
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\seiq}\ispmpr\ispmtenf$^3$%
+%<package>% else A.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1
+%<package>\if\seiq.
+%<package>%12345.6 -> 1.23456(10)^4
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\setteq}\ispmpr\ispmtenf$^4$%
+%<package>% else A.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1.1
+%<package>\if\setteq.
+%<package>%123456.7 -> 1.234567(10)^5
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\ottoq}\ispmpr\ispmtenf$^5$%
+%<package>% else A.1.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1.1.1
+%<package>\if\ottoq.
+%<package>%1234567.8 -> 1.2345678(10)^6
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}{\noveq}\ispmpr\ispmtenf$^6$%
+%<package>% else A.1.1.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}{\ottoq}{\noveq}\ispmpr\ispmtenf$^8$%
+%<package>% fi A.1.1.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi%
+%<package>%
+%<package>}
+%<package>%
+%<package>%
+%<package>%
+%<package>%% Esponenti positivi Reali con la prima cifra "leading", quelle a dx invece troncate
+%<package>\newcommand{\ispmdexppt}[1]{%
+%<package>%
+%<package>%% Two digits, two arguments
+%<package>\StrLen{#1}[\temp]%
+%<package>\ifnum\temp=2%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf%
+%<package>\fi%
+%<package>%
+%<package>% Three arguments
+%<package>\ifnum\temp=3%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% Two digits, three arguments \\
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% Three digits, three arguments \\
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi%
+%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=4%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=5%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1
+%<package>\ifx\quattroq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\quattroq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^4$%
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
+%<package>%
%<package>\ifnum\temp=6%
%<package>\StrChar{#1}{1}[\unoq]%
%<package>\StrChar{#1}{2}[\dueq]%
@@ -132,8 +831,68 @@
%<package>\StrChar{#1}{4}[\quattroq]%
%<package>\StrChar{#1}{5}[\cinqueq]%
%<package>\StrChar{#1}{6}[\seiq]%
-%<package>\unoq\dueq\treq,\quattroq\cinqueq\seiq%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1
+%<package>\ifx\quattroq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\quattroq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\ifx\cinqueq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1
+%<package>\if\cinqueq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+%<package>% else A.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^5$%
+%<package>% fi A.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
%<package>\fi%
+%<package>%
+%<package>%
+%<package>% if A
%<package>\ifnum\temp=7%
%<package>\StrChar{#1}{1}[\unoq]%
%<package>\StrChar{#1}{2}[\dueq]%
@@ -142,8 +901,75 @@
%<package>\StrChar{#1}{5}[\cinqueq]%
%<package>\StrChar{#1}{6}[\seiq]%
%<package>\StrChar{#1}{7}[\setteq]%
-%<package>\unoq,\dueq\treq\quattroq,\cinqueq\seiq\setteq%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1
+%<package>\ifx\quattroq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\quattroq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\ifx\cinqueq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1
+%<package>\if\cinqueq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+%<package>% else A.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1
+%<package>\if\seiq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^4$%
+%<package>% else A.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^6$%
+%<package>% fi A.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
%<package>\fi%
+%<package>%
+%<package>%
+%<package>% if A
%<package>\ifnum\temp=8%
%<package>\StrChar{#1}{1}[\unoq]%
%<package>\StrChar{#1}{2}[\dueq]%
@@ -153,8 +979,82 @@
%<package>\StrChar{#1}{6}[\seiq]%
%<package>\StrChar{#1}{7}[\setteq]%
%<package>\StrChar{#1}{8}[\ottoq]%
-%<package>\unoq\dueq,\treq\quattroq\cinqueq,\seiq\setteq\ottoq%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1
+%<package>\ifx\quattroq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\quattroq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\ifx\cinqueq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1
+%<package>\if\cinqueq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+%<package>% else A.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1
+%<package>\if\seiq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^4$%
+%<package>% else A.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1.1
+%<package>\if\setteq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^5$%
+%<package>% else A.1.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^7$%
+%<package>% fi A.1.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
%<package>\fi%
+%<package>%
+%<package>%
+%<package>% if A
%<package>\ifnum\temp=9%
%<package>\StrChar{#1}{1}[\unoq]%
%<package>\StrChar{#1}{2}[\dueq]%
@@ -165,45 +1065,711 @@
%<package>\StrChar{#1}{7}[\setteq]%
%<package>\StrChar{#1}{8}[\ottoq]%
%<package>\StrChar{#1}{9}[\noveq]%
-%<package>\unoq\dueq\treq,\quattroq\cinqueq\seiq,\setteq\ottoq\noveq%
+%<package>% if A.1
+%<package>\ifx\dueq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\dueq.
+%<package>\unoq%
+%<package>% else A.1.1
+%<package>\else
+%<package>% if A.1.1.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1
+%<package>\if\treq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1
+%<package>\ifx\quattroq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\quattroq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\ifx\cinqueq\undefined
+%<package>indefinito
+%<package>% else A.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1
+%<package>\if\cinqueq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+%<package>% else A.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1
+%<package>\if\seiq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^4$%
+%<package>% else A.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1.1
+%<package>\if\setteq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^5$%
+%<package>% else A.1.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>% if A.1.1.1.1.1.1.1.1.1.1.1
+%<package>\if\ottoq.
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^6$%
+%<package>% else A.1.1.1.1.1.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\unoq}\ispmpr\ispmtenf$^8$%
+%<package>% fi A.1.1.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
%<package>\fi%
+%<package>%
%<package>}
+%<package>
+%<package>%% Esponenti positivi con la prima cifra "leading", cifre troncate a dx
+%<package>% Commentato perché limitante, quello per i numeri reali invece è completo (universale).
+%<package>%\newcommand{\ispmdexppt}[1]{%
+%<package>%\StrLen{#1}[\temp]%
+%<package>%\ifnum\temp=2%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\ispmpl{\unoq}\ispmpr\ispmtenf%
+%<package>%\fi%
+%<package>%\ifnum\temp=3%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+%<package>%\fi%
+%<package>%\ifnum\temp=4%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+%<package>%\fi%
+%<package>%\ifnum\temp=5%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\StrChar{#1}{5}[\cinqueq]%
+%<package>%\ispmpl{\unoq}\ispmpr\ispmtenf$^4$%
+%<package>%\fi%
+%<package>%\ifnum\temp=6%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\StrChar{#1}{5}[\cinqueq]%
+%<package>%\StrChar{#1}{6}[\seiq]%
+%<package>%\ispmpl{\unoq}\ispmpr\ispmtenf$^5$%
+%<package>%\fi%
+%<package>%\ifnum\temp=7%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\StrChar{#1}{5}[\cinqueq]%
+%<package>%\StrChar{#1}{6}[\seiq]%
+%<package>%\StrChar{#1}{7}[\setteq]%
+%<package>%\ispmpl{\unoq}\ispmpr\ispmtenf$^6$%
+%<package>%\fi%
+%<package>%\ifnum\temp=8%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\StrChar{#1}{5}[\cinqueq]%
+%<package>%\StrChar{#1}{6}[\seiq]%
+%<package>%\StrChar{#1}{7}[\setteq]%
+%<package>%\StrChar{#1}{8}[\ottoq]%
+%<package>%\ispmpl{\unoq}\ispmpr\ispmtenf$^7$%
+%<package>%\fi%
+%<package>%\ifnum\temp=9%
+%<package>%\StrChar{#1}{1}[\unoq]%
+%<package>%\StrChar{#1}{2}[\dueq]%
+%<package>%\StrChar{#1}{3}[\treq]%
+%<package>%\StrChar{#1}{4}[\quattroq]%
+%<package>%\StrChar{#1}{5}[\cinqueq]%
+%<package>%\StrChar{#1}{6}[\seiq]%
+%<package>%\StrChar{#1}{7}[\setteq]%
+%<package>%\StrChar{#1}{8}[\ottoq]%
+%<package>%\StrChar{#1}{9}[\noveq]%
+%<package>%\ispmpl{\unoq}\ispmpr\ispmtenf$^8$%
+%<package>%\fi%
+%<package>%}
+%<package>
+%<package>%% Esponenti negativi di numeri razionali (che si risolvono in numeri non interi)
+%<package>% senza cifre troncate a dx del punto
+%<package>\newcommand{\ispmdexpm}[1]{%
+%<package>\StrLen{#1}[\temp]%
+%<package>%% Inizio con 3 perché il punto è considerato argomento,
+%<package>% quindi e.g. 0.1 ha tre argomenti.
+%<package>\ifnum\temp=3%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+%<package>\fi%
+%<package>\ifnum\temp=4%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>\else
+%<package> \if\treq0
+%<package>\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+%<package> \else
+%<package>\ispmpl{\treq.\quattroq}\ispmpr\ispmtenf$^{-1}$%
+%<package> \fi
+%<package>\fi
+%<package>\fi%
+%<package>% if A
+%<package>\ifnum\temp=5%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>% if A.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\treq0
+%<package>% if A.1.1.1
+%<package>\if\quattroq0
+%<package>\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+%<package>% else A.1.1.1
+%<package>\else
+%<package>\ispmpl{\quattroq.\cinqueq}\ispmpr\ispmtenf$^{-2}$%
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% else A.1.1
+%<package>\else
+%<package>\ispmpl{\treq.\quattroq\cinqueq}\ispmpr\ispmtenf$^{-1}$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=6%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>% if A.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\treq0
+%<package>% if A.1.1.1
+%<package>\if\quattroq0
+%<package>% if A.1.1.1.1
+%<package>\if\cinqueq0
+%<package>\ispmpl{\seiq}\ispmpr\ispmtenf$^{-4}$%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\cinqueq.\seiq}\ispmpr\ispmtenf$^{-3}$%
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1
+%<package>\else
+%<package>\ispmpl{\quattroq.\cinqueq\seiq}\ispmpr\ispmtenf$^{-2}$%
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% else A.1.1
+%<package>\else
+%<package>\ispmpl{\treq.\quattroq\cinqueq\seiq}\ispmpr\ispmtenf$^{-1}$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
%<package>%
-%<package>% Formatting section:
-%<package>% a small space between value and measurement unit
-%<package>\newcommand{\ispms}{\,}
-%<package>% normal text rendering for first measurement unit
-%<package>\newcommand{\ispmntone}[1]{\textnormal{#1}}
-%<package>% jolly: the default setting consists in --- a $0.15\ispmone{mm}$ of space
-%<package>% and normal text rendering for a generic 'entity'.
-%<package>% If you are a developer, you can modify it when and how you want.
-%<package>\newcommand{\ispm}[1]{\hspace{0.15mm}\textnormal{#1}}
-%<package>% normal text rendering for first and second measurement units
-%<package>\newcommand{\ispmnttwo}[2]{\textnormal{#1}\textnormal{#2}}
-%<package>% space between first and second measurement units
-%<package>\newcommand{\ispmss}{\hspace{0.15mm}}
-%<package>% \ispm if you have only a measurement unit
-%<package>% e.g. $F = 20 \ispmone{N}$
-%<package>\newcommand{\ispmone}{\ispms\ispmntone}
-%<package>% \ispm if you have two measurement units
-%<package>% e.g. $L = 20 \ispmtwo{N}{m}$
-%<package>\newcommand{\ispmtwo}[2]{\ispms\ispmnttwo\ispmss{#1}\ispmnttwo\ispmss{#2}}
-%<package>% ispm if you have three measurement units
-%<package>% e.g. $V = 8 \ispmtwo{m}{m}\ispmthird{m}$
-%<package>\newcommand{\ispmthird}[1]{\ispmss\ispm{#1}}
-%<package>% and so on until ninth measurement unit
-%<package>\newcommand{\ispmfourth}[1]{\ispmss\ispm{#1}}
-%<package>\newcommand{\ispmfifth}[1]{\ispmss\ispm{#1}}
-%<package>\newcommand{\ispmsixth}[1]{\ispmss\ispm{#1}}
-%<package>\newcommand{\ispmseventh}[1]{\ispmss\ispm{#1}}
-%<package>\newcommand{\ispmeighth}[1]{\ispmss\ispm{#1}}
-%<package>\newcommand{\ispmninth}[1]{\ispmss\ispm{#1}}
-%<package>% If you don't want numerical order, you could use generic \ispmn command
-%<package>\newcommand{\ispmn}[1]{\ispmss\ispm{#1}}
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=7%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>\StrChar{#1}{7}[\setteq]%
+%<package>% if A.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\treq0
+%<package>% if A.1.1.1
+%<package>\if\quattroq0
+%<package>% if A.1.1.1.1
+%<package>\if\cinqueq0
+%<package>% if A.1.1.1.1.1
+%<package>\if\seiq0
+%<package>\ispmpl{\setteq}\ispmpr\ispmtenf$^{-5}$%
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\seiq.\setteq}\ispmpr\ispmtenf$^{-4}$%
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\cinqueq.\seiq\setteq}\ispmpr\ispmtenf$^{-3}$%
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1
+%<package>\else
+%<package>\ispmpl{\quattroq.\cinqueq\seiq\setteq}\ispmpr\ispmtenf$^{-2}$%
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% else A.1.1
+%<package>\else
+%<package>\ispmpl{\treq.\quattroq\cinqueq\seiq\setteq}\ispmpr\ispmtenf$^{-1}$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
+%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=8%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>\StrChar{#1}{7}[\setteq]%
+%<package>\StrChar{#1}{8}[\ottoq]%
+%<package>% if A.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\treq0
+%<package>% if A.1.1.1
+%<package>\if\quattroq0
+%<package>% if A.1.1.1.1
+%<package>\if\cinqueq0
+%<package>% if A.1.1.1.1.1
+%<package>\if\seiq0
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\setteq0
+%<package>\ispmpl{\ottoq}\ispmpr\ispmtenf$^{-6}$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\setteq.\ottoq}\ispmpr\ispmtenf$^{-5}$%
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\seiq.\setteq\ottoq}\ispmpr\ispmtenf$^{-4}$%
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\cinqueq.\seiq\setteq\ottoq}\ispmpr\ispmtenf$^{-3}$%
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1
+%<package>\else
+%<package>\ispmpl{\quattroq.\cinqueq\seiq\setteq\ottoq}\ispmpr\ispmtenf$^{-2}$%
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% else A.1.1
+%<package>\else
+%<package>\ispmpl{\treq.\quattroq\cinqueq\seiq\setteq\ottoq}\ispmpr\ispmtenf$^{-1}$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
+%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=9%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>\StrChar{#1}{7}[\setteq]%
+%<package>\StrChar{#1}{8}[\ottoq]%
+%<package>\StrChar{#1}{9}[\noveq]%
+%<package>% if A.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\treq0
+%<package>% if A.1.1.1
+%<package>\if\quattroq0
+%<package>% if A.1.1.1.1
+%<package>\if\cinqueq0
+%<package>% if A.1.1.1.1.1
+%<package>\if\seiq0
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\setteq0
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\if\ottoq0
+%<package>\ispmpl{\noveq}\ispmpr\ispmtenf$^{-7}$%
+%<package>% else A.1.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\ottoq.\noveq}\ispmpr\ispmtenf$^{-6}$%
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\setteq.\ottoq\noveq}\ispmpr\ispmtenf$^{-5}$%
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\seiq.\setteq\ottoq\noveq}\ispmpr\ispmtenf$^{-4}$%
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\cinqueq.\seiq\setteq\ottoq\noveq}\ispmpr\ispmtenf$^{-3}$%
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1
+%<package>\else
+%<package>\ispmpl{\quattroq.\cinqueq\seiq\setteq\ottoq\noveq}\ispmpr\ispmtenf$^{-2}$%
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% else A.1.1
+%<package>\else
+%<package>\ispmpl{\treq.\quattroq\cinqueq\seiq\setteq\ottoq\noveq}\ispmpr\ispmtenf$^{-1}$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
+%<package>%
+%<package>}
+%<package>%
+%<package>% Esponenti negativi di numeri razionali (che si risolvono in numeri non interi), con cifre troncate a dx del punto
+%<package>\newcommand{\ispmdexpmt}[1]{%
+%<package>\StrLen{#1}[\temp]%
+%<package>%% Inizio con 3 perché il punto è considerato argomento,
+%<package>% quindi e.g. 0.1 ha tre argomenti.
+%<package>\ifnum\temp=3%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+%<package>\fi%
+%<package>\ifnum\temp=4%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>\else
+%<package> \if\treq0
+%<package>\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+%<package> \else
+%<package>\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+%<package> \fi
+%<package>\fi
+%<package>\fi%
+%<package>% if A
+%<package>\ifnum\temp=5%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>% if A.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\treq0
+%<package>% if A.1.1.1
+%<package>\if\quattroq0
+%<package>\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+%<package>% else A.1.1.1
+%<package>\else
+%<package>\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% else A.1.1
+%<package>\else
+%<package>\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
+%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=6%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>% if A.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\treq0
+%<package>% if A.1.1.1
+%<package>\if\quattroq0
+%<package>% if A.1.1.1.1
+%<package>\if\cinqueq0
+%<package>\ispmpl{\seiq}\ispmpr\ispmtenf$^{-4}$%
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1
+%<package>\else
+%<package>\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% else A.1.1
+%<package>\else
+%<package>\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
+%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=7%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>\StrChar{#1}{7}[\setteq]%
+%<package>% if A.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\treq0
+%<package>% if A.1.1.1
+%<package>\if\quattroq0
+%<package>% if A.1.1.1.1
+%<package>\if\cinqueq0
+%<package>% if A.1.1.1.1.1
+%<package>\if\seiq0
+%<package>\ispmpl{\setteq}\ispmpr\ispmtenf$^{-5}$%
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\seiq}\ispmpr\ispmtenf$^{-4}$%
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1
+%<package>\else
+%<package>\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% else A.1.1
+%<package>\else
+%<package>\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
+%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=8%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>\StrChar{#1}{7}[\setteq]%
+%<package>\StrChar{#1}{8}[\ottoq]%
+%<package>% if A.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\treq0
+%<package>% if A.1.1.1
+%<package>\if\quattroq0
+%<package>% if A.1.1.1.1
+%<package>\if\cinqueq0
+%<package>% if A.1.1.1.1.1
+%<package>\if\seiq0
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\setteq0
+%<package>\ispmpl{\ottoq}\ispmpr\ispmtenf$^{-6}$%
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\setteq}\ispmpr\ispmtenf$^{-5}$%
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\seiq}\ispmpr\ispmtenf$^{-4}$%
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1
+%<package>\else
+%<package>\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% else A.1.1
+%<package>\else
+%<package>\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
+%<package>%
+%<package>%
+%<package>% if A
+%<package>\ifnum\temp=9%
+%<package>\StrChar{#1}{1}[\unoq]%
+%<package>\StrChar{#1}{2}[\dueq]%
+%<package>\StrChar{#1}{3}[\treq]%
+%<package>\StrChar{#1}{4}[\quattroq]%
+%<package>\StrChar{#1}{5}[\cinqueq]%
+%<package>\StrChar{#1}{6}[\seiq]%
+%<package>\StrChar{#1}{7}[\setteq]%
+%<package>\StrChar{#1}{8}[\ottoq]%
+%<package>\StrChar{#1}{9}[\noveq]%
+%<package>% if A.1
+%<package>\ifx\treq\undefined
+%<package>indefinito
+%<package>% else A.1
+%<package>\else
+%<package>% if A.1.1
+%<package>\if\treq0
+%<package>% if A.1.1.1
+%<package>\if\quattroq0
+%<package>% if A.1.1.1.1
+%<package>\if\cinqueq0
+%<package>% if A.1.1.1.1.1
+%<package>\if\seiq0
+%<package>% if A.1.1.1.1.1.1
+%<package>\if\setteq0
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\if\ottoq0
+%<package>\ispmpl{\noveq}\ispmpr\ispmtenf$^{-7}$%
+%<package>% else A.1.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\ottoq}\ispmpr\ispmtenf$^{-6}$%
+%<package>% if A.1.1.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\setteq}\ispmpr\ispmtenf$^{-5}$%
+%<package>% fi A.1.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\seiq}\ispmpr\ispmtenf$^{-4}$%
+%<package>% fi A.1.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1.1
+%<package>\else
+%<package>\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+%<package>% fi A.1.1.1.1
+%<package>\fi
+%<package>% else A.1.1.1
+%<package>\else
+%<package>\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+%<package>% fi A.1.1.1
+%<package>\fi
+%<package>% else A.1.1
+%<package>\else
+%<package>\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+%<package>% fi A.1.1
+%<package>\fi
+%<package>% fi A.1
+%<package>\fi
+%<package>% fi A
+%<package>\fi
+%<package>%
+%<package>}
+%<package>\ProcessOptions\relax
%<*driver>
\documentclass{ltxdoc}
-\usepackage{isphysicalmath}[2024/01/03]
+\usepackage{isphysicalmath}[2024/12/27]
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
@@ -215,10 +1781,13 @@
\renewcommand*\contentsname{General index}%
\tableofcontents%
\clearpage}
+
\EnableCrossrefs
\CodelineIndex
+\RecordChanges
\begin{document}
-\DocInput{isphysicalmath.dtx}
+ \DocInput{isphysicalmath.dtx}
+ \PrintChanges
\end{document}
%</driver>
% \fi
@@ -239,6 +1808,10 @@
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
+%
+%
+%\changes{v2.0.0}{2024/12/27}{third version}
+%
%\indice
%
%\GetFileInfo{isphysicalmath.dtx}
@@ -245,7 +1818,7 @@
%
%\title{The \textsf{isphysicalmath} package\thanks{This document
%corresponds to \textsf{isphysicalmath}~\fileversion, dated \filedate.}}
-%\author{Mario Fantini \\ \texttt{marfant7 at gmail.com}}
+%\author{Mario Fantini \\ \texttt{ing.mariofantini at gmail.com}}
%
%\maketitle
%
@@ -253,9 +1826,10 @@
%This package helps user to write mathematical and physical formulas
%-- their numerical values, their measurement units, their factors, their
%dimensions -- in a
-%scientific way (international mainly), by an elegant formatting.
+%scientific way (international mainly), by an elegant formatting and notation.
%\end{abstract}
%\section{Introduction}
+%The name \textsl{isphysicalmath} means: Physics is Math's daughter.
%
%\LaTeX{} is a powerful language, but to take advantage of it, to respect
%its quality and to observe the discipline of matters that \LaTeX{} interacts with---it
@@ -265,33 +1839,33 @@
%as far as international scientific notation and formatting of formulas,
% quantities, numerical values, factors, dimensions, measurement units. \\
%
-%The name \textsl{isphysicalmath} means either:
-%\begin{itemize}
-% \item Physics is Math's daughter;
-% \item International System of units (SI) is observed.
-%\end{itemize}
-%
+%I respect Donald Knuth limit of nine arguments. I know that is possible to break this limit,
+%but I prefer to respect Knuth's limit for pureness reasons.
%\section{Conventions}
%To have a clear doc text, I'll not refer to physical quantities
%dimensions every times; for them, the measurement units
%\textsl{isphysicalmath} acting is valid too.
%
+%\textit{hp.} stands for \textsl{hypothesis}, \textit{th.} stands for \textsl{thesis}.
+%
%\section{Dependencies}
%\label{sec:dependencies}
-%\textsl{isphysicalmath} has \textsl{xstring} package dependency.
+%\textsl{isphysicalmath} has \textsl{xstring} package dependency, but you don't need to specify it
+%in your document preamble.
%
%Internally, it uses standard \LaTeX{} built-in commands like: \texttt{\textbackslash textnormal},
-%\texttt{\textbackslash hspace\{\}}, \texttt{\textbackslash ,};
+%\texttt{\textbackslash hspace\{\}}, \texttt{\textbackslash ,}, etc.;
% however, it performs its activity in complex math environment too.
%\newpage
%\section{Usage}
+%\subsection{Formatting}
%\label{sec:usage}
%\DescribeMacro{\ispm}
%
%\textit{hp.} It is a jolly command.
-%The default setting consists in --- a $0.15\ispmone{mm}$ of space and normal text rendering for a generic 'entity'.
+%The default setting consists in --- a $0.15\ispmone{mm}$ of space and normal text rendering for a generic ``entity''.
%In other words <\texttt{\textbackslash textnormal}> and <0.15mm> are the values of \texttt{\textbackslash ispm}
-% variable. So, if you are a developer you can modify this variable how and when you want.
+% ``variable''. So, if you are a developer you can modify this ``variable'' how and when you want.
% I use it for generic ``entities''. \\
%\textit{th.} Default setting: normal text rendering for a generic ``entity''.\\
%|\ispm|\marg{generic ``entity'' in place of argument} \\ \\
@@ -322,7 +1896,7 @@
%|\ispmtwo|\marg{the first measurement unit in place of the I argument}\marg{the second
%measurement unit in place of the II argument}%
%|\ispmthird|\marg{third measurement unit in place of III argument} \\
-% Or, e.g. if you have a fraction [see In-depth formatting'
+% Or, e.g. if you have a fraction [see `In-depth formatting'
%(\autoref{subsec:inDepthFormatting})]:\\
%|\ispmone|\marg{the first measurement unit in place of the I argument (numerator)}
%|\ispmone|\marg{the second %measurement unit in place of the II argument (denominator)}
@@ -337,7 +1911,8 @@
%\DescribeMacro{\ispmninth} ~\ \\ \\
%\DescribeMacro{\ispmn}
%
-%If you don't want to follow a numerical order, you can use this command.
+%If you don't want to follow a numerical order, useful in some cases to have the visual control and
+%in complex environments always, you can use this command.
%
%\textit{hp.} You have three measurement units. \\
%\textit{th.} Horizontal space between the first measurement unit
@@ -346,38 +1921,68 @@
%the second measurement unit and third measurement unit; normal text
%rendering for all the measurement units.\\
%|\ispmtwo|\marg{the first measurement unit in place of the I argument}\marg{the second
-%measurement unit in place of the II argument}%
+%measurement unit in place of the II argument}
%|\ispmn|\marg{third measurement unit in place of III argument} \\
-% Or, e.g. if you have a fraction [see In-depth formatting'
+% Or, e.g. if you have a fraction [see `In-depth formatting'
%(\autoref{subsec:inDepthFormatting})]:\\
%|\ispmone|\marg{the first measurement unit in place of the I argument (numerator)}
-%|\ispmn|\marg{the second %measurement unit in place of the II argument (denominator)}
-%|\ispmn|\marg{third measurement unit in place of III argument} \\ \\
+%|\ispmn|\marg{the second measurement unit in place of the II argument (denominator)}
+%|\ispmn|\marg{third measurement unit in place of III argument} \\
+% aka: \\
+%|\ispmn|\marg{the first measurement unit in place of the I argument (numerator)}
+%|\ispmn|\marg{the second measurement unit in place of the II argument (denominator)}
+%|\ispmn|\marg{third measurement unit in place of III argument} \\\\
%
%
-%\begin{environment}{dc}
-% option \textit{dc} \\
-%\textbackslash usepackage\oarg{dc}\{isphysicalmath\} \\
+%\subsection{Notation}
%
-%$\forall x,y,\ldots,+\infty \in \mathbb{N}$:\\
+%\DescribeMacro{\ispmdexpp}
+%
+%It concerns rendering of a number as it multiplied by number ten raised to positive exponents of power,
+%within real numbers field.
+%The order sees first digit as leading digit, without truncated digits on the right of it. \\
+%|\ispmdexpp|\marg{number to render} \\ \\
+%
+%\DescribeMacro{\ispmdexppt}
+%
+%It's about rendering of a number as it multiplied by number ten raised to positive exponents of power,
+%within real numbers field.
+%The order sees first digit as leading digit, with truncated digits on the right of it. \\
+%|\ispmdexppt|\marg{number to render} \\ \\
+%
+%\DescribeMacro{\ispmdexpm}
+%
+%It concerns rendering of a number as it multiplied by number ten raised to negative exponents of power,
+%within real numbers field.
+%The order sees first digit as leading digit, without truncated digits on the right of it. \\
+%|\ispmdexpm|\marg{number to render} \\ \\
+%
+%\DescribeMacro{\ispmdexpmt}
+%
+%It concerns rendering of a number as it multiplied by number ten raised to negative exponents of power,
+%within real numbers field.
+%The order sees first digit as leading digit, with truncated digits on the right of it. \\
+%|\ispmdexpmt|\marg{number to render}
+%
+%\textbf{Option} \textit{flushpostdot} \\ \\
+%$\forall x,y,\ldots,+\infty \in \mathbb{R}$:\\
+%|\ispmflushpd| \meta{x.y} \\
+%It deletes all digits that are after dot. \\ \\
+%
+%\textbf{Option} \textit{dc} \\ \\
+%$\forall x,y,\ldots,+\infty \in \mathbb{R}$:\\
%|\ispmc| \meta{x.y} \\
+%It changes commas in dots. \\ \\
+%
+%$\forall x,y,\ldots,+\infty \in \mathbb{Z}$:\\
%|\ispmrc| \meta{x,y} \\
-%\end{environment}
+%It changes dots in commas. \\ \\
%
-%\begin{environment}{comma}
-% option \textit{comma} \\
-%\textbackslash usepackage\oarg{comma}\{isphysicalmath\} \\
-%
-%$\forall a,b,c,d,e,f,g,h,i \in \mathbb{N}$ [0,9]: \\
-%|\ispmc|\{abcdefghi\} \\
-%|\ispmc|\{abcdefghi\}.aa \\
-%\end{environment}
-%\newpage
-% \section{In-depth usage}
+%\section{In-depth usage}
%\subsection{In-depth formatting}
%\label{subsec:inDepthFormatting}
-% \textsl{isphysicalmath} command, in mathematical environments, can be joined or detached to previous term;
-%while, in not mathematical environments, \textsl{isphysicalmath} command must be joined to previous term. \\ \\
+% \textsl{isphysicalmath} formatting commands, inside mathematical environments, can be joined or detached to previous term;
+%while, outside mathematical environments, \textsl{isphysicalmath} commands must be joined to previous term. \\ \\
% \textsl{isphysicalmath} automatical settings:
% \begin{itemize}
% \item a small space between numerical value and first
@@ -395,8 +2000,7 @@
% F = 1 N
% \end{center}
%I don't like this style, and it has not a logical meaning.
-% \item By mathematical environment:
-%
+% \item By mathematical environment: \\
%\[F = 1 N\]
%
%I don't like this style, and it has not a logical meaning.
@@ -516,7 +2120,7 @@
%\item With inner mathematical environments (d).
%
%The following is a trascendental physical example, but it could be useful like
-%material for some mathematical need; however, this case demonstrates
+%material for some mathematical needs; however, this case demonstrates
%\LaTeX{} power and \textsl{isphysicalmath}.
%
% \[u = 7 \ispmtwo{$\alpha$m}{$\beta$m$^2$}
@@ -567,6 +2171,7 @@
%e.g.
%\[1\ispmtwo{a}{b}\ispmthird{c}\ispmfourth{d}\ispmfifth{e}\ispmsixth{f}\ispmseventh{g}\ispmeighth{h}\ispmninth{i}\]
%\[1\ispmone{a}\ispmn{b}\ispmn{c}\ispmn{d}\ispmn{e}\ispmn{f}\ispmn{g}\ispmn{h}\ispmn{i}\]
+%\[1\ispmn{a}\ispmn{b}\ispmn{c}\ispmn{d}\ispmn{e}\ispmn{f}\ispmn{g}\ispmn{h}\ispmn{i}\]
%The code:
%\begin{center}
%\begin{verbatim}
@@ -575,6 +2180,9 @@
%
%\[1\ispmone{a}\ispmn{b}\ispmn{c}\ispmn{d}\ispmn{e}
%\ispmn{f}\ispmn{g}\ispmn{h}\ispmn{i}\]
+%
+%\[1\ispmn{a}\ispmn{b}\ispmn{c}\ispmn{d}\ispmn{e}
+%\ispmn{f}\ispmn{g}\ispmn{h}\ispmn{i}\]
%\end{verbatim}
%\end{center}
%
@@ -581,27 +2189,453 @@
%\end{itemize}
%\end{description}
%
-%\newpage
%\subsection{In-depth notation}
%\label{subsec:in-depthNotation}
-%Option \textsl{dc} and option \textsl{comma} are not compatible, but you can use option \textsl{dc} and
-%\texttt{\textbackslash ispmcomma} command, both in the same document. \\ \\
-%\texttt{\textbackslash usepackage[dc]\{isphysicalmath\}} \\
-%\texttt{\textbackslash usepackage[comma]\{isphysicalmath\}} \\ \\
-%In a document by \textsl{dc} option: \\
-%1,234 \\ \\
-%In an other document by \textsl{comma} option: \\
-%1,234,567 \\ \\
-%Both in the same document, by \textsl{dc} option and \texttt{\textbackslash ispmcomma} command:\\
-%1,234 1,234,567 \\ \\
+%\subsubsection{command \textbackslash ispmcomma}
+%\label{subsubsec:commandComma}
+%It adds comma after every three digits, according to international
+%scientific notation. It is independent of \textsl{dc}, option but
+%compatible with it.
+%
+%$\forall a,b,c,d,e,f,g,h,i \in \mathbb{Z}$ [0,9]:
+%\begin{center}
+% \ispmcomma{100000000} \\
+% \ispmcomma{100000000}.00\\
+% \ispmcomma{10000000}.00 \\
+% \ispmcomma{1000000}.00 \\
+% \ispmcomma{100000}.00 \\
+% \ispmcomma{10000}.00 \\
+% \ispmcomma{1000}.00
+%\end{center}
+%
%The code:
+%\begin{center}
%\begin{verbatim}
-%\ispmc 1.234 \\
-%\ispmc{1234567} \\
-%\ispmc 1.234 \ispmcomma{1234567}
+%\ispmcomma{100000000} \\
+%\ispmcomma{100000000}.00 \\
+%\ispmcomma{10000000}.00 \\
+%\ispmcomma{1000000}.00 \\
+%\ispmcomma{100000}.00 \\
+%\ispmcomma{10000}.00 \\
+%\ispmcomma{1000}.00
%\end{verbatim}
+%\end{center}
%
-%\subsubsection{option <dc>}
+%\newpage
+%
+%\subsubsection{Rendering by positive exponents of number ten powers}
+%Rendering of a number as it multiplied by number ten raised to positive exponents of power.
+%
+%\paragraph{By first digit as leading digit, without truncated digits on the right of it} ~\ \\
+%
+%\textsc{Two arguments} \\
+%
+%Two digits, two arguments: \\
+%input: \texttt{\textbackslash{}ispmdexpp\{12\}} \\
+%output: \ispmdexpp{12} \\
+%
+%Inside mathematical environment: \\
+%input: \texttt{\$F = \textbackslash{}ispmdexpp\{12\} \textbackslash{}ispmone\{N\}\$} \\
+%output: $F = \ispmdexpp{12} \ispmone{N}$\\
+%And so on for other \texttt{\textbackslash{}ispmdexp$^{\ast}$} commands. \\
+%
+%\textsc{Three arguments} \\
+%
+%Two digits, three arguments: \\
+%input: \texttt{\textbackslash{}ispmdexpp\{1.2\}} \\
+%output: \ispmdexpp{1.2} \\
+%
+%Three digits, three arguments: \\
+%input: \texttt{\textbackslash{}ispmdexpp\{123\}} \\
+%output: \ispmdexpp{123} \\
+%
+%\textsc{Four arguments} \\
+%
+%Three digits, four arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{1.23\}} \\
+%\ispmdexpp{1.23} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{12.3\}} \\
+%\ispmdexpp{12.3} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{1234\}} \\
+%\ispmdexpp{1234} \\
+%
+%\textsc{Five arguments} \\
+%
+%Four digits, five arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{1.234\}} \\
+%\ispmdexpp{1.234} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{12.34\}} \\
+%\ispmdexpp{12.34} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{123.4\}} \\
+%\ispmdexpp{123.4} \\
+%
+%Five digits, five arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{12345\}} \\
+%\ispmdexpp{12345} \\
+%
+%\textsc{Six arguments} \\
+%
+%Five digits, six arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{1.2345\}} \\
+%\ispmdexpp{1.2345} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{12.345\}} \\
+%\ispmdexpp{12.345} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{123.45\}} \\
+%\ispmdexpp{123.45} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{1234.5\}} \\
+%\ispmdexpp{1234.5} \\
+%
+%Six digits, six arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{123456\}} \\
+%\ispmdexpp{123456} \\
+%
+%\textsc{Seven arguments} \\
+%
+%Six digits, seven arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{1.23456\}} \\
+%\ispmdexpp{1.23456} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{12.3456\}} \\
+%\ispmdexpp{12.3456} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{123.456\}} \\
+%\ispmdexpp{123.456} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{1234.56\}} \\
+%\ispmdexpp{1234.56} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{12345.6\}} \\
+%\ispmdexpp{12345.6} \\
+%
+%Seven digits, seven arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{1234567\}} \\
+%\ispmdexpp{1234567} \\
+%
+%\newpage
+%
+%\textsc{Eight arguments} \\
+%
+%Seven digits, eight arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{1.234567\}} \\
+%\ispmdexpp{1.234567} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{12.34567\}} \\
+%\ispmdexpp{12.34567} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{123.4567\}} \\
+%\ispmdexpp{123.4567} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{1234.567\}} \\
+%\ispmdexpp{1234.567} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{12345.67\}} \\
+%\ispmdexpp{12345.67} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{123456.7\}} \\
+%\ispmdexpp{123456.7} \\
+%
+%Eight digits, eight arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{12345678\}} \\
+%\ispmdexpp{12345678} \\
+%
+%\textsc{Nine arguments} \\
+%
+%Eight digits, nine arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{1.2345678\}} \\
+%\ispmdexpp{1.2345678} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{12.345678\}} \\
+%\ispmdexpp{12.345678} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{123.45678\}} \\
+%\ispmdexpp{123.45678} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{1234.5678\}} \\
+%\ispmdexpp{1234.5678} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{12345.678\}} \\
+%\ispmdexpp{12345.678} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{123456.78\}} \\
+%\ispmdexpp{123456.78} \\\\
+%\texttt{\textbackslash{}ispmdexpp\{1234567.8\}} \\
+%\ispmdexpp{1234567.8} \\
+%
+%\newpage
+%
+%Nine digits, nine arguments: \\
+%\texttt{\textbackslash{}ispmdexpp\{123456789\}} \\
+%\ispmdexpp{123456789} \\ \\
+%
+%\paragraph{By first digit as leading digit, with truncated digits on the right of it} ~\ \\
+%
+%\textsc{Two arguments} \\
+%
+%Two digits, two arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{12\}} \\
+%\ispmdexppt{12} \\
+%
+%\textsc{Three arguments} \\
+%
+%Two digits, three arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{1.2\}} \\
+%\ispmdexppt{1.2} \\
+%
+%Three digits, three arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{123\}} \\
+%\ispmdexppt{123} \\
+%
+%\textsc{Four arguments} \\
+%
+%Three digits, four arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{1.23\}} \\
+%\ispmdexppt{1.23} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{12.3\}} \\
+%\ispmdexppt{12.3} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{1234\}} \\
+%\ispmdexppt{1234} \\
+%
+%\textsc{Five arguments} \\
+%
+%Four digits, five arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{1.234\}} \\
+%\ispmdexppt{1.234} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{12.34\}} \\
+%\ispmdexppt{12.34} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{123.4\}} \\
+%\ispmdexppt{123.4} \\
+%
+%\newpage
+%
+%Five digits, five arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{12345\}} \\
+%\ispmdexppt{12345} \\
+%
+%\textsc{Six arguments} \\
+%
+%Five digits, six arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{1.2345\}} \\
+%\ispmdexppt{1.2345} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{12.345\}} \\
+%\ispmdexppt{12.345} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{123.45\}} \\
+%\ispmdexppt{123.45} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{1234.5\}} \\
+%\ispmdexppt{1234.5} \\
+%
+%Six digits, six arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{123456\}} \\
+%\ispmdexppt{123456} \\
+%
+%\textsc{Seven arguments} \\
+%
+%Six digits, seven arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{1.23456\}} \\
+%\ispmdexppt{1.23456} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{12.3456\}} \\
+%\ispmdexppt{12.3456} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{123.456\}} \\
+%\ispmdexppt{123.456} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{1234.56\}} \\
+%\ispmdexppt{1234.56} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{12345.6\}} \\
+%\ispmdexppt{12345.6} \\
+%
+%Seven digits, seven arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{1234567\}} \\
+%\ispmdexppt{1234567} \\
+%
+%\textsc{Eight arguments} \\
+%
+%Seven digits, eight arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{1.234567\}} \\
+%\ispmdexppt{1.234567} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{12.34567\}} \\
+%\ispmdexppt{12.34567} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{123.4567\}} \\
+%\ispmdexppt{123.4567} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{1234.567\}} \\
+%\ispmdexppt{1234.567} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{12345.67\}} \\
+%\ispmdexppt{12345.67} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{123456.7\}} \\
+%\ispmdexppt{123456.7} \\
+%
+%Eight digits, eight arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{12345678\}} \\
+%\ispmdexppt{12345678} \\
+%
+%\textsc{Nine arguments} \\
+%
+%Eight digits, nine arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{1.2345678\}} \\
+%\ispmdexppt{1.2345678} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{12.345678\}} \\
+%\ispmdexppt{12.345678} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{123.45678\}} \\
+%\ispmdexppt{123.45678} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{1234.5678\}} \\
+%\ispmdexppt{1234.5678} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{12345.678\}} \\
+%\ispmdexppt{12345.678} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{123456.78\}} \\
+%\ispmdexpp{123456.78} \\\\
+%\texttt{\textbackslash{}ispmdexppt\{1234567.8\}} \\
+%\ispmdexppt{1234567.8} \\
+%
+%Nine digits, nine arguments: \\
+%\texttt{\textbackslash{}ispmdexppt\{123456789\}} \\
+%\ispmdexppt{123456789} \\ \\
+%
+%
+%%\subsubsection{Rendering by negative exponents of number ten powers}
+%Rendering of a number as it multiplied by number ten raised to negative exponents of power.
+%\paragraph{By first digit as leading digit, without truncated digits on the right of it} ~\ \\
+%
+%\textsc{One digit after dot} \\
+%\texttt{\textbackslash{}ispmdexpm\{0.1\}}\\
+%\ispmdexpm{0.1} \\
+%
+%\textsc{Two digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpm\{0.12\}}\\
+%\ispmdexpm{0.12} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.01\}}\\
+%\ispmdexpm{0.01} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.10\}}\\
+%\ispmdexpm{0.10} \\
+%
+%\textsc{Three digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpm\{0.123\}}\\
+%\ispmdexpm{0.123} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.012\}}\\
+%\ispmdexpm{0.012} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.001\}}\\
+%\ispmdexpm{0.001} \\
+%
+%\textsc{Four digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpm\{0.1234\}}\\
+%\ispmdexpm{0.1234} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.0123\}}\\
+%\ispmdexpm{0.0123} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.0012\}}\\
+%\ispmdexpm{0.0012} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.0001\}}\\
+%\ispmdexpm{0.0001} \\
+%
+%\textsc{Five digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpm\{0.12345\}}\\
+%\ispmdexpm{0.12345} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.01234\}}\\
+%\ispmdexpm{0.01234} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.00123\}}\\
+%\ispmdexpm{0.00123} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.00012\}}\\
+%\ispmdexpm{0.00012} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.00001\}}\\
+%\ispmdexpm{0.00001} \\
+%
+%\textsc{Six digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpm\{0.123456\}}\\
+%\ispmdexpm{0.123456} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.012345\}}\\
+%\ispmdexpm{0.012345} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.001234\}}\\
+%\ispmdexpm{0.001234} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.000123\}}\\
+%\ispmdexpm{0.000123} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.000012\}}\\
+%\ispmdexpm{0.000012} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.000001\}}\\
+%\ispmdexpm{0.000001} \\
+%
+%\textsc{Seven digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpm\{0.1234567\}}\\
+%\ispmdexpm{0.1234567} \\\\
+%\texttt{\textbackslash{}ispmdexpm\{0.0123456\}}\\
+%\ispmdexpm{0.0123456} \\\\
+%\texttt{\textbackslash{}ispmdexpm\{0.0012345\}}\\
+%\ispmdexpm{0.0012345} \\\\
+%\texttt{\textbackslash{}ispmdexpm\{0.0001234\}}\\
+%\ispmdexpm{0.0001234} \\\\
+%\texttt{\textbackslash{}ispmdexpm\{0.0000123\}}\\
+%\ispmdexpm{0.0000123} \\\\
+%\texttt{\textbackslash{}ispmdexpm\{0.0000012\}}\\
+%\ispmdexpm{0.0000012} \\ \\
+%\texttt{\textbackslash{}ispmdexpm\{0.0000001\}}\\
+%\ispmdexpm{0.0000001}
+%
+%\paragraph{By first digit as leading digit, with truncated digits on the right of it} ~\ \\
+%
+%\textsc{One digit after dot} \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.1\}}\\
+%\ispmdexpmt{0.1} \\
+%
+%\textsc{Two digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.12\}}\\
+%\ispmdexpmt{0.12} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.01\}}\\
+%\ispmdexpmt{0.01} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.10\}}\\
+%\ispmdexpmt{0.10} \\
+%
+%\textsc{Three digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.123\}}\\
+%\ispmdexpmt{0.123} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.012\}}\\
+%\ispmdexpmt{0.012} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.001\}}\\
+%\ispmdexpmt{0.001} \\
+%
+%\textsc{Four digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.1234\}}\\
+%\ispmdexpmt{0.1234} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.0123\}}\\
+%\ispmdexpmt{0.0123} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.0012\}}\\
+%\ispmdexpmt{0.0012} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.0001\}}\\
+%\ispmdexpmt{0.0001} \\
+%
+%\textsc{Five digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.12345\}}\\
+%\ispmdexpmt{0.12345} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.01234\}}\\
+%\ispmdexpmt{0.01234} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.00123\}}\\
+%\ispmdexpmt{0.00123} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.00012\}}\\
+%\ispmdexpmt{0.00012} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.00001\}}\\
+%\ispmdexpmt{0.00001} \\
+%
+%\textsc{Six digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.123456\}}\\
+%\ispmdexpmt{0.123456} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.012345\}}\\
+%\ispmdexpmt{0.012345} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.001234\}}\\
+%\ispmdexpmt{0.001234} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.000123\}}\\
+%\ispmdexpmt{0.000123} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.000012\}}\\
+%\ispmdexpmt{0.000012} \\ \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.000001\}}\\
+%\ispmdexpmt{0.000001} \\
+%
+%\textsc{Seven digits after dot} \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.1234567\}}\\
+%\ispmdexpmt{0.1234567} \\\\
+%\texttt{\textbackslash{}ispmdexpmt\{0.0123456\}}\\
+%\ispmdexpmt{0.0123456} \\\\
+%\texttt{\textbackslash{}ispmdexpmt\{0.0012345\}}\\
+%\ispmdexpmt{0.0012345} \\\\
+%\texttt{\textbackslash{}ispmdexpmt\{0.0001234\}}\\
+%\ispmdexpmt{0.0001234} \\\\
+%\texttt{\textbackslash{}ispmdexpmt\{0.0000123\}}\\
+%\ispmdexpmt{0.0000123} \\\\
+%\texttt{\textbackslash{}ispmdexpmt\{0.0000012\}}\\
+%\ispmdexpmt{0.0000012} \\
+%\texttt{\textbackslash{}ispmdexpmt\{0.0000001\}}\\
+%\ispmdexpmt{0.0000001}
+%
+%\subsubsection{option `flushpostdot'}
+%\textsl{Usage}: \texttt{\textbackslash usepackage[flushpostdot]\{isphysicalmath\}} \\
+%
+%Outside mathematical environment:\\
+%\texttt{\textbackslash{}ispmflushpd 12.3} \\
+%\ispmflushpd 12.3 \\ \\
+%Inside mathematical environment:\\
+%\texttt{\$\textbackslash{}ispmflushpd 12.3\$} \\
+%$\ispmflushpd 12.3$
+%
+%
+%\subsubsection{option `dc'}
%\label{subsubsec:optionDc}
%\textsl{Usage}: \texttt{\textbackslash usepackage[dc]\{isphysicalmath\}} \\
%
@@ -640,84 +2674,19 @@
%\end{verbatim}
%\end{center}
%
-%\subsubsection{option <comma>}
-%\label{subsubsec:optionComma}
-%\textsl{Usage}: \texttt{\textbackslash
-%\{usepackage\}[comma]\{isphysicalmath\}} \\
-%
-%It adds comma after every three digits, according to international
-%scientific notation.
-%
-%\begin{center}
-% 100,000,000 \\
-% 100,000,000.00\\
-% 10,000,000.00 \\
-% 1,000,000.00 \\
-% 100,000.00 \\
-% 10,000.00 \\
-% 1,000.00
-%\end{center}
-%
-%The code:
-%\begin{center}
-%\begin{verbatim}
-%\ispmc{100000000} \\
-%\ispmc{100000000}.00 \\
-%\ispmc{10000000}.00 \\
-%\ispmc{1000000}.00 \\
-%\ispmc{100000}.00 \\
-%\ispmc{10000}.00 \\
-%\ispmc{1000}.00
-%\end{verbatim}
-%\end{center}
-%\subsubsection{command <comma>}
-%\label{subsubsec:commandComma}
-%\textsl{Usage}: \texttt{\textbackslash
-%\{usepackage\}[dc]\{isphysicalmath\}} \\
-%or \\
-%\texttt{\textbackslash \{usepackage\}\{isphysicalmath\}} \\
-%It adds comma after every three digits, according to international
-%scientific notation.
-%
-%\begin{center}
-% 100,000,000 \\
-% 100,000,000.00\\
-% 10,000,000.00 \\
-% 1,000,000.00 \\
-% 100,000.00 \\
-% 10,000.00 \\
-% 1,000.00
-%\end{center}
-%
-%The code:
-%\begin{center}
-%\begin{verbatim}
-%\ispmcomma{100000000} \\
-%\ispmcomma{100000000}.00 \\
-%\ispmcomma{10000000}.00 \\
-%\ispmcomma{1000000}.00 \\
-%\ispmcomma{100000}.00 \\
-%\ispmcomma{10000}.00 \\
-%\ispmcomma{1000}.00
-%\end{verbatim}
-%\end{center}
-%\newpage
-%
%\section{isphysicalmath url}%
%Package home URL:
-%\tiny \url{https://ctan.org/pkg/isphysicalmath} \\
-%\url{https://github.com/MartDiVenus/LaTeX/tree/isphysicalmath} \normalsize%
+%\tiny \url{https://ctan.org/pkg/isphysicalmath} \normalsize
%
%\section{Copyright}
+%Copyright \copyright{} 2024 by Mario Fantini <ing.mariofantini at gmail.com>.
%
-%Copyright (C) 2024 by Mario Fantini <marfant7 at gmail.com>
-%
%This file may be distributed and/or modified under the conditions of
-%the \LaTeX\ Project Public License, either version 1.3 of this license
+%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: \\
-%\url{http://www.latex-project.org/lppl.txt} \\
-%and version 1.3 or later is part of all distributions of \LaTeX\ version
+%\tiny \url{http://www.latex-project.org/lppl.txt} \normalsize \\
+%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'.
@@ -742,7 +2711,7 @@
%\item Doc \textsl{comma} option improved in \autoref{sec:usage}.
%\item Doc \textsl{comma} option changed in \autoref{subsec:in-depthNotation}.
%\item Option \textsl{comma} improved, now the goal is reached by a single command.
-%\item \autoref{subsubsec:optionComma} changed.
+%\item Option \textsl{comma} changed.
%\item \autoref{subsubsec:commandComma} added.
%\item Following commands added:
%\begin{itemize}
@@ -773,5 +2742,21 @@
%\end{itemize}
%\end{enumerate}
%
+%\subsection{v2.0.0}
+%2024.12.24 Following corrections, improvements and new features have been brought:
+%\begin{enumerate}
+%\item I have corrected some distraction mistakes. However, perfect operation of \textsl{isphysicalmath} was guarenteed
+% before these corrections too.
+%\item I have removed \textit{comma option}.
+%\item I have changed the order of \textit{options} in the documentation index.
+%\item I have added the following new features:
+%\begin{itemize}
+%\item \texttt{\textbackslash ispmdexpp} command;
+%\item \texttt{\textbackslash ispmdexppt} command;
+%\item \texttt{\textbackslash ispmdexpm} command;
+%\item \texttt{flushpostdot} option.
+%\end{itemize}
+%\item I have changed my e-mail contact.
+%\end{enumerate}
% \Finale
\endinput
Modified: trunk/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.ins 2024-12-30 21:18:29 UTC (rev 73238)
+++ trunk/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.ins 2024-12-30 21:18:39 UTC (rev 73239)
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2024 by Mario Fantini <marfant7 at gmail.com>
+%% Copyright (C) 2024 by Mario Fantini <ing.mariofantini at gmail.com>
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
@@ -28,7 +28,7 @@
This is a generated file.
-Copyright (C) 2024 by Mario Fantini <marfant7 at gmail.com>
+Copyright (C) 2024 by Mario Fantini <ing.mariofantini at gmail.com>
This file may be distributed and/or modified under the conditions of
the LaTeX Project Public License, either version 1.3 of this license
Modified: trunk/Master/texmf-dist/tex/latex/isphysicalmath/isphysicalmath.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/isphysicalmath/isphysicalmath.sty 2024-12-30 21:18:29 UTC (rev 73238)
+++ trunk/Master/texmf-dist/tex/latex/isphysicalmath/isphysicalmath.sty 2024-12-30 21:18:39 UTC (rev 73239)
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 2024 by Mario Fantini <marfant7 at gmail.com>
+%% Copyright (C) 2024 by Mario Fantini <ing.mariofantini at gmail.com>
%%
%% This file may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License, either version 1.3 of this license
@@ -22,7 +22,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{isphysicalmath}
-[2024/01/03 v1.1.0 .dtx isphysicalmath file]
+[2024/12/27 v2.0.0 .dtx isphysicalmath file]
\RequirePackage{xstring}
%
% Notation section:
@@ -32,9 +32,10 @@
\def\ispmrc#1,#2{{#1.#2}}
}
%
-% option [comma]: scientific international notation for thousands and their multiples.
-\DeclareOption{comma}{
-\def\ispmc#1{%
+\ExecuteOptions{dc}
+%
+% command \ispmcomma: scientific international notation for thousands and their multiples.
+\newcommand{\ispmcomma}[1]{%
\StrLen{#1}[\temp]%
\ifnum\temp=4%
\StrChar{#1}{1}[\unoq]%
@@ -94,21 +95,205 @@
\unoq\dueq\treq,\quattroq\cinqueq\seiq,\setteq\ottoq\noveq%
\fi%
}
+%
+%
+% Formatting section:
+% a small space between value and measurement unit
+\newcommand{\ispms}{\,}
+% normal text rendering for first measurement unit
+\newcommand{\ispmntone}[1]{\textnormal{#1}}
+% jolly: the default setting consists in --- a $0.15\ispmone{mm}$ of space
+% and normal text rendering for a generic 'entity'.
+% If you are a developer, you can modify it when and how you want.
+\newcommand{\ispm}[1]{\hspace{0.15mm}\textnormal{#1}}
+% normal text rendering for first and second measurement units
+\newcommand{\ispmnttwo}[2]{\textnormal{#1}\textnormal{#2}}
+% space between first and second measurement units
+\newcommand{\ispmss}{\hspace{0.15mm}}
+% \ispm if you have only a measurement unit
+% e.g. $F = 20 \ispmone{N}$
+\newcommand{\ispmone}{\ispms\ispmntone}
+% \ispm if you have two measurement units
+% e.g. $L = 20 \ispmtwo{N}{m}$
+\newcommand{\ispmtwo}[2]{\ispms\ispmnttwo\ispmss{#1}\ispmnttwo\ispmss{#2}}
+% ispm if you have three measurement units
+% e.g. $V = 8 \ispmtwo{m}{m}\ispmthird{m}$
+\newcommand{\ispmthird}[1]{\ispmss\ispm{#1}}
+% and so on until ninth measurement unit
+\newcommand{\ispmfourth}[1]{\ispmss\ispm{#1}}
+\newcommand{\ispmfifth}[1]{\ispmss\ispm{#1}}
+\newcommand{\ispmsixth}[1]{\ispmss\ispm{#1}}
+\newcommand{\ispmseventh}[1]{\ispmss\ispm{#1}}
+\newcommand{\ispmeighth}[1]{\ispmss\ispm{#1}}
+\newcommand{\ispmninth}[1]{\ispmss\ispm{#1}}
+% If you don't want numerical order, you could use generic \ispmn command
+\newcommand{\ispmn}[1]{\ispmss\ispm{#1}}
+
+
+%% Delete digits after dot
+\DeclareOption{flushpostdot}{
+% e.g. \ispmflushpd 1.2 = 1
+\def\ispmflushpd#1.#2{{#1}}
}
-\ExecuteOptions{dc}
-\ExecuteOptions{comma}
-\ProcessOptions\relax
+\ExecuteOptions{flushpostdot}
+
+
+%% Potenze del numero dieci
+\newcommand{\ispmpl}{(}
+\newcommand{\ispmpr}{)}
+\newcommand{\ispmten}{10}
+\newcommand{\ispmtenf}{\ispmpl\ispmten\ispmpr}
+
+%% Esponenti positivi con la prima cifra "leading": numeri interi
+% commentato perché limitante, quello per i numeri reali è invece completo (universale)
+%\newcommand{\ispmdexpp}[1]{%
+%\StrLen{#1}[\temp]%
+%\ifnum\temp=2%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\ispmpl{\unoq}.{\dueq}\ispmpr\ispmtenf%
+%\fi%
+%\ifnum\temp=3%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\ispmpl{\unoq}.{\dueq}{\treq}\ispmpr\ispmtenf$^2$%
+%\fi%
+%\ifnum\temp=4%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}\ispmpr\ispmtenf$^3$%
+%\fi%
+%\ifnum\temp=5%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\StrChar{#1}{5}[\cinqueq]%
+%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}\ispmpr\ispmtenf$^4$%
+%\fi%
+%\ifnum\temp=6%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\StrChar{#1}{5}[\cinqueq]%
+%\StrChar{#1}{6}[\seiq]%
+%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}\ispmpr\ispmtenf$^5$%
+%\fi%
+%\ifnum\temp=7%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\StrChar{#1}{5}[\cinqueq]%
+%\StrChar{#1}{6}[\seiq]%
+%\StrChar{#1}{7}[\setteq]%
+%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}\ispmpr\ispmtenf$^6$%
+%\fi%
+%\ifnum\temp=8%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\StrChar{#1}{5}[\cinqueq]%
+%\StrChar{#1}{6}[\seiq]%
+%\StrChar{#1}{7}[\setteq]%
+%\StrChar{#1}{8}[\ottoq]%
+%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}{\ottoq}\ispmpr\ispmtenf$^7$%
+%\fi%
+%\ifnum\temp=9%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\StrChar{#1}{5}[\cinqueq]%
+%\StrChar{#1}{6}[\seiq]%
+%\StrChar{#1}{7}[\setteq]%
+%\StrChar{#1}{8}[\ottoq]%
+%\StrChar{#1}{9}[\noveq]%
+%\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}{\ottoq}{\noveq}\ispmpr\ispmtenf$^8$%
+%\fi%
+%}
%
-% command \ispmcomma: scientific international notation for thousands and their multiples.
-\newcommand{\ispmcomma}[1]{%
+%% Esponenti positivi Reali con la prima cifra "leading"
+\newcommand{\ispmdexpp}[1]{%
+%
+%% Two digits, two arguments
\StrLen{#1}[\temp]%
+\ifnum\temp=2%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\ispmpl{\unoq}.{\dueq}\ispmpr\ispmtenf%
+\fi%
+%
+% Three arguments
+\ifnum\temp=3%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% Two digits, three arguments \\
+% if A.1.1
+\if\dueq.
+\unoq\dueq\treq%
+% else A.1.1
+\else
+% Three digits, three arguments \\
+\ispmpl{\unoq}.{\dueq}{\treq}\ispmpr\ispmtenf$^2$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi%
+%
+%
+% if A
\ifnum\temp=4%
\StrChar{#1}{1}[\unoq]%
\StrChar{#1}{2}[\dueq]%
\StrChar{#1}{3}[\treq]%
\StrChar{#1}{4}[\quattroq]%
-\unoq,\dueq\treq\quattroq%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq\dueq\treq\quattroq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}\ispmpr\ispmtenf$^3$%
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
\fi%
+%
+% if A
\ifnum\temp=5%
\StrChar{#1}{1}[\unoq]%
\StrChar{#1}{2}[\dueq]%
@@ -115,8 +300,522 @@
\StrChar{#1}{3}[\treq]%
\StrChar{#1}{4}[\quattroq]%
\StrChar{#1}{5}[\cinqueq]%
-\unoq\dueq,\treq\quattroq\cinqueq%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq\dueq\treq\quattroq\cinqueq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+% 12.3 -> 1.23(10)
+\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+% if A.1.1.1.1.1
+\ifx\quattroq\undefined
+indefinito
+% else A.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1
+\if\quattroq.
+\ispmpl{\unoq}.{\dueq}{\treq}{\cinqueq}\ispmpr\ispmtenf$^2$%
+% else A.1.1.1.1.1.1
+\else
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}\ispmpr\ispmtenf$^4$%
+% fi A.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1
+\fi
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
+\ifnum\temp=6%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq\dueq\treq\quattroq\cinqueq\seiq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+% 12.3 -> 1.23(10)
+\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+% if A.1.1.1.1.1
+\ifx\quattroq\undefined
+indefinito
+% else A.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1
+\if\quattroq.
+%123.4 -> 1.234(10)^2
+\ispmpl{\unoq}.{\dueq}{\treq}{\cinqueq}\ispmpr\ispmtenf$^2$%
+% else A.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1
+\ifx\cinqueq\undefined
+indefinito
+% else A.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1
+\if\cinqueq.
+%1234.5 -> 1.2345(10)^3
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\seiq}\ispmpr\ispmtenf$^3$%
+% else A.1.1.1.1.1.1.1.1
+\else
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}\ispmpr\ispmtenf$^5$%
+% fi A.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1
+\fi
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
\fi%
+%
+%
+% if A
+\ifnum\temp=7%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+\StrChar{#1}{7}[\setteq]%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq\dueq\treq\quattroq\cinqueq\seiq\setteq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+% 12.3 -> 1.23(10)
+\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+% if A.1.1.1.1.1
+\ifx\quattroq\undefined
+indefinito
+% else A.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1
+\if\quattroq.
+%123.4 -> 1.234(10)^2
+\ispmpl{\unoq}.{\dueq}{\treq}{\cinqueq}\ispmpr\ispmtenf$^2$%
+% else A.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1
+\ifx\cinqueq\undefined
+indefinito
+% else A.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1
+\if\cinqueq.
+%1234.5 -> 1.2345(10)^3
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\seiq}\ispmpr\ispmtenf$^3$%
+% else A.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1
+\if\seiq.
+%12345.6 -> 1.23456(10)^4
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\setteq}\ispmpr\ispmtenf$^4$%
+% else A.1.1.1.1.1.1.1.1.1
+\else
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}\ispmpr\ispmtenf$^6$%
+% fi A.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1
+\fi
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi%
+%
+%
+% if A
+\ifnum\temp=8%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+\StrChar{#1}{7}[\setteq]%
+\StrChar{#1}{8}[\ottoq]%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq\dueq\treq\quattroq\cinqueq\seiq\setteq\ottoq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+% 12.3 -> 1.23(10)
+\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+% if A.1.1.1.1.1
+\ifx\quattroq\undefined
+indefinito
+% else A.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1
+\if\quattroq.
+\ispmpl{\unoq}.{\dueq}{\treq}{\cinqueq}\ispmpr\ispmtenf$^2$%
+% else A.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1
+\ifx\cinqueq\undefined
+indefinito
+% else A.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1
+\if\cinqueq.
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\seiq}\ispmpr\ispmtenf$^3$%
+% else A.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1
+\if\seiq.
+%12345.6 -> 1.23456(10)^4
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\setteq}\ispmpr\ispmtenf$^4$%
+% else A.1.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1.1
+\if\setteq.
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\ottoq}\ispmpr\ispmtenf$^5$%
+% else A.1.1.1.1.1.1.1.1.1.1
+\else
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}{\ottoq}\ispmpr\ispmtenf$^7$%
+% fi A.1.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1
+\fi
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi%
+%
+%
+% if A
+\ifnum\temp=9%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+\StrChar{#1}{7}[\setteq]%
+\StrChar{#1}{8}[\ottoq]%
+\StrChar{#1}{9}[\noveq]%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq\dueq\treq\quattroq\cinqueq\seiq\setteq\ottoq\noveq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+% 12.3 -> 1.23(10)
+\ispmpl{\unoq}.{\dueq}{\quattroq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+% if A.1.1.1.1.1
+\ifx\quattroq\undefined
+indefinito
+% else A.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1
+\if\quattroq.
+%123.4 -> 1.234(10)^2
+\ispmpl{\unoq}.{\dueq}{\treq}{\cinqueq}\ispmpr\ispmtenf$^2$%
+% else A.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1
+\ifx\cinqueq\undefined
+indefinito
+% else A.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1
+\if\cinqueq.
+%1234.5 -> 1.2345(10)^3
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\seiq}\ispmpr\ispmtenf$^3$%
+% else A.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1
+\if\seiq.
+%12345.6 -> 1.23456(10)^4
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\setteq}\ispmpr\ispmtenf$^4$%
+% else A.1.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1.1
+\if\setteq.
+%123456.7 -> 1.234567(10)^5
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\ottoq}\ispmpr\ispmtenf$^5$%
+% else A.1.1.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1.1.1
+\if\ottoq.
+%1234567.8 -> 1.2345678(10)^6
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}{\noveq}\ispmpr\ispmtenf$^6$%
+% else A.1.1.1.1.1.1.1.1.1.1.1
+\else
+\ispmpl{\unoq}.{\dueq}{\treq}{\quattroq}{\cinqueq}{\seiq}{\setteq}{\ottoq}{\noveq}\ispmpr\ispmtenf$^8$%
+% fi A.1.1.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1
+\fi
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi%
+%
+}
+%
+%
+%
+%% Esponenti positivi Reali con la prima cifra "leading", quelle a dx invece troncate
+\newcommand{\ispmdexppt}[1]{%
+%
+%% Two digits, two arguments
+\StrLen{#1}[\temp]%
+\ifnum\temp=2%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\ispmpl{\unoq}\ispmpr\ispmtenf%
+\fi%
+%
+% Three arguments
+\ifnum\temp=3%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% Two digits, three arguments \\
+% if A.1.1
+\if\dueq.
+\unoq%
+% else A.1.1
+\else
+% Three digits, three arguments \\
+\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi%
+%
+%
+% if A
+\ifnum\temp=4%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+\ispmpl{\unoq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi%
+%
+% if A
+\ifnum\temp=5%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+\ispmpl{\unoq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+% if A.1.1.1.1.1
+\ifx\quattroq\undefined
+indefinito
+% else A.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1
+\if\quattroq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+% else A.1.1.1.1.1.1
+\else
+\ispmpl{\unoq}\ispmpr\ispmtenf$^4$%
+% fi A.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1
+\fi
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
\ifnum\temp=6%
\StrChar{#1}{1}[\unoq]%
\StrChar{#1}{2}[\dueq]%
@@ -124,8 +823,68 @@
\StrChar{#1}{4}[\quattroq]%
\StrChar{#1}{5}[\cinqueq]%
\StrChar{#1}{6}[\seiq]%
-\unoq\dueq\treq,\quattroq\cinqueq\seiq%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+\ispmpl{\unoq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+% if A.1.1.1.1.1
+\ifx\quattroq\undefined
+indefinito
+% else A.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1
+\if\quattroq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+% else A.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1
+\ifx\cinqueq\undefined
+indefinito
+% else A.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1
+\if\cinqueq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+% else A.1.1.1.1.1.1.1.1
+\else
+\ispmpl{\unoq}\ispmpr\ispmtenf$^5$%
+% fi A.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1
+\fi
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
\fi%
+%
+%
+% if A
\ifnum\temp=7%
\StrChar{#1}{1}[\unoq]%
\StrChar{#1}{2}[\dueq]%
@@ -134,8 +893,75 @@
\StrChar{#1}{5}[\cinqueq]%
\StrChar{#1}{6}[\seiq]%
\StrChar{#1}{7}[\setteq]%
-\unoq,\dueq\treq\quattroq,\cinqueq\seiq\setteq%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+\ispmpl{\unoq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+% if A.1.1.1.1.1
+\ifx\quattroq\undefined
+indefinito
+% else A.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1
+\if\quattroq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+% else A.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1
+\ifx\cinqueq\undefined
+indefinito
+% else A.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1
+\if\cinqueq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+% else A.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1
+\if\seiq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^4$%
+% else A.1.1.1.1.1.1.1.1.1
+\else
+\ispmpl{\unoq}\ispmpr\ispmtenf$^6$%
+% fi A.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1
+\fi
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
\fi%
+%
+%
+% if A
\ifnum\temp=8%
\StrChar{#1}{1}[\unoq]%
\StrChar{#1}{2}[\dueq]%
@@ -145,8 +971,82 @@
\StrChar{#1}{6}[\seiq]%
\StrChar{#1}{7}[\setteq]%
\StrChar{#1}{8}[\ottoq]%
-\unoq\dueq,\treq\quattroq\cinqueq,\seiq\setteq\ottoq%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+\ispmpl{\unoq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+% if A.1.1.1.1.1
+\ifx\quattroq\undefined
+indefinito
+% else A.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1
+\if\quattroq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+% else A.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1
+\ifx\cinqueq\undefined
+indefinito
+% else A.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1
+\if\cinqueq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+% else A.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1
+\if\seiq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^4$%
+% else A.1.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1.1
+\if\setteq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^5$%
+% else A.1.1.1.1.1.1.1.1.1.1
+\else
+\ispmpl{\unoq}\ispmpr\ispmtenf$^7$%
+% fi A.1.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1
+\fi
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
\fi%
+%
+%
+% if A
\ifnum\temp=9%
\StrChar{#1}{1}[\unoq]%
\StrChar{#1}{2}[\dueq]%
@@ -157,42 +1057,709 @@
\StrChar{#1}{7}[\setteq]%
\StrChar{#1}{8}[\ottoq]%
\StrChar{#1}{9}[\noveq]%
-\unoq\dueq\treq,\quattroq\cinqueq\seiq,\setteq\ottoq\noveq%
+% if A.1
+\ifx\dueq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\dueq.
+\unoq%
+% else A.1.1
+\else
+% if A.1.1.1
+\ifx\treq\undefined
+indefinito
+% else A.1.1.1
+\else
+% if A.1.1.1.1
+\if\treq.
+\ispmpl{\unoq}\ispmpr\ispmtenf%
+% else A.1.1.1.1
+\else
+% if A.1.1.1.1.1
+\ifx\quattroq\undefined
+indefinito
+% else A.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1
+\if\quattroq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+% else A.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1
+\ifx\cinqueq\undefined
+indefinito
+% else A.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1
+\if\cinqueq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+% else A.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1
+\if\seiq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^4$%
+% else A.1.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1.1
+\if\setteq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^5$%
+% else A.1.1.1.1.1.1.1.1.1.1
+\else
+% if A.1.1.1.1.1.1.1.1.1.1.1
+\if\ottoq.
+\ispmpl{\unoq}\ispmpr\ispmtenf$^6$%
+% else A.1.1.1.1.1.1.1.1.1.1.1
+\else
+\ispmpl{\unoq}\ispmpr\ispmtenf$^8$%
+% fi A.1.1.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1.1
+\fi
+% fi A.1.1.1.1.1
+\fi
+% fi A.1.1.1.1
+\fi
+% fi A.1.1.1
+\fi
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
\fi%
+%
}
+
+%% Esponenti positivi con la prima cifra "leading", cifre troncate a dx
+% Commentato perché limitante, quello per i numeri reali invece è completo (universale).
+%\newcommand{\ispmdexppt}[1]{%
+%\StrLen{#1}[\temp]%
+%\ifnum\temp=2%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\ispmpl{\unoq}\ispmpr\ispmtenf%
+%\fi%
+%\ifnum\temp=3%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\ispmpl{\unoq}\ispmpr\ispmtenf$^2$%
+%\fi%
+%\ifnum\temp=4%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\ispmpl{\unoq}\ispmpr\ispmtenf$^3$%
+%\fi%
+%\ifnum\temp=5%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\StrChar{#1}{5}[\cinqueq]%
+%\ispmpl{\unoq}\ispmpr\ispmtenf$^4$%
+%\fi%
+%\ifnum\temp=6%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\StrChar{#1}{5}[\cinqueq]%
+%\StrChar{#1}{6}[\seiq]%
+%\ispmpl{\unoq}\ispmpr\ispmtenf$^5$%
+%\fi%
+%\ifnum\temp=7%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\StrChar{#1}{5}[\cinqueq]%
+%\StrChar{#1}{6}[\seiq]%
+%\StrChar{#1}{7}[\setteq]%
+%\ispmpl{\unoq}\ispmpr\ispmtenf$^6$%
+%\fi%
+%\ifnum\temp=8%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\StrChar{#1}{5}[\cinqueq]%
+%\StrChar{#1}{6}[\seiq]%
+%\StrChar{#1}{7}[\setteq]%
+%\StrChar{#1}{8}[\ottoq]%
+%\ispmpl{\unoq}\ispmpr\ispmtenf$^7$%
+%\fi%
+%\ifnum\temp=9%
+%\StrChar{#1}{1}[\unoq]%
+%\StrChar{#1}{2}[\dueq]%
+%\StrChar{#1}{3}[\treq]%
+%\StrChar{#1}{4}[\quattroq]%
+%\StrChar{#1}{5}[\cinqueq]%
+%\StrChar{#1}{6}[\seiq]%
+%\StrChar{#1}{7}[\setteq]%
+%\StrChar{#1}{8}[\ottoq]%
+%\StrChar{#1}{9}[\noveq]%
+%\ispmpl{\unoq}\ispmpr\ispmtenf$^8$%
+%\fi%
+%}
+
+%% Esponenti negativi di numeri razionali (che si risolvono in numeri non interi)
+% senza cifre troncate a dx del punto
+\newcommand{\ispmdexpm}[1]{%
+\StrLen{#1}[\temp]%
+%% Inizio con 3 perché il punto è considerato argomento,
+% quindi e.g. 0.1 ha tre argomenti.
+\ifnum\temp=3%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+\fi%
+\ifnum\temp=4%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\ifx\treq\undefined
+indefinito
+\else
+ \if\treq0
+\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+ \else
+\ispmpl{\treq.\quattroq}\ispmpr\ispmtenf$^{-1}$%
+ \fi
+\fi
+\fi%
+% if A
+\ifnum\temp=5%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+% if A.1
+\ifx\treq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\treq0
+% if A.1.1.1
+\if\quattroq0
+\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+% else A.1.1.1
+\else
+\ispmpl{\quattroq.\cinqueq}\ispmpr\ispmtenf$^{-2}$%
+% fi A.1.1.1
+\fi
+% else A.1.1
+\else
+\ispmpl{\treq.\quattroq\cinqueq}\ispmpr\ispmtenf$^{-1}$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
%
%
-% Formatting section:
-% a small space between value and measurement unit
-\newcommand{\ispms}{\,}
-% normal text rendering for first measurement unit
-\newcommand{\ispmntone}[1]{\textnormal{#1}}
-% jolly: the default setting consists in --- a $0.15\ispmone{mm}$ of space
-% and normal text rendering for a generic 'entity'.
-% If you are a developer, you can modify it when and how you want.
-\newcommand{\ispm}[1]{\hspace{0.15mm}\textnormal{#1}}
-% normal text rendering for first and second measurement units
-\newcommand{\ispmnttwo}[2]{\textnormal{#1}\textnormal{#2}}
-% space between first and second measurement units
-\newcommand{\ispmss}{\hspace{0.15mm}}
-% \ispm if you have only a measurement unit
-% e.g. $F = 20 \ispmone{N}$
-\newcommand{\ispmone}{\ispms\ispmntone}
-% \ispm if you have two measurement units
-% e.g. $L = 20 \ispmtwo{N}{m}$
-\newcommand{\ispmtwo}[2]{\ispms\ispmnttwo\ispmss{#1}\ispmnttwo\ispmss{#2}}
-% ispm if you have three measurement units
-% e.g. $V = 8 \ispmtwo{m}{m}\ispmthird{m}$
-\newcommand{\ispmthird}[1]{\ispmss\ispm{#1}}
-% and so on until ninth measurement unit
-\newcommand{\ispmfourth}[1]{\ispmss\ispm{#1}}
-\newcommand{\ispmfifth}[1]{\ispmss\ispm{#1}}
-\newcommand{\ispmsixth}[1]{\ispmss\ispm{#1}}
-\newcommand{\ispmseventh}[1]{\ispmss\ispm{#1}}
-\newcommand{\ispmeighth}[1]{\ispmss\ispm{#1}}
-\newcommand{\ispmninth}[1]{\ispmss\ispm{#1}}
-% If you don't want numerical order, you could use generic \ispmn command
-\newcommand{\ispmn}[1]{\ispmss\ispm{#1}}
+% if A
+\ifnum\temp=6%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+% if A.1
+\ifx\treq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\treq0
+% if A.1.1.1
+\if\quattroq0
+% if A.1.1.1.1
+\if\cinqueq0
+\ispmpl{\seiq}\ispmpr\ispmtenf$^{-4}$%
+% else A.1.1.1.1
+\else
+\ispmpl{\cinqueq.\seiq}\ispmpr\ispmtenf$^{-3}$%
+% fi A.1.1.1.1
+\fi
+% else A.1.1.1
+\else
+\ispmpl{\quattroq.\cinqueq\seiq}\ispmpr\ispmtenf$^{-2}$%
+% fi A.1.1.1
+\fi
+% else A.1.1
+\else
+\ispmpl{\treq.\quattroq\cinqueq\seiq}\ispmpr\ispmtenf$^{-1}$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
+%
+% if A
+\ifnum\temp=7%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+\StrChar{#1}{7}[\setteq]%
+% if A.1
+\ifx\treq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\treq0
+% if A.1.1.1
+\if\quattroq0
+% if A.1.1.1.1
+\if\cinqueq0
+% if A.1.1.1.1.1
+\if\seiq0
+\ispmpl{\setteq}\ispmpr\ispmtenf$^{-5}$%
+% else A.1.1.1.1.1
+\else
+\ispmpl{\seiq.\setteq}\ispmpr\ispmtenf$^{-4}$%
+% fi A.1.1.1.1.1
+\fi
+% else A.1.1.1.1
+\else
+\ispmpl{\cinqueq.\seiq\setteq}\ispmpr\ispmtenf$^{-3}$%
+% fi A.1.1.1.1
+\fi
+% else A.1.1.1
+\else
+\ispmpl{\quattroq.\cinqueq\seiq\setteq}\ispmpr\ispmtenf$^{-2}$%
+% fi A.1.1.1
+\fi
+% else A.1.1
+\else
+\ispmpl{\treq.\quattroq\cinqueq\seiq\setteq}\ispmpr\ispmtenf$^{-1}$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
+%
+% if A
+\ifnum\temp=8%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+\StrChar{#1}{7}[\setteq]%
+\StrChar{#1}{8}[\ottoq]%
+% if A.1
+\ifx\treq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\treq0
+% if A.1.1.1
+\if\quattroq0
+% if A.1.1.1.1
+\if\cinqueq0
+% if A.1.1.1.1.1
+\if\seiq0
+% if A.1.1.1.1.1.1
+\if\setteq0
+\ispmpl{\ottoq}\ispmpr\ispmtenf$^{-6}$%
+% else A.1.1.1.1.1.1
+\else
+\ispmpl{\setteq.\ottoq}\ispmpr\ispmtenf$^{-5}$%
+% fi A.1.1.1.1.1.1
+\fi
+% else A.1.1.1.1.1
+\else
+\ispmpl{\seiq.\setteq\ottoq}\ispmpr\ispmtenf$^{-4}$%
+% fi A.1.1.1.1.1
+\fi
+% else A.1.1.1.1
+\else
+\ispmpl{\cinqueq.\seiq\setteq\ottoq}\ispmpr\ispmtenf$^{-3}$%
+% fi A.1.1.1.1
+\fi
+% else A.1.1.1
+\else
+\ispmpl{\quattroq.\cinqueq\seiq\setteq\ottoq}\ispmpr\ispmtenf$^{-2}$%
+% fi A.1.1.1
+\fi
+% else A.1.1
+\else
+\ispmpl{\treq.\quattroq\cinqueq\seiq\setteq\ottoq}\ispmpr\ispmtenf$^{-1}$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
+%
+% if A
+\ifnum\temp=9%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+\StrChar{#1}{7}[\setteq]%
+\StrChar{#1}{8}[\ottoq]%
+\StrChar{#1}{9}[\noveq]%
+% if A.1
+\ifx\treq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\treq0
+% if A.1.1.1
+\if\quattroq0
+% if A.1.1.1.1
+\if\cinqueq0
+% if A.1.1.1.1.1
+\if\seiq0
+% if A.1.1.1.1.1.1
+\if\setteq0
+% if A.1.1.1.1.1.1.1
+\if\ottoq0
+\ispmpl{\noveq}\ispmpr\ispmtenf$^{-7}$%
+% else A.1.1.1.1.1.1.1
+\else
+\ispmpl{\ottoq.\noveq}\ispmpr\ispmtenf$^{-6}$%
+% if A.1.1.1.1.1.1.1
+\fi
+% else A.1.1.1.1.1.1
+\else
+\ispmpl{\setteq.\ottoq\noveq}\ispmpr\ispmtenf$^{-5}$%
+% fi A.1.1.1.1.1.1
+\fi
+% else A.1.1.1.1.1
+\else
+\ispmpl{\seiq.\setteq\ottoq\noveq}\ispmpr\ispmtenf$^{-4}$%
+% fi A.1.1.1.1.1
+\fi
+% else A.1.1.1.1
+\else
+\ispmpl{\cinqueq.\seiq\setteq\ottoq\noveq}\ispmpr\ispmtenf$^{-3}$%
+% fi A.1.1.1.1
+\fi
+% else A.1.1.1
+\else
+\ispmpl{\quattroq.\cinqueq\seiq\setteq\ottoq\noveq}\ispmpr\ispmtenf$^{-2}$%
+% fi A.1.1.1
+\fi
+% else A.1.1
+\else
+\ispmpl{\treq.\quattroq\cinqueq\seiq\setteq\ottoq\noveq}\ispmpr\ispmtenf$^{-1}$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
+}
+%
+% Esponenti negativi di numeri razionali (che si risolvono in numeri non interi), con cifre troncate a dx del punto
+\newcommand{\ispmdexpmt}[1]{%
+\StrLen{#1}[\temp]%
+%% Inizio con 3 perché il punto è considerato argomento,
+% quindi e.g. 0.1 ha tre argomenti.
+\ifnum\temp=3%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+\fi%
+\ifnum\temp=4%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\ifx\treq\undefined
+indefinito
+\else
+ \if\treq0
+\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+ \else
+\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+ \fi
+\fi
+\fi%
+% if A
+\ifnum\temp=5%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+% if A.1
+\ifx\treq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\treq0
+% if A.1.1.1
+\if\quattroq0
+\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+% else A.1.1.1
+\else
+\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+% fi A.1.1.1
+\fi
+% else A.1.1
+\else
+\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
+%
+% if A
+\ifnum\temp=6%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+% if A.1
+\ifx\treq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\treq0
+% if A.1.1.1
+\if\quattroq0
+% if A.1.1.1.1
+\if\cinqueq0
+\ispmpl{\seiq}\ispmpr\ispmtenf$^{-4}$%
+% else A.1.1.1.1
+\else
+\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+% fi A.1.1.1.1
+\fi
+% else A.1.1.1
+\else
+\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+% fi A.1.1.1
+\fi
+% else A.1.1
+\else
+\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
+%
+% if A
+\ifnum\temp=7%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+\StrChar{#1}{7}[\setteq]%
+% if A.1
+\ifx\treq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\treq0
+% if A.1.1.1
+\if\quattroq0
+% if A.1.1.1.1
+\if\cinqueq0
+% if A.1.1.1.1.1
+\if\seiq0
+\ispmpl{\setteq}\ispmpr\ispmtenf$^{-5}$%
+% else A.1.1.1.1.1
+\else
+\ispmpl{\seiq}\ispmpr\ispmtenf$^{-4}$%
+% fi A.1.1.1.1.1
+\fi
+% else A.1.1.1.1
+\else
+\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+% fi A.1.1.1.1
+\fi
+% else A.1.1.1
+\else
+\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+% fi A.1.1.1
+\fi
+% else A.1.1
+\else
+\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
+%
+% if A
+\ifnum\temp=8%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+\StrChar{#1}{7}[\setteq]%
+\StrChar{#1}{8}[\ottoq]%
+% if A.1
+\ifx\treq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\treq0
+% if A.1.1.1
+\if\quattroq0
+% if A.1.1.1.1
+\if\cinqueq0
+% if A.1.1.1.1.1
+\if\seiq0
+% if A.1.1.1.1.1.1
+\if\setteq0
+\ispmpl{\ottoq}\ispmpr\ispmtenf$^{-6}$%
+% else A.1.1.1.1.1.1
+\else
+\ispmpl{\setteq}\ispmpr\ispmtenf$^{-5}$%
+% fi A.1.1.1.1.1.1
+\fi
+% else A.1.1.1.1.1
+\else
+\ispmpl{\seiq}\ispmpr\ispmtenf$^{-4}$%
+% fi A.1.1.1.1.1
+\fi
+% else A.1.1.1.1
+\else
+\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+% fi A.1.1.1.1
+\fi
+% else A.1.1.1
+\else
+\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+% fi A.1.1.1
+\fi
+% else A.1.1
+\else
+\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
+%
+% if A
+\ifnum\temp=9%
+\StrChar{#1}{1}[\unoq]%
+\StrChar{#1}{2}[\dueq]%
+\StrChar{#1}{3}[\treq]%
+\StrChar{#1}{4}[\quattroq]%
+\StrChar{#1}{5}[\cinqueq]%
+\StrChar{#1}{6}[\seiq]%
+\StrChar{#1}{7}[\setteq]%
+\StrChar{#1}{8}[\ottoq]%
+\StrChar{#1}{9}[\noveq]%
+% if A.1
+\ifx\treq\undefined
+indefinito
+% else A.1
+\else
+% if A.1.1
+\if\treq0
+% if A.1.1.1
+\if\quattroq0
+% if A.1.1.1.1
+\if\cinqueq0
+% if A.1.1.1.1.1
+\if\seiq0
+% if A.1.1.1.1.1.1
+\if\setteq0
+% if A.1.1.1.1.1.1.1
+\if\ottoq0
+\ispmpl{\noveq}\ispmpr\ispmtenf$^{-7}$%
+% else A.1.1.1.1.1.1.1
+\else
+\ispmpl{\ottoq}\ispmpr\ispmtenf$^{-6}$%
+% if A.1.1.1.1.1.1.1
+\fi
+% else A.1.1.1.1.1.1
+\else
+\ispmpl{\setteq}\ispmpr\ispmtenf$^{-5}$%
+% fi A.1.1.1.1.1.1
+\fi
+% else A.1.1.1.1.1
+\else
+\ispmpl{\seiq}\ispmpr\ispmtenf$^{-4}$%
+% fi A.1.1.1.1.1
+\fi
+% else A.1.1.1.1
+\else
+\ispmpl{\cinqueq}\ispmpr\ispmtenf$^{-3}$%
+% fi A.1.1.1.1
+\fi
+% else A.1.1.1
+\else
+\ispmpl{\quattroq}\ispmpr\ispmtenf$^{-2}$%
+% fi A.1.1.1
+\fi
+% else A.1.1
+\else
+\ispmpl{\treq}\ispmpr\ispmtenf$^{-1}$%
+% fi A.1.1
+\fi
+% fi A.1
+\fi
+% fi A
+\fi
+%
+}
+\ProcessOptions\relax
+%%\subsubsection{Rendering by negative exponents of number ten powers}
\endinput
%%
%% End of file `isphysicalmath.sty'.
More information about the tex-live-commits
mailing list.