texlive[53574] Master: physunits (27jan20)

commits+karl at tug.org commits+karl at tug.org
Mon Jan 27 22:56:06 CET 2020


Revision: 53574
          http://tug.org/svn/texlive?view=revision&revision=53574
Author:   karl
Date:     2020-01-27 22:56:05 +0100 (Mon, 27 Jan 2020)
Log Message:
-----------
physunits (27jan20)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/physunits/
    trunk/Master/texmf-dist/doc/latex/physunits/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/physunits/README.md
    trunk/Master/texmf-dist/doc/latex/physunits/makefile
    trunk/Master/texmf-dist/doc/latex/physunits/physunits.pdf
    trunk/Master/texmf-dist/source/latex/physunits/
    trunk/Master/texmf-dist/source/latex/physunits/physunits.dtx
    trunk/Master/texmf-dist/source/latex/physunits/physunits.ins
    trunk/Master/texmf-dist/tex/latex/physunits/
    trunk/Master/texmf-dist/tex/latex/physunits/physunits.sty
    trunk/Master/tlpkg/tlpsrc/physunits.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/physunits/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/physunits/CHANGELOG.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/physunits/CHANGELOG.md	2020-01-27 21:56:05 UTC (rev 53574)
@@ -0,0 +1,39 @@
+# Changes
+## [1.0.0] - 2020/01/22
+- Initial version
+## [1.0.1] - 2020/01/25
+### Added
+- A changelog
+- A readme
+- Code for changelog into physconst.cpp
+- `make dist` to create distributable tarball and zip
+- line in .ins to force generation of the .sty
+- nicer index entries (and some associated code in .cpp to generate them)
+- added localuninstall and distuninstall targets to the makefile
+### Changed
+- Modified the makefile to split up generation of the .sty, and .pdf
+- Added a newline in the middle of the title declaration (in .cpp)
+- Added a newline in the middle of the \DoNotIndex declaration (in .cpp)
+- fixed makefile install options to correctly find TEXMF path
+## [1.0.2] - 2020/01/25
+### Changed
+- Switch compression of tarball to gzip to match requirement for CTAN
+## [1.0.3] - 2020/01/26
+### Added
+- uninstall instructions in README.md
+- installcheck in makefile
+- force makefile to be run serial
+### Changed
+- Switch tarball/zip to include .dtx instead of .sty per CTAN requirement
+- Clean up installation instructions in README.md
+- Made some changes in the makefile to take better advantage of make
+## [1.0.3a] - 2020/01/26
+### Added
+- Created a separate readme for the distribution
+- Created a separate makefile for the distribution
+### Changed
+- modify the makefile to include .ins in the package files
+- modify the makefile to include the new distrubution readme and makefile
+- give instructions on using makefile for distribution
+- Did a little more reformatting in the README.
+


