summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/isopt/latex/isopt.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/isopt/latex/isopt.sty')
-rw-r--r--macros/latex/contrib/isopt/latex/isopt.sty57
1 files changed, 57 insertions, 0 deletions
diff --git a/macros/latex/contrib/isopt/latex/isopt.sty b/macros/latex/contrib/isopt/latex/isopt.sty
new file mode 100644
index 0000000000..019cfbdc2a
--- /dev/null
+++ b/macros/latex/contrib/isopt/latex/isopt.sty
@@ -0,0 +1,57 @@
+%%
+%% IMPORTANT NOTICE:
+%%
+%% This is file `ISOpt.sty',
+%%
+%% Herbert Voss <hvoss@tug.org>
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `ISOpt' offers writing a TeX length in ISO style
+%%
+\NeedsTeXFormat{LaTeX2e}
+\def\ISOpt@fileversion{0.01}
+\def\ISOpt@filedate{2017/10/09}
+\ProvidesPackage{isopt}[2017/10/09 v 0.01 print a TeX length in ISO style]
+\message{`isopt' v\ISOpt@fileversion, \ISOpt@filedate\space (hv)}
+%
+\RequirePackage{xkeyval}
+\let\ISOpt@space\thinspace
+\DeclareOptionX{space}{\def\ISOpt@space{#1}}
+\ProcessOptionsX\relax
+%
+\newcommand*{\ISO}{\@ifnextchar\bgroup\dudenpt@arg\dudenpt@}
+\newcommand*{\dudenpt@arg}[1]{\dudenpt@#1\relax}
+\newcommand*{\dudenpt@}{\begingroup\afterassignment\@dudenpt\dimen@=}
+\newcommand*{\@dudenpt}{\expandafter\endgroup\expandafter\duden@pt\the\dimen@}
+\begingroup
+ \catcode`P=12
+ \catcode`T=12
+ \lowercase{%
+ \def\x{%
+ \def\duden@pt##1.##2PT{%
+ ##1\ifnum##2>\z@.##2\fi
+ \ifcase
+ \ifnum##2>\z@\@ne
+ \else\ifnum##1>9 \@ne
+ \else\ifnum##1<\z@ \@ne
+ \else \z@
+ \fi\fi\fi
+ \ISOpt@space
+ \else
+ \nobreakspace
+ \fi
+ pt%
+ }%
+ }%
+ }%
+\expandafter\endgroup\x
+%
+\newcommand\THE{\ISO\the}
+%
+\endinput
+
+