summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/afparticle/afparticle.dtx1069
-rw-r--r--Master/texmf-dist/source/latex/afparticle/afparticle.ins29
-rw-r--r--Master/texmf-dist/source/latex/complexpolylongdiv/complexpolylongdiv.dtx327
-rw-r--r--Master/texmf-dist/source/latex/complexpolylongdiv/complexpolylongdiv.ins44
-rw-r--r--Master/texmf-dist/source/latex/exesheet/exesheet.dtx171
-rw-r--r--Master/texmf-dist/source/latex/fixltxhyph/fixltxhyph.dtx535
-rw-r--r--Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.dtx2331
-rw-r--r--Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.ins4
-rw-r--r--Master/texmf-dist/source/xelatex/bidi/bidi-doc-intro.ltx4
-rw-r--r--Master/texmf-dist/source/xelatex/bidi/bidi-doc-title.ltx4
-rw-r--r--Master/texmf-dist/source/xelatex/bidi/bidi-doc.ltx2
-rw-r--r--Master/texmf-dist/source/xelatex/bidi/bidi.dtx74
-rw-r--r--Master/texmf-dist/source/xelatex/bidi/bidi.ins4
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx4
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx6
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx2
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx50
-rw-r--r--Master/texmf-dist/source/xelatex/xepersian/xepersian.ins4
18 files changed, 3023 insertions, 1641 deletions
diff --git a/Master/texmf-dist/source/latex/afparticle/afparticle.dtx b/Master/texmf-dist/source/latex/afparticle/afparticle.dtx
deleted file mode 100644
index 6b3e9aa60d4..00000000000
--- a/Master/texmf-dist/source/latex/afparticle/afparticle.dtx
+++ /dev/null
@@ -1,1069 +0,0 @@
-% \iffalse
-%<*gobble>
-% $Id: afparticle.dtx,v 1.14 2014-12-23 17:13:00 boris Exp $
-%
-% Copyright 2014, Boris Veytsman <boris@varphi.com>
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either
-% version 1.3 of this license or (at your option) any
-% later version.
-% The latest version of the license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2005/12/01 or later.
-%
-% This work has the LPPL maintenance status `maintained'.
-%
-% The Current Maintainer of this work is Boris Veytsman
-%
-% This work consists of the file afparticle.dtx and the
-% derived file afparticle.cls
-%
-% \fi
-% \CheckSum{689}
-%
-%% \CharacterTable
-%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \iffalse
-%
-%
-%\section{Identification}
-%\label{sec:ident}
-%
-% We start with the declaration who we are
-% \begin{macrocode}
-%</gobble>
-%<class>\NeedsTeXFormat{LaTeX2e}
-%<*gobble>
-\ProvidesFile{afparticle.dtx}
-%</gobble>
-%<class>\ProvidesClass{afparticle}
-[2014/12/23 v1.3 Typesetting articles for Archives of Forensic Psychology]
-%<*gobble>
-% \end{macrocode}
-%
-%
-% \fi
-%
-%\iffalse
-% \begin{macrocode}
-\documentclass{ltxdoc}
-\usepackage{array}
-\usepackage{url}
-\usepackage{hypdoc}
-\hypersetup{breaklinks,colorlinks,linkcolor=black,citecolor=black,
- pagecolor=black,urlcolor=black,hyperindex=false}
-\PageIndex
-\CodelineIndex
-\RecordChanges
-\EnableCrossrefs
-\begin{document}
- \DocInput{afparticle.dtx}
-\end{document}
-% \end{macrocode}
-%</gobble>
-%<*class>
-% \fi
-% \MakeShortVerb{|}
-% \GetFileInfo{afparticle.dtx}
-% \title{Typesetting Articles for \emph{Archives of Forensic Psychology}\thanks{\copyright 2014, Boris Veytsman}}
-% \author{Boris Veytsman\thanks{%
-% \href{mailto:borisv@lk.net}{\texttt{borisv@lk.net}},
-% \href{mailto:boris@varphi.com}{\texttt{boris@varphi.com}}}}
-% \date{\filedate, \fileversion}
-% \maketitle
-% \begin{abstract}
-% This package provides a class for typesetting articles for the
-% journal \emph{Archives of Forensic Psychology},
-% \url{http://www.archivesofforensicpsychology.com}.
-% \end{abstract}
-% \tableofcontents
-%
-% \clearpage
-%
-%
-%\section{Introduction}
-%\label{sec:intro}
-%
-% \emph{Archives of Forensic Psychology} is an Open Access journal.
-% It is described on its Web
-% page\footnote{\url{http://www.archivesofforensicpsychology.com}} in
-% the following way:
-% \begin{quotation}
-% Archives of Forensic Psychology (AFP) is an innovative,
-% peer-reviewed journal published twice per year. Our mission is to
-% link the science and practice of forensic psychology, by making
-% research and clinical resources freely available to all mental
-% health, correctional, and legal professionals. AFP welcomes
-% empirical research, book and instrument reviews, case studies,
-% commentaries, literature reviews, and policy
-% recommendations. Particularly encouraged is the submission of
-% non-significant results as well as the findings of government
-% reports, conference presentations, Master's theses, and
-% doctoral dissertations.
-% \end{quotation}
-%
-% The class |afparticle| is based on the |elsarticle|
-% class~\cite{elsarticle} with the following changes:
-% \begin{enumerate}
-% \item Some formatting changes: unnumbered sections and paragraphs
-% and others.
-% \item A different formatting of the title page.
-% \item Creation of the special file with the metadata used for the
-% Crossref submission.
-% \item Consistent use of APA~6 citation style.
-% \end{enumerate}
-% Most of these changes should be transparent for the user; in the
-% next section we discuss the user-visible ones in more detail.
-%
-%
-%\section{User Manual}
-%\label{sec:manual}
-%
-% The user should consult the manual of
-% |elsarticle|~\cite{elsarticle}; below we describe only the features
-% different for |afparticle| class.
-%
-%\subsection{Invocation}
-%\label{sec:invocation}
-%
-%
-% To use the class put in the preamble of your document
-% \begin{verbatim}
-% \documentclass{afparticle}
-% \end{verbatim}
-% The class supports the same options as |elsarticles| with the
-% following restrictions:
-% \begin{enumerate}
-% \item Options |3p| and |5p| are suppressed. The
-% journal uses only |1p| one-column design. Use options |preprint| and
-% |review| to typeset the article for submission, and |1p| for the
-% final typesetting.
-% \item Options |authoryear|, |number|, |sort&compress| are
-% suppressed. The journal uses |apacite| package~\cite{Meijer:Apacite} for the
-% bibliography (see below).
-% \end{enumerate}
-%
-%
-% To add line numbers to the manuscript, use
-% \begin{verbatim}
-% \usepackage{lineno}
-% \end{verbatim}
-% and then either
-% \begin{verbatim}
-% \begin{linenumbers}
-% ...
-% \end{linenumbers}
-% \end{verbatim}
-% or the global command
-% \begin{verbatim}
-% \linenumbers
-% \end{verbatim}
-%
-%
-%\subsection{Front Matter}
-%\label{sec:ug:frontmatter}
-%
-% \DescribeMacro{\maketitle}
-% Unlike |elsartclass|, |afparticle| does \emph{not} usesthe
-% environment |frontmatter|. Instead, use \cs{maketitle} like you do
-% in the standard \LaTeX\ article.
-%
-% \emph{Archives of Forensic Psychology} normally uses the
-% ``second type of frontmatter coding''~\cite{elsarticle}: the authors
-% with the same affiliation are grouped together, and the affiliation
-% follows the group.
-%
-% \DescribeMacro{\tnoteref}
-% \DescribeMacro{\corref}
-% \DescribeMacro{\fnref}
-% As different from |elsarticle|, the frontmatter commands
-% \emph{do not allow footnotes inside their arguments.} Thus the commands
-% \cs{tnoteref}, \cs{corref}, \cs{fnref} are not allowed and produce
-% errors. Please do not use them.
-%
-% \DescribeMacro{\author*}
-% Of course, there should be a way to show the corresponding author of
-% the manuscript. For this purpose the command \cs{author} has a
-% starred form \cs{author}:
-% \begin{verbatim}
-% \author*{John Doe} % Corresponding author
-% \address{George Mason University, Mailstop 76A12,
-% Fairfax, VA, 22030, USA,
-% \path{jdoe@gmu.edu}}
-% \author{Alexander Hamilton} % Other author
-% \address{George Washington University}
-% \end{verbatim}
-% Please note that the journal requires the corresponding author to
-% indicate her full mailing address and e-mail.
-%
-% \DescribeMacro{\shortauthors}
-% \LaTeX\ automatically puts the names of the authors into a running
-% head on even pages. Sometimes when the list of authors is too
-% large, it does not fit there. In this case put after all
-% \cs{author} definitions the line
-% \begin{verbatim}
-% \renewcommand{\shortauthors}{SHORT LIST}
-% \end{verbatim}
-% for example,
-% \begin{verbatim}
-% \renewcommand{\shortauthors}{John Doe et. al.}
-% \end{verbatim}
-%
-% \DescribeMacro{\title}
-% Unlike \cs{title} in the standard \LaTeX\ and |elsarticle|, our
-% \cs{title} has two arguments: the mandatory one and the optional
-% one. The reason is, the class uses title for running heads on odd
-% pages. If the title is too long, it may not fit, and then the
-% optional argument is used for running heads:
-% \begin{verbatim}
-% \title{Notes on evidence} % Running head and title coincide
-% \title[Notes on evidence]{Some notes on evidence as presented to the
-% juries} % Running head and title are different
-% \end{verbatim}
-%
-% \DescribeMacro{\volumenumber}
-% \DescribeMacro{\issuenumber}
-% \DescribeMacro{\publicationyear}
-% \DescribeMacro{\publicationmonth}
-% \DescribeMacro{\papernumber}
-% \DescribeMacro{\startpage}
-% \DescribeMacro{\endpage}
-% The macros |\volumenumber|, |\issuenumber|, |\publicationyear|,
-% |\publicationmonth|, |\papernumber|, |\startpage|, |\endpage| set up the
-% corresponding
-% data for the paper, for example:
-% \begin{verbatim}
-% \volumenumber{88}
-% \issuenumber{1--2}
-% \publicationyear{2012}
-% \publicationmonth{January--February}
-% \papernumber{2}
-% \startpage{1}
-% \endpage{39}
-% \end{verbatim}
-% Note that if the argument of |\endpage| is empty, \LaTeX{} tries to
-% calculate the last page number as best as it can.
-%
-% \DescribeMacro{\received}
-% \DescribeMacro{\revised}
-% \DescribeMacro{\accepted}
-% The macros \cs{received}\marg{date}, \cs{revised}\marg{date},
-% \cs{accepted}\marg{date} are used by the editorial staff for
-% techincal information about the paper. These macros can be
-% repeated.
-%
-%
-% \DescribeMacro{\doinumber}
-% Normally you do not need to set the DOI of the paper: \TeX{} will
-% construct the number using the paper data (including paper number in
-% the current issue). However, you \emph{may} override its decision
-% using the command |\doinumber| which sets the DOI explicitly, for
-% example, |\doinumber|\marg{12.234/afp.2013.01.01}.
-% You probably should not use this macro.
-%
-% \DescribeMacro{\prevpaper}
-% Instead of setting |\startpage|, one can use the the command
-% |\prevpaper|\marg{previous paper}, with the argument being the
-% location and file name of the previous paper in the journal, for example:
-% \begin{verbatim}
-% \prevpaper{../evidence/rules_of_evidence}
-% \end{verbatim}
-% Note that the |.tex| suffix should \emph{not} be used. The previous
-% paper must be processed by |latex| prior to the current one. In
-% this case |latex| will read the last page of the previous paper, and
-% start the current one from the proper page number.
-%
-%
-%\subsection{Back matter}
-%\label{sec:ug_back}
-%
-% \DescribeMacro{\printbackmatter}
-% The last command of the article must be \cs{printbackmatter}. It
-% prints the technical information about the paper.
-%
-%\subsection{Sectioning}
-%\label{sec:ug:sectioning}
-%
-% The class uses unnumbered sections, subsections and subsubsections.
-% Never use period (.) at the end of the title: it is not allowed for
-% sections and subsections and is automatically added by
-% subsubsectons.
-%
-%
-%\subsubsection{Tables and Figures}
-%\label{sec:ug_floats}
-%
-% You may use tables and figures in the manuscript. Remember that
-% table caption must \emph{precede} the table while figure captions
-% follow the contents.
-%
-%
-%
-%\subsection{Bibliography}
-%\label{sec:biblio}
-%
-% The class uses |apacite|~\cite{Meijer:Apacite} for bibliography with
-% |natbibapa| option. The format of the bibliographic commands is
-% described in the manuals~\cite{Meijer:Apacite}
-% and~\cite{Daly07:Natbib}. Basically you need the commands
-% \cs{citet}\marg{key} for textual citations like ``John Doe (2012) wrote
-% that\ldots'' and \cs{citep}\marg{key} for parentetical citations
-% like ``As shown in the literature (John Doe, 2012)\ldots''.
-%
-% If you use \textsc{Bib}\TeX, add to your file
-% \cs{bibliography}\marg{bibfiles} and |\bibliography{apacite}|. For
-% manual bibliographies you must use APA6 citation style.
-%
-% \StopEventually{\clearpage
-% \bibliography{tex}
-% \bibliographystyle{unsrt}}
-%
-% \clearpage
-%
-%
-%\section{Implementation}
-%\label{sec:impl}
-%
-%
-%
-%\subsection{Auxillary Macros}
-%\label{sec:aux}
-%
-% \begin{macro}{AFP@DisableMacro}
-% Some commands are disabled
-% \begin{macrocode}
-\def\AFP@DisableMacro#1{\ClassError{afparticle}{The macro
- \expandafter\protect\csname#1\endcsname\space
- is disabled}{The command
- \expandafter\protect\csname#1\endcsname\space
- is introduced in the
- elsarticle class.\MessageBreak It is disabled in afpartcile
- class}}
-% \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\@nx}
-% \begin{macro}{\@xp}
-% \begin{macro}{\@ifnotempty}
-% From |amsart|
-% \begin{macrocode}
-\let\@xp=\expandafter
-\let\@nx=\noexpand
-\long\def\@ifempty#1{\@xifempty#1@@..\@nil}
-\long\def\@xifempty#1#2@#3#4#5\@nil{%
- \ifx#3#4\@xp\@firstoftwo\else\@xp\@secondoftwo\fi}
-\long\def\@ifnotempty#1{\@ifempty{#1}{}}
-% \end{macrocode}
-%
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\nxandlist}
-% This is from |amsart|:
-% \begin{macrocode}
-\newtoks\@emptytoks
-\def\@andlista#1#2\and#3\and{\@andlistc{#2}\@ifnotempty{#3}{%
- \@andlistb#1{#3}}}
-\def\@andlistb#1#2#3#4#5\and{%
- \@ifempty{#5}{%
- \@andlistc{#2#4}%
- }{%
- \@andlistc{#1#4}\@andlistb{#1}{#3}{#3}{#5}%
- }}
-\let\@andlistc\@iden
-\newcommand{\nxandlist}[4]{%
- \def\@andlistc##1{\toks@\@xp{\the\toks@##1}}%
- \toks@{\toks@\@emptytoks \@andlista{{#1}{#2}{#3}}}%
- \the\@xp\toks@#4\and\and
- \edef#4{\the\toks@}%
- \let\@andlistc\@iden}
-% \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\@@and}
-% The final `and' in the list
-% \begin{macrocode}
-\def\@@and{and}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\author@andify}
-% Again |amsart|
-% \begin{macrocode}
-\def\author@andify{%
- \nxandlist {\unskip ,\penalty-1 \space\ignorespaces}%
- {\unskip {} \@@and~}%
- {\unskip ,\penalty-2 \space\@@and~}%
-}
-% \end{macrocode}
-%
-% \end{macro}
-%
-%
-%\subsection{Options}
-%\label{sec:options}
-%
-% We use |xkeyval|: right now our options do not have values, but we
-% may change this.
-% \begin{macrocode}
-\RequirePackage{xkeyval}
-% \end{macrocode}
-%
-% \begin{macro}{AFP@OptionWarning}
-% We disable some options and issue a warning:
-% \begin{macrocode}
-\def\AFP@OptionWarning#1{\ClassWarning{afparticle}{The option #1 is
- not used for afparticle. I will silently ignore it}}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% The suppressed options:
-% \begin{macrocode}
-\DeclareOptionX{3p}{\AFP@OptionWarning{\CurrentOption}}%
-\DeclareOptionX{5p}{\AFP@OptionWarning{\CurrentOption}}%
-\DeclareOptionX{authoryear}{\AFP@OptionWarning{\CurrentOption}}%
-\DeclareOptionX{number}{\AFP@OptionWarning{\CurrentOption}}%
-\DeclareOptionX{sort&compress}{\AFP@OptionWarning{\CurrentOption}}%
-% \end{macrocode}
-%
-% All non-suppressed options are passed to |elsarticle|:
-% \begin{macrocode}
-\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{elsarticle}}
-% \end{macrocode}
-%
-%
-% And executing options:
-% \begin{macrocode}
-\ProcessOptionsX
-% \end{macrocode}
-%
-%
-%\subsection{Loading Classes and Packages}
-%\label{sec:classes}
-%
-% We want to prevent loading of natbib
-% \begin{macrocode}
-\@namedef{ver@natbib.sty}{}
-\@namedef{opt@natbib.sty}{round,authoryear}
-\newlength\bibsep
-% \end{macrocode}
-%
-% We use |elasrticle| since it has nice features for front matter:
-% \begin{macrocode}
-\LoadClass[1p,authoryear,round]{elsarticle}
-% \end{macrocode}
-%
-% We need |lastpage| for last page calculations, |fancyhdr| for our
-% headings, |hyperref| for references and |caption| for caption
-% formatting.
-% \begin{macrocode}
-\RequirePackage{lastpage,fancyhdr}
-\RequirePackage{caption}
-\RequirePackage{booktabs}
-\RequirePackage{graphicx}
-\RequirePackage[hyperfootnotes=false,colorlinks,allcolors=blue]{hyperref}
-% \end{macrocode}
-%
-% And now we do want natbib!
-% \begin{macrocode}
-\expandafter\let\csname ver@natbib.sty\endcsname=\@undefined
-\let\bibsep=\@undefined
-\RequirePackage[natbibapa]{apacite}
-% \end{macrocode}
-%
-%
-%\subsection{Front Matter}
-%\label{sec:frontmatter}
-%
-% \begin{macro}{\abstract}
-% We do not use the word ``abstract'' for abstract
-\renewenvironment{abstract}{\global\setbox\absbox=\vbox\bgroup
- \hsize=\textwidth\def\baselinestretch{1}%
- \noindent\unskip\ignorespaces}
- {\egroup}
-% \end{macro}
-%
-% \begin{macro}{\tnoteref}
-% This macro is disabled.
-% \begin{macrocode}
-\def\tnoteref#1{\AFP@DisableMacro{tnoteref}}
-% \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\corref}
-% This macro is disabled.
-% \begin{macrocode}
-\def\corref#1{\AFP@DisableMacro{corref}}
-% \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\fnref}
-% This macro is disabled.
-% \begin{macrocode}
-\def\fnref#1{\AFP@DisableMacro{fnref}}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\title}
-% This is from |amsart|:
-% \begin{macrocode}
-\renewcommand*{\title}[2][]{\gdef\shorttitle{#1}\gdef\@title{#2}}
-\edef\title{\@nx\@dblarg
- \@xp\@nx\csname\string\title\endcsname}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\ifAFP@corrauthor}
-% This checks whether this author is the coresponding author
-% \begin{macrocode}
-\newif\ifAFP@corrauthor
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\authors}
-% We store in \cs{authors} the list of authors separated by
-% \cs{and}.
-% \begin{macrocode}
-\def\authors{}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\shortauthors}
-% Initially we define \cs{shortauthors} as \cs{authors}, but the
-% user can redefine it.
-% \begin{macrocode}
-\def\shortauthors{\authors}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\author}
-% First, check whether this author is the corresponding author.
-% \begin{macrocode}
-\def\author{%
- \@ifstar{\AFP@corrauthortrue\AFP@author}{\AFP@corrauthorfalse\AFP@author}}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\AFP@author}
-% The macro \cs{AFP@author} is our version of the standard
-% \cs{autor} macro
-% \begin{macrocode}
-\def\AFP@author{\@ifnextchar[{\@@author}{\@author}}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@@author}
-% This typesets an author with some footnotes
-% \begin{macrocode}
-\def\@@author[#1]#2{%
- \ifx\@empty\authors
- \gdef\authors{#2}%
- \else
- \g@addto@macro\authors{\and#2}%
- \fi
- \g@addto@macro\elsauthors{%
- \normalsize\upshape
- \def\baselinestretch{1}%
- \authorsep#2\unskip}%
- \ifAFP@corrauthor
- \g@addto@macro\elsauthors{\textsuperscript{$\ast$,}}\fi
- \g@addto@macro\elsauthors{%
- \textsuperscript{%#1%
- \@for\@@affmark:=#1\do{%
- \edef\affnum{\@ifundefined{X@\@@affmark}{1}{\elsRef{\@@affmark}}}%
- \unskip\sep\affnum\let\sep=,}%
- \ifx\@fnmark\@empty\else\unskip\sep\@fnmark\let\sep=,\fi
- \ifx\@corref\@empty\else\unskip\sep\@corref\let\sep=,\fi
- }%
- \def\authorsep{\unskip,\space}%
- \global\let\sep\@empty\global\let\@corref\@empty
- \global\let\@fnmark\@empty}%
- \@eadauthor={#2}
-}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@author}
-% No footnote marks after the author:
-% \begin{macrocode}
-\def\@author#1{%
- \ifx\@empty\authors
- \gdef\authors{#1}%
- \else
- \g@addto@macro\authors{\and#1}%
- \fi
- \g@addto@macro\elsauthors{\normalsize%
- \def\baselinestretch{1}%
- \upshape\authorsep#1}
- \ifAFP@corrauthor
- \g@addto@macro\elsauthors{\textsuperscript{$\ast$}}\fi
- \g@addto@macro\elsauthors{%
- \def\authorsep{\unskip,\space}%
- \global\let\@fnmark\@empty
- \global\let\sep\@empty}%
- \@eadauthor={#1}
-}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@address}
-% \changes{v1.0}{2014/08/18}{Added macro}
-% We redefine |elsarticle| macro to change the vertical spacing
-% \begin{macrocode}
-\long\def\@address#1{\g@addto@macro\elsauthors{%
- \def\baselinestretch{1}\def\addsep{\par\vskip4pt}%
- \addsep\footnotesize\itshape#1%
- \def\authorsep{\par\vskip16pt}}}
-% \end{macrocode}
-%
-% \end{macro}
-%
-%
-% The next lines are from |resphilosophica| class
-% \begin{macro}{\paperUrl}
-% The url to submit to crossref
-% \begin{macrocode}
-\def\paperUrl#1{\gdef\@paperUrl{#1}}
-\paperUrl{}
-% \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\@mainrpi}
-% The stream for the rpi file:
-% \begin{macrocode}
-\newwrite\@mainrpi
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\RESP@write@paper@info}
-% This writes the information about the paper into the file
-% |jobname.rpi|. Note that hyperref makes our life a little bit
-% more complex
-% \begin{macrocode}
-\def\RESP@write@paper@info{%
- \bgroup
- \if@filesw
- \openout\@mainrpi\jobname.rpi%
- \write\@mainrpi{\relax}%
- \ifx\r@LastPage\@undefined
- \edef\@tempa{\start@page}%
- \else
- \def\@tempb##1##2##3##4##5{##2}%
- \edef\@tempa{\expandafter\@tempb\r@LastPage}%
- \fi
- \def\and{\string\and\space}%
- \protected@write\@mainrpi{}%
- {\string\articleentry{\authors}{\@title}{\start@page}{\@tempa}}%
-% \end{macrocode}
-% The next lines are for crossref software
-% \begin{macrocode}
- \protected@write\@mainrpi{}%
- {\@percentchar authors=\authors}%
- \protected@write\@mainrpi{}%
- {\@percentchar title=\@title}%
- \protected@write\@mainrpi{}%
- {\@percentchar year=\currentyear}%
- \protected@write\@mainrpi{}%
- {\@percentchar volume=\currentvolume}%
- \protected@write\@mainrpi{}%
- {\@percentchar issue=\currentissue}%
- \protected@write\@mainrpi{}%
- {\@percentchar paper=\currentpaper}%
- \protected@write\@mainrpi{}%
- {\@percentchar startpage=\start@page}%
- \protected@write\@mainrpi{}%
- {\@percentchar endpage=\@tempa}%
- \protected@write\@mainrpi{}%
- {\@percentchar doi=\@doinumber}%
- \ifx\@paperUrl\@empty\else
- \protected@write\@mainrpi{}%
- {\@percentchar paperUrl=\@paperUrl}%
- \fi
- \closeout\@mainrpi
- \fi
-\egroup}
-% \end{macrocode}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\maketitle}
-% \changes{v1.0}{2014/08/18}{Moved the text down}
-% Our macro is simpler than that of |elsarticle|, since we have
-% fewer options.
-% \begin{macrocode}
-\def\maketitle{%
- \null\bigskip\par
- \iflongmktitle\getSpaceLeft
- \global\setbox\els@boxa=\vsplit0 to \@tempdima
- \box\els@boxa\par\resetTitleCounters
- \printFirstPageNotes
- \box0%
- \else
- \finalMaketitle\printFirstPageNotes
- \fi
- \RESP@write@paper@info
- \author@andify\authors
- \xdef\authors{\authors}%
- \gdef\thefootnote{\arabic{footnote}}%
- \thispagestyle{firstpagestyle}%
-}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\volumenumber}
-% This sets the volume of the paper
-% \begin{macrocode}
-\def\volumenumber#1{\gdef\currentvolume{#1}}
-\volumenumber{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\issuenumber}
-% This sets the issue of the paper:
-% \begin{macrocode}
-\def\issuenumber#1{\gdef\currentissue{#1}}
-\issuenumber{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\publicationyear}
-% This sets the year of the paper
-% \begin{macrocode}
-\def\publicationyear#1{\gdef\currentyear{#1}}
-\publicationyear{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\publicationmonth}
-% This sets the month of the paper
-% \begin{macrocode}
-\newcommand\publicationmonth[2][]{\gdef\currentmonth{#2}%
- \gdef\abbrevcurrentmonth{#1}%
- \ifx\abbrevcurrentmonth\@empty\gdef\abbrevcurrentmonth{#2}\fi}
-\publicationmonth{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\papernumber}
-% This is absent from the |\issueinfo|.
-% \begin{macrocode}
-\def\papernumber#1{\gdef\currentpaper{#1}}
-\papernumber{0000}
-%
-% \end{macro}
-%
-%
-% \begin{macro}{\doinumber}
-% \begin{macrocode}
-\def\doinumber#1{\gdef\@doinumber{#1}}
-\doinumber{123.4567/archivesforensicpsychology.\currentyear.\currentvolume.\currentissue.\currentpaper}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\startpage}
-% This defines the starting page of the paper. We have some nice
-% features to set up roman page numbers for editorial
-% stuff---probably not needed for this journal at this time\dots
-% \begin{macrocode}
-\def\startpage#1{\pagenumbering{arabic}\setcounter{page}{#1}%
- \gdef\start@page{#1}%
- \ifnum\c@page<\z@ \pagenumbering{roman}\setcounter{page}{-#1}%
- \gdef\start@page{\romannumeral#1}%
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\endpage}
-% This macro again has a twist in it: if the argument is not set, it
-% calculates the last page number itself.
-% \begin{macrocode}
-\def\endpage#1{\def\@tempa{#1}%
- \ifx\@tempa\@empty\def\end@page{\pageref{LastPage}}%
- \else\def\end@page{#1}\fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\pagespan}
-% This macro is different from the one provided by |amsart|
-% because we want to have the option of automatic calculation of the
-% last page number.
-% \begin{macrocode}
-\def\pagespan#1#2{\startpage{#1}\endpage{#2}}
-\pagespan{1}{}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\articleentry}
-% This is necessary for |\prevpaper| command. We read the TOC entry
-% from the previous paper and increment it by 1. Note that we
-% always start with on an odd page, since the additional check
-% \begin{macrocode}
-\def\articleentry#1#2#3#4{\@tempcnta=#4\relax
- \advance\@tempcnta by 1\relax
- \ifodd\the\@tempcnta\else\advance\@tempcnta by 1\relax\fi
- \startpage{\the\@tempcnta}}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\prevpaper}
-% This sets the previous paper location and reads the information
-% from the previous paper
-% \begin{macrocode}
-\def\prevpaper#1{\IfFileExists{#1.rpi}{%
- \ClassInfo{afparticle}{%
- Reading first page number from the file #1.rpi}%
- \input{#1.rpi}%
- }{\ClassWarning{afparticle}{Cannot find the file #1.rpi.
- Did you run latex on the previous paper?}}}
-% \end{macrocode}
-%
-% \end{macro}
-%
-%
-%\subsection{Back Matter}
-%\label{sec:back}
-%
-% \begin{macro}{\AFP@backmatter}
-% The technical information about the paper.
-% \begin{macrocode}
-\def\AFP@backmatter{}
-% \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\received}
-% Date of receiving
-% \begin{macrocode}
-\def\received#1{\g@addto@macro\AFP@backmatter{Received: #1\\}}
-% \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\revised}
-% Date of receiving a revision
-% \begin{macrocode}
-\def\revised#1{\g@addto@macro\AFP@backmatter{Revision Received: #1\\}}
-% \end{macrocode}
-%
-% \end{macro}
-% \begin{macro}{\accepted}
-% Date of acceptance
-% \begin{macrocode}
-\def\accepted#1{\g@addto@macro\AFP@backmatter{Accepted: #1\\}}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macrocode}
-% \end{macrocode}
-%
-% \begin{macro}{\printbackmatter}
-% Print the back matter
-% \begin{macrocode}
-\def\printbackmatter{\ifx\AFP@backmatter\@empty\else\medskip
- \begin{flushright}%
- \AFP@backmatter
- \end{flushright}%
-\fi}
-% \end{macrocode}
-%
-% \end{macro}
-%
-%\subsection{Page styles}
-%\label{sec:styles}
-%
-% In |preprint| mode |elsarticle| uses one side style. We want to
-% override this:
-% \begin{macrocode}
-\AtBeginDocument{\@twosidetrue}
-% \end{macrocode}
-%
-% \begin{macro}{\footskip}
-% We want generous \cs{footskip}
-% \begin{macrocode}
-\setlength\footskip{40\p@}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\headrulewidth}
-% \begin{macro}{\footrulewidth}
-% We do not want decorative rules in the journal:
-% \begin{macrocode}
-\renewcommand{\headrulewidth}{0pt}
-\renewcommand{\footrulewidth}{0pt}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{standardpagestyle}
-% The page style for all pages but the first one
-% \begin{macrocode}
-\fancypagestyle{standardpagestyle}{%
- \fancyhead{}%
- \fancyfoot{}%
- \fancyfoot[R]{\thepage}%
- \fancyhead[CE]{\scshape\MakeLowercase{\shortauthors}}%
- \fancyhead[CO]{\scshape\MakeLowercase{\shorttitle}}%
-}
-\pagestyle{standardpagestyle}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{firstpagestyle}
-% \changes{v1.2}{2014/10/22}{Corrected masthead}
-% \changes{v1.3}{2014/12/23}{Corrected another typo in masthead}
-% The page style for the first page
-% \begin{macrocode}
-\fancypagestyle{firstpagestyle}{%
- \fancyhead{}%
- \fancyfoot{}%
- \fancyfoot[R]{\thepage}%
- \fancyhead[L]{\small Archives of Forensic Psychology\\
- \currentyear, Vol.~\currentvolume, No.~\currentissue,
- \thepage--\end@page}%
- \fancyhead[R]{\small\textcopyright~\currentyear\ Global Institute of
- Forensic Psychology\\ISSN~2334-2749}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%\subsection{Paragraphing}
-%\label{sec:paras}
-%
-% \begin{macro}{\parindent}
-% We want generous indents
-% \begin{macrocode}
-\setlength\parindent{2em}
-% \end{macrocode}
-%
-% \end{macro}
-%
-%
-%\subsection{Sectioning}
-%\label{sec:sectioning}
-%
-% \begin{macro}{secnumdepth}
-% We do not number sections
-% \begin{macrocode}
-\setcounter{secnumdepth}{-1}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\section}
-% We center our sections:
-% \begin{macrocode}
-\renewcommand\section{\@startsection {section}{1}{\z@}%
- {18\p@ \@plus 6\p@ \@minus 3\p@}%
- {9\p@ \@plus 6\p@ \@minus 3\p@}%
- {\centering\normalsize\bfseries\boldmath}}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\subsection}
-% Our subsections look like sections, but flushed left
-% \begin{macrocode}
-\renewcommand\subsection{\@startsection {subsection}{2}{\z@}%
- {18\p@ \@plus 6\p@ \@minus 3\p@}%
- {9\p@ \@plus 6\p@ \@minus 3\p@}%
- {\normalsize\bfseries\boldmath}}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\subsubsection}
-% Our subsubsections are italicized and written on the same line as
-% the text. Also, they end with dots.
-% \begin{macrocode}
-\renewcommand\subsubsection{\@startsection{subsubsection}{3}{0\z@}%
- {0\z@}%
- {-6\p@}%
- {\normalfont\hspace*{\parindent}\itshape\@addfinaldot}}
-% \end{macrocode}
-%
-% \end{macro}
-%
-% \begin{macro}{\@addfinaldot}
-% Add a dot after a text
-% \begin{macrocode}
-\def\@addfinaldot#1{#1.}
-% \end{macrocode}
-%
-% \end{macro}
-%
-%
-%\subsection{Floats}
-%\label{sec:floats}
-% \changes{v1.0}{2014/08/18}{Centered captions}
-% Setting up table captions
-% \begin{macrocode}
-\DeclareCaptionLabelSeparator{periodNewline}{.\\}
-\captionsetup[table]{position=top, format=plain,
- labelsep=periodNewline, justification=centering,
- singlelinecheck=off, font=normalsize, textfont=it}
-% \end{macrocode}
-%
-% Setting up figure captions
-% \begin{macrocode}
-\captionsetup[figure]{position=bottom, format=plain,
- labelsep=period, justification=centering,
- singlelinecheck=off, font=normalsize, labelfont=it}
-% \end{macrocode}
-%
-%
-%\subsection{Final Words}
-%\label{sec:finis}
-%
-% \changes{v1.1}{2014/10/20}{Added changes requested by the editor and
-% implemented by David Latchman,
-% david.latchman@texnical-designs.com: no hyphenation throughout the
-% entire manuscript}
-%
-% \begin{macrocode}
-\tolerance=1
-\emergencystretch=\maxdimen
-\hyphenpenalty=10000
-\hbadness=10000
-\normalsize\normalfont
-%</class>
-% \end{macrocode}
-%
-%\Finale
-%\clearpage
-%
-%\PrintChanges
-%\clearpage
-%\PrintIndex
-%
-\endinput
diff --git a/Master/texmf-dist/source/latex/afparticle/afparticle.ins b/Master/texmf-dist/source/latex/afparticle/afparticle.ins
deleted file mode 100644
index 3badd737973..00000000000
--- a/Master/texmf-dist/source/latex/afparticle/afparticle.ins
+++ /dev/null
@@ -1,29 +0,0 @@
-%
-% Docstrip file for afparticle
-% This file is in public domain
-% $Id: afparticle.ins,v 1.1 2014-07-16 22:18:28 boris Exp $
-%
-\def\batchfile{afparticle.ins}
-\input docstrip
-\keepsilent
-\showprogress
-
-
-\askforoverwritefalse
-
-\generate{%
- \file{afparticle.cls}{\from{afparticle.dtx}{class}}}
-
-\obeyspaces
-\Msg{*****************************************************}%
-\Msg{* Congratulations! You successfully generated the *}%
-\Msg{* afparticle package. *}%
-\Msg{* *}%
-\Msg{* Please move afparticle.cls to the place for LaTeX *}%
-\Msg{* files in your system. The manual is in the file *}%
-\Msg{* afparticle.pdf. *}%
-\Msg{* *}%
-\Msg{* The package is released under LPPL *}%
-\Msg{* *}%
-\Msg{* Happy TeXing! *}%
-\Msg{*****************************************************}% \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/complexpolylongdiv/complexpolylongdiv.dtx b/Master/texmf-dist/source/latex/complexpolylongdiv/complexpolylongdiv.dtx
new file mode 100644
index 00000000000..885d0209edd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/complexpolylongdiv/complexpolylongdiv.dtx
@@ -0,0 +1,327 @@
+% \iffalse
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+___________________
+The complexpolylongdiv package
+v0.2
+
+This package provides a simple interface for typesetting
+(complex) polynomial long division.
+
+If you want to report any bugs or typos and corrections in the
+documentation, or ask for any new features, or suggest any
+improvements, or ask any questions about the package, then
+please use the issue tracker:
+
+ <https://github.com/xepersian/complexpolylongdiv/issues>
+
+In doing so, please always explain your issue well enough,
+and always include a minimal working example showing the
+issue.
+
+You may also have conversations, ask questions and post answers
+without opening issues using the Discussions space:
+
+ <https://github.com/xepersian/complexpolylongdiv/discussions>
+
+The announcements for the new releases of the package will
+also appear in the Discussions space under the Announcements
+category.
+
+Current version release date: 2024/12/30
+
+___________________________________________
+Vafa Khalighi
+
+Copyright (c) Vafa Khalighi 2024--2025
+
+It may be distributed and/or modified under the LaTeX Project Public License,
+version 1.3c or higher (your choice). The latest version of
+this license is at: http://www.latex-project.org/lppl.txt
+
+This work is “author-maintained” (as per LPPL maintenance status)
+by Vafa Khalighi.
+%</readme>
+%<*internal>
+\fi
+\begingroup
+%</internal>
+%<*batchfile>
+\input docstrip.tex
+\keepsilent
+\preamble
+
+ __________________________________________________
+ Vafa Khalighi
+
+ Copyright (c) 2024--2025 Vafa Khalighi
+
+ It may be distributed and/or modified under the LaTeX Project Public License,
+ version 1.3c or higher (your choice). The latest version of
+ this license is at: http://www.latex-project.org/lppl.txt
+
+ This work is “author-maintained” (as per LPPL maintenance status)
+ by Vafa Khalighi.
+
+
+\endpreamble
+\askforoverwritefalse
+\generate{\file{complexpolylongdiv.sty}{\from{\jobname.dtx}{table,complexpolylongdiv.sty}}}
+%</batchfile>
+%<batchfile>\endbatchfile
+%<*internal>
+\generate{\file{\jobname.ins}{\from{\jobname.dtx}{batchfile}}}
+\nopreamble\nopostamble
+\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}}
+\generate{\file{complexpolylongdiv-example.tex}{\from{\jobname.dtx}{complexpolylongdiv-example.tex}}}
+\endgroup
+\immediate\write18{mv README.txt README}
+\immediate\write18{makeindex -s gind.ist -o \jobname.ind \jobname.idx}
+\immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo}
+%</internal>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{complexpolylongdiv}
+\usepackage{bidicode}
+\usepackage{microtype}
+\definecolor{niceblue}{rgb}{0.2,0.4,0.8}
+\usepackage[numbered]{hypdoc}
+\hypersetup{%
+ pdfauthor={Vafa Khalighi},%
+ linkcolor=niceblue,%
+ urlcolor=niceblue,%
+ citecolor=niceblue%
+}
+\pdfstringdefDisableCommands{%
+\renewcommand\Lcs[1]{\textbackslash#1}
+}
+\EnableCrossrefs
+\CodelineIndex
+%\RecordChanges
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \PrintIndex
+% \PrintChanges
+\end{document}
+%</driver>
+%
+%
+% \fi
+%
+% \GetFileInfo{\jobname.dtx}
+% \title{The \textsf{complexpolylongdiv} Package}
+% \author{Vafa Khalighi}
+%\maketitle
+%
+%\begingroup
+%\parindent 0pt
+%\vskip 0pt plus 3fill
+%{\color{red!85!black}\fbox{\begin{minipage}{\dimexpr\textwidth-2\fboxsep-2\fboxrule}
+%If you want to report any bugs or typos and corrections in the documentation,
+%or ask for any new features, or suggest any improvements, or ask any questions about the package, then please use the issue tracker:
+%
+%\medskip
+% \centerline{\url{https://github.com/xepersian/complexpolylongdiv/issues}}
+%
+%\medskip
+%In doing so, please always explain your issue well enough, and always include
+%a minimal working example showing the issue.
+%
+%\bigskip
+%You may also have conversations, ask questions and post answers
+%without opening issues using the Discussions space:
+%
+%\medskip
+% \centerline{\url{https://github.com/xepersian/complexpolylongdiv/discussions}}
+%
+%\medskip
+%The announcements for the new releases of the package will
+%also appear in the Discussions space under the Announcements
+%category.
+%\end{minipage}
+%}}
+%
+%\vskip 0pt plus 3fill
+%
+%Copyright (c) 2024--2025 Vafa Khalighi
+%
+%\medskip
+%Permission is granted to distribute and/or modify \emph{both the documentation and the code} under the conditions of the \LaTeX{} Project Public License, either version 1.3c of this license or (at your option) any later version.
+%\endgroup
+%
+%\clearpage
+% \tableofcontents
+% \section{Introduction}
+%To the best of my knowledge, there is no {\TeX} package for
+%typesetting (complex) polynomial long division. The
+%\textsf{complexpolylongdiv} package provides a simple interface
+%for typesetting (complex) polynomial long division.
+%
+%The package does not provide automatic (complex) polynomial long
+%division at present and the long division should be done by hand.
+%However, if there is enough interest in the package, I will add this
+%feature in the next version.
+%
+%\section{Using the package}
+%\subsection{Loading The Package}
+%You can load the package in the ordinary way:
+%\begin{BDef}
+%\Lcs{usepackage}\Largb{complexpolylongdiv}
+%\end{BDef}
+%\subsection{The user interface}
+%The package provides the environment \texttt{complexpolylongdiv}
+%and the control sequence \Lcs{complexpolyquotient} for
+%typesetting (complex) polynomial long division.
+%\subsubsection{The \texttt{complexpolylongdiv} environment}
+%\begin{BDef}
+%\LBEG{complexpolylongdiv}\OptArg{pos}\quad\Larga{content}\quad\LEND{complexpolylongdiv}
+%\end{BDef}
+%
+%The \OptArg{pos} is optional and determines the vertical alignment of
+%the (complex) polynomial long division. If \texttt{pos} is \texttt{t}, then
+%the \Larga{content} is placed vertically at the top and if \texttt{pos} is \texttt{b}, then
+%the \Larga{content} is placed vertically at the bottom; otherwise,
+%the \Larga{content} is placed vertically at the center (the default
+%when the optional \OptArg{pos} is omitted).
+%
+%\subsubsection{The control sequence \Lcs{complexpolyquotient}}
+%\begin{BDef}
+%\Lcs{complexpolyquotient}\Largb{\Larga{quotient}}
+%\end{BDef}
+%
+%The control sequence \Lcs{complexpolyquotient} typesets \Larga{quotient}.
+%
+%\subsection{An Example}
+%\begin{lstlisting}[gobble=1]
+%\documentclass{article}
+%\usepackage{complexpolylongdiv}
+%\begin{document}
+%\begin{equation}
+%\begin{complexpolylongdiv}
+%&x+1-2i \\
+%x-1&\complexpolyquotient{x^2-2ix+6}\\
+%-&\underline{x^2-x}\\
+% -&(1-2i)x+6\\
+% -&\underline{(1-2i)x-(1-2i)}\\
+% &7-2i
+%\end{complexpolylongdiv}
+%\end{equation}
+%\end{document}
+%\end{lstlisting}
+%
+%\begin{equation}
+%\begin{complexpolylongdiv}
+%&x+1-2i \\
+%x-1&\complexpolyquotient{x^2-2ix+6}\\
+%-&\underline{x^2-x}\\
+% -&(1-2i)x+6\\
+% -&\underline{(1-2i)x-(1-2i)}\\
+% &7-2i\\
+%\end{complexpolylongdiv}
+%\end{equation}
+%
+% \StopEventually{}
+% \section{Implementation}
+%\iffalse
+%<*table>
+%\fi
+%% \CheckSum{52}
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+% \iffalse
+%</table>
+%<*complexpolylongdiv.sty>
+%\fi
+%
+%
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{complexpolylongdiv}[2024/12/30 v0.2 Typesetting (complex) polynomial long division]
+\newenvironment{complexpolylongdiv}[1][c]{%
+ \let\\\@arraycr
+ \if #1t
+ \vtop
+ \else
+ \if#1b
+ \vbox
+ \else
+ \vcenter
+ \fi
+ \fi
+ \bgroup
+ \normalbaselines
+ \offinterlineskip
+ \setbox\strutbox\hbox{%
+ \vrule height 2.1ex depth .5ex width0ex}%
+ \tabskip=0pt
+ \halign\bgroup
+ \hfil$##$&$\,\hphantom{\big)}\mkern2mu ##$\hfil\strut\cr
+}{%
+ \crcr
+ \egroup
+ \egroup
+}
+\newcommand*{\complexpolyquotient}[1]{%
+ \omit$\,
+ \overline{%
+ \vphantom{\big)}%
+ \hbox{%
+ \smash{%
+ \raise3.5\fontdimen8\textfont3\hbox{$\big)$}%
+ }%
+ }%
+ \mkern2mu #1
+ }$%
+}
+% \end{macrocode}
+% \iffalse
+%</complexpolylongdiv.sty>
+%\fi
+%
+% \Finale
+%
+%
+%\iffalse
+%<*complexpolylongdiv-example.tex>
+\documentclass{article}
+\usepackage{complexpolylongdiv}
+\begin{document}
+\begin{equation}
+\begin{complexpolylongdiv}
+&x+1-2i \\
+x-1&\complexpolyquotient{x^2-2ix+6}\\
+-&\underline{x^2-x}\\
+ -&(1-2i)x+6\\
+ -&\underline{(1-2i)x-(1-2i)}\\
+ &7-2i
+\end{complexpolylongdiv}
+\end{equation}
+\end{document}
+%</complexpolylongdiv-example.tex>
+%\fi
+%
+% \typeout{*************************************************************}
+% \typeout{*}
+% \typeout{* To finish the installation you have to move the file}
+% \typeout{* `complexpolylongdiv.sty' into a directory searched by TeX.}
+% \typeout{*************************************************************}
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/complexpolylongdiv/complexpolylongdiv.ins b/Master/texmf-dist/source/latex/complexpolylongdiv/complexpolylongdiv.ins
new file mode 100644
index 00000000000..55bfb7ce1e2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/complexpolylongdiv/complexpolylongdiv.ins
@@ -0,0 +1,44 @@
+%%
+%% This is file `complexpolylongdiv.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% complexpolylongdiv.dtx (with options: `batchfile')
+%%
+%% __________________________________________________
+%% Vafa Khalighi
+%%
+%% Copyright (c) 2024--2025 Vafa Khalighi
+%%
+%% It may be distributed and/or modified under the LaTeX Project Public License,
+%% version 1.3c or higher (your choice). The latest version of
+%% this license is at: http://www.latex-project.org/lppl.txt
+%%
+%% This work is “author-maintained” (as per LPPL maintenance status)
+%% by Vafa Khalighi.
+%%
+%%
+\input docstrip.tex
+\keepsilent
+\preamble
+
+ __________________________________________________
+ Vafa Khalighi
+
+ Copyright (c) 2024--2025 Vafa Khalighi
+
+ It may be distributed and/or modified under the LaTeX Project Public License,
+ version 1.3c or higher (your choice). The latest version of
+ this license is at: http://www.latex-project.org/lppl.txt
+
+ This work is “author-maintained” (as per LPPL maintenance status)
+ by Vafa Khalighi.
+
+\endpreamble
+\askforoverwritefalse
+\generate{\file{complexpolylongdiv.sty}{\from{\jobname.dtx}{table,complexpolylongdiv.sty}}}
+\endbatchfile
+\endinput
+%%
+%% End of file `complexpolylongdiv.ins'.
diff --git a/Master/texmf-dist/source/latex/exesheet/exesheet.dtx b/Master/texmf-dist/source/latex/exesheet/exesheet.dtx
index d3c92b9ef35..00a2b3afd88 100644
--- a/Master/texmf-dist/source/latex/exesheet/exesheet.dtx
+++ b/Master/texmf-dist/source/latex/exesheet/exesheet.dtx
@@ -23,16 +23,17 @@
%<class>\ProvidesClass{exesheet}
%<package>\ProvidesPackage{exesheet}
%<*class|package>
-[2024/02/13 v2.7 .dtx Typesetting exercise or exam sheets]
+[2024/12/22 v2.8 Typesetting exercise or exam sheets]
%</class|package>
%<*driver>
-\documentclass{ltxdoc}
-%
-% uncomment the following lines if you want to use the exesheet class instead of ltxdoc
-%\usepackage{doc}
-%\AtBeginDocument{\MakeShortVerb{\|}}
-%\providecommand\marg[1]{{\ttfamily\{}\meta{#1}{\ttfamily\}}}
-%\providecommand\oarg[1]{{\ttfamily[}\meta{#1}{\ttfamily]}}
+\documentclass{article}
+
+% comment the following lines to use the ltxdoc class instead of the doc package
+\usepackage{hypdoc}
+\AtBeginDocument{\MakeShortVerb{\|}}
+\providecommand\marg[1]{{\ttfamily\{}\meta{#1}{\ttfamily\}}}
+\providecommand\oarg[1]{{\ttfamily[}\meta{#1}{\ttfamily]}}
+
\usepackage[exetoc=false,marginwidth=unset,display=notes]{exesheet}
\usepackage{schooldocs}
\usepackage[utf8]{inputenc}
@@ -85,24 +86,6 @@
%</driver>
% \fi
%
-% \CheckSum{1206}
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
% \changes{v0.0}{2010/09/01}{Initial personal version}
% \changes{v0.9}{2020/01/02}{Initial documentation in French}
% \changes{v1.0}{2020/07/22}{Initial public version with documentation in English}
@@ -184,6 +167,11 @@
% - babel-french option 'StandardLists=true' works now if french is passed in documentclass
% - completion of the comparison with other packages}
%
+% \changes{v2.8}{2024/12/22}{
+% - improvements in answers environment
+% - starred environments tablenuma* and tablitem* no longer supported
+% - character table and checksum removed from dtx file (useless)}
+%
% \GetFileInfo{exesheet.dtx}
%
% \maketitle
@@ -259,6 +247,7 @@
% \psframe(-0.25,1.3)(12.75,-0.3)
% Try this first command; easy!
%
+% \bigskip
% To bring optional text closer to the exercise number,
% you can employ |\unskip| which removes any preceding space.
% Take a look at the following example, achieved with
@@ -269,13 +258,13 @@
%
% \bigskip
% \DescribeMacro{\exercisename}
-% The term ``\exercisename'' is automatically translated into various languages
+% The word ``\exercisename'' is automatically translated into various languages
% \footnote{Currently, translation is integrated into the package
% for the following languages: French, German, Spanish, Italian, and Portuguese.}
% depending on the language that is loaded (via \textsf{babel} or \textsf{polyglossia}).
% You can alter it by modifying |\exercisename|.
-% A better approach is to use macros from the \textsf{translations}
-% package by Clemens Niederberger~\cite{TRAN} (which allows dynamic language switching),
+% A better approach is to use macros from the \mbox{\textsf{translations}}
+% package by Clemens Niederberger~\cite{TRAN} (which allows language switching),
% \eg |\DeclareTranslation{swedish}{exesheet-exercise}{\"Ovning}}|.
%
% \smallskip
@@ -288,7 +277,7 @@
% \smallskip
% \DescribeMacro{\theexercise}
% If you wish to alter only the numbering style, you can redefine
-% the |\theexercise| command based on the |exercise| counter.
+% |\theexercise| which is based on the |exercise| counter.
%
% \smallskip
% \DescribeMacro{\labelexercisestyle}
@@ -442,7 +431,7 @@
% that allows, among others things,
% the typesetting of alternative list labels. For instance, typing
% |\begin{enumerate}[label=\alph*),font=\itshape\normalfont]|
-% will yield the labels ``\emph{a)}, \emph{b)}, \emph{c)}\ldots''.
+% will produce the labels ``\emph{a)}, \emph{b)}, \emph{c)}\ldots''.
% There are many other options available
% (see the \textsf{enumitem}~\cite{ENUM} package documentation)
% \footnote{Labels can also be modified using a ``shortlabel'' argument,
@@ -522,7 +511,7 @@
% Clemens Niederberger~\cite{TASK}.
% The usage of the optional argument \meta{opt} is
% explained in the documentation of this package.
-% For example, similar to the \textsf{enumitem} package~\cite{ENUM},
+% For example, similar to the \mbox{\textsf{enumitem}} package~\cite{ENUM},
% |label=\arabic*)| produces an Arabic numbering
% followed by a closing parenthesis.
% Additionally there are numerous possibilities for arranging items in original ways.
@@ -534,7 +523,7 @@
% Notice that numbering occurs line by line in this context.
%
% \exercise
-% \psframe(-0.25,1.3)(12.75,-2.8)
+% \psframe(-0.25,1.3)(12.75,-2.7)
% Calculate the derivative of the following functions:
% \begin{tablenum1}(3)
% \item $\ds f(x) = \frac{1-x^2}{\mathrm{e}^x +\mathrm{e}^{-x}}$,
@@ -568,26 +557,31 @@
% When \texttt{setlist=true}, place these commands \emph{after} |\begin{document}|.
%
% \medskip
-% \DescribeEnv{tablenuma*} \DescribeEnv{tablitem*}
% When you intend to utilize \texttt{tablenuma} (or \texttt{tablitem})
% immediately after inserting the |\item| command
% within an \texttt{enumerate} environment,
-% a vertical misplacement may occur.
-% To achieve proper vertical spacing in such cases, we offer
-% the starred environments \texttt{tablenuma*} and \texttt{tablitem*},
-% with corrected alignment as shown below:
-%
-% \noindent\psframe(-0.25,0.05)(12.75,-0.97)
-% \psline[linewidth=0.1pt,linecolor=green,linestyle=dashed](0, -0.6)(10.5, -0.6)
+% a vertical misplacement may occur as shown below:
% \begin{enumerate}
% \item
-% \begin{tablenuma*}(3) \item One \item Two \item Three \end{tablenuma*}
+% \begin{tablenuma}(3) \item $\ds f(x) = \frac{1-x^2}{\mathrm{e}^x +\mathrm{e}^{-x}}$
+% \item $\ds g(x) = \ln \left( \frac{1-x}{1+x^2}\right)$,
+% \item $\ds h(x) = \int_{0}^{1}\mathrm{e}^{xy}\, \mathrm{d}y$.
+% \end{tablenuma}
% \end{enumerate}
+% To adjust the vertical alignment, include
+% |\mbox{}\vspace|\marg{height} just after |\item| and before invoking |\begin{tablenuma}|
+% (or |\begin{tablitem}|), where \meta{height} can be a positive or negative length.
+% Here we used |\vspace{-5.4ex}|.
%
-% \medskip
-% If the vertical alignment is still not perfect, include
-% |\mbox{}\vspace|\marg{height} just after |\item| and before invoking |\begin{tablenuma*}|
-% (or |\begin{tablitem*}|), where \meta{height} can be a positive or negative length.
+% \noindent\psframe(-0.25,0.15)(12.75,-1.05)
+% \psline[linewidth=0.1pt,linecolor=green,linestyle=dashed](0,-0.57)(12,-0.57)
+% \begin{enumerate}
+% \item \mbox{}\vspace{-5.4ex}
+% \begin{tablenuma}(3) \item $\ds f(x) = \frac{1-x^2}{\mathrm{e}^x +\mathrm{e}^{-x}}$
+% \item $\ds g(x) = \ln \left( \frac{1-x}{1+x^2}\right)$,
+% \item $\ds h(x) = \int_{0}^{1}\mathrm{e}^{xy}\, \mathrm{d}y$.
+% \end{tablenuma}
+% \end{enumerate}
%
% \subsection{Items aligned by column: \texttt{colsenum}, \texttt{colsitem}}
% \DescribeEnv{colsenum}
@@ -602,7 +596,7 @@
% Here's an example with |\begin{colsenum}{3}|:
%
% \exercise
-% \psframe(-0.25,1.3)(12.75,-2.65)
+% \psframe(-0.25,1.3)(12.75,-2.7)
% Calculate the derivative of the following functions:
% \begin{colsenum}{3}
% \item $\ds f(x) = \frac{1-x^2}{\mathrm{e}^x +\mathrm{e}^{-x}}$,
@@ -731,21 +725,21 @@
%
% \subsection{More about \texttt{answers} environments}
% Internally, we have utilized the |\comment| and |\endcomment| macros
-% from the \textsf{versions} package by Uwe Lück~\cite{VERS}.
-% ^^A Several other packages also enable selective management of code portions.
-% ^^A Notably, the \textsf{verbatim} package by Rainer Schöpf,
-% ^^A \textsf{comment} by Victor Eijkhout,
-% ^^A \textsf{version} by Donald Arseneau and Stephen Bellantoni,
-% ^^A \textsf{optional} by Donald Arseneau
-% ^^A and \textsf{codesection} by Matthias Pospiech.
+% from the \mbox{\textsf{versions}} package by Uwe Lück~\cite{VERS}.
+% Several other packages also enable selective management of code portions.
+% Notably, the \textsf{verbatim} package by Rainer Schöpf,
+% \textsf{comment} by Victor Eijkhout,
+% \textsf{version} by Donald Arseneau and Stephen Bellantoni,
+% \textsf{optional} by Donald Arseneau
+% and \textsf{codesection} by Matthias Pospiech.
% Moreover, the \textsf{versions} package~\cite{VERS} offers
% the |\excludeversion|\marg{env} and
% |\includeversion|\marg{env} macros which allow for the exclusion or inclusion of
% any environment \meta{env}. These ``optional'' environments
-% can be nested.
-% ^^A \footnote{The \textsf{codesection} package also supports
-% ^^A such nesting, including within the preamble, as well as the \textsf{optional} package,
-% ^^A but the latter manages only short sections of optional code.}.
+% can be nested
+% \footnote{The \textsf{codesection} package also supports
+% such nesting, including within the preamble, as well as the \textsf{optional} package,
+% but the latter manages only short sections of optional code.}.
%
% However the \texttt{questions} and \texttt{answers} environments
% serve a broader purpose beyond merely displaying or hiding text.
@@ -769,15 +763,6 @@
% other numbers for lower levels
% (which won't appear in the table of contents or in the PDF file’s summary).
%
-% Caution should be taken that, if the \texttt{questions} environment is not used
-% beforehand in the same exercise (or part),
-% the \texttt{answers} environment will consider the correction as global
-% for the entire sheet (or exercise) and will reset the \texttt{exercise}
-% (or \texttt{part}) counter.
-% This can be managed properly with the optional argument.
-% For example, use |\begin{answers}[2]| to prevent \texttt{exercise} counter reset,
-% or |\begin{answers}[3]| to prevent \texttt{subpart} counter reset.
-%
% \medskip
% \DescribeMacro{answers*}
% The starred version \texttt{answers*} doesn't display the
@@ -840,7 +825,7 @@
% In the following example, we used
% |\exercise[\points{5}]|:
% \exercise[\points{5}]
-% \psframe(-0.25,1.3)(12.75,-0.4)
+% \psframe(-0.25,1.3)(12.75,-0.35)
% Try to read this document to the end without drinking tea and you get five points.
%
% \bigskip
@@ -965,7 +950,7 @@
% single one by specifying the number of points as an optional argument of the |\note| command:
% |\note|\oarg{num}\marg{comment}.
%
-% The initial comment in the following example is generated (immediately after |\item|) using
+% The first comment in the following example is obtained using (immediately after |\item|)
% |\note[1]{0.5 for the anti-derivative\\0.5 for simplifying}|.
%
% \exercise[\totalexe{4}] \label{totalexe}
@@ -1266,7 +1251,8 @@
%
% \subsection{Comparison with other packages}\label{comparison}
%
-% In this section, we will provide an overview of the functionalities (as of today \today)
+% In this section, we will provide an overview of the functionalities (when version 2.7 of
+% this package was published, at February 13, 2024)
% of various packages or classes found in the `Exercise' or `Exam' sections
% of the CTAN archives
% (Comprehensive \TeX\ Archive Network).
@@ -1751,7 +1737,8 @@
\@ifundefined{frenchsetup}{}{\frenchsetup{StandardLists=true}}
% executed at begin doc if loaded before babel
\setlist[enumerate]{font=\enumfont}
- \setlist[enumerate,1]{topsep=1.5ex plus 1ex minus 1ex,leftmargin=1.5em}
+ \setlist[enumerate,1]{topsep=1.5ex plus 1ex minus 1ex,
+ leftmargin=1.5em}
\fi
% \end{macrocode}
@@ -1795,22 +1782,6 @@
label-align=right,
item-indent=2.5em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablitem}[\item](2)
-
-% \end{macrocode}
-% \DescribeEnv{tablenuma*} \DescribeEnv{tablitem*}
-% The starred environments \texttt{tablenuma*} and \texttt{tablitem*}
-% are designed to be employed within an \texttt{enumerate} environment,
-% precisely at the outset of an |\item|, in order to achieve correct horizontal
-% alignment.
-% The length of |-1.667\baselineskip| has been tested with various font families and sizes.
-% The alignment is generally good.
-% \begin{macrocode}
-\newenvironment{tablenuma*}{%
- \mbox{}\vspace{-1.667\baselineskip}\begin{tablenuma}}{
- \end{tablenuma}}
-\newenvironment{tablitem*}{%
- \mbox{}\vspace{-1.667\baselineskip}\begin{tablitem}}{
- \end{tablitem}}
% \end{macrocode}
% \DescribeEnv{colsenum}\DescribeEnv{colsenum*}
@@ -1946,7 +1917,8 @@
\newcounter{@toclevel}
\newcommand{\set@toclevel}[1][]{
\ifthenelse{\equal{#1}{}}{
- \ifthenelse{\value{exercise} > \value{exe@ini}}{
+ \ifthenelse{\(\value{exercise} > \value{exe@ini}\)
+ \and \(\value{exe@ini} > 0 \)}{
\setcounter{@toclevel}{1}
}{% else
\ifthenelse{\equal{\the\@enumdepth}{0}}{
@@ -1971,14 +1943,14 @@
\ifexesheet@exetoc
\addcontentsline{toc}{section}{\correctionname}
\fi
- \setcounter{exercise}{0}
+ \setcounter{exercise}{\value{exe@ini}}
}{% else if
\ifthenelse{\value{@toclevel} = 2}{%
\subsection*{\correctionstyle\correctionname}
\ifexesheet@exetoc
\addcontentsline{toc}{subsection}{\correctionname}
\fi
- \setcounter{subpart}{0}
+ \setcounter{subpart}{\value{subpart@ini}}
}{% else if
\ifthenelse{\value{@toclevel} = 3}{%
\subsubsection*{\correctionstyle\correctionname}
@@ -1997,9 +1969,9 @@
% \begin{macrocode}
\newenvironment{answers}[1][]{% #1 is the optional level
\ifthenelse{\boolean{exesheet@answers}}{%
- \ifthenelse{\boolean{exesheet@questions}}{
- \set@toclevel[#1]
- \typeset@correctionname
+ \ifthenelse{\boolean{exesheet@questions}}{%
+ \set@toclevel[#1]%
+ \typeset@correctionname%
\correctionstyle%
\ifexesheet@setlist
\settasks{
@@ -2016,9 +1988,12 @@
\renewcommand{\columnseprulecolor}{%
\color{correctioncolor}}
\fi%
- }{}
+ }{}%
}{\comment}
-}{\ifthenelse{\boolean{exesheet@answers}}{}{\endcomment}}
+}{\ifthenelse{\boolean{exesheet@answers}}{%
+ \setcounter{exe@ini}{0}
+ \setcounter{subpart@ini}{0}
+ }{\endcomment}}
\newenvironment{answers*}{
\ifthenelse{\boolean{exesheet@answers}}{\correctionstyle}{\comment}
@@ -2096,7 +2071,7 @@
% and \texttt{noteragged} are handled using the following internal commands.
%
% \medskip
-% The \texttt{display} key option determines the value of the two booleans
+% The \texttt{display} key option determines the value of the booleans
% |exesheet@pts| and |exesheet@notes|.
% The |exesheet@pts| boolean controls the display of the content of |\pts|
% and optional arguments of |\note|,
@@ -2477,7 +2452,7 @@
% The test |#1 < 2| doesn't work with decimal numbers without |\lengthtest|,
% but it works with lengths.
% \end{macro}
-% \DescribeMacro{\pts}
+% \begin{macro}{\pts}
% \begin{macrocode}
\definecolor{ptscolor}{named}{red}
\newcommand{\ptsstyle}[1]{%
@@ -2496,7 +2471,7 @@
}
% \end{macrocode}
-%
+% \end{macro}
% \begin{macro}{\totalexe}
% In the subsequent macros that utilize
% |\marginpar|, the presence of percent symbols and |\ignorespaces| is essential
diff --git a/Master/texmf-dist/source/latex/fixltxhyph/fixltxhyph.dtx b/Master/texmf-dist/source/latex/fixltxhyph/fixltxhyph.dtx
index ab888913a03..a3f57eeed42 100644
--- a/Master/texmf-dist/source/latex/fixltxhyph/fixltxhyph.dtx
+++ b/Master/texmf-dist/source/latex/fixltxhyph/fixltxhyph.dtx
@@ -1,13 +1,13 @@
% \iffalse meta-comment
-% !TEX encoding = IsoLatin
+% !TEX encoding = UTF-8 Unicode
%<*internal>
\begingroup
\input docstrip.tex
\keepsilent
\preamble
- ______________________________________________________
+ ____________________________________________________
The FiXLtxHyph package
- Copyright (C) 2011-2012 Claudio Beccari
+ Copyright (C) 2011-2024 Claudio Beccari
All rights reserved
License information appended
@@ -15,11 +15,12 @@
\endpreamble
\postamble
-Copyright 2011-2012 Claudio Beccari
+Copyright 2011-2024 Claudio Beccari
-Distributable under the LaTeX Project Public License,
-version 1.3c or higher (your choice). The latest version of
-this license is at: http://www.latex-project.org/lppl.txt
+Distributable under the LaTeX Project Public
+License, version 1.3c or higher (your choice).
+The latest version of this license is at:
+http://www.latex-project.org/lppl.txt
This work is "author-maintained"
@@ -28,13 +29,15 @@ the derived file fixltxhyph.sty, and the English
documentation fixltxhyph.pdf.
-By running pdflatex on fixltxhyph.dtx the user gets the .sty file,
-and the English documentation file in pdf format.
+By running pdflatex on fixltxhyph.dtx the user gets
+the .sty file, and the English documentation file in PDF format.
\endpostamble
+
\askforoverwritefalse
-\generateFile{fixltxhyph.sty}{t}{\from{fixltxhyph.dtx}{style}}
+\generateFile{fixltxhyph.sty}{f}%
+ {\from{fixltxhyph.dtx}{style}}
\def\tmpa{plain}
\ifx\tmpa\fmtname\endgroup\expandafter\bye\fi
@@ -46,22 +49,22 @@ and the English documentation file in pdf format.
% \iffalse
%<*driver>
\documentclass{ltxdoc}
-\ProvidesFile{fixltxhyph.dtx}[2012/04/02 v.0.4 Documented TeX file for
-the FixLtxHyph package]
+\ProvidesFile{fixltxhyph.dtx}[2024-12-28 v.0.5 Documented TeX file for the FixLtxHyph package]
\GetFileInfo{fixltxhyph.dtx}
-\usepackage[latin1]{inputenc}
+\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{color}
\usepackage{multicol}
\title{\centering The FixLtxHyph package\protect\\
-A small fix in order to hyphenate emphasized words after a vocalic elision\protect\\
-in Catalan, French, Italian, Romansh, and Friulan}
+A small fix in order to hyphenate emphasised words after a vocalic elision\protect}
\date{\fileversion\space\filedate}
\author{Claudio Beccari}
\usepackage{array}
\usepackage{metalogo}
\def\prog#1{\textsf{#1}}
+\def\amb#1{\textsf{\slshape#1}}
+\def\omissis{[\dots\!]}
\begin{document}\errorcontextlines=9
\maketitle
\begin{multicols}{2}
@@ -72,268 +75,382 @@ in Catalan, French, Italian, Romansh, and Friulan}
\end{document}
%</driver>
% \fi
-% \CheckSum{84}
+% \CheckSum{16}
%
% \begin{abstract}
-% This file fixes a small feature of the hyphenation algorithm used by the \TeX\ system
-% typesetting engines that manifests itself only with those languages that use the
-% apostrophe for marking a vocalic elision. This small package was set up to fix this
-% little undesirable feature in Italian, but it was extended to Catalan, French, the
-% future implementation of the fourth official Swiss language Rumantsch Grischun (Romansh
-% in English) and the future implementation of the Regional Language Friulan, spoken
-% and written in North Eastern Italy. This fix operates correctly with both \prog{pdflatex} and \prog{xelatex}.
+% This file fixes a small feature of the hyphenation
+% algorithm used by the \TeX\ system typesetting
+% engines that manifests itself only with those
+% languages that use the apostrophe for marking a
+% vocalic elision. This small package was set up to
+% fix this little undesirable feature in Italian,
+% but it was extended to Catalan, French, the
+% fourth official Swiss language Rumantsch Grischun
+% (Romansh in English) and the Regional Language
+% Friulan, spoken and written in North Eastern
+% Italy. This fix operates correctly with
+% \prog{pdflatex}, \prog{lualate}, and
+% \prog{xelatex}.
% \end{abstract}
+%
% \section{What is the feature to be fixed}
-% The five languages Catalan, French, Italian, Romansh, and Friulan use the apostrophe
-% for marking the vocalic elision of the ending vowel at the end of prepositions, articles,
-% articulated prepositions, definite adjectives, and other words playing similar rles when
-% they just precede nouns, adjectives, verbs, numerals, that start with a vowel. Probably
-% there are other languages that use the apostrophe in a similar way. I can easily upgrade
-% this small package if \LaTeX\ users of other languages let me know about such languages.
+% The five languages Catalan, French, Italian,
+% Romansh, and Friulian use the apostrophe for
+% marking the vocalic elision of the ending vowel
+% at the end of prepositions, articles, articulated
+% prepositions, definite adjectives, and other words
+% playing similar rôles when they just precede
+% nouns, adjectives, verbs, numerals, that start
+% with a vowel. Probably there are other languages
+% that use the apostrophe in a similar way. I can
+% easily upgrade this small package if \LaTeX\ users
+% of other languages let me know about such
+% languages.
%
-% This feature is common to most Romance languages (from West to East) from Catalan and
-% Valencian, to French, Langue d'oc, Occitan, Provenal, Vivaroalpin, Italian, Piedmontese,
-% Lombard, Romansh, Ladin, Friulian; up to now only Catalan, French and Italian are handled
-% by the \TeX\ system programs; at the same time most of these languages are minority ones
-% and are being protected by local legislation or are supported by specific cultural or
-% linguistic institutions; Romansh has got a national/federal legal status in
-% Switzerland and is being used in legal and official documents in the whole Swiss
-% Confederation, not only in its area of everyday use, the Kanton Graubunden or Canton
-% Grigioni or Chantun Grischun (where seven Romansh varieties are being spoken, besides
-% Swiss German, Italian, and other languages). The Friulan language has an official
-% regional status in the North-eastern Italian Region Friuli\,-Venezia Giulia.
+% This feature is common to most Romance languages
+% (from West to East) from Catalan and Valencian,
+% to French, Langue d'oc, Occitan, Provençal,
+% Vivaroalpin, Italian, Piedmontese, Lombard,
+% Romansh, Ladin, Friulian; up to now only Catalan,
+% French, Italian, Romansh, Friulian, Piedmontese,
+% and Occitan are handled by the \TeX-system
+% programs; at the same time most of these languages
+% are minority ones and are being protected by local
+% legislation or are supported by specific cultural
+% or linguistic institutions; Romansh has got a
+% national/federal legal status in Switzerland and
+% is being used in legal and official documents in
+% the whole Swiss Confederation, not only in its
+% area of everyday use, the Kanton Graubunden or
+% Canton Grigioni or Chantun Grischun (where seven
+% Romansh varieties are being spoken, besides
+% Swiss German, Italian, and other languages). The
+% Friulian language has an official regional status
+% in the North-eastern Italian Region
+% Friuli\,-Venezia Giulia.
%
-% This spelling rule is very rigorous in French; I suppose it is also a rigorous rule in
-% Catalan, Romansh, and Friulan but I am not that familiar with these languages even if I
-% can understand their written forms. In Italian it used to be a rigorous rule many years
-% ago, but nowadays it is less frequently used when plurals are involved.
-% Nevertheless apostrophes are practically the only analphabetic sign you see in an
-% Italian text except for letters and punctuation and quotation marks.
+% This spelling rule is very rigorous in French;
+% I suppose it is also a rigorous rule in Catalan,
+% Romansh, and Friulian but I am not so familiar
+% with these languages even if I can understand them
+% while reading texts written in these languages.
+% In Italian it used to be a rigorous rule many
+% years ago, but nowadays it is less frequently
+% used when plurals are involved. Nevertheless
+% apostrophes are practically the only analphabetic
+% sign you see in an Italian texts besides
+% punctuation and quotation marks.
%
-% In order to hyphenate correctly these word combinations all five languages have to
-% declare the apostrophe, that has a category code of~12, as a glyph with non zero lower
-% case code. In facts all five languages declare:
+% In order to hyphenate correctly these word
+% combinations all such languages have to declare
+% the apostrophe, that has a category code of~12,
+% as a glyph with non zero lower case code. In facts
+% all such languages declare:
%\begin{verbatim}
%\lccode`\'=`\'
%\end{verbatim}
-% or something equivalent. With this little trick, the typesetting engine considers the
-% apostrophe as a valid word character and treats the whole string as a single word; the
-% patterns of these languages, of course, take into consideration also the apostrophe so
-% that the resulting correct line breaks are easily found:
+% or something equivalent. With this little trick,
+% the typesetting engine considers the apostrophe as
+% a valid word character and treats the whole string
+% as a single word; the hyphenation patterns of
+% these languages, of course, take into
+% consideration also the apostrophe so that the
+% resulting correct line breaks are easily found:
%\begin{center}
%\begin{tabular}{l>{\ttfamily}ll}
-%Catalan & d'aquesta & d'a-ques-ta \\
-%French & l'lectricit & l'lec-tri-ci-t \\
+%Catalan & d'aquesta & d'a-ques-ta \\
+%French & l'électricité & l'élec-tri-ci-té \\
+%Friulian & l'arbul & l'ar-bul \\
%Italian & dell'eleganza & del-l'e-le-gan-za \\
-%Romansh & l'identitad & l'i-den-ti-tad \\
-%Friulan & l'arbul & l'ar-bul
+%Romansh & l'identitad & l'i-den-ti-tad
%\end{tabular}
%\end{center}
%
-% So where is the problem? It emerges when the second part of the string is emphasized,
+% So where is the problem? It emerges when the
+% second part of the string is emphasised,
% because in this case no hyphenation takes place:
%\begin{center}
%\begin{tabular}{l>{\ttfamily}ll}
-%Catalan & d'\string\emph\{aquesta\} & d'\emph{aquesta} \\
-%French & l'\string\emph\{lectricit\} & l'\emph{lectricit} \\
-%Italian & dell'\string\emph\{eleganza\} & dell'\emph{eleganza} \\
-%Romansh & l'\string\emph\{identitad\} & l'\emph{identitad} \\
-%Friulan & l'\string\emph\{arbul\} & l'\emph{arbul}
+%Catalan & d'\string\emph\{aquesta\} & d'\emph{aquesta} \\
+%French & l'\string\emph\{électricité\} & l'\emph{électricité} \\
+%Friulian & l'\string\emph\{arbul\} & l'\emph{arbul}\\
+%Italian & dell'\string\emph\{eleganza\} & dell'\emph{eleganza} \\
+%Romansh & l'\string\emph\{identitad\} & l'\emph{identitad}
%\end{tabular}
%\end{center}
%
-% This behavior is easily explained, so that it is not to be considered a bug, but a
-% feature; a feature that is annoying only when using the above five named languages.
-% The point is that all \TeX\ system typesetting engines consider a word to be that
-% character string starting after a character invalid in a word and finishing with the
-% first token invalid in a word. Notice that when the hyphenating algorithm comes to work
-% the command |\emph| has already been expanded and it ends up with the qualifications of
-% the selected font; therefore a string such as \verb*| d'aquesta | (starting after
-% a space and ending before the following space) is made up of valid characters; but
-% \verb*| d'\emph{aquesta} | is a ``word'' starting after a space and ending before
-% a space, but containing a font change. And this makes the word invalid for hyphenation.
-% The \TeX\-book is clear on this respect: ``If a suitable letter is found [as a starting
-% character], let it be in font $f$. \dots\ \TeX\ continues to scan forward until coming
-% to something that's not one of the following three ``admissible items'': (1) a character
-% in font $f$ whose |\lccode| is not zero; (2) a ligature formed entirely from characters
-% of type (1); (3) an implicit kern. \dots\ Notice that all these letters are
-% in font~$f$.''
+% This behaviour is easily explained, so that it is
+% not to be considered a bug, but a feature; a
+% feature that is annoying only when using the
+% above named languages.
+%
+% The point is that all \TeX\ system typesetting
+% engines consider a word to be that character
+% string starting after a character invalid in a
+% word and finishing with the first token invalid
+% in a word. Notice that when the hyphenating
+% algorithm comes to work the command |\emph| has
+% already been expanded and it ends up with the
+% qualifications of the selected font; therefore a
+% string such as \verb*| d'aquesta | (starting after
+% a space and ending before the following space) is
+% made up of valid characters; but
+% \verb*| d'\emph{aquesta} | is a “word” starting
+% after a space and ending before a space, but
+% containing a font change. And this makes the word
+% invalid for hyphenation.
%
-% This was a specific programming choice decided by Donald~E.\ Knuth together with Frank
-% Liang, his PhD student who developed the hyphenation algorithm implemented in the
-% typesetting engines of the \TeX\ system\footnote{I have been told that Lua\TeX\ is
-% developing a different algorithm that eliminates this feature.}.
-% As all such decisions, it is a compromise between accuracy and speed. And remember that
-% at the beginning \prog{tex} the program was used essentially with English, a language
-% that does not use accented letters and uses elision in a much different way as the one we
-% are speaking here. The problem did non exist and, I suppose, it will never exist in
-% English.
+% The \TeX\-book is clear on this respect:
+% \begin{quote}If a suitable letter is found [as a
+% starting character], let it be in font $f$.
+% \omissis\ \TeX\ continues to scan forward until
+% coming to something that's not one of the
+% following three “admissible items”: (1) a
+% character in font $f$ whose |\lccode| is not zero;
+% (2) a ligature formed entirely from characters of
+% type (1); (3) an implicit kern. \omissis\ Notice
+% that all these items are in font~$f$.\end{quote}
+%
+% This was a specific programming choice decided by
+% Donald~E.\ Knuth together with Frank Liang, his
+% PhD student who developed the hyphenation
+% algorithm implemented in the typesetting engines
+% of the \TeX\ system\footnote{I have been told that
+% Lua\TeX\ developed a different algorithm that
+% eliminates this feature.}.
+% All such decisions are a compromise between
+% accuracy and speed. Remember also that at the
+% beginning \prog{tex} the program was used
+% essentially with English, a language that does not
+% use accented letters and uses elision in a much
+% different way as the ones we are speaking here.
+% The problem did non exist and, I suppose, it will
+% never exist in English.
%
% \section{The solutions}
-% As a compromise I decided to solve the problem in an automatic way only when the second
-% part of the ``word'' to be hyphenated is emphasized. I suppose it is the most frequent
-% situation, although no one can avoid thinking to other situations; for example: the
-% second part of such ``word'' after the apostrophe is bolded, is colored, is written
-% in another font selected on purpose or is in another alphabet, is in italics (with
-% no automatic inclination switching); in such cases the solution is manual and remains
-% manual, because there are too many possibilities and it is cumbersome to deal with all
-% of them.
+% As a compromise I decided to solve the problem in
+% an automatic way only when the second part of the
+% “word” to be hyphenated is \emph{emphasised}. I
+% assume it is the most frequent situation, although
+% no one can avoid thinking to other situations; for
+% example: the second part of such “word” after the
+% apostrophe is bolded, is coloured, is written in
+% another font selected on purpose or is in another
+% alphabet, is in italics (with no automatic
+% inclination switching); in such cases the solution
+% is manual and remains manual, because there are
+% too many possibilities and it is cumbersome to
+% deal with all of them.
%
-% But manual or automatic, how should we proceed? Simply we must convince that the
-% starting letter must not be the start of the part preceding the apostrophe, but what
+% But manual or automatic, how should we proceed?
+% Simply we must convince the typesetting program
+% that the starting letter must not be the start of
+% the part preceding the apostrophe, but what
% follows it.
-% This is simple: it suffices to put after the apostrophe an unbreakable, zero width glob
-% of glue; \TeX\ starts looking for a potential starting letter after the glue.
-% Therefore the manual solution consists in defining a short macro such as the following
-% one:
+%
+% This is simple: it suffices to put after the
+% apostrophe an unbreakable, zero width glob of
+% glue so that \TeX\ starts looking for a potential
+% starting letter after the glue. Therefore the
+% manual solution consists in defining a short macro
+% such as the following one:
%\begin{verbatim}
%\newcommand\hz{\nobreak\hskip\z@skip}
%\end{verbatim}
-% or, if you want to avoid setting this short command into a personal \texttt{.sty} file,
-% simple change |\z@skip| with |0pt|. You will then have to modify the font changing
+% or, if you want to avoid setting this short
+% command into a personal \texttt{.sty} file,
+% simply change |\z@skip| with |0pt|. You will then
+% have to modify the font changing
% phrase into something such as:
%\begin{verbatim}
%... d'\hz\textbf{aquesta} ...
%\end{verbatim}
-% The |\hz|, whose name reminds the phrase ``Horizontal skip of an unbreakable Zero width
-% glob of glue'', finishes the preceding word and sets the grounds for starting the search
-% of a new starting letter of another word; it will be found after the font selections code
-% introduced in the horizontal list by the selected font identification.
+% The |\hz|, whose name reminds the phrase
+% “Horizontal skip of an unbreakable Zero width
+% glob of glue”, finishes the preceding word and
+% sets the grounds for starting the search of a new
+% starting letter of another word; it will be found
+% after the font selection code introduced in the
+% horizontal list by the selected font
+% identification.
%
-% The automatic solution, on the opposite, implies a small but substantial modification of
-% the |\emph| command. In facts the text command uses the text declaration |\em|; on turn
-% |\em| is a robust command, that is it is defined as \verb*|\protect\em |: it would be
-% very unwise to modify a protected command, so it is necessary to modify the
-% \texttt{protect}ed one, and this operation is not trivial because of the space in this macro name.
-% In any case if we find out how, we must add |\hz| to the definition of \verb*|\em |
-% before its argument, the real text to emphasize, is processed.
+% The automatic solution, on the opposite, implies
+% a small but substantial modification of the
+% |\emph| command. In facts the text command uses
+% the text declaration |\em|; on turn |\em| is a
+% robust command, that is defined as
+% \verb*|\protect\em |: it would be very unwise to
+% modify a protected command, so it is necessary to
+% modify the \texttt{protect}ed one, and this
+% operation is not trivial because of the space in
+% this macro name.
%
-% This small package does exactly this, only for the five named languages, and only if
-% they are used, and only with the |\emph| command. The |\hz| command is available to the
-% user in a global way, so that when this package is loaded, the manual solution remains
-% valid for every language, although in very unlikely situations.
+% In any case if we find out how, we must add |\hz|
+% to the definition of \verb*|\em | before its
+% substitution text, so that the \TeX\ search of the
+% first character of a real word starts at the end
+% of the substitution code.
%
-% It has been tested with the five languages with both \prog{pdflatex} and \prog{xelatex},
-% and apparently it works as expected; it has been throughly tested in all situations with
-% Italian; it should work properly also in French, in Romansh, and in Friulan. The adopted
-% solution does not fiddle with active characters and therefore it does not interfere with
-% the internal workings and settings of Catalan and the other languages.
+% This small package does exactly this only with
+% the |\emph| command. Its functionalities actually
+% are in force for any language, non only for the
+% above named languages.
+
+% The |\hz| command is globally available to the
+% user, so that when this package is loaded, the
+% manual solution remains valid in any situation,
+% as, for example, for the first line of a list
+% item for the text that follows the \cs{item}
+% command and its argument.
+% It is necessary, especially within a
+% \amb{description} environment, because sometimes
+% the item mandatory argument entry might be pretty
+% long and the first line might require hyphenation
+% at its end.
+%
+% It has been tested with the above named five
+% languages with both \prog{pdflatex},
+% \prog{xelatex}, and also with \prog{lualatex}; and
+% apparently it works as expected; it has been
+% throughly tested in all situations with Italian;
+% it should work properly also in French, in
+% Romansh, and in Friulian; certainly it works with
+% \texttt{utf8} text encoding. The adopted solution
+% does not fiddle with active characters and
+% therefore it does not interfere with the internal
+% workings and settings of Catalan and other
+% languages.
%
% \section{Installation}
-% With modern \TeX\ distributions these instructions are superfluous; should you need to
-% install by hand, download from \textsc{ctan} in a scratch directory (possibly create one,
-% and after finishing, delete the whole directory with its contents) run this file
-% \texttt{fixltxhyph.dtx} through \prog{pdflatex}; you get two files and move them
-% as follows:
+% With modern \TeX\ distributions these instructions
+% are superfluous; should you need to manually
+% install this package, download from \textsc{ctan}
+% in a scratch directory (possibly create one, and
+% after finishing, delete the whole directory with
+% its contents) run this file
+% \texttt{fixltxhyph.dtx} through \prog{pdflatex};
+% you get two files and move them as follows:
%\begin{itemize}
-%\item Move all the files in the following directories on your disk; if you don't already
-% have those directories, create them.
-%\item These directories should be created in your personal \texttt{texmf} tree; if you
-% don't have one, create it; how to do this and where to root it depends on your operating
-% system; before doing any change to your hard disk, please read carefully the TeX Live
-% or the MiKTeX documentations in order to find out what a personal tree is.
-%\item Move \texttt{fixltxhyph.dtx} to \texttt{.../texmf/source/latex/FixLtxHyph/};
-%\item Move \texttt{fixltxhyph.pdf} to \texttt{.../texmf/doc/latex/FixLtxHyph/};
-%\item Move \texttt{fixltxhyph.sty} to \texttt{.../texmf/tex/latex/FixLtxHyph/};
-%\item if your distribution requires it, refresh the file name database.
+%\item
+% Move all the files in the following directories
+% on your disk; if you don't already have those
+% directories, create them.
+%\item
+% These directories should be created in your
+% personal \texttt{texmf} tree; if you don't have
+% one, create it; how to do this and where to root
+% it depends on your operating system; before doing
+% any change to your hard disk, please read
+% carefully the TeX Live or the MiKTeX
+% documentations in order to find out what a
+% personal tree is.
+%\item
+% Move \texttt{fixltxhyph.dtx} to \texttt{.../texmf/source/latex/FixLtxHyph/};
+%\item
+% Move \texttt{fixltxhyph.pdf} to \texttt{.../texmf/doc/latex/FixLtxHyph/};
+%\item
+% Move \texttt{fixltxhyph.sty} to \texttt{.../texmf/tex/latex/FixLtxHyph/};
+%\item
+% if your distribution requires it, refresh the file name database.
%\end{itemize}
-% You are now ready to use the package by simply invoking it in the preamble of your
+% You are now ready to use the package by simply
+% invoking it in the preamble of your
% documents:
%\begin{verbatim}
%\usepackage{fixltxhyph}
%\end{verbatim}
%
%\section{Aknowledgements}
-%I wish to thank Lorenzo Pantieri who tested the preliminary and the actual versions of
-% this package and directly or indirectly helped debugging the code, especially in the
-% preliminary version that used active characters and was particularly buggy. Another
-% big thank to Enrico Gregorio who spotted the protection problem of the |\em| command.
+% I wish to thank Lorenzo Pantieri who tested the
+% preliminary and the actual versions of this
+% package and directly or indirectly helped
+% debugging the code, especially in the preliminary
+% version that used active characters and was
+% particularly buggy. Another big thank you to
+% Enrico Gregorio who spotted the protection problem
+% of the |\em| command.
%
% \StopEventually{}
%
%\section{The documented code}
-% We start by identifying the package and the necessary format file:
-% \begin{macrocode}
+% We start by identifying the package and the
+% necessary format file:
+%\iffalse
%<*style>
-\ProvidesPackage{fixltxhyph}[2011/04/02 v.0.4 Small fix for hyphenating
-emphasized words preceded by vocalic elision]
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
-% \end{macrocode}
-% Then we make sure that the package \texttt{babel} or \texttt{polyglossia} has already
-% been loaded; otherwise we warn the user and exit; no patches can be made to an unknown
-% package.
+%\fi
% \begin{macrocode}
-\@ifpackageloaded{babel}{}{\@ifpackageloaded{polyglossia}{}{%
-\PackageWarning{FixLtXHyph}{This package must be loaded after babel
- or polyglossia}%
-\endinput}}
+\ProvidesPackage{fixltxhyph}[2024/12/01 v.0.5
+ Small fix for hyphenating emphasised words]
+\NeedsTeXFormat{LaTeX2e}[2022/01/01]
% \end{macrocode}
%
-% We need the package |etoolbox| in order to perform any action on control sequences
-% that contain spaces in their names; we do not need any means to test if we are working
-% with \texttt{babel} or with \texttt{polyglossia} because, thanks to the previous
-% tests, one of the two packages has certainly been loaded.
-% \begin{macrocode}
-\@ifpackageloaded{etoolbox}{}{\RequirePackage{etoolbox}}
-% \end{macrocode}
-% We define a very short command |\hz| in order to have available a handy command
-% for inserting an unbreakable zero-width glob of glue in case we needed to do some
-% sort of patching by hand.
+% We need the package |etoolbox| in order to perform
+% any action on control sequences that contain
+% spaces in their names. We keep the old
+% \verb|\@ifpackageloaded| command, not because we
+% love vintage commands, because since 2024
+% it is available the \verb|\IfPackageLoadedF|
+% command, that is more easily maintainable
+% and does not require the empty argument,
+% but because users sometimes work with vintage
+% \TeX-system installations.
+%
+% First we define a very short command |\hz| in
+% order to have available a handy command for
+% inserting an unbreakable zero-width glob of glue
+% in case we needed to manually do some sort of
+% patching.
% \begin{macrocode}
\newcommand\hz{\nobreak\hskip\z@skip}
% \end{macrocode}
-% We make patches only if one or more of the five languages Catalan, French, Italian,
-% Romansh, or Friulan (or its alias Furlan) has been invoked as an option to \texttt{babel}
-% or specified to \texttt{polyglossia}; if none of these options had been selected,
-% evidently the user was thinking to other details and missed the point that this patch is
-% necessary only for the above mentioned five languages. In any case no harm takes place
-% if from now on nothing else gets done, except for the definition of |hz| that remains
-% available to the user.
%
-% The next bit of code defines some aliases in order to keep the original meaning of the
-% declaration |\em|; in order to patch an alias, so as to be able to set the proper
-% definitions only for the named five languages and to restore the original situation when
-% a change of language takes place.
+% Next we patch the \cs{em\textvisiblespace}
+% command. To do so in an efficient way we need
+% the |etooolbox| package.
% \begin{macrocode}
-\letcs{\FLH@originalem}{em }
-\let\FLH@newem\FLH@originalem
-\preto\FLH@newem{\hz}
+\IfPackageLoadedF{etoolbox}{\RequirePackage{etoolbox}}
% \end{macrocode}
+% In a previous version we tested if one of the
+% certainly (vulnerable languages that use the
+% vocalic elision replaced by an apostrophe) was
+% the current language; in this new package version
+% 0.5 we omit such test because the patch is
+% harmless even if the apostrophe does not imply any
+% vocalic elision.
%
-% We then use a repetition cycle based on a list of language names; if the
-% language with one of the listed names has been invoked as an option to \texttt{babel},
-% or specified to \texttt{polyglossia} then the patched \verb*|\em | definition is made
-% the default, while when changing language the original definition is restored; we define a macro that contains the language names:
-% \begin{macrocode}
-\def\@tempB{catalan,french,italian,romansh,friulan,furlan}
-% \end{macrocode}
-% then we perform the above mentioned cycles; we have to distinguish if we are using
-% \texttt{polyglossia} or \texttt{babel} because the internal setting and resetting macros
-% of these two packages have different names; they are all made up by the agglutination of
-% a prefixx to the language name, so we have to build the macro names to patch with the
-% usual deferred name contraction by means of |\expandafter| and |\csname| with its
-% companion |\endcsname|.
+% The next bit of code defines an alias in
+% order to keep the original meaning of the
+% declaration |\em|; in order to patch an alias to
+% be used only in the redefinition of the same named new macro.
% \begin{macrocode}
-\@ifpackageloaded{polyglossia}%
-{\@for\@tempA:=\@tempB\do{%
- \expandafter\ifx\csname captions\@tempA\endcsname\relax\else
- \expandafter\addto\csname noextras@\@tempA\endcsname{\cslet{em }{\FLH@originalem}}%
- \expandafter\addto\csname blockextras@\@tempA\endcsname{\cslet{em }{\FLH@newem}}%
- \expandafter\addto\csname inlineextras@\@tempA\endcsname{\cslet{em }{\FLH@newem}}%
- \fi}%
-}{\@for\@tempA:=\@tempB\do{%
- \expandafter\ifx\csname captions\@tempA\endcsname\relax\else
- \expandafter\addto\csname extras\@tempA\endcsname{\cslet{em }{\FLH@newem}}%
- \expandafter\addto\csname noextras\@tempA\endcsname{\cslet{em }{\FLH@originalem}}%
- \fi}%
-}
+\letcs{\FLH@originalem}{em }
+\RenewDocumentCommand{\em }{m}{\FLH@originalem\hz}
% \end{macrocode}
+% Notice that the \cs{em\textvisiblespace} defined
+% by means of the \LaTeX3 \cs{RenewDocumentCommand}
+% is robust as all commands defined by means of this
+% kind of \LaTeX3 commands.
+%
+% Eventually let us conclude with a comment:
+% compared with the previous version 0.4 of this
+% package the number of control sequences contained
+% in this new version is drastically diminished
+% from 84 to 16. This is one of the advantages
+% gained by using the \LaTeX3 language besides the
+% \texttt{etoolbox} facilities.
+%
%
-% This documented file is now terminated and its final commands are issued.
+% This documented file is now finished and its
+% final commands are issued:
% \begin{macrocode}
\endinput
-%</style>
% \end{macrocode}
+% together with the |docstrip| command \cs{Finale}
+% that allows to control if the final extracted code
+% is complete.
+%\iffalse
+%</style>
+%\fi
%
% \Finale
% \endinput
diff --git a/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.dtx b/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.dtx
index 48dad58b76f..471d41e981c 100644
--- a/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.dtx
+++ b/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2023 by Mario Fantini <marfant7@gmail.com>
+% Copyright (C) 2024 by Mario Fantini <ing.mariofantini@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,29 +103,727 @@
%<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]%
%<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,13 +1808,17 @@
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
+%
+%
+%\changes{v2.0.0}{2024/12/27}{third version}
+%
%\indice
%
%\GetFileInfo{isphysicalmath.dtx}
%
%\title{The \textsf{isphysicalmath} package\thanks{This document
%corresponds to \textsf{isphysicalmath}~\fileversion, dated \filedate.}}
-%\author{Mario Fantini \\ \texttt{marfant7@gmail.com}}
+%\author{Mario Fantini \\ \texttt{ing.mariofantini@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} \\\\
+%
+%
+%\subsection{Notation}
+%
+%\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}
%
-%\begin{environment}{dc}
-% option \textit{dc} \\
-%\textbackslash usepackage\oarg{dc}\{isphysicalmath\} \\
+%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} \\ \\
%
-%$\forall x,y,\ldots,+\infty \in \mathbb{N}$:\\
+%\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} \\
-%|\ispmrc| \meta{x,y} \\
-%\end{environment}
+%It changes commas in dots. \\ \\
%
-%\begin{environment}{comma}
-% option \textit{comma} \\
-%\textbackslash usepackage\oarg{comma}\{isphysicalmath\} \\
+%$\forall x,y,\ldots,+\infty \in \mathbb{Z}$:\\
+%|\ispmrc| \meta{x,y} \\
+%It changes dots in commas. \\ \\
%
-%$\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,33 +2180,462 @@
%
%\[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}
%
%\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}
+%
+%\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} \\ \\
%
-%\subsubsection{option <dc>}
+%\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 (C) 2024 by Mario Fantini <marfant7@gmail.com>
+%Copyright \copyright{} 2024 by Mario Fantini <ing.mariofantini@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
diff --git a/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.ins b/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.ins
index 2cbd19533c8..336204f7b48 100644
--- a/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.ins
+++ b/Master/texmf-dist/source/latex/isphysicalmath/isphysicalmath.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2024 by Mario Fantini <marfant7@gmail.com>
+%% Copyright (C) 2024 by Mario Fantini <ing.mariofantini@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@gmail.com>
+Copyright (C) 2024 by Mario Fantini <ing.mariofantini@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
diff --git a/Master/texmf-dist/source/xelatex/bidi/bidi-doc-intro.ltx b/Master/texmf-dist/source/xelatex/bidi/bidi-doc-intro.ltx
index 1164704124b..71950a49c1a 100644
--- a/Master/texmf-dist/source/xelatex/bidi/bidi-doc-intro.ltx
+++ b/Master/texmf-dist/source/xelatex/bidi/bidi-doc-intro.ltx
@@ -17,10 +17,10 @@ If you use \textsf{bidi} package to write any input \TeX\ document, and then run
* and LaTeX. The package includes adaptations
* for use with many other commonly-used packages.
*
-* Copyright (c) 2007--2024 Vafa Khalighi
+* Copyright (c) 2007--2025 Vafa Khalighi
* Copyright (c) 2018--2020 bidi-tex GitHub Organization
*
-* v40.6 (Release John Willard Milnor), 2024/12/20
+* v40.8 (Release William Paul Thurston), 2024/12/28
*
* License: LaTeX Project Public License, version
* 1.3c or higher (your choice)
diff --git a/Master/texmf-dist/source/xelatex/bidi/bidi-doc-title.ltx b/Master/texmf-dist/source/xelatex/bidi/bidi-doc-title.ltx
index db1d367e040..bcf2d3fe5b2 100644
--- a/Master/texmf-dist/source/xelatex/bidi/bidi-doc-title.ltx
+++ b/Master/texmf-dist/source/xelatex/bidi/bidi-doc-title.ltx
@@ -3,7 +3,7 @@
\begin{document}
\title{\textcolor{bidiblue}{\Huge The \textsf{bidi} \textit{Package}}\\
\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt]
-\large User documentation for \textcolor{bidiblue}{version 40.6}}
+\large User documentation for \textcolor{bidiblue}{version 40.8}}
\author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team for maintaining the package in the period 2018--2020.}}
\setcounter{page}{0}
\thispagestyle{empty}
@@ -13,7 +13,7 @@
\textcolor{bidiblue}{\Huge The \textsf{bidi} \textit{Package}}
\Large
-User documentation for \textcolor{bidiblue}{version 40.6}}
+User documentation for \textcolor{bidiblue}{version 40.8}}
\vskip 0pt plus 3fill
\textit{\large to my Master, \textbf{Ferdowsi The Great}}
diff --git a/Master/texmf-dist/source/xelatex/bidi/bidi-doc.ltx b/Master/texmf-dist/source/xelatex/bidi/bidi-doc.ltx
index c4c5b370345..5529f006f2f 100644
--- a/Master/texmf-dist/source/xelatex/bidi/bidi-doc.ltx
+++ b/Master/texmf-dist/source/xelatex/bidi/bidi-doc.ltx
@@ -1,7 +1,7 @@
\documentclass{ltxdoc}
\input{bidi-doc-preamble.ltx}
\hypersetup{%
- pdftitle={User documentation for version 40.6 of the bidi
+ pdftitle={User documentation for version 40.8 of the bidi
package}%
}
\begin{document}
diff --git a/Master/texmf-dist/source/xelatex/bidi/bidi.dtx b/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
index 6951ec8721d..40087a54282 100644
--- a/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
+++ b/Master/texmf-dist/source/xelatex/bidi/bidi.dtx
@@ -5,7 +5,7 @@
%<*readme>
___________________
The bidi package
-v40.6
+v40.8
This package provides a convenient interface for typesetting
bidirectional texts in Plain TeX and LaTeX, using XeTeX engine.
@@ -30,12 +30,12 @@ The announcements for the new releases of the package will
also appear in the Discussions space under the Announcements
category.
-Current version release date: 2024/12/20
+Current version release date: 2024/12/28
___________________________________________
Vafa Khalighi
-Copyright (c) Vafa Khalighi 2007--2024
+Copyright (c) Vafa Khalighi 2007--2025
Copyright (c) bidi-tex GitHub Organization 2018--2020
It may be distributed and/or modified under the LaTeX Project Public License,
@@ -57,7 +57,7 @@ by Vafa Khalighi.
__________________________________________________
Vafa Khalighi
- Copyright (c) 2007--2024 Vafa Khalighi
+ Copyright (c) 2007--2025 Vafa Khalighi
Copyright (c) 2018--2020 bidi-tex GitHub Organization
It may be distributed and/or modified under the LaTeX Project Public License,
@@ -267,7 +267,7 @@ by Vafa Khalighi.
\documentclass{ltxdoc}
\input{bidi-doc-preamble.ltx}
\hypersetup{%
- pdftitle={Source documentation for version 40.6 of the bidi
+ pdftitle={Source documentation for version 40.8 of the bidi
package}%
}
\EnableCrossrefs
@@ -286,7 +286,7 @@ by Vafa Khalighi.
% \GetFileInfo{\jobname.dtx}
% \title{\textcolor{bidiblue}{\Huge The \textsf{bidi} \textit{Package}}\\
%\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt]
-%\large Source documentation for \textcolor{bidiblue}{version 40.6}}
+%\large Source documentation for \textcolor{bidiblue}{version 40.8}}
% \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team for maintaining the package in the period 2018--2020.}}
%\setcounter{page}{0}
%\thispagestyle{empty}
@@ -296,7 +296,7 @@ by Vafa Khalighi.
%\textcolor{bidiblue}{\Huge The \textsf{bidi} \textit{Package}}
%
%\Large
-%Source documentation for \textcolor{bidiblue}{version 40.6}}
+%Source documentation for \textcolor{bidiblue}{version 40.8}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -329,7 +329,7 @@ by Vafa Khalighi.
%
%\vskip 0pt plus 3fill
%
-%Copyright (c) 2007--2024 Vafa Khalighi
+%Copyright (c) 2007--2025 Vafa Khalighi
%
%Copyright (c) 2018--2020 bidi-tex GitHub Organization
%
@@ -345,7 +345,7 @@ by Vafa Khalighi.
%\iffalse
%<*table>
%\fi
-%% \CheckSum{58558}
+%% \CheckSum{58641}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -2551,7 +2551,7 @@ by Vafa Khalighi.
%\fi
% \section{File \texttt{beamerbaseframecomponents-xetex-bidi.def}}
% \begin{macrocode}
-\ProvidesFile{beamerbaseframecomponents-xetex-bidi.def}[2023/08/02 v0.6 bidi adaptations for beamerbaseframecomponents package for XeTeX engine]
+\ProvidesFile{beamerbaseframecomponents-xetex-bidi.def}[2024/12/28 v0.7 bidi adaptations for beamerbaseframecomponents package for XeTeX engine]
\renewcommand{\setbeamersize}[1]{%
\beamer@dogeometryfalse%
\setkeys{beamer@margin}{#1}%
@@ -2715,6 +2715,15 @@ by Vafa Khalighi.
\dp\beamer@tempbox=0pt%
\box\beamer@tempbox}}}
\let\@evenhead\@oddhead\let\@evenfoot\@oddfoot}
+
+\renewenvironment<>{beamer@columnenv}[2][\beamer@colmode]{%
+ \beamer@colclose\def\beamer@colclose{}%
+ \begin{actionenv}#3%
+ \setkeys{beamer@col}{#1}%
+ \begin{minipage}[\beamer@colalign]{#2}%
+ \leavevmode\bidi@beamer@ragged\beamer@colheadskip\ignorespaces}
+ {\end{minipage}\hfill\end{actionenv}\@ignoretrue}
+\let\endcolumn\endbeamer@columnenv
\renewcommand<>\beamer@columncom[2][\beamer@colmode]{%
\beamer@colclose%
@@ -4710,9 +4719,9 @@ by Vafa Khalighi.
% \section{File \texttt{bidi.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\bididate{2024/12/20}
-\def\bidi@version{40.6}
-\def\bidi@releasename{John Willard Milnor}
+\def\bididate{2024/12/28}
+\def\bidi@version{40.8}
+\def\bidi@releasename{William Paul Thurston}
\newcommand*{\bidireleasename}{\bidi@releasename}
\ProvidesPackage{bidi}[\bididate\space v\bidi@version\space (Release \bidi@releasename)\space
Bidirectional typesetting in plain TeX and LaTeX]
@@ -4858,7 +4867,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
* and LaTeX. The package includes adaptations^^J%
* for use with many other commonly-used packages.^^J%
* ^^J%
-* Copyright (c) 2007--2024 Vafa Khalighi^^J%
+* Copyright (c) 2007--2025 Vafa Khalighi^^J%
* Copyright (c) 2018--2020 bidi-tex GitHub organization^^J%
* ^^J%
* v\bidi@version\space (Release \bidi@releasename), \bididate^^J%
@@ -4929,7 +4938,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
}
\newcommand*{\@bidi@pdfcustomproperties}{%
This is the bidi package, Version \bidi@version\space (Release \bidi@releasename),
- Released December 20, 2024.
+ Released December 28, 2024.
}
\newcommand*{\bidi@beamer@ragged}{}
\@RTLmainfalse
@@ -4983,9 +4992,19 @@ Bidirectional typesetting in plain TeX and LaTeX]
}%
\the\toks@
}
+\newcount\bidi@typesethour
+\newcount\bidi@typesetminute
+\bidi@typesethour=\time
+\divide\bidi@typesethour 60
+\bidi@typesetminute=-\bidi@typesethour
+\multiply\bidi@typesetminute 60
+\advance\bidi@typesetminute \time
+\newcommand*{\TypesetHour}{\two@digits\bidi@typesethour}
+\newcommand*{\TypesetMinute}{\two@digits\bidi@typesetminute}
+\newcommand*{\TypesetTime}{\TypesetHour:\TypesetMinute}
\newcommand*{\@bidi@logo@}{%
\@bidi@logo@hb@xt@columnwidth
- {\hss\LRE{\bfseries Typeset by the \textsf{bidi}
+ {\hss\LRE{\bfseries Typeset {\today} at {\TypesetTime} by the \textsf{bidi}
package\quad\@bidi@logo{bidi-logo.pdf}}}}
\ExplSyntaxOn
\keys_define:nn { bidi / pdfencrypt }
@@ -5103,10 +5122,10 @@ Bidirectional typesetting in plain TeX and LaTeX]
%\fi
% \section{File \texttt{bidi.tex}}
% \begin{macrocode}
-\def\bididate{2024/12/20}
+\def\bididate{2024/12/28}
\catcode`@=11
-\def\bidi@version{40.6}
-\def\bidi@releasename{John Willard Milnor}
+\def\bidi@version{40.8}
+\def\bidi@releasename{William Paul Thurston}
\def\bidireleasename{\bidi@releasename}
\let \protect \relax
\newlinechar`\^^J
@@ -5120,7 +5139,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
* and LaTeX. The package includes adaptations^^J%
* for use with many other commonly-used packages.^^J%
* ^^J%
-* Copyright (c) 2007--2024 Vafa Khalighi^^J%
+* Copyright (c) 2007--2025 Vafa Khalighi^^J%
* Copyright (c) 2018--2020 bidi-tex GitHub organization^^J%
* ^^J%
* v\bidi@version\space (Release \bidi@releasename), \bididate^^J%
@@ -5199,7 +5218,18 @@ Bidirectional typesetting in plain TeX and LaTeX]
}%
\the\toks@
}
-\def\@bidi@logo@{\@bidi@logo@hb@xt@\hsize{\hss\LRE{\bf Typeset by the bidi package\quad\@bidi@logo{bidi-logo.pdf}}}}
+\def\two@digits#1{\ifnum#1<10 0\fi\number#1}
+\newcount\bidi@typesethour
+\newcount\bidi@typesetminute
+\bidi@typesethour=\time
+\divide\bidi@typesethour 60
+\bidi@typesetminute=-\bidi@typesethour
+\multiply\bidi@typesetminute 60
+\advance\bidi@typesetminute \time
+\def\TypesetHour{\two@digits\bidi@typesethour}
+\def\TypesetMinute{\two@digits\bidi@typesetminute}
+\def\TypesetTime{\TypesetHour:\TypesetMinute}
+\def\@bidi@logo@{\@bidi@logo@hb@xt@\hsize{\hss\LRE{\bf Typeset {\today} at {\TypesetTime} by the bidi package\quad\@bidi@logo{bidi-logo.pdf}}}}
\def\nobidilogo{\let\@bidi@logo@\@empty \let\@bidi@inslogo@\@empty}
\def\@bidi@pdfcreator{%
The bidi package, v\bidi@version\space (Release \bidi@releasename), \bididate
@@ -5209,7 +5239,7 @@ Bidirectional typesetting in plain TeX and LaTeX]
}
\def\@bidi@pdfcustomproperties{%
This is the bidi package, Version \bidi@version\space (Release \bidi@releasename),
- Released December 20, 2024.
+ Released December 28, 2024.
}
\def\bidi@pdfm@mark{%
\special{pdf:%
diff --git a/Master/texmf-dist/source/xelatex/bidi/bidi.ins b/Master/texmf-dist/source/xelatex/bidi/bidi.ins
index c2c404702ea..2cffc147059 100644
--- a/Master/texmf-dist/source/xelatex/bidi/bidi.ins
+++ b/Master/texmf-dist/source/xelatex/bidi/bidi.ins
@@ -9,7 +9,7 @@
%% __________________________________________________
%% Vafa Khalighi
%%
-%% Copyright (c) 2007--2024 Vafa Khalighi
+%% Copyright (c) 2007--2025 Vafa Khalighi
%% Copyright (c) 2018--2020 bidi-tex GitHub Organization
%%
%% It may be distributed and/or modified under the LaTeX Project Public License,
@@ -27,7 +27,7 @@
__________________________________________________
Vafa Khalighi
- Copyright (c) 2007--2024 Vafa Khalighi
+ Copyright (c) 2007--2025 Vafa Khalighi
Copyright (c) 2018--2020 bidi-tex GitHub Organization
It may be distributed and/or modified under the LaTeX Project Public License,
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx
index fd9e569406e..9b1584c6611 100644
--- a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-intro.ltx
@@ -22,10 +22,10 @@ If you use \textsf{\XePersian} package to write any input \TeX\ document, and th
* typesetting, using fonts provided in the
* distribution.
*
-* Copyright (c) 2008--2024 Vafa Khalighi
+* Copyright (c) 2008--2025 Vafa Khalighi
* Copyright (c) 2018--2020 bidi-tex GitHub Organization
*
-* v25.5 (Release Mount Damavand), 2024/12/20
+* v25.8 (Release Mount Alvand), 2025/01/01
*
* License: LaTeX Project Public License, version
* 1.3c or higher (your choice)
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx
index 17fc16882a1..91bde7d40d9 100644
--- a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc-title.ltx
@@ -3,7 +3,7 @@
\begin{document}
\title{\textcolor{xepersianblue}{\Huge The \textsf{\XePersian} \textit{Package}}\\
\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt]
-\large User documentation for \textcolor{xepersianblue}{version 25.5}}
+\large User documentation for \textcolor{xepersianblue}{version 25.8}}
\author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team for maintaining the package in the period 2018--2020.}}
\setcounter{page}{0}
\thispagestyle{empty}
@@ -13,7 +13,7 @@
\textcolor{xepersianblue}{\Huge The \textsf{\XePersian} \textit{Package}}
\Large
-User documentation for \textcolor{xepersianblue}{version 25.5}}
+User documentation for \textcolor{xepersianblue}{version 25.8}}
\vskip 0pt plus 3fill
\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -47,7 +47,7 @@ category.
\vskip 0pt plus 3fill
-Copyright (c) 2008--2024 Vafa Khalighi
+Copyright (c) 2008--2025 Vafa Khalighi
Copyright (c) 2018--2020 bidi-tex GitHub Organization
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx
index af63eddb98b..25e953db29f 100644
--- a/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian-doc.ltx
@@ -1,7 +1,7 @@
\documentclass{ltxdoc}
\input{xepersian-doc-preamble.ltx}
\hypersetup{%
- pdftitle={User documentation for version 25.5 of the XePersian
+ pdftitle={User documentation for version 25.8 of the XePersian
package}%
}
\begin{document}
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx b/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx
index d47d10a0184..5002a90c056 100644
--- a/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian.dtx
@@ -5,7 +5,7 @@
%<*readme>
____________________
The XePersian package
-v25.5
+v25.8
The xepersian package provides a convenient interface for
typesetting Persian and English texts in LaTeX, using XeTeX
@@ -31,11 +31,11 @@ also appear in the Discussions space under the Announcements
category.
-Current version release date: 2024/12/20
+Current version release date: 2025/01/01
___________________________________________
Vafa Khalighi
-Copyright (c) Vafa Khalighi 2008--2024
+Copyright (c) Vafa Khalighi 2008--2025
Copyright (c) bidi-tex GitHub Organization 2018--2020
Distributed under the LaTeX Project Public License
@@ -59,7 +59,7 @@ by Vafa Khalighi.
__________________________________________________
Vafa Khalighi
- Copyright (c) 2008--2024 Vafa Khalighi
+ Copyright (c) 2008--2025 Vafa Khalighi
Copyright (c) 2018--2020 bidi-tex GitHub Organization
It may be distributed and/or modified under the LaTeX Project Public License,
@@ -168,7 +168,7 @@ by Vafa Khalighi.
\documentclass{ltxdoc}
\input{xepersian-doc-preamble.ltx}
\hypersetup{%
- pdftitle={Source documentation for version 25.5 of the XePersian
+ pdftitle={Source documentation for version 25.8 of the XePersian
package}%
}
\EnableCrossrefs
@@ -187,7 +187,7 @@ by Vafa Khalighi.
% \GetFileInfo{\jobname.dtx}
% \title{\textcolor{xepersianblue}{\Huge The \textsf{\XePersian} \textit{Package}}\\
%\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt]
-%\large Source documentation for \textcolor{xepersianblue}{version 25.5}}
+%\large Source documentation for \textcolor{xepersianblue}{version 25.8}}
% \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team for maintaining the package in the period 2018--2020.}}
%\setcounter{page}{0}
%\thispagestyle{empty}
@@ -197,7 +197,7 @@ by Vafa Khalighi.
%\textcolor{xepersianblue}{\Huge The \textsf{\XePersian} \textit{Package}}
%
%\Large
-%Source documentation for \textcolor{xepersianblue}{version 25.5}}
+%Source documentation for \textcolor{xepersianblue}{version 25.8}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -230,7 +230,7 @@ by Vafa Khalighi.
%
%\vskip 0pt plus 3fill
%
-%Copyright (c) 2008--2024 Vafa Khalighi
+%Copyright (c) 2008--2025 Vafa Khalighi
%
%Copyright (c) 2018--2020 bidi-tex GitHub Organization
%
@@ -245,7 +245,7 @@ by Vafa Khalighi.
%\iffalse
%<*table>
%\fi
-%% \CheckSum{10981}
+%% \CheckSum{10999}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -3568,10 +3568,10 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
% \section{File \texttt{xepersian.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\xepersian@version{25.5}
-\def\xepersiandate{2024/12/20}
-\def\xepersian@releasename{Mount Damavand}
-\def\xepersian@persian@@releasename{دماوند}
+\def\xepersian@version{25.8}
+\def\xepersiandate{2025/01/01}
+\def\xepersian@releasename{Mount Alvand}
+\def\xepersian@persian@@releasename{کوه الوند}
\newcommand*{\xepersianreleasename}{\if@RTL\xepersian@persian@@releasename\else\xepersian@releasename\fi}
\ProvidesPackage{xepersian}[\xepersiandate\space v\xepersian@version\space (Release \xepersian@releasename)\space
Persian typesetting in XeLaTeX]
@@ -3736,7 +3736,7 @@ Persian typesetting in XeLaTeX]
* typesetting, using fonts provided in the^^J%
* distribution.^^J%
* ^^J%
-* Copyright (c) 2008--2024 Vafa Khalighi^^J%
+* Copyright (c) 2008--2025 Vafa Khalighi^^J%
* Copyright (c) 2018--2020 bidi-tex GitHub Organization^^J%
* ^^J%
* v\xepersian@version\space (Release \xepersian@releasename), \xepersiandate^^J%
@@ -4572,7 +4572,7 @@ Persian typesetting in XeLaTeX]
\renewcommand*{\@bidi@logo@}{%
\@bidi@logo@hb@xt@columnwidth
{\hss\bfseries
-حروف‌چینی شده با
+حروف‌چینی شده {\today} در {\TypesetTime} با
\textsf{\XePersian}\quad\@bidi@logo{xepersian-logo.pdf}}}
\renewcommand*{\@bidi@pdfcreator}{%
@@ -4581,7 +4581,7 @@ Persian typesetting in XeLaTeX]
\newcommand*{\@xepersian@pdfcustomproperties}{%
This is the xepersian package, Version \xepersian@version\space (Release \xepersian@releasename),
- Released December 20, 2024.
+ Released January 1, 2025.
}
\newcommand\twocolumnstableofcontents{%
@@ -4942,6 +4942,7 @@ number is 999,999,999.}%
\@ifclassloaded{refrep}{\input{refrep-xepersian.def}}{}
\@ifclassloaded{memoir}{\input{memoir-xepersian.def}}{}
\@ifclassloaded{imsproc}{\input{imsproc-xepersian.def}}{}
+\@ifdefinitionfileloaded{extrafootnotefeatures-xetex-bidi}{\input{extrafootnotefeatures-xepersian.def}}{}
\newtoks\xepersian@toks
\def\xepersian@tempa#1{%
@@ -4970,11 +4971,6 @@ number is 999,999,999.}%
\advance\@tempcnta\@ne}%
}
-\if@extrafootnotefeatures
- \input{extrafootnotefeatures-xetex-bidi.def}%
- \input{extrafootnotefeatures-xepersian.def}%
-\fi
-
\bidi@patchcmd{\set@fontsize}{\@tempdimb#2pt}{%
\@tempdimb\xepersian@@fontsize@scale\dimexpr#2pt\relax
}{}{}
@@ -5925,7 +5921,7 @@ indexblock environment may only appear inside frontpage environment.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xepersian-mathdigitspec}
- [2022/05/20 v1.2.0 Unicode Persian math digits in XeLaTeX]
+ [2025/01/01 v1.2.1 Unicode Persian math digits in XeLaTeX]
\def\new@mathgroup{\alloc@8\mathgroup\chardef\@cclvi}
\let\newfam\new@mathgroup
\def\select@group#1#2#3#4{%
@@ -6212,7 +6208,7 @@ indexblock environment may only appear inside frontpage environment.
\fi
\fi
\fi}
-\mathcode`.="8000\relax
+\AtBeginDocument{\mathcode`.="8000\relax}
\def\MathDecimalSeparator{\ifx\persiandecimalseparator\undefined .\else \persiandecimalseparator\fi}
\def\DefaultMathDecimalSeparator{.}
\def\DefaultInlineMathDigits{\def\SetInlineMathDigits{}}
@@ -6435,7 +6431,7 @@ indexblock environment may only appear inside frontpage environment.
% \section{File \texttt{xepersian-persiancal.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{xepersian-persiancal}[2012/07/25 v0.2 provides Persian calendar]
+\ProvidesPackage{xepersian-persiancal}[2025/01/01 v0.3 provides Persian calendar]
\newif\ifXePersian@leap \newif\ifXePersian@kabiseh
\newcount\XePersian@i \newcount\XePersian@y \newcount\XePersian@m \newcount\XePersian@d
@@ -6606,6 +6602,12 @@ indexblock environment may only appear inside frontpage environment.
آبان\or آذر\or
دی\or بهمن\or
اسفند\fi}
+
+\newcommand*{\persianseason}{%
+ \ifcase\persianmonth\or
+ بهار\or بهار\or بهار\or تابستان\or تابستان\or تابستان\or
+ پاییز\or پاییز\or پاییز\or زمستان\or زمستان\or زمستان\fi
+}
% \end{macrocode}
% \iffalse
%</xepersian-persiancal.sty>
diff --git a/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins b/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins
index 6aa2a121b56..278f8699971 100644
--- a/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins
+++ b/Master/texmf-dist/source/xelatex/xepersian/xepersian.ins
@@ -9,7 +9,7 @@
%% __________________________________________________
%% Vafa Khalighi
%%
-%% Copyright (c) 2008--2024 Vafa Khalighi
+%% Copyright (c) 2008--2025 Vafa Khalighi
%% Copyright (c) 2018--2020 bidi-tex GitHub Organization
%%
%% It may be distributed and/or modified under the LaTeX Project Public License,
@@ -28,7 +28,7 @@
__________________________________________________
Vafa Khalighi
- Copyright (c) 2008--2024 Vafa Khalighi
+ Copyright (c) 2008--2025 Vafa Khalighi
Copyright (c) 2018--2020 bidi-tex GitHub Organization
It may be distributed and/or modified under the LaTeX Project Public License,