summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/isonums
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/isonums
Initial commit
Diffstat (limited to 'macros/latex/contrib/isonums')
-rw-r--r--macros/latex/contrib/isonums/isonums.pdfbin0 -> 208294 bytes
-rw-r--r--macros/latex/contrib/isonums/isonums.sty132
-rw-r--r--macros/latex/contrib/isonums/isonums.tex93
3 files changed, 225 insertions, 0 deletions
diff --git a/macros/latex/contrib/isonums/isonums.pdf b/macros/latex/contrib/isonums/isonums.pdf
new file mode 100644
index 0000000000..98b8e7968b
--- /dev/null
+++ b/macros/latex/contrib/isonums/isonums.pdf
Binary files differ
diff --git a/macros/latex/contrib/isonums/isonums.sty b/macros/latex/contrib/isonums/isonums.sty
new file mode 100644
index 0000000000..2bdac07490
--- /dev/null
+++ b/macros/latex/contrib/isonums/isonums.sty
@@ -0,0 +1,132 @@
+%
+% isonums.sty v1.0, based on ziffer.sty v2.2
+%
+% Author:
+%
+% M. V\"ath vaeth()mathematik.uni-wuerzburg.de
+%
+% Adapted to handle English formatted numbers:
+%
+% Luis Rivera jlrn77()gmail.com
+%
+% This package provides the macros
+% \ZifferAn (equivalent with \ZifferPunktAn \ZifferStrichAn )
+% \ZifferAus (equivalent with \ZifferPunktAus\ZifferStrichAus)
+% \ZifferPunktAn
+% \ZifferPunktAus
+% \ZifferStrichAn
+% \ZifferStrichAus
+%
+% If \ZifferAn was used, then in numbers in math-mode the following happens:
+% `.' is used as a `one-thousand separator' as common in Germany
+% `,' is used as a decimal separator as common in Germany
+% `--' generates a -- with better spacing (e.g. in 1.000,-- )
+%
+% You may still use the symbols `.' `,' and `-' in other context in math mode.
+%
+% The first two conversions are switched on by default, the last conversion has
+% to be switched on explicitly (this has been changed in v2.1):
+% You may switch on/off the conversions with
+% \ZifferPunktAn/\ZifferPunktAus (for the first two conversions) respectively
+% \ZifferStrichAn/\ZifferStrichAus (for the last conversion).
+%
+% The reason why the last conversion is not on by default (and why it might be
+% necessary to [temporarily] switch off a conversion) is that certain packages
+% (in particular, newer versions of amsmath) cause problems with it.
+%
+% There were some discussions which should be the correct output of the
+% above conversions (in particular, of `--').
+% If you do not like my choice: You may customize (i.e. redefine) the macros
+% \ZifferLeer and \ZifferStrich
+% after loading the package to produce the `one-thousand separator'
+% respectively the `--'.
+%
+% All above command-names are in German, because I had expected that this
+% package is only needed for German texts. Meanwhile, I learned that also
+% other countries use this strange convention for numbers. However, for
+% downward compatibility, I decided to keep the name conventions anyway
+% (after all, the name of the package is in German anyway).
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% The extension options (euro,anglo) define the input format, so that all numbers
+% in math mode are displayed in ISO-31-0 format, regardless of input format.
+% The commands \EuroZiffer and \AngloZiffer make local changes within the document body.
+% I wrote these extensions as I use the decimal point consistently and I found
+% convenient to make conversions to all numbers simply by adjusting a command line
+% in the whole document.--- Luis.
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{isonums}[2007/12/31 v1.0 Ziffer for automated ISO number format]
+\makeatletter
+\ifx\newcommand\undefined\else
+ \newcommand{\ZifferAn}{}
+ \newcommand{\ZifferAus}{}
+ \newcommand{\ZifferPunktAn}{}
+ \newcommand{\ZifferPunktAus}{}
+ \newcommand{\ZifferStrichAn}{}
+ \newcommand{\ZifferStrichAus}{}
+ \newcommand{\ZifferLeer}{}
+ \newcommand{\ZifferStrich}{}
+\fi
+
+\def\ZifferAn{\ZifferPunktAn\ZifferStrichAn}
+\def\ZifferAus{\ZifferPunktAus\ZifferStrichAus}
+\def\ZifferPunktAn{\mathcode`,="8000\mathcode`.="8000\relax}
+\def\ZifferPunktAus{\mathcode`,="613B\mathcode`.="013A\relax}
+\def\ZifferStrichAn{\mathcode`-="8000\relax}
+\def\ZifferStrichAus{\mathcode`-="2200\relax}
+\def\ZifferLeer{\,}
+\ifx\textrm\undefined
+ \def\ZifferStrich{\hbox{-\kern0.1em-}}
+\else
+ \def\ZifferStrich{\textrm{-\kern0.1em-}}
+\fi
+
+\mathchardef\ziffer@CommaMy="013B
+\mathchardef\ziffer@CommaOri="613B
+\mathchardef\ziffer@DotOri="013A
+\mathchardef\ziffer@MinusOri="2200
+{\ZifferAn
+ \catcode`\,=\active\gdef,{\begingroup\obeyspaces\futurelet\n\ziffer@ccheck}
+ \catcode`\.=\active\gdef.{\begingroup\obeyspaces\futurelet\n\ziffer@dcheck}
+ \catcode`\-=\active\gdef-{\begingroup\obeyspaces\futurelet\n\ziffer@mcheck}}
+\newcommand{\EuroZiffer}{%
+ \def\ziffer@ccheck{\ziffer@check\ziffer@CommaMy\ziffer@CommaOri}%
+ \def\ziffer@dcheck{\ziffer@check\ZifferLeer\ziffer@DotOri}%
+ }
+\DeclareOption{euro}{\EuroZiffer}
+\newcommand{\AngloZiffer}{%
+ \def\ziffer@dcheck{\ziffer@check\ziffer@CommaMy\ziffer@CommaOri}%
+ \def\ziffer@ccheck{\ziffer@check\ZifferLeer\ziffer@CommaOri}%
+ }
+\DeclareOption{anglo}{\AngloZiffer}
+\def\ziffer@mcheck{\ifx\n-\def\n-{\endgroup\ZifferStrich}%
+ \else\def\n{\endgroup\ziffer@MinusOri}\fi\n}
+\def\ziffer@check#1#2{%
+ \ifx\n1\endgroup#1\else
+ \ifx\n2\endgroup#1\else
+ \ifx\n3\endgroup#1\else
+ \ifx\n4\endgroup#1\else
+ \ifx\n5\endgroup#1\else
+ \ifx\n6\endgroup#1\else
+ \ifx\n7\endgroup#1\else
+ \ifx\n8\endgroup#1\else
+ \ifx\n9\endgroup#1\else
+ \ifx\n0\endgroup#1\else
+ \endgroup#2%
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi}
+\ZifferPunktAn
+\makeatother
+\ExecuteOptions{anglo}
+\ProcessOptions
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/isonums/isonums.tex b/macros/latex/contrib/isonums/isonums.tex
new file mode 100644
index 0000000000..717f14dd64
--- /dev/null
+++ b/macros/latex/contrib/isonums/isonums.tex
@@ -0,0 +1,93 @@
+\documentclass[DIV=8, parskip=half, pagesize=auto]{scrartcl}
+
+\usepackage{fixltx2e}
+\usepackage{etex}
+\usepackage{xspace}
+\usepackage{lmodern}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage[utf8]{inputenc}
+\usepackage{microtype}
+\usepackage{hyperref}
+
+\newcommand*{\mail}[1]{\href{mailto:#1}{\texttt{#1}}}
+\newcommand*{\pkg}[1]{\textsf{#1}}
+\newcommand*{\cs}[1]{\texttt{\textbackslash#1}}
+\makeatletter
+\newcommand*{\cmd}[1]{\cs{\expandafter\@gobble\string#1}}
+\makeatother
+\newcommand*{\opt}[1]{\texttt{#1}}
+\newcommand*{\ZifferStrich}{\mbox{\textrm{-\kern0.1em-}}}
+
+\addtokomafont{title}{\rmfamily}
+
+\title{The \pkg{isonums} package\thanks{This manual corresponds to \pkg{isonums}~v1.0, dated~2007/12/31, based on \pkg{ziffer}~v2.2.}}
+\author{M. Väth\\\mail{vaeth@mathematik.uni-wuerzburg.de}}
+\date{2007/12/31}
+
+
+\begin{document}
+
+\maketitle
+
+Adapted to handle English formatted numbers:\\
+Luis Rivera, \mail{jlrn77@gmail.com}
+
+This package provides the macros
+
+\begin{tabular}{@{}l@{}l@{}}
+ \cmd{\ZifferAn} & (equivalent with \verb+\ZifferPunktAn \ZifferStrichAn +) \\
+ \cmd{\ZifferAus} & (equivalent with \verb+\ZifferPunktAus\ZifferStrichAus+) \\
+ \cmd{\ZifferPunktAn} \\
+ \cmd{\ZifferPunktAus} \\
+ \cmd{\ZifferStrichAn} \\
+ \cmd{\ZifferStrichAus}
+\end{tabular}
+
+If \cmd{\ZifferAn} was used, then in numbers in math-mode the following happens:
+
+\begin{tabular}{@{}rl@{}}
+ `\texttt{.}' & is used as a `one-thousand separator' as common in Germany \\
+ `\texttt{,}' & is used as a decimal separator as common in Germany \\
+ `\verb+--+' & generates a \ZifferStrich\ with better spacing (e.\,g.\ in 1.000,\ZifferStrich)
+\end{tabular}
+
+You may still use the symbols `\texttt{.}' `\texttt{,}' and `\texttt{-}' in other context in math mode.
+
+The first two conversions are switched on by default, the last conversion has
+to be switched on explicitly (this has been changed in v2.1):
+You may switch on/off the conversions with
+
+\begin{tabular}{@{}ll@{}}
+ \cmd{\ZifferPunktAn}/\cmd{\ZifferPunktAus} & (for the first two conversions) \\
+ respectively \\
+ \cmd{\ZifferStrichAn}/\cmd{\ZifferStrichAus} & (for the last conversion).
+\end{tabular}
+
+The reason why the last conversion is not on by default (and why it might be
+necessary to [temporarily] switch off a conversion) is that certain packages
+(in particular, newer versions of \pkg{amsmath}) cause problems with it.
+
+There were some discussions which should be the correct output of the
+above conversions (in particular, of `\verb+--+').
+If you do not like my choice: You may customize (i.\,e.\ redefine) the macros
+\cmd{\ZifferLeer} and \cmd{\ZifferStrich}
+after loading the package to produce the `one-thousand separator'
+respectively the~`\ZifferStrich'.
+
+All above command-names are in German, because I had expected that this
+package is only needed for German texts. Meanwhile, I learned that also
+other countries use this strange convention for numbers. However, for
+downward compatibility, I decided to keep the name conventions anyway
+(after all, the name of the package is in German anyway).
+
+\medskip
+
+The extension options (\opt{euro}, \opt{anglo}) define the input format, so that all numbers
+in math mode are displayed in ISO--31--0 format, regardless of input format.
+The commands \cmd{\EuroZiffer} and \cmd{\AngloZiffer} make local changes within the document body.
+I wrote these extensions as I use the decimal point consistently and I found
+convenient to make conversions to all numbers simply by adjusting a command line
+in the whole document.--- Luis.
+
+\end{document}