diff options
Diffstat (limited to 'macros/latex')
-rw-r--r-- | macros/latex/contrib/isphysicalmath/README.md | 113 | ||||
-rw-r--r-- | macros/latex/contrib/isphysicalmath/isphysicalmath-doc.pdf | bin | 0 -> 104769 bytes | |||
-rw-r--r-- | macros/latex/contrib/isphysicalmath/isphysicalmath.dtx | 490 | ||||
-rw-r--r-- | macros/latex/contrib/isphysicalmath/isphysicalmath.ins | 66 |
4 files changed, 669 insertions, 0 deletions
diff --git a/macros/latex/contrib/isphysicalmath/README.md b/macros/latex/contrib/isphysicalmath/README.md new file mode 100644 index 0000000000..af03bf862f --- /dev/null +++ b/macros/latex/contrib/isphysicalmath/README.md @@ -0,0 +1,113 @@ +--- +isphysicalmath package + +Author: Mario Fantini, <marfant7@gmail.com> + +License: LaTeX Project Public License lppl + +Copyright (c) 2023 Mario Fantini +--- + + +# Overview + +LaTeX is a powerful language, but to take advantage of it, to respect its quality +and to observe the discipline of matters that it interacts with: it requires some devices. + +If you are interested in the form of math and physics, here comes `isphysicalmath` inside LaTeX; +as far as international scientific notation and formatting of formulas, quantities, +numerical values, factors, dimensions, measurement units. + +So, `isphysicalmath` package helps user to write mathematical and physical contents, + according to the scientific notation (international mainly), in an elegant way. + + +# Dependencies + +`isphysicalmath` has not dependencies. + +Internally, it uses standard commands like: \textnormal, \hspace{}; however, +it performs its activity in complex math environment too. + + +# Documentation + +The documentation is `isphysicalmath-doc.pdf` mainly. It contains: + +- General Index + +- Introduction + +- Conventions + +- Dependencies + +- Usage + +- In-depth usage + + - In-depth formatting + + - In-depth notation + + - option 'dc' + + - option 'comma' + +- isphysicalmath url + +- Copyright + +- Change History + + +# Build isphysicalmath.sty +``` +cd isphysicalmath +latex isphysicalmath.ins +``` + +# Build the documentation + +``` +cd isphysicalmath +latex isphysicalmath.dtx +makeindex -s gglo.ist -o isphysicalmath.gls isphysicalmath.glo +latex isphysicalmath.dtx +dvipdf isphysicalmath.dvi +``` + +# Credits + +Thanks to all TeX/LaTeX contributors, in particular to Scott Pakin +for his packaging tutorial, and to CTAN team for its tutoring, tools +and services. + + +# URL + +Package home URL: https://github.com/MartDiVenus/LaTeX/tree/isphysicalmath + + +# License + +Copyright (C) 2023 by Mario Fantini <marfant7@gmail.com> + +This file may be distributed and/or modified under the conditions of +the LaTeX Project Public License, either version 1.3 of this license +or (at your option) any later version. The latest version of this +license is in: + + 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 Mario Fantini. + +This work consists of the files isphysicalmath.dtx and isphysicalmath.ins +and the derived file isphysicalmath.sty. + + diff --git a/macros/latex/contrib/isphysicalmath/isphysicalmath-doc.pdf b/macros/latex/contrib/isphysicalmath/isphysicalmath-doc.pdf Binary files differnew file mode 100644 index 0000000000..d69e59aec5 --- /dev/null +++ b/macros/latex/contrib/isphysicalmath/isphysicalmath-doc.pdf diff --git a/macros/latex/contrib/isphysicalmath/isphysicalmath.dtx b/macros/latex/contrib/isphysicalmath/isphysicalmath.dtx new file mode 100644 index 0000000000..a95d88e661 --- /dev/null +++ b/macros/latex/contrib/isphysicalmath/isphysicalmath.dtx @@ -0,0 +1,490 @@ +% \iffalse meta-comment +% +% Copyright (C) 2023 by Mario Fantini <marfant7@gmail.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 this license is in: +% +% http://www.latex-project.org/lppl.txt +% +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status 'maintained'. +% +% The Current Maintainer of this work is Mario Fantini. +% +% This work consists of the files isphysicalmath.dtx and isphysicalmath.ins +% and the derived file isphysicalmath.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{isphysicalmath.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01] +%<package>\ProvidesPackage{isphysicalmath} +%<*package> +[2023/09/18 v1.0.0 .dtx isphysicalmath file] +%</package> +%<package>% option [dc]: changes dots in commas. +%<package>\DeclareOption{dc}{ +%<package>\def\ispmdc#1.#2{{#1,#2}} +%<package>} +%<package>% option [comma]: scientific international notation for thousands. +%<package>\DeclareOption{comma}{ +%<package> \def\ispmnovem#1#2#3#4#5#6#7#8#9{#1#2#3,#4#5#6,#7#8#9} +%<package> \def\ispmocto#1#2#3#4#5#6#7#8{#1#2,#3#4#5,#6#7#8} +%<package> \def\ispmseptem#1#2#3#4#5#6#7{#1,#2#3#4,#5#6#7} +%<package> \def\ispmsex#1#2#3#4#5#6{#1#2#3,#4#5#6} +%<package> \def\ispmquinque#1#2#3#4#5{#1#2,#3#4#5} +%<package> \def\ispmquattuor#1#2#3#4{#1,#2#3#4} +%<package>} +%<package>\ExecuteOptions{dc} +%<package>\ExecuteOptions{comma} +%<package>\ProcessOptions\relax +%<package>% space between value and measurement unit +%<package>\newcommand{\ispms}{\hspace{0.5mm}} +%<package>% normal text rendering for first measurement unit +%<package>\newcommand{\ispmntone}[1]{\textnormal{#1}} +%<package>% jolly: the default setting is --- 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]{\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>% normal text rendering for third measurement unit +%<package>\newcommand{\ispmntr}[1]{\textnormal{#1}} +%<package>% ispm if you have three measurement units +%<package>% e.g. $V = 8 \ispmtwo{m}{m}\ispmthird{m}$ +%<package>\newcommand{\ispmthird}[1]{\ispmss\ispmntr{#1}} +%<*driver> +\documentclass{ltxdoc} +\usepackage{isphysicalmath}[2023/09/18] +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{lmodern} +\usepackage{hyperref} +\usepackage{amssymb} +\usepackage{makeidx} +\makeindex +\def\indice{% +\renewcommand*\contentsname{General index}% +\tableofcontents% +\clearpage} + +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{isphysicalmath.dtx} + \PrintChanges +\end{document} +%</driver> +% \fi +% +% \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{v1.0.0}{2023/09/18}{Initial 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}} +% +%\maketitle +% +%\begin{abstract} +%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. +%\end{abstract} +%\section{Introduction} +% +%\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 +%requires some devices. +% +%If you are interested in math and physics, here comes \textsl{isphysicalmath} inside \LaTeX{} +%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} +% +%\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. +% +%\section{Dependencies} +% \textsl{isphysicalmath} has not dependencies. +% +%Internally, it uses standard \LaTeX{} built-in commands like: \texttt{\textbackslash textnormal}, +%\texttt{\textbackslash hspace\{\}}; +% however, it performs its activity in complex math environment too. +%\newpage +%\section{Usage} +% +%\DescribeMacro{\ispm} +% +%\textit{hp.} It is a jolly command. The default setting substitutes the famous +% \LaTeX{} built-in command \texttt{\textbackslash textnormal}, in other words +% \texttt{\textbackslash textnormal} is the value of \texttt{\textbackslash ispm} +% 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} \\ \\ +% +%\DescribeMacro{\ispmone} +% +%\textit{hp.} You have only a measurement unit. \\ +%\textit{th.} Horizontal space between measurement unit +%and numerical value, +%and normal text rendering for the measurement unit.\\ +%|\ispmone|\marg{measurement unit in place of argument} \\ \\ +% \DescribeMacro{\ispmtwo} +% +%\textit{hp.} You have two measurement units. \\ +%\textit{th.} Horizontal space between the first measurement unit +%and numerical value, horizontal space between the first measurement unit +%and second measurement unit; normal text rendering for both measurement units.\\ +%|\ispmtwo|\marg{the first measurement unit in place of the I argument}\marg{second +%measurement unit in place of II argument} \\ \\ +%\DescribeMacro{\ispmthird} +% +%\textit{hp.} You have three measurement units. \\ +%\textit{th.} Horizontal space between the first measurement unit +%and numerical value, horizontal space between the first +%measurement unit and the second %measurement unit, horizontal space between +%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}% +%|\ispmthird|\marg{third measurement unit in place of III argument} \\ +% 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)} +%|\ispmthird|\marg{third measurement unit in place of III argument} \\ \\ +% +%\begin{environment}{dc} +% option \textit{dc} \\ +%\textbackslash usepackage\oarg{dc}\{isphysicalmath\} \\ +% +%$\forall x,y, \ldots \in \mathbb{N}$:\\ +%|\ispmdc| \meta{x.y} \\ +%\end{environment} +% +%\begin{environment}{comma} +% option \textit{comma} \\ +%\textbackslash usepackage\oarg{comma}\{isphysicalmath\} \\ +% +%$\forall a,b,c,d,e,f,g,h,i \in \mathbb{N}$: \\ +%|\ispmnovem| \meta{abcdefghi} \\ +%|\ispmocto| \meta{abcdefgh} \\ +%|\ispmseptem| \meta{abcdefg} \\ +%|\ispmsex| \meta{abcdef} \\ +%|\ispmquinque| \meta{abcde} \\ +%|\ispmquattuor| \meta{abcd} \\ +%\end{environment} +%\newpage +% \section{In-depth usage} +%\subsection{In-depth formatting} +%\label{subsec:inDepthFormatting} +% \textsl{isphysicalmath} automatical settings: +% \begin{itemize} +% \item 0.5\ispmone{mm} between numerical value and first +% measurement unit, <<first>> if there are others. +% \item 0.15\ispmone{mm} between two or three +% measurement units, or between measurement units and their factors. +% \item Normal text for measurement unit. +% \end{itemize} +% +%\begin{description} +% \item [Without \textsl{isphysicalmath}] ~\ \\ +% \begin{itemize} +% \item Without mathematical environment: +% \begin{center} +% F = 1 N +% \end{center} +%I don't like this style, and it has not a logical meaning. +% \item By mathematical environment: +% +%\[F = 1 N\] +% +%I don't like this style, and it has not a logical meaning. +% +%The code: +%\begin{verbatim} +%\[ F = 1 N \] +%\end{verbatim} +%\end{itemize} +% +% +%\item [By \textsl{isphysicalmath}] ~\ \\ +% \begin{itemize} +% \item With one measurement unit. +% +% \[F = 1 \ispmone{N}\] +% +% The code: +%\begin{center} +%\begin{verbatim} +%\[ +%F = 1 \ispmone{N} +%\] +%\end{verbatim} +%\end{center} +% +%\item With two measurement units (a). +% +% \[L = 1 \ispmtwo{N}{m}\] +% +%The code: +%\begin{center} +%\begin{verbatim} +%\[ +% L = 1 \ispmtwo{N}{m} +%\] +%\end{verbatim} +%\end{center} +% +%\item With two measurement units and a factor for the last unit. +%\[L = 1 \ispmtwo{N}{mm}\ispmthird{(10$^{-3}$)}\] +% +%The code: +%\begin{center} +%\begin{verbatim} +%\[ +% L = 1 \ispmtwo{N}{mm}\ispmthird{(10$^{-3}$)} +%\] +%\end{verbatim} +%\end{center} +% +%\item With three measurement units. +% +% \[V = 8 \ispmtwo{m}{m}\ispmthird{m}\] +% +%The code: +%\begin{center} +%\begin{verbatim} +%\[ +%V = 8 \ispmtwo{m}{m}\ispmthird{m} +%\] +%\end{verbatim} +%\end{center} +% +%\item With a declared additional inner \texttt{\textbackslash textnormal}, with inner +% \texttt{\textbackslash tiny} environment, +% and with inner mathematical environment (a). +% \[ +% m = \gamma V = 1 \frac{\ispmone{kg}} +% {\ispmone{m$^{\textnormal{\tiny 3}}$}} +% \ispmthird{m$^3$} +%\] +% +%The code: +%\begin{center} +%\begin{verbatim} +%\[ +%m = \gamma V = 1 \frac{\ispmone{kg}} +%{\ispmone{m$^{\textnormal{\tiny 3}}$}}\ispmthird{m$^3$} +%\] +%\end{verbatim} +%\end{center} +% +%\item With inner mathematical environment (b). +% \[ +% m = \gamma V = 1 \frac{\ispmone{kg}} +% {\ispmone{m$^3$}}\ispmthird{m$^3$} +% \] +%The code: +%\begin{center} +%\begin{verbatim} +%\[ +%m = \gamma V = 1 \frac{\ispmone{kg}} +%{\ispmone{m$^3$}}\ispmthird{m$^3$} +%\] +%\end{verbatim} +%\end{center} +% +%\item With inner mathematical environment (c) and +% \texttt{\textbackslash large}, \texttt{\textbackslash normalsize} environments. +%\[ +% m = \gamma V = 1 \textnormal{\large$\frac{\ispmone{kg}} +% {\ispmone{m$^3$}}$}\textnormal{\normalsize\ispmthird{m$^3$}} +%\] +%The code: +%\begin{center} +%\begin{verbatim} +%\[ +%m = \gamma V = 1 \large\frac{\ispmone{kg}} +%{\ispmone{m$^3$}}\normalsize\ispmthird{m$^3$} +%\] +%\end{verbatim} +%\end{center} +% +%\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 +%\LaTeX{} power and \textsl{isphysicalmath}. +% +% \[u = 7 \ispmtwo{$\alpha$m}{$\beta$m$^2$} +% \ispmthird{$\delta$s} +% \] +%The code: +%\begin{center} +%\begin{verbatim} +%\[ +%u = 7 \ispmtwo{$\alpha$m}{$\beta$m$^2$} +% \ispmthird{$\delta$s} +%\] +%\end{verbatim} +%\end{center} +% +%\item About physical quantities dimensions. +% +%e.g. +%\[ +%F = m a = \ispmtwo{[M]}{[L]}\ispmthird{[T$^{-2}$]} +%\] +%The code: +%\begin{center} +%\begin{verbatim} +%F = m a = \ispmtwo{[M]}{[L]}\ispmthird{[T$^{-2}$]} +%\end{verbatim} +%\end{center} +%\end{itemize} +%\end{description} +% +%\newpage +%\subsection{In-depth notation} +% +%Option \textsl{dc} and option \textsl{comma} are compatible, +%you can use both in the same document; e.g.: \\ +%\texttt{\textbackslash usepackage[comma, dc]\{isphysicalmath\}} \\ +%\begin{center} +% 1,234 \\ +% 1,234,567 +%\end{center} +%The code: +%\begin{verbatim} +%\ispmdc 1.234 \\ +%\ispmseptem 1234567 +%\end{verbatim} +% +%\subsubsection{option <dc>} +% +%\textsl{Usage}: \texttt{\textbackslash usepackage[dc]\{isphysicalmath\}} \\ +% +%The code of this option is not mine, it already exists in \LaTeX{} literature, +% I discovered it in \tiny\url{https://en.wikibooks.org/wiki/LaTeX}\normalsize. \\ +% +%This option changes dots in commas. It is useful for some users who don't +%use scientific international notation. It is convenient for users who +%respect scientific international notation, so they change dots +%in commas to select thousands and not to separate the unit from +%negative numbers. \\ +% +%e.g. +%\begin{center} +% 1.234 becomes 1,234 +%\end{center} +%The code: +%\begin{center} +%\begin{verbatim} +%\ispmdc 1.234 +%\end{verbatim} +%\end{center} +% +%\subsubsection{option <comma>} +% +%\textsl{Usage}: \texttt{\textbackslash +%\{usepackage\}[comma]\{isphysicalmath\}} \\ +% +%It adds comma after every three digits, according to international +%scientific notation. +% +%For this task there are six ispm commands, in the next \textsl{isphysicalmath} +%version I'll automate this goal introducing one single ispm command. \\ +%\begin{center} +% 100,000,000 \\ +% 10,000,000 \\ +% 1,000,000 \\ +% 100,000 \\ +% 10,000 \\ +% 1,000 +%\end{center} +% +%The code: +%\begin{center} +%\begin{verbatim} +%\ispmnovem 100000000 \\ +%\ispmocto 10000000 \\ +%\ispmseptem 1000000 \\ +%\ispmsex 100000 \\ +%\ispmquinque 10000 \\ +%\ispmquattuor 1000 +%\end{verbatim} +%\end{center} +%\newpage +% +%\section{isphysicalmath url}% +%Package home URL: \tiny \url{https://github.com/MartDiVenus/LaTeX/tree/isphysicalmath} \normalsize% +% +%\section{Copyright} +% +%Copyright (C) 2023 by Mario Fantini <marfant7@gmail.com> +% +%This file may be distributed and/or modified under the conditions of +%the \LaTeX\ Project Public License, either version 1.3 of this license +%or (at your option) any later version. The latest version of this +%license is in: \\ +%\url{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 Mario Fantini. +% +% This work consists of the files isphysicalmath.dtx and isphysicalmath.ins +% and the derived file isphysicalmath.sty. +% \Finale +\endinput diff --git a/macros/latex/contrib/isphysicalmath/isphysicalmath.ins b/macros/latex/contrib/isphysicalmath/isphysicalmath.ins new file mode 100644 index 0000000000..c4b638a7b3 --- /dev/null +++ b/macros/latex/contrib/isphysicalmath/isphysicalmath.ins @@ -0,0 +1,66 @@ +%% +%% Copyright (C) 2023 by Mario Fantini <marfant7@gmail.com> +%% +%% This file may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.3 of this license +%% or (at your option) any later version. The latest version of this +%% license is in: +%% +%% 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 Mario Fantini. +%% +%% This work consists of the files isphysicalmath.dtx and isphysicalmath.ins +%% and the derived file isphysicalmath.sty. +%% + +\input docstrip.tex +\keepsilent + +\usedir{tex/latex/isphysicalmath} + +\preamble + +This is a generated file. + +Copyright (C) 2023 by Mario Fantini <marfant7@gmail.com> + +This file may be distributed and/or modified under the conditions of +the LaTeX Project Public License, either version 1.3 of this license +or (at your option) any later version. The latest version of this +license is in: + + 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. + +\endpreamble + +\generate{\file{isphysicalmath.sty}{\from{isphysicalmath.dtx}{package}}} + +\obeyspaces +\Msg{*************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* isphysicalmath.sty *} +\Msg{* *} +\Msg{* To produce the documentation run the file *} +\Msg{* isphysicalmath.dtx *} +\Msg{* through LaTeX. *} +\Msg{* *} +\Msg{* Thanks to all TeX/LaTeX contributors, in particular to *} +\Msg{* Scott Pakin for his packaging tutorial, and to CTAN team *} +\Msg{* for its tutoring, tools and services. *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile |