summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/isopt
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/isopt
Initial commit
Diffstat (limited to 'macros/latex/contrib/isopt')
-rw-r--r--macros/latex/contrib/isopt/Changes1
-rw-r--r--macros/latex/contrib/isopt/README.md11
-rw-r--r--macros/latex/contrib/isopt/doc/isopt-doc.bib9
-rw-r--r--macros/latex/contrib/isopt/doc/isopt-doc.pdfbin0 -> 60820 bytes
-rw-r--r--macros/latex/contrib/isopt/doc/isopt-doc.tex66
-rw-r--r--macros/latex/contrib/isopt/latex/isopt.sty57
6 files changed, 144 insertions, 0 deletions
diff --git a/macros/latex/contrib/isopt/Changes b/macros/latex/contrib/isopt/Changes
new file mode 100644
index 0000000000..b465017572
--- /dev/null
+++ b/macros/latex/contrib/isopt/Changes
@@ -0,0 +1 @@
+v. 0.01 2017-10-09 - first CTAN version \ No newline at end of file
diff --git a/macros/latex/contrib/isopt/README.md b/macros/latex/contrib/isopt/README.md
new file mode 100644
index 0000000000..0f74096c4b
--- /dev/null
+++ b/macros/latex/contrib/isopt/README.md
@@ -0,0 +1,11 @@
+# README #
+
+Writing a TeX length with \the writes the value and
+the unit without a space. Package isopt provides
+a macro \ISO which inserts a user defined space
+between number and unit.
+
+
+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.
diff --git a/macros/latex/contrib/isopt/doc/isopt-doc.bib b/macros/latex/contrib/isopt/doc/isopt-doc.bib
new file mode 100644
index 0000000000..00e85d5c91
--- /dev/null
+++ b/macros/latex/contrib/isopt/doc/isopt-doc.bib
@@ -0,0 +1,9 @@
+@online{nist,
+url={https://physics.nist.gov/cuu/Units/checklist.html},
+author={{NIST: National Institut of Standards and Technology}},
+organisation= {U.S. Department of Commerce},
+title={SI Unit rules and style conventions},
+subtitle={Check List for Reviewing Manuscripts},
+date={2004-09},
+urldate={2017-10-09},
+}
diff --git a/macros/latex/contrib/isopt/doc/isopt-doc.pdf b/macros/latex/contrib/isopt/doc/isopt-doc.pdf
new file mode 100644
index 0000000000..89b03cc620
--- /dev/null
+++ b/macros/latex/contrib/isopt/doc/isopt-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/isopt/doc/isopt-doc.tex b/macros/latex/contrib/isopt/doc/isopt-doc.tex
new file mode 100644
index 0000000000..d8cb300c8a
--- /dev/null
+++ b/macros/latex/contrib/isopt/doc/isopt-doc.tex
@@ -0,0 +1,66 @@
+\documentclass[paper=a4]{article}
+\usepackage{geometry}
+\usepackage{dejavu-otf}
+\usepackage[space=~]{isopt}
+\makeatletter
+\let\FV\ISOpt@fileversion
+\makeatother
+
+\usepackage{biblatex}
+\addbibresource{\jobname.bib}
+
+\title{Writing a \TeX\ length in ISO style\thanks{Thanks to Heiko Oberdiek}\\[7pt] \normalsize v. \FV}
+\author{Herbert Voß}
+
+\begin{document}
+
+\maketitle
+
+\section{How it works}
+By default \TeX\ writes an internal length in the following way:
+
+\verb|\the\baselineskip|$\rightarrow$\the\baselineskip
+
+There is no space between value and unit. Package \texttt{isopt} provides the macro
+\texttt{\textbackslash ISO} which needs a \TeX\ length as argument and prints
+it with the default \verb|\thinspace|
+
+\verb|\ISO\the\baselineskip|$\rightarrow$\ISO\the\baselineskip
+
+\begin{verbatim}
+\sbox0{Hello World}
+The box is \ISO\wd0\ wide, \ISO\ht0\ high and has a depth of \ISO\dp0.
+\end{verbatim}
+
+\sbox0{Hello World}
+The box is \ISO\wd0\ wide, \ISO\ht0\ high and has a depth of \ISO\dp0.
+
+
+There is also a short form \verb|\THE| which is defined as \verb|\ISO\the|.
+It saves only some keystrokes:
+
+\verb|\THE\tabcolsep|$\rightarrow$\THE\tabcolsep
+
+
+If you prefer the tilde \verb|~| as space between value and unit, then pass
+it as optional argument of the package:
+
+\begin{verbatim}
+\usepackage[space=~]{isopt}
+\end{verbatim}
+
+The predefined space is \verb|\usepackage[space=\thinspace]{isopt}|
+
+\section{Limitations}
+
+The current version does not support a rubber length like \verb|\the\parskip|$\rightarrow$\the\parskip
+
+
+
+
+
+\nocite{*}
+\printbibliography
+
+\end{document}
+
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
+
+