Property changes on: trunk/Master/texmf-dist/doc/latex/physunits/CHANGELOG.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/physunits/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/physunits/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/physunits/README.md	2020-01-27 21:56:05 UTC (rev 53574)
@@ -0,0 +1,81 @@
+# physunits
+A LaTeX package that includes macros for SI, cgs, and some imperial units.
+
+# License
+Copyright (C) 2020 by Brian W. Mulligan <bwmulligan at astronaos.com>
+-----------------------------------------------------------
+
+This file may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.3c of this license
+or (at your option) any later version. The latest version of this
+license is in:
+
+http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of LaTeX
+version 2006/05/20 or later.
+
+# Dependencies
+None.
+
+# Build Dependencies
+- some LaTeX distribution.
+- `hyperref` package for LaTeX
+
+# Files
+```
+    makefile                GNU makefile to simplify building and installation on linux
+    README.md               This file.
+    CHANGELOG.md            List of changes
+    physunits.ins           The installer file
+    physunits.dtx           The package code and documentation
+    physunits.pdf           The package user manual
+```
+
+# Building the Package
+## Linux / Mac using make and xelatex
+1. `make`
+
+## Otherwise
+1. Run `latex` on `physunits.ins` to create the `.sty` file. e.g. `latex physunits.ins`.
+1. The following steps apply only if you want the documentation (recommended).
+  1. Run `latex` on `physunits.dtx` to create the `.pdf` file. e.g. `xelatex physunits.pdf`.
+  1. Run `makeindex` to create the index, e.g. `makeindex -s gind.ist -o physunits.ind physunits.idx`.
+  1. Run `makeindex` to create the change log, e.g. `makeindex -s gglo.ist -o physunits.gls physunits.glo`.
+  1. Run `latex` on `physunits.dtx` to create the `.pdf` file with index and change log. e.g. `xelatex physunits.pdf`.
+  1. Run `latex` on `physunits.dtx` to get the labels sorted out. e.g. `xelatex physunits.pdf`.
+
+Instructions that might help can be for windows can be found at [this post on StackExchange](https://tex.stackexchange.com/questions/369921/loading-packages-with-ins-and-dtx-files).
+
+# Installation
+First build the project as described above.
+
+## For a single project
+1. Copy the `physunits.sty` into your project where your `.tex` files are located.
+
+## for all users and projects
+### Linux / Mac using make and xelatex
+1. `make localinstall`
+
+### Otherwise
+Instructions that might help can be for windows can be found at [this post on StackExchange](https://tex.stackexchange.com/questions/369921/loading-packages-with-ins-and-dtx-files).
+1. Figure out where your LaTeX local packages are installed.
+1. Create a directory named `physunits` in that location.
+1. Copy the `.sty` file into the directory you just created.
+1. Figure out where your LaTeX local package documentation is installed.
+1. Create a directory named `physunits` in that location.
+1. Copy the `.pdf` file into the directory you just created.
+1. Run `texhash` or the equivalent to let LaTeX know the package is there.
+
+
+# Uninstallation
+
+### Linux / Mac using make
+1. `make localuninstall`
+### Otherwise
+1. Figure out where your LaTeX local packages are installed.
+1. Delete the directory named `physunits` in that location.
+1. Figure out where your LaTeX local package documentation is installed.
+1. Delete the directory named `physunits` in that location.
+1. Run `texhash` or the equivalent to let LaTeX know the package is gone.
+


Property changes on: trunk/Master/texmf-dist/doc/latex/physunits/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/physunits/makefile
===================================================================
--- trunk/Master/texmf-dist/doc/latex/physunits/makefile	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/physunits/makefile	2020-01-27 21:56:05 UTC (rev 53574)
@@ -0,0 +1,122 @@
+pkgname=$(patsubst %.ins,%,$(wildcard *.ins))
+TEXMFLOCAL = $(shell kpsewhich -var-value TEXMFLOCAL)
+TEXMFDIST = $(shell kpsewhich -var-value TEXMFDIST)
+
+.PHONY: all clean localinstall localuninstall localinstallcheck distinstall distuninstall distinstallcheck installcheck
+
+all: $(pkgname).pdf
+
+.PRECIOUS: %.sty %.dtx %.pdf
+.DELETE_ON_ERROR:
+.NOTPARALLEL:
+
+%.sty: %.dtx %.ins
+	latex $(pkgname).ins
+	
+%.pdf: %.sty
+	xelatex $(pkgname).dtx
+	makeindex -s gind.ist -o $(pkgname).ind $(pkgname).idx
+	makeindex -s gglo.ist -o $(pkgname).gls $(pkgname).glo
+	xelatex $(pkgname).dtx
+	xelatex $(pkgname).dtx
+
+clean:
+	-rm *.pdf
+	-rm *.log
+	-rm *.out
+	-rm *.aux
+	-rm *.bib
+	-rm *.snm
+	-rm *.toc
+	-rm *.nav
+	-rm *.idx
+	-rm *.sty
+	-rm *.gls
+	-rm *.ilg
+	-rm *.ind
+	-rm *.glo
+	-rm $(pkgname).zip
+	-rm $(pkgname).tar
+	-rm $(pkgname).tar.gz
+	-rm -r $(pkgname)
+	-rm -r tmptar
+	-rm -r tmpzip
+
+$(TEXMFLOCAL)/tex/latex/$(pkgname):
+	mkdir -p $(TEXMFLOCAL)/tex/latex/$(pkgname)
+
+$(TEXMFLOCAL)/doc/latex/$(pkgname):
+	mkdir -p $(TEXMFLOCAL)/doc/latex/$(pkgname)
+
+$(TEXMFLOCAL)/tex/latex/$(pkgname)/$(pkgname).sty: $(pkgname).sty $(TEXMFLOCAL)/tex/latex/$(pkgname)
+	cp $(pkgname).sty $(TEXMFLOCAL)/tex/latex/$(pkgname)/.
+
+$(TEXMFLOCAL)/doc/latex/$(pkgname)/$(pkgname).pdf: $(pkgname).pdf $(TEXMFLOCAL)/doc/latex/$(pkgname)
+	cp $(pkgname).pdf $(TEXMFLOCAL)/doc/latex/$(pkgname)/.
+
+localinstall: $(pkgname).pdf $(pkgname).sty $(TEXMFLOCAL)/tex/latex/$(pkgname) $(TEXMFLOCAL)/doc/latex/$(pkgname) $(TEXMFLOCAL)/tex/latex/$(pkgname)/$(pkgname).sty $(TEXMFLOCAL)/doc/latex/$(pkgname)/$(pkgname).pdf
+	@echo Installing to $(TEXMFLOCAL)/tex/latex/$(pkgname)
+	texhash
+	make localinstallcheck
+
+localuninstall: 
+	@echo Removing from $(TEXMFLOCAL)/tex/latex/$(pkgname)
+	-rm -r $(TEXMFLOCAL)/tex/latex/$(pkgname)
+	-rm -r $(TEXMFLOCAL)/doc/latex/$(pkgname)
+	texhash
+
+
+$(TEXMFDIST)/tex/latex/$(pkgname):
+	mkdir -p $(TEXMFDIST)/tex/latex/$(pkgname)
+
+$(TEXMFDIST)/doc/latex/$(pkgname):
+	mkdir -p $(TEXMFDIST)/doc/latex/$(pkgname)
+
+$(TEXMFDIST)/tex/latex/$(pkgname)/$(pkgname).sty: $(pkgname).sty $(TEXMFDIST)/tex/latex/$(pkgname)
+	cp $(pkgname).sty $(TEXMFDIST)/tex/latex/$(pkgname)/.
+
+$(TEXMFDIST)/doc/latex/$(pkgname)/$(pkgname).pdf: $(pkgname).pdf $(TEXMFDIST)/doc/latex/$(pkgname)
+	cp $(pkgname).pdf $(TEXMFDIST)/doc/latex/$(pkgname)/.
+
+distinstall: $(pkgname).pdf $(pkgname).sty $(TEXMFDIST)/tex/latex/$(pkgname) $(TEXMFDIST)/doc/latex/$(pkgname) $(TEXMFDIST)/tex/latex/$(pkgname)/$(pkgname).sty $(TEXMFDIST)/doc/latex/$(pkgname)/$(pkgname).pdf
+	@echo Installing to $(TEXMFDIST)/tex/latex/$(pkgname)
+	texhash
+	make distinstallcheck
+
+distuninstall: 
+	@echo Removing from $(TEXMFDIST)/tex/latex/$(pkgname)
+	-rm -r $(TEXMFDIST)/tex/latex/$(pkgname)
+	-rm -r $(TEXMFDIST)/doc/latex/$(pkgname)
+	texhash
+
+#######################################################
+# checks - will be called recursively
+#######################################################
+
+localinstallcheck:
+ifeq (0,$(shell test -d $(TEXMFLOCAL)/tex/latex/$(pkgname); echo $$?))
+	@echo $(pkgname) installed as local: $(TEXMFLOCAL)/tex/latex/$(pkgname)
+else
+	$(error $(pkgname) is not installed as local)
+endif
+
+distinstallcheck:
+ifeq (0,$(shell test -d $(TEXMFDIST)/tex/latex/$(pkgname); echo $$?))
+	@echo $(pkgname) installed as dist: $(TEXMFDIST)/tex/latex/$(pkgname)
+else
+	$(error $(pkgname) is not installed as dist)
+endif
+
+installcheck: 
+ifeq (0,$(shell test -d $(TEXMFDIST)/tex/latex/$(pkgname); echo $$?))
+	@echo $(pkgname) installed as dist: $(TEXMFDIST)/tex/latex/$(pkgname)
+else
+ifeq (0,$(shell test -d $(TEXMFLOCAL)/tex/latex/$(pkgname); echo $$?))
+	@echo $(pkgname) installed as local: $(TEXMFLOCAL)/tex/latex/$(pkgname)
+else
+	$(error $(pkgname) is not installed)
+endif
+endif
+
+
+


Property changes on: trunk/Master/texmf-dist/doc/latex/physunits/makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/physunits/physunits.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/physunits/physunits.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/physunits/physunits.pdf	2020-01-27 21:55:28 UTC (rev 53573)
+++ trunk/Master/texmf-dist/doc/latex/physunits/physunits.pdf	2020-01-27 21:56:05 UTC (rev 53574)

Property changes on: trunk/Master/texmf-dist/doc/latex/physunits/physunits.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/physunits/physunits.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/physunits/physunits.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/physunits/physunits.dtx	2020-01-27 21:56:05 UTC (rev 53574)
@@ -0,0 +1,1882 @@
+%	\iffalse meta-comment
+%
+%	Copyright (C) 2020 by Brian W. Mulligan <bwmulligan at astronaos.com>
+% -----------------------------------------------------------
+%
+% This file may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, either version 1.3c of this license
+% or (at your option) any later version. The latest version of this
+% license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2006/05/20 or later.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{physunits.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+%<package> \ProvidesPackage{physunits}
+%<*package>
+    [2020/01/26 v1.0.3 Physical units package]
+%</package>
+%<package>\ProcessOptions\relax
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{physunits}
+\usepackage[backref]{hyperref}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+%\OnlyDescription
+\begin{document}
+\DocInput{physunits.dtx}
+\PrintChanges
+\PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{486}
+%
+% \CharacterTable
+%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%   Digits        \0\1\2\3\4\5\6\7\8\9
+%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%   Dollar        \$     Percent       \%     Ampersand     \&
+%   Acute accent  \'     Left paren    \(     Right paren   \)
+%   Asterisk      \*     Plus          \+     Comma         \,
+%   Minus         \-     Point         \.     Solidus       \/
+%   Colon         \:     Semicolon     \;     Less than     \<
+%   Equals        \=     Greater than  \>     Question mark \?
+%   Commercial at \@     Left bracket  \[     Backslash     \\
+%   Right bracket \]     Circumflex    \^     Underscore    \_
+%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%   Right brace   \}     Tilde         \~}
+%
+% \changes{v1.0}{2020/01/23}{Initial version}
+% \changes{v1.0.1}{2020/01/25}{Clean up formatting, fix index}
+% \changes{v1.0.2}{2020/01/25}{External changes in makefile}
+% \changes{v1.0.3}{2020/01/26}{External changes in makefile}
+%
+% \GetFileInfo{physunits.dtx}
+% \DeclareRobustCommand{\fileversion}{v1.0}
+% \DeclareRobustCommand{\filedate}{2020/01/26}
+%
+% \DoNotIndex{\DeclareRobustCommand,\newenvironment,\DeclareRobustCommand,
+%  \left,\right,\textbf,\mathrm,\ensuremath,\units at separator,\expandafter,\,}
+%
+% \title{The \textsf{physunits} package\thanks{This document corresponds to%
+%  \textsf{physunits}~\fileversion, dated \filedate.}}
+% \author{Brian W. Mulligan \\ \texttt{bwmulligan at astronaos.com}}
+%
+% \maketitle
+% \setlength{\parindent}{0em}
+% \setlength{\parskip}{1em}
+%
+% \section{Introduction}
+%
+%
+% This package consists of several macros that are shorthand for a variety of
+% physical units that are commonly used in introductory level physics and 
+% astronomy classes. 
+%
+% \section{Naming Convention}
+%
+% most macros consist of just the commonly used letter or unit, e.g. 
+% \textbackslash m for 
+% meters. In cases where the simple form of the unit conflicts with an existing
+% \LaTeX~macro, then the full word is used, starting with a upper-case letter,
+% e.g. \textbackslash Coulomb.
+%
+% One notable exception to the above naming convention is the use of 
+% \textbackslash gm for
+% grams, instead of \textbackslash g or \textbackslash Gram.
+%
+% \section{Base and Prefixes}
+%
+% Most units are in the base unit only, but some very commonly used prefixes
+% are available as part of the macro, e.g. \textbackslash kg for kilogram, 
+% \textbackslash cm for centimeter.
+% For base units, each macro accepts one option that can be used to specify
+% the prefix, for example \textbackslash m[n] will result in nm. The macros 
+% enforce math
+% mode, so \textbackslash m[\textbackslash micro] will result in 
+% $\mathrm{\mu m}$.
+%
+%
+% \section{Macro Usage}
+%
+%
+% \subsection{Special Macros}
+%
+%
+% \DescribeMacro{\units at separator}
+% |\units at separator| is a special macro used to set the spacing between a
+% quantity and the associated units.
+%
+% \DescribeMacro{\micro}
+% |\micro| is a special macro that can be used for the prefix $\mathrm{\mu}$
+% (micro-). Internally it just uses \textbackslash mu. 
+%
+% \subsection{Electricity \& Magnetism}
+% \index{Electricity \& Magnetism|usage(}
+%
+% \DescribeMacro{\V}
+% \index{Electricity \& Magnetism>Volts|usage}
+% |\V| is a macro for Volts (V).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Volt}
+% \index{Electricity \& Magnetism>Volts|usage}
+% |\Volt| is a macro for Volts (V).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Coulomb}
+% \index{Electricity \& Magnetism>Coulomb|usage}
+% |\Coulomb| is a macro for Coulombs (C).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\esu}
+% \index{Electricity \& Magnetism>esu|usage}
+% |\esu| is a macro for electrostatic units (esu), the units of charge in
+% Gaussian cgs.
+%
+% \DescribeMacro{\Ohm}
+% \index{Electricity \& Magnetism>Ohm|usage}
+% |\Ohm| is a macro for Ohms ($\Omega$).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Amp}
+% \index{Electricity \& Magnetism>Amperes|usage}
+% |\Amp| is a macro for Amperes (A).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Farad}
+% \index{Electricity \& Magnetism>Farad|usage}
+% |\Farad| is a macro for Farads (F).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Tesla}
+% \index{Electricity \& Magnetism>Tesla|usage}
+% |\Tesla| is a macro for Teslas (T).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Gauss}
+% \index{Electricity \& Magnetism>Gauss|usage}
+% |\Gauss| is a macro for Gauss (G), the units for magnetic field strength in
+% Gaussian cgs.
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Henry}
+% \index{Electricity \& Magnetism>Henry|usage}
+% |\Henry| is a macro for Henrys (H).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+% \index{Electricity \& Magnetism|usage)}
+%
+% \subsection{Energy}
+% \index{Energy|usage(}
+%
+% \DescribeMacro{\eV}
+% \index{Energy>eV|usage}
+% |\eV| is a macro for electron Volts (eV).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\keV}
+% \index{Energy>eV|usage}
+% |\keV| is a macro for kilo-electron Volts (keV).
+%
+% \DescribeMacro{\MeV}
+% \index{Energy>eV|usage}
+% |\MeV| is a macro for mega-electron Volts (MeV).
+%
+% \DescribeMacro{\J}
+% \index{Energy>Joules|usage}
+% |\J| is a macro for Joules (J).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Joule}
+% \index{Energy>Joules|usage}
+% |\Joule| is a macro for Joules (J).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\erg}
+% \index{Energy>erg|usage}
+% |\erg| is a macro for ergs (erg), the unit of energy in cgs.
+%
+% \DescribeMacro{\kcal}
+% \index{Energy>kcal|usage}
+% \index{Energy>Calories|usage}
+% \index{Energy>calories|usage}
+% |\kcal| is a macro for kilo-calories (kcal).
+%
+% \DescribeMacro{\Cal}
+% \index{Energy>kcal|usage}
+% \index{Energy>Calories|usage}
+% \index{Energy>calories|usage}
+% |\Cal| is a macro for kilo=calories (Cal).
+%
+% \DescribeMacro{\calorie}
+% \index{Energy>kcal|usage}
+% \index{Energy>Calories|usage}
+% \index{Energy>calories|usage}
+% |\calorie| is a macro for calories (cal).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\BTU}
+% \index{Energy>BTU|usage}
+% |\BTU| is a macro for British Thermal Units (BTU).
+%
+% \DescribeMacro{\tnt}
+% \index{Energy>TNT|usage}
+% |\tnt| is a macro for tons of TNT.
+% \index{Energy|usage)}
+%
+% \subsection{Power}
+% \index{Power|usage(}
+%
+% \DescribeMacro{\Watt}
+% \index{Power>Watts|usage}
+% |\Watt| is a macro for Watts (W).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\hpi}
+% \index{Power>Horsepower|usage}
+% \index{Power>Horsepower>Imperial|usage}
+% |\hpi| is a macro for Imperial Horsepower (hp(I)).
+%
+% \DescribeMacro{\hpi}
+% \index{Power>Horsepower|usage}
+% \index{Power>Horsepower>Metric|usage}
+% |\hpi| is a macro for Metric Horsepower (hp(M)).
+%
+% \DescribeMacro{\hp}
+% \index{Power>Horsepower|usage}
+% |\hp| is a macro for Horsepower (hp).
+% \index{Power|usage)}
+%
+% \subsection{Distance}
+% \index{Distance|usage)}
+%
+% \DescribeMacro{\meter}
+% \index{Distance>Meter|usage}
+% |\meter| is a macro for meters (m).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\m}
+% \index{Distance>Meter|usage}
+% |\m| is a macro for meters (m).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\km}
+% \index{Distance>Meter>Kilometer|usage}
+% |\km| is a macro for kilometers (km).
+%
+% \DescribeMacro{\au}
+% \index{Distance>Astronomical Unit|usage}
+% |\au| is a macro for astronmical units (au).
+%
+% \DescribeMacro{\pc}
+% \index{Distance>Parsec|usage}
+% |\pc| is a macro for parsecs (pc).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\ly}
+% \index{Distance>Light Years|usage}
+% |\ly| is a macro for light-years (ly).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\cm}
+% \index{Distance>Meter>Centimeter|usage}
+% |\cm| is a macro for centimeters (cm).
+%
+% \DescribeMacro{\nm}
+% \index{Distance>Meter>Nanometer|usage}
+% |\nm| is a macro for nanometers (nm).
+%
+% \DescribeMacro{\ft}
+% \index{Distance>Imperial>Feet|usage}
+% |\ft| is a macro for feet (ft).
+%
+% \DescribeMacro{\inch}
+% \index{Distance>Imperial>Inch|usage}
+% |\inch| is a macro for inches (in).
+%
+% \DescribeMacro{\mi}
+% \index{Distance>Imperial>Mile|usage}
+% |\mi| is a macro for miles (mi).
+%
+% \index{Distance|usage)}
+%
+% \subsection{Time}
+% \index{Time|usage(}
+%
+% \DescribeMacro{\s}
+% \index{Time>Seconds|usage}
+% |\s| is a macro for seconds (s).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Sec}
+% \index{Time>Seconds|usage}
+% |\Sec| is a macro for seconds (s).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Min}
+% \index{Time>Minutes|usage}
+% |\Min| is a macro for minutes (m).
+%
+% \DescribeMacro{\h}
+% \index{Time>Hours|usage}
+% |\h| is a macro for hours (h).
+%
+% \DescribeMacro{\y}
+% \index{Time>Years|usage}
+% |\y| is a macro for years (y).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Day}
+% \index{Time>Days|usage}
+% |\Day| is a macro for days (d).
+%
+% \index{Time|usage)}
+%
+% \subsection{Mass}
+%
+% \index{Mass|usage(}
+%
+% \DescribeMacro{\gm}
+% \index{Mass>Grams|usage}
+% |\gm| is a macro for grams (g).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\kg}
+% \index{Mass>Gram>Kilograms|usage}
+% |\kg| is a macro for kilograms (kg).
+%
+% \DescribeMacro{\lb}
+% \index{Mass>Pounds|usage}
+% |\lb| is a macro for pounds (weight) (lb).
+%
+% \DescribeMacro{\amu}
+% \index{Mass>AMU|usage}
+% \index{Mass>Dalton|usage}
+% |\amu| is a macro for atomic mass units (amu).
+%
+% \index{Mass|usage)}
+%
+% \subsection{Force}
+%
+% \index{Force|usage(}
+%
+% \DescribeMacro{\N}
+% \index{Force>Newton|usage}
+% |\N| is a macro for Newtons (N).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Newton}
+% \index{Force>Newton|usage}
+% |\Newton| is a macro for Newtons (N).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\dyne}
+% \index{Force>Dyne|usage}
+% |\dyne| is a macro for dynes (dyn).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\lbf}
+% \index{Force>Pounds|usage}
+% |\lbf| is a macro for pounds of force (lbf).
+%
+% \index{Force|usage)}
+%
+% \subsection{Velocity}
+%
+% \index{Velocity|usage(}
+%
+% \DescribeMacro{\kmps}
+% \index{Velocity>Kilometers per Second|usage}
+% |\kmps| is a macro for kilometers per second ($\kmps$).
+%
+% \DescribeMacro{\kmph}
+% \index{Velocity>Kilometers per Hour|usage}
+% |\kmph| is a macro for kilometers per hour ($\kmph$).
+%
+% \DescribeMacro{\mps}
+% \index{Velocity>Meters per Second|usage}
+% |\mps| is a macro for meters per second ($\mps$).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\miph}
+% \index{Velocity>Miles per Hour|usage}
+% |\miph| is a macro for miles per hour ($\miph$).
+%
+% \DescribeMacro{\kts}
+% \index{Velocity>Knots|usage}
+% \index{Velocity>Nautical Miles per Hour|usage}
+% |\kts| is a macro for knots ($\kts$)., i.e. nautical miles per hour
+%
+% \index{Velocity|usage)}
+%
+% \subsection{Acceleration}
+%
+% \index{Acceleration|usage(}
+%
+% \DescribeMacro{\mpss}
+% \index{Acceleration>Meters per Second squared|usage}
+% |\mpss| is a macro for acceleration in meters per second squared ($\mpss$).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\gacc}
+% \index{Acceleration>Gravity|usage}
+% |\gacc| is a macro for acceleration due to gravity ($\gacc$).
+%
+% \DescribeMacro{\ftpss}
+% \index{Acceleration>Feet per Second squared|usage}
+% |\ftpss| is a macro for acceleration in feet per second squared ($\ftpss$).
+%
+% \index{Velocity|usage)}
+%
+%
+% \subsection{Temperature}
+%
+% \index{Temperature|usage(}
+%
+% \DescribeMacro{\K}
+% \index{Temperature>Kelvin|usage}
+% |\K| is a macro for Kelvin (K).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Kelvin}
+% \index{Temperature>Kelvin|usage}
+% |\Kelvin| is a macro for Kelvin (K).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Celcius}
+% \index{Temperature>Celcius|usage}
+% |\Celcius| is a macro for degrees Celcius $(\Celcius)$.
+%
+% \DescribeMacro{\Rankine}
+% \index{Temperature>Rankine|usage}
+% |\Rankine| is a macro for degrees Rankine $(\Rankine)$.
+%
+% \DescribeMacro{\Fahrenheit}
+% \index{Temperature>Fahrenheit|usage}
+% |\Fahrenheit| is a macro for degrees Fahrenheit $(\Fahrenheit)$.
+%
+% \index{Temperature|usage)}
+%
+% \subsection{Angular Velocity}
+%
+% \index{Angular Velocity|usage(}
+%
+% \DescribeMacro{\rpm}
+% \index{Angular Velocity>RPM|usage}
+% |\rpm| is a macro for revolutions per minute $(\rpm)$.
+%
+% \index{Angular Velocity|usage)}
+%
+% \subsection{Frequency}
+%
+% \index{Frequency|usage(}
+%
+% \DescribeMacro{\Hz}
+% \index{Frequency>Hertz|usage}
+% |\Hz| is a macro for Hertz (Hz).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \index{Frequency|usage)}
+%
+%
+% \subsection{Pressure}
+%
+% \index{Pressure|usage(}
+%
+% \DescribeMacro{\barP}
+% \index{Pressure>bar|usage}
+% |\barP| is a macro for bar (bar). (The use of barP instead of just bar is due
+% the \LaTeX~command \textbackslash bar.)
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\atm}
+% \index{Pressure>atmosphere|usage}
+% |\atm| is a macro for atmosphere (atm).
+%
+% \DescribeMacro{\Pa}
+% \index{Pressure>Pascal|usage}
+% |\Pa| is a macro for Pascals (Pa).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\mmHg}
+% \index{Pressure>mm Hg|usage}
+% |\mmHg| is a macro for millimeters of mercury (mmHg).
+%
+% \DescribeMacro{\inHg}
+% \index{Pressure>in Hg|usage}
+% |\inHg| is a macro for inches of mercury (inHg).
+%
+% \DescribeMacro{\lbsi}
+% \index{Pressure>psi|usage}
+% \index{Pressure>Pound per square inch|usage}
+% |\lbsi| is a macro for pounds per square inch (psi). (Note that \textbackslash
+% psi is a latex command for the greek letter $\psi$).
+%
+% \DescribeMacro{\lbsf}
+% \index{Pressure>psf|usage}
+% \index{Pressure>Pound per square foot|usage}
+% |\lbsf| is a macro for pounds per square foot (psf).
+%
+% \DescribeMacro{\Ba}
+% \index{Pressure>Barre|usage}
+% |\Ba| is a macro for Barre (Ba).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \DescribeMacro{\Torr}
+% \index{Pressure>Torr|usage}
+% |\Torr| is a macro for Torr (Torr).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+% \index{Pressure|usage)}
+%
+% \subsection{Other}
+%
+% \index{Other|usage(}
+%
+% \DescribeMacro{\mol}
+% \index{Other>mole|usage(}
+% \index{mole|usage(}
+% |\mol| is a macro for moles (mol).
+%
+% \index{Other|usage)}
+
+% \StopEventually{}
+%
+
+\makeatletter
+% \section{Implementation}
+%
+% \subsection{Special}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\units at separator}
+% |\units at separator| is a special macro used to set the spacing between a
+% quantity and the associated units.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\units at separator}{\,}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\units at separator}
+% |\units at separator| is a special macro used to set the spacing between a
+% quantity and the associated units.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\micro}{\ensuremath{%
+\mu}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Electricity \& Magnetism}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\V}
+% |\V| is a macro for Volts (V).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\V}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1V}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Volt}
+% |\Volt| is a macro for Volts (V).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Volt}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1V}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Coulomb}
+% |\Coulomb| is a macro for Coulombs (C).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Coulomb}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1C}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\esu}
+% |\esu| is a macro for electrostatic units (esu).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\esu}{\ensuremath{%
+\expandafter\units at separator\mathrm{esu}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Ohm}
+% |\Ohm| is a macro for Ohms ($\Omega$).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Ohm}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1\Omega}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Amp}
+% |\Amp| is a macro for Amperes (A).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Amp}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1A}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Farad}
+% |\Farad| is a macro for Farads (F).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Farad}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1F}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Tesla}
+% |\Tesla| is a macro for Teslas (T).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Tesla}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1T}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Gauss}
+% |\Gauss| is a macro for Gauss (G).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Gauss}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1G}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Henry}
+% |\Henry| is a macro for Henrys (H).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Henry}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1H}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+% \subsection{Energy}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\eV}
+% |\eV| is a macro for electron Volts (eV).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\eV}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1eV}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\keV}
+% |\keV| is a macro for kilo-electron Volts (keV).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\keV}{\ensuremath{%
+\expandafter\units at separator\mathrm{keV}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\MeV}
+% |\MeV| is a macro for mega-electron Volts (MeV).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\MeV}{\ensuremath{%
+\expandafter\units at separator\mathrm{MeV}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\J}
+% |\J| is a macro for Joules (J).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\J}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1J}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Joule}
+% |\Joule| is a macro for Joules (J).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Joule}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1J}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\erg}
+% |\erg| is a macro for ergs (erg).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\erg}{\ensuremath{%
+\expandafter\units at separator\mathrm{erg}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\kcal}
+% |\kcal| is a macro for kilo-calories (kcal).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\kcal}[1]{\ensuremath{%
+\expandafter\units at separator\mathrm{kcal}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Cal}
+% |\Cal| is a macro for kilo=calories (Cal).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Cal}{\ensuremath{%
+\expandafter\units at separator\mathrm{Cal}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\calorie}
+% |\calorie| is a macro for calories (cal).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\calorie}[1][ ]{%
+\ensuremath{%
+\expandafter\units at separator\mathrm{#1cal}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\BTU}
+% |\BTU| is a macro for British Thermal Units (BTU).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\BTU}{\ensuremath{%
+\expandafter\units at separator\mathrm{BTU}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\tnt}
+% |\tnt| is a macro for tons of TNT).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\tnt}{\ensuremath{%
+\expandafter\units at separator\mathrm{ton%
+\expandafter\units at separator of%
+\expandafter\units at separator TNT}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Power}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Watt}
+% |\Watt| is a macro for Watts (W).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Watt}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1W}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\hpi}
+% |\hpi| is a macro for Imperial Horsepower (hp(I)).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\hpi}{\ensuremath{%
+\expandafter\units at separator\mathrm{hp(I)}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\hpi}
+% |\hpi| is a macro for Metric Horsepower (hp(M)).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\hpm}{\ensuremath{%
+\expandafter\units at separator\mathrm{hp(M)}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\hp}
+% |\hp| is a macro for Horsepower (hp).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\hp}{\ensuremath{%
+\expandafter\units at separator\mathrm{hp}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Distance}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\meter}
+% |\meter| is a macro for meters (m).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\meter}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1m}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\m}
+% |\m| is a macro for meters (m).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\m}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1m}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\km}
+% |\km| is a macro for kilometers (km).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\km}{\ensuremath{%
+\expandafter\units at separator\mathrm{km}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\au}
+% |\au| is a macro for astronmical units (au).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\au}{\ensuremath{%
+\expandafter\units at separator\mathrm{au}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\pc}
+% |\pc| is a macro for parsecs (pc).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\pc}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1pc}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\ly}
+% |\ly| is a macro for light-years (ly).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\ly}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1ly}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\cm}
+% |\cm| is a macro for centimeters (cm).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\cm}{\ensuremath{%
+\expandafter\units at separator\mathrm{cm}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\nm}
+% |\nm| is a macro for nanometers (nm).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\nm}{\ensuremath{%
+\expandafter\units at separator\mathrm{nm}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\ft}
+% |\ft| is a macro for feet (ft).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\ft}{\ensuremath{%
+\expandafter\units at separator\mathrm{ft}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\inch}
+% |\inch| is a macro for inches (in).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\inch}{\ensuremath{%
+\expandafter\units at separator\mathrm{in}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\mi}
+% |\mi| is a macro for miles (mi).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\mi}{\ensuremath{%
+\expandafter\units at separator\mathrm{mi}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Time}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\s}
+% |\s| is a macro for seconds (s).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\s}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1s}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Sec}
+% |\Sec| is a macro for seconds (s).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Sec}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1s}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Min}
+% |\Min| is a macro for minutes (m).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Min}{\ensuremath{%
+\expandafter\units at separator\mathrm{min}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\h}
+% |\h| is a macro for hours (h).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\h}{\ensuremath{%
+\expandafter\units at separator\mathrm{h}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\y}
+% |\y| is a macro for years (y).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\y}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1y}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Day}
+% |\Day| is a macro for days (d).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Day}{\ensuremath{%
+\expandafter\units at separator\mathrm{d}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Mass}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\gm}
+% |\gm| is a macro for grams (g).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+
+\DeclareRobustCommand{\gm}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1g}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\kg}
+% |\kg| is a macro for kilograms (kg).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\kg}{\ensuremath{%
+\expandafter\units at separator\mathrm{kg}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\lb}
+% |\lb| is a macro for pounds (weight) (lb).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\lb}{\ensuremath{%
+\expandafter\units at separator\mathrm{lb}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\amu}
+% |\amu| is a macro for atomic mass units (amu).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\amu}{\ensuremath{%
+\expandafter\units at separator\mathrm{amu}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Force}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\N}
+% |\N| is a macro for Newtons (N).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\N}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1N}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Newton}
+% |\Newton| is a macro for Newtons (N).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Newton}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1N}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\dyne}
+% |\dyne| is a macro for dynes (dyn).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\dyne}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1dyn}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\lbf}
+% |\lbf| is a macro for pounds of force (lbf).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\lbf}{\ensuremath{%
+\expandafter\units at separator\mathrm{lbf}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Velocity}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\kmps}
+% |\kmps| is a macro for kilometers per second ($\kmps$).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\kmps}{\ensuremath{%
+\expandafter\units at separator\mathrm{km}%
+\expandafter\units at separator\mathrm{s}^{-1}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\kmph}
+% |\kmph| is a macro for kilometers per hour ($\kmph$).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\kmph}{\ensuremath{%
+\expandafter\units at separator\mathrm{km}%
+\expandafter\units at separator\mathrm{h}^{-1}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\mps}
+% |\mps| is a macro for meters per second ($\mps$).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\mps}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1m}%
+\expandafter\units at separator\mathrm{s}^{-1}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\miph}
+% |\miph| is a macro for miles per hour ($\miph$).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\miph}{\ensuremath{%
+\expandafter\units at separator\mathrm{mi}%
+\expandafter\units at separator\mathrm{h}^{-1}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\kts}
+% |\kts| is a macro for knots ($\kts$).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\kts}{\ensuremath{%
+\expandafter\units at separator\mathrm{kts}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Acceleration}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\mpss}
+% |\mpss| is a macro for acceleration in meters per second squared ($\mpss$).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+
+\DeclareRobustCommand{\mpss}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1m}%
+\expandafter\units at separator\mathrm{s}^{-2}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\gacc}
+% |\gacc| is a macro for acceleration due to gravity ($\gacc$).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\gacc}{\ensuremath{%
+\expandafter\units at separator\mathrm{g}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\ftpss}
+% |\ftpss| is a macro for acceleration in feet per second squared ($\ftpss$).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\ftpss}{\ensuremath{%
+\expandafter\units at separator\mathrm{ft}%
+\expandafter\units at separator\mathrm{s}^{-2}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Temperature}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\K}
+% |\K| is a macro for Kelvin (K).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\K}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1K}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Kelvin}
+% |\Kelvin| is a macro for Kelvin (K).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Kelvin}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1K}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Celcius}
+% |\Celcius| is a macro for degrees Celcius $(\Celcius)$.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Celcius}{^\circ\ensuremath{%
+\expandafter\units at separator\mathrm{C}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Rankine}
+% |\Rankine| is a macro for degrees Rankine $(\Rankine)$.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Rankine}{^\circ\ensuremath{%
+\expandafter\units at separator\mathrm{R}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Fahrenheit}
+% |\Fahrenheit| is a macro for degrees Fahrenheit $(\Fahrenheit)$.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Fahrenheit}{^\circ\ensuremath{%
+\expandafter\units at separator\mathrm{F}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Angular Velocity}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\rpm}
+% |\rpm| is a macro for revolutions per minute $(\rpm)$.
+%
+%    \begin{macrocode}
+
+\DeclareRobustCommand{\rpm}{\ensuremath{%
+\expandafter\units at separator\mathrm{rev}%
+\expandafter\units at separator\Min^{-1}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+% \subsection{Frequency}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Hz}
+% |\Hz| is a macro for Hertz (Hz).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+
+\DeclareRobustCommand{\Hz}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1Hz}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Pressure}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\barP}
+% |\barP| is a macro for bar (bar). (The use of barP instead of just bar is due
+% the \LaTeX~command \textbackslash bar.)
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\barP}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1bar}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\atm}
+% |\atm| is a macro for atmosphere (atm).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\atm}{\ensuremath{%
+\expandafter\units at separator\mathrm{atm}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Pa}
+% |\Pa| is a macro for Pascals (Pa).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Pa}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1Pa}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\mmHg}
+% |\mmHg| is a macro for millimeters of mercury (mmHg).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\mmHg}{\ensuremath{%
+\expandafter\units at separator\mathrm{mmHg}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\inHg}
+% |\inHg| is a macro for inches of mercury (inHg).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\inHg}{\ensuremath{%
+\expandafter\units at separator\mathrm{inHg}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\lbsi}
+% |\lbsi| is a macro for pounds per square inch (psi). (Note that \textbackslash
+% psi is a latex command for the greek letter $\psi$).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\lbsi}{\ensuremath{%
+\expandafter\units at separator\mathrm{psi}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\lbsf}
+% |\lbsf| is a macro for pounds per square foot (psf).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\lbsf}{\ensuremath{%
+\expandafter\units at separator\mathrm{psf}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Ba}
+% |\Ba| is a macro for Barre (Ba).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Ba}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1Ba}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\Torr}
+% |\Torr| is a macro for Torr (Torr).
+% This macro accepts an optional argument for a prefix. If no option is 
+% supplied, no prefix will be prepended.
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\Torr}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1Torr}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+%
+% \subsection{Other}
+%
+%\iffalse
+%<*package>
+%\fi
+% \begin{macro}{\mol}
+% |\mol| is a macro for moles (mol).
+%
+%    \begin{macrocode}
+\DeclareRobustCommand{\mol}{\ensuremath{%
+\expandafter\units at separator\mathrm{mol}}}
+%    \end{macrocode}
+% \end{macro}
+%\iffalse
+%</package>
+%\fi
+%
+\makeatother
+
+%
+% \Finale
+%


