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/isopt/Changes | 1 + macros/latex/contrib/isopt/README.md | 11 +++++ macros/latex/contrib/isopt/doc/isopt-doc.bib | 9 ++++ macros/latex/contrib/isopt/doc/isopt-doc.pdf | Bin 0 -> 60820 bytes macros/latex/contrib/isopt/doc/isopt-doc.tex | 66 +++++++++++++++++++++++++++ macros/latex/contrib/isopt/latex/isopt.sty | 57 +++++++++++++++++++++++ 6 files changed, 144 insertions(+) create mode 100644 macros/latex/contrib/isopt/Changes create mode 100644 macros/latex/contrib/isopt/README.md create mode 100644 macros/latex/contrib/isopt/doc/isopt-doc.bib create mode 100644 macros/latex/contrib/isopt/doc/isopt-doc.pdf create mode 100644 macros/latex/contrib/isopt/doc/isopt-doc.tex create mode 100644 macros/latex/contrib/isopt/latex/isopt.sty (limited to 'macros/latex/contrib/isopt') 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 Binary files /dev/null and b/macros/latex/contrib/isopt/doc/isopt-doc.pdf 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 +%% +%% 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 + + -- cgit v1.2.3