From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/isonums/isonums.pdf | Bin 0 -> 208294 bytes macros/latex/contrib/isonums/isonums.sty | 132 +++++++++++++++++++++++++++++++ macros/latex/contrib/isonums/isonums.tex | 93 ++++++++++++++++++++++ 3 files changed, 225 insertions(+) create mode 100644 macros/latex/contrib/isonums/isonums.pdf create mode 100644 macros/latex/contrib/isonums/isonums.sty create mode 100644 macros/latex/contrib/isonums/isonums.tex (limited to 'macros/latex/contrib/isonums') diff --git a/macros/latex/contrib/isonums/isonums.pdf b/macros/latex/contrib/isonums/isonums.pdf new file mode 100644 index 0000000000..98b8e7968b Binary files /dev/null and b/macros/latex/contrib/isonums/isonums.pdf 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} -- cgit v1.2.3