Property changes on: trunk/Master/texmf-dist/source/latex/physunits/physunits.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/physunits/physunits.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/physunits/physunits.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/physunits/physunits.ins	2020-01-27 21:56:05 UTC (rev 53574)
@@ -0,0 +1,56 @@
+%%
+%%	Copyright (C) 2020 by Brian W. Mulligan <bwmulligan at astronaos.com>
+%% -----------------------------------------------------------
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3c of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2006/05/20 or later.
+%%
+%%
+
+\input docstrip.tex
+\keepsilent
+\usedir{tex/latex/physunits}
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2020 by Brian W. Mulligan <bwmulligan at astronaos.com>
+
+This file may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.3c of this license
+or (at your option) any later version. The latest version of this
+license is in:
+
+http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of LaTeX
+version 2006/05/20 or later.
+
+\endpreamble
+\askforoverwritefalse
+\generate{\file{physunits.sty}{\from{physunits.dtx}{package}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{*                                                           *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* file into a directory searched by TeX:                    *}
+\Msg{*                                                           *}
+\Msg{*         physunits.sty                                     *}
+\Msg{*                                                           *}
+\Msg{* To produce the documentation run the file physunits.dtx   *}
+\Msg{* through LaTeX.                                            *}
+\Msg{*                                                           *}
+\Msg{* Happy TeXing!                                             *}
+\Msg{*                                                           *}
+\Msg{*************************************************************}
+
+\endbatchfile

Added: trunk/Master/texmf-dist/tex/latex/physunits/physunits.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/physunits/physunits.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/physunits/physunits.sty	2020-01-27 21:56:05 UTC (rev 53574)
@@ -0,0 +1,201 @@
+%%
+%% This is file `physunits.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% physunits.dtx  (with options: `package')
+%% 
+%% This is a generated file.
+%% 
+%% Copyright (C) 2020 by Brian W. Mulligan <bwmulligan at astronaos.com>
+%% 
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3c of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%% 
+%% http://www.latex-project.org/lppl.txt
+%% 
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2006/05/20 or later.
+%% 
+\NeedsTeXFormat{LaTeX2e}[1994/06/01]
+ \ProvidesPackage{physunits}
+    [2020/01/26 v1.0.3 Physical units package]
+\ProcessOptions\relax
+
+
+\makeatletter
+\DeclareRobustCommand{\units at separator}{\,}
+\DeclareRobustCommand{\micro}{\ensuremath{%
+\mu}}
+\DeclareRobustCommand{\V}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1V}}}
+\DeclareRobustCommand{\Volt}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1V}}}
+\DeclareRobustCommand{\Coulomb}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1C}}}
+\DeclareRobustCommand{\esu}{\ensuremath{%
+\expandafter\units at separator\mathrm{esu}}}
+\DeclareRobustCommand{\Ohm}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1\Omega}}}
+\DeclareRobustCommand{\Amp}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1A}}}
+\DeclareRobustCommand{\Farad}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1F}}}
+\DeclareRobustCommand{\Tesla}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1T}}}
+\DeclareRobustCommand{\Gauss}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1G}}}
+\DeclareRobustCommand{\Henry}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1H}}}
+\DeclareRobustCommand{\eV}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1eV}}}
+\DeclareRobustCommand{\keV}{\ensuremath{%
+\expandafter\units at separator\mathrm{keV}}}
+\DeclareRobustCommand{\MeV}{\ensuremath{%
+\expandafter\units at separator\mathrm{MeV}}}
+\DeclareRobustCommand{\J}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1J}}}
+\DeclareRobustCommand{\Joule}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1J}}}
+\DeclareRobustCommand{\erg}{\ensuremath{%
+\expandafter\units at separator\mathrm{erg}}}
+\DeclareRobustCommand{\kcal}[1]{\ensuremath{%
+\expandafter\units at separator\mathrm{kcal}}}
+\DeclareRobustCommand{\Cal}{\ensuremath{%
+\expandafter\units at separator\mathrm{Cal}}}
+\DeclareRobustCommand{\calorie}[1][ ]{%
+\ensuremath{%
+\expandafter\units at separator\mathrm{#1cal}}}
+\DeclareRobustCommand{\BTU}{\ensuremath{%
+\expandafter\units at separator\mathrm{BTU}}}
+\DeclareRobustCommand{\tnt}{\ensuremath{%
+\expandafter\units at separator\mathrm{ton%
+\expandafter\units at separator of%
+\expandafter\units at separator TNT}}}
+\DeclareRobustCommand{\Watt}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1W}}}
+\DeclareRobustCommand{\hpi}{\ensuremath{%
+\expandafter\units at separator\mathrm{hp(I)}}}
+\DeclareRobustCommand{\hpm}{\ensuremath{%
+\expandafter\units at separator\mathrm{hp(M)}}}
+\DeclareRobustCommand{\hp}{\ensuremath{%
+\expandafter\units at separator\mathrm{hp}}}
+\DeclareRobustCommand{\meter}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1m}}}
+\DeclareRobustCommand{\m}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1m}}}
+\DeclareRobustCommand{\km}{\ensuremath{%
+\expandafter\units at separator\mathrm{km}}}
+\DeclareRobustCommand{\au}{\ensuremath{%
+\expandafter\units at separator\mathrm{au}}}
+\DeclareRobustCommand{\pc}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1pc}}}
+\DeclareRobustCommand{\ly}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1ly}}}
+\DeclareRobustCommand{\cm}{\ensuremath{%
+\expandafter\units at separator\mathrm{cm}}}
+\DeclareRobustCommand{\nm}{\ensuremath{%
+\expandafter\units at separator\mathrm{nm}}}
+\DeclareRobustCommand{\ft}{\ensuremath{%
+\expandafter\units at separator\mathrm{ft}}}
+\DeclareRobustCommand{\inch}{\ensuremath{%
+\expandafter\units at separator\mathrm{in}}}
+\DeclareRobustCommand{\mi}{\ensuremath{%
+\expandafter\units at separator\mathrm{mi}}}
+\DeclareRobustCommand{\s}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1s}}}
+\DeclareRobustCommand{\Sec}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1s}}}
+\DeclareRobustCommand{\Min}{\ensuremath{%
+\expandafter\units at separator\mathrm{min}}}
+\DeclareRobustCommand{\h}{\ensuremath{%
+\expandafter\units at separator\mathrm{h}}}
+\DeclareRobustCommand{\y}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1y}}}
+\DeclareRobustCommand{\Day}{\ensuremath{%
+\expandafter\units at separator\mathrm{d}}}
+
+\DeclareRobustCommand{\gm}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1g}}}
+\DeclareRobustCommand{\kg}{\ensuremath{%
+\expandafter\units at separator\mathrm{kg}}}
+\DeclareRobustCommand{\lb}{\ensuremath{%
+\expandafter\units at separator\mathrm{lb}}}
+\DeclareRobustCommand{\amu}{\ensuremath{%
+\expandafter\units at separator\mathrm{amu}}}
+\DeclareRobustCommand{\N}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1N}}}
+\DeclareRobustCommand{\Newton}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1N}}}
+\DeclareRobustCommand{\dyne}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1dyn}}}
+\DeclareRobustCommand{\lbf}{\ensuremath{%
+\expandafter\units at separator\mathrm{lbf}}}
+\DeclareRobustCommand{\kmps}{\ensuremath{%
+\expandafter\units at separator\mathrm{km}%
+\expandafter\units at separator\mathrm{s}^{-1}}}
+\DeclareRobustCommand{\kmph}{\ensuremath{%
+\expandafter\units at separator\mathrm{km}%
+\expandafter\units at separator\mathrm{h}^{-1}}}
+\DeclareRobustCommand{\mps}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1m}%
+\expandafter\units at separator\mathrm{s}^{-1}}}
+\DeclareRobustCommand{\miph}{\ensuremath{%
+\expandafter\units at separator\mathrm{mi}%
+\expandafter\units at separator\mathrm{h}^{-1}}}
+\DeclareRobustCommand{\kts}{\ensuremath{%
+\expandafter\units at separator\mathrm{kts}}}
+
+\DeclareRobustCommand{\mpss}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1m}%
+\expandafter\units at separator\mathrm{s}^{-2}}}
+\DeclareRobustCommand{\gacc}{\ensuremath{%
+\expandafter\units at separator\mathrm{g}}}
+\DeclareRobustCommand{\ftpss}{\ensuremath{%
+\expandafter\units at separator\mathrm{ft}%
+\expandafter\units at separator\mathrm{s}^{-2}}}
+\DeclareRobustCommand{\K}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1K}}}
+\DeclareRobustCommand{\Kelvin}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1K}}}
+\DeclareRobustCommand{\Celcius}{^\circ\ensuremath{%
+\expandafter\units at separator\mathrm{C}}}
+\DeclareRobustCommand{\Rankine}{^\circ\ensuremath{%
+\expandafter\units at separator\mathrm{R}}}
+\DeclareRobustCommand{\Fahrenheit}{^\circ\ensuremath{%
+\expandafter\units at separator\mathrm{F}}}
+
+\DeclareRobustCommand{\rpm}{\ensuremath{%
+\expandafter\units at separator\mathrm{rev}%
+\expandafter\units at separator\Min^{-1}}}
+
+\DeclareRobustCommand{\Hz}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1Hz}}}
+\DeclareRobustCommand{\barP}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1bar}}}
+\DeclareRobustCommand{\atm}{\ensuremath{%
+\expandafter\units at separator\mathrm{atm}}}
+\DeclareRobustCommand{\Pa}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1Pa}}}
+\DeclareRobustCommand{\mmHg}{\ensuremath{%
+\expandafter\units at separator\mathrm{mmHg}}}
+\DeclareRobustCommand{\inHg}{\ensuremath{%
+\expandafter\units at separator\mathrm{inHg}}}
+\DeclareRobustCommand{\lbsi}{\ensuremath{%
+\expandafter\units at separator\mathrm{psi}}}
+\DeclareRobustCommand{\lbsf}{\ensuremath{%
+\expandafter\units at separator\mathrm{psf}}}
+\DeclareRobustCommand{\Ba}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1Ba}}}
+\DeclareRobustCommand{\Torr}[1][ ]{\ensuremath{%
+\expandafter\units at separator\mathrm{#1Torr}}}
+\DeclareRobustCommand{\mol}{\ensuremath{%
+\expandafter\units at separator\mathrm{mol}}}
+\makeatother
+
+\endinput
+%%
+%% End of file `physunits.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/physunits/physunits.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-01-27 21:55:28 UTC (rev 53573)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2020-01-27 21:56:05 UTC (rev 53574)
@@ -548,7 +548,7 @@
     phaistos phffullpagefigure phfnote phfparen phfqit phfquotetext
     phfsvnwatermark phfthm
     philex philokalia philosophersimprint
-    phonenumbers phonetic phonrule photo physconst physics
+    phonenumbers phonetic phonrule photo physconst physics physunits
     piano picinpar pict2e
     pictex pictex2 pictexsum picture piechartmp piff pigpen
     pinlabel pinoutikz pitex pittetd pixelart

Modified: trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc	2020-01-27 21:55:28 UTC (rev 53573)
+++ trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc	2020-01-27 21:56:05 UTC (rev 53574)
@@ -141,6 +141,7 @@
 depend perfectcut
 depend physconst
 depend physics
+depend physunits
 depend pinoutikz
 depend pm-isomath
 depend polexpr

Added: trunk/Master/tlpkg/tlpsrc/physunits.tlpsrc
===================================================================


More information about the tex-live-commits mailing list.